Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
1,12 MB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ––––––––––––––––––––––––*–––––––––––––––––––––– Báo cáo bài tập tun Môn học: Phân tch yêu cu phn mm Tun 1 Nhm 3 Danh sách sinh viên: Lê Trung Hiu 20111568 CNTT-TT 2.3 K56 Đàm Văn Hoài 20111600 CNTT-TT 2.3 K56 Nguyn Đc Cương 20111203 CNTT-TT 2.3 K56 Đoàn Văn Đt 20111370 CNTT-TT 2.3 K56 Giảng viên: PGS.TS. Hunh Quyt Thng Hà Nội Ngày 27 tháng 2 năm 2014 2 Mục lục Cc bảng trong bo co 3 Cc hnh trong bo co 3 Chương 1: Bài tập I 4 1) Process-Oriented Approach 4 2) Data-Oriented Approach 4 3) Architecture-Oriented Approach 4 4) Điểm mạnh yu của cc phương php tip cận 6 Chương 2: Bài tập II 7 1) Mô hnh thc nước 7 1.1) Khi niệm và mô hnh 7 1.2) Phân tích ưu nhược điểm 9 2) Mô hnh sử dụng lại 10 2.1) Tổng quan 10 2.2) Phân tích ưu khuyt điểm 10 3) Spiral SDLC 11 3.1) Spiral Model trong SDLC là gì? 11 3.2) Mô hình 11 3.3) Áp dụng khi nào? 13 3.4) Cc ưu điểm/nhược điểm? 13 4) Evolutionary SDLC 14 4.1) Khi niệm 14 4.2) Mô hình 15 4.3) Cc bước triển khai 16 4.4) Cc ưu điểm/nhược điểm? 16 5) RUP (Rational Unified Process) SDLC 17 5.1) Khi niệm 17 5.2) Mô hình 17 5.3) Cc bước triển khai 18 5.4) Áp dụng khi nào? 20 5.5) Cc ưu điểm/nhược điểm? 20 Chương 3: Bài tập III 22 1) Cc KPA cơ bản của Requirement Engineering 22 1.1) Đnh ngha Requirement Engineering 22 1.2) Cc KPA (key process area – vng xử lí quan trng) cơ bản 22 1.3) Sơ đ mi quan hệ gia cc KPA: 23 2) Mô tả ngn gn cc KPA 25 2.1) Requirement Development (Pht triển yêu cu) 25 2.2) Requirement Management (Quản lí yêu cu) 27 Tài liệu tham khảo 28 3 Cc bng trong bo co Table 1: Điểm mạnh yu của cc phương php tip cận Cc hnh trong bo co Hnh 1 : Cc giai đoạn của mô hnh thc nước 8 Hnh 2: Mô hnh sử dụng lại 10 Hnh 3: Mô hnh pht triển phn mềm xon c (A Spiral Model of Software Development and Enhancement - Boehm, 1988) 12 Hnh 4: Sự khc nhau gia mô hnh thc nước và mô hnh tin hóa trong pht triển phn mềm (The Evolutionary Development Model for Software - Elaine L. May and Barbara A. Zimmer) 15 Hnh 5: Mô hnh lặp của RUP (Wikipedia) 18 Hnh 6: Cc pha và mục tiêu mỗi pha trong RUP (Introduction to Software Development - Ma’am Marium Nosheen) 20 Hnh 7: Sơ đ quan hệ cu trc cc KPA 23 Hnh 8: Sơ đ quan hệ trong hoạt động của cc KPA 24 4 Chương 1: Bài tập I Đ bài: Phân biệt các hướng tip cận: Process-Oriented, Data-Oriented, Architecture-Oriented, các điểm mnh và yu của từng hướng tip cận 1. Process-Oriented Approach 2. Data-Oriented Approach 3. Architecture-Oriented Approach 4. Điểm mạnh yu của cc phương php tip cận 1) Process-Oriented Approach Bản cht của việc phân tích và thiêt k đặt trng tâm vào cc chức năng do phn mềm thực hiện. Tập trung vào các giải thuật và thao tác xử lý d liệu Quá trình phát triển phn mềm tập trung vào thể hiện cc phương php xử lý d liệu Cu trúc d liệu thông thường không thể hiện rõ 2) Data-Oriented Approach D liệu không thay đổi bởi cc yêu cu hay đòi hỏi của người dng về cc thao tc nghiệp vụ. Trong thit k hướng d liệu, hệ thng được thit k dựa trên cu trc tin trn d liệu. Việc phân tích thit k được tin hành cho d liệu một cch tch bạch với yêu cu hay đòi hỏi của người dng về thao tc. Nghiên cứu và pht triển cơ sở d liệu tập trung vào cc thực thể và cc mi quan hệ của một hệ thng thông tin và dẫn đn sự pht triển của khi niệm, hợp lý và vật lý mô hnh d liệu, hệ thng chung và cc công cụ cũng như phn mềm pht triển cc quy trnh để hỗ trợ việc phân tích, thit k. Mô tả tổ chức của d liệu ,mô tả d liệu ly ra ở đâu và sử dụng như th nào. Mô hình d liệu được thành lập và được mô tả mi quan hệ gia các d liệu tương ứng này và cc quy đnh về mi quan hệ. Sử dụng cc Business rules để chỉ ra phương php xử lí d liệu. 3) Architecture-Oriented Approach Là phương php phân tích và thit k có cu trúc. Các yêu cu của hệ thng đích được phát triển được phân tích bằng việc đặc biệt chú ý tới chức năng của hệ thng và lung d liệu gia các chức năng. Mục đích của 5 phương php này là chuyển các tin trình trong biểu đ thành các modules chương trình và tiến hành phân chia các modules bằng cách tiếp cận từ trên xuống. • Lựa chn kin trúc và công nghệ phn mềm để thực hiện bài toán. • Áp dụng cc phương php Prototyping để nhanh chóng xây dựng được phn mềm. Phương php Prototyping có vai trò trong duyệt và kiểm sot yêu cu phn mềm gip hoàn thiện hơn về yêu cu, đp ứng được yêu cu của người dng. Cho người dng dng thử mẫu thử như là mẫu thử bản beta từ đó người dng sẽ dng thử và đưa ra nhng điểm tt, điểm không tt của mẫu thử, ci nào không cn thit của mẫu thử từ đó người phân tích viên có thể duyệt yêu cu nào đã đạt được yêu cu nào hay nhng yêu cu nào rườm rà có thể bỏ qua hay nên bổ sung nhng yêu cu g để thỏa mãn được yêu cu của người dng. Ví dụ: khi cho người dng delete một bản ghi th đòi hỏi phải có yêu cu là có nên delete hay không? Mẫu thử thẩmđnh yêu cu giải thích cc yêu cu và gip cc bên liên quan khm ph được vn đề. Thẩm đnh mẫu thử sẽ hoàn thành có hiệu quả cao và thit thực. nó có thể dụng chng trong cch ging nhau như là yêu cu hệ thng. Tài liệu đào tạo cho người sử dụng sẽ được cung cp. • Sử dụng cc Pattern kin trc mẫu để chỉ ra phương php xử lý d liệu 6 4) Điểm mnh yu của các phương pháp tip cận Hướng tip cận Process-Oriented Approach Data-Oriented Approach Architecture- Oriented Approach Điểm mạnh - Thích hợp với các bài toán phức tạp. - Giảm thời gian đp ứng của phn mềm do tập trung vào giải thuật và xử lí d liệu - Trnh được sự trùng lặp trong cơ sở d liệu - Thích hợp với hệ thng quản lí cơ sở d liệu. - Không phụ thuộc vào chức năng và yêu cu người sử dụng do thit k d liệu tách bạch. - Biểu diễn đươc cc mi quan hệ trong các bảng và gia các d liệu với nhau - Việc thit k phn mềm nhanh do áp dụng các bản mẫu có sẵn. Từ đó thưa k được nhng ưu điểm sẵn có. - Áp dụng các kin trúc công nghệ tt nht tăng cht lượng phn mềm. Điểm yu - Khó điều chỉnh các yêu cu cho nhiều người dùng. - Sử dụng các chức năng chng chéo nhau là khó tránh khỏi. Kt quả là hệ thng có nhiều chức năng chng chéo nhau là một trong nhng nhân t làm cho việc bảo trì trở nên khó khăn. - Các tệp d liệu được xây rt khó để thỏa mãn phn mềm - Việc xử lí d liệu không được linh hoạt do phụ thuộc vào các Business rules - Các chức năng của phn mềm phụ thuộc vào cách tổ chức cơ sở d liệu. - D liệu được xử lí phụ thuộc cao vào các bản mẫu sẵn có B động trong thit k - Phụ thuộc vào công nghệ hiện tại Table 1: Điểm mnh yu của các phương pháp tip cận 7 Chương 2: Bài tập II Đ bài: Tổng kt và hệ thống li các mô hình SDLC: Mô hình thác nước, Mô hình sử dụng li, Mô hình Spiral, Mô hình Evolutionary, Mô hình RUP. Tìm các tài liệu phân tch các điểm mnh yu của các mô hình. 1. Mô hnh thc nước 2. Mô hnh sử dụng lại 3. Mô hình Spiral 4. Mô hình Evolutionary 5. Mô hình RUP 1) Mô hình thc nước 1.1) Khái niệm và mô hình Mô hình thác nước (ting Anh: waterfall model) là một mô hình của quy trình phát triển phn mềm, trong đó quy trnh pht triển trông ging như một dòng chảy, với cc pha được thực hiện theo trật tự nghiêm ngặt và không có sự quay lui hay nhảy vượt pha là: phân tích yêu cu, thit k, lập trình, kiểm thử, liên kt và bảo trì. Mô hnh thc nước gm 4 giai đoạn phân tích, thit k , lập trình kiểm thử. 8 Hình 1 : Các giai đon của mô hình thác nước Phân tích yêu cu và tài liệu đặc tả (Requirements) là giai đoạn xc đnh nhng yêu cu liên quan đn chức năng và phi chức năng hệ thng phn mềm cn có. Giai đoạn này cn có sự tham gia tích cực của khch hàng và kt thc bằng một tài liệu “Bản đặc tả yêu câu phn mềm” hay SRS, trong đó bao gm toàn bộ tài liệu đã được duyệt và nghiệm thu bởi nhng người có trch nhiệm đi với dự n ( từ phía khch hàng). SRS chính là nền tảng cho cc hoạt động tip theo và cho đn cui của dự n. 9 Phân tích hệ thng (Analysis): giai đoạn xc đnh các công việc cn làm để hệ thng phn mềm, hiểu lnh vực thông tin, chức năng, hành vi, tính năng và giao diện của phn mềm sẽ phát triển. Cn phải tạo tư liệu và bản thảo với khch hang, người dung. giai đoạn xc đnh các công việc cn làm để hệ thng phn mềm Thit k (Design): là quá trình nhiều bước với 4 thuộc tính khác nhau của 1 chương trnh: cu trúc d liệu, kin trúc phn mềm, biều diễn giao diện và chi tit thủ tục (thuật toán). Lập trình (coding): Chuyển thit k thành chương trnh my tính bởi ngôn ng nào đó. Nu thit k đã được chi tit hóa thì lập trình có thể thun ty cơ hc. Kiểm thử (Testing): Kiểm tra cc chương trnh và module cả về logic bên trong và chức năng bên ngoài, nhằm phát hiện ra lỗi và đảm bảo với đu vào xc đnh thì cho kt quả mong mun. Cài đặt và bảo tr (Acceptance): đây là giai đoạn cài đặt, cu hnh và hun luyện khch hàng. Giai đoạn này sửa cha nhng lỗi của phn mềm nu có và có thể pht triển thêm nhng yêu cu mới mà khch hàng yêu cu ( như sửa đổi, thêm, bớt chức năng/đặc điểm của hệ thng. 1.2) Phân tch ưu nhược điểm Ưu điểm: Chuỗi các hoạt động được thực hiện theo quy trình rõ ràng. Thay đổi yêu cu được giảm ti thiểu khi dự án bt đu. Dễ phân công công việc, phân b chi phí, giám sát công việc. Nhược điểm: Thực t các dự án ít khi tuân theo dòng tun tự của mô hình, mà thường có sự lặp lại. Mi quan hệ gia cc giai đoạn không được thể hiện Khách hàng ít khi tuyên b rõ ràng khi nào xong ht các yêu cu Khách hàng phải có lòng kiên nhẫn chờ đợi thời gian nht đnh mới có sản phẩm. Nu phát hiện ra lỗi nặng thì rt khó khc phục. Khả năng tht bại cao 10 2) Mô hnh sử dụng lại 2.1) Tổng quan Hình 2: Mô hình sử dụng li Mô hnh sử dụng lại : ti sử dụng thông tin được tạo ra trong cc dự n pht triển phn mềm trước đó nhằm giảm cc chi phí, tài nguyên cho việc pht triển dự n mới. Việc sử dụng lại cho phép xây dựng hệ thng phn mềm mới với cht lượng và độ tin cậy cao hơn. Mô hnh gm 6 giai đoạn: 1. Requirements specification ( Yêu cu kỹ thuật) 2. Component analysis ( Phân tích thành phn ) 3. Requirements modification ( Sửa đổi) 4. System design with reuse ( Thit k hệ thng với cc thành phn ti sử dụng) 5. Development and integration ( Pht triển) 6. System validation ( Xc nhận hệ thng ) 2.2) Phân tch ưu khuyt điểm a. Ưu điểm Giảm chi phí pht triển phn mềm so với việc xây dựng một hệ thng phn mềm mới hoàn toàn. Tit kiệm thời gian v mỗi giai đoạn pht triển lại sử dụng lại cc giai đoạn của qu trnh pht triển phn mềm trước nhưng được tinh ch Giảm thiểu cc sai sót, lỗi của sản phẩm cui cng so với phn mềm trước đó. [...]... (Phát triển yêu cầu) + Requirement Elicitation (Phát hiện yêu cầu) + Requirement Analysis (Phân tích yêu cầu) + Requirement Specification (Đặc tả yêu cầu) + Requirement Verification (Kiểm thử yêu cầu) – Requirement Management (Quản lí yêu cầu) 22 1.3) Sơ đồ mối quan hệ giữa các KPA: Về mặt cấu trúc Hình 7: Sơ đồ quan hệ cấu trúc các KPA (Slide bài giảng Phân tích yêu cầu phần mềm – Thầy... dụng yêu cầu Mục tiêu: • Xác định các yêu cầu quá trình phát triển • Xác định tầm nhìn và phạm vi • Xác định các lớp người dùng • Xác định các tiêu chí sản phẩm • Xác định các trường hợp ca sử dụng • Xác định các sự kiện hệ thống và đáp ứng + Requirement Analysis (Phân tích yêu cầu) Phân tích yêu cầu là quá trình phân tích các dữ liệu thu được trong Phát hiện yêu. .. lượng Mục tiêu: • Phát hiện và giải quyết xung đột giữa các yêu cầu • Tìm ra phạm vi của phần mềm và cách mà nó tác động tới môi trường xung quanh • Nghiên cứu các yêu cầu hệ thống để tìm ra yêu cầu phần mềm + Requirement Specification (Đặc tả yêu cầu) Đặc tả yêu cầu là quá trình xác định các văn bản chức năng và bổ trợ dựa trên các yêu cầu và hỗ trợ bằng các công nghệ trực... tả yêu cầu phần mềm • Xác định các nguồn yêu cầu • Gán nhãn riêng cho mỗi yêu cầu • Ghi lại các quy tắc kinh doanh • Xác định các thuộc tính chất lượng Mục tiêu: • Tạo tài liệu định nghĩa hệ thống • Đặc tả được yêu cầu hệ thống • Đặc tả được yêu cầu phần mềm + Requirement Verification (Kiểm thử yêu cầu) Kiểm thử yêu cầu là quá trình xem xét lại các đặc tả yêu cầu và. .. tích yêu cầu phần mềm – Thầy Huỳnh Quyết Thắng) Quy trình yêu cầu phần mềm có 2 KPA cơ bản là Phát triển yêu cầu và Quản lí yêu cầu, trong đó Phát triển yêu cầu bao gồm 4 KPA thành phần được chỉ ra trong sơ đồ 23 Về mặt hoạt động Hình 8: Sơ đồ quan hệ trong hoạt động của các KPA (Slide bài giảng Phân tích yêu cầu phần mềm – Thầy Huỳnh Quyết Thắng) Ban quản lí tiếp thị khách... Requirement Development (Phát triển yêu cầu) Phát triển yêu cầu là giai đoạn xác định các yêu cầu của khách hàng đối với hệ thống, sản phẩm cho ra là bản yêu cầu cơ sở Bốn giai đoạn nhỏ của KPA này đảm nhận các công việc cụ thể của quá trình yêu cầu phần mềm + Requirement Elicitation (Phát hiện yêu cầu) Phát hiện yêu cầu là quá trình thu thập và tài liệu hóa các nhu cầu của... cầu, giải quyết xung đột, phân tích luật thương mại, tài liệu hóa các giả định, các ràng buộc và các sự phụ thuộc, đồng thời làm việc với các bên liên quan để tạo lập các ưu tiên ban đầu Các hoạt động cụ thể: 25 • Vẽ sơ đồ ngữ cảnh • Tạo mẫu • Phân tích tính khả thi • Gán độ ưu tiên các yêu cầu • Mô hình hóa các yêu cầu • Tạo một từ điển dữ liệu • Phân bổ các yêu cầu tới hệ thống con... liệu yêu cầu • Kiểm tra các yêu cầu • Xác định các tiêu chí chấp nhận • Tạo mẫu thử 26 • Kiểm tra sự chấp nhận Mục tiêu: • Đảm bảo các kĩ sư phần mềm hiểu rõ tất cả yêu cầu • Đảm bảo các yêu cầu đưa ra được khách hàng chấp nhận 2.2) Requirement Management (Quản lí yêu cầu) 2.2.1) Định nghĩa Requirement Management Quản lý các yêu cầu phần mềm thực hiện các giao tiếp và thoả... kết thúc dự án bản than điều này là 1 rủi ro – Chi phí tốn kém – Yêu cầu nhiều tài nguyên và kỹ năng cho phân tích rủi ro (giống spiral model) – Các tiến trình dự án phụ thuộc nhiều vào bước phân tích rủi ro 5) RUP (Rational Unified Process) SDLC 5.1) Khái niệm RUP (Rational Unified Process) là một quá trình phát triển phần mềm theo mô hình lặp (iterative) được sáng tạo bởi Rational Software... xoắn ốc là một quá trình phát triển phần mềm (còn gọi với thuật ngữ khác là software development life-cycle, SDLC) với định hướng giải quyết rủi ro (risk-driven) Nó tương đối giống với mô hình lặp và tăng tiến (iterative and incremental development model), nhưng nhấn mạnh vào phân tích và quản lý rủi ro của dự án phần mềm Mô hình xoắn ốc phát triển và tiến hóa sau mô hình thác nước, dựa . của việc phân tích và thiêt k đặt trng tâm vào cc chức năng do phn mềm thực hiện. Tập trung vào các giải thuật và thao tác xử lý d liệu Quá trình phát triển phn mềm tập trung vào thể. Phân tích yêu cu và tài liệu đặc tả (Requirements) là giai đoạn xc đnh nhng yêu cu liên quan đn chức năng và phi chức năng hệ thng phn mềm cn có. Giai đoạn này cn có sự tham gia tích. tự nghiêm ngặt và không có sự quay lui hay nhảy vượt pha là: phân tích yêu cu, thit k, lập trình, kiểm thử, liên kt và bảo trì. Mô hnh thc nước gm 4 giai đoạn phân tích, thit k ,