Eksamensoppgåve i TDT Programvareutvikling

Like dokumenter
Eksamensoppgave i TDT Programvareutvikling

Institutt for Institutt for datateknikk og informasjonsvitenskap (IDI) Faglig kontakt under eksamen: Faglærer Carl-Fredrik Sørensen Tlf.

Oppgåve 1: Fleirvalsoppgåve (25%)

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

Eksamensoppgave i AFR1000 Innføring i Afrikastudier

Eksamensoppgave i SANT2100 Etnografisk metode

Eksamensoppgave i GEOG Befolkning, miljø og ressurser

Eksamensoppgave i SANT1001 Sosial organisasjon og identitetsdannelse

Eksamensoppgave i GEOG Menneske og sted I

Eksamensoppgave i SANT1002 Økonomi, politikk og økologi

Examination paper for BI2034 Community Ecology and Ecosystems

Examination paper for (BI 2015) (Molekylærbiologi, laboratoriekurs)

HONSEL process monitoring

Eksamensoppgave i PSY3100 Forskningsmetode - Kvantitativ

Eksamensoppgave i GEOG1004 Geografi i praksis Tall, kart og bilder

Eksamensoppgave i TDT Programvareutvikling

Eksamensoppgave i SFEL Samfunnsfaglige perspektiver på naturressursforvaltning

Forelesning IMT mars 2011

Slope-Intercept Formula

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

Eksamensoppgave i PSY3100 Forskningsmetode - Kvantitativ

Eksamensoppgave i POL1003 Miljøpolitikk, energipolitikk og ressursforvaltning

Eksamensoppgåve i ST0103 Brukarkurs i statistikk

Lykke til! Eksamen i fag TDT4140 Systemutvikling NTNU Norges teknisk-naturvitenskapelige universitet

Eksamensoppgave i GEOG1001 Menneske og sted II

Eksamensoppgave i SOS1000 Innføring i sosiologi

Eksamensoppgave i SANT3508 Globalization Theory and Culture

Eksamensoppgave i GEOG Geografi i praksis - Tall, kart og bilder

Øystein Haugen, Professor, Computer Science MASTER THESES Professor Øystein Haugen, room D

buildingsmart Norge seminar Gardermoen 2. september 2010 IFD sett i sammenheng med BIM og varedata

Eksamensoppgave i GEOG1005 Jordas naturmiljø

Eksamensoppgave i SFEL Samfunnsfaglige perspektiver på naturressursforvaltning

Examination paper for TDT4252 and DT8802 Information Systems Modelling Advanced Course

EKSAMENSOPPGAVE I SØK 1002 INNFØRING I MIKROØKONOMISK ANALYSE

Eksamensoppgave i GEOG1005 Jordas naturmiljø

Eksamensoppgåve i ST1201/ST6201 Statistiske metoder

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Eksamensoppgave i SANT2010 Mennesket og natur: Politisk økologi

EKSAMENSOPPGAVE I BI2014 MOLEKYLÆRBIOLOGI

Elektronisk innlevering/electronic solution for submission:

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

TUSEN TAKK! BUTIKKEN MIN! ...alt jeg ber om er.. Maren Finn dette og mer i. ... finn meg på nett! Grafiske lisenser.

NTNU Norges teknisk-naturvitenskapelige universitet Institutt for sosiologi og statsvitenskap

The exam consists of 2 problems. Both must be answered. English

UNIVERSITETET I OSLO

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

TUSEN TAKK! BUTIKKEN MIN! ...alt jeg ber om er.. Maren Finn dette og mer i. ... finn meg på nett! Grafiske lisenser.

TUSEN TAKK! BUTIKKEN MIN! ...alt jeg ber om er.. Maren Finn dette og mer i. ... finn meg på nett! Grafiske lisenser.

Kurskategori 2: Læring og undervisning i et IKT-miljø. vår

Eksamensoppgave i BI Marin biodiversitet

Uke 5. Magnus Li INF /

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

EKSAMENSOPPGAVE I BI3013 EKSPERIMENTELL CELLEBIOLOGI

Eksamensoppgave i FI1303 Logikk, viten og virkelighet

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Eksamensoppgave i NORD1108 Nordisk litteraturhistorie, 7.5 sp.

A Study of Industrial, Component-Based Development, Ericsson

Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX)

Eksamensoppgave i SØK1002 Mikroøkonomisk analyse

