SlideShare a Scribd company logo
1 of 49
Chapter 1 – Architectural Design
Mutah University
Faculty of IT
Department of Software Engineering
Dr. Ra’Fat A. AL-Msie’Deen
rafatalmsiedeen@mutah.edu.jo
https://rafat66.github.io/Al-Msie-Deen/
Software Architecture and Design
Reference - Text Book:
 Chapter 6 of Software Engineering book - by Ian
Sommerville. l0th Edition. Addison Wesley, 2015, ISBN-
10: 0137035152.
2
Topics covered
 Architectural design decisions
 Architectural views
 Architectural patterns
 Application architectures
318/03/2020
Application architectures
Application architectures
 Application systems are intended to meet a business or
an organizational need.
 All businesses have much in common—they need to hire
people, issue invoices, keep accounts, and so on.
 Businesses operating in the same sector use common
sector specific applications.
 Therefore, as well as general business functions, all
phone companies need systems to connect and meter
calls, manage their network and issue bills to customers.
 Consequently, the application systems used by these
businesses also have much in common.
5
Application architectures … cont.
 These commonalities have led to the development of
software architectures that describe the structure and
organization of particular types of software systems.
 Application architectures encapsulate the principal
characteristics of a class of systems.
 For example, in real-time systems, there might be
generic architectural models of different system types,
such as data collection systems or monitoring systems.
 Although instances of these systems differ in detail, the
common architectural structure can be reused when
developing new systems of the same type.
6
Application architectures … cont.
 The application architecture may be reimplemented when
developing new systems.
 However, for many business systems, application
architecture reuse is implicit when generic application
systems are configured to create a new application.
 We see this in the widespread use of Enterprise Resource
Planning (ERP) systems and off-the-shelf configurable
application systems, such as systems for accounting and
stock control.
 These systems have a standard architecture and
components.
 The components are configured and adapted to create a
specific business application. 7
Application architectures … cont.
 Application systems are designed to meet an
organizational need.
 As businesses have much in common, their application
systems also tend to have a common architecture that
reflects the application requirements.
 A generic application architecture is an architecture for a
type of software system that may be configured and
adapted to create a system that meets specific
requirements.
818/03/2020
Use of application architectures
 For example, a system for supply chain management
can be adapted for different types of suppliers, goods,
and contractual arrangements.
 As a software designer, you can use models of
application architectures in a number of ways:
1. As a starting point for the architectural design
process
 If you are unfamiliar with the type of application that
you are developing, you can base your initial design
on a generic application architecture.
 You then specialize this for the specific system that is
being developed. 9
Use of application architectures … cont.
 As a software designer, you can use models of
application architectures in a number of ways:
2. As a design checklist
 If you have developed an architectural design for an
application system, you can compare this with the
generic application architecture.
 You can check that your design is consistent with the
generic architecture.
10
Use of application architectures … cont.
 As a software designer, you can use models of
application architectures in a number of ways:
3. As a way of organizing the work of the development
team
 The application architectures identify stable structural
features of the system architectures, and in many
cases, it is possible to develop these in parallel.
 You can assign work to group members to implement
different components within the architecture.
11
Use of application architectures … cont.
 As a software designer, you can use models of
application architectures in a number of ways:
4. As a means of assessing components for reuse
 If you have components you might be able to reuse,
you can compare these with the generic structures to
see whether there are comparable components in the
application architecture.
12
Use of application architectures … cont.
 As a software designer, you can use models of
application architectures in a number of ways:
5. As a vocabulary for talking about applications
 If you are discussing a specific application or trying to
compare applications, then you can use the concepts
identified in the generic architecture to talk about
these applications.
13
Use of application architectures … cont.
1) As a starting point for architectural design.
2) As a design checklist.
3) As a way of organizing the work of the development
team.
4) As a means of assessing components for reuse.
5) As a vocabulary for talking about application types.
14
Application architectures … cont.
 There are many types of application system, and, in
some cases, they may seem to be very different.
 However, superficially dissimilar applications may have
much in common and thus share an abstract application
architecture.
 I illustrate this by describing the architectures of two
types of application:
15
Examples of application types
1. Transaction processing applications
 Transaction processing applications are database-
centered applications that process user requests for
information and update the information in a database.
 These are the most common types of interactive
business systems.
 They are organized in such a way that user actions can’t
interfere with each other and the integrity of the
database is maintained.
 This class of system includes interactive banking
systems, e-commerce systems, information systems,
and booking systems. 16
Examples of application types … cont.
2. Language processing systems
 Language processing systems are systems in which the
user’s intentions are expressed in a formal language, such
as a programming language.
 The language processing system processes this language
into an internal format and then interprets this internal
representation.
 The best known language processing systems are
compilers, which translate high-level language programs
into machine code.
 However, language processing systems are also used to
interpret command languages for databases and
information systems, and markup languages such as XML.
Examples of application types … cont.
 I have chosen these particular types of system because
a large number of web based business systems are
transaction processing systems, and all software
development relies on language processing systems.
18/03/2020 18
Examples of application types … cont.
 Data processing applications
 Data driven applications that process data in batches
without explicit user intervention during the processing.
 Transaction processing applications
 Data-centered applications that process user requests and
update information in a system database.
 Event processing systems
 Applications where system actions depend on interpreting
events from the system’s environment.
 Language processing systems
 Applications where the users’ intentions are specified in a
formal language that is processed and interpreted by the
system. 19
Application type examples
 Two very widely used generic application architectures
are transaction processing systems and language
processing systems.
 Transaction processing systems
 E-commerce systems;
 Reservation systems.
 Language processing systems
 Compilers;
 Command interpreters.
20
Key points
 Models of application systems architectures help us
understand and compare applications, validate
application system designs and assess large-scale
components for reuse.
21
Application architectures
Transaction processing systems
Transaction processing systems
 Transaction processing systems are designed to process
user requests for information from a database, or
requests to update a database (Lewis, Bernstein, and
Kifer 2003).
 Technically, a database transaction is part of a sequence
of operations and is treated as a single unit (an atomic
unit).
 All of the operations in a transaction have to be
completed before the database changes are made
permanent.
 This ensures that failure of operations within a
transaction does not lead to inconsistencies in the
database.
23
Transaction processing systems … cont.
 From a user perspective, a transaction is any coherent
sequence of operations that satisfies a goal, such as
“find the times of flights from London to Paris.”
 If the user transaction does not require the database to
be changed, then it may not be necessary to package
this as a technical database transaction.
18/03/2020 24
Transaction processing systems … cont.
 An example of a database transaction is a customer
request to withdraw money from a bank account using
an ATM.
 This involves checking the customer account balance to
see if sufficient funds are available, modifying the
balance by the amount withdrawn and sending
commands to the ATM to deliver the cash.
 Until all of these steps have been completed, the
transaction is incomplete and the customer accounts
database is not changed.
25
Transaction processing systems … cont.
 Transaction processing systems are usually interactive systems
in which users make asynchronous requests for service.
 Figure 1 illustrates the conceptual architectural structure of
transaction processing applications.
 First, a user makes a request to the system through an I/O
processing component.
 The request is processed by some application-specific logic.
 A transaction is created and passed to a transaction manager,
which is usually embedded in the database management
system.
 After the transaction manager has ensured that the transaction
is properly completed, it signals to the application that
processing has finished. 26
Transaction processing systems … cont.
 Process user requests for information from a database
or requests to update the database.
 From a user perspective a transaction is:
 Any coherent sequence of operations that satisfies a goal;
 For example - find the times of flights from London to Paris.
 Users make asynchronous requests for service which
are then processed by a transaction manager.
27
The structure of transaction processing applications
28
Figure 1. The structure of transaction processing applications.
Transaction processing systems … cont.
 Transaction processing systems may be organized as a “pipe
and filter” architecture, with system components responsible
for input, processing, and output.
 For example, consider a banking system that allows customers
to query their accounts and withdraw cash from an ATM.
 The system is composed of two cooperating software
components — the ATM software and the account processing
software in the bank’s database server.
 The input and output components are implemented as
software in the ATM, and the processing component is part of
the bank’s database server.
 Figure 2 shows the architecture of this system, illustrating the
functions of the input, process, and output components. 29
The software architecture of an ATM system
30
Figure 2. The software architecture of an ATM system.
Key points
 Models of application systems architectures help us
understand and compare applications, validate
application system designs and assess large-scale
components for reuse.
 Transaction processing systems are interactive systems
that allow information in a database to be remotely
accessed and modified by a number of users.
31
Application architectures
Transaction processing systems
Information systems
Information systems
 All systems that involve interaction with a shared
database can be considered to be transaction-based
information systems.
 An information system allows controlled access to a
large base of information, such as a library catalog, a
flight timetable, or the records of patients in a hospital.
 Information systems are almost always web-based
systems, where the user interface is implemented in a
web browser.
33
Information systems … cont.
 Figure 1 presents a very general model of an information
system.
 The system is modeled using a layered approach
(discussed in Section 6.3) where the top layer supports
the user interface and the bottom layer is the system
database.
 The user communications layer handles all input and
output from the user interface, and the information
retrieval layer includes application-specific logic for
accessing and updating the database.
 The layers in this model can map directly onto servers in
a distributed Internet-based system.
34
Layered information system architecture
35Figure 1. Layered information system architecture.
Information systems architecture
 Information systems have a generic architecture that can
be organized as a layered architecture.
 These are transaction-based systems as interaction with
these systems generally involves database transactions.
 Layers include:
 The user interface
 User communications
 Information retrieval
 System database
