1. betriebliche Anwendungssysteme
    1. Bereiche
      1. Administration
      2. Planung
      3. Information
        1. KE3 / KE4
    2. Kategorie
      1. Individualsoftware
      2. Standardsoftware
  2. Systemumgebung
    1. Systemplattform
      1. KE1
    2. Datenhaltungssystem
    3. personell
      1. Entwickler
      2. Anwender
    4. zugehörige Daten
      1. Stammdaten
      2. Bestandsdaten
      3. Bewegungsdaten
      4. Dokumente
        1. Entwicklungsdokumente
        2. Handbücher
  3. Historie
    1. Individualprogrammierung
      1. schwer wartbar
    2. Software Engineering
    3. Computer Aided Software Engineering Tools (CASE-Tools)
    4. integrierte Lösungen
      1. Migration zu Standardsoftware
  4. Anforderungen
    1. Funktion
      1. definierte Leistung / Requirements Definition
    2. Qualität
      1. bestimmte Qualitätsanforderungen
    3. Termintreue
    4. Kosten
      1. Budgetplanung
  5. Entwicklung, Anpassung und Einführung betrieblicher Anwendungssysteme. Beruht auf ingenieurmässigen Prinzipien und Methoden. Trägt Anforderungen an Funktionalität, Qualität, Entwicklungszeit und Kosten Rechnung
  6. Teilgebiete
    1. Entwicklung
      1. Phasenmodell
        1. Vorstudie
        2. Analyse
        3. Entwurf
        4. Implementierung
          1. Programmiersprachen
          2. prozedurale Programmiersprachen
          3. Maschinensprachen (1. Generation)
          4. Maschinencode
          5. Maschinenorientierte Sprachen (2. Generation)
          6. Assembler
          7. höhere prozedurale Sprachen (3. Generation)
          8. Fortran
          9. COBOL
          10. BASIC
          11. PASCAL
          12. C
          13. objektorientierte Programmiersprachen
          14. reine objektorientierte Sprachen
          15. Java
          16. Smalltalk
          17. Hybride objektorientierte Sprachen
          18. C++
          19. Visual Basic
          20. höhere Programmiersprachen
          21. Endbenutzersprachen (4. Generation)
          22. SQL
          23. Wissensorientierte Sprachen / KI-Sprachen
          24. PROLOG
          25. LISP
          26. Scriptsprachen
          27. Perl
          28. PHP
        5. Test
        6. Einführung
        7. Wartung
        8. Ausserbetriebnahme
        9. Prototyping
      2. Prinzipien
        1. Strukturierung
        2. Abstraktion
        3. Hirarchisierung
        4. Modularisierung
      3. Methoden
        1. allgemein
          1. Top-Down
          2. ausgehend von einer groben Ebene immer detaillierter werdend
          3. Bottom-Up
          4. Detaillpunkte werden zusammengestellt, bis das Gesamtsystem beschrieben ist
        2. speziell
          1. Entwicklungsansatz
          2. Phasenmodell
          3. Methoden in den einzelnen Phasen
          4. Werkzeuge, die die Methoden unterstützen
          5. strukturierter Ansatz
          6. Analyse
          7. e.g. Structured System Analysis
          8. Entwurf
          9. e.g. structured Design
          10. e.g. Pseudocode
          11. Implementierung
          12. e.g. Pseudocode
          13. e.g. COBOL / C / BASIC
          14. Test
          15. e.g. Black-Box Test
          16. e.g. Grenzwertanalyse
          17. Objektorientierter Ansatz
          18. Phasen
          19. Analyse / Entwurf
          20. UML
          21. OOA (objektorientierte Analyse)
          22. Beschreibung von Anwendungsfällen (Use Cases)
          23. fachliches Modell
          24. statisch
          25. Klassendiagramm
          26. Objektdiagramm
          27. dynamisch
          28. Sequenzdiagramm
          29. Kollaborationsdiagramm
          30. Zustandsdiagramm
          31. Aktivitätendiagramm
          32. UML
          33. Prototyp Benutzeroberfläche
          34. Dialog
          35. Fenster
          36. Dialogelemente
          37. Menü
          38. OOD (objektorientierter Entwurf)
          39. kein Strukturbruch zur OOA
          40. Entscheidung Softwarearchitektur
          41. Drei-Schichten-Architektur
          42. höhere schichten nehmen Leistungen von tieferen Schichten in Anspruch
          43. GUI-Schicht
          44. Nutzung einer GUI-Bibliothek
          45. Klassendiagramm GUI-Schicht
          46. Schnittstelle GUI->Fachkonzeptschicht
          47. Sequenzdiagramme
          48. Fachkonzept-Schicht
          49. Container-Klassen : zusätzliche Klassen zur Verwaltung
          50. Hilfsklassen
          51. Oberklassen
          52. Spezifikation aller Attribute / Operationen ; Assoziationen ; Sichtbarkeit ; Algorithmen
          53. Datenhaltungsschicht
          54. Realisierung
          55. durch Dateien
          56. Serialisierung
          57. durch objektorientierte Datenbanksysteme
          58. durch relationale Datenbanksysteme
          59. Abbildung OO -> Relationen
          60. ODBC / JDBC
          61. Implementierung
          62. Java / C++ / C#
          63. Test
          64. berücksichtigung der objektorientierten Belange
          65. Grundkonzepte
          66. Klasse
          67. Definition eines Objekttyps
          68. Klassenattribut
          69. Ein Wert für alle Objekte der Klasse
          70. Klassenoperation
          71. Zugriff nur auf Klassenattribute
          72. Objekt
          73. Attribut
          74. Merkmale bzw. Merkmalsausprägungen des abzubildenden Phänomens
          75. Operationen
          76. Operationen, die ein Objekt ausführen kann um seine Attributwerte zu verändern
          77. Vererbung
          78. übergeordnete Klassen übertragen Eigenschaften untergeordnete Klassen
          79. Kapselung
          80. Daten und Funktionen gehören Zusammen
          81. Geheimnisprinzip: Daten bleiben verborgen, da kein direkter Zugriff möglich ist
          82. Botschaften
          83. Aufforderung eines Sender-Objektes an ein Empfängerobjekt, eine bestimmte Operation auszuführen
          84. Assoziationen
          85. dauerhafte Verbindung zwischen zwei Objekten
          86. mögliche Assoziationen können im Klassendiagramm dargestellt werden
          87. Kardinalitäten (mit genauen Mengen)
          88. Aggregation
          89. A enthält B
          90. Komposition
          91. A enthält B, B ist ohne A nicht existent
      4. Werkzeuge
        1. Softwareentwicklungsumgebungen
          1. Sammlung von Werkzeugen (aufeinander abgestimmt) zur Entwicklung von SW
        2. Upper CASE Tools
          1. Analyse
          2. Entwurf
        3. Lower CASE Tools
          1. Implementierung
          2. Test
        4. Verwaltungs Tools
          1. Versionsverwaltung
          2. Changemanagement
        5. Management Tools
          1. Planung
          2. Steuerung
    2. Qualitätssicherung
    3. Projektmanagement