This document discusses procedural design in software engineering. Procedural design breaks a system down into smaller procedures or functions that perform specific tasks in a hierarchical, top-down manner. Key aspects of procedural design include modularity, structured programming, separation of data and control, reusability, and procedural abstraction. While suitable for smaller projects, procedural design can become complex and difficult to maintain and optimize for large systems.
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
900 views
Lecture 3.2.1 Procedural Design
This document discusses procedural design in software engineering. Procedural design breaks a system down into smaller procedures or functions that perform specific tasks in a hierarchical, top-down manner. Key aspects of procedural design include modularity, structured programming, separation of data and control, reusability, and procedural abstraction. While suitable for smaller projects, procedural design can become complex and difficult to maintain and optimize for large systems.
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 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.