System and Software Architecture Description (SSAD)
Siitch App
Team 03
Nikitha Adira Project Manager/Requirements Engineer
Patrick Assaf Prototyper/Implementer
Hsin-Yu Lai Feasibility Analyst/Implementer
Akshata Patangi Life Cycle Planner/Implementer
Nikita Chhatbar Prototyper/Software Architect
Vyom Unadkat Implementer/Life Cycle Planner
Vartika Bhatia Software Architect/Tester
Yu Gao Tester/Feasibility Analyst
Drew Aveling Client
November 24, 2020
System and Software Architecture Description (SSAD) Version 2.3
Version HistoryDate Author Version Changes made Rationale
10/10/20 NC, VU 1.0●Filled in original template for use from
SSAD template in 577a website●SSAD drafted following the
guidelines
10/11/20 NC, VU 1.1 ●Added use-case diagrams 2.1.1
●Added use-case diagrams 2.1.2
●Added System Context Diagram
●Added Artifacts and Information Diagram
●Changes after inspection
10/13/20 NC, VU 2.0●Added section details about 2.1.3
●Added section details about 2.1.4
●Added template for the rest of section 3
●Changes made on use case based on the suggestions of ARB
●Diagram in 2.1.3 provides the process diagram
10/17/20 NC, VU 2.1●Changes to the conceptual model
diagram in section 4.1.1
●Added details and completed section 4.1.1
●Added details and completed section 4.1.2
●Designed diagrams for section 4.1.2
●Designed diagrams for section 4.1.3
●Changes after inspection
10/20/20 NC, VU 2.2●Made changes to the diagrams in
section 4.1.2 and added users as an entity
●Made changes to the sequence diagrams in section 4.1.3
●Added details and completed section 4.2
●Changes after inspection
ii
System and Software Architecture Description (SSAD) Version 2.3
●Added details and completed section 510/21/20 NC, VU 2.3 ●Changed all the diagrams for section
4.1.2
●Added details about the admin to the process diagram in section 2.1.3
●Section 4.1.1 deployment diagram was changed to include more artifacts
●Changes after inspection
●Refined the document for Instructional ICM-Software version
III
System and Software Architecture Description (SSAD) Version 2.3
Table of ContentsSystem and Software Architecture Description (SSAD).............................................................iVersion History..............................................................................................................................iiTable of Contents..........................................................................................................................iiiTable of Tables...............................................................................................................................vTable of Figures...........................................................................................................................vii
1. Introduction..............................................................................................................................1
1.1 Purpose of the SSAD.....................................................................................................1
1.2 Status of the SSAD........................................................................................................1
2. System Analysis........................................................................................................................2
2.1 System Analysis Overview............................................................................................2
2.1.1 System Context....................................................................................................32.1.2 Artifacts & Information.......................................................................................42.1.3 Behavior...............................................................................................................5
2.1.3.1 Capability for user........................................................................................52.1.3.1.1 Search Products.....................................................................................52.1.3.1.2 Compare Products.................................................................................62.1.3.1.3 Calculate Products.................................................................................72.1.3.1.4 Rank Products........................................................................................8
2.1.3.2 Capability for admin.....................................................................................92.1.3.2.1 Add Products.........................................................................................92.1.3.2.2 Update Products..................................................................................102.1.3.2.3 Delete Products....................................................................................11
2.1.4 Modes of Operation...........................................................................................12
2.2 System Analysis Rationale..........................................................................................12
3. Technology-Independent Model...........................................................................................13
3.1 Design Overview..........................................................................................................13
3.2 Design Rationale..........................................................................................................13
4. Technology-Specific System Design.....................................................................................14
IV
System and Software Architecture Description (SSAD) Version 2.3
4.1 Design Overview..........................................................................................................14
4.1.1 System Structure................................................................................................144.1.2 Design Classes...................................................................................................16
4.1.2.1 Search Tool.................................................................................................164.1.2.2 Compare Tool.............................................................................................174.1.2.3 Calculator Tool...........................................................................................184.1.2.4 Ranking Tool..............................................................................................19
4.1.3 Process Realization............................................................................................204.1.3.1 Sequence Diagram – Search Tool..............................................................204.1.3.2 Sequence Diagram – Compare Tool..........................................................214.1.3.3 Sequence Diagram – Calculator Tool........................................................224.1.3.4 Sequence Diagram – Ranking Tool............................................................23
4.2 Design Rationale..........................................................................................................24
5. Architectural Styles, Patterns and Frameworks.................................................................25
V
System and Software Architecture Description (SSAD) Version 2.3
Table of Tables
Table 1: Actors Summary................................................................................................................3
Table 2: Artifacts and Information Summary..................................................................................4
Table 3: Process Description - Search Products............................................................................5
Table 4: Typical Course of Action - Search Products.....................................................................6
Table 5: Alternate Course of Action - Search Products..................................................................6
Table 6: Process Description - Compare Products........................................................................6
Table 7: Typical Course of Action - Compare Products.................................................................6
Table 8: Alternate Course of Action - Compare Products..............................................................7
Table 9: Process Description - Calculate Cost...............................................................................7
Table 10: Typical Course of Action - Calculate Cost.....................................................................7
Table 11: Alternate Course of Action - Calculate Cost..................................................................8
Table 12: Process Description - Rank Products.............................................................................8
Table 13: Typical Course of Action - Rank Products.....................................................................8
Table 14: Alternate Course of Action - Rank Products...................................................................8
Table 15: Process Description - Add Products...............................................................................9
Table 16: Typical Course of Action- Add Products........................................................................9
Table 17: Alternate Course of Action- Add Products.....................................................................9
Table 18: Process Description - Update Products.......................................................................10
Table 19: Typical Course of Action - Update Products................................................................10
Table 20: Alternate Course of Action - Update Products.............................................................10
Table 21: Process Description - Delete Products.........................................................................11
Table 22: Typical Course of Action - Delete Products.................................................................11
Table 23 Alternate Course of Action - Delete Products................................................................11
Table 24: Hardware Component Description..............................................................................15
Table 25: Software Component Description.................................................................................16
Table 26: Design Class Description – Search Tool......................................................................16
Table 27: Design Class Description – Compare Tool..................................................................17
Table 28: Design Class Description – Calculator Tool................................................................18
Table 29: Design Class Description – Ranking Tool....................................................................19
System and Software Architecture Description (SSAD) Version no 2.3
Table 30: Architectural Styles, Patterns, and Frameworks..........................................................25
VII
System and Software Architecture Description (SSAD) Version no 2.3
Table of Figures
Figure 1: System Context Diagram.................................................................................................3
Figure 2: Artifacts and Information Diagram................................................................................4
Figure 3: Process Diagram.............................................................................................................5
Figure 4: Conceptual Domain Model...........................................................................................14
Figure 5: Hardware Component Class Diagram..........................................................................14
Figure 6: Software Component Class Diagram............................................................................15
Figure 7: Deployment Diagram....................................................................................................15
Figure 8: Design Class Diagram – Search Tool...........................................................................16
Figure 9: Design Class Diagram – Compare Tool.......................................................................17
Figure 10: Design Class Diagram – Calculator Tool..................................................................18
Figure 11: Design Class Diagram – Ranking Tool......................................................................19
Figure 12: Sequence Diagram for Search Tool............................................................................20
Figure 13: Sequence Diagram for Compare Tool........................................................................21
Figure 14: Sequence Diagram for Calculator Tool......................................................................22
Figure 15: Sequence Diagram for Ranking Tool..........................................................................23
VIII
System and Software Architecture Description (SSAD) Version 2.3
1. Introduction
1.1 Purpose of the SSAD
The purpose of the SSAD document is to provide the analysis of the operational concept, design the architecture, and design the implementation of the Siitch App. It serves as a bridge linking between the inception and the construction phases by providing the in-depth architectural design and implementation of the proposed system.
The initial draft of the SSAD document consists of the description of system analysis, behavior, and features of the Siitch App.
1.2 Status of the SSAD
The current version of the SSAD is in the Development Phase. The team has established which core features to work on and the architecture software has been decided.
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/201
System and Software Architecture Description (SSAD) Version 2.3
2. System Analysis
2.1 System Analysis OverviewHelping users know the environmental cost of what they buy and provide instant solutions on how their actions can make an impact on the planet with simple tips and examples of brands doing better. Think MyFitnessPal, but for the environment.
Users & the public will benefit by having access to simple, bite sized knowledge & solutions in infographic, Instagram-like form that will help them:
1- Learn the environmental cost of fruits, vegetables, meats, drinks, products…
2- See a simple explanation of ‘why’ – the metric is water
3- Know what they can do right now to make a difference
4- Discover brands doing better
The four major features that are offered in the app are
1. Compare Tool – lets users instantly compare items to make decisions2. Calculator Tool – lets users quickly calculate the environmental cost of an item to see
their impact3. Ranking Tool – lets users quickly see the highest-to-lowest environmental cost of each
item so they can make instant decisions4. Search Tool – lets users find information about what they’re searching for, or buying
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/202
System and Software Architecture Description (SSAD) Version 2.3
2.1.1 System Context
Figure 1: System Context Diagram
Table 1: Actors SummaryActor Description Responsibilities
User The end user of the application
● Submits queries in the app interface
● Utilizes features like search tool, ranking tool, calculator tool and compare tool to results of items and their environmental impact
Product Details of each product ● Stores product details such as rainwater, blue water, environmental costs, etc
● Sends product details to user upon invocation
Favorites Saved products by the user ● Stores products that are added by the user
● Sends saved productsExternal site Link to external brand website ● For redirection to external site
for the purpose of buying
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/203
System and Software Architecture Description (SSAD) Version 2.3
2.1.2 Artifacts & Information
Figure 2: Artifacts and Information Diagram
Table 2: Artifacts and Information Summary
Artifact PurposeATF - 1: Items profile Contains all the information about the itemsATF - 2: Search Results Contains all the information about a particular item that is
searched as per the user’s input. ATF - 3: Compare Results Contains all the information about the comparison of items
that are given as inputs by the user. ATF - 4: Calculator Results Contains all the information about the environmental impact
of all the items selected by the user.ATF - 5: Ranking Results Contains all the information about the items based on their
ranking of environmental impact as per the user’s input in the form of category chosen.
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/204
System and Software Architecture Description (SSAD) Version 2.3
2.1.3 Behavior
Figure 3: Process Diagram
2.1.3.1 Capabil i ty for user
2.1 .3 .1 .1 Search Products
Table 3: Process Description - Search Products
Identifier UC1 Search ProductsPurpose Users can search products or select products from the list to get
their environmental costs.Requirements OC-1 Search ToolDevelopment Risks
None
Pre-conditions Application must be connected to the internetPost-conditions Search details are displayed to the user and an error is displayed in
case the product is not found.
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/205
System and Software Architecture Description (SSAD) Version 2.3
Table 4: Typical Course of Action - Search Products
Seq# Actor’s Action System’s Response1 Types product name or selects a
product from given list2 Clicks search button3 Searches the product in the database4 Sends the product details found from
the database
Table 5: Alternate Course of Action - Search Products
Seq# Actor’s Action System’s Response1 Types product name or selects a
product from given list2 Clicks search button3 Searches the product in the database4 If a product is not found in the database,
it will send an error.
2.1 .3 .1 .2 Compare Products
Table 6: Process Description - Compare Products
Identifier UC2 Compare ProductsPurpose Users can select products to compare their environmental costsRequirements OC-2 Compare ToolDevelopment Risks
None
Pre-conditions Application must be connected to the internetPost-conditions Compare details are displayed to the user which suggests the best
product among the selected ones and an error is displayed in case the product is not found.
Table 7: Typical Course of Action - Compare Products
Seq# Actor’s Action System’s Response1 User types two or more products
to compare2 Clicks on compare button3 Fetches details of selected products
from database
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/206
System and Software Architecture Description (SSAD) Version 2.3
4 Analyzes the products5 Finds the minimum environmental cost
products among them6 Sends details of all selected product and
highlighting the minimum one
Table 8: Alternate Course of Action - Compare Products
Seq# Actor’s Action System’s Response1 User types two or more products
to compare2 Clicks compare button3 Searches the product in the database4 If a product is not found in the database,
it will send an error.
2.1 .3 .1 .3 Calculate Products
Table 9: Process Description - Calculate Cost
Identifier UC3 Calculate CostPurpose Users can type or select product and time like one week, two
weeks etc to calculate its environmental costRequirements OC-3 Calculate ToolDevelopment Risks
None
Pre-conditions Application must be connected to the internetPost-conditions Calculated details will be details for that particular product or an
error is displayed if a product is not found
Table 10: Typical Course of Action - Calculate Cost
Seq# Actor’s Action System’s Response1 User types or selects a product to
calculate its cost2 Clicks calculate button3 Searches the product in the database4 Calculates total costs depending on user
input5 Sends calculated data to user
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/207
System and Software Architecture Description (SSAD) Version 2.3
Table 11: Alternate Course of Action - Calculate Cost
Seq# Actor’s Action System’s Response1 User types or selects a product to
calculate its cost2 Clicks calculate button3 Searches the product in the database4 If a product is not found in the database,
it will send an error.
2.1 .3 .1 .4 Rank Products
Table 12: Process Description - Rank Products
Identifier UC4 Rank ProductsPurpose Users can type or select product category to get products sorted in
terms of their environmental costRequirements OC-4 Ranking ToolDevelopment Risks
None
Pre-conditions Application must be connected to the internetPost-conditions Products will be displayed in sorted order
Table 13: Typical Course of Action - Rank Products
Seq# Actor’s Action System’s Response1 User types or selects a product
category2 Clicks ranking button3 Searches the product in the database
based on same category4 Sorts them in descending order of their
environmental costs5 Sends the ranked list to user
Table 14: Alternate Course of Action - Rank Products
Seq# Actor’s Action System’s Response1 User types or selects a product
category2 Clicks ranking button3 Searches the product in the database
based on same category
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/208
System and Software Architecture Description (SSAD) Version 2.3
4 If a product category is not found in the database, it will send an error.
2.1.3.2 Capabil i ty for admin
2.1 .3 .2 .1 Add Products
Table 15: Process Description - Add Products
Identifier UC5 Add ProductsPurpose Admin can add products in the databaseRequirements OC-5 – Database MaintenanceDevelopment Risks
None
Pre-conditions Internet is required to add data to cloudPost-conditions Data inserted must be added in the database
Table 16: Typical Course of Action- Add Products
Seq# Actor’s Action System’s Response1 Admin enters product details to
be inserted into csv file2 Converts csv file to json file3 Connects to database server i.e
firebase4 Imports this json file from the
Firebase cloud platform5 Stores data to cloud database
Table 17: Alternate Course of Action- Add Products
Seq# Actor’s Action System’s Response1 Admin enters product details to
be inserted into csv file2 Converts csv file to json file3 Connects to database server i.e
firebase4 If there is connection error, data will
not be stored in database
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/209
System and Software Architecture Description (SSAD) Version 2.3
2.1 .3 .2 .2 Update Products
Table 18: Process Description - Update Products
Identifier UC6 Update ProductsPurpose Admin can update products in the databaseRequirements OC-5 – Database MaintenanceDevelopment Risks
None
Pre-conditions Internet is required to add data to cloudPost-conditions Data updated must be reflected in the database
Table 19: Typical Course of Action - Update Products
Seq# Actor’s Action System’s Response1 Admin searches for product to
be updated2 Shows product details3 Updates product details4 Converts csv file to json file5 Connects to database server i.e
firebase6 Imports this json file from the
Firebase cloud platform7 Updates data successfully into cloud
database
Table 20: Alternate Course of Action - Update Products
Seq# Actor’s Action System’s Response1 Admin searches for product to
be updated2 Shows product details3 Updates product details4 Converts csv file to json file5 Connects to database server i.e
firebase6 If there is connection error, data will
not be stored in database
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2010
System and Software Architecture Description (SSAD) Version 2.3
2.1 .3 .2 .3 Delete Products
Table 21: Process Description - Delete Products
Identifier UC7 Delete ProductsPurpose Admin can delete products in the databaseRequirements OC-5 – Database MaintenanceDevelopment Risks
None
Pre-conditions Internet is required to add data to cloudPost-conditions Data deleted must be reflected in the database
Table 22: Typical Course of Action - Delete Products
Seq# Actor’s Action System’s Response1 Admin searches for product to
be deleted2 Shows product details3 Deletes product details4 Converts csv file to json file5 Connects to database server i.e
firebase6 Imports this json file from the
Firebase cloud platform7 Removes data successfully from cloud
database
Table 23: Alternate Course of Action - Delete Products
Seq# Actor’s Action System’s Response1 Admin searches for product to
be deleted2 Shows product details3 Deletes product details4 Converts csv file to json file5 Connects to database server i.e
firebase6 If there is connection error, data will
not be stored in database
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2011
System and Software Architecture Description (SSAD) Version 2.3
2.1.4 Modes of Operation
The proposed system will only operate in one mode, so nothing is to be said about modes of operation.
2.2 System Analysis Rationale
Based on the analysis by the team, the major stakeholders would be the end users of the application and there are no authentication steps required for the user to access the features of the application. The user can directly open the application and start exploring the features provided to obtain data about the items and their environmental impact.
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2012
System and Software Architecture Description (SSAD) Version 2.3
3. Technology-Independent Model
3.1 Design OverviewThe design of the system is chosen such that the user operates the application and the application directly communicates with the database that is stored on the cloud. React Native has been selected as the framework to develop the iOS application. Prototypes were built using Firebase and MongoDB as the backend Database to test which database would be best suited for the application. Firebase was then chosen as it best suited the requirements of the client. The basic features of search, ranking, compare and calculator are included in the development of the system and the sequence diagrams to showcase the flow of information for all the features is shown in the next section. Later on, a prototype was developed using React Native to develop an iOS application including the search and compare tools to demonstrate the operational functionality of the application and integration with the Firebase cloud database.
3.2 Design Rationale
The main reason for selecting React Native as the framework to develop the iOS application is the scalability if the client wants to develop an Android application. The system can easily be transformed as React provides the feature of cross platform functionality. MongoDB and Firebase were studied thoroughly to compare their cost, scalability and design. Firebase catered in a better way to meet the requirements of the client in terms of cost. It also provided an ecosystem of other Google COTS like Google Analytics that were of interest to the client. Firebase also provided larger cloud storage as compared to MongoDB. Due to all these factors, after consultation with the client, Firebase was chosen as the cloud database to develop the system.
A 2-tier architecture was selected to maintain the simplicity of the system. The requirements of the system were to fetch information from the database and display information about the products based on the user’s query. The data is static and does not meet with frequent changes. The most important factor is to show the results from the cloud database with high performance and no latency which is why the 2-tier architecture proved to be the best architecture for the development of this system.
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2013
System and Software Architecture Description (SSAD) Version 2.3
4. Technology-Specific System Design
4.1 Design Overview
4.1.1 System Structure
Figure 4: Conceptual Domain Model
Figure 5: Hardware Component Class Diagram
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2014
System and Software Architecture Description (SSAD) Version 2.3
Figure 6: Software Component Class Diagram
Figure 7: Deployment Diagram
Table 24: Hardware Component Description
Hardware Component DescriptionUser Mobile Device The end user uses this device to open the Siitch App. Requests
from the application are forwarded to the server where the database resides.
Server (Firebase) Google’s server where the database is stored. Requests from the application are handled by this database server.
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2015
System and Software Architecture Description (SSAD) Version 2.3
Table 25: Software Component Description
Software Component DescriptionUser Interface Component This application contains the user interface to communicate with
the database and display all the results based on queries from tools provided in the app like search tool, compare tool, ranking tool and calculator tool.
Database Component This database stores all the information about items and their details about environmental impact.
4.1.2 Design Classes
4.1.2.1 Search Tool
Figure 8: Design Class Diagram – Search Tool
Table 26: Design Class Description – Search Tool
Class Type DescriptionSearchHomePage boundary Contains the main screen of the search pageProduct details boundary The main element in the back end to
communicate with the app to send product
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2016
System and Software Architecture Description (SSAD) Version 2.3
details SearchTool component Would manage the flow of information based
on the user’s input between the application and the cloud database to get product details
Product entity Contains all the details of the product User entity Contains basic information about the user
4.1.2.2 Compare Tool
Figure 9: Design Class Diagram – Compare Tool
Table 27: Design Class Description – Compare Tool
Class Type DescriptionCompareHomePage boundary Contains the main screen of the compare
pageProduct details boundary The main element in the back end to
communicate with the app to send product details
CompareTool component Would manage the flow of information based on the user’s input between the application and the cloud database to get product details and compare them
Product entity Contains all the details of the product User entity Contains basic information about the user
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2017
System and Software Architecture Description (SSAD) Version 2.3
4.1.2.3 Calculator Tool
Figure 10: Design Class Diagram – Calculator Tool
Table 28: Design Class Description – Calculator Tool
Class Type DescriptionCalculatorHomePage boundary Contains the main screen of the calculator
pageProduct details boundary The main element in the back end to
communicate with the app to send product details
CalculatorTool component Would manage the flow of information based on the user’s input between the application and the cloud database to get product details and calculate the total environmental cost
Product entity Contains all the details of the product User entity Contains basic information about the user
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2018
System and Software Architecture Description (SSAD) Version 2.3
4.1.2.4 Ranking Tool
Figure 11: Design Class Diagram – Ranking Tool
Table 29: Design Class Description – Ranking Tool
Class Type DescriptionRankingHomePage boundary Contains the main screen of the ranking pageProduct details boundary The main element in the back end to
communicate with the app to send product details
RankingTool component Would manage the flow of information based on the user’s input(category) between the application and the cloud database to get product details and display them based on their ranking in that particular category
Product entity Contains all the details of the product User entity Contains basic information about the user
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2019
System and Software Architecture Description (SSAD) Version 2.3
4.1.3 Process RealizationFollowing diagrams shows how the processes are done in the application with the help of sequence diagrams.
4.1.3.1 Sequence Diagram – Search Tool
Figure 12: Sequence Diagram for Search Tool
Above sequence diagram shows that a user will launch the application. In return, the application will display the homepage. Now, the user will be able to navigate to the search tool where they can type or select a product. The application will fetch data from the database and display it to the user. If data is not available, the application will display an error message.
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2020
System and Software Architecture Description (SSAD) Version 2.3
4.1.3.2 Sequence Diagram – Compare Tool
Figure 13: Sequence Diagram for Compare Tool
Above sequence diagram is related to the compare tool. Here, the user will be able to navigate to the compare tool where they can type two or more products. The application will fetch data from the database, display it to the user and highlight the product that has the minimum impact on the environment. If data is not available, the application will display an error message.
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2021
System and Software Architecture Description (SSAD) Version 2.3
4.1.3.3 Sequence Diagram – Calculator Tool
Figure 14: Sequence Diagram for Calculator Tool
Above sequence diagram is related to the calculate tool. Here, the user will be able to navigate to the calculate tool where they can select a product. The application will fetch data from the database, display it to the user by calculating its environmental costs. If data is not available, the application will display an error message.
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2022
System and Software Architecture Description (SSAD) Version 2.3
4.1.3.4 Sequence Diagram – Ranking Tool
Figure 125: Sequence Diagram for Ranking Tool
Above sequence diagram is related to the ranking tool. Here, the user will be able to navigate to the ranking tool where they can select a category of product. The application will fetch data from the database based on category, display it to the user. If data is not available, the application will display an error message.
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2023
System and Software Architecture Description (SSAD) Version 2.3
4.2 Design Rationale
We adopted a 2-tiered architecture because our client, who is highly technical, wanted a very simple and flexible design. Specifically, the customer required a clear separation between the user interface and the data storage and management.
The following list shows the 2-tiers (commonly called “layers”) of the architecture and the specific components in each tier.
● User Interface Layer○ User Interface component
● Database Management Layer○ DBMS
The two-tiered architecture clearly shows the separation between user interface and data storage. The components are broken down in such a way that each component performs specific functions that do not overlap with the functions assigned to any other component. For example, the Search component does not perform any functions that deal with ranking since those belong to the Ranking component.
There is no authentication system required so that users can play with the application and access all the features without any authentication.
We decided to use a COTS Firebase DBMS because it would be too time consuming to implement the data storage component through the application platform’s file system.
We have shown the sequence diagram for all the four main functionalities in the previous section because it is a complex process that involves communication among components from the app to the database
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2024
System and Software Architecture Description (SSAD) Version 2.3
5. Architectural Styles, Patterns and Frameworks
Table 30: Architectural Styles, Patterns, and Frameworks
Name Description Benefits, Costs, and Limitations2-Tier Architecture
The 2-tier architecture separates the application into 2 different layers: user interface and data access. This means that the model disassociates the data access from the user interface. The app directly communicates with the database on the server side. The database provides the functionalities for querying and data management.
The use of this architecture allows for the application to be built easily due to its simplicity. This allows for fast prototyping and development for maximum user satisfaction as data is retrieved without any latency. Higher performance is achieved as the database and business logic are placed closely in the 2-tier architecture. However, this architecture will have limitations in terms of scalability as this model can handle a limited number of users. Any change in the data has to be reflected for all the users otherwise it would create unnecessary overhead.
SSAD_DCP_F20a_T03_V2.3 Version Date: 11/24/2025