Architecture and the UML

Similar documents
Analysis and Design with UML

IS 0020 Program Design and Software Tools

What is use case modeling? 10 - UML Overview. Use-Case diagrams CMPSCI520/620. Rick Adrion 2003 (except where noted) 1

Basic Structural Modeling. Copyright Joey Paquet,

Unified Modeling Language (UML) Class Diagram

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

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

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

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

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

UML Tutorial. Unified Modeling Language UML Tutorial

Ch t 8 Chapter 8. System Models

Introduction to UML. Danang Wahyu utomo

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

Object-Oriented Systems Analysis and Design Using UML

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development

Index. : (colon), 80 <<>> (guillemets), 34, 56

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

Software Service Engineering

Interactions A link message

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

OMG Modeling Glossary B

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

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

Unified Modeling Language (UML) and Modeling

Lecture 17: (Architecture V)

Software Engineering Lab Manual

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

Meltem Özturan

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

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

Unified Modeling Language (UML)

Advanced Software Engineering

UML UNIFIED MODELLING LANGUAGE EXEMPLIFIED ON BLACKJACK. Object Oriented Programming (Samy Zafrany)

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

UML Primer. -Elango Sundaram

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

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

Unified Modeling Language (UML)

CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M)

Object-Oriented Design and Modeling Using the UML

Object-Oriented and Classical Software Engineering

Object Oriented Modeling

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

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

Software Design Methodologies and Testing. (Subject Code: ) (Class: BE Computer Engineering) 2012 Pattern

Progress Report. Object-Oriented Software Development: Requirements elicitation and analysis. Object-oriented analysis, design, implementation

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

Practical UML - A Hands-On Introduction for Developers

Object-Oriented Systems Development: Using the Unified Modeling Language

Designing Component-Based Architectures with Rational Rose RealTime

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

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

Practical UML : A Hands-On Introduction for Developers

Introducing the UML Eng. Mohammed T. Abo Alroos

Pertemuan 8. Object Oriented Modeling and Design

Object Oriented Analysis and Design - Part2(Design)

APPENDIX M INTRODUCTION TO THE UML

LABORATORY 1 REVISION

UNIT 5 - UML STATE DIAGRAMS AND MODELING

Object-Oriented Design

Business Modelling. PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e. Early phase of development Inputs: Activities: informal specification

Allenhouse Institute of Technology (UPTU Code : 505) OOT Notes By Hammad Lari for B.Tech CSE V th Sem

Chapter 8: Enhanced ER Model

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

UNIT-4 Behavioral Diagrams

12 Tutorial on UML. TIMe TIMe Electronic Textbook

Unified Modeling Language

Accessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis)

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

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

Object-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered

Unit II. Advanced Structural Modeling

06. Analysis Modeling

user.book Page 45 Friday, April 8, :05 AM Part 2 BASIC STRUCTURAL MODELING

Chapter 5 System modeling

Solved Question Paper June 2017

SE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example.

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 1

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

CHAPTER 9 DESIGN ENGINEERING. Overview

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology

Introduction to UML Dr. Rajivkumar S. Mente

Lecture Notes. Structured Systems Analysis

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

Introduction to Software Engineering. 5. Modeling Objects and Classes

Chapter 3 Research Method

OO Analysis and Design with UML 2 and UP

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

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

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

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

System models Abstract descriptions of systems whose requirements are being analysed. System modelling. Structured methods

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

Software Development Methodologies

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015

UML Unified Modeling Language

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.

Transcription:

Architecture and the UML

Models, Views, and A model is a complete description of a system from a particular perspective Use Case Use Case Sequence Use Case Use Case Use Case State State Class State State Object Scenario Scenario Collaboration Models State State Component Scenario Scenario Statechart Activity Component Component Deployment

Use Case Model Use Case Views Analysis Views Design Views Depl. Views Impl. Views Test Views Use Case Class Component Deployment Sequence Collaboration Statechart Activity Object

