Back to the 2019 paper

Module 3: Software Design & Metrics

201914m

What do you mean by structured software design? Design level-1 DFD for cash ATM machine and explain it.

Worked SolutionAI Assisted

Structured Software Design and Level-1 DFD for a Cash ATM

1. Structured software design

Structured design is a systematic approach to converting requirements into a hierarchy of modules with clearly defined responsibilities and interfaces.

It emphasizes:

  • Top-down decomposition.
  • Functional independence.
  • High cohesion within modules.
  • Low coupling between modules.
  • Clear module interfaces.
  • Use of tools such as Data Flow Diagrams (DFDs) and structure charts.

2. Level-1 DFD for a Cash ATM

A Level-1 DFD decomposes the ATM system into major processes.

                         ┌──────────────────┐
                         │      Customer     │
                         └────────┬─────────┘
                                  │ Card + PIN
                                  ▼
                    ┌──────────────────────────┐
                    │ 1.0 Authenticate User    │
                    └────────────┬─────────────┘
                                 │ Authentication request
                                 ▼
                         ┌───────────────┐
                         │ Bank Database │
                         └───────┬───────┘
                                 │ Account status
                                 ▼
                    ┌──────────────────────────┐
                    │ 2.0 Process Transaction   │◄── Transaction details
                    └───────┬──────────┬────────┘
                            │          │
                 balance/update       │ cash request
                            ▼          ▼
                    ┌────────────┐  ┌────────────────┐
                    │ 3.0 Update │  │ 4.0 Dispense   │
                    │   Account  │  │     Cash       │
                    └─────┬──────┘  └───────┬────────┘
                          │                  │
                          ▼                  ▼
                    ┌───────────────┐   ┌──────────┐
                    │ Bank Database │   │ Customer │
                    └───────────────┘   └──────────┘

Main processes

1.0 Authenticate User — accepts card and PIN and verifies the customer with the bank database.

2.0 Process Transaction — accepts transaction type such as withdrawal, balance inquiry or deposit and checks the account information.

3.0 Update Account — records the transaction and updates the account balance.

4.0 Dispense Cash — counts and dispenses the requested amount when a valid cash withdrawal is approved.

Data stores / external entities

  • Customer: supplies card, PIN and transaction request; receives cash/receipt/status.
  • Bank Database: stores account information and transaction data.
  • ATM: performs authentication, transaction processing and cash dispensing.

Conclusion: Structured design breaks the ATM system into manageable modules, while the Level-1 DFD shows the major data flows between the customer, ATM processes and bank database.

Similar questions