Document Body Page Navigation Panel

Pages 1--31 from Untitled


Page 1 2
Informatik
Verteilte Systeme I
1. Netzwerkarchitektur
-Satz von Schichten und Protokollen -zur Aufteilung in Einzelkomponenten
-zur bessereb Überschaubarkeit -bspw. TCP/ IP, SNA, OSI
-Instanzen -aktives Element jeder Schicht
-Software oder Hardware -Protokolle
-Satz von Regeln und Bestimmungen -zur Kommunikation von Instanzen der gleichen Schicht
-OSI-Schichtenmodell
Nummer Schicht Aufgaben Datenbezeichnungen
7 Application
(Anwendung)
Nachrichten erstellen

6 Presentation
(Darstellung)
Komprimieren, Verschlüsseln

5 Session
(Sitzungs)
Puffern, Sitzungsverwaltung Nachricht

4 Transport Segmentierung TPDU
3 Network
(Vermittlung)
Pfade selektieren Pakete
(Datagramm wenn
verbindungsunabhängig)
2 Data Link
(Sicherungsschicht)
Übertragung von Datenrahmen Rahmen

1 Physical
(Bitübertragung)
Transport von Bits
(elektrisch, optisch, drahtlos)

-Verbindungsorientierter Dienst -Verbindung aufbauen -Daten übertragen -Verbindung auflösen
-Verbindungsunabhängiger Dienst -jede nachricht erhält volle Adresse
-Reihenfolge nicht gesichert -bspw. Post

-Kommunikationsarten -Punkt zu Punkt
-Nachricht vom IMP (Interface Message Processor) zu IMP -Zwischenspeicherung
-Broadcasting -alle IMP einen Kommunikationskanal
-alle Nachrichten an alle -nur die adressierten leiten weiter
-statische oder dynamische Zuordnung 1
1 Page 2 3
2a Bitübertragungsschicht -Übertragungsmedien
-Verdrilltes Kupferkabel -Sternvierer (4 Adern, Kategorie 3)
-UTP (Kategorie 5) -STP
-Koaxialkabel -Glasfaser
-Multimode (Wellenausbreitung) -Monomode (Licht gerade)
-Verstärkerabstand 30 km -Drahtlos

2b Bitübertragungsschicht -Öffentliche Netze
-LAN -WAN
-MAN
3a ISDN
-alle 125 µs Amplitudenmessung -8bit-Darstellung
-= 8000 Messungen/ s x 8 bit =64000 bit/ s
3b Mobile Kommunikation
-Datenkommunikation -Leitungsgebunden
-Kupfer -Glasfaser
-Drahtlos -Funknetze
-Bündelfunkt -Zellfunk
-Satellitennetze -Geo
-Leo -Laser
-Infrarot
4 Belastungsanalysen
-Poissonverteilung
-
x
e m
-m = x! P(x)

-mit Mittelwert m und Standardabweichung m G =
-Beispiel: -Durchschnitt auf Autobahn 0. 8 Unfälle, m= 0. 8

-P, daß 4 Unfälle in einer Woche passieren: 0.008 4! 0.8 4)
4
= = = -0.8 e P(x 2
2 Page 3 4
-andere Schreibweise von n Ereignissen in Zeit t:
-t
n

n e P
l l -=

n!

t) ( (t)

-mit durchschnittlich lt Ereignissen in Zeit t
5 Lokale Netze
-Punkt zu Punkt -Rundsendung (Braodcasting)
-Kanäle mit Vielfachzugriff -Kanäle mit wahlfreiem Zugriff (Token-x ?)
-Broadcastingprobem: Aufteilung eines Kanals auf mehrere Benutzer -Aloha
-Möglichkeiten: -Senden
-Abhöhren, Kollision ? -Wenn Kollision, warten zufällig, neu senden
-Rahmen mit konstatnter Länge -Slotted Aloahe
-Takten der Zugriffszeiten -Startpunkt einer Rahmenzeit
-gefährlicher Zeitraum um Hälfte reduziert -CSMA-Protokolle
-Station hört Kanal ab, sendet nur wenn frei -nicht getaktet
-1-persistant CSMA: wenn Kanal frei: senden, sonst warten -non-persistant CSMA: vor dem Senden immer Zeiteinschub
-getaktet -p-persitstant CSMA, p ist Wahrscheinlichkeit, mit der ein Rahmen ausgewählt wird.
-CSMA/ CD trotz Abhören Kollision möglich (durch endliche Ausbreitungsgeschwindigkeit)
Bei Kollision sofort Sendeabbruch
Abhören auch beim Senden
bspw. Ethernet

-MAC-Schicht -Aufteilung der Sicherungsschicht in

-LLC (Logical Link Control, 802.2) -MAC (Medium Access Control) (untere Teil)

6a Ethernet
-ist CSMA/ CD-Protokoll -Abbruch sobald Kollison erkannt, Erkennung mit analoger Elektronik
-Manchester-Kodierung, weil Kollision von 2 0-Volt-Signalen nicht möglich -10Base5
-dickes Koax, 500 m, Transceiverstecker, Transceiverkabel von Karte zu „Yellow-Cable" -10Base2
-dünnes Koax, 200 m, BNC-Stecker -10BaseT
-UTP, 100 m, Hub, RJ45-Stecker -10BaseF
-Glasfaser, 2000 m 3
3 Page 4 5
6b Ethernet-Technologie
-Konkurrenzslot 51,2 µs, 10 Mpbs -> 512 Bit= 64 Bytes -bei Kollision ungültige Rahmenbruchteile im LAN, deshalb Mindestlänge Rahmen (64 Bytes)
-max. Rahmenlänge 1518 Bytes -Sendeformen
-Punktsenden -Broadcasten
-Multicasten -Fast Ethernet
-100BaseT4 (4 Paare Kategorie 3 Kabel) -100BaseTX (RJ45-Stecker, Kategorie 5 -Kabel)
-100BaseFX (multimode Glasfaser)
7 Token Ring
-Ring mit bestimmter Speicherkapazität -Länge
-Signalgeschwindigkeit (meist 200 m/ µs) -Datenrate (Bist/ s(
-Token -bestimmtes Bitmuster
-kreist im Ring -Ring muss Token komplett aufnehmen können
-Verzögerung des Tokens -Laufzeitverzögerung
-Bit Puffer= Pause an jeder Station -Übertragung
-Senden -Empfänger kopiert die Daten, sendet alle zurück
-Sender entfernt selbst gesendete Daten -Ring zu klein für Rahmen -> können beliebige Länge haben
-Priortätsvergabe für Senden möglich -Token-Ring-Wartung
-eine Station Monitorfunktion -damit Token nicht verschütt geht
-säubert Ring von Rahmenbruchstücken -darantiert Länge des Rings durch ggf. zusätzliche Bitverzögerungen
-wenn Token weg -> CLAIM_ TOKEN kann von jeder Station gesendet werden, die dann „Chef" ist -Vorteile
-Rahmenlänge egal -gute Nutzung (100%) der Bandbreite
-FDDI -MBits/ s
-entgegengesetzt rotierende Ringe, bei Ausfall eines -> ein großer entsteht -LED
-mehrere Tokens gleichzeitig im Ring -meist als Backbone für mehrere LANs

8a Sicherungsschicht -Fehlerbehandlung
-Sicherungsschicht unterteilt Datenfluß in Rahmen durch: -zeitliche Lücken 4
4 Page 5 6
-Längenfeld -Zeichenstopfen
-Bitstopfen -illegale Signalübergänge
-Zeichenstopfen -DLE (Data Link Escape, Hex 01)
-STX (Start of TeXT, Hex 02) -ETX (End of TeXT, Hex 03)
-aus DLE wird DLE DLE -Bitstopfen
-siehe Tannbaum
8b Sicherrungsschicht -Protokolle
-Uneingeschränktes Simplexprotokoll -nur in eine Richtung
-Stop-and-Wait-Protokoll -Empfänger wird nicht mit Daten überschwemmt
-Rückmeldung durch Empfänger -Sender erst weiter, nach Rückmeldung
-PAR-Protokoll -Schiebefenster
-Piplining -bspw. bei Satellitenkanälen, hohe Ausbreitungsverzögerung
-Zeit zwischen Sendung und Rückmeldung zu lang -Rahmen ohne Bestätigung, dann alle acks auf einmal
-go back n -selective repeat
-SLIP -PPP

9a Netzwerkschicht -Leitwegbestimmung
-Aufgaben der Vermittlungsschicht -Pakettransport
-Pfad auswählen -Überlastungssteuerung
-Unterschiedliche Netzwerktypen -allgm.
-LANs meist nur Schicht 2 -LAN-Verbund nur rudimentär
-in WANs sehr wichtig -verbindungsorientierter Dienst
-Verbindung aufbauen -Daten übertragen
-Verbindung auflösen -verbindungsunabhängiger Dienst
-jedes Paket mit voller Adresse -Reihefolge nicht gesichert
-bestätigt b) undbestätigt möglich -Leitungsvermittlung
-Paketvermittlung -Leitwegtabellen 5
5 Page 6 7
-virtuelle Verbindung -Routing
-Prozeß zur Pfadauswahl, über den Pakete innerhalb Schicht 3 verschickt werden -Leitwegbestimmung
-Distance Vector Routing -Tabelle mit allen Entfernungen zu allen möglichen Empfängern
-Link State Routing -jeder Router mit „Kosten" zu allen Nachbarroutern

9b Netzwerkschicht -Überlastungssteuerung
-Rundsende-Leitwegbestimmung -Quelle sendet an alle
-Fluten -Mehrziel-Leitwegbestimmung
-Überlastungssteuerung -verhindert Staus im Subnet
-Flußsteuerung -verhindert überfluten des Empfängers mit Paketen
-Vorabzuweisung von Puffern -Pufferbereiche bei jedem IMP
-freie Pufferzuordnung -Pakete verwerfen, die nicht weit gekommen sind
-zurückweisen von Paketen
10 Implementierungen der Netzwerkschicht X. 25, Frame Relay
wichtigsten Protokolle
X. 25
Frame Relay
SNA
IP-Teil von TCP/ IP (also einfach IP !!!)
X. 25
Architektur für Schichten 1, 2, 3
verbindungsorientiert
permanente virtuelle Verbindungen
virtuelle Anrufe
Frame Relay
Verbindung von LANs über große Entfernungen
rudimentär, keine Schicht 3-Funktionen
nur Schicht 2-Kernfunktionen
keine Flußsteuerung
kein Schiebefenster
keine acks, Bestätigungen
Rahmen können auf Weg verloren gehen
für asynchrone Datenübertragung geeignet

11a IP und das Internet
TCP/ IP ist Protokoll keine Software
ähnlich Sprache und Compiler -> gibt mehrere Implementierungen auf unterschiedlicher Hardware und BSs
IP (Internet Protokoll)
verbindungslos 6
6 Page 7 8
fragmentiert bei Bedarf Pakete
Adressierung durch 32 Bit Internet-Adressen
max 65535 Bytes Paketgröße
Kopfprüfsumme, keine Datenprüfsumme
Internet-Adresse
„dotted decimal notation" (127.0.0.1)
Übertragung in „Network Byte Order" (werthöchstes Byte wird zuerst gesendet)
ist Big Endian Format
höchswertiges Byte an erster Stelle
ggü Little Endian Format (Intel, Alpha)
niedrigswertiges Byte an erster Stelle
deshalb auf Maschinen mit Little Endian bei Übertragung und Empfang SW-Konvertierung nötig
aus Net_ ID und Host_ ID
Länge der beiden Felder unterschiedlich und variabel

11b IP -Internetprotokoll

Verteilte Systeme II
12a Brücken
Relais
Schicht 1: Repeater
Schicht 2: Brücke
Schicht 3: Router/ Gateway
Schicht 4-7: Protokollwandler
Repeater
Bitstrom kontrollieren
Signale verstärken
in gleicher Reihenfolge weiterleiten
Brücke
empfängt vollst. Rahmen
Checksummenbrechnung möglich
Längenerweiterung möglich

einfache Brücke
gibt alle Rahmen weiter
Leitwegbrücke
allgm.
gibt nur Rahmen weiter, deren Adresse nicht im gleichen LAN liegen
neu „Lernen" der Zieadressen möglich
Fixed Routing (Tabellen, von Hand erstellen)
statische Zieladressen
Weitergabe, wenn Adresse nicht local ist
Transparente Brücken (konfig. alleine, transparent bridge)
Leitwegentscheidung jeder Brücke überlassen
Spanning tree bridges
wenn Schleifen in LAN-Verbund
Quellenleitwegbestimmung (konfig. alleine, source routing bridge)
Quelle erstellt Routinginformationen

12b Router
Allgm.
7
7 Page 8 9
Kopplung von Netzen auf Schicht 3
wesentliche Aufgabe Routing, Kooperation vieler Router notwendig
Weiterleitung nur dann, wenn Zieladresse dem Router bekannt
typisch: Verbindung LAN-WAN
2 Arten: verbindungsroientiert oder verbindungslos (Datagramm)

Brouter
Verbindung aus Brodge und Router
Tunneling
bspw. WAN als reines Transitnetz
vollständiges Netz mit eigener Schicht 3 wie Schicht behandelt
Verpacken eines Protokolls A ind Protokoll B
bspw. TCP/ IP mittels X. 25

13 IP-Routing
IP-Adresse
aus 2 Teilen
Netz_ ID
Host_ ID
|---------------|---------------32---------------|-------------------|
Class A 0 Netz Host
Class B 10 Netz Host
Class C 110 Netz Host
Class D 1110 Multicast-Adrese
Class E 11110 Für später reserviert

Internet Routing Protokolle
RIP
OSPF
IS-IS
IP Routing
zwischen Subnetzen, NICHT zwischen (außer lokalne) Hosts
LANs mit Brücken = als ein Subnetz betrachtet
Verarbeitung in einem Router
jeder Router Tabelle mit 2 Arten von IP-Adressen
aus 1. geht hervor, wie entfernte Netze erreichbar
aus 2. wie man lokale Hosts erreicht
kommt IP-Paket an, in Tabelle nachschlagen
wenn für entferntes Netz, (Form [Netz_ ID, 0]), dann an in Tabelle ausgewiesenes Ziel senden
wenn für lokalen Host (Form [Netz_ ID, Hosts_ ID]), dann direkt dahin senden
wenn Netz nicht vorhanden, dann an (vorgegebenen) Router mit mehr Einträgen schicken
Subnetting
Aufteilung des Netze nach innen in mehrere Teilnetze
bspw. Aufteilung der 16 Bit-Hostnummer
6 Bit für Teilnetz (= 62 LANs, nicht 64, weil 0 und -1 reserviert)
10 Bit für Host_ ID (je 1022 Host pro Teinetz)
|---------------|---------------32---------------|-------------------|
Class B 10 Netz Host

Class B 10 Netz Teilnetz Host
Einträge in Router ändern
Einfügen von (dieses Netz, Teilnetz, 0) und (dieses Netz, Teilnetz, Host_ ID)
eigentlich nur boolsches AND mit der Teilnetzmaske und dann nachschlagen 8
8 Page 9 10
14 TCP und UDP
IP
TCP
verbindungsorientiert: Verbindungsaufbau, Datentransfer, Verbindungsabbau
sicherer Transport, Fehlerbehebung
reihenfolgerichtig
Flußsteuerung durch
dynamische Ferntergröße
bspw. SMTP, FTP, Telnet
UDP
nicht verbindungsorientiert
kein Verbindungsaufbau
Sender schickt Daten an Zielrechner ohne auf Rückmeldung zu achten
keine Fehlerbehebung
minimaler Overhead
bspw. NFS, X-Windows, DNS
Ports
definiert Zugang zwischen TCP/ UDP und nächshöheren Schicht
jede Anwendung hat einen eindeutigen Port
dynamisch eingerichtet und zerstört
bezeichnen den gewünschten Dienst
Socket
= vollständige Transportadresse
= IP-Adresse: Port

15 Sockets
=Kombination aus IP-Adresse und Port
Schnittstelle zu Netzwerkprotokollen
Endpunkt einer Kommuniaktionsverbindung
Typen
Stream Sockets (zuverlässig, verbindungsorientiert, TCP/ IP)
Datagram Sockets (verbindungslos, unzuverlässig, UDP
Raw Sockets (Mechanismus für eigene höhere Protokolle)
Erzeugung
=socket( domain, type, protocol)
Senden
send( sockid, buffer, length)

16a Remote Procedure Call
für Entwicklung C/ S-Anwendungen in verbundungsunabhängigen Sitzungen
RPC
Sitzungsschicht
Unterprogrammaufruf auf anderen Rechner ohne Programmkontextwechsel
Standard für unterschiedliche Architekturen, Hersteller
ideal
RPC nicht von lokalem Prozeduraufruf zu unterscheiden

16b RPC-Programmierung
Fehlermöglichkeiten
Server kann Prozedur nicht beenden
Client stürzt während RPC ab 9
9 Page 10 11
Fehlerbehandlungen unbedingt erforderlich
Ausfall des Servers
idempotente Arbeitsvorgänge (beliebig oft widerholbar)
nicht idempotent (ganau einmal, höchstens einmal, mindestens einmal)
Ausfall des Clients
Waisenentstehung, wenn Server keinen wartenden Client mehr hat
Behandlung:
Ausrottung
Verfallszeit
Wiedergeburt
Sanfte Wiedergeburt

17 Darstellungsschicht
Aufgaben
Komplexe Datenstrukturen behandeln
Datenkomprimierung
Verschlüsselung
Authentifizierung
Namensgebung
Unterschiede in der Datenrepräsentation
Little Endian (Intel, Alpha)
werniedrigste Byte zuerst
Big Endian (Motorola)
werthöchste Byte zuerst
im Internet Big Endian Standard, daher manchmal SW-Konvertierung nötig
Häufigkeitskodierung
Huffman-Tree
arithmetischer Code
Lauflängencodierung
Kompressionsstandards
JPEG
MPEG1, 2
H320 (Videokonferenz)

18a Verschlüsselung
Sicherheit
Schutz vor mißbräuchlicher Benutzung
Authentifizierung
Identität des Users
Attacken
passiv
Lesen von Inhalten
Analyse des Nachrichtenverkehrs
aktiv
Änderung des Nachrichtenstroms
Maskerade
Kryptografie
Anwendungen
Geheimhaltung
Authentifizierung
Verfahren (Verschlüsselung)
symmetrisch (bspw. DES)
asymmetrisch (bspw. RSA 10
10 Page 11 12
Verschlüsselung
Substitution
Transposition

18b Sicherheit
RSA Algorithmus
Sender mir öffentlichen Schlüssel Nachricht verschlüsselt
Entschlüsselung nur mit privaten Schlüssel
basiert auf Zahlentheorie, nachdem öffentlicher Schlüssel leicht ermittelbar aus privaten Schlüssel ist, aber
privater Schlüssel nur extrem aufwendig aus öffentlichen Schlüssel errechnet werden kann
Digitale Unterschrift
Realisierung Onlineunterschriften
Überprüfung Identität eines Servers
Nachricht kann nicht verleugnet werden
Umkehrung
Sender verschlüsselt Prüfcode
jeder kann entschlüsseln -> Sender ist autentisch, denn nur er kennt geheimen Schlüssel
asymetrisches Verfahren

19 Namensgebung
Name-> Adresse-> Weg
Name beschreibt, was gebraucht wird
Adresse identifizierter Ort, wo sich Objekt befindet
Weg beschreibt, wie man zum Objekt kommt
Übersetzung symbolscher Adresse (www. offspring. com) in IP-Adressen (209.67.25.125) oberhalb der
Transportschicht
Zuordnung in der „host table"
Resolver
Routine zum Umsetzen von Hostnamen in IP
Problem der lokalen Hosttabellen
viele Rechner
Inkosistenzen zwischen Tabelle
Lsg.: NameServer
DNS (Domain Name Server)
entspricht Hierarchie der Rechnernamen des Internets
Regeln zur Autorisierung
verteiltes System, Zerlegung des Internets in sinnvolle Teile (Domainen)
Autorisierung
Bsp.: tech01. informatik. uni-leipzig. de
tech01 von Admin der Informatiker
informatik von Admin des Uni-Netzes
uni-leipzig von übergeordneter Stelle (DE-NIC)
de von Internet Network Information Center

20 Zeitdienste
Zeit statt Bytes ?
perfekt synchronisierte Uhren
konstanete Nachrichtenlaufzeiten
Sendung Nachricht (1 Bit)
Empfänger zählt die Zeit
Sender sendet wieder Bit als Ende
Zeit t (als Wert) entspricht Dualzahl 11
11 Page 12 13
Software Engineering
0 Einleitung
Defizite des SE
Unterschiede reale Vorgehensweise unf Theorie der Lehre
klass. Ingeneursdiziplinen weiter
keine ausreichenden Verfahren zur Verifizierung
tatsächliche Vorgehensweise stark von Unternehmen abhängig
keine einheitliche Methodik

1.1 Softwaretechnologische Grundlagen
Prinzipien der SW-Entwicklung
Wiederverndung
Arbeitsteilung
Modularität
Normung und Qualitätssicherung
Begleitende Dokumentation
Lebenszyklus
SW-Erzeugnis durchläuft charakteristischen Phasen
Gesamtheit = Softwarelebenszyklus
Phase
nach
inhaltlichen
technologischen
organisatorischen
zeitlichen Aspekten
abgegrenzter Prozeß

Analyse und Definition
Entwurf
Implementation und Test
Erprobung
Freigabe?
Dauerbtrieb
Wartung
Aussonderung?

Unterteilung wichtig um
Prozeß
planen
abzurechnen
kontrollieren
periodisieren
steuern
in allen Phasen
Verwalten
Dokumentieren
Validieren (richtiges Produkt?)
Verifizieren (Produkt richtig gemacht?)
Vorgehensmodell
Unterscheidung
Abgeschlossenheit der Phasen 12
12 Page 13 14
Aufeinanderfolge der Phasen
Zusammenwirken der Benutzer
Benutzermitwirkung
bei Systemsoftware geringen
groß bei Anwendungssoftware
Wasserfallmodell
zeitliches Nacheinander der Phasen
nächste Phase er nach Abnahme der letzten
<wasserfallbild>
Benutzermitwirkung durch
Stellungnahmen
Konsultationen
Überprüfungen
Vorteil
rationell
Entwicklungsprozeß läuft geschlossen ab
Nachteil
Verständigungsschwierigkeiten mit Benutzer
Langweilig für Programmierer
Spiralenmodell mit Prototyping
günstig für Zusammenarbeit zw. Entwickler und Benutzer
frühzeitiges Demo (Prototyp)
frühzeitiges Bewerten, Ändern, Weiterenwicklen
<spiralenbild>
wiederholtes Durchlaufen der Entwicklungsphasen
Prototyp zum ständigen Kontakt m it Benutzer
exploratives P.
experimentelles P.
evolutionäres P.
Strategischen Methoden
grundlegenden Vorgehensweisen des SE
Top-Down
System als Ganzes
Elemente, innere Struktur egal
Ein-und Ausgabeinfos + Transformationen darstellen
Verfeinerung durch schrittweises Zerlegen
Buttom-Up
vom Teil zum Ganzes
Ausgang: nicht mehr zerlegbare Elemente (Moduln)
schrittweises Zusammensetzen der Module

Paradigmen
funktions-/ prozeßorientiert
Buttom-Up kaum Bedeutung
nur dei absehbar schwierigen Methoden Top-Down durch Buttom-Up ergänzen
objektorientiert
beide Methoden nicht einfach anwendbar:
Top-Down: Vererbung (?)
Buttom-Up erzeugt nur unbhängige Objekte, keine Hierarchien

-> Inside-Out-Methode
erst finde einer Basisstruktur
bilden einer Hierarchie (Allgemeine, Gemeinsame finden)
Ebenenbildung
gleiche Objekte -> Klasse
ähnliche Objekte -> Hierarchie 13
13 Page 14 15
1.2 Wirtschaftlichkeit
allgm. Verhältnis von Kosten und Erlös
bei Anwendung von Computerdiensten Erlös durch Nutzen ersetzen
Kosten (einmalig)
Rücklußdauer = ----------------------------------------------------------
Erlös/ Nutzen (jährlich) -Kosten (jährlich)

Nutzen (Zeitabschnitte)
Nutzenkoeffizient = -----------------------------
Kosten (Zeitabschnitte)
Nutzen (einmalig oder laufend)
durch:
Ausnutzung Ressource Information
Rationalisierung Info-/ Kommuprozesse
Verlustveringerung durch höhere Ordnung/ Sicherheit
Personaleinsparung
Senkung Material-/ Energieverbrauch
Prozeßbeschleunigung
Flexibilitätserhöhung
Kosten
einmalig:
Hardware, Systemsoftware
Kauf/ Entwicklung von Anwendungssoftware
bauliche Veränderung, Hardwareinstallation
Schulung, Einführungskosten
Zinsen
laufend:
Druckerpaier
Farbbänder
Datenträger
Energie
Wartung
Reparatur
Lizenzgebühren
Updates
Kosten-/ Aufwandsschätzung für Softwareentwicklung
Kosten= Zeitaufwand* Bewertung
Zeitaufwand in MT, MM, MJ
Bewertung
eigentlich Problem ist Zeitaufwandsschätzung
Zeitaufwandsschätzung
Multiplikatorenmehtode
1. Bewertung von abgeschlossenen Entwicklungen nach Moduln, Programmzeilen, Datenstrukturen
2. Schätzung der nach 1. Komponenten mit Zeitschätzung nach 1.
Vorteil: einfach, klar
Nachteil: Komponenten erst spät bekannt
Faktorenmethode
Regressionsanalyse mit unabhängigen Größen bzgl. Zeitaufwand
Function-Point
Umfang
Schwierigkeit
Entwicklungsumgebung
<function point>
COCOMO
MM= c* KDSI)^ k 14
14 Page 15 16
c= 2.4
k= 1.05
Produktivität
P= DSI/ MM

1.3 Projektmanagement
Gesamtheit Maßnahmen zur Planung, Organisation, Durchführung, Kontrolle Softwareentwiclung
Planung
abhängig von:
Struturiertheit der Aufgabenstellung
Projektgröße
Erfahrungen des Teams
Entwicklungsmehtoden
Projektumgebung
Planung von:
Personal
Zusammensetzung des Teams
Funktionen der Personen
Terminplan
Aufgaben
Kostenplan
Dokuplan
Testplan
Organisation
Teamstruktur
Hierarchisches Modell
Chefentwicklermodell
Aufgabenzuordnung
Gültige Standards
Kommunikation (Besprechungen, Dokumentenaustausch)
Arbeitsbedingungen
Durchführung
Änderungsprotokolle
Trennung Entwicklung und Test
Konfigurationsmanagement
Reviews
Kontrolle
Was man nicht mißt, kann man nicht kontrollieren
Projektablauf
Qualität
Kosten

1.4 (Software) Qualitätsmanagement
Gesamtheit von Eigenschaften und Merkmalen Softwareerzeugnissen oder einer Tätigkeit, die sich auf Eignung und
Erfüllung bezieht.
<qualitätsmerkmale>
Qualitätsmanagement ist Gesamtheit der Maßnahmen zur Festzetzung von Merkmalen sowie Festlegung und
Durchsetzung von Kontrollverfahren zu Softwarequalität.
Konstruieren
User reqirements
Finctionale Specifications
Implementation
Prüfen
statische Analyse („ mit Handbuch vergleichen") 15
15 Page 16 17
Inspektion
Verifikation (Beweis der Korrektheit)
Test
Messen
Skalieren
Quantifizieren
Bewerten
Feststellung, ob erwarteten Bedingungen stimmen
eindimensional
mehrdimensional

1.5 Der rechtliche Schutz von Software
Urheberrecht
Quelltext, GUI, Schnittstellen, Datenstrukturen als Ergebnis geistiger Tätigkeit
+ Vervielfältigung
+ Bearbeitung
+ Öffentliche Verbreitung
-Inhalt/ Algorithmen
-Lösungsidee
-Durchschnittslösung
Patentschutz
Algorithmen, wenn neu, gewerblich nutzbar, aus Erfindung
+ Herstellen
+ Anbieten
+ in Verkehr bringen
+ Gebrauchen
-Programme als solche
-Methoden, Pläne, Regeln, Verfahren
Geschmacksmustergesetz
Bildschirm, Druckbild als Darstellung
+ Nachbildung
+ Verbreitung
-bekannte und nichteigentümliche Formen
Warenzeichengesetz
Produktkennzeichnung, Markenname
+ Verwendung eigetragener Namen
+ Verrat von Geschäftsgeheimnissen
+ Schmarotzen
-Nachschaffedn vollziehende Entwicklung
-ältere amortisierte Entwicklungen
Gesetz über den unlauteren Wettbewerb
Verstoß, wenn sittenwidrig, fremde Software zu eigenen Wettbewerbszielen
Vertragsrecht
Individuelle Beziehungen zwischen Vertragspartnern
Lizenz (vertragsabhängig)
Public Domain (Nutzung und Verbreitung)
Freeware (Nichtkommerzielle Nutzung, Verbot Verkauf oder Weiterentwicklung)
Shareware (Kopie und Verbreitung, Verbot und Wartung)

2.1 Schnittstellen des Softwareentwurfs
Analyse und Definition -> WAS
Produktbeschreibung als Ganzes
aus Anwendersicht 16
16 Page 17 18
Entwurf -> WIE
Modell der internen Lösung
Hardwarearchitektur
Benutzerinterface
Softwarearchitektur
DatenStruktur
Verifikation OK?

Grundstruktur eines Anwendungssystems
Software
Nutzer-Interface
Hardware Daten

Netzwerkinterface

2.2 Standards und Empehlungen für Entwurfskomponenten
Farbe
Informationshervorhebung
Informationergänzung
Gesamtinformationsunterteilung
Stimulation zur weiteren Informationsaufnahme

<3 Farben
Aufmerksamkeit -> im Farbkreis ggü.
Harmonie -> nebeneinander
Ton
Aufmerksamkeitserregung
alternative für Blinde
Ergänzung

nur Zusatz
Lautstärke muss beeinflußbar sein (auch abschalten)
SAA (System Application Architecture)
IBM, Plattform Gestaltung Informationsaustausch zwischen AWS und Benutzer
aus:
CUA (Common User Acces)
Benutzoberfläche
CPI (Common Programming Interface)
Progrsprachen und Zusatzdienste
CCS (Common Communication Support)
AWS in Netzwerkarchitekturen
CUA
einfache Bedienung
kein Kommandowechsel zwischen Apps (Alt-F4 zum Beenden von Window( s)-Programmen)
Erfahrung nutzen
Unterteilung
kommandozeilengesteuert
menügetrieben
grafischen UI
Ausssagen zu:
Sichtelemente
Menü/ Anzeigetechnik
Eingabetechnik, Interaktion (Tatstatur/ Maus) 17
17 Page 18 19
Hinweise zur Zweisprachigkeit
jede Aussage mit
Begriffsdefinitionen
Auswahlempfehlungen
Guidelines/ Richtlinien
wesentliche verwandte Themen
ergänzende verwandte Themen
Sichtelemente
Containerobjekte (halten andere Objekte, suchen, Folder...
Datenobjekte (Text, Audio, Video, Grafik)
Geräteobjekte (physische Geräte)
Anzeige
Menüs (Menübar, Pull-Down, Cascade, Pop-up)
Boxes (List Box, Combobox, Drop-Down-Combobox)
Buttons (Push, Radio, Spin, Check)
Slider (Manipulation, Read-Only)
Interaktion
Input (Tastatur, Touch, Pen, Maus)
Feedback (Audio, Visible
Offene Systeme
definierbar über Schnittstellen:
Hardware
BS
Datenverwaltung
Anwendunssoftware
wichtig: Austauschbarkeit und Verfügbarkeit
Systemarchitekturen
Host/ Terminal
C/ S
Entfernte DB
Client: Präsentation, Anwendungslogik
Server: Datenhaltung
Entfernte Präsentation
Client: Präsentation
Server: Anwendungslogik, Datenhaltung
Kooperative Verarbeitung
Client: Präsentation, Anwendungslogik
Server: Anwendungslogik, Datenhaltung
Peer-to-Peer
alles dezentral
Chaos
Kollisionen
NCC (Network-Centric-Computing
in Zukunft alles im Netz
Workstations werden nicht Server anwählen sondern Netz
Middleware
zwischen BS und Anwendungssoftware
konfektionierte Connectivity-Software
bspw. ODBC
Unterteilung
Connectivityprodukte für DB
Connectivityprodukte für Nachrichtenaustausch
RPC, Ziel muß nicht empfangsbereit sein, frag mal Tanenbaum danach
Objects Request Brokers
Daten-Interface
Daten existieren noch nicht 18
18 Page 19 20
Daten in DB (Ermittlung Datenstruktur und Schlüssel)
Daten in mehreren DB (ODBC, BDE)
Daten von einem AWS zu anderen (EDIFACT

2.3 Entwurfsverfahren
Strukturierte Analyse (de Marco)
Jackson-Methode
Wanier und Orr
Objektorientierte Analyse und Design nach Booch

2.4 Dokumentation
Allgm.
begleitende Doku, lederzeit aktuell
Verweise auf andere möglich
Unterteilung
Entwicklerdoku
alles während der Entwicklung
Schnittstellen
Abstimmungsnachweise
Auftrag
Entwicklerunterlagen
Erleichterung Neu-oder Weiterentwicklung
Programmdoku (Programmkennblatt, Anwenderhandbuch, DV-techn. Handbuch)
Installation, Fehlerbeseitigung, Aktualisierung

3.1 Aufgaben der Implementierung
Implementieren
Editieren
Compilieren
Linken
Modulntest OK?
Integrieren
Systemtest OK?

3.2 Empfehlungen zur Implementierung
Werkzeuge
bekannte Sprache besser
Hochsprache besser (außer wenn nicht)
Progrsprache
Typsicherheit
Modulnkonzept
Unterstützung des Objektkonzepts
bietet:
Texteditor
Compiler
integrierter Assembler
Linker
Debugger
Profiler
-> IDE 19
19 Page 20 21
Methodik
PDL Entwurf
PDL Überprüfung
Quelltext Entwurf
Quelltext Überprüfung
modulnweise Implementation
Rahmenprogramm
Dummies um Lauffähigkeit zu erreichen
Qualitätsmerkmale der Quelltextes
Modulnkonzept
Optische Eigentschaften
Technologische Anforderungen (information hidung, lokale Daten, Fehlermeldung durch Rückgabewert)
Sicherheit (Anfangsinitialisierung, alles Prüfen, Nulltest der Nenner...)
Softwarekonfigurationsmanagement
Projektverwaltung bei Borlandia
Sicherungskpien in 3 Generationen

3.3 Software-Integration
Zusammenbau der Moduln
Phasenweise
1. Entwicklung einschließlich Debugging und Test aller einzelnen Moduln
2. Zusammenmachen der Moduln
3. Test und Debuggin des gesamten Systems
Inkrementell
1. Entwicklung lauffähiges Programmskelett und dessen Test
2. Entwicklung und Test eines/ weiterer Moduln
3. Einfügen neuer Moduln nach 2
Top-Down
erst Hauptfunktion
dann Funktionen
Buttom-Up
erst Integration der untersten Ebene
dann nächsthöhere Ebene( n) dann

3.4 Software-Tuning
Laufzeiteffizienz
Speicherffiziens
Benutzereffiziens
am fertigen Produkt
hardware und compilerabhängig
1. Ein-und Ausgabe
Speichervergrößerung für Dateioperationen
2. Datentypen
float-> int
Zeiger weg
Überlängen weg
3. Selektion
Schleifen mit P= groß zuerst
Mehrfachbedingungen mit vorzeitigen Abbruch ermöglichen
4. Schleifen
Selektionen darin verringern
Zählschleifen bevorzugen (vergiß nie das CX Register des i486)
Zusammenfassen
Aufrollen von Schleifen 20
20 Page 21 22
Schleifen mit höchster Frequenz nach innen
5. Modularisierung
Assembler einsetzen
Moduln durch Makros ersetzen
vordefinierte Funktione evtl. durch eigene ersetzen (weil Borland ja nicht proggen kann)
6. Zugriffe
Daten bei Vereinbarung init.
Caching
Registervariablen einsetzen, bis auch der nicht mehr kann
7. Berechnen von Ausdrücken
Vereinfachen
Verringern der Stärke (Multiplikation ist viele Additionen und die sind schneller)
Bitverschiebungen anstelle von ^2

3.5 Design Pattern

3.6 Programm-Dokumentation
Entwicklerdoku und Benutzerhand beim Implementieren erstellen
DV-techn. Handbuch:
Programmbeschreibung (Quelltext)
Datenbeschreibung
Gerätebeschreibung
Fehlerbehandlung
Wiederanlauf
Benutzerhandbuch
Prgrammkenndaten (Gerätebedarf, Speicherbedarf, BS ...)
Beschreibung fachliche Anwendung für Benutzer
Beschreibng geräte-und programmtechnischer Betrieb

4.1 Funktions-und objektorientiertes Paradigma
Paradigma = Grundmuster, liegt Vorgehensweise zugrunde
Funktionsorientiertes Paradigma
Transformation von Eingabedaten in Ausgabedaten = Prozeß
-> auch prozeßorientiertes Paradigma
Schritte
1. Ermittlung relevanter Ausgandsdaten
2. Ermittlung der für Ausgabedaten relevanten Eingabdaten
3. Übergangsbeschreibung der Eingabe-in Ausgabedate
a) Strukturierung mit Daten beginnen, Ableitung der Moduln
-> datenorientierte Herangehensweise (oder ... Entwurf)
b) funktionell strukturierte Moduln beginnen, Ableitung der Daten
-> datenorientierte Herangehensweise (oder ... Entwurf)
Grundstruktur Programm bei prozeßorientirtem Paradigma:
Vorlauf
Eingabe oder Lesen
Verabeitung
Ausgabe oder Schreiben
Ende erkannt
Nachlauf
Objektorientiertes Paradigma
Objekte = Kapseln aus Daten und Funktionen
durch Zugriff von außen geschützt 21
21 Page 22 23
durch Methoden Informationsaustausch
Bestimmung Klassen/ Objekte:
Träger der Prozesse im zukunftigen Anwendungsbereich ermitteln
gemeinsame Daten/ Funktionen für alle/ Gruppe finden
Gemeinsamkeiten darin ausgliedern

5.1 Gegenstand (Wartung und Reenginieering)
Wartung
Modifikation Softwareerzeugnis nach Einführung/ Auslieferung
Korrektur von Fehlern, Leistungserhöhung, Anpassung an andere Umgebung
Eingriff in Softwareerzeugnis erforderlich
Reengineering
systematische Durchführung des Eingriffs
Ziele Wartung
Verbesserung, Anpassung, Korrektur und Vorbeugung

5.2 Wartungstechniken
Understanding
Code modification
Revalidation
Dokumentation

5.3 Reengineering
Wartung ist absehbar, planbar im Softwarelebenszyklus
Softwarereengineering ist Untersuchung vorhandene Software mit Zuel in neue Form umzuwandeln
Fragen
welche neuen Eigenschaften
wie am besten altes System untersuchen
wie Transformation in neues System
Begriffe
Reverse Engineering
Grundelemente und deren Beziehungen auf höheren Abstraktionslevel
Restrukturierung
Quellcode umgestalten, Modularisierung anpassen, Identifier angleichen, gleiche Abstraktionslevel
Redesign
Veränderung ohne Änderung der Funktionalität
Reformatierung
Aufbereitung Quellcode, bessere Lesbarkeit
Forward Engineering
auf Weg zu neuem Erzeugnis
Redokumetation
Revalidierung
neue Produkt prüfen 22
22 Page 23 24
Requirements Engineering
0 Einführung
erste Phase des Softwareentwicklungsprozesses
umfaßt
Methoden
Beschreibungsmittel
Werkzeuge
zur
Ermittlung
Formulierung
Analyse
von Anforderungen und Aufgabenstellungen an SW-/ HW-Systeme
Anforderungen
funktional
an Qualitätsattribute
an Realisierbarkeit
an Prüfung, EInführung, Betreuung
an Vorgehensweise
Zyklus des RE
Ermittlung -> Beschreibung -> Evaluation
<----------------|

1.1 System und Element
System ist Gesamtheit von Elementen
Elemente untereinander in Wechselwirkung
realisieren eine bestimmte Funktion
Merkmale System
relativ geschlossene Ganzheit, Abgrenzung von Umwelt, was nicht System= Umwelt
gegliedert, Grundbausteine= Elemente, Elemente nicht weiter zerlegtbar
Elemente in Wechselwirkung, Gesamtheit Wechselwirkung= Struktur
System von Umgebung beeinflußt, Wirkung= Engergie, Stoff, Information
Elemente mit Wechselwirkung nach außen= Oberfläche
offenes System: Wechselwirkung mit Umwelt
geschlossenes System: keine wesentlichen Wechselwirkungen

1.2 Verhalten eines Systems
Beziehungen Systemnach außen über Ein-und Ausgangsgrößen
Eingangsgrößen
Wirkungen von Umgebung auf Systen (x1, x2, ..., xn)
Gesamtheit Eingangsgrößen zu bestimmten Zeitpunkt= Eingangszustand
Ausgangsgrößen
Wirkungen des Systems auf Umgebung (y1, y2, ..., yn)
mit Ausgangsgrößen Reaktion auf Eingangsgrößen
zu bestimmten Zeit bestimmte Werte (= Ausgangszustand), die Zeit dazu= Reaktionszeit
Verhalten
Menge zeitlich aufeinanderfolgender Zustänge eines Systems
Eingangsverhalten
Ausgangsverhalten, bestimmt durch
Menge aufeinadnerfolgender Eingangszustände
Transformationsverhalten T von Eingangsverhalten in Ausgangsverhalten 23
23 Page 24 25
Struktur
Aufeinanderwirken der Elemente, Ausgangsgrößen des einen Elements -> Eingangsgrößen eines anderen
wenn so, dann Elemente gekoppelt
Menge von Elementen nur dann System, wenn mind. 1 Elemtentpaar gekoppelt

1.3 Steurung von Systemen
Steuerung= auf Ziel gerichtete Veränderung eines Systems
Ziel Vektor von Zielgrößen (Führungsgrößen)
konstante Größe
zeitabhängig
von anderen Größen abhängig
durch:
Beeinflussung der Eingangsgrößen
wenn möglich = Eingangsgrößen heißen Stellgrößen
nicht nicht möglich = Störgrößen
Transformation der Elemente
Struktur des Systems
Steuerungsarten (Möglichkeiten Ausgangsgrößen Zielgrößen anpassen=
Festwertsteuerung (Führungsgrößen sind Sollwerte)
Zeitplansteuerung (Führungsgrößen ändern sich mit Zeit in beaknnter Form)
Nachlaufsteuerung (Führungsgrößen anders abhängig, nicht vorher bekannt)
Elemtente können
a) Gegenstand der Steuerung sein
b) Subjekt der Steuerung, die Beeinflussung vornimmt
Steuerstrecke = alle Elemente die gesteuert werden
Steuereinrichtung = alle Elemtente, die Steuerung realisieren
Steuerung immer so, daß Eingangsvektor um Stellgrößenverktor verändert
Steuerkette
Stellgrößen x aus Führungsgrößen
ungesteuert y= Sx
----
Vorteil: keine Abweichung zw. y und z
Nachteil: Hoher Aufwand S und x zu kennen

Regelkreis
Stellgrößen unter Verwendung des Ausgangsvektors
Vorteil: geringe Information nötig
Nachteil: Störung erst danach ausgleichbar

Verbindung beider (Vorteile ausnutzen) Steuerkette mit Stötgrößenaufschaltung
Steuerung ist zeilgerichtete EInwirkung auf Steuerstrecke, Einwirkung x_ so wählen, daß Führungsgröße erreicht
oder Verbesserung
Stellbereich 24
24 Page 25 26
von minimalen und maximalen Werten x begrenzter Bereich
Steuerungsproblem: richtiges x_ wählen
Gleichgewicht:
(zum Zeitpunkt t) kennzeichnet Bereich der Ausgangzustände, aus diesen wird System den Anforderungen
gerecht und sichert Existenz
ist konstant
zeitanhängig oder
eine Funktion einer anderen Größe
System stabil, wenn bei Störungen (Abweichungen x, y) wieder GG herstellbar
Stabilität:
wenn System bei Abweichungen vom GG-Zustand durch Steuerung innerhalb Reaktionszeit wieder in GG
zurückkehrt.
Zuverlässigkeit
=Wahrscheinlichkeit, mit der System in stabilen Zustand
abhängig:
Zuverlässigkeit seiner Elemente
Struktur (= Beziehungen zw. Elementen)
Zuverlässigkeit eines System mit 2 in Reihe gekoppelten Elementen= Produkt der Zuverlässigkeiten der
Elemente
(Multiplikation der Wahrscheinlichkeiten)
Paralle Elemente
a) ohne Redundanz (AND): beide Elemente für Funktionieren des Systems wichtig
b) mit Redundanz (OR): System fällt erst aus, wenn beide Elemente weg
Ausfallwahrscheinlichkeit eines Elements= A, Zuverlässigkeit -> 1-A
Bsp 2 Elemente, Redundanz:
Zuverlässigkeit = 1 minus Produkt der Ausfallwahrscheinlickeiten beider

2.1 Information
Nachricht
zur Weitergabe bestimmt Folge von Zeichen mit Bedeutung für Empfänger
Information
beseitigte Unbestimmtheit
Nachricht kann zur Information werden
nicht Zeichen, sondern Ereigniss, dargestellt durch Zeichen, im Vordergrund
Informationsgehalt (Nachricht über Ereignis e aus E, Informationsgehalt, in Nachricht enthaltene Infomenge) =

Differenez Unbestimmheit vor und nach Erhalt der Nachricht
Problem: Messung der Unbestimmtheit
Syntaktisch: Unbestimmtheit= ein zur Beschreibung benötigtes Zeichen benötigt oder nicht
Semantisch: Unbestimmtheit= ein Nachricht zugrundeliegendes Ereignis kann eintreten oder nicht
<viele Formeln>

2.2 Kommunikation
Austausch von Information zwischen Systemen
Quelle-> Sender-> Kanal-> Empfänger-> Senke
Empfänger und Sender haben gemeinsamen Zeichenvorrat
Voraussetzungen
Zeichenvorrat
zulässige Folge von Zeichen (Struktur, Syntx)
Bedeutung Zeichen und Zeichenfolgen (Erscheinungszuordnung, Semantik
Semiotik
Syntaktik: Beziehungen zwischen Zeichen (bspw. dt. Grammatik)
Semantik: Beziehungen zwischen Zeichen und Bedeutung

) ( ) ( ) ( E U E U e I N V i -= 25
25 Page 26 27
Sigmatik: Beziehungen zwischen Zeichen und dem was sie bezeichnen (bspw. Text und nicht Grafik)
Pragmatik: Beziehungen zwischen Zeichen und dem was sie schöpfen (bspw. erzielbarer Nutzen)
Kommunikation nach Systemen
Mensch-Mensch
Mensch-Maschine (Dialog, Stapel)
Maschine-Maschine (Offline, Online)
Maschine-Prozeß (Prozeßsteuerung)

2.3 Information und Verhalten/ Entscheidung
???

3.1 Modellbegriff
Modellrelation

Wenn Ähnlichkeit zwischen 2 Objekten, mit Rückschlußmöglickeit, so Verhältnis Objekt-Modell
Ähnlichkeiten hinsichtlich
Form
Material
Struktur
Verhalten
Ziele
Demonstration
Erkenntnisgewinn
Steuerung
Beziehungen
Identität
Isomorphie: 2 Systeme gleiche Eingangsgrößen und Ausgangsgrößen, Reaktion gleich
Homomorph: M aus O durch Vereinfachung erhalten, M homomorph zu O
Klassifizierung nach
Eigenschaften
Analogie zwischen M und O
Beziehungen zwischen Modell und Subjekt

3.2 System und Modell 26
26 Page 27 28
Modell eines Systems (Original O) ist eine Objekt (M), das als Abbild wesentlicher Eigenschaft und Beziehungen
von O durch ein Subjekt S eingesetzt und genutzt wird, um eine Aufgabe lösen zu können, deren Durchführung
mittels direkter Operationen am Original nicht möglich, zu aufwendig oder zu langwierig ist.

3.3 Modellierungstechniken/ Modellexperiment
Modellexperiment
Einwirkung auf ein Modell, Ziel Wirkungen zu messen und Modell verbessern
Black-Box-Methode
System angenommen
innere Struktur unbekannt
nur Eingangs-und Ausgangsgrößen bekannt
Analyse
1. Eingangsgrößen variieren, Veränderungen registrieren, Ausgangsgrößen notieren
2. Hypothesen über innere Struktur und Elemente, neuen Elemente als BB betrachten,
Schritt 2 auf Elementebene wiederholen, schrittweise White Box
Entstehung Modell eines Systems, Aufbau abgeschlossen, wenn erforderliche Ähnlchkeit erreicht

4.1 Begriffe und Vorgehensweisen (Ermittlung Software Requirements)
Software Reqirements
Gesamtheit wünschenswerter, unbedingter Anforderungen an zu entwicklndes Softwareerzeugnis
Inhalte
wünschenswerte, verbindliche, funktionelle, ergonomische Eigenschaften (User R.)
Schnittstellen, Plattformen, Anschlüsse zu anderen Komponenten (Systems/ Platform R.)
wünschenswerte, verbindliche Vorgaben für Entwicklerprozeß (Developer R.)
Software Requirements
Platform R
Developer R. 27
27 Page 28 29
User R.
Functional R.
Workplace R.
Sichten, Ebenen, Schichten
Ansätze
grundlegende Betrachtungsparadigmen
a) funktionsorientierter Ansatz (Transormation aus Aufgabenstellung, System ist Transformationsträger)
b) objektorientierter Ansatz (System mit potentiellen Eigenschaften und Verhalten)
Konzepte
charakteristische, an Standpunkt und Ziel gebundene Vorgehensweise
a) Fachkonzept (aus Sicht des Anwendungsbereiches)
b) DV-Konzept (aus Sicht techn. Realisierung)
Sichten
Betrachtungsfokussierung zur Teilanalyse
a) Datensicht
b) Funktionsicht
c) Ressourcensicht
d) Organisationssicht
Ebenen
Betrachtung System mit bestimmtem Detaiierungsgrad
Schichten
Komponenten eines Systems, daß Schichtenmodell entsteht, was aufbaut, drunterliegende voraussetzt
Problem-/ Lösungsmaschine
grundelegendes Denkmodell
Maschine hier System zur Trasnformation von Eingangs-in Ausgangsgrößen
Problemmaschine
Abgrenzung Problem aus Umgebung
Analyse des Problems in entsprechender Detailliertheit
Lösungsmaschine
Lösungsuche durch Modellierung und Variantenvergleich
Konstruktion
Maschinen bewegen sich aufeinander zu

