You are on page 1of 43

CÂU HỎI :

MODULE 1: HỆ THỐNG THÔNG TIN & MÔ HÌNH HÓA TRỰC QUAN

1. Một hệ thống là gì? Nêu các thành phần chính của một hệ thống thông
tin?

 Hệ thống là tập hợp các thành phần có quan hệ chặt chẽ với nhau tạo
thành một thể thống nhất
 Các thành phần chính của hệ thống là: Môi trường, mục đích, giới hạn,
thành phần, mối quan hệ, giao diện, đầu vào, đầu ra và các ràng buộc.
Ví dụ: hệ thống đăng kí môn học

2. Các hệ thống thông tin được sử dụng để làm gì? Lấy ví dụ minh hoạ?

Các hệ thống thông tin được dùng để

 Phân tích, tổng hợp, xử lý và truyền tải thông tin.


 Chức năng chính là xử lý thông tin.
 Quá trình xử lý thông tin giống như một hộp đen.
Ví dụ: Hệ thống quản lí nhân sự trong 1 công ty, hệ thống kế toán …..

3. Vòng đời phát triển hệ thống SDLC là gì? Nêu các bước chính để phát
triển một hệ thống trong thực tiễn?

+ Vòng đời phát triển của hệ thống:

 Bao gồm nhiều giai đoạn, kể từ khi bắt đầu cho đến khi hết thúc hệ thống
+ Các bước chính để phát triển một hệ thống trong thực tiễn

 Lập kế hoạch
 Nghiên cứu tính khả thi, khảo sát hiện trạng
 Hợp đồng ràng buộc trách nhiệm
 Phân tích, thiết kế
 Cài đặt và thử nghiệm
 Triển khai
 Bảo trì, thích ứng
4. Trình bày các đặc trưng của bốn phương pháp luận phát triển các hệ
thống thông tin (Tiếp cận định hướng tiến trình,Tiếp cận định hướng
dữ liệu,Tiếp cận định hướng cấu trúc,Tiếp cận định hướng đối tượng)?

Trình bày các đặc trưng của bốn phương pháp luận phát triển các hệ thống
thông tin (Tiếp cận định hướng tiến trình, Tiếp cận định hướng dữ liệu, Tiếp cận
định hướng cấu trúc, Tiếp cận định hướng đối tượng)?

1> Định hướng tiến trình:


Thay đổi một tiến trình xử lí dẫn đến thay dổi các file dữ liệu tương ứng

Nhược điểm:
 Dư thừa dữ liệu do có nhiều file khác nhau nhưng chứa nhiều phần
tử dữ liệu giống nhau dẫn đén tốn công sức tổ chức lại DL
 Kh thể chia sẻ dữ liệu giữa các ứng dụng với nhau
2> Định hướng dữ liệu:
Dữ liệu được tổ chức nhất quán , tổ chức dữ liệu chung cho các ứng dụng
3>
5. Nêu ưu và nhược điểm của hai phương pháp luận phát triển các hệ
thống thông tin: Tiếp cận định hướng cấu trúc và Tiếp cận định hướng đối
tượng?

Cách tiếp cận định hướng cấu trúc:

1> Phương pháp thiết kế top-down

• Ưu điểm:

• Chương trình sáng sủa, dễ hiểu, dễ theo dõi.

• Tư duy giải thuật rõ ràng

. • Nhược điểm:

• Không hỗ trợ việc sử dụng lại.

• Không phù hợp cho việc phát triển các hệ thống thông tin lớn

2> Phương pháp thiết kế hướng đối tương

Ánh xạ các thành phần của bài toán vào các đối tượng trong thế giới thưc

Chia thành các đối tương chứa dữ liệu và hành động


Chúng kết hợp với nhau thông qua các mối quan hệ và sự tương tác giữa chúng

6. Một mô hình là gì? Các nhóm dự án phát triển phần mềm thường gặp
phải những vấn đề gì nếu không mô hình hoá?

1> Một mô hình là : sự mô tả các các đặc tính tĩnh hoặc động của một chủ
thể thường được mô tả dưới dạng một văn bản hay môt khung nhìn nào
đó
2> Các nhóm dự án gặp phải:
 Không mô hình hóa mà triển khai lập trình luôn
 Dẫn đến mất nhiều thời gian công sức
 Gặp khó khăn với những lỗi phát sinh
 Không có bất kì một kiến trúc nào
7. Lý giải tại sao cần phải mô hình hoá khi xây dựng các hệ thống?

 Giúp hình dung đươc hệ thống như mong đợi


 Chỉ định được cấu trúc hoặc hành vi của hệ thóng
 Hiểu rõ hơn về hệ thống cần phát triển
 Tài liệu hóa hệ thống
 Đưa ra khuôn mẫu hướng dẫn xây dựng hệ thống
8. Mô hình phân cấp chức năng là gì? Lấy ví dụ một mô hình phân cấp
chức năng của một hệ thống phần mềm?

Mô hình phân cấp chức năng:

+ phân rã một chức năng tổng hợp thành các chức năng chi tiết hơn

Ví dụ :
9. Đề xuất mô hình luồng dữ liệu cho quy trình đăng ký môn học?

10. Trình bày bốn nguyên tắc cơ bản khi mô hình hoá?

 Việc lựa chọn mô hình đóng vai trò rất quan trọng:
 Mỗi mô hình mô tả hệ thống với mức độ chính xác khác nhau:
 Các mô hình tốt nhất là các mô hình liên kết với thế giới thực:
 vKhông mô hình đơn lẻ nào là đầy đủ:

Module 2: Ngôn ngữ mô hình hóa thống nhất UML


Auther: Ánh xinh gái
1. Trình bày tổng quan về ngôn ngữ mô hình hoá thống nhất UML?
- Giới thiệu: UML là ngôn ngữ mô hình hóa thống nhất:
 UML (Unified Modeling Language) là một ngôn ngữ mô hình hoá
trực quan và mang tính khái quát.
 UML có thể được sử dụng cho mọi quy trình phát triển, xuyên suốt
vòng đời phát triển, cho hầu hết các miền ứng dụng và độc lập với
các công nghệ cài đặt.
 UML bao gồm các khái niệm, các ký pháp đồ hoạ, các biểu đồ và
các quy tắc …
 UML là một tiêu chuẩn được sử dụng rộng rãi trong cộng đồng IT.

- Lịch sử phát triển: UML được công nhận là chuẩn chung vào năm 1997
-> một phương thức thống nhất để xây dựng và mô hình hoá các yêu cầu,
thiết kế hướng đối tượng trong quát rình PTTK phần mềm.

2. Giải thích tính hợp nhất của ngôn ngữ mô hình hoá UML?
- Do có sự kết hợp của một nhóm người , nhóm các chuyên gia, hợp nhất
các kỹ thuật và công trình nghiên cứu khác nhau để tạo nên ngôn ngữ mô
hình hóa thống nhất UML. Nói cái này thôi, hỏi nữa thì đập cái dưới
vào mặt th___ầy.
- Cụ thể:
 Booch : Booch method
 Rumbaugh: Object Modeling Technique
 Jacobson : Object-Oriented Software Engineering
 Meyer: Before and after conditions
 Shlaer –Mellor: Object lifecycles
 Odell: Classification
 Wirfs-Brock: Responsibilities
 Embley Singleton: classes and high-level view
 HP Fusion: Operation descriptions and message numbering
 Gamma, et al: Frameworks, patterns, notes
 Harel: State charts
3. Giải thích tính thống nhất của ngôn ngữ mô hình hoá UML?

- Chuẩn hóa và thống nhất hơn 50 ký pháp đồ họa.

- UML được sử dụng xuyên suốt trong vòng đời phát triển của một phần
mềm.

- Được sử dụng cho mọi miền ứng dụng khác nhau.

4. Ngôn ngữ mô hình hoá UML có thể được sử dụng trong những
trường hợp nào?

Nói mấy cái gạch đầu dòng thôi:

- Là ngôn ngữ được sử dụng để mô hình hóa:

 UML là phương tiện để diễn đạt các mô hình hệ thống dựa trên sự
tổ hợp các từ vựng có sẵn của UML theo tập quy tắc xác định.
 Tập từ vựng và quy tắc ngôn ngữ UML cung cấp cơ sở để xây
dựng và đọc hiểu các mô hình: Không xác định thời điểm và trình
tự tạo các mô hình.

