0% found this document useful (0 votes)
15 views18 pages

Logical Design

The document presents an overview of logical design in software engineering, highlighting its role in bridging requirements analysis and implementation while focusing on data structure and relationships. It discusses components of logical design, including high-level architecture, control flow, and key design considerations such as scalability and security. The document also emphasizes the iterative nature of the design process and the transition to detailed design, setting the foundation for successful software solutions.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views18 pages

Logical Design

The document presents an overview of logical design in software engineering, highlighting its role in bridging requirements analysis and implementation while focusing on data structure and relationships. It discusses components of logical design, including high-level architecture, control flow, and key design considerations such as scalability and security. The document also emphasizes the iterative nature of the design process and the transition to detailed design, setting the foundation for successful software solutions.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

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

You might also like