Ingen hjelpemiddel er tillatne. Ta med all mellomrekning som trengst for å grunngje svaret. Oppgåve 1... (4%) = = 10 =

Øygarden kommune - Driftstilpasning 2013

Norsk Grammatikk Oppgaver

Kurskategori 3: Design av IKT- systemer. Normalt vår, 14/15: høst

Neural Network. Sensors Sorter

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Eksamen UVEXFAC - Høst 2012

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Ph.d-utdanningen. Harmonisering av krav i Norden

Eksamensoppgåve i ST0103 Brukarkurs i statistikk

Eksamen i fag SIF8018 Systemutvikling. Fredag 25. mai 2001 kl

Brukerkrav og use case diagrammer og -tekst 19. januar Agenda. Brukerkrav og use case. Diagrammer Tekst.

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

NTNU Norges teknisk-naturvitenskapelige universitet Institutt for sosiologi og statsvitenskap

Forelesning IMT Mars 2011

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

Emneevaluering GEOV272 V17

Oppgave 1: Flervalgsoppgave (25%)

Eksamen REA3015 Informasjonsteknologi 2 Elevar/elever og privatistar/privatister. Nynorsk/Bokmål

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Eksamensoppgave i SØK2008 Offentlig økonomi

Eksamensoppgåve i TMA4295 Statistisk inferens

TEKSTER PH.D.-KANDIDATER FREMDRIFTSRAPPORTERING

FASMED. Tirsdag 21.april 2015

Eksamensoppgåver H07/ Eksamensoppgaver H07

Eksamensoppgåve i TMA4240 Statistikk

API: Application programming interface, eller programmeringsgrensesnitt

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

UNIVERSITETET I OSLO

KONTINUASJONSEKSAMEN I EMNE TDT4195 BILDETEKNIKK ONSDAG 13. AUGUST 2008 KL

EMNERAPPORT INSTITUTT FOR BIOMEDISIN

NTNU Norges teknisk-naturvitenskapelige universitet Institutt for sosiologi og statsvitenskap

UNIVERSITETET I OSLO

Prosjektet Digital kontaktinformasjon og fullmakter for virksomheter Digital contact information and mandates for entities

Trådløsnett med Windows Vista. Wireless network with Windows Vista

Improving Customer Relationships

TEKSTER PH.D.-VEILEDERE FREMDRIFTSRAPPORTERING DISTRIBUSJONS-E-POST TIL ALLE AKTUELLE VEILEDERE:

NTNU, TRONDHEIM Norges teknisk-naturvitenskapelige universitet Institutt for sosiologi og statsvitenskap

Information search for the research protocol in IIC/IID

Kartleggingsskjema / Survey

Gir vi de resterende 2 oppgavene til én prosess vil alle sitte å vente på de to potensielt tidskrevende prosessene.

Transkript:

1 Institutt for Institutt for datateknikk og informasjonsvitskap (IDI) Eksamensoppgåve i TDT4140 - Programvareutvikling Fagleg kontakt under eksamen: Faglærer Carl-Fredrik Sørensen Tlf.: 95119690 Eksamensdato: 08.08.2014 Eksamenstid (frå-til): 09:00 13.00 Hjelpemiddelkode/Tillatne hjelpemiddel: C: Pensumbok: Ian Sommerville, Software Engineering 9. Bestemt, enkel kalkulator tillatt. Annan informasjon: Eksamen utvikla av Faglærar Carl-Fredrik Sørensen og kontrollert av Torbjørn Skramstad Målform/språk: nynorsk Sidetal: 13 Sidetal vedlegg: 1 Kontrollert av: Dato Sign

2

