Bài giảng Phân tích và đặc tả yêu cầu

Tài liệu Bài giảng Phân tích và đặc tả yêu cầu: 1Phõn tớch và ủặc tả yờ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 2 Nội dung  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 23 Phõn tớch và ủặc tả yờu cầu  Phõn tớch và ủặc tả yờu cầu là tiến trỡnh xỏc ủịnh:  cỏc dịch vụ/chức năng mà khỏch hàng yờu cầu từ hệ thống  cỏc ràng buộc mà hệ thống ủược phỏt triển và vận hành 4 Yờu cầu là gỡ  Một yờu cầu cú thể là từ một phỏt biểu mức trừu tượng rất cao về dịch vụ hay hệ thống cho ủến một ủặc tả toỏn học rất chi tiết  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ết vấn ủề ủặt ra nhằm ủạt ủược mục ủớch xỏc ủịnh  nă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ả 35 Cỏc loại yờu cầu  Yờu cầu người sử dụng  cỏc phỏt biểu...

pdf20 trang | Chia sẻ: hunglv | Lượt xem: 1325 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Phân tích và đặc tả yêu cầu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1Phân tích và đặc tả yê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 2 Nội dung  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 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 23 Phân tích và đặc tả yêu cầu  Phân tích và đặc tả yêu cầu là tiến trình xác định:  các dịch vụ/chức năng mà khách hàng yêu cầu từ hệ thống  các ràng buộc mà hệ thống được phát triển và vận hành 4 Yêu cầu là gì  Một yêu cầu cĩ thể là từ một phát biểu mức trừu tượng rất cao về dịch vụ hay hệ thống cho đến một đặc tả tốn học rất chi tiết  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ết vấn đề đặt ra nhằm đạt được mục đích xác định  nă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ả 35 Các loại yêu cầu  Yêu cầu người sử dụng  các phát biểu bằng ngơn ngữ tự nhiên (và các sơ đồ) về dịch vụ 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 các dịch vụ của hệ thống  là hợp đồng giữa khách hàng và người phát triển  ðặc tả phần mềm  mơ tả chi tiết về 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 6 Người đọc yêu cầu Client managers System end-users Client engineers Contractor managers System architects System end-users Client engineers System architects Software developers Client engineers (perhaps) System architects Software developers User requirements System requirements Software design specification 47 Yêu cầu chức năng và phi chức năng  Yêu cầu chức năng  phát biểu về các dịch vụ/chức năng mà hệ thống cần cung cấp • hệ thống cần trả lời các sự kiện hay dữ liệu vào như thế nào  Yêu cầu phi chức năng  các ràng buộc trên các dịch vụ/chức năng của hệ thống • thời gian • tiến trình phát triển • chuẩn... 8 Yêu cầu chức năng  Mơ tả chức năng của hệ thống  Ví dụ  Người sử dụng cĩ thể tìm kiếm các tài liệu dựa trên từ khĩa chứa trong tài liệu hoặc 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 các tài liệu từ CSDL  Hệ thống phải đọc được các định dạng khác nhau của tài liệu: văn bản (text), pdf, .doc, bảng tính Excel 59 Yêu cầu chức năng  Sự 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 các cách khác nhau bởi người sử dụng và người phát triển  Ví dụ “hiển thị dễ dàng” • người sử dụng: cĩ thể hiện các loại tài liệu khác nhau • người phát triển: cung cấp giao diện hiển thị tài liệu ở chế độ văn bản 10 Yêu cầu chức năng  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ết  gắn bĩ • các yêu cầu chức năng phải khơng mâu thuẩn lẫn nhau  Trong thực tế  khơng đơn giản để cĩ được yêu cầu đầy đủ và gắn bĩ  cĩ thể trong quá trình phát triển, các vấn đề được phát hiện và chỉnh sửa yêu cầu 611 Yêu cầu phi chức năng  ðịnh nghĩa các tính chất và ràng buộc của hệ thống  yê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 về lưu trữ dữ liệu  Yêu cầu phi chức năng cĩ thể quan trọng hơn yêu cầu chức năng  nếu yêu cầu phi chức năng khơng được đáp ứng, hệ thống trở nên vơ dụng 12 Yêu cầu phi chức năng  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 ngồi  yêu cầu đến từ các yêu tố bên ngồ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 ngồ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 tố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 ngồ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 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 26 Phân tích bài tố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 tố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 hồ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

Các file đính kèm theo tài liệu này:

  • pdf3-YeuCau.pdf