4.2 Methoden zur Ermittlung von Software Requirements
Daten-, Funktions-, Objetanalyse (jewils ersten Schritte der bekannten Entwurfsmethoden gehören zum RE)
Strukturierte Analyse
Warnier und Orr
Objektorientierte Analyse und Design nach Booch
RFA-Netze (Rollen-, Funktions-, Aktionsnetze)
Erfassung der besten Möglichkeiten aus verschiedenen
basieren auf Petrinetzen
bieten:
Begriffsrahmen
grafisches Darstellungsmittel
Vorgehensweise
aus Benutzersicht
Begriffe:
Rolle: Arbeitsaufgabe mit Ziel, Wissen, Hilfsmittel, Kompetenzen erüllen, Arbeitsaufgabe ist
Person mit Funktionalität (best. Verhalten)
nur von einer Person wahrnehmbar, Person kann mehrere Rollen haben
kooperieren synchron oder asynchron
Funktion
Tätigkeit, zustämdiger Funktionsträger
Bestandteil einer Rolle
a) private Position (Depot) 28
28 Page 29 30
b) sequentielle Tätigkeit zur Bearbeitung von Depots
Aktion
Aufeinanderfolge elementarer Handlungen
Anwendungen
Istanalyse
Modellierungsmittel
Sprachgerüst
Anknüpfungsmittel für Entwurf und Implementierung
Rekonstruktionsmittel
Brainstorming
viele bringen Ideen zu Thema vor
von Moderator koordiniert
1. Ideenfindung
2. Ideenselektion
Befragung
Fragebogen (extensiv)
individuelle Befragung (intensiv)

