Presentation is loading. Please wait.

Presentation is loading. Please wait.

KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

Similar presentations


Presentation on theme: "KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ"— Presentation transcript:

1 KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ
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

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. SoaML 4.6. UML 4.7. ArchiMate

3 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

4 1. 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) UML khởi động từ tháng 10, năm 1994. Tháng 1 năm 1997, UML 1.0 ra đời.

5 1. Tổng quan về UML.... Hiện nay UML được sử dụng rất phổ biến trong các dự án phần mềm. 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. Có rất nhiều công cụ phần mềm hỗ trợ phân tích thiết kế dùng UML. Nhiều công cụ có thể sinh ra mã từ UML và ngược lại (từ mã thành UML-Reverse Eng) 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à (omg.org)

6 UML dùng để làm gì ? 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)

7 Trực quan hóa-Visualizing
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. 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. 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.

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

9 Xâ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”

10 UML 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

11 2. Một số Case tool (Công cụ) hỗ trợ UML
Rational Rose (của hãng Rational) ibm.com/developerworks/downloads/r/rsd/? Visual Paradiagm Microsoft Visio Power designer Visual Case Pacestar UML Diagrammer v.v…

12 3. Một số biểu đồ UML cơ bản 4 Biểu đồ Hoạt động Activity Diagram 3
Tuần tự Sequence Diagram 2 Biểu đồ Lớp Class Diagram 1 Biểu đồ ca sử dụng Use Case Diagram Component Deployment Communication/ Collaboration Timming Interaction State

13 3. Một số biểu đồ UML cơ bản 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 ? 1 Biểu đồ ca sử dụng Use Case Diagram 1 Biểu đồ ca sử dụng Use Case Diagram 2 Biểu đồ Lớp Class Diagram 3 Biểu đồ Tuần tự Sequence Diagram 4 Biểu đồ Hoạt động Activity Diagram Component Deployment Communication Collaboration Timing State

14

15 Use case Include System Actor Extend Generalization

