Software Engineering Internals 1 (2)
Software Engineering Internals 1 (2)
1 2 marks
1) What is software engineering?
Software engineering is the systematic application of engineering principles to
the design, development, testing, deployment, and maintenance of software. It
aims to create reliable and efficient software systems.
2) What is the
difference between computer science and
software engineering?
o Computer Science: Focuses on theoretical concepts, algorithms,
data structures, and understanding computational systems.
o Software Engineering: Focuses on applying engineering
practices to develop practical and robust software systems,
emphasizing processes, tools, and methodologies.
4 Marks
8) List and explain software process activities.
The main software process activities include:
Examples:
1. Login Functionality: "The system must allow users to log in using a username and
password."
2. Search Feature: "The system should allow users to search for products by name or
category."
3. Payment Processing: "The system must process credit card payments securely."
4. Notifications: "The system must send email notifications to users for password
reset."
Non-Functional Requirements
Comparison
Aspect Functional Non-Functional
Requirements Requirements
Focus What the system should How the system performs the
do tasks
Example Login, search, payment Speed, security, scalability,
s features usability
Purpose Defines core functionality Enhances system quality and
usability
Process:
1. Develop the first increment with basic functionality.
2. Deliver and gather feedback from users.
3. Add more functionality in subsequent increments.
Advantages:
o Early delivery of working software.
o Allows feedback and adjustments during development.
Disadvantages:
o Requires effective planning and integration.
10 Marks
Key Features:
Risk Analysis: Focuses on identifying and mitigating risks at each iteration (or
spiral).
Iterative Development: The project is developed in incremental phases, with
each phase building on the previous one.
User Feedback: Involves continuous stakeholder interaction and validation at
the end of each spiral.
1. Objective Setting: Identify goals, constraints, and risks for that particular iteration.
2. Risk Assessment: Analyze risks and develop strategies to mitigate them.
3. Development and Testing: Implement the product increment and test it.
4. Review and Planning: Evaluate the results and decide whether to proceed to the
next spiral.
Advantages:
Importance:
1. Change Request: Submit a formal request for change, including the reason and
impact.
2. Impact Analysis: Evaluate how the change will affect cost, schedule, and quality.
3. Approval or Rejection: Obtain stakeholder approval for implementing the change.
4. Update Requirements: Modify the requirement documents and communicate
the changes to the team.
5. Version Control: Maintain versions of requirement documents to track changes
over time.
Importance:
Key Features:
Phases in V-Model:
Advantages: