SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Công cụ và môi trường phát triển phần mềm




                             Tổng quan về xác định
                              yêu cầu người dùng



Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                               1
Mục tiêu

      w Tìm hiểu các khái niệm cơ bản về xác định yêu cầu người dùng
        và tác dụng của chúng lên Phân tích và Thiết kế
      w Tìm hiểu cách ghi nhận và diễn dịch các yêu cầu của người
        dùng, là những thông tin được dùng để bắt đầu việc phân tích
        và thiết kế




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         2
Các chủ đề

      w      Giới thiệu
      w      Các khái niệm chính
      w      Phát biểu bài toán
      w      Bảng chú giải
      w      Use-Case Model
      w      Các đặc tả bổ sung
      w      Checkpoints




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         3
Các yêu cầu người dùng trong ngữ cảnh
                                                      Inception Elaboration            Construction         Transition

                                     Requirements
                                 Analysis & Design
                                              Test
                     Configuration & Change Mgmt
                                      Management
                                      Environment
                                                     Preliminary    Iter.   Iter.   Iter.    Iter. Iter.   Iter.    Iter.
                                                     Iteration(s)    #1      #2      #n     #n+1 #n+2      #m      #m+1

          Mục đích của bước xác định yêu cầu người dùng là:
                   • Ði đến thỏa thuận với khách hàng và người dùng về các chức năng của hệ
                     thống (những gì hệ thống phải thực hiện).
                   • Cho phép các nhà phát triển hệ thống (system developer) hiểu rõ hơn các yêu
                     cầu đối với hệ thống.
                   • Phân định các ranh giới của hệ thống.
                   • Cung cấp cơ sở để hoạch định nội dung kỹ thuật của các vòng lặp.
                   • Xác định giao diện người dùng cho hệ thống.
Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                                     4
Các dạng thông tin về yêu cầu người dùng

                         Use-Case Model




                                                                  Bảng chú giải
                                 Actors
                                             Các Use Case




                                                   ...
                                                                Các đặc tả bổ sung

                                           Use-Case Reports


Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                                          5
Các chủ đề

      w      Giới thiệu
      w      Các khái niệm chính
      w      Phát biểu bài toán
      w      Bảng chú giải
      w      Use-Case Model
      w      Các đặc tả bổ sung
      w      Checkpoints




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         6
Khái niệm trong Use-Case Modeling: Actor




                                                  Actor (Tác nhân)




                                           Các Actor nằm BÊN NGOÀI hệ thống


Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                                       7
Actor Generalization (Tổng quát hóa)




                                                       Student




                                           Full-Time             Part-Time
                                            Student               Student




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                                         8
Một User có thể có nhiều Vai trò (Role)



                                                                    Charlie có vai trò như
                                                                       một sinh viên




                                      Charlie



                                                                          Student
                                Charlie có vai trò như
                                    một giáo su
                                                             Professor



Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                                       9
Actors và giới hạn hệ thống (System Boundary)




                                                                        Bank System
                                                                                      System
        Customer
                                                                                      boundary?
                                                      ATM System


                                       Bank Teller
                                     người thu ngân




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                                                 10
Khái niệm trong Use-Case Modeling: Use-Case




                                           Use-Case




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                             11
Các Package trong Use-Case Model




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         12
Các chủ đề

      w      Giới thiệu
      w      Các khái niệm chính
      w      Phát biểu bài toán (Problem Statement)
      w      Bảng chú giải
      w      Use-Case Model
      w      Các đặc tả bổ sung
      w      Checkpoints




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         13
Ví dụ: Course Registration Problem Statement

 w Là người phụ trách Tin học của trường Đại học KHTN, bạn được yêu cầu
   phát triển một hệ thống đăng ký học phần mới. Hệ thống mới cho phép sinh
   viên đăng ký học phần và xem phiếu điểm từ bất kì máy tính cá nhân nào
   được kết nối vào mạng nội bộ của trường. Các giáo sư cũng có thể truy cập
   hệ thống này để đăng ký lớp dạy và nhập điểm cho các môn học.
 w Do kinh phí bị giảm nên trường không đủ khả năng thay đổi toàn bộ hệ
   thống trong cùng một lúc. Trường sẽ giữ lại cơ sở dữ liệu (CSDL) sẵn có về
   danh mục học phần mà trong đó lưu trữ toàn bộ thông tin về các học phần.
   Đây là một CSDL quan hệ và có thể truy cập bằng các câu lệnh SQL thông
   qua các server của trường. Hiệu suất của hệ thống cũ này rất kém nên hệ
   thống mới phải bảo đảm truy cập dữ liệu trên hệ thống cũ một cách hợp lý
   hơn. Hệ thống mới sẽ đọc các thông tin học phần trên CSDL cũ nhưng sẽ
   không cập nhật chúng. Phòng Đào tạo sẽ tiếp tục duy trì thông tin các học
   phần thông qua một hệ thống khác.
 w Ở đầu mỗi học kỳ, sinh viên có thể yêu cầu danh sách các học phần được
   mở trong học kì đó. Thông tin về mỗi học phần, ví dụ như tên giáo sư,
   khoa,các học phần tiên quyết sẽ được cung cấp để giúp sinh viên chọn lựa.


Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         14
Ví dụ: Course Registration Problem Statement

 w Hệ thống mới cho phép sinh viên chọn bốn học phần được mở trong học kỳ
   tới. Thêm vào đó mỗi sinh viên có thể đưa ra hai môn học thay thế trong
   trường hợp không thể đăng ký theo nguyện vọng chính. Các học phần được
   mở có tối đa là là 100 và tối thiểu là 30 sinh viên. Các học phần có ít hơn 30
   sinh viên sẽ bị hủy. Đầu mỗi học kỳ, sinh viên có một khoảng thời gian để
   thay đổi các học phần đã đăng ký. Sinh viên chỉ có thể thêm hoặc hủy học
   phần đã đăng ký trong khoảng thời gian này. Khi quá trình đăng ký hoàn tất
   cho một sinh viên, hệ thống đăng ký sẽ gửi thông tin tới hệ thống thanh toán
   (billing system) để sinh viên có thể đóng học phí. Nếu một lớp bị hết chỗ
   trong quá trình đăng ký, sinh viên sẽ được thông báo về sự thay đổi trước
   khi xác nhận việc đăng ký học phần.
 w Ở cuối học kỳ, sinh viên có thể truy cập vào hệ thống để xem phiếu điểm.
   Bởi vì thông tin về điểm của mỗi sinh viên cần được giữ kín, nên hệ thống
   cần có cơ chế bảo mật để ngăn chặn những truy cập không hợp lệ.
 w Các giáo sư có thể truy cập vào hệ thống để đăng ký những học phần mà
   họ sẽ dạy. Họ có thể xem danh sách các sinh viên đã đăng ký vào lớp của
   họ, cũng như nhập điểm sau mỗi khóa học.


Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         15
Các chủ đề

      w      Giới thiệu
      w      Các khái niệm chính
      w      Phát biểu bài toán
      w      Bảng chú giải
      w      Use-Case Model
      w      Các đặc tả bổ sung
      w      Checkpoints




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         16
Từ điển thuật ngữ (Glossary)

      w Giới thiệu
      w Bảng chú giải




                                                Glossary




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         17
Ví dụ: Glossary

 w Bảng chú giải của ứng dụng “Course Registration”:
 w      Course (Học phần): Một môn học được dạy trong trường.
 w      Course Offering (Lớp): Một lớp học cụ thể được mở trong một học kỳ cụ thể – cùng một học phần
        có thể đuợc mở song song nhiều lớp trong một học kỳ. Thông tin gồm cảc ngày học trong tuần và
        giờ học.
 w      Course Catalog (Danh mục học phần): Danh mục đầy đủ của tất cả các học phần được dạy trong
        trường.
 w      Faculty: Toàn bộ cán bộ giảng dạy của trường..
 w      Finance System (Hệ thống thanh toán): Hệ thống dùng để xử lý các thông tin thanh toán học phí.
 w      Grade (Ðiểm số): Sự đánh giá cho một sinh viên cụ thể trong một lớp cụ thể.
 w      Professor (Giáo sư): Người giảng dạy trong truờng.
 w      Report Card (Phiếu diểm): Toàn bộ điểm số cho tất cả học phần một sinh viên đã học trong một học
        kỳ xác dịnh.
 w      Roster (Danh sách sinh viên đăng ký): Tất cả sinh viên đăng ký vào một lớp học cụ thể.
 w      Student (Sinh viên): Người đăng ký vào học các lớp của trường.
 w      Schedule (Lịch học): Các học phần mà một sinh viên đã chọn học trong học kỳ hiện tại.
 w      Transcript (Bản sao học bạ): Bản sao tất cả điểm số cho tất cả các học phần của một sinh viên cụ
        thể đuợc chuyển cho hệ thống thanh toán để hệ thống này lập hóa đơn cho sinh viên.



Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                                   18
Các chủ đề

      w      Giới thiệu
      w      Các khái niệm chính
      w      Phát biểu bài toán
      w      Bảng chú giải
      w      Use-Case Model
      w      Các đặc tả bổ sung
      w      Checkpoints




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         19
Use-Case Model

      w      Giới thiệu                    Use-Case Model
      w      Survey Description
      w      Use-Case Packages
      w      Use Cases
      w      Actors                              Actors
      w      Relationships                                   Use Cases
      w      Diagrams
      w      Use-Case View

                                                                 ...

                                                          Use-Case Reports



Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                          20
Use-Case Model

      Các Use Case lái
      công việc từ giai
      đoạn phân tích đến                                               Use-Case Model
      kiểm chứng


                                                                              Kiểm tra bởi
                                Hiện thực bởi    Cài đặt bởi




         Design Model                           Implementation Model                         Test Model


Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                                        21
Ví dụ: Use-Case Model: Use-Case Diagram

                                     Login


                                                              Registrar        Maintain Professor Information
                                           View Report Card


  Student
                                                                                Maintain Student Information
                                      Register for Courses



                                                                    Course Catalog
                                                                                      Close Registration        Billing System
                                   Select Courses to Teach

   Professor


                                            Submit Grades


Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                                                        22
Use Case

      w      Tên                           Use-Case Model
      w      Brief description
      w      Luồng các sự kiện
      w      Relationships
      w      Activity và State               Actors
             diagrams                                       Use Cases
      w      Use-Case diagrams
      w      Special requirements
      w      Preconditions
      w      Postconditions                                     ...
      w      Các diagram khác
                                                       Use-Case Reports


Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                            23
Luồng các sự kiện (Use-Case Flows of Events)

      w Của một basic flow (“Happy Path”)
      w Một số alternative flows
         § Các biến thể thường gặp (Regular variants)
         § Các trường hợp bất thường (Odd cases)
               § Exceptional flows xử lý các tình huống lỗi
                                  “Happy Path”




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                               24
Scenarios là gì ?

      w Scenario là một thể hiện của use case




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         25
Ví dụ: Activity Diagram
                                initial state
                                                                    Chọn
                                                                   Course                           Phân nhánh các tác
                       action state                                                                 vụ đồng hành

                                                      Check                           Check
                                                     Schedule                      Pre-requisites


                                                                                                     Kết hợp các tác vụ
                                                                                                     đồng hành

                                            [ checks completed ]           [ checks failed ]

   biểu thức kiểm tra                              Ghi tên vào                    Giải quyết các
                                                    course                          conflict
   (guard expression)
                                           [Sinh viên đã được thêm vào course ]

                                                    Cập nhật
                                                    lịch học
Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                                                    26
Ví dụ: Đặc tả Use-Case

      w Ðiểm lại đặc tả của một use-case hoàn chỉnh được cung cấp
        trong tài liệu, mô tả các yêu cầu của ứng dụng “Course
        Registration”




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         27
Các chủ đề

      w      Giới thiệu
      w      Các khái niệm chính
      w      Phát biểu bài toán
      w      Bảng chú giải
      w      Use-Case Model
      w      Các đặc tả bổ sung
      w      Checkpoints




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         28
Các đặc tả bổ sung

      w      Functionality
      w      Tính khả dụng (Usability)
      w      Tính tinh cậy (Reliability)
      w      Tính hiệu nang(Performance)
      w      Tính hỗ trợ (Supportability)
      w      Các ràng buộc thiết kế
                                                Supplementary
                                                 Specification




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         29
Ví dụ: Các đặc tả bổ sung
 w      Tài liệu tham khảo
         § Không có.
 w      Chức năng
         § Hỗ trợ nhiều người dùng làm việc đồng thời.
         § Nếu một lớp bị hết chỗ khi một sinh viên đang đăng ký học của lớp đó thì sinh viên này phải được thông báo.
 w      Tính khả dụng
         § Giao diện người dùng tương thích Windows 95/98.
 w      Tính ổn định
         § Hệ thống phải hoạt động liên tục 24 giờ/ngày, 7 ngày/tuần, với thời gian ngừng hoạt động không quá 10%.
 w      Hiệu suất
         § Hệ thống phải hỗ trợ đến 2000 người dùng truy xuất CSDL trung tâm đồng thời bất kỳ lúc nào, và đến 500
           người dùng truy xuất các server cục bộ.
         § Hệ thống phải cho phép truy xuất đến CSDL danh mục học phần cũ với độ trễ không quá 10 giây.
         § Hệ thống phải có khả năng hoàn tất 80% giao dịch trong vòng 2 phút.
 w      Sự hỗ trợ
         § Không có.
 w      Tính bảo mật
         § Hệ thống phải ngăn chặn sinh viên thay đổi lịch học của người khác, và ngăn các giáo sư thay đổi lớp dạy của
           giáo sư khác.
         § Chỉ có giáo sư mới có thể nhập điểm cho sinh viên.
         § Chỉ có cán bộ đào tạo mới được phép thay dổi thông tin của sinh viên.
 w      Các ràng buộc thiết kế
         § Hệ thống phải tích hợp với hệ thống có sẵn, Hệ thống danh mục học phần, một CSDL RDBMS.
         § Hệ thống phải cung cấp giao diện dựa trên Windows.


Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                                           30
Các chủ đề

      w      Giới thiệu
      w      Các khái niệm chính
      w      Phát biểu bài toán
      w      Bảng chú giải
      w      Use-Case Model
      w      Các đặc tả bổ sung
      w      Checkpoints




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         31
Checkpoints: Requirements: Use-Case Model

      w Use-case model có dễ hiểu không?
      w Sau khi nghiên cứu use-case model, bạn có hình thành được
        một ý tuởng rõ ràng về các chức năng của hệ thống và cách
        thức mà chúng liên hệ với nhau ?
      w Ðã xác định hết tất cả các actor? Tất cả các yêu cầu chức
        năng được thỏa hay chưa?
      w Use-case model có chứa các hành vi vô dụng nào không?
      w Việc chia model thành các use-case package có xác đáng?




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         32
Checkpoints: Requirements: Actors

      w Ðã xác định hết tất cả các actor?
      w Mỗi actor có tham gia vào ít nhất một use case?
      w Mỗi actor thật sự có một vai trò (role)? Có cần ghép hoặc tách
        các actor không?
      w Có tồn tại 2 actor dùng cùng một vai trò đối với 1 use case
        không?
      w Tên của các actor có gợi nhớ không? Users và customers có
        hiểu tên của chúng?




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         33
Checkpoints: Requirements: Use-Cases

      w Mỗi use case có ít nhất một actor tương tác?
      w Các use case có độc lập với nhau?
      w Tồn tại các use case có các luồng sự kiện và các hành vi tương
        tự nhau không?
      w Liệu các use case có tên duy nhất, gợi nhớ, và dễ hiểu để
        chúng không bị nhầm lẫm trong các giai đoạn sau?
      w Các khách hàng và người dùng có hiểu tên và mô tả của các
        use case không?




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         34
Checkpoints: Requirements:Các đặc tả Use-Case

      w Use case có đủ rõ ràng đối với những người muốn hiên thực?
      w Mục đích của use-case có rõ ràng?
      w Mô tả sơ lược (Brief description) có cho ta hình ảnh trung thực
        của use-case?
      w Có xác định rõ luồng sự kiện của use-case như thế nào và khi
        nào bắt đầu và kết thúc?
      w Chuỗi các giao tiếp giữa actor và use-case có tiện nghi không
        (từ góc nhìn của người dùng)?
      w Các tương tác và các thông tin trao đổi của actor có rõ ràng?
      w Có use-case nào quá phức tạp không?
      w Các luồng sự kiện (basic và alternative) được mô hình đúng
        đắn?



Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         35
Checkpoints: Requirements: Glossary

      w Các thuật ngữ có định nghĩa rõ ràng và súc tích?
      w Mỗi thuật ngữ có dùng đâu đó trong các mô tả use-case?
      w Các thuật ngữ có được sử dụng hợp lý trong các mô tả ngắn về
        các actor và use case?




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         36
Review:

      w      Các thành phần chính của Đặc tả yêu cầu (Requirements)?
      w      Các thành phần của đặc tả yêu cầu được dùng để làm gì?
      w      Use-case model là gì?
      w      Actor là gì?
      w      Use case là gì? Liệt kê một số thuộc tính của use case.
      w      Sự khác nhau giữa use-case và scenario?
      w      Supplementary specification là gì và nó chứa những gì?
      w      Glossary là gì và nó chứa những gì?




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         37
Bài tập:

      w Mơ tả các thành phần chính của Requirements:
         § Problem statement
         § Use-case model main diagram
         § Supplementary specification
         § Glossary
      w Ðiểm lại các thông tin về yêu cầu người dùng được sử dụng
        trong mô hình, ghi chú tất cả các câu hỏi, các vấn dề còn tranh
        cãi, mâu thuẫn




