What is design?
Design is a problem-solving process. Its objective is to find and describe a way:
What is a software solution?
A software solution is a compromise meeting all aspects:
What is the goal of documentation?
The goal of documentation is to record and keep current the results of design decisions so that stakeholders find the information they need.
What is the result of a software design?
- design decisions
Why is it important to capture the rationale?
Decisions always have some rationale.
Organizations want to be able to reuse, support future change, increase personal effectiveness, use for training.
What is Software Design Description (SDD)?
A respresentation of a software design to be used for recording design information and communicating that design information to key design stakeholders.
What is a design entity: component?
• No agreed upon definition
• Any piece of software or hardware that has a clear role
- Isolated, replaceable with a different component with equivalent functionality (DB, authentication server)
- Reusable, generalized to fit in different types of systems (address book – for email, agenda, networking)
• Special-purpose, providing very specific (and hence expensive) services (e-payment – for e-shopping, pay university fees, taxes)
What is the design entity: Module?
Design entity: Module
What is a system?
What is a design view?
What is a design viewpoint?
What is a design overlay?
What is a design rationale?
To take design decision, what does the software engineer uses?
“current” knowledge:
• the requirements
• the design as created so far
“past” knowledge:
• technology available
• what has worked well in the past
• software design principles and “best practices”
Seven rules for creating sound documentation
How to review documentation
• Goal: the design is documented well enough so that people can understand and use it.
• A review answers questions about documentation’s consistency
- consistent with stakeholder community
- consistent with itself
- consistent with good form
- consistent with the system
Goal of presenting design documentation
Goal: help the audience to appreciate the problem, see the solutions chosen, the why, and gain confidence that it is the right solution