Object Oriented Design Jerry KotubaSYST39409- Object Oriented Methodologies1.

Slides:



Advertisements
Similar presentations
Object-Oriented Software Engineering Visual OO Analysis and Design
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
OOD - Principles Design Class Diagrams Chapter 10 pp ; ;
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Robert B. Jackson Brigham Young University John W. Satzinger
Systems Analysis and Design in a Changing World, Fourth Edition
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
Introduction To System Analysis and Design
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
Object Oriented System Development with VB .NET
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
CREATING THE DESIGN: THE LOGICAL VIEW The Class Diagram.
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.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
Object-Oriented Analysis and Design
Introduction To System Analysis and design
Lesson 1 Week01.
The Design Discipline.
The Object Oriented Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
Systems Analysis and Design in a Changing World, Fifth Edition
Object-Oriented Design
1 SA Capstone Requirements and Design Week 6 SYST Winter 2015 Some slides adapted from: Systems Analysis and Design in a Changing World, 6th Edition,
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition
12 Systems Analysis and Design in a Changing World, Fifth Edition.
Ch:10 Component Level Design Unit 4. What is Component? A component is a modular building block for computer software Because components reside within.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Introduction To System Analysis and Design
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
Systems Analysis and Design in a Changing World, 6th Edition 1 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH Chapter 11 SATZINGER.
An Introduction to Java Chapter 11 Object-Oriented Application Development: Part I.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 13 Introduction to Classes.
Systems Analysis and Design in a Changing World, 3rd Edition
2 Object-Oriented Analysis and Design and the Unified Process Objectives  Explain the purpose and objectives of object- oriented design  Develop design.
Object-Oriented Design Simple Program Design Third Edition A Step-by-Step Approach 11.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
1 ITEC 2010 Chapter 9 – Design The Structure Chart Structure chart –A hierarchical diagram showing the relationships between the modules of a.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
What to remember from Chap 13 (Logical architecture)
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
A Student Guide to Object- Oriented Development Chapter 10 Designing objects and classes.
Use Case Controller System sequence diagram (SSD) shows input messages from external actors within use case Only indicates that messages go to system Use.
Design CIS 4800 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College Copyright © 2009 John Wiley & Sons, Inc. Copyright © 2008 Course.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Chapters 10, 11 SSD (Revision) SD DCD Exam Object-Oriented Design.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
McGraw-Hill/Irwin© 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 17 Object-Oriented Design and Modeling Using the UML.
Object Oriented Analysis and Design Introduction to Rational Rose.
 System Sequence Diagrams Sheridan SYST Engineering Quality Systems 11.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Introduction to the Unified Modeling Language.
11. Chapter 11: The Object-Oriented Approach to Design: Use Case Realization Systems Analysis and Design in a Changing World, Fourth Edition.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
Systems Analysis and Design in a Changing World, 6th Edition
11 Systems Analysis and Design in a Changing World, Fifth Edition.
 Sequence Diagrams Introduction.  Sequence Diagrams  Review Schedule Sheridan.
The Object Oriented Approach to Design
Analysis models and design models
Chapter 6: Architectural Design
Software Development Process Using UML Recap
Presentation transcript:

Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1

 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 KotubaSYST Object Oriented Methodologies2

Jerry KotubaSYST Object Oriented Methodologies3 Exercise VII Solution

 Create a design class diagram  Explain some of the fundamental principles of object-oriented design SYST39409-Object Oriented Methodologies4

5 A word about Message Notation

SYST39409-Object Oriented Methodologies6

 Good object-oriented design is based on fundamental design principles  Design classes are a fundamental element in systems design SYST39409-Object Oriented Methodologies7

 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

 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

 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

 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

SYST39409-Object Oriented Methodologies12 Object-Oriented Three-Layer Program

 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

 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

 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

SYST39409-Object Oriented Methodologies16

SYST39409-Object Oriented Methodologies17

 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

 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

SYST39409-Object Oriented Methodologies20

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  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 Use Case Controller Pattern

Jerry KotubaSYST Object Oriented Methodologies24

Jerry KotubaSYST Object Oriented Methodologies25 Create Customer Account [1]

Jerry KotubaSYST Object Oriented Methodologies26 Create Customer Account [2]

Jerry KotubaSYST Object Oriented Methodologies27 Create Customer Account [3]

Jerry KotubaSYST Object Oriented Methodologies28 Create Customer Account [4]

Jerry KotubaSYST Object Oriented Methodologies29 Create Customer Account [5]

Jerry KotubaSYST Object Oriented Methodologies30

SYST39409-Object Oriented Methodologies31 Library System Use Case – Check-out Book S.S.D. Domain Class Diagram

 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

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.

SYST39409-Object Oriented Methodologies34 Design Class Diagram

 Review and discuss the Car Rental Case Study before beginning this exercise. Jerry KotubaSYST Object Oriented Methodologies35

 Sequence Diagrams continued… Jerry KotubaSYST Object Oriented Methodologies36