Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Summary

Software Engineering Summary — Architecture Patterns, Testing, and Continuous Integration

Rating
-
Sold
-
Pages
24
Uploaded on
27-04-2026
Written in
2024/2025

A structured Software Engineering summary covering layered architecture, event-driven systems, microservices, microkernel and space-based architecture, plus testing fundamentals, V-model, regression testing, dynamic testing, and continuous integration. Excellent for revision and coursework review.

Show more Read less
Institution
Course

Content preview

,Architecture Patterns
• guide system design based on scalability, agility and business needs
• define basic characteristics and behavior of an application
Monolithic —> single deployment unit (e.g. layered, modular monolith)
Distributed —> multiple units (e.g. microservices, event-driven)


Layered Architecture
Single deployment unit with functionality grouped by technical categories
Structure:
• Closed layers: presentation —> business —> persistence —> database
• Separation of concerns —> each layer handles specific logic
Components within a specific layer deal only with logic that pertains to that layer
Pros:
• simple, low cost, easy testing
• ideal for technical changes
Cons:
• poor scalability/ performance (tight coupling)
• Hard to deploy (full redeploy for small changes)
Use case:
Banking app
Layers:
• UI layer —> shows account information to the user
• Business Logic layer —> calculates balances, checks rules
• Persistence layer —> reads/ writes data to UserAccounts table in the database
• Database —> stores the actual data


Closed layer —> a request moves from layer to layer, it must go through the layer right below it to get to the next layer
below that one
Why not allow the presentation layer direct access to either the persistence layer or database layer?
Violates separation of concerns
if the UI directly queries the database —> business logic may be bypasses (no fraud checks), UI developers must
understand database schemas, breaking modularity
Tight coupling
closed layers ensure changes in one layer don’t ripple to others
ex: changing database schema would force UI updates if it directly accesses the DB
Security Risks
exposed data —> direct DB access might expose sensitive fields to the UI
no gatekeeping —> business layers enforce security —> risks unauthorized actions


Layers of isolation concept —> changes made in one layer of the architecture generally don’t impact or affect components
in other layers
each layer is independent of the other layers —> having little or no knowledge of the inner workings of other layers
each

, Open layers
• shared-services layer —> common service components accessed
by components within the business layer
• Service layer —> open —> requests are allowed to bypass this open layer
and go directly to the layer below it
• Cheap and easy to use
• Bad maintainability, testability, deployability, elasticity, scalability,
fault-tolerance, evolvability




Black arrows —> request flowing down to the databases to retrieve the
Customer data
Red arrows —> response flowing back up to the screen to display the data




Presentation Layer
• customer screen —> responsible for accepting request and displaying the
customer information
• once it receives the request —> forwards it onto the customer delegate module —> responsible for knowing which
modules in the business layer can process that request and how to get to that module and what data it needs
Business layer
• customer object module —> aggregating all the information needed by the business request (customer info) —> calls
out to the customer dao (data access object) module in the persistence layer to get customer data and calls order
dao module to get order information
Persistence Layer
• customer dao and order dao —> in turn execute SQL statements —> retrieve corresponding data —> pass it back up
to the customer object in the business layer —> aggregates the data —> passes that info back up to the customer
delegate —> passes that data to the customer screen —> present to user


Easy of deployment —> LOW (for larger applications)
Testability —> HIGH (because specific layers)
Performance —> LOW (inefficiencies of having to go through multiple layers of the architecture to fulfill a request)
Scalability —> LOW (tightly coupled and monolithic implementations)
Easy of development —> HIGH (well known pattern, easy to implement)

Written for

Institution
Course

Document information

Uploaded on
April 27, 2026
Number of pages
24
Written in
2024/2025
Type
SUMMARY

Subjects

$8.94
Get access to the full document:

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Get to know the seller
Seller avatar
eugniedelaunay

Get to know the seller

Seller avatar
eugniedelaunay Computer Science
Follow You need to be logged in order to follow users or courses
Sold
-
Member since
3 weeks
Number of followers
0
Documents
11
Last sold
-

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions