Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design."— Presentation transcript:

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

2 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++.

3 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

4 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

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

6 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

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

8 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

9 Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 9 9 Tool links 1. Rational Rose http://www-3.ibm.com/software/awdtools/developer/ rosexde/ 2. Together http://www.borland.com/together/ 3. ArgoUML http://argouml.tigris.org 4. Visio http://msdn.microsoft.com/office/understanding/visio/ 5. Dia http://www.gnome.org/projects/dia/ 6. OmniGraffle 3 (Mac OS X) http://www.omnigroup.com/applications/omnigraffle/

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

11 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.

12 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

13 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

14 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

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

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

17 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

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

19 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.

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

21 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.

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

23 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.

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

25 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.

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

27 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

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


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

Similar presentations


Ads by Google