• Keine Ergebnisse gefunden

Softwareanforderungsanalyse Akteure und ihre Verantwortlichkeiten Burkhardt Renz

N/A
N/A
Protected

Academic year: 2021

Aktie "Softwareanforderungsanalyse Akteure und ihre Verantwortlichkeiten Burkhardt Renz"

Copied!
24
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Softwareanforderungsanalyse

Akteure und ihre Verantwortlichkeiten

Burkhardt Renz

THM, Fachbereich MNI

Wintersemester 2018/19

(2)

Das Modell der Akteure im Kontext der Modellierung

SafeTransportation

SpeedLimited NoCollision DoorsClosed WhileMoving Goal model

Train On Block 0..1

Platform At

Object model Concern

Obstacle model NoStopAtSignal

Obstruction

Tracking

System Train

Controller Speed, Position Agent model Responsibility

Operation model Compute Acceleration

Send Acceleration

TrainController Tracking

System Operationalization

Behavior model Movement State

Closed Open

opening

[TimeOut] [AtPlatform]

Stopped Moving

start [doorsClosed]

Doors State Train

Controller Passenger

Opening entrance Closing

Start Stop

...

Coverage

Quelle: Lamsweerde, S. 291

(3)

Übersicht

Akteure

Was sind Akteure?

Charakterisierung von Akteuren Darstellung des Modells der Akteure

Heuristiken für das Entwickeln von Akteurmodellen

(4)

Akteure und ihre Verantwortlichkeiten

Modellierung von Akteuren und ihrer Verantwortlichkeit ist die Dimension desWerin der Anforderungsanalyse:

Akteure im System

ihre Fähigkeiten und Eigenschaften wie diese zur Zielerreichung beitragen

die Beziehungen und Abhängigkeiten von Akteuren untereinander

(5)

Akteure

Was sind Akteure?

Aktive Objekte, die Zustand und Verhalten des Systems beeinflussen, steuern

als solche verantwortlich für das Erreichen von Zielen dazu müssen sie die entsprechenden Fähigkeiten haben man betrachtet eher Rollen statt individuelle Akteure Akteure handeln i.a. nebenläufig

(6)

Kategorien von Akteuren

Neu zu entwickelnde Software-Akteure

z.B. Controller-Komponenten, Clients von Web-Services, Server u.ä.

Eingesetzte vorhandene Software-Akteure

z.B. Datenbankmangementsysteme, ERP-Systeme u.ä.

Geräte

z.B. Sensoren, Aktoren, Infrastruktur wie Router. . . Menschliche Akteure

z.B. Anwender, Verantwortliche für den Betrieb, Organisationseinheiten. . .

(7)

Eigenschaften von Akteuren

Wie jedes Objekt werden Akteure im Modell mit Annotationen versehen:

Name = Name des Akteurs

Def = Präzise Definition des Akteurs Category = Kategorie des Akteurs (s.o.)

(8)

Fähigkeiten von Akteuren

Akteur beobachtet(monitors) Attribute eines Objekts, wenn er die Werte der Attribute des Objekts lesen kann.

Akteur steuert(controls) Attribute eines Objekts, wenn er die Werte der Attribute des Objekts ändern kann.

Akteure haben untereinander Schnittstellen, wenn ein Akteur ein Attribut beobachtet, das ein anderer steuert.

Ein Attribut wird von höchstens einerInstanz eines Akteurs (einer Rolle) gesteuert (Unique Controller constraint).

(9)

Verantwortlichkeiten von Akteuren

Ein Akteur ist verantwortlichfür ein Ziel, wenn seine

Instanzen die einzigen sind, die das Verhalten des Systems so beinflussen können, dass das Ziel erfüllt wird.

Das bedeutet, dass der Akteur durch die Attribute, die er beobachtet und/oder steuert eine Folge von

Zustandsänderungen erreichen kann, die zu einem Verhalten des Systems führen, das dem Ziel entspricht.

Ein Akteur kann Operationenausführen, die es ihm erlauben, Werte von Variablen zu beeinflussen.

(10)

Beispiel der Konzepte im Akteursdiagramm

Speed, Position Speed, Position Tracking

System AccurateSpeed&

PositionEstimated

SafeAcceleration ComputedFromEstimates

ComputedAcceleration SentInTimeToTrain

Train Controller

Train

Command TrainInfo

Send Command

Speed, Position

Speed, Acceleration

Def A set of sensors distributed along blocks to measure the physical speed and position of trains Category Environment device

