Programmeringsstil 11/3-2002

Relevanta dokument
Programmeringsstil 13/3-2002

Programmeringsstil 18/3-2002

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

Introduktionsmöte Innehåll

Programvaruteknik, hp

EDAA01 Programmeringsteknik - fördjupningskurs

Projektplan, Cykelgarage

produkters egenskaper och innehåll

Kurs-PM HI2011, Programutveckling i funktionella och objektorienterande spra k, P3 VT17

Kursprogram: ETSN05 Programvaruutveckling för stora system, 2014 (7,5 hp)

Det innebär att studenten efter genomgången kurs skall kunna:

Tentamen på kursen Webbdesign, 7,5 hp

Objektorienterad programmering

Studiehandledning Pedagogisk och didaktisk forskning I (7,5 hp) Vårterminen 2014

Schema för Webbdesign för lärandemiljöer, TIA033, VT09

DATA- OCH INFORMATIONSTEKNIK

Systemintegration 2019 YRGO. Introduktion till kursen

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

Presentationsprogram - Kravspecifikation. Henrik Österdahl och Jenny Melander, D mars 2002

Objektorienterad Systemutveckling Period 3

DM1012 Multimediaproduktion

Final Course Marks will be combined from the examination and the project:

VETENSKAPLIG METOD TNGD23 Kursstart: Januari 2013

När? Varför? För vem? Resultat? (Artefakter?)

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

Chaos om datorprojekt..

Testning på 3 föreläsningar. PV7180 Verifiering och Validering. Litteratur. Vad är testning? Varför testa och olika syn? Målet med testning

Algoritmer och datastrukturer. HI1029 8,0 hp Introduktion

Sensorteknik Prel schema. Sensorteknik 2016

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION

Vetenskapsmetod och teori. Kursintroduktion

INSTITUTIONEN FÖR SOCIOLOGI OCH ARBETSVETENSKAP

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

Design och konstruktion av grafiska gränssnitt

SF1513 (tidigare DN1212) Numeriska metoder och grundläggande programmering. för Bio3, 9 hp (högskolepoäng)

Utbildningsplan. Fakulteten för teknik. Utveckling och drift av mjukvarusystem, 180 högskolepoäng Software Development and Operations, 180 credits

GIT L0003B. Databaser, en introduktion. Information inför kursstart

Avdelningen för Människadatorinteraktion

Datavetenskapligt program, 180 högskolepoäng

G2F, Grundnivå, har minst 60 hp kurs/er på grundnivå som förkunskapskrav. Ett godkänt betyg på kursen kommer att ges till studenter som kan:

Studiehandledning. Vetenskaplig teori och metod I (VPG01F) 7.5 hp (distans, helfart) HT-18

Mälardalens högskola

Utbildningsplan för magisterprogrammet i hälsoinformatik

F9 del B Organisatoriskt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson Datavetenskap, LTH

TPPE98 Ekonomisk analys: Ekonomisk teori 4 hp

INDUSTRIELL EKONOMI FK

Design och konstruktion av grafiska gränssnitt

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

LUNDS UNIVERSITET KURSPLAN INFC25 Ekonomihögskolan Institutionen för Informatik INFC25 7,5. Grundnivå / Basic level G2F. Engelska / English

Professionell masterutbildning i programvaruteknik

19HT - 4IM118 - Idrottsmedicin - Prevention, behandling och rehabilitering av idrottsskador 7.5HP, Kalmar

PRODUKTUTVECKLING. Ämnets syfte. Kurser i ämnet

INSTITUTIONEN FÖR SOCIOLOGI OCH ARBETSVETENSKAP

Projekthandledning (PH) Grundsystemet (GS) Utvecklingsmiljön (UM)

Introduktion - Metodik i Produktutveckling

Iterativ mjukvaruutveckling. 1DV404 HT14 Jesper Andersson

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014

Avdelningen för informations- och kommunikationssystem Fakulteten för naturvetenskap, teknik och medier

Allmänna frågor om kursen: 1. Vilket är ditt allmänna omdöme om kursen? Antal svar: 25 Medelvärde: 4.3

Kursen handlar om. Var används datorer och andra IT-stöd? T ex: Människa-datorinteraktion (MDI) Inst. för informationsteknologi

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

Upprop & Lediga tjänster

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

CEQ-kommentarer Kurser år 2. CEQ-kommentarer Kurser år 2

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

Utbildningsplan. Systemvetenskapliga programmet. 180 högskolepoäng. System Science Program. 180 Higher Education Credits *)

