Download presentation
Presentation is loading. Please wait.
Published byDortha Whitehead Modified over 9 years ago
1
Object Oriented Design Jerry KotubaSYST39409- Object Oriented Methodologies1
2
ICE-07 Take up Schedule Assignment No 2 Due two weeks ▪ Drop Box Submissions only ▪ One file (either.pdf or.docx) Please. Today [Week 10] ▪ Quiz n0 3 ▪ Design Class Diagrams (DCD) ▪ Design Patterns ▪ Use Case Controller Jerry KotubaSYST39409- Object Oriented Methodologies2
3
Jerry KotubaSYST39409- Object Oriented Methodologies3 Exercise VII Solution
4
Create a design class diagram Explain some of the fundamental principles of object-oriented design SYST39409-Object Oriented Methodologies4
5
5 A word about Message Notation
6
SYST39409-Object Oriented Methodologies6
7
Good object-oriented design is based on fundamental design principles Design classes are a fundamental element in systems design SYST39409-Object Oriented Methodologies7
8
Bridge between users’ requirements and new system’s programming Object-oriented design is process by which detailed object-oriented models are built Programmers use design to write code and test new system User interface, network, controls, security, and database require design tasks and models SYST39409-Object Oriented Methodologies8
9
As a developer, you should only create models if they have meaning and are necessary. Does not mean NO models at all They need not be formalized into a comprehensive set of documents and diagrams but the models themselves are certainly necessary. Developing a system without doing design is comparable to writing a research paper without an outline. You could sit down and just start writing, however, if you want the paper to be cohesive, complete, and comprehensive you should do an outline first. SYST39409-Object Oriented Methodologies9
10
Adaptive design approaches are done incrementally within iterations. NOT everything at one time! The requirements for a particular use case or several use cases may be developed, and then the design documents are developed for that use case. Immediately following design of the solution, the programming can be done. SYST39409-Object Oriented Methodologies10
11
Set of objects that cooperate to accomplish result Object contains program logic and necessary attributes in a single unit Objects send each other messages and collaborate to support functions of main program OO systems designer provides detail for programmers Design class diagrams, interaction diagrams, and some state machine diagrams SYST39409-Object Oriented Methodologies11
12
SYST39409-Object Oriented Methodologies12 Object-Oriented Three-Layer Program
13
Data layer manages stored data, usually one or more data bases. Business logic layer implements the rules and procedures of business processing (use case). View layer accepts user input and displays processing results. SYST39409-Object Oriented Methodologies13
14
Diagrams developed for analysis/requirements Use case diagrams, use case descriptions and activity diagrams, domain model class diagrams, and system sequence diagrams Diagrams developed for design Component diagrams and Deployment diagrams Interaction diagrams and package diagrams Design class diagrams SYST39409-Object Oriented Methodologies14
15
Design class diagrams and detailed sequence diagrams Use each other as inputs and are developed in parallel Sequence diagrams define the interactions between objects in order to execute a use case. Interactions are called messages Correspond to method calls in programming language Design Classes show attributes and method signatures SYST39409-Object Oriented Methodologies15
16
SYST39409-Object Oriented Methodologies16
17
SYST39409-Object Oriented Methodologies17
18
Entity – design identifier for problem domain class Persistent class – exists after system is shut down Control – mediates between boundary and entity classes, between the view layer and domain layer Boundary – designed to live on system’s automation boundary, touched by users User interface and windows classes Data access – retrieves data from and sends data to database SYST39409-Object Oriented Methodologies18
19
Name – class name and stereotype information Attribute visibility (private or public) – attribute name, type-expression, initial-value, property Method signature – information needed to invoke (or call) the method Method visibility, method name, type- expression (return parameter), method parameter list (incoming arguments) Overloaded method – method with same name but two or more different parameter lists Class-level method – method associated with class instead of each object (static or shared method), denoted by an underline SYST39409-Object Oriented Methodologies19
20
SYST39409-Object Oriented Methodologies20
21
21 Design pattern A standard solution template to a design requirement that facilitates the use of good design principles Use case controller pattern Design requirement is to identify which problem domain class should receive input messages from the user interface for a use case
22
22 Solution is to choose a class to serve as a collection point for all incoming messages for the use case. Controller acts as intermediary between outside world and internal system Artifact – a class invented by a system designer to handle a needed system function, such as a controller class
23
23 Use Case Controller Pattern
24
Jerry KotubaSYST39409- Object Oriented Methodologies24
25
Jerry KotubaSYST39409- Object Oriented Methodologies25 Create Customer Account [1]
26
Jerry KotubaSYST39409- Object Oriented Methodologies26 Create Customer Account [2]
27
Jerry KotubaSYST39409- Object Oriented Methodologies27 Create Customer Account [3]
28
Jerry KotubaSYST39409- Object Oriented Methodologies28 Create Customer Account [4]
29
Jerry KotubaSYST39409- Object Oriented Methodologies29 Create Customer Account [5]
30
Jerry KotubaSYST39409- Object Oriented Methodologies30
31
SYST39409-Object Oriented Methodologies31 Library System Use Case – Check-out Book S.S.D. Domain Class Diagram
32
Select a use case Identify a domain class that has responsibility for this use case. It will receive the first message from the “use case controller” Identify the other classes that must collaborate with the primary object class to complete the use case SYST39409-Object Oriented Methodologies32
33
SYST39409-Object Oriented Methodologies33 ClassResponsibilitiesCollaborating classes with return data Library PatronCreate a reservation Create a loan [Reservation] (ID) [Loan] (ID) ReservationIdentify Book title[Book Title] (Title details) LoanIdentify Book title[Book Title] (Title details) Book TitleIdentify Book Copy Number[BookCopy] (ID) BookCopy Think of responsibilities as “Requests” to do something.
34
SYST39409-Object Oriented Methodologies34 Design Class Diagram
35
Review and discuss the Car Rental Case Study before beginning this exercise. Jerry KotubaSYST39409- Object Oriented Methodologies35
36
Sequence Diagrams continued… Jerry KotubaSYST39409- Object Oriented Methodologies36
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.