Systems Engineering. Analyse. Design. Implement. Delivery of product. Test. Time

Size: px
Start display at page:

Download "Systems Engineering. Analyse. Design. Implement. Delivery of product. Test. Time"

Transcription

1 RobinSharp SoftwareDevelopmentProjects DepartmentofInformationTechnology,DTU September2000 JensThygeKristensen Contents 1Introduction 2PhasesofaProject 2.2RequirementsAnalysis ModellingandDesign ModelsoftheSoftwareDevelopmentProcess Implementation SystemTest ProjectManagement 3RolesinaProject 4.1ActivitiesandActivityScheduling RiskManagement SoftwareProjectDocumentation 4.3ProjectRecords Goalsfordocumentation Thestructureofthedocumentation Presentationrules Terminology Theuser'smanual Typography Languageandstyle Sourceprograms References

2 1INTRODUCTION 1 Introduction 2 ThesenotesgiveashortintroductiontoSoftwareEngineeringasitisusedinsoftware developmentprojectsofmoderatesize.softwareengineeringisthedisciplinewhichdeals notlivinguptheusers'expectations.thetechniquesdescribedinthesenoteshavebeen softwaresystemscommonlyhavehighinherentcomplexity,afactwhichoftenleadsto softwareproductshavingdefectivefunctionality,beingdeliveredlateorinotherways withthespecication,developmentandevolutionofsoftwaresystems.evenquitesimple developedovertheyearstohelpdeveloperscontrolthiscomplexityinamannerwhichleads tothedevelopmentofreliableproductswhichcorrectlyreectthecustomer'srequirements. Thenotesfallintotwomainparts.Intherstpart,weconsidertheactualprocessof sometechniquesusedformanagingprojects,inthesenseofplanningandmonitoringthe secondpart,weconsidersomeaspectsofsoftwareprojectswhicharemoreorientedtoward management:therolesplayedbythevariousparticipantsorstakeholdersinaproject,and carryingoutadevelopmentproject,itsphases,andtheresultsfromeachofthese.inthe useofresources. ThesenoteshavebeenwrittentohelpparticipantsintheInformaticsProjectscourse duringtheirsecondyearofstudyatdtu,butwehopetheywillbegenerallyusefulas thereareanumberofexcellentbooksonthistopic.weparticularlyrecommendthelatest ashortintroductiontothesubject.forthereaderinterestedinfurtherreadingmatter, (Sixth)editionofIanSommerville'sbook\SoftwareEngineering"[Som01]. 2Softwaredevelopmentisanengineeringprocess,andsoftwareprojects{likemostengi- neeringprojects{fallnaturallyintophases,eachofwhichfocussesonaparticularaspect PhasesofaProject ofthedevelopmentprocess.fourphasesareusuallyidentied: Requirementsanalysis:Theobjectivestobemetbythesoftwaresystem(togetherwith itshardwareplatform)aredenedincollaborationwiththeintendedusersofthe Modellinganddesign:Startingfromtherequirementsspecication,the\realworld" byallparticipants. system. conceptsemployedbytheusersareexpressedintermsofmathematicalmodelsor otherabstractdescriptions,andthecomponentsofthesoftwaresystemareidentied Theresultofthisphaseisarequirementsspecicationdocumentwhichisapproved andtheirfunctionalitiesspecied.

3 2PHASESOFAPROJECT 3 Implementation:Thecomponentsofthesoftwaresystemidentiedinthedesignspeci- uallytocheckthateachcomponentcorrectlyimplementsthefunctionalityrequired projectmanagement. cationareimplementedinanexecutableprogramminglanguageandtestedindivid- Theresultofthisphaseisadesignspecicationdocumentwhichisapprovedbythe ofit. Theresultofthisphaseisasetofcodemoduleswritteninthechosenprogramming Systemtest:Theindividualprogrammodulesareintegratedintoacompletesystem, workingofeachmodule. whichisthentestedtocheckthatoverallsoftwarerequirementshavebeenmet.this theresultsoftheindividualtests,andtechnicaldocumentationdescribingtheinternal issometimesknownasexternaltest,asthesystemistested\fromtheoutside", withoutregardforitsinternalstructure. language,atestschemeforeachmodule,statinghowithasbeentestedandgiving havebeencarriedoutandwhattheresultswere. industry,furtherphasesareadded,suchas: Moststudentprojectsmakedowiththefourphasesdescribedabove,butinprojectsin Weshalldescribethesephasesinmoredetaillaterinthesenotes. Theresultofthisphaseisatestschemefortheentiresystem,statingwhichtests Deployment:Thesystemissetinoperationontheuser'ssystemanditsacceptabilityfor Maintenance:Afterdelivery,manysystemsundergomaintenance,duetoaneedto: acceptancetest,wheretheusertakesoverthesystemasacorrectlydelivereditem{ andpaystheagreedsumtothesupplier. theintendedpurposeischecked.thisphasemayresultinaformal,legallybinding Correcterrorsinfunctionalitywhichdidnotbecomeapparentduringearlier Softwarecompaniesoftendiscoverthatmaintenanceisanexpensiveandtime-consuming Extendormodifyfunctionalityduetonewuserrequirements. Adaptthesoftwaretoanewhardwareorsoftwareenvironment. phases. Finally,itmustbenotedthatthephasesdescribedaboveonlyrefertosoftwaredevelopment.Inmanyprojects,theRequirementsAnalysisandDesignphasesincludeelementsof SystemsEngineering,inwhichdecisionsaremadeastowhichelementsofthetotalsystem areinfacttobeimplementedinsoftware.theremainderofthesystemthenconsistsof latertosomethingswhichcanbedonetoreducethisburden. phase,whichtakesresourcesawayfromimportantnewdevelopment.weshallreturn software,andassumethatthesystemsengineeringtaskhasbeencarriedout. hardware,existingcollectionsofdata(indatabasesorthelike),peopleperformingvarious functions(withorwithouttheuseofcomputers)andsoon.althoughinsometypesof systemthiscanbeveryimportant,weshallconcentrateinthesenotesonthedesignofthe

4 2PHASESOFAPROJECT 2.1 ModelsoftheSoftwareDevelopmentProcess 4 Thereareseveralacceptedparadigmsfortheprocessofsoftwaredevelopment,inwhich thephasesdescribedaboveareexploitedindierentways.theseareoftencalledmodels model,thephasesofrequirementsanalysis,modelling/design,implementationandtest aredealtwithasalinearsequenceofactivities,sothatworkonphasenstartswhenwork ofthesoftwarelife-cycle.inthesimplestmodel,knownasthewaterfallorlinearsequential onphase(n 1)hasbeensuccessfullycompleted.ThisisillustratedinFigure1. Systems Engineering Analyse Design Implement Test Delivery of product Thewaterfallmodelisaclassicalmodelofsoftwaredevelopmentderivedfrommodels usedinotherbranchesofengineering,andwasrstdescribedin1970byroyce[roy70]. Figure1:Thewaterfallmodelofsoftwaredevelopment Althoughitiswidelyused,ithasattractedagooddealofcriticism,asitdoesnot(at Time developmentprocess.aparticularproblemisthatitimpliesthatthespecication,once agreedon,isfrozen.ifanerrorisdiscoveredduringsystemtest,correctionsaretherefore madetotheimplementationratherthanthedesign.thismaybetheidealstateofaairs, leastinthesimpleformillustratedhere)describetheessentiallyiterativenatureofthe modelsthereforeoftenincorporateprocedureswhichallowformoreexperimentation. experiencetonalisethedesignbeforeattemptinganimplementation.modernlife-cycle butitisnotalwaysaverypracticalstrategytouseincomplexsystemsorinsystemswhich arebasedonquitenewprinciples,sincethedevelopmentteammaysimplynothaveenough onthefollowingpage.thisisanexampleofanevolutionarymodelwhichreectstheidea ThesimplestexampleofthistypeofmodelistheincrementalmodelillustratedinFigure2 thatasoftwareproductisproducedinanumberofversions,eachofwhichisastepwise improvementonthepreviousversion.forexample,itmaysolveamorecomplextask,

