Skip to content

Preliminary and detailed design activities

🧩 Preliminary and Detailed Design Activities in Software Engineering

✨ With deeper explanation, real-life examples, diagrams, and a student-friendly tone — especially useful for BCA students.


🔷 What is Software Design?

Software Design is the process of planning the solution before actual programming starts. It is like an architect making a plan before constructing a building.

Design is divided into two key phases:

  1. Preliminary Design (High-Level Design)
  2. Detailed Design (Low-Level Design)

🔹 1. Preliminary Design (High-Level Design)

🧠 Definition:

Preliminary design is where the overall system architecture is defined. The goal is to decide what modules are needed and how they will interact.

📌 Key Points:

  • Gives blueprint of the entire system
  • Modules and components are identified
  • Relationships between modules are established
  • Technologies to be used are chosen
  • No actual logic is written, only structure is designed

🔧 Activities in Preliminary Design

ActivityDescriptionExample
System DecompositionBreaking the system into major modulesIn a banking app: Login, Balance Check, Funds Transfer, History
Architecture DesignChoosing system structure (layered, client-server)A 3-tier architecture with frontend, middleware, backend
Interface DesignDesigning how modules talk to each otherAPI calls between the frontend and backend
Data Flow DesignUsing DFDs to show data movementLogin → Verify → Access Account Info
Tech SelectionChoosing languages, frameworks, DBMSJava + MySQL + Spring Framework
Security PlanningIdentifying where to apply validation, encryptionEncrypting passwords during login

🖼️ Example Diagram:

Online Library System – Preliminary Design

+------------------------+
| User Authentication |
+------------------------+
|
v
+------------------------+
| Book Search |
+------------------------+
|
v
+------------------------+
| Borrow/Return Book |
+------------------------+
|
v
+------------------------+
| Admin Module |
+------------------------+


🔹 2. Detailed Design (Low-Level Design)

🧠 Definition:

Detailed Design focuses on how each module will work internally. Algorithms, logic, functions, database tables are all created in this phase.

📌 Key Points:

  • Defines internal working of every module
  • Logic is created using flowcharts, pseudocode, UML diagrams
  • Developer understands exactly what to write in code

🔧 Activities in Detailed Design

ActivityDescriptionExample
Component DesignDefining methods/functions of each modulegetUserData(), validateLogin()
Algorithm DesignCreating step-by-step logic using pseudocodeSort books by title/author
Data Structure DesignChoosing how to store and organize dataUse array, linked list, tree, stack
UI DesignDesigning screens and user interactionLogin screen, book list view
Database DesignCreating table schema, ER diagramsTables: Users, Books, Transactions
Error HandlingDefining how system handles invalid inputsShow message on incorrect password

🖼️ Example Flowchart:

Borrow Book Module – Detailed Design

Start
|
[Input: User ID, Book ID]
|
[Check if Book is Available]
|
|--- No ---> [Display "Not Available"] --> End
|
Yes
|
[Update Book Status to 'Borrowed']
|
[Record Transaction]
|
[Display "Borrow Successful"]
|
End


📊 Comparison Table

FeaturePreliminary DesignDetailed Design
FocusSystem StructureInternal Logic
OutputArchitecture, Modules, InterfacesAlgorithms, DB schema, Functions
Tool ExamplesDFD, Use Case DiagramsPseudocode, Flowcharts, ER Diagrams
UsersArchitects, AnalystsDevelopers, Programmers

🧠 Real-Life Example – Online Food Delivery App

PhaseExample Activities
Preliminary DesignIdentify modules: Login, Browse Menu, Cart, Payment, Delivery Status
Detailed DesignDesign how addToCart() function works, which data structures to use, layout of checkout screen, database schema for Orders

✅ Summary

  • Preliminary Design = What the system does (structure)
  • Detailed Design = How each part works (logic)
  • Both are necessary for writing error-free and maintainable code.
  • Tools: Use DFDs, UML, Flowcharts, ER Diagrams.

🧠 Viva Questions

  1. What is the purpose of Preliminary Design?
  2. Give two differences between High-Level and Low-Level Design.
  3. What are the tools used in Detailed Design?
  4. What is an ER diagram, and where is it used?