- Definition of problem
- Why are you tackling this problem, where will the design be used?
- Where will the resulting software be integrated to?
- Sequence diagram of main flow
- Class diagram showing most important classes
- Constraints (time, memory, programming language due to platform to be integrated to etc.)
- Detailed description of inputs from outside and outputs to outside (definition, data type), i.e. API
- Explanation of non-trivial algorithms, selection reason of particular data structures, complexity analysis.
- Design principles:
- Modularity, how it will be achieved (observer pattern, bridge pattern etc.)
- Error handling and logging
Wednesday, January 27, 2016
Basic Software Design Report
A software design report should mainly answer "why" more than "how", because you might learn the "how" by looking at the code but not the "why". It should contain as a minimum the following:
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment