phân tích thiết kế hệ thống thông tin (KMA)

56 0 0
phân tích thiết kế hệ thống thông tin (KMA)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tổng hợp những câu hỏi cần thiết và quan trọng của môn Phân tích thiết kế hệ thống thông tin (KMA). Tài liệu này giúp các bạn sinh viên có thể vượt qua các bài kiểm tra giữa kỳ, cuối kỳ và đạt kết quả cao nhất. Xin cảm ơn các bạn đã xem và tải tài liệu.

Trang 1

https://drive.google.com/drive/folders/1-cwFMtTnGSKhKyZba_vPYQw3OKGi5eekOk nhá xin nhẹ con 10

Trang 2

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 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ừutượng hoá, tính đóng gói, tính module hóa, sự phân cấp Cho ví dụ ?4Câ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

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

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

Câu 7 Mục đích của hoạt động mô hình hóa nghiệp vụ là gì ? Cho ví dụ ?11Câ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â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

Câu 11 Biểu đồ ca sử dụng là gì ? Phân biệt hai quan hệ include, extend trong biểu đồ ca

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

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 ?

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ể ?16Câu 15 Phân biệt các dạng quan hệ trong biểu đồ lớp: Associations, generalization,

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â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

Trang 3

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ệulà 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 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

Trang 4

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ìnhcon, 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ướngdữ 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 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ằngcá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.

- phức tạp → Khó cho người mới bắt đầ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 đónggói, tính module hóa, sự phân cấp Cho ví dụ ?

- Trừu tượng hóa (abstraction): Trong phương pháp hướng đối tượng, các thực thể phần mềm được mô

hình hóa dưới dạng các đối tượng Các đối tượng này được trừu tượng hóa ở mức cao hơn dựa trên thuộc

tính và phương thức mô tả đối tưCâu ợng để tạo thành các lớp (ví dụ bản thiết kế nhà là lớp, ngôi nhà được

Trang 5

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.

Trang 6

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

Trang 7

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

- 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.

Trang 8

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ệ

Trang 9

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.

- 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ười sử 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ộc tí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 tý ứ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.

- Biểu đồ cộng tác cũng có các message với nội dung tương tự như trong biểu đồ tuần tự Tuy nhiên, các đối tượng được đặt một cách tự do trong không gian của biểu đồ và không có đường lifeline cho mỗi đối tượng Các message được đánh số thể hiện thứ tự thời gian.

b Mục đích Mục đích:

- Biểu diễn một tương tác, bao gồm tập các đối tượng, các quan hệ và các thông điệp giao tiếp giữa chúng.

- Biểu diễn khung nhìn động của hệ thống Trong đó:

+) Biểu đồ tuần tự chú trọng vào trình tự thực hiện của các thông điệp

+) Biểu đồ cộng tác quan tâm đến tổ chức cấu trúc của các đối tượng trong quá trình truyền và nhận thông điệp.

Trang 10

c Cơ sở xác định: dựa trên mô hình ca sử dụng để xây dựng 4 Biểu đồ trạng thái

a Ý nghĩa

- Biểu đồ trạng thái được sử dụng để biểu diễn các trạng thái và sự chuyển tiếp giữa các trạng thái của các đối tượng trong một lớp xác định Thông thường, mỗi lớp sẽ có một biểu đồ trạng thái (trừ lớp trừu tượng là lớp không có đối tượng).

● Bổ 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.

- Để 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ành nê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ó.

Trang 11

- 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 khai hệ 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 độ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

* 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.

Trang 12

- 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 vi củ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ời gian 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.

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

- 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

Trang 13

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:

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

- 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ầ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ý -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

Trang 14

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ã

+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 <<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 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 <<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 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ó.)

Trang 15

- Use case A <<include>> Use case B: Thì trong quá trình thực thi Use case A sẽ luôn cần thự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 ?

- Mục đích của hoạt động phân tích ca sử dụng:

+ Xác định các lớp phân tích thực thi các luồng sự kiện của ca sử dụng

+ Phân bố các hành vi ca sử dụng cho các lớp này sử dụng các hiện thực hóa các ca sử dụng + Đề xác định các trách nhiệm, thuộc tính và liên kết giữa các lớp phân tích