Idag. EDAA35: Utvärdering av programvarusystem. Mål. Innehåll. Kursmoment. Lärare

Teknisk modellering: Bärverksanalys VSMF05

INFC55, Informatik: Webbutveckling, 7,5 högskolepoäng Informatics: Web Development, 7.5 credits Grundnivå / First Cycle

Interaktionsdesign, grundkurs (7,5 HP) Del 2

Design och konstruktion av användargränssnitt (distans) Avdelningen för Människadatorinteraktion. Gulan Jan Gulliksen Ph D, MSc

Utbildningsplan för: Masterprogrammet i pedagogik med inriktning mot professionsutveckling och forskning, 120 hp MIUN 2017/460. Utbildningsvetenskap

Konstruktion med mikrodatorer

Kursinformation Grundkurs i programmering med Python

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

Kursplan. FÖ1038 Ledarskap och organisationsbeteende. 7,5 högskolepoäng, Grundnivå 1. Leadership and Organisational Behaviour

G2F, Grundnivå, har minst 60 hp kurs/er på grundnivå som förkunskapskrav

Användarcentrerad systemdesign

KURS-PM Produktionsutveckling

INSTITUTIONEN FÖR SOCIOLOGI OCH ARBETSVETENSKAP

EH2030 (7,5p) Verksamhetsutveckling & kvalitet

KURSPLAN. Graphic Design and Illustration 5 30 högskolepoäng / 30 credits

Chaos om IT-projekt..

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

Studiehandledning. Kursens syfte. Kursinnehåll

Kursanalys DD1312 hösten 2008

FÖRELÄSNING 8 DSV2PVT

Den kompletta studiehandledningen för kursen DT126G Användbarhet för mobila enheter

Teknisk modellering: Bärverksanalys VSMF05

VSMA05 Byggnadsmekanik - Kursprogram HT 2019

Utbildningsplan. Fakulteten för teknik. Interaktiva medier och webbteknologier, 180 högskolepoäng Interactive Media and Web Technologies, 180 credits

Kursinformation. Metodik för programvaruutveckling. Utvecklingsprocessen för programvara. Innehåll. Processmodell. Exempel

Masterprogram i socialt arbete med inriktning mot verksamhetsanalys och utveckling i civilsamhället, 120 hp UTBILDNINGSPLAN

Kursplanen är fastställd av Institutionsstyrelsen vid Institutionen för informatik att gälla från och med , höstterminen 2018.

2D1359 & 2D1360. Informationsblad 1, 3 September Objektorienterad analys, modellering och design: principiella tillvägagångssätt,

EKHA20, Ekonomisk historia: Grundkurs, 30 högskolepoäng Economic History: Level 1, 30 credits Grundnivå / First Cycle

Kursen handlar om. Var används datorer och andra IT-stöd? Människa-datorinteraktion 1MD016, 5hp. T ex:

TDDD92 Artificiell intelligens -- projekt

IC1007 Människa-dator interaktion: Principer och Design 7,5 hp

Allmän studieplan för utbildning på forskarnivå i beräkningsvetenskap

Transkript:

Programmeringsstil 11/3-2002 Första timmen: Introduktionsföreläsning (Rasten: Konton/passerkort) Andra timmen: Kursupplägg, genomgång av kursprogrammet (Efteråt: Joel finns kvar för frågor) Joel Brynielsson, 2002-03-11 1

Mål Introduktion av mjukvarukonstruktion och dess betydelse. Besvara grundläggande frågor om mjukvarukonstruktion. Joel Brynielsson, 2002-03-11 2

Mjukvarukonstruktion / Software Engineering Alla industriländer är ekonomiskt beroende av mjukvara. Allt fler system styrs av mjukvara. Mjukvarukonstruktion / Software Engineering inbegriper teorier, metoder och verktyg för professionell utveckling av mjukvara. Kostnader för mjukvarukonstruktion utgör en betydande del av BNP i alla industriländer. Joel Brynielsson, 2002-03-11 3

Mjukvara kostar! Mjukvarukostnader är ofta ett systems dominerande kostnad, jämför t.ex. med kostnaderna på en vanlig persondator. Det är dyrare att underhålla än att utveckla. Detta gäller speciellt system med lång livstid. Mjukvarukonstruktion / Software Engineering handlar om kostnadseffektiv utveckling av mjukvara. Joel Brynielsson, 2002-03-11 4

