In: Computer Science
write a 500–600 words to address the following
questions:
What is 1 of the specific software architectures or
development methodologies that you have discovered, and how does it
support the development methodology and processes?
Include examples of how the major parts of the
software architecture help make specific software development
processes more efficient.
Architecture serves as a blueprint for a system. It provides an abstraction to manage the system complexity and establish a communication and coordination mechanism among components.
One specific software architecture that I came across and implemeted as well is "Layered (n-tier) architecture".
It is usually built around the database, and many applications in business naturally lend themselves to storing information in tables. This is something of a self-fulfilling prophecy. Many of the biggest and best software frameworks—like Java EE, Drupal, and Express—were built with this structure in mind, so many of the applications built with them naturally come out in a layered architecture.
The code is arranged so the data enters the top layer and works its way down each layer until it reaches the bottom, which is usually a database. Along the way, each layer has a specific task, like checking the data for consistency or reformatting the values to keep them consistent. It’s common for different programmers to work independently on different layers.
The Model-View-Controller (MVC) structure, which is the standard software development approach offered by most of the popular web frameworks, is clearly a layered architecture. Just above the database is the model layer, which often contains business logic and information about the types of data in the database. At the top is the view layer, which is often CSS, JavaScript, and HTML with dynamic embedded code. In the middle, you have the controller, which has various rules and methods for transforming the data moving between the view and the model.
What are the Benefits of N-Tier Architecture?
Benefits of using N-Tier architecture for your software are as follows:
N-Tier architecture makes development more easy and efficient as follows: