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 byJose Toft
Modified about 1 year ago
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
©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.
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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Chapter 12 Object-Oriented Design.
Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group
© 2005 by Prentice Hall Chapter 9 Structuring System Data Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Introduction to Object Orientation System Analysis and Design.
Chapter 5 – System Modeling 1Chapter 5 System modeling Software Engineering Ian Sommerville, Software Engineering, 9 th Edition Pearson Education,
Object Oriented UML Class Diagram CSC207 – Software Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
March 2011 P00801: E-Business Information Systems 1 Lecture 6 E-Business Modelling with UML Prof. Hong Zhu Department of Computing and Electronics Module.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java L7 (Adapted For ISE 2005/6 By Ananda Amatya, University.
©Silberschatz, Korth and Sudarshan2.1Database System Concepts Chapter 2: Entity-Relationship Model Entity Sets Relationship Sets Design Issues Mapping.
Architectural Design IS301 – Software Engineering Lecture # 14 – M. E. Kabay, PhD, CISSP Dept of Computer Information Systems Norwich University.
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Object- Oriented Design IS301 –
CII Saxion Hogeschool Enschede 1 Object georiënteerd Ontwerpen met UML Saxion Hogeschool Enschede, januari 2005.
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Implementation Architecture Lecture Implementation View (1) “ how the system is built ” Focuses on “ how the system is built ” technological.
Executional Architecture Lecture Conceptual vs execution Conceptual Architecture Execution Architecture Component Connector Domain-level responsibilities.
Database System Concepts, 5th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 6: Entity-Relationship.
Chapter 7 – Design and Implementation 1Chapter 7 Design and implementation Note: These are a modified version of Ch 7 slides available from the authors.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 1.
1 Week 2 The Object-Oriented Approach to Requirements.
technische universität dortmund fakultät für informatik informatik 12 Communicating finite state machines Peter Marwedel TU Dortmund Informatik
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
© 2016 SlidePlayer.com Inc. All rights reserved.