- 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 (không được cài đặt) nếu nhóm phát
triển không tài liệu hoá các mô hình đang hình dung.

-Là ngôn ngữ để đặc tả:

 UML mô tả vấn đề một cách chính xác, không nhập nhằng.


 UML hỗ trợ đặc tả phân tích, thiết kế và các giải pháp cài đặt trong
vòng đời phát triển hệ thống.

-Là ngôn ngữ để xây dựng hệ thống:

 Một số biểu đồ UML có thể được chuyển thành mã nguồn của


nhiều ngôn ngữ lập trình khác nhau (Java, C++ …).
 Tăng khả năng tự động hoá trong quá trình phát triển phần mềm.

-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.
 UML 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ó.
 UML cho phép diễn đạt các yêu cầu.
 UML 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.

5.Nêu các khối hình thành nên các mô hình UML? Mô tả mối quan hệ
giữa chúng?

- Các phần tử:

 Phần tử cấu trúc: class, interface, use-case, collaboration,


component, node.
 Phần tử hành vi: message, state
 Phần tử nhóm : package
 Phần tử chú thích: node

- Các quan hệ:

 Dependence
 Association
 Generalization
 Realization

- Các biểu đồ:

 Ca sử dụng
 Lớp
 Tuần tự
 Giao tiếp
 Hoạt động
 Triển khai
 Máy trạng thái
 Đối tượng
 Thành phần
 Ngoài ra, trong UMLcòn có biểu đồ gói, biểu đồ cấu trúc bên
trong, biểu đồ cộng tác, biểu đồ thời gian.

-Mối quan hệ: 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.

6. Phần tử cấu trúc trong các mô hình UML là gì? Nêu các loại phần tử
cấu trúc trong UML?

- Phần tử cấu trúc là: Là các phần tử đại diện cho các yêu tố khái niệm
hoặc vật lý.

- Các loại phần tử cấu trúc:

 Class
 Interface
 Use case
 Collaboration
 Component
 Node

7. Ngôn ngữ mô hình hoá UML có những loại biểu đồ nào? Biểu diễn hệ
thống theo mô hình chức năng tương ứng với loại biểu đồ nào? Biểu diễn
hệ thống theo mô hình cấu trúc tương ứng với loại biểu đồ nào? Biểu diễn
hệ thống theo mô hình thời gian tương ứng với loại biểu đồ nào?

- Các biểu đồ:

 Ca sử dụng
 Lớp
 Tuần tự
 Giao tiếp
 Hoạt động
 Triển khai
 Máy trạng thái
 Đối tượng
 Thành phần

- Biểu diễn hệ thống theo mô hình chức năng tương ứng với biểu đồ ca sử
dụng.

- Biểu diễn hệ thống theo mô hình cấu trúc tương ứng với biểu đồ lớp,
biểu đồ đối tượng.

- Biểu diễn hệ thống theo mô hình thời gian tương ứng với loại biểu đồ:

 Biểu đồ tuần tự
 Biểu đồ giao tiếp
 Biểu đồ trạng thái
 Biểu đồ hoạt động

8. Các khung nhìn UML được sử dụng để làm gì? Mô tả các khung nhìn
(khung nhìn tĩnh, khung nhìn thiết kế, khung nhìn ca sử dụng, khung nhìn
máy trạng thái, khung nhìn hoạt động, khung nhìn tương tác, khung nhìn
triển khai)?

- Khung nhìn trong UML là một tập con của các cấu trúc mô hình hoá
UML, nó đại diện cho một khía cạnh của hệ thống

- Các khung nhìn UML giúp tổ chức và trình bày các khái niệm UML.

- Các khung nhìn UML có thể được chia thành 4 góc nhìn chính:

 Cấu trúc mô tả những thứ bên trong hệ thống và mối quan hệ giữa
chúng (khungnhìntĩnh,khungnhìnthiếtkế,khungnhìncasửdụng).
 Động mô tả hành vi của hệ thống hoặc các classifier theo thời gian
(khungnhìn máytrạngthái,khungnhìnhoạtđộng,khungnhìntươngtác).
 Vật lý mô tả các tài nguyên vật lý trong hệ thống và việc triển khai
các chế tác trên chúng (khungnhìntriểnkhai).
 Quản lý mô hình mô tả việc tổ chức các mô hình thành các phần tử
phân cấp (khungnhìnquảnlýmôhình).

- Khung nhìn tĩnh: Mô hình hoá các khái niệm trong miền ứng dụng một
cách logic. Không mô tả hành vi hệ thống. Các thành phần chính của
khung nhìn tĩnh là các lớp và mối quan hệ giữa chúng (association,
generalization, dependency, realization). Khung nhìn tĩnh được thể hiện
trong các biểu đồ lớp.

- Khung nhìn thiết kế: Khung nhìn thiết kế mô hình hoá cấu trúc thiết kế
của ứng dụng. v Khung nhìn thiết kế ánh xạ các lớp vào các thành phần
thực thi. v Khung nhìn thiết kế bao gồm:

 Biểu đồ cấu trúc bên trong.


 Biểu đồ cộng tác.
 Biểu đồ thành phần.

- Khung nhìn ca sử dụng: Khung nhìn ca sử dụng biểu diễn các chức
năng và môi trường dự kiến của hệ thống dưới góc nhìn của người dùng
cuối. Khung nhìn ca sử dụng nắm bắt các hành vi của hệ thống.

- Khung nhìn máy trạng thái: Mộtmáytrạngthái(statemachine):

 Mô hình hoá lịch sử vòng đời có thể có của một đối tượng.
 Chứa các trạng thái được kết nối với nhau bởi các chuyển tiếp
(transitions).
 Mỗi trạng thái mô hình hoá một khoảng thời gian trong vòng đời
của một đối tượng.
 Khi một sự kiện xảy ra -> kích hoạt một chuyển tiếp -> chuyển đối
tượng sang một trạng thái mới.

- Khung nhìn hoạt động: Biểu đồ hoạt động là trường hợp đặc biệt của
biểu đồ trạng thái. Biểu diễn luồng hoạt động trong hệ thống. Biểu đồ
hoạt động chứa các nút hoạt động được kết nối với nhau bởi các luồng
điều khiển. Biểu đồ hoạt động nhấn mạnh luồng điều khiển giữa các đối
tượng.

- Khung nhìn tương tác: Một tương tác là hành vi được mô tả bằng cách
chỉ ra chuỗi thông điệp trao đổi (truyền và nhận) giữa các đối tượng. Các
đối tượng tương tác với nhau để thực hiện một kịch bản. Khung nhìn
tương tác mô tả trình tự trao đổi thông điệp giữa các đối tượng của hệ
thống. Khung nhìn tương tác cung cấp một cái nhìn toàn diện về hành vi
của hệ thống, chỉ ra luồng điều khiển trên nhiều đối tượng. Khung nhìn
tương tác được thể hiện trong:

 Biểu đồ tuần tự.


 Biểu đồ giao tiếp.
- Khung nhìn triển khai: Khung nhìn triển khai biểu diễn cấu hình của
các nút xử lý và các chế tác trên các nút xử lý đó tại run-time.

• Một chế tác (artifact) là một thành phần thực thi dạng vật lý,
một phần thông tin được sử dụng hoặc được tạo ra trong quy
trình phát triển phần mềm.
• Một nút (node) là một tài nguyên tại run-time, biểu diễn một
thực thể vật lý của hệ thống (máy tính, bộ nhớ, thiết bị …).

Biểu đồ triển khai mô tả khung nhìn triển khai tĩnh của một kiến trúc.

- Khung nhìn quản lý mô hình: Khung nhìn quản lý mô hình mô hình


hoá việc tổ chức của cácmôhìnhđượctạora. Bao gồm một tập các gói,
mỗi gói chứa các phần tử mô hình (các lớp, các ca sử dụng …). Một gói
có thể chứa nhiều gói khác. Thông tin quản lý mô hình thường được hiển
thị trên biểu đồ gói.

9. Giải thích các thuật ngữ (interaction, artifact, node)?

- Một chế tác (artifact) là một thành phần thực thi dạng vật lý, một phần
thông tin được sử dụng hoặc được tạo ra trong quy trình phát triển phần mềm.

- Một nút (node) là một tài nguyên tại run-time, biểu diễn một thực thể
vật lý của hệ thống (máy tính, bộ nhớ, thiết bị …).

