lOMoARcPSD| 58815430
Bạn nào có đề thì gõ hộ tôi cái đề xuống dưới mới nhé.^^
Câu 1. So sánh ưu 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 bản của hình hóa hướng đối
ợng:
Sự trừu tượng hoá, tính đóng gói, tính module hóa, sự phân cấp. Cho
dụ ?
4
Câu 3. Trình bày các khái niệm bản trong kỹ thuật hướng đối tượng:
Đối
ợ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 tbổ sung và từ điển thuật ngữ là ? Trình bày nội dung
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 ? Các sản
phm
của pha phân tích hướng đối tượng ? 15
lOMoARcPSD| 58815430
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 đồ tun tự và biểu đồ cộng tác ? 15
Câu 14. Lớp phân ch ? Trình bày vai trò 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. Mc
đí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ế ớ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
sở dữ liệu ? Các lớp được làm mịn bằng cách nào trong pha
thiết kế
ớ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, xon ốc 22
Bài tập 29
lOMoARcPSD| 58815430
Câu 1. So sánh ưu 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 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 phân chia chương trình chính thành nhiều
chươngtrì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.
b. Nhược điểm:
- Không hỗ trợ việc sử dụng lại
- 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 ớng đối tượng tập trung vào cả hai khía cạnh của hệ thống dữ liệu
hànhđộng.
- Hỗ trợ sử dụng lại mã nguồn
- Phù hợp với các hệ thống lớn
b. Nhược điểm
- Tốc độ chậm
- phức tạp → Khó cho người mới bắt đầu
lOMoARcPSD| 58815430
Câu 2. Tnh bày các nguyên tắc bản của 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 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 phương thức tả đối tượ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 đồ 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 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
hình xe. sẽ phải định nghĩa 3 phương thức trừu tượng 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 thể 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
lOMoARcPSD| 58815430
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 cao hơn nữa
cài đặt của hệ thống hoàn toàn độc lập với người sdụ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 hthố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à
thể tương tác được với nhau
VD: Hệ thống đăng 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 sinh viên, 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ớp cha của các lớp khác.
Câu 3. Trình bày các khái niệm 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ể
dụ: con người thì chúng ta sẽ 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 thể hiện của một lớp một lớp
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 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 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ế
lOMoARcPSD| 58815430
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ẽ tất cả các thuộc tính trên 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 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
thiphươ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. Tnh bày các mục đích sử dụng khác nhau của UML? Các phần tử
hình trong UML ?
- UML (Unified Modelling Language) ngôn ngữ hình hóa tổng quát được xây
dựngđể đặc tả, phát triển 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 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 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. UML là ngôn ngữ để đặc tả
- Một đặc tả là một mô tả chính xác và không nhập nhằng về hệ thống
lOMoARcPSD| 58815430
- UML cung cấp các công cụ để đặc tả hệ thống nhiều mức: Phân tích, thiết kế cài
đặt.
d. UML là ngôn ngữ để xây dựng
- Các mô hình UML có thể được chuyển sang một ngôn ngữ lập trình khá dễ dàng- UML
là khá chính xác và không nhập nhằng để cho phép thực hiện các mô phỏng e. UML
ngôn ngữ để lập tài liệu
- UML cho phép mô tả tất cả các bước xây dựng một hệ thống
- Các mô hình xây dựng tạo nên một tài liệu đầy đủ và chính xác về hệ thống
(UML là ngôn ngữ để tài liệu hóa: Các biểu đồ UML đóng vai trò là các tài liệu
phát triển hệ thống, hỗ trợ tạo tài liệu kiến trúc hệ thống cùng các chi tiết của nó,
cho phép diễn đạt các yêu cầu, cung cấp ngôn ngữ để mô hình hoá các hoạt động
trong dự án cũng như việc quản lý chuyển giao phiên bản.) *Các phần tử mô hình
UML.
- 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
(classdiagram) và đối tượng (object diagram).
- 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
(Usecase diagram)
- hình thời gian: thứ tự các hành động trong hệ thống: biểu đồ tuần tự
(sequencediagram), tương tác, trạng thái(state machine diagram), hoạt động(activity
diagram).
Câu 5. Trình bày ý nghĩa 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 đồ đó ?
1. Biểu đồ ca sử dụng (Use case diagram):
a. Ý nghĩa
- Biểu đồ use case biểu diễn sơ đồ chức năng của hệ thống. Từ tập yêu cầu của hệthống,
biểu đồ use case sẽ phải chỉ ra hệ thống cần thực hiện điều gì để thỏa mãn các yêu cầu
của người dùng hệ thống đó. Đi kèm với biểu đồ use case là các kịch bản. thể nói,
lOMoARcPSD| 58815430
biểu đồ use case chỉ ra sự tương tác giữa các tác nhân hệ thống thông qua các use
case.
- Mỗi use case mô tả một chức năng mà hệ thống cần phải có xét từ quan điểm ngườisử
dụng. Tác nhân con người hay hệ thống thực khác cung cấp thông tin hay tác động
tới hệ thống.
b. Mục đích: (giao tiếp, xác nhận, kiểm chứng)
- Giống như một bản hợp đồng giữa người phát triển phần mềm khách hàng.- Là công
cụ mạnh mẽ cho việc lập kế hoạch được dùng trong tất cả các giai đoạn trong quy trình
phát triển hệ thống
+) Khách hàng phê chuẩn biểu đồ use-case.
+) Sử dụng biểu đồ use case để thảo luận với khách hàng.
+) Các thành viên tham gia vào dán, sử dụng mô hình này để hiểu rõ hơn về hệ thống.
c. Cơ sở xác định: các tác nhân, các use case, và các mối quan hệ giữa chúng.
2. Biểu đồ lớp (class diagram)
a. Ý nghĩa
- Trong phương pháp hướng đối tượng, một nhóm đối tượng có chung một số thuộctính
và phương thức tạo thành một lớp. Mối tương tác giữa các đối tượng trong hệ thống sẽ
được biểu diễn thông qua mối quan hệ giữa các lớp.
- Các lớp (bao gồm cả các thuộc tính phương thức) cùng với các mối quan hệ sẽtạo
thành biểu đồ lớp. Biểu đồ lớp một biểu đồ dạng hình tĩnh nhằm tả hướng
nhìn tĩnh về một hệ thống bằng các khái niệm lớp, các thuộc tính, phương thức của lớp
và mối quan hệ giữa chúng với nhau. b. Mục đích:
tả một khung nhìn tĩnh các đối tượng trong hệ thống các loại quan hệ giữa chúng.
Biểu diễn các thể hiện riêng lẻ bên trong cấu trúc lớp.
c. sở xác định: Xây dựng thình miền, bổ sung các thuộc tính các phương
thức, và mối quan hệ giữa các lớp.
3. Biểu đồ tương tác: bao gồm biểu đồ tuần tự và cộng tá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. 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.
lOMoARcPSD| 58815430
- 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ầntự.
Tuy nhiên, các đối tượng được đặt một cách tự do trong không gian của biểu đồ
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ệpgiao
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ữacá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:
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.
tả bản thân đối tượng phản ứng ra sao trước các skiện 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 đồ.
5. Biểu đồ hoạt động.
a. Ý nghĩa
- Biểu đồ hoạt động biểu diễn các hoạt động và sự đồng bộ, chuyển tiếp các hoạt động
của hệ thống trong một lớp hoặc kết hợp giữa các lớp với nhau trong một chức năng c
thể.
b. Mục đích:
- Để xác định các hành động phải thực hiện trong phạm vi một phương thức.
- Để xác định công việc cụ thể của một đối tượng.
lOMoARcPSD| 58815430
- Để chỉ ra một nhóm hành động liên quan của các đối tượng được thực hiện như thếnào
và chúng sẽ ảnh hưởng đến những đối tượng nằm xung quanh. c. Cơ sở xác định:
- biến thể của biểu đồ trạng thái mục tiêu nắm bắt hành động cũng nhưkết
quả.
- Các hành động của biểu đồ hoạt động được định vị trong các luồng- Dùng những
hiệu như biểu đồ trạng thái.
6. Biểu đồ thành phần
a. Ý nghĩa
- Biểu đồ thành phần được sử dụng để biểu diễn các thành phần phần mềm cấu thànhnên
hệ thống. Một hệ phần mềm có thể được xây dựng từ đầu bằng cách sử dụng hình
lớp như đã trình bày trong các phần trước của tài liệu, hoặc cũng có thể được tạo nên từ
các thành phần sẵn có. b. Mục đích:
- Biểu diễn việc tổ chức phụ thuộc giữa các thành phần (mã nguồn, nhị phân,thành
phần thực hiện được)
- Chỉ ra cấu trúc vật lý của các dòng lệnh theo khái niệm thành phầnc. Cơ sở xác định:
- Chia hệ thống thành những SubSystem
- Xác định các thành phần và vẽ biểu đồ
7. Biểu đồ triển khai
a. Ý nghĩa
- Biểu đồ triển khai biểu diễn kiến trúc cài đặt triển khai hệ thống dưới dạng c
nodes và các mối quan hệ giữa các node đó. Thông thường, các nodes được kết nối với
nhau thông qua các liên kết truyền thông như các kết nối mạng, liên kết TCP- IP,
microwave… được đánh số theo thứ tự thời gian tương tự như trong biểu đồ cộng
tác.
b. Mục đích:
Biểu diễn quan hệ vật lý giữa thành phần phần cứng và phần mềm
Chỉ ra thành phần nào có thể chạy trong node nào. c. Cơ sở xác định
- Xác định các thành phần phần cứng sẽ tham gia vào việc triển khaihệ thống
- Xác định các thành phần để triển khai lên các Node
- Xác định các quan hệ và hoàn tất biểu đ
Câu 6. Phân biệt mô hình tĩnh và mô hình động trong UML ?
*Mô hình tĩnh
lOMoARcPSD| 58815430
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ối quan hệ giữa chúng
*Mô hình động
- 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ễn 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
* Sự khác biệt giữa mô hình tĩnh và mô hình động
- Sự khác biệt đáng chú ý nhất giữa các mô hình tĩnh và mô hình động của một hệ
thống là trong khi mô hình động đề cập đến mô hình thời gian chạy của hệ thống, mô
hình tĩnh là mô hình của hệ thống không trong thời gian chạy. Một sự khác biệt khác
nằm ở việc sử dụng các phương trình vi phân trong mô hình động mà dễ thấy bởi sự
vắng mặt của chúng trong mô hình tĩnh. Các mô hình động liên tục thay đổi theo tham
chiếu theo thời gian trong khi các mô hình tĩnh ở trạng thái cân bằng ở trạng thái ổn
định.
- Mô hình tĩnh có cấu trúc nhiều hơn hành vi trong khi mô hình động là đại diện cho
hành vicủa các thành phần tĩnh của hệ thống. Mô hình tĩnh bao gồm sơ đồ lớp và sơ
đồ đối tượng và giúp mô tả các thành phần tĩnh của hệ thống. Mặt khác, mô hình động
bao gồm chuỗi các hoạt động, thay đổi trạng thái, hoạt động, tương tác và bộ nhớ.
- Mô hình tĩnh có tính cứng nhắc hơn mô hình động vì nó là một khung nhìn độc lập về
thờigian của một hệ thống. Nó không thể thay đổi trong thời gian thực và đây là lý do
tại sao nó được gọi là mô hình tĩnh. Mô hình động rất linh hoạt vì nó có thể thay đổi
theo thời gian vì nó cho thấy những gì một đối tượng thực hiện với nhiều khả năng có
thể phát sinh theo thời gian.
lOMoARcPSD| 58815430
Câu 7. Mục đích của hoạt động mô hình hóa nghiệp vụ là gì ? Cho ví dụ ?
- Mô hình hóa nghiệp vụ là một kỹ thuật để tìm hiểu quy trình nghiệp vụ của một tổ
chức. Mô hình nghiệp vụ xác định các quy trình nghiệp vụ nào được hỗ trợ bởi hệ
thống. Tóm lại, song song với quá trình khảo sát tìm hiểu về vấn đề hệ thống thì cách
tiếp cận nghiệp vụ là phương pháp có hệ thống nhất để nắm bắt các yêu cầu của các
ứng dụng nghiệp vụ.
- Mục đích của hoạt động mô hình hóa nghiệp vụ:
Hiểu được cấu trúc và khía cạnh động của tổ chức trong đó hệ thống được triển khai.
Hiểu được các vấn đề thực tại của tổ chức xác định các vấn đề cần cải tiến nhằm
nâng cao hiệu quả của tổ chức.
Bảo đảm rằng khách hàng, người dùng cuối, các nhà phát triển sự hiểu biết chung
về tổ chức.
Thiết lập
các yêu cầu hệ thống nhằm hỗ trợ tổ chức.
Ví dụ:
Sơ đồ tổ chức của siêu thị Co-Op Mart Hà Đông
Tổ văn phòng
Tổ tin học
- Tổ văn phòng: Gồm 1 Giám Đốc 2 phó Giám Đốc nhiệm vụ điều phối
toànbộ 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ổ
Tổ bảo vệ
Tổ thu ngân
Tổ mặt hàng
lOMoARcPSD| 58815430
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 lập hóa đơn cho khách hàng đồng
thờighi 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ổ kiểm tra chất lượng hàng hoá nắm tình
trạnghà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
để biện pháp giải quyết điều phối hàng. Ngoài ra, thường xuyên thống 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ụ
chotổ 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ạngvă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 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 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 sdụ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 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 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.
Câu 9. Mục đích của hoạt động phân tích và thiết kế là gì ?
Hoạt động phân tích và thiết kế được thực hiện cho ba mục đích sau:
- Thứ nhất, đây là hoạt động chuyển các yêu cầu thành một bản thiết kế hệ thống
lOMoARcPSD| 58815430
- Thứ hai, phân tích thiết kế hoạt động để hình thánh kiến trúc chắc chắn cho h
thống- Thứ ba, phân tích thiết kế là hoạt động nhằm đưa ra giải pháp thiết kế thích ứng
với môi trường cài đặt và các yếu tố ràng buộc về trình diễn và thực thi của hệ thống.
Câu 10. Kiến trúc phần mềm ? Trình bày kiến trúc khung nhìn 4+1 mẫu
kiến trúc phân tầ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ầnmề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ý
-Kiến trúc khung hình 4+1 bao gồm:
+) Khung nhìn ca sử dụng (Use case view): Khung nhìn này đứng trước mọi khung nhìn
khác. được hình thành từ giai đoạn phân tích yêu cầu được sử dụng để điều khiển
thúc đẩy phần việc còn lại của thiết kế. tả các hành vi hthống theo cách nn
của khách hàng, phân tích viên và kỹ sư kiểm tra, thử nghiệm.
+) Khung nhìn logic (logical view): Khung nhìn logic biểu diễn tổ chức của các lớp có
ý nghĩa nhất các quan hệ của chúng với nhau. Khung nhìn logic tập trung vào h
thống cài đặt hành vi trong UC như thế nào. Nó bao gồm các lớp, biểu đồ lớp, biểu đồ
đối tượng (khía cạnh tĩnh của khung nhìn), biểu đồ tương tác, biểu đồ biến đổi trạng
thái (khía cạnh động của khung nhìn) và các gói.
+) Khung nhìn triển khai (deployment view): Khung nhìn này tập trung vào phân bổ vật
lý của tài nguyên và phân bổ nhiệm vụ giữa các tài nguyên. Khung nhìn triển khai liên
quan đến triển khai vật lý của hệ thống, khác với kiến trúc logic.
+) Khung nhìn tiến trình (process view): Khung nhìn tiến trình biểu diễn phân tách các
luồng thực hiện chương trình (tiến trình – process, luồng – thread, nhiệm vụ – task,…),
đồng bộ giữa các luồng, phân bổ các đối tượng lớp cho các luồng thực hiện khác
nhau. Khung nhìn tiến trình tập trung vào các nhiệm vụ tương tranh tương tác với nhau
như thế nào trong hệ thống đa nhiệm.
+) Khung nhìn thành phần (Implementation view): Thành phần đun vật hay
tiệp mã trình để lắp ráp thành hệ thống vật lý. Khung nhìn thành phần bao gồm: thành
phần, biểu đồ thành phần gói. Người quan tâm nhất đến khung nhìn thành phần
người có trách nhiệm quản lý mã trình, dịch chương trình và triển khai ứng dụng. Một
vài thành phần là thư viện, một số khác là mã trình khả thực (exe) và thư viện (dll).
- Mẫu kiến trúc phân tầng:
+Khung cảnh: Mt hệ thống lớn cần phải được tổ chức phân rã .
lOMoARcPSD| 58815430
+Vấn đề: Hệ thống được xem xét với nhiều vấn đề khác nhau, ở các cấp độ trừu
tượng khác nhau. Sẽ rất phức tạp nếu xây dựng các thành phần theo chiều dọc liên quan
đến tất cả các tầng để giải quyết các vấn đề đặt ra cho mỗi tầng. Hơn nữa cùng một vấn
đề nhiều khả năng sẽ được giải quyết rất nhiều lần các thành phần khác nhau theo một
cách không nhất quán.
+Ràng buộc: Các thành phần của hệ thống có thể được thay thế. Tầm ảnh hưởng
do thay đổi trong các thành phần được kiểm soát. Các trách nhiệm tương tự nên được
gộp với nhau. Các thành phần phức tạp có thể được phân rã.
+Giải pháp: Cấu trúc hệ thống thành các nhóm thành phần theo các tầng. Đảm
bảo rằng các tầng trên sử dụng chỉ của các tầng dưới. Dịch vụ thể là dịch vụ điều
khiển sự kiện, điều khiển lỗi hay dịch vụ truy cập cơ sở dữ liệu.
Câu 11. Biểu đồ ca sử dụng ? Phân biệt hai quan hệ include, extend trong biểu
đồ ca sử dụng ?
- Biểu đồ ca sử dụng: Biểu diễn đồ chức năng của hệ thống. Từ tập yêu cầu của hệ
thống, biểu đồ use case sphải chỉ ra hệ thống cần thực hiện điều để thoả mãn các
yêu cầu của người dùng hệ thống đó. Đi kèm với biểu đồ use case các kịch bản. Có
thnói, biểu đồ use case chỉ ra stương tác giữa các tác nhân hthống thông qua
các use case.
* Quan hệ mở rộng <<extend>>: sử dụng để chỉ ra rằng một use case được mở rộng từ
một use case khác bằng cách thêm vào một chức năng cụ thể.
- Use case A <<extend>> Use case B: Thì trong quá trình thực thi Use case A, trong
một số trường hợp sẽ thực hiện Use case B.
VD: Khi quản sản phẩm nào đó ta sẽ mở rộng thêm 2 chức năng thêm sản phầm
xóa sản phẩm.
* Quan hbao gộp <<include>>: sử dụng để chỉ ra rằng một use case được sử dụng bởi
một use case khác.(Một ca sử dụng thể tích hợp hành vi của các ca sử dụng khác như
là các phân đoạn trong hành vi tổng thể của nó.)
- Use case A <<include>> Use case B: Thì trong quá trình thực thi Use case A sẽ luôn
cầnthực hiện Use case B
VD: Khi khách hàng thực hiện đăng nhập luôn luôn phải thực hiện bước kiểm tra tài
khoản tồn tại
Câu 12. Mục đích của hoạt động phân tích ca sử dụng ? Các sản phẩm của
pha phân tích hướng đối tượng ?
lOMoARcPSD| 58815430
- 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ế o trong phân ch ca sử dụng
?
Phân biệt biểu đồ tuần tự 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:
lOMoARcPSD| 58815430
+ 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.
Phân biệt biểu đồ tuần tự và cộng tác:
- 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
tác nhântheo thứ tự thời gian. Biểu đồ tuần tnhấn mạnh thứ tự thực hiện của các
tương tác
- Biểu đồ cộng tác: 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 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 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 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 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 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ò cầu nối giữa giao diện 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 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 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:
lOMoARcPSD| 58815430
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 htrong biểu đồ lớp: Associations, generalization,
aggregation, composition, dependency.
Giữa các lớp có các dạng quan hệ cơ bản như sau:
- Quan hệ kết hợp (Association): một sự nối kết giữa các lớp, cũng nghĩa sự
nối kết giữa các đối tượng của các lớp này.
- Khái quát hóa (Generalization): Khái quát hóa mối quan hệ giữa một lớp các
đặc trưng mang tính khái quát cao hơn và một lớp có tính chất đặc biệt hơn. Trong sơ đồ lớp,
mối quan hệ khái quát hóa chính là sự kế thừa của một lớp từ lớp khác. Quan hệ khái quát hoá
được biểu diễn bằng một mũi tên có tam giác rỗng gắn ở đầu
- Quan hệ cộng hợp (Aggregation): dạng quan hệ tả một lớp Amộ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 quan hệ gộp với lớp B nếu lớp A một phần của lớp B 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 tả một công việc dạng hợp đồng 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.
lOMoARcPSD| 58815430
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 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ệ thng con ?
- Hệ thống con là các phần tử của hình thiết kế được nhóm lại với nhau, thường
cácsả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 thế cấu trúc chung
củamô hình 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 điều khiển tập hợp các lớp cần thiết thông thường, nhưng
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 ?
- 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ịchvụ 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 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
lOMoARcPSD| 58815430
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 sở
dữ liệu là ? 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
casử 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 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 các lớp để xác định sự phụ thuộc với các
phần tử khác.
- Mục đích thiết kế sdữ liệu xác định các lớp bền vững trong thiết kế, thiết kế
cáccấ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 hình miền sẵn có. Đây 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.

