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

Relevanta dokument
TDP003. Föreläsning 1. Filip Strömbäck

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

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

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

TDP003 Projekt: Egna datormiljön. Kursmål. Om kursen. Planering/Schema. Kursens organisation Översikt. Få kunskap om och erfarenhet av

TDP003 Projekt: Egna datormiljön

TDP003 Projekt: Egna datormiljön

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

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

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

LIPS 1, 2002 Lätt Interaktiv Projektstyrningsmodell

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

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

LIPS Kravspecifikation. Institutionen för systemteknik Mattias Krysander

Exempel på verklig projektplan

Design och konstruktion av grafiska gränssnitt

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

Före Kravspecifikationen

TDP003 Projekt: Egna datormiljön

Projektet. TNMK30 - Elektronisk publicering

Agil Projektledning. En introduktion

Kravspecifikation. LiTH Segmentering av MR-bilder med ITK Anders Eklund Version 1.0. Status

Projektanvisning. Webbsideprojekt. Författare: Johan Leitet Version: 2 Datum:

WEBBSERVERPROGRAMMERING

Projektarbete. Johan Eliasson

Projektstatus 20 februari 2002

LIPs Martin Lindfors ChrKr Projdir2017_sbd.doc CKr

Dokumentation och presentation av ert arbete. Kursens mål. Lärare Projektmedlemmar. Studenter Extern personal. Projektfaser. Projektroller.

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

LiTH. WalkCAM 2007/05/15. Testplan. Mitun Dey Version 1.0. Status. Granskad. Godkänd. Reglerteknisk projektkurs WalkCAM LIPs

LiTH Segmentering av MR-bilder med ITK Efterstudie MCIV. Anders Eklund. Status

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.

Projektplan, Cykelgarage

Webbserverprogrammering

Dokumentation och presentation av ert arbete

PROJEKT Kurs om hållbar utveckling

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

Testplan Cykelgarage

TDIU01 (725G67) - Programmering i C++, grundkurs

Dokumentation och presentation av ert arbete

TDP005. Föreläsning 1. Filip Strömbäck

Del 1 och 2 HTML/CSS. Webbutveckling Laboration 1 Nicklas Bostedt

Kursplan Webbutveckling 2, 100p Läsår

Människa- datorinteraktion, MDI, ht 2011, anvisningar för projekt- /grupparbete

LIPs Daniel Axehill ChrKr Projektdirektiv_Saab_v3 CKr

TDDD80 Mobila och sociala applika1oner. Kursintroduk1on

Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket?

Preliminär specifikation av projekt

Inlämningsuppgifter, EDAF30, 2015

TDP005. Föreläsning 1. Filip Strömbäck

Presentera dig själv Laboration 1

Projekt Foreläsning VI

Design och konstruktion av grafiska gränssnitt

Filhanterare med AngularJS

Prototypningsverktyg. A Human-Centered Design Process (ISO , 2010) Mattias Institutionen för datavetenskap

Berättelser Scenarios Presentationer Skisser Formella modeller Mjukvaruprototyper Kartong modeller etc.

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

TENTAMEN: Design och konstruktion av grafiska gränssnitt DAT215/TIG091

Laboration 1 Introduktion till Visual Basic 6.0

Dokumentation och presentation av ert arbete

PLANERING MULTIMEDIAPROJEKTET FAMILJEN GURKA

Programmering, abstraktion och modellering PROJEKTFÖRELÄSNING ANDERS MÄRAK LEFFLER IDA/HCS

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

Undervisningen i ämnet mobila applikationer ska ge eleverna förutsättningar att utveckla följande:

TANA81: Matematikprojekt

Webbprogrammering, grundkurs 725G54

Riktlinjer för examensarbetare

LIPs Isak Nielsen ChrKr Projektdirektiv13_ROV.doc CKr

Thomas Padron-Mccarthy Mobila applikationer med Android, 7.5 hp (Distans) (DT107G ) Antal svarande = 11. Svarsfrekvens i procent = 14.

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

Kursplan Gränssnittsdesign och Webbutveckling 1 Vårtermin 2014

TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER

Enhetstester på.netplattformen

Projektplan David Sandberg Version 1.0

Kurs-PM fo r HI1028, Projektkurs inom programvaruutveckling, VT16

BESKRIVNING AV PROCESSMETODEN SCRUM

Dokumentation och presentation av ert arbete

TDP025. Entreprenöriell programmering. Marcus Bendtsen Institutionen för Datavetenskap (IDA)

Ramverk för projekt och uppdrag

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1

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

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

Projektarbete. Anvisningar, tips och mallar. Sammanställt lå 05/06 av lärgruppen - Projektarbete

Datastrukturer och algoritmer

TDDC74: Projekttitel

Configuration testing Why? Vad det är tänkt att koden ska göra. Performance testing Kommentarer Skriva om koden som kommentar

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

Projektuppgift- Mashup- Applikation

Dokumentation och presentation av ert arbete

Slutrapport. APFy.me

Tentamen TEN1 HI

Introduktionsmöte Innehåll

TDP013 Node.js, JSCoverage, Mocha. Marcus Bendtsen Institutionen för Datavetenskap

Alla rättigheter till materialet reserverade Easec

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte

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

Människa- datorinteraktion, MDI, vt 2012, Anvisningar för projekt- /grupparbete

Transkript:

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

1 Kursinformation 2 Projektplan 3 Frågor 4 Genomgång av projekt 5 Vad är ett API? 6 Kom ihåg

TDP003 Filip Strömbäck 2 Vad händer härnäst? V37 V38 V39 V40 Planeringsdokument Hur ska en projektplan se ut? LoFi-prototyp Projektplan & gemensam installationsmanual Fö: Flask och Jinja2 Datalagret godkänt.

TDP003 Filip Strömbäck 3 Kom ihåg Webreg: skriv upp er Skapa repository i GitLab Dagbok: mjukvara Emacs Rednotebook GNOME Tomboy ScribeFire Next 4.0

TDP003 Filip Strömbäck 4 Leverabler Förberedelse: undersök existerande system och fundera på hur ni vill ha det Leverabler: skisser på systemet (LoFi-prototyp), projektplan Konstruera: design och implementation av systemet Två delsystem ska byggas: Presentation och data Leverabler: fungerande system och dokumentation Överlämna: färdigställande och inlämning av projektet Uppföljning: reflektion, testning av varandras system, utvärdering av hur projektet gått

TDP003 Filip Strömbäck 5 LoFi-prototyp Systemskiss Pappersprototyp Rita, klippa, klistra Rita upp på papper hur ert system ska se ut Torrkör med varandra och se om ni har missat något

TDP003 Filip Strömbäck 6 Individuell reflektion Egen programmerardagbok Vanligt textdokument snyggt och prydligt med namn och datum etc. Blogg valfri blogg med bra stöd för uppslagning via datum En skriftlig reflektion görs baserat på dagbok och Code Complete Läs Code Complete, Part I, Part II och Part IV (gärna Part V, Part VI och Part VII också) Välj ut teman i Code Complete som du känner ni kommit i kontakt med i projektet eller som intresserar dig och arbeta med dem extra noga

TDP003 Filip Strömbäck 7 Programmerardagbok Varje dag som arbete görs i projektet ska det införas i en personlig programmerardagbok. Innehållet ska åtminstone kortfattat tala om vad du arbetat med, vilka problem/intressanta saker man stött på, hur detaljer i samarbetet fungerat i paret, om du kört fast: på vad? Veckovis sammanfattar du hur du själv tycker du arbetat är du nöjd med din insats? Vad har du gjort över förväntan? Vad har du gjort under förväntan?

TDP003 Filip Strömbäck 8 Exempel 2012-09-10 Jobbat med refactoring av datalagret och namngivning av interna variabler enligt Code Complete kapitel 11. Koden blev mer läsbar med det tog lite onödigt lång tid. Borde ha gjort rätt från början. Hittade även en bugg i vår sökningsalgoritm. Måste fixa den snarast. Buggen är att det inte går att söka på åäö, behöver felsöka lite mer.

