Organisationsorienteret softwareudvikling / Organization Oriented Software Development

Mærsk Mc-Kinney Møller Instituttet, Odense
Undervisningsaktivitetsnr.: I-ORG2-U1.
Undervisningssprog: Dansk.ECTS / belastning: 25 ECTS / 0.417 årsværk.
Periode: Forårssemestret 2016.Godkendt: 10-10-14.
Udbydes i: Odense.

Fagansvarlig:
Steffen P. Skov, Mærsk Mc-Kinney Møller Instituttet.

Forudsætninger:
Det anbefales, at alle moduler på 1. semester er bestået.


Indhold:
Modulet omfatter faglighederne:
  • GSE Grundlæggende software engineering
  • OL Organisation og ledelse
  • DB Databasedesign og -programmering
  • og semesterprojektet PRO Organisationsorienteret softwareudvikling

GSE Grundlæggende software engineering
Introduktion til objektorienteret softwareudvikling med UML og Unified Process. Krav (brugsmønstermodel og supplerende krav, domænemodel). Analyse (analyseobjekter og –klasser, relationer, interaktionsdiagrammer, brugsmønsterrealisering i analyse). Design (3-lagsmodellen, designklasser, designrelationer, interfacer og komponenter, brugsmønsterrealisering i design). Implementering (deployering).

OL Organisation og ledelse
Generelle teorier og modeller til reduktion af usikkerheden i organisatoriske og ledelsesmæssige beslutningsprocesser. Fagligheden hviler på den ide, at ledelsesmæssige og organisatoriske beslutninger bygger på både strukturelle og sociale elementer.

DB Databasedesign og -programmering
Relationelle databaser, databasedesign (konceptuel datamodellering, normalformer), relationel algebra, SQL, integration af SQL i programmeringssprog, basal diskstruktur, indexer og implementationer heraf (hashbaserede, træ-baserede)

PRO Semesterprojekt 2. semester: Organisationsorienteret softwareudvikling
I projektet udvikles dele af en softwareapplikation i en iterativ, objektorienteret proces. I udviklingen lægges der vægt på en anvendelsesorienteret proces, en brugervenlig udformning af brugergrænsefladen samt en analysemodel, der er modelleret i overensstemmelse med den virkelige verden (problemdomænet), ligesom der lægges vægt på at designmodel, databasemodel og implementering er i overensstemmelse hermed. I projektet lægges der videre vægt på den organisatoriske baggrund, idet der ses på hvilke problemstillinger og hvilke processer i organisationen som softwareudviklingen hænger sammen med, og der analyseres hvilken indvirkning softwareudviklingen har på organisationen. Applikationen udvikles i et givet objekt-orienteret sprog, men der eksperimenteres undervejs med anvendelse af andre sprog.

Målbeskrivelse:
Når semestret er færdigt, forventes den studerende at kunne opfylde både de overordnede mål for semestret (se semesterbeskrivelsen i studieordningens kap. 9), og de specifikke mål der er beskrevet nedenfor.

GSE Grundlæggende software engineering
Fagligheden sætter den studerende i stand til at kunne gennemføre iterativ og objektorienteret systemudvikling baseret på UML (Unified Modelling Language) og UP (Unified Process)

Ved faglighedens afslutning forventes den studerende at kunne:

(Viden:)
  • beskrive karakteristika ved og elementer i systemudviklingsprocesmodellen Unified Process (UP)
  • forklare styrker og svagheder ved Unified Process
  • beskrive hvad en kravspecifikation er, hvad den bruges til og hvilke elementer der indgår i den
  • beskrive hvad en brugsmønstermodel, hvad den bruges til og hvilke elementer der indgår i den
  • forklare styrken ved at lade en kravspecifikation være baseret på en brugsmønstermodel
  • beskrive hvad en domænemodel er, hvad den bruges til og hvilke elementer der indgår i den
  • beskrive hvad en analysemodel er, hvad den bruges til og hvilke elementer der indgår i den
  • beskrive hvad en designmodel er, hvad den bruges til og hvilke elementer der indgår i den
  • beskrive 3-lagsmodellen
  • forklare forskellen på analysemodeller og designmodeller

(Færdigheder:)
  • sammenligne Unified Process med andre procesmodeller
  • beskrive og anvende modelleringssproget Unified Modelling Language (UML)
  • udforme en brugsmønstermodel
  • udforske krav og beskrive dem
  • udforme en kravspecifikation ved anvendelse af brugsmønstre
  • udforme en domænemodel
  • udforme en analysemodel der indeholder såvel statiske som dynamiske elementer
  • udforme en designmodel der indeholder såvel arkitekturdesign som detaljeret design og såvel statiske som dynamiske elementer
  • konvertere en designmodel til et objektorienteret sprog
  • prioritere krav og brugsmønstre og benytte dette til planlægning af iterationer
  • tilrettelægge og gennemføre en objektorienteret softwareudviklingsproces brugsmønsterstyret og iterativ

OL Organisation og ledelse
Ved faglighedens afslutning forventes den studerende at kunne:

(Viden:)
  • beskrive organisationsteori og ledelse
  • forklare hvordan organisationer kan tilpasse sig deres omgivelser

(Færdigheder:)
  • udforske organisatoriske kendetegn, såsom struktur, organisatoriske processer (f. eks. Beslutningstagning) eller præstationer
  • analysere sammenhængen mellem beslutningstagning og de strukturelle resultater
  • analysere forholdet mellem organisatoriske processer og designet af organisationen
  • diagnosticere og anbefale ændringer i designet af organisationen

DB Databasedesign og -programmering
Ved faglighedens afslutning forventes den studerende at kunne:

(Færdigheder:)
  • designe en passende konceptuel model for en database ud fra en problembeskrivelse.
  • transformere en konceptuel model for en database til en passende relationel model
  • opskrive SQL udtryk for forespørgsler på en relationel database
  • optimere en relationel database gennem valg af indekser, brug af ækvivalente SQL udtryk, samt brug af teorien for normalformer
  • tilgå en database fra et applikationsprogram
  • beskrive et udført arbejde omhandlende ovenstående punker i et klart og præcist sprog, og på en struktureret måde

PRO Organisationsorienteret softwareudvikling (semesterprojekt)
Når projektet er færdigt forventes den studerende at kunne:

(Kompetencer:)
(OL Organisation)
  • undersøge anvendelsesområdet med henblik på at identificere struktur og organisatoriske processer, der er relevante for softwareproduktet
  • analysere softwareudviklingens påvirkning af det organisatoriske design og anbefale ændringer i designet af organisationen

(GSE Grundlæggende Software Engineering)
  • tilrettelægge og gennemføre et projekt brugsmønsterstyret, iterativt og objektorienteret baseret på Unified Process med fokus på inceptionsfasen og elaborationsfasen, herunder
  1. udarbejde kravmodel (anvendelsesområdemodel), herunder udforske og specificere krav for et softwareprodukt brugsmønsterbaseret
  2. prioritere krav og benytte dette til planlægning af iterationer
  3. udarbejde analysemodel (problemdomænemodel) for et projekt
  4. udarbejde designmodel for et projekt under anvendelse af en simpel trelagsarkitektur, herunder udforme en brugervenlig og anvendelsesorienteret udformning af brugergrænsefladelaget
  5. udarbejde et domænelag, der er modelleret i overensstemmelse med (analysemodellen)
  6. et teknisk lag der håndterer kommunikation med den underliggende tekniske platform, herunder en relationel database
  7. udarbejde en implementeringsmodel for et projekt rettet mod det eller de benyttede sprog
  8. udarbejde teknisk dokumentation for et softwareprodukt
  • forklare de styrker og svagheder, der er ved den anvendte procesmodel (Unified Process) i det givne projekt.

(VOP Videregående objektorienteret programmering)
  • programmere et softwareprodukt på grundlag af en designmodel og en implementeringsmodel
  • eksperimentere med valg af programmeringssprog til forskellige problemtyper
  • forklare fordele og ulemper ved de benyttede sprog samt styrker og svagheder i forhold til den givne opgave

(DB Databaser)
  • udforme en for projektet passende relationel model på basis af analysemodellen eller designmodellen
  • udforme databaseforespørgsler i SQL og benytte disse fra et javaprogram eller andet applikationsprogram

