Bài giảng Nhập môn công nghệ phần mềm - Chương 3: Phân tích và đặc tả yêu cầu cung cấp cho người đọc các kiến thức: Khái niệm yêu cầu, yêu cầu chức năng và phi chức năng, tài liệu đặc tả yêu cầu, các bước phân tích và đặc tả yêu cầu. Mời các bạn cùng tham khảo nội dung chi tiết.
Phân tích đặc tả u cầu (3) Nguyễn Thanh Bình Khoa Cơng nghệ Thơng tin Trường ðại học Bách khoa ðại học ðà Nẵng Nội dung Khái niệm yêu cầu Yêu cầu chức phi chức Tài liệu đặc tả u cầu Các bước phân tích đặc tả u cầu Phân tích tốn Thu thập yêu cầu Phân tích yêu cầu ðặc tả yêu cầu Hợp thức hóa yêu cầu CuuDuongThanCong.com https://fb.com/tailieudientucntt Phân tích đặc tả u cầu Phân tích đặc tả u cầu tiến trình xác định: dịch vụ/chức mà khách hàng yêu cầu từ hệ thống ràng buộc mà hệ thống ñược phát triển vận hành Yêu cầu Một yêu cầu từ phát biểu mức trừu tượng cao dịch vụ hay hệ thống cho ñến đặc tả tốn học chi tiết u cầu lực phần mềm mà người sử dụng cần ñể giải vấn ñề ñặt nhằm ñạt ñược mục ñích xác ñịnh lực phần mềm cần có nhằm thỏa mãn hợp đồng, chuẩn, ñặc tả CuuDuongThanCong.com https://fb.com/tailieudientucntt Các loại yêu cầu Yêu cầu người sử dụng phát biểu ngơn ngữ tự nhiên (và sơ đồ) dịch vụ ràng buộc mà hệ thống cung cấp dành cho khách hàng Yêu cầu hệ thống tài liệu có cấu trúc mô tả chi tiết dịch vụ hệ thống hợp ñồng khách hàng người phát triển ðặc tả phần mềm mô tả chi tiết phần mềm, nhằm phục vụ cho thiết kế, mã hóa dành cho người phát triển Người đọc u cầu Us er req uirements Client man agers System end-us ers Client en gineers Contractor managers System architects System requ irements System end-us ers Client en gineers System architects Software d ev elopers Software design specificatio n Client en gineers (perh aps) System architects Software d ev elopers CuuDuongThanCong.com https://fb.com/tailieudientucntt Yêu cầu chức phi chức Yêu cầu chức phát biểu dịch vụ/chức mà hệ thống cần cung cấp • hệ thống cần trả lời kiện hay liệu vào Yêu cầu phi chức ràng buộc dịch vụ/chức hệ thống • thời gian • tiến trình phát triển • chuẩn Yêu cầu chức Mô tả chức hệ thống Ví dụ Người sử dụng tìm kiếm tài liệu dựa từ khóa chứa tài liệu tên tài liệu Hệ thống cần cung cấp cho người sử dụng phương tiện hiển thị dễ dàng tài liệu từ CSDL Hệ thống phải ñọc ñược ñịnh dạng khác tài liệu: văn (text), pdf, doc, bảng tính Excel CuuDuongThanCong.com https://fb.com/tailieudientucntt u cầu chức Sự khơng xác u cầu u cầu khơng phát biểu xác u cầu nhập nhằng hiểu cách khác người sử dụng người phát triển Ví dụ “hiển thị dễ dàng” • người sử dụng: loại tài liệu khác • người phát triển: cung cấp giao diện hiển thị tài liệu chế ñộ văn Yêu cầu chức Trên nguyên tắc, yêu cầu phải thỏa mãn: ñầy đủ • u cầu phải mơ tả đầy đủ chức cần thiết gắn bó • u cầu chức phải không mâu thuẩn lẫn Trong thực tế khơng đơn giản để có u cầu đầy đủ gắn bó q trình phát triển, vấn ñề ñược phát chỉnh sửa yêu cầu 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Yêu cầu phi chức ðịnh nghĩa tính chất ràng buộc hệ thống u cầu tiến trình • phương pháp thiết kế • ngơn ngữ lập trình • cơng cụ cử dụng thời gian trả lời ñộ tin cậy yêu cầu lưu trữ liệu Yêu cầu phi chức quan trọng yêu cầu chức u cầu phi chức khơng đáp ứng, hệ thống trở nên vô dụng 11 Yêu cầu phi chức Yêu cầu sản phẩm yêu cầu ñặc tả sản phẩm làm phải ñáp ứng: tốc ñọ thực thi, ñộ tin cậy Yêu cầu tổ chức yêu cầu sách tổ chức như: tiến trình phát triển áp dụng, u cầu cài đặt, u cầu bên ngồi u cầu đến từ u tố bên ngồi hệ thống tiến trình phát triển: yêu cầu khả tương tác, ñạo ñức, 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt Yêu cầu phi chức No n-fu nctio nal requ ir ements Pro du ct requ ir ements Ef ficiency requ ir ement s Reliability requ ir ements Us ab ilit y requirements Or g an izatio nal requ ir ements Po rtability requ irement s Delivery requ irements Perfo rmance requirements Intero perability requirements Implementatio n requ ir ements Sp ace requ ir ement s Ex ternal requ irement s Ethical requ irement s Stand ards requ irements Leg islative requ irements Priv acy requ irements Safety requ irements 13 Yêu cầu phi chức Ví dụ u cầu sản phẩm • phần mềm nên yêu cầu tối ña 256 MB nhớ u cầu tổ chức • tiến trình phát triển phải đáp ứng chuẩn DO178 u cầu bên ngồi • hệ thơng khơng để lộ thơng tin cá nhân khách hàng 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt Yêu cầu phi chức ðo lường yêu cầu Property Speed Size Ease of use Reliability Robustness Portability Measure Processed transactions/second User/Event response time Screen refresh time K Bytes Number of RAM chips Training time Number of help frames Mean time to failure Probability of unavailability Rate of failure occurrence Availability Time to restart after failure Percentage of events causing failure Probability of data corruption on failure Percentage of target dependent statements Number of target systems 15 Yêu cầu người sử dụng (user requirements) nên mô tả yêu cầu chức yêu cầu phi chưc dễ hiểu ñối với người sử dụng khơng có kiến thức chi tiết kỹ thuật/tin học u cầu người sử dụng nên mơ tả bởi: ngơn ngữ tự nhiên biểu đồ, bảng biểu 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ngơn ngữ tự nhiên Ưu điểm dễ hiểu dễ sử dụng Hạn chế khơng rỏ ràng, thiếu xác nhập nhằng lẫn lộn yêu cầu chức yếu cầu phi chức mềm dẻo • trình bày nhiều cách 17 Các giải pháp thay cho ngơn ngữ tự nhiên Ngơn ngữ có cấu trúc sử dụng ngơn ngữ gần với ngơn ngữ lập trình Các mơ hình ký hiệu đồ họa Ký hiệu tốn học ngơn ngữ hình thức 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt Yêu cầu hệ thống (system requirements) ñặc tả chi tiết yêu cầu người sử dụng phục vụ cho bước thiết kế sử dụng làm phần hợp đồng sử dụng mơ hình để mơ tả 19 Tài liệu đặc tả yêu cầu Tài liệu ñặc tả yêu cầu phát biểu thức hệ thống cần xây dựng Khơng phải tài liệu thiết kế Xác định hệ thống cần làm (WHAT) Khơng trả lời câu hỏi làm (HOW) 20 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tài liệu ñặc tả yêu cầu Người sử dụng 21 S y s t e m c u s to m e r s S p e c i f y t h e r e q u ir e m e n ts a n d r e a d th e m to c h e c k t h a t t h e y m e e t th e ir n e e d s T h e y s p e c if y c h a n g e s t o th e r e q u ir e m e n ts M a na g e rs U s e t he req ui re m ent s d o c u m e n t to p l a n a b i d f o r t h e s y s te m a n d to p l a n th e s y s t e m d e v e lo p m e n t p r o c e s s S y s t e m e n g in e e r s U s e t h e r e q u i r e m e n t s to u n d e r s ta n d w h a t s y s te m i s to b e d e v e lo p e d S y s t e m te s t e n g in e e r s U s e t h e r e q u i r e m e n t s to d ev e lo p v a l id a ti o n te s ts f o r t h e s y s te m S y st e m m a in te n a n c e e n g in e e r s U s e t h e r e q u i r e m e n t s to h e l p u n d er s ta n d th e s y s t e m a n d t h e r e l a ti o n s h ip s b e tw e e n it s p ar t s Tài liệu ñặc tả yêu cầu Các yêu cầu tài liệu ñặc tả yêu cầu ñặc tả hành vi bên ngồi hệ thống đặc tả ràng buộc cài ñặt (mã hóa) dễ dàng thay ñổi sử dụng cơng cụ tham khảo bảo trì dự báo thời gian sống hệ thống (dự báo thay ñổi) ñặc tả trả lời kiện không mong ñợi 22 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt Cấu trúc tài liệu ñặc tả yêu cầu Giới thiệu Thuật ngữ ðịnh nghĩa yêu cầu người sử dụng Kiến trúc hệ thống ðặc tả u cầu hệ thống Mơ hình hệ thống Phát triển/thay ñổi hệ thống Phụ lục Chỉ mục 23 Cấu trúc tài liệu ñặc tả yêu cầu – theo chuẩn IEEE 1.1 1.2 1.3 Introduction Purpose Document Conventions Intended Audience and Reading Suggestions 1.4 1.5 2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.1 3.2 3.3 3.4 Product Scope References Overall Description Product Perspective Product Functions User Classes and Characteristics Operating Environment Design and Implementation Constraints User Documentation Assumptions and Dependencies External Interface Requirements User Interfaces Hardware Interfaces Software Interfaces Communications Interfaces System Features 4.1 System Feature 4.2 System Feature (and so on) Other Nonfunctional Requirements 5.1 Performance Requirements 5.2 Safety Requirements 5.3 Security Requirements 5.4 Software Quality Attributes 5.5 Business Rules Other Requirements Appendix A: Glossary Appendix B: Analysis Models Appendix C: To Be Determined List Chi tiết 24 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các bước phân tích đặc tả u cầu Phân tích tốn Thu thập u cầu Phân tích yêu cầu ðặc tả yêu cầu Hợp thức hóa yêu cầu 25 Phân tích tốn Mơ tả nghiệp vụ mô tả luồng nghiệp vụ, xử lý vai trò người hệ thống hiểu ñược nghiệp vụ chủ yếu tập trung vào vùng cần tự động hóa hỗ trợ cho việc xác ñịnh thay ñổi cải tiến yêu cầu hệ thống 26 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phân tích tốn Mơ tả hệ thống mơ tả hệ thống đề xuất • mơ tả luồng thơng tin hệ thống đề xuất mơi trường đáp ứng mô tả nghiệp vụ cải tiến nghiệp vụ dựa mô tả nghiệp vụ 27 Thu thập u cầu Khẳng định tính khả thi hệ thống ñề xuất khả thi kinh tế khả thi kỹ thuật khả thi vận hành Xác ñịnh người liên quan ñến hệ thống nhường người sử dụng cuối Xác ñịnh ràng buộc sử dụng hệ thống ñề xuất 28 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt Thu thập yêu cầu Xác ñịnh các phương pháp thu thập u ví dụ: vấn Xác định u cầu nhập nhằng sử dụng kỹ thuật nguyên mẫu Xác ñịnh yêu cầu khác, mà khách hàng khơng u cầu rỏ ví dụ: giao diện dễ sử dụng 29 Thu thập yêu cầu Kết bước thu thập yêu cầu Phát biểu cần thiết tính khả thi Giới hạn lĩnh vực/chức phần mềm Danh sách người liên quan, người sử dụng cuối Mô tả môi trường mà phần mềm vận hành Danh sách yêu cầu phần mềm ñề xuất Các ràng buộc phần mềm ñề xuất 30 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt Thu thập yêu cầu Các kỹ thuật thu thập yêu cầu Phỏng vấn khách hàng Thực hội thảo/thảo luận Chuẩn bị bảng câu hỏi ñiều tra Quan sát hoạt ñộng nghiệp vụ Tham khảo chuyên gia lĩnh vực 31 Thu thập yêu cầu Phỏng vấn khách hàng (1) hiểu rỏ nghiệp vụ hiểu rỏ chi tiết yêu cầu hiểu rỏ mong muốn thực khách hàng nên ñặt câu hỏi ngắn gọn câu hỏi tập trung vào việc hiểu u cầu Ví dụ • Những sử dụng hệ thống ? • Kết chức ? 32 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt Thu thập yêu cầu Phỏng vấn khách hàng (2) hoạt động cần thiết cho vấn • xác định rỏ người cần vấn • chuẩn bị sẵn câu hỏi • tìm hiểu lĩnh vực hoạt ñộng hệ thống, khách hàng • ghi nhận câu hỏi trình vấn 33 Thu thập yêu cầu Thực hội thảo/thảo luận tập hợp khách hàng, người liên quan ñến hệ thống tổ chức buổi thảo luận trình bày yêu cầu hệ thống cần phát triển • khách hàng có hiểu u cầu ? khuyến khích ý kiến khách hàng 34 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt Thu thập yêu cầu Chuẩn bị bảng câu hỏi ñiều tra Chuẩn bị sẵn bảng câu hỏi • • • • chức mong đợi thời gian u cầu hồn thành dự án kết tiến trình nghiệp vụ hỏi ñược nhiều người Quan sát hoạt ñộng nghiệp vụ ñến nơi làm việc khách hàng quan sát quay phim nghiệp vụ Tham khảo chuyên gia lĩnh vực hiểu rỏ nghiệp vụ chuyên mơn phức tạp 35 Phân tích u cầu Phân loại yêu cầu chức phi chức Yêu cầu chức xuất phát từ yêu cầu khách hàng nghiệp vụ hệ thống Yêu cầu phi chức thường không lộ rõ thường người phát triển ñề xuất 36 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt ðặc tả yêu cầu Mô tả chi tiết yêu cầu phân tích Có thể sử dụng cấu trúc tài liệu ñặc tả yêu cầu khác chẳng hạn cấu trúc IEEE Tuy nhiên, phải chứa thơng tin định nghĩa hệ thống phần mềm mục đích tài liệu ñặc tả yêu cầu giới hạn hệ thống phần mềm yêu cầu chức yêu cầu phi chức điều kiện mà hệ thống ñề xuất vận hành 37 Hợp thức hóa yêu cầu Chỉ yêu cầu thực khách hàng cần Lỗi bước ñặc tả yêu cầu chi phí lớn chi phí sửa lỗi u cầu sau giao sản phẩm lớn gấp 100 lần lỗi cài ñặt Kỹ thuật nguyên mẫu hiệu để hợp thức hóa u cầu 38 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hợp thức hóa yêu cầu Kiểm tra tính chất Hợp lệ • hệ thống phần mềm có cung cấp chức hỗ trợ tốt cho khách hàng ? Chắc chắn • có u cầu mâu thuẩn ? ðầy đủ • tất yêu cầu khách hàng ñã ñược ñặc tả ? Thực tế • tất yêu cầu thực với cơng nghệ ngân sách ? 39 Hợp thức hóa yêu cầu Thẩm ñịnh yêu cầu (reviews) Thường xuyên thẩm ñịnh yêu cầu Cả khách hàng người phát triển ñều phải thẩm định u cầu Thẩm định tổ chức hình thức khơng hình thức Trao đổi người phát triển, khách hàng người sử dụng cuối giải sớm khó khăn 40 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... 23 Cấu trúc tài liệu ñặc tả yêu cầu – theo chuẩn IEEE 1.1 1.2 1 .3 Introduction Purpose Document Conventions Intended Audience and Reading Suggestions 1.4 1.5 2.1 2.2 2 .3 2.4 2.5 2.6 2.7 3. 1 3. 2... hạn lĩnh vực/chức phần mềm Danh sách người liên quan, người sử dụng cuối Mô tả môi trường mà phần mềm vận hành Danh sách yêu cầu phần mềm ñề xuất Các ràng buộc phần mềm ñề xuất 30 15 CuuDuongThanCong.com... Conventions Intended Audience and Reading Suggestions 1.4 1.5 2.1 2.2 2 .3 2.4 2.5 2.6 2.7 3. 1 3. 2 3. 3 3. 4 Product Scope References Overall Description Product Perspective Product Functions User Classes