chapters 10, 11 ssd (revision) sd dcd exam object-oriented design
DESCRIPTION
Approach: Chapter 11: “Advanced design is based on the concepts of use case realization by using Sequence diagrams and Design patterns Once you become proficient with these two subjects, you are an OO designer 3TRANSCRIPT
Chapters 10, 11
SSD (Revision)SDDCDExam
Object-Oriented Design
2
Problem Statement: A customer wants to search for books written
by a specific author from a library. The customer wants to specify an author, and
gets the search results
3
Approach: Chapter 11: “Advanced design is based on
the concepts of use case realization by using Sequence diagrams and Design patterns
Once you become proficient with these two subjects, you are an OO designer
4
Use case: Components:
Actor Use case (What the system must do)
First: The EVENT table
5
Event Type Trigger Source Use Case Response Destination
6
7
8
Background: Object-oriented analysis models were
discussed in Chapters 2 - 5 Chapter 10, the fundamental principles:
A complete coverage of design principles and skills to at least do basic object-oriented design
Chapter 11 presents more advanced concepts particularly for detailed design with use case realizations: enhanced detailed design skills, and concepts related to design patterns, which are critically important for programming.
9
Foundation: Object-oriented design is a process by which
a set of detailed object-oriented design models are built and then used by the programmers to write and test the new system.
One of the strengths of the object-oriented approach is that the design models are often just extensions of the requirements models.
10
11
Question: The previous slide shows the artefacts. Don’t
confuse with waterfall approach: What is our SDLC? What is agile development? Iterative development?
12
13
Notation SSD:
14
Message Notation
15
16
Use Case Controller An artifact invented by the designer to
handle a system function Serves as a collection point for incoming
messages Intermediary between the outside world and
the internal system
17
18
Designing with Sequence Diagrams An SSD captures the interactions between the
system and the external world represented by actors The system is treated like a black box
A detailed sequence diagram (SD) uses all of the same elements as an SSD The :System object is replaced by all of the internal
objects and messages within the system
19
Guidelines for Preliminary Sequence Diagram Development Determine all of the internal messages that
result from each input message Define origin and destination objects
Identify the complete set of classes that will be affected by each message
Flesh out the components for each message Iteration, true/false conditions, return
values, and passed parameters
20
Developing a Multilayer Design View layer
Design the user interface for each use case Develop dialog designs for forms Add the window classes to the sequence diagram
Data access layer Initialize domain objects with data from the
database Query the database and send a reference object Return information in the reference object
21
Search for Author: The Customer specifies an author on the
“Search Page” and then presses the Search button
The system validates the Customer’s search criteria
The system searches the Catalogue for books associated with the specified author
When the search is complete, the system displays the search results.
22
23
O-O program The previous slide shows how an object-
oriented program works. Hidden, it also illustrates the three-layer
architecture: Abstract Three Layer Architecture
24
Objective of O-O design: The objective of object-oriented design is to
identify and specify all the objects that must work together to carry out each use case. As shown in Figure 10-1, these objects include user-interface objects, problem domain objects, and data access objects.
Can you identify these objects?
25
26
The OO diagrams: O-O analysis:
Use case, Use case description, Activity diagram, Domain Model Diagrams, System Sequence Diagram, State Machine Diagram
O-O design: Component diagrams, deployment diagrams,
design class diagrams, interaction diagrams, state machine diagrams, and package diagrams.
27
Revision: An object class (or a class) is… Set of people Places Things Or transactions that share common attributes and perform
common functions to help an organization reaches its goals.
28
Examples: People: employees, vendors, customers Places: warehouses, office, branches,
shipping docks Things: products, office equipment, supplies Transaction: purchases, sales, returns,
payments
29
Example: Draw money from ATM Processes:
Insert credit card Enter PIN Enter Amount
What happens behind UI? Verification from bank system ……
30
Classes? Customer ATM: ATM System Bank System
31
Interaction: What message/communication takes place
between customer and ATM? Introducing Design Class Diagram: Customer wants to enter PIN If verified, Customer wants to draw money
32
33
34
Three layer Architecture: user-interface objects, problem domain objects, and data access objects.
35
36
Two Things (p284-287): Identifying design classes: use interactions to
add operations to classes. Identifying stereotypes (<<…>>)in UML
models: Entity class Boundary class Control class Data access class
37
38
39
Steps to follow: Develop use case, use case description,
activity diagram: Domain class diagram, SSD Draw the SD Sort-out the interactions or messages Add the operations/behaviour Can you identify the ‘three layer diagram’?
40
Exam: Q1: p264, problems 1, 2, 3:system vision
document Q2: project management: NPV, Payback
period, graph, ROI: pr 4, 5, 6, 7 Q3:Network diagram Q4:UI design. Going to include blocks AppInv Q5: SD Q6: DCD