0% found this document useful (0 votes)
54 views

SAT Group Assignment (Group2)

This document contains a group assignment for a software architecture and testing course. It includes individual components from each group member as well as group components. The individual sections include activity diagrams, a class diagram, and a sequence diagram related to making payments, scheduling deliveries, inventory management, and accessing databases. The group sections analyze architecture comparisons and propose a four-tier architecture design along with evaluations of the architecture using ATAM, SAAM, and ARID methods. The document is the work of 4 students and contains diagrams, descriptions, and analyses of the software system.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views

SAT Group Assignment (Group2)

This document contains a group assignment for a software architecture and testing course. It includes individual components from each group member as well as group components. The individual sections include activity diagrams, a class diagram, and a sequence diagram related to making payments, scheduling deliveries, inventory management, and accessing databases. The group sections analyze architecture comparisons and propose a four-tier architecture design along with evaluations of the architecture using ATAM, SAAM, and ARID methods. The document is the work of 4 students and contains diagrams, descriptions, and analyses of the software system.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 41

SOFTWARE ARCHITECTURE AND TESTING

GROUP ASSIGNMENT
APU2F2206SE
CT059-3-2-SAT
Group 2

Lecturer Name: Halimaton Saadiah Hakimi

Group Member: Alexander Shamil Mondoka TP060332


Chan Heng Yan TP061221
Chow Wen Xuan TP064438
Yim Zhi Hei TP064428

Page 1
Table of Content

Part A - Individual Component 4


1.0 Top Level View Diagram 4
1.1 Activity Diagram - Make payment function (Chan Heng Yan TP061221) 4
1.2 Activity Diagram - Schedule delivery (Alexander Shamil Mondoka TP06033) 6
1.3 Class Diagram – Inventory Management (Chow Wen Xuan TP064438) 8
1.4 Sequence Diagram – Access database (Yim Zhi Hei TP064428) 9
2.0 4+1 Model 11
2.1 Scenario - “ Customers proceed to payment after selecting an item .”
(Chan Heng Yan TP061221) 11
2.2 Scenario - “Customer completes payments and makes order.”
(Alexander Shami Mondoka TP060332) 14
2.3 Scenario - “Supplier restocks the inventory”
(Chow Wen Xuan TP064438) 16
2.4 Scenario - “Manager able to access to the system and do analyze ”
(Yim Zhi Hei TP064428) 19
3.0 Factor and principle (Quality attribute) 22
(Chan Heng Yan TP061221) 22
Principle - High Cohesion / Quality Attribute - Security 22
(Alexander Shamil Mondoka TP060332) 23
Principle - Parameterization / Quality Attribute - Efficiency 23
(Chow Wen Xuan TP064438) 24
Principle - Reliability / Quality Attribute - Loose coupling 24
(Yim Zhi Hei TP064428) 25
Principle - Parameterization / Quality Attribute - Accuracy 25
Part B Group Components 26
4.0 Architecture Comparison 26
5.0 Four-tier Architecture Design 27
6.0 ATAM Evaluation Method 28
7.0 SAAM Evaluation Method 31
8.0 ARID Evaluation Method 36
References 37

Page 2
Part A - Individual Component

1.0 Top Level View Diagram

1.1 Activity Diagram - Make payment function (Chan Heng Yan TP061221)

Functional Requirement Non-functional requirement

The system must allow registered customer All transactions should be highly secure
to choose any payment option and carried out with 128-bit encryption.

The system must support various type of The system's payment gateway must be
payment method able to operate 24 hours a day.

The system must be able to send an order The system should able to handle 100,000
confirmation email to the customer after transaction per day
complete the payment

The system must able to integrated with The transaction process of the system
banking API should not exceed five minutes

Page 3
Activity diagram - Make payment function

After a customer selects an order and pays for it, the system will first display all the
payment methods for the customer to choose from. After the customer selects a payment
method, the system will ask the user to input the payment information. Then, the customer
will click the check out button after completing the payment information. After that the
system will validate the payment information if it is correct then the system will change the
payment status to complete and save the information into the database as a record, otherwise,
the system will prompt a message to tell the customer there is an error and ask the customer
to select the payment method. At the same time, the system will also send a confirmation
email and receipt to the customer after completing the payment. Customers can view the
orders and print out the receipt.

Page 4
1.2 Activity Diagram - Schedule delivery (Alexander Shamil Mondoka
TP06033)

Functional Requirement Non-functional requirement

The system must schedule a date for delivery 25,000 orders per day should be possible
when a customer makes order for the system to manage.

The system must send alert to logistics team Customers must be able to place orders at
on parcels to be packaged for delivery any time of day, hence the system must be
available 24/7.

The system should allow customer to access Every year, the system must maintain an
real-time tracking of their parcel average of 97 percent of fulfilled deliveries.

The system must auto allocate a driver for The system must maintain current maps for
parcel delivery package tracking in real time.

Page 5
Use case diagram - Schedule Delivery

When a customer completes their payment procedure, an order is then made and sent
to the administration. Administration is able to approve the delivery request from the
customer and proceed to send an alert to the logistics team, who will the be tasked to
schedule the delivery and prepare to send it out for delivery. The logistics team will be tasked
on updating the location of the parcel and delivery time as well as notify the admin and user
in the delivery of the parcel.

Page 6
1.3 Class Diagram – Inventory Management (Chow Wen Xuan TP064438)

Functional Requirement Non-functional requirement

The system must allow store suppliers to The system should handle up to 30000
view all available stock inventory updates per day

The system should notify suppliers when the The system must be operational 24h
stock is running low because the inventory must be updated even
when the customer purchases from the
website