FAQ 1 Vad är mjukvara? Vad är mjukvarukonstruktion? Vad är skillnaden mellan mjukvarukonstruktion och datalogi? Vad är skillnaden mellan mjukvarukonstruktion och systemkonstruktion (System Engineering)? Joel Brynielsson, 2002-03-11 5

FAQ 2 Vad är en mjukvaruprocess? Hur definieras en modell för en mjukvaruprocess? Vad kostar det att utveckla mjukvara? Vad kännetecknar bra programvara? Joel Brynielsson, 2002-03-11 6

Vad är mjukvara? Datorprogram och associerad dokumentation. Mjukvaruprodukter kan vara av två slag: Generiska, d.v.s. utvecklade för att kunna säljas till en mängd olika (oidentifierade) kunder. Specialgjorda, d.v.s. utvecklade för en specifik kund enligt dess specifika behov. Joel Brynielsson, 2002-03-11 7

Vad är mjukvarukonstruktion? Mjukvarukonstruktion (Software Engineering) är en ingenjörsdisciplin som inbegriper allting som har att göra med konstruktion av programvara. Programkonstruktörer bör tillägna sig ett systematiskt och organiserat synsätt till sitt arbete. De bör använda sig av lämpliga verktyg och tekniker beroende på problemet som skall lösas, givna begränsningar och tillgängliga resurser. Joel Brynielsson, 2002-03-11 8

Mjukvarukonstruktion kontra datalogi? Datalogi handlar om teori och grundläggande begrepp. Mjukvarukonstruktion handlar om hur man praktiskt går till väga för att utveckla och leverera användbar mjukvara. Datalogi ensamt kan idag ej tjäna som grund för mjukvarukonstruktion. Joel Brynielsson, 2002-03-11 9

Mjukvarukonstruktion kontra systemkonstruktion? Systemkonstruktion (System Engineering) inbegriper alla aspekter vid utveckling av datorbaserade system, vilket inkluderar hårdvara, mjukvara och process. Mjukvarukonstruktion är en del i denna process. Systemutvecklare är involverade i systemspecifikation, design av arkitektur, integration och driftsättande. Joel Brynielsson, 2002-03-11 10

Mjukvaruprocess En mängd aktiviteter vars mål är utveckling och/eller evolution av programvara. Gemensamma aktiviteter för alla mjukvaruprocdesser är: Specifikation vad systemet skall göra och vilka begränsningar som finns. Utveckling produktion av mjukvaran Validering kontroll av att mjukvaran är vad kunden vill ha Evolution förändringar i mjukvaran så att den möter nya och ändrade krav Joel Brynielsson, 2002-03-11 11

En mjukvaruprocessmodell En förenklad representation av en mjukvaruprocess, presenterad från ett speciellt perspektiv. Exempel på perspektiv: Workflow perspective - sequence of activities Data-flow perspective - information flow Role/action perspective - who does what Generiska processmodeller: Waterfall Evolutionary development Formal transformation Integration from reusable components Joel Brynielsson, 2002-03-11 12

Kostnader Utveckling: 60% Testning: 40% För specialgjord programvara kostar evolutionen mer än utvecklingen. Inom vilken del kostnaderna hamnar varierar beroende på: typen av system som utvecklas, krav på attribut som prestanda och tillförlitlighet, vald utvecklingsmodell. Joel Brynielsson, 2002-03-11 13

Bra programvara 1 Mjukvara skall leverera önskad funktionalitet och prestanda och skall vara förändringsbar, tillförlitlig, effektiv och användbar. Joel Brynielsson, 2002-03-11 14

Bra programvara 2 Förändringsbarhet (maintainability) Mjukvara måste ständigt utvecklas för att möta nya och ändrade krav. Tillförlitlighet (dependability) Mjukvara skall vara tillförlitlig. Effektivitet (efficiency) Mjukvara skall inte använda systemresurser i onödan. Användbarhet (usability) Mjukvara måste vara användbar för de användare som den designats för. Joel Brynielsson, 2002-03-11 15

Vetenskapen Software engineers have responsibilities to the engineering profession and society. They should not simply be concerned with technical issues. Professional societies publish codes of conduct which set out the standards of behaviour expected of their members. Joel Brynielsson, 2002-03-11 16

Sammanfattning 1 Mjukvarukonstruktion är en ingenjörsdisciplin som inbegriper allting som har att göra med konstruktion av programvara. Mjukvarukonstruktion handlar om hur man praktiskt går till väga för att utveckla och leverera användbar mjukvara och associerad dokumentation. Joel Brynielsson, 2002-03-11 17