16 Chú ý: A B 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 () { .... } } Class A { Pubic void Y () { B objB = new B(); objB.X (); ... } A Include B

17 Chú ý: A B 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 () { .... } } Class A { Pubic void XemDSSV () { ... If (Click_Nút_InẤn) { B objB = new B(); objB.InẤn(); ...}.... } A Extend B

18 Một số hình vẽ đúng

19 Một số hình vẽ đúng

20 Một số hình vẽ sai

21 Vẽ 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: Class A { } Class B : A { A Thanh toán C T/t bằng Séc B T/t bằng Credit

22 3. Một số biểu đồ UML cơ bản 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. 1 Biểu đồ ca sử dụng Use Case Diagram 2 Biểu đồ Lớp Class Diagram 2 Biểu đồ Lớp Class Diagram 3 Biểu đồ Tuần tự Sequence Diagram 4 Biểu đồ Hoạt động Activity Diagram Component Deployment Communication Collaboration Timing State

23 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

24

25 Cá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:

26 Cá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:

27 Cá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:

28 Một phần tử lớp A có 1 phần tử lớp B
Ứ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 B 1 1 Một phần tử lớp A có 1 phần tử lớp B

29 A Khách hàng Ứng số (Multiplicity) B Tài khoản
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? B Tài khoản A Khách hàng 1 0..3 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

30 A Khách hàng Ứng số (Multiplicity) B Đơn hàng
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? B Đơn hàng A Khách hàng 1 * 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

31 A Sinh viên Ứng số (Multiplicity) B Khóa học
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? B Khóa học A Sinh viên 0..* 1..* 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

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

33 Object Message Return Lifetime Local message

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

35 Ví dụ vẽ sai !

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

37

38 Mộ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 * Mới thêm vào UML 2.0

39 Ánh xạ biểu đồ sang Code

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

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

42

43

44

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

46 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. SoaML 4.6. UML 4.7. ArchiMate

47 Ngô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

48 ArchiMate 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 ArchiMate is partly based on the IEEE 1471 standard. IEEE 1471 is an IEEE Standard for describing the architecture of a software-intensive system, also known as software architecture or system architecture. It was developed in the Netherlands by a project team from the Telematica Instituut in cooperation with several Dutch partners from government, industry and academia. In 2008 ArchiMate was accepted and hosted as an open standard by the Open Group.

49 ArchiMate 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. ArchiMate distinguishes itself from other languages such as Unified Modeling Language (UML) and Business Process Modeling Notation (BPMN) by its well defined metamodel, and wider enterprise modelling scope.[3]

50 Tạ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 ? Kiến trúc có thể là câu trả lời. Tuy nhiên, việc mô hình một kiến trúc sao cho đúng đắn, hiệu quả và thống nhất thực sự là một thử thách không nhỏ, chẵng hạn như kiến trúc sư cần những cách thể hiện kiến trúc một cách rõ ràng để có thể liên lạc với các bên liên quan khác, chẳng hạn như bên phát triển hệ thống, người dùng cuối, và nhà quản lý...Thật không may, trên thực tế các kiến trúc sư thuộc các lĩnh vực khác nhau, thậm chí trong cùng một tổ chức, thường sử dụng riêng các kỹ thuật mô tả và quy ước riêng của họ. Đến nay, không có tiêu chuẩn ngôn ngữ để mô tả kiến trúc enterprise một cách chính xác. Chúng thường được mô tả hoặc trong hình thức thiếu một ý nghĩa rõ ràng, hoặc trong ngôn ngữ thiết kế chi tiết (như UML) gây khó hiểu cho những người không chuyên. Điều này thường xuyên dẫn đến hiểu lầm làm cản trở sự hợp tác của kiến trúc sư và các bên liên quan khác.

51 Tạ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. . Bằng cách phát triển một ngôn ngữ kiến trúc và kỹ thuật hình ảnh trực quan, ArchiMate sẽ cung cấp cho các kiến trúc sư các công cụ hỗ trợ và cải thiện quy trình kiến trúc hiện có và tiêu chuẩn mới sẽ được sử dụng hoặc tích hợp bất cứ khi nào có thể.

52 An architecture framework divides the enterprise architecture in to a business, application and technology layer. In each layer, three aspects are considered: active elements that exhibit behavior (e.g. Process and Function), an internal structure and elements that define use or communicate information. - Meaning :

53 ArchiMate 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

54 ArchiMate 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. UML thường được sử dụng bởi kỹ sư thiết kế hệ thống, cái mà UML còn thiếu là một metamodel nhất quán và thuần nhất để có thể định nghĩa những thành phần của những mô hình khác nhau quan hệ với nhau như thế nào. Nói cách khác, 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 có làm được điều đó. ArchiMate bắt đầu với việc nắm rõ những mối quan hệ phức tạp giữa quy trình nghiệp vụ và dịch vụ IT bên trong những miền khác nhau từ động lực kinh doanh cho đến quy trình nghiệp vụ, quản lý dịch vụ cho đến hệ thống và cơ sở hạ tầng. ArchiMate định nghĩa một metamodel cho phép những mối quan hệ này được cấu trúc, được ràng buộc và truyền thông với nhau, trong khi đó UML không bị ràng buộc giữa những loại mô hình . 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. Archimate thường được sử dụng để mô hình kiến trúc một enterprise còn UML thường mô tả sự thực thi hệ thống từ những viewpoint khác nhau.

55 Kiến trúc ngôn ngữ ArchiMate

56 Bà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.

57 Phá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.

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

59 Bussiness Organisation structure view

60 Bussiness Actor cooperation view

61 Bussiness function view

62 Bussiness product view

63 Bussiness service realisation view

64 Bussiness process cooperation view

65 Bussiness process view

66 Application cooperation view

67 Application structure view

68 Application behavior view

69 Application usage view

70 Technical infrastructure view

71 Layer view


Download ppt "KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ"

Similar presentations


Ads by Google