1 Kursinformation 2 Projektplan 3 Frågor 4 Genomgång av projekt 5 Vad är ett API? 6 Kom ihåg

TDP003 Filip Strömbäck 10 Vitsen med en projektplan Beskriver hur resultatet ska uppnås Hur ska ni samarbeta Vilka verktyg ska användas etc.

TDP003 Filip Strömbäck 10 Vitsen med en projektplan Beskriver hur resultatet ska uppnås Hur ska ni samarbeta Vilka verktyg ska användas etc. Överenskommelse mellan er och kunden

TDP003 Filip Strömbäck 10 Vitsen med en projektplan Beskriver hur resultatet ska uppnås Hur ska ni samarbeta Vilka verktyg ska användas etc. Överenskommelse mellan er och kunden...samt inom gruppen

TDP003 Filip Strömbäck 11 Projektplan En projektplan ska (åtminstone): Vara nedskriven i förväg Beskriva: Vad som ska uträttas När det ska uträttas Hur det ska uträttas Men ingen design Vara välskriven, strukturerad, kortfattad och begriplig Ta hänsyn till tänkbara olyckshändelser Utvecklas i takt med projektet (ett levande dokument)

TDP003 Filip Strömbäck 12 En projektplan kan innehålla Översikt Intro till arbetet, kunden, gruppens organisation Fasplan/Tidsplan - obligatorisk Vilka utvecklingsfaser, vilka produkter, vilka datum? Organisationsplan Vilka team, vems ansvar? Testplan Vem? Hur? Verktyg? Hantering av artefakter Var och hur ska källkod och dokument lagras? Dokumentationsplan Vilka, när, till vem? Vem godkänner?

TDP003 Filip Strömbäck 13 En projektplan kan innehålla Utbildningsplan Intern, extern. Vem, när, resurser? Plan för rapportering och granskningar Vad, till vem, när? Installationsplan Vilken procedur krävs för att komma igång? Plan för kvalitetssäkring Standarder som ska användas? Varuplan Vad ska levereras, när? Delleveranser? Resursplan Persontid, datortid. Summering av milstolpar!

TDP003 Filip Strömbäck 14 Milstolpar Milstolpe Datum Projektplan inlämnad 2017-09-10 Projektplan godkänd 2017-09-14 LoFi-prototyp klar 2017-09-15 load och get_project_count fungerar 2017-09-16 Datalagret klart 2017-09-20 Datalagret godkänt av assistent 2017-09-22 Vi kan visa en enkel sida med Flask och Jinja2 2017-10-01 Projektsidan fungerar 2017-10-05

TDP003 Filip Strömbäck 15 Tidsplanering Nybörjare Professionell 100 0 0. 100 100 0 0. 100 Gör en tidsplan Ligger ni efter, öka takten! Arbeta i början Dela upp problemet Sikta på professionell kurva Arbetsinsats Leverabler

1 Kursinformation 2 Projektplan 3 Frågor 4 Genomgång av projekt 5 Vad är ett API? 6 Kom ihåg

1 Kursinformation 2 Projektplan 3 Frågor 4 Genomgång av projekt 5 Vad är ett API? 6 Kom ihåg

TDP003 Filip Strömbäck 18 Portfolioprojekt Ett webbaserat system för att visa upp gjorda projekt Tänk: Sourceforge/Github utan verktyg Listar de projekt ni har gjort och egna projektsidor med information om projektet Ett verktyg åt er själva Ni är själva beställare av systemet Ni och andra som ni visar era projekt är användare Kursledningen är projektledare som dragit upp riktlinjer för arbetsordning (som ni har att acceptera som givna krav) Inom givna ramar har ni fria händer

TDP003 Filip Strömbäck 19 Idé Vi har en samling av projekt som vi vill visa Varje projekt har ett namn, en beskrivning, och en samling tekniker Vi vill kunna hitta alla projekt genom bläddra, söka Vi vill också kunna hitta alla projekt som involverar en viss teknik

