System Analysis And DesignUnit 311 min read
System Requirements Analysis: Techniques, DFDs, JAD, Feasibility
Unit 3 of System Analysis And Design covers how to gather, analyze, and document system requirements—including data flow diagrams (DFDs), Joint Application Development (JAD), feasibility studies, and requirement elicitation techniques—with real-world examples from Nepali apps like eSewa and Kathmandu traffic systems.
TAKEAWAYS:
- Requirements analysis bridges user needs and system design, using techniques like interviews, JAD, and DFDs to model processes.
- Data Flow Diagrams (DFDs) visually represent system flows (data, processes, stores, external entities) with strict rules for decomposition.
- Feasibility studies evaluate technical, economic, and operational viability using metrics like payback period, NPV, and ROI.
- JAD (Joint Application Development) accelerates requirement gathering by involving stakeholders in collaborative workshops.
- Real-world ties: eSewa’s payment flows (DFD), Daraz’s order queues (process modeling), and Ncell’s billing systems (feasibility analysis).
- Exam focus: Draw DFDs, calculate payback periods/NPV, differentiate JAD techniques, and explain feasibility trade-offs.
1. What is System Requirements Analysis?
System requirements analysis is the core phase of system development where analysts:
- Gather user needs (functional/non-functional).
- Analyze conflicts, gaps, and priorities.
- Document requirements clearly for designers/developers.
Why It Matters
- Avoids costly rework: 70% of software failures stem from unclear requirements (Standish Group).
- Aligns stakeholders: Ensures developers build what users actually need.
- Legal/compliance: Critical for GDPR, banking regulations (e.g., NEPSE’s trading system rules).
2. Key Techniques for Requirement Elicitation
Requirements are elicited (collected) using multiple methods. Below are the most common, with real-world Nepali examples:
A. Interviews
- How it works: One-on-one or group discussions with stakeholders (users, managers, experts).
- Example: Interviewing a Daraz seller to understand inventory management needs (e.g., stock alerts, bulk uploads).
B. Questionnaires/Surveys
- How it works: Structured questions distributed to a large group (e.g., Ncell customers for USSD feedback).
- Pros: Scalable, anonymous responses.
- Cons: Low response rates, lack of depth.
C. Observation
- How it works: Watching users perform tasks (e.g., observing NTC call center agents handling complaints).
- Example: Noticing bottlenecks in eSewa’s payment flow (e.g., slow OTP verification).
D. Document Analysis
- How it works: Reviewing existing manuals, reports, or system logs (e.g., NEPSE’s trading rules for a new stock system).
- Tools: SQL queries on databases, log files.
E. Prototyping
- How it works: Building a mockup (wireframe or interactive model) to validate requirements.
- Example: A Pathao driver app prototype tested for route optimization features.
F. Joint Application Development (JAD)
- Definition: A collaborative workshop where stakeholders, analysts, and developers work together to define requirements.
- Phases:
- Planning: Define goals, participants, agenda.
- Workshop: Facilitated sessions with brainstorming, prototyping.
- Follow-up: Document outcomes and resolve conflicts.
Mermaid Diagram: JAD Process
stateDiagram-v2
[*] --> Planning: "Define scope, participants"
Planning --> Workshop: "Facilitated sessions"
Workshop --> Brainstorming: "Ideas, prototypes"
Brainstorming --> ConflictResolution: "Resolve disagreements"
ConflictResolution --> Documentation: "Finalize requirements"
Documentation --> [*]Advantages of JAD:
- Faster than sequential methods.
- Improves stakeholder buy-in.
- Reduces miscommunication.
Disadvantages:
- Requires skilled facilitators.
- Expensive for large teams.
3. Data Flow Diagrams (DFDs): Modeling System Processes
DFDs are visual tools to represent how data moves through a system. They answer:
- What data flows where?
- What processes transform data?
- Where is data stored?
Key Symbols
| Symbol | Name | Example |
|---|---|---|
| ![Rectangle] | External Entity | Customer, Supplier |
| ![Circle] | Process | "Verify Payment" (eSewa) |
| ![Open Rectangle] | Data Store | Database, File |
| ![Arrow] | Data Flow | "Order → Process Order" |
Rules for Drawing DFDs
- Level 0 (Context Diagram): Single process, all external entities.
- Level 1: Decompose the main process into sub-processes.
- Balancing: Inputs/outputs must match parent diagram.
- No arrows between stores: Data flows via processes.
- Name processes with strong verbs: "Calculate Tax" (not "Tax Calculation").
Worked Example: eSewa Payment System (Level 0 & 1)
Scenario: Model how a user pays a bill via eSewa.
Level 0 DFD (Context Diagram)
graph LR
A["User"] -->|"Bill Payment Request"| B["eSewa System"]
B -->|"Payment Confirmation"| A
C["Bank"] -->|"Fund Transfer"| B
D["NTC/Electricity Board"] -->|"Update Bill"| BLevel 1 DFD (Decomposed)
graph TD
A["User"] -->|"Enter Amount"| B["Authenticate User"]
B -->|"Valid?"| C{"Yes/No"}
C -->|"Yes"| D["Deduct Balance"]
C -->|"No"| E["Show Error"]
D -->|"Success"| F["Update Bank"]
F -->|"Confirm"| G["Notify NTC"]
G -->|"Ack"| ATrace Example:
- User requests Rs. 500 payment to NTC.
- System checks balance (Process B).
- If valid, deducts amount (Process D) and updates bank (Process F).
- NTC’s system is notified (Process G).
Common Mistakes in DFDs
- Unbalanced flows: Inputs ≠ Outputs.
- Overlapping processes: Combine similar steps (e.g., "Login" + "Verify" → "Authenticate").
- Ignoring data stores: Always show where data is stored (e.g., user profiles in a database).
4. Feasibility Analysis: Is the System Worth Building?
Feasibility studies assess whether a project is viable in:
- Technical Feasibility: Can the system be built with existing tech?
- Economic Feasibility: Is it cost-effective? (Use payback period, NPV, ROI).
- Operational Feasibility: Will users accept it?
- Legal Feasibility: Does it comply with laws? (e.g., PCI-DSS for eSewa payments).
A. Economic Feasibility Metrics
| Metric | Formula | Example Calculation |
|---|---|---|
| Payback Period | Initial Cost / Annual Cash Flow | Rs. 2,00,000 / Rs. 50,000 = 4 years |
| Net Present Value (NPV) | Σ [Cash Flow / (1 + r)^t] - Initial Cost | For r=6%, t=5 years, CF=Rs. 50k |
| Return on Investment (ROI) | (Net Profit / Cost) × 100 | (Rs. 2,50,000 - Rs. 2,00,000)/Rs. 2,00,000 × 100 = 25% |
Worked Example: Ncell Billing System Upgrade
- Initial Cost: Rs. 5,00,000
- Annual Savings: Rs. 1,50,000 (reduced call center costs)
- Payback Period: 5,00,000 / 1,50,000 = 3.33 years
NPV Calculation (6% discount rate, 5 years):
Year 1: 1,50,000 / 1.06 = 1,41,509
Year 2: 1,50,000 / 1.1236 ≈ 1,33,526
...
Total NPV = Rs. 6,02,000 - Rs. 5,00,000 = **Rs. 1,02,000 (Positive → Viable)**
B. Technical Feasibility Checklist
- Does the organization have the skills (e.g., Python for Daraz’s recommendation engine)?
- Are hardware/software available? (e.g., cloud servers for NEPSE’s trading platform).
- Can the system integrate with existing systems? (e.g., eSewa + bank APIs).
C. Operational Feasibility
- User Training: Will staff adopt the new system? (e.g., NTC employees resisting digital billing).
- Workflow Changes: Does it disrupt daily operations? (e.g., Pathao drivers needing new route algorithms).
5. Types of Requirements
Requirements are classified into functional (what the system does) and non-functional (how it does it).
| Type | Example | Nepali Context |
|---|---|---|
| Functional | "System should process loan applications." | Nabil Bank’s online loan portal |
| Non-Functional | "Response time < 2 seconds." | eSewa’s OTP verification speed |
| Performance | "Handle 10,000 transactions/hour." | NEPSE’s trading platform |
| Security | "Encrypt user data (AES-256)." | Khalti’s payment security |
| Usability | "Mobile app should work on 2G networks." | Pathao’s offline mode |
| Reliability | "99.9% uptime." | NTC’s billing system |
6. Contemporary Requirement Techniques
| Technique | Description | Example |
|---|---|---|
| Use Case Modeling | Describes system behavior from user perspective. | "User → Pay Bill → Confirmation" (eSewa) |
| User Stories | Short descriptions of user needs. | "As a Daraz seller, I want bulk uploads so I can save time." |
| Storyboarding | Visual sequence of user interactions. | Pathao’s ride-booking flow |
| Mind Mapping | Hierarchical representation of requirements. | NEPSE’s trading rules breakdown |
In the Real World
eSewa’s Payment Flow (DFD)
- How it uses DFDs: Models data flows from user → bank → merchant (e.g., NTC).
- Key Processes:
- Authenticate user (OTP).
- Deduct balance.
- Notify merchant.
- Real Picture:
graph LR A["User"] -->|"Login"| B["eSewa App"] B -->|"OTP"| C["Bank API"] C -->|"Debit"| D["User Account"] D -->|"Credit"| E["Merchant (NTC)"]
Daraz’s Order Queue (Process Modeling)
- How it uses DFDs: Tracks orders from placement → fulfillment → delivery.
- Bottleneck Example: Slow warehouse processing → Daraz optimized with automated sorting (seen in Level 1 DFDs).
Ncell’s Billing System (Feasibility)
- Payback Period: Upgrading from manual to digital billing saved Rs. 1.2 crore/year.
- NPV: Rs. 4.5 crore over 5 years (6% discount rate) → Positive ROI.
Khalti’s Security Requirements (Non-Functional)
- PCI-DSS Compliance: Encrypted transactions, tokenization.
- DFD Example: Separate flows for fraud detection (e.g., duplicate payments).
Exam Tip
DFDs:
- Always draw Level 0 first, then decompose.
- Label arrows clearly (e.g., "Order Details" not just "Data").
- Common exam question: "Draw a DFD for a library system up to Level 1."
Feasibility Calculations:
- Payback Period: Direct division (Initial Cost / Annual Cash Flow).
- NPV: Use the formula .
- Example: For a system costing Rs. 3,00,000 with Rs. 80,000/year savings at 8%:
Year 1: 80,000 / 1.08 ≈ 74,074 Year 2: 80,000 / 1.1664 ≈ 68,589 ... Total NPV ≈ Rs. 2,90,000 (Positive → Viable)
JAD vs. Traditional Methods:
- JAD: Faster, collaborative (good for eSewa’s payment system).
- Interviews/Surveys: Slower but better for NTC’s widespread users.
Requirement Types:
- Functional: "System must generate receipts" (eSewa).
- Non-Functional: "Receipts must be emailable" (Khalti).
Avoid in Exams:
- Overcomplicating DFDs: Stick to 3–4 processes in Level 1.
- Ignoring data stores: Always include databases/files.
- Forgetting to balance flows: Inputs must equal outputs.
Final Visual Summary
mindmap
root((System Requirements Analysis))
Techniques
Interviews
JAD
Prototyping
DFDs
Level 0
Level 1
Symbols
Feasibility
Economic (NPV, Payback)
Technical
Operational
Real-World
eSewa (DFD)
Daraz (Processes)
Ncell (Feasibility)Based on the TU BCA syllabus for System Analysis And Design (CACS203), unit 3.
Discussion
Loading…