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

Similar documents
Software Service Engineering

ADTs. An ADT module is a module that exports a type, along with the operations needed to access and manipulate objects of that type.

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

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

UML Primer. -Elango Sundaram

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

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram.

Chapter 3 System Models

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Object Oriented Modeling

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

1. Software Systems Complexity, OO Paradigm, UML

Geog 469 GIS Workshop. Enterprise Information System Architecture

Unified Modeling Language (UML)

Introduction to UML. Danang Wahyu utomo

Object-Oriented Analysis and Design Using UML

Unified Modeling Language (UML)

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

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

Object-Oriented Analysis and Design Using UML (OO-226)

History of object-oriented approaches

Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks

administrivia today UML start design patterns Tuesday, September 28, 2010

Pertemuan 8. Object Oriented Modeling and Design

Unified Modeling Language (UML)

UML: Unified Modeling Language

3.0 Object-Oriented Modeling Using UML

UML Views of a System

From Analysis to Design. LTOOD/OOAD Verified Software Systems

Introduction to Software Engineering. 5. Modeling Objects and Classes

Representing System Architecture

Modelling with Classes. CITS1220 Software Engineering

SEEM4570 System Design and Implementation Lecture 11 UML

MechEng SE3 Lecture 7 Domain Modelling

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

IS 0020 Program Design and Software Tools

SE 1: Software Requirements Specification and Analysis

LABORATORY 1 REVISION

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

VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture

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

Unit Wise Questions. Unit-1 Concepts

Object Oriented System Development

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Architecture and the UML

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I

Week 7. Statically-typed OO languages: C++ Closer look at subtyping

SEEM4570 System Design and Implementation. Lecture 10 UML

Darshan Institute of Engineering & Technology for Diploma Studies

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading:

Requirements Engineering

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

OO Analysis and Design with UML 2 and UP

Object-Oriented Systems Analysis and Design Using UML

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

OO System Models Static Views

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation

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

OOPD UNIT V OBJECT MODELLING USING UML OVERVIEW OF BASIC OBJECT-ORIENTATION CONCEPTS

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Software Life-Cycle Models

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

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

Basic Structural Modeling. Copyright Joey Paquet,

HAS-A Relationship. Association is a relationship where all objects have their own lifecycle and there is no owner.

Unified Modeling Language (UML) Class Diagram

Introduction to Software Engineering. 6. Modeling Behaviour

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

Object-Oriented Systems Development: Using the Unified Modeling Language

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

OO Requirements to OO design. Csaba Veres Alan M. Davis (1995), Colorado

Software Architectures. Lecture 6 (part 1)

TTool Training. I. Introduction to UML

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

CSE 308. UML Overview Use Case Diagrams. Reference. Class diagrams. Session 6 UML Intro/Use cases. Robert Kelly, B. Bruegge,

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

OMG Modeling Glossary B

UNIT-I Introduction of Object Oriented Modeling

Systems Analysis & Design

Introduction to Software Engineering. 5. Modeling Objects and Classes

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

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

CSCU9T4: Managing Information

Software Engineering from a

Question Sheet There are a number of criticisms to UML. List a number of these criticisms.

CIS 771: Software Specifications

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

Topic 3 Unified Modeling Language UML. Objective: Student will use UML to represent relationshiops between objects, its structure and dynamics.

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

UML. By Somenath Mukhopadhyay.

Practical UML - A Hands-On Introduction for Developers

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011

Software Design and Implementation. Example Architecture KIWC

Analysis and Design with UML

OO Techniques & UML Class Diagrams

Transcription:

UML Modeling

UML diagrams UML (Unified Modeling Language) is a general purpose visual modeling language that provides different types of diagrammatic techniques and notations to specify, visualize, analyze, construct, and document the artifacts of a software system. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc. UML diagrams are used to understand, design, browse, configure, maintain, and control information about software system. UML is intended for use with all development methods, lifecycle stages, application domains, and media. In these slides we cover use-case diagram, sequence diagram, collaborative diagram, class diagram, and component diagram from UML.

UML History UML was developed in an effort to unify and simplify a number of OO development methods that use popular OO languages. Simula 67 was the first OO language Smalltalk was introduced in early 1980s followed by Objective C, C++, Eiffle, CLOS, Java. First OO development method was Shlaer-88, then Yourdon 91, and Booch 91 Unification effort: UML 1995 by Booch, Rumbaugh, Jacobson OMG 1996 proposed a standard for OO modeling