Tổng quan về xác định yêu cầu người dùng
Khoa CNTT - ĐHKHTN                         38

Mais conteúdo relacionado

Semelhante a Ccmtptpm 04 xacdinhyeucau

tnyc-c1-yeucauphanmem-sv.pdf
tnyc-c1-yeucauphanmem-sv.pdftnyc-c1-yeucauphanmem-sv.pdf
tnyc-c1-yeucauphanmem-sv.pdfitexcel
 
Công nghệ yêu cầu requirements engineering (re)
Công nghệ yêu cầu requirements engineering (re)Công nghệ yêu cầu requirements engineering (re)
Công nghệ yêu cầu requirements engineering (re)nataliej4
 
Cmpm chuong 9-14 12-2009
Cmpm   chuong 9-14 12-2009Cmpm   chuong 9-14 12-2009
Cmpm chuong 9-14 12-2009hangk4b
 
Chuong 3 xac_dinh_yeu_cau_he_thong, hệ thống
Chuong 3 xac_dinh_yeu_cau_he_thong, hệ thốngChuong 3 xac_dinh_yeu_cau_he_thong, hệ thống
Chuong 3 xac_dinh_yeu_cau_he_thong, hệ thốngKevin Trieu
 
Chuong 3 xac_dinh_yeu_cau_he_thong
Chuong 3 xac_dinh_yeu_cau_he_thongChuong 3 xac_dinh_yeu_cau_he_thong
Chuong 3 xac_dinh_yeu_cau_he_thongVăn Tịnh Võ
 
