28.05.2013 Aufrufe

Schulungsmaterial copyright by Dipl.-Inf. Göran Sonnemann www ...

Schulungsmaterial copyright by Dipl.-Inf. Göran Sonnemann www ...

Schulungsmaterial copyright by Dipl.-Inf. Göran Sonnemann www ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Schulungsmaterial</strong> <strong>copyright</strong> <strong>by</strong> <strong>Dipl</strong>.-<strong>Inf</strong>. <strong>Göran</strong> <strong>Sonnemann</strong><br />

<strong>www</strong>.computer-wissen.net<br />

Software-Engineering<br />

Software Engineering<br />

Grundlagen<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 1<br />

<strong>www</strong>.computer-wissen.net<br />

<strong>Schulungsmaterial</strong> <strong>copyright</strong> <strong>by</strong> <strong>Dipl</strong>.-<strong>Inf</strong>. <strong>Göran</strong> <strong>Sonnemann</strong><br />

Softwareklassifikation<br />

Systemsoftware<br />

Steuerprogramme<br />

Speichermanager, Treiber ...<br />

Übersetzerprogramme<br />

Anwendungssoftware<br />

Interpreter, Compiler, Linker ... Buchhaltung, Handwerker ...<br />

Dienstprogramme<br />

Druckerspooler, Debugger,<br />

COPY, FORMAT ...<br />

Spezielle Web-Präsenz,<br />

Spez. Logistik-Software ...<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong><br />

<strong>www</strong>.computer-wissen.net<br />

Ü 0-1<br />

3<br />

<strong>Schulungsmaterial</strong> <strong>copyright</strong> <strong>by</strong> <strong>Dipl</strong>.-<strong>Inf</strong>. <strong>Göran</strong> <strong>Sonnemann</strong><br />

Programme<br />

Standard-Software<br />

Office-, Grafik-Software ...<br />

Branchen-Software<br />

Individual-Software<br />

• Ansammlung von Befehlen in einer<br />

bestimmten Programmiersprache<br />

• Reihenfolge der Ausführung: Algorithmus<br />

• unterschiedliche Herangehensweisen bzw.<br />

Programmierstile:<br />

• Prozedurale Programmierung<br />

• Objektorientierte Programmierung<br />

• Funktionale Programmierung<br />

• Logische Programmierung<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong><br />

<strong>www</strong>.computer-wissen.net<br />

Ü 0-2<br />

5<br />

26.08.2005<br />

1. Begriffe<br />

• EDV / IT<br />

• Hardware / Software<br />

• Softwaretechnik (SWT)<br />

Softwareentwicklung<br />

Softwareengineering (SWE)<br />

• Programme ...<br />

• Daten ...<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 2<br />

<strong>www</strong>.computer-wissen.net<br />

Daten<br />

• einfache Datentypen<br />

– Text (Namen, Adressen ...)<br />

– Zahl (Alter, Gehalt ...)<br />

– Logisch (verheiratet, bezahlt ...)<br />

• Datenstrukturen<br />

– Arrays (Status einer 7-Segment-Anzeige, Damespiel ...)<br />

– Datensatz (Angaben zu einer Person, Gästebucheintrag)<br />

• Datei<br />

– unstrukturiert (TXT, DOC)<br />

– sequentieller Zugriff<br />

• Datenbank<br />

– strukturiert (Access-Datenbank, mySQL-DB)<br />

– direkter Zugriff (indexsequentiell)<br />

Fach DB<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 4<br />

<strong>www</strong>.computer-wissen.net<br />

2. Programmentwicklung<br />

Werkzeug<br />

[CASE-Tools]<br />

Editor, Gen.<br />

Compiler<br />

Linker<br />

Debugger<br />

Schritt<br />

entwerfen<br />

Ergebnis<br />

Algorithmus<br />

kodieren Quellcode<br />

übersetzen<br />

Module verb.<br />

testen<br />

Maschinencode<br />

Programm/<br />

Bibliothek ...<br />

fehlerfreies<br />

Programm<br />

Beispiel<br />

Grafik/<br />

Umgspr.<br />

VB*<br />

CPP<br />