+ Để liên hệ với các lớp phân thích đến từng cơ chế kiến trúc đã xác định được - Các sản phẩm của pha phân tích hướng đối tượng:

+ Các lớp phân tích

+ Các hiện thực hóa ca sử dụng

Câu 13 Các biểu đồ tương tác được tạo ra như thế nào trong phân tích ca sử dụng ? Phân biệt biểu đồtuần tự và biểu đồ cộng tác ?

(Phần này đọc hiểu không cần học:

Các biểu đồ tương tác biểu diễn mối liên hệ giữa các đối tượng trong hệ thống và giữa các đối tượng với các tác nhân bên ngoài.

Biểu đồ tương tác được sử dụng để mô hình hóa tương tác giữa các đối tượng Có hai loại biểu đồ tương tác: Biểu đồ tuần tự và biểu đồ cộng tác.

▪ Biểu đồ tuần tự: Nhấn mạnh trình tự thực hiện các tương tác.

▪ Biểu đồ cộng tác: Nhấn mạnh đến vai trò của các đối tượng trong tương tác.) * Biểu đồ tương tác được tạo ra trong phân tích ca sử dụng:

● Bắt đầu từ luồng sự kiện

● Các bước xây dựng biểu đồ tương tác

+ tìm kiếm đối tượng: các đối tượng thực thể (entity), đối tượng biên (boundary), đối tượng điều khiển (control).

+ tìm kiếm tác nhân: tác nhân trong biểu đồ tương tác là sự kích hoạt từ ngoài để khởi động luồng công việc của luồng sự kiện.

+ bổ sung thông điệp vào biểu đồ

+ thêm các liên kết (link), các chú thích và ràng buộc ● Có thể hình thành các biểu đồ tương tác ở các mức:

+ cao: để chỉ ra hệ thống giao tiếp như thế nào

Trang 16

+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ân theo thứ tự thời gian Biểu đồ tuần tự nhấn mạnh thứ tự thực hiện của các tương tác

- Biểu đồ cộng tác: Là biểu đồ tương tác biểu diễn mối quan hệ giữa các đối tượng; giữa các đối tượng và tác nhân nhấn mạnh đến vai trò của các đối tượng trong tương tác.

- Biểu đồ cộng tác cũng có các message với nội dung tương tự như trong biểu đồ tuần tự Tuy nhiên, các đối tượng được đặt một cách tự do trong không gian của biểu đồ và không có đường lifeline cho mỗi đối tượng Các message được đánh số thể hiện thứ tự thời gian.

Câu 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ớpphâ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.

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.

- U

Trang 17

- 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.

Trang 18

