TDDI02. Programmeringsprojekt. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Relevanta dokument
TDDI02. Programmeringsprojekt. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDI02. Programmeringsprojekt, Föreläsning 2. Filip Strömbäck. Med utgångspunkt i tidigare slides av Jonas Lindgren

Exempel på verklig projektplan

UTGÅNGSPUNKT KURSMÅL: Programmering (= kodning) och design (= konstruktion) är teknikområden. Kodning av lite större volym

TDP003. Föreläsning 2. Filip Strömbäck

Innehåll (3) Innehåll (2) Innehåll (5) Innehåll (4) Innehåll (6) Innehåll (7) Dokumenthistorik. beställare, Översiktlig beskrivning av projektet

Projektplanering. Projektplanen. Om inte projektet planeras noga, kommer det garanterat att misslyckas

LiTH Autonom styrning av mobil robot Projektplan. Martin Elfstadius & Fredrik Danielsson. Version 1.0

Projektplan. LiTH Segmentering av MR-bilder med ITK Anders Eklund. Version 1.0. Status. Bilder och grafik projektkurs, CDIO MCIV LIPs

Före Kravspecifikationen

LIPS Kravspecifikation. Institutionen för systemteknik Mattias Krysander

LIPS 1, 2002 Lätt Interaktiv Projektstyrningsmodell

Arbeta i projekt. Anders Hessel ITP-projekt Uppsala Universitet

Bilaga 5 b Mall för projektplan

Avropsavtalsbilaga 5

TDDI02. Programmeringsprojekt. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Bilaga 5 b: Mall för projektplan

Projektplan. LiTH AMASE Accurate Multipoint Acquisition from Stereovision Equipment. Johan Hallenberg Version 1.0

Projektarbete med IT-verktyg - modulanpassat

Projektplan. LIPs. Per Henriksson Version 1.0. LiTH 7 december Optimering av hjullastare. TSRT10 projektplan.pdf WHOPS 1

Översikt Projektilen version 2.0

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Projektplan David Sandberg Version 1.0

Projektplan, Cykelgarage

Ramverk för projekt och uppdrag

Robotgräsklippare PROJEKTPLAN. Robotgräsklippare. Version 1.1. Status. Granskad. Godkänd. Robotgräsklippare.

Processbeskrivning Test

PROJEKTPLAN. Programmerbar modellbåt Pontus Brånäs, Wojtek Thorn Version 1.1. Status

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Kravplan Projekt Datum Version. Författare KRAVPLAN. KravXperts i samarbete med Kunskapsresan Sida 1 av (7)

Projektplan GIS STADSMILJÖ- OCH SERVICEFÖRVALTNINGEN (9) Dnr STN-1121/2015

TDDI02. Programmeringsprojekt. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Verksamhetsutvecklingsprojekt

RESULTAT, AVSLUT OCH UPPFÖLJNING. Stefan Berglund

RESULTAT, AVSLUT OCH UPPFÖLJNING INFÖRANDET BYTE AV PROJEKTGRUPP/MEDLEMMAR? PLANERING INFÖR INFÖRANDET

Projektplan. LiTH Reglering av Avgaser, Trottel och Turbo Fredrik Petersson Version 1.0. Status. Reglerteknisk Projektkurs RATT LIPs

Bilaga A Projektmodell. Generell Projektmodell

TDDI02. På denna föreläsning: Programmeringsprojekt, Föreläsning 1. Kursinformation Vad är Software Engineering? Hur går ett projekt till?

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Detta har hänt... Kursinformation. Agenda. Kursinformation

Projektplan. Joachim Lundh TSRT10 - SEGWAY 6 december 2010 Version 1.0. Status:

PROJEKTPLAN. Detta dokument är avsett att användas som stöd vid framtagning av dokumentet Projektplan.

PROJEKTPLAN [PROJEKTNAMN]

Objektorienterad analys och design

TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER

Projektdirektiv. Verksamhet och Informatik (1)

Objektorienterad programmering

Agenda. Projektbeskrivning avsnitt 8: Acceptanstest - MS4 i korthet. Kursinformation

INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT

E-tjänst Särskilt boende Projektplan Version 1.0

Projektdirektiv Oskar Ljungqvist Sida 1. Kund/Examinator: Daniel Axehill, Reglerteknik/LiU

Projektplan. LiTH Autonom bandvagn med stereokamera Henrik Berggren Version 1.0. Status. TSRT10 8Yare LIPs. Granskad

Projektplan. Modellbaserad diagnos av motortestcell Fredrik Johansson Version 1.0. Status. TSRT71 Modellbaserad diagnos av motortestcell IPs

PROJEKT DOKUMENT-ID VERSION

Introduktion Vi har som uppgift att göra ett systemutvecklingsprojekt åt en kund. Målet är att tillfredställa alla behov denne kund har.

Projectbase Projektplan

Utbildningsmodul III. EPC-processen från kontrakt till garanterade besparingar. Project Transparense.

Exercise 1b: Requirements evaluation

Projektplan Autonomstyrning av gaffeltruck