InstanceResponsibility A train controller at a station is responsible for computing safe accelarations of all trains between this station and the next one

monitoring

control

performance responsibility

Quelle: Lamsweerde S.406

(11)

Wünsche und Annahmen eines Akteurs

Ein Akteurwünscht, dass ein Ziel erreicht wird, dies kann im Modell durch eineWunsch-Beziehung dargestellt werden.

Ein Akteur hat Annahmenüber seine Umgebung und deren aktuellen Zustand.

Dies wird modelliert, indem man dem Akteur einenlokalen Speichergibt.

Man sagt dann, dass der Akteur an die Fakten glaubt, die er in seinem lokalen Speicher hat.

Spezielle Formen für die Risikoanalyse sind

Konfusion= der Akteur irrt sich über die Identität eines Objekts.

Fehlglaube= die Werte im lokalen Speicher des Akteurs stimmen nicht mit den wirklichen Fakten überein.

(12)

Abhängigkeiten von Akteuren

Ein Akteur hängt in der Verantwortlichkeit für ein Ziel von einem anderen Akteur ab, wenn dessen Versagen dazu führen kann, dass er sein Ziel nicht erreicht.

Darstellung im Akteursdiagramm:

Scheduler

Participant Initiator Attendance If Informed

And MeetingConvenient

Reduced

Load ConvenientMeeting

ScheduledFromConstraints Constraints DateNotified Transmitted

dependency

Der Initiator ist für das Ziel vom Teilnehmer abhängig

Quelle: Lamsweerde S.408

(13)

Übersicht

Akteure

Darstellung des Modells der Akteure Akteursdiagramme

Kontextdiagramme Abhängigkeitsdiagramme

Heuristiken für das Entwickeln von Akteurmodellen

(14)

Diagramme des Akteursmodells

Im Akteursmodell werden 3 Arten von Diagrammen verwendet Akteursdiagramm – zeigt Akteure und ihre Fähigkeiten, Verantwortlichkeiten und Funktionen

Kontextdiagramm – zeigt Akteure und ihre Schnittstellen Abhängigkeitsdiagramm – zeigt Akteure und ihre

Abhängigkeiten

(15)

Akteursdiagramme

Speed, Position Speed, Position Tracking

System AccurateSpeed&

PositionEstimated

SafeAcceleration ComputedFromEstimates

ComputedAcceleration SentInTimeToTrain

Train Controller

Train

Command TrainInfo

Send Command

Speed, Position

Speed, Acceleration

Def A set of sensors distributed along blocks to measure the physical speed and position of trains Category Environment device

InstanceResponsibility A train controller at a station is responsible for computing safe accelarations of all trains between this station and the next one

monitoring

control

performance responsibility

Quelle: Lamsweerde S.406

(16)

Kontextdiagramme

Akteure sind die Knoten des Graphen.

Eine gerichtete Kante beschreibt wie ein Akteur einen anderen beeinflusst.

Die Kanten werden beschriftet mit den beeinflussten Attributen aus dem Objektmodell.

Das Kontextdiagramm kann aus dem Akteursdiagramm generiert werden.

(17)

Kontextdiagramm – Beispiel

Train.Acceleration Train.Speed,

Train.Position

Tracking System

Train Controller

Train Actuator

OnBoard Controller TrainInfo.Speed,

TrainInfo.Position Command.Speed,

Command.Acceleration controls

monitors

Quelle: Lamsweerde S.407

(18)

Abhängigkeitsdiagramme

Scheduler

Participant Initiator Attendance If Informed

And MeetingConvenient

Reduced

Load ConvenientMeeting

ScheduledFromConstraints Constraints DateNotified Transmitted

dependency

Der Initiator ist für das Ziel vom Teilnehmer abhängig

Quelle: Lamsweerde S.408

(19)

Übersicht

Akteure

Darstellung des Modells der Akteure

Heuristiken für das Entwickeln von Akteurmodellen Abstrakte Akteure und ihre Verfeinerung Von Zielen zu Akteuren

Von Zielen zu Verantwortlichkeiten

Kontextdiagramme aus dem Zielemodell generieren

(20)

Abstrakte Akteure und ihre Verfeinerung

Oft kann man nicht im ersten Schritt die Akteure so genau bestimmten, dass sie für feingranulare Ziele verantwortlich sind.

Man verwendet dann abstrakte Akteure, die man dann verfeinert.

Dabei kann man oft das Muster derparallelen Vefeinerung von Zielen und Akteuren, die für sie verantwortlich sind, anwenden.