OBJ<br />

EXE<br />

DLL<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 6<br />

<strong>www</strong>.computer-wissen.net


<strong>Schulungsmaterial</strong> <strong>copyright</strong> <strong>by</strong> <strong>Dipl</strong>.-<strong>Inf</strong>. <strong>Göran</strong> <strong>Sonnemann</strong><br />

<strong>www</strong>.computer-wissen.net<br />

3. Software-Projekte<br />

Software Projekte<br />

Projekt-Definition (lt. DIN 69 901)<br />

• Vorhaben, das im Wesentlichen durch die<br />

Einmaligkeit der Bedingungen in ihrer<br />

Gesamtheit gekennzeichnet ist:<br />

– einmalige Aufgabenstellung / Zielvorgabe<br />

– zeitliche Befristung<br />

– Kostenbegrenzung lt. Budget<br />

– Unsicherheiten / Risiken<br />

Hausbau<br />

Ausstattung eines Bildungsunternehmens<br />

mit IT-System (Hardware, Software, Vernetzung)<br />

Entwicklung spezieller Software<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 7<br />

<strong>www</strong>.computer-wissen.net<br />

<strong>Schulungsmaterial</strong> <strong>copyright</strong> <strong>by</strong> <strong>Dipl</strong>.-<strong>Inf</strong>. <strong>Göran</strong> <strong>Sonnemann</strong><br />

Projekt-Vorstudie<br />

Projekt Vorstudie<br />

• Prüfung, ob Projekt realisierbar ist:<br />

– aus organisatorischer, wirtschaftlicher, IT-Sicht<br />

Eigenentwicklung<br />

make<br />

Fremdentwicklung<br />

buy<br />

Anpassung vorhd./<br />

Standard-Software<br />

1. Problemanalyse<br />

2. Zielbeschreibung<br />

3. Lösungsalternativen<br />

Projektantrag<br />

4. Zeit- und Personalplanung<br />

5. Wirtschaftlichkeitsbetrachtung (Kosten/Nutzen)<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong><br />

<strong>www</strong>.computer-wissen.net<br />

Ü 0-3<br />

9<br />

<strong>Schulungsmaterial</strong> <strong>copyright</strong> <strong>by</strong> <strong>Dipl</strong>.-<strong>Inf</strong>. <strong>Göran</strong> <strong>Sonnemann</strong><br />

Software-Engineering<br />

Software Engineering<br />

• ingenieurmäßige Entwerfen und<br />

Implementieren von Software<br />

• Erfüllung bestimmter Anforderungen<br />

• Berücksichtigung bestimmter Prinzipien<br />

• Verwendung standardisierter Methoden<br />

und Werkzeuge zu deren Umsetzung<br />

• Qualitätsmanagement<br />

• Dokumentation<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 11<br />

<strong>www</strong>.computer-wissen.net<br />

26.08.2005<br />

Projekt-Management Projekt Management (lt. DIN 69901)<br />

Gesamtheit von Führungsaufgaben, -techniken<br />

und -mitteln für die Abwicklung eines Projektes:<br />

• Organisation und Leitung<br />

• Planung, Lenkung, Kontrolle<br />

– Termine, Kosten, Ergebnisse<br />

• Bereitstellung/Einsatz von<br />

– Methoden<br />

– Software-Werkzeugen (Tools)<br />

• Projektdokumentation<br />

• Personalführung<br />

• Risikoanalyse und Konfliktmanagement<br />

Fach SWP<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 8<br />

<strong>www</strong>.computer-wissen.net<br />

4. Problematik – Software/SWE<br />

Softwarekrise(n)<br />

• SWE individuell (Künstler vs. Ingenieur)<br />

• SWE komplex, schwer kalkulierbar<br />

• SW immer bedeutsamer …<br />

Lösungsansätze<br />

• Ingenieurmäßige Planung/Entwicklung,<br />

Strukturierung und Zerlegung in Teilaufgaben<br />

RÜ Softwarekrise<br />

Murphis Law<br />

• Things are more complex than they seem to be<br />

• Things take longer than expected<br />

• Things cost more than expected<br />

• If something can go wrong it will<br />