(-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

- 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.

Câu 21 Trình bày cách xác định và vẽ biểu đồ ca sử dụng ?

● Một biểu đồ ca sử dụng định nghĩa: o Xác định các tác nhân :

▪ Một tác nhân là một người sử dụng hệ thống hoặc một đối tượng nào đó bên ngoài có tương tác với hệ thống chúng ta đang xây dựng.

Trang 19

▪ Xác định Quan hệ giữa các tác nhân

o Xác định các ca sử dụng : là phương tiện để thể hiện các khả năng khác nhau của hệ thống ▪ Nó biểu diễn chuỗi tương tác giữa tác nhân và ứng dụng.

▪ Nó định nghĩa một chức năng có thể sử dụng bởi các tác nhân o Xác định Quan hệ giữa các tác nhân và các ca sử dụng.

▪ Quan hệ giữa tác nhân với tác nhân : tổng quát hóa ▪ Quan hệ giữa use case với use case : include, extend ▪ Quan hệ giữa tác nhân và use case.

● Một mô hình ca sử dụng được định nghĩa bởi: o Vẽ Các biểu đồ ca sử dụng.

o Đặc tả các ca sử dụng Tạo tài liệu cho ca sử dụng ▪ Tài liệu luồng sự kiện : chính, phụ.

▪ Mô tả hành vi của ca sử dụng, mô tả luồng logic đi qua use case, mô tả người dùng làm gì, hệ thống làm gì.

Câu 22 Trình bày cách xác định và vẽ biểu đồ tuần tự ?

Muốn vẽ biểu đồ tuần tự cần xác định các thành phần cơ bản sau:

● Các đối tượng (object): Biểu diễn bởi một hình chữ nhật, bên trong là tên của đối tượng.

● Các thông điệp (message): Biểu diễn bởi một đường mũi tên hướng từ đối tượng gửi sang đối tượng nhận Tên các thông điệp có thể biểu diễn dưới dạng phi hình thức (như các thông tin trong kịch bản của UC) hoặc dưới dạng hình thức (như các phương thức).

o Thông điệp đồng bộ: Gọi thủ tục, thông điệp đồng bộ cần có một request và đối tượng gửi sẽ chờ phản hồi

o Thông điệp không đồng bộ: Thông điệp không đồng bộ không cần có một request và ngay lập tức tiếp tục với bước tiếp theo

o Thông điệp trả lời hoặc trả về: Thông điệp trả lời lại khi có request hoặc sau khi kiểm tra tính đúng đắn của một điều kiện nào đó.

o Thông điệp tạo: Tạo một đối tượng o Thông điệp huỷ: Xóa một đối tượng.

o Thông điệp phản thân: Là thông điệp mà đối tượng gửi cho chính nó để thực hiện các hàm nội tại.

● Đường đời (lifeline): Biểu diễn bởi một đường kẻ nối dài phía dưới đối tượng ● Chú thích.

Câu 23 Trình bày cách xác định và vẽ biểu đồ lớp chi tiết ?

*Để vẽ biểu đồ lớp chi tiết cần xác định:

● Lớp: Một lớp là một mô tả của một tập các đối tượng có chung thuộc tính, phương thức và quan hệ ● Thuộc tính: public, private, protected, package

● Phương thức

Trang 20

● Stereotype của lớp: Boundary, Entity, Control ● Các luật ràng buộc và ghi chú

Câu 24 Trình bày cách xác định và vẽ biểu đồ hoạt động ?

-Biểu đồ hoạt động bao gồm activities, states và transitions

● Một hoạt động là đặc tả của hành vi được biểu diễn bởi một luồng các hành động ● Một trạng thái là điểm mà các sự kiện cần đạt tới trước khi hoạt động tiếp tục ● Một chuyển tiếp là việc chuyển đổi giữa các hoạt động hoặc trạng thái

- Điểm quyết định là điểm trong một luồng công việc mà ở đó việc chuyển tiếp từ một trạng thái hoặc một hoạt động phân theo các nhánh khác nhau tùy theo điều kiện

- Một chuyển tiếp xuất hiện khi tất cả các hành động của một hoạt động hoàn thành hoặc khi một sự kiện kích hoạt việc thoát khỏi nó từ một trạng thái hoặc sự kiện khác

- Làn bơi là một biểu diễn để chỉ ra một hoạt động diễn ra ở đâu trong một hệ thống phức tạp

Trang 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ì ?

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 phaphân tích hướng đối tượng?

Phân tích hướng đối tượng (Object Oriented Analysis - OOA):

Là giai đọan phát triển một mô hình chính xác và súc tích của vấn đề, có thành phần là các đối tượng và kháiniệm đời thực, dễ hiểu đối với người sử dụng.

Trong giai đoạn OOA, vấn đề được trình bày bằng các thuật ngữ tương ứng với các đối tượng có thực Thêmvào đó, hệ thống cần phải được định nghĩa sao cho người không chuyên Tin học có thể dễ dàng hiểu được.Dựa trên một vấn đề có sẵn, nhà phân tích cần ánh xạ các đối tượng hay thực thể có thực như khách hàng, ôtô, người bán hàng, … vào thiết kế để tạo ra được bản thiết kế gần cận với tình huống thực Mô hình thiết kếsẽ chứa các thực thể trong một vấn đề có thực và giữ nguyên các mẫu hình về cấu trúc, quan hệ cũng nhưhành vi của chúng Nói một cách khác, sử dụng phương pháp hướng đối tượng chúng ta có thể mô hình hóacác thực thể thuộc một vấn đề có thực mà vẫn giữ được cấu trúc, quan hệ cũng như hành vi của chúng.

zzâ*Pha phân tích

Trang 22

- Xây dựng Biểu đồ use case: Dựa trên tập yêu cầu ban đầu, người phân tích tiến hành xác định các tác

nhân, use case và các quan hệ giữa các use case để mô tả lại các chức năng của hệ thống Một thành phần quan trọng trong biểu đồ use case là các kịch bản mô tả hoạt động của hệ thống trong mỗi use case cụ thể.

- 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 27 : Các mô hình : Thác nước , bản mẫu, xoắn ốc

*Mô hình bản mẫu

Trong mô hình làm bản mẫu nhanh, bước đầu tiên là nhóm phát triển sẽ xây dựng một bản mẫu và giao cho khách hàng và người sử dụng hệ thống dùng thử Khi khách hàng đồng ý chấp nhận bản mẫu thì nhóm phát triển mới tiếp tục tiến hành các pha khác của vòng đời phần mềm Trong các pha tiếp theo, do đã có bản mẫu nên các pha sẽ được tiến hành liên tục và không có bước quay về pha trước đó Chỉ khi hệ thống đã triển khai và chuyển sang pha bảo trì, nếu có thay đổi hay phát hiện lỗi thì nhóm phát triển mới quay lại một trong những pha trước đó, nhưng không quay lại pha làm bản mẫu vì bản mẫu đã được chấp nhận a Ưu điểm:

Ưu điểm chính của mô hình này là “nhanh” và hơn nữa do sản phẩm phần mềm được tạo ra từ mô hình làm bản mẫu nên có khả năng cao là đảm bảo thỏa mãn yêu cầu thực sự của khách hàng.

- Người sử dụng sớm hình dung ra chức năng và đặc điểm của hệ thống - Cải thiện được sự liên lạc giữa nhà phát triển và người sử dụng b Nhược điểm:

Tuy nhiên, mô hình làm bản mẫu nhanh cũng có nhược điểm do các pha được tiến hành liên tục mà không được viết tài liệu.

- Khi bản mẫu không thể chuyển tải hết các chức năng, đặc điểm của hệ thống phần mềm thì người sử dụng có thể thất vọng và mất đi sự quan tâm đến hệ thống được phát triển.

- Bản mẫu thường được làm nhanh, thậm chí vội vàng theo kiểu “hiện thực – sửa” và có thể thiếu sự phân tích đánh giá một cách cẩn thận tất cả các khía cạnh của hệ thống cuối cùng.

- Mô hình này vẫn chưa thể cải thiện được việc loại trừ khoảng cách giữa yêu cầu và ứng dụng cuối cùng c Ứng dụng:

- Hệ thống chủ yếu dựa trên giao diện người dùng

- Khách hàng, nhất là người dùng cuối không thể xác định rõ ràng yêu cầu * Mô hình thác nước

Theo mô hình thác nước, sau khi yêu cầu của hệ thống đã được xác định và kiểm tra bởi nhóm SQA, pha phân tích sẽ được tiến hành để xây dựng tài liệu Sau khi tài liệu phân tích được khách hàng chấp nhận, nhóm phát triển sẽ tiến hành lập kế hoạch và lịch biểu cho các quá trình phát triển tiếp theo Sau đó, các pha thiết kế, cài đặt và tích hợp sẽ lần lượt được tiến hành; mỗi pha này đều có phần kiểm tra để khi cần có thể quay lại sửa đổi tài liệu của pha trước đó Khi phần mềm đã được triển khai và chuyển sang pha bảo trì; nếu có lỗi hoặc thay đổi xảy ra, nhóm thiết kế sẽ phải quay trở lại sửa đổi tài liệu cho một trong các pha

Trang 23

trước đó và nếu cần có thể quay trở lại thay đổi một số yêu cầu ban đầu của hệ thống Vì các pha cứ nối tiếp nhau một cách liên tục như một thác nước nên mô hình này được gọi là mô hình thác nước.

a Ưu điểm

- Có vòng lặp, cho phép trở về pha trước trong vòng đời phần mềm để sửa chữa khi phát hiện lỗi hoặc khi có thay đổi.

- Hướng tài liệu: tất cả các pha trong vòng đời phần mềm theo mô hình thác nước đều được viết tài liệu cẩn thận và được kiểm tra bởi nhóm SQA trước khi chuyển sang pha tiếp theo Do vậy, hệ thống sẽ dễ dàng bảo trì khi có những thay đổi.

b Nhược điểm: Sản phẩm phần mềm cuối cùng có thể không thỏa mãn nhu cầu thực sự của khách hàng Lý do là khách hàng chỉ được trao đổi một lần duy nhất và chưa được hình dung sản phẩm nên rất có thể các pha tiếp theo sẽ không thực hiện đúng những gì khách hàng cần.

*Mô hình xoắn ốc

Mô hình đặt trọng tâm xem xét phân tích rủi ro và xem xét kế hoạch để giải quyết chúng thông qua nhiều chu kì con nối tiếp được lặp liên tiếp dựa trên bản chất của mô hình lặp Trong mô hình này, việc phân tích và giải quyết những vấn đề có rủi ro cao tập trung vào thiết kế từng khía cạnh cụ thể chứ không dựa vào việc xử lí các vấn đề một cách chung chung.

a Ưu điểm:

- Phân tích đánh giá rủi ro được đẩy lên như một phần thiết yếu trong mỗi “spiral” để tăng mức độ tin cậy của dự án.

- Kết hợp những tính chất tốt nhất của mô hình waterfall và tiến hóa - Cho phép thay đổi tùy theo điều kiện thực tế dự án tại mỗi “spiral” - Là mô hình tổng hợp các mô hình khác.

b Nhược điểm:

- Phức tạp và không phù hợp với mô hình nhỏ và ít rủi ro - Cần có kỹ năng tốt về phân tích rủi ro

c Ứng dụng:

- Dự án lớn có nhiều rủi ro hay sự thành công của dự án không có được sự đảm bảo nhất định; những dự án đòi hỏi nhiều tính toán, xử lí như hệ thống hỗ trợ

- Đội ngũ thực hiện dự án có khả năng phân tích rủi ro

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 đồ 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:

- 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.

Trang 24

Biểu đồ cộng tác cũng có các message với nội dung tương tự như trong biểu đồ tuần tự Tuy nhiên, các đối tượng được đặt một cách tự do trong không gian của biểu đồ và không có đường lifeline cho mỗi đối tượng Các message được đánh số thể hiện thứ tự thời gian.

Câu 29:

Câu 1:(AT15CT3 thi lần 2)

a UML (Unified Modeling Language) là gì? UML có thể được sử dụng trong những trường hợp nào? UML có những loại biểu đồ nào?

b Anh chị hãy trình bày bốn nguyên tắc cơ bản trong hướng đối tượng (abstraction, encapsulation, modularity, hierarchy)? Mỗi nguyên tắc đưa ra một ví dụ minh họa

Trả lời:

UML: là ngôn ngữ chuẩn để viết kế hoạch chi tiết phần mềm

Là ngôn ngữ mô hình hóa mang tính trừu tượng và tính khái quát UML là 1 chuẩn được cộng đồng IT công nhận để phân tích và thiết kế các hệ thống theo phương pháp hướng đối tượng UML được sử dụng cho các hệ thống phi phần mềm như luồng công việc…

Đặc trưng UML:

- Là một ngôn ngữ biểu diễn mô hình, hiển thị, đặc tả, làm tài liệu - Là công cụ giao tiếp giữa user, analyst, designer, software developer

UML có thể sử dụng cho các ứng dụng: sử dụng cho đặc tả, biểu diễn, xây dựng tài liệu hóa các chế tác của hệ thống phần mềm nói riêng hoặc chế tác của hệ thống thông tin nói chung

- Các hệ thống thông tin: lưu trữ, truy vấn, biểu diễn thông tin trong CSDL quan hệ hay CSDL hướng đối tượng

- Các hệ thống thông tin: điều khiển các thiết bị kỹ thuật trong công nghiệp, quân sự

- Các hệ thống nhúng thời gian thực: Nhúng trong các thiết bị khác như điện thoại di động, xe ô tô Các hệ thống này thường thiếu thiết bị như màn hình, ổ đĩa,

- Các hệ thống phân tán: Phân tán trên nhiều máy, cần cơ chế đồng bộ toàn vẹn dữ liệu, xây dựng trên cơ sở đối tượng như CORBA, COM/DCOM

- Các hệ thống thương mại Các loại biểu đồ UML:

- Biểu đồ UC(Use Case diagram) - Biểu đồ lớp(Class diagram)

- Biểu đồ đối tượng(Object diagram) - Biểu đồ trình tự (sequence diagram) - Biểu đồ cộng tác (Collaboration Diagram) - Biểu đồ trạng thái(state diagram)

- Biểu đồ hoạt động (activity diagram) - Biểu đồ thành phần (component diagram) - Biểu đồ triển khai (deployment diagram) b)