Preview text:

lOMoAR cPSD| 58815430
Bạn nào có đề thì gõ hộ tôi cái đề xuống dưới mới nhé.^^
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 lOMoAR cPSD| 58815430
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 lOMoAR cPSD| 58815430
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ươngtrì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. b. Nhược điểm:
- Không hỗ trợ việc sử dụng lại
- 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.
- Hỗ trợ sử dụng lại mã nguồn
- Phù hợp với các hệ thống lớn b. Nhược điểm - Tốc độ chậm
- phức tạp → Khó cho người mới bắt đầu lOMoAR cPSD| 58815430
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ụ ?
- 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ượ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 lOMoAR cPSD| 58815430
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ế lOMoAR cPSD| 58815430
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
thiphươ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. UML là ngôn ngữ để đặc tả
- Một đặc tả là một mô tả chính xác và không nhập nhằng về hệ thống lOMoAR cPSD| 58815430
- UML cung cấp các công cụ để đặc tả hệ thống ở nhiều mức: Phân tích, thiết kế và cài đặt.
d. UML là ngôn ngữ để xây dựng
- Các mô hình UML có thể được chuyển sang một ngôn ngữ lập trình khá dễ dàng- UML
là khá chính xác và không nhập nhằng để cho phép thực hiện các mô phỏng e. UML là
ngôn ngữ để lập tài liệu
- UML cho phép mô tả tất cả các bước xây dựng một hệ thống
- Các mô hình xây dựng tạo nên một tài liệu đầy đủ và chính xác về hệ thống
(UML là ngôn ngữ để tài liệu hóa: Các biểu đồ UML đóng vai trò là các tài liệu
phát triển hệ thống, hỗ trợ tạo tài liệu kiến trúc hệ thống cùng các chi tiết của nó,
cho phép diễn đạt các yêu cầu, cung cấp ngôn ngữ để mô hình hoá các hoạt động
trong dự án cũng như việc quản lý chuyển giao phiên bản.) *Các phần tử mô hình UML.
- 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
(classdiagram) 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 (Usecase diagram)
- Mô hình thời gian: thứ tự các hành động trong hệ thống: biểu đồ tuần tự
(sequencediagram), tương tác, trạng thái(state machine diagram), hoạt động(activity diagram).
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 đồ đó ?
1. Biểu đồ ca sử dụng (Use case diagram): a. Ý nghĩa
- Biểu đồ use case biểu diễn sơ đồ chức năng của hệ thống. Từ tập yêu cầu của hệthống,
biểu đồ use case sẽ phải chỉ ra hệ thống cần thực hiện điều gì để thỏa mãn các yêu cầu
của người dùng hệ thống đó. Đi kèm với biểu đồ use case là các kịch bản. Có thể nói, lOMoAR cPSD| 58815430
biểu đồ use case chỉ ra sự tương tác giữa các tác nhân và hệ thống thông qua các use case.
- Mỗi use case mô tả một chức năng mà hệ thống cần phải có xét từ quan điểm ngườisử
dụng. Tác nhân là con người hay hệ thống thực khác cung cấp thông tin hay tác động tới hệ thống.
b. Mục đích: (giao tiếp, xác nhận, kiểm chứng)
- Giống như một bản hợp đồng giữa người phát triển phần mềm và khách hàng.- Là công
cụ mạnh mẽ cho việc lập kế hoạch được dùng trong tất cả các giai đoạn trong quy trình phát triển hệ thống
+) Khách hàng phê chuẩn biểu đồ use-case.
+) Sử dụng biểu đồ use case để thảo luận với khách hàng.
+) Các thành viên tham gia vào dự án, sử dụng mô hình này để hiểu rõ hơn về hệ thống.
c. Cơ sở xác định: các tác nhân, các use case, và các mối quan hệ giữa chúng.
2. Biểu đồ lớp (class diagram) a. Ý nghĩa
- Trong phương pháp hướng đối tượng, một nhóm đối tượng có chung một số thuộctính
và phương thức tạo thành một lớp. Mối tương tác giữa các đối tượng trong hệ thống sẽ
được biểu diễn thông qua mối quan hệ giữa các lớp.
- Các lớp (bao gồm cả các thuộc tính và phương thức) cùng với các mối quan hệ sẽtạo
thành biểu đồ lớp. Biểu đồ lớp là một biểu đồ dạng mô hình tĩnh nhằm mô tả hướng
nhìn tĩnh về một hệ thống bằng các khái niệm lớp, các thuộc tính, phương thức của lớp
và mối quan hệ giữa chúng với nhau. b. Mục đích:
● Mô tả một khung nhìn tĩnh các đối tượng trong hệ thống và các loại quan hệ giữa chúng.
● Biểu diễn các thể hiện riêng lẻ bên trong cấu trúc lớp.
c. Cơ sở xác định: Xây dựng từ mô hình miền, bổ sung các thuộc tính và các phương
thức, và mối quan hệ giữa các lớp.
3. Biểu đồ tương tác: bao gồm biểu đồ tuần tự và cộng tá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. 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. lOMoAR cPSD| 58815430
- 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ầntự.
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ệpgiao 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ữacá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 đồ.
5. Biểu đồ hoạt động. a. Ý nghĩa
- Biểu đồ hoạt động biểu diễn các hoạt động và sự đồng bộ, chuyển tiếp các hoạt động
của hệ thống trong một lớp hoặc kết hợp giữa các lớp với nhau trong một chức năng cụ thể. b. Mục đích:
- Để xác định các hành động phải thực hiện trong phạm vi một phương thức.
- Để xác định công việc cụ thể của một đối tượng. lOMoAR cPSD| 58815430
- Để chỉ ra một nhóm hành động liên quan của các đối tượng được thực hiện như thếnào
và chúng sẽ ảnh hưởng đến những đối tượng nằm xung quanh. c. Cơ sở xác định:
- Là biến thể của biểu đồ trạng thái và có mục tiêu là nắm bắt hành động cũng nhưkết quả.
- Các hành động của biểu đồ hoạt động được định vị trong các luồng- Dùng những ký
hiệu như biểu đồ trạng thái. 6. Biểu đồ thành phần a. Ý nghĩa
- Biểu đồ thành phần được sử dụng để biểu diễn các thành phần phần mềm cấu thànhnên
hệ thống. Một hệ phần mềm có thể được xây dựng từ đầu bằng cách sử dụng mô hình
lớp như đã trình bày trong các phần trước của tài liệu, hoặc cũng có thể được tạo nên từ
các thành phần sẵn có. b. Mục đích:
- Biểu diễn việc tổ chức và phụ thuộc giữa các thành phần (mã nguồn, mã nhị phân,thành
phần thực hiện được)
- Chỉ ra cấu trúc vật lý của các dòng lệnh theo khái niệm thành phầnc. Cơ sở xác định:
- Chia hệ thống thành những SubSystem
- Xác định các thành phần và vẽ biểu đồ 7. Biểu đồ triển khai a. Ý nghĩa
- Biểu đồ triển khai biểu diễn kiến trúc cài đặt và triển khai hệ thống dưới dạng các
nodes và các mối quan hệ giữa các node đó. Thông thường, các nodes được kết nối với
nhau thông qua các liên kết truyền thông như các kết nối mạng, liên kết TCP- IP,
microwave… và được đánh số theo thứ tự thời gian tương tự như trong biểu đồ cộng tác. b. Mục đích:
● Biểu diễn quan hệ vật lý giữa thành phần phần cứng và phần mềm
● Chỉ ra thành phần nào có thể chạy trong node nào. c. Cơ sở xác định
- Xác định các thành phần phần cứng sẽ tham gia vào việc triển khaihệ thống
- Xác định các thành phần để triển khai lên các Node
- Xác định các quan hệ và hoàn tất biểu đồ
Câu 6. Phân biệt mô hình tĩnh và mô hình động trong UML ? *Mô hình tĩnh lOMoAR cPSD| 58815430
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ối quan hệ giữa chúng *Mô hình động
- 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ễn 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
* Sự khác biệt giữa mô hình tĩnh và mô hình động
- Sự khác biệt đáng chú ý nhất giữa các mô hình tĩnh và mô hình động của một hệ
thống là trong khi mô hình động đề cập đến mô hình thời gian chạy của hệ thống, mô
hình tĩnh là mô hình của hệ thống không trong thời gian chạy. Một sự khác biệt khác
nằm ở việc sử dụng các phương trình vi phân trong mô hình động mà dễ thấy bởi sự
vắng mặt của chúng trong mô hình tĩnh. Các mô hình động liên tục thay đổi theo tham
chiếu theo thời gian trong khi các mô hình tĩnh ở trạng thái cân bằng ở trạng thái ổn định.
- Mô hình tĩnh có cấu trúc nhiều hơn hành vi trong khi mô hình động là đại diện cho
hành vicủa các thành phần tĩnh của hệ thống. Mô hình tĩnh bao gồm sơ đồ lớp và sơ
đồ đối tượng và giúp mô tả các thành phần tĩnh của hệ thống. Mặt khác, mô hình động
bao gồm chuỗi các hoạt động, thay đổi trạng thái, hoạt động, tương tác và bộ nhớ.
- Mô hình tĩnh có tính cứng nhắc hơn mô hình động vì nó là một khung nhìn độc lập về
thờigian của một hệ thống. Nó không thể thay đổi trong thời gian thực và đây là lý do
tại sao nó được gọi là mô hình tĩnh. Mô hình động rất linh hoạt vì nó có thể thay đổi
theo thời gian vì nó cho thấy những gì một đối tượng thực hiện với nhiều khả năng có
thể phát sinh theo thời gian. lOMoAR cPSD| 58815430
Câu 7. Mục đích của hoạt động mô hình hóa nghiệp vụ là gì ? Cho ví dụ ?
- Mô hình hóa nghiệp vụ là một kỹ thuật để tìm hiểu quy trình nghiệp vụ của một tổ
chức. Mô hình nghiệp vụ xác định các quy trình nghiệp vụ nào được hỗ trợ bởi hệ
thống. Tóm lại, song song với quá trình khảo sát tìm hiểu về vấn đề hệ thống thì cách
tiếp cận nghiệp vụ là phương pháp có hệ thống nhất để nắm bắt các yêu cầu của các ứng dụng nghiệp vụ.
- Mục đích của hoạt động mô hình hóa nghiệp vụ:
● Hiểu được cấu trúc và khía cạnh động của tổ chức trong đó hệ thống được triển khai.
● Hiểu được các vấn đề thực tại của tổ chức và xác định các vấn đề cần cải tiến nhằm
nâng cao hiệu quả của tổ chức.
● Bảo đảm rằng khách hàng, người dùng cuối, và các nhà phát triển có sự hiểu biết chung về tổ chức. ● ● Thiết lập
các yêu cầu hệ thống nhằm hỗ trợ tổ chức. Ví dụ:
Sơ đồ tổ chức của siêu thị Co-Op Mart Hà Đông Tổ văn phòng Tổ bảo vệ Tổ thu ngân Tổ mặt hàng Tổ tin học -
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ànbộ 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ổ lOMoAR cPSD| 58815430
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ờighi 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ạnghà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ụ chotổ 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ạngvă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.
Câu 9. Mục đích của hoạt động phân tích và thiết kế là gì ?
Hoạt động phân tích và thiết kế được thực hiện cho ba mục đích sau:
- Thứ nhất, đây là hoạt động chuyển các yêu cầu thành một bản thiết kế hệ thống lOMoAR cPSD| 58815430
- Thứ hai, phân tích và thiết kế là hoạt động để hình thánh kiến trúc chắc chắn cho hệ
thống- Thứ ba, phân tích thiết kế là hoạt động nhằm đưa ra giải pháp thiết kế thích ứng
với môi trường cài đặt và các yếu tố ràng buộc về trình diễn và thực thi của hệ thống.
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 ?
- 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ầnmề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ý
-Kiến trúc khung hình 4+1 bao gồm:
+) Khung nhìn ca sử dụng (Use case view): Khung nhìn này đứng trước mọi khung nhìn
khác. Nó được hình thành từ giai đoạn phân tích yêu cầu và được sử dụng để điều khiển
và thúc đẩy phần việc còn lại của thiết kế. Nó mô tả các hành vi hệ thống theo cách nhìn
của khách hàng, phân tích viên và kỹ sư kiểm tra, thử nghiệm.
+) Khung nhìn logic (logical view): Khung nhìn logic biểu diễn tổ chức của các lớp có
ý nghĩa nhất và các quan hệ của chúng với nhau. Khung nhìn logic tập trung vào hệ
thống cài đặt hành vi trong UC như thế nào. Nó bao gồm các lớp, biểu đồ lớp, biểu đồ
đối tượng (khía cạnh tĩnh của khung nhìn), biểu đồ tương tác, biểu đồ biến đổi trạng
thái (khía cạnh động của khung nhìn) và các gói.
+) Khung nhìn triển khai (deployment view): Khung nhìn này tập trung vào phân bổ vật
lý của tài nguyên và phân bổ nhiệm vụ giữa các tài nguyên. Khung nhìn triển khai liên
quan đến triển khai vật lý của hệ thống, khác với kiến trúc logic.
+) Khung nhìn tiến trình (process view): Khung nhìn tiến trình biểu diễn phân tách các
luồng thực hiện chương trình (tiến trình – process, luồng – thread, nhiệm vụ – task,…),
đồng bộ giữa các luồng, phân bổ các đối tượng và lớp cho các luồng thực hiện khác
nhau. Khung nhìn tiến trình tập trung vào các nhiệm vụ tương tranh tương tác với nhau
như thế nào trong hệ thống đa nhiệm.
+) Khung nhìn thành phần (Implementation view): Thành phần là mô đun vật lý hay
tiệp mã trình để lắp ráp thành hệ thống vật lý. Khung nhìn thành phần bao gồm: thành
phần, biểu đồ thành phần và gói. Người quan tâm nhất đến khung nhìn thành phần là
người có trách nhiệm quản lý mã trình, dịch chương trình và triển khai ứng dụng. Một
vài thành phần là thư viện, một số khác là mã trình khả thực (exe) và thư viện (dll).
- Mẫu kiến trúc phân tầng:
+Khung cảnh: Một hệ thống lớn cần phải được tổ chức phân rã . lOMoAR cPSD| 58815430
+Vấn đề: Hệ thống được xem xét với nhiều vấn đề khác nhau, ở các cấp độ trừu
tượng khác nhau. Sẽ rất phức tạp nếu xây dựng các thành phần theo chiều dọc liên quan
đến tất cả các tầng để giải quyết các vấn đề đặt ra cho mỗi tầng. Hơn nữa cùng một vấn
đề nhiều khả năng sẽ được giải quyết rất nhiều lần ở các thành phần khác nhau theo một cách không nhất quán.
+Ràng buộc: Các thành phần của hệ thống có thể được thay thế. Tầm ảnh hưởng
do thay đổi trong các thành phần là được kiểm soát. Các trách nhiệm tương tự nên được
gộp với nhau. Các thành phần phức tạp có thể được phân rã.
+Giải pháp: Cấu trúc hệ thống thành các nhóm thành phần theo các tầng. Đảm
bảo rằng các tầng trên sử dụng chỉ của các tầng dưới. Dịch vụ có thể là dịch vụ điều
khiển sự kiện, điều khiển lỗi hay dịch vụ truy cập cơ sở dữ liệu.
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 ?
- Biểu đồ ca sử dụng: Biểu diễn sơ đồ chức năng của hệ thống. Từ tập yêu cầu của hệ
thống, biểu đồ use case sẽ phải chỉ ra hệ thống cần thực hiện điều gì để thoả mãn các
yêu cầu của người dùng hệ thống đó. Đi kèm với biểu đồ use case là các kịch bản. Có
thể nói, biểu đồ use case chỉ ra sự tương tác giữa các tác nhân và hệ thống thông qua các use case.
* Quan hệ mở rộng <>: sử dụng để chỉ ra rằng một use case được mở rộng từ
một use case khác bằng cách thêm vào một chức năng cụ thể.
- Use case A <> Use case B: Thì trong quá trình thực thi Use case A, trong
một số trường hợp sẽ thực hiện Use case B.
VD: Khi quản lý sản phẩm nào đó ta sẽ mở rộng thêm 2 chức năng thêm sản phầm và xóa sản phẩm.
* Quan hệ bao gộp <>: sử dụng để chỉ ra rằng một use case được sử dụng bởi
một use case khác.(Một ca sử dụng có thể tích hợp hành vi của các ca sử dụng khác như
là các phân đoạn trong hành vi tổng thể của nó.)
- Use case A <> Use case B: Thì trong quá trình thực thi Use case A sẽ luôn cầnthực hiện Use case B
VD: Khi khách hàng thực hiện đăng nhập luôn luôn phải thực hiện bước kiểm tra tài khoản tồn tại
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 ? lOMoAR cPSD| 58815430
- 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: lOMoAR cPSD| 58815430
+ 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.
❖ Phân biệt biểu đồ tuần tự và cộng tác: -
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ântheo 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 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: lOMoAR cPSD| 58815430
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.
Giữa các lớp có các dạng quan hệ cơ bản như sau: -
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. -
Khái quát hóa (Generalization): Khái quát hóa là mối quan hệ giữa một lớp có các
đặc trưng mang tính khái quát cao hơn và một lớp có tính chất đặc biệt hơn. Trong sơ đồ lớp,
mối quan hệ khái quát hóa chính là sự kế thừa của một lớp từ lớp khác. Quan hệ khái quát hoá
được biểu diễn bằng một mũi tên có tam giác rỗng gắn ở đầ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. lOMoAR cPSD| 58815430
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ácsả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ủamô 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ịchvụ 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 lOMoAR cPSD| 58815430
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
casử 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áccấ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.