Software Engineering: A Challenge of Designing A System: Nguyen Trung Dang Thuy s3509547

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

SoftwareEngineering:AChallengeof

DesigningASystem
NguyenTrungDangThuys3509547

Abstract
Softwareengineeringistheprocessofproducingapieceofsoftware.Itincludes
gatheringrequirementsfromtheclients,analysinganddesigningtheframework,
implementingandmaintenancethesoftwareafteritsrelease.Thisstudywillshowoneof
manychallengesthatsoftwaredevelopersfacewhenenteringthe2ndphaseofaproject
andhowwecanpreventthemfromobstructingthedevelopmentprocess.

Introduction
Afterreceivingtherequirementsofthesoftwarefromtheclients,developerscanstart
analysingkeyfeaturesofthesoftware,afterwhichtheystartmappingouthowdifferent
modulesinteractswithinthesoftware.Howeverthisisnotaneasyprocess,ifnotthemost
difficultone.Formanythingsthatcanconflictwitheachotheryetarecloselydependent,
developersmustapproachthiswithagoodworkflowinmind.Oneofthebiggestchallengeis
miscommunicationbetweenteammembers.Thiscouldprovecatastrophicinatraditional
waterfallcontext.Fortunately,withthecontinuingadaptationofmoreadvanceddevelopment
models,theriskofbigmistakeshappeninghaslessened.

Discoveries
AccordingtoareportbyProfP.L.RamtekeandDr.MohammadAtique,thereare
manywaysthatcanhelptheteamcommunicatingmoreeffectively.Thiscanbedoneby
havingeveryteammemberexpressthemselvesclearly.Theyneedtohaveagoodlookat
multipleangles,perspective,havingindepthdiscussionsonhowtoachievetheirgoals.
Moreover,theyneedtobeonthesamepage,fromcodingstylestousingdesignpatterns,in
ordertoobtaintotalconsistency.Secondly,beingtruetothetopicisalsoarequirement.
Thereweremanycaseswheremisunderstandingwhattheclientswantedaffectedgreatlyto
thefinalproduct.MypastprojectwithRMITITSdepartmentwasagreatexample.We
misunderstoodtheinitialobjectivesbeasmallmarginwhichmisledmyteam.Evenifthe
teamhasthoroughlyanalysedtherequirements,designingtheframeworkcanalsobeabig
challenge.InanotherstudydonebyMikaelB.SkovandLarsBoEriksen,throughaseries
ofexperiments,theyveconcludedthatwecannotsimplylookatthefutureusecontextto
getinformationaboutwhatistobeinthesystem.Wemayidentifyneedsorproblemsinan
applicationcontext,butthesewillnotnecessarilyhelpusinunderstandingthesituationtobe
depictedbythesystem.Thismeansthatweneedtolookatthesystemasawhole,what
thesystemisgoingtoencounterdoesnotfullyhelpusunderstandhowdifferentparts

interactwitheachother.Forexamplewemayknowwhatanairspacecontrolsoftwarewill
do,buttofigureouthowtodesignsuchasystemisnotaneasytask.Weneedtoidentify
whichdoeswhat,howtheydependononeanother,howthehierarchyofdifferentclasses
andfunctionslookslike,etcIhavealsofoundoutthat,bycriticallyanalysingthe
aforementionedconclusion,thattherewillcomeapointwhennomorestepbystepdesign
procedurescanbemade.Theremustbeabigenginepartthatneedstobeinstalled.
Otherwisetheprojectcannotadvance.Thisiscoincidentallythemostimportant,yetfeared
byalldevelopers.Toaddtothis,differentlayersofcommunicationcancomplexifythiswhole
process.LikethosewithaGraphicalUserInterface.Notonlywehavetoconsiderthelogic
behindtheinternalcodebutalsohowtheinterfacecancommunicatebetweensubsystems
andamongotherinterfaces.Thiscanbeseenmostclearlyinthecaseofeventhandlersin
UserInterfaceprogramminginJava.Situationslikeonecannotcallanexternalobjectdueto
thefactthatitsaninlinedobjectdeclaration,orwiththeadditionofmultithreadingclasses
makesitevenmoreentangled.

Tools
Sohowdowedealwiththesedifficulties?Asmoreandmoresoftwarecapableof
aidingdevelopers,onemustnottotallyreliesonthem.Thekeytosuccessisgood
communication.Sosimplesolutionslikehavingperiodicmeetings,discussproblems
thoroughlyonboards,documentsallideas,designs.Wecan,however,makeuseofall
technologywecanget.Onlineconferences,onlineversioncontrol,onlineteam/project
managementsystems,emails,calls,digitalnotes,etcTherearemanyfreeservicethatwe
canuse.GoogleMail,GoogleDrive,GoogleHangout,Trello,Github,Skype,tonameafew.
Theseservices,whenusecorrectlytogether,canproveextremelyvaluable.Theyareso
effectivethatbigcompaniessemployeesusethemonadailybasis.

Conclusion
Thisisanimportantphaseofsoftwaredevelopment.Thusweneedtopaymore
attentiontoitthanever.However,thiscannotbesolvedsolelyonasinglepieceofsoftware
ortechnology.Butratherthemethodofexecutionbythedevelopersthemselves.

References

M.B.SkovandL.B.Eriksen,EvaluatingSoftwareEngineeringModelingConcepts
intheContextofNarrativeSystemsDesign.
<http://people.cs.aau.dk/~dubois/papers/EriksenSkovOOAMM.pdf>

P.L.RamtekeandM.Atique,SoftwareEngineeringChallenges:ACaseStudy,
Mar.2002.
<https://www.researchgate.net/publication/228975715_Software_Engineering_Challe
nges_A_Case_Study>

You might also like