Unified Modeling (Part I) Overview of UML & Modeling

Slides:



Advertisements
Similar presentations
1 Aspects of IEEE P1471 Viewpoints in Unified Modeling Language (UML) Manzur Ashraf, BRAC University Humayra Binte Ali, Dhaka University Md.Mahfuz Ashraf,
Advertisements

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Unified Modeling Language
UML: An Introduction.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 16 Object Oriented Design I.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
1 Introduction to UML DIAGRAMS & CLASS DIAGRAM Chapter 7,8 主講人 : 許勝杰
Principles of Object Technology Module 1: Principles of Modeling.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML - Development Process 1 Software Development Process Using UML (2)
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
An Introduction to Software Architecture
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
Unified Modeling Language User Guide Section 1—Getting Started.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 UML Distilled 3e by Martin Fowler Chapter 1 Introduction to UML.
Accelerating Java Development with the UML Greg Schottland General Manager, Application Development Tools Embarcadero Technologies,Inc.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
TAL7011 – Lecture 4 UML for Architecture Modeling.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Unit I/UML/MCA/NIEVenkata Ratnam K1 Introducing the UML and UML Diagrams.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
Introduction to OOAD and the UML
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Basic Characteristics of Object-Oriented Systems
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
UML (Unified Modeling Language)
Introduction to OOAD and UML
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
M. ARIFUR RAHMAN OBJECT ORIENTED ANALYSIS & DESIGN 1.0 System Modeling.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
Introduction to UML.
An Introduction to Software Architecture
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
Presentation transcript:

Unified Modeling (Part I) Overview of UML & Modeling Elizabeth Bigelow Carnegie Mellon University

Today’s Lecture Modeling Software Architecture Introducing UML Software Development Life Cycle

Modeling Why model? Kinds of models Why is it important? Principles of Modeling Object-Oriented Modeling

Why Model? To communicate the desired structure and behavior of a system To visualize and control the architecture To better understand a system and manage risk To reason about alternatives

Kinds of Models Iconic (example: model airplane) Analogic (example: electrical network modeling the flow of liquid through pipes; some properties, some structure) Analytic (example: set of differential equations claiming to describe how prices change)

What is a model? A simplification of reality (abstraction)-- not the truth, the whole truth and nothing but the truth… At the same time, we choose to make certain parts rigorous

Why is Modeling Important? We cannot visualize a system in its entirety--limits to the human ability to understand complexity

Principles of Modeling Choice of model has profound influence on how a problem is attacked and how solution is shaped Every model may be expressed at different levels of precision The best models are connected to reality No single model is sufficient

The hard part Many models of the same thing are nearly independent (at least in preparation) The hard part: fitting them all together

Object Oriented Modeling The primary strength of object oriented modeling is helping to pull the various models together Traditional methods algorithmically based--tend to be brittle, hard to change Does not mean that implementation must be object oriented, or even in an object oriented language

Software Architecture Shaw & Garlan: Software Architecture is the system level organization of components (units of code) and connectors (method invocation, RPC, network protocols, etc.) Another definition is that software architecture is the highest level of system organization in which one can discern or impose order.

Architectural Decisions Organization of a software system Selection of structural elements and their interfaces by which the system is composed Behavior (collaboration among elements) Composition into progressively larger subsystems Architectural style (patterns, pipe-filter, functional decomposition, object-oriented, main line procedure call, event system)

Modeling a System’s Architecture Design View Implementation View Use Case View Process View Deployment View

Design View Classes, interfaces collaborations Services that should be provided to end users Static aspects captured in class diagrams and object diagrams Dynamic aspects are captured in interaction diagrams, statecharts, and activity diagrams

Process View Threads and processes that form a system’s concurrency and synchronization mechanisms Addresses performance, scalability and throughput of the system (focus on active classes)

Implementation View Components and files used to assemble and realize the physical system Diagrams: component diagrams (static) and interaction diagrams, statechart diagrams and activity diagrams

Deployment View Hardware topology on which the system executes Distribution, deliver and installation of the parts that make up the physical system Deployment diagrams (static) and interaction, statechart, and activity diagrams (dynamic)

Use Case View Use cases describe the system as seen by its end users, analysts and testers Static aspects are captured in use case diagrams and dynamic are captured in interaction diagrams, statechart diagrams and activity diagrams

UML Conceptual Model Building blocks--things, relationships and diagrams Rules on how the blocks may be put together (names, scope, visibility, integrity, execution) Common mechanisms (specifications, adornments, common divisions, extensibility mechanisms)

Classes and Objects A class is a set of objects that share the same attributes, relationships and semantics. An object is an instance of a class--an entity with a well defined boundary and identity that encapsulates state and behavior

Key Abstractions Structural Things (class, interface) Behavioral Things (dynamic, interaction-messages, state machines) Grouping Things (packages) Annotational Things (comments, constraints) Relationships (dependency, association, generalization, realization

Diagrams Class diagrams Object diagram Use case diagram Sequence diagram Collaboration diagram Statechart diagram Activity diagram Component diagram Deployment diagram

Examples Pilot Wright Flyer 1 Flies * Take Off () Land () Turn() Name Weight Increase Throttle() Brake () Decrease Throttle() 1 1 1 1 2 2 Wing Canard Rudder Engine

High Level Statechart for Wright Flyer Taking Off Flying Idle (Parked) Landing

<<extends>> Wright Flyer Starts Engine Flexes Wing Orville Releases Catapult Says Start Engine Wilbur USE CASE DIAGRAM

The Lifecycle According to Booch, Rumbaugh and Jacobson Inception Business Modeling & Requirements Elaboration Analysis, Design, Implementation, Test Construction Transition Implementation, Test, Deployment

Next Time Basic Structural Modeling