Project Analysis

Purpose

A clear, concise statement explaining why the software is being developed and what problem it aims to solve.

Functional Requirements

Detailed list of inputs, processes, and outputs. Must be measurable to allow for testing later.

  • Search for items in the database.
  • Calculate total cost including VAT.
  • Generate monthly sales report.

Feasibility Studies

Economic

Cost-benefit analysis. Does the projected profit or saving justify the development costs?

Time

Can the project be completed by the required deadline with the available staff?

Legal

Compliance with laws (GDPR, Copyright, Computer Misuse Act). Intellectual property rights.

Technical

Do we have the hardware, software, and expertise required to build this?

User-Survey

Gathering data from potential users to ensure the product meets a real need and will be adopted.

Project Planning

Scheduling & Allocation
  • Scheduling: Ordering tasks to minimize downtime and meet deadlines.
  • Resource Allocation: Assigning specific people, hardware, and budgets to tasks.
Gantt Charts

A visual timeline showing:

  • Task durations and dependencies.
  • Concurrent (parallel) tasks.
  • Critical milestones and deadlines.

Requirement Spec

End-User Requirements

Statements from the user's perspective (User Stories). "As a user, I want to..."

Scope & Boundaries
  • Scope: What is included in the project.
  • Boundaries: What is specifically excluded (limits).
  • Constraints: Hardware limits, budget, or software languages.

UML Use Case Diagrams

Key Components
  • Actor: External entity interacting with the system (Stick figure).
  • Use Case: A function/action within the system (Oval).
  • System Boundary: Box containing all use cases.
Relationships
  • Association: Solid line connecting Actor to Use Case.
  • <<include>>: Dashed arrow. Action B must happen for Action A (e.g., Login before Checkout).
  • <<extend>>: Dashed arrow. Action B is optional for Action A (e.g., Add Gift Wrap).

Project Testing

Testing must be systematic and documented in a Test Plan.

Test Plan Components
  • Test ID & Description
  • Test Data (Normal, Extreme, Exceptional)
  • Expected Result
  • Actual Result & Pass/Fail

Integrated testing ensures modules work together after being individually tested (Unit testing).