Programmeringsstil 18/3-2002

Relevanta dokument
Programmeringsstil 13/3-2002

Programmeringsstil 11/3-2002

RUP - Rational Unified Process

Projektkaos. Chaos-rapporten. 34% av projekten avslutades i tid och enligt budget % misslyckades!

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

Användarcentrerad Systemutveckling

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram

Chaos om IT-projekt..

Chaos om datorprojekt..

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language

"Distributed Watchdog System"

Symptom på problemen vid programvaruutveckling

RUP Rational Unified Process. 17 november 2004

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

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

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt

Vad är RTCA DO-178C? och: Hur arbetar Saab med dessa krav? Lars Ljungberg, Saab AB, Avionics Systems

IT-körkort för språklärare. Modul 3: Ljud, del 1

Synkronisering av kalenderdata

Welcome. to the world of Jeeves. Copyright 2011 Jeeves Information Systems AB

SYSTEMUTVECKLING METODER & MODELLER. Suzana Ramadani

Dokumentation och presentation av ert arbete

Beställning av certifikat för anslutning till BankID (RP certificate) Version

Projektplan, Cykelgarage

Utvecklingsm odell och utvecklingsm etod för att skapa god kom m unikation

Praktikum i programvaruproduktion

Ladibug TM Document Camera Användarmanual för bildbehandlingsprogrammet

Instruktioner. Innehåll: 1. Vad är Kimsoft Control (SIDA 2) 3. Hem (SIDA 2)

Hur du installerar Open Broadcaster Software (OBS) fo r HD-sa ndning

Testplan Cykelgarage

Föreläsning 4: Designprocessen

Guide Autodesk Account

Axiell Arena Visa BOOK-IT:s resurser

Dokumentation och presentation av ert arbete

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

Deluppgift 2 Kravhantering a) (2p) När man diskuterar krav brukar man ange två olika typer av krav. Beskriv dessa och ge exempel.

LIPS Kravspecifikation. Institutionen för systemteknik Mattias Krysander

Skapa ett paket av TI-Nspire programvara med Microsoft SMS 2003

Beställning av Förlitandepart-certifikat Version

Exempel på verklig kravspecifikation

ANVÄNDARMANUAL ANSLUTA TILL REGION HALLAND VIA CITRIX

ENIMEOS ΣOEMINE. Krav och trender. Praktisk kravhantering och annat nyttigt från industrin. Christian Ehrenborg

Användarcentrerad systemdesign

Föreläsning 8, Design

Agile-metoder, XP och ACSD

Antares Användning och installation

Din manual F-SECURE PSB

Utveckling av simulator för ärendehanteringssystem

Dokumentation och presentation av ert arbete

USER GUIDE. OnRoad Online

tjejit en studie av kvinnors låga deltagande vid Karlstads Universitets IT-utbildningar

Installationsguide ELCAD 7.10

Interaktionsdesign - Prototyper. Användbarhetskrav

Informationssystem och databasteknik, 2I-1100

medrave4 Introduktionsmanual Specialist i Allmänmedicin

surell consulting ab

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

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

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Enhetstester på.netplattformen

Dubbelklicka på det erhållna programpaketets ikon för att starta installeraren. Du visas därefter följande:

Användardokumentation

Dokumentation och presentation av ert arbete

Projektuppgift i Användarcentrerad Systemdesign, ht 04

LOGISTIKSYSTEM FÖR SNABBA HJULET AB UTVECKLINGSPROCESS BASERAD PÅ DR. DEBORAH J. MAYHEW S THE USABILITY ENGINEERING LIFECYCLE

SNABBGUIDE FÖR. Installation av Nokia Connectivity Cable Drivers

Filhanterare med AngularJS

Interaktionsdesign och användbarhet Personas. Paper prototyping. » Metod för representation av användaren. » Metod för konceptutveckling

SCRUM. Vattenfallsmodellen. Analys. Design. Kod. Test. Rational Unified Process Agile. Kallas också linjär sekventiell modell.

Installationsanvisningar. till IST Analys

Pass 2: Datahantering och datahanteringsplaner

Agil programutveckling

Kravspecifikation för hårdvaruprojekt i kursen Datorsystemteknik, HT2005. Temperaturvakt med loggningsfunktion

REGELVERK & HANDBÖCKER

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

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Dokumentation och presentation av ert arbete

Produktlanseringsinformation. Säkerhetssystem

Projektuppgift - Biblioteket

Under Kurser visas dina kurser som kort och om där finns nya uppgifter eller anslag visas antalet i kurskortet.

Arbeta i projekt. Anders Hessel ITP-projekt Uppsala Universitet

360 Infrastruktur v.4.1 & SharePoint Magnus Larsson, Software Innovation

Att skicka fakturor. Fördjupning till dig som ska använda bankens fakturaskrivare för e-fakturor och pappersfakturor via e-bokföring

Systemering med användarfokus

Decentraliserad administration av gästkonton vid Karlstads universitet

Installationsanvisning för LUQSUS version 2.0

Anslutningsprocess SNPAC - AM CRDB TM Capgemini

SCRUM. Marcus Bendtsen Institutionen för datavetenskap

Webbservrar, severskript & webbproduktion

Installation av AutoCAD Architecture 2010

INSTALLATIONSINSTRUKTIONER FÖR VIDA VIDA ON WEB

Vad är molnet? Vad är NAV i molnet? Vem passar NAV i molnet för? Fördelar med NAV i molnet Kom igång snabbt...

Main headline. Affärsvärde till Perstorp AB Headline. mha appar SAPSA IMPULS

Övning / handledning Användningsfall

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

Mki9100 UPPDATERING. Ladda ned uppdateringsfiler

BILAGA A till Programvaruprojekt ANVÄNDARKRAV MultiPC v1.0

KUNDREGISTER Sid 2(7) Teknisk specifikation

Transkript:

Programmeringsstil 18/3-2002 Praktiska detaljer Skarpa projekt Processer och processmetoder Rast: Läs utdelat exempel Genomgång av exemplet Joel Brynielsson, 2002-03-18 1

Praktiska detaljer FAQ på hemsidan Datorhjälp Dokumentfrågor Utskrift av OH-bilder Välj med omsorg! Uppskov p.g.a. KS i Logik Vi är generösa, men du måste säga till i förväg. Joel Brynielsson, 2002-03-18 2

Uppkomna frågor GUI i kravspecifikationen? Detaljnivå behövs oftast inte. Undantag: Speciell programvara där utseendet är ett eget krav. Ex: Ikon-editor för militära förbandssymboler Konceptuella skisser kan vara bra. En bild säger mer än 1000 ord. Joel Brynielsson, 2002-03-18 3

E-postfilter Länken till NADA:s IMAP-server inte helt bra. Titta under More information Mailfil med spam och instruktioner för hur du mixar denna med din vanliga inbox kommer att tillhandahållas. Joel Brynielsson, 2002-03-18 4

Återstående skarpa projekt 1 Automat-meshning av extremt simpla skruvar i skalmeshade strukturer (Scania). Parsa indatafil, finn kanter som utgör skruvhål (diameter < 20 mm). Lägg in ny nod som representerar skruven. Joel Brynielsson, 2002-03-18 5

Joel Brynielsson, 2002-03-18 6

Joel Brynielsson, 2002-03-18 7

Indatafil ** ---------------------------------------------- ** ** NODE DEFINITION ** ** *NODE ** 5201,1.262056698E+00,1.197988841E+00,4.999984326E-03 5202,1.262056698E+00,1.197988841E+00,-1.050000157E-01 5199,1.150058877E+00,1.198020237E+00,-1.050000125E-01 5200,1.150058877E+00,1.198020237E+00,4.999987471E-03 5196,1.076968811E+00,8.182460132E-01,1.245761353E-01 5195,1.086209886E+00,1.013042006E+00,7.109814270E-02 5198,1.086209618E+00,1.013036366E+00,-1.308927606E-01 5197,1.076968795E+00,8.182456725E-01,-7.758734742E-02 9,1.168610000E+00,1.198015036E+00,-1.134696973E-01 10,1.168610000E+00,1.198015036E+00,-1.094393943E-01 11,1.168610000E+00,1.198015036E+00,-1.054090913E-01 Joel Brynielsson, 2002-03-18 8

Återstående skarpa projekt 2 Kontroll av webbsidor Filbläddrare med egna ikoner Träd för grammatikgranskning Illustrering av sökmotorresultat Institutionsvis schema Joel Brynielsson, 2002-03-18 9

Mjukvaruprocess - Syfte Att effektivisera arbetet med att utveckla mjukvara Olika processer passar olika bra, beroende på vilka behov som föreligger Militära applikationer ställer höga krav på tillförlitlighet Skall processen användas av en organisation, en grupp, eller rör det sig om en individ? Joel Brynielsson, 2002-03-18 10

Mjukvaruprocess - Fördelar Ej beroende av nyckelpersoner dokumenterad process finns kvar även om geniet lämnar firman Ökar produktivitet genom samordning av aktiviteter (inget oplanerat kaos) Baseras på erfarenhet slipper uppfinna hjulet på nytt undviker göra om samma kostsamma misstag Joel Brynielsson, 2002-03-18 11

Processer - Nackdelar Grad av beskrivning Är processen för detaljerat beskriven, dödas den kreativa sidan Är processen för vagt beskriven ger den minimalt/inget stöd Svårt veta vilken grad som passar bäst Anpassning av process Oftast är en process i behov att anpassas till den aktuella organisationen. Hänsyn bör tas till personalen, gruppinteraktion, företagskulturen m.m. Ingen Off-The Shelf Software Joel Brynielsson, 2002-03-18 12