3 Dokumenter og grunngje eventuelle føresetnader. Oppgåve 1: Fleirvalsoppgåve (25%) Bruk dei to vedlagde svarskjema for å svare på denne oppgåva (ta vare på den eine sjølv). Du kan få nytt ark av eksamensvaktene om du treng det. Berre eitt svar er heilt riktig. For kvart spørsmål teller korrekt svar 1 poeng. Feil svar eller meir enn eitt kryss teller 0.5 poeng. Blankt svar teller 0 poeng. Du får ikkje mindre enn 0 poeng totalt på denne oppgåva. Der det er spesielle uttrykk står den engelske omsetjinga i parentes. 1) Kva er Software Engineering? a) Er eit sett av reglar om korleis ein skal utvikle programvare. b) Har vært ein eigen disiplin sidan tidleg på 50-tallet og er nå ein moden ingeniørdisiplin på linje med andre etablerte disiplinar innan ingeniørfeltet. c) Starta som ein respons på den såkalla Software Crisis seint på 60-tallet. d) Er ein eigen ingeniørdisiplin som omfattar alle aspekt av programvareproduksjon 2) Ein programvareutviklar som slutter seg til «Software Engineering Code of Ethics and Professional Practices» må: a) Alltid praktisere i samsvar med IEEE standardar b) Hjelpe kollegaer i profesjonell utvikling c) Være medlem av IEEE Computer Society d) Unngå alle problemstillingar knyta til finans og lønsemd 3) Ein programvareingeniør er tilsett i selskapet som designar og framstiller røystingmaskinar for bruk i kommune- og stortingsval. Ho er tilsett for å utvikle arkivsystemet for å sikre røystinginformasjon og røystingresultat. Kva av handlingane nemnt nedanfor vil mest sannsynleg være eit brot på «Software Engineering Code of Ethics and Professional Practice»? a) Ho leverte ikkje korrekt og tilstrekkeleg dokumentasjon av sitt arbeide i prosjektet. b) Ho har ikkje tidligare arbeid i eit prosjekt for utvikling av røystingmaskinar. c) Ho er registrert som røystar i kommunen der maskina vil bli nytta. d) Ho oppdaga eit signifikant mengd feil i sitt eiga design av arkivsystemet. 4) Ein livssyklus for programvare kan bli forklart som å bestå av ei serie av fasar. Den klassiske modellen blir kalla fossefallsmodellen. Kva for ein fase kan defineras som kor konsept blir undersøkt og forfina, og framkallar derfor kundekrav?" a) Krav b) Spesifikasjon c) Design d) Implementering 5) Kva for element skal IKKJE være inkludert i ein prosjektplan for utvikling av programvare? a) Teknikkane og case-verktøy som skal nyttas b) Livssyklusmodellen som skal nyttas

4 c) Organisasjonsstruktur på utviklingsorganisasjonen, prosjektoppgåver, leiingsmål og prioritetar d) Ingen av alternativa 6) Kva er det korrekte utsegn i høve til evolusjonær utvikling/«evolutionary development». a) Evolusjonær utvikling kjem normalt i to forskjellige former: Undersøkande/exploratory utvikling og bruk-og-kast prototyping b) Veldig store prosjekt er naturlege kandidatar til evolusjonær utvikling c) Undersøkande/exploratory utvikling blir nytta i situasjonar der dei fleste krava er godt kjend på førehand. d) Eit av dei sterkaste punkta for evolusjonær utvikling er at det forenklar prosjektstyring gjennom den store mengda dokumentasjon som blir generert 7) I vedlikehaldsfasen må produktet testast mot tidligare test caser. Dette er og kjent som testing. a) Einings b) Integrasjons c) Regresjons d) Akseptanse 8) Eit eksempel på ein risiko involvert i programvareutvikling a) Produsenten av kritiske komponentar (f.eks. maskinvare som er assosiert med eit sanntidssystem) kan gå konkurs. b) Teknologiendringar kan medføre at produktet blir forelda c) Konkurrentar kan marknadsføre eit tilsvarande produkt til ein lågare pris d) Alle er riktige 9) Graden av interaksjon mellom to moduler er kjent som a) Kohesjon/Cohesion b) Arv/Inheritance c) Kopling/Coupling d) Instansiering/Instantiation. 10) Interne kostnader i eit prosjekt inkluderer a) Løn til utviklarar b) Løn til leiarar og støttepersonell c) Overheadkostnadar t.d. til hjelpesystem, husleige og toppleiing d) Material (som f.eks. manualar og bøker) og tenester som t.d. reiser 11) Resultat frå algoritmisk kostnadsestimering i forskjellige organisasjonar kan være forskjellige for den same type applikasjonsutvikling fordi a) Ulike organisasjonar ser på kompleksitetsfaktorar ulikt og kan nytte ulike programmeringsspråk b) Dugleiken til utviklarar kan variere c) Teknikkar for måling av produktivitet kan variere d) Alle er riktige.