Analysis & Design Model Use Case Views Model Analysis Views Model Design Views Model Depl. Views Model Impl. Views Model Test Views Model Use Case Class Component Deployment Sequence Collaboration Statechart Activity Object Incl. subsystems and packages

Deployment and Implementation Model Use Case Use Case Views Model Class Object Analysis Views Model Design Views Model Depl. Views Model Impl. Views Model Test Views Model Component Deployment Sequence Collaboration Statechart Activity Incl. active classes and components

Test Model Use Case Views Model Analysis Views Model Use Case Class Component Object Design Views Model Depl. Views Model Impl. Views Model Test Views Model Test model refers to all other models and uses corresponding diagrams Deployment Sequence Collaboration Statechart Activity

Use case - functions of a system from the user's point of view Sequence diagrams -illustrates object interactions arranged in a time sequence. Class diagrams -static structure in terms of classes and relationships Activity diagrams -behavior of an operation as a set of actions State chart diagrams -behavior of a class in terms of states Collaboration diagrams -spatial representation of objects, links, and interactions Object diagrams -objects and their relationships and correspond to (simplified collaboration diagrams that do not represent message broadcasts) Component diagrams -physical components of an application Deployment diagrams -deployment of components on particular pieces of hardware

Actors An actor is someone or some thing that must interact with the system under development Buyerr seller Tranc coord Security system

Use Cases A use case is a pattern of behavior the system exhibits - Each use case is a sequence of related transactions performed by an actor and the system in a dialogue Actors are examined to determine their needs - Buyer post an rfq - seller respond to rfq - Data validator validate - Dep manager -- deploy Principal actors Secondary actors External hardware Other systems post an rfq Validate deploy

Use Cases A flow of events document is created for each use cases - Written from an actor point of view Details what the system must provide to the actor when the use cases is executed Typical contents - How the use case starts and ends - Normal flow of events - Alternate flow of events - Exceptional flow of events

Uses and Extends Use Case Relationships As the use cases are documented, other use case relationships may be discovered - A uses relationship shows behavior that is common to one or more use cases - An extends relationship shows optional behavior - Communicates shows specific functions Post an rfq <<uses>> <<uses>> Logon validation validate

Use Case Realizations The use case diagram presents an outside view of the system Interaction diagrams describe how use cases are realized as interactions among societies of objects Two types of interaction diagrams - Sequence diagrams - Collaboration diagrams

Sequence Diagram A sequence diagram displays object interactions arranged in a time sequence : Buyer registration form registration manager profile section 1 1: fill in info 2: submit 3: add user 4: add interests 6: add info 5: save information 7: add

Class A class diagram shows the existence of classes and their relationships in the logical view of a system UML modeling elements in class diagrams - Classes and their structure and behavior - Association, aggregation, dependency, and inheritance relationships - Multiplicity and navigation indicators - Role names

Classes A class is a collection of objects with common structure, common behavior, common relationships and common semantics Classes are found by examining the objects in sequence and collaboration diagram A class is drawn as a rectangle with three compartments Classes should be named using the vocabulary of the domain - Naming standards should be created - e.g., all classes are singular nouns starting with a capital letter

Classes 1. Attributes and Operations 2. Stereotype 3. Visibility of Attributes and Operations «signal» transaction within a state machine. «interface» description of visible operations. «metaclass»the class of a class «utility»a class reduced to the concept of module

Extensibility Mechanisms Stereotype Tagged value Constraint

Common Elements

Common Mechanisms

Data Types Packages

Extending the UML Stereotypes can be used to extend the UML notational elements Stereotypes may be used to classify and extend associations, inheritance relationships, classes, and components Examples: - Class stereotypes: boundary, control, entity, utility, exception - Inheritance stereotypes: uses and extends - Component stereotypes: subsystem

Classes Registration Form payment Registration Service manager Buyer Tranc coord Service Offering

