Presentation is loading. Please wait.

Presentation is loading. Please wait.

UML ISKM Lab.

Similar presentations


Presentation on theme: "UML ISKM Lab."— Presentation transcript:

1 UML ISKM Lab

2 What is UML ? UML stands for Unified Modeling Language
The UML combines the best of the best from Data Modeling concepts (Entity Relationship Diagrams) Business Modeling (work flow) Object Modeling Component Modeling

3 What is UML ? (cont.) The UML is the standard language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system It can be used with all processes, throughout the development life cycle, and across different implementation technologies

4 History of UML

5 History of UML (Cont.) UML 0.8 – 0.91 Precursors of UML
Object–oriented Modeling in Mid-1970 ~ late 1980s OOSE, OMT-2 and Booch’93 methods in 1990s Booch, Rumbaugh, and Jacobson Join Forces UML 0.8 in October of (Booch and Rumbaugh) UML 0.9 in June of (Booch, Rumbaugh and Jacobson) UML 0.91 in October of 1996 (Booch, Rumbaugh and Jacobson) OOSE object oriented software engineering Jacobson OOSE use case oriented, support business engineering and requirement Analysis. OMT Rumbaugh object model technique 表達分析 and data intensive 加強information sys. Booch’93 善表達 在design and construction phases of project and popular for engineering intensive applications. 1996 4月 Jacobson join Rational.

6 History of UML (Cont.) UML 1.0 – 1.1 UML Partners
UML 1.0 in January of 1997 (IBM, HP, Microsoft, Oracle, Digital Equipment Corp. … join UML) UML 1.1 in September of 1997 (Accepted by OMG as OML) UML 1.3 in 1999 Spring

7 Goals of UML Enable the modeling of systems (and not just software) using object-oriented concepts Establish an explicit coupling to conceptual as well as executable artifacts Address the issues of scale inherent in complex as well as executable artifacts Create a modeling language usable by both humans and machines

8 Concepts of UML The UML may be used to:
Display the boundary of a system & its major functions using use cases and actors Illustrate use case realizations with interaction diagrams Represent a static structure of a system using class diagrams Model the behavior of objects with state transition diagrams Reveal the physical implementation architecture with component & deployment diagrams Extend your functionality with stereotypes

9 Five UML-View point

10 Use case view Design view
Specify system functionality for users, designers, and test engineers Diagram: use case, sequence, collaboration, state, activity diagram Design view Specify detailed design of the system’s internal functionality, include use-cases and actors Diagram : class, object, state, sequence, collaboration, activity diagram

11 Implementation view Process view
Specify how to split the system how to the software components and do implementation Diagrams : state, sequence, collaboration, activity diagrams Process view Specify the operation of the entire system Diagrams: state, sequence, collaboration, activity diagram

12 Deployment view Specify the architecture of the system hardware and the deployment of software processes Diagrams : state, sequence, collaboration, activity diagram

13 Four layer meta-modeling architecture

14 Package structure

15 Top-level pachage

16 Foundation package

17 Behavior package

18 Meta-model package

19 Core package - backbone

20 Core package - relationships

21 Core-package - Dependency

22 Introduction of diagrams and Notations
Categories of diagrams in UML Dynamic view Static view

23 Static View Sequence Diagram Collaboration Diagram State Chart
Activity Diagram

24 Dynamic View Use Case Diagram Class Diagram Object Diagram
Component Diagram Deployment Diagram

25 Class Diagram 用來描述系統中種物件型態(types)和物件之間的靜態關係。包括: 代表類別(class)之間的關係
關連(associations): 代表類別(class)之間的關係 ex: 客戶租用錄影帶 (客戶和錄影帶之間的關連是租用) 子型態(subtypes): 兩類別之間的關係一般化 ex: 護士是一種人類 (護士是人類的子型態) 主要目的為表示出系統中概括性的名字與模式、敘述類別間的合作關係及祥述資料庫邏輯綱要

26 Notations

27 Notations

28 Class comments

29 Notations (cont.) Class Diagram

30 Notations Generalization

31 Object Diagram 類別模型所敘述的是所有可能的狀況,物件模型所敘述的則是一個特定的狀況,因此,可用來探索物件的各種不同型態,然後結合歸納到類別圖中 顯示實例(instances)而非類別(class) 物件名字用實例名稱: 類別名稱表示

32 Object Diagram Engineering: Organization Location: “Boston”
Parent Tools: Organization Location: “Chicago” Apps: Organization Location: “Sabs” Parent Don: Person Location: “Champaign” John: Person Location: “Champaign”

33 Example of insurance

34 Use case Diagram 獲取系統需求並表達使用個案(use case)與行為者(actor)間的相互關係
Use cases描述的是外部執行者(Actor)所理解的系統功能 用於需求分析階段,它的建立是系統開發者和用戶反覆討論的結果,表明了開發者和用戶對需求規格達成的共識 描述了待開發系統的功能需求 將系統看作黑盒,從外部執行者的角度來理解系統 驅動了需求分析之後各階段的開發工作

35 Notations Use Cases

36 Example

37 State char 說明行為的狀態和回應 並說明一個物件的生命週期中的行為 描述一個特定對象的所有可能狀態及其引起狀態轉移的事件

38 Notations (cont.)

39 Notations (cont.)

40 Example

41 Sequence Diagrams 以時間為主軸,敘述物件間之互動關係 用來描述對象之間動態的交互關系,著重表現對象間消息傳遞的時間順序

42 Example of sequence diagram

43 Activity Diagram 說明一個參與行為之類別的活動和行為,並敘述類別為回應內部處理所作的反應
指的是類別內的處理活動,而狀態圖是對外部事件所作出的反應,所以可稱為狀態圖的變異版 由狀態圖變化而來的,它們各自用于不同的目的 活動圖依據對象狀態的變化來執行工作或活動

44 Example

45 Swim lanes Fulfillment Customer Service Finance Receive Order
Send Invoice Receive Payment Fill Order Deliver Order Close Order Fulfillment Customer Service Finance

46 Component Diagram & Deployment diagram

47 Example

48 Case study Our university wants to computerize their registration system Actors Use Cases Use Case Diagram Sequence Diagram Class Diagram

49 Actors An actor is someone or some thing that must interact with the system under development Professor Student Billing System

50 Use Cases Actors are examined to determine their needs
Registrar -- maintain the curriculum Professor -- request roster Student -- maintain schedule Billing System -- receive billing information from registration Maintain Schedule Maintain Curriculum Request Course Roster

51 Use Case Diagram Use case diagrams are created to visualize the relationships between actors and use cases

52 Sequence Diagram A sequence diagram displays object interactions arranged in a time sequence

53 Class Diagram


Download ppt "UML ISKM Lab."

Similar presentations


Ads by Google