IoT Design Methodology: Specifications & Architecture Views
Why Do We Need an IoT Design Methodology? (In Simple Words)
Building an IoT project is much more challenging than writing a simple software program in C++ or Python.
In IoT, you must work with many moving parts all at once:
- Physical electronic hardware and sensors
- Microcontrollers (like Arduino or ESP32)
- Wireless networking (Wi-Fi, Zigbee, cellular)
- Cloud databases and server APIs
- Mobile phone apps and web dashboards
If you don’t follow a clear, organized plan, you will end up with incompatible components, security bugs, and high battery consumption.
To make IoT development systematic, researchers Arshdeep Bahga and Vijay Madisetti proposed a famous 8-Step IoT Design Methodology.
1. The 8-Step IoT Design Methodology
2. Step-by-Step Practical Example: Smart Home Garden System
Let’s understand all 8 steps using a simple project: An Automatic Garden Watering System.
Step 1: Purpose & Requirements
- Purpose: Automatically check soil moisture in the home garden and turn on the water pump when the soil becomes too dry.
- Rules: Read soil moisture every 15 minutes. If moisture is below 30%, run the water pump for 5 minutes.
- Budget/Limits: Must run on a small battery and Wi-Fi, with a hardware cost under ₹1,500.
Step 2: Process Specification
Draws a clear flowchart of how the system operates step-by-step:
[ Sleep Mode (Saves Battery) ]
│
▼ (Timer wakes device every 15 mins)
[ Read Soil Moisture Sensor ]
│
▼
Is Moisture < 30% ?
├── YES ──▶ [ Turn ON Water Pump Relay for 5 mins ] ──┐
└── NO ───────────────────────────────────────────────┴──▶ [ Upload Reading to Cloud ] ──▶ [ Go back to Sleep ]
Step 3: Domain Model Specification
Identifies all physical objects and virtual entities in the system:
- Physical Entities: Soil, plants, water container.
- Hardware Devices: Soil moisture sensor (YL-69), 5V Relay, ESP32 microcontroller board.
- Virtual Entities: Virtual Garden status stored in the cloud.
- Users: Homeowner checking status on an Android app.
Step 4: Information Model Specification
Defines the exact data structure and units:
SoilMoisture: Percentage (e.g.28%)PumpStatus: Boolean (truefor ON,falsefor OFF)LastWateredTime: Timestamp (e.g.2026-10-23 08:30 AM)
Step 5: Service Specifications
Defines the software APIs provided by the system:
- Status API:
GET /api/garden/status(returns current moisture and pump state). - Control API:
POST /api/garden/pump(commands the pump to switch ON or OFF).
Step 6: IoT Level Specification
Decides whether data is processed locally on the microcontroller or sent to the cloud (IoT Levels 1 to 6).
3. Functional View vs. Operational View
In DAVV BCA exams, this comparison is very frequently asked:
Comparison Table for DAVV Exams:
| Dimension | Functional View | Operational View |
|---|---|---|
| Main Question | WHAT does the system do? | WHERE & HOW is it deployed? |
| Focus | Logical blocks and software capabilities | Real physical hardware, chips, servers, and protocols |
| Examples of Decisions | Sensing logic, user login rules, alert conditions | Using an ESP32 chip, AWS EC2 Linux server, Mosquitto MQTT broker |
| Target Audience | Software architects and system analysts | Embedded engineers, cloud admins, and field technicians |
4. Steps 7 & 8: Integration and Application Development
- Step 7 (Device & Component Integration): Connect the real hardware on a breadboard: wire the sensor to GPIO pins, add power supply, and write the Arduino C++ firmware.
- Step 8 (Application Development): Build the final user interface — creating the mobile app (Flutter / Android) and cloud dashboard with toggle switches, charts, and push notifications.
💡 DAVV Exam Preparation Tips
5-Mark Question: “Differentiate between Functional View and Operational View in IoT design.”
- Functional View: Describes the logical functions of the system (“WHAT it does” — sensing, data processing, security).
- Operational View: Describes the physical implementation (“WHERE and HOW it runs” — which microcontroller, which cloud server, which wireless protocol).
- Give simple examples for both.
5-Mark Question: “List the core steps involved in IoT Design Methodology.”
- Write all 8 steps in proper order:
- Purpose & Requirements
- Process Specification
- Domain Model
- Information Model
- Service Specifications
- IoT Level
- Functional & Operational Views
- Integration & Application Development.
10-Mark Question: “Explain the step-by-step IoT design methodology proposed by Bahga and Madisetti. Illustrate each step with a practical smart IoT application example.”
- Draw the 8-step flowchart.
- Walk through each step using the Smart Garden or Smart Streetlight example.
- Draw the Functional View vs. Operational View comparison table.
- Mention how this structured methodology prevents bugs, saves costs, and improves system security.