The system must allow staff to update The inventory stock amount in the system
inventory when the warehouse is being must be at least 98% accurate
restocked

The registration process for Supplier and


Staff must be done within 1 second

Class Diagram - Inventory Management

The above class diagram shows the Inventory Manage part of the system. In this part
of the system, there are a total of 4 classes. There are Item, Suppliers, Inventory and Staff.
The relationship between Item and Inventory is aggregation because an item can still exist
even when there is no inventory to store the item. The relationships between Inventory and
both Supplier and Staff are association. The supplier will be able to view the inventory and
the system will notify the supplier when the supplies are running low. As for the staff, they
can update the items in the inventory.

Page 7
1.4 Sequence Diagram – Access database (Yim Zhi Hei TP064428)

Functional Requirement Non-functional requirement

The system must allow managers to access The system should be able to display all the
the system. data everyday.

The system must allow managers to open all The system should refresh all the databases
the databases. 24/7 to allow the manager to check the
database anytime.

The system must allow managers to filter the The data in the database must be accurate
database and search data. and the size of the database should not
exceed 2GB.

The system should display all the databases


in less than 5 seconds.

Sequence Diagram - Access database

Page 8
The sequence diagram above shows how the managers access the database. A
sequence diagram is a visual representation that interacts between the actor (manager) and the
system. First, the manager will login to the system. The system will validate his username
and password to make sure the login user was the manager. After the manager login to the
system, the manager will open the database which shows all the data in the database. The
manager can search for some specific data and the system will filter the data to fulfill the
requirement of the manager. Lastly the system will display all the data and the manager will
be able to collect all the data and do analysis.

Page 9
2.0 4+1 Model

2.1 Scenario - “ Customers proceed to payment after selecting an item .”


(Chan Heng Yan TP061221)
Payment process :

1. A customer selects an order and clicks the pay button.

2. The system will display all the payment methods for the customers to choose.

3. The system will ask for the user to input the payment information after the customer
selects a payment method.

4. Then the customers will click the check out button after completing the payment
information.

5. System will validate the payment information.

6. If the payment information is correct, the system will change the payment status to
complete and save the information into the database as a record.

7. If the payment information is wrong, the system will prompt a message to tell the
customer there is an error and ask the customer to select the payment method.

8. At the same time, the system will also send a confirmation email and receipt to the
customer after completing the payment.

9. Customers can view the order and print out the receipt.

Page 10
Logical View Development view/ implementation view
Viewer : End user Components
Functional requirements: Platform : Window, Mac OS
● The system must allow registered Browser : Chrome, Safari, Microsoft Edge, Mozilla
customer to choose any payment option Firefox
● The system must support various type of Programming Language : HTML, CSS, C#, Python
payment method Testing : Select payment method, Enter payment
● The system must be able to send an order information, validate information, send
confirmation email to the customer after confirmation email
complete the payment Development team : 5 peoples
● The system must able to integrated with Development center database: 3 tables (customers,
banking API customer order, customer payment
Components information)
Customer : Database : MySQL
● Select payment methods, Types of interfaces: website, mobile, tablets
● Enter payment information GUI : Orange theme, user-friendly, simple design
● View order
● Print receipt

Process view / Main tasks Physical view/ Hardware Software


Non-functional requirements: Components
● All transactions should be highly secure Platform: Windows 10 and above,
and carried out with 128-bit encryption. Mac 10 and above,
● The system's payment gateway must be Android 13 and above
able to operate 24 hours a day. Servers: Apache HTTP Server, SNMP, SMTP, DNS
● The system should able to handle 100,000 Topology type: Cloud
transaction per day Storage: 5TB
● The transaction process of the system Security system: Firewall (Software - Cloudflare)
should not exceed five minutes Tools: WIX eCommerce
Components: Services: API
Make payments
Proceed to payment session
Select payment method
Input validation
Transaction process
Information save into database

Table 2.1 4+1 Model (Make payment)

In the logical view, there is a list of functional requirements of the system, and the
viewer is the end user. The available components are to select payment methods, enter

Page 11
payment information, view order and print receipt. For development view, the platform is
Windows and Mac operating systems. Furthermore, we have covered some of the browsers
which are Google Chrome, Microsoft Edge, Mozilla Firefox and Safari so that our user has
the option to select one of the browsers. The programming languages that we select are
HTML, CSS, C# and python. The majority of programming languages are used to create a
website. The number of our development team is 5 members and there are 3 database tables
which are used to record customer information, customer order and customer payment
information. MySQL is the database system that will be used. The website also supports three
types of interface, website, mobile and tablet. The GUI will be orange theme and design it in
a user-friendly and in a simple form, so that our user will not face any difficulty while using
the website. In addition, in the process view there is a list of non-functional requirements of
the system and the component is to make payments, proceed to payment session, select
payment method, input validation, complete the transaction process and save information into
the database. For the physical view, the available platform for the user to access our website
is Windows 10 and above, Mac OS 10 and above and Android 13 and above. We will use
Apache HTTP server as our web server and Cloud as our topology. The storage for the
system is about 5TB and we will use Cloudflare, a firewall software as our security system.
The tools and services are WIX eCommerce and API .

2.2 Scenario - “Customer completes payments and makes order.”(Alexander


Shami Mondoka TP060332)

Delivery Process:

Page 12
1. Customer makes an order
2. Notification sent to the admin about delivery together with information.
3. Admin is able to modify delivery information before sending it with an alert to the
logistics team
4. Logistics team receives alert
5. Logistics team schedules Parcel for delivery
6. Logistics sends an update to the customer on the delivery time
7. Logistics will update the live location of delivery for customers.
8. Customer completes the order once the parcel is delivered.
9. Logistics will send notification on successful parcel delivery.

