HC VIN NG N HNG KHOA H THNG

  • Slides: 71
Download presentation
HỌC VIỆN NG N HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ CHƯƠNG 4

HỌC VIỆN NG N HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ CHƯƠNG 4 TÌM HIỂU VỀ MỘT SỐ NGÔN NGỮ “MÔ HÌNH HÓA KIẾN TRÚC DOANH NGHIỆP” BÀI GIẢNG: KIẾN TRÚC DOANH NGHIỆP Hà Nội, 10/2015

Nội dung 4. 1. Tổng quan về Ngôn ngữ mô hình hóa 4. 2.

Nội dung 4. 1. Tổng quan về Ngôn ngữ mô hình hóa 4. 2. IDEF 4. 3. BPMN 4. 4. Testbed 4. 5. Soa. ML 4. 6. UML 4. 7. Archi. Mate

Nội dung 1 Giới thiệu tổng quan về UML 2 Một số Case tool

Nội dung 1 Giới thiệu tổng quan về UML 2 Một số Case tool hỗ trợ UML 3 Một số biểu đồ UML cơ bản 4 Cài đặt (ánh xạ) biểu đồ 5 Giới thiệu Visual Paradigm

1. Tổng quan về UML v UML (Unified Model Language) là một ngôn ngữ

1. Tổng quan về UML v 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) v Đượ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. v 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. v 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)

1. Tổng quan về UML. . v Hiện nay UML được sử dụng rất

1. Tổng quan về UML. . v Hiện nay UML được sử dụng rất phổ biến trong các dự án phần mềm. v UML thể hiện phương pháp phân tích hướng đối tượng nên không lệ thuộc ngôn ngữ LT. v Có rất nhiều công cụ phần mềm hỗ trợ phân tích thiết kế dùng UML. v Nhiều công cụ có thể sinh ra mã từ UML và ngược lại (từ mã thành UML-Reverse Eng) v UML không phải là ngôn ngữ lập trình !. v Phiên bản mới nhất của UML là 2. 1. 2 (omg. org)

UML dùng để làm gì ? v UML là một ngôn ngữ dùng để:

UML dùng để làm gì ? v UML là một ngôn ngữ dùng để: § Trực quan hóa (Visualizing) § Đặc tả (Specifying) § Xây dựng (Constructing) § Viết tài liệu (Documenting)

Trực quan hóa-Visualizing v Dùng tập các ký hiệu đồ họa phong phú để

Trực quan hóa-Visualizing v Dùng tập các ký hiệu đồ họa phong phú để biểu diễn hệ thống đang được nghiên cứu. v Hệ thống ký hiệu đều có ngữ nghĩa chặt chẽ, có thể hiểu bởi nhiều công cụ khác nhau. v Giúp cho các nhà thiết kế, nhà lập trình khác biệt về ngôn ngữ đều có thể hiểu được.

UML là ngôn ngữ cho đặc tả - specifying v UML giúp xây dựng

UML là ngôn ngữ cho đặc tả - specifying v UML giúp xây dựng các mô hình chính xác, đầy đủ và không nhập nhằng. v 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. v Use case (dùng cho phân tích); Class, Sequence, Activity. . . (cho thiết kế); Component, Deployment (cho triển khai).

Xây dựng - Constructing v Các mô hình của UML có thể kết nối

Xây dựng - Constructing v 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. . . v Việc chuyển các mô hình trong UML thành Code trong ngôn ngữ lập trình Forward engineering v 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. v Cần công cụ để chuyển đổi “xuôi” & “ngược”

UML là ngôn ngữ giúp viết tài liệu v Giúp xây dựng tài liệu

UML là ngôn ngữ giúp viết tài liệu v Giúp xây dựng tài liệu đặc tả - requirements v Tài liệu kiến trúc (architecture) v Tài liệu thiết kế v Source code v Tài liệu để kiểm thử - Test v Tài liệu mẫu - Prototype v Tài liệu triển khai – Deployment. . .

