OOdesign - Object-oriented design CSE 432: Object-Oriented...

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

View Full Document Right Arrow Icon
    Object-oriented design CSE 432: Object-Oriented Software Engineering
Background image of page 1

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

View Full DocumentRight Arrow Icon
    Goals of OO analysis (quick review) What are the two main goals of OO analysis? 1) Understand the customer’s requirements 2) Describe problem domain as a set of classes and relationships What techniques have we studied for the 1st goal? Develop a requirements specification Describe scenarios of use in user’s language as use cases What techniques have we studied for the 2nd goal? CRC cards discover classes and run simulations Sequence diagrams model dynamic behavior of a system
Background image of page 2
    Goals of OO design OO design develops the analysis into a blueprint of a solution Where does the “blueprint” metaphor come from? OO design starts by fleshing the class diagrams continuum of representation principle: use a single underlying representation, from problem domain to OOA to OOD to OOP," i.e., class diagrams Reworks and adds detail to class diagrams, e.g., attribute types, visibility (public/private), additional constraints Looks for opportunities for reuse Addresses performance issues, both for system and users Designs UI, database, networking, as needed Designs ADT to describe the semantics of classes in more detail Develops unit test plans based on class diagrams and ADT design
Background image of page 3

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

View Full DocumentRight Arrow Icon
    Four activities of design (Coad) 1) Improve domain analysis: reuse and performance OOA focuses primarily on the describing problem domain itself OOD reexamines the domain with an eye to practical concerns Reuse: factor out common code in abstract classes Performance tradeoffs: efficiency vs. effectiveness 2) Human interaction: encapsulates user interface HIC knows how to present data, not how to compute it Separation of concerns principle: Keep problem domain classes distinct from human interaction classes. Why? Loose coupling facilitates software reuse and maintenance An example: the Smalltalk Model-View-Controller framework: model is the problem domain view is the human interface (windows that view the problem domain objects) controller is the mouse or keyboard input, also interacting with P.D. objects C++ Interviews is two part framework: subject (problem domain) & views (UI)
Background image of page 4
    How does this design illustrate the separation of concerns principle?
Background image of page 5

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

View Full DocumentRight Arrow Icon
Image of page 6
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 08/06/2008 for the course CSE 432 taught by Professor Blank during the Fall '08 term at Lehigh University .

Page1 / 16

OOdesign - Object-oriented design CSE 432: Object-Oriented...

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

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