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

Mục tiêu

- Thực hiện các bài tập (câu hỏi) về phân tích 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

- Phân tích các yêu cầu cho bài toán (casestudy) của môn học: sử dụng một số biểu

đồ của UML

o Phân rã các usecase thành các lớp phân tích nhận trách nhiệm thực thi các

hoạt động trong kịch bản usecase

o Làm quen với sơ đồ trình tự (sequence diagram)

o Xây dựng sơ đồ thực thể - quan hệ (ERD): mô hình hoá các dữ liệu cho bài

toán

Đánh giá

- Hoàn thành các bài tập về phân tích và đặc tả yêu cầu phần mềm, nắm được các

khái niệm và những hoạt động cần thực hiện trong giai đoạn phân tích

- Vận dụng các công cụ đặc tả yêu cầu phần mềm: Sơ đồ thực thể liên kết – ERD

(entity relation diagram) + và một số biểu đồ trong UML như biểu đồ trình tự

- Hoàn thành phân tích các yêu cầu cho bài toán (casestudy) của môn học

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

Trang 1

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

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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

Trang 10

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

pdf 11 trang xuanhieu 7040
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 7: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) (Tiếp theo)", để 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 7: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) (Tiếp theo)

Bài tập Nhập môn Công nghệ phần mềm - Tuần 7: Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) (Tiếp theo)
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 Bài tập tuần 07 
 Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) 
 (tiếp theo) 
Mục tiêu 
 - Thực hiện các bài tập (câu hỏi) về phân tích 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 
 - Phân tích các yêu cầu cho bài toán (casestudy) của môn học: sử dụng một số biểu 
 đồ của UML 
 o Phân rã các usecase thành các lớp phân tích nhận trách nhiệm thực thi các 
 hoạt động trong kịch bản usecase 
 o Làm quen với sơ đồ trình tự (sequence diagram) 
 o Xây dựng sơ đồ thực thể - quan hệ (ERD): mô hình hoá các dữ liệu cho bài 
 toán 
Đánh giá 
 - Hoàn thành các bài tập về phân tích và đặc tả yêu cầu phần mềm, nắm được các 
 khái niệm và những hoạt động cần thực hiện trong giai đoạn phân tích 
 - Vận dụng các công cụ đặc tả yêu cầu phần mềm: Sơ đồ thực thể liên kết – ERD 
 (entity relation diagram) + và một số biểu đồ trong UML như biểu đồ trình tự 
 - Hoàn thành phân tích các yêu cầu cho bài toán (casestudy) của môn học 
Phần I: 
Bài 1.1 
 a) Tác nhân ca sử dụng luôn là con người, không phải là các thiết bị hệ thống? 
 1. Sai 
 2. Đúng 
 b) Use-cases là một kịch bản mà mô tả? 
 1. Phần mềm thực hiện như thế nào khi được dùng trong một tình huống cho trước 
 2. Những công cụ CASE sẽ được dùng như thế nào để xây dựng hệ thống 
 3. Kế hoạch xây dựng cho sản phẩm phần mềm 
 4. Những test-case cho sản phẩm phần mềm 
 c) Phát biểu nào sau đây là đúng về yêu cầu phần mềm? Trả lời bằng cách đánh dấu 
 T (đúng) hoặc F (sai). 
 (1) T / F Độ tin cậy và bảo mật là ví dụ về các yêu cầu chức năng. 
Software Engineering Department - SoICT/HUST Trang 1 / 11 
 Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 (2) T / F Yêu cầu đóng vai trò như một cơ sở cho việc kiểm tra và xác minh. 
 (3) T / F Yêu cầu mô tả kiến trúc phần mềm. 
 (4) T / F Các yêu cầu về hành vi thường mang tính chủ quan và không thể đo 
 lường được. 
 (5) T / F Các trường hợp sử dụng nắm bắt các yêu cầu chức năng. 
 (6) T / F Lý do số một mà các dự án thành công là sự tham gia của nhà phát triển. 
 (7) T / F Một ca sử dụng đại diện cho một hành vi ví dụ của hệ thống. 
 (8) T / F Các tình huống mở rộng của một ca sử dụng thiết lập sự hiểu biết giữa 
 khách hàng và nhà phát triển hệ thống về các yêu cầu. 
 (9) T / F Trong hầu hết các trường hợp sử dụng, gần như mọi bước đều có thể bị 
 lỗi. 
Bài 1.2 
 a) Hãy trình bày nội dung của hoạt động thẩm định yêu cầu? 
 b) Hãy nêu một số nhược điểm/hạn chế của kỹ thuật mô hình hóa ca sử dụng? 
