Object-Oriented Systems Development: Using the Unified Modeling Language

Similar documents
Object-Oriented Systems Development: Using the Unified Modeling Language

OBJECT ORIENTED ANALYSIS AND DESIGN

UML Tutorial. Unified Modeling Language UML Tutorial

What is UML / why. UML is graphical and notational representation for software system requirements analysis and design. (Software Engineering )

12 Tutorial on UML. TIMe TIMe Electronic Textbook

LABORATORY 1 REVISION

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

Introduction to Software Engineering. 6. Modeling Behaviour

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

Introduction to Software Engineering. 5. Modeling Objects and Classes

Object-Oriented Systems Analysis and Design Using UML

UML Unified Modeling Language

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

Unit-1 INTRODUCTION 1.1 CATEGORIES OF INFORMATION SYSTEMS SYLLABUS:

Model Driven Development Unified Modeling Language (UML)

APPENDIX M INTRODUCTION TO THE UML

Software Service Engineering

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Chapter 5: Structural Modeling

OO Techniques & UML Class Diagrams

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

Software Engineering Lab Manual

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

Basic Structural Modeling. Copyright Joey Paquet,

Unified Modeling Language (UML)

Object-Oriented and Classical Software Engineering

Object Oriented Modeling

CS 1042 OBJECT ORIENTED ANALYSIS AND DESIGN. UNIT 1 INRODUCTION 1.1 An Overview of Object Oriented System and Development

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system)

Software Development Cycle. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language.

Architecture and the UML

UML: Unified Modeling Language

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Models are used for several purposes. We believe that some of the most important are:

OMG Modeling Glossary B

UNIT-4 Behavioral Diagrams

Interactions A link message

06. Analysis Modeling

OO Analysis and Design with UML 2 and UP

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

Unified Modeling Language (UML)

UML Diagrams MagicDraw UML Diagrams

THE UNIFIED MODELING LANGUAGE

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

UML REFERENCE SHEETS. 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site:

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Object-Oriented Software Engineering Practical Software Development using UML and Java

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Activity Diagram Written Date : September 02, 2016

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

TTool Training. I. Introduction to UML

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Chapter 2: Entity-Relationship Model

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

Pertemuan 8. Object Oriented Modeling and Design

Introduction to UML. Danang Wahyu utomo

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

UML Primer. -Elango Sundaram

Introduction to Software Engineering. 5. Modeling Objects and Classes

IS 0020 Program Design and Software Tools

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram

Practical UML - A Hands-On Introduction for Developers

COSC 3351 Software Design. An Introduction to UML (I)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: ,

Vidyalankar. T.Y. Diploma : Sem. VI [IF/CM] Object Oriented Modeling and Design Prelim Question Paper Solution

Advanced Software Engineering

Meltem Özturan

Unified Modeling Language

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

Chapter 2: The Object-Oriented Design Process

Practical UML : A Hands-On Introduction for Developers

Database Systems. A Practical Approach to Design, Implementation, and Management. Database Systems. Thomas Connolly Carolyn Begg

Engineering Design w/embedded Systems

Introduction to UML Dr. Rajivkumar S. Mente

ACS-3913 Ron McFadyen 1. UML Notation for Class diagrams Object diagrams

22/09/2012 INFO2110. Copyright Warning. Revision of class diagram. Overview. Purpose of class diagram. Generalization Relationship

How and Why to Use the Unified Modeling Language. among software components, architectural-based

Suggested answers are provided below. These answers are presented top-down, left to right.

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Object Oriented Modeling and Design

Appendix D: Mapping BPMN to BPD Profile

SE 1: Software Requirements Specification and Analysis

Analysis and Design with UML

CMPT 354 Database Systems I

CMPT 354 Database Systems I

Unified Modeling Language (UML) Class Diagram

The Unified Modeling Language. Asst.Prof.Dr. Supakit Nootyaskool IT-KMITL

Transcription:

Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 5: Unified Modeling Language

Goals Modeling. Unified modeling language. Class diagram. Use case diagram. Interaction diagrams. Sequence diagram. Collaboration diagram.

Goals (Con t) Statechart diagram. Activity diagram. Implementation diagrams. Component diagram. Deployment diagram.

Introduction A model is an abstract representation of a system, constructed to understand the system prior to building or modifying it. Most of the modeling techniques involve graphical languages.

Static or Dynamic Models Models can represent static or dynamic situations.