Logical View Development view/ implementation view


Viewer: End-user Components
Functional requirements: Platform: Window, Mac OS
● The system must schedule a date for Browser: Chrome, Safari, Microsoft Edge, Mozilla
delivery when a customer makes order Firefox
● The system must send alert to logistics Programming Language : Java, HTML, CSS, C#,
team on parcels to be packaged for delivery Python
● The system should allow customer to Scripts: JavaScript
access real-time tracking of their parcel Testing:
● The system must auto allocate a driver for 1. Make orders
parcel delivery 2. Wait for restock request notification
Components 3. Update inventory
Customer: Development team: 5 peoples
● Receive notification from the system Development center database: 3 tables (Supplier,
● View warehouse inventory Staff, Inventory)
Admin: Database: MySQL
● Update Items in inventory Types of interfaces: website, mobile, tablets
Logistics Team: GUI: Orange theme, user-friendly, simple design
● Alert on successful delivery
● Update location and time

Page 13
Process view / Main tasks Physical view/ Hardware Software
Non-functional requirements: Components
● 25,000 orders per day should be possible Platform: Windows 10 and above,
for the system to manage. Mac 10 and above,
● Customers must be able to place orders at Android 13 and above
any time of day, hence the system must be Servers: Apache HTTP Server, SNMP, SMTP, DNS
available 24/7. Topology type: Cloud
● Every year, the system must maintain an Storage: 5TB
average of 99 percent of fulfilled Security system: Firewall (Software - Cloudflare)
deliveries. Tools: WIX eCommerce
● The system must maintain current maps Services: API
for package tracking in real time.
Components:
● Complete Order
● Manage Delivery Info
● Send Delivery Alert
● Schedule Delivery
● Update Delivery Time
● Update Delivery Location
● Delivered Parcel Notification
● Save Information in Database

Table 2.2 4+1 Model (Schedule Delivery)

The logical view shows a list of the system's functional requirements, and the end user
will be the user. The following are the functional requirements:

When a client places an order, the system must arrange a delivery date, provide an
alert to the logistics team about parcels that need to be prepared for delivery, allow customers
to access real-time tracking of their parcel, and automatically assign a driver for parcel
delivery. The platform for development is Windows and Mac operating systems. The
following components are available for the Customer to choose from: Get a system notice
and Check out the warehouse inventory. Admin: Update Inventory Items Logistics Team:
Notification of successful delivery and update the location and time.

Page 14
2.3 Scenario - “Supplier restocks the inventory” (Chow Wen Xuan TP064438)

Restock Process:

1. System checks the inventory size after an order.


2. Available stock in the inventory reaches a low point.
3. System sends notification to suppliers.
4. Suppliers receive notification.
5. Supplier views the inventory to check stocks that need to be restocked.
6. Supplier restocks the inventory.
7. Staff update the inventory based on the items restocked.

Page 15
Logical View Development view/ implementation view
Viewer: End-user Components
Functional requirements: Platform: Window, Mac OS
● The system must allow store suppliers to Browser: Chrome, Safari, Microsoft Edge, Mozilla
view all available stock Firefox
● The system should notify suppliers when Programming Language : Java, HTML, CSS, C#,
the stock is running low Python
● The system must allow staff to update Scripts: JavaScript
inventory when the warehouse is being Testing:
restocked 1. Make orders
Components 2. Wait for restock request notification
Supplier: 3. Update inventory
● Receive notification from the system Development team: 5 peoples
● View warehouse inventory Development centre database: 3 tables (Supplier,
Staff: Staff, Inventory)
● Update Items in inventory Database: MySQL
Types of interfaces: website, mobile, tablets
GUI: Orange theme, user-friendly, simple design

Process view / Main tasks Physical view/ Hardware Software


Non-functional requirements: Components
● The system should handle up to 30000 Platform: Windows 10 and above,
inventory updates per day Mac 10 and above,
● The system must be operational 24h Android 13 and above
because the inventory must be updated Servers: Apache HTTP Server, SNMP, SMTP, DNS
even when the customer purchases from Topology type: Cloud
the website Storage: 5TB
● The inventory stock amount in the system Security system: Firewall (Software - Cloudflare)
must be at least 98% accurate Tools: WIX eCommerce
● The registration process for Supplier and Services: API
Staff must be done within 1 second
Components:
● Check inventory amount
● Send notification to supplier
● Display inventory to supplier
● Staff display inventory
● Staff update inventory
● Save item information into database

Table 2.3 4+1 Model (Restock Supplies)

Page 16
The scenario of the above 4+1 model is when the available stock is low, and the
supplier will be notified then restock the inventory. In the logical view, functionalities of
the system will be shown such as allowing store suppliers to view all available stock and
the suppliers will be notified when the stock in the inventory is running low. It should
also allow the staff to update the inventory when the stock reaches the warehouse. In the
process view, we can see the run-time behavior of the system and all the non-functional
requirements. The development view depicts a system from the standpoint of a
programmer. (Jayawardene, 2022) It provides information needed when the programmers
are working on the system such as how many tables are needed in the database, what
theme the GUI should use and what are the steps of testing. Finally, the physical view
shows the hardware requirements of the system.

Page 17
2.4 Scenario - “Manager able to access to the system and do analyze ” (Yim Zhi
Hei TP064428)
Analyze Process:

1. Manager able to login to the system.


2. After login, the manager should be able to access the system.
3. Manager opens the database system.
4. The system will display all the data.
5. Manager able to filter the data for searching any specific data.
6. Manager able to collect all the data and do analysis for the business.

