Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecturer: Dr. AJ Bieszczad Chapter 66-1 Object-Oriented analysis and design Special nature of OO development Use cases Design with UML OO system design.

Similar presentations


Presentation on theme: "Lecturer: Dr. AJ Bieszczad Chapter 66-1 Object-Oriented analysis and design Special nature of OO development Use cases Design with UML OO system design."— Presentation transcript:

1 Lecturer: Dr. AJ Bieszczad Chapter 66-1 Object-Oriented analysis and design Special nature of OO development Use cases Design with UML OO system design OO program design OO measurements

2 Lecturer: Dr. AJ Bieszczad Chapter 66-2 Object orientation identity abstraction classification encapsulation inheritance polymorphism persistence

3 Lecturer: Dr. AJ Bieszczad Chapter 66-3 Objects and classes Every object has a name (also called a reference or handle). Objects can have attributes (such as color, size, location). Objects can have operations or behaviors (such as takeoff, land, repair). Each object is an instance of a class. A specific implementation of an operation for a certain class is called a method.

4 Lecturer: Dr. AJ Bieszczad Chapter 66-4 Classification

5 Lecturer: Dr. AJ Bieszczad Chapter 66-5 Forming a hierarchy

6 Lecturer: Dr. AJ Bieszczad Chapter 66-6

7 Lecturer: Dr. AJ Bieszczad Chapter 66-7 OO design Usually uses an OO requirements representation System design identifies and represents objects and classes, plus details of each objects attributes and behaviors. System design also identifies interactions and relationships. Program design inserts computational features in the models. Program design inserts class library details. Program design considers nonfunctional requirements to enhance design.

8 Lecturer: Dr. AJ Bieszczad Chapter 66-8 OO and testing

9 Lecturer: Dr. AJ Bieszczad Chapter 66-9 Use cases Diagrams have four elements: –actors –cases –extensions –uses

10 Lecturer: Dr. AJ Bieszczad Chapter 66-10 Identifying participants What users or groups use the system to perform a task? What users or groups are needed so that the system can perform its functions? What external systems use the system to perform a task? What external systems, users or groups send information to the system? What external systems, users or groups receive information from the system?

11 Lecturer: Dr. AJ Bieszczad Chapter 66-11 Example: Service station

12 Lecturer: Dr. AJ Bieszczad Chapter 66-12 Service station use case diagram 1

13 Lecturer: Dr. AJ Bieszczad Chapter 66-13 Service station use case diagram 2

14 Lecturer: Dr. AJ Bieszczad Chapter 66-14 Service station use case diagram 3

15 Lecturer: Dr. AJ Bieszczad Chapter 66-15 UML and the OO process Workflow diagrams Object model Sequence diagrams Collaboration diagrams Package diagrams Component diagrams Deployment diagrams

16 Lecturer: Dr. AJ Bieszczad Chapter 66-16 UML support for development process

17 Lecturer: Dr. AJ Bieszczad Chapter 66-17 First cut at object classes Structures External systems Devices Roles Operating procedures Places Organizations Things that are manipulated by the system to be built

18 Lecturer: Dr. AJ Bieszczad Chapter 66-18 Class box example

19 Lecturer: Dr. AJ Bieszczad Chapter 66-19 Inheritance relationship

20 Lecturer: Dr. AJ Bieszczad Chapter 66-20 Association relationship

21 Lecturer: Dr. AJ Bieszczad Chapter 66-21 Types of class relationships

22 Lecturer: Dr. AJ Bieszczad Chapter 66-22 UML notes and qualifies

23 Lecturer: Dr. AJ Bieszczad Chapter 66-23 Service Station – first take

24 Lecturer: Dr. AJ Bieszczad Chapter 66-24 Service Station – second take

25 Lecturer: Dr. AJ Bieszczad Chapter 66-25 Service Station – final cut

26 Lecturer: Dr. AJ Bieszczad Chapter 66-26 Class name: refuel Category: service External documents: Export control: Public Cardinality: n Hierarchy: Superclasses: services Associations: fuel in association Operation name: price Public member of: refuel Documentation: // Calculates fuel final price Preconditions: gallons > 0 Object diagram: (unspecified) Semantics: final_price = gallons * price Object diagram: (unspecified) Concurrency: sequential Public interface: Operations: price Private interface: Attributes: gallons price Implementation: Attributes: gallons price State machine: no Concurrency: sequential Persistence: transient

27 Lecturer: Dr. AJ Bieszczad Chapter 66-27 Service Station – package diagram

28 Lecturer: Dr. AJ Bieszczad Chapter 66-28 Sequence Station – sequence diagram for the refuel use case

29 Lecturer: Dr. AJ Bieszczad Chapter 66-29 Service Station – collaboration diagram for the perking use case

30 Lecturer: Dr. AJ Bieszczad Chapter 66-30 State diagram example

31 Lecturer: Dr. AJ Bieszczad Chapter 66-31 State diagram for Fuel class

32 Lecturer: Dr. AJ Bieszczad Chapter 66-32 State diagram for Part class

33 Lecturer: Dr. AJ Bieszczad Chapter 66-33 State diagram for Inventory class

34 Lecturer: Dr. AJ Bieszczad Chapter 66-34 Activity diagram

35 Lecturer: Dr. AJ Bieszczad Chapter 66-35 Activity diagram for Inventory class

36 Lecturer: Dr. AJ Bieszczad Chapter 66-36 Guidelines for building classes What needs to be “processed” in some way? What items have multiple attributes? When do you have more than one object in a class? What is based on the requirements themselves, not derived from your understanding of the requirements? What attributes and operations are always applicable to a class or object?

37 Lecturer: Dr. AJ Bieszczad Chapter 66-37 Guidelines for identifying behaviors Imperative verbs Passive verbs Actions Things or reminded events Roles Operating procedures Services provided by an organization

38 Lecturer: Dr. AJ Bieszczad Chapter 66-38 Program design considerations Nonfunctional requirements Reused components Reusable components User interface requirements Data structure and management details

39 Lecturer: Dr. AJ Bieszczad Chapter 66-39 Transition from paper to screen

40 Lecturer: Dr. AJ Bieszczad Chapter 66-40 Possible design for new billing screen

41 Lecturer: Dr. AJ Bieszczad Chapter 66-41 Implementing classes using relational database

42 Lecturer: Dr. AJ Bieszczad Chapter 66-42 Observer pattern - relationships

43 Lecturer: Dr. AJ Bieszczad Chapter 66-43 Observer pattern – sequence diagram

44 Lecturer: Dr. AJ Bieszczad Chapter 66-44

45 Lecturer: Dr. AJ Bieszczad Chapter 66-45

46 Lecturer: Dr. AJ Bieszczad Chapter 66-46 Object-oriented view of the Service Station

47 Lecturer: Dr. AJ Bieszczad Chapter 66-47 Class hierarchy for the Service Station

48 Lecturer: Dr. AJ Bieszczad Chapter 66-48

49 Lecturer: Dr. AJ Bieszczad Chapter 66-49 Measuring Service Station system design

50 Lecturer: Dr. AJ Bieszczad Chapter 66-50 Measuring Service Station program design

51 Lecturer: Dr. AJ Bieszczad Chapter 66-51 Measuring from a sequence diagram


Download ppt "Lecturer: Dr. AJ Bieszczad Chapter 66-1 Object-Oriented analysis and design Special nature of OO development Use cases Design with UML OO system design."

Similar presentations


Ads by Google