UML (Unified Modeling Language)

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
UML: An Introduction.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Unified Modeling (Part I) Overview of UML & Modeling
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Unified Modeling Language
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
Unified Modeling Language, Version 2.0
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
By: DiGitAll UML an overview. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
TAL7011 – Lecture 4 UML for Architecture Modeling.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Software Engineering Lecture 8 Object-Oriented Analysis.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 UML 1 UML unified modeling language 1994 first attempts - largely theoretical 1997 UML.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 3: Introducing the UML
Introduction to UML Hazleen Aris Software Eng. Dept., College of IT, UNITEN. …Unified Modeling Language.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Basic Characteristics of Object-Oriented Systems
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Introduction to UML.
UML(Unified Modeling Language)
UML Diagrams By Daniel Damaris Novarianto S..
Evolution of UML.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Systems Analysis and Design With UML 2
UML Diagrams Jung Woo.
The Unified Modeling Language
Introduction to UML.
Analysis models and design models
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

UML (Unified Modeling Language) 2013.10.1 Software Engineering Lab.

Contents Modeling Software Modeling UML UML Structure UML Diagram with Design Example

Modeling Model Modeling Modeling의 목적 현실의 단순화, 가시화를 통해 개발할 시스템에 대한 계획/구상에 대한 내용을 나타낸 것 Modeling 양질의 소프트웨어를 개발하기 위해 모델을 만드는 작업 Modeling의 목적

Modeling Modeling history UML = OMT + Booch + OOSE.. OMT(Object Modeling Technique) Booch Method OOSE(Object-Oriented Software Engineering) … UML = OMT + Booch + OOSE..

Modeling

Software Modeling ex) 학생지원 시스템 사용자는? 시스템 기능은? UI는? 가용성은?

Software Modeling Software Development Process 요구사항정의 분석 설계 구현 및 테스트 개발될 시스템에 대한 요구사항을 도출하고 정의, 명세하는 활동 시스템에 대한 기능적 요구사항에 집중하여 모델링하는 활동 비기능적 요구사항에 대한 고려와 구체적인 모델링을 하는 활동 도출된 요구사항과 분석 및 설계된 모델을 바탕으로 시스템을 구현하고 검증하는 활동 요구사항 모델 분석 모델 설계 모델 시스템

UML 모델링 Software Modeling Software Development Process 요구사항정의 분석 설계 구현 및 테스트 요구사항 모델 분석 모델 설계 모델 시스템 UML 모델링

UML The UML (Unified Modeling Language) The original authors is an open, extensible, standard visual modeling language approved by OMG(Object Management Group) helps you specify, visualize, and document models of software systems, including their structure and design, in a way that meets all of these requirements is oriented toward object-oriented systems is not a methodology just provides a visual syntax that we can use to construct models The original authors Booch, Jacobson, and Rumbaugh

UML UML History Current UML version: UML 2.3(May. 2010)

UML – Why “unified”? UML attempts in being unified across several domains development life cycle provides visual syntax for modeling (from requirement engineering to implementation) application domain be used to model everything (from embedded system to management decision system) implementation languages and platforms is language neutral and platform neutral development process support many other software engineering processes

UML Structure Building blocks Common mechanisms Architecture Things Relationships Diagrams Common mechanisms Specifications Common divisions Adornments Extensibility Mechanisms Architecture

UML Structure - Building Blocks Things structural things the nouns of a UML model (ex: class, interface, etc) behavioral things the verbs of a UML model (ex: interaction, activities, etc) grouping things the package, which is used to group semantically related modeling annotational things the note, which may be appended to the model to capture ad hoc information Relationships allow you to show on a model how two or more things relate to each other Diagram are only views into the model

UML Structure - Building Blocks Things Diagram Relationships

UML Structure - Common mechanisms Specifications textual descriptions of the features and semantics of model elements Adornments items of information exposed on a modeling element Common divisions classifier(abstract notation) and instance(specific instance) interface and implementation Extensibility mechanisms constraint : allow us to add new rules (ex: { a>0 }) stereotype : introduce new modeling elements (ex: <<interface>>) tagged value : allow us to add new properties to model elements (ex: {author=“Jim”}) UML profile : is a collection of constraints, stereotype, and tagged value : allow you to customize UML for a specific purpose

UML Structure - Common mechanisms Semantic backplane Class specification Use case specification Dependency specification Specifications Adornments Window unadorned element element with adornments

UML Structure - Architecture UML is based on a 4+1 view of system architecture logical view diagrams : class, composite structure, object, package, state machine component object deployment process view deployment view implementation view use case view use case, interaction End user Programmer System engineering integrator Analyst Tester concerns: vocabulary, functionality system assembly, configuration, management system topology, distribution, delivery, installation performance, scalability, throughput behavior

UML Diagram

