1. Câu hỏi 2 điểm
1. UML là gì? UML được dùng để làm gì?
- Khái niệm : UML là ngôn ngữ mô hình hóa thống nhất có phần chính bao gồm những ký hiệu hình học
được các phương pháp hướng đối tượng sử dụng để thể hiện và miêu tả thiết kế của 1 hệ thống.UML
dùng cho
o Mô hình hóa trực quan
o Đặc tả
o Xây dựng
o Tài liệu hóa các nhân tố của hệ thống phần mềm.
- Vai trò : được sử dụng làm công cụ giao tiếp giữa người dùng, nhà phân tích, nhà thiết kế và nhà phát
triển phần mềm. UML được xây dựng để :
o Mô hình hóa các hệ thống sử dụng khái niệm hướng đối tượng
o Thiết lập 1 kết nối từ nhận thức của con người đến các sự kiện cần mô hình hóa
o Giải quyết vấn đề về mức độ thừa kế trong các hệ thống phức tạp, có nhiều ràng buộc khác
nhau.
o Tạo một ngôn ngữ mô hình hóa có thể sử dụng được bởi người và máy.
2. Nêu các đặc trưng của UML? Giải thích ý nghĩa của mỗi đặc trưng đó? Trang béo
3. Kiến trúc hệ thống trong UML được phát triển xuất phát từ việc nhìn nhận hệ thống theo các khung nhìn
nào? Ý nghĩa của mỗi khung nhìn đó. Trang béo
Khi xem xét 1 hệ thống, chúng ta cần xây dựng các mô hình từ những khía cạnh khác nhau xuất phát tự
thực tế là những người làm việc với hệ thống có những vai trò khác nhau sẽ nhìn hệ thống từ những khía
cạnh khác nhau
Có 5 khung nhìn :
o Use Case View : bao gồm các UC mô tả ứng xử của hệ thống theo cách nhìn nhận của người
dùng, người phân tích hệ thống. Nó không chỉ ra cách cấu trúc của hệ thống phần mềm mà chỉ
dùng để nhín nhận 1 cách tổng quát những j mà hệ thống sẽ cung cấp, thông qua đó người
dùng có thể kiểm tra xem các yêu cầu của mình đã được đáp ứng đầy đủ hay chưa hoặc có
chức năng nào của hệ thống là không cần thiết.
o Logic View : Được dùng để xem xét các phần tử bên trong hệ thống và mối quan hệ sự tương
tác giữa chúng để thực hiện các chức năng mong đợi của hệ thống,
2. o Process View : chia hệ thống thành các tiến trình và luồng, mô tả việc đồng bộ hóa và xử lý
đồng thời. Dùng cho người phát triển và tích hợp hệ thống bao gồm các biểu đồ sequence,
collaboration, activity, và state.
o Implementation View : bao gồm các component và file tạo nên hệ thống vật lý. Nó chỉ ra sự
phụ thuộc giữa các thành phần này, cách kết hpwj chúng lại với nhau để tạo ra một hệ thống
thực thi.
o Deployment View : chỉ ra cấu hình phần cứng mà hệ thống sẽ chạy trên đó. Nó thể hiện sự
phụ thuộc giữa các thành phần này, cách kết hợp chúng lại với nhau để tạo ra 1 hệ thống thực
thi.
4. UML thể hiện qua các giai đoạn nào của quá trình phát triển hệ thống? Mô tả chi tiết các giai đoạn này?
Trang béo
a. Giai đoạn nghiên cứu sơ bộ :
UML đưa ra khái niệm Use Case để nắm bắt các yêu cầu của khách hàng (người sử dụng).
UML sử dụng biểu đồ Use case (Use Case Diagram) để nêu bật mối quan hệ cũng như sự giao tiếp với
hệ thống.
Qua phương pháp mô hình hóa Use case, các tác nhân (Actor) bên ngoài quan tâm đến hệ
thống sẽ được mô hình hóa song song với chức năng mà họ đòi hỏi từ phía hệ thống (tức là Use case).
Các tác nhân và các Use case được mô hình hóa cùng các mối quan hệ và được miêu tả trong biểu đồ
Use case của UML. Mỗi một Use case được mô tả trong tài liệu, và nó sẽ đặc tả các yêu cầu của khách
hàng: Anh ta hay chị ta chờ đợi điều gì ở phía hệ thống mà không hề để ý đến việc chức năng này sẽ
được thực thi ra sao.
b. Giai đoạn phân tích :
Giai đoạn phân tích quan tâm đến quá trình trừu tượng hóa đầu tiên (các lớp và các đối
tượng) cũng như cơ chế hiện hữu trong phạm vi vấn đề. Sau khi nhà phân tích đã nhận biết được
các lớp thành phần của mô hình cũng như mối quan hệ giữa chúng với nhau, các lớp cùng các mối
quan hệ đó sẽ được miêu tả bằng công cụ biểu đồ lớp (class diagram) của UML. Sự cộng tác giữa
các lớp nhằm thực hiện các Use case cũng sẽ được miêu tả nhờ vào các mô hình động (dynamic
models) của UML. Trong giai đoạn phân tích, chỉ duy nhất các lớp có tồn tại trong phạm vi vấn đề
(các khái niệm đời thực) là được mô hình hóa. Các lớp kỹ thuật định nghĩa chi tiết cũng như giải
pháp trong hệ thống phần mềm, ví dụ như các lớp cho giao diện người dùng, cho ngân hàng dữ
liệu, cho sự giao tiếp, trùng hợp, v.v..., chưa phải là mối quan tâm của giai đoạn này.
c. Giai đoạn thiết kế
Trong giai đoạn này, kết quả của giai đoạn phân tích sẽ được mở rộng thành một giải
pháp kỹ thuật. Các lớp mới sẽ được bổ sung để tạo thành một hạ tầng cơ sở kỹ thuật: Giao diện
người dùng, các chức năng để lưu trữ các đối tượng trong ngân hàng dữ liệu, giao tiếp với các hệ
thống khác, giao diện với các thiết bị ngoại vi và các máy móc khác trong hệ thống, .... Các lớp
thuộc phạm vi vấn đề có từ giai đoạn phân tích sẽ được "nhúng" vào hạ tầng cơ sở kỹ thuật này,
tạo ra khả năng thay đổi trong cả hai phương diện: Phạm vi vấn đề và hạ tầng cơ sở. Giai đoạn
thiết kế sẽ đưa ra kết quả là bản đặc tả chi tiết cho giai đoạn xây dựng hệ thống.
d. Giai đoạn xây dựng
3. Trong giai đoạn xây dựng (giai đoạn lập trình), các lớp của giai đoạn thiết kế sẽ được
biến thành những dòng code cụ thể trong một ngôn ngữ lập trình hướng đối tượng cụ thể (không
nên dùng một ngôn ngữ lập trình hướng chức năng!). Phụ thuộc vào khả năng của ngôn ngữ được
sử dụng, đây có thể là một công việc khó khăn hay dễ dàng. Khi tạo ra các mô hình phân tích và
thiết kế trong UML, tốt nhất nên cố gắng né tránh việc ngay lập tức biến đổi các mô hình này
thành các dòng code. Trong những giai đoạn trước, mô hình được sử dụng để dễ hiểu, dễ giao tiếp
và tạo nên cấu trúc của hệ thống; vì vậy, vội vàng đưa ra những kết luận về việc viết code có thể
sẽ thành một trở ngại cho việc tạo ra các mô hình chính xác và đơn giản. Giai đoạn xây dựng là
một giai đoạn riêng biệt, nơi các mô hình được chuyển thành code.
e. Thử nghiệm :
Như đã trình bày trong phần Chu Trình Phát Triển Phần Mềm, một hệ thống phần mềm
thường được thử nghiệm qua nhiều giai đoạn và với nhiều nhóm thử nghiệm khác nhau. Các nhóm
sử dụng nhiều loại biểu đồ UML khác nhau làm nền tảng cho công việc của mình: Thử nghiệm
đơn vị sử dụng biểu đồ lớp (class diagram) và đặc tả lớp, thử nghiệm tích hợp thường sử dụng
biểu đồ thành phần (component diagram) và biểu đồ cộng tác (collaboration diagram), và giai
đoạn thử nghiệm hệ thống sử dụng biểu đồ Use case (use case diagram) để đảm bảo hệ thống có
phương thức hoạt động đúng như đã được định nghĩa từ ban đầu trong các biểu đồ này.
5. UML thể hiện qua các giai đoạn nào của quá trình phát triển hệ thống? Đưa ra một số các lược đồ tương
ứng cho các giai đoạn? trang béo
6. Trình bày các biểu đồ trong UML?
Các biểu đồ trong UML:
- Biểu đồ UseCase:
o Định nghĩa: biểu đồ Use case chỉ ra một số lượng các tác nhân ngoại cảnh và mối liên kết của
chúng đối với Use case mà hệ thống cung cấp
o Tính chất:
Một Use case là một lời miêu tả của một chức năng mà hệ thống cung cấp
Use case được miêu tả duy nhất theo hướng nhìn từ ngoài vào của các tác nhân
không miêu tả chức năng được cung cấp sẽ hoạt động nội bộ bên trong hệ thốn
- Biểu đồ lớp:
o Định nghĩa: biểu đồ lớp chỉ ra cấu trúc tĩnh của các lớp trong hệ thống
o Tính chất:
Các lớp có thể quan hệ với nhau trong nhiều dạng thức: liên kết (associated - được
nối kết với nhau), phụ thuộc (dependent - một lớp này phụ thuộc vào lớp khác),
chuyên biệt hóa (specialized - một lớp này là một kết quả chuyên biệt hóa của lớp
khác), hay đóng gói ( packaged - hợp với nhau thành một đơn vị).
4. đi kèm với cấu trúc bên trong của các lớp theo khái niệm thuộc tính (attribute) và thủ
tục (operation).
- Biểu đồ đối tượng:
o Định nghĩa:
là một phiên bản của biểu đồ lớp và thường cũng sử dụng các ký hiệu như biểu đồ
lớp
khác biệt giữa hai loại biểu đồ này nằm ở chỗ biểu đồ đối tượng chỉ ra một loạt các
đối tượng thực thể của lớp, thay vì các lớp
o Tính chất:
có hai ngoại lệ: đối tượng được viết với tên được gạch dưới và tất cả các thực thể
trong một mối quan hệ đều được chỉ ra
- Biểu đồ trạng thái:
o Định nghĩa:
là một sự bổ sung cho lời miêu tả một lớp
Nó chỉ ra tất cả các trạng thái mà đối tượng của lớp này có thể có, và những sự kiện
(event) nào sẽ gây ra sự thay đổi trạng thái (hình 3.5).
o Tính chất:
không được vẽ cho tất cả các lớp
chỉ riêng cho những lớp có một số lượng các trạng thái được định nghĩa rõ ràng và
hành vi của lớp bị ảnh hưởng và thay đổi qua các trạng thái khác nhau
- Biểu đồ trình tự:
o Định nghĩa: Một biểu đồ trình tự chỉ ra một cộng tác động giữa một loạt các đối tượng
o Tính chất:
chứa một loạt các đối tượng được biểu diễn bằng các đường thẳng đứng
Trục thời gian có hướng từ trên xuống dưới trong biểu đồ, và biểu đồ chỉ ra sự trao
đổi thông điệp giữa các đối tượng khi thời gian trôi qua
Các thông điệp được biểu diễn bằng các đường gạch ngang gắn liền với mũi tên
- Biểu đồ cộng tác:
o Định nghĩa: biểu đồ cộng tác chỉ ra một sự cộng tác động
o Tính chất:
5. Thường người ta sẽ chọn hoặc dùng biểu đồ trình tự hoặc dùng biểu đồ cộng tác
sử dụng biểu đồ trình tự hay biểu đồ cộng tác thường sẽ được quyết định theo
nguyên tắc chung sau:
• Nếu thời gian hay trình tự là yếu tố quan trọng nhất cần phải nhấn mạnh thì
hãy chọn biểu đồ trình tự
• nếu ngữ cảnh là yếu tố quan trọng hơn, hãy chọn biểu đồ cộng tác
- Biểu đồ hoạt động
o Định nghĩa:
biểu đồ hoạt động chỉ ra một trình tự lần lượt của các hoạt động
miêu tả các hoạt động được thực hiện trong một thủ tục
o Tính chất:
bao gồm các trạng thái hành động
- Biểu đồ thành phần:
o Định nghĩa: biểu đồ thành phần chỉ ra cấu trúc vật lý của các dòng lệnh
o Tính chất:
Một thành phần chứa các thông tin về các lớp logic hoặc các lớp mà nó thi hành, như
thế có nghĩa là nó tạo ra một ánh xạ từ hướng nhìn logic vào hướng nhìn thành phần.
- Biển đồ triển khai
o Định nghĩa: Biểu đồ triển khai chỉ ra kiến trúc vật lý của phần cứng cũng như phần mềm
trong hệ thống
o Tính chất: chỉ ra hướng nhìn triển khai, miêu tả kiến trúc vật lý thật sự của hệ thống
7. Dựa trên tính chất của các biểu đồ, UML chia các biểu đồ thành mấy lớp mô hình? Nêu các biểu đồ tương
ứng trong mỗi lớp mô hình đó?
- Chia làm 2 lớp mô hình:
o Mô hình đối tượng: là mô hình cấu thành căn bản từ lớp, đối tượng và mối quan hệ giữa
chúng với nhau.
Lớp và đối tượng dùng để miêu tả hệ thống của chúng ta
Quan hệ là biểu thị cấu trúc của hệ thống.
Lớp: miêu tả 1 nhóm các đối tượng có chung thuộc tính, phương thức
6. Đối tượng: sự đặt trưng cho 1 thực thể
Biểu đồ liên quan:
• Biểu đồ lớp
• Biểu đồ đối tượng
o Mô hình động: là mô hình hóa sự hoạt động thật sự của 1 hệ thống
Biểu đồ liên quan:
• Biểu đồ tuần tự
• Biểu đồ cộng tác
• Biểu đồ trạng thái
• Biểu đồ hoạt động
8. Trình bày mô hình động trong UML? Nêu các biểu đồ trong mô hình động này?
Định nghĩa mô hình động: mô hình hóa sự hoạt động thật sự của một hệ thống và trình bày một hướng nhìn
đối với hệ thống trong thời gian hệ thống hoạt động, chúng ta cần tới mô hình động
Mô hình động trong UML: mô hình động đề cập tới các trạng thái khác nhau trong vòng đời của một đối
tượng thuộc hệ thống
Phương thức ứng xử của một hệ thống tại một thời điểm cụ thể sẽ được miêu tả bằng các điều kiện
khác nhau ấn định cho sự hoạt động của nó.
Yếu tố hết sức quan trọng là cần phải hiểu cho được hệ thống sẽ đáp lại những kích thích từ phía
bên ngoài
Ta cần tới mô hình động bởi trọng tâm của mô hình này là lối ứng xử phụ thuộc vào thời gian của
các đối tượng trong hệ thống.
Các biểu đồ trong mô hình động:
- Biểu đồ trạng thái:
o là biểu đồ miêu tả trạng thái của 1 đối tượng
o 1 đối tượng bao zờ cũng có 1 vòng đời và có sự biến đổi
o Vd: biểu đồ trạng thái của lập hóa đơn
- Biểu đồ tuần tự:
o Tiêu điểm của biểu đồ là thời gian và sự tương tác giữa các đối tượng
- Biểu đồ công tác:
7. o Miêu tả các đối tượng tương tác với nhau ra sao, trọng tâm là sự kiện
o Tập trung vào sự kiện là chú lý đến mối quan hệ giữa các đối tượng
- Biểu đồ hoạt động:
o Tập trung vào công việc
o Khi các đối tượng tương tác với nhau sẽ nảy sinh các hoạt động và tác vụ
o Các hoạt động theo trình tự
9. Trình bày phương pháp hướng cấu trúc?
- Phương pháp hướng cấu trúc là phương pháp chia chương trình chính thành các chương trình con, mỗi
chương trình con thực hiện 1 công việc xác định
- Phần mềm được thiết kế theo 2 hướng: hướng dữ liệu và hướng hàng động
o Tiếp cận hướng dữ liệu: dựa vào yêu cầu lưu trữ dữ liệu của phần mềm mà xây dựng các chức
năng của hệ thống
o Tiếp cận theo hướng hành động: dựa vào các hành động của phần mềm để tạo ra cơ sở dữ liệu
- Cách thức thực hiện là thiết kế từ trên xuống( top-down), phương pháp này tiến hành phân rã bài toán
lớn thành các bài toán con, phân chia đến các hàm và thủ tục
10. Ưu nhược điểm của phương pháp hướng cấu trúc?
- Ưu điểm:
o tư duy phân tích thiết kế rõ ràng: tập trung vào mục đích của chương trình, dễ chia ra các hành
động hoặc cơ sở dữ liệu cho chương trình
o chương trình sáng sủa, dễ hiểu: mô tả đúng các chức năng của hệ thống.
- Nhược điểm
o Không thể sử dụng lại: do 1 chương trình có 1 cấu trúc riêng, bài toán cụ thể nên không thể
dùng lại các modul nào trong phần mềm
o Không phù hợp với phần mềm lớn: theo phân tích hướng cấu trúc, các modul có quan hệ với
nhau nên không thể chia ra để thực hiện và rất dễ gặp lỗi trong phân tích cũng như kiểm thử
11. Trình bày phương pháp hướng đối tượng?
8. - chia ứng dụng thành các thành phần nhỏ, gọi là các đối tượng, chúng tương đối độc lập với nhau. Sau
đó ta có thể xây dựng ứng dụng bằng cách chắp các đối tượng đó lại với nhau.
- Chức năng của hệ thống được biểu diễn thông qua cộng tác của đối tượng, việc thay đổi chức năng,
tiến hóa chức năng không làm thay đổi đến cấu trúc tĩnh của phần mềm
12. Ưu điểm của phương pháp hướng đối tượng?
- Tính tái sử dụng: có thể tạo các thành phần (đối tượng) một lần và dùng chúng nhiều lần sau đó.
- Đóng gói, che dấu thông tin làm cho hệ thống tin cậy hơn
- Thừa kế giảm chi phí, hệ thống có tính mở cao
- Phù hợp với hệ thống lớn và phức tạp
13. Phân biệt 2 phương pháp phân tích theo hướng cấu trúc và hướng đối tượng?
- Phân tích hướng cấu trúc là: 1 kiểu phân tích hướng mô hình, là kỹ thuật lấy quá trình làm trung tâm để
phân tích một hệ thống đang có và xác định các yêu cầu nghiệp vụ cho 1 hệ thống mới. Phân tích hướng
cấu trúc là 1 trogn các tiếp cận chính thống đầu tiên của việc phân tích hệ thống thông tin . Hiện nay, nó
vẫn là 1 trong các cách tiếp cận phổ biến nhất, phân tích hướng cấu trúc tập trung vào luồng dữ liệu luân
chuyển qua các quá trình nghiệp vụ và phần mềm, nó được gọi là ”lấy quá trình làm trung tâm”
- Phân tích hướng đồi tượng: là 1 kỹ thuật hướng mô hình tích hợp dữ liệu và quá trình liên quan tới việc
xây dựng thành các đối tượng.Đây là 1 kỹ thuật mới nhất trong số các hướng tiếp cận. Nó minh họa các đối
tượng của hệ thống từ nhiều khung nhìn chẳng hạn như cấu trúc và hành vi.
14. Nêu các nguyên tắc cơ bản của phương pháp hướng đối tượng?
- Trừu tượng hóa (abstraction)
a. Các thực thể phần mềm được mô hình hóa dưới dạng các đối tượng.
b. Các đối tượng được trừu tượng hóa ở mức cao hơn dựa trên thuộc tính và phương thức mô tả đối
tượng để tạo thành các lớp.
c. Các lớp đượ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, 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.
- Tính bao đóng(encapsulation): che dấu mọi chi tiết hiện thực của đối tượng không cho bên ngoa¤i thấ́y
va¤ truy xuất => tính độ#c lậ#p cao giưa các đối tượng
a. Che dấu các thuộc tính dữ liệu: nếu cần cho phép truy xuất 1 thuộc tính dữ liệu, ta tạo 2 phương
thức get/set tương ứng để giám sát việc truy xuất và che dấu chi tiết hiện thực bên trong ( thuộc
tính private)
9. b. Che dấu chi tiết hiện thực các phương thức.
Che dấu các hàm và sự hiện thực của chúng
- Tính modul hóa (modularity): các bài toán sẽ được phân chia thành những vấn đề nhỏ hơn, đơn giản và
quản lý được.
- Tính phân cấp (hierarchy): cấu trúc chung của một hệ thống hướng đối tượng là dạng phân cấp theo các
mức độ trừu tượng từ cao đến thấp.
15. Trình bày một số khái niệm cơ bản của hướng đối tượng: đối tượng, lớp, thành phần, gói, kế thừa?
- Đối tượng: là khái niệm cho phép mô tả các sự vật/thực thể trong thế giới thực, các đối tượng duy trì mối
quan hệ giữa chúng.
- Lớp là khái niệm dùng để mô tả một tập hợp các đối tượng có cùng một cấu trúc, cùng hành vi và có cùng
những mối quan hệ với các đối tượng khác .
- Thành phần: chưa tìm được????
- Gói: 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. Nhiều gói có thể được
kết hợp với nhau để trở thành một hệ thống con
- Kế thừa; Trong phương pháp hướng đối tượng, một lớp có thể có 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ế
Câu hỏi 4 điểm
16. Các nguyên tắc cơ bản của RUP? Hương
• Lặp và tăng trưởng
Dự án được cắt thành những vòng lặp hoặc giai đoạn ngắn. Cuối mỗi vòng lặp thì một phần thi hành được
của hệ thống được sản sinh theo cách tăng trưởng (thêm vào) dần dần.
• Tập trung vào kiến trúc
Toàn bộ hệ thống phức tạp phải được chia thành từng phần (các modun) để có thể dễ dàng triển khai và bảo
trì, tạo nên một kiến trúc. (Theo 5 góc nhìn)
• Dẫn dắt các ca sử dụng
RUP nhấn mạnh sự đáp ứng nhu cầu người dùng, thể hiện bởi các ca sử dụng. Các ca sử dụng ảnh hưởng
và dẫn đường cho mọi giai đoạn phát triển của hệ thống.
• Khống chế bởi các nguy cơ
Các nguy cơ chính đối với dự án phải phát hiện sớm và loại bỏ càng sớm càng tốt. Yêu cầu này cũng là căn
cứ để xác định thứ tự trước sau của các vòng lặp.
10. 17. Các pha của tiến trình RUP? Hương
Có 4 pha
• Khởi đầu (inception)
Cho một cái nhìn tổng quát về hệ thống sẽ xây dựng và về dự án sẽ triển khai.
• Triển khai (elaboration)
Bao gồm sự phân tích chi tiết hơn về hệ thống, cả về chức năng lẫn cấu trúc tĩnh. Đồng thời một kiến trúc hệ
thống cũng được đề xuất. Kiến trúc này có thể dựng thành nguyên mẫu, trên đó thể hiện nhiều ý đồ đối với hệ thống
• Xây dựng (construction)
Tập trung vào việc thiết kế và thực thi hệ thống.
• Chuyển giao (transition)
Nhằm chuyển hệ thống đã xây dựng cho người dùng cuối
18. Tiến trình 10 bước theo các nguyên tắc của RUP? Hương
1. Bước 1: Nghiên cứu sơ bộ. Nêu được các điểm chính:
- Nhiệm vụ cơ bản.
- Cơ cấu tổ chức.
- Quy trình xử lý.
- Các biểu mẫu thu thập được.
2. Nhận định và đặc tả các ca sử dụng:
- Xác định chức năng của hệ thống.
- Xác định và đặc tả các ca sử dụng của hệ thống.
3. Mô hình hóa lĩnh vực ứng dụng:
- Xác định được đối tượng.
- Xác định các thuộc tính cho đối tượng.
11. - Xác định các liên kết và vẽ mô hình liên kết.
4. Xác định các đối tượng và lớp tham gia các ca sử dụng:
- Vẽ được biểu đồ lớp.
5. Mô hình hóa sự tương tác:
- Vẽ biểu đồ trình tự.
- Vẽ biểu đồ giao tiếp.
6. Mô hình hóa sự ứng xử:
- Nêu 1 số biểu đồ trạng thái máy.
7. Làm nguyên mẫu cho giao diện người dùng:
- Mô tả các giao diện của hệ thống.
- Di chuyển giữa các giao diện người dùng.
8. Thiết kế hệ thống:
- Vẽ biểu đồ thành phần.
- Vẽ biểu đồ bố trí
9. Thiết kế chi tiết:
- Thiết kế các lớp, liên kết, thuộc tính và các thao tác.
- Thiết kế tầng trình bày.
10. Tổng kết:
- Đánh giá ưu nhược điểm.
- Nêu lên hướng phát triển.
19. Trình bày nội dung tóm tắt các bước trong tiến trình 10 bước theo các nguyên tắc của RUP, từ bước 1 đến
5? Dung
- Nghiên cứu sơ bộ
- Mô hình hóa ca sử dụng
- Mô hình hóa lĩnh vực ứng dụng
- Xác định đối tượng và các lớp tham gia
- Mô hình hóa tương tác
12. 20. Trình bày nội dung tóm tắt các bước trong tiến trình 10 bước theo các nguyên tắc của RUP, từ bước 6 đến
10? Dung
- Mô hình hóa ứng xử
- Làm nguyên mẫu giao diện người dùng
- Thiết kế hệ thống
- Thiết kế chi tiết
- Tổng kết
21. Trình bày tiến trình RUP? Các giai đoạn của tiến trình RUP? Dung
• Rup là gì?Rational Unified Process hay RUP là một qui trình công nghệ phần mềm. Nó cung cấp các phương
pháp, các nguyên tắc phân công nhiệm vụ và trách nhiệm trong các tổ chức phát triển phần mềm. Nó cho ra
một sản phẩm phần mềm có chất lượng cao đảm bảo các dự thảo về thời gian và và kinh phí với khách hàng
• Tiến trình RUP bao gồm : 4 Pha
Khởi động (inception)
Trong pha khởi động cần đưa ra tình huống về mặt nghiệp vụ có thể có đối với hệ thống và xác định phạm vi
của dự án. Các tình huống nghiệp vụ gồm: tiêu thức đánh giá sự thành công, đánh giá rủi ro, xác định các nguồn
lực cần thiết cho dự án và một bản kế hoạch tóm tắt chỉ ra lịch trình của các điểm mốc chủ yếu của dự án. Cuối
pha này cần kiểm tra các mục tiêu của quá trình phát triển của dự án và quyết định có tiếp tục quá trình phát
triển hay không.
Phác thảo (Elaboration)
Mục tiêu của pha này là phân tích các vấn đề nghiệp vụ, xác định kiến trúc hợp lý, xây dựng kế hoạch cho dự
án, giới hạn các yếu tố rủi ro cao nhất. Những quyết định về mặt kiến trúc cần được đưa ra cho toàn bộ hệ
thống, đồng thời cần mô tả hầu hết các yêu cầu của hệ thống. Cuối pha này cần kiểm tra các mục tiêu và phạm
vi chi tiết của hệ thống, sự lựa chọn về kiến trúc và cách xử lý các rủi ro có thể đồng thời quyết định có tiếp tục
chuyển sang pha xây dựng hay không.
Xây dựng (Contruction)
Trong pha này bạn phát triển một cách tái lập và tăng dần toàn bộ sản phẩm đầy đủ, sẵn sàng chuyển giao tới
cộng đồng người sử dụng. Pha này bao gồm việc mô tả các yêu cầu còn lại chưa được xác định, xác định các
“tiêu thức chấp nhận”, làm mịn thiết kế và hoàn thành việc lập trình ứng dụng. Cuối pha này cần xác định liệu
hệ thống phần mềm, các điểm triển khai và người dùng đã sẵn sàng đi vào hoạt động chưa.
Chuyển giao (Deployment)
Trong pha này, cần đưa hệ thống phần mềm tới cộng đồng người sử dụng. Khi hệ thống đã tới tay người sử
dụng thì các vấn đề thường phát sinh đòi hỏi những bước tiếp theo là căn chỉnh hệ thống, xác định các vấn đề
chưa được phát hiện trước đó hay hoàn thiện các chức năng trước đó bị trì hoãn. Pha này thường bắt đầu với
việc tung ra phiên bản Beta và sau đó là thay thế bởi bản chương trình đầy đủ.
• Các giai đoạn của tiến trình RUP
13. Các giai đoạn công việc của RUP bao gồm:
- Mô hình hóa nghiệp vụ (business modeling): mô tả cấu trúc và quy trình nghiệp vụ.
- Xác định yêu cầu (requirement): mô tả nghiệp vụ bằng phương pháp “tình huống sử dụng” (use case base
method)
- Phân tích và thiết kế (analysis & design): mô tả kiến trúc hệ thống thông qua các sơ đồ phân tích thiết kế.
- Lập trình: thực hiện các việc xây dựng chương trình bằng ngôn ngữ lập trình.
- Thử nghiệm: mô tả các tình huống và kịch bản thử nghiệm, tiến hành thử nghiệm hệ thống phần mềm.
- Triển khai: đưa hệ thống phần mềm vào sử dụng.
- Quản trị cấu hình và quản trị thay đổi: kiểm soát các thay đổi và duy trì sự hợp nhất của các thành phần dự án.
- Quản trị dự án: quản lý toàn bộ quá trình làm việc của dự án.
- Môi trường: đảm bảo các hạ tầng cần thiết để có thể phát triển được hệ thống.
22. Tiến tiến trình RUP là gì? Nêu các đặc trưng cho thấy tiến trình RUP khác với các tiến trình khác
- RUP là quy trình công nghệ phần mềm được phát triển bởi hãng Ration, nó hỗ trợ hoạt động giữa các
nhóm, phân chia công việc trong nhóm, trong từng giai đoạn khác nhau của quá trình phát triển phần
mềm
- Các đặc điểm phân biệt RUP với các quy trình khác
• RUP là quy trình hướng chức năng hệ thống ( hướng Use case):
• RUP tập trung vào kiến trúc phần mềm: 1 tiến trình RUP bao gồm 4 giai đoạn là khởi đầu,
triển khai, xây dựng và chuyển giao
• RUP là quy trình lặp và tăng trưởng từng bước
23. Trình bày các đặc điểm của tiến trình 10 bước theo các nguyên tắc của RUP?
- Bao gồm 4 pha : khởi đầu, triển khai, xây dựng và chuyển giao
Mỗi pha gồm nhiều vòng lặp, mỗi vòng lặp thường gồm 5 công đoạn : xác định nhu cầu, phân tích,
thiết kê, cài đặt, đánh giá
• Pha khởi đầu: nghiên cứu sơ bộ
• Pha triển khai
o Mô hình hóa ca sử dụng
o Mô hình hóa lĩnh vực ứng dụng
o Tìm lớp tham gia ca sử dụng
o Mô hình hóa tương tác
o Mô hình hóa ứng xử
14. • Xây dựng và chuyển giao
o Làm nguyên mẫu
o Thiết kế hệ thống
o Thiết kế chi tiết
o Cài đặt
24. Trình bày biểu đồ UseCase (ý nghĩa, các thành phần, ký pháp)
- ý nghĩa
• Mô tả nhất quán và rõ ràng cái hệ thống sẽ làm
• Mô tả tương tác giữa những gì bên trong hệ thống và tác nhân để từ đó hình thành được chức năng của hệ
thống
• Cung cấp cơ sở để kiểm tra, thử nghiệm hệ thống
• Cho khả năng dễ thay đổi hay mở rộng yêu cầu hệ thống
- các thành phần và kí hiệu
• Tác nhân: là một đối tượng bên ngoài hệ thống giao tiếp với hệ thống theo một các hình thức sau
o Tương tác, trao đổi thông tin với hệ thống hoặc sử dụng chức năng hệ thống
o Cung cấp đầu vào hoặc nhận các đầu ra của hệ thống
o Không điều khiển hoạt động của hệ thống
o Kí hiệu
nhan vien
• Quan hệ giữa các tác nhân: là mối tương quan liên kết giữa tác nhân với ca sử dụng hoặc giữa các ca sử
dụng với nhau
Có các loại quan hệ sau
o Quan hệ kết hợp: là loại quan hệ giữa tác nhân và UC
o Quan hệ gộp : thể hiện 1 UC luôn luôn sử dụng chức năng của UC khác
15. o Quan hệ mở rộng: sử dụng để mô hình hóa một vài chức năng dùng chung, sử dụng lại giữa hai
hay nhiều UC
o Quan hệ khái quát hóa: chỉ ra một vài tác nhân hay UC có một số cái chung, giống nhau
• Ca sử dụng: là một tập hợp các hành động mà hệ thống thi hành để đạt được kết quả với một tác nhân
25. Trình bày biểu đồ lớp? Các thành phần trong biểu đồ lớp và kí pháp?
- Biểu đồ lớp: cho biết hình ảnh tĩnh của hệ thống, giúp người phát triển quan sát – lập kế hoạch cấu trúc
hệ thống trước khi viết mã chương trình
- Các thành phần:
• Thuộc tính lớp: là nhóm thông tin liên kết với lớp
Bốn lựa chọn phạm vi cho thuộc tính
• Public: Mọi lớp đều nhìn thấy thuộc tính (+)
• Private: Lớp khác không nhìn thấy thuộc tính (-)
• Protected: Các lớp kế thừa có thể nhìn thấy (#)
• Package và Implementation: Thuộc tính là public đối với các lớp trong cùng gói
• Thao tác: là hành vi kết hợp của lớp, xác định trách nhiệm của lớp
Ký pháp trong UML
Operation Name (arg1: arg1 data type, arg2: arg2 data type...): return type
• Quan hệ giữa các lớp
o Kết hợp (Associations)
o Phụ thuộc (Dependencies)
o Tụ hợp (Aggregations)
o Hiện thực quan hệ (Realizes Relationships)
o Khái quát hóa (Generalizations
16. - Các loại lớp
o Boundary: lớp biên
o Entity: Lớp thực thể là lớp lưu trữ thông tin sẽ ghi vào bộ nhớ ngoài
o Control: Có trách nhiệm điều phối hoạt động của các lớp khác,Thông thường mỗi UC có một
lớp điều khiển
26. Các mối quan hệ trong biểu đồ lớp? Cho ví dụ?
• Quan hệ là sự kết nối ngữ nghĩa giữa các lớp
• Các loại quan hệ chính:
+ kết hợp (Assonciations):
+Phụ thuộc (dependecies)
+tụ hợp (Aggregations)
+Hiện thực quan hệ ( realizes Relationships)
+ Khái quát hóa ( Generalization)
*Quan hệ kết hợp: Assonciation là kết nối ngữ ngữa các lớp:
Định nghĩa: Kết hợp là quan hệ cấu trúc để mô tả tập liên kết (một liên kết là kết nối giữa các đối tượng).
Khi đối tượng của lớp này gửi/nhận thông điệp đến/từ đối tượng của lớp kia thì ta gọi chúng là có quan hệ
kết hợp
*Quan hệ Phụ thuộc: Dependency là quan hệ chỉ ra một lớp tham chiếu lớp khác
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.
Ký pháp đồ họa của nó được thể hiện:
17. Ví dụ
• Phụ thuộc tụ hợp: Aggregation là quan hệ giữa tổng thể và bộ phận
- Trong quan hệ này, một lớp biểu diễn cái lớn hơn còn lớp kia biểu diễn cái nhỏ hơn
- Biểu diễn quan hệ has-a
+ Một đối tượng của lớp tổng thể có nhiều đối tượng của lớp thành phần
- Tổng thể và bộ phận có thể hủy bỏ vào thời điểm khác nhau
- Tên khác: quan hệ tụ hợp bởi tham chiếu (by reference)
- Là dạng đặc biệt của kết hợp, nó biểu diễn quan hệ cấu trúc giữa toàn thể và bộ phận (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).
Một dạng đặc biệt của tập hợp là quan hệ hợp thành (composition), trong đó nếu như đối tượng toàn thể bị
huỷ bỏ thì các đối tượng bộ phận của nó cũng bị huỷ theo:
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ệ gộp:
Composition là dạng đặc biệt (mạnh hơn) của quan hệ tụ hợp
o Tổng thể và thành phần được hình thành hay hủy bỏ vào cùng thời điểm
o Tên khác: quan hệ tụ hợp bởi giá trị (by value)
*quan hệ khái quát hóa: Generalization là quan hệ kế thừa của hai phần tử mô hình như lớp, tác nhân, use
case và gói.
Định nghĩa: Khái quát hóa là quan hệ đặc biệt hoá / khái quát hoá mà trong đó đối tượng củ thể sẽ kế thừa
các thuộc tính và phương pháp của đối tượng tổng quát.
- cho phép một lớp kế thừa các thuộc tính, thao tác public và protected của lớp khách:
18. 27. Trình bày chi tiết kịch bản mô tả use case?
Mô hình use case được sử dụng xác định các chức năng cũng như tác nhân liên quan đến hệ thống, hay có
thể coi một use case là tập hợp của 1 loạt các kịch bản liên quan đến việc sử dụng hệ thống theo 1 cách nào
đó.
Mỗi kịch bản mô tả một chuỗi các sự kiện từ một người hay một hệ thống khách kích hoạt vào hệ thống
đang phát triển theo tuần tự thời gian.
Mô tả chi tiết use case được trình bày qua các bước như sau:
Ý nghĩa
1. Mô tả tóm tắt Mô tả tóm tắt về ca sử dụng bao gồm phần sau
1.1. Tên ca sử dụng Tên ca sử dung
1.2. Mục đích Mục đích của ca sử dụng
1.3. Tóm lược Tóm lược về ca sử dụng
1.4. Tác nhân Tác nhân chính trong ca sử dụng
2. Mô tả kịch bản Mô tả kịch bản của ca sử dụng
2.1. Điều kiện đầu vào Điều kiện đầu vào của ca sử dụng
2.2. Kịch bản chính Luồng sự kiện chính xảy ra trong ca sử dụng
2.3. Kịch bản con Kịch bản con trong ca sử dụng
2.4. Kịch bản phụ Sự kiện phụ hoặc sự kiện con trong ca sử dụng
28. Xác định mối quan hệ và phân rã biểu đồ use case?
Trong biều đồ use case các dạng quan hệ được sử dụng :
- quan hệ kết hợp <assonciation>
- quan hệ gộp<includes>
- quan hệ mở rộng<extends>
- quan hệ khái quát hóa<generalization>
*quan hệ kết hợp( assonciation)
+ là quan hệ giữa tác nhân vào UC
19. *Quan hệ gộp (includes)
+ được sử dụng giữa 1 use case với use case
+ thể hiện 1 uc luôn luôn sử dụng chức năng của uc khác
*Quan hệ mở rộng:
Một uc tùy ý mở rộng một uc khác cung cấp, mô tả một uc sử dụng chức năng của uc khác,
thường được sử dụng để mô hình hóa một vài chức năng dùng chung, sử dụng lại giữa hai hai nhiều uc.
*Quan hệ khái quát hóa:
Chỉ ra một vài tác nhân hay UC có một số cái chung.
Phân rã biểu đồ use case:
Nguyên tắc phân rã biểu đồ uc như sau:
- xác định uc mức tổng quát: tử tập tác nhân và use case được xác định ở bước trước, người phát triển
cần tìm ra chức năng chính của hệ thống. các chức năng này phải có tính tổng quá, dễ dàng nhìn thấy được trên
quan điểm của các tác nhân.các dạng quan hệ thường dùng trong sơ đồ use case mức tổng quát.
- Phân rã các use case mức cao: người phát triển tiến hành phân rã các use case tổng quát thành các use
case cụ thể hơn quan hệ thường được sử dụng là extend, các uc con được lựa chọn bằng cách thêm vào use case
cha một số chức năng.
- Tiếp tục phân rã sơ đồ use case cho đến khi gặp use case nút lá: các use case ở nút lá thường được gán
với chức năng cụ thể trong đó hệ thống thực sự tương tác với các tác nhân.
29. Các lược đồ miêu tả các tri thức về mặt cú pháp, được tổ chức xung quanh cấu trúc View Thắng
30. Phân biệt biểu đồ hoạt động, biểu đồ thành phần, biểu đồ trạng thái, biểu đồ triển khai? Thắng