Representing System Architecture

Similar documents
UML Extension for Objectory Process for Software Engineering

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

Software Architecture and the UML

OO Analysis and Design with UML 2 and UP

Rational Software White paper

CISC 322 Software Architecture

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

TTool Training. I. Introduction to UML

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

Software Engineering from a

3.0 Object-Oriented Modeling Using UML

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

An Introduction to the UML and the Unified Process

Software Development Methodologies

The Unified Modeling Language User Guide

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

UNIT-I Introduction of Object Oriented Modeling

Practical Model-Driven Development with the IBM Software Development Platform

LECTURE NOTES ON OBJECT ORIENTED ANALYSIS AND DESIGN PATTERNS. III B. Tech II Semester (R-16) Ms. N Shalini. Assistant Professor

UML 2.0 State Machines

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

UML Summary Overview. Contents. The UML Summary provides an introduction to the UML, discussing its motivation and history.

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

OBJECT ORIENTED ANALYSIS AND DESIGN

Agenda. Why Model. Why Model? History of OO Modeling Methodologies Object Modeling Technique (OMT) Unified Modeling Language (UML)

UML Proposal to the Object Management Group

Software Service Engineering

UML Unified Modeling Language

UML - Unified Modeling Language

DIGITAL NOTES ON OBJECT ORIENTED ANALYSIS AND DESIGN B.TECH III YEAR - II SEM ( )

Unified Modeling Language (UML)

i219 Software Design Methodology 1. Overview of software design methodology Kazuhiro Ogata (JAIST) Outline of lecture

Programming Language Constructs as Basis for Software Architectures. Stefan Resmerita, WS2015

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:

Unified Modelling Language

Object Oriented System Development

UML Summary version March1997

References: Jacquie Barker,Beginning Java Objects; Martin Fowler,UML Distilled, 9/25/ UML

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

Model Driven Development Unified Modeling Language (UML)

Programming Language Constructs as Basis for Software Architectures

Course 3 7 March

02291: System Integration

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

Notation Standards for TOGAF:

Requirements Analysis and Negotiation

References: Jacquie Barker,Beginning Java Objects; Martin Fowler,UML Distilled, 1/13/ UML

UML Design Based Testing

White Paper. Rose PowerBuilder Link

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

Lecture 13 Introduction to Software Architecture

Introduction to Software Engineering. 5. Modeling Objects and Classes

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

Basic Structural Modeling. Copyright Joey Paquet,

Importance of Rational ROSE in Software Development Process Models

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

Research Review on Basic Principles of Unified Modelling Language

Introduction to UML Dr. Rajivkumar S. Mente

What's New in UML 2.0

Unified Modeling Language

1 UML Overview. Brief Summary of UML. This chapter is a quick overview of UML and what it is good for.

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

Object-Oriented Systems Development: Using the Unified Modeling Language

SYSTEM MODELING Introduction

Discover, Relate, Model, and Integrate Data Assets with Rational Data Architect

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

Index. Add Diagram > Sequence Diagram command,

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

UML big picture. Perdita Stevens. School of Informatics University of Edinburgh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

Software Development. Modular Design and Algorithm Analysis

Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p.

1 OBJECT-ORIENTED ANALYSIS

Object-Oriented Design

INTRODUCING THE UML. Chapter 2

UML Meets CORBA Design of a fault-tolerant distributed system

Lecture 2: Software Engineering (a review)

Analysis and Design with UML

Pattern for Structuring UML-Compatible Software Project Repositories

Optimizing Data Integration Solutions by Customizing the IBM InfoSphere Information Server Deployment Architecture IBM Redbooks Solution Guide

What is a Model? Copyright hebley & Associates

Published in ACM Software Engineering Notes, 28(2), March 2003

Advantages of UML for Multidimensional Modeling

Software Engineering

Objectives. UML Extension Mechanisms. What is UML? Is the UML enough? UML Extension Mechanisms. Specifications. By Jasmine Farhad

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

A Conceptual Model of the UML

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

Roles of Developers as Part of a Software Process Model

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

UML specification of distributed system environments

Designing Component-Based Architectures with Rational Rose RealTime

Approaches of using UML for Embedded System Design

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

Plan. Modelling and design. What is a model? Note on spelling

1 Reference Material for these slides is taken from many UML reference books. However, the two I most often used are: UML Explained, by Kendall Scott,

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Applying UML to Design an Inter-Domain Service Management Application

