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

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.
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.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
© Copyright Eliyahu Brutman Programming Techniques Course.
Chapter 7: System models
Unified Modeling Language
Unified Modeling Language(UML) BY
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.
Unified Modeling Language, Version 2.0
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
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.
ניתוח מערכות מידע 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.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
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.
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)
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
GOVT. ENGINEERING COLLEGE, AJMER. A SEMINAR PRESENTATION ON UNIFIED MODELING LANGUAGE(UML) SUBMITTED TO:-PRESENTED BY:- Dr. REENA DADHICHPALLAVI VASHISTHA.
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
Systems Analysis and Design
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Abstract descriptions of systems whose requirements are being analysed
Business System Development
UML: Unified modeling language
Software Architecture & Design Pattern
Object-Oriented Analysis
System models October 5, 2005.
University of Houston-Clear Lake
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4th edition, Prentice Hall, Hans Van Vliet, Software Engineering:
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
IMPORTANT NOTICE TO STUDENTS:
Analysis models and design models
Dynamic Modeling Lecture # 37.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Appendix 3 Object-Oriented Analysis and Design
Presentation transcript:

Main issues: • What do we want to build • How do we write this down 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 The same, or sort of the same, techniques are used during requirements engineering and design. OO models are treated in chapter 12 (OOAD). Petri nets in the design chapter (11). Here: entity relationship (as form of data-oriented technique), and state transition diagram SE, Modeling, Hans van Vliet, ©2008 © 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 Entities are like “things” SE, Modeling, Hans van Vliet, ©2008 © SE;Modeling, Hans van Vliet

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

SE, Modeling, Hans van Vliet, ©2008 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, ©2008

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

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

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

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

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, ©2008

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, ©2008

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, ©2008

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, ©2008

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, ©2008

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, ©2008

SE, Modeling, Hans van Vliet, ©2008 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, ©2008

SE, Modeling, Hans van Vliet, ©2008 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) So, a UML class diagram has much in common with the “old” ER diagrams SE, Modeling, Hans van Vliet, ©2008 © SE;Modeling, Hans van Vliet

Example class diagram (1): generalization See also chapter 12, on object-oriented analysis and design SE, Modeling, Hans van Vliet, ©2008 © SE;Modeling, Hans van Vliet

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

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

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

SE, Modeling, Hans van Vliet, ©2008 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, ©2008

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

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

SE, Modeling, Hans van Vliet, ©2008 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, ©2008

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

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

SE, Modeling, Hans van Vliet, ©2008 Component diagram Class diagram with stereotype <<component>> 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, ©2008

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

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

SE, Modeling, Hans van Vliet, ©2008 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 SE, Modeling, Hans van Vliet, ©2008

Thank You