5 2PHASESOFAPROJECT 5 Systems Engineering Analyse Design Implement Test Delivery of 1st increment Increment 2 Analyse Design Implement Test Delivery of 2nd increment Delivery of Increment 3 Analyse Design Implement Test 3rd increment includemorecompletefacilitieswithinthegivenproblemdomain,oeramoreinteresting Figure2:Theincrementalmodelofsoftwaredevelopment... Analyse userinterfaceorwhatever.thedevelopmentofeachversionorincrementfollowstheusual sequenceofphases,witheachincrementstaggeredintimewithrespecttothepreviousone, Time sothatexperiencefrompreviousdesignscanbeincorporatedintothenewdesign.inthe gure,eachnewincrementstartssometimeduringthedetaileddesignphaseoftheprevious increment,butthedelaymayinsomecasesbemuchlarger,sothatdevelopmentofthe newincrementdoesnotstartuntilthepreviousincrementhasbeendelivered.insuch cases,thedevelopmentmodelbeginstoresembletheprototypingmodeltobedescribed next. iterativeformillustratedinfigure3.ineachiteration,thedevelopmentteamdiscuss theyareunabletoreachagreementonanalspecicationwithoutseeingthesystemin actionandevaluatingitsbehaviour.theentiredevelopmentprocessthentakesonthe Inaprototypingmodel,allthestakeholders(theusersandthedevelopers)recognisethat implementationandtest.theusersarethenaskedtoevaluatethesystemandtosuggest changes,whichresultsinarevisedsetofrequirements,whicharethenturnedintoadesign, implementedandtested.thiscyclicprocedurecontinuesuntiltheusersaresatisedwith withtheuserswhatthesystemistodo,andgothroughtheusualphasesofdesign, Prototypingreliesontheavailabilityofspecicationandimplementationtoolswhichpermitrapidimplementation,andthismodelistypicallyemployedinsoftwaredevelopment environmentswhereveryhighlevelprogramminglanguages{suchasfunctionallanguages andlogicprogramminglanguages{areused.thisreectsthefactthatsoftwaredevelop- thefunctionalityofthesystem. menttimeismoreorlesslinearinthenumberoflinesofcodetobewritten.soahigh-level

6 2PHASESOFAPROJECT 6 Design Implement Analyse Test Evaluate language,whichmakesitpossiblefortheprogrammertoexpressabstractideasveryconcisely,givesashorterdevelopmenttimethanalow-levelone.sincethemainideaisto Figure3:Theprototypingmodelofsoftwaredevelopment (Re-) Delivery of Test Implement final product agreeontheintendedfunctionalityofthesystem,eciencyisnotusuallyanimportant Thisisindicatedbythedashedboxesinthegure. subsequentlyviaa(re-)implementationinamoreecientprogramminglanguage,developmentofbetteralgorithms,ortheuseofhardwareplatformswithincreasedperformance. issuewhenprototypingisused.ifamoreecientversionisrequired,itwillbedeveloped Althoughprototypingsoundslikeanidealwaytoensurethattheusers'wishesaregenuinely reectedinthedesign,itinfactoftengivesrisetodisagreementsbetweenthedevelopment teamandtheusers.thisisbecausetheusersmaybelievethattheyhaveseenthereal productinoperationandarethusstronglydisappointedtohearthattheyhavetowait fordeliveryofaversionwhichcanbeusedinpractice.managersofteamswhichuse prototypingtechniquesneedtoexplainthiscarefullyatthestartoftheproject. 2.2 ThepurposeoftheRequirementsAnalysisphaseofsoftwaredevelopmentistoproducea cleardescriptionofwhattheusersrequirefromthenalsystem.theessentialquestionto beansweredatthisstageiswhatisthesystemtodo?itisimportantnottotrytothink abouthowthesystemistodothis;thisisamattertobeconsideredinthedesignphase. Veryoften,thecustomerinitiatestheprojectbyproducingaroughdescriptionofthe

7 2PHASESOFAPROJECT requiredproduct.thetaskofthedevelopmentteamistoaskrelevantquestionswhich7 enablethemtoturntheseroughideasintoamoredetailedandprecisedescriptionofwhat thesystemistodo.thisisnotaneasytask.almosteverybodyhasheardaboutcomputer systemswhichdonotfullthecustomer'srequirements.commonreasonsforthisare: EssentialquestionswerenotaskedduringtheRequirementsAnalysisphase. Therequirementswereformulatedintooimpreciseamanner. Thequestionswereputtothewrongpeople. Therequirementscontainedtoomanylow-leveldetails,makingitimpossibletoget thesystemissupposedtodo,withouttalkingtothestawhowillactuallyusethesystem. Awell-knownrecipefordisaster,forexample,istoaskthecustomer'stopmanagerswhat anoverallgraspoftheproblem. Requirementsareoftendividedintotwoclasses: reectthewayinwhichdataareactuallygatheredandusedinthecustomer'scompany. Notonlyisthispoorpersonnelpolicy,italsooftenresultsinasystemwhichdoesnot Functionalrequirements:Thesedescribethefunctionalityofthesystemandtheservicesitmustprovide,thesortofinputitmustdealwith,theformandappearance oftheoutputandsoon. Non-functionalrequirements:Thesedescribeconstraintsonthewayinwhichthesystemmustoperate,suchastimeandspacerequirements,easeofuse,securityrequirements,requirementswithrespecttohardwareorsoftwareplatform,standardstobe Thedivisionissomewhatarticial,sincerequirementswhichtotheuserappearnonfunctional(say,withrespecttosecurity)maytotheimplementorappearfunctional(the followedandsoon. thestyleoffeaturessuchashelpfunctionsanderrormessages.butthisclassicationisa systemmustoerfacilitiesforuserauthentication).likewise,easeofuseisregardedas usefulwayofstructuringthediscussionaboutwhatisrequired. anon-functionalrequirement,butstronglyinuencesthedesignoftheuserinterfaceand ThekeywordsforRequirementsAnalysisarecompletenessandprecision.Toensurecompleteness,youarerecommendedtomakeuseofachecklistoffunctionalandnon-functional requirementswhichneedtobegathered.forthefunctionalrequirements,youneedtomake surethatyouunderstand: Theconceptswhichareusedintheproblemwhichthesystemistosolve. Themodeofoperationofthesystem:interactive,batch-oriented,etc. Thesourceandformoftheinputdata:numerical,text,fromadatabase,fromale, Thefunctionstobeperformedbythesystemusingthesedata. viaanetwork,etc.

8 2PHASESOFAPROJECT Thedestinationandformoftheoutputdata,analogoustothedescriptionforinput 8 Thewayinwhichthesystemistoreacttoerrorsinthedata:(user-friendly)error data. Forthenon-functionalrequirements,alongerchecklistisrequired,forexamplebasedon exception,etc. messages,replacementoffaultydatabydefaultvalues,stoptheprogramwithan thetaxonomyshowninfigure4. Non-functional requirements Product Organisational External requirements requirements requirements Usability Efficiency Reliability Portability Interoperabilty Ethical Legislative requirements requirements requirements requirements requirements requirements requirements Delivery Implementation Standards requirements requirements requirements Themainclassesare: Figure4:Classicationofnon-functionalrequirements(after[Som01]) Performance Storage Privacy Safety requirements requirements requirements requirements Productrequirementsspecifyingthebehaviouroftheproduct,includingitsperformance,reliability,easeofuseandportabilitybetweenplatforms. Organisationalrequirementsderivedfrompoliciesandworkproceduresusedbythe Externalrequirementscoveringeverythingwhichisdictatedbyfactorsexternaltothe customerandthedevelopers,includingthelanguageofimplementation,platform (hardwareandoperatingsystem),standardsornormstobefollowed,deliveryschedulefortheproductanditsdocumentationandsoon. relatedtohowthesystemmayaectsystemsownedbythirdparties(interoperability stakeholders'organisations,suchaslegalandethicalrequirements,andrequirements Youshouldaimasfaraspossibletospecifyrequirementsintermsofquantitieswhichcan bemeasured,sothatitislaterpossibletoverifythattherequirementsaremet.table1 requirements). onthefollowingpageshowsometypicalmetricsusedforthispurpose. project,therequirementsareoftendescribedinnaturallanguage,sothatthecustomercan Alltherequirementsarecollectedupintherequirementsspecication.Atthisstageofthe

9 2PHASESOFAPROJECT ClassofrequirementTypicalmetrics 9 Speed Size Numberoftransactionspersecond Responsetimetouserinput Easeofuse Timetorefreshscreen Mbytesofstorerequired Reliability Gbytesofdiscspacerequired Daysoftrainingtime Numberofhelpframes Robustness Meantimetofailure(MTTF) Rateoffailureoccurrence Portability Availability Timetorestartafterfailure Percentageofeventscausingfailure Table1:Metricsfornon-functionalrequirements Numberoftargetplatforms mul,wheneverpossible.obviouslythisiseasierifthecustomersaretechnicallyminded! understandthem.however,naturallanguageisacommonsourceofmisunderstandings, andeveryeortshouldbemadetousemoreprecisenotations,suchasmathematicalfor- 2.3 IntheModellingandDesignphaseofasoftwaredevelopmentproject,afullspecicationis developedforthesoftwaresystem,sothatitcanbeimplementedasanexecutableprogram Modelling:Developmentofamathematicalmodelorotherabstractdescriptionofthe inthefollowingphase.asthenamesuggests,thisphasecanbedividedintotwoparts: Design:Identicationofasetofprogramcomponentswhichcanproducethefunctionality \realworld"problemidentiedintherequirementsanalysisphase. identiedintherequirementsanalysisphase,andspecicationoftheinterfaces ingtheightofarocket.theinitialfunctionalrequirementsarethattheprogramshould Asaverysimpleexample,letusconsideraprojecttodevelopasmallprogramforsimulat- whichtheyoertooneanother. provide:

10 2PHASESOFAPROJECT 1.Aninteractiveuserinterfaceforinput,atwhichtheusershouldbeabletoprovide 10 2.Agraphicaluserinterfaceforoutput,onwhichthepositionoftherocketrelative capacityofarocket. asetofdatadescribingtheinitialmass,thrust,fuelconsumptionandfuel 3.Thepossibilityofsimulatingseveralrocketightswithdierentsetsofinputdata passes,thepositionbeingevaluatedforevery100msofthesimulatedight. duringasinglerunoftheprogram. toitsstartingpointcanbeseeninatwo-dimensionalcoordinatesystemastime Asanon-functionalrequirement,thecustomerdemandsthatthepositionoftherocketin thegraphicaloutputshouldinfactbeupdatedonthescreenevery100ms,sotheuserof theprogramcanfollowasimulationoftherocket'sightinrealtime. A(somewhatsimplied)mathematicalmodelfordescribingthisproblemcouldbethe followingdierentialequationdescribingtheequationofmotionoftherocket: rocketand~vitsvelocity,allofwhicharefunctionsoftime,t.itisnotthepurposeofthese where~fisthethrustoftherocket,~gtheaccelerationduetogravity,misthemassofthe ~F+~gm=ddt(m~v) deriveanexpressionforthepositionoftherocket,~x,asafunctionoft. notestodiscusshowtosolvethisequationindetail,butifyouhavejustanelementary knowledgeofthedierentialcalculusyouwillrealisethatthisequationcanbeusedto Justintroducingthismodelalsointroducesanotationforseveraloftheconceptsmentioned decidehowtheseconceptsaretobeexpressedintermsofquantitieswhichmightappear innaturallanguageinthefunctionalrequirementsspecication.thenextstepisthento inaprogramminglanguage,sothattheycanbereferredtointhedescriptionsofthe interfacestothevariousmoduleswhichmakeupthesystem.firstly,weneedtodenethe typesusedtorepresentthesequantitiesintheprogram,forexample: vx,vzreal Fx,Fzreal tname integertimeinunitsof100ms. Type Componentsofvelocityvectorattimet(m/s) Componentsofthrustvectorattimet(Newtons) Description mr0m mf0 x,z Initialmassofrocketwithoutfuel(kg) Massofrocket+fuelattimet(kg) Fuelcapacity=initialmassoffuel(kg) Componentsofpositionvectorattimet(m) andsoon.thenexttaskistodesignsomemoduleswhichperformessential,well-dened functionsinthecontextoftheproblem.forexample,wemightidentifyfunctionswiththe fuelc real Fuelconsumptionofrocket(kg/s) followingtypes:

11 2PHASESOFAPROJECT typethrustvec 11 typevelocityvec=(real*real) typepositionvec=(real*real) typemass typeconsumption=real typetime simstep: input_rocket:unit->mass*thrustvec*consumption*mass positionveclist*velocityvec*thrustvec*mass*time-> =int output_orbit:time*positionveclist->unit Thesetypesandsignatureshavebeengiveninafunctionalprogramminglanguage,inthis casesml.westronglyrecommendyoutofollowthispractice,sothatthelogicaldesign input_rocket()inputsanewsetofdataforasimulation.theuserispromptedfora thedetailsofimplementation.thepurposeofthesefunctionsisasfollows: oftheprogramcanbecompletedatahighlevelofabstractionbeforeattentionispaidto theinitialmassoffuel,asprovidedbytheuser. newsetofdata,andthefunctionreturnstheinitialmassoftherocketwithfuel,apairof simstep(pvl,v,f,m,t)takesalistofpositionvectors,pvl,whoseheadisthelatest realvaluesgivingthexandzcomponentsoftheinitialthrust,thefuelconsumptionand thesequantitiesattheendofthenextsimulationintervalof100ms.thenewvaluesare (current)positionvector,togetherwiththecurrentvelocityvector,v,thecurrentthrust vector,f,thecurrentmass,m,andthecurrenttime,t,andreturnsthevaluesofall assumedtobeevaluatedbymakinguseofthedierentialequation.thenewposition vectorisappendedattheheadofthepositionvectorlist. rocketuptothegiventime,asdescribedbythesequenceofpositionsinthelist. isthelatestpositionvector,andupdatesthegraphicalinterfacetoshowthepathofthe output_orbit(t,pvl)takesatime,t,andalistofpositionvectors,pvl,whosehead asimulationisperformedcorrespondingtoanumberofsimulationintervalsof100ms, Thesefunctionsneedtobecontrolledbyamainprogramwhichcandealwithoneormore ightsimulations.ineachsimulation,asetofinputdataisobtainedfromtheuser,and startingfromtheinitialpositionx=z=0withvelocity0,andcontinuinguntileitherthe tobeusedbytheuserforthispurposeneedstobespecied.weshallnotgointofurther detailshere. rocketlands(zbecomes0again)orthesimulationisabortedbytheuser.themechanism Thedesignsoftheuserinterfacesforinputandoutputarealsocompletedatthisstage,and thedevelopmentteammightdecidethattheoutputfortherocketsimulationprogram includedinadesignspecicationsothatthecustomerscanapprovethem.forexample,

12 2PHASESOFAPROJECT 12 Position z (km) Time= s shouldlookasshowninfigure5.thisgureshouldbesupplementedwithannotations Figure5:Exampleofgraphicalinterfacedeterminedduringdesignphase whichexplainwhatthesignicanceofthetextandnumericaleldsinthediagramis,and wheretherelevantdatacomefromintheprogram{i.e.whichvariablestheygivethe Position x (km) valuesof,orhowtheyarecalculated.forexample,thevaluegivenforthetimeatthe topleftcornerofthegureisthevalueofthecurrenttimeinseconds,evaluatedfromthe internalquantitygivingthetimeinunitsof100ms.similarly,thesizeoftheoutputin Someofthesedecisionsmaymeanthatthedevelopmentteamneedtoaskthecustomerfor relationtothepageorscreenmustbespecied{foragraph,forexample,rulesforscaling theaxestosuitthesizeofthecurvemustbegiven. moredetailsaboutwhatisrequired.thisisquiteacceptable.whatcannotbeacceptedis ifthedevelopmentteamomittoaskthecustomeraboutmatterswhichtheyareindoubt about,andjustmakesomekindofarbitrarydecision{\theyprobablywanteditlikethis" or\we'lljustdoasweusuallydo". Exercise:Severalofthedesigndecisionsdescribedintheprevioussectionwerenot actuallyspeciedintheoriginalfunctionalspecication,asgivenonpage10.listthese decisions.suggestfurtherquestionswhichitwouldhavebeennecessarytoputtothe 2.4 customerinordertocompletethefunctionalandnon-functionalrequirements. IntheImplementationphaseoftheproject,thesoftwarecomponentsspeciedduringthe ModellingandDesignphaseareimplementedinsomesuitableprogramminglanguage. Implementation Thelanguagemayalreadyhavebeengivenasanon-functionalrequirementduringthe

13 2PHASESOFAPROJECT RequirementsAnalysisphaseorbeselectedatthestartoftheDesignphase.Ifnot,itis 13 decribesthesoftwarecomponents,theirinterfacesandthewayinwhichtheyinteractwith chosennow. SinceweassumethattheModellingandDesignphaseendsupwithaspecicationwhich oneanother,itshouldbeclearthattheimplementationphasejustinvolvesdeveloping correctcodeforeachcomponent,inordertoachievethedesiredfunctionality.toputit anotherway:thedesignphaseendswithdescriptionsofthecomponentsviewedasblack boxes,whileintheimplementationphasetheinternalmechanismsoftheseblackboxesare determined. equation.thedetailsofthiswilldependonhowaccuratetheresultisrequiredtobe{yet Thisisclearlyseenintherocketexample,wherethefunctionsimstepevaluatestheposition,velocity,thrustandmassattheendofthenextintervalof100msofsimulatedight anotherexampleofanon-functionalrequirementwhichthedevelopmentteamwillhaveto time.todothis,itisnecessarytodevelopasuitablealgorithmbasedonthedierential askthecustomerabout. theinformationcorrespondingtothemovementwhichhastakenplaceinthemostrecent orwhetherthepreviouspositionswillberemembered,sothatitisonlynecessarytoadd Similarly,intheimplementationofoutput_orbititisnecessarytodecidewhetherthe intervalof100ms.thisagainwilldependonthenatureofthefacilitiesavailablefor entirelistofpositionvectorsistobeplottedonthegrapheachtimethefunctioniscalled, themtodesignadditionalmodulesforthispurpose. thedevelopmentteamwillevenhavetodevelopthesefacilitiesthemselves,whichmaylead plottinggraphsintheprogrammingenvironmentchosenfortheimplementation.maybe Foraninexperiencedprogrammer,thisphaseisthebiggestchallenge.Fortheexperienced softwareengineer,ontheotherhand,itisusuallythephasewhichrequiresleasteort, sincetheexternalconditionsforallofthemodulesaregiven. Ausefulprincipletofollowduringimplementationisthatoftraceabilityofconcepts.In orlessformal)designspecicationshouldalsoberecognisablypresentinthecode.itis otherwords,conceptswhichappearedintheinitialrequirementsandlateroninthe(more andconfusingintherocketightsimulatorsuddenlytoletthetimebegivenbyaquantity notagoodideatointroducecompletelynewnotationorideasatthisstageortochange thingsradicallyinrelationtowhatwasplanned.forexample,itwouldbeinappropriate notjustbeallowedtodisappearinthenalimplementation. AnimportantaspectoftheImplementationphaseistestingofthemodulesastheyare oftypereal.similarly,conceptswhichhavebeenreferredtointhespecicationshould unitbasedonknowledgeofhowitworksinternally.atypicalaimistocheckthatallpaths developed.thisisaso-calledinternaltest,inwhichthedeveloperstestouttheprogram throughthemodulehavebeenactivatedandworkinaccordancewiththeirspecications.

14 2PHASESOFAPROJECT Thisisoftenknownasapathtest.Eachtestcaseinapathtestusesasetoftestdata 14 whichwillcauseexecutionoftheprogramunittofollowaparticularpaththroughthe whichforeachtestcasespecies: Thepurposeofthetestcase,i.e.whatthetestisintendedtodemonstrate,whichin pathtestingwilldescribethepathtobefollowed. code.thetestsperformedforeachmodulearedocumentedintheformofatestscheme, Theexpectedresultfromthetest. Toperformsuchasetoftestsonaprogrammodule,themodulemustbeinsertedina Thetestdataactuallyused. smalltestprogramwhicheitherobtainsinputfromthepersonrunningthetestorfroma Theresultobserved,andwhetherthisisinaccordancewithwhatwasexpected. withtheprogrammoduleinthedocumentationdeliveredattheendoftheimplementation leoftestdata,orwhichgeneratestestdataautomatically.thetestschemeisincluded phase. 2.5 ThenalphaseinanydevelopmentprojectistheSystemTestphase,whoseaimisto checkthatthecompletesystemoperatesinaccordancewiththeagreedspecications.the functionscorrectly,andthatitalsofullsitsnon-functionalrequirements,totheextent thatthesecaninfactbetested{thisisobviouslydicultforethicalrequirements,for systemisassembledfromitscomponents,andistestedasawhole,withoutregardforits example! internalstructure.theaimistocheckthatthesystemcanperformallofitsintended AsinthecaseoftheinternaltestsofindividualmodulesperformedduringtheImplementationphase,thedevelopmentteammustworkoutatestscheme,whichforeachtestcase species: Theexpectedresultfromthetest. Thepurposeofthetestcase,i.e.whatthetestisintendedtodemonstrate. Thepointofhavingsuchatestschemeisthatitmakesitpossible,ifthesystemismodied Thetestdataactuallyused. orerrorsaredetectedatalaterstage,toseewhichtestswereoriginallyperformedonthe Theresultobserved,andwhetherthisisinaccordancewithwhatwasexpected. Inprinciplethetestschemeshouldincludesucienttestcasestoexercisetheentirefunctionalityofthesystem.Inpracticethisisofteninfeasibleduetothesystem'scomplexity, systemandtorepeatthemifnecessary.

15 3ROLESINAPROJECT andchoiceshavetobemade.ifthisisthecase,youshouldrememberthatitismore 15 importanttotestthefunctionswhicharecommonlyusedthanthosewhichareonlyused rarely. 3Exceptincaseswhereasinglepersonperformsaprojectforhisorherownenjoyment, RolesinaProject ndhim/herselftakingonseveralroles,whileinlargeteamsseveralpeoplemayplaythe organisationorexecutionoftheproject.inprojectswithfewparticipants,onepersonmay correspondstoa\logicalperson",whoperformssomekindoffunctionrelatedtothe projectsinvolveanumberofdierentpeople,whotakeoncharacteristicroles.arole samerole. Thecustomer:Thecustomeristhepersonororganisationwhoshouldbenetfromthe Wecancharacterisethetypicalrolesinasoftwaredevelopmentprojectasfollows: resultofthesoftwareproject.customersare(normally)characterisedbyspeakinga non-technicallanguage,usingconceptswhicharecharacteristicfortheproblemarea inwhichtheywork.often,thecustomerhasverydiusewishes,andexpressesbasic Theexecutive:Thisisthepersoninthesoftwaredevelopmentorganisationwhocontrols materialwhichheorsheprovides.inthenalanalysis,thecustomerdenesthe andimportantdemandsinanimplicitmanner\betweenthelines"ofthewritten wantstobeinformedaboutthestatusoftheproject,itshistory,andtheplansfor thesettingoftheproject,andcanadjusttheavailableresources.theexecutiveoften overallresourceswhichcanbeexpendedontheproject. Thedesigner:Thedesignerisresponsibleforunderstandingthecustomer'sdemands howitisexpectedtodevelop.theexecutiveismainlyinterestedinexpressingthings withrespecttotheresultoftheproject.aftergainingthatunderstanding,the intermsofcostsandearnings,whereastheinternaldetailsoftheprojectareoflittle designermusttransformthedemandsintoaconceptualframedescribingthefunctionalityinanimplementableway.thusthedesignermustbeabletohandleboth theconceptsusedbythecustomerandthetechnicalconceptsusedinsoftwaredevelopment.thismeansthattheroleofthedesignerneedstobelledbyavery interest. Theprogrammer:Theprogrammerhastounderstandthedesigner'sdescriptionofthe experiencedpersonwhoisbothcreativeandsystematic. Essentially,thedesignerbuildsthebridgefromtherequirementsspecicationtothe designspecication. intendedresultoftheprojectandtotransformthatdescriptionintosourcecodethat realisestheproduct.

16 3ROLESINAPROJECT Itisalsotheprogrammer'sresponsibilitytoverifythatthefunctionalityofthesource 16 codewhichheorshewritesisthesameasthatdescribedbythedesigner.this wholesystem.thisrolealsodemandsacertaintalentforself-discipline,sothatthe programmer'screativitystayswithinthelimitssetbythedesigner.otherwisethe vericationisdonebyappropriatetesting,asdescribedabove. workoftheprogrammercouldchangetheprojectresultinanunwanteddirection. Itisanadvantagetotheprogrammertohaveinsightintotheinternalstructureofthe Thebookkeeper:Thebookkeeperkeepstrackofallthematerialcreatedduringthe Theprogrammermustdoapuretransformationoftheproductdescribedbythe dierentphasesoftheproject,registerstheresourcesused,andkeepstrackofthe degreeofcompletionoftheproject. designerintoaworkingpieceofsoftware. Thecomptroller:Thisisthepersonwhoensuresthattheresultoftheprojectiswhatthe Thebookkeeperalsohastostoretheitemsproducedinallphasesoftheprojectin suchawaythattheycanalwaysberetrieved,andsothatallparticipantscanalways ndinformationaboutthecurrentstatusofthevariousparts. whicharecarriedoutduringthephasesoftheproject.hemustensurethatfunctions requiredbythecustomerdonotjust\disappear"andthatunwantedfunctionsare oftheproductiskeptinvariantthroughoutthevarioustransformationprocesses customerhasordered.sothejobofthecomptrolleristoensurethatthefunctionality involvedkeepupagoodteamspirit. oftactanddiplomacy,sothedevelopmentprocessstaysontrackandthepeople Thecomptrollerhastocombineagoodoverallgraspofthesystemwithagoodsense notintroduced. Theprojectleader:Theprojectleadermustensurethateveryoneperformsinaccordancewiththeirroles,anddistributesthetaskstothecast.Theleadermustsupervisethatthetasksarecarriedoutwithinthelimitstoresourcesgivenbythe executive,andifnecessarytransferresourcesbetweentasks. Thisroledemandsagoodknowledgeofhumannature,inordertokeepapleasant Instudentprojects,wherethedevelopmentteamtypicallyconsistsofoneortwostudents, atmosphereamongtheparticipantsinvolvedintheproject,whomtheprojectleader thecustomeristhepersonwhoposestheproblem,whileseveraloftheotherrolesmaywell mustprotectfromdirectcritisismfromtheouterworld. decisionabouttherunningoftheproject,whilethenextdayheorshereturnstobeing sothatdecisionscanbemadeinarealisticmanner.forexample,oneofthedevelopment teammayputtheprojectleaderhatonfromtimetotime,inordertomakeastrategic beplayedbythesameperson.nevertheless,itisimportanttobeawareofalltheseroles, anordinaryprogrammer,inordertogetonwiththeimplementation.togetabetteridea aboutprojectmanagement,youshouldtrytomakesurethatyourealisewhichroleyou topicinthenextsectionofthesenotes. areplayingwhenevertheprojectteammeettodiscusstheproject.wewillreturntothis

17 4PROJECTMANAGEMENT 4 ProjectManagement 17 Projectmanagementincludesallaspectsofgettingaprojecttorunontimeandwithin theagreedbudget.inthisrespectsoftwareprojectsarenodierenttoprojectswithin otherengineeringdisciplines.ontheotherhand,softwareprojectsarecharacterisedby on,andincreasestheneedforappropriatewrittenmaterialwhichdocumentsprogress. theproductbeingintangible:youcannotseeitdevelopinglikeabridge,anairplaneoreven anitemofcomputerhardware.thismakesitmorediculttokeeptrackofwhatisgoing followingissues: Personnel:Theallocationofpersonneltothedevelopmentteamandtheroleswhich Forprojectsinvolvingcomputersystems,projectmanagementdealsparticularlywiththe Resourcerequirements:Thehardwareandsoftwareneededforexecutionoftheproject individualpeoplearetoplayarespecied. Activityscheduling:Thetimerequiredtocompleteeachactivity,theallocationofpersonneltoactivitiesandthedependenciesbetweenactivitiesaredescribed,anda Workbreakdown:Theprojectisbrokendownintoactivities,andthedeliverablesand milestonesforeachactivityarespecied. isspecied,andpricesanddeliveryschedulesaredetermined. Riskmanagement:Projectrisksareidentied,thelikelihoodoftheserisksarisingis estimatedandcontingencyplansaresetupfordealingwiththerisksiftheyarise. Thismayresultinoneormorealternativeprojectschedulesbeingdeveloped. completescheduleforallactivitiesisworkedout. Intheinitialstagesoftheproject,aplandealingwithallthesepointsisdrawnup.As (whoarebynomeansnecessarilythesameasthedevelopmentteam)aboutprogress.the theprojectprogresses,thedevelopmentteamneedtoreporttothemanagementteam managementteammustlaydownrequirementsforhowthisreportingistotakeplace. WehavealreadydiscussedthequestionofrolesinSection3onpage15.Thedetermination ofresourcerequirementsisarelativelysimplematterandwillnotbediscussedfurtherhere. Thefollowingsectionswilldiscusstheremainingissuesinmoredetail. tomanagetheprojecteectively.withineachactivityitisnecessarytohaveatleast 4.1 Divisionofaprojectintowell-denedactivitiesisanessentialpre-requisiteforbeingable ActivitiesandActivityScheduling onemilestone,whichmarkstheendoftheactivity.eachmilestonemustbecharacterised byaverbalpresentation,apieceofdocumentationorsomeothertangibleitemwhichis tobedeliveredbythedevelopmentteam.arealisticperiodoftimeshouldbesetaside

18 4PROJECTMANAGEMENT forreachingthismilestonefromthestartoftheactivity,andthepersonnelneededfor 18 performingtheactivitymustbeidentied. wherethemanagementteamevaluatetheprogresswhichhasbeenmadeintheproject Amilestoneisaninternalprojectevent,andthematerialwhichisdeliveredisintendedfor themanagementteam.itisoftenagoodideatoassociateeachmilestonewithareview, andcheckthequalityofwhathasbeenproduced.manymethodshavebeenproposedfor checkingsoftwarequality;asimplebuteectivemethodwhichwerecommendtoyouisthe walkthrough.hereoneormorepersons,whohavenotbeendirectlyinvolvedinaparticular peoplewhohaveproducedit.theeectofhavingtoexplainwhatthedocumentation activity,gothroughthedocumentationorprogramproducedduringthatactivitywiththe Somemilestonesmayfurtherbecharacterisedbyadeliverable,whichisanagreeditemtobe meansorhowapartoftheprogramworksisinmanycasestoreveallackofclarityoreven genuineerrors,whichcanthenbeeliminated. projectandthemodelofthesoftwarelife-cyclewhichisbeingused.ifthewaterfallmodel isused,forexample,theminimumsetofdeliverableswouldincludetheuserrequirements deliveredtothecustomer.deliverablesmaybeitemsofdocumentationoractualsoftware modules.thenumberandscheduleofdeliverablesdependsstronglyonthesizeofthe schemesforinternaltestandsystemtestwouldalsobedelivered. Onceactivitieshavebeenidentiedandpersonnelallocated,itbecomespossibletodetermineanactualschedulefortheentiresetofactivitiesinvolvedintheproject.Therearea specication,theactualsoftwareproductandtheuserdocumentation.ifthecustomer numberoftechniques(andassociatedcomputer-basedtools)forndingfeasibleschedules{ requestedfullinsightintothedesign,theinternalprogramdocumentationandthetest Inthegure,activitiesaredenotedbyrectangularboxes,andmilestonesbyovalboxes. andsuchthatthesamepersonnelorotherresourcesarenotallocatedtotwoactivitiesat thesametime.anexampleistheactivitygraphshowninfigure6onthefollowingpage. i.e.schedulessuchthattheactivitiesareperformedwithduerespectfortheirdependencies, Dependenciesaremarkedbyarrows:anarrowfromAtoBmeansthatBdependsonthe completionofa.theheavypaththroughthegraphisthecriticalpath,whoseduration givestheminimumtimerequiredtonishtheproject:55days,inthiscase.delayson Eachactivityinthegraphismarkedwiththeestimatedtimerequiredforitsperformance. anyotherpaththroughthedirectedgraphdonotnecessarilydelaythecompletionofthe project.toolsforhandlingactivitygraphscanoftenautomaticallyworkouthowmuch tobemissed.analternativetechniquetotheactivitygraphistheactivitybarchart (organttchart),whereeachactivityismarkedonacalendarasabarwhichreectsits agivenmilestoneoractivitycanbedelayedwithoutcausingtheoverallprojectdeadline estimatedandmaximumpermissibleduration.

19 4PROJECTMANAGEMENT days M1 A2 15 days 8 days A9 A1 5 days M3 A5 M6 M7 start 15 days A3 20 days A6 A11 7 days 10 days 10 days A4 M4 A7 M5 15 days M8 A10 10 days M2 A RiskManagement Figure6:Activitygraphforaproject 25 days A8 finish Riskanalysis:Potentialrisksandtheirconsequencesarelisted,andthelikelihoodof Riskmanagementistheactivityofevaluatingrisksandcontingencyplansfordealingwith themiftheyshouldarise.thisisoftendividedintothreeparts: Riskplanning:Planstoavoidtheriskortominimiseitseectsontheprojectaredrawn Riskmonitoring:Eachriskisassessedatregularintervals,anditslikelihoodandeect eachofthemoccurringisdetermined. up. Typicalrisksinindustrialprojectsinclude: arere-evaluated. Changeofmanagement, Failureofasuppliertodeliverhardware(ornecessarysoftware), Staturnoverinthedevelopmentteam, Changesincustomerrequirements, Imprecisespecication, Faultyestimationofcostorsizeofsystemcomponents, Usually,theprobabilityofariskarisingisestimatedinaveryroughmanner(high,medium, Technologychangeswhichmakethetechnologyoutmoded, low)anditseectsinasimilarmannerasbeingcatastrophic,serious,tolerable(marginal) Competitionfromothercompanies.

20 4PROJECTMANAGEMENT ornegligible.obviously,allcatastrophicrisksandmostseriousrisksneedtobetaken 20 seriouslyandacontingencyplanneedstobedrawnuptodealwiththosewhoseprobability ofoccurrenceisnon-negligible. estimatesoftheirlikelihoodofoccurringandtheconsequencesiftheyoccur. Exercise:Investigatetheriskswhicharelikelytooccurinastudentproject,giving Activityschedulingreliesongoodestimatesofthedurationoftheindividualactivities. 4.3 Althoughsomegeneralresultsareknownforalltypesofproject,forexamplethatAnalysis ProjectRecords developmenttimeisrelatedtothenumberoflinesofcode(seetable3),moredetailed estimatesforparticularsoftwareengineeringmethodsandtypesofsoftwarearebasedon experience.systemtype anddesigntakeabout40%oftheresources(seeforexampletable2),androughlyhow Commandandcontrol Spaceborne Analysis/DesignImplementationTest 46 Phasecosts(%) Operatingsystem Scientic Business Table2:Relativecostsofsoftwaredevelopmentactivities(after[Boe95]) 28 Algorithmicallyheavyprogram Simpleapplication Auxiliary/serviceprogram TypeofSoftware Manpowerrequired(man-months) 2:4kLOC1:05 Systemprogram 2:8kLOC1:10 3:2kLOC1:15 Table3:Developmentcostsrelatedtoprogramsize 3:6kLOC1:20 Here1kLOC=1000linesofsourcetext,and1man-monthis1.4 calendarmonths. Thevaluesinthetableareforaverageprogrammers.Forinexperiencedprogrammers,multiplybyatleast4;forexperts,multiply by0.3(iflessthan300loc)to0.5(morethan1kloc).

21 5SOFTWAREPROJECTDOCUMENTATION Toaccumulatethisexperience,youshouldalwayskeeptrackofhowmuchtimeyouused 21 Youcanusefullycombinethiswithalistofmeetingsheldanddecisionsmadeduringthe toperformthevariousactivitiesinaproject.werecommendyoutokeepadetailedrecord project,sothatittakestheformofaprojectdiary.forexample,everytimeyouhavea project-relatedmeetingofanykind(eitherinternallyinthedevelopmentteamorwiththe themilestonesreached,deliverablescompletedanddocumentsproduced)astimegoesby. ofthisinaprojectnotebook,inwhichyourecordtheprogressoftheproject(especially customer,externalconsultantorwhatever),younotedown: Whatthepurposeofthemeetingwas Whenandwherethemeetingtookplace Whowaspresent importantones,atwhatstagethingswentwrong(iftheydid),andwhatitcosttocorrect Whentheprojectisover,youcanlearnalotbylookingbacktoseewhichdecisionswere Whatdecisionsweremade dierenttypesoffault. 5Softwareneedstobecarefullydocumentedifitistobeuseful{almosteverybodyhas SoftwareProjectDocumentation producttondouthowtouseitorhowitworksinternally.goodqualitydocumentation above,isthatsoftwareisintangible,soitisnotingeneralpossiblejustbylookingatthe experienceofpoorlydocumentedsoftwareproducts,andknowshowtime-consumingand needstobeproducedaspartofeveryserioussoftwareproject. frustratingtheyaretodealwith.oneofthemainreasonsforthis,aswehaveremarked Userdocumentation:Thisisintendedtotelltheuserofthesoftwareaboutwhatthe Documentationfallsintothreegeneralcategories: Programdocumentation:Thisisintendedtotellprogrammershowtheprogramworks Projectdocumentation:Thisisintendedforthecustomerwhoinitiatedthesoftware softwareproductcando,andhowtoinstallandrunit. internally,andhowithasbeentested. Intheprevioussectionsofthesenotes,wehavemarkedimportantcomponentsofthis projectandforthemanagersoftheproject,tospecifytherequirementsandtokeep documentationwiththesign inthemargin.tosummarisethese: trackofprogressanduseofresourcesinallphasesoftheproject. Therequirementsspecication

22 5SOFTWAREPROJECTDOCUMENTATION Thedesignspecication 22 Theinternaltechnicaldocumentationoftheindividualmodulesofthesoftware. Thetestschemesfortheindividualmodulesfromtheinternaltestperformedduring Theprojectnotebookcontainingprojectmanagementinformation,suchasminutes Thetestschemesforthecompleteproductfromthesystemtestperformedduring thesystemtestphase. theimplementationphase. Inthissectionweshalllookinmoredetailatwhatthedocumentationshouldcontainand fromallprojectmeetings,managementdecisions,informationaboutmilestonesand howitshouldbeorganised.muchofthesectionisbasedonthegeneralideaspresentedin deliverablesanddocumentationfortheuseofresourcessuchastimeandmoney. 5.1 reference[ris00]. Thegoalofanydocumentationcanbesummarisedintwopoints: Goalsfordocumentation Thedocumentationshouldbeusefultothereader.I.e.whenconsultingthedocumentationthereadershould {getalltheinformationwhichisneeded Notethatthesegoalsconictwithoneanother.Forexample,repeatingthesameinformationatseveralplacesinthedocumentationmaybehelpfulforthereader{butit documentationwillhavetondacompromisebetweenthesetwogoals. Youmustalsorememberthatthedierenttargetgroups{usersofthesoftware,program- isanuisancewhenthedocumentationistobeupdated.thusthepersonwritingthe Thedocumentationshouldbeeasytoupdatetoanewversionoftheproduct. {notgetinformationwhichisnotneeded theyhavedierentwaysofthinkingabouttheproduct.indeed,theyoftendiermarkedly mers,managersetc.{havedierentrequirementswithrespecttothedocumentation,as intheirgeneralknowledgeofsoftware.forexamplethesecretarywhousesanocesystem ideaofwhatacomputerprogramisorwhatgoesoninsidethecomputer;hopefullythisis notthecasefortheprogrammersortheirmanagers!whenproducingdocumentationyou andthedoctorwhousesacomputerisedpatientdatasystemmayonlyhaveaveryvague oneachlevelyoumustbeabletowriteonthepremisesofaparticularkindofreader. mustthereforebeabletomakedescriptionsofthesameproductondierentlevels,and

23 5SOFTWAREPROJECTDOCUMENTATION 5.2 Thestructureofthedocumentation 23 shouldfollowthegenerallyacceptedstyleofscienticreports,withsectionsasfollows: astudentproject,asinglereportwillnormallybesucient.thestructureofsuchareport intheformofseparatereportsintendedforthevarioustargetgroupsmentionedabove.in Inalarge,industrial-scaleproject,theitemsofdocumentationwilltypicallybeproduced 2.Theproblemtobesolved.Thisshouldgivethereaderageneralintroductiontothe 1.Abstract/introduction.Thisgivesashortsummaryofthecontentsofthereportand itsstructure. problemdomainanddescribetheactualproblemtobesolved.keyconceptswhich descriptionoftheunderlyingtheoryisgiven.ifamoreextensivepresentationofthe willbeusedintheremainderofthereportareintroducedanddened.aconcise 3.Therequirementsspecication. 4.Thedesignspecication. theoryisrequired(forexamplewithlong,detailedproofsofparticularresults),it 5.Ageneraloverviewpresentingthedetaileddesignofthesoftwareasimplemented. shouldappearinanappendix. 6.Thetestschemesforthesystemtestofthecompletesoftwareproduct. Thisshoulddescribetherelationshipsbetweentheindividualmodules,suchasthe 7.Aconclusiondescribingthestateoftheproductasdelivered,includinganyknown wayinwhichtheydependononeanother,andtheinternalworkingofthesemodules. faultsormissingfeatures(inrelationtotherequirementslistedintherequirements Notethatdetailedprogramlistingsshouldbepresentedlaterinanappendix. Moredetailedmaterialwhichisonlyofinteresttoparticulargroupsofreadersisusually 8.Alistofreferencesforliteraturereferredtointhereport(seeSection5.6below). specication),andsuggestionsforimprovements. placedinappendices,forexample: D.Thetestschemesfromtheinternaltestoftheindividualsub-programsintheindividualmodules(fortheprogrammers). A.Theuser'smanual(fortheusers).WereturntothisinSection5.4below. C.Theactualsourcetextofthesoftware(fortheprogrammers);seeSection5.5below. B.Theprojectnotebook(forthemanagers). E.(optional)Detailedtheoreticalresults,proofsorderivations. itisimportanttofollowsomegeneralrulesforpresentingthedocumentationinamanner 5.3 Inadditiontofollowingamoreorlessstandardisedwayoforganisingthedocumentation, Presentationrules whichmakesitaccessibletothereader.

24 5SOFTWAREPROJECTDOCUMENTATION 5.3.1Terminology 24 Theterminologyisthesetoftermsusedtodenoteconceptspertainingtothesoftware symbolsusedinguresarealsopartoftheterminology. Aswehavealreadymentionedduringourdiscussionofthedesignprocess,asoftware producttogetherwiththeirprecisemeaningwhenusedinthedocumentation.graphical productshouldwheneverpossiblebedescribedintermsofacceptedconcepts,termsand theproblemdomainhavetobeusedinveryprecisemanner{typicallymoreprecisethan understandingthedocumentation,andmaywellgiveup.ontheotherhand,termsfrom newtermsforwell-knownideas,asthereaderthenhastoputmuchmoreeortinto symbolsfromtheproblemdomain.ingeneral,itisapoorideatoinventcompletely isusualwhenpeoplediscussthingsinformally.thismaymakeitnecessarytoexpressner betweentermswhich(inothercontexts)areoftenconsideredsynonymous. Thebasicrulesforterminologyindocumentationare: distinctionswithmoreconcepts,soonewillhavetoinventnewterms{ortodierentiate Consistency:Alwaysusethesameterm(orsymbol)todenotethesameconcept. Dierentiation:Usedierentterms(orsymbols)todenotedierentconcepts. Notethattheserulesareinconictwithastylisticrulerequestingtheuseofavaried languagetocreateauenttext.thisstylisticruledoesnotapplytotheterminologyof softwaredocumentation,whereconsistentuseoftermsandsymbolsismuchmoreimportantthanlinguisticvariation. Thefollowingstylisticrulesshouldbeusedwhenwritingdocumentation: 5.3.2Languageandstyle Useshortsentences{avoidlongconvolutedsentences. Avoidchattering\small-talk"{andremovesentenceswhicharenotessentialfor Useexamplesinsteadofverboseexplanationsintutorialmaterial. Usegureswhenappropriate. Theuseofguresmustbeconsistentwiththewrittentext. conveyingthemessageofthesectionbeingwritten. Usetablesinthetexttoarrangereferentialmaterialinasystematicway. Giveguresandtablestitles(\captions")whichsummarisetheinformationsupplied. Ifnecessary,supplementthecaptionwithanexplanationofanyspecialsymbolsor othernotationusedinthegure.

25 5SOFTWAREPROJECTDOCUMENTATION Literaryskillsareratherusefulwhendocumentingsoftware,butdon'tgetcarriedaway. 25 Useshortandconciselanguage{youarenotwritinganovel. Makesuretodividethechaptersorlargesectionsofthereportintosub-sectionsina ideaofthesection'scontents.eachsectionshouldstartbytellingthereaderwhatthe naturalway.eachsectionorsub-sectionmusthaveatitlewhichgivesthereadersome beusefultotellthereaderwhatheorsheisexpectedtogetoutofreadingthesection sectionisabout,eitherdirectly(\inthissectionwedescribethestylisticrules...")ormore indirectly(\thefollowingstylisticrulesshouldbeused...").insomecontexts,itcanalso concerned,andtonishthesectionwithalittlesummaryofwhathasbeenpresented. Youshouldalwaystrytokeepthelevelofdetailconstantthroughoutasectionorsubsection;ifyouneedtopresentaparticularsubjectinmoredetail,thenstartasub-(or sub-sub-)section.forexample,thepartofthesenoteswhichyouarereadingatpresent isasub-sub-sectiongivingdetailedrulesforlanguageandstylewithinasub-sectionon 5.3.3Typography PresentationRuleswithinasectiononDocumentation. Mostcompanieshaveacorporatestandardforsettingupdocumentation,andyouwill,of course,complytothisstandardwhenworkinginacompany. AtDTUwefollowcommontypographicalrulesfortechnicalreports: Puttitleofreport,titleofcourse,date,andyournameandsignatureonthefront WriteonA4sheets. Useaneasilyreadablesizeofcharacters{thefontshouldbeatleast11pt. Usepagenumbering. Themarginsshouldhaveroomforholesusedtoputthereportintoabinder. page. Largerreportsshouldhaveatableofcontentsandanindex. Usepagefootingand/orheadings. Figuresandtablesshouldbenumbered. Chapters,sectionsandsubsectionsshouldbenumbered. run.inparticular,itshouldtellthepotentialuserabout: Theuser'smanualshoulddescribethewayinwhichtheproductshouldbeinstalledand 5.4 Whatproblemthesoftwarecansolvefortheuser.

26 5SOFTWAREPROJECTDOCUMENTATION Howtoinstall,startandstoptheprogram. 26 Whatinputistobeprovidedtotheprograminresponsetoparticularpromptsfrom Thenormaloutputexpectedfromtheprogram. theprogram,orinconnectionwithparticularscreenimages,formsorwhatever.the Anyerrormessageswhichmayappear,whattheymean,andwhattheuserisex- Sourceprogramsshouldbepresentedinamannerwhichmakesitpossibletoseetheir structureandwhichhelpsthereadertounderstandhowtheywork. Thefollowingruleswillhelpyoutoachievethisaim: notation(suchasbnf),sothattheuserisinnodoubtaboutwhatisrequired. inputshouldbedescribedaspreciselyaspossibleinnaturallanguageoraformal 5.5pectedtodoinordertorecoverfrom(oravoid)sucherrors. Starteachmodulewithaheadingintheformofacommentwhichexplainsthe Startthelistingofeachmodule(class,signature,functor,etc.)oftheprogramona purposeofthemodule,whohasprogrammedit,theversionnumberanddateofthe currentversionandotherappropriatedetailswhichcanidentifyit. newpage. Useindentationtohelpthereadertoidentifythebeginningandendofprogram Starteachsub-program(method,function,procedureetc.)ofthemodulewitha structuressuchasloopsandbranchingstructures(if-then-else,case,etc.). anddescribesitsparametersandresults. headingintheformofacommentwhichexplainsthepurposeofthesub-program, Commentsshouldgiveextrainformationwhichcannotbereaddirectlyfromtheprogram, Makesurethatthelinesofprogramtexttwithinthewidthofthepaperanddo suchas: notrunoutovertherighthandmarginoroverowontothenextline. Invariantsofdatarepresentations. Theintendeduseofdeclaredvariables. Theintentionofspecicpartsoftheprogram. Commentsshouldbebriefandtheyshouldnotcluttertheprogram.Theprogrammust bearrangedinawaytomakeiteasyforareadertolocateandndanyspecicpartof theprogram.

27 REFERENCES 5.6 References 27 shouldunambiguouslyidentifythesourceofanyotherdocumentsreferredtointhetext.it isbothillegalandunethicaltoquoteorrefertotheworkofotherauthorswithoutgivinga completeandcorrectreference,sothatthereadercanndtheoriginalmaterialifrequired! Alistofreferencesisanessentialpartofanyscienticortechnicalreport.Thereferences shouldmentionthename(s)oftheauthor(s)(oreditors,iftheworkisacollectionof articlesorthelike),thetitleoftheitembeingreferredtoandthedateofpublication.in abook,conferencepaper,articleinajournal,technicalreportorwhatever.allreferences Theformatofareferencedependsonthetypeofworkbeingreferredto,i.e.whetheritis categoriesofreferences: Book:Author(s)/editor(s),titleofbook,publisher,yearofpublication. moredetail,youshouldgiveatleastthefollowinginformationforthefollowingcommon Articleinbook:Author(s),titleofarticle,titleofbook,chapternumber/pagenumbers, Report:Author,titleofreport,nameoforganisation,year. Journalarticle:Author(s),titleofarticle,nameofjournal,volume,pagenumbers,year. Conferencepaper:Author(s),titleofpaper,nameofconference,pagenumbers,year. youarerecommendedtousesuchasystemifitisavailabletoyou. Sometypicalexamplescanbeseeninthelistofreferencesattheendofthesenotes.Many textformattingsystemsmakeiteasytoproducelistsofreferencesinsuitableformats,and References [Boe95]B.W.Boehm,`TheHighCostofSoftware',inE.Horowitz(ed.),PracticalStrategiesforDevelopingLargeSoftwareSystems.Addison-Wesley,Reading,Massachusetts, [Boe81]B.W.Boehm,SoftwareEngineeringEconomics,Prentice-Hall,EnglewoodClis, NewJersey,1981. [Ris00]HansRischel,`DocumentingSoftware',DepartmentofInformationTechnology, [Som01]IanSommerville,SoftwareEngineering,6thedition.ISBN X. [Roy70]W.W.Royce,`ManagingtheDevelopmentofLargeSoftwareSystems',ProceedingsofWESTCON,California,August1970. DTU,2000. Addison-Wesley,2001.

South East of Process Main Building / 1F. North East of Process Main Building / 1F. At 14:05 April 16, 2011. Sample not collected

South East of Process Main Building / 1F. North East of Process Main Building / 1F. At 14:05 April 16, 2011. Sample not collected At 14:05 April 16, 2011 At 13:55 April 16, 2011 At 14:20 April 16, 2011 ND ND 3.6E-01 ND ND 3.6E-01 1.3E-01 9.1E-02 5.0E-01 ND 3.7E-02 4.5E-01 ND ND 2.2E-02 ND 3.3E-02 4.5E-01 At 11:37 April 17, 2011 At

More information

DIPLOMA OF GRAPHIC DESIGN (ADVERTISING)

DIPLOMA OF GRAPHIC DESIGN (ADVERTISING) DIPLOMA OF GRAPHIC DESIGN (ADVERTISING) SGA Subject* Use Business Technology Develop Keyboard Skills Introduction to Mac Computer Graphics I Computer Graphics II Photo Imaging Computer Design and Production

More information

Software Requirements 1

Software Requirements 1 Software Requirements 1 Requirements are descriptions of the services that a software system must provide and the constraints under which it must operate Requirements can range from high-level abstract

More information

Our Commitment to Information Security

Our Commitment to Information Security Our Commitment to Information Security What is HIPPA? Health Insurance Portability and Accountability Act 1996 The HIPAA Privacy regulations require health care providers and organizations, as well as

More information

Release: 1. ICAPMG601A Establish IT project governance

Release: 1. ICAPMG601A Establish IT project governance Release: 1 ICAPMG601A Establish IT project governance ICAPMG601A Establish IT project governance Modification History Release Release 1 Comments This Unit first released with ICA11 Information and Communications

More information

Rossmoor Website SEO Tracking Sheet 2012-2014 Updated: April 1, 2014

Rossmoor Website SEO Tracking Sheet 2012-2014 Updated: April 1, 2014 As of 5/4/2012 As of 5/14/2012 active senior living no n/a active senior living no n/a adult golf community no n/a adult golf community no n/a 55+ community yes 8th 55+ community yes 8th retirement living

More information

BSBSMB308 Improve energy efficiency in micro or small business operations

BSBSMB308 Improve energy efficiency in micro or small business operations BSBSMB308 Improve energy efficiency in micro or small Release: 1 BSBSMB308 Improve energy efficiency in micro or small Modification History Release Release 1 Comments This version first released with BSB

More information

Health IT Certificate Series Introduction. Health IT Certificate Series - Professional Tracks

Health IT Certificate Series Introduction. Health IT Certificate Series - Professional Tracks Health IT Certificate Series Introduction According to the Bureau of Labor Statistics, there will be a shortfall of Health IT workers through 2015 and beyond. These workers will be in great demand as hospitals,

More information

ICAICT704A Direct ICT in a supply chain

ICAICT704A Direct ICT in a supply chain ICAICT704A Direct ICT in a supply chain Release: 1 ICAICT704A Direct ICT in a supply chain Modification History Release Release 1 Comments This Unit first released with ICA11 Information and Communications

More information

HERZING UNIVERSITY ACADEMIC CALENDAR

HERZING UNIVERSITY ACADEMIC CALENDAR HERZING UNIVERSITY ACADEMIC CALENDAR Classes at Herzing University run year-round with breaks as listed below. The calendar at some Herzing University campuses may vary slightly, so please check with your

More information

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014 Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014 1 Goals Cover Material from our User Stories Book Chapter 15: Using Stories With Scrum Chapter 16: Additional

More information

Release 1. BSBPMG410A Apply project time-management techniques

Release 1. BSBPMG410A Apply project time-management techniques Release 1 BSBPMG410A Apply project time-management techniques BSBPMG410A Apply project time-management techniques Modification History Release Release 1 Comments This version first released with BSB07

More information

Release 1. BSBPMG415A Apply project risk-management techniques

Release 1. BSBPMG415A Apply project risk-management techniques Release 1 BSBPMG415A Apply project risk-management techniques BSBPMG415A Apply project risk-management techniques Modification History Release Release 1 Comments This version first released with BSB07

More information

TOWARDS A STRATEGIC NANOTECHNOLOGY ACTION PLAN (SNAP) 2010-2015

TOWARDS A STRATEGIC NANOTECHNOLOGY ACTION PLAN (SNAP) 2010-2015 TOWARDS A STRATEGIC NANOTECHNOLOGY ACTION PLAN (SNAP) 2010-2015 1. Respondent profile For individuals: - Name, age, gender, country, e-mail. - From which perspective are you interested in nanotechnologies:

More information

ESKITP2034.03 Assist in the preparation of change management plans and assignments for IT enabled systems 1

ESKITP2034.03 Assist in the preparation of change management plans and assignments for IT enabled systems 1 Assist in the preparation of change management plans and assignments for IT Overview This sub-discipline, Change Management (203) is concerned with the competencies required to manage the introduction

More information

Software Quality Assurance

Software Quality Assurance Software Quality Assurance Software Engineering 9 1 McCall s Triangle of Quality Maintainability Flexibility Testability PRODUCT REVISION Portability Reusability Interoperability PRODUCT TRANSITION PRODUCT

More information

Release: 3. HLTADM002 Manage Telehealth technology

Release: 3. HLTADM002 Manage Telehealth technology Release: 3 HLTADM002 Manage Telehealth technology HLTADM002 Manage Telehealth technology Modification History Release Release 3 Release 2 Release 1 Comments Updated: assessor statement foundation skills

More information

Release: 1. ICADBS603A Determine suitability of database functionality and scalability

Release: 1. ICADBS603A Determine suitability of database functionality and scalability Release: 1 ICADBS603A Determine suitability of database functionality and scalability ICADBS603A Determine suitability of database functionality and scalability Modification History Release Release 1 Comments

More information

Lecture 1 - Overview

Lecture 1 - Overview Lecture 1 - Overview CMPSC 443 - Spring 2012 Introduction to Computer and Network Security Professor Jaeger www.cse.psu.edu/~tjaeger/cse443-s12/ From small vulnerabilities come... 2 People are part of

More information

Schedule of VET tuition fees 2016 Name of course: Diploma of Business Training Package Code: BSB50215 Delivery location(s): Virtual Campus

Schedule of VET tuition fees 2016 Name of course: Diploma of Business Training Package Code: BSB50215 Delivery location(s): Virtual Campus Schedule of VET tuition fees 2016 Name of course: Diploma of Business Training Package Code: BSB50215 Delivery location(s): Virtual Campus Delivery mode(s): External via the Virtual Campus The Diploma

More information

BSBLEG515A Apply legal principles in wills and probate matters

BSBLEG515A Apply legal principles in wills and probate matters BSBLEG515A Apply legal principles in wills and probate matters Revision Number: 1 BSBLEG515A Apply legal principles in wills and probate matters Modification History Not applicable. Unit Descriptor Unit

More information

HIGHER EDUCATION AND TRAINING

HIGHER EDUCATION AND TRAINING HIGHER EDUCATION AND TRAINING FACULTY OF COMMERCE & ENTREPRENEURSHIP & FACULTY OF BUSINESS ADMINISTRATION SEMESTER 2 NATIONAL FINAL EXINATIONS TIMETABLE (13 02 DECEMBER ) NOTE This Time Table includes

More information

The New Zealand Human Services Quality Framework - ISO9002:2008 to 2012

The New Zealand Human Services Quality Framework - ISO9002:2008 to 2012 HUMAN SERVICES QUALITY FRAMEWORK STANDARDS - POLICIES DOCUMENT Q:/1 DATE REVEIWED: REFERENCE: GOVERNANCE AND August 2014 MANAGEMENT POLICY AUTHORISATION: STANDARD REFERENCE: NEXT REVIEW DATE: Management

More information

Corporate Governance Framework

Corporate Governance Framework Corporate Governance Framework Introduction Transport and Main Roads is managed in an accountable and responsible way through effective corporate governance which is defined as how the department manages

More information

Qualifications in Practice Management (Health)

Qualifications in Practice Management (Health) Qualifications in Practice Management (Health) An opportunity for Practice Managers and Administrators The Practice Managers and Administrators Association of New Zealand (PMAANZ) negotiated with the New

More information

Documentation in the Human Services: Ethical and Risk-management Issues

Documentation in the Human Services: Ethical and Risk-management Issues Documentation in the Human Services: Ethical and Risk-management Issues Frederic G. Reamer, Ph.D. Professor School of Social Work Rhode Island College Providence, Rhode Island The Role of Documentation

More information

Guide to Developing Risk Management Plans for Sport & Active Recreation Clubs

Guide to Developing Risk Management Plans for Sport & Active Recreation Clubs Guide to Developing Risk Management Plans for Sport & Active Recreation Clubs No single risk management model fits every organisation. Different governance and administrative structures, and varying activities

More information

Release 1. HLT57715 Diploma of Practice Management

Release 1. HLT57715 Diploma of Practice Management Release 1 HLT57715 Diploma of Practice Management HLT57715 Diploma of Practice Management Modification History Release Release 1 Comments This version was released in HLT Health Training Package release

More information

A New Proposed Software Engineering Methodologyfor Healthcare Applications Development

A New Proposed Software Engineering Methodologyfor Healthcare Applications Development Vol. 3, Issue. 3, May.-June. 2013 pp-1566-1570 ISSN: 2249-6645 A New Proposed Software Engineering Methodologyfor Healthcare Applications Development Abdullah Al-Dahmash, Samir El-Masri Department of Information

More information

Syllabus Award, Certificate & Diploma in Management & Leadership

Syllabus Award, Certificate & Diploma in Management & Leadership Syllabus Award, Certificate & Diploma in Management & Leadership Qualifications in Management and Leadership Our management and leadership qualifications are designed for middle managers who are responsible

More information

Having a Project Support Office

Having a Project Support Office www.ronrosenhead.co.uk Having a Project Support Office The case for a (or programme) support office Produced by Ron Rosenhead Telephone: 020 8446 7766 www.ronrosenhead.co.uk www.agency.co.uk The case for

More information

The three lines of defence

The three lines of defence Audit Committee Institute Sponsored by KPMG The three lines of defence 1 The three lines of defence Audit committees these days are burdened with a lengthy list of mandatory agenda items, and must find

More information

Release: 1. BSBMKG519 Plan and implement business-to-business marketing

Release: 1. BSBMKG519 Plan and implement business-to-business marketing Release: 1 BSBMKG519 Plan and implement marketing BSBMKG519 Plan and implement marketing Date this document was generated: 14 January 2016 BSBMKG519 Plan and implement marketing Modification History Release

More information

Information Governance Policy

Information Governance Policy Information Governance Policy Policy ID IG02 Version: V1 Date ratified by Governing Body 27/09/13 Author South Commissioning Support Unit Date issued: 21/10/13 Last review date: N/A Next review date: September

More information

eztechdirect Backup Service Features

eztechdirect Backup Service Features eztechdirect Backup Service Features Introduction Portable media is quickly becoming an outdated and expensive method for safeguarding important data, so it is essential to secure critical business assets

More information

Software Requirements Specification. Task Management System. for. Prepared by. Version 1.0. Group Name: Pink and Purple. Date:

Software Requirements Specification. Task Management System. for. Prepared by. Version 1.0. Group Name: Pink and Purple. Date: Software Requirements Specification for Task Management System Version 1.0 Prepared by Group Name: Pink and Purple Kathrynn Gonzalez 11387240 [email protected] Tina Roper 11380457 [email protected]

More information

ICA Advance Certificate in Governance, Risk & Compliance (IBF Level 1) Course Outline & Specification

ICA Advance Certificate in Governance, Risk & Compliance (IBF Level 1) Course Outline & Specification ICA Advance Certificate in Governance, Risk & Compliance (IBF Level 1) Course Outline & Specification SC904 ICA Advanced Certificate in Governance, Risk and Compliance (IBF Level 1) Course Outline and

More information

An interactive discussion on how a business case should be constructed:

An interactive discussion on how a business case should be constructed: An interactive discussion on how a business case should be constructed: Hettie Booysen, head: operational risk, IT Risk Standard Bank Lynette Botha, senior manager information security and compliance,

More information

EURORDIS-NORD-CORD Joint Declaration of. 10 Key Principles for. Rare Disease Patient Registries

EURORDIS-NORD-CORD Joint Declaration of. 10 Key Principles for. Rare Disease Patient Registries EURORDIS-NORD-CORD Joint Declaration of 10 Key Principles for Rare Disease Patient Registries 1. Patient Registries should be recognised as a global priority in the field of Rare Diseases. 2. Rare Disease

More information

Software Requirements

Software Requirements Software Engineering Software Requirements Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce the concepts of user and system requirements To describe functional and

More information

1. Writing a Degree Profile

1. Writing a Degree Profile The University of Edinburgh Medical Teaching Organisation Dr Michael Ross, Vilnius Thursday 29th April 2010 1. Writing a Degree Profile Overview & context Terminology & key concepts Two examples Components

More information

The IFPUG Counting Practices On-Going Effort in Sizing Functional Requirements. Janet Russac

The IFPUG Counting Practices On-Going Effort in Sizing Functional Requirements. Janet Russac The IFPUG Counting Practices On-Going Effort in Sizing Functional Requirements Janet Russac 2009 IFPUG s method for function point analysis is an ISO standard and must be conformant to ISO/IEC 14143-1:2007.

More information

FNSPIM505 Use medical knowledge in the management of personal injury claims

FNSPIM505 Use medical knowledge in the management of personal injury claims FNSPIM505 Use medical knowledge in the management of personal injury claims Release: 1 FNSPIM505 Use medical knowledge in the management of personal injury claims Modification History Release Release 1

More information

Defining Quality Workbook. <Program/Project/Work Name> Quality Definition

Defining Quality Workbook. <Program/Project/Work Name> Quality Definition Defining Quality Workbook Quality Definition Introduction: Defining Quality When starting on a piece of work it is important to understand what you are working towards. Much

More information

Expert Group on Cloud Computing Services and Standards ( EGCCSS ) Formation of Working Groups

Expert Group on Cloud Computing Services and Standards ( EGCCSS ) Formation of Working Groups For Discussion on 27 May 2014 Paper EGCCSS-6-3 Expert Group on Cloud Computing Services and Standards ( EGCCSS ) Formation of Working Groups Purpose To propose the setting up of two Working Groups under

More information

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of more useful software To discuss the essence of agile development methods

More information

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas...

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas... Software Engineering Introduction... Columbus set sail for India. He ended up in the Bahamas... The economies of ALL developed nations are dependent on software More and more systems are software controlled

More information

FP7-ICT-2013-11-4.2. Scalable Data Analytics. Deadline: 16 April 2013 at 17:00:00 (Brussels local time)

FP7-ICT-2013-11-4.2. Scalable Data Analytics. Deadline: 16 April 2013 at 17:00:00 (Brussels local time) Scalable Data Analytics Deadline: 16 April 2013 at 17:00:00 (Brussels local time) Agenda Time 14H30 Programme Overview of Objective 4.2 Scalable Data Analytics By Carola Carstens, European Commission,

More information

UNIT BR10: PROJECT MANAGEMENT FOR ENGINEERING. Engineering

UNIT BR10: PROJECT MANAGEMENT FOR ENGINEERING. Engineering Unit BR10: Project for Engineering Unit code: T/503/7221 QCF level: 6 Credit value: 15 Aim The aim of this unit is to give learners an understanding of the techniques and skills required for effective

More information

BSBEBUS520A Manage online payments systems

BSBEBUS520A Manage online payments systems BSBEBUS520A Manage online payments systems Release: 1 BSBEBUS520A Manage online payments systems Modification History Unit Descriptor This unit covers evaluation of online payment system/s, determining

More information

ICAA5141C Design and develop dynamic websites to meet technical requirements

ICAA5141C Design and develop dynamic websites to meet technical requirements ICAA5141C Unit Descriptor Employability Skills Prerequisite Unit(s) Unit Sector Design and develop dynamic websites to meet technical requirements This unit defines the competency required to produce a

More information

Chapter 8 Software Testing

Chapter 8 Software Testing Chapter 8 Software Testing Summary 1 Topics covered Development testing Test-driven development Release testing User testing 2 Program testing Testing is intended to show that a program does what it is

More information

Accounting and Auditing Standards Community of Practice (A&A CoP) STAREP ESTABLISHING APPROPRIATE AUDIT & ACCOUNTANCY OVERSIGHT SYSTEM IN AZERBAIJAN

Accounting and Auditing Standards Community of Practice (A&A CoP) STAREP ESTABLISHING APPROPRIATE AUDIT & ACCOUNTANCY OVERSIGHT SYSTEM IN AZERBAIJAN Accounting and Auditing Standards Community of Practice (A&A CoP) STAREP ESTABLISHING APPROPRIATE AUDIT & ACCOUNTANCY OVERSIGHT SYSTEM IN AZERBAIJAN Professional Public Oversight Organizations in Azerbaijan

More information

Clinical Research from EHR data

Clinical Research from EHR data Clinical Research from EHR data Gunnar O Klein professor in Health Informatics at NSEP Norwegian Centre for EHR Research Workshop at HelseIT in Trondheim 2012-09-19 1 Purpose of the workshop Together with

More information

FSPFCC04(SQA Unit Code-F88P 04) Ensure you comply with regulations in your financial services environment

FSPFCC04(SQA Unit Code-F88P 04) Ensure you comply with regulations in your financial services environment Ensure you comply with regulations in your financial services Overview This Standard is about working within the regulatory of the financial services industry. Most organisations within financial services

More information

Effective risk management

Effective risk management Effective risk management Our holistic and disciplined risk management program is designed to mitigate risks at all levels of our business in order to protect our clients interests. 2 Vanguard > Effective

More information

Software Requirements. Descriptions and specifications of a system. Ian Sommerville 2000 Software Engineering, 6th edition.

Software Requirements. Descriptions and specifications of a system. Ian Sommerville 2000 Software Engineering, 6th edition. Software Requirements Descriptions and specifications of a system Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Objectives To introduce the concepts of user and system To describe

More information

The Advantages of ISO 9001 Certification

The Advantages of ISO 9001 Certification Standards, d Certification and Regulations Reprisal: Types of Requirements Functional requirements: requirements that specify a function that a system or system component must be able to perform The watch

More information

Are waterfall and agile project management techniques mutually exclusive? by Eve Mitchell, PwC. 22 MARCH 2012 www.pmtoday.co.uk

Are waterfall and agile project management techniques mutually exclusive? by Eve Mitchell, PwC. 22 MARCH 2012 www.pmtoday.co.uk Are waterfall and agile project management techniques mutually exclusive? by Eve Mitchell, PwC 22 MARCH 2012 www.pmtoday.co.uk Projects need to be managed to be successful Change is a ubiquitous feature

More information

Degree Programme in Business Information Systems. Bachelor of Business Administration. The maximum number of admission score

Degree Programme in Business Information Systems. Bachelor of Business Administration. The maximum number of admission score Curriculum 1 (6) GENERAL INFORMATION DEGREE PROGRAMME PERIOD OF EXECUTION 2014-2017 SCOPE DESCRIPTION Degree Programme in Business Information Systems 210 ECTS credits Business information system skills

More information

PSPCRT409B Administer court fines and debt management

PSPCRT409B Administer court fines and debt management PSPCRT409B Administer court fines and debt management Release: 2 PSPCRT409B Administer court fines and debt management Modification History PSPCRT409B Release 1: PSPCRT409B Release 2: Unit Descriptor Layout

More information

BUSINESS AND INFORMATION TECHNOLOGY ADVANCED WEB DESIGN GRADES 11-12

BUSINESS AND INFORMATION TECHNOLOGY ADVANCED WEB DESIGN GRADES 11-12 PARENT/STUDENT COURSE INFORMATION BUSINESS AND INFORMATION TECHNOLOGY ADVANCED WEB DESIGN GRADES 11-12 Counselors are available to assist parents and students with course selections and career planning.

More information

The problem of cloud data governance

The problem of cloud data governance The problem of cloud data governance Vasilis Tountopoulos, Athens Technology Center S.A. (ATC) CSP EU Forum 2014 - Thursday, 22 nd May, 2014 Focus on data protection in the cloud Why data governance in

More information

ECRIN General Presentation

ECRIN General Presentation ECRIN General Presentation Supporting Clinical Trials Across Borders Gonzalo Calvo 26-01-16 ECRIN Overview A non-profit organisation with the legal status of European Research Infrastructure Consortium

More information

A. Trusted Exchange Platform (e-trustexchange)

A. Trusted Exchange Platform (e-trustexchange) A. Trusted Exchange Platform (e-trustexchange) 1. CONTEXT Type of Action Project Type of Activity Reusable generic tools Service in charge DG DIGIT Associated Services SG A.1.A1, SG.G.3, SG.R.3, DG COMP

More information

OMCL Network of the Council of Europe QUALITY ASSURANCE DOCUMENT

OMCL Network of the Council of Europe QUALITY ASSURANCE DOCUMENT OMCL Network of the Council of Europe QUALITY ASSURANCE DOCUMENT PA/PH/OMCL (08) 88 R VALIDATION OF COMPUTERISED SYSTEMS ANNEX 2: VALIDATION OF DATABASES (DB), LABORATORY INFORMATION MANAGEMENT SYSTEMS

More information

ASSOCIATE OF APPLIED SCIENCE IN DIGITAL GRAPHIC DESIGN

ASSOCIATE OF APPLIED SCIENCE IN DIGITAL GRAPHIC DESIGN Program Overview In this online program students will focus on graphic design theory and techniques which can support a professional career as a graphic designer or graphic artist. Students will learn

More information

BSBGOV403A Analyse financial reports and budgets

BSBGOV403A Analyse financial reports and budgets BSBGOV403A Analyse financial reports and budgets Revision Number: 1 BSBGOV403A Analyse financial reports and budgets Modification History Not applicable. Unit Descriptor Unit descriptor This unit describes

More information

Occupational Health and Safety Officer

Occupational Health and Safety Officer Occupational Health and Safety Officer APPLY TODAY participants at NO COST as a commitment to skills development in Northern BC. To determine your eligibility call Rob Bryce at 250-960-5982. ABOUT UNBC

More information

NOS for IT User and Application Specialist. IT Security (ESKITU04) November 2014 V1.0

NOS for IT User and Application Specialist. IT Security (ESKITU04) November 2014 V1.0 NOS for IT User and Application Specialist IT Security (ESKITU04) November 2014 V1.0 NOS Reference ESKITU040 ESKITU041 ESKITU042 Level 3 not defined Use digital systems NOS Title Set up and use security

More information

Question 3.1.1. Question 3.2.1. Question 3.3.1. EdTech 552: Lab 3 Answer Sheet

Question 3.1.1. Question 3.2.1. Question 3.3.1. EdTech 552: Lab 3 Answer Sheet Question 3.1.1 Question Answers a. 123 01111011 b. 202 11001010 c. 67 01000011 d. 7 00000111 e. 252 11111100 f. 91 01011011 g. 116.127.71.3 01110100.01111111.01010001.00000011 h. 255.255.255.0 11111111.11111111.11111111.00000000

More information

Online Master of Business Administration Online Graduate Certificate in Business Administration

Online Master of Business Administration Online Graduate Certificate in Business Administration Online Master of Business Administration Online Graduate Certificate in Business Administration Master of Business Administration. A 0% online program that s ready when you are. Our MBA is for change-makers

More information

MASTER OF SCIENCE (MSc) IN ENGINEERING (SOFTWARE ENGINEERING) (Civilingeniør, Cand. Polyt. i Software Engineering)

MASTER OF SCIENCE (MSc) IN ENGINEERING (SOFTWARE ENGINEERING) (Civilingeniør, Cand. Polyt. i Software Engineering) Chapter 9 The programme specific part of the curriculum for: MASTER OF SCIENCE (MSc) IN ENGINEERING (SOFTWARE ENGINEERING) (Civilingeniør, Cand. Polyt. i Software Engineering) Applicable to students admitted

More information