Page 18
Logical View Development view/ implementation view
Viewer: End-user Components
Functional requirements: Platform: Window, Mac OS
● The system must allow manager to access Browser: Chrome, Safari, Microsoft Edge, Mozilla
the system Firefox
● The system must allow manager to open Programming Language : Java, HTML, CSS, C#,
the database Python, SQL
● The system must allow manager to filter Scripts: JavaScript
and search data Testing:
Components 1. Access System
Manager: 2. System display all the data
● Access system 3. Filter and collect data
● Open database 4. Analyse the data
● Filter and search data Development team: 5 peoples
● Do analyse Development centre database: 4 tables (Manager,
Customer Order, Inventory, Customer Payment
Inventory)
Application Layer: HTTP, SNMP, SMTP, DNS
Database: MySQL
Types of interfaces: website, mobile, tablets
GUI: Orange theme, user-friendly, simple design

Process view / Main tasks Physical view/ Hardware Software


Non-functional requirements: Components
● The system should be able to display all Platform: Windows 10 and above,
the data everyday. Mac 10 and above,
● The system should refresh all the Android 13 and above
databases 24/7 to allow the manager to
check the database anytime. Servers: Apache HTTP Server, SNMP, SMTP, DNS
● The data in the database must be accurate Topology type: Cloud
and the size of the database should not Storage: 5TB
exceed 2GB. Security system: Firewall (Software - Cloudflare)
● The system should display all the Tools: WIX eCommerce
databases in less than 5 seconds. Services: API
Components:
● Access system
● Display database
● Search and filter data
● Do analyse

Table 2.4 4+1 Model (Analyse Data)\

Page 19
The 4+1 model in table 2.4 is the scenario for the manager to access all the data in the
database. In the logical view, the functional requirement will be the system must allow
the manager to access the system and the system must allow the manager to open the
database. The system must also allow the manager to filter out the data and search for
specific data in the database. For the process view/ main task, the non-functional
requirement will be the system should be able to display all the data everyday. The
system should also refresh all the databases 24/7 to allow the manager to check the
database anytime and the data in the database must be accurate and the size of the
database should not exceed 2GB. The system should display all the databases in less than
5 seconds for the manager. The development view/ implement view will be using
standard programming language. The physical view/ hardware software will show all the
hardware for the system. All the hardware will be suitable for most of the people for them
to access the system.

Page 20
3.0 Factor and principle (Quality attribute)

(Chan Heng Yan TP061221)


3.1Principle - High Cohesion / Quality Attribute - Security

Design Definition Example Advantages Justification


Principle

High It is defined In the myCloth The advantages of this The high cohesion principle
cohesion as the system, all the principle are that it will is critical and beneficial to
degree to functions for make the system easier to the myCloth system
which the user behavior, understand, read, modify, because it reflects a high
components such as and test because the quality and better
of a module validating email modules are not dependent architecture design. For
belong to addresses, on other modules to example, the main function
one another should be achieve its purpose. For of the system is not directly
(Pagade. represented in example, if a developer affected by all of the
G,2022). the email class wants to make changes to module's parts. So, it's easy
and not in other email validation, they can to change or test the
classes like go directly to the email system, and it won't mess
making orders. class that handles these up any other modules and
things and make the make the maintenance
changes. These had process more efficient.
accelerated and enhanced
the efficiency of the
change process.

Quality Definition Justification Way to measure Possible outcomes


Attribute (why choose)

Security The level of When it comes to Check the system Only authorized users
security provided the privacy and to make sure that can access specific
by a system or security of user only people who data. For example, only
product to allow data, security is are supposed to administrators can
users or other much more have access to access this data for
systems or important than the data can get editing and deleting,
products to access other quality to it. while managers can
information and attributes. Poorly only access the data
data in accordance secured systems and can only view it.
with the type and are vulnerable to
level of hackers who can
authorization take away users'
assigned to them information to

Page 21
(ISO 25000 Portal, carry out criminal
2022). activities, etc.

(Alexander Shamil Mondoka TP060332)

3.2Principle - Parameterization / Quality Attribute - Efficiency

Design Definition Example Advantages Justification


Principle

Parameterizatio Simply described, In MyClothes The most With the multiple


n parametrization is the Components successful components included
process of modifying should use components in the MyCloths
certain elements of a parameterization execute a suitable system
probability distribution or amount of job Parameterization is
by adjusting its instrumentation with the proper required to allow these
parameters (Stephanie, to complete their number of components to
2017). tasks. parameters that complete their tasks
allow their user
to change their
operation.

Quality Definition Justification Way to Possible outcomes


Attribute (why choose) measure

Efficiency This basically assesses When it comes to The total May at first result in
how fast a system delivering the process number of more late or
completes a particular from payment successful on- unsuccessful
task. It is among the completion to product time deliveries deliveries but over
most crucial quality delivery should be as or early time this should
attributes(Padma, efficient as possible to deliveries grow smaller the
2022). keep customer should be more efficient the
satisfaction up. matched against system process
the total number becomes.
of late and
unsuccessful
deliveries

Page 22
(Chow Wen Xuan TP064438)

3.3Principle - Reliability / Quality Attribute - Loose coupling

Design Definition Example Advantages Justification


Principle

Loose Connecting system In MyCloths Loosely coupled With loose coupling,


coupling or network eCommerce components are MyCloths can add new
components so that system, easier to manage functions to the system
they depend on inventory class and maintain as easily without affecting
one another as and purchase they can work other components of
little as possible. class should only independently. the system as their
(Contributor, have a little to no When the project business grows. When
2011) dependency on needs to be done as some components in
each other soon as possible, the system fail, the
loose coupling other components can
allows the still work which makes
company to the system more
outsource some of reliable.
the components to
save time.