(Ingeniørgrundlag og praksis)
  • udforme projektgrundlag og milepælsplan
  • kunne samarbejde og kunne udføre individuelt arbejde
  • planlægge og styre projektets tidsmæssige forløb ved fremstilling af tidsplaner, mødedagsordener og mødereferater, samt påtage sig ansvaret for bestemte områder af projektarbejdet, herunder projektledelse
  • anvende udvalgte hjælpeteknikker og værktøjer til projektarbejdet samt til kommunikation af projektets resultater
  • skrive klar, præcis, og nøjagtig teknisk dokumentation, der følger veldefinerede standarder mht. format og inddragelse af relevante tabeller, figurer og referencer
  • reviewe teknisk dokumentation
  • formulere sig skriftligt om egen og andres indsats i projektsamarbejdet
  • argumentere for og vurdere gode og mindre gode arbejdsprocesser og preferencer vha. f.eks. BELBIN-gruppeprofil
(DSMI)
  • evaluere egen læring og sætte sig selvstændigt ind i ny viden

Undervisningstidspunkt:
Forår

Undervisningstimer:
GSE Grundlæggende software engineering: 1 ugentlig undervisningslektion på 4 undervisningstimer i 12 uger = 48 undervisningstimer.

OL Organisation og ledelse : 1 ugentlig undervisningslektion på 4 undervisningstimer i 12 uger = 48 undervisningstimer.

DB Databasedesign og –programmering: 2 ugentlig undervisningslektioner på 2 undervisningstimer 11 gange, 2 ugentlige instruktortimer på 2 undervisningstimer 10 gange. Projektarbejde.

Undervisningsform:
Undervisningen tilrettelægges i overensstemmelse med DSMI (Den Syddanske Model for Ingeniøruddannelser). En mere detaljeret beskrivelse af undervisningsformen fremgår af semesterplan og modulplan.

Løbende evaluering:

Følgende er en betingelse for at kunne gå til eksamen:

  • Gennemførsel af obligatoriske aktiviteter i de fagligheder, som modulet omfatter
  • Aflevering af projektdefinition/problemformulering for semesterprojektet i begyndelsen af forløbet
  • Aflevering af projektrapport
  • En betingelse for godkendelse af en obligatorisk aktivitet kan fx være at en afleveringsopgave afleveres til tiden og opfylder de krav der er specificeret til den

Kriterier for opfyldelse af eksamensbetingelser fastlægges inden semesterstart og fremgår af planen for modulet.

Den studerendes standpunkt og deltagelse evalueres via en række aktiviteter, hvis resultater samles i den studerendes personlige portefølje.

Prøveform:
Ekstern prøve bedømt med én samlet karakter efter 7-trinsskalaen. I prøven indgår følgende:

(1) Test omfattende
GSE Grundlæggende software engineering
OL Organisation og ledelse

(2) Take home eksamen
DB Databasedesign og –programmering

(3) Projekteksamination i semesterprojektet
I bedømmelsen indgår dels en individuel bedømmelse af det skriftlige arbejde dels en individuel bedømmelse af den mundtlige præstation.

Testen i (1) kan omfatte spørgsmål af typen Multiple Answer, Multiple Choice, Essay o.l.

Den studerende kan forvente at (1) indgår i den samlede bedømmelse med ca. 2/6, (2) indgår med ca. 1/6 og (3) med ca. 1/2.

Kommentar:
Førsteårsprøven
Modulet udgør en obligatorisk del af førsteårsprøven

ECTS/Belastning fordelt på fagligheder og semesterprojekt:
GSE Grundlæggende Software Engineering: 5 ECTS
OL Organisation og ledelse: 5 ECTS
DB Databasedesign og -programmering: 5 ECTS
PRO Organisationsorienteret softwareudvikling: 10 ECTS.

Du skal være opmærksom på, at dette modul indgår i 2. semester på diplomingeniøruddannelsen i Informations- og Kommunikationsteknologi. Uddannelseskonceptet "Den Syddanske Model for Ingeniøruddannelser" som ligger til grund for den studieordning, du er omfattet af, er bygget op omkring kompetencemål på såvel uddannelses-, semester- og modulniveau. Derfor bør du, som led i dine studier, holde dig orienteret om de nævnte kompetencemål på det aktuelle studietrin i den studieordning, som gælder for dig.

Studier:
Diplomingeniør i Informations- og Kommunikationsteknologi (It)
2. semester, obligatorisk. Udbydes i: Odense