We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byZackary Duval
Modified about 1 year ago
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
Introduction to Object Orientation System Analysis and Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 10 Object-Oriented Analysis and Modeling Using the UML.
Chapter 7 – Design and Implementation Lecture 1 1Chapter 7 Design and implementation.
Documenting Software Architectures These notes are my personal view of the concepts presented on Duran-Limons paper: Documenting Software Architectures:
Ch:8 Design Concepts S.W Design should have following quality attribute: –Functionality –Usability –Reliability –Performance –Supportability (extensibility,
Chapter 2: Entity-Relationship Model Entity Sets Relationship Sets Design Issues Mapping Constraints Keys E-R Diagram Extended E-R Features Design of an.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps Unit - II.
Object Oriented UML Class Diagram CSC207 – Software Design.
An Introduction to Object Modeling An Introduction to Object Modeling The approach of using object modeling during systems analysis and design is called.
1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. System Models IS301 – Software.
CS585 1/ Principals of Object Orientation OO Analysis Modeling with UML –UML Views User model view Structural view Behavioral view Implementation view.
COMET Approach for UML Overview Chapter 6 Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Agent Based Software Development Michael Luck, Ronald Ashri and Mark dInverno Chapter 4: Methodologies and Modeling Languages.
Chapter 5 – System Modeling 1Chapter 5 System modeling Software Engineering Ian Sommerville, Software Engineering, 9 th Edition Pearson Education,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Chapter 12 Object-Oriented Design.
1 Aspects of IEEE P1471 Viewpoints in Unified Modeling Language (UML) Manzur Ashraf, BRAC University Humayra Binte Ali, Dhaka University Md.Mahfuz Ashraf,
©Silberschatz, Korth and Sudarshan2.1Database System Concepts Chapter 2: Entity-Relationship Model Entity Sets Relationship Sets Design Issues Mapping.
March 2011 P00801: E-Business Information Systems 1 Lecture 6 E-Business Modelling with UML Prof. Hong Zhu Department of Computing and Electronics Module.
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java L7 (Adapted For ISE 2005/6 By Ananda Amatya, University.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
© Gerald Kotonya and Ian Sommerville Methods for Requirements Engineering.
CII Saxion Hogeschool Enschede 1 Object georiënteerd Ontwerpen met UML Saxion Hogeschool Enschede, januari 2005.
Impractical for large problems. Problem is true for flat state diagram. Object with n independent attributes require 2 n states for representation.
Data, Information & Knowledge Database DBMS Types of Models E-R Model.
Chapter 7 – Design and Implementation 1Chapter 7 Design and implementation Note: These are a modified version of Ch 7 slides available from the authors.
Database System Concepts, 5th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 6: Entity-Relationship.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
© 2016 SlidePlayer.com Inc. All rights reserved.