CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Introduction To System Analysis and Design
1 SYSTEM and MODULE DESIGN Elements and Definitions.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Object Oriented Analysis and Design Using the UML
Chapter 7: The Object-Oriented Approach to Requirements
Introduction To System Analysis and design
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Tuesday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
Slide 12.1 © The McGraw-Hill Companies, CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design.
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
CS 4850/01: CS Senior Project Fall 2014 Overview of Software Requirements and OO Analysis.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
CS 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. Class Project OO Design Document Here is what you need to do for your class.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Chapter 9 Moving to Design
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 6 System Engineering Overview of System Engineering.
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter 12: Design Phase n 12.1 Design and Abstraction n 12.2 Action-Oriented Design n 12.3 Data Flow Analysis n Data Flow Analysis Example n
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Class Project OO Design Document Here is what you need to do for your class project.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
1 CS Tutorial 5 Frid. Oct 23, 2009 Design Document Tutorial.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
CS 4850: Senior Project – Spring 2009 CS 4850: Senior Project Spring 2009 Overview of Software Requirements and OO Analysis.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
CS 8532: Advanced Software Engineering Dr. Hisham Haddad Overview of Object-Oriented Design Highlights of OOD Concepts, Components, and Process.
Software Design: Principles, Process, and Concepts Getting Started with Design.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Dr D. Greer, Queens University Belfast )Chapter Six 1 Software Engineering Chapter Six Software Design Quality Learning Outcomes.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Unified Modeling Language, Version 2.0 Chapter 2.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Design CS 470 – Software Engineering I Sheldon X. Liang, PH.D.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Basic Characteristics of Object-Oriented Systems
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Discussion of Course Syllabus Class will start momentarily. Please Stand By … CS 8532: Advanced.
CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad , Monday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Design Concepts ch-8
Unified Modeling Language
Week 10: Object Modeling (1)Use Case Model
The Object Oriented Approach to Design
Overview of System Engineering
Object-Oriented Design
Object oriented analysis and design
CS 8532: Advanced Software Engineering
CS 8532: Advanced Software Engineering
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design

CSIS 4850: CS Senior Project – Spring 2009 Structured Design vs. OOD (1) Design Patterns (domain Objects) Responsibilities Design Subsystem Design Class/Object Design Message Design interf a ce design architectural design data design Component design

CSIS 4850: CS Senior Project – Spring 2009 Structured Design vs. OOD (2) - With OO development, think objects (data and operations) rather than functional procedures (during analysis and design). - OOD focuses more on the collaboration among objects than data flow between components of the system. - OOD exhibits different levels of modularity (subsystem modules down to individual methods). - With OOD, system architecture has more to do with object collaboration than with control flow (as in Structured Design). - OOD methods provide better support for essential design concepts - abstraction, modularity, functional independence, information hiding, and reuse.

CSIS 4850: CS Senior Project – Spring 2009 The Big Picture OO Analysis OO Design Implementation OO Testing Deployment Object Relationship Modeling Class Modeling Object Behavior Modeling OO Analysis OO Design Implementation OO Testing Deployment Class Design Sub-System Design Message Design Responsibilities Design

CSIS 4850: CS Senior Project – Spring 2009 Mapping OOA to OOD Design Patterns (domain Objects) Responsibilities Design Subsystem Design Class/Object Design Message Design Use Cases Object Behavior Model Class Model Object Relatio- nships Attributes Operations Collaborators

CSIS 4850: CS Senior Project – Spring 2009 Unified Approach to OOD (1) Responsibilities Design Subsystem Design Class/Object Design Message Design OOD Process Object Design System Design

CSIS 4850: CS Senior Project – Spring 2009 Unified Approach to OOD (2) - Read Chapter 22 Handout - Design is answering the “How” question! Classes Attributes Methods Relationships Behavior OOA Model Objects Data Structures Algorithms Messaging Control OOD Model

CSIS 4850: CS Senior Project – Spring 2009 Major Sections of OO SDD Other sections and subsection may be added as needed. Table of Contents 1. Introduction 1.1 Purpose 1.2 Scope 1.3 Definitions, acronyms, and abbreviations 1.4 References 2. Glossary 3. Use Cases 4. Design Overview 4.1 Introduction 4.2 System Architecture 4.3 System Interfaces 4.4 Constraints and Assumptions 5. System Object Model (System Design) 5.1 Introduction 5.2 Subsystems 5.3 Subsystem Interfaces 6. Object Descriptions (Object Design) 6.1 Objects in Subsystem Object Object Objects in Subsystem Object Object 2 (use table format as in the SRS) 7. Object collaboration (Process View) 7.1 Objects in Subsystem Objects in Subsystem 2 8. Data design 9. Dynamic Model 9.1 State Diagrams State Diagram State Diagram Non-functional requirements 11. Supplementary Documentation