Quản lý quy trình phần mềm KHTN
Quản lý quy trình phần mềm KHTNQuản lý quy trình phần mềm KHTN
Quản lý quy trình phần mềm KHTNNguyen Van Toan
 
Giao trinh he_dieu_hanh_tech24_vn[bookbooming.com]
Giao trinh he_dieu_hanh_tech24_vn[bookbooming.com]Giao trinh he_dieu_hanh_tech24_vn[bookbooming.com]
Giao trinh he_dieu_hanh_tech24_vn[bookbooming.com]bookbooming1
 
Ke hoach bai day
Ke hoach bai dayKe hoach bai day
Ke hoach bai dayNIGHTTEAM
 
Kế hoạch bài dạy
Kế hoạch bài dạyKế hoạch bài dạy
Kế hoạch bài dạytanphat08ly
 
Kế hoạch bài dạy
Kế hoạch bài dạyKế hoạch bài dạy
Kế hoạch bài dạyann_nguyen
 
Kế hoạch bài dạy
Kế hoạch bài dạyKế hoạch bài dạy
Kế hoạch bài dạytanphat08ly
 
Kế hoạch bài dạy
Kế hoạch bài dạyKế hoạch bài dạy
Kế hoạch bài dạytanphat08ly
 
K16 cmutcd phanthimyhanh_161136604_srs
K16 cmutcd phanthimyhanh_161136604_srsK16 cmutcd phanthimyhanh_161136604_srs
K16 cmutcd phanthimyhanh_161136604_srstrhiendh
 

