21 - © 2010 by Spencer Rugaber Object-Oriented Design •...

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

View Full Document Right Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

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

Unformatted text preview: © 2010 by Spencer Rugaber Object-Oriented Design • Object-oriented analysis produces a model of the problem being addressed – Expressed using UML class models express the real-world concepts and relations necessary to understand the problem • OO design (OOD) is the process of transforming the analysis model into a form more directly implementable by the target OO programming language © 2010 by Spencer Rugaber OOD • The primary concerns of OOD relate to the individual classes and relations in the static analysis diagram – This is sometimes called object design • Before considering object design, however, several other topics need to be discussed 1. From analysis to design 2. Intermodel consistency 3. System design 4. Abstraction mechanisms 5. Collaboration-based design © 2010 by Spencer Rugaber 1. From Analysis To Design • Treat the entire system as an object, aggregating the other objects • Analysis classes → design classes++ • Implementing associations and invariants is the key © 2010 by Spencer Rugaber 2. Intermodel Consistency • The analysis process may have produced multiple diagrams (models) – These must be checked for consistency • Use cases ↔ collaborations • Statecharts for classes • Static model methods ↔ statechart events, actions and activities – Internal statechart events issues by methods – Signals © 2010 by Spencer Rugaber 3. System Design • Architecture: non-functional requirements suggest architectural styles • Concurrency: spectrum from single process to one thread per object • Physical design: allocate tasks to processors • Data stores: database vs. files; locks; protocols • Control: external / internal • Boundary conditions: e.g. handling failures © 2010 by Spencer Rugaber 4. Abstraction Mechanisms: The Vocabulary of Design Mechanism Example Clichés / idioms while (*t) {*s++=*t++;} *s='\0'; Classes hashtable Patterns visitor Aspects logging Frameworks model-view-controller Architectural styles client-server © 2010 by Spencer Rugaber 5. Collaboration-Based Design • User stories • CRC cards • Collaboration and role identification • Documentation via sequence or collaboration diagrams • Role abstraction via abstract classes / interfaces • Synthesis of classes from roles...
View Full Document

This note was uploaded on 05/03/2010 for the course SA 5010 taught by Professor Spen during the Spring '10 term at Asian Institute of Management.

Page1 / 27

21 - © 2010 by Spencer Rugaber Object-Oriented Design •...

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

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