Functional Procedure Layers in Software Engineering
Last Updated :
23 Jul, 2025
Function Oriented design is a way to deal with a design of software where the plan has deteriorated into a bunch of connecting units where each unit has a clearly defined function. Accordingly, the system is planned from a functional perspective.
You can check out more about Function Oriented design here.
Functional procedure layers in software engineering are a way of organizing software components based on their functionality and the procedures they perform. The layers provide a clear separation of concerns, making it easier to develop, test, and maintain the software system.
The following are the typical functional procedure layers in software engineering:
- Presentation layer: The presentation layer is responsible for presenting the user interface to the user. It handles user input, validates input data, and generates output data for display on the screen. The presentation layer communicates with the business logic layer to execute user requests.
- Business logic layer: The business logic layer contains the core business logic of the software system. It processes user requests, performs business rules and calculations, and interacts with the data access layer to retrieve and update data. The business logic layer is responsible for ensuring that the system behaves correctly and meets the requirements of the users and stakeholders.
- Data access layer: The data access layer is responsible for accessing and manipulating data stored in the database or other data storage systems. It provides a standardized interface for accessing data, ensuring that the data is consistent, secure, and accurate. The data access layer communicates with the business logic layer to retrieve and update data.
- By organizing software components into functional procedure layers, software engineers can ensure that each layer performs a specific set of tasks, and the layers can communicate with each other through standardized interfaces. This approach provides a clear separation of concerns, making it easier to develop, test, and maintain the software system.
Furthermore, this approach is based on the model-view-controller (MVC) design pattern, which is a widely used software engineering pattern that separates an application into three main components: the model (data and business logic), the view (user interface), and the controller (handles user input and controls the interaction between the model and the view).
Functional Procedure Layers:
Function Procedure Layers are the layers or levels in the functional procedure used in the software design process. The function is built in layers, Additional notation is used to specify details. In Functional Procedure Layers, there are 4 layers that exist in the procedure:
- Level 0
- Level 1
- Level 2
- Level 3

Let us discuss them one by one:
- Level 0: This level defines the following things:
- The Name of the function or of the procedure.
- The Relationship with some other system components (Like for example, part of which system, called by which routines, etc.).
- It also briefly describes the purpose of the function.
- Also, it defines the Author and Date.
- Level 1: This level defines the following things :
- The Function Parameters like problem variables, types, purpose, etc.
- The Global variables like problem variable, type, purpose, sharing information.
- It also has the Routines called by the function.
- Input/Output Assertions
- Level 2: This level defines the following things:
- The Local data structures like variables, etc.
- The time constraints.
- The handling of exceptions like conditions, responses, events.
- Level 3: This level defines only the Body i.e., structured chart, English pseudocode, decision tables, flow charts, etc.
Similar Reads
Non-Functional Requirements in Software Engineering Non-functional requirements in software engineering refer to the characteristics of a software system that are not related to specific functionality or behavior. They describe how the system should perform, rather than what it should do. This article focuses on discussing non-functional requirements
8 min read
Function Oriented Design - Software Engineering The design process for software systems often has two levels. At the first level, the focus is on deciding which modules are needed for the system based on SRS (Software Requirement Specification) and how the modules should be interconnected. Function Oriented Design is an approach to software desig
3 min read
Evolutionary Model - Software Engineering The evolutionary model is a combination of the Iterative and Incremental models of the software development life cycle. Delivering your system in a big bang release, delivering it in incremental process over time is the action done in this model. Some initial requirements and architecture envisionin
4 min read
Functional Point (FP) Analysis - Software Engineering Functional Point Analysis (FPA) is a software measurement technique used to assess the size and complexity of a software system based on its functionality. It involves categorizing the functions of the software, such as input screens, output reports, inquiries, files, and interfaces, and assigning w
8 min read
Layered Technology in Software Engineering Software engineering is a fully layered technology, to develop software we need to go from one layer to another. All the layers are connected and each layer demands the fulfillment of the previous layer. Fig: The diagram shows the layers of software development Just as software engineering requires
2 min read
Software Process Framework - Software Engineering A Software Process Framework is a structured approach that defines the steps, tasks, and activities involved in software development. This framework serves as a foundation for software engineering, guiding the development team through various stages to ensure a systematic and efficient process. A So
8 min read