1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.

Slides:



Advertisements
Liknande presentationer
Formulär Tänkte nu gå igenom vad ett formulär är och hur man kan skapa dem i Access.
Advertisements

Interface.  Interface är en datatyp och har alltså egen syntax och en hel del egna regler för vad arv från interface innebär.  Interface är renodlad.
Avlusning Debugger (”avlusare”) Breakpoints Watch.
Relationsdatabasdesign
Romersk skulptur Exempel Förutsättningar Kännetecken
Producerad av Publiciteta&Co Sundsbussarna Förslag på ny design av hemsida Publiciteta&Co 2006.
MS Excel 2010 – Dag 2 Mahmud Al Hakim
1 Välkommen till dagens e-möte –Säkerställ ljud via Meeting > Audio Setup Wizard –Slå av din mikrofon –Stäng av din kamera –Använd funktionen ”Raise hand”
SS Standard för tekniska försörjningssystem
Klasser och objekt.
För att uppdatera sidfotstexten, gå till menyn: Visa/Sidhuvud och sidfot
Task Analysis (”uppgiftsanalys”) inom MDI
Nya typer Konstruerare, selektorer och predikat Rekursiva datatyper
Stöd för olika utbildningsformer i Ladok3
OOP Objekt-orienterad programmering
Föreläsning 1.
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
Föreläsning 4 Python: mera om funktioner och parametrar
Inkapsling.
Objektorienterad tänkande
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
Stora additionstabellen
Växjö 15 april -04Språk & logik: Reguljära uttryck1 DAB760: Språk och logik 15/4: Finita automater och 13-15reguljära uttryck Leif Grönqvist
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Objektbaserad programmering –Grundläggande om klasser och objekt – (Arv får vänta)  Iden med klasser.
Att få rätt saker att hända
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
Programmering i C# 3. Klasser.
Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT Lite OOA/OOD.
PerUllaIngaEgon 1.Skriv in de tävlandes namn. 2. Per börjar slå med två tjugosidiga tärningar. Han får 15 och 5. Gränsvärdet för första höjden är =10,
Från design till dynamisk webbplats | 2 Palle Zingmark  Webbkonsult på Hallvarsson & Halvarsson  Specialist på gränssnittsutveckling  Senior.
Bild 1 Hur använder vi KursInfo idag? Högskolan i Skövde.
Arv.
DATABASHANTERING för programmerare Lektion 4 Mahmud Al Hakim
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 6: Semantik Statisk semantik Attributgrammatiker Dynamisk semantik Axiomatisk.
Känna till och ha provat metoder och verktyg för processledning
Programspråk Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande program och kompilerande program. Python är ett interpreterande.
TietoEnator © 2007presentationPage 1 Mina meddelanden Procapita +
Datamodeller C21.2 Kursansvarig: Eva Lindh
Det finns i V en operation kallad addition, betecknad + sådan att
Föreläsning 8 Arv och abstrakta klasser. Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen ( extends.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
MV500B: Introduktion till interaktiv ljuddesign David Yanagisawa, Anders-Petter Andersson 4.5 högskolepoängLektion 3.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
1. Konnektionism – grunderna
Fastställt av Representantskapet Översyn av S:t Eriks-cupen.
1 Logging and monitoring of TCP traffic in SSH tunnels Masters thesis Anton Persson.
Bevarande utifrån nya Ladoks perspektiv
Föreläsning 8 Programmeringsteknik och Matlab DD1312 Klassmetoder Egen modul, Self Metoderna: __str__, __lt__,… Meddelande Arv, Överlagring av metoder,
Läsbar prolog CM 8.1. allmäna principer correctness user-friendliness efficiency readability modifiability robustness documentation.
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
INFORMATIONSSYSTEM Informationssystem: datoriserat system som stödjer en organisations informationsförsörjning VERKSAMHET avbildar Definitionen alltför.
Föreläsning 4 Klasser Och Objekt.
Formella metoder i MDI Behovet Vad menas med formell? Verktyg Exempel Att läsa: Kapitel 14 i Carroll.
För att inkludera alla Ljusdal IF
Dagens ämnen Matriser Linjära ekvationssystem och matriser
Matematik – Karl Johans skola i Örebro
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
5 8 Sätt in talen 1 till 9 i den magiska fyrkanten så att
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 12: -kalkylen allmänt om -kalkylen syntax semantik att programmera i -kalkylen.
Programmeringsteknik
F. Drewes, Inst. f. datavetenskap1 Föreläsning 12: -kalkylen allmänt om -kalkylen syntax semantik att programmera i -kalkylen.
OOP - teori1 OOP del II– Föreläsning 5 vecka 6. OOP - teori2 Klasser Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle.
Formella metoder i MDI Behovet Vad menas med formell? Verktyg Exempel Att läsa: Kapitel 14 i kursboken.
Föreläsning om RUP RUP – Rational Unified Process
OOP&M - teori1 OOPM del II– Föreläsning vecka Mer om ärvning.. Abstrakta klasser/metoder Gränssnitt/Interface klasser.
Anpassa fri programvara - Frihet ett, hur nyttjar man den? Copyright © 2006, 2007 Marcus Rejås Rejås Datakonsult Jag ger härmed rätten till alla att nyttja.
Val av nummer och nummerbyggnad
IT Databas Göran Wiréen
Presentationens avskrift:

1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare bör involveras i behovsanalysfasen under utvecklingens gång då kan man skilja på oumbärliga egenskaper och frivilligt valbara egenskaper

2 Betydelsen av abstraktion utvecklingsprocessen Abstrakt formulerade behov möjliggör diskussion om systemet innan det är byggt hittandet och definierandet av generella egenskaper som alla interaktiva system bör ha ökar möjligheten till återanvändning av moduler

3 Spelet Min: ett studieexempel två spelare sju tändstickor en eller två tändstickor plockas bort varje omgång den som plockar sista vinner

4 Enklast möjliga system tändstickorna visualiseras på skärmen verktyg för att ta bort dem tillhandahålls saknar: stöd för att komma ihåg vems tur det är kontroll att reglerna följs (max två stickor etc.) kontroll för när och vem som vinner

5 Generella egenskaper hos interaktiva system system-tillstånd operationer restriktioner funktioner som måste evalueras presentation av systemets tillstånd (och via denna invänta ny input (gäller bara DM))

6 Abstrakta arkitekturer Återanvändbara komponenter som kan ärvas: is_a-strukturer eller adresseras: has_a-strukturer

7 is_a-strukturer formar hierarkier subklasser ärver men specialiserar exempel: Game -> Two_Player_Game -> Min problem: finns alltid alternativa klassificerings-sätt. tumregler: om två klasser delar många attribut – abstrahera dessa till en superklass om en klass bara har en subklass är distinktionen onödig

8 Tillstånd och tillståndsrum [1] Definitioner: tillstånd: en mängd specifika namn-värde- mappningar vid en viss tidpunkt tillståndrum: mängden av alla möjliga namn- värde-mappningar

9 Tillstånd och tillståndsrum [2] Z-schema signaturdel variabler och deras typtillhörigheter predikatdel logiska begränsningar hos signaturdelens variabler måste alltid uppfyllas/vara sanna Ett schema är det tillståndsrum som spänns upp av alla ”godkända” värden på variablerna

10 Z-schema Läs mer om syntax i boken!

11 has_a-strukturer Klasser som typer skapar aggregat/ container-klasser

12 skillnader mellan is_a och has_a-strukturer has_a-strukturer kan uppdateras när som helst variablers värden kan utan problem förändras is_a-strukturer kan inte uppdateras efter att en instans av klassen skapats eftersom förändringar i klassers struktur påverkar subklasser

13 Förfining (refinements) [1] från abstrakt representation till konkret implementation behåller systemets abstrakta egenskaper men möjliggör tillägg av egenskaper som kan underlätta för slutanvändaren och programmeraren. användarorienterad design

14 Förfining [2] operationsförfining dataförfining

15 Förfining [3] operationsförfining utöka operationens domän ex: så att ”ta-operationen” klarar av att hantera fallet när spelare vill ta fler än två stickor säkerställa operationens determinism ex: se till att det finns ett garanterat slut på en tänkbart oändlig exekveringsslinga

16 Förfining [4] dataförfining berika representationen av variabler ex: låt tändstickorna se ut som en mängd tändstickor och inte som en siffra Men: viktigt att den berikade representationen entydigt adresserar de underliggande abstrakta representationerna ex: tändstickor får ej skymma varandra på skärmen

17 Mer om dataförfining [1] åtkomstfunktionen ”access” access: C -> A vanliga krav: otvetydig surjektiv

18 Mer om dataförfining [2] homomorfism - garanterar att de abstrakta och de konkreta tillstånden aldrig blir inkonsistenta

19 Praktiska arkitekturer [1] Separerar applikationsspecifika och återanvändbara komponenter Kan göras både inom is_a och has_a- arkitekturer is_a => bibliotek av återanvändbara klasser has_a-separering sker under exekvering, ex: client-server relationer mellan objekt

20 Praktiska arkitekturer [2] Kända tillvägagångssätt: Dialoghanterare Modell-vy-arkitekturer Modellbaserade arkitekturer Verktygslådor Yt-interaktion Läs om detaljerna i boken!