Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. www.wileyeurope.com/college/van vliet.

Slides:



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

UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
System Modelling System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers. Different.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights reserved. Slide 1 The.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 1.
Unified Modeling Language
The Unified Modeling Language (UML) Class Diagrams.
Introduction To System Analysis and design
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
CS 310 Ch8: System models Abstract descriptions of systems being analyzed to help the analyst understand the system functionality communicate with customers.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
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
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.
Chapter 7 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.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
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 Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Software Engineering Lecture 8 Object-Oriented Analysis.
©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 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Unified Modeling Language, Version 2.0 Chapter 2.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Basic Characteristics of Object-Oriented Systems
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
UML (Unified Modeling Language)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
UML Diagrams: Class Diagrams The Static Analysis Model
Object-oriented and Structured System Models
UML Diagrams By Daniel Damaris Novarianto S..
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
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
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4th edition, Prentice Hall, Hans Van Vliet, Software Engineering:
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 ©2008 John Wiley & Sons Ltd. vliet

System Modeling Techniques 2 Classic modeling techniques: – Entity-relationship modeling – Finite state machines – Data flow diagrams – CRC cards Object-oriented modeling: variety of UML diagrams ©2008 John Wiley & Sons Ltd. 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 3 ©2008 John Wiley & Sons Ltd. vliet

Example ER-diagram 4 ©2008 John Wiley & Sons Ltd. 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  5 ©2008 John Wiley & Sons Ltd. vliet

Example state transition diagram 6 ©2008 John Wiley & Sons Ltd. vliet

Data flow diagrams external entities processes data flows data stores 7 ©2008 John Wiley & Sons Ltd. vliet

Example data flow diagram 8 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 ©2008 John Wiley & Sons Ltd. vliet

CRC: Class, Responsibility, Collaborators 9 ©2008 John Wiley & Sons Ltd. 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 10 ©2008 John Wiley & Sons Ltd. 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 11 ©2008 John Wiley & Sons Ltd. 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 12 ©2008 John Wiley & Sons Ltd. 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) 13 ©2008 John Wiley & Sons Ltd. 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 14 ©2008 John Wiley & Sons Ltd. 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 15 ©2008 John Wiley & Sons Ltd. 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 16 ©2008 John Wiley & Sons Ltd. 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) 17 ©2008 John Wiley & Sons Ltd. vliet

Example class diagram (1): generalization 18 ©2008 John Wiley & Sons Ltd. vliet

Example class diagram (2) association 19 ©2008 John Wiley & Sons Ltd. vliet

Example class diagram (3): composition 20 ©2008 John Wiley & Sons Ltd. vliet

Interface: class with abstract features 21 ©2008 John Wiley & Sons Ltd. 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 22 ©2008 John Wiley & Sons Ltd. vliet

Example state machine diagram 23 ©2008 John Wiley & Sons Ltd. vliet

Example state machine diagram: global and expanded view 24 ©2008 John Wiley & Sons Ltd. 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 25 ©2008 John Wiley & Sons Ltd. vliet

Example sequence diagram 26 ©2008 John Wiley & Sons Ltd. vliet

Example communication diagram 27 ©2008 John Wiley & Sons Ltd. 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 28 ©2008 John Wiley & Sons Ltd. vliet

Example component diagram 29 ©2008 John Wiley & Sons Ltd. vliet

Use case diagram 30 ©2008 John Wiley & Sons Ltd. vliet

Summary 31 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 ©2008 John Wiley & Sons Ltd. vliet