Logical Design in Software Engineering
Presented by: AWet Fesseha
April 29, 2025
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 1 / 18
Introduction to Logical Design
What is Logical Design?
A conceptual and abstract phase in software development.
Focuses on defining the structure and relationships of data and
components.
Does not include physical implementation details.
Role of Logical Design
Bridges the gap between requirements analysis and
implementation.
Translates technical requirements into logical models.
Ensures architecture meets functional and performance goals.
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 2 / 18
Components of Logical Design (Part 1)
High-Level Architecture
High-Level Design is a initial step in development of applications
where overall structure of a system is planned. High-Level design
focuses mainly on how different components of the system work
together without getting to know about internal coding and
implementation.
This helps everyone involving in the project to understand the goals
and ensures good communication during development.
Modular design improves development, testing, and
maintainability.
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 3 / 18
Components of High-Level Design
Understanding the components of high-level design is very important for
creating effective systems that meets user needs and technical
requirements. Below are the main components of high-level design:
1 System Architecture: System architecture is an overview of the
entire system which represents the structure and the relationships
between various components. It helps to visually represent how
different parts interact and function.
2 Modules and Components:High-level design breaks down the
systems into modules or components, each with specific roles and
responsibilities, and has a distinct function that contributes to the
entire system, helping in developing an efficient system.
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 4 / 18
Components of High-Level Design..
3 Data Flow Diagrams (DFDs): Data Flow Diagrams demonstrates
the data movement within the system. They help to understand how
information is processed and handled.
4 Interface Design: This component focuses on how different modules
communicate with one another. It details the application
programming interfaces (APIs) and user interfaces necessary for
seamless interaction between components.
5 Technology Stack:The technology stack are various technologies
and tools that will be used in the development of the system. This
includes programming languages, frameworks, databases.
6 Deployment Architecture: It includes how the system will be
hosted and accessed. It includes server configurations, cloud
infrastructure, and network considerations.
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 5 / 18
Components of Logical Design
Figure: Components of High-Level Design
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 6 / 18
Components of Logical Design (Part 2)
Control flow refers to the order in which the instructions of a program are
executed. It determines how a program moves from one statement to
another, based on certain conditions and decisions.
Control Flow Design
how users interact with the system.
Details how processes are triggered.
Describes responses to events.
Tools: control flow, state, logic flow diagrams
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 7 / 18
Example: Simple ATM Withdrawal System
Requirements
The user enters the PIN.
If the PIN is valid, ask for the withdrawal amount.
If balance >= amount, dispense cash and update balance.
Else, show insufficient funds.
After the transaction, ask if the user wants another service.
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 8 / 18
Example: Simple ATM Withdrawal System
Algorithm 1 ATM Withdrawal Process
SET correct pin ← 1234
SET balance ← 1000
SET attempts ← 0
while attempts < 3 do
PRINT ”Enter PIN:”
GET user pin
if user pin == correct pin then
BREAK WHILE LOOP
else
PRINT ”Invalid PIN”
attempts ← attempts + 1
end if
end while
if attempts == 3 then
PRINT ”Account Locked”
else
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 9 / 18
Python Implementation
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 10 / 18
Control Flow Diagram
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 11 / 18
Key Design Considerations
Scalability, Extensibility, Modifiability
Designed to handle future growth.
Supports easy adaptation to new requirements.
Achieved through modularity and separation of concerns.
Security & Access Control Planning
Defining access controls and permissions.
Abstract-level planning for data protection.
Safeguards sensitive data and operations.
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 12 / 18
Design Considerations (Continued)
Performance Considerations
Allocates performance needs to logical components.
Influences decisions about data organization and interaction
patterns.
Trade-off analysis balances cost, schedule, performance, and risk.
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 13 / 18
The Design Process - Iterative Nature
Iterative and Adaptive
Not a one-time activity.
Refines data models, flows, and boundaries over time.
Allows adjustment based on evolving requirements.
Incorporating Feedback
Actively gathers input from users and stakeholders.
Keeps the design aligned with real-world needs.
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 14 / 18
Transition to Detailed Design
Foundation for Detailed Design
Provides the blueprint for detailed implementation.
Logical components become detailed classes, schemas, interfaces
Breaking Down Components
Logical modules decomposed into concrete elements.
Includes technology choices, algorithms, and integration points.
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 15 / 18
Summary
Key Takeaways
Logical design is a foundational step in software engineering. -
Ensures system architecture is robust, scalable, and user-aligned.
Emphasizes abstraction, modularity, and adaptability.
Sets the stage for successful and maintainable software solutions.
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 16 / 18
How does logical design differ from physical design
Logical design is about defining what the system will do , focusing
on the logical relationships among objects, data entities, and
processes, without considering the specifics of technology or physical
constraints.
Physical design is about how the system will fulfill the logical design ,
detailing the actual storage, retrieval, hardware, software, network
infrastructure, and optimization strategies needed for implementation
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 17 / 18
class exercise
Please, based on the project, select some portion of what you think of
the project.
do pusedcode, implemention(waht ever language you choose) and
contrl flow digram.
what is the diffrence between control flow diagram and flow chart
Presented by: AWet Fesseha Logical Design in Software Engineering April 29, 2025 18 / 18