T4Tutorials .PK

VU Past Papers CS603 – Mid Term past papers Spring 2018 Shorts answers

Q1: Difference between Process and Design Process (5 Marks)

AspectProcessDesign Process
Definition              A series of steps or actions to                                                accomplish a taskA structured approach to creating software design solutions
Focus        Overall software development lifecycleCreating the architecture and detailed design of software
Output             Working softwareDesign 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:

  1. Understand customer needs clearly.
  2. Avoid misunderstandings and scope creep.
  3. Identify functional and non-functional requirements.
  4. Provide a basis for system design and testing.
  5. 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:

2. Project Activities Management:

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:

  1. Architectural Design: Define overall system structure and modules.
  2. Interface Design: Specify how modules interact with each other and with users.
  3. 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)

  1. Improves Maintainability: Easier to fix bugs or add features.
  2. Enhances Readability: Clear structure for developers.
  3. Reduces Complexity: Organizes the system in manageable components.
  4. Facilitates Testing: Well-designed modules are easier to test individually.
  5. Supports Reusability: Components can be reused in future projects.

Exit mobile version