Professional Documents
Culture Documents
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.
- 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 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)
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
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à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 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.
- 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.
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:
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?
Phân tích HĐT được chia làm ba bước tương ứng với ba dạng mô hình UML là:
- Mô hình usecase: xây dựng mô hình chức năng của sản phẩm phần mềm. Một biểu đồ use
case được phân cấp cùng các scenario tương ứng của từng use case , trong đó biểu diễn đầy
đủ chức năng của hệ thống và được khách hàng chấp nhận.
- Mô hình lớp: biểu diễn các lớp, các thuộc tính và mối quan hệ giữa các lớp. Từ cac
scenario và use case, nhóm phát triển hệ thống sẽ phải chỉ ra các lớp, xác định các thuộc
tính, các phương thức và các mối quan hệ giữa các lớp.
- Mô hình động: biểu diễn các hoạt động liên quan đến 1 lớp hay lớp con. Các hoạt động
này được biểu diễn dưới dạng biểu đồ trạng thái, biểu đồ tương tác, biểu đồ độ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 messgage 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 life line cho mỗi đối tượng. Các message được đánh số thể hiện thứ tự thời gian.