Bài tập Nhập môn Công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering)

Mục tiêu

- Thực hiện các bài tập (câu hỏi) về Yêu cầu phần mềm

- Thực hiện các bài tập về công cụ đặc tả yêu cầu phần mềm

- Đặc tả các yêu cầu cho bài toán (casestudy) của môn học: sử dụng usecase của

UML

o Xác định các thành phần: tác nhân (actor), ca sử dụng (usecase) và các

quan hệ à xây dựng biểu đồ usecase

o Đặc tả kịch bản chi tiết cho các usecase

o Xác định và mô tả các yêu cầu phi chức năng

Đánh giá

- Hoàn thành các bài tập về Yêu cầu phần mềm

- Nắm được đặc điểm của các công cụ đặc tả yêu cầu phần mềm: Biểu đồ luồng dữ

liệu – DFD (data flow diagram) + Máy trạng thái – FSM (Finite state machine) + Sơ

đồ thực thể liên kết – ERD (entity relation diagram) + Usecase (UML)

- Hoàn thành đặc tả các yêu cầu cho bài toán (casestudy) của môn học: sử dụng

usecase của UML

Bài tập Nhập môn Công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) trang 1

Trang 1

Bài tập Nhập môn Công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) trang 2

Trang 2

Bài tập Nhập môn Công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) trang 3

Trang 3

Bài tập Nhập môn Công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) trang 4

Trang 4

Bài tập Nhập môn Công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) trang 5

Trang 5

Bài tập Nhập môn Công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) trang 6

Trang 6

Bài tập Nhập môn Công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) trang 7

Trang 7

Bài tập Nhập môn Công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) trang 8

Trang 8

Bài tập Nhập môn Công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) trang 9

Trang 9

Bài tập Nhập môn Công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 17 trang xuanhieu 6500
Bạn đang xem 10 trang mẫu của tài liệu "Bài tập Nhập môn Công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài tập Nhập môn Công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering)

Bài tập Nhập môn Công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering)
 Biểu đồ 1 
 Biểu đồ 2 
 Biểu đồ 3 
 Biểu đồ 4 
Bài 1.5 
 Xây dựng biểu đồ luồng dữ liệu (DFD (data flow diagram)) trong đặc tả và phân tích 
 yêu cầu phần mềm. 
 Background: 
 • Với sơ đồ phân rã chức năng BFD, chúng ta đã xem xét hệ thống thông tin theo 
 quan điểm "chức năng" thuần túy. Để xem xét chi tiết hơn về các thông tin cần 
 cho việc thực hiện các chức năng đã được nêu chúng ta sử dụng biểu đồ luồng 