- Một tương tác (Interaction ) là hành vi được mô tả bằng cách chỉ ra


chuỗi thông điệp trao đổi (truyền và nhận) giữa các đối tượng.

10. Đề xuất biểu đồ hoạt động cho quy trình bán xe máy tại một
showroom?
MODULE 3: QUY TRÌNH PHÁT TRIỂN HƯỚNG ĐỐI TƯỢNG

1: Sự trừu tượng hoá là gì? Lấy ví dụ minh hoạ?

Để hiểu được trừu tượng hoá là gì chúng ta cần biết đến một số khái niệm sau
như

Mô hình hoá là gì : mô hình hoá là quá tình trừu tượng hoá các đối tượng trong
thế giới thực vào ngữ cảnh của hệ thống .

Như vậy có thể định nghĩa trừu tượng hoá là các đặc điểm cần thiết 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 , còn đối với mô hình
hoá đối tượng nó là việc xây dựng một mô hình gồm các đặc điểm quan trọng,
cần thiết để phân biệt mô hình này với mô hình khác

2: Tính đóng gói là gì? Đóng gói dữ liệu trong OOP được hiểu như thế nào?

Tính đóng fois là sự quy tụ các tính chất , thuộc tính , hành vi của một thực thể
vào trong một hộp đen trừu tượng

Đối với OOP tính chất này không cho phép người sử dụng các đối tượng thay
đổi trạng thái nội tại của một đối tượng chỉ có các phương thức nội tại của đối
tuongj cho phép thay đổi trạng thái của nó

+ Cho phép che dâu sự cài đặt bên trong phương thức

+ Cho phép che dấu dữ liệu bên trong đối tượng

+ Cho phép việc giảm thiểu mất mát mã nguồn chương trình

3 : Tính mô-đun hoá là gì? Lấy ví dụ minh hoạ?

Sự phân rã về mặt vật lý hoặc logic một thứ gì đó phức tạp thành các phần nhỏ
hơn có cấu trúc đơn giản hơn để tiện quản lý và khai thác đó gọi là mô-đun hoá,
tuy nhiên bị phân rã thành các mô-đun nhỏ hơn nhưng tất cả chúng đều có thể
tương tác lẫn nhau và được phát triển độc lập

4 : Sự phân cấp là gì? Lấy ví dụ minh hoạ?

Sự sắp xếp thứ tự hoặc phân cấp hạng sự trừ tượng hoá các đối tượng theo một
cấu trúc cây nhất định thì được gọi là sự phân cấp

Sự phân cấp được phân loại như sau :

+phân cấp lớp


+phân cấp kế thừa

+phân cấp theo kiểu đối tượng

5: Định nghĩa tính đa hình, cho ví dụ minh hoạ?

Tính đa hình là khả năng mang nhiều kiểu khác nhau của đối tượng ,nó cho
phép cùng một thông điệp gửi đi , có thể xử lý được theo nhiều kiểu khác nhau
tuỳ vào đối tượng nhận nó ,nó cũng cho phép che dấu sự cài đặt kahcs đằng sau
giao diện duy nhất

+ đa hình phương thức

+ đa hình đối tượng

Để có thể hiện tính đa hình ta cần có các điều kiện

+ các lớp phủ có quan hệ kế thừa với lớp cha nào đó

+ phương thức đa hình phải được ghi đè ở lớp con

6: Tổng quát hoá là gì? Phân biệt tổng quát hoá và kế thừa?

Tổng quát hoá (generalization) là một mối quan hệ giữa các lớp (hoặc các ca
sử dụng), trong đó tồn tại một lớp (hoặc một ca sử dụng) sẽ chia sẻ cấu trúc
và/hoặc hành vi cho một hoặc nhiều lớp (ca sử dụng) khác.

7: Kiến trúc phần mềm là gì?

Kiến trúc phần mềm của một chương tình máy tính hay hệ thống là cấu trúc của
các thành phần trong hệ thống đó . Kiến trúc phần mềm bao gồm các phẩn tử
phần mềm , các thuộc tính và mối quan hệ giữa chúng . Ngoài ra cũng đề cập
đến các tài liệu phần mềm hệ thống , thuận tiện cho việc trao đổi thông giữa các
thành viên của nhóm dự án

8 : Trình bày ba đặc trưng chính của việc phát triển các hệ thống thông tin
theo phương pháp hướng đối tượng (định hướng bởi các ca sử dụng, lấy
kiến trúc làm trung tâm, phát triển lặp và gia tăng)?

Khi phát triển các hệ thống thông tin theo hướng đối tượng cần chú ý đến ba đặc
trưng sau

+ Định hướng bởi các ca sử dụng


ở đây ca sử dụng là một chuỗi các hoạt động mà hệ thống thực hiện cụ thể để có
thể đạt được một kết quả mà có thể quan sát được bởi một tác nhân cụ thể nào
đó , nó định nghĩa chức năng có thể sử dụng được của hệ thống

 Là công cụ mô hình hoá chính


 Đặc tả ca sử dụng là mô tả cách người dùng tương tác với hệ thống
 Xác định các hành vi của hệ thống
+ Lấy kiến trúc làm trung tâm

Như khái niệm kiến trúc trên cần chú ý đến kiến trúc phần mềm nó cũng phản
ánh cá khái cạnh tĩnh và động của hệ thống , nó được xem là ràng buộc cho
khâu thiết kế và xây dựng hệ thống

+Phát triển lặp và gia tăng

Là một kỹ thuật được sử dụng để chuyển các chức năng của hệ thống vào chuỗi
liên tục các phiên bản hoàn thiện tăng dần

Vòng lặp là các phiên bản được phát triển trong khoảng thời gian xác định các
vòng lặp tập chung chủ yếu phân tích , thiết kế, xây dựng, tích hợp và kiểm thử
tập các yêu cầu

Gia tăng lựa chọn các tập con chức năng hoặc một trong các ca sử dụng liên
quan để phát triển , kiểm chứng thông qua được ca kiểm thử sẽ là gia tăng

9 : Phát biểu các triệu chứng của vấn đề phát triển phần mềm?

Triệu chứng là biểu hiện về sự tồn tại các vấn đề xấu trong vòng đời phát triển
pần mềm

Các triệu chúng điển hình

+Yêu cầu không được đáp ứng

+ yêu cầu thây đổi quá nhanh

+các mô đun không lắp ghép được với nhau

+bảo trì khó

+phát hiện lỗi muộn

+chất lượng kem


10: Làm thế nào để có một sản phẩm phần mềm chất lượng cao?

Để một sản phẩm đạt được chất lượng cao chúng ta cần chú ý đến việc xử lý căn
nguyên mà nó gián tiếp cấu thành lên các triệu chứng

Để cho việc xử lý hiệu quả ơn các căn nguyên hay triệu chứng chúng ta cần đề
cập tới một số vấn đề hướng giải quyết sau

11: Mô tả các pha của mô hình phát triển RUP?

Một quy trình phát triển RUP bao gồm 4 pha

+pha khởi đầu

+pha chi tiết

+pha xây dựng

+pha chuyển

 Pha khởi đầu: nó tập chung định nghĩa phạm vi , xác định các tác nhân
và các ca sử dụng có thể có , cái nào cần thiết cái nào không, để đưa ra
kế hoạch phát triển
 Pha chi tiêt : từ các thông tin của pha khởi đầu tiến hành phát triển , thiết
lập khung kiến trúc cho hệ thống , dự kiến các rủi ro từ đó để có được mô
hình yêu cầu cơ bản cho hệ thống
 Pha xây dựng : tiến hành thiếp lập , lập trình , kiểm thử , phát triển , tích
hợp các thành phần khác từ đó để có được một hệ thống phần mềm chạy
được
 Pha chuyển giao: bàn giao hệ thống cho người dùng cuối
12: Trình bày luồng công việc trong mô tả RUP?

Mô hình hoá nghiệp vụ : mô tả cấu trức và quy trình nghiệp vụ

+ mục tiêu:

 hiểu được vấn đề đang tồn tại trong tổ chức và đề xuất cải tiến
 Đảm bảo khách hàng người dungg, người phát triển có sự hiểu biết cơ
bản về hệ thống
 Để tìm ra những yêu cầu hệ thống cần thiết
yêu cầu : mô tả nghiệp vụ băng phương pháp tình huống sử dụng

 Thiếp lập và duy trì sự đúng đắn về yêu cầu khách hàng và những gì mà