Modeling Software System What is model? A model captures the important aspects of the artifact being modeled from a certain point of view, and simplifies or omits the rest. What are models for? To capture and precisely state requirements and domain knowledge so that all stakeholders may understand and argue on them. To think about the design of a system To capture design decisions To organize, find, filter, retrieve, examine, and edit information about large systems.

UML Views Views are the result of applying separation of concern on the development process in order to classify the knowledge about the system into more understandable and manageable forms. In the Zachman and 4+1 view models, the views are orthogonal, i.e., each view consists of different set of concepts. There is no sharp line between different views in UML. A view is a subset of UML modeling constructs and concepts that represents one aspect of a system that is also intuitive. Three categories: Structural classification: things and in-between relations Static view, use case view, implementation view Dynamic behavior: behavior of the system over time State machine view, activity view, interaction view Model management: organization of the models themselves Extensibility: to constrain or describe attributes of the views 5

Framework Data view Function view Network view General scope (Ballpark) List of entities important to business List of functions the business performs List of locations the business operates Owner s perspective Entity-relation diagram Function flow diagram Logistic network Designer s perspective (Architect s plan) Data model Data flow diagram Distributed system architecture Developer s perspective (Contractor s plan) Data design Structure chart System architecture Programmer s perspective (Builder s product) Data description Program Network architecture Ch. 4 6

UML Models

UML use-case diagrams Defines a global view of the actors involved in a system and the actions that the system performs, which in turn provides an observable result that is of value to the actors. Partitions the overall functionality of the system into transactions with respect to the actor and illustrates how actors interact with them. Actors define different roles such as: people, computer systems, environment borrow book customer return book library update librarian

Use case diagram notations Association: the communication path between an actor and a use case that the actor participates in Extend: the insertion of additional behavior into a base use case that extends its operation. Generalization: relation between a general use case and a more specific use case that inherits from it. Include: the insertion of additional behavior into a base use case that describes the details of the base use case. Actor Association Base use case Place order <<extent>> Request catalog Supply Customer data <<include>> Inclusion use case <<include>> Order produce <<include>> Pay cash Arrange payment Generalization Extension use case Parent use case Pay by credit Child use case

UML sequence diagram Describes how different objects in the system interact by exchanging messages Provides a dynamic and temporal view Emphasizes on time sequence of message exchange Customer Librarian Catalogue member card + book request membership OK book request time book available book borrowed

Sequence Diagram

UML sequence diagram example: Ticket selling box office

UML collaboration diagrams Represents object interactions and their order Equivalent to sequence diagrams Sequence diagram is intended for time ordering considerations, whereas collaboration is emphasizes on the structural aspect of the system. 1: member card + book request 2: membership OK 3: book request Customer Librarian Catalogue 5: book borrowed 4: book available

UML collaborative diagram example: Ticket selling box office

Classes of FSMs Deterministic/nondeterministic FSMs as recognizers introduce final states FSMs as transducers introduce set of outputs...

FSMs as recognizers b e g i q q q q 1 2 3 4 n q 0 q f e q 5 6 n q d q f is a final state

FSMs as recognizers <digit> <letter> q <letter> q q 0 1 _ 2 <letter> <digit> Legend: <letter> <digit> is an abbreviation for a set of arrows labeled a, b,..., z, A,..., Z, respectively is an abbreviation for a set of arrows labeled 0, 1,..., 9, respectively

Finite state machines (FSMs) Can specify control flow aspects Defined as a finite set of states, Q; a finite set of inputs, I; a transition function d : Q x I Q q 1 (d can be a partial function) a a q 0 b q 2 c b q 3

Statechart diagram State machine view Shows the history of a ticket to a performance

UML Class Diagram

UML representation of inheritance EMPLOYEE ADMINISTRATIVE_STAFF TECHNICAL_STAFF

UML associations Associations are relations that the implementation is required to support Can have multiplicity constraints TECHNICAL _STAFF * 1 project_member PROJECT MANAGER 1 manages 1..*

Aggregation Defines a PART_OF relation Differs from IS_COMPOSED_OF Here TRIANGLE has its own methods It implicitly uses POINT to define its data attributes TRIANGLE 1 3 POINT

Ticket Selling Booth Class Diagram

Inheritance A way of building software incrementally A subclass defines a subtype subtype is substitutable for parent type a: A a := obj B a := obj C EMPLOYEE A op(x,y) At run-time a.op(x,y) is either from B or C Polymorphism ADMINISTRATIVE_STAFF a reference-variable of type A can refer to an object of type B if B is a subclass of A B op(x,y) TECHNICAL_STAFF C op(x,y) Dynamic binding the method invoked through a reference depends on the type of the object associated with the reference at runtime

Component Diagram

RIM: Message Control Classes