Static Model A static model can be viewed as a "snapshot" of a system's parameters at rest or at a specific point in time. The classes structure and their relationships to each other frozen in time are examples of static models.

Dynamic Model Is a collection of procedures or behaviors that, taken together, reflect the behavior of a system over time. For example, an order interacts with inventory to determine product availability.

Why Modeling? Turban cites the following advantages: Models make it easier to express complex ideas. For example, an architect builds a model to communicate ideas more easily to clients.

Advantages of Modeling (Con t) Models reduce complexity by separating those aspects that are unimportant from those that are important.

Advantages of Modeling (Con t) Models enhance learning. The cost of the modeling analysis is much lower than the cost of similar experimentation conducted with a real system. Manipulation of the model (changing variables) is much easier than manipulating a real system.

Modeling Key Ideas A model is rarely correct on the first try. Always seek the advice and criticism of others. Avoid excess model revisions, as they can distort the essence of your model. Let simplicity and elegance guide you through the process.

The Unified Modeling Language (UML) The unified modeling language (UML) is a language for specifying, constructing, visualizing, and documenting the software system and its components.

UML Diagrams The UML defines nine graphical diagrams: 1. Class diagram (static) 2. Use-case diagram 3. Behavior diagrams (dynamic): 3.1. Interaction diagram: 3.1.1. Sequence diagram 3.1.2. Collaboration diagram

UML Diagrams 3.2. Statechart diagram 3.3. Activity diagram 4. Implementation diagram: 4.1. Component diagram 4.2. Deployment diagram

UML Class Diagram, The UML class diagram is the main static analysis diagram. Class diagrams show the static structure of the model. Class diagram is collection of static modeling elements, such as classes and their relationships.

Class Notation In class notation, either or both the attributes and operation compartments may be suppressed. Boeing 737 Boeing 737 length: meter fuelcapacity: Gal doors: int Boeing 737 length: meter fuelcapacity: Gal doors: int lift () break ()

Class Interface Notation Class interface notation is used to describe the externally visible behavior of a class. For example, an operation with a public visibility. Person BankAccount

Binary Association Notation A binary association is drawn as a solid path connecting two classes or both ends may be connected to the same class. Company employer worksfor employee Person Person marriedto

Association Role A simple association the technical term for it is binary association is drawn as a solid line connecting two class symbols. The end of an association, where it connects to a class, shows the association role.

UML Association Notation In the UML, association is represented by an open arrow. BankAccount Person

Qualifier A qualifier is an association attribute. For example, a person object may be associated to a Bank object. An attribute of this association is the account#. The account# is the Bank qualifier of this account# * association.. 0..1 Person

Multiplicity Multiplicity specifies the range of allowable associated classes. It is given for roles within associations, parts within compositions, repetitions, and other purposes. lower bound.. upper bound.

OR Association An OR association indicates a situation in which only one of several potential associations may be substantiated at one time for any single object. Car {or} Person Company

Association Class An association class is an association that also has class properties. An association class is shown as a class symbol attached by a dashed line to an association path. Company employer employee Person WorksFor salary

N-Ary Association An n-ary association is an association among more than two classes. Since n-ary association is more difficult to understand, it is better to convert an n-ary association to binary Year association. semester * Class * class * student Student GradeBook grade exam lab

Aggregation Aggregation is a form of association. A hollow diamond is attached to the end of the path to indicate aggregation. Team 1 consistof * class Player

Composition Composition, also known as the a- part-of, is a form of aggregation with strong ownership to represent the component of a complex object. The UML notation for composition is a solid diamond at the end of a path. 1 Car 1 1 1 4 4,10 2,5 1 graphical composition Wheel Light Door Engine Car Wheel 4 Light 4,10 Door 2,5 Engine 1 4 4,10 2,5 1 Car Wheel Light Door Engine nested composition

Generalization Generalization is the relationship between a more general class and a more specific class. Generalization is displayed as directed line with a closed, hollow Separate target style Vehicle arrowhead at the superclass end. Bus Truck Car Shared target style BoeingAirplane Boeing 737 Boeing 757 Boeing 767

Use-Case Diagram The description of a use case defines what happens in the system when the use case is performed. In essence, the use-case model defines the outside (actors) and inside (use case) of the system's behavior.

Use-Case Diagram (Con t) A use-case diagram is a graph of actors, a set of use cases enclosed by a system boundary, communication (participation) associations between the actors and the use cases, and generalization among the use cases. Help Desk Making a call Take the call Client Do research Return a call Operator Support representative