Bài 1.3 
Hãy giải ô chữ tổng hợp kiến thức dưới đây với các gợi ý kèm theo? 
Gợi ý: 
Software Engineering Department - SoICT/HUST Trang 2 / 11 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Phần II: Phân tích usecase 
Background 
 q Phân tích yêu cầu là nhằm trả lời câu hỏi hệ thống sẽ làm những gì (what), hơn 
 là chỉ ra cách thức (how) làm những việc đó. 
 q Phân rã các yêu cầu phức tạp được trình bày trong pha xác định yêu cầu thành các 
 nhân tố chính cùng mối quan hệ giữa chúng để làm cơ sở cho giải pháp được trình 
 bày trong pha thiết kế sau này. Kết quả của quá trình phân rã là các lớp phân tích. 
 Tất cả các hoạt động trong kịch bản của Use-Case phải được phản ánh đầy đủ trong 
 các lớp phân tích. 
 q Tại sao lại cần phân tích? Mô hình trợ giúp cho người phân tích trong việc hiểu về 
 thông tin, chức năng và hành vi của hệ thống. 
Software Engineering Department - SoICT/HUST Trang 3 / 11 
 Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 q Mô hình phân tích có vai trò như cầu nối giữa các mô tả hệ thống và mô hình thiết 
 kế: 
 q Xác định các lớp phân tích như thế nào? Hầu như không có một công thức chung 
 cho việc phát hiện ra các lớp. 
 • Tìm các lớp là một công việc đòi hỏi sự sáng tạo được thực hiện với sự trợ 
 giúp của chuyên gia ứng dụng. 
 • Quá trình phân tích và thiết kế có tính lặp: danh sách các lớp sẽ thay đổi 
 theo thời gian. 
 • Tập hợp của các lớp tìm ra ban đầu chưa chắc đã là tập hợp cuối cùng của 
 các lớp sẽ được thực thi và biến đổi thành code sau này. Nhiều thành phần 
 trong giai đoạn phân tích có thể bị biến đổi hoặc mất đi khi sang pha thiết 
 kế. 
 q Ba khía cạnh của hệ thống có thể sẽ thay đổi: 
 • 1. Ranh giới giữa hệ thống và các tác nhân của nó 
 • 2. Thông tin hệ thống sử dụng 
 • 3. Logic điều khiển của hệ thống 
Software Engineering Department - SoICT/HUST Trang 4 / 11 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 à Trong nỗ lực cô lập các bộ phận của hệ thống có thể sẽ thay đổi, chúng ta sẽ “đóng 
 hộp” những thay đổi đó vào các lớp. Trên cơ sở đó mỗi usecase được phân rã thành 
 các thành phần thuộc vào một trong ba loại lớp phân tích sau: 
 • Lớp biên (ranh giới) 
 • Lớp thực thể (chứa thông tin) 
 • Lớp điều khiển (logic điều khiển) 
 q Các loại lớp phân tích khác nhau có thể được biểu diễn bằng các biểu tượng khác 
 nhau hoặc với tên của khuôn mẫu trong cặp dấu (>): >, << 
 control>>, >. 
Boundary classes 
 • Một lớp biên là giao diện trung gian giữa hệ thống và một cái gì đó bên ngoài. Các 
 lớp ranh giới cách ly hệ thống khỏi những thay đổi của môi trường xung quanh (ví 
 dụ, những thay đổi về giao diện), giữ cho những thay đổi này không ảnh hưởng 
 đến phần còn lại của hệ thống. 
 • Một số hướng dẫn để tìm các lớp biên: 
 o Một khuyến nghị cho việc xác định ban đầu các lớp biên là: mỗi cặp tác nhân 
 / ca sử dụng à xác định ít nhất 1 lớp biên. 
 o Một hệ thống có thể có một số loại lớp biên (theo phân loại của actor): 
 § Các lớp giao diện người dùng 
 § Các lớp giao diện hệ thống: ví dụ: các giao diện gọi các API của một 
 hệ thống khác. 
 § Các lớp giao diện thiết bị 
Software Engineering Department - SoICT/HUST Trang 5 / 11 
 Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 Với usecase “Tạo mới sổ hộ khẩu” à Form Tạo mới sổ hộ khẩu 
Entity classes 
 • Các lớp thực thể đại diện cho các kho thông tin trong hệ thống. Chúng thường 
 được sử dụng để đại diện cho các khái niệm chính mà hệ thống quản lý. 
 • Đối tượng thực thể (các thể hiện của lớp thực thể) được sử dụng để lưu giữ và cập 
 nhật thông tin về một sự kiện, một người hoặc một đối tượng ngoài đời thực. 
 • Một số hướng dẫn để tìm các lớp thực thể: 
 o Đầu vào lấy luồng sự kiện theo usecase, gạch dưới các cụm danh từ trong 
 luồng sự kiện. Chúng tạo thành danh sách ứng viên ban đầu của các lớp thực 
 thể. 
 o Thực hiện lọc bỏ các danh từ: Loại bỏ các ứng viên thừa (trùng lặp), Loại 
 bỏ các ứng viên mơ hồ, Loại bỏ các tác nhân (ngoài phạm vi), Loại bỏ các 
 cấu trúc triển khai, Loại bỏ các thuộc tính (lưu để sử dụng sau), Loại bỏ các 
 hoạt động, à còn lại là các ứng viên cho lớp thực thể của usecase 
 Với usecase “Tạo mới sổ hộ khẩu” à Entity sổ hộ khẩu, Entity nhân khẩu 
Control classes 
 • Các lớp điều khiển cung cấp khả năng phối hợp hành vi trong hệ thống. 