Quality Definition Justification Way to measure Possible outcomes


Attribute (why choose)

Reliability Reliability means is The customer must Continuously The system is stable
the system reliable be able to place an place orders and enough to work
enough to sustain in order at any time restock the 24hrs and the stock
any condition (What of the day and the inventory to count in the system
Are the Quality stock amount in check if the should match with
Attributes?, 2007) the inventory must inventory stock the total stock in
be correct to amount is correct the warehouse
prevent the after a lot of
situation where the inventory
customer placed updates.
an order but there
is no more stock.

Page 23
(Yim Zhi Hei TP064428)

3.4 Principle - Interfaces / Quality Attribute - Accuracy

Design Definition Example Advantages Justification


Principle

Interfaces The way the In MyCloths A large design With the interface, user
system shows to system, all the interface can can easily view
the user to remain data can be interact with the anything in the system.
the stability or the displayed by the user and interface The manager can use
lifespan of the interface. The can help the system the interface to view all
system. data can be to remain stable the data and the system
collected from and also extend the can filter the data out
the database and lifespan of the and display to the
program the entire system. manager. The manager
output of all can collect all the data
data. he/her wants to do
analysis.

Quality Definition Justification Way to Possible


Attribute (why choose) measure outcomes

Accuracy The percentage of The data of the All the data that The data must
the data that is database that is inserted from be accuracy in
correct or the shown from the manager, staff , the database
measurement of how system to the customer or the
close the incorrect manager had to supplier must be
value is between the make sure it the same with
correct value. (Dan was accuracy so the data that
Stearn, 2011) the manager can comes out from
use the data to the database.
do analysis

Page 24
Part B Group Components

4.0 Architecture Comparison

Software Common Usage Advantages Disadvantages


Architecture

N-tier Layered E-commerce The system is more The hardware cost of


website, Desktop secured as the layers every tier is
applications can act like a expensive (Singh,
firewall for the 2022)
system

Event Driven Notification Services Decoupled services Harder to trace an


make the system event from source to
able to continue destination, therefore
working when one of the debugging
the services fails process requires
more resources and
time (Patel, 2022)

Client-Server Document Sharing, Users have authority Traffic congestion


Banking system to access any file in will happen when
the central storage too many users are
using the system at
the same time
(Naveen, 2022)

Pipe-filter Compilers Good for process Having to pass the


that requires clear, entire set of data
systematic steps to through the system
transform successive when not every
pieces of data component needs
entire set of data
(Wong, 2021)

Page 25
Peer-to-Peer Cryptocurrency Expensive servers Decentralization
products are not needed as makes the process of
each of the finding a particular
connected computers file across the
can act as a server network (Roomi &
Roomi, 2020)

Since MyCloths is trying to establish an eCommerce system, a N-tier Layered


architecture is the most suitable for MyCloths. In this case, we will be using a 4-tier layered
architecture. The 4 layers are presentation layer, application layer, business layer and data
layer. This architecture allows experts on different domains to work on their own layer
without having to interrupt development of other layers. As the business of MyCloths grows,
they might want to add some new features to the system. With this architecture, they can add
new features to a particular layer without affecting the other layers. (Altvater, 2019)

5.0 Four-tier Architecture Design

Diagram 1.0 4-tier layer architecture diagram

Page 26
As shown above, we chose a 4-tiered layer as our architecture diagram since it will
bring a lot of benefit to our design. There are four layers in a four-tiered layer architecture:
the client layer, the presentation layer, the application layer, and the database layer.
In our client layer, the components consist of a laptop, mobile phone, and desktop.
Our client can use these three types of devices to access the myCloth website. This layer is on
the outermost layer, which is also the interface that our users will see. The client layer is the
local user interface for creating, modeling, analyzing, reporting, displaying, and distributing
different types of content, as well as for clients from outside the system (ORACLE, 2023).
The second layer is the presentation layer. This layer consists of some types of
browsers that support our website, which are Google Chrome, Mozilla Firefox, Microsoft
Edge, and Safari. Furthermore, the presentation layer gets data from clients, sends requests to
the data layer, displays the user's requested data from the database, and figures out what the
user wants (Cao et al., 2013).

The third layer is the application layer, this layer's task is to ensure that applications
on various networks and devices can communicate with one another (Kirvan &
Froehlich,2022). This layer is a feature of the application that controls how it interacts with
other devices, rather than being an independent application. The protocols that myCloth
system architecture covers are HTTP, SNMP, SMTP, and DNS.
The last layer is the data layer, which is an object that includes all the data that must
be transmitted to the tag manager from the myCloth website (Arimetrics, 2021). In the data
layer, it will carry all the information that needs to be processed and delivered from the
website to the other connected applications. MySQL will be used to store all the necessary
data from the myCloth website.

6.0 ATAM Evaluation Method


The Architecture Tradeoff Analysis Method (ATAM) is a technique for evaluating the
quality of software architectures. ATAM is utilized during the early phases of the software
development life cycle to limit the risk of software designs. The ATAM method involves
gathering all stakeholders in order to identify system goals, challenges, functional and non-
functional qualities. Key attributes and development strategies are then generated based on
these drivers. Such scenarios are then employed in connection with architectural techniques
and architectural designs to generate an analysis of trade-offs, sensitivity points, and dangers.

Page 27
This analysis is then translated into risk concepts and their consequences, from which the
process may be replicated. With each analytical cycle, the process progresses from more
generic to more particular. The entire architecture will be fine-tuned, and risk concepts will
be resolved by investigating the problems raised in the initial cycle (GeeksforGeeks, 2020).

Diagram 2.0 Utility Tree