Sammanfattning 2 Viktiga attribut: Förändringsbarhet (maintainability) Tillförlitlighet (dependability) Effektivitet (efficiency) Användbarhet (usability) Joel Brynielsson, 2002-03-11 18

Sammanfattning 3 Mjukvaruprocessen består av aktiviteter vars mål är utveckling och/eller evolution av programvara. Typiska aktiviteter är specifikation, utveckling, validering och evolution. Joel Brynielsson, 2002-03-11 19

Programmeringsstil Studiehandboken: En fortsättningskurs i datalogi som ger en introduktion till professionell programmeringsverksamhet. Kursen ger teknologerna en känsla för programmerarens olika roller och uppgifter. Joel Brynielsson, 2002-03-11 20

Kursupplägg Projektkurs Större projekt ( gör en ordbehandlare ) Kontinuerlig examination Ingen tentamen Föreläsningar Metodik för mjukvarukonstruktion Praktiska exempel på arbetsmetodik (gästföreläsningar) Joel Brynielsson, 2002-03-11 21

Projekt 1 Projektgrupper om två personer. Indelning i tre grupper: Ronnie Jens Joel Registrera dig i res senast i morgon! Projekt- och gruppindelning anslås onsdag 13 mars. Joel Brynielsson, 2002-03-11 22

Projekt 2 Årets projekt: Webbläsare med editor E-postfilter Presentationsprogram Chattprogram Diskussion/presentation onsdag 13/3. Joel Brynielsson, 2002-03-11 23

Eget projekt Ansök hos din gruppledare. Ett antal skarpa projekt finns. Det här är chansen för dig som vill ha en riktigt intressant uppgift med en intresserad uppdragsgivare. Joel Brynielsson, 2002-03-11 24

Projektkrav Projektet förväntas uppfylla följande: Sammanhängande program med ett grafiskt användargränssnitt. Programmet skall avspegla och uppfylla de dokument som lämnats in. Skall motsvara fyra högskolepoäng. Implementering skall ske i Java. Examination 13-16 maj i datorsal. Joel Brynielsson, 2002-03-11 25

Dokument 22 mars Kravspecifikation. 19 april Designdokument. 3 maj Implementationsdokument. 13-16 maj Slutdokument (inlämnas i samband med examinationen). Joel Brynielsson, 2002-03-11 26

Kursbok Ian Sommerville. Software Engineering. 6:e upplagan, Addison-Wesley, 2001. ISBN 0201-39815-X. 720 sidor. Pris: 600 kr på kårens bokhandel. Boken har en omfattande hemsida med exempelkod, inledande kapitel, ordlista, OHslides, m.m. Joel Brynielsson, 2002-03-11 27

Schema KTH:s schema gäller än så länge. Håll utkik på webben efter schemaändringar! Quarnevalen tänker ni komma hit då? Kom på gästföreläsningarna, tack! Joel Brynielsson, 2002-03-11 28

Terminalövningar Grå, Karmosin, Vit SimaManager Allmän handledare Joel Brynielsson, 2002-03-11 29

Kursregistrering res checkin prost02 senast 12/3 (annars får du inget projekt) course join prost02 Joel Brynielsson, 2002-03-11 30

Betyg För att bli godkänd krävs: att gruppen gör alla inlämningar i tid (till korrekt gruppledare och med korrekt webblänk), att gruppen är närvarande och presenterar sitt projekt vid examinationen, att gruppen gör eventuella kompletteringar enligt gruppledares anvisningar och inom angivna tidsramar, att gruppledaren anser att gruppens projekt motsvarar fyra högskolepoäng. Joel Brynielsson, 2002-03-11 31

Hederskodex Kortversion: Att försöka skaffa högskolepoäng genom att använda någon annans arbete är fusk. Fullständig text finns i kursprogrammet och på webbsidan. Joel Brynielsson, 2002-03-11 32

Kursens webbsida http://www.nada.kth.se/ kurser/kth/2d1351/aktuellt.html Detta är kursens informationskanal. Titta här ofta! Joel Brynielsson, 2002-03-11 33

Synpunkter Lämna synpunkter under kursens gång till: Lärarna Teknologernas kursutvärderare D-sektionens studienämnd (ordf Peter Modin <d00-pmo@d.kth.se>) Joel Brynielsson, 2002-03-11 34

Kommande föreläsningar 12/3 Riktlinjer för kravspecifikationen 13/3 Presentation av projekttilldelning och grupptilldelning Genomgång av karakteristik för de olika mjukvaruprojekten Joel Brynielsson, 2002-03-11 35