2. Một số Case tool (Công cụ) hỗ trợ UML v Rational Rose (của

2. Một số Case tool (Công cụ) hỗ trợ UML v Rational Rose (của hãng Rational) http: //www 128. ibm. com/developerworks/downloads/r/rsd/? v Visual Paradiagm http: //www. visual-paradigm. com v Microsoft Visio www. microsoft. com v Power designer http: //www. sybase. com v Visual Case http: //www. visualcase. com v Pacestar UML Diagrammer www. peacestar. com v v. v…

3. Một số biểu đồ UML cơ bản 1 v. Biểu đồ ca sử

3. Một số biểu đồ UML cơ bản 1 v. Biểu đồ ca sử dụng Use Case Diagram Component Deployment Communication/ Collaboration Timming Interaction State

3. Một số biểu đồ UML cơ bản 1 2 v. Biểu đồ ca

3. Một số biểu đồ UML cơ bản 1 2 v. Biểu đồ ca sử dụng Use Case Diagram v. Biểu đồ Lớp Class Diagram 3 4 • Mô tả các chức năng của Biểu đồ hệ thống dựa trên quan Tuần tự Hoạt động điểm người sử dụng. Sequence Activity • Mô tả sự tương tác giữa Diagram người dùng và hệ thống. • Cho biết hệ thống được sử dụng như thế nào ? Component Deployment Communication Collaboration Timing State

Use case Actor Include System Extend Generalization

Use case Actor Include System Extend Generalization

Chú ý: v Khi nào thì vẽ quan hệ <Include> (bao hàm) Use case

Chú ý: v 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 ! v Minh họa thông qua Code Class B { public void X () {. . } } Class A { Pubic void Y () { B obj. B = new B(); obj. B. X (); . . . } } A Include B

Chú ý: v Khi nào thì vẽ quan hệ <Extend> (mở rộng) Use case

Chú ý: v 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 đó. v Minh họa thông qua Code Class B { public void InẤn () {. . } } Class A { A Pubic void Xem. DSSV () {. . . If (Click_Nút_InẤn) { B obj. B = new B(); obj. B. InẤn(); . . . } } Extend B

Một số hình vẽ sai

Một số hình vẽ sai

Vẽ quan hệ tổng quát hóa (thừa kế) v Khi nào thì vẽ quan

Vẽ quan hệ tổng quát hóa (thừa kế) v 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 ! v Nếu A Generalization B thì code có dạng: Class A {. . . . . A } Thanh toán Class B : A {. . . . C B } T/t bằng Séc T/t bằng Credit

3. Một số biểu đồ UML cơ bản 1 2 v. Biểu đồ ca

3. Một số biểu đồ UML cơ bản 1 2 v. Biểu đồ ca sử dụng Use Case Diagram v. Biểu đồ Lớp Class Diagram 3 đồ quan trọng 4 • Là biểu nhất Biểu đồ • Mô tả các đối tượng và Tuần tự Hoạt động mối quan hệ của chúng Sequence Activity trong hệ thống. Diagram • 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. Component Deployment Communication Collaboration Timing State

Hai dạng lớp: phân tích và thiết kế Bỏ qua các chi tiết không

Hai 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

Các quan hệ trong biểu đồ lớp v Quan hệ Generalization: Thể hiện rằng

Các quan hệ trong biểu đồ lớp v 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) v Gọi là quan hệ Là một (Is a) v Thể hiện:

Các quan hệ trong biểu đồ lớp (2) v Quan hệ Aggregation: Thể hiện

Các quan hệ trong biểu đồ lớp (2) v 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. v Còn gọi là mối quan hệ: Có một (Has a) v Thể hiện:

Các quan hệ trong biểu đồ lớp (3) v Quan hệ Composition: thể hiện

Các quan hệ trong biểu đồ lớp (3) v 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. v Thể hiện:

Ứng số (Multiplicity) v Thể hiện rằng ứng với mỗi lớp A thì có

Ứng số (Multiplicity) v 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 1 1 B Một phần tử lớp A có 1 phần tử lớp B

Ứng số (Multiplicity) v Thể hiện rằng ứng với mỗi lớp A thì có

Ứng số (Multiplicity) v 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 Khách hàng 1 0. . 3 B Tài khoản Một phần tử lớp A có tối đa 3 phần tử lớp B Mỗi phần tử lớp B có đúng 1 phần tử lớp A

Ứng số (Multiplicity) v Thể hiện rằng ứng với mỗi lớp A thì có

Ứng số (Multiplicity) v 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 Khách hàng 1 * B Đơn hàng Một phần tử lớp A có nhiều phần tử lớp B Mỗi phần tử lớp B có đúng 1 phần tử lớp A

Ứng số (Multiplicity) v Thể hiện rằng ứng với mỗi lớp A thì có

Ứng số (Multiplicity) v 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. . * B Khóa học 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

3. Một số biểu đồ UML cơ bản 1 2 • Mô tả sự

3. Một số biểu đồ UML cơ bản 1 2 • Mô tả sự tương tác Biểu đồ v Biểu của cácđồ đốica tượng v theo sử tự dụng trình về thời gian. Lớp Class Use Case • Có sự liên kết chặt chẽ Diagram với biểu đồ lớp. 3 4 Biểu đồ Tuần tự Sequence Diagram Biểu đồ Hoạt động Activity Diagram • Mỗi biểu đồ tuần tự mô tả một tình huống xử lý. Component Deployment Communication Collaboration Timing State

Object Message Return Lifetime Local message

Object Message Return Lifetime Local message

Vẽ biểu đồ tuần tự v Chú ý: có thể vẽ một trong 2

Vẽ biểu đồ tuần tự v Chú ý: có thể vẽ một trong 2 dạng

3. Một số biểu đồ UML cơ bản 1 v. Biểu đồ ca sử

3. Một số biểu đồ UML cơ bản 1 v. Biểu đồ ca sử dụng Use Case Diagram Component 2 3 • Mô tả các luồng công v. Biểu đồ nghiệp Biểu việc, qui trình vụ. đồ Lớp Tuần tự • Tương tự như sơ đồ Class Sequence khối (Flowchart). Diagram • Hỗ trợ việc mô tả các xử lý song. Deployment Communication Collaboration 4 4 Biểu đồ đồ Hoạt động Activity Diagram Timing State

Một số biểu đồ khác v Biểu đồ truyền thông: Communication diagram* v Biểu

Một số biểu đồ khác v Biểu đồ truyền thông: Communication diagram* v Biểu đồ tương tác: Interaction Diagram v Biểu đồ thời gian – Timming diagram* v Biểu đồ trạng thái – State Diagram v Biểu đồ đối tượng – Object Diagram v Bểu đồ gói - Package Diagram v Biểu đồ cấu trúc kết hợp – Composite Structured* v Biểu đồ thành phần – Component Diagram v Biểu đồ triển khai – Deployment Diagram

Ánh xạ biểu đồ sang Code

Ánh xạ biểu đồ sang Code

Ánh xạ biểu đồ sang Code (2)

Ánh xạ biểu đồ sang Code (2)

Ánh xạ khách hàng- đơn hàng

Ánh xạ khách hàng- đơn hàng

Ánh xạ biểu đồ tuần tự sang Code Class B { public int Login(string

Ánh xạ biểu đồ tuần tự sang Code Class B { public int Login(string UID, Pass) {. . . . } Main. App { . . Nhập User name, password. . B obj. B = new B (); bool Result = obj. B. Login(UID, Password) if (Result == true). . }

Nội dung 4. 1. Tổng quan về Ngôn ngữ mô hình hóa 4. 2.

Nội dung 4. 1. Tổng quan về Ngôn ngữ mô hình hóa 4. 2. IDEF 4. 3. BPMN 4. 4. Testbed 4. 5. Soa. ML 4. 6. UML 4. 7. Archi. Mate

Ngôn ngữ Archi. Mate v Archi. Mate là gì v Tại sao dùng Archi.

Ngôn ngữ Archi. Mate v Archi. Mate là gì v Tại sao dùng Archi. Mate v Những ký hiệu trong Archi. Mate v So sánh Archi. Mate và UML

Archi. Mate là gì v Archi. Mate là một ngôn ngữ dùng để miêu

Archi. Mate là gì v Archi. Mate 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

Archi. Mate là gì v Archi. Mate cung cấp một ngôn ngữ chung để

Archi. Mate là gì v Archi. Mate 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.

Tại sao dùng Archi. Mate v Ngày nay, các tổ chức cần phải đáp

Tại sao dùng Archi. Mate v 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 ?

Tại sao dùng Archi. Mate v Ngôn ngữ mô hình kiến trúc Archi. Mate

Tại sao dùng Archi. Mate v Ngôn ngữ mô hình kiến trúc Archi. Mate là câu trả lời cho những khó khăn trên. Ngôn ngữ Archi. Mate 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. v Archi. Mate 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.

Archi. Mate vs UML v Archi. Mate mô tả cấu trúc của một thành

Archi. Mate vs UML v Archi. Mate 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

Archi. Mate vs UML v UML không trả lời câu hỏi : dịch vụ

Archi. Mate vs UML v 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, Archi. Mate làm được điều đó. v Archi. Mate 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.

Kiến trúc ngôn ngữ Archi. Mate

Kiến trúc ngôn ngữ Archi. Mate

Bài toán áp dụng v Phát biểu bài toán v Mô hình kiến trúc

Bài toán áp dụng v Phát biểu bài toán v Mô hình kiến trúc hệ thống quản lý trường học thể hiện qua ngôn ngữ Archi. Mate.

Phát biểu bài toán v Xây dựng một hệ thống dùng để quản lý

Phát biểu bài toán v 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.

Mô hình kiến trúc hệ thống quản lý trường học v Bussiness § actor

Mô hình kiến trúc hệ thống quản lý trường học v Bussiness § actor cooperation view § Organisation structure view § function view § product view § service realisation view § process cooperation view § process view v Application § cooperation view § structure view § behavior view § usage view v Technical infrastructure view v Layer view

Bussiness Organisation structure view

Bussiness Organisation structure view

Bussiness Actor cooperation view

Bussiness Actor cooperation view

Bussiness function view

Bussiness function view

Bussiness product view

Bussiness product view

Bussiness service realisation view

Bussiness service realisation view

Bussiness process cooperation view

Bussiness process cooperation view

Bussiness process view

Bussiness process view

Application cooperation view

Application cooperation view

Application structure view

Application structure view

Application behavior view

Application behavior view

Application usage view

Application usage view

Technical infrastructure view

Technical infrastructure view

Layer view

Layer view