Layered approach to software development

Software development strategies vary from business-to-business. Certain factors—like Stakeholders, end-users, and organizational structure—determine the best approach.

The Solution Group practices a layered software architecture. This means TSG software is built with distinct layers that each have their own purpose. These layers build on each other to create the end-product—from foundational data through the final customer-facing layer.

Layered software development has major advantages that matches TSG’s organizational structure. The approach also lends itself to customizing software based on customer needs. At the Solutions Group, we practice a four-tier system, which is a common approach to the layered architecture model. Here are the two different layers we use to build and deploy our software:

Database Layer

This is the foundational layer. The database layer includes back-end data that dictates how the software behaves. The database layer stays untouched and is managed through the layer that sits on top of it—the data access layer.

Data Access Layer

This layer sits above the database layer and allows for accessing the database layer. Any alterations or modifications to how a software accesses the data is done through the data access layer.

Business Layer

This is a layer dedicated to business-specific logs. For example, when developing an application for a customer who has a lot of software customizations—or business rules—we data from database, apply business rules, and either save it or provide to the presentation layer.

Presentation Layer

This is the layer visible to the customer. While other layers may not be accessible to the customer or require certain visual standards, it’s important that the presentation layer accomplishes both functional and visual business goals.

Analogy

Here’s an analogy of how the four layers work. Let’s say you have a question for a local business, and you’re filling out a Contact Me form on the business’ website. The form has different drop down options and choices for the business to determine the best way to help you. The form would be the presentation layer. After you click submit, the person who receives your inquiry and applies logic to how it should be handled would be considered the business layer.

The business also keeps the raw data of which choices their customers select on the form. The business uses software to navigate that raw data and compile a report that is easy to read. The software that creates this report is the data access layer. The raw data is exported and saved on a hard drive. This raw data can be considered the database layer.

Major Benefits

  • Layers of isolation: A recent study published in the O’Reilly Library defines the layers of isolation approach in detail: “The layers of isolation concept means that changes made in one layer of the architecture generally don’t impact or affect components in other layers: the change is isolated to the components within that layer, and possibly another associated layer (such as a persistence layer containing SQL).” This means the layers have their own independence and contain their own components.
  • Acceptance testing. The layered structure makes it easier to perform user acceptance testing prior to deploying enhancements or bug fixes.
  • Ease of development: The layers of isolation approach allows for a smooth, agile approach to new development.