Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 8

UNIVERSITY INSTITUTE OF COMPUTING

UNIT-3
Bachelor of Computer Applications
Software Engineering
(21CAT-312/21SCT-312/22CAT-213/22SCT-213)

DISCOVER . LEARN . EMPOWER


Topics to be Covered
• Procedural Design
Procedural Design
• Procedural design in software engineering refers to a design approach that focuses
on breaking down a system into smaller, manageable procedures or functions. It is
a structured way of designing software where the emphasis is on the steps or
procedures required to solve a problem or achieve a specific functionality.
• In procedural design, the software is divided into a set of functions or procedures
that perform specific tasks. These procedures are organized in a hierarchical
manner, where higher-level procedures call lower-level procedures to accomplish
their objectives. The flow of control moves from one procedure to another,
following a predefined sequence of steps.
Procedural Design
• Here are some key characteristics and concepts associated with procedural
design:
1. Procedure or Function: It is a self-contained block of code that performs a
specific task. Procedures take inputs, process them, and produce outputs.
2. Modularization: Procedural design promotes modularization, which involves
breaking down a system into smaller, more manageable modules. Each module
focuses on a specific functionality or task, making the overall system easier to
understand and maintain.
3. Top-down Design: Procedural design typically follows a top-down approach,
where the overall system is first decomposed into high-level procedures, and then
those procedures are further decomposed into smaller procedures until the desired
level of detail is achieved.
Procedural Design
4. Structured Programming: Procedural design often aligns with structured
programming principles, which emphasize clear control flow, structured control
statements (e.g., loops and conditionals), and avoiding unstructured constructs like
"go to" statements.
5. Data and Control Separation: Procedural design distinguishes between data and
control. Data is stored in variables or data structures, and control flows through
the sequence of procedures based on certain conditions or events.

6. Reusability: Procedural design promotes reusability as individual procedures can


be called from multiple places within the system. Well-defined procedures can be
easily reused in different parts of the software.
Procedural Design
7. Procedural Abstraction: Procedures in procedural design provide an abstraction
of the underlying implementation. Higher-level procedures encapsulate complex
operations, providing a simplified interface for other procedures to use.

Procedural design is particularly suitable for smaller projects or parts of a system


where a sequential flow of steps is the most natural way to solve a problem.
However, for large and complex systems, other design paradigms like object-
oriented design may be more appropriate.
Drawbacks of Procedural Design
1. Complexity: Procedural design can be very complex, as it requires you to
understand the instructions in detail.

2. Maintainability: Procedural design can be difficult to maintain, as changes to the


instructions can have a ripple effect on the final product.
3. Performance: Procedural design can be less performan than other design
methodologies, as it requires the instructions to be executed every time the
product is used.

You might also like