hệ thống thực hiện
 Giúp cho người phát triển hiểu rõ về yêu cầu hệ thống
 Xác định được giới hạn hệ thống
 Ước lượng thời gian phát triển và chi phí
Phân tích và thiết kế (Analysis and Design): Chỉ ra làm thế nào các ca
sử dụng của hệ thống được cài đặt.
Cài đặt (Implementation): Mã hoá các thành phần phần mềm đáp ứng bộ
tiêu chí chất lượng.
Kiểm thử (Testing): Tích hợp và kiểm thử hệ thống.

Triển khai (Deployment): Cung cấp sản phẩm phần mềm đến tay người
sử dụng.
Quản lý thay đổi và cấu hình (Configuration and change
management): Hỗ trợ quản lý các thay đổi đối với hệ thống.
Quản lý dự án (Project Management): Đảm bảo tất cả các công việc
được lên lịch, quản lý việc phát triển hệ thống.
Môi trường (Environment): Quản lý môi trường mà hệ thống được phát
triển trên đó
13: Trình bày một số kinh nghiệm thực hành tốt của RUP?

Phát triển phần mềm qua các lần lặp: Lập kế hoạch phát triển gia tăng
cho hệ thống dựa trên mức độ ưu tiên từ phía khách hàng,phát triển các tính
năng của hệ thống có độ ưu tiên cao nhất ngay từ những giai đoạn ban đầu
trong quy trình phát triển.

Quản lý các yêu cầu: Tài liệu hoá một cách rõ ràng về các yêu cầu của
khách hàng và theo dõi những thay đổi đối với các yêu cầu này. Phân tích tác
động của những thay đổi đó với hệ thống trước khi chấp nhận chúng

Sử dụng kiến trúc dựa trên thành phần: Cấu trúc hoá kiến trúc hệ
thống thành các thành phần.

Mô hình hoá trực quan phần mềm: Sử dụng các mô hình đồ hoạ UML
để biểu diễn các khung nhìn tĩnh và động của phần mềm

Kiểm tra chất lượng phần mềm : Đảm bảo rằng phần mềm đáp ứng
các tiêu chuẩn chất lượng

Kiểm soát các thay đổi đối với phần mềm : Quản lý các thay đổi đối
với phần mềm bằng cách sử dụng một hệ thống quản lý thay đổi và các công cụ
hỗ trợ khác

14: Lý giải tại sao cần cơ chế “Phân tích và thiết kế hướng đối tượng”?

MODULE 4: BIỂU ĐỒ CA SỬ DỤNG VÀ BIỂU ĐỒ HOẠT ĐỘNG

1.Tác nhân là gì? Lấy ví dụ chỉ ra các tác nhân của một hệ thống cụ thể?

- Tác nhân là bất cứ thứ gì tương tác với hệ thống, nó có sự trao đổi dữ liệu với
hệ thống

+Một lớp/ loại người dùng chứ không phải 1 người dùng cụ thể.

+Một người dùng cụ thể có thể đóng vai trò là các tác nhân khác nhau.

+ Không phải là 1 phần của hệ thống.


+Trao đổi( gửi và nhận) thông tin với hệ thống

+Có thể là người dùng, thiết bị phần cứng hoặc hệ thống phần mềm khác.

ví dụ: tác nhân thủ thư, sinh viên, admin trong hệ thống quản lí thư viện,…

2.Làm thế nào để xác định và kiểm tra các tác nhân của hệ thống?

*Xác định tác nhân:

-Đặt ra các câu hỏi sau để tìm ra các tác nhân:

+Nhóm người nào yêu cầu hệ thống làm việc cho họ?

+Nhóm người nào kích hoạt chức năng của hệ thống?

+Nhóm người nào sẽ duy trì và quản trị hệ thống?

+Hệ thống có tương tác với các thiết bị phần cứng hoặc các hệ thống phần
mềm ngoại vi nào khác hay không?

-Thông tin về tác nhân:

+Tên tác nhân phải mô tả vai trò của tác nhân đó một cách rõ rang.

+Tên tác nhân nên là danh từ.

*Kiểm tra tác nhân:

-Tất cả các tác nhân đã được xác định?


+Đảm bảo rằng tất cả các vai trò trong môi trường của hệ thống đã được xét
tới và mô hình hóa.

-Tác nhân có liên quan đến ca sử dụng nào không?

+Loại bỏ tác nhân không được đề cập trong một mô tả ca sử dụng nào hoặc
không có liên kết với ca sử dụng nào.

-Tác nhân có thực sự là một vai trò? Cần phân tách hoặc hợp nhất với các tác
nhân khác hay không?

+Các tác nhân có vai trò tương tự nhau trong ngữ cảnh hệ thộng, chúng nên
được hợp nhất thành một tác nhân duy nhất.

+Một tác nhân cụ thể sử dụng hệ thống theo nhiều cách hoàn toàn khác nhau
hoặc sử dụng ca sử dụng nào đó với một số mục đích hoàn toàn khác nhau, tác
nhân đó nên được phân tách.

-Có hai tác nhân có vai trò tương tự nhau đối với một ca sử dụng hay không?

+Nếu có hai tác nhân có vai trò tương tự nhau đối với một ca sử dụng -> sử
dụng mối quan hệ tổng quát hóa để mô hình hóa hành vi tổng quát của chúng.

-Tên các tác nhân có trực quan hay không?

+Khách hàng và người dùng có hiểu tên các tác nhân hay không?

+Tên các tác nhân phải phù hợp với vai trò của chúng.

3.Ca sử dụng là gì? Lấy ví dụ chỉ ra các ca sử dụng của một hệ thống cụ
thể?

-Ca sử dụng là một chuỗi các hành động mà hệ thống sẽ thực hiện nhằm thu
được một kết quả dễ thấy bởi một tác nhân cụ thể.

+Định nghĩa một chức năng của hệ thống.

+Đặc tả ca sử dụng mô tả cách một hoặc nhiều tác nhân tương tác với hệ
thống.

+Kết thúc ca sử dụng, tác nhân phải thu được một giá trị có thể quan sát được.
ví dụ: ca sử dụng đăng nhập, ca sử dụng tìm kiếm, ca sử dụng mượn trả sách
trong hệ thống quản lí thư viện,…

4.Làm thế nào để xác định và kiểm tra các ca sử dụng của hệ thống?

*Xác đinh ca sử dụng:

-Xem xét các yêu cầu chức năng của hệ thống để tìm ra các UC( use case).

-Đối với mỗi tác nhân tìm được, đặt các câu hỏi sau:

+Tác nhân yêu cầu những gì từ hệ thống?

+Các công việc chính mà tác nhân đó muốn hệ thống thực thi?

+Tác nhân đó có tạo ra hoặc thay đổi dữ liệu gì của hệ thống?

+Tác nhân đó cần thông báo gì cho hệ thống?

+Tác nhân đó cần thông tin thông báo gì từ hệ thống?

-Thông tin về ca sử dụng:

+Tên của ca sử dụng nên chỉ rõ kết quả của quá trình tương tác với tác nhân.

+Tên của ca sử dụng nên là động từ

+Mô tả ngắn gọn về mục đích của ca sử dụng đó

*Kiểm tra ca sử dụng:

-Ca sử dụng có liên quan đến tác nhân nào không?

+Loại bỏ ca sử dụng không tương tác với một tác nhân nào.

-Ca sử dụng có độc lập với những ca sử dung khác không?


+Nếu các ca sử dụng luôn được kích hoạt theo cùng một trình tự -> hợp nhất
chúng thành một ca sử dụng duy nhất.

-Có những ca sử dụng có hành vi hoặc luồng sự kiện rất giống nhau hay không?

+Nếu có -> hợp nhất chúng thành một ca sử dụng duy nhất( người dùng không
bị ảnh hưởng nhiều)

-Tên các ca sử dụng có trực quan và là duy nhất hay không?

+Tên các ca sử dụng phải mô tả hành vi mà chúng hỗ trợ.

-Mổ tả các ca sử dụng có rõ ràng và dễ hiểu hay không?

+Khách hàng và người dùng có hiểu được hay không?

5.Phân biệt hai quan hệ( tổng quát hoá và giao tiếp) giữa các tác nhân?

6.Phân biệt các quan hệ( tổng quát hoá, bao hàm, mở rộng) giữa các ca sử
dụng?

