Một số biểu đồ UML cơ bảnSequence Diagram 2 Biểu đồ Lớp Class Diagram 4 Biểu đồ Hoạt động Activity Diagram State Component Deployment Communication Collaboration Timing • Mô tả các
Trang 1HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ
CHƯƠNG 4TÌM HIỂU VỀ MỘT SỐ NGÔN NGỮ
“MÔ HÌNH HÓA KIẾN TRÚC DOANH NGHIỆP”
Hà Nội, 10/2015
BÀI GIẢNG: KIẾN TRÚC DOANH NGHIỆP
Trang 41 Tổng quan về UML
UML (Unified Model Language) là một ngôn ngữ dùng cho phân tích thiết kế hướng đối tượng (OOAD – Object Oriented Analys and Design)
Được duy trì và phát triển bởi OMG (Object Management Group), do Jacobson, Booch, Rumbaugh sáng lập Ngoài ra còn có hàng trăm các tập đoàn lớn khác bảo trợ phát triển
UML 2.0 có 13 loại biểu đồ để thể hiện các khung nhìn khác nhau (View) về hệ thống
Các biểu đồ UML cho ta cái nhìn rõ hơn về hệ thống (cả cái nhìn tĩnh và động)
Trang 5 UML không phải là ngôn ngữ lập trình !
Phiên bản mới nhất của UML là 2.1.2 (omg.org)
Trang 8UML là ngôn ngữ cho đặc tả - specifying
UML giúp xây dựng các mô hình chính xác, đầy đủ và không nhập nhằng
Tất cả các công đoạn từ phân tích, thiết kế cho đến triển khai đều có các biểu đồ UML biểu diễn
Use case (dùng cho phân tích); Class, Sequence,
Activity (cho thiết kế); Component, Deployment (cho triển khai)
Trang 9Xây dựng - Constructing
Các mô hình của UML có thể kết nối với nhiều ngôn ngữ lập trình Tức là có thể ánh xạ các mô hình UML về một ngôn ngữ lập trình như C++, Java
Việc chuyển các mô hình trong UML thành Code trong ngôn ngữ lập trình Forward engineering
Việc chuyển ngược trở lại code trong một ngôn ngữ lập trình thành UML Reverse Engineering
Cần công cụ để chuyển đổi “xuôi” & “ngược”
Trang 10UML là ngôn ngữ giúp viết tài liệu
Giúp xây dựng tài liệu đặc tả - requirements
Tài liệu kiến trúc (architecture)
Tài liệu thiết kế
Source code
Tài liệu để kiểm thử - Test
Tài liệu mẫu - Prototype
Tài liệu triển khai – Deployment
Trang 112 Một số Case tool (Công cụ) hỗ trợ UML
http://www-128.ibm.com/developerworks/downloads/r/rsd/
?
Visual Paradiagm http://www.visual-paradigm.com
Microsoft Visio www.microsoft.com
Power designer http://www.sybase.com
Visual Case http://www.visualcase.com
Pacestar UML Diagrammer www.peacestar.com
v.v…
Trang 123 Một số biểu đồ UML cơ bản
1
Biểu đồ ca
sử dụngUse Case Diagram
State Component Deployment Communication/ Collaboration Timming Interaction
Trang 133 Một số biểu đồ UML cơ bản
Sequence Diagram
2
Biểu đồ Lớp
Class
Diagram
4
Biểu đồ Hoạt động
Activity
Diagram
State Component Deployment Communication Collaboration Timing
• Mô tả các chức năng của
hệ thống dựa trên quan điểm người sử dụng
• Mô tả sự tương tác giữa người dùng và hệ thống
• Cho biết hệ thống được
sử dụng như thế nào ?
• Mô tả các chức năng của
hệ thống dựa trên quan điểm người sử dụng
• Mô tả sự tương tác giữa người dùng và hệ thống
• Cho biết hệ thống được
sử dụng như thế nào ?
Trang 15case
Trang 16Chú ý:
Khi nào thì vẽ quan hệ <Include> (bao hàm)
Use case A được gọi là Include B nếu trong xử lý của A có gọi đến B ít nhất 1 lần !
Minh họa thông qua Code
Class B { public void X () { } }
Trang 17Chú ý:
Khi nào thì vẽ quan hệ <Extend> (mở rộng)
Use case B được gọi là Exntend A nếu use case B được gọi bởi A nếu thỏa mãn điều kiện nào đó
Minh họa thông qua Code
Class B { public void InẤn () { } }
Trang 18Một số hình vẽ đúng
Trang 20Một số hình vẽ sai
Trang 21Vẽ quan hệ tổng quát hóa (thừa kế)
Khi nào thì vẽ quan hệ <Generalization> (tổng quát hóa)
Use case A được gọi là Generalization B nếu B là một trường hợp riêng của A !
Nếu A Generalization B thì code có dạng:
A Thanh toán
B
T/t bằng Credit
BT/t bằng Credit
C T/t bằng Séc
C T/t bằng Séc
Trang 223 Một số biểu đồ UML cơ bản
Sequence Diagram
2
Biểu đồ Lớp
Class
Diagram
4
Biểu đồ Hoạt động
Activity
Diagram
State Component Deployment Communication Collaboration Timing
2
Biểu đồ Lớp
• Mô tả các thuộc tính và các hành vi (Behavior) của đối tượng
• Có biểu đồ lớp mức phân tích và mức cài đặt
•Là biểu đồ quan trọng nhất
• Mô tả các đối tượng và mối quan hệ của chúng trong hệ thống
• Mô tả các thuộc tính và các hành vi (Behavior) của đối tượng
• Có biểu đồ lớp mức phân tích và mức cài đặt
Trang 23Hai dạng lớp: phân tích và thiết kế
Bỏ qua các chi tiết
không cần thiết
Phải đầy đủ & chi tiết các thành phần
Trang 25Các quan hệ trong biểu đồ lớp
Quan hệ Generalization: Thể hiện rằng một lớp A kế thừa từ một lớp B (Hay A là trường hợp riêng của B; B là tổng quát của A)
Gọi là quan hệ Là một (Is a)
Thể hiện:
Trang 26Các quan hệ trong biểu đồ lớp (2)
Quan hệ Aggregation: Thể hiện rằng một lớp A nào đó bao gồm lớp B Lớp B này có thể tồn tại độc lập mà không cần lớp A
Còn gọi là mối quan hệ: Có một (Has a)
Thể hiện:
Trang 27Các quan hệ trong biểu đồ lớp (3)
Quan hệ Composition: thể hiện rằng một lớp A bao hàm lớp B Nhưng lớp B không thể tồn tại độc lập (Tức không thuộc lớp nào) Tức là, nếu có B thì phải suy ra được A
Thể hiện:
Trang 31Ứng số (Multiplicity)
Thể hiện rằng ứng với mỗi lớp A thì có (chứa, dạy, có, mua, đặt, ) bao nhiêu phần tử lớp B?
A Sinh viên 0 * 1 * Khóa học B
Mỗi sinh viên tham gia ít nhất 1 khóa học Mỗi khóa học có thể có 0 hoặc nhiều sv tham gia
Trang 323 Một số biểu đồ UML cơ bản
Sequence Diagram
2
Biểu đồ Lớp
Class
Diagram
4
Biểu đồ Hoạt động
Activity
Diagram
State Component Deployment Communication Collaboration Timing
3
Biểu đồ Tuần tự
Sequence Diagram
Trang 33Message
Return
Local message
Object
Trang 34Vẽ biểu đồ tuần tự
Chú ý: có thể vẽ một trong 2 dạng
Trang 35Ví dụ vẽ sai !
Trang 363 Một số biểu đồ UML cơ bản
Sequence Diagram
2
Biểu đồ Lớp
Class
Diagram
4
Biểu đồ Hoạt động
Activity
Diagram
State Component Deployment Communication Collaboration Timing
4
Biểu đồ Hoạt động
Trang 38Một số biểu đồ khác
Biểu đồ truyền thông: Communication diagram*
Biểu đồ tương tác: Interaction Diagram
Biểu đồ thời gian – Timming diagram*
Biểu đồ trạng thái – State Diagram
Biểu đồ đối tượng – Object Diagram
Bểu đồ gói - Package Diagram
Biểu đồ cấu trúc kết hợp – Composite Structured*
Biểu đồ thành phần – Component Diagram
Biểu đồ triển khai – Deployment Diagram
Trang 39Ánh xạ biểu đồ sang Code
Trang 40Ánh xạ biểu đồ sang Code (2)
Trang 41Ánh xạ khách hàng- đơn hàng
Trang 45Ánh xạ biểu đồ tuần tự sang Code
Class B { public int Login(string UID, Pass)
{ .
} MainApp { Nhập User name, password
B objB = new B ();
bool Result = objB.Login(UID, Password)
if (Result == true)
}
Trang 47Ngôn ngữ ArchiMate
ArchiMate là gì
Tại sao dùng ArchiMate
Những ký hiệu trong ArchiMate
So sánh ArchiMate và UML
Trang 48ArchiMate là gì
ArchiMate là một ngôn ngữ dùng để miêu tả mô hình kiến trúc enterprise, hỗ trợ kiến trúc sư trong việc mô tả, phân tích, hình dung, và truyền đạt các khái niệm kiến trúc, mối quan hệ giữa các miền enterprise một cách rõ ràng
Trang 49ArchiMate là gì
ArchiMate cung cấp một ngôn ngữ chung để miêu tả việc xây dựng và quản lý những quy trình nghiệp vụ , cấu trúc tổ chức, luồng thông tin, hệ thống CNTT, và cơ
sở hạ tầng kỹ thuật
Trang 50Tại sao dùng ArchiMate
Ngày nay, các tổ chức cần phải đáp ứng nhanh chóng những yêu cầu thay đổi của khách hàng Nhu cầu này ảnh hưởng đến toàn bộ hoạt động của một tổ chức, từ
cơ cấu tổ chức đến cơ sở hạ tầng Làm thế nào bạn kiểm soát các tác động của những thay đổi này ?
Trang 51Tại sao dùng ArchiMate
Ngôn ngữ mô hình kiến trúc ArchiMate là câu trả lời cho những khó khăn trên Ngôn ngữ ArchiMate phát triển một phương pháp tiếp cận thích hợp để mô tả kiến trúc, hình dung ra các miền khác nhau của một enterprise và quan hệ giữa chúng
ArchiMate thể hiện một cách thống nhất về mô hình kiến trúc enterprise, tích hợp các miền khác nhau và mô tả chúng một cách rõ ràng, dễ hiểu
Trang 53ArchiMate vs UML
ArchiMate mô tả cấu trúc của một thành phố, trong khi UML mô tả cấu trúc của những ngôi nhà và cao ốc văn phòng, cả hai đều là cần thiết, và chúng giải quyết vấn
đề khác nhau
Trang 54ArchiMate vs UML
UML không trả lời câu hỏi : dịch vụ IT và quy trình nghiệp vụ quan hệ với nhau như thế nào Trong khi, ArchiMate làm được điều đó
ArchiMate có sử dụng lại những hình ảnh ký hiệu tuơng
tự như UML nhưng định nghĩa lại ngữ nghĩa của chúng
Trang 55Kiến trúc ngôn ngữ ArchiMate
Trang 56Bài toán áp dụng
Phát biểu bài toán
Mô hình kiến trúc hệ thống quản lý trường học thể hiện qua ngôn ngữ ArchiMate
Trang 57Phát biểu bài toán
Xây dựng một hệ thống dùng để quản lý các hoạt động của Trường học bao gồm quản lý học sinh, quản lý giáo viên và quản lý thu việc thu tiền học phí Đồng thời cung cấp chức năng gửi mail để trao đổi thông tin giữa nhà trường và gia đình
Trang 58Mô hình kiến trúc hệ thống quản lý trường học
Trang 59Bussiness Organisation structure view
Trang 60Bussiness Actor cooperation view
Trang 61Bussiness function view
Trang 62Bussiness product view
Trang 63Bussiness service realisation view
Trang 64Bussiness process cooperation view
Trang 65Bussiness process view
Trang 66Application cooperation view
Trang 67Application structure view
Trang 68Application behavior view
Trang 69Application usage view
Trang 70Technical infrastructure view
Trang 71Layer view