COMP 325 Lecture 13: Design Workflow
major resources: Object-Oriented and Classical Software Engineering 6ed,
Schach 2005, Object-Oriented Software Engineering, Schach 2008,
and Designing from Both Sides of the Screen, Isaacs and Walendowski 2002
[ previous
| schedule
| next
]
Object Oriented Design Workflow
- Can begin working on it before analysis workflow is complete
- Finally address the "how"; attention turns to the implementation domain
- Entails two major activities
- filling in remaining details of the class diagram
- attributes and their details
- methods, and assigning them to proper class - some guidelines:
- if method modifies attributes, it goes with class having the attributes
- if multiple clients have relationship with it, it goes with the "server" class
- assign it to class that assumes it as responsibility, as revealed through CRC cards
- developing detailed design of methods using pseudo-code
- the assumption underlying these activities: the classes identified and specified
in analysis workflow are retained for the design and implementation
- this represents a major advance for OO versus classical techniques
- vastly simplifies traceability from implementation through design and analysis
- there will inevitably be changes to class diagram info as design and implementation progress
- principle artifacts are finalized class diagram plus method designs
- testing is done through walkthroughs and inspections, just as for requirements and analysis
System design architecture
- architecture refers to overall system structure
- needs to be established early in design
- Even if purely OO, the objects/classes need to be organized and arranged
- e.g. if client-server, some objects assigned to client and others to server and means of
communication needs to be established
- e.g. if system architecture is organized by subsystems, then classes need to be assigned
to subsystems
- discussion guided by PowerPoint presentation and handout
- subsystem architecture example: robot control system
- repository architecture example: CASE toolset
- abstract-machine architecture example: version management system
- client-server architecture example: file and picture library
- 2-tier, 3-tier, N-tier client-server
- example of domain-specific generic architecture: compiler architecture
- example of domain-specific reference architecture: OSI 7-layer network model
- intro to control models, including call-return, real-time system controller, interrupt-driven and
event-driven
- these issues are not covered in Schach software engineering textbook
User Interface Design
- discussion guided by material from Winter 2004 COMP 481 Special Topics:
User Interface Design
- UID textbook by Isaacs and Walendowski referenced at top of this page
- Two major aspects of User Interface Design
- these issues are not covered in Schach software engineering textbook
[ COMP 325
| Peter Sanderson
| Math Sciences server
| Math Sciences home page
| Otterbein
]
Last updated:
Peter Sanderson (PSanderson@otterbein.edu)