Tổng quát hóa Bao hàm( include) Mở rộng (extend)


( generalization)
-Một ca sử dụng được đặc biệt -Một ca sử dụng có thể tích hợp -Một ca sử dụng có thể được
hóa thành một hoặc nhiều ca sử hành vi của các ca sử dụng khác định nghĩa như là một sự mở
dụng con như là các phần trong hành vi rộng tăng dần của một ca sử
-Sử dụng khái niệm về kế thừa: tổng thể của nó dụng cơ sở
+Mô tả hành vi chung trong ca -Biểu diễn một use-case chứa -Chèn hành vi của ca sử dụng
sử dụng cha hành vi được định nghĩa trong mở rộng vào ca sử dụng cơ sở
+Mô tả hành vi riêng trong một use-case khác -Cho phép mở rộng chức năng
(các) ca sử dụng con -Cho phép một use-case sử dụng của một ca sử dụng
chức năng của use-case khác -Sử dụng stereotype là
-Sử dụng stereotype là <<extend>>
<<include>>

7. Mục đích sử dụng của biểu đồ ca sử dụng là gì?

-Đóng vai trò như một bản hợp đồng giữa bên phát triển hệ thống và khách hàng

-Được sử dụng trong tất cả các giai đoạn của quy trình phát triển hệ thống

+Khách hàng phải phê duyệt biểu đồ ca sử dụng

+Bên phát triển hệ thống sử dụng biểu đồ ca sử dụng để thảo luận với khách
hàng

+Các bên liên quan đến dự án sẽ hiểu rõ hơn về hệ thống thông qua biểu đồ ca
sử dụng

8.Mục đích sử dụng của biểu đồ hoạt động là gì?

Biểu đồ hoạt động dùng để :

-Mô tả luồng công việc trong tiến trình nghiệp vụ trong mô hình hóa nghiệp vụ

-Mô tả luồng sự kiện trong mô hình hóa hệ thống

-Biểu đồ hoạt động sử dung để mô hình hóa:

+Khía cạnh động của hệ thống


+Các bước trình tự hay tương tranh trong quá trình tính toán

9.Trình bày các thành phần chính trong biểu đồ hoạt động?(activity
diagram)

-Một hoạt động (activity):

+Đặc tả cho hành vi được diễn tả như một luồng thực thi thông qua sự sắp xếp
thứ tự của các đơn vị nhỏ hơn.

+Các đơn vị nhỏ hơn bao gồm các hoạt động lồng nhau và các hành động riêng
lẻ.

+Có thể chứa ràng buộc biểu thức Boolean khi hoạt động được gọi hoặc kết
thúc.

-Một chuyển tiếp( transition) là việc chuyển đổi giữa các hoạt động:

+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 hoạt động đó.

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

-Làn bơi( swim lane):

+Sử dụng để mô hình hóa luồng công việc trong quy trình nghiệp vụ.

+Phân hoạch các hoạt động vào từng làn bơi.

+Chỉ ra ai có trách nhiệm làm gì trong từng làn bơi

+Có thể phân chia theo một chiều( hàng hoặc cột) hoặc hai chiều( cả hàng và
cột)

+Chuyển tiếp có thể được vẽ từ làn bơi này tới làn bơi khác
10.Vai trò của làn bơi trong biểu đồ hoạt động là gì?

-Sử dụng để mô hình hóa luồng công việc trong tiến trình nghiệp vụ

-Chỉ ra ai có trách nhiệm thực hiện từng hoạt động

-Để phân hoạch các trạng thái hoạt động vào nhóm

-Phân tách nhóm trên biểu đồ bằng các làn bơi

-Qúa độ có thể được vẽ từ làn bơi này đến làn bơi khác

-Mỗi làn bơi có thể được cài đặt bởi một hay nhiều lớp

Module 5: Biểu đồ tương tác và biểu đồ lớp:


1. Trình bày vai trò của biểu đồ tương tác? Biểu đồ tương tác bao gồm
hai loại biểu đồ nào?
- Vai trò của biểu đồ tương tác:
 Mô hình hoá khía cạnh động của hệ thống, mô tả tương tác giữa
các đối tượng.
 Thường dùng để mô tả kịch bản của use case.
 Biểu đồ tương tác bao gồm một 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 đồ tương tác gồm 2 loại biểu đồ là:
 Biểu đồ tuần tự
 Biểu đồ giao tiếp.
2. Thông điệp là gì? Có những loại thông điệp nào trong biểu đồ tuần
tự? Giải thích từng loại thông điệp trong biểu đồ tuần tự?
- Thông điệp là sự giao tiếp 1 chiều giữa 2 đối tượng ở dạng luồng điều
khiển cùng với các thông tin đính kèm(có thể là các tham số) từ bên
gửi đến bên nhận.
- Có những loại thông điệp :
 Thông điệp đồng bộ : Sự giao tiếp hai chiều, đối tượng gửi sẽ chờ
đối tượng nhận phản hồi và sẽ không gửi thông điệp khác cho đến
khi nhận được phản hồi. • Biểu diễn bởi một đường mũi tên ở đầu
được tô đặc.
 Thông điệp không đồng bộ : Sự giao tiếp một chiều, không chờ đối
tượng nhận phản hồi và tiếp tục với hành động tiếp theo. • Biểu
diễn bởi một đường mũi tên ở đầu không được tô đặc
 Thông điệp 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 đó. • Biểu diễn
bởi một đường mũi tên nét đứt ở đầu không được tô đặc.
 Thông điệp phản thân : 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.
 Ngoài ra còn có thống điệp tạo mới và thông điệp hủy.
3. Cộng tác (collaboration) là gì? Lấy ví dụ minh hoạ?
- Cộng tác là: xác định một sự tương tác giữa các đối tượng, biểu diễn
một ngữ cảnh bao gồm các vai trò và các phần tử tương tác với nhau
để cung cấp hành vi cộng tác lớn hơn.
- Ví dụ minh họa:Trong một nhà hàng thì có sự cộng tác của nhân
viên phòng bếp + Nhân viên bồi bàn + Nhân viên thu ngân + Nhân
viên phục vụ….Trong phòng bếp thì lại có sự cộng tác của nhân viên
đầu bếp + phụ bếp….
4. Trình bày các thành phần chính trong biểu đồ tuần tự?
- Tác nhân
- Thông điệp: 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.
- Toán tử: alt,loop,opt, par,ref,sd…
- Đường sống: Biểu diễn bởi một đường kẻ nối dài phía dưới đối tượng.
- Đối tượng: Được biểu diễn bởi 1 hình chữ nhật
- Kích hoạt: Chỉ ra khoảng thời gian mà một hoạt động được thực hiện.
- Khung tương tác
5. Trình bày các thành phần chính trong biểu đồ giao tiếp?
- Đối tượng
- Liên kết
- Thông điệp
- Tác nhân
6. So sánh biểu đồ tuần tự và biểu đồ giao tiếp? Lấy ví dụ minh hoạ?
- Giống nhau:
 Đều có sự tương đương về ngữ nghĩa:
o Có sự tương tác giữa các đối tượng thông qua sự trao đổi thông
điệp
o Có thể chuyển đổi giữa 2 loại biểu đồ mà ko làm mất mát thông
tin
 Mô hình hóa các khía cạnh động của hệ thống
 Đều có mô hình hóa kịch bản ca sử dụng
- Khác nhau:
Biểu đồ tuần tự Biểu đồ giao tiếp
- Chỉ ra thứ tự rõ ràng của - Chỉ ra mối quan hệ rõ ràng
các thông điệp giữa các đối tượng.
- Thể hiện luồng công việc - Thể hiện quá trình giao tiếp
tốt hơn tốt hơn.
- Mô hình hoá trực quan hơn - Mô hình hoá trực quan hơn
toàn bộ luồng thực thi (theo thời tất cả các ảnh hưởng của đối
gian). tượng
- Thể hiện tốt hơn đối với - Thể hiện rõ hơn hiệu quả
các đặc tả thời gian thực và các của quá trình tương tác trên từng
kịch bản phức tạp. đối tượng.
- Ví dụ:
- --------------------------------------
7. Trình bày vai trò của biểu đồ lớp? Biểu đồ lớp bao gồm các phần tử
nào?
- Vai trò của biểu đồ lớp:
 Là một biểu đồ tĩnh, được sử dụng để trực quan hóa, ghi lại các