36
The architecture of the Mentcare system
 As an example of an instantiation of this layered model,
Figure 2 shows the architecture of the Mentcare system.
 Recall that this system maintains and manages details of
patients who are consulting specialist doctors about
mental health problems.
 I have added detail to each layer in the model by
identifying the components that support user
communications and information retrieval and access.
18/03/2020 37
The architecture of the Mentcare system … cont.
38
Figure 2. The architecture of the Mentcare system.
The architecture of the Mentcare system … cont.
1) The top layer is a browser-based user interface.
2) The second layer provides the user interface
functionality that is delivered through the web browser.
It includes components to allow users to log in to the
system and checking components that ensure that the
operations they use are allowed by their role. This layer
includes form and menu management components that
present information to users, and data validation
components that check information consistency.
39
The architecture of the Mentcare system … cont.
3) The third layer implements the functionality of the
system and provides components that implement
system security, patient information creation and
updating, import and export of patient data from other
databases, and report generators that create
management reports.
4) Finally, the lowest layer, which is built using a
commercial database management system, provides
transaction management and persistent data storage.
40
Web-based information systems
 Information and resource management systems are
sometimes also transaction processing systems.
 For example, e-commerce systems are Internet-based
resource management systems that accept electronic
orders for goods or services and then arrange delivery of
these goods or services to the customer.
 In an e-commerce system, the application-specific layer
includes additional functionality supporting a “shopping
cart” in which users can place a number of items in
separate transactions, then pay for them all together in a
single transaction.
41
Web-based information systems … cont.
 The organization of servers in these systems usually
reflects the four-layer generic model presented in Figure
1.
 These systems are often implemented as distributed
systems with a multitier client server/architecture.
42
Layered information system architecture
43
Figure 1. Layered information system architecture.
Web-based information systems … cont.
1. The web server is responsible for all user
communications, with the user interface implemented
using a web browser;
2. The application server is responsible for implementing
application-specific logic as well as information storage
and retrieval requests;
3. The database server moves information to and from
the database and handles transaction management.
18/03/2020 44
Web-based information systems … cont.
 Information and resource management systems are now
usually web-based systems where the user interfaces
are implemented using a web browser.
 For example, e-commerce systems are Internet-based
resource management systems that accept electronic
orders for goods or services and then arrange delivery of
these goods or services to the customer.
 In an e-commerce system, the application-specific layer
includes additional functionality supporting a ‘shopping
cart’ in which users can place a number of items in
separate transactions, then pay for them all together in a
single transaction.
45
Server implementation
 These systems are often implemented as multi-tier client
server/architectures.
 The web server is responsible for all user
communications, with the user interface implemented
using a web browser;
 The application server is responsible for implementing
application-specific logic as well as information
storage and retrieval requests;
 The database server moves information to and from
the database and handles transaction management.
46
Server implementation … cont.
 Using multiple servers allows high throughput and
makes it possible to handle thousands of transactions
per minute.
 As demand increases, servers can be added at each
level to cope with the extra processing involved.
47
Key points
 Models of application systems architectures help us
understand and compare applications, validate
application system designs and assess large-scale
components for reuse.
 All systems that involve interaction with a shared
database can be considered to be transaction-based
information systems.
 An information system allows controlled access to a
large base of information, such as a library catalog.
 Information systems are almost always web-based
systems, where the user interface is implemented in a
web browser.
48
Chapter 1 – Architectural Design
Mutah University
Faculty of IT
Department of Software Engineering
Dr. Ra’Fat A. AL-Msie’Deen
rafatalmsiedeen@mutah.edu.jo
https://rafat66.github.io/Al-Msie-Deen/
Software Architecture and Design

More Related Content

What's hot

Documenting software architecture
Documenting software architectureDocumenting software architecture
Documenting software architectureHimanshu
 
7(srs template)
7(srs template)7(srs template)
7(srs template)randhirlpu
 
Software requirementspecification
Software requirementspecificationSoftware requirementspecification
Software requirementspecificationoshin-japanese
 
Software engineering Unit-2
Software engineering Unit-2Software engineering Unit-2
Software engineering Unit-2Samura Daniel
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement SpecificationVishal Singh
 
Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...
Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...
Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...Waqas Tariq
 
Software Requirement Specification Master Template
Software Requirement Specification Master TemplateSoftware Requirement Specification Master Template
Software Requirement Specification Master TemplateWayne Chen
 
Functional requirements-document
Functional requirements-documentFunctional requirements-document
Functional requirements-documentAnil Kumar
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and designRobinsonObura
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9Ian Sommerville
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specificationshiprashakya2
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3SIMONTHOMAS S
 
SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software RequirementsJomel Penalba
 
