Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Unified Modeling Language
CS3773 Software Engineering Lecture 03 UML Use Cases.
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Component and Deployment Diagrams
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
© Copyright Eliyahu Brutman Programming Techniques Course.
An Introduction to Rational Rose Real-Time
Unified Modeling Language
Chapter 7: The Object-Oriented Approach to Requirements
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
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.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
UML Review of diagram types. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Introduction to OOAD and the UML
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
UML (Unified Modeling Language)
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Use Cases UML. Use Cases What are Use Cases?  A statement of the functionality users expect and need, organized by functional units  Different from.
Introduction to UML.
UML(Unified Modeling Language)
UML Diagrams By Daniel Damaris Novarianto S..
Evolution of UML.
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Chapter 2, Modeling with UML
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Presentation transcript:

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 2 Object-oriented development l Object-Oriented analysis, design and programming are related but distinct. l OOA is concerned with developing an object model of the application domain. l OOD is concerned with developing an object- oriented system model to implement requirements. l OOP is concerned with realising an OOD using an OO programming language such as Java or C++.

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 3 What is UML? l Unified Modeling Language OMG Standard, Object Management Group Based on work from Booch, Rumbaugh, Jacobson l UML is a modeling language to express and design documents, software Particularly useful for OO design Not a process, but some have been proposed using UML Independent of implementation language

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 4 Brief History l Inundated with methodologies in early 90’s Booch, Jacobson, Yourden, Rumbaugh l Booch, Jacobson merged methods 1994 l Rumbaugh joined 1995 l 1997 UML 1.1 from OMG includes input from others, e.g. Yourden l UML v2.0 current version

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 5 History of UML

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 6 Some UML modeling notations l Use case diagram l Class diagram l Sequence diagram l Statechart diagram l Activity diagram l Deployment diagram l Component diagram l Collaboration diagram

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 7 UML diagram hierarchy

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 8 8 UML tools l Rational Rose is the “real world” standard; full round-trip code generation Recently acquired by IBM (right under Microsoft’s nose!) l Together (from Borland) is a lot like Rational Rose ArgoUML looks interesting (and is open source) BlueJ, of course, displays simple UML diagrams l Drawing programs with UML support Visio is a Microsoft tool Dia is a freeware clone of Visio

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 9 9 Tool links 1. Rational Rose rosexde/ 2. Together 3. ArgoUML 4. Visio 5. Dia 6. OmniGraffle 3 (Mac OS X)

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 10 An association model

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 11 Use-case models l Use-case models are used to represent each interaction with the system. l A use-case model shows the system features as ellipses and the interacting entity as a stick figure. l Flow of events within a use case can be depicted using sequence diagrams.

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 12 Use Case Diagrams l Used during requirements elicitation to represent external behavior l Actors represent roles, that is, a type of user of the system l Use cases represent a sequence of interaction for a type of functionality; summary of scenarios l The use case model is the set of all use cases. It is a complete description of the functionality of the system and its environment Passenger PurchaseTicket

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 13 Actors l An actor models an external entity which communicates with the system: User External system Physical environment l An actor has a unique name and an optional description. l Examples: Passenger: A person in the train GPS satellite: Provides the system with GPS coordinates Passenger

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 14 Use Case A use case represents a class of functionality provided by the system as an event flow. A use case consists of: l Unique name l Participating actors l Entry conditions l Flow of events l Exit conditions l Special requirements PurchaseTicket

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 15 Use cases diagram

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 16 Use cases diagram

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 17 Class diagram UML class diagrams show the classes of the system, their inter-relationships, and the operations and attributes of the classes l Depict the detailed design of object-oriented or object-based software

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 18 Class diagram

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 19 Sequence diagram l Sequence diagrams models the collaboration of objects based on a time sequence. l It shows how the objects interact with others in a particular scenario of a use case.

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 20 Sequence diagram

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 21 Activity diagram l Activity diagrams helps to describe the flow of control of the target system, such as the exploring complex business rules and operations, describing the use case also the business process.

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 22 Activity diagram

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 23 Deployment diagram UML deployment diagram depicts a static view of the run-time configuration of hardware nodes and the software components that run on those nodes. Deployment diagrams show the hardware for your system, the software that is installed on that hardware, and the middleware used to connect the disparate machines to one another.

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 24 Deployment diagram

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 25 Component diagram UML component diagrams shows the dependencies among software components, l including the classifiers that specify them (for example implementation classes) and l the artifacts that implement them; such as source code files, binary code files, executable files, scripts and tables.

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 26 Component diagram

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 27 Collaboration Diagram l Collaboration Diagrams show similar information to sequence diagrams, except that the vertical sequence is missing. In its place are: Object Links - solid lines between the objects that interact On the links are Messages - arrows with one or more message name that show the direction and names of the messages sent between objects l Emphasis on static links as opposed to sequence in the sequence diagram

Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 28 Collaboration Diagram