Systems Engineering. Analyse. Design. Implement. Delivery of product. Test. Time
|
|
|
- Shawn Beasley
- 10 years ago
- Views:
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
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
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
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
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
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
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
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
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,
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
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
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
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
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
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:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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]
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
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,
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
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
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
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.
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
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
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
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
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
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,
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