Semelhante a Ccmtptpm 04 xacdinhyeucau (20)

Đề cương chi tiết học phần thực tập quản trị mạng
Đề cương chi tiết học phần thực tập quản trị mạngĐề cương chi tiết học phần thực tập quản trị mạng
Đề cương chi tiết học phần thực tập quản trị mạng
 
Chuong 3. cnpm
Chuong 3. cnpmChuong 3. cnpm
Chuong 3. cnpm
 
tnyc-c1-yeucauphanmem-sv.pdf
tnyc-c1-yeucauphanmem-sv.pdftnyc-c1-yeucauphanmem-sv.pdf
tnyc-c1-yeucauphanmem-sv.pdf
 
2 thu thap va mo hinh yeu cau
2 thu thap va mo hinh yeu cau2 thu thap va mo hinh yeu cau
2 thu thap va mo hinh yeu cau
 
Công nghệ yêu cầu requirements engineering (re)
Công nghệ yêu cầu requirements engineering (re)Công nghệ yêu cầu requirements engineering (re)
Công nghệ yêu cầu requirements engineering (re)
 
Lecture03(1)
Lecture03(1)Lecture03(1)
Lecture03(1)
 
Lecture03
Lecture03Lecture03
Lecture03
 
Cmpm chuong 9-14 12-2009
Cmpm   chuong 9-14 12-2009Cmpm   chuong 9-14 12-2009
Cmpm chuong 9-14 12-2009
 
