SYSTEM ANALYSIS AND DESIGN SYSTEM REQUIREMENT SPECIFICATION AND ANALYSIS

UNIT 1: SYSTEM REQUIREMENT SPECIFICATION AND ANALYSIS

1. Introduction to System Requirements

Before building or buying any system, we must answer: “What exactly should the system do?”
The answer is captured as system requirements – a complete description of the system’s functions, features, constraints, and quality attributes.

Two key activities:

  • Requirement Analysis – The process of discovering, understanding, documenting, and validating the needs of stakeholders.
  • System Requirement Specification (SRS) – The formal document that records those requirements in a clear, complete, and unambiguous way.

Analogy: Building a house.

  • Requirement analysis = discussing with the family: number of bedrooms, kitchen layout, budget, style.
  • SRS = the detailed blueprint and contract that the architect gives to the constructor.

2. Types of System Requirements

Requirements are broadly divided into Functional and Non-Functional.

2.1 Functional Requirements

Describe what the system must do – specific behaviours, inputs, outputs, and data processing.

Examples for a Library Management System:

  • The system shall allow a librarian to add a new book (title, author, ISBN, category).
  • The system shall allow a member to borrow a maximum of 5 books at a time.
  • The system shall send an overdue email notification 3 days after the due date.
  • The system shall generate a report of all books borrowed in the last month.

Characteristics:

  • Action-oriented (verbs: add, delete, update, search, calculate, generate)
  • Directly testable (you can write a test case)

2.2 Non-Functional Requirements (Quality Attributes)

Describe how well the system performs its functions – constraints and quality criteria.

CategoryDescriptionExample
PerformanceResponse time, throughput, latency“Search results shall appear within 2 seconds for 95% of queries.”
SecurityAuthentication, authorization, data protection“Only managers can approve expense claims; passwords must be 8+ chars with 1 number.”
UsabilityEase of learning and use“A new cashier shall complete a transaction within 3 minutes after 1 hour of training.”
ReliabilityUptime, mean time between failures“The system shall be available 99.9% of business hours (excluding planned maintenance).”
ScalabilityHandling growth in users or data“The system shall support 500 concurrent users without degradation.”
MaintainabilityEase of fixing and enhancing“The code shall follow modular architecture; changes to one module shall not affect others.”
PortabilityAbility to run on different platforms“The mobile app shall work on iOS 15+ and Android 11+.”
RegulatoryCompliance with laws“All credit card data shall be encrypted at rest and in transit (PCI-DSS).”

Key insight: Missing non-functional requirements is a common reason for project failure. Users will say “the system is slow” even if all functional requirements are met.

Types of System Requirements

2.3 Other Classifications

  • User Requirements – Statements in natural language for customers (e.g., “The customer can view order history”).
  • System Requirements – More technical, detailed version for developers.
  • Business Requirements – High-level organizational goals (e.g., “Increase online sales by 20%”).
  • Transition Requirements – Needed to move from old to new system (e.g., data migration, user training).

3. The Requirement Analysis Process

Requirement analysis is not a single step; it is an iterative process throughout the early stages of SAD.

3.1 Process Overview

Identify Stakeholders → Gather Requirements → Analyze & Model → Validate → Document (SRS) → Manage Changes

Requirement Analysis Process

3.2 Step 1: Identify Stakeholders

Stakeholders are anyone who has an interest in the system. Missing a key stakeholder leads to missed requirements.

Stakeholder TypeExamples
UsersData entry clerks, managers, customers, administrators
Clients / SponsorsThe person paying for the system
TechnicalDevelopers, DBAs, system architects, IT operations
RegulatorsAuditors, legal department, government agencies
ExternalSuppliers, partners, end customers

Technique: Create a stakeholder map – list all roles, their power/interest, and how to engage them.

3.3 Step 2: Gather Requirements (Elicitation)

Common techniques – use multiple to cross-check.

TechniqueDescriptionBest forPitfall
InterviewsOne-on-one or group, structured or open-endedDeep understanding of user needsTime-consuming; interviewer bias
Surveys / QuestionnairesWritten questions to many peopleLarge user groups; quantitative dataLow response rate; no follow-up
Workshops / JAD sessionsFacilitated meetings with stakeholdersReaching consensus quicklyRequires skilled facilitator
ObservationWatching users in their real environmentDiscovering tacit knowledge (things users forget to mention)Hawthorne effect (users change behavior when watched)
Document AnalysisReviewing existing manuals, forms, reports, proceduresUnderstanding current systemDocuments may be outdated
PrototypingBuilding a mock-up or clickable demoClarifying vague requirements; getting early feedbackUsers may think the prototype is the final product

Example combination:

  • Interview managers for strategic requirements.
  • Observe clerks for operational details.
  • Run a workshop to resolve conflicts between sales and warehouse.

3.4 Step 3: Analyze and Model Requirements

Raw data from elicitation is messy. Analysis organizes it into models.