(Composite Structure Diagram) UML Diagram Structure Diagram (구조 다이어그램) 다이어그램 내용 비고 클래스 다이어그램 (Class Diagram) 시스템을 구성하는 클래스 표현 논리적 수준 객체 다이어그램 (Object Diagram) 시스템을 구성하는 객체 표현 패키지 다이어그램 (Package Diagram) 많은 수의 모델 요소(예, 클래스, 논리적 컴포넌트)들을 패키지를 이용하여 조직화함 컴포넌트 다이어그램 (Component Diagram) 시스템을 구성하는 논리적 컴포넌트 표현 복합구조 다이어그램 (Composite Structure Diagram) 논리적 컴포넌트의 내부를 파트(Part)와 연결자(Connector)로 표현 배치 다이어그램 (Deployment Diagram) 시스템을 구성하는 노드와 통신 경로, 배치되는 물리적 컴포넌트를 표현 물리적 수준

UML Diagram Behavior Diagram (행위 다이어그램) 다이어그램 내용 비고 유스케이스 다이어그램 (Use Case Diagram) 시스템의 외부 요소와 기능적 요구사항을 액터와 유스케이스로 표현 시스템의 행위 상태 다이어그램 (State Machine Diagram) 개별 대상의 동적 행위를 상태(State)와 전이(Transition)로 표현 개별 구성요소의 행위 활동 다이어그램 (Activity Diagram) 개별 대상의 동적 행위를 활동(Activity)으로 표현 시퀀스 다이어그램 (Sequence Diagram) 상호작용을 구성 요소간의 시간적 순서에 따른 메시지 전달로 표현 구성 요소간의 행위 통신 다이어그램 (Communication Diagram) 상호작용을 구성 요소간의 관계에 바탕을 둔 메시지 전달로 표현 상호작용 개요 다이어그램 (Interaction Overview Diagram) 여러 상호작용의 관계를 상위 수준에서 표현 타이밍 다이어그램 (Timing Diagram) 구성 요소의 상태 변화를 구체적인 시간으로 표현

UML Diagram - Class Diagram shows a collection of static model elements such as classes and types, their contents, and their relationships

UML Diagram - Class Diagram Class is a kind of classifier whose features are attributes and operations Attributes of a class are represented by instances of Property that are owned by the class Package Package is a namespace for its members, and may contain other packages Only packageable elements can be owned members of a package Class Package

UML Diagram - Class Diagram Interface An interface is a kind of classifier that represents a declaration of a set of coherent public features and obligations An interface specifies a contract Association An association specifies a semantic relationship that can occur between typed instances It has at least two ends represented by properties, each of which is connected to the type of the end More than one end of the association may have the same type Interface Association

UML Diagram - Class Diagram Aggregation Aggregation is a loose type of relationship between objects The aggregate can sometimes exist independently of the parts The whole always knows about the parts, but if the relationship is one-way from the whole to the part, the part don’t know about the whole Composition Composition is a very strong type of relationship between objects The parts belong to exactly one composite at a time If the composite is destroyed, it must destroy all its parts or give responsibility for them over to some other objects Aggregation Composition

UML Diagram - Class Diagram Dependency A dependency is a relationship that signifies that a single or a set of model elements requires other model elements for their specification or implementation <<use>>, <<instantiate>>, <<access>>, <<permit>>, <<import>> … Generalization A generalization is a taxonomic relationship between a more general classifier and a more specific classifier Each instance of the specific classifier is also an indirect instance of the general classifier Thus, the specific classifier inherits the features of the more general classifier Dependency Generalization

UML Diagram - Class Diagram 예제 < 인터넷 쇼핑몰> 고객은 개인고객과 법인고객으로 분류된다. 고객은 여러 개의 주문정보를 생성할 수 있다. 하나의 주문정보는 하나의 결제정보, 하나의 물품정보를 포함한다. 주문정보의 소멸 시 결제정보는 같이 소멸되나 물품정보는 소멸되지 않는다.

UML Diagram - Component Diagram depicts the components that compose an application, system, or enterprise The components, their interrelationships, interactions, and their public interfaces are depicted provided interface required interface

UML Diagram - Deployment Diagram shows the execution architecture of systems includes nodes, either hardware or software execution environments, as well as the middleware connecting them

UML Diagram - Package Diagram shows how model elements are organized into packages as well as the dependencies between packages A는 C의 public 요소를 참조 가능하지만, D의 것은 할 수 없음

UML Diagram - Activity Diagram depicts high-level business processes, including data flow, or to model the logic of complex logic within a system

UML Diagram - Activity Diagram Action An action may have sets of incoming and outgoing activity edges that specify control flow and data flow from and to other nodes An action will not begin execution until all of its input conditions are satisfied Initial Node An activity may have more than one initial node Activity Final Node An activity may have more than one activity final node The first one reached stops all flows in the activity

