Software Design Development - Development Methodologies Flashcards
What are the main phases of development are?
analysis,
design,
implementation,
testing,
documentation
and evaluation
What does analysis do and its purpose?
Tasks:
Identify and gather user requirements.
Analyze existing systems (if applicable).
Define project scope and objectives.
Create use cases and user stories.
Purpose:
To understand the problem domain and the needs of the users.
What does design do and its purpose?
Tasks:
Create system architecture.
Develop data models and database designs.
Design the user interface (UI).
Plan software components and modules.
Purpose:
To outline how the software will function and look.
What does implementation do and its purpose?
Task:
Write code based on the design.
Develop software features and functionality.
Perform unit testing.
Integrate components/modules.
Purpose:
To build the actual software according to the design.
What does testing do and its purpose?
Tasks:
Conduct various testing types (e.g., unit, integration, system, regression).
Identify and fix defects and issues.
Validate that the software meets requirements.
Purpose:
To ensure the software functions correctly and reliably.
What does documentation do and its purpose?
Task:
Create user manuals and documentation.
Document code (comments and documentation).
Produce system architecture and design documents.
Purpose:
To aid users, maintainers, and future developers.
What does evaluation do and its purpose?
Tasks:
Conduct user acceptance testing (UAT).
Gather feedback from users and stakeholders.
Assess the softwareβs performance and reliability.
Purpose:
To ensure the software meets user needs and quality standards.
Term: Iteration
Definition:
Iteration means repeating a process, and in software development, it refers to revisiting and repeating phases of development as needed.
Use in Software Development:
In software development, iteration involves cycling through phases like design, implementation, and testing multiple times to refine and improve the software.
Traditional vs. Iterative Development
Traditional Development:
Phases are worked through in a linear sequence (e.g., analysis, design, implementation, testing, documentation).
Iterative Development:
Software is developed in cycles, allowing for revisiting and refining phases as necessary.
Iterative Cycle:
Process:
Design part of the program.
Implement the designed part.
Test for errors.
Modify design and implementation based on test results.
Repeat the cycle for the next part of the program.
Purpose:
To incrementally improve the softwareβs quality and functionality.
Benefits of Iteration
Advantages:
Flexibility to adapt to changing requirements.
Early detection and correction of issues.
Continuous improvement and refinement of the software.