What is a Model? Copyright hebley & Associates

Similar documents
From designing to coding

Mapping Designs to Code

OO Design2. Design Artifacts

COMP 6471 Software Design Methodologies

Software Modeling & Analysis

Responsibilities. Using several specific design principles to guide OO design decisions.

References: Applying UML and patterns Craig Larman

Designing for Visibility & Mapping to Code CSSE 574: Session 4, Part 3

Constantinos Constantinides Computer Science and Software Engineering Concordia University Montreal, Canada

SE203b: OO Design for Software Engineers. Office: TEB349, Ext

Software Service Engineering

Some Software Engineering Techniques (Class Diagrams and Pair Programming)

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

Chapter 3: Object Oriented Design

Download FirstOODesignPractice from SVN. A Software Engineering Technique: (Class Diagrams)

Assigning Responsibilities (Patterns of Responsibility Assignment Principles: GRASP)

Unified Modeling Language (UML)

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

ADVANCED SOFTWARE DESIGN LECTURE 7 GRASP

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

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D

Information Expert (or Expert)

Object Oriented Modeling

Principles of Software Construction: Objects, Design, and Concurrency. Assigning Responsibilities to Objects. toad. Jonathan Aldrich Charlie Garrod

Software Engineering Lab Manual

CIS 771: Software Specifications

Creating Class Definitions from Design Class Diagrams: public class SalesLineItem // Java { private int quantity;

Alignment of Business and IT - ArchiMate. Dr. Barbara Re

COMP 354: INTRODUCTION TO SOFTWARE ENGINEERING

6. The Document Engineering Approach

Domain Modeling. CSSE 574: Week 1, Part 3. Steve Chenoweth Phone: Office (812) Cell (937)

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

Introduction to Software Engineering. 5. Modeling Objects and Classes

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Use Cases" Software Models and Representations" Part 4" More, and Multiple Models"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Software Models and Representations" Part 4" More, and Multiple Models" Use Cases"

Representing System Architecture

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

Up and Running Software The Development Process

COMP 6471 Software Design Methodologies

<Project Name> Use Case Specification: <Use-Case Name> Version <1.0>

Logical Architecture & Design Preliminaries

Software Engineering from a

Domain Modeling- 2. Generalization

Nick Rozanski Andy Longshaw Eoin Woods. Sold! How to Describe, Explain and Justify your Architecture

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

Principles of Software Construction: Objects, Design and Concurrency. Object-Oriented Design: Assigning Responsibilities.

Unit Wise Questions. Unit-1 Concepts

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

Designing Component-Based Architectures with Rational Rose RealTime

Software Development Methodologies

System Analysis and Design

02291: System Integration

The Unified Modeling Language (UML)

<<Subsystem>> Software Architecture Document

Recalling the definition of design as set of models let's consider the modeling of some real software.

Chapter 5. Systems Analysis. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

CSSE 374: Logical Architecture. Shawn Bohner Office: Moench Room F212 Phone: (812)

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

Rational Software White paper

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

Introduction to UML. Danang Wahyu utomo

UNIT-I Introduction of Object Oriented Modeling

CSSE 374: Design Class Diagrams. Shawn Bohner Office: Moench Room F212 Phone: (812)

Introduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M

Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 6. Moving on to Design

Introduction to. and. Scott W. Ambler Source Documents

Design of Embedded Systems

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

Components Based Design and Development. Unit 3: Software Design Quick Overview

Operations Contracts and Preliminaries on Design

17. GRASP: Designing Objects with Responsibilities

4 Software models. often more than what people can handle not necessary to know all details at all times

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

Week 9 Implementation


Systems Analysis and Design in a Changing World, Fourth Edition

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1

Computer Science 520/620 Spring 2014 Prof. L. Osterweil" Use Cases" Software Models and Representations" Part 4" More, and Multiple Models"

Design. Furthermore, it is natural to discover and change some requirements during the design and implementation work of the early iterations.

Pattern for Structuring UML-Compatible Software Project Repositories

Object Analysis & Design in the textbook. Introduction to GRASP: Assigning Responsibilities to Objects. Responsibility-Driven Design

Domain Model and Domain Modeling

BDSA Introduction to OOAD. Jakob E. Bardram

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD

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

Enterprise Architecture Views and Viewpoints in ArchiMate

REPRESENTATION OF CLASS DIAGRAM AND SEQUENCE DIAGRAM IN PROCESS MODELING: UML-BASED STUDY

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

Process Modeling. Wei-Tsong Wang 1 IIM, NCKU

GRASP: Patterns for. chapter18

GENERAL MATH FOR PASSING

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

ADVANCED SOFTWARE DESIGN LECTURE 4 GRASP. Dave Clarke

Today s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams

Assigning Responsibilities by Larman

Architectural Blueprint

Software Architectures. Lecture 6 (part 1)

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

Experiment no 4 Study of Class Diagram in Rational Rose

Transcription:

Modeling Overview... as we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns - the ones we don't know we don't know. Donald Rumsfeld

What is a Model? A model is essentially a picture or representation of something of interest Models are used to illustrate a concept or idea that is typically difficult to describe using the written word Sometimes called a schematic or a blueprint 2

