Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

INDIVIDUAL ASSIGNMENT  

TECHNOLOGY PARK MALAYSIA

CT059-3-2-SAT

SOFTWARE ARCHITECTURE AND TESTING

APU2F2002SE
LEE QI HUI – TP055210

HAND OUT DATE:       - SELECT MONTH - 2020

HAND IN DATE:      28 OCTOBER 2020

WEIGHTAGE:

INSTRUCTIONS TO CANDIDATES:
1 Submit your assignment at the administrative counter
2 Students are advised to underpin their answers with the use of
references (cited using the Harvard Name System of Referencing)
3 Late submission will be awarded zero (0) unless Extenuating
Circumstances (EC) are upheld
4 Cases of plagiarism will be penalized
5 The assignment should be bound in an appropriate style (comb bound or
stapled).
6 Where the assignment should be submitted in both hardcopy and softcopy,
the softcopy of the written assignment and source code (where appropriate)
should be on a CD in an envelope / CD cover and attached to the hardcopy.
7 You must obtain 50% overall to pass this module.

Table of Contents
Introduction......................................................................................................................................3

Functional Requirements.............................................................................................................4

Step 1: Development of Scenarios...................................................................................................5

Step 2: Architecture Description.....................................................................................................6

Step 3: Classification of Scenarios..................................................................................................7

Step 4: Individual Assessment of Indirect Scenarios......................................................................8

Step 5: Assessment of Scenario Interaction.....................................................................................9

Step 6: Overall Evaluation.............................................................................................................10

Conclusion.....................................................................................................................................11

References......................................................................................................................................12
Introduction
Software architecture analysis method (SAAM) is a documented method to evaluate
software architectures. The main purpose of SAAM is to assess the modifiability of a software
system although some have extended to review a software architecture for a variety of quality
attributes, including reliability, portability, extensibility, and performance.[ CITATION Jos20 \l
1033 ] SAAM starts by requesting stakeholders to list the scenarios that can be changed to
achieve business goals. The listed scenarios will be analysed, prioritized and mapped onto the
representation of the architecture.

The prerequisite and inputs for SAAM are the description or overview of the system
architecture, several scenarios describing the interaction between end-users and the system and
the quality requirements that the system wants to achieve.

Diagram 1: SAAM Steps


Functional Requirements
User

1. Register for an account or a Facebook page.


2. Perform social activities (Post news feed or stories, comments, add friend, chatting, voice
call).
3. Searching for specific account by name and the grouping such as pages, groups and posts
are available to be chosen.
4. Creating groups to post the related posts within the groups.
5. Be notified when the other user tries to reach you by performing social activities.
6. Edit the profile.
7. Use the additional features such as Dating, Marketplace and Jobs.
8. Receive personalize ads based on the web activities.
9. Set the privacy settings to avoid any unnecessary contact with unwanted users such as
block, mute and hide feeds from the respective user.

System

1. Regularly maintain the system security, reliability, availability, security, scalability and
performance.
2. Fix system vulnerabilities or bugs when the system fails or crashes.
3. Upload a system update package for the maintainer.
4. Allow synergy of data across the world.
5. Ensure the data security of users when dealing with third-party apps.
Step 1: Development of Scenarios
In developing scenarios, it is required to list out the major functions and users of the system,
quality attributes and their associated level that the system must achieve and the forecasted
changes made in the future.

Scenari Description
o
1 Detect the fake news: Sentiment Analysis
2 Improve the security of personal information from leaked data to third-
party

1. Fake news is flooded online especially on Facebook, which can be defined as the false story
or content spread on the internet in any form that may influence people’s viewpoints to gain
the benefits. So, it was a need to have a system to detect fake news on Facebook as it is one of
the popular social media and there are tons of exchanging messages including news on it. The
implementation of detecting fake news will be using the Text Pre-processing by NLP, Flair
library and Artificial Neural Networks (ANN) for machine learning.[ CITATION Seb20 \l
1033 ]
2. The leaked of personal data to third-party in Facebook is already a common case. Based on
the research from Cambridge Analytica, they have started from 2015 and disclosed in 2018
and found a way to exploit Facebook’s API to gain unauthorized access to millions of users
personal information.[ CITATION Ger19 \l 1033 ] This problem is caused by the allowance
of Facebook to third part Apps to gather user’s data. Moreover, the storing type of password
in plain text are easily accessed by others.
Step 2: Architecture Description
In the Facebook’s architecture, we are looking at the 3-tier architecture model and it is able to
showcase the working criteria of the system.

Diagram 2: 3-tier architecture of Facebook


Step 3: Classification of Scenarios
We here classify all the scenarios in step 1 as indirect scenarios. An indirect scenario can
describe behavior that is not currently supported by the system. The prioritization of the
scenarios has been arranged by the voting to address the most important scenarios.

Scenari Description Type Vote


o
1 Detect the fake news: Sentiment Indirec 9
Analysis t
2 Improve the security of personal Indirec 12
information from leaked data to third- t
party

1. The detection on fake news will increase the satisfaction of users on Facebook as they will
not be influenced by the social medias anymore and can have clearer viewpoints on the news
all around the world. Facebook will also not to be the platform to spread out the spam but
only have more precise contents to users.
2. Leaked of personal information is serios problem to everyone as these data will be abused to
achieve selfishness. Although it will be the long run, Facebook can retrieve the quit user as
this problem and exclude itself from the lawsuit. Moreover, users will have more confident
to use Facebook.
Step 4: Individual Assessment of Indirect Scenarios
For indirect situation, the architect describes how to change the architecture to achieve
the changes. For each indirect scenario, the architectural modifications required to facilitate the
solution and components of the new systems and the estimated cost to implement the
modifications.
Scenari Description Type Require Number of Estimated
o d Changed Effort for
Changes Components Changes
1 Detect the fake news: Indirect Logic 10 persons,
Sentiment Analysis Tier, 3 1 month
CPU
2 Improve the security of Indirect Database, 15 persons,
personal information from Logic 2 3 months
leaked data to third-party Tier
Step 5: Assessment of Scenario Interaction
Scenario interaction is important to be highlighted and the affected components need to
be modified to avoid potential problems.

Diagram 3: 3-tier architecture of Facebook after modification


Step 6: Overall Evaluation
In the final step, the Facebook system scenarios and architecture will be evaluated as a
whole. Meanwhile, it will be weighted by their expected costs, time required by the market,
change risk and other criteria.
Scenario
No Description Weight
.
1 Detect the fake news posted: Sentiment Analysis 40%
2 Improve the security of personal information from leaked data 60%
to third-party
Conclusion
SAAM is a good software evaluation architecture which can bring stakeholders together
to discuss and modify the architecture in a mutually comprehensible language. It is easy to learn
and carry out. Besides, it has many social and technical benefits and can reveal scenarios and
underlying business goals. It forces an appropriate level of architectural documentation to be
revealed. To sum it up, SAAM is a relatively simple architecture evaluation method which can
operationalize vague claims of modifiability.
References
Gershwin, A. (2019, June 23). Troubles with Facebook: security issues and privacy scandals.
Retrieved from Medium: https://medium.com/@gershwin.aaron/troubles-with-facebook-
security-issues-and-privacy-scandals-88c78cd12e7e

Ingeno, J. (2020). Software architecture analysis method (SAAM). Retrieved from Oreilly:
https://www.oreilly.com/library/view/software-architects-
handbook/9781788624060/36d91dda-9c96-4258-ba44-d263bbd9d19e.xhtml

Sebastian Kula, Michał Choraś, Rafał Kozik, Paweł Ksieniewicz, Michał Woźniak. (2020, June
15). Sentiment Analysis for Fake News Detection by Means of Neural Networks.
Retrieved from SpringerLink: https://link.springer.com/chapter/10.1007/978-3-030-
50423-6_49

You might also like