End User Development - Governance and Risk Management
End User Development - Governance and Risk ManagementEnd User Development - Governance and Risk Management
End User Development - Governance and Risk ManagementDaniel Li
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
software requirement specification
software requirement specificationsoftware requirement specification
software requirement specificationmaliksiddique1
 

What's hot (20)

Documenting software architecture
Documenting software architectureDocumenting software architecture
Documenting software architecture
 
7(srs template)
7(srs template)7(srs template)
7(srs template)
 
Chap4 RE validation
Chap4 RE validationChap4 RE validation
Chap4 RE validation
 
Software requirementspecification
Software requirementspecificationSoftware requirementspecification
Software requirementspecification
 
Software engineering Unit-2
Software engineering Unit-2Software engineering Unit-2
Software engineering Unit-2
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Srs
SrsSrs
Srs
 
Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...
Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...
Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...
 
Software Requirement Specification Master Template
Software Requirement Specification Master TemplateSoftware Requirement Specification Master Template
Software Requirement Specification Master Template
 
Functional requirements-document
Functional requirements-documentFunctional requirements-document
Functional requirements-document
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and design
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specification
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
 
SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software Requirements
 
End User Development - Governance and Risk Management
End User Development - Governance and Risk ManagementEnd User Development - Governance and Risk Management
End User Development - Governance and Risk Management
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
software requirement specification
software requirement specificationsoftware requirement specification
software requirement specification
 

Similar to Application architectures - Software Architecture and Design

Constructing a software requirements specification and design for electronic ...
Constructing a software requirements specification and design for electronic ...Constructing a software requirements specification and design for electronic ...
Constructing a software requirements specification and design for electronic ...Ra'Fat Al-Msie'deen
 
Hard work matters for everyone in everytbing
Hard work matters for everyone in everytbingHard work matters for everyone in everytbing
Hard work matters for everyone in everytbinglojob95766
 
Erp application
Erp applicationErp application
Erp applicationAkshara S
 
Airline ticket reservation system
Airline ticket reservation systemAirline ticket reservation system
Airline ticket reservation systemSH Rajøn
 
A Study of Software Size Estimation with use Case Points
A Study of Software Size Estimation with use Case PointsA Study of Software Size Estimation with use Case Points
A Study of Software Size Estimation with use Case Pointsijtsrd
 
Software Development Process - REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Software Development Process -  REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...Software Development Process -  REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Software Development Process - REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...Mark John Lado, MIT
 
Appendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docxAppendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docxarmitageclaire49
 
Software Engineering Diversity
Software Engineering DiversitySoftware Engineering Diversity
Software Engineering DiversitySayedMokarrom
 
Bt0081 software engineering
Bt0081 software engineeringBt0081 software engineering
Bt0081 software engineeringTechglyphs
 
Quality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxQuality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxKimberly Jones
 
Chapter 9 The People in Information Systems Learning Ob.docx
Chapter 9 The People in Information Systems Learning Ob.docxChapter 9 The People in Information Systems Learning Ob.docx
Chapter 9 The People in Information Systems Learning Ob.docxspoonerneddy
 
Chapter 9 The People in Information Systems Learning Ob.docx
Chapter 9 The People in Information Systems Learning Ob.docxChapter 9 The People in Information Systems Learning Ob.docx
Chapter 9 The People in Information Systems Learning Ob.docxtiffanyd4
 
International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...ijcseit
 
CONFIGURATION INERPSAAS MULTI-TENANCY
CONFIGURATION INERPSAAS MULTI-TENANCYCONFIGURATION INERPSAAS MULTI-TENANCY
CONFIGURATION INERPSAAS MULTI-TENANCYijcseit
 
Configuration inerpsaas multi tenancy
Configuration inerpsaas multi tenancyConfiguration inerpsaas multi tenancy
Configuration inerpsaas multi tenancyijcseit
 

Similar to Application architectures - Software Architecture and Design (20)

Constructing a software requirements specification and design for electronic ...
Constructing a software requirements specification and design for electronic ...Constructing a software requirements specification and design for electronic ...
Constructing a software requirements specification and design for electronic ...
 
Hard work matters for everyone in everytbing
Hard work matters for everyone in everytbingHard work matters for everyone in everytbing
Hard work matters for everyone in everytbing
 
Erp application
Erp applicationErp application
Erp application
 
Airline ticket reservation system
Airline ticket reservation systemAirline ticket reservation system
Airline ticket reservation system
 
A Study of Software Size Estimation with use Case Points
A Study of Software Size Estimation with use Case PointsA Study of Software Size Estimation with use Case Points
A Study of Software Size Estimation with use Case Points
 
Software Development Process - REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Software Development Process -  REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...Software Development Process -  REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Software Development Process - REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
 
Appendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docxAppendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docx
 
Business rules-extraction
Business rules-extractionBusiness rules-extraction
Business rules-extraction
 
