Assmnt2phase1 Softwarearchitecture

Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

Software Process Weekly

Assignment 2 Phase 1

for

Cloud-based Digital Portfolio


Software Architecture

Version1.0

Preparedby:

YipFookTian

0309284

KohKengChye

0315048

CheongWanHoy

0314101

GohKaJiunn

0315321

TableofContents

Abstract
1.IntroductionandOverview
2.Architecture
3.ArchitecturalStyle
4.Diagrams
5.ExternalInterfaces
6.UseCases
7.DataDictionary
8.NamingConventions
9.TestPlan
10.MethodologyandCost
11.Performance
12.Evolvability
13.FeasibilityStudy
13.1MarketFeasibility
13.2TechnicalFeasibility
13.3FinancialFeasibility
References

Abstract

Porfect, a cloudbased digital portfolio platform that allows users to showcase their
achievements, work experiences, and skills in the form of a professional, quality eportfolio,
uses a 3 tier client/server architectural style, where one or many servers provide services to
clients. A top level architecture of the system, which will identify itemsofhardware, software,
and manual operations will be established. Information that will be transmitted to/from the
system will include the web pages, user account details, transactions,user content, and the
eportfoliodatabase.

Following the ISO standard for systems and software engineering


(ISO/IEC 12207:2008(E)
p.46), a toplevel architecture of the system shall be established. The architecture shall
identify items of hardware, software, and manual operations. It shall be ensured that all the
system requirements are allocated among the items. Hardware configuration items, software
configuration items, and manual operations shallbesubsequentlyidentifiedfromtheseitems.
The system architecture and the system requirement allocated to the items shall be
documented.

The flow of the system starts when the user signs up for an account, or logs in into the
system. Once the authentication is successful, regular registered users will get access to
webbuilding tools to create his/her eportfolio, modify the content of his/her own eportfolio
and delete any existing eportfolios. Employers will be able to browse the eportfolio
database. Allusers will be able tochangetheiraccount settings.Theflowofthesystemends
whentheuserlogsoutofthesystem.

Several types of testing will be executed during the testing plan, which includes the unit
testing/moduletesting to discover errors in the code, alpha testing to testtheperformanceof
the system and the availabilityofsystemrecoveryifthesystemfails,andbetatestingtoallow
users to test the system and receive feedbacks from them. The system will be implemented
according to theSoftwareImplementationProcesssectionin theISOdocumentforSystems
&SoftwareEngineering.TheestimatedtotalcostofthesystemwillbejustunderRM520,000.

There are several partsof the system that are likely to be performancecritical. Itcanbeonly
used for viewing onlywhen on mobile devices such as smartphones and tabletcomputersit
requires an internet connection it is unable to handletoo many users at the same time as it
currently has insufficient storagespace and the insufficient processing speed to process the
information. ServiceOrientated Architecture (SOA) will be used to allow the system to adapt
into future changes. Several feasibility studies are investigated, such as technical feasibility
andoperationalfeasibility.

1 . Introduction and Overview

The purpose of the report is to provide a better insight on the overview of the software
architecture. It will also explain about the outline and structure of the softwarearchitectureto
giveabetterunderstandingaboutit.

The report will explain about the architecture of the software, which will show the overall
structure of the system as well as thedescription ofit, thesystemarchitecturalstyleusedby
the system and the toplevel architecture of thesystem.Thereportwillalsoexplainaboutthe
level of details, which explains about the data structures of the algorithm that isessential for
the implementation of the software. Context diagram, component diagram, and diagrams
about interaction of layers will be shown in the report. External interfaces ofthe softwarewill
be also explained in the report, which will identify whatinformationistransmittedin/outofthe
system. Use case diagram will alsobe shownin the report, as well as descriptionabout the
usecasediagramwillbeexplained.

Data dictionary will be included in the report as well, which will define the key termsused in
the architecture. Naming conventions will be included in the report to give aliteraltranslation
of the acronym used in the report. Teat plans will be explained in the report which will
describe about type of testing used as well as the timeline for the testing plan. Methodology
used for the system as well as the estimated total cost needed for the implementation of the
software will be shown in the report. Limiting factors that may affect the performance of the
software will be explained to show what the system can be improved for better user
experience. Evolvability of the system will be explained to show how the design of the
architecture software cansupportfuturechangesinthesystem. Lastly,feasibilitystudywillbe
explained to investigate the key parts of the system throughseveraltypesoffeasibilitystudy,
aswellasriskypartsthatmaycauseanissuetothesystem.

2 . Architecture

ClientServer3TierArchitecture

Diagram 1.0: System Architecture

Server load balancing through the load balancer provides two or more servers for every
application software. If one server malfunctions due to software or hardware problems, it is
automatically removed to prevent disruption to the service. Once server issuesarefixed,itis
automaticallyplacedbackintoservice.


Diagram 2.0: Software Architecture

3. Architectural Style

The system uses a multitier client/server architectural style where one or many servers
provide services to instances of subsystems, called clients. This multitier clientserver
architecture consists of 3 tier the Presentation Layer, Business Access Layer, and the Data
Access Layer. The Presentation Layer displays the user interface and facilitates user
interaction. The nextlayer is the BusinessAccessLayer whichcontainsbusinesslogic,rules,
workflows, validations or calculations. Utilizing a separate business layer can improve the
maintainability and testability of the application, and allow the centralization and reuse of
common business logicfunctions.(Msdn.microsoft.com,2015)ThelayerafterthatistheData
Access Layer that abstracts the logic necessary to access the database. This layer helps
connect the business layer with the database to perform required actions, and also returns
andmanipulatesdata.Havingaseparatedatalayerallowstheconfigurationandmaintenance
of the applicationtobeeasier,andseparatesthedetailsofthedatabasefromtheother layers
oftheapplication.

ThereareseveralreasonsforchoosingAlthoughimplementingamultitierarchitecturecanbe
quite costly and complex, it is abletoprovidemanybenefits.Firstly,themultitierarchitecture
confines related data to their respective layers, which allows for exceptional security.
Furthermore, this architecture has the fastest execution rate as compared to singletier and
doubletier architectures. Additionally, the multitier architecture is very scalable asadditional
tierscanbeaddedasnecessarytoensuregoodperformance.(Blog.simcrest.com,2015)

4 . Diagrams

Diagram 1.0: Data Flow Diagram Level 0

Diagram 1.1 Data Flow Diagram Level 1


Diagram 2.0 Component Diagram

5. External Interfaces

Information transmitted to/from the system from external interfaces will include login user
details. This includes the username and password for authentication purposes, profile
description of the user to add information about the user, the contact details to allow
employers to contact the user ifthey areinterested toconduct aninterviewwiththeuser,and
the privacy setting assigned by the user to limit the amount of information in the profile
description,contactdetailsandeportfoliotobeshowntoreaders.

Other information transmitted to/fromthe system fromexternalinterfaceswillbethedetailsof


the eportfolio created by the applicant. This includes the name of the applicant, personal
details given by the applicant to let reader to know more about the applicant, the level of
education forthe applicant to show how much education the applicanthas,jobexperienceto
show the amount of experience theapplicanthasthroughworklifeandachievements/awards
achievedbytheapplicanttoshowwhatedgesouttheapplicantfromothers.

6. Use Cases

Figure 1.0 shows the essential Use Cases that illustrate the use of the system

The Use Case Diagram was drawn based on the assumption that users are able to
successfully access our system through web browsers and the system is working perfectly
fine. The description of each essentialUseCasethatarebeingcapturedinthesystemareas
following:

SignUp/RegisterAccount
OneoftheinitialUseCasesthatshowsthattheunregistereduserwillneedto
signupforanaccountbeforetheycanfullyutilizethefunctionalityofthe
system.

LoginAccount
OneoftheinitialUseCasesisthattheregisteredusercanlogintoaccessour
coresystemfeaturesforthepurposeofcreateportfolio,deleteportfolioand
etc..

ExplorePortfolio
OneoftheinitialUseCasesisthatbothregisteredorunregisteredusersare
abletoexploreexamplesofcreatedportfoliobyusingakeywordbasedfilter
search.

VerifyAccountValidity
ThisUseCaseonlyoccursifregistereduserswantstologintotheiraccounts.
Thisisconsideraverificationactionforunauthorizedaccess.Hence,the
extensionpointforthisusecaseisaninvalidloginattempt.

CheckAccountAvailability
ThisUseCaseisforthepurposeforcheckingaccountavailabilityinthe
systemswebservertoverifywhetherthesignupinformationprovidedbythe
usersisconflictingwiththeexistingaccounts.

SendErrorMessage
Webbrowserswillsendtheerrormessagetotheusersforinvalidloginand
signupattempts.

ManageAccountSettings
Allowregistereduserstochangecertainsettingsfortheaccountcreated.

LogOutAccount
Registereduserscanlogoutoftheiraccountsmanually.

CreatePortfolio,EditPortfolio,DeletePortfolio
Registereduserscanmanagetheirportfoliobycreatingnewportfolios,delete
existingportfolios,andmakechangestothecontentoftheportfolios.

7. Data Dictionary

Name

Length

DataType

Purpose

DataOwner

accountUsername

8~36

String

Authentication

SecurityDept

accountPassword

8~36

String

Authentication

SecurityDept

accountAccessLevel

24

String

AccessPrivileges

DatabaseAdmin

accountFirstName

24

String

UserDetails

DatabaseDept

accountLastName

24

String

UserDetails

DatabaseDept

accountCreatedDate

N/A

Date

AccountRecord

DatabaseDept

accountContactNo

24

Numeric

UserDetails

DatabaseDept

accountEmail

36

String

UserDetails

DatabaseDept

dateOfBirth

N/A

Date

UserDetails

DatabaseDept

accountAddress

50

String

UserDetails

DatabaseDept

accountCity

20

Character

UserDetails

DatabaseDept

accountProvince

20

Character

UserDetails

DatabaseDept

accountZip

10

Numeric

UserDetails

DatabaseDept

accountCountry

20

Character

UserDetails

DatabaseDept

workExperience

50

String

UserDetails

DatabaseDept

personalQualities

50

String

UserDetails

DatabaseDept

achievementAward

50

String

UserDetails

DatabaseDept

personalSkills

50

String

UserDetails

DatabaseDept

8. Naming Conventions

Acronym

LiteralTranslation

SOA

ServiceOrientedArchitecture

UI

UserInterface

BAL

BusinessAccessLayer

DAL

DataAccessLayer

9. Test Plan

In this testing plan process, certain types of testing will be done for software system for a
period of two month, where codes will be tested for errors and fixed. This will also test
whether the software is ready tobepublishedforpublicuse.Thefollowingtypeoftestingthat
willbeusedforthesystemisshownbelow:

UnitTesting/ModuleTesting

Unit testing, alsoknown as module testing, will be used to test and discover if thereare any
errors present in the code. Debugging and fixing of errors in the code willprevent anything
unexpected to happen to the software system when it is published for users to use. In this
testing phase, the program tester will be involved because their role is to do testing and
debugging, and also they are more experienced and professional with it. Besides that, this
testing process will take upwardsto one month,whichwillbefromaround10May2015to10
June2015.


AlphaTesting

In this alphatesting phase, simulated data, which is data created to mimic real data, will be
used to test the software system.Thistestingphasewillalsoinvolveperformancetestingand
recovery testing. For the performance testing, the processing speed ofthe system under the
strain of many users, theuserfriendlinessof the user interface, thethroughputofthesystem
and much more will be tested to ensure optimal performance. This test will be able to
determine howthesoftwaresystemperformsintherangeofpossibleenvironmentsinwhichit
might be used. For the recovery testing, the backup system will be tested for its ability to
recover the system when itfails.Inthisphase,destructivetestingwilloccurwherethesystem
will be purposefully forced to fail in order to confirm that the recovery testing is properly
performed. Inthisphase,thesoftwaredevelopmentteamandtesterswillbeinvolvedbecause
their role is to test whether the system is able to run wellinallsituations,andalsotocheckif
there is anything missingor if thereare any errors.Thesoftwaredevelopmentteamcanthen
fix it before it is published. The alpha testing process will take upwards of two month to
complete, which the first month will be performance testing from 17 May 2015 to 17 June
2015,andthenrecoverytestingstartingfrom17June2015to17July2015.

BetaTesting

In this phase, the system will be tested using real data from the users. This willallow some
users to test the system themselves, aswell as give feedbackaboutthesystem.Fromthere,
their feedbacks can be used to improve and fix any remaining problems present in the
software system beforeitispublished.Abetaversionof thesoftwaresystemwillbeproduced
and sent out to certain users try out to get their feedback on whether the system is
userfriendly enoughandif itmeets theirneeds.Inthis testingphase,theendusersorclients
will be involved. Besides that, this testing process will take one month to complete, from
around1June2015to30June2015.


Figure 1.0 shows the estimated timeline for the test plan.

10. Methodology and Cost

The system is going to be implemented according to the Software Implementation Process


in the ISO document (ISO/IEC 12207:2008 (E) p.57). A successful implementation of the
system will have several outcomes. However, the key outcome for a successful
implementation of the system is that the software will have been packaged into several sub
packages, and were stored and ready to be deployed at any time. In order to achieve this
outcome, processes or tasks in the Software ImplementationProcesswillneedtobestrictly
followedasstatedintheISOdocument(ISO/IEC12207:2008(E)p.57).

One of the vital criteria for the system is that the modules must be packaged within the
system before implementation process according to the methodology mentioned above. An
estimation plan for the implementation of each module within the system was estimated as
shownintable1.0.

Order

Modules

Estimatednumber
oflines

SignIn

1000

SignUp

2000

LogOut

1000

EditAccount

3000

GenerateEmails

1000

CreatePortfolio

2000

EditPortfolio

5000

DeletePortfolio

2000

SharePortfolio

1000

PaywithPayPal

3000

PaymentVerification

1000

Estimatednumber
ofpersondays

50

90

30

Table 1.0 shows the estimation plan of implementation for the modules within the system.

The total cost for the system to be developed and implemented was estimated with the
combination of infrastructure cost for one year operation, frontend costs and backend costs.
As for the frontend costs, itwas estimated based on the numbers ofperson days as well as
thecurrent salary forthepersonsthatarerequiredto developeachmodule.Infrastructureand
backend cost are also estimated based on the current hardware prices. In conclusion, the
estimatedtotalcostforthesystemisuptoaroundRM520Kasshowninfigure2.0.

Figure 2.0 shows the total app cost estimation which based on the combination of
infrastructure, frontend and backend costs required to implement the app.

The system is going to provide a subscriptionbased web service to the users to cover the
costs used in app development as well as generate the revenue for the company in future.
However, nonmembers are still ableto use the web services provided with limited features.
Whereas members are ableto enjoy all the features as well as the services thatprovidedby
the web application. The differences between nonmembers and members in terms of
featuresforthewebapplicationareclearlyillustratedinthefigure3.0.


Figure 3.0 shows the subscription plan for the web application Porfect.

11. Performance

There are several performance criteria that should be considered for the software system.
Firstly, while both desktop and mobile devices are able to view theapplication, only desktop
devices such computersandlaptops are able to use certain features ofthesoftwaresuchas
the eportfolio editing tools. This limits mobile devices such as smartphones and tablet
devices to be usedfor viewing only. Another performance criteria isinternetavailabilityofthe
user. Since the software is a webapplication, users can only access the application if they
haveaninternetconnectionreadilyavailable..

Other than that, the software system might not be able tohandlemorethan100,000usersat
the same time. When there are too many users accessing the system concurrently, the
throughput of the system might be affect, which will in turn lead to a decrease in user
satisfaction. Furthermore, the storage space required for the system operations is also a
performance criteria. Insufficient storage space to handle data will cause serious issues and
disruptions to the system shoulditreachitsstoragecapacity.Additionally,thethroughputand
processing speed of the system is also a performance criteria. Operations within the system
mustbeabletobecompletedintheshortestamountoftimepossible.

12. Evolvability

Figure 1.0 shows the design of the software which implement the Service-Oriented Based
Architecture (SOA)

In order to support futurechangesinthesystem,thesystemwasdesignedinsuchawaythat


is easy to evolve whileat the sametime maintaining all functionalitieswithinthesystem.The
system will need to implement the ServiceOriented Architecture(SOA) whichisthe common
architecture for most of the web applications. The SOA has theabilitytoadaptintothefuture
changes by designing each of the functionality of the system in the form of independent
services.

AnintegrationplatformisrequiredtoapplytheSOAdesign inthesystemtointegrateallofthe
independent and external services. According to the SOA, services can be defined as the
discretely invocable operation which can be combined to provide the functionality of a large
software application.Each service isbuiltontopofthe differentsetofcomponents.Afterthat,
all of the independent services are combined throughthe integration platform which enables
the users to use all of thefunctionalities or features of the systemwithjustoneaccesstothe
platform.

This SOA brings the advantage of evolvability and maintainability to the system. Other
services or functionalities stillworksperfectlyfineifoneoftheservicesare downduetosome
technical problems. The SOA also allows the system to easily add or remove the features
within it becauseeach ofthe feature wasdeployedintheformofindependentserviceswhich

doesntaffectothersservices.

13. Feasibility Study

13.1 Market Feasibility


Porfectisbelievedtooccupyastrongpositioninthecurrentmarketplacebecauseithas
extraoutstandingfeaturesthatwillbeabletoprovideitwithacompetitiveedgeinthe
professionalnetworkportfoliositesfield,asshownintable1.0.

Table 1.0 shows the features comparisons for the Porfect web application with other
similar competitors.

13.2 Technical Feasibility


Thesystemistechnicallyfeasiblebecausethesoftware,hardwareandtechnicalexpertiseare
available to develop, purchase, install, and operate thesystematthecurrentmoment.These
technicalrequirementareasfollows:
Hardwares
DesktopComputers,ServerMachines
Softwares
LinuxOS,MacOSX
PyCharmIDE,AdobePhotoshop,AdobeIllustrator

TechnicalStaffs
WebDevelopers,GraphicDesigners,BackendEngineers

13.3 Financial Feasibility

Cost(RM)

PersonDays

PersonMonths

DevelopmentInvestment

471,185

469

15.6

InfrastructureCost

48,000

Total:

519,185

469

15.6

Table 2.0 shows the total estimated cost of the project in terms of time and cost(RM).

The total cost of project not only estimated in forms of money but also thetime required to
complete the projects as shown in table 2.0. Development Investment included software
development lifecycle management, frontendandbackenddevelopmentforthesoftware.The
costs that are required to purchase the hardwares to operate the system is fall under the
infrastructurecost.

References
Listanydocumentsthatyourreadermaywishtoorneedtoreadinconjunctionwithyour
report.Sincethereportistobewebreadable,includelinkstoreferenceswhenappropriate.

Blog.simcrest.com,.(2015).
Whatis3tierArchitecture:andWhydoYouneedit
.Retrieved28
April2015,from
http://blog.simcrest.com/whatis3tierarchitectureandwhydoyouneedit/
Brown,S.(2013).
SimpleSketchesforDiagrammingyourSoftware
Architecture
.
Methodsandtools.com
.Retrieved18April2015,from
http://www.methodsandtools.com/archive/softwarearchitecturesketches.php
Condo,C.(2014).
5WebApplicationArchitectureResourcesforStudying
.
Codecondo.com
.
Retrieved18April2015,fromhttp://codecondo.com/webapplicationarchitecture/
Dhinakaran,B.(2011).
UserInterfaceProcessComponent
.
Codeproject.com
.Retrieved18
April2015,from
http://www.codeproject.com/Questions/301057/UserInterfaceProcessComponent
Msdn.microsoft.com,.(2015).
Chapter21:DesigningWebApplications
.Retrieved18April
2015,fromhttps://msdn.microsoft.com/enus/library/ee658099.aspx
Wikipedia,.(2015).
Clientservermodel
.Retrieved18April2015,from
http://en.wikipedia.org/wiki/Client%E2%80%93server_model
Wikipedia,.(2015).
SoftwareArchitecture
.Retrieved18April2015,from
http://en.wikipedia.org/wiki/Software_architecture#Architectural_styles_and_patterns
Zhhealthcare.com,.(2015).
Secure,cloudbasedarchitecturewithdisasterrecoveryand
businesscontinuity
.Retrieved18April2015,from
http://zhhealthcare.com/zhopenemrfeatures/cloudbased/

You might also like