02291: System Integration

Modeling Enterprise Web Applications

Transcription:

Representing System Architecture Logical View Implementation View End-user Functionality Programmers Software management Use Case View System integrators Performance Scalability Throughput Process View Conceptual Deployment View Physical System engineering System topology Delivery, installation Communication

How many views? Simplified models to fit the context Not all systems require all views: - Single processor: drop deployment view - Single process: drop process view - Very Small program: drop implementation view Adding views: - Data view, security view

The Value of the UML Is an open standard Supports the entire software development lifecycle Supports diverse applications areas Is based on experience and needs of the user community Supported by many tools

Creating the UML public feedback OMG Acceptance, Nov 1997 Final submission to OMG, Sep 97 First submission to OMG, Jan 97 UML partners UML 1.0 UML 1.1 UML 1.3 Web - June 96 UML 0.9 OOPSLA 95 Unified Method 0.8 Other methods Booch method OMT OOSE

UML Partners Rational Software Corporation Hewlett-Packard I-Logix IBM ICON Computing Intellicorp MCI Systemhouse Microsoft ObjecTime Oracle Platinum Technology Taskon Texas Instruments/Sterling Software Unisys

Contributions to the UML Rumbaugh OMT Booch Booch method Meyer Before and after conditions Harel Statecharts Gamma, et al Frameworks and patterns, HP Fusion Operation descriptions and message numbering Embley Singleton classes and high-level view Jacobson OOSE Shlaer - Mellor Object lifecycles Odell Classification Wirfs-Brock Responsibilities

Overview of the UML The UML is a language for - visualizing - specifying - constructing - documenting the artifacts of a software-intensive system

Overview of the UML Modeling elements Relationships Extensibility Mechanisms

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

Relationships Dependency Association Generalization Realization

Extensibility Mechanisms Stereotype Tagged value Constraint

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

A diagram is a view into a model - Presented from the aspect of a particular stakeholder - Provides a partial representation of the system - Is semantically consistent with other views In the UML, there are nine standard diagrams - Static views: use case, class, object, component, deployment - Dynamic views: sequence, collaboration, statechart, activity

Use Case Diagram Captures system functionality as seen by users

Use Case Diagram Captures system functionality as seen by users Built in early stages of development Purpose - Specify the context of a system - Capture the requirements of a system - Validate a system s architecture - Drive implementation and generate test cases Developed by analysts and domain experts

Class Diagram Captures the vocabulary of a system

Class Diagram Captures the vocabulary of a system Built and refined throughout development Purpose - Name and model concepts in the system - Specify collaborations - Specify logical database schemas Developed by analysts, designers, and implementers

Object Diagram Captures instances and links

Object Diagram Shows instances and links Built during analysis and design Purpose - Illustrate data/object structures - Specify snapshots Developed by analysts, designers, and implementers

Component Diagram Captures the physical structure of the implementation

Component Diagram Captures the physical structure of the implementation Built as part of architectural specification Purpose - Organize source code - Construct an executable release - Specify a physical database Developed by architects and programmers

Deployment Diagram Captures the topology of a system s hardware

Deployment Diagram Captures the topology of a system s hardware Built as part of architectural specification Purpose - Specify the distribution of components - Identify performance bottlenecks Developed by architects, networking engineers, and system engineers

Sequence Diagram Captures dynamic behavior (time-oriented)

Sequence Diagram Captures dynamic behavior (time-oriented) Purpose - Model flow of control - Illustrate typical scenarios

Collaboration Diagram Captures dynamic behavior (messageoriented)

Collaboration Diagram Captures dynamic behavior (messageoriented) Purpose - Model flow of control - Illustrate coordination of object structure and control

Statechart Diagram Captures dynamic behavior (eventoriented)

Statechart Diagram Captures dynamic behavior (eventoriented) Purpose - Model object lifecycle - Model reactive objects (user interfaces, devices, etc.)

Activity Diagram Captures dynamic behavior (activity-oriented)

Activity Diagram Captures dynamic behavior (activity-oriented) Purpose - Model business workflows - Model operations

Architecture and the UML Design View Implementation View Classes, interfaces, collaborations Use cases Use Case View Components Process View Deployment View Active classes Nodes Organization Package, subsystem Dynamics Interaction State machine