Software Engineering Diversity
Software Engineering DiversitySoftware Engineering Diversity
Software Engineering Diversity
 
Bt0081 software engineering
Bt0081 software engineeringBt0081 software engineering
Bt0081 software engineering
 
Quality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxQuality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White Box
 
Chapter 9 The People in Information Systems Learning Ob.docx
Chapter 9 The People in Information Systems Learning Ob.docxChapter 9 The People in Information Systems Learning Ob.docx
Chapter 9 The People in Information Systems Learning Ob.docx
 
Chapter 9 The People in Information Systems Learning Ob.docx
Chapter 9 The People in Information Systems Learning Ob.docxChapter 9 The People in Information Systems Learning Ob.docx
Chapter 9 The People in Information Systems Learning Ob.docx
 
Learning activity 4
Learning activity 4Learning activity 4
Learning activity 4
 
A CRUD Matrix
A CRUD MatrixA CRUD Matrix
A CRUD Matrix
 
Session3
Session3Session3
Session3
 
Ooad quest and ans
Ooad quest and ansOoad quest and ans
Ooad quest and ans
 
International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...
 
CONFIGURATION INERPSAAS MULTI-TENANCY
CONFIGURATION INERPSAAS MULTI-TENANCYCONFIGURATION INERPSAAS MULTI-TENANCY
CONFIGURATION INERPSAAS MULTI-TENANCY
 
Configuration inerpsaas multi tenancy
Configuration inerpsaas multi tenancyConfiguration inerpsaas multi tenancy
Configuration inerpsaas multi tenancy
 

More from Ra'Fat Al-Msie'deen

SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdfSoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdfRa'Fat Al-Msie'deen
 
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdfBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdfRa'Fat Al-Msie'deen
 
Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Ra'Fat Al-Msie'deen
 
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsRa'Fat Al-Msie'deen
 
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...Ra'Fat Al-Msie'deen
 
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...Ra'Fat Al-Msie'deen
 
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...Ra'Fat Al-Msie'deen
 
Automatic Labeling of the Object-oriented Source Code: The Lotus Approach
Automatic Labeling of the Object-oriented Source Code: The Lotus ApproachAutomatic Labeling of the Object-oriented Source Code: The Lotus Approach
Automatic Labeling of the Object-oriented Source Code: The Lotus ApproachRa'Fat Al-Msie'deen
 
Detecting commonality and variability in use-case diagram variants
Detecting commonality and variability in use-case diagram variantsDetecting commonality and variability in use-case diagram variants
Detecting commonality and variability in use-case diagram variantsRa'Fat Al-Msie'deen
 
Naming the Identified Feature Implementation Blocks from Software Source Code
Naming the Identified Feature Implementation Blocks from Software Source CodeNaming the Identified Feature Implementation Blocks from Software Source Code
Naming the Identified Feature Implementation Blocks from Software Source CodeRa'Fat Al-Msie'deen
 
Requirements change - requirements engineering
Requirements change - requirements engineeringRequirements change - requirements engineering
Requirements change - requirements engineeringRa'Fat Al-Msie'deen
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineeringRa'Fat Al-Msie'deen
 
Software Documentation - writing to support - references
Software Documentation - writing to support - referencesSoftware Documentation - writing to support - references
Software Documentation - writing to support - referencesRa'Fat Al-Msie'deen
 
Software Documentation "writing to guide- procedures"
Software Documentation "writing to guide- procedures"Software Documentation "writing to guide- procedures"
Software Documentation "writing to guide- procedures"Ra'Fat Al-Msie'deen
 
Requirements Engineering Processes
Requirements Engineering ProcessesRequirements Engineering Processes
Requirements Engineering ProcessesRa'Fat Al-Msie'deen
 
A Requirement Model of Local News WEB/ WAP Application for Rural Communities
A Requirement Model of Local News WEB/ WAP Application for Rural Communities A Requirement Model of Local News WEB/ WAP Application for Rural Communities
A Requirement Model of Local News WEB/ WAP Application for Rural Communities Ra'Fat Al-Msie'deen
 

More from Ra'Fat Al-Msie'deen (20)

SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdfSoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
 
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdfBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
 
Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
 
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
 
Source Code Summarization
Source Code SummarizationSource Code Summarization
Source Code Summarization
 
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
 
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
 
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
 
Automatic Labeling of the Object-oriented Source Code: The Lotus Approach
Automatic Labeling of the Object-oriented Source Code: The Lotus ApproachAutomatic Labeling of the Object-oriented Source Code: The Lotus Approach
Automatic Labeling of the Object-oriented Source Code: The Lotus Approach
 
Detecting commonality and variability in use-case diagram variants
Detecting commonality and variability in use-case diagram variantsDetecting commonality and variability in use-case diagram variants
Detecting commonality and variability in use-case diagram variants
 
