SAMPLE SDS CONTENTS
1. Table of contents
- Purpose of the SDS
- Naming Conventions
2. User Interfaces
For a chosen high priority use case:
- Navigation through the system's user interface to accomplish a use case
(including alternative flows due to abnormal scenarios)
- Screen Designs that illustrate the navigation
- Data Validation for the data that have to be entered through the
navigation
- Error Messages & Diagnostics that can appear through the navigation
for a use case
3. UML Design diagrams
- Class diagram (each class must have a name, attributes, types of attributes, scope of visibility for attributes and operations, each operation must also have its formal parameter list defined, return type defined, and exceptions that an operation can throw also must be mentioned; the kinds of relationships must include at least generalization, association, aggregation, composition; you must specify the multiplicity for the relationships)
- Acceptance testcases based on the chosen high priority scenarios for normal and abnormal cases
- A system-level statechart diagram
- Statechart diagram for the main controller class (the one responsible for important system behavior)
- Class protocol testcases (sequences of method invocations and expected state once they are done) for the main controller class based on the statechart diagram of that class
4. Implementation Constraints
5. Definitions
6. References