Software Engineering Department - SoICT/HUST Trang 6 / 11 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 • Xác định logic điều khiển (thứ tự giữa các sự kiện) và các giao dịch trong một 
 usecase 
 • Một số hướng dẫn để tìm các lớp điều khiển: 
 o Mỗi usecase xác định ít nhất một lớp điều khiển. 
 o Các usecase chỉ liên quan đến thao tác đơn giản đối với thông tin được lưu 
 trữ hệ thống có thể chỉ sử dụng các lớp thực thể và lớp biên, không dùng 
 lớp điều khiển. 
 o Các usecase phức tạp thường yêu cầu một hoặc nhiều lớp điều khiển để 
 điều phối hành vi của các đối tượng khác trong hệ thống. Ví dụ về các lớp 
 điều khiển bao gồm quản lý giao dịch, điều phối tài nguyên và xử lý lỗi. 
 Với usecase “Tạo mới sổ hộ khẩu” à Control Quản lý hộ khẩu 
 Kết quả quá trình phân rã bước đầu của usecase “Tạo mới sổ hộ khẩu”: 
 Thực hiện tương tự với các usecase khác, chúng ta thu được một mô hình phân tích 
 bao gồm các lớp phân tích trong đó. Chú ý: nếu trong các kết quả có các lớp phân 
 tích trùng nhau (ví dụ trong một usecase khác cũng xuất hiện lớp thực thể “Sổ hộ 
 khẩu”) thì cần hợp nhất các lớp phân tích này. 
Software Engineering Department - SoICT/HUST Trang 7 / 11 
 Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 Bước tiếp theo chúng ta cần xác định các thông tin chi tiết hơn cho các lớp phân tích 
 này: 
 • Mỗi lớp: xác định các thuộc tính và phương thức 
 • Quan hệ giữa các lớp 
 Bài tập: Phân rã usecase “Đăng nhập”, xác định các lớp phân tích. 
 Gợi ý: 
Phân bổ trách nhiệm ca sử dụng cho các đối tượng của các lớp phân tích 
 • Với mỗi usecase: chúng ta cần phân bổ trách nhiệm ca sử dụng cho các đối tượng 
 của các lớp phân tích. Đây là một hoạt động quan trọng và đôi khi khó khăn, nó là 
 cơ sở để chúng ta xác định các dữ liệu thành phần (phương thức + thuộc tính) cho 
 mỗi lớp. Kết quả của quá trình này có thể biểu diễn bằng biểu đồ trình tự 
 (sequence diagram) hoặc biểu đồ giao tiếp (communication diagram) trong UML. 
 • Biểu đồ trình tự (sequence diagram): Là biểu đồ tương tác tập trung vào thứ tự 
 trao đổi các thông điệp theo thời gian. Gồm: Các đối tượng tham gia tương tác và 
 Trình tự các thông điệp trao đổi với nhau. 
Software Engineering Department - SoICT/HUST Trang 8 / 11 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
 • Biểu đồ giao tiếp (communication diagram): Là biểu đồ tương tác tập trung vào 
 tổ chức các đối tượng tham gia tương tác. Gồm: Các đối tượng tham gia tương 
 tác. Đường liên kết giữa các đối tượng. Thông điệp trao chuyển giữa các đối 
 tượng. Tập trung vào sự kiện có nghĩa là chú ý đặc biệt đến mối quan hệ (nối kết) 
 giữa các đối tượng. 
 Bài tập: Từ mô tả chi tiết kịch bản usecase hãy Xây dựng biểu đồ 
 trình tự cho usecase “Tạo mới sổ hộ khẩu”: xác định trình tự các 
 thông điệp tương tác giữa các đối tượng của các lớp phân tích 
 trong usecase này. 
 Gợi ý: 
Software Engineering Department - SoICT/HUST Trang 9 / 11 
 Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Phân tích dữ liệu cho hệ thống với biểu đồ thực thể - quan hệ (ERD) 
 • Xác định các đối tượng dữ liệu 
 • Xác định các đặc tính của các đối tượng dữ liệu 
 • Thiết lập các mối quan hệ giữa các đối tượng dữ liệu 
 Bài tập: Xây dựng mô hình dữ liệu ERD cho nhóm chức năng số 1: “1. 
 Quản lý thông tin hộ khẩu, nhân khẩu”. 
 Gợi ý: 
Software Engineering Department - SoICT/HUST Trang 10 / 11 
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm 
Nội dung bài tập tự làm 
 Hoàn thành Phân tích các yêu cầu cho bài toán (casestudy) với các 
 nội dung: phân rã các lớp phân tích, xây dựng biểu đồ trình tự 
 (biểu đồ giao tiếp), mô hình dữ liệu ERD. 
 Phần nội dung này các nhóm làm vào trong file .docx (báo cáo) 
 Các nhóm chuẩn bị thêm một slide powerpoint về nội dung Phân tích 
 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 11 / 11 

File đính kèm:

  • pdfbai_tap_nhap_mon_cong_nghe_phan_mem_tuan_7_ky_nghe_yeu_cau_p.pdf