Q1: Difference between Process and Design Process (5 Marks)
| Aspect | Process | Design Process |
| Definition | A series of steps or actions to accomplish a task | A structured approach to creating software design solutions |
| Focus | Overall software development lifecycle | Creating the architecture and detailed design of software |
| Output | Working software | Design specifications, diagrams, models |
| Example | Software Development Life Cycle (SDLC) | UML diagrams, data flow diagrams, prototypes |
Key Point: Process = “What is done”; Design Process = “How it is designed”.
Q2: Purpose of Requirement Elicitation (5 Marks)
Requirement Elicitation is the process of gathering requirements from stakeholders to define what the software system should do.
Purposes:
- Understand customer needs clearly.
- Avoid misunderstandings and scope creep.
- Identify functional and non-functional requirements.
- Provide a basis for system design and testing.
- Improve project planning and estimation accuracy.
Key Point: It ensures the software will meet stakeholder expectations.
Q3: Managing Project Staffing and Project Activities as Software Designer (5 Marks)
1. Project Staffing:
- Identify required skills for each role (developer, tester, analyst).
- Assign team members based on expertise and availability.
- Balance workload to avoid bottlenecks.
2. Project Activities Management:
- Break project into phases (design, coding, testing).
- Use project management tools to track progress (e.g., Gantt charts).
- Conduct regular meetings to review status and resolve issues.
- Prioritize tasks to meet deadlines efficiently.
Key Point: Proper staffing + activity management = successful and timely software delivery.
Q4: Project Design and Three Tasks (5 Marks)
Project Design:
The stage in software development where a system’s architecture, components, interfaces, and data are defined to satisfy the requirements.
Three Main Tasks of Project Design:
- Architectural Design: Define overall system structure and modules.
- Interface Design: Specify how modules interact with each other and with users.
- Database & Data Design: Organize data structures and storage methods.
Key Point: Design bridges the gap between requirements and implementation.
Q5: Five Benefits of Good Design (5 Marks)
- Improves Maintainability: Easier to fix bugs or add features.
- Enhances Readability: Clear structure for developers.
- Reduces Complexity: Organizes the system in manageable components.
- Facilitates Testing: Well-designed modules are easier to test individually.
- Supports Reusability: Components can be reused in future projects.