khía cạnh tĩnh của hệ thống.
 Một kỹ thuật mô hình hoá tồn tại ở tất cả các phương pháp phát
triển hướng đối tượng.
 Biểu đồ hay dùng nhất trong UML.
- Biểu đồ lớp bao gồm các phần tử:
 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ệ. Một lớp được biểu diễn bởi
một hình chữ nhật gồm 3 thành phần:
o Tên lớp.
o Các thuộc tính.
o Các phương thức.
 Thuộc tính:
o Chỉ ra tên thuộc tính, kiểu và giá trị mặc định (nếu có):
attributeName : Type = Default
o Tên thuộc tính phải tuân theo quy ước đặt tên của ngôn ngữ cài
đặt và của dự án.
o Kiểu nên là kiểu dữ liệu cơ bản trong ngôn ngữ thực thi. • Kiểu
dữ liệu có sẵn. • Kiểu dữ liệu người dùng định nghĩa.
 Quan hệ
 Phương thức
 Ràng buộc và ghi chú
8. Trình bày vai trò và cách xác định Lớp biên, Lớp điều khiển và Lớp
thực thể trong pha phân tích?
Các lớp Vai trò Cách xác định
Lớp Cầu nối giao tiếp giữa giao Lớp UI, lớp giao diện hệ thống
biên diện và những thứ bên ngoài (form, report …).
hệ thống (môi trường). • Khảo sát biểu đồ UC để tìm
• Mô hình hoá tương tác giữa kiếm lớp biên.
môi trường hệ thống và phần • Mỗi cặp tác nhân và UC sẽ
hoạt động bên trong HT. tương ứng với một lớp biên
(khuyến cáo).
Lớp Lớp thực thể là lớp lưu trữ Lớp thực thể có thể được xác
thực thể thông tin sẽ ghi vào bộ nhớ định dựa vào mô tả luồng sự
ngoài. kiện của UC.
• Thông thường phải tạo ra
bảng CSDL cho lớp thực thể.
Lớp Có trách nhiệm điều phối Không thực hiện chức năng
điều hoạt động của các lớp khác. nghiệp vụ nào. • Có thể điều
khiển • Mỗi UC chỉ nên có một lớp khiển sự kiện liên quan đến an
điều khiển ở khâu phân tích ninh hệ thống hoặc giao dịch
(khuyến cáo). • Làm mịn CSDL.
thành nhiều lớp ở khâu thiết
kế.
9. Bội số quan hệ (multiplicity) là gì? Lấy ví dụ minh hoạ?
- Bội số quan hệ là số thể hiện của 1 lớp liên quan đến 1 thể hiện của
lớp khác.

- Ví dụ:
10.Phạm vi truy cập (visibility) được sử dụng để làm gì? Phân biệt ba
phạm vi truy cập (public, private, protected)?
- Phạm vi truy cập được sử dụng để thực hiện khả năng đóng gói trong
OOP
- Phân biệt 3 phạm vi truy cập:
 Public: Mọi lớp đều nhìn thấy (+)
 Private: Lớp khác không nhìn thấy (-)
 Protected: Các lớp kế thừa có thể nhìn thấy (#)
11..Các ràng buộc và ghi chú trong biểu đồ lớp được sử dụng để làm gì?
Lấy ví dụ minh hoạ?
- Các ràng buộc và ghi chú được sử dụng để:
 Được sử dụng cho các liên kết, các thuộc tính, các phương thức và
các lớp.
 Các ràng buộc là các hạn chế ngữ nghĩa được viết dưới dạng các
biểu thức Boolean.

- Ví dụ:

12.Phân biệt các quan hệ trong biểu đồ lớp (association, generalization,


aggregation, composition, dependency)? Lấy ví dụ minh hoạ?

- Quan hệ liên kết (Association):


 Một quan hệ ngữ nghĩa giữa hai hoặc nhiều lớp có mối liên hệ với
nhau giữa các thể hiện của chúng.
 Một quan hệ cấu trúc, chỉ ra các đối tượng của lớp này có kết nối
với các đối tượng của lớp khác hoặc chính lớp đó.
 Một liên kết giữa hai lớp chỉ ra rằng đối tượng ở một đầu của liên
kết nhận ra đối tượng ở đầu kia và có thể gửi thông điệp cho nhau.
 Ví dụ: Một lớp học có nhiều học sinh
- Quan hệ kết tập (aggregation):
 Một dạng đặc biệt của liên kết.
 Mô hình hoá mối quan hệ toàn thể-bộ phận (whole-part) giữa đối
tượng toàn thể và các bộ phận của nó.
 Mối quan hệ “là một phần của” (“is a part of”)

 Ví dụ:
- Quan hệ hợp thành (composition):
 Một dạng đặc trưng của kết tập với quyền sở hữu mạnh và các
vòng đời trùng khớp giữa hai lớp.
o Whole là sở hữu duy nhất của Part, tạo và huỷ Part.
o Part bị bỏ khi Whole bị bỏ, Part không thể tồn tại nếu Whole
không tồn tại.

 Ví dụ:
- Quan hệ tổng quát hóa (generalization): Quá trình bắt đầu từ một lớp
chuyên biệt hóa đến lớp có mức khái quát cao hơn được gọi là quá
trình tổng quát hóa.
 Ví dụ: lớp tài khoản tiết kiệm đến lớp tài khoản, từ lớp thanh toán
tiền mặt đến lớp thanh toán.
- Quan hệ phụ thuộc: Một quan hệ ngữ nghĩa giữa hai lớp, trong đó sự
thay đổi của lớp này kéo theo sự thay đổi của lớp kia (lớp phụ thuộc)
mặc dù giữa chúng không có một sự liên kết rõ ràng
 Ví dụ: Cường độ sáng của đèn thì phụ thuộc vào điện áp

MODULE 6: NẮM BẮT YÊU CẦU


1.Yêu cầu là gì? Có những loại yêu cầu nào trong một vòng đời phát triển
hệ thống?Mỗi loại yêu cầu lấyhaiví dụ minh hoạ?

Yêu cầu là: là một tuyên bố về những gì hệ thống phải làm hoặc những đặc tính
hệ thống cần phải có

 Có những loại yêu cầu nào trong một vòng đời phát triển hệ thống?
+yêu cầu chức năng: _Hướng tiến trình: tiến trình hệ thống phải thực hiện

_hướng thông tin: thông tin hệ thống phải chứa

+yêu cầu phi chức năng: vận hành , hiệu năng, an ninh, văn hóa chính trị

Mỗi loại yêu cầu lấy hai ví dụ minh hoạ?

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

 giúp hiểu rõ hơn về hệ thống


 xác định được biên của hệ thống
 ước tính đươc chi phí
 định hình được giao diện làm rõ được nhu cầu và mục tiêu của người
dùng
3.Phát biểu các chế tác chính trong khâu nắm bắt yêu cầu?Các chế tác
chính này được sử dụng để làm gì?

Phát biểu các chế tác chính trong khâu nắm bắt yêu cầu?

 Phát biểu vấn đề (Problem Statement).


 Mô hình ca sử dụng (Use-Case Model).
 Từ điển thuật ngữ (Glossary).
 Đặc tả bổ sung (Supplementary Specification).
4.Hành vi hệ thống là gì?Mô hình nào được sử dụng để truyền đạt hành vi
hệ thống?

Hành vi hệ thống là cách một hệ thống hành động và phản ứng.

Mô hình nào được sử dụng để truyền đạt hành vi hệ thống: Mô hình ca sử dụng
UML
5.Mô hình ca sử dụng là gì?Các chế tác nào tạo nên mô hình ca sử
dụng?Trình bày vai trò của mô hình ca sử dụng?

Mô tả các chức năng của hệ thống dưới dạng các ca sử dụng

 Các chế tác tạo nên mô hình ca sử dụng bao gồm : các đặc tả ca sử dụng
và các biểu đồ hoạt động.

++Vai trò của mô hình ca sử dụng????


 Mô tả hệ thống làm gì
 Truyền đạt hành vi của hệ thống tới khách hàng hoặc người dùng cuối.
8. Biểu đồ tuần tự :

Minh họa được các sự kiện dầu vào và đầu ra của hệ thống

VÍ Dụ:

 Khi thanh toán tiền bằng thẻ tín dụng, khách hàng . Thẻ tín dụng được
xác định thông qua thẻ số thẻ ( gửi 1 thông điệp cho ht)
 Hệ thống sẽ gửi 1 yêu cầu lên để kiểm duyệt thẻ tới bọ phận kiểm duyệt
thẻ
 Hệ thống sẽ dựa vào kết quả trả lời của người duyệt: nếu đúng thì trừ tiền
trong tài khoản

11. Từ điển thuật ngữ:

Từ điển thuật ngữ định nghĩa các thuật ngữ trong miền vấn đề của hệ thống , mô
tả ở dạng văn bản
MODULE 7: PHÂN TÍCH HƯỚNG ĐỐI TƯỢNG

1. Mục đích của khâu phân tích và thiết kế là gì? Các chế tác nào là đầu
vào và ra cho hoạt động phân tích và thiết kế? Khâu phân tích và
thiết kế liên quan đến các khâu tiến trình khác của RUP như thế
nào?

-Khâu phân tích và thiết kế có liên quan đến các khâu hoạt động khác:

+Khâu mô hình hóa nghiệp vụ cung cấp một ngữ cảnh tổ chức cho hệ thống

+Khâu nắm bắt yêu cầu cung cấp đầu vào chính cho khâu phân tích và thiết
kế

+Khâu kiểm thử kiểm tra hệ thống đã được thiết kế trong khâu phân tích và
thiết kế

+Khâu quản lí dự án lập kế hoạch cho dự án và từng lần lặp( được mô tả


trong một bản kế hoạch phát triển lặp)

+Khâu môi trường hỗ trợ việc xây dựng các chế tác được sử dụng trong

khâu phân tích và thiết kế

-Các chế tác INPUT/ OUTPUT là đầu vào và đầu ra cho hoạt động phân tích
và thiết kế

2. Trình bày sự khác nhau giữa hoạt động phân tích và hoạt động thiết kế?
Phân tích Thiết kế
-Tập trung vào việc hiểu vấn đề -Tập trung vào việc hiểu giải pháp
-Quan niệm hóa thiết kế -Các thao tác và các thuộc tính
-Hành vi -Hiệu năng
-Cấu trúc hệ thống -Sát với mã nguồn
-Các yêu cầu chức năng -Các vòng đời đối tượng
-Các yêu cầu phi chức năng

2. Trình bày vai trò của kiến trúc sư phần mềm và nhà thiết kế trong
dự án?

-Vai trò của kiến trúc sư phần mềm: dẫn dắt và điều phối các hoạt động kỹ thuật
và các chế tác xuyên suốt dự án

-Vai trò của nhà thiết kế:

+Nhà thiết kế có vai trò xác định các trách nhiệm, các thao tác, các thuộc tính
và các mối quan hệ của các lớp và chỉ rõ làm thế nào hiện thực hóa chúng trong
môi trường cài đặt

+Nhà thiết kế phải biết các kỹ thuật mô hình hóa ca sử dụng, các yêu cầu hệ
thống và các kỹ thuật thiết kế phần mềm( phương pháp phân tích và thiết kế
hướng đối tượng, UML), các công nghệ cài đặt hệ thống

3. Kiến trúc phần mềm là gì? Trình bày mô hình kiến trúc “khung nhìn
4+1”?

-Kiến trúc phần mềm chứa đựng một tập các quyết định quan trọng về việc tổ
chức một hệ thống phần mềm

-Kiến trúc phần mềm có một quan điểm tĩnh và một quan điểm động

-Kiến trúc phần mềm được diễn đạt ở dạng biểu thức:

Kiến trúc = các phần tử + khuôn dạng(form) + cơ sở lí luận

+cơ sở lí luận là cần thiết để đánh giá một kiến trúc tốt

+các mẫu kiến trúc là các hướng dẫn để lắp ráp các phần tử trong một số
dạng khuôn mẫu

-Kiến trúc liên quan tới một tập các quyết định thiết kế chiến lược, các quy tắc
hoặc các mẫu kiến trúc ràng buộc cho khâu thiết kế và xây dựng
-Kiến trúc có thể xem như một tập các ràng buộc ban đầu được đặt cho hệ
thống, chúng tạo thành các quyết định cơ bản về việc thiết ké phần mềm

-Kiến trúc đặt ra một khung công việc cho việc thiết kế

-Kiến trúc có thể hiểu là một dạng thiết kế mức cao, thiết kế chiến lược

-Mô hình kiến trúc khung nhìn 4+1

4. Mẫu (pattern) là gì? Trình bày sự khác nhau giữa mẫu thiết kế và
mẫu kiến trúc?

*Mẫu( pattern):

-Cung cấp một giải pháp chung cho một vấn đề chung trong một ngữ cảnh
nào đó

-Lập điều lệ tri thức chuyên biệt nào đó được thu thập từ kinh nghiệm

-Đưa ra ví dụ về cách giải quyết các vấn đề thực tế bằng giải pháp mô hình
hóa

* Trình bày sự khác nhau giữa mẫu thiết kế và mẫu kiến trúc?

Mẫu thiết kế(design pattern) Mẫu kiến trúc


-Một mẫu thiết kế là một giải pháp cho -Một mẫu kiến trúc diễn đạt một lược
một vấn đề thiết kế thường gặp đồ cơ bản tổ chức cấu trúc cho các hệ
+Mô tả một vấn đề thiết kế thường thống phần mềm. Nó cung cấp một tập
gặp các hệ thống con được xác định trước,
+Mô tả một giải pháp cho vấn đề trên chỉ định trách nhiệm của chúng và đưa
+Thảo luận kết quả, ràng buộc cho vào các luật và các hướng dẫn để tổ
việc áp dụng mẫu thiết kế chức các mối quan hệ giữa chúng
-Mẫu thiết kế cung cấp khả năng sử -Một số mẫu kiến trúc thông dụng:
dụng lại các thiết kế thành công +Mẫu phân tầng(Layers)
+Tăng khả năng bảo trì, nâng cao chất +Mẫu MVC( Model-View-Controller)
lượng. giảm thời gian phát triển hệ +Mẫu đường ống và bộ lọc( Pipes and
thống filters)
-Mẫu thiết kế được mô hình hóa trong +Mẫu bảng đen( Blackboard)
UML ở dạng các cộng tác được tham -Lựa chọn mẫu kiến trúc ảnh hưởng
số hóa đến việc tổ chức mức cao cho mô hình
đối tượng

5. Mục đích của hoạt động phân tích kiến trúc là gì? Các chế tác nào là
đầu vào và ra cho hoạt động phân tích kiến trúc?

-Mục đích của phân tích kiến trúc :

+Xác định một kiến trúc tiêu biểu cho hệ thống dựa trên kinh nghiệm thu
được từ các hệ thống tương tự hoặc các miền vấn đề tương tự

+Xác định các mẫu kiến trúc, các cơ chế chính và các quy ước về mô hình
hệ thống

+Xác định chiến lược sử dụng lại

+Cung cấp một phần đầu vào cho hoạt động lập kế hoạch dự án

- Chế tác INPUT/ OUTPUT là đầu vào và ra cho hoạt động phân tích kiến
trúc
6. Trình bày mẫu kiến trúc phân tầng? Trong tiếp cận phân tầng điển
hình (4 tầng), mỗi tầng chứa các thành phần nào?

*Mẫu kiến trúc phân tầng

Để giảm độ phức tạp của việc thiết kế và cài đặt mạng, hầu hết các máy tính
đều được phân tích thiết kế theo quan điểm phân tầng. Mỗi hệ thống thành
phần của mạng được xem như một cấu trúc đa tầng, trong đó mỗi tầng được
xây dựng trên tầng trước nó. Số lượng các tầng cũng như tên và chức năng
của mỗi tầng tuỳ thuộc vào nhà thiết kế.

*Tiếp cận phân tầng điển hình:


7. Khi phân tầng chúng ta cần xem xét các yếu tố nào?

-Mức độ trừu tượng:

+Nhóm gộp các phần tử có cùng mức độ trừu tượng

-Phân tách các mối quan tâm:

+Nhóm gộp các phần tử giống nhau( liên quan về mặt logic với nhau)

+Phân tách các phần tử khác nhau

+Phân tách các phần tử mô hình miền với các phần tử mô hình ứng dụng

-Tính thích ứng:

+Tạo được liên kết lỏng lẻo giữa các thành phần

+Tổ chức đóng gói riêng các thành phần dễ bị thay đổi trong vòng đời hệ
thống( giao diện người dùng, các quy tắc nghiệp vụ)

9. Cơ chế kiến trúc là gì? Phân loại?

-Một cơ chế kiến trúc là một quyết định chiến lược về các tiêu chuẩn chung, các
chính sách và các thực thi. Nó là việc hiện thực hóa các vấn đề cần được chuẩn
hóa trong một dự án
-Một cơ chế kiến trúc đưa ra một giải pháp chung cho một vấn đề thường gặp.
Nó có thể là các mẫu về cấu trúc, các mẫu về hành vi hoặc cả hai

-Các cơ chế kiến trúc là một phần quan trọng trong việc kết nối giữa các chức
năng cần thiết của hệ thống với cách các chức năng này được hiện thực hóa, nó
đưa ra các ràng buộc của môi trường thực thi

-Giải pháp tương ứng với các cơ chế kiến trúc cần phải được xây dựng trong
kiến trúc

-Kiến trúc sư lựa chọn các cơ chế, hợp lệ các cơ chế, sau đó kiểm chứng và áp
đặt chúng một cách nhất quán vào phần còn lại của công việc thiết kế hệ thống

*Phân loại cơ chế kiến trúc:

-Có 3 loại:

+Cơ chế phân tích( mức khái niệm)

+Cơ chế thiết kế( mức cụ thể)

+Cơ chế thực thi( mức cài đặt)

-Các cơ chế phân tích nắm bắt các khía cạnh chính của một giải pháp theo cách
độc lập với môi trường thực thi

+Cung cấp các hành vi chuyên biệt cho các lớp hoặc các thành phần liên quan
đến miền vấn đề

+Tham chiếu đến việc hiện thực hóa cộng tác giữa các lớp và/ hoặc các thành
phần

+Có thể được cài đặt như một khung công việc

+VD: tổ chức lưu trữ bền vững, giao tiếp liên tiến trình, xử lí lỗi và sai sót,
truyền thông điệp, phân tán, an ninh,…

-Cơ chế thiết kế cụ thể hơn so với cơ chế phân tích

+Gỉa định một số chi tiết về môi trường thực thi nhưng không gắn với một môi
trường thực thi cụ thể nào

-Cơ chế thực thi xác định bản cài đặt chính xác ứng với một môi trường thực thi
cụ thể ( công nghệ nhất định, ngôn ngữ cài đặt,…)
10. Cơ chế phân tích là gì? Lấy ví dụ?

- Mỗi cơ chế phân tích thường được xem xét dựa trên những đặc điểm chính
nào đó

-Những đặc điểm của cơ chế phân tích sẽ nắm bắt một số yêu cầu phi chức năng
của hệ thống

-Cơ chế lưu trữ bền vững( persistency mechanism):

+Phạm vi( granularity): xác định tất cả các lớp mà thể hiện của chúng cần
được lưu trữ cho các lần thực thi sau của hệ thống

+Dung lượng( volume): xác định số lượng các đối tượng cần lưu trữ bền vững

+Thời lượng( duration): xác định khoảng thời gian mà các đối tượng cần lưu
trữ bền vững

+Cơ chế truy cập( access mechanism): làm thế nào các đối tượng được định
danh duy nhất và được truy xuất?

+Tần suất truy cập( access frequency): xem xét các đối tượng có thường
xuyên được truy cập, được cập nhật hay không?

+Độ tin cậy(reliability): xem xét các đối tượng có cần phải bảo toàn sau những
lỗi và xung đột giữa các tiến trình hay không?

11. Lý giải tại sao cần sử dụng các cơ chế phân tích?
12. Mục đích của hoạt động phân tích ca sử dụng là gì? Các chế tác nào là
đầu vào và ra cho hoạt động phân tích ca sử dụng?

*Mục đích của phân tích ca sử dụng:

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

-Phân bổ 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 ca sử
dụng

-Xác định các trách nhiệm, các thuộc tính và các liên kết của các lớp phân tích

-Liên hệ các lớp phân tích tới từng cơ chế kiến trúc

*Các chế tác INPUT/ OUTPUT là đầu vào và ra cho hoạt động phân tích ca sử
dụng

13. Lớp phân tích là gì? Nêu các kiểu mở rộng (stereotypes) của lớp phân
tích?

*Lớp phân tích:


-Các lớp phân tích tái hiện một mô hình khái niệm cho” những phần tử có trách
nhiệm và hành vi trong hệ thống”

-Các lớp phân tích vận dụng các yêu cầu chức năng chính

-Các lớp phân tích mô hình hóa các đối tượng trong miền vấn đề

-Phân loại các lớp phân tích dựa trên 3 khía cạnh của hệ thống:

+Biên giữa hệ thống và các tác nhân -> lớp biên( stereotype dạng
<<boundary>>)

+Thông tin hệ thống sử dụng -> lớp thực thể (stereotype dạng <<entity>>)

+Logic điều khiển của hệ thống -> lớp điều khiển ( stereotype dạng
<<control>>)

14. Trình bày vai trò và cách xác định các kiểu lớp phân tích (lớp biên, lớp
điều khiển, lớp thực thể)? Làm thế nào để phân bổ hành vi ca sử dụng cho
các lớp phân tích?

*Vai trò và cách xác định các kiểu lớp phân tích :

-Bổ sung thông tin cho phần ô tả ca sử dụng

-Đối với mỗi hiện thực hóa ca sử dụng:

+Tìm các lớp phân tích

+Phân bố hành vi ca sử dụng cho các lớp phân tích

-Đối với mỗi lớp phân tích được xác định:

+Mô tả các trách nhiệm

+Mô tả các thuộc tính và các mối liên kết

+Xác định các cơ chế phân tích tương ứng

-Tổng hợp các lớp phân tích

-Kiểm tra

*Phân bổ hành vi ca sử dụng cho các lớp phân tích:


-Đối với luồng các sự kiện của từng ca sử dụng:

+Xác định các lớp phân tích

+Phân bổ( gán) trách nhiệm cho các lớp phân tích

+Mô hình hóa tương tác giữa các lớp phân tích trong các biểu đồ tương tác

15. Một hiện thực hoá ca sử dụng là gì?

-Một hiện thực hóa ca sử dụng( use-case realization) mô tả một ca sử dụng cụ


thể được thực hiện như thế nào trong mô hình thiết kế, mô tả ca sử dụng ở dạng
cộng tác giữa các đối tượng

-Một hiện thực hóa ca sử dụng chỉ ra những lớp nào cần phải được xây dựng để
thực hiện ca sử dụng đó

-Trong UML, các hiện thực hóa ca sử dụng được biểu diễn bởi stereotype từ các
cộng tác (collaboration).

+Stereotype là <<realize>>

-Một hiện thực hóa ca sử dụng có thể được biểu diễn bởi một tập các biểu đồ
UML:

+Biểu đồ lớp UML mô hình hóa khung cảnh của cộng tác, chứa các lớp đối
tượng thực hiện ca sử dụng cùng với các mối quan hệ giữa chúng

+Biểu đồ tương tác mô hình hóa các tương tác của cộng tác trong hiện thực
hóa ca sử dụng

16. Trừu tượng chính (key abstraction) là gì? Những nguồn tài liệu nào
được sử dụng để xác định các trừu tượng chính của hệ thống?

-Một trừu tượng chính( key abstraction) là một khái niệm, thường được phát
hiện ra trong khâu mô hình hóa nghiệp vụ và nắm bắt yêu cầu, hệ thống phải có
khả năng xử lý khái niệm này

-Các trừu tượng chính của miền vấn đề được xác định

-Các từ vựng của hệ thống phần mềm được xác định

-Các nguồn để xác định các trừu tượng chính:


+Tài liệu về tri thức miền

+Tài liệu yêu cầu

+Từ điển thuật ngữ

+Mô hình miền hoặc mô hình nghiệp vụ( nếu có)

17. Các biểu đồ tương tác được tạo ra như thế nào trong hoạt động phân
tích ca sử dụng?

18. Làm thế nào để kiểm tra các gói được xác định trong hoạt động phân
tích kiến trúc?

19. Làm thế nào để kiểm tra các lớp phân tích được xác định trong hoạt
động phân tích ca sử dụng?

20. Làm thế nào để kiểm tra các hiện thực hoá ca sử dụng?

You might also like