Professional Documents
Culture Documents
file ôn tập trên LMS
file ôn tập trên LMS
file ôn tập trên LMS
com/drive/folders/1-cwFMtTnGSKhKyZba_vPYQw3OKGi5eek
Ok nhá xin nhẹ con 10
Câu 1. So sánh ưu và nhược điểm của hai phương pháp luận: Phát triển phần mềm hướng
cấu trúc và phát triển phần mềm hướng đối tượng? 3
Câu 2. Trình bày các nguyên tắc cơ bản của mô hình hóa hướng đối tượng: Sự trừu
tượng hoá, tính đóng gói, tính module hóa, sự phân cấp. Cho ví dụ ? 4
Câu 3. Trình bày các khái niệm cơ bản trong kỹ thuật hướng đối tượng: Đối tượng, lớp đối
tượng, gói, kế thừa, đa hình. Cho ví dụ ? 5
Câu 4. Trình bày các mục đích sử dụng khác nhau của UML? Các phần tử mô hình trong
UML ? 6
Câu 5. Trình bày ý nghĩa và mục đích sử dụng của các loại biểu đồ trong UML ? Cơ sở nào
để xác định được các loại biểu đồ đó ? 7
Câu 6. Phân biệt mô hình tĩnh và mô hình động trong UML ? 10
Câu 7. Mục đích của hoạt động mô hình hóa nghiệp vụ là gì ? Cho ví dụ ? 11
Câu 8. Đặc tả bổ sung và từ điển thuật ngữ là gì ? Trình bày nội dung và mục đích sử dụng
của chúng ? 12
Câu 9. Mục đích của hoạt động phân tích và thiết kế là gì ? 13
Câu 10. Kiến trúc phần mềm là gì ? Trình bày kiến trúc khung nhìn 4+1 và mẫu kiến trúc
phân tầng ? 13
Câu 11. Biểu đồ ca sử dụng là gì ? Phân biệt hai quan hệ include, extend trong biểu đồ ca
sử dụng ? 14
Câu 12. Mục đích của hoạt động phân tích ca sử dụng là gì ? Các sản phẩm của pha phân
tích hướng đối tượng ? 15
Câu 13. Các biểu đồ tương tác được tạo ra như thế nào trong phân tích ca sử dụng ?
Phân biệt biểu đồ tuần tự và biểu đồ cộng tác ? 15
Câu 14. Lớp phân tích là gì ? Trình bày vai trò và cách xác định các kiểu mở rộng
(stereotypes) của lớp phân tích: Lớp biên, lớp điều khiển và lớp thực thể ? 16
Câu 15. Phân biệt các dạng quan hệ trong biểu đồ lớp: Associations, generalization,
aggregation, composition, dependency. 17
Câu 16. Mục đích của việc xác định các phần tử thiết kế là gì ? 17
Câu 17. Hệ thống con là gì ? Hệ thống con dùng để làm gì ? Phân biệt hệ thống con và gói
? Cách xác định các hệ thống con ? 18
Câu 18. Cơ chế phân tích trong thiết kế hướng đối tượng dùng để làm gì ? Tại sao cần
phân loại các cơ chế phân tích ? 18
Câu 19. Mục đích của thiết kế các ca sử dụng, các lớp, các hệ thống con và cơ sở dữ liệu
là gì ? Các lớp được làm mịn bằng cách nào trong pha thiết kế hướng đối tượng ? 18
Câu 20. Trình bày cách xác định và vẽ mô hình miền nghiệp vụ ? 19
Câu 21. Trình bày cách xác định và vẽ biểu đồ ca sử dụng ? 19
Câu 22. Trình bày cách xác định và vẽ biểu đồ tuần tự ? 20
Câu 23. Trình bày cách xác định và vẽ biểu đồ lớp chi tiết ? 21
Câu 24. Trình bày cách xác định và vẽ biểu đồ hoạt động ? 21
Câu 25. Ý nghĩa của việc đóng gói sự tương tác giữa các hệ thống con là gì ? 22
Câu 26: Nêu các bước trong Phân tích hướng đối tượng? Có những loại biểu đồ nào dùng trong pha
phân tích hướng đối tượng? 22
Câu 27 : Các mô hình : Thác nước , bản mẫu, xoắn ốc 22
Bài tập 29
Câu 1. So sánh ưu và nhược điểm của hai phương pháp luận: Phát triển phần mềm hướng cấu trúc và
phát triển phần mềm hướng đối tượng?
*Phát triển phần mềm hướng cấu trúc
Đặc trưng của phương pháp hướng cấu trúc là phân chia chương trình chính thành nhiều chương trình
con, mỗi chương trình con nhằm đến thực hiện một công việc xác định. Thiết kế dựa trên 2 hướng: hướng
dữ liệu hoặc hướng hành động.
a. Ưu điểm:
- Đặc trưng của phương pháp hướng cấu trúc là phân chia chương trình chính thành nhiều chương trình
con, mỗi chương trình con nhằm đến thực hiện một công việc xác định.
- Thiết kế dựa trên 2 hướng: hướng dữ liệu hoặc hướng hành động.
- Tư duy phân tích thiết kế rõ ràng, chương trình sáng sủa dễ hiểu.
- Không phù hợp cho phát triển các phần mềm lớn.
- Khó quản lý, dễ gây ra lỗi trong quá trình phân tích, khó kiểm thử và bảo trì.
- Không mô hình hoá được các yêu cầu hệ thống phi chức năng
*Phát triển phần mềm hướng đối tượng
Phương pháp hướng đối tượng tập trung vào cả hai khía cạnh của hệ thống là dữ liệu và hành động bằng
cách ánh xạ các thành phần của bài toán vào các đối tượng ngoài đời thực.
a. Ưu điểm
- phương pháp hướng đối tượng tập trung vào cả hai khía cạnh của hệ thống là dữ liệu và hành động.
2. Trình bày các nguyên tắc cơ bản của mô hình hóa hướng đối tượng: Sự trừu tượng hoá, tính đóng
gói, tính module hóa, sự phân cấp. Cho ví dụ ?
- Trừu tượng hóa (abstraction): Trong phương pháp hướng đối tượng, các thực thể phần mềm được mô
hình hóa dưới dạng các đối tượng. Các đối tượng này được trừu tượng hóa ở mức cao hơn dựa trên thuộc
tính và phương thức mô tả đối tưCâu ợng để tạo thành các lớp (ví dụ bản thiết kế nhà là lớp, ngôi nhà được
xây dựng dựa trên bản thiết kế là đối tượng). Các lớp cũng sẽ được trừu tượng hóa ở mức cao hơn nữa để
tạo thành một sơ đồ các lớp được kế thừa lẫn nhau. Trong phương pháp hướng đối tượng có thể tồn tại
những lớp không có đối tượng tương ứng được gọi là lớp trừu tượng. Như vậy, nguyên tắc cơ bản để xây
dựng các khái niệm trong hướng đối tượng là sự trừu tượng hóa theo các mức độ khác nhau.
Ví dụ:
- Sự trừu tượng có thể được hiểu đơn giản như sau:
+) Giả sử, kiến trúc để xây dựng 1 chiếc xe sẽ bao gồm: Bánh xe, yên xe, thắng.
+) Như vậy, những mô hình xe máy, xe đạp, xe hơi cũng được gọi là xe khi chúng thỏa mãn những yếu tố
mà kiến trúc một chiếc xe quy định.
Diễn giải lại điều ở trên bằng hình ảnh để thấy rõ điều đó:
+) Qua biểu đồ này chúng ta thầy rằng, khi chiếc xe đạp, xe máy, xe hơi kế thừa mô hình xe. Nó sẽ
phải định nghĩa 3 phương thức trừu tượng là banhxe(), yenxe(), thangxe(). Dù rằng ở mỗi thể loại xe
đều có những đặc thù riêng biệt.
- Tính đóng gói (encapsulation): Các đối tượng có thể có những phương thức hoặc thuộc tính riêng biệt
(kiểu private) mà các đối tượng khác không thể sử dụng được một cách trực tiếp. Tất cả mọi thao tác truy
xuất vào thành phần dữ liệu từ đối tượng này qua đối tượng khác phải được thực hiện bởi các phương thức
(method) của chính đối tượng chứa dữ liệu. Dựa trên nguyên tắc ẩn giấu thông tin này, cài đặt của các đối
tượng sẽ hoàn toàn độc lập với các đối tượng khác, các lớp độc lập với nhau và cao hơn nữa là cài đặt của
hệ thống hoàn toàn độc lập với người sử dụng cũng như các hệ thống khác sử dụng kết quả của nó.
VD: lớp HinhChuNhat có các thuộc tính chieudai, chieurong, phạm vi truy cập là private, có các phương
thức set và get. Các lớp khác không thể trực tiếp thay đổi các giá trị chieudai, chieurong của nó, nhưng có
thể thay đổi chúng thông qua phương thức set và get.
- Tính module hóa(modularity): là sự phân rã về mặt vật lý hoặc logic một hệ thống lớn và phức tạp
thành các thành phần quản lý được. Phân rã hệ thống thành các hệ thống con. Các hệ thống con này được
phát triển độc lập và có thể tương tác được với nhau
VD: Hệ thống đăng ký môn học ở các trường đại học phân thành 3 phần độc lập sau: hệ thống thanh toán
tiền, hệ thống quản lý sinh viên, và hệ thống cung cấp danh sách các môn học.
- Tính phân cấp(hierarchy): Là dạng phân cấp theo các mức độ trừu tượng từ cao đến thấp thành các cấu
trúc cây.
VD: Phân cấp ra thành các lớp cha, lớp con, lớp con lại là lớp cha của các lớp khác.
Câu 3. Trình bày các khái niệm cơ bản trong kỹ thuật hướng đối tượng: Đối tượng, lớp đối tượng, gói,
kế thừa, đa hình. Cho ví dụ ?
- Đối tượng (object): Một đối tượng biểu diễn một thực thể vật lý, một thực thể khái niệm hoặc một thực
thể phần mềm. Có thể định nghĩa một đối tượng là một khái niệm, sự trừu tượng hoặc một vật với giới hạn
rõ ràng và có ý nghĩa với một ứng dụng cụ thể
Ví dụ: Là con người thì chúng ta sẽ có các trạng thái như: màu da, màu mắt, màu tóc, chiều cao, cân nặng,
… có các hành vi như: ăn, uống, làm việc, ... ⇒ con người là 1 đối tượng.
- Lớp (Class): Là mô tả của một nhóm đối tượng có chung các thuộc tính, hành vi và các mối quan hệ.
Như vậy, một đối tượng là thể hiện của một lớp và một lớp là một định nghĩa trừu tượng của đối tượng.
VD: Lớp Student sẽ bao gồm một tập hợp các sinh viên của một lớp học, Lớp Mammals sẽ bao gồm một
tập hợp các động vật có vú trên thế giới, …
- Thành phần (component): là một phần của hệ thống hoạt động độc lập và giữ một chức năng nhất định
trong hệ thống.
VD: Hệ thống con thanh toán trong hệ thống đăng ký môn học cho sinh viên.
- Gói (package): là một cách tổ chức các thành phần, phần tử trong hệ thống thành các nhóm có chức năng
liên với nhau. Nhiều gói có thể được kết hợp với nhau để trở thành một hệ thống con (subsystem).
VD: Một hệ thống đăng ký học được phân thành các gói: giao diện, gói các lớp cơ bản, …
- Kế thừa: Trong phương pháp hướng đối tượng, một lớp có thể sử dụng lại các thuộc tính và phương thức
của một hoặc nhiều lớp khác. Kiểu quan hệ này gọi là quan hệ kế thừa, được xây dựng dựa trên mối quan
hệ kế thừa trong bài toán thực tế.
VD: Lớp Người gồm các thuộc tính: tên, ngày sinh, quê quán, giới tính;
Lớp Nhân Viên có quan hệ kế thừa từ lớp Người sẽ có tất cả các thuộc tính trên và bổ sung thêm các thuộc
tính mới gồm: chức vụ, lương.
- Tính đa hình: Là hiện tượng các đối tượng thuộc các lớp khác nhau có thể xử lý cùng 1 thông điệp theo
các cách khác nhau. Các lớp phải có quan hệ kế thừa với cùng một lớp cha nào đó.
- VD: Ta có 2 Lớp: chó, mèo. Cả 2 Lớp này đều kế thừa lớp động vật. Nhưng khi ta thực thi phương thức
tiengkeu (tiếng kêu) ở 2 lớp thì cho ra kết quả khác nhau (lớp cho phát ra âm thanh “gâu gâu”, lớp mèo
phát ra âm thanh “meo meo”).
Câu 4. Trình bày các mục đích sử dụng khác nhau của UML? Các phần tử mô hình trong UML ?
- UML (Unified Modelling Language) là ngôn ngữ mô hình hóa tổng quát được xây dựng để đặc tả, phát
triển và viết tài liệu cho các khía cạnh trong phát triển phần mềm hướng đối tượng. UML giúp người phát
triển hiểu rõ và ra quyết định liên quan đến phần mềm cần xây dựng.
* Mục đích của UML:
a. UML là một ngôn ngữ
- Một ngôn ngữ cung cấp từ vựng, ngữ pháp (cú pháp) và ngữ nghĩa để mô tả sự giao tiếp
- Một ngôn ngữ mô hình hóa là ngôn ngữ mà trong đó từ vựng và luật được sử dụng để mô tả mức khái
niệm và mức vật lý của một hệ thống
- UML cung cấp từ vựng và luật để mô tả các mô hình khác nhau của một hệ thống
(-UML là ngôn ngữ mô hình hóa:là phương tiện diễn tả hệ thống thông qua các từ vựng có sẵn theo 1 quy
tắc xác định.Từ vựng và các luật của UML cung cấp cơ sở để đọc hiểu và xây dựng các mô hình.)
b. UML là ngôn ngữ để mô hình hóa trực quan
- UML cung cấp tập hợp các ký hiệu và luật để biểu diễn đồ họa những mô hình của hệ thống.
- Biểu diễn đồ họa thường đem lại cái nhìn tốt hơn về hệ thống
(UML là ngôn ngữ trực quan hóa để hiển thị: Sự giao tiếp giữa các mô hình mức khái niệm dễ phát sinh lỗi
trừ khi những người liên quan dùng chung một ngôn ngữ diễn đạt.Một số yếu tố trong hệ thống phần mềm
cần phải mô hình hoá mới có thể hiểu được.Một số thông tin sẽ bị mất đi nếu nhóm phát triển không tài liệu
hoá các mô hình đang hình dung)
- Các biểu đồ tương tác biểu diễn mối liên hệ giữa các đối tượng trong hệ thống và giữa các đối
tượng với các tác nhân bên ngoài. Có hai loại biểu đồ tương tác: Biểu đồ tuần tự và biểu đồ cộng
tác.
a. Ý nghĩa
- Biểu đồ tuần tự: Biểu diễn mối quan hệ giữa các đối tượng, giữa các đối tượng và tác nhân theo
thứ tự thời gian. Biểu đồ tuần tự nhấn mạnh thứ tự thực hiện của các tương tác.
- Biểu đồ cộng tác: Là biểu đồ tương tác biểu diễn mối quan hệ giữa các đối tượng; giữa các đối
tượng và tác nhân nhấn mạnh đến vai trò của các đối tượng trong tương tác.
- Biểu đồ cộng tác cũng có các message với nội dung tương tự như trong biểu đồ tuần tự. Tuy nhiên,
các đối tượng được đặt một cách tự do trong không gian của biểu đồ và không có đường lifeline cho
mỗi đối tượng. Các message được đánh số thể hiện thứ tự thời gian.
b. Mục đích
Mục đích:
- Biểu diễn một tương tác, bao gồm tập các đối tượng, các quan hệ và các thông điệp giao tiếp giữa
chúng.
- Biểu diễn khung nhìn động của hệ thống. Trong đó:
+) Biểu đồ tuần tự chú trọng vào trình tự thực hiện của các thông điệp
+) Biểu đồ cộng tác quan tâm đến tổ chức cấu trúc của các đối tượng trong quá trình truyền và nhận
thông điệp.
c. Cơ sở xác định: dựa trên mô hình ca sử dụng để xây dựng.
4. Biểu đồ trạng thái
a. Ý nghĩa
- Biểu đồ trạng thái được sử dụng để biểu diễn các trạng thái và sự chuyển tiếp giữa các trạng thái
của các đối tượng trong một lớp xác định. Thông thường, mỗi lớp sẽ có một biểu đồ trạng thái (trừ
lớp trừu tượng là lớp không có đối tượng).
b. Mục đích:
● Mô tả hành vi động của các đối tượng theo thời gian bằng cách mô hình hóa vòng đời của các
đối tượng.
● Mô tả bản thân đối tượng phản ứng ra sao trước các sự kiện và chúng thay đổi trạng thái nội bộ
như thế nào.
c. Cơ sở xác định:
● Chuyển biểu đồ trình tự thành biểu đồ trạng thái
● Xác định các vòng lặp
● Bổ sung thêm các điều kiện biên và các điều kiện đặc biệt
● Trộn lẫn các kịch bản khác vào trong biểu đồ.
Mô hình tĩnh được sử dụng để biễu diễn các thành phần tĩnh như
- Class
- Object
- Interface
- Mô hình động được sử dụng để biểu diễn hành vi của các thành phần tĩnh
- Mô hình động cũng được sử dụng để biểu diễn sự tương tác, luông hoạt động và các trạng thái khác nhau
của các thành phần tĩnh
- Tổ văn phòng: Gồm 1 Giám Đốc và 2 phó Giám Đốc có nhiệm vụ điều phối toàn bộ hoạt động
của siêu thị. Tổ phải nắm được tình hình mua bán, doanh thu của siêu thị để báo cáo lại cho ban
giám đốc hợp tác xã Hà Nội Co-Op. Việc báo cáo được thực hiện hàng tháng, hàng quý hoặc
cũng có khi báo cáo đột xuất theo yêu cầu.
- Tổ bảo vệ: Kiểm tra, bảo vệ an ninh của Siêu Thị, ghi nhận Hàng Hóa đổi lại của khách hàng.
- Tổ thu ngân: Thực hiện việc bán hàng và lập hóa đơn cho khách hàng đồng thời ghi nhận lại số
hàng hoá bán được của mỗi loại để báo cáo cho tổ quản lý sau mỗi ca làm việc.
- Tổ mặt hàng: Nhiệm vụ của tổ là kiểm tra chất lượng hàng hoá và nắm tình trạng hàng hoá của
siêu thị, đảm bảo hàng hóa luôn ở trong tình trạng tốt nhất khi đến tay khách hàng. Khi phát hiện
hàng hư hỏng phải kịp thời báo ngay cho tổ văn phòng để có biện pháp giải quyết và điều phối
hàng. Ngoài ra, thường xuyên thống kê số lượng hàng tồn trên quầy, báo cáo về tổ văn phòng
- Tổ tin học: Thực hiện việc nhập liệu, kết xuất các báo cáo cần thiết phục vụ cho tổ Văn Phòng.
Câu 8. Đặc tả bổ sung và từ điển thuật ngữ là gì ? Trình bày nội dung và mục đích sử dụng của chúng
?
- Từ điển thuật ngữ bao gồm các thuật ngữ trong miền của hệ thống, được mô tả ở dạng văn bản và được
dùng chung tất cả các mô hình của hệ thống. Nó thường phát biểu định nghĩa các thuật ngữ quan trọng
được sử dụng trong dự án. Mục đích là cung cấp cho người phát triển một cách hiểu thống nhất để sử dụng
chúng và tạo được sự thuận tiện trong giao tiếp.
- Tài liệu đặc tả bổ sung bao gồm các yêu cầu bổ sung quan trọng cho mô hình ca sử dụng, những yêu cầu
không được đề cập trong mô hình ca sử dụng. Tài liệu này cùng với tài liệu ca sử dụng sẽ cung cấp thông
tin đầy đủ cho một đặc tả yêu cầu về hệ thống.
Các yêu cầu chức năng trong tài liệu đặc tả bổ sung thường là các ràng buộc cho việc thực thi hệ thống. Các
ràng buộc có thể được phân lớp như sau:
+ Ràng buộc chức năng
+ Tính có thể sử dụng được
+ Tính có thể tin cậy được
+ Tính trình diễn
+ Các ràng buộc thiết kế
Các đặc tả bổ sung đi kèm với mô hình ca sử dụng. Chúng được tạo và xem xét ngay từ rất sớm trong pha
xây dựng, góp phần làm rõ phạm vi của hệ thống.
- Kiến trúc phần mềm chứa đựng một tập các quyết định thiết yếu về tổ chức hệ thống phần mềm. Nó phản
ánh các khía cạnh cấu trúc, hành vi và cách tổ chức phân cấp trong hệ thống.
Được biểu diễn ở dạng biểu thức:
Kiến trúc = Các phần tử + Các khuôn dạng + Các cơ sở hợp lý
Câu 12. Mục đích của hoạt động phân tích ca sử dụng là gì ? Các sản phẩm của pha phân tích hướng
đối tượng ?
- Mục đích của hoạt động phân tích ca sử dụng:
+ Xác định các lớp phân tích thực thi các luồng sự kiện của ca sử dụng
+ Phân bố các hành vi ca sử dụng cho các lớp này sử dụng các hiện thực hóa các ca sử dụng
+ Đề xác định các trách nhiệm, thuộc tính và liên kết giữa các lớp phân tích
+ Để liên hệ với các lớp phân thích đến từng cơ chế kiến trúc đã xác định được
- Các sản phẩm của pha phân tích hướng đối tượng:
+ Các lớp phân tích
+ Các hiện thực hóa ca sử dụng
Câu 13. Các biểu đồ tương tác được tạo ra như thế nào trong phân tích ca sử dụng ? Phân biệt biểu đồ
tuần tự và biểu đồ cộng tác ?
(Phần này đọc hiểu không cần học:
⮚ Các biểu đồ tương tác biểu diễn mối liên hệ giữa các đối tượng trong hệ thống và giữa các đối tượng
với các tác nhân bên ngoài.
⮚ Biểu đồ tương tác được sử dụng để mô hình hóa tương tác giữa các đối tượng.
⮚ Có hai loại biểu đồ tương tác: Biểu đồ tuần tự và biểu đồ cộng tác.
▪ Biểu đồ tuần tự: Nhấn mạnh trình tự thực hiện các tương tác.
▪ Biểu đồ cộng tác: Nhấn mạnh đến vai trò của các đối tượng trong tương.. tác.)
* Biểu đồ tương tác được tạo ra trong phân tích ca sử dụng:
● Bắt đầu từ luồng sự kiện
● Các bước xây dựng biểu đồ tương tác
+ tìm kiếm đối tượng: các đối tượng thực thể (entity), đối tượng biên (boundary), đối tượng điều
khiển (control).
+ tìm kiếm tác nhân: tác nhân trong biểu đồ tương tác là sự kích hoạt từ ngoài để khởi động luồng
công việc của luồng sự kiện.
+ bổ sung thông điệp vào biểu đồ
+ thêm các liên kết (link), các chú thích và ràng buộc.
● Có thể hình thành các biểu đồ tương tác ở các mức:
+ cao: để chỉ ra hệ thống giao tiếp như thế nào
+thấp: để chỉ ra các lớp nào cần tham gia vào kịch bản.
Câu 14. Lớp phân tích là gì ? Trình bày vai trò và cách xác định các kiểu mở rộng (stereotypes) của lớp
phân tích: Lớp biên, lớp điều khiển và lớp thực thể ?
- Lớp phân tích là những lớp đầu tiên (proto-classes) chứa đựng các hành vi thiết yếu tương ứng với các
trách nhiệm được gán. Chúng là những hình dung ban đầu về sự hợp thành của hệ thống .Được sử dụng để
nắm bắt một mô hình đối tượng mức phác thảo về hệ thống hướng tới đáp ứng các chức năng chính.
+ Lớp biên: lớp biên đóng vai trò là cầu nối giữa giao diện và những thứ ở bên ngoài hệ thống, thuộc về
môi trường. Một hệ thống sẽ có vài kiểu lớp biên sau: lớp giao diện người dùng, giao diện hệ thống, giao
diện thiết bị, một khuyến cáo cho việc xác định các lớp biên là mỗi cặp tác nhân và ca sử dụng sẽ tương
ứng với một lớp biên.
+ lớp thực thể: là lớp đại diện cho các thực thể chứa thông tin về các đối tượng xác định nào đó. một số
nguồn thông tin để xác định các lớp thực thể:
o Từ điển thuật ngữ (đc xác định trong khâu nắm bắt yêu cầu)
o Mô hình miền nghiệp vụ (được phát triển trong khâu mô hình hóa miền nghiệp vụ)
o Mô tả luồng sự kiện ca sử dụng (đc phát triển trong khâu nắm bắt yêu cầu)
o Các trừu tượng chính (đc xác định trong khâu phân tích kiến trúc).
+ lớp điều khiển: các lớp điều khiển đóng vai trò điều phối hành vi trong hệ thống ứng với các chức
năng cụ thể nào đó đối với một nhóm các lớp biên hoặc lớp thực thể xác định. Xác định lớp điều khiển dựa
vào hành vi của chúng:
o Những hành vi đó thường độc lập vs bên ngoài
o Chúng xác định các logic điều khiển và tổ chức các giao dịch trong ca sử dụng.
o Hành vi ít bị thay đổi khi cấu trúc bên trong thay đổi
Câu 15. Phân biệt các dạng quan hệ trong biểu đồ lớp: Associations, generalization, aggregation,
composition, dependency.
- Quan hệ kết hợp (Association): là một sự nối kết giữa các lớp, cũng có nghĩa là sự nối kết giữa các đối
tượng của các lớp này.
-U
- Quan hệ cộng hợp (Aggregation): là dạng quan hệ mô tả một lớp A là một phần của lớp B và lớp A có
thể tồn tại độc lập. Quan hệ cộng hợp được biểu diễn bằng một mũi tên gắn hình thoi rỗng ở đầu hướng về
lớp bao hàm.
- Quan hệ gộp (Composition): Một quan hệ gộp biểu diễn một quan hệ kiểu tổng thể-bộ phận. Lớp A có
quan hệ gộp với lớp B nếu lớp A là một phần của lớp B và sự tồn tại của đối tượng lớp B điều khiển sự tồn
tại của đối tượng lớp A. Quan hệ này được biểu diễn bởi một mũi tên gắn hình thoi đặc ở đầu.
- Quan hệ phụ thuộc (Dependency): Phụ thuộc là mối quan hệ giữa hai lớp đối tượng: một lớp đối tượng
A có tính độc lập và một lớp đối tượng B phụ thuộc vào A; một sự thay đổi của A sẽ ảnh hưởng đến lớp
phụ thuộc B.
- Quan hệ thực thi (Realization): biểu diễn mối quan hệ ngữ nghĩa giữa các thành phần của biểu đồ lớp,
trong đó một thành phần mô tả một công việc dạng hợp đồng và thành phần còn lại thực hiện hợp đồng đó.
Thông thường lớp thực hiện hợp đồng có thể là các giao diện.
Câu 16. Mục đích của việc xác định các phần tử thiết kế là gì ?
Là một hoạt động thuộc giai đoạn làm mịn kiến trúc của hệ thống, là quá trình làm mịn các lớp phân tích đã
được xác định trong giai đoạn phân tích Use Case.
Mục đích: Phân tích sự tương tác của các lớp phân tích trong mô hình phân tích để xác định các phần tử
thiết kế của mô hình thiết kế.
Input: Tài liệu đặc tả bổ sung, tài liệu kiến trúc phần mềm, mô hình phân tích (các lớp phân tích).
Output: Các lớp thiết kế, các gói thiết kế và các hệ thống con.
Trong quá trình xác định các phần tử thiết kế: Các lớp phân tích chuyển thành các lớp thiết kế hoặc các hệ
thống con hoặc các thành phần không cần thiết kế.
Câu 17. Hệ thống con là gì ? Hệ thống con dùng để làm gì ? Phân biệt hệ thống con và gói ? Cách xác
định các hệ thống con ?
- Hệ thống con là các phần tử của mô hình thiết kế được nhóm lại với nhau, thường là các sản phẩm đã tồn
tại hoặc các dịch vụ mà hệ thống sử dụng.(là một phần tử mô hình có ngữ nghĩa giống với 1 gói và một lớp)
- Vai trò: giúp chúng ta xác định được quan hệ giữa các nhóm và vì thế cấu trúc chung của mô hình rõ ràng
hơn, đảm bảo các thay đổi của hệ thống ít bị ảnh hưởng hơn.
- Phân biệt:
● Một gói được xác định dựa trên các lớp có liên quan đến chức năng.
● Hệ thống con cung cấp các giao diện chứa các hành vi mà nó có thể được truy cập, các gói k cung
cấp hành vi mà nó là các bộ chứa trong đó có hành vi.
● Các gói giúp tổ chức và điều khiển tập hợp các lớp cần thiết thông thường, nhưng có không phải là
hệ thống con thật sự.
● Các gói chỉ được sử dụng để mô hình hóa sự tổ chức và quản lý cấu hình.
(-Các gói : Không cung cấp hành vi,không đóng gói hoàn toàn nội dung của chúng,không dễ bị thay
đổi
-Các hệ thống con: cung cấp hành vi, đóng gói hoàn toàn nội dung và dễ bị thay đổi)
Câu 18. Cơ chế phân tích trong thiết kế hướng đối tượng dùng để làm gì ? Tại sao cần phân loại các cơ
chế phân tích ?
- Cơ chế phân tích trong thiết kế hướng đối tượng cung cấp một tập các khái niệm về dịch vụ sử dụng để
phân tích các đối tượng, cho phép lấy các yêu cầu dịch vụ sẽ được thiết kế của hệ thống, làm mịn các cơ
chế phân tích dựa trên các ràng buộc của môi trường thực thi.
- Mục đích của phân loại cơ chế phân tích là để làm mịn các thông tin ban đầu các cơ chế phân tích xác
định được, vì vậy cần phải phân loại các cơ chế phân tích để phân tích chính xác, có hiệu quả.
Câu 19. Mục đích của thiết kế các ca sử dụng, các lớp, các hệ thống con và cơ sở dữ liệu là gì ? Các lớp
được làm mịn bằng cách nào trong pha thiết kế hướng đối tượng ?
- Mục đích thiết kế các ca sử dụng là để làm mịn hiện thực hóa ca sử dụng và các yêu cầu liên quan đến
thao tác của các lớp và hệ thống con.
- Mục đích thiết kế các lớp là để đảm bảo các lớp cung cấp các hành vi mà hiện thực hóa ca sử dụng yêu
cầu, đảm bảo cung cấp các thông tin đầy đủ để cài đặt lớp. hoạt động này cũng để nắm bắt các yêu cầu phi
chức năng đến các lớp và tích hợp các cơ chế thiết kế được sử dụng bởi các lớp.
- Mục đích thiết kế các hệ thống con là để định nghĩa các hành vi đặc tả trong giao diện hệ thống con, để tài
liệu hóa cấu trúc bên trong hệ thống con, để định nghĩa quan hệ hiện thực hóa giữa giao diện hệ thống con
và các lớp và để xác định sự phụ thuộc với các phần tử khác.
- Mục đích thiết kế cơ sở dữ liệu là xác định các lớp bền vững trong thiết kế, thiết kế các cấu trúc dữ liệu để
lưu trữ và tìm kiếm dữ liệu bền vững phù hợp với các tiêu chuẩn hiệu năng của hệ thống.
- Các lớp được làm mịn thông qua các cơ chế phân tích trong thiết kế hướng đối tượng.
Câu 20. Trình bày cách xác định và vẽ mô hình miền nghiệp vụ ?
Một mô hình miền là một thể hiển trực quan của các lớp khái niệm hoặc các đối tượng thực trong một
miền. Mô hình miền cũng được gọi là mô hình khái niệm, mô hình đối tượng miền hay mô hình đối tượng
phân tích
Cách xác định:
- Tìm các lớp khái niệm.
o Tái sử dụng, sửa đổi các mô hình miền sẵn có. Đây là cách tiếp cận đầu tiên, tốt nhất và
thường là dễ nhất.
o Sử dụng một danh sách danh mục.
o Xác định các cụm danh từ.
- Vẽ chúng như các lớp trong biểu đồ lớp của UML.
- Thêm các liên kết và các thuộc tính.
Vd:
▪ Nó định nghĩa một chức năng có thể sử dụng bởi các tác nhân.
o Xác định Quan hệ giữa các tác nhân và các ca sử dụng.
▪ Quan hệ giữa tác nhân với tác nhân : tổng quát hóa
▪ Mô tả hành vi của ca sử dụng, mô tả luồng logic đi qua use case, mô tả người dùng
làm gì, hệ thống làm gì.
Câu 23. Trình bày cách xác định và vẽ biểu đồ lớp chi tiết ?
*Để vẽ biểu đồ lớp chi tiết cần xác định:
● Lớp: Một lớp là một mô tả của một tập các đối tượng có chung thuộc tính, phương thức và quan hệ
● Thuộc tính: public, private, protected, package
● Phương thức
● Stereotype của lớp: Boundary, Entity, Control
● Quan hệ
● Liên kết (Associations)
o Tổng quát hóa (Generalization)
o Phụ thuộc (Dependency)
o Thực hiện (Realization)
● Các luật ràng buộc và ghi chú
Câu 24. Trình bày cách xác định và vẽ biểu đồ hoạt động ?
-Biểu đồ hoạt động bao gồm activities, states và transitions
● Một hoạt động là đặc tả của hành vi được biểu diễn bởi một luồng các hành động
● Một trạng thái là điểm mà các sự kiện cần đạt tới trước khi hoạt động tiếp tục
● Một chuyển tiếp là việc chuyển đổi giữa các hoạt động hoặc trạng thái
- Điểm quyết định là điểm trong một luồng công việc mà ở đó việc chuyển tiếp từ một trạng thái hoặc một
hoạt động phân theo các nhánh khác nhau tùy theo điều kiện
- Một chuyển tiếp xuất hiện khi tất cả các hành động của một hoạt động hoàn thành hoặc khi một sự kiện
kích hoạt việc thoát khỏi nó từ một trạng thái hoặc sự kiện khác
- Làn bơi là một biểu diễn để chỉ ra một hoạt động diễn ra ở đâu trong một hệ thống phức tạp
Câu 25. Ý nghĩa của việc đóng gói sự tương tác giữa các hệ thống con là gì ?
Cho phép các phần tử thiết kế có thể được thay thế bởi bất kỳ phần tử khác nếu chúng cung cấp cùng hành
vi. Nó cũng cho phép người thiết kế hoàn toàn tự do trong việc thiết kế các hành vi bên trong của hệ thống
con, cũng như cung cấp các hành vi ra bên ngoài chính xác.
Câu 26: Nêu các bước trong Phân tích hướng đối tượng? Có những loại biểu đồ nào dùng trong pha
phân tích hướng đối tượng?
- Xây dựng Biểu đồ lớp: Xác định tên các lớp, các thuộc tính của lớp, một số phương thức và mối quan hệ
cơ bản trong sơ đồ lớp.
- Xây dựng biểu đồ trạng thái: Mô tả các trạng thái và chuyển tiếp trạng thái trong hoạt động của một đối
tượng thuộc một lớp nào đó.
Câu 28 Phân biệt biểu đồ tuần tự và biểu đồ cộng tác. Các chú ý khi biểu diến hai biểu đồ này?
- Biểu đồ tuần tự: Biểu diễn mối quan hệ giữa các đối tượng, giữa các đối tượng và tác nhân theo thứ tự
thời gian. Biểu đồ tuần tự nhấn mạnh thứ tự thực hiện của các tương tác
- Biểu đồ cộng tác: Là biểu đồ tương tác biểu diễn mối quan hệ giữa các đối tượng; giữa các đối tượng và
tác nhân nhấn mạnh đến vai trò của các đối tượng trong tương tác.
Biểu đồ cộng tác cũng có các message với nội dung tương tự như trong biểu đồ tuần tự. Tuy nhiên, các đối
tượng được đặt một cách tự do trong không gian của biểu đồ và không có đường lifeline cho mỗi đối tượng.
Các message được đánh số thể hiện thứ tự thời gian.
Câu 29:
UML có thể sử dụng cho các ứng dụng: sử dụng cho đặc tả, biểu diễn, xây dựng tài liệu hóa các chế tác của
hệ thống phần mềm nói riêng hoặc chế tác của hệ thống thông tin nói chung
- Các hệ thống thông tin: lưu trữ, truy vấn, biểu diễn thông tin trong CSDL quan hệ hay CSDL hướng
đối tượng
- Các hệ thống thông tin: điều khiển các thiết bị kỹ thuật trong công nghiệp, quân sự
- Các hệ thống nhúng thời gian thực: Nhúng trong các thiết bị khác như điện thoại di động, xe ô tô.
Các hệ thống này thường thiếu thiết bị như màn hình, ổ đĩa,
- Các hệ thống phân tán: Phân tán trên nhiều máy, cần cơ chế đồng bộ toàn vẹn dữ liệu, xây dựng trên
cơ sở đối tượng như CORBA, COM/DCOM
- Các hệ thống thương mại
Các loại biểu đồ UML:
- Biểu đồ UC(Use Case diagram)
- Biểu đồ lớp(Class diagram)
- Biểu đồ đối tượng(Object diagram)
- Biểu đồ trình tự (sequence diagram)
- Biểu đồ cộng tác (Collaboration Diagram)
- Biểu đồ trạng thái(state diagram)
- Biểu đồ hoạt động (activity diagram)
- Biểu đồ thành phần (component diagram)
- Biểu đồ triển khai (deployment diagram)
b)
4 nguyên tắc cơ bản hướng đối tượng:
- Trừu tượng hóa: (abstraction): Trừu tượng hoá là các đặc điểm thiết yếu của một thực thể để phân
biệt nó với tất cả các loại thực thể khác
Ví dụ:
- Tính đóng gói (Encapsulation): Tính đóng gói là sự quy tụ các tính chất (các thuộc tính và các hành
vi) vào trong một hộp đen trừu tượng, nó cho phép ẩn đi sự cài đặt ở đằng sau các giao diện
Ví dụ :
- Tính module hóa (Modularity): Tính mô-đun hoá là sự phân rã về mặt vật lý hoặc logic một thứ nào
đó phức tạp thành các nhóm nhỏ, cấu trúc đơn giản hơn và có thể quản lý được
Ví dụ :
- Tính phân cấp (Hierarchy): Sự phân cấp là sự sắp xếp thứ tự hoặc phân hạng sự trừu tượng hoá của
các đối tượng theo một cấu trúc cây
Ví dụ :
Câu 1 (AT15 lần 1)
a. Vai trò của biểu đồ tương tác là gì? Anh chị hãy trình bày sự giống nhau và khác nhau giữa biểu đồ
tuần tự và biểu đồ giao tiếp
b. Mục đích của khâu nắm bắt yêu cầu là gì? Nêu các chế tác chính của khâu nắm bắt yêu cầu, mô tả
nội dung của từng chế tác?
Trả lời:
a)
Vai trò của biểu đồ tương tác:
- Mô hình hóa khía cạnh động của hệ thống
- Chỉ ra tương tác gồm tập đối tượng, quan hệ và các thông điệp trao đổi giữa chúng
- Chỉ ra từng bước của 1 luồng điều khiển cụ thể trong UC
Giống nhau - Gồm các thành phần : đối tượng, liên kết, sự kiện & thông điệp,
chú thích và ràng buộc như các biểu đồ khác
- Đều biểu diễn các cộng tác
(tương đương về mặt ngữ nghĩa,mô hình hóa khía cạnh động của
hệ thống, mô hình hóa kịch bản ca sử dụng)
Khác nhau .• Chỉ ra thứ tự rõ ràng của các • Chỉ ra mối quan hệ rõ ràng giữa
thông điệp. các đối tượng.
• Thể hiện luồng công việc tốt hơn. • Thể hiện quá trình giao tiếp tốt
• Mô hình hoá trực quan hơn toàn hơn.
bộ luồng thực thi (theo thời gian). • Mô hình hóa trực quan hơn tất cả
• Thể hiện tốt hơn đối với các đặc các ảnh hưởng của đối tượng.
tả thời gian thực và các kịch bản • Thể hiện rõ hơn hiệu quả của quá
phức tạp trình tương tác trên từng đối tượng
(Nhấn mạnh vào trình tự thời gian (Nhấn mạnh vào việc tổ chức các
của các thông điệp trao đổi giữa các đối tượng tham gia vào tương tác.)
đối tượng.)
b) -Mục đích của khâu nắm bắt yêu cầu:
● Thiết lập và duy trì những thỏa thuận với khách hàng và các bên liên quan về những gì hệ thống
cần phải làm.
● Cung cấp cho các nhà phát triển hệ thống về một sự hiểu biết tốt hơn về các yêu cầu đặt ra cho hệ
thống.
● Xác định biên của hệ thống
● Cung cấp một cơ sở cho việc lập kế hoạch những nội dung kĩ thuật trong mỗi lần lặp.
● Cung cấp cơ sở cho việc ước tính thời gian và chi phí phát triển hệ thống.
● Định hình giao diện tương tác giữa người dùng và hệ thống.
- Các chế tác của khâu nắm bắt yêu cầu:
● Phát biểu vấn đề:Làm rõ thực trạng của hệ thống hiện thời(vấn đề, khó khăn đặt ra) nêu ra được
những lý do và động cơ chính để phát triển hệ thống mới. Bao gồm các ràng buộc khác nhau đặt ra
cho hệ thống( ràng buộc về kỹ thuật, thời gian, nguồn lực)
● Mô hình ca sử dụng: Mô hình mô tả các chức năng của hệ thống theo các ca sử dụng và các tác
nhân của nó.Đóng vai trò như hợp đồng giữa khách hàng và người phát triển hệ thống.Biểu đồ ca sử
dụng được sử dụng trong tất cả các giai đoạn của quá trình phát triển được chia làm 2 loại biểu đồ
ca sử dụng và đặc tả ca sử dụng.
● Từ điển thuật ngữ: Bao gồm các thuật ngữ trong miền của hệ thống ,nó chứa các mô tả ở dạng văn
bản và được dùng chung cho tất cả các mô hình của hệ thống.
Nó định nghĩa các thuật ngữ quan trọng được sử dụng trong dự án ,giải thích các thuật ngữ chuyên
ngành, diễn giải các thuật ngữ kỹ thuật,giúp đội ngũ phát triển có một sự hiểu thống nhất về các
thuật ngữ quan trọng của dự án.Là phương tiện để giao tiếp với các chuyên gia miền. Người phân
tích có trách nhiệm cập nhật và duy trì tính nhất quán trong tài liệu từ điển thuật ngữ .Tài liệu từ
điển thuật ngữ thường có một định dạng riêng, tuỳ thuộc vào từng dự án.
● Đặc tả bổ sung:Bao gồm các yêu cầu không được nắm bắt bởi các ca sử dụng(chẳng hạn, các yêu
cầu phi chức năng).
Các yêu cầu chức năng và phi chức năng trong tài liệu đặc tả bổ sung thường là các ràng buộc cho
quá trình thực thi hệ thống.
•Tính Khả Dụng(usability).
•Độ Tin Cậy(reliability).
•Hiệu Năng(performance).
•Khả Năng Hỗ Trợ(supportability).
•Khả Năng Bảo Trì(maintainability).
•Các Ràng Buộc Thiết Kế.
*RUP( Rational Unified Process) : là một quy trình nghiệp vụ được sử dụng cho kỹ thuật phần
mềm hướng đối tượng.
-Pha khởi đầu (inception): Định nghĩa phạm vi dự án, xác định các tác nhân và các ca sử dụng cần
thiết nhất, phác thảo một bản kế hoạch về tính khả thi, chi phí,…
-Pha chi tiết(Elaboration): Tập trung nắm bắt yêu cầu và xây dựng một khung kiến trúc cho hệ
thống
-Pha xây dựng(Construction): thiết kế hệ thống, lập trình, tích hợp kiểm thử,các thành phần hệ
thống được xây dựng song song
-Pha chuyển giao(Transition) Bàn giao hệ thống cho người dùng cuối, hỗ trợ họ cài đặt và sử dụng.
-Các yêu cầu không liên quan đến khía cạnh chức năng của phần mềm được xếp vào loại yêu
cầu phi chức năng. Chúng xác định các đặc tính mong đợi của một phần mềm.Chúng chỉ ra
những tiêu chí để đánh giá hệ thống thay vì hành vi.
Câu 29(AT12): Anh chị hãy trình bày các khối hình thành nên các mô hình UML? Có những loại
phần tử mô hình nào trong UML? Ca sử dụng thuộc loại phần tử mô hình nào? Trình bày ý nghĩa và
vai trò của biểu đồ ca sử dụng?
*Các khối hình thành nên các mô hình UML:
• Phần tử
• Quan hệ
• Biểu đồ
- Các phần tử là các trừu tượng hoá căn bản trong các mô hình UML, các quan hệ gắn các phần tử lại với
nhau, biểu đồ nhóm các phần tử có mối quan hệ lại với nhau.
-Các phần tử là các khối xây dựng hướng đối tượng của UML.
* Các phần tử mô hình trong UML: (câu 4 trong đề cương)
- Mô hình cấu trúc: Hệ thống phản ứng với cái gì? Với ai? Thể hiện qua biểu đồ lớp (class diagram) và đối
tượng (object diagram).
- Mô hình chức năng: Các chức năng của hệ thống. Thể hiện qua biểu đồ ca sử dụng (Use case diagram)
- Mô hình thời gian: thứ tự các hành động trong hệ thống: biểu đồ tuần tự (sequence diagram), tương tác,
trạng thái(state machine diagram), hoạt động(activity diagram).
Bài tập
AT15CT3 lần 2
Câu 2: ()
a. Dựa vào trải nghiệm và kiến thức của mình, anh chị hãy đề xuất biểu đồ tuần tự pha phân tích cho
ca sử dụng “đăng ký học phần” của hệ thống quản lý đào tạo của học viện Kỹ thuật Mật mã?
b. Anh chị hãy trình bày sự giống nhau và khác nhau giữa biểu đồ tuần tự và biểu đồ giao tiếp
Giống nhau - Gồm các thành phần : đối tượng, liên kết, sự kiện & thông điệp,
chú thích và ràng buộc như các biểu đồ khác
- Đều biểu diễn các cộng tác
Khác nhau - Tương tác giữa các đối - Không theo thứ tự nhưng lại
tượng theo thời gian → dễ biểu diễn được sơ đồ tổng
quan sát luồng logic quát giao tiếp giữa các đối
- Biểu diễn tương tác ở dạng tượng
biểu đồ hai chiều (dọc: thời - Biểu diễn một tương tác
gian, ngang vai trò tham gia dựa vào khung cảnh được
cộng tác) xác định bởi phân lớp cấu
→Chỉ rõ trình tự thời gian của các trúc tương ứng
thông điệp nhưng không làm rõ các → thường được dùng để biểu diễn
mối quan hệ đối tượng tuy nhiên các kịch bản, biểu diễn thiết kế chi
trình tự thời gian chỉ được suy ra từ tiết của các thủ tục
các chỉ số thông điệp
-Quan hệ <<include>> cho phép một UC sử dụng chức năng của UC khác.Quan hệ này thường
được sử dụng để mô hình hoá một vài chức năng sử dụng lại , dùng chung cho hai hay nhiều UC.
- Quan hệ <<extend>> cho phép uc mở rộng tuỳ ý chức năng do UC khác cấp . Nó chỉ ra rằng trong
một điều kiện nào đó một UC được mở rộng bằng UC khác (mở rộng là gộp vài hành vi của UC
tổng quát hơn để sử dụng lại).Nó tương tự như qua hệ <<include>>ở chỗ hai quan hệ đều tách phần
chức năng chung ra một UC mới,đó là UC trừu tượng
Câu 3: công ty TNHH ABC dự định phát triển một hệ thống mới để quản lý hàng hóa trong kho của công
ty, đặc tả hệ thống như sau:
- Hệ thống cho phép nhân viên phòng kinh doanh của công ty có thể lập phiếu xuất hàng trong kho và
lập hóa đơn bán hàng khi chưa có đơn đặt hàng của khách hàng
- Hệ thống cho phép các nhân viên phòng kho bãi của công ty có thể lập phiếu đề nghị nhập thêm
hàng từ các nhà cung cấp của công ty và quản lý công việc nhập hàng từ kho, kiểm tra thống kê
hàng tồn kho trong kho và cập nhập tất cả các thông tin này vào thẻ kho để tiện theo dõi
- Bên cạnh đó việc thống kê báo cáo định kỳ cuối tháng (báo cáo nhập kho, báo cáo xuất kho, báo cáo
tồn kho, báo cáo công nợ nhà cung cấp và khách hàng) cũng được thực hiện bởi các nhân viên
phòng kinh doanh để gửi lên ban giám đốc công ty (giám đốc, phó giám đốc). Ngoài ra hệ thống
cũng cho phép các nhân viên phòng kinh doanh của công ty có thể quản lý hồ sơ khách hàng nhà
cung cấp và hàng hóa
- Việc quản lý thông tin nhân viên trong công ty và phân quyền người dùng (vai trò khác nhau sẽ có
các quyền hạn khác nhau) được thực hiện bởi quản trị viên hệ thống
a. Anh chị hãy xác định các Actor và các UC của hệ thống trên. Vẽ biểu đồ UC tương ứng của
hệ thống
b. Anh chị hãy xác định và vẽ sơ đồ phân rã chức năng theo đặc tả hệ thống trên
Bài làm
Actor: Nhân viên phòng kinh doanh, nhân viên phòng kho bãi, Quản trị viên hệ thống,nhà cung cấp, giám
đốc công ty, khách hàng, Thẻ kho
UC: Lập phiếu xuất hàng, Lập hóa đơn bán hàng, đặt hàng,lập phiếu thêm hàng,quản lý nhập kho,thống kê
hàng tồn kho,cập nhập thông tin, Báo cáo định kỳ cuối tháng(Báo cáo nhập kho, báo cáo xuất kho, báo cáo
tồn kho, báo cáo công nợ), quản lý hồ sơ, Quản lý nhân viên, phân quyền người dùng
Tiếp
Câu 1: Hãy trình bày hiểu biết của mk về kiến trúc phần mềm? Vai trò của các khung nhìn trong mô hình
kiến trúc “Khung nhìn 4+1”
Câu 2: hãy trình bày mối quan hệ giữa các use case trong biểu đồ use case? Cho ví dụ minh họa và phân
tích ý nghĩa
Câu 3: cho đặc tả chi tiết của ca sử dụng “tạo tài khoản người dùng” như sau
Actor visitor
Brief description Use case này sẽ cho visitor đăng ký một tài khoản
trên website
Pre-conditions Không có
Basic flows Uc bắt đầu khi actor yêu cầu tạo một tài khoản trên
website xxx:
1. Hệ thống hiển thị một form yêu cầu author
nhập thông tin user id, pass, email. …)
2. Author nhập các thông tin được yêu cầu
3. Author nhấn ok
4. Hệ thống kiểm tra thông tin có đúng không
và tắt tất cả các trường bắt buộc phải nhập
thông tin
5. Hệ thống thêm một tài khoản người dùng
và hiển thị thông báo “tạo tài khoản thành
công”
Brief description Ca sử dụng này mô tả một cách một học viên cao
học đăng ký các lớp học trong chuyên ngành của
mình
Pre-conditions Học viên phải đăng nhập thành công vào hệ thống
Alternative flows - Học viên không chọn các lớp học nào thì hệ
thống sẽ hiển thị một thông báo “đăng ký
không hợp lệ”
- Học viên chọn nhiều hơn 6 lớp học thì hệ
thống sẽ hiển thị một thông báo “đăng ký k
hợp lệ ”
- Nếu hết hạn đăng ký học thì hệ thống thông
báo “hết hạn đăng ký học”
post-conditions Thông tin các lớp học mới mà học viên đã đăng ký
được cập nhập
}
{
Mn cho mình hỏi có được vẽ kiểu tam giác thế này không nhỉ?}
Brief description Ca sử dụng này mô tả một cách một học viên cao
học đăng ký các lớp học trong chuyên ngành của
mình
Pre-conditions Học viên phải đăng nhập thành công vào hệ thống
Alternative flows - Học viên không chọn các lớp học nào thì hệ
thống sẽ hiển thị một thông báo “đăng ký
không hợp lệ”
- Học viên chọn nhiều hơn 6 lớp học thì hệ
thống sẽ hiển thị một thông báo “đăng ký k
hợp lệ ”
- Nếu hết hạn đăng ký học thì hệ thống thông
báo “hết hạn đăng ký học”
post-conditions Thông tin các lớp học mới mà học viên đã đăng ký
được cập nhập
.
Câu 3: Tuần tự, lớp: Quản lý khách sạn có đặc tả ca sử dụng Create Bill:
Use case Create bill
Brief description Usecase này mô tả cách một nhân viên lễ tân tạo hóa đơn thanh toán cho khách
hàng
Pre-conditions Nhân viên lễ tân phải đăng nhập vào hệ thống bằng tài khoản của mình
Basic flows Use Case bắt đầu khi nhân viên lễ tân nhận được yêu cầu trả phòng của khách
hàng.
1. Trong menu chính, chọn create bill
2. Hệ thống yêu cầu nhân viên lễ tân nhập thông tin số phòng và số CMT/hộ
chiếu của khách hàng.
3. Hệ thống kiểm tra thông tin nhân viên vừa nhập và thực hiện một số truy
vấn trong CSDL của hệ thống. Sau đó hệ thống hiển thị một form bill chứa
thông tin chi tiết về hoá đơn thanh toán cho khách hàng (Thông tin về
khách sạn, thông tin về khách hàng, thời gian checkin, thời gian checkout,
thời gian lưu trú, chi phí dịch vụ phòng và các dịch vụ khác, hình thức
thanh toán)
4. Nhân viên lễ tân kiểm tra lại thông tin chi tiết về hóa đơn thanh toán cho
khách hàng. Sau đó nhân viên click vào nút Confirm.
5. Hệ thống lưu lại thông tin hóa đơn thanh toán và tự động in hóa đơn cho
khách hàng.
Alternative flows 2.1: Nếu nhân viên lễ tân chưa nhập số phòng hoặc số cmnd/hộ chiếu, hệ thống
báo lỗi yêu cầu nhân viên nhập đủ thông tin.
2.2: Nếu nhân viên lễ tân nhập số phòng hoặc số cmnd/hộ chiếu sai kiểu dữ liệu,
hệ thống báo lỗi yêu cầu nhân viên nhập lại thông tin.
2.3: Nếu nhân viên lễ tân nhập số phòng hoặc số cmnd/hộ chiếu đúng kiểu dữ liệu
nhưng không thấy trong csdl thì hệ thống báo lỗi yêu cầu nhân viên nhập lại thông
tin.
5.1: Nhân viên click vào nút Cancel để hủy thao tác lập hóa đơn
post-conditions Nếu usecase này thực hiện thành công, thông tin chi tiết về hóa đơn thanh toán cho
khách hàng được lưu lại trong csdl
Special Không có
requirements
AT15_lần 1_de 06
Câu 2: Dựa vào kiến thức của mình anh chị hãy vẽ 1 biểu đồ tuần tự pha phân tích cho Ca sử dụng “rút
tiền” của hệ thống máy rút tiền tự động ATM
Bài làm :
AT15_lần 1_de05
Câu 1:
a)RUP(Rational Unified Process) là gì ? Anh chị hãy mô tả các pha()của quy trình RUP.
b) Yêu cầu phi chức năng (nonfunctional requirements) là gì ? Anh chị hãy đề xuất 1 bộ các yêu cầu phi
chức năng cho hệ thống máy rút tiền tự động ATM (ít nhất 5 yêu cầu phi chức năng).
Câu 2: Anh chị hãy vẽ biểu đồ ca sử dụng dựa vào mô tả sau đây :
Các ca sử dụng : xem các mặt hàng, mua hàng, thanh toán, Đăng nhập
Các mối liên kết :
- Từ khách hàng tới đăng nhập
- Từ khách hàng tới xem các mặt hàng
- Từ khách hàng tới mua hàng
- Từ khách hàng tới Thanh Toán
- Hệ thống xác thực tới đăng nhập
- Hệ thống xác thực tới thanh toán
- Dịch vụ thanh toán tín dụng toi thanh toán
Câu 1: cho đặc tả yêu cầu hệ thống thống quản lý thư viện như sau:
- Hệ thống cho phép người sử dụng biết sách hiện có, và có thể đặt mượn 2 quyển sách. Những người
tham gia mượn sách có một account để truy cập hệ thống và có thể biết sách nào đã mượn hoặc đã
đặt
- Bên cạnh đó việc mượn sách được thực hiện bởi các thủ thư sau khi xác định người mượn sách, họ
biết được người này có được phép mượn sách hay không? Tối đa 5 quyển. Người này có được ưu
tiên hay không đã đặt trước
a. Xác định actor và chức năng hệ thống trên. Vẽ biểu đồ uc tương ứng của hệ thống
Author: thủ thư, hệ thống, người mượn
UC:
Câu 1
Use case Tra cứu hồ sơ
Brief description admin/traffic police phải đăng nhập vào hệ thống bằng tài khoản của mình
Pre-conditions Không có
Basic flows Uc này bắt đầu khi admin/ tp muốn tìm kiếm các hồ sơ của người tham gia
giao thông:
1. Hệ thống hiển thị form với các tiêu chí tìm kiếm bắt buộc như sau:
+ Số CMND/CCCD
+ Loại phương tiện
+ Biển số xe
2. admin/tp nhập thông tin tương ứng cho các tiêu chí tìm kiếm trên,
sau đó click vào nút “search”
3. Hệ thống thực hiện một truy vấn trong cơ sở dữ liệu và hiển thị kết
quả tìm kiếm
Alternative flows 4.1 . Nếu admin/tp chưa nhập thông tin cho bất kì một tiêu chí tìm kiếm nào, hệ
thống sẽ hiển thị một thông báo lỗi
4.2 . Nếu admin/tp có thể nhập lại thông tin
4.3. admin/tp có thể hủy thao tác tìm kiếm
post-conditions Nếu use case này được thực hiện thành công một hồ sơ thỏa mãn thông tin tra cứu
được hiển thị hoặc có một thông báo “không tìm thấy hồ sơ nào” được hiển thị
Special Không có
requirements
Actor visitor
Brief description Use case này sẽ cho visitor đăng ký một tài khoản trên website
Pre-conditions Không có
Basic flows Uc bắt đầu khi actor yêu cầu tạo một tài khoản trên website xxx:
1. Hệ thống hiển thị một form yêu cầu author nhập thông tin user id,
pass, email. …)
2. Author nhập các thông tin được yêu cầu
3. Author nhấn ok
4. Hệ thống kiểm tra thông tin có đúng không và tắt tất cả các trường
bắt buộc phải nhập thông tin
5. Hệ thống thêm một tài khoản người dùng và hiển thị thông báo “tạo
tài khoản thành công”
Alternative flows 4.1 . Nếu bất cứ trường bắt buộc author chưa điền thông tin. Hệ thống sẽ hiển
thị thông báo lỗi. Author có thể nhập lại thông tin hoặc truy cập đăng ký
4.2 . Nếu user id đã tồn tại hệ thống sẽ hiển thị thông báo lỗi. author có thể
nhập lại hoặc dừng việc đăng ký
Special Không có
requirements
B1: Vẽ
B2: Người dùng làm gì, Form làm gì, hệ thống làm gì, CSDL làm gì
Người dùng:
+ Nhấn ok
Form:
Hệ thống:
Form:
4.1. Nếu bất cứ trường bắt buộc author chưa điền thông tin. Hệ thống sẽ hiển thị thông báo
lỗi. Author có thể nhập lại thông tin hoặc truy cập đăng ký
4.2. Nếu user id đã tồn tại hệ thống sẽ hiển thị thông báo lỗi. author có thể nhập lại hoặc
dừng việc đăng ký
B5: Nâng cao phần 2
4.1. Author có thể nhập lại thông tin hoặc truy cập đăng ký
- Nhập lại
- Dừng
Vì có nhập lại nên sẽ có Loop. Loop ở chỗ nhập lại và ở truy cập đăng ký. Như này
Thêm Đăng ký và nhập lại
Bước cuối: Vẽ vuông vuông dài dài