UML Diagram - Activity Diagram Decision Node A decision node is a control node that chooses between outgoing flows Merge Node A merge node is a control node that brings together multiple alternate flows Send Signal Action Send signal action is an action that creates a signal instance from its inputs, and transmits it to the target object

UML Diagram - Activity Diagram Fork Node A fork node has one incoming edge and multiple outgoing edges Join Node A join node has multiple incoming edges and one outgoing edge

UML Diagram - Activity Diagram Activity Partition (Swimlane) Partitions divide the nodes and edges to constrain and show a view of the contained nodes Partitions can share contents They often correspond to organizational units in a business model

UML Diagram - Activity Diagram 예제 < 인터넷 쇼핑몰의 물품구매 흐름> 고객은 물품구매를 요청하면 시스템은 본인확인을 수행한다. 본인확인이 성공한 경우 고객은 결제정보를 입력하여 결제처리를 요청하고 본인확인이 실패한 경우 물품구매는 종료된다. 결제처리 요청 후 결제수단이 신용카드인 경우 카드승인 시스템에게 카드승인을 요청하고 계좌이체인 경우 계좌이체 시스템에게 계좌이체를 요청한다. 결제 후에는 배송요청을 수행한 후 물품구매는 종료된다.

UML Diagram - Use Case Diagram used by some methodologies during requirements gathering shows use cases, actors, and their interrelationships

UML Diagram - Use Case Diagram Actor An actor models a type of role played by an entity that interacts with the subject, but which is external to the subject Use Case A use case is a kind of behaviored classifier that represents a declaration of an offered behavior Each use case specifies some behavior, possibly including variants, that the subject can perform in collaboration with one or more actors Use cases define the offered behavior of the subject without reference to its internal structure

UML Diagram - Use Case Diagram Include Include is a directed relationship between two use cases, implying that the behavior of the included use case is inserted into the behavior of the including use case Extend This relationship specifies that the behavior of a use case may be extended by the behavior of another use case Extension Points An extension point is a feature of a use case that identifies a point where the behavior of a use case can be augmented with elements of another (extending) use case

UML Diagram - Use Case Diagram 예제 < 인터넷 쇼핑몰> 고객은 회원등록을 통해 회원가입이 가능하며, 이를 통해 로그인을 수행한다. 로그인을 수행할 때에는 본인확인 기 능을 통해 본인확인을 수행한다. 고객은 물품구매를 수행할 수 있는데, 물품구매 시에도 마찬가지로 본인확인을 하여야 한다. 물품구매 시 결재수단은 신용카드와 계좌이체가 있으며 신용카드의 경우 신용카드지불이 요청된다. 고객은 자신이 주문한 건에 대해 배송조회를 수행하며, 직원은 고객이 요청한 주문 건에 대하여 배송조회를 할 수 있다. 배송 조회 정보는 외부 배송 업체 시스템으로부 터 획득한다.

UML Diagram – State Machine Diagram describes the states an object or interaction may be in, as well as the transitions between states Formerly referred to as a state diagram, state chart diagram, or a state-transition diagram

UML Diagram – Sequence Diagram models the sequential logic, in effect the time ordering of messages between classifiers

UML Diagram – Sequence Diagram Frame An interaction is a unit of behavior that focuses on the observable exchange of information between connectable elements Lifeline A lifeline represents an individual participant in the Interaction While parts and structural features may have multiplicity greater than 1, lifelines represent only one interacting entity Activation = focus of control Message defines a particular communication between lifelines of an interaction

UML Diagram – Sequence Diagram Execution Specification An execution specification is a specification of the execution of a unit of behavior or action within the lifeline Interaction Use An interaction use refers to an interaction The interaction use is a shorthand for copying the contents of the referred interaction where the interaction use is Execution Specification Interaction Use

UML Diagram – Sequence Diagram Combined Fragment A combined fragment defines an expression of interaction fragments A combined fragment is defined by an interaction operator and corresponding interaction operands

UML Diagram – Sequence Diagram 예제 < 인터넷 쇼핑몰> 회원 정보 조회에 대한 클래스 다이어그램

UML Diagram & Software Development Process UML & Software Development Process 요구사항 정의 분석 설계 구현 및 테스트 패키지 다이어그램 유스케이스 다이어그램 클래스 다이어그램 객체 다이어그램 상태 다이어그램 활동 다이어그램 상호작용 다이어그램 컴포넌트 다이어그램 복합구조 다이어그램 배치 다이어그램

Reference Figure Script Visual Paradigm – UML 2 Diagrams http://www.visual-paradigm.com/VPGallery/diagrams/index.html Script UML 2.1 Specification http://www.uml.org/#UML2.0 UML2 and the Unified Process, Second Edition [Addison-Wesley]

Q & A