Tema 2 – Objektorienterad analys och modellering med UML
Tema 2 behandlar objektorienterad analys och hur UML används för att modellera en problemdomän.
Kursmål: A1 och B1 i kursplanen.
Syfte
Temat fördjupar din förståelse för objektorienterad analys och den roll analysen har när vi modellerar en problemdomän innan vi börjar utforma en lösning. Objektorienterad analys hjälper oss att minska komplexiteten och skapa system som speglar relevanta begrepp i verksamheten.
UML-modeller fungerar som ett gemensamt språk för att beskriva systemkrav och beteenden. De underlättar kommunikationen mellan intressenter och utvecklare.
Objektorienterad analys handlar bland annat om att identifiera objekt, klasser och relationer i problemdomänen. Systemets funktionalitet dokumenteras med användningsfall, aktivitetsdiagram och sekvensdiagram. Modellerna hjälper oss att beskriva:
- vad systemet ska göra, alltså de funktionella kraven,
- hur processer flödar, alltså arbetsflöden,
- hur objekt samverkar dynamiskt genom att skicka meddelanden till varandra.
Områden i temat
Domänmodellering
Domänmodellen beskriver konceptuella klasser, deras egenskaper och relationerna mellan dem.
Modellering av användningsfall
- användningsfallsmodellens roll i kravanalysen,
- aktörer, användningsfall, scenarier och relationer,
- kortfattade, informella och fullständigt beskrivna användningsfall,
- användningsfallsdiagram som visuell sammanfattning av systemets funktionalitet.
Aktivitetsdiagram
- arbetsflöden och kontrollflöden,
- aktiviteter, beslut, start- och slutnoder, simbanor och parallella flöden,
- hur aktivitetsdiagram kompletterar användningsfall genom att beskriva processlogik.
Sekvensdiagram
- dynamisk samverkan mellan objekt i ett bestämt scenario,
- livslinjer, meddelanden, aktiveringsfält och tidsordning,
- hur diagrammen hjälper oss att identifiera metoder, ansvar och samarbeten,
- sekvensdiagrammens roll som länk mellan analys och design.
Läsanvisningar
Läs följande kapitel i Craig Larmans Applying UML and Patterns:
- avsnitt 1.6 för bakgrund om modellering,
- kapitel 6 om användningsfallsmodeller och användningsfallsdiagram,
- kapitel 9, 10 och 15 om domänmodeller och sekvensdiagram,
- kapitel 28 om aktivitetsdiagram.
Studiefrågor
Objektorienterad analys
- Vad är objektorienterad analys, och hur skiljer den sig från design?
- Definiera begreppen objekt och klass. Hur relaterar de till varandra?
- Vilka roller och ansvar kan objekt ha i ett system?
- Vad är syftet med en domänmodell, och hur skapas den?
- Hur hjälper associationer och multiplicitet oss att modellera relationer?
Modellering av användningsfall
- Vad är en användningsfallsmodell, och vilka är dess viktigaste delar?
- Vad är en aktör? Vilka typer av aktörer kan förekomma i en användningsfallsmodell?
- Vad är skillnaden mellan ett användningsfall och ett scenario?
- Beskriv de tre formaten för att skriva användningsfall. När passar respektive format?
- Hur kan en användningsfallsmodell hjälpa oss att hitta klasser och ansvar?
Aktivitetsdiagram
- Vad är ett aktivitetsdiagram, och hur skiljer det sig från ett användningsfallsdiagram?
- Vilken funktion har simbanor i ett aktivitetsdiagram?
- Hur kan ett aktivitetsdiagram beskriva parallella processer?
- På vilka sätt stödjer aktivitetsdiagram objektorienterad analys?
- Hur kan möjliga klasser och metoder identifieras utifrån ett aktivitetsdiagram?
Sekvensdiagram
- Vad är ett sekvensdiagram, och vad beskriver det?
- Vilka är de viktigaste delarna i ett sekvensdiagram?
- Hur hjälper sekvensdiagram oss att identifiera objekts ansvar?
- Hur kompletterar sekvensdiagram användningsfall och aktivitetsdiagram?
- Varför betraktas sekvensdiagram som en länk mellan analys och design?
Frågor om temat ställs i Zulip för Kalmar campus och distans.