TDDI02. Programmeringsprojekt, Föreläsning 1. Filip Strömbäck. Med utgångspunkt i tidigare slides av Jonas Lindgren

Bilaga 4c. Utveckling. Upphandling av IT-stöd för barn- och elevregister inom Skolplattform Stockholm UTBILDNINGSFÖRVALTNINGEN. Förfrågningsunderlag

SKOLFS. beslutade den XXX 2017.

Process IT-utveckling, översikt

Agenda. Föreläsning 6: Utvärdering och om tentamen. Kursinformation

Projektspecifikation Malmö högskola konceptmiljö

Separation of Concern. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Johannes Åman Pohjola, 2017

Agenda. Kursinformation. Manual för systemstart... Föreläsning 6: Utvärdering och om tentamen

Resultat, avslut och uppföljning

Projektplan. Grupp 8 Version 1.0

Riktlinjer Projektmodell fo r Kungä lvs kommun

Separation of Concern. Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018

Testplan Cykelgarage

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Projektmetodik. Johan Nilsson. Institutionen för Biomedicinsk Teknik LTH, Lunds Universitet

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

Programvaruutveckling - Metodik 2016 Jonas Wisbrant

Dokument 1 till Kontrakt PROJEKTGENOMFÖRANDE

Föreläsning 2: Projekt, Kravhantering, Dokumentgranskning

Alla rättigheter till materialet reserverade Easec

Projektplan. Redaktör: Patrik Molin Version 1.0. Mobile Scout. Status. LiTH Granskad Godkänd. TSRT71 Patrik Molin

Projekt KA KA-system v1.0. Projekt KA Siw Bengtsson

Card Consulting. Projektmetodik Lars Ahlgren Card Consulting

Detta har hänt... Föreläsning 2: Projektplanering & granskning. Pratat och provat kravhantering. Bildat projektgrupper :-) Skaffat litteratur?

Projektplan: Standardiserad hantering av SLU:s användaridentiteter, SLU-identiteter

LUNDS UNIVERSITET. Projektledning

Föreläsning 2: Projekt, Kravhantering, Dokumentgranskning

Detta har hänt... Agenda. Kursinformation. Kursinformation

Objektorienterad programmering, allmänt

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

Checklistor för riskidentifiering

Programmering = modellering

Projektdirektiv för införandet av ICF i äldreomsorgen

Konstruktion av datorspråk

Exercise 1b: Requirements evaluation

Aktiviteter vid avtalets upphörande

Utfärdat av: Utf datum: Dokument nr: Utgåva - Issue: Ange för och efternamn Ange Dokumentnummer 001

PROJEKTPLAN. Robotrace Robotrace Version 1.1. Status. Anton Karlsson Per Landström LIPS Projektplan i Oskar Svensson

Projekt KA KA-system v1.0

Datalagringsmetodik och arkitektur i Java. Projektdefinition. Projektdefinition. Björn Brenander. 7 maj 2001

Projektdirektiv Hanna Nyqvist Sida 1

Transkript:

TDDI02 Programmeringsprojekt. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Anatomin hos en projektplan Vad är klok design?

Projektarbete kräver.. Fördelning av arbete mellan grupper och individer, eventellt med hänsyn till kompetenser Flitig kommunikation mellan grupper/individer Beroende mellan grupper/individers alster En tidsplan Kontrollpunkter för att avgöra om planen måste ändras Dokumentation, för att Beskriva mål och förlopp för eventuella ersättare Samla erfarenheter Förbättra processen 2

Projektarbete kräver.. (cont.) En projektplan skall (åtminstone).. Vara nedskriven i förväg Beskriva vad som ska uträttas (inte hur) Vara välskriven, strukturerad, kortfattad och begriplig Ta hänsyn till tänkbara olyckshändelser Gärna vara modulariserad 3

En projektplan kan innehålla.. Översikt Intro till jobbet, kunden, gruppens egen organisation Fasplan Vilka utvecklingsfaser (metoder), vilka produkter, vilka datum? Organisationsplan Vilka team, ansvar? Testplan Vem? Procedurer? Verktyg? Förändringsplan Hur ska sånt hanteras? Dokumentationsplan Vilka, när, till vem? Vem godkänner? 4

En projektplan kan inn.. (cont.) Utbildningsplan Internt, externt. Vem, när, resurser? Plan för rapportering och reviews Vad, till vem, när? Installationsplan Vilken procedur krävs för att få igång? Plan för kvalitetssäkring Standarder som ska användas? Varuplan Vad ska levereras, när? Del-leveranser? Resursplan Persontid, datortid. Summering av milstolpar! 5

