Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
HøgskoleniSørøst-Norge
LøsningsforslagMerk!Løsningenesomerskisserterikkenødvendigvisdeenesteriktigeløsningene,samtnoenavløsningsskisseneerkunstikkordpreget/mangelfulle.Forfullstendigbeskrivelserogforklaringer,selærebøker,forelesningsnotater,etc.
Sluttprøve2016
Emne:IA4412–Systemutviklingogdokumentasjon
Fagansvarlig:Hans-PetterHalvorsenogOlavDæhli
Klasse:IA2,A-vei
Dato:2016.06.01
Time:09:00-12:00
Oppgavesettetbeståravfølgende:
Antallsider:17(inkl.dennesidenogvedlegg)
Antalloppgaver:8
Vedlegg:
Ingen
Hjelpemidler:
Ingenhjelpemidlertillatt
Sluttprøventeller30%avsluttkarakteren.
Kandidatenmåselvkontrollereatoppgavesetteterfullstendig.
Fagansvarligbesøkernormaltikkeeksamenslokalene.Kandidaterkanikkekallepåfagansvarligeforåfåhjelptilåtolkenoenaveksamensoppgavene.Hvisdumanglereventuelleforutsetningerforåløseoppgaven,mådudefinerepassendeantagelserselv.
Allesvarmåbegrunnes,selvomdetikkestårdetteeksplisittioppgaveteksten!
Vennligstbrukkulepennogskrivtydelig.(Hvissensorikkekanlesehåndskriftenharmanikkeannetvalgennågi0poeng)!
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
2
Oppgave1(15%):Database(E/R)DiagramLogiskmodell(E/R):
Fysiskmodell:
Måhamedlittforklarendetekstitilleggtildiagrammet/diagrammene!
”BestPractice”-regler:
Herearesome“Bestpractice”recommendationsforcreatingtablesinadatabasesystem:
• Tables:Useuppercaseandsingularformintablenames–notplural,e.g.,“STUDENT”(notstudents)
• Columns:UsePascalnotation,e.g.,“StudentId”• PrimaryKeys:
– Ifthetablenameis“COURSE”,namethePrimaryKeycolumn“CourseId”,etc.
– “Always”useIntegerandIdentity(1,1)forPrimaryKeys• SpecifyRequiredColumns(NOTNULL)–i.e.,whichcolumnsthatneedto
havedataornot
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
3
• DataTypes:StandardizeontheseDataTypes:int,float,varchar(x),datetime,bit
• UseEnglishfortableandcolumnnames• Avoidabbreviations!(UseRoomNumber–notRoomNo,RoomNr,...)
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
4
Oppgave2(20%):UMLDiagram
UseCaseeksempel(10%):
Måhamedlittforklarendetekstitilleggtildiagrammet/diagrammene!
Klassediagrameksempel(10%):EksemplerpåKlasser:
Login
Appointment
User
Doctor(arverfraUser)
Patient(arverfraUser)
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
5
..
Måhamedlittforklarendetekstitilleggtildiagrammet/diagrammene!
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
6
Oppgave3(5%):Kravspesifikasjon
Funksjonelle/ikke-funksjonellekrav(4%)Eksemplerpåfunksjonellekrav:
• Ansatteskalkunneregistrerenyepasienteridatabasen
• Enlegeskalkunnefågenerertenrapportmedlisteoverallesinetimeavtalerenbestemtdagelleruke.
• Enbrukerskalfrakalendervisningkunneklikkepåenlediglegetimeogsåreserveredenne.Enbekreftelseskalsendesbrukerenpr.e-post.
• Ikalendervisningskalbrukerekunneendremellomdag-,måned-ellerårsvisning
Eksemplerpåikke-funksjonellekrav:
• Security:Systemetmåsikresbrukerautentiseringogkryptering,såikkepasientopplysningerkankommepåavveie.
• Reliability:1)Backupmåforetasavalledatahvernatt.2)Flerepersonermåkunnebrukesystemetsamtidig,utenatdetrisikeresdobbelt-bookingavtime(samtidighetskontroll).
• Usability:1)Minimumåtteavtitestpersonerskalklareåbestilleentimemedsystemetiløpetav1minutt,utenbruksanvisning.2)Informativefeilmeldingerskalgisvedfeilsituasjoner.
• Performance:Innen1minuttskalbrukerenhafåttene-postbekreftelsepåsintimebestilling.
• Supportability:Systemetskalminimumfungeremedfølgendenettlesere:InternetExplorer,Firefox,ChromeogSafari.
Muligåteste?(1%)Ja,detskalværemuligåtesteetikke-funksjoneltkrav.Allekravskalværekvantifiserbare,ogsådeikke-funksjonelle,sånnatdetermuligåtestedem.
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
7
Oppgave4(10%):Scrum/Utviklingsprosesser
ForslagtilprioritertBacklog(4%)
HvemharansvaretforprioriteringavPBI?(1%)”ProductOwner”eller”Produkteieren”pånorsk.Detteertypisk”kundensrepresentant”iprosjektet.
Nestetrinn?(1%)Starteselveutviklingen,dvs.StarteSprintPlanningogvelgeutoppgaverfraProductBackloginniSprintBacklogenforgjeldendesprint
Burndownchart(1%)Et”prosjektstyrings-verktøy”sombrukesiScrum.Her”trackes”hvormyesomgjenstårdagfordagigjennomsprinten.PlottetviserTid(dager)vs.RemainingWork.
Forskjellen?(2%)Forklarforskjellenpåsmidig(Agile)ogplandrevetutvikling:
Plandrevet:
• Prosessaktiviteteneplanlagtpåforhånd.Progresjonmålesihenholdtilplanen
• Entungprosessinkluderermangeaktiviteterogofteroller.Kreverformelle,detaljerteogkonsistenteprosjektdokumenter
• Ofte“for-tunge”
Smidig(Agile):
• Planleggingengjøreslittetterlitt(inkrementelt)
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
8
• Enklereåendreprosessenforåtilpasseendredekravfrakunden
• Fokuserermerpåfundamentaleprinsipper(f.eks.”kontinuerligtesting”).Harfærreformelledokumenterogeroftemeriterative
Eksempler(1%):Eksemplerpåplandrevneprosessmodeller:
• Fossefallsmetoden
• V-modellen
• Spiral-metoden
EksemplerpåSmidigeprosessmodeller:
• XP
• Scrum
• Kanban
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
9
Oppgave5(10%):Design/Arkitektur
GUI(5%)HerfinnesmangeløsningsalternativertilGUI.Deterviktigatdeterenkeltogintuitivtåbruke,minstmuligklikkforbrukerenosv.
Arkitektur(5%)Arkitektur:Typiskklient-servermeddatabaseforlagringavdata.BrukavWebteknologikanværeenfordelmedtankepåforenkletinstallasjonogvedlikehold,m.m.
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
10
Oppgave6(15%):Enhetsesting
2Enhetstester(10%)-5%forhverEnhetstest-eksempeliVisualStudio:using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using BankAccountNS; namespace BankTest { [TestClass] public class BankAccountTests { [TestMethod] public void TestMethod1() { } } }
Sjekk:Assert.AreEqual(expected, actual, 0.001, ”Test failed because...");
Kjøring(3%)Kjøringavenhetstestene:
Codecoverage(2%)• Codecoverageisameasureusedinsoftwaretesting.Itdescribesthe
degreetowhichthesourcecodeofaprogramhasbeentested.
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
11
• Dependingontheinputarguments,differentpartsofthecodewillbeexecuted.UnitTestsshouldbewrittentocoverallpartsofthecode
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
12
Oppgave7(10%):Testing
Forskjellen(4%)Enhetstester:
Individuelleprogramenheterellerobjekt-klassertestes.Fokuspååtestefunksjonalitetentilobjekterogmetoder.
• Enhetstestingtesterindividuelleenheteravkildekode.Iobjekt-orientertprogrammeringkandetværeenhelklasseellerenmetode
• Enhetentestesheltisolertfrarestenavsystemet
• Formåletmedenenhetstesteråforsikreatkodengjørakkuratdetdenskal.
Integrasjonstester:
Iintegrasjonstestingsettervisammenenheteroggjørtesterpåkomponenter.
Ulikeindividuelleenhetererintegrerttilsammensattekomponenter.Fokuspååtestegrensesnittettilkomponenter.
Eksempler(6%)Eksemplerifm.lege-timesystemet:
Enhetstester:
Integrasjonstester:
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
13
Oppgave8(15%):Dokumentasjon
Oversikt(5%)Typiskdokumentasjonifm.software-utvikling:
Dokument-kategorier:
ProcessDocumentation
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
14
TypiskProsess-dokumentasjon:
• DevelopmentPlan(withGanttChart,Resources,etc.)
• Meetingdocumentation(includedinVSO)
• Requirements&DesignDocument
• TestPlan(howtotest,etc.)&TestDocumentation(Testresults,etc.)
ProductDocumentation
TypiskProdukt-dokumentasjon:
• SystemDocumentation
o HowtheSystemWorksinatechnicalway.UsetheRequirements&Designasthefoundation.
o Requirements&Designisabouthowitshouldbe,whileSystemDocumentationisabouthowitbecame
o IncludesTechnicalDesignandPlatformOverview,DatabaseDiagram,UMLdiagrams,CADdrawings,CodeDocumentation,FlowCharts,withexplanations,etc.
o Howtodeploy(howtoinstallserver-sidelogic),maintain,etc.
UserDocumentation
TypiskUser-dokumentasjon:
• InstallationGuide(youmayincludeitaspartofUserManualand/orSystemDocumentation)
• UserManual(s)
Innhold(10%)SoftwareDevelopmentPlan(SDP):
• Introduction:Thisbrieflydescribestheobjectivesoftheprojectandsetouttheconstraints(e.g.,budget,time,etc.)thataffectsthemanagementoftheproject
• ProjectOrganization(TeamDescription)Thissectiondescribeshowthedevelopmentteamisorganized,thepeopleinvolvedandtheirrolesintheteam.SoftwareProcessModelDescription(Scrum,XP,Waterfall,...),etc.
• RiskAnalysis
• HardwareandSoftwareResourceRequirements
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
15
• WorkBreakdown(WBS,WorkBreakdownStructure):Breakdowntheprojectinintoactivitiesandidentifiesmilestones
• ProjectSchedule:Showsdependenciesbetweenactivities,theestimatedtimerequiredtoreacheachmilestone,allocationofpeopletoactivities.(5)and(6)istypicallydoneinaGanttChart(createdine.g.MicrosoftProject)
• MonitoringandReportingMechanisms:DefinitionoftheManagementReportthatshouldbeproduced,whentheyshouldbeproduced,etc.
• Toolsthatyouareusing
SRD/SDD(->SRD)
• Etløpendedokumentsombrukestilågienoversiktoverhvasomskallages(Requirements)/utviklesoghvordandetskallages/utvikles(Design).
• Brukessomen”kontrakt”mellomutviklingsfirmaogkunde,samtbrukeskontinuerligavutviklere(nårdeskallage/utvikleløsningen),testere(nårdeskaltesteløsningen)ogkunde(sikeatløsningenblirslikdeønsker)underveis.
• Myeavinnholdetlagesioppstartenavprosjektet(elleriforkantavprosjektet),meninnholdetmåoppdatereskontinuerlignårendringeroppstår,særligmedmedsmidigutviklingvildetteværetilfellet.
SoftwareTestPlan(STP):
IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016
16
Typiskinnhold:
• GoalsandExitCriteria(Quality,Robustness,Schedule,PerformanceGoalsoftheProduct,...)
• ItemstobeTested/Inspected(Executablessuchasmodulesandcomponents,Non-executablessuchasRequirementsandDesignspecifications,...)
• TestProcess/Methodologies(Unit,Functional,Acceptance,RegressionTests,Black-box,White-box,Testmetrics,Bugreportprocess,...)
• Resources(People,Tools,TestEnvironment,...)
• Schedule(Test-casedevelopment,Testexecution,Problemreportingandfixing,...)
• Risks(...)
• MajorTestScenariosandTestCases(...)
• BeskrivelseavTestmiljø,hvorertestmiljøet?hvordanbrukermandet?Evthvordansettermandetopp,osv.
• BeskrivelseavProsedyrerforBug-rapportering.HvorrapporterermanBugs?HvordanrapporterermanBugs?Osv.
UserManual:
• Acoverpage• Atitlepageandcopyrightpage• Apreface,containingdetailsofrelateddocumentsandinformationon
howtonavigatetheuserguide• Acontentspage• Aguideonhowtouseatleastthemainfunctionsofthesystem(Text+
ScreenShots)• Atroubleshootingsectiondetailingpossibleerrorsorproblemsthatmay
occur,alongwithhowtofixthem• AFAQ(FrequentlyAskedQuestions)• Wheretofindfurtherhelp,andcontactdetails