Download presentation
1
UML (Unified Modeling Language)
Software Engineering Lab.
2
Contents Modeling Software Modeling UML UML Structure UML Diagram
with Design Example
3
Modeling Model Modeling Modeling의 목적
현실의 단순화, 가시화를 통해 개발할 시스템에 대한 계획/구상에 대한 내용을 나타낸 것 Modeling 양질의 소프트웨어를 개발하기 위해 모델을 만드는 작업 Modeling의 목적
4
Modeling Modeling history UML = OMT + Booch + OOSE..
OMT(Object Modeling Technique) Booch Method OOSE(Object-Oriented Software Engineering) … UML = OMT + Booch + OOSE..
5
Modeling
6
Software Modeling ex) 학생지원 시스템 사용자는? 시스템 기능은? UI는? 가용성은?
7
Software Modeling Software Development Process 요구사항정의 분석 설계 구현 및 테스트
개발될 시스템에 대한 요구사항을 도출하고 정의, 명세하는 활동 시스템에 대한 기능적 요구사항에 집중하여 모델링하는 활동 비기능적 요구사항에 대한 고려와 구체적인 모델링을 하는 활동 도출된 요구사항과 분석 및 설계된 모델을 바탕으로 시스템을 구현하고 검증하는 활동 요구사항 모델 분석 모델 설계 모델 시스템
8
UML 모델링 Software Modeling Software Development Process 요구사항정의 분석 설계
구현 및 테스트 요구사항 모델 분석 모델 설계 모델 시스템 UML 모델링
9
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
10
UML UML History Current UML version: UML 2.3(May. 2010)
11
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
12
UML Structure Building blocks Common mechanisms Architecture Things
Relationships Diagrams Common mechanisms Specifications Common divisions Adornments Extensibility Mechanisms Architecture
13
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
14
UML Structure - Building Blocks
Things Diagram Relationships
15
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
16
UML Structure - Common mechanisms
Semantic backplane Class specification Use case specification Dependency specification Specifications Adornments Window unadorned element element with adornments
17
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
18
UML Diagram
19
(Composite Structure Diagram)
UML Diagram Structure Diagram (구조 다이어그램) 다이어그램 내용 비고 클래스 다이어그램 (Class Diagram) 시스템을 구성하는 클래스 표현 논리적 수준 객체 다이어그램 (Object Diagram) 시스템을 구성하는 객체 표현 패키지 다이어그램 (Package Diagram) 많은 수의 모델 요소(예, 클래스, 논리적 컴포넌트)들을 패키지를 이용하여 조직화함 컴포넌트 다이어그램 (Component Diagram) 시스템을 구성하는 논리적 컴포넌트 표현 복합구조 다이어그램 (Composite Structure Diagram) 논리적 컴포넌트의 내부를 파트(Part)와 연결자(Connector)로 표현 배치 다이어그램 (Deployment Diagram) 시스템을 구성하는 노드와 통신 경로, 배치되는 물리적 컴포넌트를 표현 물리적 수준
20
UML Diagram Behavior Diagram (행위 다이어그램) 다이어그램 내용 비고 유스케이스 다이어그램
(Use Case Diagram) 시스템의 외부 요소와 기능적 요구사항을 액터와 유스케이스로 표현 시스템의 행위 상태 다이어그램 (State Machine Diagram) 개별 대상의 동적 행위를 상태(State)와 전이(Transition)로 표현 개별 구성요소의 행위 활동 다이어그램 (Activity Diagram) 개별 대상의 동적 행위를 활동(Activity)으로 표현 시퀀스 다이어그램 (Sequence Diagram) 상호작용을 구성 요소간의 시간적 순서에 따른 메시지 전달로 표현 구성 요소간의 행위 통신 다이어그램 (Communication Diagram) 상호작용을 구성 요소간의 관계에 바탕을 둔 메시지 전달로 표현 상호작용 개요 다이어그램 (Interaction Overview Diagram) 여러 상호작용의 관계를 상위 수준에서 표현 타이밍 다이어그램 (Timing Diagram) 구성 요소의 상태 변화를 구체적인 시간으로 표현
21
UML Diagram - Class Diagram
shows a collection of static model elements such as classes and types, their contents, and their relationships
22
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
23
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
24
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
25
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
26
UML Diagram - Class Diagram
예제 < 인터넷 쇼핑몰> 고객은 개인고객과 법인고객으로 분류된다. 고객은 여러 개의 주문정보를 생성할 수 있다. 하나의 주문정보는 하나의 결제정보, 하나의 물품정보를 포함한다. 주문정보의 소멸 시 결제정보는 같이 소멸되나 물품정보는 소멸되지 않는다.
27
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
28
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
29
UML Diagram - Package Diagram
shows how model elements are organized into packages as well as the dependencies between packages A는 C의 public 요소를 참조 가능하지만, D의 것은 할 수 없음
30
UML Diagram - Activity Diagram
depicts high-level business processes, including data flow, or to model the logic of complex logic within a system
31
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
32
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
33
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
34
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
35
UML Diagram - Activity Diagram
예제 < 인터넷 쇼핑몰의 물품구매 흐름> 고객은 물품구매를 요청하면 시스템은 본인확인을 수행한다. 본인확인이 성공한 경우 고객은 결제정보를 입력하여 결제처리를 요청하고 본인확인이 실패한 경우 물품구매는 종료된다. 결제처리 요청 후 결제수단이 신용카드인 경우 카드승인 시스템에게 카드승인을 요청하고 계좌이체인 경우 계좌이체 시스템에게 계좌이체를 요청한다. 결제 후에는 배송요청을 수행한 후 물품구매는 종료된다.
36
UML Diagram - Use Case Diagram
used by some methodologies during requirements gathering shows use cases, actors, and their interrelationships
37
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
38
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
39
UML Diagram - Use Case Diagram
예제 < 인터넷 쇼핑몰> 고객은 회원등록을 통해 회원가입이 가능하며, 이를 통해 로그인을 수행한다. 로그인을 수행할 때에는 본인확인 기 능을 통해 본인확인을 수행한다. 고객은 물품구매를 수행할 수 있는데, 물품구매 시에도 마찬가지로 본인확인을 하여야 한다. 물품구매 시 결재수단은 신용카드와 계좌이체가 있으며 신용카드의 경우 신용카드지불이 요청된다. 고객은 자신이 주문한 건에 대해 배송조회를 수행하며, 직원은 고객이 요청한 주문 건에 대하여 배송조회를 할 수 있다. 배송 조회 정보는 외부 배송 업체 시스템으로부 터 획득한다.
40
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
41
UML Diagram – Sequence Diagram
models the sequential logic, in effect the time ordering of messages between classifiers
42
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
43
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
44
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
45
UML Diagram – Sequence Diagram
예제 < 인터넷 쇼핑몰> 회원 정보 조회에 대한 클래스 다이어그램
46
UML Diagram & Software Development Process
UML & Software Development Process 요구사항 정의 분석 설계 구현 및 테스트 패키지 다이어그램 유스케이스 다이어그램 클래스 다이어그램 객체 다이어그램 상태 다이어그램 활동 다이어그램 상호작용 다이어그램 컴포넌트 다이어그램 복합구조 다이어그램 배치 다이어그램
47
Reference Figure Script Visual Paradigm – UML 2 Diagrams
Script UML 2.1 Specification UML2 and the Unified Process, Second Edition [Addison-Wesley]
48
Q & A
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.