17
Høgskolen i Sørøst-Norge Løsningsforslag Merk! Løsningene som er skissert er ikke nødvendigvis de eneste riktige løsningene, samt noen av løsningsskissene er kun stikkordpreget/mangelfulle. For fullstendig beskrivelser og forklaringer, se lærebøker, forelesningsnotater, etc. Sluttprøve 2016 Emne: IA4412 – Systemutvikling og dokumentasjon Fagansvarlig: Hans-Petter Halvorsen og Olav Dæhli Klasse: IA2, A-vei Dato: 2016.06.01 Time: 09:00-12:00 Oppgavesettet består av følgende: Antall sider: 17 (inkl. denne siden og vedlegg) Antall oppgaver: 8 Vedlegg: Ingen Hjelpemidler: Ingen hjelpemidler tillatt Sluttprøven teller 30% av sluttkarakteren. Kandidaten må selv kontrollere at oppgavesettet er fullstendig. Fagansvarlig besøker normalt ikke eksamenslokalene. Kandidater kan ikke kalle på fagansvarlige for å få hjelp til å tolke noen av eksamensoppgavene. Hvis du mangler eventuelle forutsetninger for å løse oppgaven, må du definere passende antagelser selv. Alle svar må begrunnes, selv om det ikke står dette eksplisitt i oppgaveteksten! Vennligst bruk kulepenn og skriv tydelig. (Hvis sensor ikke kan lese håndskriften har man ikke annet valg enn å gi 0 poeng)!

Høgskolen i Sørøst-Norge

  • 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

IA4412–Systemutviklingogdokumentasjon–LøsningsforslagSluttprøve2016

17

• Aglossaryand,forlargerdocuments,anindex