Common models used in analysis:

  • Use Case Diagrams – Shows actors and system functions (high-level).
  • Use Case Descriptions – Step-by-step flow of events for each use case.
  • Activity Diagrams – Workflow and decision logic.
  • Class Diagrams – Data entities and relationships.
  • State Machine Diagrams – Object lifecycle (e.g., Order: new → paid → shipped → delivered).
  • User Stories (Agile) – “As a [role], I want [feature] so that [benefit].”

Example User Story:
“As a customer service agent, I want to see the complete order history of a caller within 5 seconds, so that I can resolve issues without placing them on hold.”

3.5 Step 4: Validate Requirements

Validation ensures that the requirements are correct, complete, consistent, and feasible.

Validation techniques:

TechniqueWhat it does
Requirements Review (Walkthrough)Stakeholders review the draft SRS line by line.
PrototypingUsers interact with a mock-up to confirm understanding.
Test Case DraftingWrite preliminary test cases – if you cannot test it, the requirement is poor.
Traceability MatrixLink each requirement to its source and later to design/test.
ChecklistUse a standard checklist (e.g., “Is each requirement measurable?”)

Common validation questions:

  • Can this requirement be implemented with the given budget/time?
  • Are there any conflicting requirements? (e.g., one user wants real-time, another wants batch)
  • Is the requirement ambiguous? (“fast” → replace with “under 2 seconds”)

3.6 Step 5: Document in SRS (see Section 4)

3.7 Step 6: Manage Changes (Requirements Traceability)

Requirements change over time. Use a change control process:

  1. Any change request is logged.
  2. Impact analysis (cost, schedule, other requirements).
  3. Approval by a change control board.
  4. Update the SRS and traceability matrix.

4. System Requirement Specification (SRS) Document

4.1 What is an SRS?

An SRS is a formal, approved document that defines all system requirements. It serves as a contract between the customer and the development team.

4.2 Characteristics of a Good SRS (IEEE 830 Standard)

CharacteristicMeaningExample of violation
CorrectEvery requirement stated is a genuine need.“System shall use blockchain” – but no one asked for it.
UnambiguousEach requirement has only one interpretation.“The system should be user-friendly” (too vague).
CompleteAll requirements are included; no “to be determined”.Missing security requirements.
ConsistentNo two requirements contradict each other.“Search results in 1 second” vs. “Search over 10 million records on a slow network”.
VerifiableThere is a cost-effective way to check if the requirement is met.“System shall be robust” (cannot verify).
ModifiableStructured so changes can be made easily.No numbering, no cross-references.
TraceableEach requirement can be traced back to its source (stakeholder, business goal).Requirement #45 – source unknown.

Characteristics of a Good SRS

4.3 Standard SRS Outline (IEEE 830-1998, adapted)

Below is a practical template you can use.

1. Introduction

  • 1.1 Purpose – Why this SRS?
  • 1.2 Scope – What system does, benefits, objectives.
  • 1.3 Definitions, Acronyms, Abbreviations – Glossary.
  • 1.4 References – Related documents.
  • 1.5 Overview – How rest of SRS is organized.

2. Overall Description

  • 2.1 Product Perspective – Is this new, replacement, or enhancement?
  • 2.2 User Characteristics – Education level, technical expertise.
  • 2.3 Assumptions and Dependencies – e.g., reliable internet.
  • 2.4 Constraints – Budget, regulatory, hardware.

3. Specific Requirements

  • 3.1 Functional Requirements (numbered FR-1, FR-2, …)
  • 3.2 Non-Functional Requirements (NFR-1, NFR-2, …)
  • 3.3 External Interface Requirements (UI, Hardware, Software, Communication)

4. Appendices

  • Use case diagrams, data dictionary, screen mock-ups, etc.

5. Index / Traceability Matrix

  • Map each requirement to its source.

4.4 Example SRS Excerpt

System: Online Bookstore (simplified)

FR-1: User Registration

  • FR-1.1: The system shall allow a new user to create an account by providing name, email, password, and shipping address.
  • FR-1.2: The system shall send a verification email to the provided email address.
  • FR-1.3: The account shall be activated only after the user clicks the verification link.

FR-2: Search Books

  • FR-2.1: The system shall allow a user to search books by title, author, or ISBN.
  • FR-2.2: The system shall display search results sorted by relevance (default) or price (optional).
  • FR-2.3: The system shall show no more than 20 results per page.

NFR-1: Performance

  • NFR-1.1: Search results shall appear within 3 seconds for 95% of requests.
  • NFR-1.2: The system shall support 500 concurrent users without response time exceeding 5 seconds.

NFR-2: Security

  • NFR-2.1: Passwords shall be stored using bcrypt hashing (salt factor 10).
  • NFR-2.2: All pages except login shall require HTTPS.

Interface Requirement: Payment Gateway

  • IR-1: The system shall integrate with Stripe API version 2023-08-16 for credit card processing.

4.5 Common SRS Pitfalls and Solutions

PitfallSolution
Writing “how” instead of “what”Avoid design details. “System shall validate date format” not “Use JavaScript regex”.
Using vague adjectivesReplace “fast, easy, user-friendly” with specific metrics.
Missing non-functional requirementsInclude a dedicated section and involve operations team.
No traceabilityMaintain a table mapping each requirement to a source.
Too long or too shortAim for 1–2 pages per major feature; include diagrams.

