Systems Analysis and DesignUnit 314 min read
Analysis Techniques, Models & Tools in Systems Development
Unit 3 of Systems Analysis and Design explores how to systematically gather, analyze, and document user requirements, process flows, and system constraints using structured techniques like DFDs, UML, and interviews—critical for designing IT solutions that meet real-world needs.
Core Concepts of Systems Analysis
1. What is Systems Analysis?
Systems analysis is the problem-solving process that bridges the gap between user needs and technical solutions. It involves:
- Understanding the current system (as-is) and its problems.
- Defining what the new system (to-be) should achieve.
- Documenting requirements clearly for designers and developers.
Why is it crucial? Without proper analysis, systems fail because they either:
- Do not meet user needs (e.g., a banking app that crashes during peak hours).
- Are too complex or costly to implement (e.g., a government portal with redundant features).
2. Key Activities in Analysis
The analysis phase includes:
- Requirement Elicitation: Gathering needs from stakeholders (users, managers, experts).
- Requirement Analysis: Organizing and prioritizing requirements.
- Requirement Specification: Documenting requirements in a structured format.
- Feasibility Study: Assessing technical, economic, and operational viability.
Techniques for Gathering Requirements
1. Interviews
How it works:
- One-on-one or group discussions with stakeholders to understand their needs.
- Uses open-ended and closed-ended questions.
Example Questions:
- Open-ended: "What challenges do you face with the current order system?"
- Closed-ended: "Do you want the new system to support mobile access? (Yes/No)"
Advantages:
- Flexible, allows follow-up questions.
- Builds rapport with stakeholders.
Disadvantages:
- Time-consuming.
- Biased if interviewer influences responses.
2. Surveys/Questionnaires
How it works:
- Distributed to a large group (e.g., customers, employees).
- Uses Likert scales, multiple-choice, or open-ended questions.
Example for a Daraz Seller App:
| Question | Type | Options |
|---|---|---|
| How satisfied are you with order tracking? | Likert Scale | 1 (Very Dissatisfied) to 5 (Very Satisfied) |
| What feature is missing? | Open-ended | _________________________ |
Advantages:
- Collects data from many people quickly.
- Anonymous responses reduce bias.
Disadvantages:
- Low response rate.
- Limited depth in answers.
3. Observation
How it works:
- Analyst observes users performing tasks (e.g., a bank teller processing loans).
- Can be structured (following a checklist) or unstructured.
Example:
- Observing Nepal Rastra Bank employees manually calculating interest to identify inefficiencies.
Advantages:
- Reveals real-world workflows (not just what users say).
- Useful for identifying hidden problems.
Disadvantages:
- Users may alter behavior if aware of being watched (Hawthorne Effect).
- Time-consuming.
4. Document Analysis
How it works:
- Reviewing existing documents (reports, manuals, emails) to extract requirements.
- Example: Analyzing NTC’s billing system reports to find discrepancies.
Advantages:
- Provides historical data on past issues.
- Low-cost and non-intrusive.
Disadvantages:
- Documents may be outdated or incomplete.
- Requires interpretation skills.
5. Prototyping
How it works:
- Creating a mock-up (low-fidelity or high-fidelity) of the system for user feedback.
- Example: A Khalti payment app prototype showing how users would transfer money.
Types of Prototypes:
| Type | Description | Example |
|---|---|---|
| Paper Prototype | Sketches on paper or digital mockups | Wireframe of a Pathao driver app |
| Horizontal Prototype | Non-functional UI mockup | Clickable buttons in a Daraz checkout flow |
| Vertical Prototype | Functional subset of the system | A working NEPSE stock trading simulator |
Advantages:
- Early feedback reduces redesign costs.
- Users can visualize the system.
Disadvantages:
- May give false confidence in incomplete features.
- Requires iterative refinement.
Modeling Techniques for Analysis
1. Data Flow Diagrams (DFDs)
What it is: A graphical representation of how data moves through a system (processes, data stores, data flows, external entities).
Example: Ncell Billing System DFD
graph TD
A["Customer"] -->|"Submits Usage Data"| B["Billing Process"]
B -->|"Generates Bill"| C["Bill Database"]
C -->|"Sends Bill"| A
D["Ncell Admin"] -->|"Updates Tariffs"| BLevels of DFDs:
| Level | Description | Example |
|---|---|---|
| 0 | High-level overview (1 diagram) | "Ncell Billing System" |
| 1 | Decomposes Level 0 processes | "Process Customer Payments" → "Validate Payment" |
| 2 | Further details of Level 1 | "Validate Payment" → "Check Credit Limit" |
Advantages:
- Shows data flow clearly.
- Helps identify bottlenecks (e.g., slow bill generation in NTC).
Disadvantages:
- Does not show control logic.
- Can become complex at lower levels.
2. Use Case Diagrams (UML)
What it is: A UML diagram showing actors (users) and their interactions with the system.
Example: eSewa Payment System
classDiagram
class User {
+Make Payment
+Check Balance
}
class eSewa {
+Process Payment
+Update Transaction Log
}
class Bank {
+Verify Funds
}
User --> eSewa : "Uses"
eSewa --> Bank : "Requests Funds"Key Elements:
- Actors: External entities (e.g., Customer, Admin).
- Use Cases: Actions (e.g., "Transfer Money").
- Relationships:
<uses>,<includes>,<extends>.
Advantages:
- Focuses on user goals.
- Easy to understand for non-technical stakeholders.
Disadvantages:
- Does not show data flow.
- May miss non-functional requirements.
3. Entity-Relationship (ER) Diagrams
What it is: Models data structures (entities, attributes, relationships) for databases.
Example: Daraz Order Management System
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ PRODUCT : contains
ORDER ||--|| PAYMENT : has
CUSTOMER {
int customer_id PK
string name
string email
}
ORDER {
int order_id PK
date order_date
string status
}Key Symbols:
| Symbol | Meaning | Example |
|---|---|---|
| Rectangle | Entity (e.g., Customer) | |
| Oval | Attribute (e.g., email) | |
| Diamond | Relationship (e.g., places) | |
| Crow’s Foot | One-to-many (e.g., Order → Product) |
Advantages:
- Foundation for database design.
- Clearly shows relationships (e.g., one customer can place many orders).
Disadvantages:
- Does not show process flow.
- Requires normalization knowledge.
In the Real World
Khalti & eSewa (Digital Payments)
- Use Case Diagrams model how users transfer money between banks.
- DFDs show how transaction data flows from the user’s phone to the bank’s server.
- Example: When you pay a bill via Khalti, the system validates your PIN (use case), checks your balance (DFD data flow), and updates the merchant’s account (ER relationship).
Daraz & Amazon (Order Processing)
- DFDs map how an order moves from customer → warehouse → delivery agent.
- ER Diagrams define tables like
Orders,Customers, andPaymentsto store data. - Example: If Daraz’s system crashes during peak sales (like Dashain), a poorly designed DFD (missing backup processes) could cause losses.
NTC & Ncell (Billing Systems)
- Prototyping is used to test new billing features before full implementation.
- Observation helps identify why some customers face billing errors (e.g., manual data entry mistakes).
- Example: NTC’s "Smart Meter" project used DFDs to show how real-time data would flow from meters to the billing system.
Nepal Rastra Bank (Loan Processing)
- Interviews with loan officers reveal inefficiencies (e.g., paper-based approvals).
- Use Case Diagrams model how a customer applies for a loan online.
- Example: The bank’s new digital loan system reduced processing time from weeks to hours by automating checks (modeled in DFDs).
Worked Example: Analyzing a Traffic Management System for Kathmandu
Problem Statement
Kathmandu’s traffic congestion causes delays of 2+ hours daily. The municipality wants a smart traffic light system to optimize flow.
Step 1: Gather Requirements
| Technique | Application | Output |
|---|---|---|
| Interviews | Traffic police, drivers, pedestrians | "Lights change too slowly at Thapathali." |
| Surveys | Distributed to 500 drivers | 80% want priority for emergency vehicles. |
| Observation | Watched intersections for 2 hours | Bottleneck at Kantipath crossing. |
| Document Analysis | Reviewed past traffic reports | Peak hours: 7–9 AM, 5–7 PM. |
Step 2: Model the System
DFD Level 0: Smart Traffic System
graph TD
A["Traffic Sensors"] -->|"Detects Vehicles"| B["Traffic Controller"]
B -->|"Adjusts Timings"| C["Traffic Lights"]
D["Emergency Vehicles"] -->|"Priority Signal"| B
B -->|"Logs Data"| E["Central Database"]Use Case Diagram
classDiagram
class Driver {
+Follow Traffic Lights
+Report Congestion
}
class TrafficSystem {
+Adjust Light Timings
+Detect Emergencies
}
class Municipality {
+Monitor System
+Update Rules
}
Driver --> TrafficSystem : "Interacts With"
Municipality --> TrafficSystem : "Manages"ER Diagram (Partial)
erDiagram
TRAFFIC_LIGHT ||--o{ VEHICLE : controls
VEHICLE ||--|| EMERGENCY : is
TRAFFIC_LIGHT {
int light_id PK
string location
int current_timer
}Step 3: Identify Feasibility Issues
| Criteria | Assessment | Solution |
|---|---|---|
| Technical | Sensors cost ~Rs. 50,000 each | Start with 5 key intersections. |
| Economic | ROI in 3 years | Government funding + private partnerships. |
| Operational | Police need training | 2-week workshop on new system. |
Common Pitfalls in Analysis
| Mistake | Impact | How to Avoid |
|---|---|---|
| Ignoring non-functional requirements (e.g., security) | System vulnerable to hacking (e.g., Khalti data breaches). | Include security use cases. |
| Overlooking user training needs | Employees resist new system (e.g., NTC staff using old software). | Plan training early. |
| Unclear requirements | Developers build wrong features (e.g., eSewa app with missing OTP backup). | Use prototypes for validation. |
| Skipping feasibility study | Project fails midway (e.g., Nepal’s failed e-governance portal). | Assess cost, time, and resources. |
Exam Tip
How This Unit is Tested
Short Questions (2–5 marks):
- Define DFD, use case, or ER diagram.
- Example: "What is the difference between a Level 0 and Level 1 DFD?" Answer: Level 0 shows the entire system in one diagram, while Level 1 breaks down a single process from Level 0 into sub-processes.
Diagram-Based Questions (5–10 marks):
- Draw a DFD for a bank ATM system or a use case diagram for WhatsApp.
- Tip: Always label external entities, processes, and data flows.
Scenario-Based Questions (10–15 marks):
- "Analyze the requirements for a hospital management system using interviews and DFDs."
- Structure your answer:
- List 3 interview questions.
- Draw a Level 0 DFD for patient registration.
- Identify one feasibility issue (e.g., doctor resistance to digital records).
Case Studies (15–20 marks):
- "A company wants to automate its inventory. Use ER diagrams and use cases to model the system."
- Key points to cover:
- Entities: Products, Suppliers, Orders.
- Relationships: "Supplier supplies Product."
- Use Cases: "Place Order," "Update Stock."
Marks Distribution Trick
- Diagrams (30–40%): Always draw neatly. Use Mermaid syntax in exams if allowed.
- Explanations (30–40%): Link your answer to real-world examples (e.g., "Like Daraz’s order system...").
- Feasibility/Analysis (20–30%): Discuss technical, economic, and operational factors.
Final Checklist Before Exam
✅ Can you draw a DFD, use case diagram, and ER diagram from memory? ✅ Do you know 3 techniques to gather requirements (interviews, surveys, observation)? ✅ Can you analyze a real-world system (e.g., Khalti, NTC billing) using these tools? ✅ Have you practiced scenario-based questions with time constraints?
Based on the TU BIT syllabus for Systems Analysis and Design (BIT253), unit 3.
Discussion
Loading…