Trang 25

4 nguyên tắc cơ bản hướng đối tượng:

- Trừu tượng hóa: (abstraction): Trừu tượng hoá là các đặc điểm thiết yếu của một thực thể để phân biệt nó với tất cả các loại thực thể khác

Ví dụ:

- Tính đóng gói (Encapsulation): Tính đóng gói là sự quy tụ các tính chất (các thuộc tính và các hành vi) vào trong một hộp đen trừu tượng, nó cho phép ẩn đi sự cài đặt ở đằng sau các giao diện

Ví dụ :

- Tính module hóa (Modularity): Tính mô-đun hoá là sự phân rã về mặt vật lý hoặc logic một thứ nào đó phức tạp thành các nhóm nhỏ, cấu trúc đơn giản hơn và có thể quản lý được

Ví dụ :

- Tính phân cấp (Hierarchy): Sự phân cấp là sự sắp xếp thứ tự hoặc phân hạng sự trừu tượng hoá của các đối tượng theo một cấu trúc cây

Ví dụ :

Câu 1 (AT15 lần 1)

a Vai trò của biểu đồ tương tác là gì? Anh chị hãy trình bày sự giống nhau và khác nhau giữa biểu đồ tuần tự và biểu đồ giao tiếp

b Mục đích của khâu nắm bắt yêu cầu là gì? Nêu các chế tác chính của khâu nắm bắt yêu cầu, mô tả nội dung của từng chế tác?