Mjukvaruprocesser Exempel 1 Rational Unified Process (RUP) organisationsnivå, beskriver VAD som skall göras, 30-tal roller, stödjer hela utvecklingen från initial kontakt med kund till installation av system hos kund Joel Brynielsson, 2002-03-18 13

Rational Unified Process Joel Brynielsson, 2002-03-18 14

Mjukvaruprocesser Exempel 2 Extreme Programming individnivå, beskriver VAD som skall göras jobbar parvis, granskar varandras kod, diskuterar uppdrag mot kund m.h.a. s.k. user stories Joel Brynielsson, 2002-03-18 15

Mjukvaruprocesser Exempel 3 The Cleanroom Process gruppnivå, undvika införande av defekter, idé är att tillämpa formell specification och design, verifiera rätt funktionalitet m.h.a. matematik, innehåller inte enhetstest (eftersom enheterna inte innehåller några defekter ) Joel Brynielsson, 2002-03-18 16

The Cleanroom Process Frozen specification Establish rerquirements Formal specification Develop s/w increment Deliver software Requirements change request Joel Brynielsson, 2002-03-18 17

Processmodeller Vattenfallsmodellen Kravspec. Design Implementation Integration Underhåll från en fas till en annan, no turning back bra överblick (åtminstone på papperet) spikar planen i början, svårt ta hänsyn till ändrade behov hos kunden Joel Brynielsson, 2002-03-18 18

Processmodeller Evolutionär utveckling (iterativ utveckling) Utvecklar första version av system, baserat på en initial kravspecifikation Itererar därefter de faser/aktiviteter som berörs när nya önskemål framkommer Fördel, kravspecen behöver inte låsas från början, kunden kan ändra sig Min erfarenhet är att många företag tillämpar någon form av iterativ utveckling idag Nackdel: Svårare bestämma var i projektet man ligger Fördel: Kunden blir troligtvis nöjdare med slutprodukten Joel Brynielsson, 2002-03-18 19

Processmodeller Formell Systemutveckling Idén är att skapa m.h.a. formella metoder (matematik) en systemspec som sedan tolkas/transformeras (m.h.a. matematik) till ett program. Fördel: Förutsatt att systemspecifikationen är korrekt, och matematiken tillämpas korrekt, så blir slutprodukten korrekt (d.v.s. funktionaliteten är densamma som angavs i systemspecifikationen) Nackdel: Komplext, inte många har kunskapen, kravsättning av matematisk notation, svårt hitta sätt att föra över dem till den önskade funktionaliteten Joel Brynielsson, 2002-03-18 20

Exempel: Personal Organizer Peter Wåhlander och Bernt-Uno Högman http://www.d.kth.se/~d97- bho/prost/ Joel Brynielsson, 2002-03-18 21

Disposition 1. Introduktion 2. Allmän beskrivning 3. Krav 4. Ändringar Joel Brynielsson, 2002-03-18 22

Kap 1: Inledning ( Introduktion ) 1.1 Målen 1.2 Programvarans omfång 1.3 Programmvaran i sitt samanhang 1.4 Definitioner och förkortningar 1.5 Referenser 1.6 Översikt över resten av dokumentet Joel Brynielsson, 2002-03-18 23

Kap 2: Allmän beskrivning 2.1 Beskrivning av data 2.1.1 Händelse 2.1.2 Kontakt 2.1.3 Uppgift 2.2 Programmets funktioner 2.2.1 Kalendern 2.2.2 Adressbok 2.2.3 Göra-listan 2.3 Användarprofil 2.4 Allmäna restriktioner 2.5 Antaganden Joel Brynielsson, 2002-03-18 24

Kap 3: Systemkrav ( Krav ) 3.1 Funktionella krav 3.1.1 Kalender 3.1.1.1 Spara kalendern till fil 3.1.2 Adressbok 3.1.3 Att göra 3.2 Icke-funktionella krav Joel Brynielsson, 2002-03-18 25

3.1.1.1 Spara kalendern till fil Funktion Spara kalendern. Beskrivning Man ska kunna spara ner alla händelser som finns i kalendern så att man kan öppna den igen utan att händelserna har ändrats. Input Filnamn, händelser. Källa Filnamn kommer från användaren, händelser kommer från händelselistan. Output En fil med sparade händelser. Destination En fil på hårddisken. Villkor Ingångsvillkor Att det finns någon händelse att spara. Att det finns plats på hårddisken. Utgångsvillkor Innehållet i händelserna ändras inte. Sideffekter Tar diskutrymme. Joel Brynielsson, 2002-03-18 26

Obs! Motivering saknas Ett funktionellt krav skall alltid ha en avslutande mening med titel Motivering, Incitament eller liknande. Joel Brynielsson, 2002-03-18 27

Kap 4: Ändringar Revisionshistorik Kronologisk ordning Viktigt - inte minst i denna kurs! Joel Brynielsson, 2002-03-18 28

Slutord kravhantering Viktigt ha en balans mellan nödvändiga och icke nödvändiga krav... Joel Brynielsson, 2002-03-18 29