7/21/2019 SE3-Phan Tich Va Dac Ta http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 1/65 Phân tích và đặ c t ả yêu c ầ u Lê Thị M ỹ H ạ nh Khoa Công ngh ệThông tin Trườ ng Đạ i họ c Bách khoa, Đ àNẵ ng N Ộ I DUNG Đạ i cươ ng v ề phân tích và đặ c t ả Nề n t ả ng c ủ a phân tích Phân tích và n ắ m b ắ t yêu c ầ u Đặ c t ả yêu c ầ u Thẩ m đị nh yêu c ầ u M ộ t s ố ph ươ ng pháp và công c ụ h ỗ tr ợ
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Xác định và phân tích yêu c ầu là khâu k ỹthuật đầu tiên c ủa quá trình phát tri ể n ph ầnm ềm.
Xác định các ch ứ c năng/d ịch vụmà khách hàngyêu c ầu từ hệ thố ngCác ràng bu ộc mà hệthố ng được phát tri ể n vàvận hành.
Là sự phố i hợp của nhà phát tri ể n và kháchhàng.Quyế t định chấ t lượng ph ần m ềm đạt đượcvà chi phí bỏ ra.
Phân tích và đặc tảMục đích: Đặc tảyêu c ầu ph ần m ềm
Cơ sở cho việc mời th ầu (c ần có giảithích)cơ sở để ký k ế t hợp đồng (c ần đầyđủchi tiế t)Làm tư liệu phục vụ thiế t k ế và triể nkhai (c ần đầy đủ , chính xác, khôngmâu thu ẫn)
Các yêu c ầu là các mô t ả từ mứ c tr ừ u t ượng r ấ tcao đế n m ột đặc ta r ấ t chi ti ế t v ềdịch vụmà hệthố ng c ần cung c ấ p cũng nh ư các ràng bu ộc lên sự phát tri ể n và họat động của nó.
Yêu c ầu là:
Năng lự c của ph ần m ềm mà ng ười sử dụng c ần để giải quyế tvấ n đề đặt ra nh ằm đạt được mục đích xác địnhNăng lự c của ph ần m ềm c ần có nh ằm thỏa mãn m ột hợpđồng, một chuẩ n, một đặc tả.
Bài toán
•Hiểu vấn đề•Chi tiết hóa•Biểu diễn lại Đặc t ả
Vai tròCó vai trò đặc biệt quan tr ọng trongtiế n trình phát tri ể n ph ần m ềm.
Mô tảcác chứ c năng hay các d ịch vụmà hệ thố ngph ần m ềm c ần cung c ấ p.
Các yêu c ầu phi ch ứ c năngMô tảcác ràng bu ộc đặt lên d ịch vụvà quá trìnhphát tri ể n hệ thố ng (v ềchấ t lượng, v ề môi trường,chuẩ n sử dụng, qui trình phát tri ể n..)
Các yêu c ầu mi ền/l ĩ nh vự cNhữ ng yêu c ầu đặt ra t ừ mi ền ứ ng dụng, ph ảnánh đặc trư ng của mi ền đó.
Yêu c ầu chứ c năngMô tảchứ c năng hay các d ịch vụcủa hệ thố ngChúng ph ụ thuộc vào:
Loại ph ần m ềm sẽ được xây dự ngSự mong mu ố n của khách hàng
Loại hệ thố ng mà ph ần m ềm trợgiúpMứ c độcác yêu c ầu
Trừ u tượng: hệ thố ng làm gìChi tiế t: dịch vụcụ thể hệ thố ng th ự c hiện
Ví dụNgười sử dụng có th ể tìm kiế m tài liệu dự a trên t ừ khóa có trong tài li ệu hoặc tên tài li ệuHệ thố ng c ần cug c ấ p cho ng ười sử dụng ph ươngtiện hiể n th ị dễdàng các tài li ệu từ CSDLHệ thố ng ph ải đọc được các d ịnh dạng khác nhaucủa tài liệu: text, doc, pdf, ppt, b ảng tính excel,..
Yêu c ầu chứ c năngSự không chính xác c ủa yêu c ầu
Yêu c ầu không được phát bi ể u chính xác Yêu c ầu nhập nhằng có thể được hiể u khác nhau gi ữ a ngườisử dụng và ng ười phát tri ể n
Ví dụ: yêu c ầu “hiể n th ị dễdàng” Người sử dụng: có th ể hiể n th ị các loại tài liệkhác nhauNgười phát tri ể n: cung c ấ p giao diện hiể n th ị tài liệu ởchế độ văn bản
Trên nguyên t ắc yêu c ầu phải thỏa mãn Đầy đủ: yêu càu ph ải mô tả đầy đủcác chứ c năng c ần thiế tGắn bó: các yêu c ầu không mâu thu ẫn nhau
Thự c tế không đơn giản để có các yêu c ầu đầy dủvàgắn bó
Ngôn ngữ có cấ u trúcSử dụng ngôn ng ữ g ần g ũi với ngôn ng ữ lập trình
Các mô hìnhCác ký hiệu đồhọa
Ký hiệu tóan h ọc
Ngôn ngữ hình th ứ c
Yêu c ầu hệ thố ng(System Requirements)
Là đặc tảchi tiế t hơn yêu c ầu người sử dụngPhục vụ cơ bản cho b ước thiế t k ế Có thể sử dụng làm m ột ph ần của hợpđồngCó thể sử dụng các mô hình để mô tả
Mô tảnghiệp vụMô tảcác lu ồng nghiệp vụ, các xử lý và vaitrò của con ng ười trong h ệ thố ng hiện tạiHiể u được nghiệp vụChủyêu tập trung vào các mi ền c ần tự động hoáHỗ trợ cho việc xác định các thay đổi và cảitiế n yêu c ầu trong h ệ thố ng mới
Phân tích bài tóanMô tảhệ thố ng
Mô tảhệ thố ng đềxuấ tMô tả lu ồng thông tin gi ữ a hệ thố ng đềxuấ t vàmôi trường của nó
Đáp ứ ng được các mô t ảnghiệp vụCải tiế n nghiệp vụhiện tạiDự a trên mô t ảnghiệp vụhiện tại
Thu thập yêu c ầuK ế t quảcủa bước thu th ập yêu c ầu
Phát biể u v ềsự c ần thiế t và tính kh ả thiGiới hạn l ĩ nh vự c/chứ c năng của ph ầnm ềmDanh sách nh ữ ng người liên quan/s ử dụngph ần m ềmMô tả môi trường sẽvận hành ph ần m ềm
Danh sách các yêu c ầu ph ần m ềm đềxuấ tCác ràng bu ộc ph ần m ềm đềxuấ t
Thu thập yêu c ầuCác k ỹ thuật thu th ập yêu c ầu
Phỏng vấ nThự c hiện các cu ộc họp/hội thảoChuẩ n b ị bảng câu h ỏi đi ều tra
Chứ c năng mong đợi
Thời gian yêu c ầu hoàn thành d ự ánK ế t quảmột tiế n trình nghi ệp vụQuan sát h ọat động nghiệp vụhiện tại
Đế n nơi làm việc của khách hàng để khảo sát, quayphim,..
Tham khảo các chuyên gia trong l ĩ nh vự cHiể u rỏcác nghiệp vụchuyên môn ph ứ c tạp
Báo cáo kh ả thi được viế t dự a trên thông tin,báo cáo thu th ập được, nhữ ng đánh giá banđầu v ềhệ thố ng hiện tại và phác h ọa cácphương án d ự kiế n.Câu hỏi đặt ra cho ng ười của tổchứ c:
Cái gì xảy ra n ế u hệ thố ng không được triể n khai?Nhữ ng vấ n đềgì đang đặt ra c ần giải quyế t?Hệ thố ng được đềxuấ t giúp h ọ như thế nào?Nhữ ng tích h ợp gì c ần phải có?Công ngh ệmới gì, k ỹ năng gì c ần có?Nhữ ng tiện ích gì c ần sự trợgiúp từ hệthố ng?
Phân tích yêu c ầuNhữ ng khó kh ăn c ủa phân tích
Khách hàng th ường mơ h ồv ềcác yêu c ầu, khôngbiế t mình mu ố n cụ thể gì, dễ lẫn lộn giữ a yêu c ầu vàmong mu ố n.Họ thể hiện yêu c ầu theo thu ật ngữ riêngKhách hàng đa dạng có th ể đư a ra các yêu c ầu mâu
thuẫn.Nhữ ng yế u tố tổchứ c và chính sách có th ể ảnhhưởng đế n yêu c ầu
Yêu c ầu thường mang tính đặc thù, khó hi ể u, khó cóchuẩ n chung.Các yêu c ầu thay đổi trong quá trình phân tích: môitrường nghiệp vụ thay đổi,..
Đôi khi còn g ọi là phát hi ện yêu c ầu.Nhà k ỹ thuật cùng v ới khách hàng (ng ườidùng, k ỹ sư , nhà qu ản lý, chuyên gia,..-ng ườiliên quan) làm rõ l ĩ nh vự c ứ ng dụng, các d ịchvụmà hệ thố ng c ần cung c ấ p và các ràngbuộc trong h ọat động của nó.Xây dự ng các mô hình phân tích để làm rõ
các yêu c ầu mi ền.
Phân tích yêu c ầuPhân loại yêu c ầu
Chứ c năngPhi chứ c năng
Yêu c ầu chứ c năng xuấ t phát t ừ các yêu c ầucủa khách hàng và nghi ệp vụ trong h ệ thố nghiện tại
Yêu c ầu phi ch ứ c năng th ường không l ộ rõThường do ng ười phát tri ể n đềxuấ t
Nguyên lý 2: Mô hình hóa ch ứ c n ă ng Bản chấ t của ph ần m ềm là biế n đổi thông tin
định danh các ch ứ c năng ( bi ế n đổ i thông tin )xác định cách th ứ c dữ liệu ( thông tin ) di chuyể ntrong h ệ thố ng ( lu ồ ng d ữ li ệ u )xác định các tác nhân t ạo dữ liệu ( ngu ồ n ) và tácnhân tiêu th ụdữ liệu ( đ ích )
Mô hình phân rã ch ứ c n ă ng, mô hình lu ồ ngd ữ li ệ u
Nguyên lý phân tích yêu c ầuNguyên lý 3: Mô hình hóa hành vi
Ph ần m ềm (hệ thố ng) có tr ạng thái (hành vi)xác định các tr ạng thái c ủa hệ thố ng
ví dụ: giao diện đồhọa, section trong ứ ng dụng web
xác định các d ữ kiện làm thay đổi hành vi h ệthố ngví dụ: bàn phím, chu ột, các c ổng thông tin...
Phân ho ạch yêu c ầuCó thể phân ho ạch yêu c ầu theo hai cách
Phân loại theo đặc trư ng: Yêu c ầu tương hỗ: ch ịu ảnh hưởng của môi tr ường Yêu c ầu nảy sinh:nh ận ra trong quá trình phát tri ể n Yêu c ầu hệquả:là k ế t quảcủa việc áp d ụng hệ thố ng dự atrên máy tính
Yêu c ầu tương thích:ph ụ thuộc vào h ệkhác hay ti ế n trình t ổchứ c
Phân loại theo m ứ c độquan tr ọng: chính, ph ụ
Thẩ m định yêu c ầuThẩ m định yêu c ầu liên quan t ới việc kiể mtra tính đúng đắn, tính đầy đủ, tính hi ệnthự c và kiể m tra được của yêu c ầu.
1. Thỏa mãn được nhu c ầu của người dùng?
2. Yêu c ầu không mâu thu ẫn nhau?3. Yêu c ầu phải đầy đủ(chứ c năng, ràng bu ộc)?4. Yêu c ầu là hiện thự c?5. Yêu c ầu có th ể kiể m tra được?
Thẩ m định yêu c ầuThường xuyên th ẩ m định yêu c ầuCảkhách hàng và ng ười phát tri ể nđều phải thẩ m định yêu c ầu
Việc thẩ m định có th ể tổchứ c hìnhthứ c hoặc không hình th ứ cTrao đổi giữ a khách hàng, nhà pháttriể n và ng ười sử dụng cuố i có thể giảiquyế t sớm các khó kh ăn
Thẩ m định yêu c ầuCác k ỹ thuật thẩ m định1. Xem xét lại yêu c ầu: bằng cách phân tích
một cách có h ệ thố ng các yêu c ầu (có s ự k ế t hợp cảnhà phát tri ể n và khách hàng,tiế n hành th ường xuyên)
2.Làm bản mẫu: sử dụng các mô hình có kh ả năng th ự c thi để kiể m tra l ại yêu c ầu
3. Tạo các tr ường hợp kiể m thử : kiể m tra tínhcó thể kiể m tra được của yêu c ầu
4. Phân tích tính nh ấ t quán b ằng cách t ự động: s ử dụng CASE (Computer AidedSoftware Engineering)
Đặc tảyêu c ầu ph ần m ềm Đặc tảcác yêu c ầu ph ần m ềm là công việcxây dự ng các tài li ệu đặc tả
có thể sử dụng tới các công c ụ như : mô hìnhhóa, mô hình toán h ọc hình th ứ c (a formalmathematical model), t ập hợp các k ịch bản sử dụng, các nguyên m ẫu hoặc bấ t k ỳ một tổhợpcác công c ụnói trên
Đặc tảchi tiế t các yêu c ầu đã phân tíchChấ t lượng của h ồ sơ đặc tả đánh giá qua
các tiêu th ứ cTính rõ ràng, chính xácTính phù h ợpTính đầy đủ, hoàn thi ện
Đặc tảyêu c ầu(Requirements Specification )Có thể sử dụng các c ấ u trúc tài li ệu đặctảyêu c ầu khác nhau (IEEE)
Đầy đủ
Mọi yêu c ầu của người dùng ph ải được môtảKhông mâu thu ẫn nhauChính xác : yêu c ầu không được mơ h ồ
Các mứ c trừ u tượng của yêu c ầu Yêu c ầu nên được biể u diễn ởnhi ều mứ c trừ u tượngkhác nhau ph ục vụcho nhi ều đố i tượng khác nhauXác định yêu c ầu
Mô tảcác d ịch vụmà ph ần m ềm c ần cung c ấ p Viế t bằng ngôn ng ữ tự nhiênHướng người dùng
Đặc tảyêu c ầuTài liệu có cấ u trúcMô tảchi tiế t, chính xác v ềyêu c ầuDùng làm b ản hợp đồng
Ví dụ: Chứ c năng kiể m tra l ỗi chính tả
Định ngh ĩ a:Thông báo các l ỗi chính tảcủa văn bản
Đặc tả:Các lỗi chính tả được gạch đỏ bên d ưới
Các lỗi soạn thảo được gạch xanh bên d ướiLỗi chính tả:
T ừ đơ n không có trong t ừ đ i ể n
Lỗi soạn thảoTh ừ a d ấ u cách Không vi ế t hoa đầ u câu
Đặc tả phi hình th ức (Informal specifications )đượ c viết bằng ngôn ng ữ tự nhiên
Đặc tả hình th ức (Formal specifications ) đượ cviết bằng tậ p các ký pháp có các quy định về cú pháp ( syntax ) và ý ngh ĩ a ( sematic ) r ấ t chặt chẽ Đặc tả vận hành ch ức năng (Operationalspecifications ) mô tả các ho ạt động của hệ thống
phần mềm sẽ xây d ựng Đặc tả mô tả (Descriptive specifications ) – đặc tảcác đặc tính đặc tr ưng của phần mềm
Định ngh ĩ a một hệ thố ng, mô- đun haymột sản phẩ m c ần phải làm cái gìKhông mô t ảnó phải làm như thế nàoMô tảnhữ ng tính ch ấ t c ủa v ấ n đề đặtraKhông mô t ảnhữ ng tính ch ấ t của giảipháp cho v ấ n đề đó
Khái niệm đặc tả Đặc tả là họat động được tiế n hành trong cácpha khác nhau c ủa tiế n trình ph ần m ềm:
Đặc tảyêu c ầu (requirement specification)Sự thố ng nh ấ t giữ a người sử dụng tương lai và ng ườithiế t k ế
Đặc tảkiế n trúc h ệ thố ng (system architectspecification)
Sự thố ng nh ấ t giữ a nhữ ng người thiế t k ế và nhữ ngngười cài đặt
Đặc tả môđun (module specification)Sự thố ng nh ấ t giữ a nhữ ng người lập trình cài đặt mô-đun và nh ữ ng người lập trình s ử dụng mô- đun
Biể u đồdòng d ữ liệuData Flow Diagram – DFD Mô tảcách th ứ c dữ liệu di chuy ể n và được xử lý,
lư u trữ trong h ệ thố ngDFD dễviế t, dễ đọc, dễhiể u được sử dụng ph ổbiế nDFDđược xây dự ng từ các hình v ẽvà các kí hiệuqui ước.Có nhi ều mứ c chi tiế t khác nhau (phân tích có c ấ utrúc)Có nhi ều cách xây d ự ng DFD, thông d ụng làphương pháp DeMarco-Yourdon, Gane Sarson vàMerise (pháp)
Biể u đồdòng d ữ liệuDFD – Các thành t ố Quá trình (Process)
Mô tảhoạt động (activities) hay phép bi ế n đổi(Transform) m ột hoặc nhi ều dòng d ữ liệu vào (input)thành m ột hoặc nhi ều dòng d ữ liệu ra (output)Quá trình không ch ỉ ra chi tiế t logic hay th ủ tục xử lýTrong s ơ đồDFD, quá trình có th ể là một người sử dụnghoặc máy tính x ử lý
Ví dụ:Nhận yêu c ầu khách hàngThủ tục giao hàngThông báoXử lý điể m…
1
Mô tảquá trình
Biể u đồdòng d ữ liệuDFD – Các thành t ố
Thự c thể (Entity)Xác định ranh gi ới, phạm trù hay ph ạm vi, ngữ cảnh củahệ thố ng đang xétCung cấ p cái vào cho h ệ thố ng và lấ y cái ra t ừ hệ thố ngCác thự c thể có thể nằm bên trong hay bên ngoài, t ạothành các ngu ồn hay các đích cho h ệ thố ngMỗi thự c thể có thể là một người, tổchứ c hoặc một hệthố ng khác t ương tác v ới hệ thố ng đang xét
Kho dữ liệu (data stores):Chỗchứ a các thông tin được lư u theo th ời gian, được xử lý thủcông hay t ự động
Đó là các t ập tin, c ơ sởdữ liệu hay b ấ t cứ các hình th ứ clư u trữ dữ liệu nào (b ảng biể u báo cáo, t ừ điể n, hộp thư ,danh b ạ,..)
Ví dụ:H ồ sơ học viênSổnợK ế t quả tuyể n sinh…
Tên kho d ữ liệu
Biể u đồdòng d ữ liệuDFD – Các thành t ố
Dòng dữ liệu (Data flows)Phương tiện luân chuy ể n thông tin th ể hiện cái vào vàcái ra, th ể hiện sự tương tác trong h ệ thố ngCó thể là báo cáo, bi ể u mẫu, vân b ẳn, th ư tín, thôngđiệp hay d ữ liệu nói chung
Được tạo thành t ừ các vật mang thông tin (gi ấ y, mànhình,..) có cùng b ản chấ t Đi từ tơi phát (ngu ồn) đế n nơi nhận ( đích)
Ví dụ: Yêu c ầu cho vayTra lời vayBáo k ế t quả thi
Phân rã ch ứ c năng hệ thố ngLiệt kê các tác nhân, các kho ản mục dữ liệu
VẽDFD cho các mứ cLàm mịn DFD cho các m ứ c từ DFD ngữ cảnh
Biể u đồdòng d ữ liệuDFD – Một số nguyên t ắc
Các tiế n trình ph ải có lu ồng vào và lu ồng raKhông có lu ồng dữ liệu giữ a các tác nhân –tác nhân, tác nhân – kho d ữ liệu, kho d ữ liệu
– kho d ữ liệu.Lu ồng dữ liệu không quay l ại nơi xuấ t phátLàm mịn c ần đảm bảo đầy đủcác yế u tố củabước trước (tác nhân, lu ồng dữ liệu, kho d ữ liệu).
Từ điể n dữ liệuPhương pháp có tính hình th ứ c để môtảdữ liệu mà h ệ thố ng xử lýKý pháp để mô tảcác dữ liệu đi ềukhiể n và mi ền giá tr ị của chúngChứ a đự ng các thông tin v ề nơi (modul)và cách th ứ c xử lý dữ liệuThường được tạo bằng các công c ụ trợgiúp
Từ điể n dữ liệuCác khoản mục từ điể n dữ liệu
Tên (name): tên d ữ liệuBí danh (alias):tên g ọi khác của dữ liệu
Vị trí (where): tên các modul x ử lý
Cách thứ c (how): vai trò c ủa dữ liệu vàcách th ứ c xử lýKý pháp (Description): ký pháp mô t ảdữ liệuFormat: Kiể u dữ liệu,giá tr ịmặc định,…
Bước 1: Đánh giá yêu c ầu và xác định có nên làmbản mẫu không; độphứ c tạp, chủng loại, kháchhàngBước 2: Biể u diễn vắn tắt yêu c ầu (yêu c ầu chứ cnăng, yêu c ầu phi ch ứ c năng)Bước 3: Thiế t k ế nhanh ki ể n trúc, c ấ u trúc d ữ liệuBước 4: Phát triể n, kiể m thử
Sử dụng các thành ph ần sẵn cóDùng các ngôn ng ữ bậc cao
Các thuật tóan d ễcài đặtBước 5: Người dùng đánh giá (b ước quan tr ọng???)Bước 6: Lặp lại bước2-5 cho đế n khi đủyêu c ầu
Làm bản mẫu trong phân tích Ư u điể m
Loại bớt hiể u nh ầmPhát hiện thiế u hụt chứ c năng
Ví dụ: soạn thảo kéo theo ki ể m tra chính t ảPhát hiện các điể m yế u
Khó sử dụngThao tác không an toàn
Kiể m tra tính kh ả thi, hữ u íchCó thể xây dự ng được khôngCó thự c sự c ần không
Làm cơ sở cho đặc tả: làm gi ố ng nh ư th ế này nh ư ng t ố t h ơ n Huấ n luyện người sử dụngHỗ trợkiể m thử (so sánh k ế t quả)
Nhược điể mCác yêu c ầu phi ch ứ c năng th ường khôngđược thể hiện đầy đủLàm tăng chi phí:c ần phải ước lượng chiphí chính xác c ủa bản mẫuCác yêu c ầu thay đổi quá nhanh làm b ảnmẫu trởnên vô ngh ĩ aNgười dùng không s ử dụng bản mẫu theo
cách thông th ường (k ế t quả đánh giákhông có giá tr ị)
Làm bản mẫu trong phân tíchNgôn ngữ làm bản mẫu
Java Visual BasicProlog, Lisp, PythonCác ngôn ng ữ script khác
Biể u diễn hệ thố ng phứ c tạpHạn chế khi đặc tảnhữ ng hệ thố ngkhông đồng bộ
Các thành ph ần của hệ thố ng ho ạt độngsong song ho ặc cạnh tranh
Đi ều kiện trước/sau(Pre/Post Condition) Được dùng để đặc tảcác hàm ho ặc mô đun Đặc tảcác tính ch ấ t của dữ liệu trước và saukhi thự c hiện hàm
Pre-condition: đặc tảcác ràng bu ộc trên tham s ố trước khi hàm được thự c hiệnPost-condition: đặc tảcác ràng bu ộc trên tham s ố sau khi hàm được thự c hiện
Có thể sử dụng ngôn ng ữ phi hình th ứ c, hìnhthứ c hoặc ngôn ng ữ lập trình để đặc tảcácđi ều kiện.
Mạng PetriMạng Petri được định ngh ĩ a bởi sự đánh d ấ u các nútcủa nó
Việc đánh d ấ u các nút được tiế n hành theo nguyêntắc sau:
Mỗi chuyể n tiế p có các nút vào và các nút ra
Nế u tấ t cảcác nút vào c ủa một chuyể n tiế p có ít nh ấ t mộtthẻ, thì chuyể n tiế p này có th ể v ượ t qua được.Nế u chuyể n tiế p này được thự c hiện thì tấ t cảcác nút vàocủa chuyể n tiế p sẽbị lấ y đi một thẻ, và một thẻsẽ đượcthêm vào t ấ t cảcác nút ra c ủa chuyể n tiế pNế u chuyể n tiế p là có th ể vượt qua thì ch ọn chuyể n tiế p nàocũng được
Hệ thố ng c ần mô t ảbao g ồm một nhà s ản xuấ t, một nhàtiêu th ụvà môt kho hàng ch ỉ chứ a được nhi ều nhấ t hai s ảnphẩ mNhà sản xuấ t có 2 tr ạng thái:
P1: đang s ản xuấ tP2: không s ản xuấ t
Nhà tiêu th ụcó 2 trạng thái:C1: có sản phẩ m để tiêu th ụC2: không có s ản phẩ m để tiêu th ụ
Kho hàng có 3 tr ạng tháiChứ a 0 s ản phẩ mChứ a 1 s ản phẩ mChứ a 2 s ản phẩ m