Chuong 3 xac_dinh_yeu_cau_he_thong, hệ thống
Chuong 3 xac_dinh_yeu_cau_he_thong, hệ thốngChuong 3 xac_dinh_yeu_cau_he_thong, hệ thống
Chuong 3 xac_dinh_yeu_cau_he_thong, hệ thống
 
Chuong 3 xac_dinh_yeu_cau_he_thong
Chuong 3 xac_dinh_yeu_cau_he_thongChuong 3 xac_dinh_yeu_cau_he_thong
Chuong 3 xac_dinh_yeu_cau_he_thong
 
Quản lý quy trình phần mềm KHTN
Quản lý quy trình phần mềm KHTNQuản lý quy trình phần mềm KHTN
Quản lý quy trình phần mềm KHTN
 
Giao trinh he_dieu_hanh_tech24_vn[bookbooming.com]
Giao trinh he_dieu_hanh_tech24_vn[bookbooming.com]Giao trinh he_dieu_hanh_tech24_vn[bookbooming.com]
Giao trinh he_dieu_hanh_tech24_vn[bookbooming.com]
 
Luận văn: Truy vấn dữ liệu hướng người dùng, cho các bạn có thể tham khảo
Luận văn: Truy vấn dữ liệu hướng người dùng, cho các bạn có thể tham khảoLuận văn: Truy vấn dữ liệu hướng người dùng, cho các bạn có thể tham khảo
Luận văn: Truy vấn dữ liệu hướng người dùng, cho các bạn có thể tham khảo
 
Ke hoach bai day
Ke hoach bai dayKe hoach bai day
Ke hoach bai day
 
Chuong 2. cnpm
Chuong 2. cnpmChuong 2. cnpm
Chuong 2. cnpm
 
Kế hoạch bài dạy
Kế hoạch bài dạyKế hoạch bài dạy
Kế hoạch bài dạy
 
Kế hoạch bài dạy
Kế hoạch bài dạyKế hoạch bài dạy
Kế hoạch bài dạy
 
Kế hoạch bài dạy
Kế hoạch bài dạyKế hoạch bài dạy
Kế hoạch bài dạy
 
Kế hoạch bài dạy
Kế hoạch bài dạyKế hoạch bài dạy
Kế hoạch bài dạy
 
K16 cmutcd phanthimyhanh_161136604_srs
K16 cmutcd phanthimyhanh_161136604_srsK16 cmutcd phanthimyhanh_161136604_srs
K16 cmutcd phanthimyhanh_161136604_srs
 

Mais de Nguyen Tran (20)

12report
12report12report
12report
 
11script
11script11script
11script
 
10team
10team10team
10team
 
09componentdeployment
09componentdeployment09componentdeployment
09componentdeployment
 
08activity
08activity08activity
08activity
 
07state
07state07state
07state
 
06collaboration
06collaboration06collaboration
06collaboration
 
05sequence
05sequence05sequence
05sequence
 
04class
04class04class
04class
 
02intro
02intro02intro
02intro
 
01about
01about01about
01about
 
Clear case
Clear caseClear case
Clear case
 
Business process excution language
Business process excution languageBusiness process excution language
Business process excution language
 
Vs doc man
Vs doc manVs doc man
Vs doc man
 
Cm mi
Cm miCm mi
Cm mi
 
Sql packager
Sql packagerSql packager
Sql packager
 
Snag it
Snag itSnag it
Snag it
 
Record mydesktop
Record mydesktopRecord mydesktop
Record mydesktop
 
Rational suite&rational rose enterprise
Rational suite&rational rose enterpriseRational suite&rational rose enterprise
Rational suite&rational rose enterprise
 
Umodel 2009
Umodel 2009Umodel 2009
Umodel 2009
 