The attributes used are all based on each individual attribute discussed under the Quality
attribute section above. The following attributes are going to act as business drivers that are
included in the tree:
● Security - The Security Branch consists of 2 refinements from the attribute namely:

Page 28
- Confidentiality of date - All user data stored (Personal information & Payment
Information) should be encrypted
- Access Management - Before accessing any order functions, a user must
identify themselves using a username and password.

● Efficiency - The Efficiency Branch consists of one refinements from the attribute
namely:
- Performance - Improved efficiency is evidenced in terms of successful
deliveries.

● Reliability - The Reliability Branch consists of 2 refinements from the attribute


namely:
- Software failure - The order system must be operational 99.9% of the time.
- Data consumption - Over 25,000 orders per day should be possible for the
system to manage.

● Accuracy - The Accuracy Branch consists of a refinements from the attribute namely:
- Backup Data - Encrypted stored data in the system database must be backed-
up on a cloud server

The participants involved in the ATAM method are:


● The Evaluation Team - The evaluation team is made up of persons who are not
involved in the project. This squad is made up of 3-5 persons, each of whom has a
distinct function to play. These roles of persons involved are the team leader,
evolution leader, evaluation and progress scribe, timekeeper and process observer.
● Project decision makers - have the authority to compel modifications and advocate for
the project's advancement.
● Architecture stakeholders - Every person, group, or organization with an interest in
the implementation of the architectural design and is somehow tied to it is a
stakeholder in that architecture. Users, builders of the system, testers, developers are
all stakeholders.

ADVANTAGES DISADVANTAGES

Early on in the life cycle, hazards were Improper task allocation, everyone wants t o
discovered. This involves identifying any possible get things done, some people work an
hazards prior to the start of the project and unusually large number of shifts. However,
developing a plan to reduce or avoid them from this approach can be harmful. Responsibility
occurring(Software Engineering Institute, 2011). and task allocation should be done with

Page 29
caution (Berdic Inc, 2020).

Improved architecture documentation. Requests made after the deadline. This occurs
Architectural documentation is critical in the when end consumers seek functionality at a
design process and cannot be understated. future stage. And it's possible that their
Through documenting each step of the design justifications are related to changes within
process, the quality and design are upheld, adding their perspective. The problem is that this end-
significant value towards the projects(Software user request might have major consequences
Engineering Institute, 2011). for the team(Berdic Inc, 2020).

7.0 SAAM Evaluation Method


The Software Architecture Analysis Method (SAAM), based on a fictitious case
study, is a first-ever promulgated architecture analysis method for analyzing how application-
specific quality attributes are accomplished and how potential future modifications would
affect quality attributes (Merritt.T, 2013). This method can benefit from common quality
attributes including modifiability, robustness, portability, and scalability. SAAM was made
because it was found that practitioners often talk about the software architecture of the
products they work on. So, the people who made SAAM wanted to make it easier to test
these assumptions. They did this by replacing the assumptions about quality attributes with
scenarios that test these assertions (Clements et al., 2002). SAAM was first made to look at
how different forms and names of an architecture could be changed (Clements et al., 2002).
SAAM method can also be used for other heuristic assessments of system qualities such as
reliability or performance, and it is easy to implement especially for beginners
The SAAM method is easy to learn and doesn't need much training or preparation to
work well. According to the SAAM methodology, the system's stakeholders must describe a
variety of scenarios that represent existing or potential future changes to the system. These
situations are carefully looked into, put in order of importance, and mapped to an image of
the architecture. When an architect is doing a SAAM-based evaluation, he or she must
carefully document the architecture to back up the study.

Page 30
Figure 1.0 Process method of SAAM

Step in SAAM evaluation Method


Develop Scenario The system stakeholder will create a list of all possible
scenarios and changes that could occur in the system's future.
When making these systems, it is important to think about all
of their main functions, who will use them, what might change,
and what needs they must meet now and in the future. As a
result, all tasks relevant to various users, including end users,
managers, staff, system administrators, maintainers, and
developers, are listed below. Many stakeholders could be
impacted by this scenario. As an example, One stakeholder
may be worried about how hard the change is and how it will
affect the system's performance. Some stakeholders may be
interested in how hard the change is and how it will affect the
system's performance, while others may be more worried about
how the change will affect how well the whole architecture fits
together.

Page 31
Describe Architecture Simple architectural notation should be used to describe the
design so that everyone involved in the analysis can understand
it. In these architectural descriptions, the system's
computational, data, and connectivity parts will be listed out.
Along with this static structural diagram, a description of how
the system changes over time or a more dynamic representation
of the system is given. This can come in the form of a more
formal specification or a description of general behavior in
everyday language. Typically, the creation of scenarios and the
explanation of designs drive one another. On the one hand,
having descriptions of architecture means that key players have
to think of ways to deal with the architecture's unique features.
Also, the scenarios must be part of the architecture description
because they show what the design needs.

Classify / Prioritize Scenarios In the scenario, a short explanation is given of how a system
could be used or how it should be used. If the architecture can
directly support the scenario, it means that the intended use can
take advantage of the consistency without having to change the
architecture to implement the scenario, and this is often proven
by showing how the proposed solution operates when the
current architecture is used. If a scenario is not directly
supported by the architecture being shown, it will need to be
changed. The architecture that we may illustrate has undergone
some modifications. This might involve a modification to how
one or more components carry out a particular function. A
modification to how a component carries out a certain function,
the addition of a component to carry out a function, the
addition of relationships between existing components, the
removal of a component, or the combination of these are
classified as the “indirect scenario." An indirect scenario is a
condition that needs architectural adjustments.

