Công nghệ phần mềm - Phân tích và đặc tả yêu cầu
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
Phân tích bài toá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
g Yêu cầu về sản phẩm yêu cầu ñặc tả sản phẩm làm ra phải ñáp ứng: tốc ñọ thực thi, ñộ tin cậy... Yêu cầu về tổ chức yêu cầu là các chính sách về tổ chức như: tiến trình phát triển áp dụng, yêu cầu cài ñặt, Yêu cầu bên ngoài yêu cầu ñến từ các yêu tố bên ngoài hệ thống và tiến trình phát triển: yêu cầu về khả năng tương tác, về ñạo ñức, .. 713 Yêu cầu phi chức năng Performance requirements Space requir ements Usability requirements Ef ficiency requir ements Reliability requir ements Portability requirements Interoperability requirements Ethical requirements Legislative requirements Implementation requir ements Standards requirements Delivery requirements Safety requirements Privacy requirements Product requir ements Or ganizational requir ements External requirements Non-functional requir ements 14 Yêu cầu phi chức năng Ví dụ Yêu cầu về sản phẩm • phần mềm chỉ nên yêu cầu tối ña 256 MB bộ nhớ Yêu cầu về tổ chức • tiến trình phát triển phải ñáp ứng chuẩn DO178 Yêu cầu bên ngoài • hệ thông không ñược ñể lộ thông tin cá nhân của khách hàng 815 Yêu cầu phi chức năng ðo lường yêu cầu Property Measure Speed Processed transactions/second User/Event response time Screen refresh time Size K Bytes Number of RAM chips Ease of use Training time Number of help frames Reliability Mean time to failure Probability of unavailability Rate of failure occurrence Availability Robustness Time to restart after failure Percentage of events causing failure Probability of data corruption on failure Portability Percentage of target dependent statements Number of target systems 16 Yêu cầu người sử dụng (user requirements) nên mô tả yêu cầu chức năng yêu cầu phi chưc năng dễ hiểu ñối với người sử dụng không có kiến thức chi tiết về kỹ thuật/tin học yêu cầu người sử dụng nên ñược mô tả bởi: ngôn ngữ tự nhiên biểu ñồ, bảng biểu 917 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 chính xác nhập nhằng lẫn lộn giữa yêu cầu chức năng và yếu cầu phi chức năng quá mềm dẻo • trình bày nhiều cách 18 Các giải pháp thay thế 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 các ký hiệu ñồ họa Ký hiệu toán học ngôn ngữ hình thức 10 19 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ụng phụ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 ñồng có thể sử dụng các mô hình ñể mô tả 20 Tài liệu ñặc tả yêu cầu Tài liệu ñặc tả yêu cầu là các phát biểu chính thức về hệ thống cần xây dựng Không phải là tài liệu thiết kế Xác ñịnh hệ thống cần làm cái gì (WHAT) Không trả lời câu hỏi làm như thế nào (HOW) 11 21 Tài liệu ñặc tả yêu cầu Người sử dụng 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 U s e t h e r e q u i r e m e n t 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 sy st e m d e v e lo p m e n t p r o c e s 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 st e m te s t e n g in e e r s M a n a g e r s S y st e m e n g in e 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 S y st e m c u s to m 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 sy st e m a n d t h e r e l a ti o n sh ip s b e tw e e n it s p ar t s S y st e m m a in te n a n c e e n g in e e r s 22 Tài liệu ñặc tả yêu cầu Các yêu cầu của một tài liệu ñặc tả yêu cầu ñặc tả các hành vi bên ngoài của hệ thống ñặc tả các ràng buộc cài ñặt (mã hóa) dễ dàng thay ñổi sử dụng như là công cụ tham khảo khi bảo trì dự báo thời gian sống của hệ thống (dự báo thay ñổi) ñặc tả trả lời các sự kiện không mong ñợi 12 23 Cấu trúc của 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ả yêu cầu hệ thống Mô hình hệ thống Phát triển/thay ñổi của hệ thống Phụ lục Chỉ mục 24 Cấu trúc của tài liệu ñặc tả yêu cầu – theo chuẩn IEEE 1. Introduction 1.1 Purpose 1.2 Document Conventions 1.3 Intended Audience and Reading Suggestions 1.4 Product Scope 1.5 References 2. Overall Description 2.1 Product Perspective 2.2 Product Functions 2.3 User Classes and Characteristics 2.4 Operating Environment 2.5 Design and Implementation Constraints 2.6 User Documentation 2.7 Assumptions and Dependencies 3. External Interface Requirements 3.1 User Interfaces 3.2 Hardware Interfaces 3.3 Software Interfaces 3.4 Communications Interfaces Chi tiết 4. System Features 4.1 System Feature 1 4.2 System Feature 2 (and so on) 5. Other Nonfunctional Requirements 5.1 Performance Requirements 5.2 Safety Requirements 5.3 Security Requirements 5.4 Software Quality Attributes 5.5 Business Rules 6. Other Requirements Appendix A: Glossary Appendix B: Analysis Models Appendix C: To Be Determined List 13 25 Các bước phân tích và ñặc tả yêu cầu Phân tích bài toá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 26 Phân tích bài toán Mô tả nghiệp vụ mô tả các luồng nghiệp vụ, các xử lý và vai trò của con người trong hệ thống hiện tại hiểu ñược nghiệp vụ chủ yếu tập trung vào các vùng cần tự ñộng hóa hỗ trợ cho việc xác ñịnh các thay ñổi và cải tiến yêu cầu trong hệ thống mới 14 27 Phân tích bài toán Mô tả hệ thống mô tả hệ thống ñề xuất • mô tả luồng thông tin giữa hệ thống ñề xuất và môi trường của nó ñáp ứng ñược mô tả nghiệp vụ cải tiến nghiệp vụ hiện tại dựa trên mô tả nghiệp vụ hiện tại 28 Thu thập yêu cầu Khẳng ñịnh tính khả thi của hệ thống ñề xuất khả thi về kinh tế khả thi về kỹ thuật khả thi về vận hành Xác ñịnh những người liên quan ñến hệ thống và nhường người sử dụng cuối Xác ñịnh các ràng buộc khi sử dụng hệ thống ñề xuất 15 29 Thu thập yêu cầu Xác ñịnh các các phương pháp thu thập yêu ví dụ: phỏng vấn Xác ñịnh các yêu cầu nhập nhằng có thể sử dụng kỹ thuật nguyên mẫu Xác ñịnh các yêu cầu khác, mà khách hàng không yêu cầu rỏ ví dụ: giao diện dễ sử dụng 30 Thu thập yêu cầu Kế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ả thi Giới hạn lĩnh vực/chức năng của 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 sẽ vận hành Danh sách các yêu cầu của phần mềm ñề xuất Các ràng buộc của phần mềm ñề xuất 16 31 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 hiện các hội thảo/thảo luận Chuẩn bị các bảng câu hỏi ñiều tra Quan sát hoạt ñộng nghiệp vụ hiện tại Tham khảo các chuyên gia trong lĩnh vực 32 Thu thập yêu cầu Phỏng vấn khách hàng (1) hiểu rỏ nghiệp vụ hiện tại hiểu rỏ chi tiết của yêu cầu hiểu rỏ mong muốn thực sự của khách hàng nên ñặt các câu hỏi ngắn gọn câu hỏi tập trung vào việc hiểu yêu cầu Ví dụ • Những ai sử dụng hệ thống ? • Kết quả của chức năng này là gì ? 17 33 Thu thập yêu cầu Phỏng vấn khách hàng (2) các hoạt ñộng cần thiết cho phỏng vấn • xác ñịnh rỏ những người cần phỏng vấn • chuẩn bị sẵn các câu hỏi • tìm hiểu về lĩnh vực hoạt ñộng của hệ thống, của khách hàng • ghi nhận các câu hỏi trong quá trình phỏng vấn 34 Thu thập yêu cầu Thực hiện các hội thảo/thảo luận tập hợp khách hàng, những người liên quan ñến hệ thống tổ chức các buổi thảo luận trình bày các yêu cầu của hệ thống cần phát triển • khách hàng có hiểu yêu cầu ? khuyến khích ý kiến của khách hàng 18 35 Thu thập yêu cầu Chuẩn bị các bảng câu hỏi ñiều tra Chuẩn bị sẵn bảng các câu hỏi • chức năng mong ñợi • thời gian yêu cầu hoàn thành dự án • kết quả của một tiến trình nghiệp vụ • hỏi ñược nhiều người Quan sát hoạt ñộng nghiệp vụ hiện tại ñến nơi làm việc của khách hàng và quan sát quay phim các nghiệp vụ Tham khảo các chuyên gia trong lĩnh vực hiểu rỏ các nghiệp vụ chuyên môn phức tạp 36 Phân tích yêu cầu Phân loại các yêu cầu chức năng phi chức năng Yêu cầu chức năng xuất phát từ các yêu cầu của khách hàng và nghiệp vụ trong hệ thống hiệ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 19 37 ðặc tả yêu cầu Mô tả chi tiết các yêu cầu ñã phân tích Có thể sử dụng các cấu trúc tài liệu ñặc tả yêu cầu khác nhau chẳng hạn cấu trúc IEEE Tuy nhiên, phải chứa ít nhất các 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 của hệ thống phần mềm yêu cầu chức năng yêu cầu phi chức năng các ñiều kiện mà trong ñó hệ thống ñề xuất sẽ vận hành 38 Hợp thức hóa yêu cầu Chỉ ra rằng các yêu cầu thực sự là cái khách hàng cần Lỗi ở bước ñặc tả yêu cầu chi phí rất lớn chi phí sửa một lỗi yêu cầu sau khi ñã giao sản phẩm có thể lớn gấp 100 lần lỗi cài ñặt Kỹ thuật nguyên mẫu rất hiệu quả ñể hợp thức hóa yêu cầu 20 39 Hợp thức hóa yêu cầu Kiểm tra các tính chất Hợp lệ • hệ thống phần mềm có cung cấp các chức năng hỗ trợ tốt nhất cho khách hàng ? Chắc chắn • có các yêu cầu nào mâu thuẩn nhau ? ðầy ñủ • tất cả các yêu cầu của khách hàng ñã ñược ñặc tả ? Thực tế • tất cả các yêu cầu có thể thực hiện với công nghệ và ngân sách hiện tại ? 40 Hợp thức hóa yêu cầu Thẩm ñịnh các yêu cầu (reviews) Thường xuyên thẩm ñịnh yêu cầu Cả khách hàng và người phát triển ñều phải thẩm ñịnh yêu cầu Thẩm ñịnh có thể tổ chức hình thức hoặc không hình thức Trao ñổi giữa người phát triển, khách hàng và người sử dụng cuối có thể giải quyết sớm các khó khăn
File đính kèm:
- 3_YeuCau.pdf