Naming the Identified Feature Implementation Blocks from Software Source Code
Naming the Identified Feature Implementation Blocks from Software Source CodeNaming the Identified Feature Implementation Blocks from Software Source Code
Naming the Identified Feature Implementation Blocks from Software Source Code
 
Requirements change - requirements engineering
Requirements change - requirements engineeringRequirements change - requirements engineering
Requirements change - requirements engineering
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
 
Software Documentation - writing to support - references
Software Documentation - writing to support - referencesSoftware Documentation - writing to support - references
Software Documentation - writing to support - references
 
Algorithms - "heap sort"
Algorithms - "heap sort"Algorithms - "heap sort"
Algorithms - "heap sort"
 
Algorithms - "quicksort"
Algorithms - "quicksort"Algorithms - "quicksort"
Algorithms - "quicksort"
 
Software Documentation "writing to guide- procedures"
Software Documentation "writing to guide- procedures"Software Documentation "writing to guide- procedures"
Software Documentation "writing to guide- procedures"
 
Software documentation
Software documentationSoftware documentation
Software documentation
 
Requirements Engineering Processes
Requirements Engineering ProcessesRequirements Engineering Processes
Requirements Engineering Processes
 
A Requirement Model of Local News WEB/ WAP Application for Rural Communities
A Requirement Model of Local News WEB/ WAP Application for Rural Communities A Requirement Model of Local News WEB/ WAP Application for Rural Communities
A Requirement Model of Local News WEB/ WAP Application for Rural Communities
 

Recently uploaded

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 

Recently uploaded (20)

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 