Beispiel

ProcessControlledAdequately ProcessControlEngine

ProcessInfoMonitored AccuratelyFromData

ProcessInfo

ControlledAdequately ControlledInfoActuated AccuratelyOnProcess

Data

Sensor Software Controller

Process Actuator

Quelle: Lamsweerde S.410

(21)

Ableitung von Akteuren aus Zielen

Analyse aller Objekte in der Formulierung eines Ziels – Herausfinden der aktivenObjekte.

Zuordnen von Akteuren zu Zielen, in dem man untersucht, wer für das Erreichen eines Zielsverantwortlichsein kann.

Untersuchen welcher Akteur sich ein Ziel wünscht.

Analysieren, wer Attribute/Objekte beobachtet und/oder steuert.

(22)

Zuordnung von Verantwortlichkeiten

Untersuchen, wer fähig ist, ein Ziel zu erreichen.

Verfeinerung von Zielen mit paralleler Verfeinerungvon Akteuren (s.o.).

Kann man sich Softwareakteure vorstellen, die menschliche Akteure ersetzen?

Ist der Akteur, der ein Ziel wünschtauch für es verantwortlich?

(23)

Kontextdiagramme aus dem Zielemodell generieren, 1

Es ist möglich, Kontextdiagramme aus dem Ziele- bzw.

Akteursmodell herzuleiten – Beispiel zur Zugsteuerung:

Maintain [DoorsClosedWhileNonZeroSpeed]

Maintain [DoorsStateClosed If NonZeroMeasuredSpeed]

MeasuredSpeed = PhysicalSpeed

TrainController DoorsActuator DoorsClosed Iff DoorsStateClosed

SpeedSensor

SpeedSensor TrainController DoorsActuator

Train.

Speed

TrainInfo.

Speed

TrainInfo.

DoorsState Train.

Doors

Quelle: Lamsweerde S. 414

(24)

Kontextdiagramme aus dem Zielemodell generieren, 2

Es ist möglich, Kontextdiagramme aus dem Ziele- bzw.

Akteursmodell herzuleiten – Beispiel zur Bibliotheksverwaltung:

CopyBorrowed If Available

LoanEncoded If Availability

Displayed

LoanSoftware Staff Availability

Displayed If BookAvailable

CopyBorrowed If CheckedOut

Patron

BookInfo.

Available LoanInfo

Loan

CopyBackOnTime If Borrowed

Return Encoded If Returned CopyReturned

OnTime If Borrowed

Staff Patron

LoanSoftware Staff Patron

AvailableCopy CheckedOut If LoanEncoded

LoanSoftware

CopyCheckedIn If ReturnEncoded

LoanSoftware

Quelle. Lamsweerde S. 415

Referenzen

ÄHNLICHE DOKUMENTE

Mareike Klekamp setzt sich mit der Präimplantationsdiagnostik (PID) auseinander, insbesondere mit der (von ihr unter PID subsumierten) Polkörperdiagnostik, bei der nicht der Embryo

Jedes konzeptuelle Objekt (Entität, Akteur, Ereignis, Beziehung) hat (kann haben) bestimmte Eigenschaften, die Typen sind durch ihre Attribute gleichartig strukturiert.

ReqPre: Vorbedingung, die die Eingabevariablen erfüllen müssen, damit die Operation ausgeführt werden kann ReqTrig: Triggerbedingung bedeutet, dass die Operation ausgeführt werden

Modellierung des Verhaltens von Instanzen Szenarien mit Sequenzdiagrammen der UML Verfeinerung von Szenarien.. Modellierung des Verhaltens von Klassen Vorgehen bei der Modellierung

Eines der Ziele des Requirements Engineering ist die Erstellung eines hochwertigen Anforderungsdokuments Auf Basis eines zieleorientierten Modells kann es halbautomatisch

Wenn auch Sie Interesse haben, in eine eigene Wohnung zu zie- hen oder sich einfach einmal in- formieren wollen, wenden Sie sich an Frau Monika Decker oder Frau Marion

Ein anderes Beispiel für Fotografien aus anderen Quellen bildet ein Konvolut aus knapp 20 Aufnahmen (oder Reportagen) zu den Themen Besetzung des Grenzgebiets / Hitler oder

Während jedoch individuelle Handlungen einer »höchst komplexen Verursachung« unterliegen, so bestehe bei Kollektiven und Kor- porationen eine gewisse Möglichkeit zur