T+¦¦ëng h¦í¦úp uml

22

Click here to load reader

Transcript of T+¦¦ëng h¦í¦úp uml

Page 1: T+¦¦ëng h¦í¦úp uml

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,

Page 2: T+¦¦ëng h¦í¦úp uml

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

Page 3: T+¦¦ëng h¦í¦úp uml

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ấpo 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ị).

đ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

Page 4: T+¦¦ëng h¦í¦úp uml

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:

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 độngo Đị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 khaio Đị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ốngo 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

Page 5: T+¦¦ëng h¦í¦úp uml

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 Đố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: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

Page 6: T+¦¦ëng h¦í¦úp uml

- 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 độngo 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ốngo 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ìnho 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ểmo 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ềmo 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?

- 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

Page 7: T+¦¦ëng h¦í¦úp uml

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)

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.

Page 8: T+¦¦ëng h¦í¦úp uml

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

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.

Page 9: T+¦¦ëng h¦í¦úp uml

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

Page 10: T+¦¦ëng h¦í¦úp uml

- 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

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 PhaKhở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 đề

Page 11: T+¦¦ëng h¦í¦úp uml

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

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 giaoMỗ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ử

Xây dựng và chuyển giaoo Làm nguyên mẫu

o Thiết kế hệ thống

o Thiết kế chi tiết

o Cài đặt

Page 12: T+¦¦ëng h¦í¦úp uml

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 sauo 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 nhauCó 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

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

Page 13: T+¦¦ëng h¦í¦úp uml

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

- 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

Page 14: T+¦¦ëng h¦í¦úp uml

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:

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

Page 15: T+¦¦ëng h¦í¦úp uml

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:

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:

Page 16: T+¦¦ëng h¦í¦úp uml

Ý nghĩa1. Mô tả tóm tắt Mô tả tóm tắt về ca sử dụng bao gồm phần sau1.1. Tên ca sử dụng Tên ca sử dung1.2. Mục đích Mục đích của ca sử dụng1.3. Tóm lược Tóm lược về ca sử dụng1.4. Tác nhân Tác nhân chính trong ca sử dụng2. Mô tả kịch bản Mô tả kịch bản của ca sử dụng2.1. Điều kiện đầu vào Điều kiện đầu vào của ca sử dụng2.2. Kịch bản chính Luồng sự kiện chính xảy ra trong ca sử dụng2.3. Kịch bản con Kịch bản con trong ca sử dụng2.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

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

Page 17: T+¦¦ëng h¦í¦úp uml

- 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