5 12) Kva for element fangar best naturen til eit kvalitetsparadigme? a) Kvalitetskarakteristikkar, prosessperspektiv, eliminering av defektar b) Målingar, kvalitetskontroll, validering c) Gjennomføringsevne, krav, økonomi, brukarbehov d) Analyse, test, design 13) Når ein veljar ein livssyklusmodell for programvareutvikling, så vil ein ta med i vurderinga: a) Ekspertisen til utviklingsgruppa, problemkarakteristikkar, venta resultat frå brukar b) Programmeringsspråk, tidsramme for utvikling, konkurransesituasjon c) Systemkontekst, brukarpopulasjon, plattformar d) Organisatorisk struktur, brukaroppgåver, ytingskriteria 14) Kva for av dei føljande er IKKJE vurdert som ein primær drivkraft for å forbetre programvareprosessen? a) Økt effektivitet b) Betre produktkvalitet c) Forbetring av personaltilfredshet d) Tettare leiingskontroll 15) Når ein skal planlegge eit programvareprosjekt vil ein: a) Tilpasse tidsplanen for å kunne handtere eventuelle feil b) Finne måtar å produsere resultat med tilstrekkeleg kvalitet ved hjelp av avgrensa ressursar. c) Overestimere budsjettet (PI-faktor) d) Alle er riktige 16) Kor mange testar må lagas for å teste fire vilkår i ei IF-setning? a) 4 b) 8 c) 12 d) 16 17) For å være eit effektivt verktøy i prosessforbetring, så må underlagsmetrikkane være a) Basert på rimelige estimat frå mislukka prosjekt b) Målt konsistent på tvers av prosjekt c) Basert bare på vellukka prosjekt d) Basert på mislukka prosjekt

6 18) Ein programvareutviklar måler kvaliteten av eit programvaresystem. Ho er uroleg for pålitelegheita («reliability») og validiteten («validity») av målingane sine. Kva for eit av desse utsegn er sant? a) Pålitelegheit refererer til i kva for grad målingane representerer den eigentlege kvaliteten til systemet og validitet refererer til konsistensen av hennar kvalitetsmålingar. b) Pålitelegheit refererer til konsistensen av hennar kvalitetsmålingar og validitet til i kva for ein grad målingane representerer den eigentlege kvaliteten til systemet. c) Pålitelegheit refererer til nøyaktigheita på hennar kvalitetsmålingar og validitet referer til i kva for ein grad målingane fyljar ein kvalitetsstandard. d) Pålitelegheit refererer til samtidigheita av hennar kvalitetsmålingar og validitet refererer til i kva for ein grad målingane er konsistent med etablerte normer. 19) DIFI har definert sju arkitekturprinsipp. Seks av desse er tenesteorientering, interoperabilitet, sikkerhet, openheit, tilgjenge og skalerbarheit. Kva er det sjuande? a) Fleksibilitet b) Funksjonsstabilitet c) Testbarheit d) Yting 20) Interoperabilitet er eit viktig arkitekturprinsipp. Kva for typar interoperabilitet er definert av DIFI? a) Obligatorisk bruk av web-protokollane SOAP, REST og JSON b) Organisatorisk, semantisk og teknisk interoperabilitet c) Etablering av felles IKT-løysningar i offentlig sektor d) Definerte standardar for kommunikasjon og integrasjon

7 KLADD Svarskjema: Oppgave 1 Oppgavenr A B C D 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20

8

9 INNLEVERING Svarskjema: Oppgave 1 Oppgavenr A B C D 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20

10