Trả lời: a)

Vai trò của biểu đồ tương tác:

- Mô hình hóa khía cạnh động của hệ thống

- Chỉ ra tương tác gồm tập đối tượng, quan hệ và các thông điệp trao đổi giữa chúng - Chỉ ra từng bước của 1 luồng điều khiển cụ thể trong UC

Giống nhau - Gồm các thành phần : đối tượng, liên kết, sự kiện & thông điệp, chú thích và ràng buộc như các biểu đồ khác

- Đều biểu diễn các cộng tác

(tương đương về mặt ngữ nghĩa,mô hình hóa khía cạnh động của hệ thống, mô hình hóa kịch bản ca sử dụng)

Khác nhau • Chỉ ra thứ tự rõ ràng của các thông điệp.

• Thể hiện luồng công việc tốt hơn • Mô hình hoá trực quan hơn toàn bộ luồng thực thi (theo thời gian).

• Thể hiện tốt hơn đối với các đặc tả thời gian thực và các kịch bản phức tạp

(Nhấn mạnh vào trình tự thời gian của các thông điệp trao đổi giữa các

• Mô hình hóa trực quan hơn tất cả các ảnh hưởng của đối tượng • Thể hiện rõ hơn hiệu quả của quá trình tương tác trên từng đối tượng (Nhấn mạnh vào việc tổ chức các đối tượng tham gia vào tương tác.)

Trang 26

b) -Mục đích của khâu nắm bắt yêu cầu:

