For a 25 KLOC organic project:
Development time (TDEV)*:
*actual calendar time required to complete the project.
Developers and stakeholders work together to gather and define the software’s functional and non-functional requirements. This is followed by documenting the requirements in a formal specification to guide the development process
Covered in detail in week 3.
System design is divided into high-level design (HLD) and low-level design (LLD). HLD defines the system architecture, while LLD focuses on specifics like data structures and algorithms
UML diagrams
Activity diagrams, which show the activities involved in a process or in data processing .
Use case diagrams, which show the interactions between a system and its environment.
Sequence diagrams, which show interactions between actors and the system and between system components.
Class diagrams, which show the object classes in the system and the associations between these classes.
State diagrams, which show how the system reacts to internal and external events.
*Covered in week 4.
Developers begin writing the actual code based on the design documents. Version control systems are typically used, and the code is reviewed regularly to maintain quality
Covered in week 6
The software undergoes rigorous testing, including unit, integration, and system testing, to identify and fix bugs. User Acceptance Testing (UAT) ensures the software meets the user's needs.
Feature Tests
Functional Testing
Performace and Load Testing
Security Testing
Test Driven Development
Unit Testing
User Testing
Covered in week 8
Once testing is completed, the software is deployed in the production environment. The deployment could be done in phases or all at once, depending on the project's scale
After deployment, the software enters the maintenance phase, where it is regularly updated, bugs are fixed, and improvements are made based on user feedback
Covered throughout, but specifically week 11
Question: What are the key characteristics of ethical behaviour?
ISO/IEC/IEEE 12207:2017
ISO/IEC/IEEE 15288:2023
ISO/IEC 25010:2023
ISO/IEC/IEEE 29119-1:2022