Processes VS life cycles
Software Development Processes are often confused with software life cycle; and although, it is a series of steps to follow, processes is referred to as all the approaches or models for different types of tasks.
Activities & Steps:
- Requirement analysis: Mostly analyzing requirements for desired product or software: skills, money, etc.
- Specifications: Precisely describing what a software is to do.
- Software architecture: Abstractedly representing the architecture of a software system.
- Implementation: Actual coding, and implementation of architecture.
- Testing: Testing the code, or codes.
- Documentation: In order, to create a safe maintenance ambiance for the software.
- Training and support: Develop training classes for intended users, so that the software is not new for them, and they notice the transcendence of the system.
- Maintenance: Enhancing, upgrading, and deleting bugs mostly.
There are several models and methodologies that try to improve quality, and productivity.
Examples of methodologies:
- Waterfall processes (Soon blog about this method)
- Iterative processes (Soon blog about this method)
2 hours long tutorial explaining more about this topic, and about more methodologies.
References:
http://www.selectbs.com/analysis-and-design/what-is-a-software-development-process