Application architectures - Software Architecture and Design

  • 1. Chapter 1 – Architectural Design Mutah University Faculty of IT Department of Software Engineering Dr. Ra’Fat A. AL-Msie’Deen rafatalmsiedeen@mutah.edu.jo https://rafat66.github.io/Al-Msie-Deen/ Software Architecture and Design
  • 2. Reference - Text Book:  Chapter 6 of Software Engineering book - by Ian Sommerville. l0th Edition. Addison Wesley, 2015, ISBN- 10: 0137035152. 2
  • 3. Topics covered  Architectural design decisions  Architectural views  Architectural patterns  Application architectures 318/03/2020
  • 5. Application architectures  Application systems are intended to meet a business or an organizational need.  All businesses have much in common—they need to hire people, issue invoices, keep accounts, and so on.  Businesses operating in the same sector use common sector specific applications.  Therefore, as well as general business functions, all phone companies need systems to connect and meter calls, manage their network and issue bills to customers.  Consequently, the application systems used by these businesses also have much in common. 5
  • 6. Application architectures … cont.  These commonalities have led to the development of software architectures that describe the structure and organization of particular types of software systems.  Application architectures encapsulate the principal characteristics of a class of systems.  For example, in real-time systems, there might be generic architectural models of different system types, such as data collection systems or monitoring systems.  Although instances of these systems differ in detail, the common architectural structure can be reused when developing new systems of the same type. 6
  • 7. Application architectures … cont.  The application architecture may be reimplemented when developing new systems.  However, for many business systems, application architecture reuse is implicit when generic application systems are configured to create a new application.  We see this in the widespread use of Enterprise Resource Planning (ERP) systems and off-the-shelf configurable application systems, such as systems for accounting and stock control.  These systems have a standard architecture and components.  The components are configured and adapted to create a specific business application. 7
  • 8. Application architectures … cont.  Application systems are designed to meet an organizational need.  As businesses have much in common, their application systems also tend to have a common architecture that reflects the application requirements.  A generic application architecture is an architecture for a type of software system that may be configured and adapted to create a system that meets specific requirements. 818/03/2020
  • 9. Use of application architectures  For example, a system for supply chain management can be adapted for different types of suppliers, goods, and contractual arrangements.  As a software designer, you can use models of application architectures in a number of ways: 1. As a starting point for the architectural design process  If you are unfamiliar with the type of application that you are developing, you can base your initial design on a generic application architecture.  You then specialize this for the specific system that is being developed. 9
  • 10. Use of application architectures … cont.  As a software designer, you can use models of application architectures in a number of ways: 2. As a design checklist  If you have developed an architectural design for an application system, you can compare this with the generic application architecture.  You can check that your design is consistent with the generic architecture. 10
  • 11. Use of application architectures … cont.  As a software designer, you can use models of application architectures in a number of ways: 3. As a way of organizing the work of the development team  The application architectures identify stable structural features of the system architectures, and in many cases, it is possible to develop these in parallel.  You can assign work to group members to implement different components within the architecture. 11
  • 12. Use of application architectures … cont.  As a software designer, you can use models of application architectures in a number of ways: 4. As a means of assessing components for reuse  If you have components you might be able to reuse, you can compare these with the generic structures to see whether there are comparable components in the application architecture. 12
  • 13. Use of application architectures … cont.  As a software designer, you can use models of application architectures in a number of ways: 5. As a vocabulary for talking about applications  If you are discussing a specific application or trying to compare applications, then you can use the concepts identified in the generic architecture to talk about these applications. 13
  • 14. Use of application architectures … cont. 1) As a starting point for architectural design. 2) As a design checklist. 3) As a way of organizing the work of the development team. 4) As a means of assessing components for reuse. 5) As a vocabulary for talking about application types. 14
  • 15. Application architectures … cont.  There are many types of application system, and, in some cases, they may seem to be very different.  However, superficially dissimilar applications may have much in common and thus share an abstract application architecture.  I illustrate this by describing the architectures of two types of application: 15
  • 16. Examples of application types 1. Transaction processing applications  Transaction processing applications are database- centered applications that process user requests for information and update the information in a database.  These are the most common types of interactive business systems.  They are organized in such a way that user actions can’t interfere with each other and the integrity of the database is maintained.  This class of system includes interactive banking systems, e-commerce systems, information systems, and booking systems. 16
  • 17. Examples of application types … cont. 2. Language processing systems  Language processing systems are systems in which the user’s intentions are expressed in a formal language, such as a programming language.  The language processing system processes this language into an internal format and then interprets this internal representation.  The best known language processing systems are compilers, which translate high-level language programs into machine code.  However, language processing systems are also used to interpret command languages for databases and information systems, and markup languages such as XML.
  • 18. Examples of application types … cont.  I have chosen these particular types of system because a large number of web based business systems are transaction processing systems, and all software development relies on language processing systems. 18/03/2020 18
  • 19. Examples of application types … cont.  Data processing applications  Data driven applications that process data in batches without explicit user intervention during the processing.  Transaction processing applications  Data-centered applications that process user requests and update information in a system database.  Event processing systems  Applications where system actions depend on interpreting events from the system’s environment.  Language processing systems  Applications where the users’ intentions are specified in a formal language that is processed and interpreted by the system. 19
  • 20. Application type examples  Two very widely used generic application architectures are transaction processing systems and language processing systems.  Transaction processing systems  E-commerce systems;  Reservation systems.  Language processing systems  Compilers;  Command interpreters. 20
  • 21. Key points  Models of application systems architectures help us understand and compare applications, validate application system designs and assess large-scale components for reuse. 21
  • 23. Transaction processing systems  Transaction processing systems are designed to process user requests for information from a database, or requests to update a database (Lewis, Bernstein, and Kifer 2003).  Technically, a database transaction is part of a sequence of operations and is treated as a single unit (an atomic unit).  All of the operations in a transaction have to be completed before the database changes are made permanent.  This ensures that failure of operations within a transaction does not lead to inconsistencies in the database. 23
  • 24. Transaction processing systems … cont.  From a user perspective, a transaction is any coherent sequence of operations that satisfies a goal, such as “find the times of flights from London to Paris.”  If the user transaction does not require the database to be changed, then it may not be necessary to package this as a technical database transaction. 18/03/2020 24
  • 25. Transaction processing systems … cont.  An example of a database transaction is a customer request to withdraw money from a bank account using an ATM.  This involves checking the customer account balance to see if sufficient funds are available, modifying the balance by the amount withdrawn and sending commands to the ATM to deliver the cash.  Until all of these steps have been completed, the transaction is incomplete and the customer accounts database is not changed. 25
  • 26. Transaction processing systems … cont.  Transaction processing systems are usually interactive systems in which users make asynchronous requests for service.  Figure 1 illustrates the conceptual architectural structure of transaction processing applications.  First, a user makes a request to the system through an I/O processing component.  The request is processed by some application-specific logic.  A transaction is created and passed to a transaction manager, which is usually embedded in the database management system.  After the transaction manager has ensured that the transaction is properly completed, it signals to the application that processing has finished. 26
  • 27. Transaction processing systems … cont.  Process user requests for information from a database or requests to update the database.  From a user perspective a transaction is:  Any coherent sequence of operations that satisfies a goal;  For example - find the times of flights from London to Paris.  Users make asynchronous requests for service which are then processed by a transaction manager. 27
  • 28. The structure of transaction processing applications 28 Figure 1. The structure of transaction processing applications.
  • 29. Transaction processing systems … cont.  Transaction processing systems may be organized as a “pipe and filter” architecture, with system components responsible for input, processing, and output.  For example, consider a banking system that allows customers to query their accounts and withdraw cash from an ATM.  The system is composed of two cooperating software components — the ATM software and the account processing software in the bank’s database server.  The input and output components are implemented as software in the ATM, and the processing component is part of the bank’s database server.  Figure 2 shows the architecture of this system, illustrating the functions of the input, process, and output components. 29
  • 30. The software architecture of an ATM system 30 Figure 2. The software architecture of an ATM system.
  • 31. Key points  Models of application systems architectures help us understand and compare applications, validate application system designs and assess large-scale components for reuse.  Transaction processing systems are interactive systems that allow information in a database to be remotely accessed and modified by a number of users. 31
  • 33. Information systems  All systems that involve interaction with a shared database can be considered to be transaction-based information systems.  An information system allows controlled access to a large base of information, such as a library catalog, a flight timetable, or the records of patients in a hospital.  Information systems are almost always web-based systems, where the user interface is implemented in a web browser. 33
  • 34. Information systems … cont.  Figure 1 presents a very general model of an information system.  The system is modeled using a layered approach (discussed in Section 6.3) where the top layer supports the user interface and the bottom layer is the system database.  The user communications layer handles all input and output from the user interface, and the information retrieval layer includes application-specific logic for accessing and updating the database.  The layers in this model can map directly onto servers in a distributed Internet-based system. 34
  • 35. Layered information system architecture 35Figure 1. Layered information system architecture.
  • 36. Information systems architecture  Information systems have a generic architecture that can be organized as a layered architecture.  These are transaction-based systems as interaction with these systems generally involves database transactions.  Layers include:  The user interface  User communications  Information retrieval  System database 36
  • 37. The architecture of the Mentcare system  As an example of an instantiation of this layered model, Figure 2 shows the architecture of the Mentcare system.  Recall that this system maintains and manages details of patients who are consulting specialist doctors about mental health problems.  I have added detail to each layer in the model by identifying the components that support user communications and information retrieval and access. 18/03/2020 37
  • 38. The architecture of the Mentcare system … cont. 38 Figure 2. The architecture of the Mentcare system.
  • 39. The architecture of the Mentcare system … cont. 1) The top layer is a browser-based user interface. 2) The second layer provides the user interface functionality that is delivered through the web browser. It includes components to allow users to log in to the system and checking components that ensure that the operations they use are allowed by their role. This layer includes form and menu management components that present information to users, and data validation components that check information consistency. 39
  • 40. The architecture of the Mentcare system … cont. 3) The third layer implements the functionality of the system and provides components that implement system security, patient information creation and updating, import and export of patient data from other databases, and report generators that create management reports. 4) Finally, the lowest layer, which is built using a commercial database management system, provides transaction management and persistent data storage. 40
  • 41. Web-based information systems  Information and resource management systems are sometimes also transaction processing systems.  For example, e-commerce systems are Internet-based resource management systems that accept electronic orders for goods or services and then arrange delivery of these goods or services to the customer.  In an e-commerce system, the application-specific layer includes additional functionality supporting a “shopping cart” in which users can place a number of items in separate transactions, then pay for them all together in a single transaction. 41
  • 42. Web-based information systems … cont.  The organization of servers in these systems usually reflects the four-layer generic model presented in Figure 1.  These systems are often implemented as distributed systems with a multitier client server/architecture. 42
  • 43. Layered information system architecture 43 Figure 1. Layered information system architecture.
  • 44. Web-based information systems … cont. 1. The web server is responsible for all user communications, with the user interface implemented using a web browser; 2. The application server is responsible for implementing application-specific logic as well as information storage and retrieval requests; 3. The database server moves information to and from the database and handles transaction management. 18/03/2020 44
  • 45. Web-based information systems … cont.  Information and resource management systems are now usually web-based systems where the user interfaces are implemented using a web browser.  For example, e-commerce systems are Internet-based resource management systems that accept electronic orders for goods or services and then arrange delivery of these goods or services to the customer.  In an e-commerce system, the application-specific layer includes additional functionality supporting a ‘shopping cart’ in which users can place a number of items in separate transactions, then pay for them all together in a single transaction. 45
  • 46. Server implementation  These systems are often implemented as multi-tier client server/architectures.  The web server is responsible for all user communications, with the user interface implemented using a web browser;  The application server is responsible for implementing application-specific logic as well as information storage and retrieval requests;  The database server moves information to and from the database and handles transaction management. 46
  • 47. Server implementation … cont.  Using multiple servers allows high throughput and makes it possible to handle thousands of transactions per minute.  As demand increases, servers can be added at each level to cope with the extra processing involved. 47
  • 48. Key points  Models of application systems architectures help us understand and compare applications, validate application system designs and assess large-scale components for reuse.  All systems that involve interaction with a shared database can be considered to be transaction-based information systems.  An information system allows controlled access to a large base of information, such as a library catalog.  Information systems are almost always web-based systems, where the user interface is implemented in a web browser. 48
  • 49. Chapter 1 – Architectural Design Mutah University Faculty of IT Department of Software Engineering Dr. Ra’Fat A. AL-Msie’Deen rafatalmsiedeen@mutah.edu.jo https://rafat66.github.io/Al-Msie-Deen/ Software Architecture and Design