SDLC requires a designing step that models how the application will work and aspects of the design. Some of the aspects can include:
- UI: How customers will interact with the software and how the software is meant to respond to certain inputs.
- Programming: The programming language that will be used, as well as how the software will solve problems and perform tasks.
- Security: The certain measures that will be taken to ensure that the application is secured. This includes SSL encryption, password protection and secure data storage.
- Communications: Define how the application will communicate with other assets like a central server.
- Architecture: Includes industry practices, any templates, overall design and specific programming languages.
- Platforms: Outlines the platform that will host the software, like Apple, Windows, Android or Linux.
After the design has been defined, a prototype of an early version of the software can be created to demonstrate a basic idea of how an application will look, how it will respond and what it is capable of doing. This is the phase where programmers receive feedback from stakeholders in order to approve the application—prototyping is much less expensive than making changes in the development phase.