operational concept description (ocd) · web viewmade changes to the diagrams in section 4.1.2 and...

44
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

Upload: others

Post on 01-Apr-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Operational Concept Description (OCD) · Web viewMade 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

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

Page 2: Operational Concept Description (OCD) · Web viewMade 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

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

Page 3: Operational Concept Description (OCD) · Web viewMade 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

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

Page 4: Operational Concept Description (OCD) · Web viewMade 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

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

Page 5: Operational Concept Description (OCD) · Web viewMade 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

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

Page 6: Operational Concept Description (OCD) · Web viewMade 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

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

Page 7: Operational Concept Description (OCD) · Web viewMade 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

System and Software Architecture Description (SSAD) Version no 2.3

Table 30: Architectural Styles, Patterns, and Frameworks..........................................................25

VII

Page 8: Operational Concept Description (OCD) · Web viewMade 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

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

Page 9: Operational Concept Description (OCD) · Web viewMade 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

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

Page 10: Operational Concept Description (OCD) · Web viewMade 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

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

Page 11: Operational Concept Description (OCD) · Web viewMade 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

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

Page 12: Operational Concept Description (OCD) · Web viewMade 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

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

Page 13: Operational Concept Description (OCD) · Web viewMade 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

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

Page 14: Operational Concept Description (OCD) · Web viewMade 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

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

Page 15: Operational Concept Description (OCD) · Web viewMade 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

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

Page 16: Operational Concept Description (OCD) · Web viewMade 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

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

Page 17: Operational Concept Description (OCD) · Web viewMade 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

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

Page 18: Operational Concept Description (OCD) · Web viewMade 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

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

Page 19: Operational Concept Description (OCD) · Web viewMade 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

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

Page 20: Operational Concept Description (OCD) · Web viewMade 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

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

Page 21: Operational Concept Description (OCD) · Web viewMade 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

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

Page 22: Operational Concept Description (OCD) · Web viewMade 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

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

Page 23: Operational Concept Description (OCD) · Web viewMade 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

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

Page 24: Operational Concept Description (OCD) · Web viewMade 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

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

Page 25: Operational Concept Description (OCD) · Web viewMade 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

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

Page 26: Operational Concept Description (OCD) · Web viewMade 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

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

Page 27: Operational Concept Description (OCD) · Web viewMade 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

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

Page 28: Operational Concept Description (OCD) · Web viewMade 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

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

Page 29: Operational Concept Description (OCD) · Web viewMade 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

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

Page 30: Operational Concept Description (OCD) · Web viewMade 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

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

Page 31: Operational Concept Description (OCD) · Web viewMade 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

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

Page 32: Operational Concept Description (OCD) · Web viewMade 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

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

Page 33: Operational Concept Description (OCD) · Web viewMade 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

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