TDP003 Filip Strömbäck 20 Systemskiss Fyra websidor med URL:er: /list /. /project/id /techniques

TDP003 Filip Strömbäck 21 Startsidan URL: http://foo/ Om mig: Senaste:. Alla projekt Alla tekniker

TDP003 Filip Strömbäck 22 Listsidan URL: http://foo/list Sök: A B C.

TDP003 Filip Strömbäck 23 Projektsidan URL: http://foo/project/project-id Mitt projekt Tekniker: C++,... Bild.

TDP003 Filip Strömbäck 24 Tekniksidan URL: http://foo/techniques Lista över era projekt, baserat på använda tekniker Helt OK att lägga till en extra sida (exempelvis http://foo/techniques/html) som visar alla projekt som innehåller en viss teknik Tekniker: C++ A Python A HTML B. B C

TDP003 Filip Strömbäck 25 Arkitektur Användare Presentation. Data Fil med data API HTML CSS Flask Jinja2 JSON-fil Två delsystem med olika ansvar Presentation: användarhändelser Data: datahantering Standardiserat källkodsgränssnitt (API) till delsystemet data Vi tillhandahåller test och testdata

1 Kursinformation 2 Projektplan 3 Frågor 4 Genomgång av projekt 5 Vad är ett API? 6 Kom ihåg

TDP003 Filip Strömbäck 27 API (Application Programming Interface) Strikt överenskommelse mellan moduler Att använda ett API är ett viktigt sätt att hantera komplexitet och isolera olika delar för att få dem utbytbara. Datamodulen har ett API bestående av 6 välspecifierade funktioner som presentationsmodulen får använda för att komma åt data. Så länge API:t (specifikationen av funktionerna) inte ändras kan vilken presentationsmodul användas på vilken datamodul som helst.

TDP003 Filip Strömbäck 28 API i en bil En bil har ett API bestående av gas, broms, koppling, växelspak och ratt Så länge API:t inte ändras kan vi i en given bil stoppa in vilken legitimerad förare som helst, och den kan hantera bilen Så länge API:t inte ändras kan en given legitimerad förare köra vilken bilmodell som helst

TDP003 Filip Strömbäck 29 Dyrt att ändra API När ett API väl är satt och börjat användas är det dyrt att ändra Bygger vi en bil med annat API (automatväxel, joystick) så måste alla förare uppdateras innan de kan använda bilen Utbildar vi alla förare för automatväxel måste alla manuellt växlade bilar uppdateras för att kunna köras En ännu mer grundläggande överenskommelse i trafiksystemet är att alla vägar, bilar och förare i Sverige skall använda högertrafik. Varför byter inte Storbritannien till högertrafik?

TDP003 Filip Strömbäck 30 Windows-API Microsoft Windows har ett API som alla windowsprogram använder för att visa sina fönster Så länge en ny version av Windows behåller samma API kommer gamla program att fortsätta fungera (bakåtkompatibilitet). Om en ny version av Windows byter API måste alla gamla program skrivas om!

TDP003 Filip Strömbäck 31 API till datalagret load(filename) Läser en JSON-fil, returnerar ett databasobjekt. get_project_count(db) Hämtar antalet projekt i databasobjektet. get_project(db, id) Hämtar projektet id från databasobjektet. get_techniques(db) Hämtar en sorterad lista med alla tekniker. get_technique_stats(db) Hämtar statistik över de tekniker som används.

TDP003 Filip Strömbäck 32 Sök i datalagret search( db, sort_by='start_date', sort_order='desc', techniques=none, search=none, search_fields=none)

1 Kursinformation 2 Projektplan 3 Frågor 4 Genomgång av projekt 5 Vad är ett API? 6 Kom ihåg

TDP003 Filip Strömbäck 34 Kom ihåg Anmäl er i Webreg! Börja med planeringsdokument/projektplan Skissa på er LoFi-prototyp

Filip Strömbäck www.liu.se