The Software Development Process
Any software process must include the following four activities:
- Software specification (or requirements engineering): Define the main functionalities of the software and the constrains around them.
- Software design and implementation: The software is to be designed and programmed.
- Software verification and validation: The software must conforms to it’s specification and meets the customer needs.
- Software evolution (software maintenance): The software is being modified to meet customer and market requirements changes.
- A complete software specification document for a project
- A complete template specification document to support developers and product owners with requirements engineering
- Software Design Considerations
- Waterfall vs AgileMethodology
- UML Diagrams
- Object-Oriented Design with Java
Software design done correctly doesn't leave much creativity to the next stage in the process, implementation.
Verification that the software works according to specifications securely, provides a pleasant and functional user experience, and in incorporates the principles of universal design can be a tedious task.
The advent of "test-driven development" minimizes the tedium.