06-03-ObjectDesign-notes

06-03-ObjectDesign-notes - Object Design Chapter 7, Object...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
1 CSE 435: Software Engineering B. Cheng Chapter 7, Object Design CSE 435: Software Engineering B. Cheng Object Design • Object design is the process of adding details to the requirements analysis and making implementation decisions • The object designer must choose among different ways to implement the analysis model with the goal to minimize execution time, memory and other measures of cost. • Requirements Analysis : Use cases, functional and dynamic model deliver operations for object model • Object Design : We iterate on where to put these operations in the object model • Object Design serves as the basis of implementation CSE 435: Software Engineering B. Cheng Object Design: Closing the Gap Custom objects Application objects Off-the-shelf components Solution objects System Problem Machine System design gap Object design gap Requirements gap CSE 435: Software Engineering B. Cheng Object Design Issues • Full definition of associations • Full definition of classes • Choice of algorithms and data structures • Detection of new application-domain independent classes (example: Cache) • Optimization • Increase of inheritance • Decision on control • Packaging
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Terminology of Activities • Object-Oriented Methodologies System Design • Decomposition into subsystems Object Design • Implementation language chosen • Data structures and algorithms chosen • SA/SD uses different terminology: Preliminary Design • Decomposition into subsystems • Data structures are chosen Detailed Design • Algorithms are chosen • Data structures are refined • Implementation language is chosen • Typically in parallel with preliminary design, not separate stage CSE 435: Software Engineering B. Cheng Object Design Activities 1. Service specification – Describes precisely each class interface 2. Component selection – Identify off-the-shelf components and additional solution objects 3. Object model restructuring – Transforms the object design model to improve its understandability and extensibility 4. Object model optimization – Transforms the object design model to address performance criteria such as response time or memory utilization. CSE 435: Software Engineering B. Cheng Service Specification • Requirements analysis – Identifies attributes and operations without specifying their types or their parameters. • Object design – Add visibility information – Add type signature information – Add contracts CSE 435: Software Engineering B. Cheng Add Visibility UML defines three levels of visibility: • Private: – A private attribute can be accessed only by the class in which it is defined. – A private operation can be invoked only by the class in which it is defined. – Private attributes and operations cannot be accessed by
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 07/25/2008 for the course CSE 435 taught by Professor Cheng during the Fall '07 term at Michigan State University.

Page1 / 13

06-03-ObjectDesign-notes - Object Design Chapter 7, Object...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online