Software Engineering Department - SoICT/HUST Trang 4 / 17 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 dữ liệu DFD. DFD để biểu diễn một cách linh hoạt các thực thể ngoài, các chức 
 năng, luồng dữ liệu và các kho dữ liệu. 
 • DFD là một trong những công cụ hữu hiệu của giai đoạn phân tích yêu cầu. DFD 
 diễn tả hoạt động của hệ thống hiện hành (dựa trên xác định yêu cầu). 
 • Việc xây dựng DFD theo các mức cấp bậc: 
 o Sơ đồ ngữ cảnh (Context diagram): đầy là sơ đồ mức cao nhất. Nó cho ra một 
 cái nhìn tổng quát về hệ thống trong môi trường nó đang tồn tại. Ở mức này, 
 sơ đồ ngữ cảnh chỉ có một tiến trình duy nhất, các tác nhân và các luồng dữ 
 liệu (không có kho dữ liệu). 
 o Sơ đồ mức 0 là sơ đồ phân rã từ sơ đồ ngữ cảnh. Với mục đích mô tả hệ thống 
 chi tiết hơn, sơ đồ mức 0 được phân rã từ sơ đồ ngữ cảnh với các tiến trình 
 được trình bày chính là các mục chức năng chính của hệ thống. 
 o Sơ đồ mức i (i >= 1) là sơ đồ được phân rã từ sơ đồ mức i-1. Mỗi sơ đồ phân 
 rã mức sua chính là sự chi tiết hóa một tiến trình mức trước. Quá trình phân 
 rã sẽ dừng khi đạt được sơ đồ luồng dữ liệu sơ cấp (khi một tiến trình là một 
 tính toán hay thao tác dữ liệu đơn giản, khi mỗi luồng dữ liệu không cần chia 
 nhỏ hơn nữa. 
 • Mỗi biểu đồ DFD cũng đi kèm với các mô tả chi tiết về ý nghĩa các luồng dữ 
 liệu và các bước thực hiện của chức năng xử lý. DFD cũng cung cấp thông tin 
 về đầu ra và đầu vào của mỗi thực thể và chính quá trình. Cấu trúc tổng quát 
 một thực thể có dạng như sau: 
 Bài tập minh hoạ: 
 Hệ thống thông tin quản lý thư viện 
 • Sơ đồ DFD mức ngữ cảnh: 
Software Engineering Department - SoICT/HUST Trang 5 / 17 
 Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 • Yêu cầu: xây dựng biểu đồ DFD cho yêu cầu chức năng Lập thẻ độc giả: bạn đọc 
 phải đăng lý thẻ độc giả với thư viện thì mới có thể thực hiện mượn trả sách. 
 Khi đăng ký bạn đọc cần điền vào một biểu mẫu như sau: 
 Quy định: Tuổi của người đăng ký phải từ 18 tuổi trở lên và thẻ có giá trị hiệu lực trong 
 vòng 12 tháng. 
 Hướng dẫn: 
 Xác định các thành phần: 
 • Chức năng xử lý: Lập thẻ độc giả 
 • Kho dữ liệu: Thông tin độc giả 
 • Xây dựng sơ đồ và các mô tả chi tiết kèm theo 
 Biểu đồ Mô tả 
Phần III: Đặc tả các yêu cầu cho bài toán (casestudy) với usecase 
 Background: 
 • Sơ đồ usecase (UML): Mô hình hóa các chức năng mà hệ thống sẽ thực thi. 
 • Usecase là gì? 
 o Use case là một trình tự hành động của hệ thống thực hiện nhằm thu 
 được một kết quả dễ thấy tới một tác nhân nào đó. 
 o Một use case mô hình hóa một hội thoại giữa một hoặc nhiều tác nhân 
 với hệ thống 
Software Engineering Department - SoICT/HUST Trang 6 / 17 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 o Một use case mô tả hành động của hệ thống thực hiện nhằm mang đến 
 một giá trị nào đó cho tác nhân 
 • Mô hình usecase (usecase model) gồm các thành phần sau: 
 Mô hình usecase Các thành phần 
 o Các biểu đồ ca sử dụng (usecase 
 diagram): biểu diễn trực quan bức 
 tranh tổng thể về hệ thống định xây 
 dựng 
 o Phần mô tả bằng lời các kịch bản 
 usecase (đặc tả usecase – usecase 
 specification): mô tả chi tiết trình tự 
 tương tác giữa các tác nhân và hệ 
 thống trong kịch bản usecase. Có thể 
 sử dụng kết hợp thêm các biểu đồ: 
 Ø Biểu đồ tuần tự 
 Ø Biểu đồ tương tác 
 o Đặc tả phụ trợ (Supplementary 
 specification): các đặc tả bổ sung về 
 các yêu cầu phần mềm mà các đặc tả 
 usecase chưa mô tả. Ví dụ: các yêu 
 cầu chung cho các chức năng, các 
 yêu cầu phi chức năng 
 o Bảng chú giải (Glossary): danh sách 
 các từ vựng / thuật ngữ và giải nghĩa 
 kèm theo 
 • Biểu đồ usecase (usecase diagram) gồm các thành phần sau: 
 Biểu đồ usecase Các thành phần 
 o Một đường bao (System boundary): 
 thể hiện ranh giới giữa bên trong và 
 bên ngoài hệ thống. 
 o Tác nhân (Actor): Một tác nhân là một 
 người hoặc một vật thể có tương tác 
 với hệ thống. Có trao đổi thông tin với 
 hệ thống, hay hưởng lợi từ hệ thống và 
 phải có sự tự trị trong quyết định. Tác 
 nhân mô tả một thực thể tham gia 
 tương tác với vai trò cụ thể. 
 Ø Tác nhân có thể là: người với vai 
 trò xác định, các thiết bị, các hệ 
Software Engineering Department - SoICT/HUST Trang 7 / 17 
 Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 thống khác tương tác với hệ 
 thống đang xét 
 o Usecase: tập hợp chuỗi hành động dẫn 
 đến một kết quả cụ thể. 
 o Các quan hệ (relationship): Phân loại: 
 Ø Quan hệ kết hợp (asociation) : 
 Quan hệ kết hợp cho biết tác 
 nhân nào tham gia vào ca sử 
 dụng nào. Biểu diễn bằng 
 đường thẳng nối giữa tác nhân 
 và ca sử dụng (có thể sử dụng 
 mũi tên để nhấn mạnh vào 
 hướng của ca sử dụng) 
 Ø Quan hệ tổng quát hóa 
 (generalization) : Tác nhân hoặc 
 usecase con kế thừa tính chất 
 và hành vi của tác nhân hoặc 
 usecase cha 
 Ø Quan hệ bao gồm (include): 
 Quan hệ «include» biểu diễn 
 một UC chứa hành vi định nghĩa 
 trong một UC khác (luôn luôn 
 gọi đến) 
 Ø Quan hệ mở rộng (extend): một 
 UC tùy ý mở rộng chức năng do 
 UC khác cung cấp. Chỉ chèn khi 
 điều kiện extend là đúng tại 
 điểm phát sinh (extension 
 point) 
 Yêu cầu: Đặc tả các yêu cầu cho bài toán (casestudy) với nhóm chức 
 năng đã chọn. Phần nội dung này các nhóm làm vào trong file 
 .docx (báo cáo) 
 Hướng dẫn: 
 - Bước 1: Phân tích các yêu cầu chức năng của hệ thống: 
 + Xác định các tác nhân của hệ thống: 
 + Trả lời các câu hỏi sau để xác định Actor cho hệ thống: 
  Ai sử dụng hệ thống này? Ai cung cấp thông tin cho các hoạt động của hệ 
 thống? Ai nhận kết quả từ các chức năng của hệ thống? 
  Nhóm người nào sẽ duy trì và quản trị hệ thống hoạt động? 
Software Engineering Department - SoICT/HUST Trang 8 / 17 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
  Hệ thống có tương tác với các thiết bị hay phần mềm ngoại vi nào khác hay 
 không? 
  Hệ thống nào tương tác với hệ thống này? 
  Các thiết bị có tương tác với hệ thống này? 
 + Lập bảng liệt kê các tác nhân và mô tả thông tin cho các tác nhân: 
 STT Tên tác nhân Mô tả tác nhân 
 1 
 2 
 3 
 4 
 + Xác định quan hệ giữa các tác nhân. 
 + Xác định các ca sử dụng 
 + Với từng tác nhân đã xác định ở trên, đặt và trả lời các câu hỏi: 
  Các tác nhân yêu cầu những gì từ hệ thống 
  Các công việc chính mà tác nhân đó muốn hệ thống thực thi? 
  Tác nhân đó có tạo ra hay thay đổi dữ liệu gì của hệ thống? 
  Tác nhân đó có phải thông báo gì cho hệ thống? 
  Tác nhân đó có cần thông tin thông báo gì từ hệ thống? 
 + Chúng ta sẽ xác định được các Use Case cần thiết cho hệ thống. Nếu có nhiều 
 usecase thì nên đặt mã để tham chiếu dễ dàng trong các phần sau của tài liệu. 
 STT Mã usecase Tên usecase Mô tả Usecase Tác nhân Độ phức 
 tương tác tạp 
 1 
 2 
 3 
 4 
 5 
 + Xác định các quan hệ 
Phân tích và các định các quan loại hệ giữa các Actor và Use Case, giữa các Actor với 
nhau, giữa các Use Case với nhau. 
 - Bước 2: Xây dựng biểu đồ ca sử dụng với công cụ Astah UML 
 + Biểu diễn các tác nhân: 
Software Engineering Department - SoICT/HUST Trang 9 / 17 
 Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 + Tạo một Actor bằng cách chọn nó trên bảng công cụ: 
 + Biểu diễn các usecase: 
 + Các quan hệ giữa usecase: extend / include 
 + Chọn trên công cụ quan hệ phù hợp: 
 + Hoặc thực hiện kéo từ usecase này đến usecase khác. 
 + Với quan hệ extend à có thể thiết lập điểm mở rộng (Extension Points): 
 + Thêm điểm mở rộng vào usecase: 
 + Một số thiết lập khác: hiển thị tên UseCase bên ngoài 
Software Engineering Department - SoICT/HUST Trang 10 / 17 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 + Kết quả hiển thị: 
 Với các usecase lớn có thể xây dựng biểu đồ usecase tổng quát và các biểu 
 đồ usecase phân rã mức thấp hơn. 
 Ví dụ minh hoạ: 
 • Với nhóm chức năng số 1: "1. Quản lý thông tin hộ khẩu, nhân khẩu" 
 • Tác nhân: “Quản lý tổ dân phố”, hai tác nhân con thể hiện hai vai trò “Tổ 
 trưởng” và “Tổ phó” 
 • Các usecase tổng quát: 
 o Đăng nhập / đăng xuất, các usecase khác được thực hiện với điều 
 kiện usecase “Đăng nhập” thực hiện thành công 
 o Quản lý thông tin sổ hộ khẩu 
 o Quản lý thông tin nhân khẩu 
 o Thống kê thông tin nhân khẩu 
 o Tìm kiếm thông tin, usecase tìm kiếm có thể được gọi đến khi tác nhân 
 thực hiện các usecase quản lý khác 
 • Xây dựng biểu đồ usecase tổng quát cho nhóm chức năng số 1: "1. Quản lý 
 thông tin hộ khẩu, nhân khẩu" 
Software Engineering Department - SoICT/HUST Trang 11 / 17 
 Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 • Biểu đồ usecase phân rã cho “Quản lý thông tin sổ hộ khẩu” 
 • Tương tự với biểu đồ usecase phân rã cho “Quản lý thông tin nhân khẩu” 
Software Engineering Department - SoICT/HUST Trang 12 / 17 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 • Biểu đồ usecase phân rã cho “Thống kê thông tin nhân khẩu” 
 - Bước 3: Đặc tả ca sử dụng 
 + Miêu tả tất cả các vấn đề liên quan đến một ca sử dụng. Dùng làm cơ sở cho các 
 định hướng phân tích, thiết kế, mã hóa, kiểm thử theo hướng ca sử dụng ở các 
 công đoạn tiếp theo. 
 + Các thành phần gồm có: 
Software Engineering Department - SoICT/HUST Trang 13 / 17 
 Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 + Thực hiện đặc tả ca sử dụng theo mẫu sau: 
Đặc tả use case UC001 “Đăng nhập” 
 Mã Use case UC001 Tên Use case Đăng nhập 
 Tác nhân Quản lý tổ dân phố 
 Mô tả Cho phép một người dùng có tài khoản truy cập vào hệ thống 
 Tiền điều kiện Không 
 Luồng sự kiện chính STT Thực hiện bởi Hành động 
 (Thành công) 
 1. Quản lý tổ dân chọn chức năng Đăng nhập 
 phố 
 2. Hệ thống hiển thị giao diện đăng nhập 
 3. Quản lý tổ dân nhập username và mật khẩu (mô tả phía dưới *) 
 phố 
 4. Quản lý tổ dân yêu cầu đăng nhập 
 phố 
 5. Hệ thống kiểm tra xem tác nhân đã nhập các trường bắt buộc 
 nhập hay chưa 
 6. Hệ thống kiểm tra username và mật khẩu có hợp lệ do tác 
 nhân nhập trong hệ thống hay không 
 7. Hệ thống tạo giao diện màn hình chính 
 Luồng sự kiện thay STT Thực hiện bởi Hành động 
 thế 
 6a. Hệ thống thông báo lỗi: Cần nhập các trường bắt buộc nhập 
 nếu người dùng nhập thiếu 
 7a. Hệ thống thông báo lỗi: username và/hoặc mật khẩu chưa 
 đúng nếu không tìm thấy username và mật khẩu 
 trong hệ thống 
Software Engineering Department - SoICT/HUST Trang 14 / 17 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 Hậu điều kiện Không 
* Dữ liệu đầu vào của thông tin cá nhân gồm các trường dữ liệu sau: 
 Trường 
 STT Mô tả Bắt buộc? Điều kiện hợp lệ Ví dụ 
 dữ liệu 
 1. Username Có hung 
 2. Mật khẩu Có ToiLa12#$ 
Đặc tả use case UC002 “Tạo mới sổ hộ khẩu” 
 Mã Use case UC002 Tên Use case Tạo mới sổ hộ 
 khẩu 
 Tác nhân Quản lý tổ dân phố 
 Mô tả Cho phép một người dùng đã đăng nhập tạo ra một sổ hộ khẩu mới 
 Tiền điều kiện Tác nhân đã đăng nhập thành công 
 Luồng sự kiện chính STT Thực hiện bởi Hành động 
 (Thành công) 
 1. Quản lý tổ dân Nhấn nút tạo mới hộ khẩu 
 phố 
 2. Hệ thống hiển thị giao diện tạo mới hộ khẩu 
 3. Quản lý tổ dân nhập thông tin đầy đủ (thông tin về chủ hộ và các 
 phố thành viên) (mô tả phía dưới *) 
 4. Quản lý tổ dân nhấn nút xác nhận 
 phố 
 5. Hệ thống kiểm tra xem tác nhân đã nhập các trường bắt buộc 
 nhập hay chưa 
 6. Hệ thống kiểm tra số hộ khẩu có hợp lệ do tác nhân nhập 
 trong hệ thống hay không (số hộ khẩu không được 
 trùng với hộ khẩu đã có) 
 7. Hệ thống Gọi usecase “Thêm nhân khẩu vào hộ khẩu” và 
 thiết lập thông tin chủ hộ 
 Luồng sự kiện thay STT Thực hiện bởi Hành động 
 thế 
 6a. Hệ thống thông báo lỗi: Cần nhập các trường bắt buộc nhập 
 nếu người dùng nhập thiếu 
 7a. Hệ thống thông báo lỗi: số hộ khẩu không hợp lệ 
 Hậu điều kiện Thông tin sổ hộ khẩu mới được lưu vào cơ sở dữ liệu 
* Dữ liệu đầu vào của thông tin cá nhân gồm các trường dữ liệu sau: 
Software Engineering Department - SoICT/HUST Trang 15 / 17 
 Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 Trường 
 STT Mô tả Bắt buộc? Điều kiện hợp lệ Ví dụ 
 dữ liệu 
 1. Số hộ khẩu Có TQB002 
 2. Khu vực Không HN03 
 3. Địa chỉ Không 
 4. Ngày lập Không 
 5. Chủ hộ Không Chủ hộ có thể thiết lập sau 
 - Bước 4: Đặc tả các yêu cầu phi chức năng và lập bảng chú giải các từ vựng / 
 thuật ngữ 
 + Các yêu cầu phi chức năng và chức năng không được đưa ra trong bất kỳ use case 
 cụ thể nào 
 Ø Chức năng (Functionality): Các yêu cầu chức năng tổng quan cho tất cả các use 
 case 
 Ø Khả năng sử dụng (Usability): Ví dụ: các yêu cầu về khả năng sử dụng dễ dàng 
 hoặc yêu cầu về đào tạo người dùng. 
 Ø Độ tin cậy (Reliability): Các độ đo định lượng như thời gian trung bình giữa các 
 lần gặp sự cố hoặc lỗi trên nghìn dòng mã 
 Ø Hiệu năng (Performance): Bao gồm thời gian đáp ứng, số lượng người sử dụng 
 đồng thời,... 
 Ø Khả năng hỗ trợ (Supportability): Các yêu cầu nhằm tăng cường khả năng hỗ 
 trợ hoặc khả năng bảo trì của hệ thống 
 Ø Các ràng buộc thiết kế (Design constraints) 
 Ø  
Ví dụ minh hoạ: 
 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. 
 Tính dễ dùng 
 - Giao diện nguời dùng tương thích Windows 7/ Window 10. Thân thiện. 
 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%. 
 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 truy xuất đến CSDL danh mục học phần cũ với độ trễ không quá 10 
 giây. 
Software Engineering Department - SoICT/HUST Trang 16 / 17 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 - Hệ thống phải có khả năng hoàn tất 80% giao dịch trong vòng 2 phút. 
 Sự hỗ trợ 
 - Không có. 
 Các ràng buộc thiết kế 
 - Hệ thống tích hợp với Hệ thống danh mục học phần có sẵn, một CSDL RDBMS. 
 - Hệ thống phải cung cấp giao diện dựa Web. 
Nội dung bài tập tự làm 
Hoàn thành Đặc tả các yêu cầu cho bài toán (casestudy) với usecase 
Các nhóm chuẩn bị thêm một slide powerpoint về nội dung Đặc tả các 
yêu cầu ở trên, buổi học tiếp theo sẽ trình bày. 
 HẾT 
Software Engineering Department - SoICT/HUST Trang 17 / 17 

File đính kèm:

  • pdfbai_tap_nhap_mon_cong_nghe_phan_mem_tuan_6_ky_nghe_yeu_cau_p.pdf