CSIS 4850: CS Senior Project – Spring 2009 Step 1: System Design (1) Partitioning the Analysis Model - From your SRS description, identify potential subsystems. A subsystem is a self-contained and highly-independent groups of classes that define a main function of the system. - A subsystem has: - a well-define interface (check use-cases) - reasonable number of classes - classes that communicate with each others - possibly some internal subsystems. (check use-cases) Consider organizing subsystems in layers for better management and control (such as GUI layer, computing subsystems(s) layer, data management layer, etc…).

CSIS 4850: CS Senior Project – Spring 2009 Step 1: System Design (2) Partitioning the Analysis Model - In section 5 of the SDD (see slide #8), provide a description for each subsystem and its interface. (separate table for each subsystem) - Provide a collaboration diagram to illustrate interactions among the subsystems (see figures 22.4 and 22.6 in the handout). Consider using UML package notation to represent subsystems.

CSIS 4850: CS Senior Project – Spring 2009 Step 2: Object Design (1) Here, focus on the detailed design of your objects (attributes and methods) and their messages. Apply the following activities of the design process: 1 - Object description 2 - Algorithm design 3 - Data structure design Make sure to adhere to “information Hiding” and “functional independence” concepts as you design your objects.

CSIS 4850: CS Senior Project – Spring 2009 Step 2: Object Design (2) Object Description For each class in each subsystem, provide object description that includes interface description and implementation description. Interface description is a listing all message that an object of the class can respond to (i.e., all public methods it provides to its users). Implementation description is the internal (hidden) details of the operations that implement the interface methods (next slide). Follow the organization in section 6 of the SDD, using table format for each class.

CSIS 4850: CS Senior Project – Spring 2009 Step 2: Object Design (3) Algorithm Design For each operation of the class, provide an algorithm description as a self-contained module. Consider dividing complex operations into separate smaller operations, such that each smaller operation performs a well-defined functions. Apply stepwise refinement, such that: - define operation interfaces (list of parameters if any) - fill-in operation body sections - refine body details as needed The level of details of your algorithmic description should be sufficient enough so that the implementer can translated it to source code without help from the designer.

CSIS 4850: CS Senior Project – Spring 2009 Step 2: Object Design (4) Data Structure Design Define needed data structures of the class (if any) in conjunction with class operations. Document your data structures in section 8 of the SDD (see slide #8). Organize this section (sub-headings) similar to section 6.

CSIS 4850: CS Senior Project – Spring 2009 Step 2: Object Design (5) - Create a specification class diagram: - add classes and relationships needed for modeling the solution (classes of interest to the developer) - add more details into individual classes (attributes and operations details) - Expand the class diagram in the SRS to include: - other classes and relationships needed for modeling the solution (those are classes of interest to you - the developer) - details of new classes (attributes and operations)

CSIS 4850: CS Senior Project – Spring 2009 Step 3: Object Collaboration In section 7 of the SDD (see slide #8), provide description of collaborations between objects of each subsystems. Provide a UML diagram similar to figures 22.4 and 22.6 in the handout to illustrate potential collaborations between objects of each subsystem. Notice that collaboration is required when a class cannot fulfill all of its responsibilities on its own (i.e., the class doesn’t have method(s) to manipulate its attributes). Most common collaborations are part-of and has-knowledge-of (see OOA slides).

CSIS 4850: CS Senior Project – Spring 2009 Milestone #3 Each team is required to submit a printout of the software design document (SDD) in the class. Due date is Thursday 3/4/2009 in class. Make sure that your submission has a cover page with the project title, group number, names of groups members, class information (CSIS 4850 – Spring 2009), and submission date. Feel free to modify any template you choose to fit your project design description as long as you include the sections outlined on slide #8. You may reuse your SRS template with the sections outlined on slide #8. For sections 6 and 7 of the SDD (slide #8), you can take the tables from the SRS and expand them to include design details for each class method and attributes.

CSIS 4850: CS Senior Project – Spring 2009 Final Project Submission The final submission is complete document that include the Project Plan, SRS document, SDD, Prototype or Implementation, and References as major sections. Add new section for updates made to each of those deliverables during project development, and a section for potential future functions of the system. Review the entire report for flow and consistency. Due Date: To be decided Cover page: (project title, group number, names of groups members, class information, and submission date)