Software-Engineering - Enterprise Labzajud/SWE_2/01=Einfuehrung.pdf · Software-Engineering ......
-
Upload
truongkhanh -
Category
Documents
-
view
215 -
download
0
Transcript of Software-Engineering - Enterprise Labzajud/SWE_2/01=Einfuehrung.pdf · Software-Engineering ......
Martin Jud NDS-I SWE II / WBK 312 1
Software-Engineering
Software-Engineering im NDS-I besteht aus drei Modulen:
• SWE IProzess & Projekt
• SWE IIModellieren mit UML
• SWE IIIArchitektur & Design
Martin Jud NDS-I SWE II / WBK 312 2
SWE II – Modellieren mit UML
Umfang 4 ECTS Creditsentsprechend 120 Stunden Studienaufwand.
Davon ca. 30 Stunden bzw. 40 Lektionen (10 x 4 Lekt.) Präsenzunterricht
plus je nach Vorkenntnissen bis zu 90 Stunden (9 Std./W) Selbststudium.
Dozent M. Jud, Büro E303Tel.: G 349 34 78 (intern 478)E-Mail: [email protected]
Unterricht Präsenzunterricht, praktische Übungen.
Lehrbuch Die UML 2.0 Kurzreferenz für die Praxis Bernd Oestereich, Oldenbourg, München 2004
Lernziele – Die wichtigsten UML-Diagrammtypen und deren Bedeutung für das Modellieren kennen.
– Use Cases, Klassendiagramme sowie Sequenz-/Kollaborations-diagramme praktisch anwenden
Prüfung Die Leistungsbeurteilung erfolgt durch eine schriftliche Prüfung im Umfang von 2 Lektionen. Für das bestandene Modul (mindestens mit Note 4 bewertet) werden 4 ECTS Credits vergeben.
Organisation
Martin Jud NDS-I SWE II / WBK 312 3
Literatur
– Die UML 2.0 Kurzreferenz für die PraxisBernd Oestereich, Oldenbourg, München 2004
– UML konzentriert, 3., aktualisierte AuflageMartin Fowler, Addison-Wesley, München 2003
– The Unified Modeling Language User Guide, G. Booch, J. Rumbaugh, I. Jacobson, Addison Wesley, 1999
– Analyse und Design mit UML 2 – Objektorientierte Softwareentwicklung: 7., aktualisierte Auflage, B. Oestereich, Oldenbourg-Verlag, 2005
– UML 2 for DummiesMichael J. Chonoles, James A. Schardt, Wiley, New York, 2003
– OMG Unified Modeling Language Specification V1.5, http://www.omg.org/technology/documents/formal/uml.htm
Organisation
Martin Jud NDS-I SWE II / WBK 312 4
Entwicklungsgeschichte der UML
OMTRumbaugh, 1991
OODBooch, 1990
UM 0.8Booch, Rumbaugh, 1995
UCJacobsen, 1992
UML 0.9„ Three Amigos“ 1996
UML 1.0„ Three Amigos“ 1/1997
© 2001 by SWEED, Martin Kropp
UML Hintergrund
Martin Jud NDS-I SWE II / WBK 312 5
What is the UML ?
• UML stands for Unified Modeling Language
• The UML is a graphical modeling language for– specifying– visualizing– constructing– documentingthe artifacts of software systems
• UML Goal– have a continuous object-oriented modeling concept
in all software phases
© 2001 by SWEED, Martin Kropp
UML Hintergrund
Martin Jud NDS-I SWE II / WBK 312 6
What is the UML ?
• UML is language independent
• UML supports the whole development process
• UML integrates (almost) all former modeling techniques– data modeling– process modeling– state and behavioral modeling– control flow modeling
© 2001 by SWEED, Martin Kropp
UML Hintergrund
Martin Jud NDS-I SWE II / WBK 312 7
... and what it’s not
• UML is
– not a software process model
– not a life cycle model
– not a programming language
– not without redundancy
• You have several different views on the same thing
– not a software tool
• there are a lot of tools, that support UML
– has limited capability to express things
• concentrate on the essence
© 2001 by SWEED, Martin Kropp
UML Hintergrund
Martin Jud NDS-I SWE II / WBK 312 8
Why do we model ?
Modeling captures essential parts of the system
James Rumbaugh
• Provide structure for problem solving
• Communication
• Furnish abstractions to manage complexity
Why do we model visually ?
• Graphics reveal data
Edward TufteThe Visual Display of Quantitative Information, 1983
• Ein Bild sagt mehrals tausend Worte
Volksmund
UML Hintergrund
Martin Jud NDS-I SWE II / WBK 312 9
Modelle und UML DiagrammeRequirements
(Use Case) Model
Analysis Model
Design Model
Deployment Model
Implementation Model
Test Model
Use Case Diagrams
Class and Object Diagrams
Component Diagrams
Deployment Diagrams
Sequence Diagrams
Collaboration Diagrams
Statechart Diagrams
Activity Diagrams
© 2002 by Scott Hawker, University of Alabama
UML Hintergrund
Martin Jud NDS-I SWE II / WBK 312 10
UML Diagramme
• Use Case Diagram• Class Diagram• Verhaltensdiagramme
– Statechart Diagram– Activity Diagram– Interaction Diagrams
• Collaboration Diagram• Sequence Diagram
• Implementationsdiagramme– Component Diagram– Deployment Diagram
Diagramme
Modell
Ein Diagramm ist eineSicht auf ein Modell�verschiedene
konsistentePerspektiven
© 2002 by Scott Hawker, University of Alabama
UML Hintergrund
Martin Jud NDS-I SWE II / WBK 312 11
Weiterentwicklung der UML
© 2003 by Martin Glinz Uni Zürich
UML Hintergrund
Martin Jud NDS-I SWE II / WBK 312 12
UML 2.0
• Grundkonzept bleibt:UML ist eine Sammlung verschiedenster Modellierungssprachen, die Spezifikation deshalb eine Menge aus lose gekoppelten Teilmodellen
• Weitgehend aufwärtskompatibel
• Neu sind:• innere Struktur für Klassen• Komponenten als Modellierungskonzept• Informationsfluss modellierbar (DFD ... )
UML Hintergrund
Martin Jud NDS-I SWE II / WBK 312 13
UseCase Modeling
UseCases sind Ausgangspunkt für die weiteren UML Modelle:
© 1999 by Addison Wesley USDP Jacobson Booch, Rumbaugh
UseCases & BusinessProcess
Martin Jud NDS-I SWE II / WBK 312 14
Geschäftsprozess-Modell (Business Model)
Wie kann das zu entwickelnde System in den bestehenden Anwendungsbereich
optimal integriert werden.
• Berührungspunkte mit umgebenden Prozessen klären– UML UseCase-Diagramme– Kontextdiagramm
• Verhaltensaspekte der Systeme und Geschäftsprozesse – UML Aktivitätsdiagramme (für komplexere Organisationen eher ARIS o.ä.)
– UML Sequenzdiagramme Nachrichtenaustausch mit Akteuren
Aus dem Glossar des OEP, © 1999 by Bernd Oestereich, oose.deGmbH, Hamburg
UseCases & BusinessProcess
Martin Jud NDS-I SWE II / WBK 312 15
Geschäftsprozesse und Geschäftsvorgänge
• Ein Geschäftsprozess ist eine Zusammenfassung von – organisatorisch evtl. verteilten, – fachlich jedoch zusammenhängenden
Aktivitäten, die notwendig sind, um einen Geschäftsvorgang zu bearbeiten.
• Die Aktivitäten eines Geschäftsprozesses stehen gewöhnlich in zeitlichen und logischen Abhängigkeiten zueinander.
• Ein Geschäftsvorgang entsteht gewöhnlich durch ein von einem konkreten Geschäftspartner initiiertes Ereignis (z.B. Antragseingang)� Instanz eines Geschäftsanwendungsfalls
Aus dem Glossar des OEP, © 1999 by Bernd Oestereich, oose.deGmbH, Hamburg
UseCases & BusinessProcess
Martin Jud 11.04.2005 NDS-I SWE II / WBK 312 16
Business UseCases
Definition UseCaseEin Anwendungsfall beschreibt eine Menge von Abläufen (inkl.
Varianten) die ein System ausführen kann und die einen erkennbaren Nutzen für den jeweiligen Akteur bringen.
• Geschäftsanwendungsfälle sind die Leistungen die ein Geschäftssystem manuell und/oder IT-gestütztKunden, Geschäftspartnern oder weiteren Geschäftssystemen bietet.
• Die geschäftssysteminterne, für Aussenstehende nicht sichtbare Funktionalität gehört nicht dazu.
sinngemäss nach: UML projektorientiert Grässle/Baumann, Galileo Computing
UseCases & BusinessProcess
Martin Jud 11.04.2005 NDS-I SWE II / WBK 312 17
UseCases
• What it is ?– A set of sequences of interactions between the user
and the system tied together by a common user goal.
• Purpose– Describe the functional requirements of a system
without revealing its internal structure.
© 2001 by SWEED, Martin Kropp
User
System
UseCases
Martin Jud 11.04.2005 NDS-I SWE II / WBK 312 18
Elements of a UseCase
• Actor– An external system (usually a user), that is interacting with the
UseCase.
• Scenario– An instance of UseCase
• one standard scenario, several variations
• Relationships– Relations between actors and UseCases
• ... or among UseCases
© 2001 by SWEED, Martin Kropp
UseCases
Martin Jud 11.04.2005 NDS-I SWE II / WBK 312 19
UseCase Diagram
© 2001 by SWEED, Martin Kropp
Register forCourse
Customer
Billing
Request forInformation
Send Comment
Relationship
Use Case
Actor
System Boundary
UseCases
Martin Jud 11.04.2005 NDS-I SWE II / WBK 312 20
UseCase Beschreibung
Jeder UseCase wird beschrieben durch:• einen eindeutigen Namen, möglichst Substantiv + Verb• einen kurzen Erläuterungstext von ca. 2-20 Zeilen • eine Liste mit den beteiligten Akteuren • Benennung wichtiger Auslöser / Vorbedingungen • Benennung wichtiger Ergebnisse / Nachbedingungen • Benennung wichtiger Dokumente und Ansprechpartner • eine Beschreibung der einzelnen Ablaufschritte mit:
– Namen, möglichst Substantiv + Verb – Stichwortartige Erläuterung
© 1999 by oose.de GmbH, Hamburg
UseCases
Martin Jud NDS-I SWE II / WBK 312 21
Kontext-Diagramm
Unterhalt
Kunde
Bank-Zentrale
Bankomat
«flow»gewünschte Funktion, Konto(s), Betrag, Pin
«flow»Abbuchen, KonstandAnfrage
«flow»Kontoinfo, Quittierung«flow»
Geld
«flow»Geld, Quittung
Das System und seine Umwelt
Aus der Vorlesung Softwareengineering von Jörg Hofstetter HTA Luzern
BusinessProcess
Martin Jud NDS-I SWE II / WBK 312 22
UML Übungsaufgabe : Bibliothek
• Eine Bibliotheksverwaltung soll neu mit Informatikmitteln erfolgen. • Es werden folgende Basis-Anforderungen an die Software gestellt:
/A1/ Die Bibliothek hat Bücher und Magazine, die ausgeliehen und reserviert werden können.
/A2/ Ein Buch kann anhand von Titel, Autor oder ISBN-Nummer gesucht werden
/A3/ Jedes Buch / Magazin hat eine eindeutige Identifikationsnummer
/A4/ Von populären Titeln sind mehrere Exemplare vorhanden.
/A5/ Für jeden Titel existiert eine Kurzbeschreibung
/A6/ nur eingeschriebene Benutzer können Bücher / Magazine ausleihen
Aus der Vorlesung Softwareengineering von Jörg Hofstetter HTA Luzern
Organisation
Martin Jud NDS-I SWE II / WBK 312 23
Übung
• Erstellen und beschreiben Sie für die Bibliotheksverwaltung die Geschäftsanwendungsfälle
– siehe Buch Kap. 2.1.1, S. 20/21
– siehe Buch Kap. 2.1.7, S. 27ff
– siehe Buch Kap. 2.1.8, S. 33/34
• Vergleichen Sie das Kontextdiagramm auf Folie 20 mit dem Systemkontextdiagramm im Buch.
– siehe Buch Kap. 2.1.2, S. 22
UseCases & BusinessProcess