Remark: Murphy was an optimist<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 10<br />

<strong>www</strong>.computer-wissen.net<br />

Anforderungen an Software<br />

• Funktionstreue<br />

– Übereinstimmung von Produktanford. und Endprodukt<br />

(Programm macht was es soll)<br />

• Qualitätstreue<br />

– Funktion in vereinbarter Genauigkeit, Geschwindigkeit ...<br />

• Termintreue<br />

– Einhaltung geplanter Fertigstellungs-/Übergabetermine<br />

– in Praxis selten erreicht z.B. Windows 95 ...<br />

• Kostentreue<br />

– Einhaltung des geplanten Budgets<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 12<br />

<strong>www</strong>.computer-wissen.net


<strong>Schulungsmaterial</strong> <strong>copyright</strong> <strong>by</strong> <strong>Dipl</strong>.-<strong>Inf</strong>. <strong>Göran</strong> <strong>Sonnemann</strong><br />

<strong>www</strong>.computer-wissen.net<br />

Prinzipien des SWE<br />

• Strukturierung<br />

– Aufgliedern in einzelne Bestandteile/Beziehungen<br />

– Ziel: weniger komplex, transparenter<br />

• Modularisierung<br />

– Gesamtsystem aus in sich abgeschl. Teilsysteme (Module),<br />

Zerlegung in Teilprobleme (Teamentwicklung)<br />

– Ziel: Einzelmodule leicht erstellbar, austauschbar ...<br />

• Mehrfachverwendung<br />

– wiederholte Nutzung einmal erstellter Module<br />

– Ziel: verkürzen der Entwicklungszeit/-kosten<br />

• Standardisierung<br />

– Einhaltung von Normen, Regeln, Richtlinien...<br />

– Ziel: verbesserte Akzeptanz, Wartbarkeit, Nachvollziehbarkeit ...<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 13<br />

<strong>www</strong>.computer-wissen.net<br />

<strong>Schulungsmaterial</strong> <strong>copyright</strong> <strong>by</strong> <strong>Dipl</strong>.-<strong>Inf</strong>. <strong>Göran</strong> <strong>Sonnemann</strong><br />

Analyse<br />

Definition<br />

Entwurf<br />

Kodierung<br />

Testen<br />

Einführung<br />

Wartung/Pflege<br />

Phasenmodell der SWE<br />

Analyse<br />

Entwurf<br />

Realisierung<br />

Nutzung<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 15<br />

<strong>www</strong>.computer-wissen.net<br />

<strong>Schulungsmaterial</strong> <strong>copyright</strong> <strong>by</strong> <strong>Dipl</strong>.-<strong>Inf</strong>. <strong>Göran</strong> <strong>Sonnemann</strong><br />

Alternative Modelle<br />

V-Modell Modell Spiral-Modell<br />

Spiral Modell<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 17<br />

<strong>www</strong>.computer-wissen.net<br />

26.08.2005<br />

Methoden des SWE<br />

• Top-Down-Entwurf<br />

– Gesamtaufgabe schrittweise in Teilaufgaben zerlegt<br />

– Reihenfolge ...<br />

• Bottom-Up-Entwurf<br />

– einige Einzelaufgaben zuerst<br />

– Verknüpfen von Teilergebnissen zum Gesamtprogramm<br />

• Prototyping<br />

– schnelle Entwicklung eines Prototyps ohne kompl. Funktion<br />

z.B. Fenster-/Menüstruktur ohne Funktion (VB-Generatoren)<br />

– Weiterentwicklung anhand der Kundenwünsche<br />

• Simultanentwicklung<br />

– zeitlich überlappende Entwicklungsphasen<br />

– Einsatz bei Zeitknappheit<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 14<br />

<strong>www</strong>.computer-wissen.net<br />

Analyse<br />

Wasserfallmodell<br />

Entwurf<br />

Kodierung<br />

Testen<br />

Nutzung<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 16<br />

<strong>www</strong>.computer-wissen.net<br />

AB 0-4<br />

0<br />

funktionsorientiert<br />

Hauptfunktion<br />

1<br />

Teilfunktion<br />

1.1<br />

