Modeling Main issues: What do we want to build How do we write this down.

Slides:



Advertisements
Similar presentations
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Advertisements

Chapter 7 System Models.
Chapter 1 The Study of Body Function Image PowerPoint
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 1 Embedded Computing.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 3 CPUs.
Software Process Modeling with UML and SPEM
2 Copyright © 2005, Oracle. All rights reserved. Defining Object-Oriented Principles.
Conceptual / semantic modelling
Chapter 7 – Design and Implementation
Week 2 The Object-Oriented Approach to Requirements
Requirements Diagrams With UML Models
Object-Oriented Software Engineering Visual OO Analysis and Design
NI LabVIEW Object-Oriented Programming
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering.
By Waqas Over the many years the people have studied software-development approaches to figure out which approaches are quickest, cheapest, most.
Use Case Diagrams.
VOORBLAD.
1 UML ++ Mohamed T IBRAHIM University of Greenwich -UK.
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
the Entity-Relationship (ER) Model
© 2012 National Heart Foundation of Australia. Slide 2.
Systems Analysis and Design with UML Version 2.0, Second Edition
OBJECT-ORIENTEDNESS. What is Object-Orientedness? model system as a collection of interacting objects O-O Modelling  O-O Programming ► similar conceptual.
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
آزمایشگاه مهندسی نرم افزار
Executional Architecture
25 seconds left…...
Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques
Januar MDMDFSSMDMDFSSS
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
PSSA Preparation.
Chapter 11 Component-Level Design
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
© Copyright Eliyahu Brutman Programming Techniques Course.
Unified Modeling Language
Unified Modeling Language, Version 2.0
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
©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)
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 Unified Modeling Language, Version 2.0 Chapter 2.
Basic Characteristics of Object-Oriented Systems
UML (Unified Modeling Language)
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Object-oriented and Structured System Models
UML Diagrams By Daniel Damaris Novarianto S..
The Movement To Objects
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Modeling Main issues: What do we want to build How do we write this down

SE, Modeling, Hans van Vliet, © System Modeling Techniques  Classic modeling techniques:  Entity-relationship modeling  Finite state machines  Data flow diagrams  CRC cards  Object-oriented modeling: variety of UML diagrams

SE, Modeling, Hans van Vliet, © Entity-Relationship Modeling  entity: distinguishable object of some type  entity type: type of a set of entities  attribute value: piece of information (partially) describing an entity  attribute: type of a set of attribute values  relationship: association between two or more entities

SE, Modeling, Hans van Vliet, © Example ER-diagram

SE, Modeling, Hans van Vliet, © Finite state machines  Models a system in terms of (a finite number of) states, and transitions between those states  Often depicted as state transition diagrams:  Each state is a bubble  Each transition is a labeled arc from one state to another  Large system  large diagram hierarchical diagrams: statecharts 

SE, Modeling, Hans van Vliet, © Example state transition diagram

SE, Modeling, Hans van Vliet, © Data flow diagrams  external entities  processes  data flows  data stores

SE, Modeling, Hans van Vliet, © Example data flow diagram borrow title prelim. doc prelim. doc prelim. doc client catalog adm. management log file request log data return request borrow request title acknowledgement reportdirection log data

SE, Modeling, Hans van Vliet, © CRC: Class, Responsibility, Collaborators

SE, Modeling, Hans van Vliet, © Intermezzo: what is an object?  Modeling viewpoint: model of part of the world  Identity+state+behavior  Philosophical viewpoint: existential absractions  Everything is an object  Software engineering viewpoint: data abstraction  Implementation viewpoint: structure in memory  Formal viewpoint: state machine

SE, Modeling, Hans van Vliet, © Objects and attributes  Object is characterized by a set of attributes  A table has a top, legs, …  In ERM, attributes denote intrinsic properties; they do not depend on each other, they are descriptive  In ERM, relationships denote mutual properties, such as the membership of a person of some organization  In UML, these relationships are called associations  Formally, UML does not distinguish attributes and relationships; both are properties of a class

SE, Modeling, Hans van Vliet, © Objects, state, and behavior  State = set of attributes of an object  Class = set of objects with the same attributes  Individual object: instance  Behavior is described by services, a set of responsibilities  Service is invoked by sending a message

SE, Modeling, Hans van Vliet, © Relations between objects  Specialization-generalization, is-a  A dog is an animal  Expressed in hierarchy  Whole-part, has  A dog has legs  Aggregation of parts into a whole  Distinction between ‘real-world’ part-of and ‘representational’ part of (e.g. ‘Publisher’ as part of ‘Publication’)  Member-of, has  A soccer team has players  Relation between a set and its members (usually not transitive)

SE, Modeling, Hans van Vliet, © Specialization-generalization relations  Usually expressed in hierarchical structure  If a tree: single inheritance  F a DAG: multiple inheritance  Common attributes are defined at a higher level in the object hierarchy, and inherited by child nodes  Alternative view: object hierarchy is a type hierarchy, with types and subtypes

SE, Modeling, Hans van Vliet, © Unified Modeling Language (UML)  Controlled by OMG consortium: Object Management Group  Latest version: UML 2  UML 2 has 13 diagram types  Static diagrams depict static structure  Dynamic diagrams show what happens during execution  Most often used diagrams:  class diagram: 75%  Use case diagram and communication diagram: 50%  Often loose semantics

SE, Modeling, Hans van Vliet, © UML diagram types Static diagrams:  Class  Component  Deployment  Interaction overview  Object  Package Dynamic diagrams:  Activity  Communication  Composite structure  Sequence  State machine  Timing  Use case

SE, Modeling, Hans van Vliet, © UML class diagram  depicts the static structure of a system  most common example: subclass/superclass hierarchy  also mutual properties between two or more entities (ER relationships, often called associations in OO)

SE, Modeling, Hans van Vliet, © Example class diagram (1): generalization

SE, Modeling, Hans van Vliet, © Example class diagram (2) association

SE, Modeling, Hans van Vliet, © Example class diagram (3): composition

SE, Modeling, Hans van Vliet, © Interface: class with abstract features

SE, Modeling, Hans van Vliet, © State machine diagram  Resembles finite state machines, but:  Usually allows for local variables of states  Has external inputs and outputs  Allows for hierarchical states

SE, Modeling, Hans van Vliet, © Example state machine diagram

SE, Modeling, Hans van Vliet, © Example state machine diagram: global and expanded view

SE, Modeling, Hans van Vliet, © Interaction diagram  Two types: sequence diagram and communication diagram  Sequence diagram: emphasizes the ordering of events, using a lifeline  Communication diagram emphasizes objects and their relationships

SE, Modeling, Hans van Vliet, © Example sequence diagram

SE, Modeling, Hans van Vliet, © Example communication diagram

SE, Modeling, Hans van Vliet, © Component diagram  Class diagram with stereotype >  Way to identify larger entities  One way to depict a module view (see Software Architecture chapter)  Components are connected by interfaces

SE, Modeling, Hans van Vliet, © Example component diagram

SE, Modeling, Hans van Vliet, © Use case diagram

SE, Modeling, Hans van Vliet, © Summary  Classic notations:  Entity-relationship diagrams  Finite state machines  Data flow diagrams  CRC cards  Unified Modeling Language (UML)  evolved from earlier OO notations  13 diagram types  widely used