Download presentation
Presentation is loading. Please wait.
Published byDerek Stokes Modified over 9 years ago
1
CS 4850: Senior Project Fall 2014 Object-Oriented Design
2
OOA and OOD - 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
3
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
4
Terminology - Design is answering the “How” question! Classes Attributes Methods Relationships Behavior OOA Model Objects Data Structures Algorithms Messaging Control OOD Model
5
Major Sections of an 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, abbreviations 1.4 References 2. Design Overview 2.1 Introduction 2.2 System Architecture 2.3 System Interfaces 2.4 Constraints and Assumptions 3. System Object Model 3.1 Introduction 3.2 Subsystems 3.3 Subsystem Interfaces 4. Object Descriptions (Object Design) 4.1 Objects in Subsystem 1 4.2 Objects in Subsystem 2 (For our SDD, use table format as in the SRS) 5. Object Collaboration (Process View) 5.1 Objects in Subsystem 1 5.2 Objects in Subsystem 2 6. Dynamic Model State and sequence diagrams 7. Data Design 8. Non-Functional Requirements 9. Supplementary Documentation
6
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. - Don't force subsystems to your project is not applicable! - 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)
7
Step 1: System Design (2) Partitioning the Analysis Model - In section 3 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. Consider using UML package notation to represent subsystems.
8
Step 2: Object Design (1) Here, focus on the detailed design of your objects (attributes and methods) and their messages. Apply the following design activities: 1 - Algorithm design 2 - Data structure design Make sure to adhere to “information Hiding” and “functional independence” concepts as you design your objects.
9
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. Follow the organization in section 4 of the SDD, using table format for each class.
10
Step 2: Object Design (3) Algorithm Design For each class operation, provide an algorithmic description (pseudocode) 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.
11
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 7 of the SDD (see slide #8). Organize this section (sub-headings) similar to section 5 if your project is divided into subsystems.
12
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)
13
Step 3: Object Collaboration In section 5 of the SDD (see slide #8), provide description of collaborations between objects of each subsystems. Provide a UML object collaboration diagram to illustrate potential collaborations among 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).
14
Milestone #3 Each team is required to submit a printout of the software design document (SDD) in the class. Due: Wed 2/19/2014 in class. Make sure that your submission has a cover page with the project title, group number, names of groups members, class information (CS 4850 – Spring 2014), 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 4 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.
15
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: Cover page: (project title, group number, names of groups members, class information, and submission date)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.