5. Requirement Analysis Techniques in Detail

5.1 Use Case Modeling

A use case describes a sequence of actions that an actor (user or external system) performs to achieve a goal.

Components:

  • Actor – Someone or something outside the system.
  • Use case – A specific goal (verb-noun: “Place Order”, “Cancel Booking”).
  • System boundary – Box around use cases.

Example: Library Management System

[Actor: Librarian] ---> (Add Book)
[Actor: Member] ---> (Borrow Book)
[Actor: Member] ---> (Return Book)
[Actor: System Clock] ---> (Send Overdue Notices)

Use Case Diagram Example

Use case description template (for “Borrow Book”):

ElementContent
IDUC-02
NameBorrow Book
ActorMember
PreconditionMember is logged in; book is available (copies > 0).
Main flow1. Member enters book ISBN. 2. System displays book details and availability. 3. Member confirms borrow. 4. System reduces available copies by 1, records due date (14 days from today). 5. System prints receipt.
Alternative flow3a. Member has already borrowed 5 books → system shows error, borrow not allowed.
PostconditionBook copy is checked out to member; due date recorded.

5.2 Data Flow Diagram (DFD) for Analysis

DFDs show how data moves through the system. Useful for identifying missing inputs/outputs.

  • Level 0 (Context diagram) – System as one process, external entities.
  • Level 1 – Major processes.

Example for Order System (Level 1):

Customer → [Process 1: Validate Order] → Order data → [Process 2: Update Inventory] → Inventory file
              ↑                                           ↓
           (Rejection)                              (Confirmation)

Data Flow Diagram (DFD) Level 1

5.3 User Stories (Agile approach)

In Agile, requirements are written as user stories on cards. The 3 C’s:

  • Card – short description.
  • Conversation – details discussed with product owner.
  • Confirmation – acceptance criteria.

Example:
Card: “As a traveler, I want to filter hotels by price range, so that I stay within my budget.”
Acceptance criteria:

  • Price slider from $0 to $500.
  • Results update without page reload.
  • Default shows all hotels.

5.4 Prototyping for Analysis

Types of prototypes:

  • Throwaway (Rapid) – Build quickly, get feedback, discard. Good for UI requirements.
  • Evolutionary – Build a minimal system, then add features iteratively.
  • Tools: Figma, Balsamiq, Axure, or paper sketches.

6. Requirement Traceability

Traceability Matrix links requirements from source to implementation and testing.

Example Simple Traceability Matrix:

Req IDSourceDesign ComponentTest CaseStatus
FR-1Interview: John (Sales)Login moduleTC-12Verified
FR-2Workshop 2025-03-01Customer formTC-15Pending
NFR-1Stakeholder meetingPerformance test planPT-01Not yet

Why important?

  • When a requirement changes, you know which design and tests are affected.
  • You can prove that all requirements have been implemented (no “rogue” features).

Requirements Traceability Matrix

7. Real-World Example: Complete Requirement Analysis for a Small Project

Project: Restaurant Table Reservation System (web + mobile)

Step 1 – Stakeholders

  • Restaurant owner (reduce no-shows)
  • Receptionist (easy drag-drop management)
  • Customers (book online + reminders)
  • Kitchen manager (see expected covers)

Step 2 – Elicitation

  • Interview owner: “We lose $500 per night because of no-shows. We need prepayment or confirmation.”
  • Observe receptionist: Currently uses paper diary – often double-books.
  • Survey 50 customers: 80% want SMS reminders.

Step 3 – Analysis (Key findings)

  • Conflicting requirement: Owner wants prepayment; customers want free cancellation.
  • Resolution: Prepayment only for large groups (8+) or peak hours.

Step 4 – Write SRS (excerpts)

  • FR-1: Customer selects date/time/party size and sees availability (real-time).
  • FR-2.1: Receptionist sees a floor plan showing booked/available tables.
  • NFR-1.1: Availability check returns results in <1 second.

Step 5 – Validation

  • Walkthrough with owner/receptionist. They spot missing requirement: “What if a walk-in customer arrives? Receptionist needs to add offline booking.”
  • Fix: Add FR-2.3: “Receptionist can manually add a walk-in reservation.”

Step 6 – Baseline SRS and traceability
All requirements numbered and signed off.

8. Summary Table – Key Concepts

ConceptDefinitionExample
Functional requirementWhat the system must do“Generate monthly sales report”
Non-functional requirementQuality/constraint“Report generates in <5 seconds”
StakeholderPerson/organization with interestCustomer, developer, regulator
Elicitation techniqueMethod to gather requirementsInterview, observation, workshop
Use caseGoal-driven interaction“Withdraw cash” (actor: Customer)
SRSFormal requirements documentIEEE 830-style document
Traceability matrixLinks reqs to source and testTable mapping req → design → test
ValidationEnsuring requirements are correctWalkthrough with users
Hi! Need help with studies? 👋
AI