Software Engineering
Software development life cycle model:
- Feasibility Study
- Requirements analysis and specification
- Requirement gathering and analysis
- Requirement specification
- Design
- Coding and Unit testing
- Integration and System testing
- Alpha testing
- Beta testing
- Acceptance testing
- Maintenance
- Corrective Maintenance
- Perfective Maintenance
- Adaptive Maintenance
Principles And Useful skills:
- Code Optimization
- Code Refactoring
- Unit Testing
- Code Formatting and tidying
- Software Development Practices
- Data Structure
- Model Deployment
- Parallel Processing
- Establishing Requirements: Involves consulting with stakeholders to agree on system requirements.
- Analysis: Begins with the statement of requirements and ends with a system specification.
- Design: Starts with the system specification and results in detailed design documents.
- Implementation: Involves constructing the system based on the design documents and considering the operating environment.
- Testing: Compares the implemented system against design documents and requirements, leading to iteration through the life cycle.
- Maintenance: Addresses changes in requirements, bug fixing, and system porting to new environments, leading to repeated revisiting of the waterfall life cycle.