● Thiết lập và duy trì những thỏa thuận với khách hàng và các bên liên quan về những gì hệ thống cần phải làm.

● Cung cấp cho các nhà phát triển hệ thống về một sự hiểu biết tốt hơn về các yêu cầu đặt ra cho hệ thống.

● Xác định biên của hệ thống

● Cung cấp một cơ sở cho việc lập kế hoạch những nội dung kĩ thuật trong mỗi lần lặp ● Cung cấp cơ sở cho việc ước tính thời gian và chi phí phát triển hệ thống.

● Định hình giao diện tương tác giữa người dùng và hệ thống - Các chế tác của khâu nắm bắt yêu cầu:

● Phát biểu vấn đề:Làm rõ thực trạng của hệ thống hiện thời(vấn đề, khó khăn đặt ra) nêu ra được những lý do và động cơ chính để phát triển hệ thống mới Bao gồm các ràng buộc khác nhau đặt ra cho hệ thống( ràng buộc về kỹ thuật, thời gian, nguồn lực)

● Mô hình ca sử dụng: Mô hình mô tả các chức năng của hệ thống theo các ca sử dụng và các tác nhân của nó.Đóng vai trò như hợp đồng giữa khách hàng và người phát triển hệ thống.Biểu đồ ca sử dụng được sử dụng trong tất cả các giai đoạn của quá trình phát triển được chia làm 2 loại biểu đồ ca sử dụng và đặc tả ca sử dụng.