Page 32
Individually Evaluate Indirect The software architect will explain what changes need to be
Scenario
made to the architecture that includes indirect scenarios so that
the scenario can be used. This evaluation also helps reviewers
and stakeholders understand the structure of the architecture
and how its parts work together in a dynamic way. It's
important for stakeholders to talk about what they think a
scenario is supposed to mean and how the mapping works from
their point of view. For each indirect scenario, the changes to
the architecture that must be made to support the solution must
be listed, and the cost of implementing the change must be
estimated.

Asses Scenario Interaction There will be interaction in a certain part of an architecture


when two or more indirect scenarios require that part to be
changed. There are two reasons that are important to highlight
during the scenario interaction. The first reason is that it will
reveal how the product's design has allocated functionality.
Interactions between semantically irrelevant scenarios show
clearly which architectural parts do things that have nothing to
do with computing but are still important. Therefore, the area
of scene interaction reveals where the designer should focus
their attention in the future. Another reason is that it showed
that the structure of the building was not broken down well
enough. This happens when scenarios interact in one
component, but that component can be divided into smaller
subcomponents that do not interact with scenarios. If this
happens, then it is time to revisit the architecture described in

Page 33
Step 2 again.

Overall Evaluation Based on each scenario's proportional importance to the


system's success, a weight can be assigned to it. This
weighting is typically tied to the business objectives supported
by each scenario. The overall ranking can be determined using
a weighting method when comparing architectures or when
presenting different architecture choices within an architecture.
The goal of assigning weight is to address situations in which
there are two candidate architectures that have performed well
in different parts of cases.

Person that will involved in the SAAM evaluation :

Architecture Stakeholder Anyone who has an interest in the realization of the


building and has some relationship with it is a stakeholder
in that architecture. They must make a decision and
provide system requirements, such as a list of all possible
scenarios to be considered when developing the system.

Evaluation team The evaluation team is made up of three to five people


that are involved in the project, and each of them has a
unique role to play. They are the team leader, evolution
leader, evaluation and progress scribe, and process

Page 34
observer.

Advantages and Disadvantages of SAAM

Advantages Disadvantages

Enhanced the communication between Lack of tools and standard methods for
stakeholder and evaluation team since they representing architectural design (Tutorials
using scenarios to visualize (Aneko, 2019) Point,2023)

Map scenarios to structures and point out Lack of analytical methods to predict or
parts and connections that will change if the forecast whether the architecture will meet
scenario changes (Aneko, 2019) system requirements after implementation
(Tutorials Point,2023)

Efficient in scenario generation such as Lack of knowledge of the design process,


software testing (Aneko, 2019) insufficient design experience, and poor
design evaluation in architecture (Tutorials
Point,2023)

8.0 ARID Evaluation Method


ARID is a preliminary design that is assessed using Active Design Reviews and
ATAM. Participants in the active design review receive thorough documentation and fill out
activity questionnaires on their own. The entire architecture, not just a section of it, is
evaluated using ATAM (geeksforgeeks 2020). Even though ATAM and ADRs both have
excellent attributes for assessing software architectures and designs, something was still
required that may offer a head start on design strategies. Hence, ARID was created by fusing
an ARD of design specifications with a stakeholder-centric, scenario-based architecture

Page 35
evaluation method like ATAM. ARID is a lightweight evaluation that concentrates on the
suitability. It reviews all the tasks carefully and it can ensure the quality of the design.

There are two phases and contain nine steps in the ARID evaluation method. In the
diagram above we can clearly see the two phases in the ARID evaluation method. Phase one
is the pre meeting and the first step will be to identify the stakeholders. In the MyCloth
system, there are four stakeholders which are the customer, manager, supplier and the staff.
Step two will be to prepare the design briefing. The development team will have a briefing
for the system and design all the functions in the system including the supplier connectivity
or the logistic support. Step three will be preparing the seed scenario. The development team
will design all the scenarios of the concept of the system. The goal or the potential issue will

Page 36
be discussed in this step. Last step of phase one will be preparing the material. All the seed
scenarios or the discussion in the first three steps will be presented in the meeting. After the
fourth step, phase two will begin by presenting the ARID method. The fifth step will be
presenting the ARID method by explaining all the steps of ARID. Next step will be
presenting the design. The development team had to present the design and see whether the
design is suitable for the system. Question and issue will be captured by the development to
fulfill the requirement of the system. Step seven will be brainstorming and prioritizing the
scenario. The stakeholder will suggest different scenarios for the design. If they can't decide,
voting will be taken to choose the suitable scenario for the system. The eighth step will be
applying all the scenarios. Most vote scenarios will be chosen and the development team will
start designing the concept of the system. Last steps will be summarized for the system. Issue
and problem will be listed out and the development team will collect the opinion for the
stakeholder and do changes.

References
● Pagade, G. (2022, November 9). Difference between cohesion and Coupling.
Baeldung on Computer Science. Retrieved February 15, 2023, from
https://www.baeldung.com/cs/cohesion-vs-coupling
● Altvater, A. (2019, May 1). What is N-Tier Architecture? How It Works,

Examples, Tutorials, and More. Stackify. https://stackify.com/n-tier-

architecture/

● Computer Science learning for school students. (n.d.) . https://www.teach-

ict.com/gcse_new/networks/peer_peer/miniweb/pg5.htm

● Patel, M. (2022, November 2). A Guide to Event-Driven Architecture Pros

and Cons. Solace. https://solace.com/blog/event-driven-architecture-pros-and-

cons/

Page 37
● Roomi, M., & Roomi, M. (2020, November 15). 7 Advantages and

Disadvantages of Peer to Peer Network | Drawbacks & Benefits of Peer to

Peer Network. HitechWhizz - the Ultimate Tech Experience.

