Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object Oriented Design Jerry KotubaSYST39409- Object Oriented Methodologies1.

Similar presentations


Presentation on theme: "Object Oriented Design Jerry KotubaSYST39409- Object Oriented Methodologies1."— Presentation transcript:

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


Download ppt "Object Oriented Design Jerry KotubaSYST39409- Object Oriented Methodologies1."

Similar presentations


Ads by Google