Students going through their first Software Development Lifecycle (SDLC) are often faced with writing requirements, design, and test plan documents without much background. CompuScholar courses include templates for these documents. Let's explore each type of document!
Common SDLC Phases
The classic waterfall development model has 4 phases:
- Requirements - This phase defines what the program will do using a Requirements Document.
- Design - This phase defines how the program will be coded using a Design Document.
- Implementation - The program is coded in this phase using the Requirements and Design documents for guidance.
- Testing - In this phase, the coded program is fully tested using a Test Plan document.
Note that results from the Testing phase are fed back into earlier phases to correct the code or earlier documents as needed.
Downloadable and Editable Document Templates
CompuScholar courses contain a variety of project template documents that students can modify. You can download a ZIP of sample documents in editable Microsoft Word format from the link below.
There is no universal standard for how these documents must be formatted or the specific content that must be present. The simple versions we offer are appropriate for students and can be modified as needed to fit your classroom.
A Requirements document is often done in collaboration with others as part of a team. Therefore, it's often a good idea to put the author(s), date, and version at the top of a requirements document for reference. After that, the following sections are typically found:
- Summary and Description - A brief, high-level description of the project
- Storyboards and Site Maps - Mock-up visuals illustrating program flow and major user interfaces or tasks
- Detailed Requirements and Use Cases - Specific requirements for each page, screen, program feature, or object
- Non-Functional Requirements - System performance, minimum hardware and software needed, time and budget constraints, etc.
- Appendix - Other details that didn't fit into the above categories
A Design document is also often done in collaboration with others and should have author, version, and date information at the top. It may also reference a requirements document that was used to guide the design. After that, the following sections are typically found:
- Overview and Background - A summary of the overall approach or other useful context
- High-Level System Design - Overall program design, big-picture system diagrams, definition of major components, and high-level data flow
- Detailed Component Design - Detailed description of a smaller component, sub-system, or code object, possibly including flowcharts, UML diagrams, and I/O specifications.
- Dependencies and Milestones - Lists of things needed to complete the program (technology, skills, tools, etc.) and a rough timeline for developing components and completing the overall system.
- Appendix - Additional detail that didn't fit into the rest of the document
A Test Plan contains a list of Test Cases that should be run to verify the program meets all of the requirements. Each Test Case should contain:
- Name - unique name or number for this test
- Pre-Conditions - how to get the program ready for this test
- Specification - details on how to run the test
- Post-Conditions - what to look for to verify the program worked as expected
A Test Plan is expected to be run iteratively (multiple times), and therefore also usually includes a Test Results Sheet. The Test Results Sheet is a table listing all the test cases by name, with columns for whether or not the test passed and notes for the developers to help reproduce an error on each failure.
Student requirements, design, and test plan documents don't need to be of professional quality! It's important to get students thinking about the process and have them document the main aspects of a project before they leap right into the code.
For More Information
Check out our January 2024 Professional Development Webinar - "Project Documentation Templates" - for further details and a video walk-through of each document. As always, please Contact Us if you have questions!