Operations The behavior of a class is represented by its operations Operations may be found by examining interaction diagrams registration form registration manager RegistrationManager 3: add member count =count +1 Add member()

Attributes The structure of a class is represented by its attributes Attributes may be found by examining class definitions, the problem requirements, and by applying domain knowledge Each User has a name, location, interests, and authentification user name location interests

Relationships Relationships provide a pathway for communication between objects Sequence and/or collaboration diagrams are examined to determine what links between objects need to exist to accomplish the behavior - - if two objects need to talk there must be a link between them Three types of relationships are: - Association - Aggregation - Dependency

Relationships An association is a bi-directional connection between classes An aggregation is a stronger form of relationship where the relationship is between a whole and its parts A dependency relationship is a weaker form of relationship showing a relationship between a client and a supplier where the client does not have semantic knowledge of the supplier

Relationships Association Role(instances) Multiplicity Navigability Aggregation Changeability Ordering

Relationships

Finding Relationships Relationships are discovered by examining interaction diagrams - If two objects must talk there must be a pathway for communication Registration Manager User info: manager RegistrationManager 3: add user user

Registration Form payment Registration add(profile,b/s/interests) Buyer major Service manager name Rule setting open() service Tranc coord validate Service Offering purpose open() category(product Info)

Multiplicity and Navigation Multiplicity defines how many objects participate in a relationships - Multiplicity is the number of instances of one class related to ONE instance of the other class - For each association and aggregation, there are two multiplicity decisions to make: one for each end of the relationship Although associations and aggregations are bidirectional by default, it is often desirable to restrict navigation to one direction If navigation is restricted, an arrowhead is added to indicate the direction of the navigation

Multiplicity and Navigation Registration Form payment 0..* 1 Registration add(profile,b/s/interests) Buyer major 1 0..* Service manager name Rule setting open() service 3..10 1 Tranc coord validate 1 4 0..4 1..* Service Offering purpose open() category(product Info)

Inheritance Inheritance is a relationships between a superclass and its subclasses There are two ways to find inheritance: - Generalization - Specialization Common attributes, operations, and/or relationships are shown at the highest applicable level in the hierarchy

Inheritance Registration Form payment User Name address Registration add(profile,b/s/interests) Buyer major Service manager name Rule setting open() service Tranc coord validate Service Offering purpose open() category(product Info)

The State of an class A state chart diagram shows - The life history of a given class - The events that cause a transition from one state to another - The actions that result from a state change State transition diagrams are created for objects with significant dynamic behavior

State Chart Diagram Action associated to the state entry transition (Op1) State entry action (Op2) Activity within the state (Op3) Action associated to internal events (Op4) State exit action (Op5) Action associated to the state exit transition

State Transition Diagram Initialization do: Initialize document Cancel Canceled do: Notify registered users Add document / change flag Set count = N Cancel Cancel Add document validated t exit: change flag Closed do: Finalize course close

Collaboration Diagram Collaboration diagrams illustrate interactions between objects, using a static spatial structure that facilitates the illustration of the collaboration of a group of objects Extension of object diagrams. context of a group of objects interaction between these objects

Activity Diagram An activity diagram is a variant of statechart diagrams organized according to actions, and mainly targeted towards representing the internal behavior of a method

Component diagrams describe software components and their relationships within the implementation environment Components represent all kinds of elements that pertain to the piecing together of software applications. Among other things, they may be simple files, or libraries loaded dynamically. Processes Processes are objects that have their own control flow (or thread), and as such are special kinds of active objects. Processes may be contained within components Subsystems Component Diagram

Deployment Diagram Deployment diagrams show the physical layout of the various hardware components (nodes) that compose a system, as well as the distribution of executable programs on this hardware.

Modeling Elements Structural elements - class, interface, collaboration, use case, active class, component, node Behavioral elements - interaction, state machine Grouping elements - package, subsystem Other elements - note