Föreläsning 8 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ UML O2P 2000
|
|
- Bengt Bergström
- för 8 år sedan
- Visningar:
Transkript
1 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ UML och lite mer om OOA (och OOD) - Översikt grundläggande diagram - Kravanalys användningsfall samarbetsdiagram sekvensdiagram meddelandestereotyper tillståndsdiagram - Analysfas Hitta objekt och klasser Identifiera relationer och attribut - Analysera tillstånd och händelser Föreläsning 8 Unified Software Development Process (eller Rational Unified Process, RUP) - Use cases->analys->design->implementation - Stereotyper entity boundary control previous next UML Diagram för statiska beskrivningar Klasser, objekt och attribut Relationer Diagram för att beskriva beteende och informationsutbyte Användningsfall Samarbetsdiagram Sekvensdiagram Tillståndsdiagram Aktivitetsdiagram Tidsdiagram en diagramtyp, föreslagen som UML-diagram, vars avsikt är att tydliggöra tillståndsförändringar som svarar mot händelser där tidsperpektivet är mer framträdande än i tex sekvensdiagram previous next 2 Björn Eiderbäck
2 Realtidssystem och UML Vad är speciellt? I realtidssystem är det viktigt att ta hänsyn till tidens påverkan av systemet, vi måste tex genomföra en viss operation inom och/eller före en viss tid det kan vara direkt fel om en operation inte utförs i tid: hårt realtidssystem det är kanske inte så viktigt att en operation utförs i tid men det är en QOS och i medeltal måste operationerna troligen utföras inom givna tider: mjukt realtidssystem. Ett system kan också kombinera hårda och mjuka krav, med tex visst idealt krav och ett annat definitivt krav (hårt): ett system med "firm" deadlines I ett realtidsystem har vi också olika typer av meddelanden (som vi kanske inte har i ett icke realtidssystem) asynkrona, synkrona, blockerande, balking, tidsbestämda osv periodiska respektive icke- periodiska som kommer i skurar previous next 3 Vilka diagram använder vi? Vi använder dom vanliga diagrammen och kanske dom för UML föreslagna tidsdiagrammen Diagrammen brukar dock bli en aningen mer komplicerade då bla olika former av meddelanden, restriktioner (mha OCL) och mer speciella diagramkonstruktioner används I OCTOPUS (och andra metoder) kompletteras också diagrammen med textuella beskrivningar och tabeller som tex beskriver händelsernas signifikans, osv previous next 4 Björn Eiderbäck
3 Kravanalys: Översikt Indata Kravspecifikation Affärsmodell Intervjuver med kunder, slutanvändare, domänexperter Utdata Användningsfallsmodeller Översiktsbeskrivningar och beskrivande dokument Diagram Gloslista (updaterade kravspecar) Aktiviteter Hitta aktörer Sammanställ gloslista Hitta användningsfall Beskriv användningsfall Iterera Granska previous next 5 Kravanalys (med utgångspunkt från användningsfall) Börja med användningsfallsdiagram, man kan göra på tex något av följande sätt 1. Gör en lista över systemets primära funktionalitet, identifiera sen aktörer och därefter scenarier för varje användningsfall 2. Identifiera aktörer samt dom meddelanden dom skickar eller tar emot (scenarier), och gruppera det hela i användningsfall 3. Börja med att konstruera scenarier, identifiera aktörerna som deltar i dem och skapa därefter användningsfall från detta Vissa människor föredrar att tänka i mer abstrakta termer då systemet börjar utformas men dom flesta brukar föredra att börja med scenarier previous next 6 Björn Eiderbäck
4 diskutera med beställare Då vi analyserar kraven kan vi fråga beställaren följande: Vad är systemets primära funktionalitet? Vad är dom sekundära funktionerna i systemet? Varför byggs systemet? Vad ersätter det och varför? För att få hjälp att identifiera Rollerna aktörerna spelar i varje scenarie Nödvändig interaktion som behövs för att utföra ett visst scenarie Nödvändig sekvens av händelser och data för att realisera systemet Variationer för scenariet (andra relaterade scenarier) previous next 7 Exempel 1: narkos (med andningshjälp) Användningsfall för en ett narkossystem Fyra aktörer (som synes inte nödvändigtvis människor) och relationer till användningsfall har identifierats D s 53 previous next 8 Björn Eiderbäck
5 Exempel 2: flygtrafikkontroll Användningsfall för en flygtrafikkontroll Sex aktörer och relationer till användningsfall har identifierats Vidare har relationer mellan användningsfall identifierats D s 52 previous next 9 Relationer mellan användningsfall Aktörer associeras till användningsfall men som vi såg i det sista exemplet kan relationer mellan olika användningsfall också finnas och beskrivas Vi kan tex utvidga (ärva) ett användningsfall eller inkludera ett annat användningsfall previous next 10 Björn Eiderbäck
6 previous next 11 previous next 12 Björn Eiderbäck
7 previous next 13 Restriktioner D s 57 previous next 14 Björn Eiderbäck
8 Exempel: relationer D s 58 previous next 15 Beskrivning av förlopp Scenarier Ett scenarie är en textuell beskrivning av hur ett användningsfall genomförs Dom flesta användningsfall har ett "grundscenarie" som beskriver hur det hela går till om allt går bra. Andra användningsfall kan hantera dom exceptionella situationerna Sekvensdiagram Beskriver hur en sekvens av hur olika objekt skickar meddelanden mellan varandra previous next 16 Björn Eiderbäck
9 Sekvensdiagram previous next 17 previous next 18 Björn Eiderbäck
10 Exampel: Sekvensdiagram D s 63 previous next 19 Meddelanden och meddelandetyper i UML D s 69 previous next 20 Björn Eiderbäck
11 Sekvensdiagram och olika meddelandetyper D s 72 previous next 21 Tillståndsdiagram och användningsfall För att mer detaljerat beskriva vad som skall hända i ett visst användningsfall kan vi utnyttja tillståndsdiagram D s 73 previous next 22 Björn Eiderbäck
12 Hur identifierar vi användningsfall? På OH 5-7 ovan diskuterade vi om hur användningsfall konstrueras Vi kan också som i OCTOPUS klassificera aktörer aktiv/passiv klient/icke klient primär/sekundär och fundera över vad är huvuduppgifterna? när kan dess uppgifter utföras? vilka är undantagen? vad är effekten av att utföra uppgiften? vilka är tidskraven? previous next 23 Exempel: EKG Vi har identifierat fem aktörer och relationer mellan användningsfallen speciellt har extension points använts D s 75 previous next 24 Björn Eiderbäck
13 Relatera användningsfall till objektmodell Användningsfall realiseras i analysen av objektmodeller D s 26, 82 previous next 25 Hur hittas objekt? Det finns många strategier för att söka objekt I stora delar brukar man använda brainstorming-sessioner där man i grupper med hjälp av CRC-kort försöker identifiera objekt, ansvar och relationer En vanlig strategi är att stryka under substantiv i kravspecen/skrivna problemformuleringen Ibland kallad Wirfs-Brocks nominalfras-strategi previous next 26 Björn Eiderbäck
14 Wirfs-Brocks nominalfras-strategi Läs och förstå kravdokumentet. Målet är att hitta en modell som väldigt väl avspeglar den aktuella problemdomänen Läs igenom dokumentet igen. Titta speciellt efter nominalfraser. Skapa en preliminär lista av dessa fraser och ändra alla plural till singular Dela nominalfraserna i tre kategorier: definitivt objekt, nonsensobjekt och möjliga objekt Strunta i nonsenobjekten Diskutera "möjliga objekt" och placera vart ett av dom i någon av dom andra två kategorierna previous next 27 Exempel Vi skall bygga ett datorsystem för ett universitetsbibliotek Några krav Böcker och tidningar. Biblioteket innehåller böcker och tidningar. Det kan finnas flera kopior av en given bok. Vissa böcker kan bara lånas på korttidslån. Alla andra böcker kan lånas av en lånekortsinnehavare i tre veckor. En lånekortsinnehavare kan normalt låna sex saker samtidigt, men anställda kan låna upp till 12 saker på en gång. Endast anställda får låna tidningar. Lån. Systemet måste hålla reda på när böcker och tidningar är lånade och tillbakalämnade under reglerna som beskrevs ovan. previous next 28 Björn Eiderbäck
15 Exempel: hissar D s 85-87, 88 (kravspec + objekt, attribut + viktigaste objekt) previous next 29 Olika strategier för att hitta objekt Man kan också hitta objekt genom att identifiera källorna för aktion, "händelsekällor" och meddelanden identifiera målen för händelser osv identifiera "företeelser" i den reella världen, som gaser, tryck, kemikalier, osv identifiera fysiska enheter som sensorer, monitorer, osv viktiga koncept som bankkonton visuella element För fler exempel och andra strategier se utdelade utdraget ur Douglass avsnitt 3.3. previous next 30 Björn Eiderbäck
16 Relationer och associationer Enkelt klassdiagram D s 35 previous next 31 Relationer mellan klasser, multiplicitet, aggregat D s 36 previous next 32 Björn Eiderbäck
17 Exempel på klassdiagram med relationer D s 37 previous next 33 Beroenden <<bind>> D s 42 previous next 34 Björn Eiderbäck
18 Constraints D s 44 previous next 35 Stereotyper och ikoner D s 46 previous next 36 Björn Eiderbäck
19 Dynamisk modell (OCTOPUS) En översikt av dom olika delarna idag. Mer praktisk, exemplifierad och fördjupad beskrivning sker vid föreläsning 11 då vi går igenom ett stort exempel I den dynamiska modellen beskriver vi operationer och tar hänsyn till realtids och reaktiva aspekter Vi beskriver tex när operationer sker och hur lång tid dom får ta I OCTOPUS utförs följande process: analys av händelser händelselistor, gruppering av händelser och "händelselakan" analys av tillstånd parallella tillståndsdiagram och tabeller som beskriver agerande vidare analys av händelser och tillstånd signifikanstabeller och sammansatta händelser validering av den dynamiska modellen scenarior för komplexa operationer previous next 37 Analysera händelser Logiska inmatningshändelser vi försöker hitta dom händelser som kan inträffa i systemet vi fokuserar på logiska händelser av typen rensa skärmen och inte på mer primitiva som speciell tangent nertryckt Identifiera likheter mellan händelser och gruppera dem Skapa dokument som beskriver händelserna previous next 38 Björn Eiderbäck
20 Analysera tillstånd Från kunskapen då vi analyserade händelserna, "operationslakana" och den fysiska omgivningen försöker vi identifiera objektens tillstånd och övergångar se tex Awad figur 5-20, s 83 Efter att tillståndsdiagrammen identifierats ser vi på hur dom är nästlade och vad som sker parallellt resultatet är flera "parallella" tillståndsdiagram Vi skapar tabeller över tillståndsdiagram, tillstånd och relationer till klasser i objektmodellen se Awad tabell 5-3, s 84 previous next 39 action tables Vi beskriver också tillståndsdiagrammen med hjälp av "action tables" som visar vilka aktiviteter som skall ske vid ingång, utgång, vid speciella händelser eller hela tiden i ett visst tillstånd se Awad tabell 5-4, s 85 jämför UML:s enter-, do- och exithändelser Observera att det också finns ett "collective other state" som beskriver vad som ska ske vid vissa händelser som inte är beskrivna i tillståndsdiagrammet previous next 40 Björn Eiderbäck
21 Analysera signifikans för olika händelser Vi analyserar händelser och undersöker deras signifikans i förhållande till systemets totala tillstånd Vi utgår från dom elementära tillstånden och klassificerar varje händelse i förhållande till det aktuella tillståndet som kritisk viktig ignorerad neutral Denna tabell kan användas för att se vilka kombinationer av tillstånd och händelser som är mer kritiska än andra previous next 41 Analysera vilka händelser som kan slås ihop I vissa fall kan också två eller flera händelser ersättas av bara en händelse se Awad figur 5-21 s 87 Vi tittar på signifikansen och till vilka olika tillstånd dom olika händelserna leder vi kombinerar detta resultat med en signifikansanalys, genom att multiplicera ihop händelser, och ser om händelserna kan kan kombineras Fördelen är att vi får färre händelser att hantera Nackdelen är att betydelsen av en händelse bara är given i kombination med ett visst tillstånd previous next 42 Björn Eiderbäck
22 Konstruera mer detaljerade scenarier Vi konstruerar detaljerade scenarier (som sekvensdiagram) Awad figur 5-22 sid 89 Fungerar som verifiering av mekanismerna, med avseende på beteende, som är framtagna i analysen Bra som diskussionsunderlag mellan designer men även med kunder Dessa diagram konstrueras ofta tidigt i den dynamiska modelleringen används som hjälp för att ta fram information som behövs i andra delar av den dynamiska modellen previous next 43 Hårdvaruwrapper Vi "wrappar" in all hårdvara i klasser som som från tillämpningens synvinkel erbjuder all service, dvs den döljer hårdvaru- och andra detaljer Awad figur 5-23 och 5-24 sid 91 objektmodell, funktionell modell och dynamisk modell skapas också för hårdvaruwrappers previous next 44 Björn Eiderbäck
23 RUP, analys RUP processen är baserad på användningsfall I analysen försöker vi som vanligt bena ut vad systemet ska göra Stereotyper entity boundary control Genom att jobba med dessa stereotyper så blir analysens konceptuella karaktär tydlig previous next 45 Exempel: klassdiagram Ett användningsfall "realiseras" med hjälp av ett klassdiagram RUP s 187 previous next 46 Björn Eiderbäck
24 Exempel: samarbetsdiagram Vi undersöker systemet vidare genom att bland annat identifiera samarbetet mellan objekten ett samarbetsdiagram kan också kompletteras med en textuell beskrivning som mer detaljerat förklarar det hela RUP s 188 previous next 47 Större exempel: hiss previous next 48 Björn Eiderbäck
25 previous next 49 previous next 50 Björn Eiderbäck
26 previous next 51 previous next 52 Björn Eiderbäck
27 previous next 53 previous next 54 Björn Eiderbäck
28 D s 103 previous next 55 D s 110 previous next 56 Björn Eiderbäck
OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram
2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ Föreläsning 7 OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram - Kravspecifikationer, användningsfall, systemarkitektur - Analysfas vad är analys?
Läs merFöreläsning 11 Tisdag 6/6 2000
2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ Föreläsning 11 Tisdag 6/6 2000 OCTOPUS en kort repetition Farthållare previous next OCTOPUS Kravspec Vi konstruerar bla användningsfall Användningsfallsdiagram Systemarkitektur
Läs merObjektorientering. Grunderna i OO
Objektorientering Grunderna i OO 1 Systemutveckling Tre systemnivåer: Verksamhet Informationssystem Datasystem Huvuduppgifterna i ett systemutvecklingsarbete: Verksamhetsanalys Informationsbehovsanalys
Läs merUtvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion
2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion previous next Svårt att utveckla system Strukturerad programmering Flera metoder Utvecklingsmetoder...
Läs merProjektkaos. Chaos-rapporten. 34% av projekten avslutades i tid och enligt budget... ... 66% misslyckades!
Projektkaos. Chaos-rapporten 34% av projekten avslutades i tid och enligt budget...... 66% misslyckades! 1 Standish Group, 2003 (www.standishgroup.com) Praxis Hantera krav Använd komponentarkitekturer
Läs merUML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik
UML 1(5) Introduktion till Unified Modeling Language 1 Bakgrund och historik UML är ett objektorienterat modellspråk för att specificera och visualisera system. Det är framtaget i första hand för IT-orienterade
Läs merRUP - Rational Unified Process
IBM Software Group RUP - Rational Unified Process Eva Hådding eva.hadding@se.ibm.com 1 Projektkaos. Chaos-rapporten 28% av projekten avslutades i tid och enligt budget. 49% av projekten drog över de ursprungliga
Läs merObjekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur
Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 en systematisk metod för att gå från problembeskrivning till färdigt
Läs merObjektorienterad analys och design
Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 1 Objekt-orienterad analys och design: Litteratur Skansholm: Kapitel 4 Se även 1. http://www.uml.org/ 2. http://www-306.ibm.com/software/rational/uml/
Läs merSymptom på problemen vid programvaruutveckling
eller Varför är det bättre med halsbränna i början av ett projekt än i slutet? Eva Hådding ehadding@rational.com Symptom på problemen vid programvaruutveckling Användarnas och verksamhetens behov ej uppfyllda
Läs merDesign och utveckling. 2203$ ) UHOlVQLQJ
2203$ ) UHOlVQLQJ Utvecklingsprocessen en översikt. Lite om kravspecifikationer. CRC-kort. XP som exempel på lättviktigare process. Få utvecklare Många utvecklare Design och utveckling Vilken typ av projekt
Läs merUML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language
Ett modelleringsspråk : Exempel Fönster Klassnamn Unified Modelling Language Av Booch, Jacobson, Rumbaugh Exempel: En klass position storlek Attribut (instansvariaböe) Resultatet av en sammanslagning av
Läs merTDP005. Föreläsning 3 - UML. Filip Strömbäck
TDP005 Föreläsning 3 - UML Filip Strömbäck 1 Introduktion 2 Diagram 3 Klassdiagram 4 Sekvensdiagram 5 SFML-demo TDP005 Filip Strömbäck 2 UML Unified Modeling Language Visuell notation för idéer Kommunicera
Läs merTDDE10 TDDE11, 725G91/2. Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 TDDE11, 725G91/2 Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Ett större exempel på OOP Objektorienterad Analys (OOA)
Läs merRUP Rational Unified Process. 17 november 2004
RUP Rational Unified Process 17 november 2004 RUP Volvo Information Technology, Eva Hådding Volvo Information Technology Volvo IT ingår i Volvo-koncernen Volvo Lastvagnar Volvo Bussar Volvo Anläggningsmaskiner
Läs merMer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML
Målet Mer OOP Mer om klasser Några exempel UML Modularitet Språkligt modulära enheter Få gränssnitt Små gränssnitt Tydliga gränssnitt Dold information Återanvändbarhet Variation i typer Variation i datastrukturer
Läs merObjekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur
Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 17 juni 2005 en systematisk metod för att gå från problembeskrivning till färdigt
Läs merFöreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.
Föreläsning 2 Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Vår process Kravbeskrivning (3 dagar). Enkel form av användningsfall (use cases). Analys
Läs merIntroduktion. Byggstenar TDBA63 2005-11-22
Introduktion UML står för Unified Modeling Language. Det är tänkt att fungera som hjälpmedel vid modellering av alla tänkbara typer av utvecklingsarbeten, inte bara inom dataomdrådet. Det största värdet
Läs mer2203$ ) UHOlVQLQJ. Utvecklingsprocessen en översikt. Lite om kravspecifikationer. CRC-kort. XP som exempel på lättviktigare process.
2203$ ) UHOlVQLQJ Utvecklingsprocessen en översikt. Lite om kravspecifikationer. CRC-kort. XP som exempel på lättviktigare process. previous next Utvecklingsmetoder... Problem Svårt att Svårt att utveckla
Läs merArkitektur Michael Åhs
Arkitektur Michael Åhs Kalle & Hobbe: En utvecklares drömsystem 1. Vad är arkitektur? 2. Arkitektur i UML Innehåll 3. Utveckla en arkitektur 4. Arkitektur i projektet Del 1 - Vad är Arkitektur? Pattern-Oriented
Läs merObjekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar
Klassbegreppet och C++ OOP UML Klasser och objekt i C++ Uppdelning i filer Attribut och metoder Inkappsling - åtkomst Klassattribut - objektattribut Objekt-orienterad programmering Att använda ett objektorienterat
Läs merObjekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur
Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet June 22, 2006 en systematisk metod för att gå från problembeskrivning till färdigt
Läs merOpponentrapport på examensarbete Utveckling av ett affärssystem med Unified Process av Therese Sundström.
Opponentrapport på examensarbete Utveckling av ett affärssystem med Unified Process av Therese Sundström. Författare Per Johansson, Henrik Wallinder Generellt Helhetsintrycket från genomläsning av uppsatsen
Läs merObjektorienterad analys och design
Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet June 22, 2006 1 Objekt-orienterad analys och design: Litteratur Skansholm: Kapitel 4 Se även 1. http://www.uml.org/ 2. http://www-306.ibm.com/software/rational/uml/
Läs merObjektorientering Klasser
Objektorientering Klasser VSA110 1 OOA I analysen upprättas: Klassdiagram Objektdiagram Tillståndsdiagram Scenario Användningsfall Sekvensdiagram Användardialoger (skärmbilder) 2 Analys - en översikt Vi
Läs merObjektorienterad konstruktion
Analys - Objektorienterad konstruktion Vad är objektorientering?» Ett sätt att angripa programmeringsproblem» Ett sätt att tänka när man programmerar Vad innebär objektorientering?» Att uppmärksamheten
Läs merExtentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl
NADA, KTH OOMPA 1998-10-13 Sid 1 (8) Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl. 11-13 Inga hjälpmedel tillåtna. Poäng och betyg: För godkänt
Läs merFöreläsning 3 Användare, uppgift och omgivning. Kapitel 3-4 i Stone et al.
Föreläsning 3 Användare, uppgift och omgivning Kapitel 3-4 i Stone et al. Från föregående föreläsning Kravinsamling med användare i fokus genom Observationer i verkliga situationer Konstruera uppgifter
Läs merObjektorienterad metodik. Programutvecklingsmetodik. Objektmodellen. Varje objekt har en unik identitet
OH Objektorienterad programutveckling 1 Programutvecklingsmetodik Stegen vid programutveckling är typiskt kravspecifikation analys ska ge en modell av systemet som är mer exakt och en specifikation som
Läs merProgramutvecklingsmetodik
OH Objektorienterad programutveckling 1 Programutvecklingsmetodik Stegen vid programutveckling är typiskt kravspecifikation analys ska ge en modell av systemet som är mer exakt och en specifikation som
Läs merUML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.
Översikt UML Sekvensdiagram (dynamic structure) Informationsflöde genom programmet Användningsfall (use cases) Aktörers interaktion med systemet Paketdiagram Beroenden mellan paket abstrakta klasser Multipel
Läs merÖversikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram
Översikt Introduktion UML Objektorienterad programutveckling Analys Design UML Klassdiagram Aktivitetsdiagram Modellering Modellering är ett medel för att hantera komplexitet Bygger en abstraktion av verkligheten
Läs merObjektorientering Användning
Objektorientering Användning Samt repetition av klasser Suzana Ramadani 1 Repetition Objektorientering bygger på Abstraktion Hierarkisk strukturering Inkapsling Klassificering Generalisering specialisering
Läs merPraktikum i programvaruproduktion
Praktikum i programvaruproduktion Introduktion Föreläsare/Ansvarig: Pontus Boström Email:pontus.bostrom@abo.fi Rum A5055 Assistent: Petter Sandvik Email: petter.sandvik@abo.fi Rum: A5048 Föreläsningar:
Läs merFöreläsning om OO, OOA och UML
Föreläsning om OO, OOA och UML Modellering Kristian Ekberg Källa bild: video Marie Åsberg, AFA Försäkring Dagens föreläsning Presentation Kristian Ekberg Model och modellering Vad är en modell och vad
Läs merKonceptuell modellering. Formalisering, automatisering och effektivisering
Konceptuell modellering. Formalisering, automatisering och effektivisering LUSP. HT2012. Föreläsning 7. Övning 7 Erik Perjons perjons@dsv.su.se Modeller och modellering 1 Verksamheten två nivåer Människor
Läs merTeoridel (svaren direkt på lydelsen)
NADA, KTH 2D359 & 2D360 999-0-23 Sid () Tentamen i 2D359 & 2D360 Objektorienterad modellering programmering och analys Lördag den 23 oktober 999 kl. 4-9 MED KORTA LÖSNINGSFÖRSLAG Inga hjälpmedel tillåtna.
Läs merAnalys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram
Analys och design med hjälp av CRC 83 Klassdiagram Objekt Ett objekt är en individuellt identifierbar entitet som kan vara konkret eller abstrakt. Ett objekt har tillstånd, beteende och identitet. Reellt,
Läs merInformationssystem och databasteknik, 2I-1100
Informationssystem och databasteknik, 2I-1100 Introduktion till informationssystem - användning, teknik och utveckling Vad är ett informationssystem? Informationssystem: datoriserat system som stödjer
Läs merObjektorienterad Systemutveckling 1 (7,5 hp)
[ sida 1 ] Objektorienterad Systemutveckling 1 (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen (5 hp) 21OB1B ASYST13h, NGIMI13h, ADAEK13h Datum och tid: 2015-01-14, kl. 09.00 13.00 Hjälpmedel:
Läs merObjektkonstruktion. Vilka sorter finns? Varför ärver vi? Aggregering ger en lösare koppling till delarna än komposition. 1nJUDÃJUXQGOlJJDQGHÃUHJOHU
'HVLJQDYREMHNW 6HSWHPEHUÃÃ +XUÃVNDSDUÃYLÃREMHNWÃRFKÃNODVVHU" 1nJUDÃJUXQGOlJJDQGHÃUHJOHU %M UQÃ(LGHUElFN 1$'$Ã.7+ (PDLOÃEMRUQH#QDGDNWKVH Innehåll Arv eller komposition/aggregering Cohesion och coupling
Läs merUML. Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN-20520 Åbo, Finland e-mail: tczarnec@abo.fi url: www.abo.
UML Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN-20520 Åbo, Finland e-mail: tczarnec@abo.fi url: www.abo.fi/~tczarnec Abstrakt The Unified Modeling Language, UML, är ett visuellt
Läs merFöreläsning 8, Design
Föreläsning 8: Design och prototyper FSR: 1, 4, 5, 6 Att läsa: Kapitel 11 i Rogers et al.: Interaction Design Översikt Konceptuell design (Fysisk design) Uppgiftsallokering Prototyper Typer av prototyper
Läs merInteraktionsteknik och Design, 7,5hp
Tentamen i Interaktionsteknik och Design, 7,5hp Datum: Tid: 9.00-15.00 Tentamen består av två delar, matematik och interaktionsdesign. Dessa kommer att viktas så att de båda bidrar med 50% till totalpoängen.
Läs merLÖSNINGSFÖRSLAG. Tentamen. Objektorienterad modellering och design. EDA665, 4 poäng
LUNDS TEKNISKA HÖGSKOLA (5) Institutionen för datavetenskap LÖSNINGSFÖRSLAG Tentamen Objektorienterad modellering och design EDA665, 4 poäng 2003-06-03, 8.00-3.00 Anvisningar: Skrivningen består av 2 uppgifter.
Läs merExtentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl
NADA, KTH OOMPA 998-0-3 Sid () Extentamen i 2D359 Objektorinterad modellering programmering och analys Tisdag den 3 oktober 998 kl. -3 MED KORTA LÖSNINGSFÖRSLAG I dom flesta fall finns också lösningarna
Läs merIdag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget
Idag Varför modellera? Varför modellera? Konceptuell modell sverktyg Objektklasser Sambandsklasser Knepiga attribut sprocessen I all ingenjörsverksamhet där man hanterar komplicerade system behöver man
Läs merÖversikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram
Översikt Introduktion UML Objektorienterad programutveckling Analys Design UML Klassdiagram Aktivitetsdiagram Modellering Modellering är ett medel för att hantera komplexitet Bygger en abstraktion av verkligheten
Läs mer+5V. start. Styrsystem. stopp. Tillståndsmaskiner
Tillståndsmaskiner Beteendet hos en stor klass av tekniska system kan beskrivas, modelleras, med tillståndsmaskiner. En tillståndsmaskin är en sekvens av tillstånd som beror av händelser och som ger olika
Läs merUML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.
Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language
Läs merProblem 1-1,5p Två av följande metoder för kravspecifikation är ej lämpade att använda vid ett COTSprojekt,
Problem 1-1,5p Två av följande metoder för kravspecifikation är ej lämpade att använda vid ett COTSprojekt, vilka? 1p En av metoderna är istället mycket lämpad för att specificera krav till ett COTS-projekt,
Läs merExamen i 2D1359 & 2D1360 Objektorienterad modellering programmering och analys Tisdagen, 23 Oktober 2001, 14:00-19:00
NADA, KTH 2D1359 & 2D1360 2001-10-23 Sid 1 av 7 Examen i 2D1359 & 2D1360 Objektorienterad modellering programmering och analys Tisdagen, 23 Oktober 2001, 14:00-19:00 Inga hjälpmedel tillåtna. Poäng och
Läs mer(Data)Modellering. nikos dimitrakas rum 2423
(Data)Modellering nikosd@kth.se 08-161295 rum 2423 Connolly/Begg (3rd edition) Kapitel 11, 12 och 14 (4th edition) Kapitel 11, 12 och 15 (5th edition) Kapitel 12, 13 och 16 (6th edition) Kapitel 12, 13
Läs merHandbok Umbrello UML Modeller
2 Innehåll 1 Inledning 7 2 Grundläggande UML 8 2.1 Om UML........................................... 8 2.2 UML-element........................................ 9 2.2.1 Användningsfallsdiagram.............................
Läs merRealtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys
Realtidssystem HT03 Vad är realtidssystem? Föreläsare: Wang Yi Rum: 1235, yi@it.uu.se, Tel: 471 3110 Assistent: Tobias Amnell Rum: 1216, tobiasa@it.uu.se, Tel: 4717122 Webbsida: www.it.uu.se/edu/course/homepage/realtid/h03
Läs mer+5V. start. Styrsystem. stopp. Tillståndsmaskiner
Tillståndsmaskiner Beteendet hos en stor klass av tekniska system kan beskrivas, modelleras, med tillståndsmaskiner. En tillståndsmaskin är en sekvens av tillstånd som beror av händelser och som ger olika
Läs merIdag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen
Idag Modellering Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen DD1370 (Föreläsning 3) Databasteknik och informationssystem
Läs merÖvning / handledning Användningsfall
ACSD sommar 2004 Övning / Handledning Användningsfall Uppsala universitet & Stefan Blomkvist @ 2004 Stefan Blomkvist stefan.blomkvist@it.uu.se ACSD sommar 2004. Övning / handledning Användningsfall Ett
Läs merTDP005 Projekt: objektorienterade system
TDP005 Projekt: objektorienterade system 10/18/2007 Linköpings universitet 1 Översikt Ø Introduktion Ø UML Ø Objektorinterad programutveckling Ø Analys Ø Design Ø UML Ø Klassdiagram Ø Aktivitetsdiagram
Läs merUnified Modeling Language UML
Unified Modeling Language UML Vad händer idag? Föreläsning Introduktion till UML Objekt-orientering Klasser Objekt Use cases UML-diagram Specifikationer Praktisk övning Skapa enkla UML-diagram 2 Vad är
Läs merFrågor och svar till tentamen i Kravhantering
Frågor och svar till tentamen i Kravhantering Del 1 Frågor & svar Frågor&svar till tentamen 1 Datamodeller (0.5p) När man tar fram data krav skriver Lausen i sin bok, gällande data modeller, att det finns
Läs merUnified Modeling Language UML
Unified Modeling Language UML Vad händer idag? Föreläsning Introduktion till UML Objekt-orientering Klasser Objekt Use cases UML-diagram Specifikationer Praktisk övning Skapa enkla UML-diagram 2 Vad är
Läs merObjektorienterad analys och design
Objektorienterad analys och design Objektorienterad analys och design 1 Dagens föreläsning Första delen, innan rasten: Motivation och bakgrund Analys Funktioner Andra delen, efter rasten: Objektorienterade
Läs merObjektorienterad programutveckling i ett nötskal
Objektorienterad programutveckling i ett nötskal Tommy Olsson, Institutionen för datavetenskap, Linköpings universitet, 204 Detta häfte ger en översikt av grundläggande begrepp inom objektorienterad programutveckling:
Läs merObjektorienterad programmering, allmänt
Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 juni 2005 1 Vilka egenskaper vill vi att program ska ha? Förslag (en partiell lista): De ska... gå snabbt att skriva vara
Läs merViktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?
Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 mars 2005 1. Korrekthet 2. Robusthet 3. Utökbarhet 4. Återanvändbarhet 5. Kompatibilitet
Läs merProgrammeringsstil 18/3-2002
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
Läs merIE1205 Digital Design: F10: Synkrona tillståndsautomater del 2
IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2 Sekvensnät Om en och samma insignal kan ge upphov till olika utsignal, är logiknätet ett sekvensnät. Det måste då ha ett inre minne som gör
Läs merInkapsling (encapsulation)
UML UML är en standard för att dokumentera och visualisera sina tankar och beslut under analys och design. Att lära sig allt om UML får inte plats i den här kursen, men vi kommer lära oss vissa delar.
Läs merInformation. Computer
Information Objektorienterad modellering och diskreta strukturer Lennart Andersson Reviderad 2009-10-14 2009 Tentamen torsdag 22 oktober 8-12/13. Hjälpmedel på tentamen. Martin: PPP Andersson: UML Holm:
Läs merObjektorienterad Programmering DAT043. Föreläsning 10 13/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)
Objektorienterad Programmering DAT043 Föreläsning 10 13/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) 1 Sökning och Sortering: Binärsökning Problem: Hitta ett element i en godtycklig
Läs merIdag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen
Idag Modellering Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen DD1370 (Föreläsning 3) Databasteknik och informationssystem
Läs merNätkurs Design & konstruktion av användargränssnitt 1MD113 Sid 1 (5) Lektion 11 Användare, uppgifter och krav del
Nätkurs Design & konstruktion av användargränssnitt 1MD113 Sid 1 (5) Del 3 Uppgiftsanalys Av Stefan Blomkvist Uppgiftsanalysen ska svara på frågor om vilka uppgifter användarna utför och hur dessa genomförs.
Läs merMjukvarudesign. Designprocessen. Teknisk design. Konceptuell design
RE SD PD I UT IT ST AT Mjukvarudesign System Requirement Specification Inkrementell och iterativ! Konceptuell design (VAD) Systemdesign (OOA) Arkitekturell (grovkornig, UML) Teknisk design (HUR) Programdesign
Läs mer" «Observable» DataGenerator" betyder att klassen DataGenerator ärver från den abstrakta klassen Observable.
1 Klassdiagram Markera om följande påståenden är sanna eller falska: " «Observable» DataGenerator" betyder att klassen DataGenerator ärver från den abstrakta klassen Observable. Om klassen A ärver från
Läs merF5 Introduktion till digitalteknik
Exklusiv eller XOR F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant På övning 2 stötte ni på uttrycket x = (a b) ( a b) som kan utläsas antingen a eller b, men inte både a och
Läs merAnvändning av modeller för system/produktutveckling
Användning av modeller för system/produktutveckling Lars Wiktorin, IT plan lars.wiktorin@itplan.se 1 Disposition Modellbegreppet Användningsområden Att välja modeller Mottagare Krav För system/produktutveckling
Läs merAbstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser
Abstrakta Klasser 1 God klassdesign placerar gemensamma attribut och metoder så högt som möjligt i hierarkin men ibland kan dessa egenskaper inte definieras fullständigt Abstrakta klasser innehåller ofta
Läs merIdag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget
Idag Varför modellera? Varför modellera? Konceptuell modell sverktyg Objektklasser Sambandsklasser Knepiga attribut sprocessen I all ingenjörsverksamhet där man hanterar komplicerade system behöver man
Läs merPMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning
PMM (Process Maturity Metrics) PMM är en metod för att mäta processmognad i utvecklingsprojekt. I korthet går metoden ut på att man utvärderar sin utvecklingsprocess med avseende på ett antal framgångsfaktorer
Läs merNationell Informationsstruktur 2015:1. Bilaga 7: Arkitektur och metodbeskrivning
Nationell Informationsstruktur 2015:1 Bilaga 7: Arkitektur och metodbeskrivning Innehåll Nationell informationsstruktur arkitektur och metod... 3 Standarder inom informatik... 3 NI relaterat till ISO 42010...
Läs merInst. för IT / MDI, Stefan Blomkvist 2003-11-21 Användarcentrerad systemdesign, ht03 Inlämningsuppgift 2
Inst. för IT / MDI, Stefan Blomkvist 2003-11-21 Användarcentrerad systemdesign, ht03 Inlämningsuppgift 2 Kommentarer på inlupp 2 Användningsfall Här kommer några allmänna kommentarer på inlupp 2. /Stefan
Läs merIntroduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?
Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? TDDD78, TDDE30, jonas.kvarnstrom@liu.se 729A85 jonas.kvarnstrom@liu.se
Läs merObjektorienterad programmering
Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad
Läs merTillämpningsanvisningar
Tillämpningsanvisningar Inledning Denna anvisning syftar till att ge ett stöd i tillämpningen av den nationella informationsstrukturen (NI). NI används dels för att skapa eller återanvända strukturerad
Läs merLite om databasdesign och modellering
Lite om databasdesign och modellering Konceptuell databasdesign Med konceptuell databasdesign avses processen att konstruera en datamodell för en verksamhet, oberoende av fysiska villkor. Modelleringen
Läs merBilaga A. Klassdiagram i OMT (klasser och dess relationer) Klassdiagram i UML (klasser och dess relationer) 1 st
Bilaga A Klassdiagram i OMT (klasser och dess relationer) Klassdiagram i UML (klasser och dess relationer) VäderSamling nyttgivarvärde 1 st består av GivarVärde nuvärde datum tid SkrivUtNuVärde() LäggTillGivarVärde()
Läs merKonceptuell modellering
Konceptuell modellering En konceptuell modell beskriver data och datasamband på ett representationsoberoende sätt. Vad modellen sen ska implementeras som/i får inte påverka modellens utformning! Grundbegrepp:
Läs merIE1204/IE1205 Digital Design
TENTAMEN IE1204/IE1205 Digital Design 2012-12-13, 09.00-13.00 Inga hjälpmedel är tillåtna! Hjälpmedel Tentamen består av tre delar med sammanlagd tolv uppgifter, och totalt 30 poäng. Del A1 (Analys) innehåller
Läs merSekvensnät Som Du kommer ihåg
Sekvensnät Som Du kommer ihåg Designmetodik Grundläggande designmetodik för tillståndsmaskiner. 1. Analysera specifikationen för kretsen 2. Skapa tillståndsdiagram 3. Ställ upp tillståndstabellen 4. Minimera
Läs merLi#eratur och empiriska studier kap 12, Rienecker & Jørgensson kap 8-9, 11-12, Robson STEFAN HRASTINSKI STEFANHR@KTH.SE
Li#eratur och empiriska studier kap 12, Rienecker & Jørgensson kap 8-9, 11-12, Robson STEFAN HRASTINSKI STEFANHR@KTH.SE Innehåll Vad är en bra uppsats? Söka, använda och refera till litteratur Insamling
Läs merRiktlinjer för. INFORMATIONSMODELLER I Sparx EA 1.0
Riktlinjer för INFORMATIONSMODELLER I Sparx EA.0 Målgrupp och syfte med dokumentet Denna manual fungerar som stöd till dig som arbetar med informationsarkitektur och ska dokumentera informationsmodellering
Läs merDynamiska modellen. Objektorienterad modellering programmering OOMPA Föreläsning 6. Innehåll. Tid. Sekvensiering, synkronisering
Dynamiska modellen Tid Objektorienterad modellering programmering och analys OOMPA 1999 Föreläsning 6 Innehåll Unified Modelling Language - den dynamiska modellen Interaktionsdiagram sekvensdiagram samarbetsdiagram
Läs merUse case som teknik för identifiering och dokumentering av krav (HS-IDA-EA )
Use case som teknik för identifiering och dokumentering av krav (HS-IDA-EA-02-306) Helén Fredh (b99helfr@student.his.se) Institutionen för datavetenskap Högskolan i Skövde, Box 408 S-54128 Skövde, SWEDEN
Läs merWebprogrammering och databaser. Konceptuell datamodellering med ER-modellen
Webprogrammering och databaser Konceptuell datamodellering med ER-modellen 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign
Läs merIE1205 Digital Design: F9: Synkrona tillståndsautomater
IE25 Digital Design: F9: Synkrona tillståndsautomater Moore och Mealy automater F8 introducerade vippor och vi konstruerade räknare, skift-register etc. F9-F skall vi titta på hur generella tillståndsmaskiner
Läs merFöretagsmodellering i UML
Företagsmodellering i UML En kort-kort introduktion av Ambjörn Naeve http://kmr.nada.kth.se Modellering En modell är en förenklad beskrivning av ett komplext område En modell är motiverad av mål (= har
Läs merChaos om datorprojekt..
Systemutveckling och användbarhet Användarcentrerad systemutveckling, gränssnitt och prototyper. Referens till avsnitt i kursboken Dix kapitel 6 Gulliksen, Göransson: Användarcentrerad systemdesign, kapitel:
Läs merSteg 3: Modellering. Mål. Metod. Intressenter. Användare. Tekniker för analys: Goal directed design 1. Projektplanering
Goal directed design 1. Projektplanering Steg 3: Modellering 2. Research (undersökning) 3.Modellering (av undersökningsresultatet) 4. Kravsammanställning 5. Ramverksdesign (övergripande designbeslut) 6.
Läs mer