In order for students to be able to develop software to meet an identified need, they first need to be able to understand the specifications of a problem so that they can eventually translate these specifications into code. As well as having good technical skills, it is necessary for students to have good communication skills so that the users’ requirements can be fully understood and implemented throughout the development process. The modelling tools used should conform to those specified in the Software and Course Specifications document and should provide documentation that can be interpreted by developers and maintainers. Students should develop and refine skills as an integrated part of developing their software solutions. It is important at this initial stage of the process that all relevant social and ethical issues are considered as an integral part of the design and development of the solution. [NESA SDD Syllabus 2010]
draw.io, lucidcharts, pencil & paper
The tools we study can be used used for both understanding and design. Remember, "One Level’s Requirement Is Another Level’s Design".
This is often assembled in to a problem statement and a Software Requirements Specification (SRS).
Determining if an existing solution can be used– social and ethical considerations
Selecting an appropriate development approach if there is no appropriate existing solution