4.3 Ergänzungen zu ausgewählten Requirements
Ergonomische Requirements
Plattform Requirements
Development Requirements

4.4 Requirements Specification und Evaluation
RS Resultat eines Prozesse, Pflichtenheft
1. Bestätigungsvermerk
2. Ziele
3. Produkt-Einsatz
4. Produkt-Umgebung
5. Produkt-Funktionen
6. Benutzeroberfläche
7. Qualitätsmerkmale
8. Produkttest
9. Entwicklungsumgebung
Anhang 29
29 Page 30 31
Softwaretechnologie
1.1 Prinzipien der Softwareentwicklung
Software
Gesamtheit allgm. nutzbarer Programme einschließlich Doku
potentielle Leistungsfähigkeit eines Rechners von Software abhängig
Schichtenmodell
Benutzer <-> Software| Hardware
Software
Systemsoftware Anwendungssoftware

Prinzipien der Softwareentwicklung
Wiederverwendung
Arbeitsteilung
Modularität
Normung und Qualitätssicherung
Begleitende Dokumentation

1.2 Softwarequalität
Qualität
alle Eigenschaften, Merkmale Produkts mit Eignung Erfüllung Erfordernisse
Softwarequalität
alle Gebrauchseigenschaften die Leistungsvermögen Rechner für Anwendung erschließen
Qualitätsmerkmale von Anwendungssoftware
Benutzerorientiert
Zuverlässigkeit (Fehler)
Ergonomie (Arbeitsbedingungen)
Effizienz (Speicherplatz-/ Laufzeitverhalten)
Entwicklerorientiert
Konsistenz (beständig, auch wenn Veränderungen unterer Schichten [bspw. BS])
Portabilität (wenn Konsistenzkriterien überschritten)
Wartbarkeit (Änderung, Erweiterung)

1.3 Angrenzende Gebiete
Softwaretechnologie
alle Prinzipien, Mittel, Methoden nutzen zur Softwareentwicklung

2.1 Lebenszyklus (Vorgehensmodelle)
Phase (im Softwarelebenszyklus) 30
30 Page 31
nach inhaltlichen, technologischen, organisatorischen, zeitlichen Aspekten abgegrenzter Prozeß
mit charakteristischem, kontrollfähigen Ergebnis

Analyse und Definition
Vorstudie -> Produktskizze
Projektplanung -> Projektskizze
Anforderungsanalyse -> Produktdefinition
Validierung OK? -> Projektplan

Produkskizze
Problem, Ziele
Funktionen
Benutzerprofil, Akzeptanzkriterien
Umgebung, Schnittstellen
Lösungsmethoden
Produktkomponenten
Produktdefinition
Architektur und Interfaces
Funktionalität
Benutzeroberfläche
Konstruktive Vorgaben
Daten und Kommunikationsprotokolle
Datensicherung und Datenschutz
Dokumentation und Handbücher
Wartungsmodalitäten 31

Page Navigation Panel

1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31