CS302 Software Design

1 Describe the role of software design and computer programming in the IT Systems Development Life Cycle (SDLC)
2 Describe the application and limits of programming paradigms procedural, object oriented and event driven and the available supporting tools and environments (e.g. CASE tools, IDEs)
3 Explain sequence, selection and iteration as used in computer programming
4 Explain abstraction of data and code and the use of predefined data and code in computer programming
5 Explain the importance of the readability and understandability of code and how these can be improved by naming, comments and layout.
6 Describe how the following factors contribute to the quality of code: efficiency, reliability, robustness, usability, portability and maintainability
Apply the techniques of software design
1 Develop algorithms to represent problems
2 Identify and define data and file storage requirements including predefined data items
3 Identify and define program structures including predefined code items
4 Identify and represent required inputs and outputs.
5 Use tools (e.g. pseudocode) to express software designs