https://www.hitechwhizz.com/2020/11/7-advantages-and-disadvantages-

drawbacks-benefits-of-p2p-network.html

● Singh, K. P. (2022, September 12). System Design: N-tier architecture. DEV

Community . https://dev.to/karanpratapsingh/system-design-n-tier-

architecture-4j82

● Wong, C. S. (2021, December 16). Pipe and Filter Software Architecture - CS

Wong. Medium. https://medium.com/@e0324913/pipe-and-filter-software-

architecture-cdf47a14d789

● Altvater, A. (2019, May 1). What is N-Tier Architecture? How It Works,

Examples, Tutorials, and More. Stackify. https://stackify.com/n-tier-

architecture/

● Computer Science learning for school students. (n.d.). https://www.teach-

ict.com/gcse_new/networks/peer_peer/miniweb/pg5.htm

● N. (2022, December 13). What is Client Server Architecture? Intellipaat Blog.

https://intellipaat.com/blog/what-is-client-server-architecture/

● Patel, M. (2022, November 2). A Guide to Event-Driven Architecture Pros

and Cons. Solace. https://solace.com/blog/event-driven-architecture-pros-and-

cons/

● Roomi, M., & Roomi, M. (2020, November 15). 7 Advantages and

Disadvantages of Peer to Peer Network | Drawbacks & Benefits of Peer to

Peer Network. HitechWhizz - the Ultimate Tech Experience.

Page 38
https://www.hitechwhizz.com/2020/11/7-advantages-and-disadvantages-

drawb acks-benefits-of-p2p-network.html

● Singh, K. P. (2022, September 12). System Design: N-tier architecture. DEV

Community . https://dev.to/karanpratapsingh/system-design-n-tier-

architecture-4j82

● Wong, C. S. (2021, December 16). Pipe and Filter Software Architecture - CS

Wong. Medium. https://medium.com/@e0324913/pipe-and-filter-software-

architecture-cdf47a14d789

● Padma. (2022, February 8). What are Quality Attributes in Quality Assurance.

Www.h2kinfosys.com. https://www.h2kinfosys.com/blog/what-are-quality-

attributes-in-quality-assurance/

● Software Engineering Institute. (2011, January 27). Architecture Tradeoff

Analysis Method Collection. Resources.sei.cmu.edu.

https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=513908

● Berdic Inc. (2020). Top 7 Downfall of SDLC Model and How to Prevent

Them. Blog.bydrec.com. https://blog.bydrec.com/top-7-sdlc-pitfalls-and-how-

to-prevent-them

● GeekforGeeks. (2020, December 1). Architecture Tradeoff Analysis Method

(ATAM). GeeksforGeeks. https://www.geeksforgeeks.org/architecture-

tradeoff-analysis-method-atam/

● Merritt, T. (2013, January 7). Software architecture analysis method (SAAM) -


dzone. dzone.com. from https://dzone.com/articles/software-architecture-
analysis

● Clements, P., Kazman, R., & Klein, M. (2002). Evaluating software


architectures: Methods and case studies. Addison-Wesley.

Page 39
● Software architecture & design introduction. Tutorials Point. (n.d.). Retrieved
February 18, 2023, from
https://www.tutorialspoint.com/software_architecture_design/introduction.htm
#:~:text=Limitations&text=Lack%20of%20tools%20and
%20standardized,architectural%20design%20to%20software
%20development.

● Aneko. (2019, March 18). Scenario-based analysis of software architecture.


SlideServe. Retrieved February 18, 2023, from
https://www.slideserve.com/aneko/scenario-based-analysis-of-software-
architecture-powerpoint-ppt-presentation
● Jayawardene, P. D. (2022, January 5). 4+1 Architectural view model in

Software - Javarevisited. Medium. https://medium.com/javarevisited/4-1-

architectural-view-model-in-software-ec407bf27258

● Contributor, T. (2011, February 10). loose coupling. Networking.

https://www.techtarget.com/searchnetworking/definition/loose-coupling

● Clayton, M. (2019, February 11). Project Deferral: What to do when Your

Project is Deferred. Online PM Courses. https://onlinepmcourses.com/project-

deferral/

● Reporting and analysis framework administration guide. Moved. (n.d.).


Retrieved February 19, 2023, from
https://docs.oracle.com/cd/E57185_01/RAFWA/ch04s01s01.html#:~:text=The
%20client%20layer%20refers%20to,clients%2C%20such%20as%20Microsoft
%20Office.

● Cao, J., Wei, J., & Qin, Y. (2013). Research and application of the four-tier
architecture. Proceedings of the 2013 the International Conference on
Education Technology and Information Systems. https://doi.org/10.2991/icetis-
13.2013.173

● Kirvan, P., & Froehlich, A. (2022, March 22). What is the application layer?
Networking. Retrieved February 19, 2023, from
https://www.techtarget.com/searchnetworking/definition/Application-
layer#:~:text=The%20application%20layer%20sits%20at,different
%20computer%20systems%20and%20networks.

● What is data layer - definition, meaning and examples. Arimetrics. (2021,


November 19). Retrieved February 19, 2023, from
https://www.arimetrics.com/en/digital-glossary/data-layer#:~:text=the
%20analyticalprocess.-,Data%20layer%20examples%3A,push%20command.

Page 40
● Dan Stearn (2011) Quality Attribute
https://users.csc.calpoly.edu/~djanzen/courses/common/qualityDefinitions.htm
l
● Geeksforgeeks (23 Dec 2020) Active Review for Intermediate Designs (ARID)
in Software Architectures https://www.geeksforgeeks.org/active-reviews-for-
intermediate-designs-arid-in-software-architectures/

Page 41

You might also like