Teknisk implementering Introduktion
Dagsplan Præsentation af kurset Analyse og design i systemudviklingsprojekter Introduktion til Objektorienteret Analyse & Design (dagens tekst) Praktisk introduktion til huset ( Jane Andersen) Dagens opgaver
Kursusbeskrivelse Omfang: 14 kursusgange Obligatorisk opgave skal godkendes for at kunne gå til eksamen Indhold: Objektorienteret analyse Design og realisering af databaser med DDL og SQL Design og realisering af brugergrænseflader med HTML Black-box test teknikker
Materiale og opgaver Litteratur Opgave”regning” Objektorienteret analyse og design Introduktion til SQL – databaser på nettet, Lars Ingesman HTML, Deidre Hayes Softwaretest, Teknik, Struktur, Metode, Poul Staal Vinje (note) A Rational Design process: How and why to fake it, Parnas & Cements (artikel) Opgave”regning” Opgaver som hjælper med til at få de basale begreber på plads Obligatorisk opgave med udgangspunkt i eget projekt
Formål med analyse og design At medvirke i en IT baseret forandring i brugerorganisationen. At forstå et edb-system, dets omgivelser og vilkårene for dets realisering At aftale kravene til et edb-system (samt de relaterede ydelser) At designe et edb-system uden væsentlige usikkerheder (kvalitet)
Analyse og design: Kendetegn Udgør typisk 15 – 30 procent af et projekt-forløb Udføres typisk af kompetente udviklere i samarbejde med fremtidige brugere (erfaring og teknisk viden vigtig) Kræver en bred vifte af kompetencer (som ikke alle dækkes af dette kursus) Er ofte en relativ turbulent proces med mange ændringer og stor usikkerhed
Analyse og design: Hvordan ? Brug af interviews og tekstbaserede specifikationer Prototyping: Byg og afprøv prototyper og forfin på den måde kravene Objektorienteret Analyse og Design Agil systemudvikling
Metoders betydning Forkorter oplæringstiden for nye Formidler erfaring Letter samarbejdet fordi processen er forholdsvis veldefineret En god metode kan dog ikke kompensere for: Manglende kompetence hos udviklere og brugere Dårlige vilkår for analyse og design arbejdet
Traditionel, top-down tilgang
Brugsmønster-drevet, arkitektur-centreret, inkrementel tilgang
Om strukturen i OOA&D Bygget op om 4 centrale spørgsmål: Hvilken del af virkeligheden er det at systemet skal bruges til at administrere, overvåge eller styre? (p.o.) Hvordan skal systemet hjælpe dem der administrerer, overvåger eller styrer? (a.o.) Hvordan skal edb-systemets arkitektur designes, for at man kan realisere kravene på den tekniske platform? Hvilke komponenter er nødvendige for at realisere kravene?
Modellér omgivelserne Problemområde: Den del af omgivelserne, der administreres, overvåges eller styres ved hjælp af et edb-system Anvendelsesområde: Den organisation, der administrerer, overvåger eller styrer et problemområde
Systemvalg At systemudviklere og brugere får en nuanceret forståelse af situationen At fastlægge de overordnede egenskaber ved det nye system At overveje alternative løsningsmuligheder mens det er billigt at ændre kurs At afstikke rammerne for det efterfølgende analyse og design arbejde At muliggøre en vurdering af omkostninger og fordele ved at udvikle systemet At danne grundlag for beslutningen om hvorvidt projektet skal fortsætte – og indgå endelig aftale
Edb-systemets omgivelser og dele Systemvalget går ud på at fastlægge disse aspekter for en konkret edb-løsning
Aktiviteter i Systemvalg Systemdefinition: En kortfattet og præcis beskrivelse af en IT-løsning udtrykt i naturligt sprog
Beskriv situationen i et rigt billede Fokus på stabil situation
Skab nye ideer Forbilleder Eksempel: Forbillede for et nyt tekstbehandlingssystem kunne være word, wordperfect, papir og blyant (i brug) Studér et eksisterende Se på standardsystemer Metaforer Eksempel: En metaforer for et bibliotekssystem kunne være et lager en butik en kunstudstilling Eksperimenter med prototyper: Planlægning Udvikling Forberedelse Afprøvning Sammenfatning
Systemdefinition (BATOFF) B Frivillig arbejdskraft med relativt stor entusiasme og stærkt varierende administrativ erfaring. Kan udvikles selv om der er modstridende eller manglende krav. A Ledelsen af fodboldklubben, trænerne og forældrene T Billig PC-platform med gængse værktøjer. O Spillere, kampe, hold, facilliteter, materialer F Støtte til planlægning af et holds aktiviteter og til kommunikationen til forældre og ledelse. F Planlægnings- og kommunikations værktøj Betingelser: De betingelser, som systemets videre udvikling og brug er underlagt. Anvendelsesområde: En eller flere organisatoriske enheders administration, styring eller overvågning af et problemområde. Teknologi: Den teknologi, som systemet udvikles til og ved hjælp af. Objekter: En kommende brugers opfattelse af et problemområde. Funktionalitet: De hovedfunktioner, som systemet tilbyder til understøttelse af arbejdsopgaver i anvendelsesområdet. Filosofi: Den filosofi, der ligger bag edb-systemet.
Definér systemer Systemdefinition 1: Et edb-system, der bruges i arbejdet med planlægningen af et fodboldholds aktiviteter i løbet af sæsonen med hovedvægten på kamp og træningsplaner. Systemet skal primært være et planlægningsværktøj, men sekundært også et kommunikationsmedium til brug for trænere, forældre og klubbens ledelse. Systemet skal baseres på en billig PC med gængse værktøjer. Der skal i øvrigt tages hensyn til, at systemet skal kunne fungere i forskellige typer af miljøer præget af frivillig arbejdskraft med relativt stor entusiasme, men stærkt varierende PC erfaring Betingelser: De betingelser, som systemets videre udvikling og brug er underlagt. Anvendelsesområde: En eller flere organisatoriske enheders administration, styring eller overvågning af et problemområde. Teknologi: Den teknologi, som systemet udvikles til og ved hjælp af. Objekter: En kommende brugers opfattelse af et problemområde. Funktionalitet: De hovedfunktioner, som systemet tilbyder til understøttelse af arbejdsopgaver i anvendelsesområdet. Filosofi: Den filosofi, der ligger bag edb-systemet.
Opgaver Overvej hvorfor det er væsentligt at beskæftige sig systematisk med systemvalg. Hvad kan man aktivt gøre for at finde inspiration og tænke kreativt? Hvad er et rigt billede, og hvad bruges det til? Hvilke elementer skal indgå i det? Hvad er en systemdefinition, og hvad bruges den til?