Ccmtptpm 04 xacdinhyeucau

  • 1. Công cụ và môi trường phát triển phần mềm Tổng quan về xác định yêu cầu người dùng Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 1
  • 2. Mục tiêu w Tìm hiểu các khái niệm cơ bản về xác định yêu cầu người dùng và tác dụng của chúng lên Phân tích và Thiết kế w Tìm hiểu cách ghi nhận và diễn dịch các yêu cầu của người dùng, là những thông tin được dùng để bắt đầu việc phân tích và thiết kế Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 2
  • 3. Các chủ đề w Giới thiệu w Các khái niệm chính w Phát biểu bài toán w Bảng chú giải w Use-Case Model w Các đặc tả bổ sung w Checkpoints Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 3
  • 4. Các yêu cầu người dùng trong ngữ cảnh Inception Elaboration Construction Transition Requirements Analysis & Design Test Configuration & Change Mgmt Management Environment Preliminary Iter. Iter. Iter. Iter. Iter. Iter. Iter. Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1 Mục đích của bước xác định yêu cầu người dùng là: • Ði đến thỏa thuận với khách hàng và người dùng về các chức năng của hệ thống (những gì hệ thống phải thực hiện). • Cho phép các nhà phát triển hệ thống (system developer) hiểu rõ hơn các yêu cầu đối với hệ thống. • Phân định các ranh giới của hệ thống. • Cung cấp cơ sở để hoạch định nội dung kỹ thuật của các vòng lặp. • Xác định giao diện người dùng cho hệ thống. Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 4
  • 5. Các dạng thông tin về yêu cầu người dùng Use-Case Model Bảng chú giải Actors Các Use Case ... Các đặc tả bổ sung Use-Case Reports Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 5
  • 6. Các chủ đề w Giới thiệu w Các khái niệm chính w Phát biểu bài toán w Bảng chú giải w Use-Case Model w Các đặc tả bổ sung w Checkpoints Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 6
  • 7. Khái niệm trong Use-Case Modeling: Actor Actor (Tác nhân) Các Actor nằm BÊN NGOÀI hệ thống Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 7
  • 8. Actor Generalization (Tổng quát hóa) Student Full-Time Part-Time Student Student Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 8
  • 9. Một User có thể có nhiều Vai trò (Role) Charlie có vai trò như một sinh viên Charlie Student Charlie có vai trò như một giáo su Professor Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 9
  • 10. Actors và giới hạn hệ thống (System Boundary) Bank System System Customer boundary? ATM System Bank Teller người thu ngân Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 10
  • 11. Khái niệm trong Use-Case Modeling: Use-Case Use-Case Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 11
  • 12. Các Package trong Use-Case Model Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 12
  • 13. Các chủ đề w Giới thiệu w Các khái niệm chính w Phát biểu bài toán (Problem Statement) w Bảng chú giải w Use-Case Model w Các đặc tả bổ sung w Checkpoints Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 13
  • 14. Ví dụ: Course Registration Problem Statement w Là người phụ trách Tin học của trường Đại học KHTN, bạn được yêu cầu phát triển một hệ thống đăng ký học phần mới. Hệ thống mới cho phép sinh viên đăng ký học phần và xem phiếu điểm từ bất kì máy tính cá nhân nào được kết nối vào mạng nội bộ của trường. Các giáo sư cũng có thể truy cập hệ thống này để đăng ký lớp dạy và nhập điểm cho các môn học. w Do kinh phí bị giảm nên trường không đủ khả năng thay đổi toàn bộ hệ thống trong cùng một lúc. Trường sẽ giữ lại cơ sở dữ liệu (CSDL) sẵn có về danh mục học phần mà trong đó lưu trữ toàn bộ thông tin về các học phần. Đây là một CSDL quan hệ và có thể truy cập bằng các câu lệnh SQL thông qua các server của trường. Hiệu suất của hệ thống cũ này rất kém nên hệ thống mới phải bảo đảm truy cập dữ liệu trên hệ thống cũ một cách hợp lý hơn. Hệ thống mới sẽ đọc các thông tin học phần trên CSDL cũ nhưng sẽ không cập nhật chúng. Phòng Đào tạo sẽ tiếp tục duy trì thông tin các học phần thông qua một hệ thống khác. w Ở đầu mỗi học kỳ, sinh viên có thể yêu cầu danh sách các học phần được mở trong học kì đó. Thông tin về mỗi học phần, ví dụ như tên giáo sư, khoa,các học phần tiên quyết sẽ được cung cấp để giúp sinh viên chọn lựa. Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 14
  • 15. Ví dụ: Course Registration Problem Statement w Hệ thống mới cho phép sinh viên chọn bốn học phần được mở trong học kỳ tới. Thêm vào đó mỗi sinh viên có thể đưa ra hai môn học thay thế trong trường hợp không thể đăng ký theo nguyện vọng chính. Các học phần được mở có tối đa là là 100 và tối thiểu là 30 sinh viên. Các học phần có ít hơn 30 sinh viên sẽ bị hủy. Đầu mỗi học kỳ, sinh viên có một khoảng thời gian để thay đổi các học phần đã đăng ký. Sinh viên chỉ có thể thêm hoặc hủy học phần đã đăng ký trong khoảng thời gian này. Khi quá trình đăng ký hoàn tất cho một sinh viên, hệ thống đăng ký sẽ gửi thông tin tới hệ thống thanh toán (billing system) để sinh viên có thể đóng học phí. Nếu một lớp bị hết chỗ trong quá trình đăng ký, sinh viên sẽ được thông báo về sự thay đổi trước khi xác nhận việc đăng ký học phần. w Ở cuối học kỳ, sinh viên có thể truy cập vào hệ thống để xem phiếu điểm. Bởi vì thông tin về điểm của mỗi sinh viên cần được giữ kín, nên hệ thống cần có cơ chế bảo mật để ngăn chặn những truy cập không hợp lệ. w Các giáo sư có thể truy cập vào hệ thống để đăng ký những học phần mà họ sẽ dạy. Họ có thể xem danh sách các sinh viên đã đăng ký vào lớp của họ, cũng như nhập điểm sau mỗi khóa học. Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 15
  • 16. Các chủ đề w Giới thiệu w Các khái niệm chính w Phát biểu bài toán w Bảng chú giải w Use-Case Model w Các đặc tả bổ sung w Checkpoints Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 16
  • 17. Từ điển thuật ngữ (Glossary) w Giới thiệu w Bảng chú giải Glossary Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 17
  • 18. Ví dụ: Glossary w Bảng chú giải của ứng dụng “Course Registration”: w Course (Học phần): Một môn học được dạy trong trường. w Course Offering (Lớp): Một lớp học cụ thể được mở trong một học kỳ cụ thể – cùng một học phần có thể đuợc mở song song nhiều lớp trong một học kỳ. Thông tin gồm cảc ngày học trong tuần và giờ học. w Course Catalog (Danh mục học phần): Danh mục đầy đủ của tất cả các học phần được dạy trong trường. w Faculty: Toàn bộ cán bộ giảng dạy của trường.. w Finance System (Hệ thống thanh toán): Hệ thống dùng để xử lý các thông tin thanh toán học phí. w Grade (Ðiểm số): Sự đánh giá cho một sinh viên cụ thể trong một lớp cụ thể. w Professor (Giáo sư): Người giảng dạy trong truờng. w Report Card (Phiếu diểm): Toàn bộ điểm số cho tất cả học phần một sinh viên đã học trong một học kỳ xác dịnh. w Roster (Danh sách sinh viên đăng ký): Tất cả sinh viên đăng ký vào một lớp học cụ thể. w Student (Sinh viên): Người đăng ký vào học các lớp của trường. w Schedule (Lịch học): Các học phần mà một sinh viên đã chọn học trong học kỳ hiện tại. w Transcript (Bản sao học bạ): Bản sao tất cả điểm số cho tất cả các học phần của một sinh viên cụ thể đuợc chuyển cho hệ thống thanh toán để hệ thống này lập hóa đơn cho sinh viên. Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 18
  • 19. Các chủ đề w Giới thiệu w Các khái niệm chính w Phát biểu bài toán w Bảng chú giải w Use-Case Model w Các đặc tả bổ sung w Checkpoints Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 19
  • 20. Use-Case Model w Giới thiệu Use-Case Model w Survey Description w Use-Case Packages w Use Cases w Actors Actors w Relationships Use Cases w Diagrams w Use-Case View ... Use-Case Reports Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 20
  • 21. Use-Case Model Các Use Case lái công việc từ giai đoạn phân tích đến Use-Case Model kiểm chứng Kiểm tra bởi Hiện thực bởi Cài đặt bởi Design Model Implementation Model Test Model Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 21
  • 22. Ví dụ: Use-Case Model: Use-Case Diagram Login Registrar Maintain Professor Information View Report Card Student Maintain Student Information Register for Courses Course Catalog Close Registration Billing System Select Courses to Teach Professor Submit Grades Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 22
  • 23. Use Case w Tên Use-Case Model w Brief description w Luồng các sự kiện w Relationships w Activity và State Actors diagrams Use Cases w Use-Case diagrams w Special requirements w Preconditions w Postconditions ... w Các diagram khác Use-Case Reports Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 23
  • 24. Luồng các sự kiện (Use-Case Flows of Events) w Của một basic flow (“Happy Path”) w Một số alternative flows § Các biến thể thường gặp (Regular variants) § Các trường hợp bất thường (Odd cases) § Exceptional flows xử lý các tình huống lỗi “Happy Path” Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 24
  • 25. Scenarios là gì ? w Scenario là một thể hiện của use case Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 25
  • 26. Ví dụ: Activity Diagram initial state Chọn Course Phân nhánh các tác action state vụ đồng hành Check Check Schedule Pre-requisites Kết hợp các tác vụ đồng hành [ checks completed ] [ checks failed ] biểu thức kiểm tra Ghi tên vào Giải quyết các course conflict (guard expression) [Sinh viên đã được thêm vào course ] Cập nhật lịch học Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 26
  • 27. Ví dụ: Đặc tả Use-Case w Ðiểm lại đặc tả của một use-case hoàn chỉnh được cung cấp trong tài liệu, mô tả các yêu cầu của ứng dụng “Course Registration” Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 27
  • 28. Các chủ đề w Giới thiệu w Các khái niệm chính w Phát biểu bài toán w Bảng chú giải w Use-Case Model w Các đặc tả bổ sung w Checkpoints Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 28
  • 29. Các đặc tả bổ sung w Functionality w Tính khả dụng (Usability) w Tính tinh cậy (Reliability) w Tính hiệu nang(Performance) w Tính hỗ trợ (Supportability) w Các ràng buộc thiết kế Supplementary Specification Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 29
  • 30. Ví dụ: Các đặc tả bổ sung w Tài liệu tham khảo § Không có. w Chức năng § Hỗ trợ nhiều người dùng làm việc đồng thời. § Nếu một lớp bị hết chỗ khi một sinh viên đang đăng ký học của lớp đó thì sinh viên này phải được thông báo. w Tính khả dụng § Giao diện người dùng tương thích Windows 95/98. w Tính ổn định § Hệ thống phải hoạt động liên tục 24 giờ/ngày, 7 ngày/tuần, với thời gian ngừng hoạt động không quá 10%. w Hiệu suất § Hệ thống phải hỗ trợ đến 2000 người dùng truy xuất CSDL trung tâm đồng thời bất kỳ lúc nào, và đến 500 người dùng truy xuất các server cục bộ. § Hệ thống phải cho phép truy xuất đến CSDL danh mục học phần cũ với độ trễ không quá 10 giây. § Hệ thống phải có khả năng hoàn tất 80% giao dịch trong vòng 2 phút. w Sự hỗ trợ § Không có. w Tính bảo mật § Hệ thống phải ngăn chặn sinh viên thay đổi lịch học của người khác, và ngăn các giáo sư thay đổi lớp dạy của giáo sư khác. § Chỉ có giáo sư mới có thể nhập điểm cho sinh viên. § Chỉ có cán bộ đào tạo mới được phép thay dổi thông tin của sinh viên. w Các ràng buộc thiết kế § Hệ thống phải tích hợp với hệ thống có sẵn, Hệ thống danh mục học phần, một CSDL RDBMS. § Hệ thống phải cung cấp giao diện dựa trên Windows. Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 30
  • 31. Các chủ đề w Giới thiệu w Các khái niệm chính w Phát biểu bài toán w Bảng chú giải w Use-Case Model w Các đặc tả bổ sung w Checkpoints Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 31
  • 32. Checkpoints: Requirements: Use-Case Model w Use-case model có dễ hiểu không? w Sau khi nghiên cứu use-case model, bạn có hình thành được một ý tuởng rõ ràng về các chức năng của hệ thống và cách thức mà chúng liên hệ với nhau ? w Ðã xác định hết tất cả các actor? Tất cả các yêu cầu chức năng được thỏa hay chưa? w Use-case model có chứa các hành vi vô dụng nào không? w Việc chia model thành các use-case package có xác đáng? Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 32
  • 33. Checkpoints: Requirements: Actors w Ðã xác định hết tất cả các actor? w Mỗi actor có tham gia vào ít nhất một use case? w Mỗi actor thật sự có một vai trò (role)? Có cần ghép hoặc tách các actor không? w Có tồn tại 2 actor dùng cùng một vai trò đối với 1 use case không? w Tên của các actor có gợi nhớ không? Users và customers có hiểu tên của chúng? Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 33
  • 34. Checkpoints: Requirements: Use-Cases w Mỗi use case có ít nhất một actor tương tác? w Các use case có độc lập với nhau? w Tồn tại các use case có các luồng sự kiện và các hành vi tương tự nhau không? w Liệu các use case có tên duy nhất, gợi nhớ, và dễ hiểu để chúng không bị nhầm lẫm trong các giai đoạn sau? w Các khách hàng và người dùng có hiểu tên và mô tả của các use case không? Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 34
  • 35. Checkpoints: Requirements:Các đặc tả Use-Case w Use case có đủ rõ ràng đối với những người muốn hiên thực? w Mục đích của use-case có rõ ràng? w Mô tả sơ lược (Brief description) có cho ta hình ảnh trung thực của use-case? w Có xác định rõ luồng sự kiện của use-case như thế nào và khi nào bắt đầu và kết thúc? w Chuỗi các giao tiếp giữa actor và use-case có tiện nghi không (từ góc nhìn của người dùng)? w Các tương tác và các thông tin trao đổi của actor có rõ ràng? w Có use-case nào quá phức tạp không? w Các luồng sự kiện (basic và alternative) được mô hình đúng đắn? Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 35
  • 36. Checkpoints: Requirements: Glossary w Các thuật ngữ có định nghĩa rõ ràng và súc tích? w Mỗi thuật ngữ có dùng đâu đó trong các mô tả use-case? w Các thuật ngữ có được sử dụng hợp lý trong các mô tả ngắn về các actor và use case? Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 36
  • 37. Review: w Các thành phần chính của Đặc tả yêu cầu (Requirements)? w Các thành phần của đặc tả yêu cầu được dùng để làm gì? w Use-case model là gì? w Actor là gì? w Use case là gì? Liệt kê một số thuộc tính của use case. w Sự khác nhau giữa use-case và scenario? w Supplementary specification là gì và nó chứa những gì? w Glossary là gì và nó chứa những gì? Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 37
  • 38. Bài tập: w Mơ tả các thành phần chính của Requirements: § Problem statement § Use-case model main diagram § Supplementary specification § Glossary w Ðiểm lại các thông tin về yêu cầu người dùng được sử dụng trong mô hình, ghi chú tất cả các câu hỏi, các vấn dề còn tranh cãi, mâu thuẫn Tổng quan về xác định yêu cầu người dùng Khoa CNTT - ĐHKHTN 38