Actor Notations The three representations of an actor are equivalent. << actor>> << actor>> Customer Customer Customer

Use-Case Diagram (Con t) These relationships are shown in a use-case diagram: Communication. Uses. Extends.

Behavior or Dynamic Diagrams Interaction diagrams: Sequence diagrams Collaboration diagrams Statechart diagrams Activity diagrams

UML Interaction Diagrams Interaction diagrams describe how groups of objects collaborate to get the job done. Interaction diagrams capture the behavior of a single use case, showing the pattern of interaction among objects.

UML Sequence Diagram Sequence diagrams are an easy and intuitive way of describing the behavior of a system. A sequence diagram shows an interaction arranged in a time Telephone Call sequence. Caller Exchange Receiver Talk OffHook DialTone Dial Number RingTone OffHooke OnHook

UML Collaboration Diagram A collaboration diagram represents a set of objects related in a particular context, and the exchange of their messages to achieve a desired outcome. Telephone Call Object Caller 1: OffHooke Exchange 4: RingTone 2: DialTone Message 3: Dial Number Receiver 5: OffHook Talk 6: OnHook

UML Collaboration Diagram (Con t) Telephone Call Object Caller Message 1.1: OffHooke Exchange 2.2: RingTone 2.1: DialTone 1.2: Dial Number Receiver Talk 3.1: OffHook 4.1: OnHook

UML Statechart Diagram A statechart diagram (also called a state diagram) shows the sequence of states that an object goes through during its life in response to outside stimuli and messages.

Idle lift receiver and get dial tone State Dialing Start entry and start dialog exit/ stop dial tone Dial entry and number.append(n) number.sivalid() digit(n) Substates

Complex Transition i j A k l B

UML Activity Diagram An activity diagram is a variation or special case of a state machine, in which the states are activities representing the performance of operations and the transitions are triggered by the completion of the operations.

UML Activity Diagram (Con t) Prepare document incoming s Index documents Make electronic file Complete Request Check data for life insurance Draw up contract Mortgage-deed Calculate data for construction mortgag e Pay provision insurance to agent Draw up insurance policy

UML Activity Decision Calculate payroll [hours < =40] Normal payroll [hours > 40] Overtime, get authoriation

Swimlanes. office clerk InsuranceAgent Loanofficer Prepare incoming documents Make electronic file Index documents Complete request Check data for life insurance Draw up concept mortgage-deed Calculate data for construction mortgage Pay provision to insurance agent Draw up insurance policy

Implementation diagrams These diagrams show the implementation phase of systems development. Such as the source code structure and the run-time implementation structure.

Implementation diagrams (Con t) There are two types of implementation diagrams: Component diagrams show the structure of the code itself. Deployment diagrams show the structure of the run-time system.

Component diagrams Access Update U I

Deployment Diagram Node 1: AdminServer Access Update Node 2: John PC U I

Model Management: Package A package is a grouping of model elements. Packages themselves may contain other packages. A package may contain both subordinate packages and ordinary model elements.

A Package and Its Contents GradeNoteBook Year semester * Class * class * student Student GradeBook grade exam lab

A Package and Its Dependencies Customer Business Model Clients Bank Account Checking Saving

Model Constraints and Comments Constraints are assumptions or relationships among model elements specifying conditions and propositions that must be maintained as true otherwise the system described by the model would be invalid. * WorkFor * Person {subset} 1 ManagerOf 1 Department

Note A note is a graphic symbol containing textual information; it also could contain embedded images. Person employee employer Company Static models & revision levels released yesterday Represents an incorporated entity

Stereotype Stereotypes represent a built-in extendibility mechanism of the UML. User-defined extensions of the UML are enabled through the use of stereotypes and constraints. Flow Copy NumberOfCopy makecopy Flow Copy NumberOfCopy makecopy Copy NumberOfCopy Copy makecopy

UML Meta-Model A meta-model is a model of modeling elements. The purpose of the UML metamodel is to provide a single, common, and definitive statement of the syntax and semantics of the elements of the UML.

UML Meta-Model (Con t) Relationship Generalization Association 1 Association Role

Summary A model is a simplified representation of reality. The unified modeling language (UML) was developed by Booch, Jacobson, and Rumbaugh and encompasses the unification of their modeling notations.

Summary (Con t) UML consists of the following diagrams: Class diagram. Use case diagram. Sequence diagram. Collaboration diagram.

Summary (Con t) Statechart diagram. Activity diagram. Component diagram. Deployment diagram.