Teilfunktion 1.2<br />

Teilfunktion<br />

1.3<br />

Gesamt<br />

funktion<br />

Hauptfunktion<br />

2<br />

Teilfunktion<br />

2.1<br />

Teilfunktion<br />

2.2<br />

Entwurfsvarianten (ÜS)<br />

Hauptfunktion<br />

3<br />

Teilfunktion<br />

3.1<br />

Teilfunktion<br />

3.2<br />

Teilfunktion<br />

3.3<br />

SADT<br />

PAP/Struktogramme<br />

datenorientiert<br />

n<br />

m<br />

1 n<br />

Datenbank<br />

ERD<br />

Relationenentw.<br />

Kunde<br />

+name<br />

+geschlecht<br />

-geboren<br />

-rabatt<br />

-kreditlimit<br />

+kaufen()<br />

+mahnen()<br />

objektorientiert<br />

Person<br />

+name<br />

+geschlecht<br />

-geburtstag<br />

+betreut<br />

0..1 1..*<br />

Mitarbeiter<br />

+name<br />

-geschlecht<br />

-geboren<br />

-gehalt<br />

-urlaub<br />

+urlaubMachen()<br />

+antragStellen()<br />

Klassen/Objekte<br />

UML<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 18<br />

<strong>www</strong>.computer-wissen.net


<strong>Schulungsmaterial</strong> <strong>copyright</strong> <strong>by</strong> <strong>Dipl</strong>.-<strong>Inf</strong>. <strong>Göran</strong> <strong>Sonnemann</strong><br />

<strong>www</strong>.computer-wissen.net<br />

Entwurfsvarianten (klassisch)<br />

funktionsorientiert<br />

• im Vordergrund stehen die<br />

Funktionen/Algorithmen<br />

• strikte Trennung von den<br />

Daten<br />

• Strukturierte<br />

Programmierung<br />

(Sequenz, Selektion,<br />

Iteration)<br />

☺ Systematik / Übersicht<br />

Daten separat/isoliert entw.<br />

Windows-Anwendg. in C++<br />

HTML-Projekt für’s Internet<br />

datenorientiert<br />

• im Vordergrund stehen die<br />

Daten eines Systems<br />

• zentrale Verwaltung in einem<br />

Datenbanksysteme<br />

• Funktionalität über 4GL,<br />

Abfragesprachen als<br />

„Nebensache“<br />

Access-Datenbank<br />

Webshop (mySQL)<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 19<br />

<strong>www</strong>.computer-wissen.net<br />

<strong>Schulungsmaterial</strong> <strong>copyright</strong> <strong>by</strong> <strong>Dipl</strong>.-<strong>Inf</strong>. <strong>Göran</strong> <strong>Sonnemann</strong><br />

Überblick ü.d.g. SWE-Prozess<br />

SWE Prozess<br />

• Überblick über den gesamten<br />

Softwareentwicklungsprozesses<br />

– Einteilung lt. Entwurfsvarianten<br />

– Zeitanteil<br />

– Ziel und Ergebnis<br />

– Methoden, Modelle, Verfahren,<br />

Darstellungsmöglichkeiten ...<br />

AB 0-5<br />

0<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 21<br />

<strong>www</strong>.computer-wissen.net<br />

<strong>Schulungsmaterial</strong> <strong>copyright</strong> <strong>by</strong> <strong>Dipl</strong>.-<strong>Inf</strong>. <strong>Göran</strong> <strong>Sonnemann</strong><br />

26.08.2005<br />

Entwurfsvarianten (aktuell)<br />

objektorientierte Entwicklung<br />

gleichzeitige Entwicklung von:<br />

• Funktionen/Algorithmen<br />

Methoden und<br />

• Daten eines Systems<br />

Attribute (Eigenschaften)<br />

☺ praxisnah, schnell ...<br />

ziemlich komplex schwieriger<br />

Windows-Objekte in VB ...<br />

Ü 0-4<br />

26.08.2005 SWE - <strong>Dipl</strong>.-<strong>Inf</strong>. G.<strong>Sonnemann</strong> 20<br />

<strong>www</strong>.computer-wissen.net

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!