● Từ điển thuật ngữ: Bao gồm các thuật ngữ trong miền của hệ thống ,nó chứa các mô tả ở dạng văn bản và được dùng chung cho tất cả các mô hình của hệ thống.

Nó định nghĩa các thuật ngữ quan trọng được sử dụng trong dự án ,giải thích các thuật ngữ chuyên ngành, diễn giải các thuật ngữ kỹ thuật,giúp đội ngũ phát triển có một sự hiểu thống nhất về các thuật ngữ quan trọng của dự án.Là phương tiện để giao tiếp với các chuyên gia miền Người phân tích có trách nhiệm cập nhật và duy trì tính nhất quán trong tài liệu từ điển thuật ngữ Tài liệu từ điển thuật ngữ thường có một định dạng riêng, tuỳ thuộc vào từng dự án.

● Đặc tả bổ sung:Bao gồm các yêu cầu không được nắm bắt bởi các ca sử dụng(chẳng hạn, các yêu cầu phi chức năng).

Các yêu cầu chức năng và phi chức năng trong tài liệu đặc tả bổ sung thường là các ràng buộc cho

*RUP( Rational Unified Process) : là một quy trình nghiệp vụ được sử dụng cho kỹ thuật phần

mềm hướng đối tượng.

-Pha khởi đầu (inception): Định nghĩa phạm vi dự án, xác định các tác nhân và các ca sử dụng cần thiết nhất, phác thảo một bản kế hoạch về tính khả thi, chi phí,…

-Pha chi tiết(Elaboration): Tập trung nắm bắt yêu cầu và xây dựng một khung kiến trúc cho hệ thống

Trang 27

-Pha xây dựng(Construction): thiết kế hệ thống, lập trình, tích hợp kiểm thử,các thành phần hệ thống được xây dựng song song

-Pha chuyển giao(Transition) Bàn giao hệ thống cho người dùng cuối, hỗ trợ họ cài đặt và sử dụng.

-Các yêu cầu không liên quan đến khía cạnh chức năng của phần mềm được xếp vào loại yêucầu phi chức năng Chúng xác định các đặc tính mong đợi của một phần mềm.Chúng chỉ ranhững tiêu chí để đánh giá hệ thống thay vì hành vi.

Câu 29(AT12): Anh chị hãy trình bày các khối hình thành nên các mô hình UML? Có những loạiphần tử mô hình nào trong UML? Ca sử dụng thuộc loại phần tử mô hình nào? Trình bày ý nghĩa vàvai trò của biểu đồ ca sử dụng?

*Các khối hình thành nên các mô hình UML: • Phần tử

• Quan hệ • Biểu đồ

- Các phần tử là các trừu tượng hoá căn bản trong các mô hình UML, các quan hệ gắn các phần tử lại với nhau, biểu đồ nhóm các phần tử có mối quan hệ lại với nhau.

-Các phần tử là các khối xây dựng hướng đối tượng của UML * Các phần tử mô hình trong UML: (câu 4 trong đề cương)

- Mô hình cấu trúc: Hệ thống phản ứng với cái gì? Với ai? Thể hiện qua biểu đồ lớp (class diagram) và đối tượng (object diagram).

- Mô hình chức năng: Các chức năng của hệ thống Thể hiện qua biểu đồ ca sử dụng (Use case diagram) - Mô hình thời gian: thứ tự các hành động trong hệ thống: biểu đồ tuần tự (sequence diagram), tương tác, trạng thái(state machine diagram), hoạt động(activity diagram).

*Ý nghĩa và mục đích của biểu đồ ca sử dụng (câu 5 trong đề cương)

Trang 28

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, 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ười sử 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.

Bài tập

AT15CT3 lần 2

Câu 2: ()

a Dựa vào trải nghiệm và kiến thức của mình, anh chị hãy đề xuất biểu đồ tuần tự pha phân tích cho ca sử dụng “đăng ký học phần” của hệ thống quản lý đào tạo của học viện Kỹ thuật Mật mã?

Ngày đăng: 20/04/2024, 20:37

Tài liệu cùng người dùng

Tài liệu liên quan