Exempel på milstolpar Fas Milstolpe Planerat datum Förstudiefasen Förstudiedokument klart 1994-02-05 Definitionsfasen Kravspecifikationsdokument klart 1994-02-25 Kontrakt skrivet 1994-02-25 Acceptansvillkor framställda 1994-02-25 Projektplan klar 1994-03-04 Designfasen Designdokument klart 1994-04-15 Programmerarhandbok klar 1994-04-13 Systemtestfall framställda 1994-04-05 Integrationstestfall framställda 1994-04-08 Modultestinstruktioner framställda 1994-04-15 Programmeringsfasen Teknisk dokumentation klar 1994-05-06 Användarhandledning klar 1994-05-06 Testfasen Modultest klara 1994-04-22 Integrationstest klar 1994-05-03 Systemtestning klar 1994-05-06 Avslutningsfasen Efterstrudiedokument klart 1994-05-20 Acceptansöverenskommelse klar 1994-05-10 Slutrapport från kvalitetsarbete klart 1994-05-20 Återkoppling klar 1994-05-20 Anmärkning: För täta, för små. Borde nog innehålla mer av godkänt/accepterat. 6

Planering: GANTT-diagram 7

Planering: PERT-diagram 8

Exempel på organisation 9

Kompetenskrav? Graden av skicklighet som kan krävas för olika faser eller arbetsmoment vid programvaruutveckling. 10

Rubriker i verklig projektpl. 1. Revisionshistoria 1.1 Ändringslogg 1.2 Relaterade dokument 2. Förutsättningar och bakgrund 2.1 Syfte 2.2 Bakgrund 3. Mål 3.1 Affärsmål 3.2 Systemmål 3.3 Kvalitetsmål 4. Omfattning och resultat 4.1 Projektets uppgift 4.2 Avgränsningar 4.3 Förväntade resultat 5. Kopplingar till andra projekt 11

Rubriker i verklig pro.. (cont.) 6. Projektorganisation 6.1 Styrgrupp 6.2 Projektorganisation 6.3 Ansvar 6.4 Ansvarsmässig avgränsning 6.5 Projektmöten 6.6 Samverkan och rapportering 6.7 Resursplan 7. Arbetsmetodik 7.1 Arbetsmetod 7.2 Verifiering 7.3 Validering 7.4 Upphandling/köp 7.5 Kommunikationsplan 7.6 Testplan 7.7 Kvalitetsplan 12

Rubriker i verklig pro.. (cont.) 8. Tidplan och milstolpar 8.1 Milstolpar 8.2 Tidplan 8.3 Leverabler till kund 8.4 Utrullning 8.5 Kriterier för överlämning 9. Kostnader 9.1 Utvecklingsmiljö 9.2 Testmiljö 9.3 Produktionsmiljö 10. Risker 10.1 Beroenden 10.2 Stabilitet 10.3 Prestanda 10.4 Adra identifierade risker 11. Projektavslut 11.1 Överlämning till drift och förvaltning 11.2 Utvärdering 12. Ändringshantering 13

Design Viktiga nyckelord Modularisering Små, överblickbara bitar Modulkvalitet Bra egenskaper som kännetecknar en modul Information hiding Göm viss detaljerad kunskap Abstraktioner Access via gränssnitt Hierarkisk syn Lagermodell Språkoberoende Högre nivå, mer oberoende implementation Metodik Hur man urskiljer moduler 14

Modul Viktigast: Överblickbar, förståelig för en person eller ett team. Därför ska den: Inte vara alltför stor (eller komplex) Ha ett väl avgränsat syfte (dvs. hög cohesion ) Ha få relationer till andra moduler (dvs. låg coupling ) En modul kan vara t.ex: En enda subrutin (eller process) En databeskrivning (utan algoritmer) (Lite vanligare?) Ett hopbygge av flera, mindre sådana, om hög cohesion råder. En klass! 15

Modul Abstraktionslager 16

Modul Detaljerad design Förslag på modulattribut som måste specificeras: (IEEE Standard 1016, från van Vliet) 1. Identifikationen, unikt (dvs. namnet) 2. Typen, alltså t.ex. subsystem, package, klass, fil, subrutin 3. Syfte, övergripande beskrivning 4. Funktionen, relaterat till kravspecifikationen 5. Beståndsdelar, om sådana i sin tur finns 6. Beroenden, relationer till andra komponenter 7. Gränssnitt till andra komponenter, i detalj 8. Externa resurser 9. Utförande, beskrivning av algoritmer, exceptions, etc.. En förfining av funktionen. Motivera väl! 10. Data, beskrivning av representation, format och avsikt med interna data. 17

Arkitektur Se overhead 18

Implementation Begreppet strukturerad programmering kan förklaras på olika sätt: Programkod ska kunna läsas och förstås i den följd programtexten anger. Använd styrstrukturerna på ett systematiskt sätt En ingång, en utgång Texten ska återspegla den logiska strukturen Skriv för folk, inte kompilatorer ( Använd inte GOTO ) 19

Evaluering av språk Vilka möjligheter har man att i språket kunna: Modularisera på ett vettigt sätt, också i det stora? Göra egna abstraktioner? Införa information hiding? Skapa oberoende mellan moduler? Skriva läsbar kod? Hur är det med: Ortogonaliteten? Få, kraftfulla konstruktioner som kan kombineras godtyckligt Stark typning Gäller blandning av typer, typkontroll, när denna äger rum UTNYTTJA DET SPRÅKET TILLHANDAHÅLLER 20