11 Oppgåve 2 Programvareutvikling (50%) Det skal utviklast ei generisk og konfigurerbar IKT-løysning for å lage spesifikke feltloggings-appar for mobile einingar. Løysninga skal kunne tilpassas forskjellege typar observasjonsstudie, f.eks. innan biologi, geologi, arkeologi, miljøforvaltning, inspeksjonar av konstruksjonar og sosialvitskap. Vedlegg A skildrar eit døme på eit observasjonsstudium innan biologi. Appane av ein type feltstudie skal kunne kjøre på forskjellege typar klientar (pc, mobil, etc.) og skal kunne synkroniseras mot eit felles datalager ved konnektivitet (3G, WLAN etc.). Appane skal kunne integreras med GPS for posisjonering og kunne lagre multimedia-objekt knytta til feltstudiet. IKT-løysninga kan deles inn i to delar: 1. Konfigureringssystem: Nyttas for å bygge opp instansar av feltloggings-appar 2. Målapplikasjonar: Forskjellige variantar av app-ar for feltlogging. a) (5%) Lag eit UML Use case-diagram for høvesvis konfigurasjonssystemet, og spesifikt for spurveappen som skildra i vedlegget. b) (5%) Lag eit tekstleg use case for scenarioet: Konfigurer spurve-app. Dersom det baserer seg på extends/use relasjoner med andre use case, lag og tekstlege use case for desse. c) (5%) Lag eit aktivitetsdiagram for use caset: Konfigurer spurve-app basert på Oppgåve 2b. d) (5%) Definer dei viktigaste ikkje-funksjonelle kvalitetskrav/arkitekturkrav til appane som blir laga. e) (10%) Lag ei arkitekturskisse for konfigurasjonssystemet og ei arkitekturskisse for spurve-appen. Kva for hovudkomponentar og koplingar/grensesnitt må det gis tilbod om? f) (5%) Kva for ein eller kva for arkitekturmønstre (patterns) bør eit slikt system nytta? Skildra korleis og kvifor eit valt mønster bør nyttas. g) (5%) Definer dei viktigaste klassane og lag eit UML klassediagram for konfigurasjonssystemet. Inkluder dei viktigaste metodane på forma <response> metodenavn(<parametere>). Argumenter kvifor desse er dei viktigaste metodane.. h) (10%) Definer ein grov prosjektplan for utvikling av konfigurasjonssystemet. I prosjektplanen må det defineras hovudaktivitetar, milepælar og avhengigheitar. Skisser korleis prosjektet eventuelt kan delast inn i delprosjekt. Argumenter for kva for ein utviklingsprosess som vil være mest høveleg.

12 Oppgåve 3: Risikostyring, komponentbasert utvikling, produktlinjer (25%) a) (10%) Føljande strategiar kan nyttas i systemdesign til å sikre pålitelegheita (dependability) til eit kritisk system for å handtere risikoar i høve til at ei ulykke eller hending skjer når systemet er i bruk. Beskriv kva for strategi med passande eksempel og diskuter potensielle problem som er assosiert med kvar strategi: i. Skadereduksjon (damage limitation) ii. Oppdaging og fjerning av risiko iii. Unngå risiko b) (5%) Forklar kva som er ment med komponentbasert programvareutvikling (CBSE) og diskuter kva for ei påverking open kjeldekode-prosjekt, tilgjengelig på Internett, har på CBSE-praksisen c) (10%) Forklar kva som er ment med ei produktlinje av programvare i samanheng med programvareutvikling. Diskuter korleis og kvifor eit programvarehus kan ønske å utvikle si eiga produktlinje. Svaret må inkludere passande eksempel.

13 Vedlegg A Project description for the house sparrow project. 1. Background: The house sparrow project at Department of Biology NTNU has collected data from natural populations of house sparrows along Helgelandkysten since 1993. The birds are captured and nests are checked every year on several islands over a large area. Fieldwork is performed during the breeding season (May-Aug) as well as shorter periods during autumn and winter. Often there are several teams of field workers collecting data at the same time in different areas. 2. Field data 2.1 Data types Field data can be organised into different categories, often representing different temporal and biological scales. Island data: e.g. position, size and other permanent attributes. Population/colony data: e.g. annual populations sizes Nest data: e.g. position Clutch data: number of eggs, number chicks, age of chicks. Individual data: morphology, parasites, sex, age et c is collected each time an individual is captured or observed, often on several different occassions per year, and in several different years. Different (and fewer) variables are collected from chicks in the nests than from adults that are captured. In addition to capture data, we also get individual data by observing, with binocular, the unique combinations of colour rings that each bird is marked with. 2.2 Collection of field data Present dataflow Data has so far been recorded in the field with pen and paper, with no possibilities of validating the data, time-consuming and error-prone transcription and post-processing of data and post-processing of data. All data has been stored together in a two-dimensional spreadsheet format in SPSS. Future dataflow We wish to use a tool for gathering of field data a local mobile application with user interface that obviate the need to transcribe field data collected on paper, that ensure validation and a consistent input. All entered data should be transfered to a central data repository. Access to subsets of the data from the central repository should also be made available locally, e.g. to see previously recorded data from a specific individual, to use previously recorded data to validate data that is being entered. Due to poor mobile net in some parts of the study we need to have the ability to collect data offline, which then is synchronized/backed-up as soon as Data needs to be synchronized between mobile and central systems, and ideally between mobile units.