8/26/2013 Khái ni m PH N III: XÁC NH YÊU C U NG DÙNG I T ng quan v yêu c u ph n m II Quy trình xác đ nh yêu c u ph III Công c ph ng pháp đ c t ph n m m IV Nguyên lý phân tích yêu c u s Các đ c tính c a h th ng hay s n ph m khách hàng - ng i s d ng ph n m m - nêu Xác đ nh đ c ph n m m đáp ng đ c yêu c u mong mu n c a khách hàng - ng i s d ng ph n m m • I Bài toán c a khách hàng c n gi i quy t L nh v c ng d ng c a h th ng/s n ph m m nm m yêu c u Nhu c u ràng bu c c a nh ng ng i có quy n l i ngh a v liên quan đ n h th ng /s n ph m d ng Ng c nh nghi p v : t ng tác c a h thông/s n ph m đóng góp v m c nghi p v c a h th ng T i c n ph i đ t yêu c u ph n m m ? Phân lo i • Khách hàng ch có nh ng ý t ng m h v ph n m m c n ph i xây d ng đ ph c v công vi c c a h , ph i s n sàng, kiên trì theo đu i đ t ý t ng m h đ n “Ph n m m có đ y đ tính n ng c n thi t” • Khách hàng r t hay thay đ i đòi h i c a mình, n m b t đ c thay đ i s a đ i mô t m t cách h p lý • Theo thành ph n c a ph n m m: – – – – Các Các Các Các yêu yêu yêu yêu c c c c u u u u v v v v ph n m m (Software) ph n c ng (Hardware) d li u (Data) ng i (People, Users) • Theo cách đ c t ph n m m – Các yêu c u ch c n ng – Các yêu c u ch c n ng – Các ràng bu c khác II Quy trình xác đ nh yêu c u PM Quy trình xác đ nh yêu c u PM (ti p) • Phát hi n yêu c u ph n m m (Requirements elicitation) • Phân tích yêu c u ph n m m th ng l ng v i khách hàng (Requirements analysis and negotiation) • c t yêu c u ph n m m (Requirements specification) • Mô hình hóa h th ng (System modeling) • Ki m tra tính h p lý c a yêu c u ph n m m (Requirements validation) • Qu n tr yêu c u ph n m m (Requirements management) Xây d ng m t nguyên m u (prototype) V nđ Xác đ nh yêu c u Phát tri n đ c m k thu t Xem t T o mô hình phân tích Last Update8-07 Dept of SE, 2002 SE-III.6 8/26/2013 Phát hi n yêu c u ph n m m Phát hi n yêu c u ph n m m ánh giá tính kh thi v k thu t nghi p v c a ph n m m đ nh phát tri n • Tìm ki m nhân s (chuyên gia, ng i s d ng) có nh ng hi u bi t sâu s c nh t, chi ti t nh t v h th ng giúp xác đ nh yêu c u ph n m m • Xác đ nh môi tr ng k thu t s tri n khai ph n m m • Xác đ nh ràng bu c v l nh v c ng d ng c a ph n m m (gi i h n v ch c n ng/hi u n ng ph n m m) • Xác đ nh ph ng pháp s d ng đ phát hi n yêu c u ph n m m: ph ng v n, làm vi c nhóm, bu i h p, g p g đ i tác, v.v • Thu hút s tham gia c a nhi u chuyên gia, khách hàng đ có đ c quan m xem xét ph n m m khác t phía khách hàng • Xác đ nh yêu c u nh p nh ng đ làm m u th • Thi t k k ch b n s d ng c a ph n m m đ giúp khách hàng đ nh rõ yêu c u • c phát hi n yêu c u Phân tích yêu c u PM th ng l ng v i khách hàng Nhóm công ngh ph n m m • B ng kê (statement) đòi h i ch c n ng kh thi c a ph n m m • B ng kê ph m vi ng d ng c a ph n m m • Mô t môi tr ng k thu t c a ph n m m • B ng kê t p h p k ch b n s d ng c a ph n m m • Các nguyên m u xây d ng, phát tri n hay s d ng ph n m m (n u có) • Danh sách nhân s tham gia vào trình phát hi n yêu c u ph n m m - k c nhân s t phía công ty- khách hàng Nhóm khách hàng u c a b ph n m m Phân tích yêu c u ph n m m th ng l ng v i khách hàng Yêu c u không c n thi t Nh t quán +đ yđ ? Th Th o lu n v yêu c u Kh thi ? Yêu c u không đ y đ , yêu c u mâu thu n ng l t th t u tiên cho yêu c u Phân tích yêu c u ph n m m th ng l ng v i khách hàng • Phân lo i yêu c u ph n m m s p x p chúng theo nhóm liên quan • Kh o sát t m t ng yêu c u ph n m m m i quan h c a v i yêu c u ph n m m khác • Th m đ nh t ng yêu c u ph n m m theo tính ch t: phù h p, đ y đ , rõ ràng, không trùng l p • Phân c p yêu c u ph n m m theo d a nhu c u đòi h i khách hàng / ng i s d ng • Th m đ nh t ng yêu c u ph n m m đ xác đ nh: Phân tích C n thi t ? 10 Yêu c u không kh thi ng – Các yêu c u PM có kh n ng th c hi n đ c môi tr ng k thu t hay không – Có kh n ng ki m đ nh yêu c u ph n m m hay không Nh t trí v yêu c u 11 12 8/26/2013 Phân tích yêu c u ph n m m th ng l ng v i khách hàng • Th m đ nh r i ro có th x y v i t ng yêu c u ph n m m • ánh giá thô (t ng đ i) v giá thành th i gian th c hi n c a t ng yêu c u ph n m m giá thành s n ph m ph n m m th i gian th c hi n ph n m m • Gi i quy t t t c b t đ ng v yêu c u ph n m m v i khách hàng / ng i s d ng c s th o lu n th ng l ng yêu c u đ c t yêu c u ph n m m c t yêu c u ph n m m: xây d ng tài li u đ c t , có th s d ng t i công c nh : mô hình hóa, mô hình toán h c hình th c (a formal mathematical model), t p h p k ch b n s d ng, nguyên m u ho c b t k m t t h p công c nói • Ph ng pháp đ c t : • c t phi hình th c (Informal specifications): vi t b ng ngôn ng nhiên c t hình th c (Formal specifications): vi t b ng t p ký pháp có quy đ nh v cú pháp (syntax) ng ngh a (sematic) r t ch t ch , thí d ký pháp đ h a dùng l u đ – t – • Tiêu chí đánh giá ch t l – Tính rõ ràng, xác – Tính phù h p – Tính đ y đ , hoàn thi n ng c a h s đ c t : 13 14 Ví d : Các yêu c u v h s đ c t 3.1 Các thành ph n c a h s đ c t • c t hành vi bên c a HT • c t ràng bu c v cài đ t • D thay đ i • Dùng nh công c tham kh o cho b o trì • S ghi chép c n th n v vòng đ i c a HT, ngh a d đoán thay đ i • Các đáp ng v i s c không mong đ i • • c t v n hành hay đ c t ch c n ng (Operational specifications): mô t ho t đ ng c a h th ng ph n m m s xây d ng: – Các d ch v mà h th ng ph i cung c p – H th ng s ph n ng v i đ u vào c th – Hành vi c a h th ng tình hu ng đ c bi t c t mô t hay đ c t phi ch c n ng (Descriptive specifications): đ c t đ c tính, đ c tr ng c a ph n m m: – Các ràng bu c v d ch v hay ch c n ng h th ng cung c p nh th i gian, ràng bu c v trình phát tri n, chu n,… • Ngoài có yêu c u v l nh v c, b t ngu n t l nh v c c a ng d ng h th ng đ c tr ng c a l nh v c 15 16 c t ch c n ng c t phi ch c n ng ràng bu c • Miêu t ch c n ng c a h th ng, ph thu c vào ki u ph n m m mong đ i c a ng i dùng – T ng tác gi a ph n m m môi tr ng, đ c l p v i vi c cài đ t – Ví d : H th ng đ ng h ph i hi n th th i gian d a v trí c a • Yêu c u phi ch c n ng: nh ngh a khía c nh s d ng ph n m m, không liên quan tr c ti p t i hành vi ch c n ng: – Các tính ch t c a h th ng nh đ tin c y, th i gian tr l i, dung l ng b nh , … • Th i gian tr l i ph i nh h n giây • Ràng bu c: khách hàng hay môi tr m m đ t • Các công c đ c t tiêu bi u: – – – – Bi u đ lu ng d li u (Data Flow Diagrams) Máy tr ng thái h u h n (Finite State Machines) M ng Petri (Petri nets),… Tuy nhiên không b t bu c có th dùng ngôn ng nhiên ng th c thi ph n – Các yêu c u t ch c qui đ nh nh qui đ nh chu n v trình ti n hành, chu n tài li u, … • Ngôn ng cài đ t ph i COBOL – Các yêu c u t • Th bên • Ph i giao ti p v i h th ng u ph i đ ng s d ng công c c vi t vào n m 1956 – Bi u đ th c th liên k t (Entity-Relationship Diagrams) – c t Logic (Logic Specifications) – c t đ i s (Algebraic Specifications) t 17 Khó phát bi u xác, R t khó ki m tra 18 8/26/2013 3.2 Tài li u yêu c u N i dung c n có c a tài li u yêu c u • Tài li u v yêu c u phát bi u th c v đ c yêu c u b i nhà phát tri n HT • Nó bao g m c ph n: đ nh ngh a đ c t yêu c u • Nó không ph i tài li u thi t k T t h n có th ch t p mà HT ph i làm h n HT ph i làm th (PT ch không ph i TK) Khách hàng h th ng Xác đ nh yêu c u, đ c hi u đ ki m tra xem có v i nhu c u hay không H xác đ nh thay đ i v yêu c u Nhà qu n lý S d ng tài li u v yêu c u đ lên k ho ch đ u th u cho h th ng lên k ho ch cho trình phát tri n h th ng K s K s K s S h th ng ki m th th ng d ng yêu c u đ hi u v h th ng s phát tri n S d ng yêu c u đ phát tri n tr ng h p ki m th cho h th ng h S d ng yêu c u đ hi u v h th ng m i liên h gi a ph n khác c a h th ng b o trì h th ng 19 III Ph ng pháp công c đ c t yêu c u ph n m m 20 • Bi u đ phân c p ch c n ng - WBS (work break down structure) • Bi u đ lu ng d li u – DFD (data flow diagram) • Máy tr ng thái – FSM (Finite state machine) • S đ th c th liên k t – ERD (entity relation diagram) c t ch c n ng v i DFD • H th ng (System): t p h p d li u (data) đ x lý b ng ch c n ng t ng ng (functions) • Các ký pháp s d ng: c Th hi n ch c n ng (functions) Th hi n lu ng d Kho d li u li u Vào d li u t ng tác gi a h th ng ng i s d ng 21 Ví d : mô t bi u th c toán h c b ng DFD 22 Ví d đ c t ch c n ng c a th vi n qua DFD Yêu c u t (a+b)*(c+a*d)-e*(a+b) Kho sách b c a + a Tên tác gi d Danh sách tác gi * + Tên sách Danh sách tên sách Có sách * Tên sách; Tên ng i m Tìm theo ch đ Ch n Thông tin v sách n im n Li t kê tên sách liên quan đ n ch đ đ Ch đ yêu c u 23 im Sách Danh sách ng Danh sách ch đ ng Tên sách, tác gi Tên ng i m n Sách a Tên sách 24 8/26/2013 Các h n ch c a DFD Các h n ch c a DFD • Ý ngh a c a ký pháp s d ng đ c xác đ nh b i đ nh danh l a ch n c a NSD • Ví d : DFD c a ch c n ng tìm ki m sách: • Trong DFD không xác đ nh rõ h ng th c hi n (control aspects) A If NSD nh p vào c tên tác gi tiêu đ sách Then tìm ki m sách t ng ng, thông báo l i Elseif ch nh p tên tác gi Then hi n th danh sách sách t ng ng v i tên tác gi nh p yêu c u NSD l a ch n sách Elseif ch nh p tiêu đ sách Then Endif B E • • D F C • • • • Ch c n ng D có th c n c A, B C Ch c n ng D có th ch c n m t A, B C đ th c hi n Ch c n ng D có th k t xu t k t qu cho m t E F Ch c n ng D có th k t xu t k t qu chung cho c E F Ch c n ng D có th k t xu t k t qu riêng cho c E F Bi u đ DFD không ch rõ đ u vào đ th c hi n ch c n ng D đ u sau th c hi n ch c n ng D 25 c t tr ng thái v i FSM - Finite State Machines Các h n ch c a DFD • DFD không xác đ nh s n ng / mô-đun 26 đ ng b gi a ch c • FSM ch a – T p h u h n tr ng thái Q – T p h u h n đ u vào I – Các ch c n ng chuy n ti p – A x lý d li u B đ c h ng (nh n) k t qu đ c x lý t A – A B ch c n ng không đ ng b (asynchronous activities) th c n có buffer đ ng n ch n tình trang m t d li u • :QxIQ Báo đ ng áp l c cao A B Báo đ ng nhi t đ cao ON Kh i đ ng l i 27 Ví d : th OFF 28 c t yêu c u đ c bi t c a th vi n vi n • Xét giao d ch: c gi không đ c m n m t s l ng sách nh t đ nh, m t th i gian nh t đ nh • M t s sách không đ c m n v • M t s ng i không đ c m n m t s lo i sách đó, • – M n sách / Tr sách – Thêm đ u sách / Lo i b đ u sách – Li t kê danh sách đ u sách theo tên tác gi hay theo ch đ – Tìm ki m sách theo yêu c u c a ng i m n – Tìm ki m sách h n tr , 29 30 8/26/2013 c t đ i t • Các đ i t – – – – ng th FSM đ c t tr ng thái vi n ng: • Ta có t p h p sách (m i đ u sách có th có nhi u quy n sách th vi n) • M i quy n sách có th có tr ng thái sau: Tên sách Mã quy n Nhân viên ph c v Ng i m n – – – – • C n có: – t p h p (danh sách) tiêu đ sách – danh sách tác gi cho t ng quy n sách, – danh sách ch đ liên quan c a quy n sách 31 c t d li u v i Mô hình th c th liên k t -ERD (AV) Available: đ c phép m n, (CO) - (BR): m n (Check Out; Borrow), (L): Last, (R): Remove CO Có th có h n ch v s sách đ cm AV BR L R n cho nhóm đ c gi ho c m i đ c gi , 32 Th c th • Mô hình khái ni m cho phép đ c t yêu c u logic c a h th ng, th ng đ c s d ng h th ng d li u l n • ER Model • Th c th : t p h p thông tin liên quan c n đ c x lý ph n m m • Th c th có th có m i quan h : – ng – Th c th – Quan h – Thu c tính i s h u ôtô Ng • Bi u đ th c th i s h u Ôtô • Th c th có thu c tính 33 Thu c tính 34 Quan h • Tính ch t c a m t th c th ho c m t đ i t d li u – đ t tên cho m u (instance) c a đ i t ng d – mô t m u (instance) – t o liên k t (reference) đ n m u khác ng • Ch m i liên quan g a đ i t Bookstore li u Cardinality : ch đ nh l 1:1 one-to-one Ford Car Automobile Company Modality : Orders N ng d li u Books ng c a m i quan h 1:N one-to-many M:N many-to-many – có th có, có th quan h – b t bu c có quan h Blue ID Ford T p thu c tính c a đ i t ng d li u đ xác đ nh thông qua ng c nh c a toán c 35 Customer Is provided with N Repair Action 36 8/26/2013 Ví d : ERD mô t th vi n So sánh Area DFD Deals with FSM n gi n, d hi u N Copy Belongs to N Title N Mô t lu ng d Was held by li u Text holds Author M Borrower Có th ph c t p v i s l ng tr ng thái l n n gi n, d hi u Mô t tr ng thái c a th c th Mô t tr u t s d li u Không xác đ nh rõ h ng th c hi n Xác đ nh rõ h th c hi n Không xác đ nh rõ h ng th c hi n Không th hi n tính tu n t hay song song c a ti n trình Th hi n t t tính song song tu n t state Written by ERD ng ng c Không th hi n tính tu n t hay song song limit 37 Th m t đ c t t t? • • • • • 38 Th m t đ c t t t? D hi u v i ng i dùng Có u nh p nh ng Có quy c mô t , có th t o đ n gi n V i phong cách t xu ng (topdown) D tri n khai cho nh ng pha sau c a vòng đ i: thi t k h th ng thi t k ch ng trình giao di n d làm, đ m b o tính nh t quán, Khách hàng m i t hàng Khách hàng Hoá đ n H th ng đ t hàng M t hàng Phi u hàng Kho hàng Thông báo chuy n hàng 39 2.1 Customer Order Need to establish Mô hình hóa d D Customer Master Verify Customer • Xác đ nh • Xác đ nh t ng d • Thi t l p t ng d Valid 2.2 Customer Order Notify D Inventory Master Verify Item Update 2.4 Valid Item 40 Avail Update Commit li u đ i t ng d li u đ c tính c a đ i li u m i quan h gi a đ i li u 2.3 Check Available Back Order D Back Order D Shipping Taxes Tax 2.5 Create Order Ord D Inventory Master Pending Order 41 42 8/26/2013 Mô hình hóa ch c n ng Mô hình hóa hành vi • Xác đ nh ch c n ng chuy n đ i đ i t ng d li u • Ch lu ng d li u qua h th ng nh th • Bi u di n b ph n s n sinh d li u b ph n tiêu th d li u • Ch tr ng thái (states) khác c a h th ng • c t hi n t ng (events) làm h th ng thay đ i tr ng thái 43 44 Phân m nh mô hình B n ch t • Tinh l c t ng mô hình đ bi u di n m c tr u t ng th p h n • L c đ i t ng d li u • T o phân c p ch c n ng • Bi u di n hành vi (behavior) m c chi ti t khác • Hãy b t đ u b ng cách t p trung vào b n ch t c a v n đ ch không xem xét nh ng chi ti t cài đ t 45 46 ... thi t ? 10 Yêu c u không kh thi ng – Các yêu c u PM có kh n ng th c hi n đ c môi tr ng k thu t hay không – Có kh n ng ki m đ nh yêu c u ph n m m hay không Nh t trí v yêu c u 11 12 8/26/2 013 Phân... thi n ng c a h s đ c t : 13 14 Ví d : Các yêu c u v h s đ c t 3 .1 Các thành ph n c a h s đ c t • c t hành vi bên c a HT • c t ràng bu c v cài đ t • D thay đ i • Dùng nh công c tham kh o cho b o... i đ ng s d ng công c c vi t vào n m 19 56 – Bi u đ th c th liên k t (Entity-Relationship Diagrams) – c t Logic (Logic Specifications) – c t đ i s (Algebraic Specifications) t 17 Khó phát bi