Software-Engineering - Enterprise Labzajud/SWE_2/01=Einfuehrung.pdf · Software-Engineering ......

23
Martin Jud NDS-I SWE II / WBK 312 1 Software-Engineering Software-Engineering im NDS-I besteht aus drei Modulen: SWE I Prozess & Projekt SWE II Modellieren mit UML SWE III Architektur & Design

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