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

Introduction to Software Engineering - Nhập môn Công nghệ phn mm  
Bài tập tun 07  
Knghệ yêu cầu phn mm (Requirement Engineering)  
(tiếp theo)  
Mục tiêu  
- Thc hiện các bài tập (câu hỏi) về phân tích yêu cầu phn mm  
- Thc hiện các bài tập về công cụ đặc tả yêu cầu phn mm  
- Phân tích các yêu cầu cho bài toán (casestudy) của môn học: sdng mt sbiu  
đồ ca 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 kch bn usecase  
o Làm quen với sơ đồ trình tự (sequence diagram)  
o Xây dựng sơ đthc 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 tyêu cầu phn mm, nắm được các  
khái niệm và những hoạt động cn thc hiện trong giai đoạn phân tích  
- Vn dng các công cụ đặc tả yêu cu phn mềm: Sơ đthc thể liên kết ERD  
(entity relation diagram) + và một sbiể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 sdụng luôn là con người, không phải là các thiết bhthng?  
1. Sai  
2. Đúng  
b) Use-cases là mt kch bản mà mô tả?  
1. Phn mm thc 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 hthng  
3. Kế hoạch xây dng cho sn phm phn mm  
4. Nhng test-case cho sn phm phn mm  
c) Phát biểu nào sau đây là đúng về yêu cầu phn mm? Trli 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í dvề 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 nghphn mm  
(2) T / F Yêu cầu đóng vai trò như một cơ sở cho vic kiểm tra và xác minh.  
(3) T / F Yêu cầu mô tả kiến trúc phn mm.  
(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 hp sdng nm 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 Mt ca sdụng đại din cho một hành vi ví dụ ca hthng.  
(8) T / F Các tình huống mrng ca mt ca sdng thiết lp shiu biết gia  
khách hàng và nhà phát triển hthng về các yêu cầu.  
(9) T / F Trong hu hết các trường hp sdng, gần như mọi bước đều có thể bị  
li.  
Bài 1.2  
a) Hãy trình bày nội dung ca hoạt động thẩm định yêu cầu?  
b) Hãy nêu một số nhược điểm/hn chế ca kthuật mô hình hóa ca sử dng?  
Bài 1.3  
y giải ô chtng hp 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ệ phn mm  
Phần II: Phân tích usecase  
Background  
Phân tích yêu cầu là nhằm trlời câu hỏi hthng sẽ làm những gì (what), hơn  
là chỉ ra cách thức (how) làm những việc đó.  
Phân rã các yêu cầu phc 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 hgiữa chúng để làm cơ sở cho gii pháp được trình  
bày trong pha thiết kế sau này. Kết qucủa quá trình phân rã là các lớp phân tích.  
Tt cả các hoạt động trong kch bn ca Use-Case phải được phản ánh đầy đủ trong  
các lớp phân tích.  
Ti sao li cần phân tích? Mô hình trợ giúp cho người phân tích trong việc hiu về  
thông tin, chức năng và hành vi của hthng.  
Software Engineering Department - SoICT/HUST  
Trang 3 / 11  
Introduction to Software Engineering - Nhập môn Công nghphn mm  
Mô hình phân tích có vai trò như cầu ni giữa các mô tả hthống và mô hình thiết  
kế:  
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 thc hin vi strợ  
giúp của chuyên gia ứng dng.  
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 thi gian.  
Tp hp của các lớp tìm ra ban đầu chưa chắc đã là tập hp 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ể bbiến đổi hoc mất đi khi sang pha thiết  
kế.  
Ba khía cnh ca hthống có thể sthay đổi:  
1. Ranh gii gia hthống và các tác nhân của nó  
2. Thông tin hthng sdng  
3. Logic điu khin ca hthng  
Software Engineering Department - SoICT/HUST  
Trang 4 / 11  
Introduction to Software Engineering - Nhập môn Công nghệ phn mm  
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 gii)  
Lp thc th(chứa thông tin)  
Lớp điều khiển (logic điều khin)  
Các loại lớp phân tích khác nhau có thể được biu din bằng các biểu tượng khác  
nhau hoc với tên của khuôn mẫu trong cp du (<< >>): <<boundary>>, <<  
control>>, <<entity>>.  
Boundary classes  
Mt lp biên là giao din trung gian gia hthng và một cái gì đó bên ngoài. Các  
lp ranh giới cách ly hthng khi những thay đổi của môi trường xung quanh (ví  
d, những thay đổi vgiao din), gicho những thay đổi này không ảnh hưởng  
đến phần còn li ca hthng.  
Mt số hướng dẫn để tìm các lớp biên:  
o Mt khuyến nghcho việc xác định ban đầu các lớp biên là: mi cặp tác nhân  
/ ca sdng xác định ít nhất 1 lớp biên.  
o Mt hthống có thể có một sloi lớp biên (theo phân loại ca actor):  
Các lớp giao diện người dùng  
Các lớp giao din hthng: ví dụ: các giao diện gọi các API của mt  
hthống khác.  
Các lớp giao din thiết bị  
Software Engineering Department - SoICT/HUST  
Trang 5 / 11  
Introduction to Software Engineering - Nhập môn Công nghphn mm  
Với usecase “To mi shkhẩu” Form To mi shkhu  
Entity classes  
Các lớp thc thể đại diện cho các kho thông tin trong hệ thống. Chúng thường  
được sdụng để đại diện cho các khái niệm chính mà hệ thng quản lý.  
Đối tượng thc thể (các thể hin ca lp thc thể) được sdụng để lưu giữ và cập  
nhật thông tin về mt skin, một người hoc một đối tượng ngoài đời thc.  
Mt số hướng dẫn để tìm các lớp thc th:  
o Đầu vào lấy lung skin theo usecase, gạch dưới các cm danh ttrong  
lung skiện. Chúng tạo thành danh sách ứng viên ban đầu của các lớp thc  
th.  
o Thc hin lc bỏ các danh từ: Loi bỏ các ứng viên thừa (trùng lặp), Loi  
bỏ các ứng viên mơ hồ, Loi bỏ các tác nhân (ngoài phạm vi), Loi bỏ các  
cấu trúc trin khai, Loi bỏ các thuộc tính (lưu để sdng sau), Loi bỏ các  
hoạt động,… còn lại là các ứng viên cho lp thc thca usecase  
Với usecase “To mi shkhẩu” Entity shkhẩu, Entity nhân khẩu  
Control classes  
Các lớp điu khin cung cp khả năng phi hợp hành vi trong hệ thng.  
Software Engineering Department - SoICT/HUST  
Trang 6 / 11  
Introduction to Software Engineering - Nhập môn Công nghệ phn mm  
Xác định logic điều khin (thtgiữa các sự kiện) và các giao dịch trong mt  
usecase  
Mt số hướng dẫn để tìm các lớp điều khin:  
o Mỗi usecase xác định ít nhất mt lớp điều khin.  
o Các usecase chỉ liên quan đến thao tác đơn giản đối với thông tin được lưu  
trhthống có thể chsdụng các lớp thc thể và lớp biên, không dùng  
lớp điều khin.  
o Các usecase phc tạp thường yêu cầu mt hoc nhiu lớp điều khin để  
điều phối hành vi của các đối tượng khác trong hệ thng. Ví dụ về các lớp  
điều khin bao gm qun lý giao dịch, điều phối tài nguyên và xử lý lỗi.  
Với usecase “To mi shkhẩu” Control Quản lý hộ khu  
Kết quả quá trình phân rã bước đầu ca usecase “Tạo mi shkhẩu”:  
Thc 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 hin lp thc thể “Sổ hộ  
khẩu”) thì cần hp 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 nghphn mm  
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:  
Mi lớp: xác định các thuộc tính và phương thức  
Quan hgiữa các lớp  
Bài tp: 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  
Vi mỗi usecase: chúng ta cần phân bổ trách nhiệm ca sdụng cho các đối tượng  
của các lớp phân tích. Đây là mt 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  
mi lp. Kết qucủa quá trình này có thể biu din bng biểu đồ trình tự  
(sequence diagram) hoc 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 thi gian. Gm: Các đối tượng tham gia tương tác và  
Trình tự các thông điệp trao đổi vi nhau.  
Software Engineering Department - SoICT/HUST  
Trang 8 / 11  
Introduction to Software Engineering - Nhập môn Công nghệ phn mm  
Biểu đồ giao tiếp (communication diagram): Là biểu đồ tương tác tập trung vào  
tchứ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 chuyn giữa các đối  
tượng. Tập trung vào sự kiện có nghĩa là chú ý đặc biệt đến mi quan h(ni kết)  
giữa các đối tưng.  
Bài tập: Từ mô tả chi tiết kch bản usecase hãy Xây dựng biểu đồ  
trình tự cho usecase “Tạo mi shkhẩ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 nghphn mm  
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 dliu  
Xác định các đặc tính của các đối tượng dliu  
Thiết lập các mối quan hgiữa các đối tưng dliu  
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ệ phn mm  
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  
ni 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ữ liu ERD.  
Phn 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 vni dung Phân tích  
các yêu cu ở trên, bui hc tiếp theo sẽ trình bày.  
HT  
Software Engineering Department - SoICT/HUST  
Trang 11 / 11  
pdf 11 trang Thùy Anh 27/04/2022 7140
Bạn đang xem 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", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_tap_nhap_mon_cong_nghe_phan_mem_tuan_7_ky_nghe_yeu_cau_p.pdf