Why Model? A model helps us communicate ideas or concepts in a relatively precise and unambiguous way A model supplements the written word when words fail to convey the meaning A Picture is worth a thousand words! 3

The IT Model An abstract but formal representation of entities including their properties, relationships and the operations that can be performed on them A visual way of depicting a business, its rules, the use of systems, applications, system architectures, and interactions within the systems 4

When to Model? Models can be created at any point in the development life cycle Models are most effective when new concepts or ideas are being evolved Models always precede the implementation of the concepts that they illustrate Pictures before code Pictures after code have little value 5

Requirements to Design? Requirements Design 6

The Analysis Process Reality Model of Reality Design Code 7

Store Uses 1 address : Address 1 1 name : Text ProductSpecificatio ProductCatalog addsale(...) description : Text... Contains price : Money 1 Looks-in 1 1 itemid : ItemID getspecification(...)... Houses 1 1 1 Describes Sale Register date : Date iscomplete : Boolean SalesLineItem Captures time : Time Contains quantity : Integer endsale() 1 1 1 becomecomplete() enteritem(...) getsubtotal() makelineitem(...) makenewsale() makepayment(...) makepayment(...) gettotal() 1 Payment Paid-by amount : Money 1... Development Cycle 1 Development Cycle 2 Development Cycle 3 Development Cycle 4 Buy Itemsversion 1 Buy Itemsversion 2 Buy Itemsversion 3 Log In Refund Items 1..* 1..* * Logs-completed * Requirements Cove 8

The Analysis Tools What How Use Case Domain Model Activity Diagram State Model Communication Diagram Class Diagram Scope Code 9

Model Persistence Models can be transient They exist only as long as it is needed to aid in the communication of ideas or concepts Models may be permanent They exist for as long as the concept that they illustrate They can become part of the system documentation They form a historical record 10

The Unified Modeling Language Evolved from the work of Booch, Rumbaugh, Mellor, Yourdon, Harel, Odell et al. Each contributed ideas, concepts, modeling techniques, notations Consortium of partners including HP, IBM, TI, DEC, Microsoft and Rational formalized a standard Came under the governance of the Object Management Group in 1997 as UML 1.0 Current version UML 2.2 published February, 2009 11

Model Views Logical View Process View Use Case View Physical View Development View The Use Case view describes the functionality of the system being modeled from the perspective of the outside world - typically from the perspective of the users. 12

Model Views Logical View Process View Use Case View Physical View Development View The Logical view describes the abstract concepts that comprise the parts of the system. 13

Model Views Logical View Process View Use Case View Physical View Development View The Process view describes the process within the system what the system must do to satisfy the use cases. 14

Model Views Logical View Process View Use Case View Physical View Development View The Physical view describes how the system s design will be implemented as a set of deployment entities. 15

Model Views Logical View Process View Use Case View Physical View Development View The Development view describes how the various parts of the system are organized into modules and components. 16

UML 2.0 Diagrams Activity Diagram Class Diagram Communication Diagram Component Diagram Composite Structure Diagram Deployment Diagram Interaction Overview Diagram Object Diagram Package Diagram Sequence Diagram State Machine Diagram Timing Diagram Use Case Diagram Business process, system logical flow Static elements of system classes and relationships Dynamic communication between system elements High level decomposition of system elements Internal structure of classifiers Execution architecture of the system or subsystem Variant of an Activity diagram showing control flow Depicts elements and their relationships at a specific instance in time Groups elements into organizational units Shows the time ordering of element interactions Depicts the states of an element and the transition between states Depicts the change in state or condition of a classifier instance or role over time. Shows Actors and Use Cases and their relationships 17

Other Modeling Techniques Data Flow Diagram Illustrates how information flows through a system Flow Chart Form of activity diagram used in procedural code Entity Relationship Diagram Used in database design Robustness Model Validates that use case behavior is reasonable Free-form Diagrams Ad hoc description of almost anything 18

Model Formality Models may be drawn formally and precisely using tools such as Rose, Visio or myeclipse Models may also be drawn informally using whiteboards Level of formality will depend on the intent of the model To document for posterity To express transient ideas 19

Wealth of Information 20

Travel Light You need far less documentation than you think Good documentation should: maximize stakeholder investment fulfill a purpose describe information that is less likely to change describe good things to know be sufficiently accurate, consistent, and detailed be sufficiently indexed 21

Don t Rush to Expensive Tools A "plain old whiteboard (POW)" is my favorite modeling tool, and I stand by my claim that whiteboards are the modeling tool with the greatest install base worldwide. Scott Ambler 22

Why Document Valid reasons to document include: Your project stakeholders require (and pay for) it The contract requires (and pays for) it To support communication with an external group To think something through Invalid reasons include: Your manager said so! You have some neat development tools There is a section in a PMO template 23

No BMUF! Big Modeling Up Front is to be avoided Mistakenly compare software development to civil engineering Software cannot be fully specified before construction Not all models have value Typically only the well understood components can be modeled 24

Just Good Enough! Value Ideal Realistic From Scott Ambler Effort 25

Summary Models aid in understanding a concept Models aid in communicating a need Artifacts may be models as well as formal documents Models may be permanent or temporary Don t waste time on models that have little value 26