1. Grundbegriffe des Software-Engineering



Ähnliche Dokumente
Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Software Engineering

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

Softwaretechnik. Fomuso Ekellem WS 2011/12

Einführung in die Informatik

FH Trier Entwicklung gebrauchstauglicher Systeme

Software-Engineering

User Interface Guidelines

4. Die Grundsätze der Dialoggestaltung aus DIN EN ISO

Die Softwareentwicklungsphasen!

Auf Erfolg programmiert

Mobile Lösungen im Handel Wie findet man ein einfaches und passendes Kassensystem? UseTree Berliner Kompetenzzentrum für Usability Maßnahmen

Software-Entwicklung

Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen

Die Zertifizierungsstelle der TÜV Informationstechnik GmbH bescheinigt hiermit dem Unternehmen

Software Systems Engineering

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick

Eberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn Inhaltsverzeichnis.

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Kapitel 2: Der Software-Entwicklungsprozess

Die Zertifizierungsstelle der TÜV Informationstechnik GmbH bescheinigt hiermit dem Unternehmen

Abschnitt 16: Objektorientiertes Design

Vorlesung Embedded Software-Engineering im Bereich Automotive

Softwarequalität. TÜV SÜD Product Service GmbH. Damit Ihre Softwareprodukte sicher ins Ziel kommen.

SDD System Design Document

Übungsklausur vom 7. Dez. 2007

Internetagentur für Digitale Transformation

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

Was versteht man unter Softwaredokumentation?

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Die Zertifizierungsstelle der TÜV Informationstechnik GmbH bescheinigt hiermit dem Unternehmen

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Virtuelle Forschungsumgebungen Dozent: Prof. Dr. phil.

Wirtschaftsingenieurwesen (Informationstechnik) Modulname. Programmierung II / Software Engineering II Modulnummer

Some Software Engineering Principles

Übungsaufgaben zum Software Engineering: Management

16 Architekturentwurf Einführung und Überblick

TBS-Netz 1. Forum 2B: Software -Ergonomie. Eva Fried, TBS ggmbh Rheinland-Pfalz. Inhaltsübersicht:

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Einführung in die User Experience (UX)

Softwaretechnik WS 2013/14. Fomuso Ekellem

Individuelles Bachelorstudium. Software Engineering for Physics

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Der Schutz von Patientendaten

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

Name: Matr.-Nr. Datum: Bitte beachten Sie:

Qualitätsmanagement im Projekt

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

Praktikant / Abschlussarbeit im Bereich Softwareentwicklung / Mechatronik (m/w)

Leistungsstarke Enterprise Apps. Für Menschen erdacht. Für Veränderungen entwickelt.

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt

6. Programmentwicklung

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

.. für Ihre Business-Lösung

Rechnungsmanager. promx GmbH Nordring Nürnberg. Resource and Project Management

Robot Karol für Delphi

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Informationsveranstaltung zum BMBF Forschungsoffensive Software-Engineering 2006

Microsoft SharePoint 2013 Designer

Konzept Controlling RoadMap. Auswahl, Implementierung und Beratungen für Lösungen zur Konzernsteuerung

Qualitätssicherung. Was ist Qualität?

Kapitel 10: Dokumentation

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Objektorientierte Programmierung OOP

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Thema 1: Einführung in das Software Engineering Prof.Dr. Margret Stanierowski, FHTW Berlin

Block R (Rahmen): SE Aktivitäten Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung

Software-Engineering

Kompetenzfeld Software- und Automatisierungstechnik

Rundum-G. Die Anforderungen durch ständig steigende

Qualitätsmanagement. Andreas Bäuml SWT-Projekt WS 07/08

... Bitte Namen und Matrikelnummer oben eintragen.

Das chronische Problem der Anforderungsanalyse und die Frage: Fehler vermeiden oder früh entdecken? Oral Avcı ZU KÖLN

Übungen zur Softwaretechnik

Medizintechnik und Informationstechnologie im Krankenhaus. Dr. Andreas Zimolong

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Usability Engineering Methoden und Leitsätze zum Entwurf von interaktiver Software

Kapitel: 8. Interaktion im Semantic Web Ergonomie nach ISO

Johannes Rahn Usability und User Experience

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Software Engineering

Anforderungen an die HIS

Bedeutung und Nutzenpotentiale von Prozessen

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Die Informatik als junge Wissenschaft

Software-Ergonomie am Beispiel von Webdesign

Prüfungsmodalitäten Bachelor-Studiengang Medieninformatik

Referent: Mathias Notheis Kontakt:

Checkliste ERP-Software mit Punktesystem* zur Auswertung

Brandmeldezentrale der Serie 1200 von Bosch Sicherheit an erster Stelle

Systemlösungen für die Steuerungstechnik

Die Zertifizierungsstelle der TÜV Informationstechnik GmbH bescheinigt hiermit dem Unternehmen

Transkript:

1. Grundbegriffe Software Engineering 1 1. Grundbegriffe des Software-Engineering Was ist Software-Engineering? (deutsch: Software-Technik) Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen für das ingenieurmäßige Entwerfen, Herstellen und Implementieren von Software befasst. Das Software Engineering entstand Ende das 1960-er Jahre als Antwort auf die Software-Krise; es sollte einen Umdenkprozess in der Software-Produktion einleiten, Bewertungskriterien stärker berücksichtigen und zu qualitativ hochwertigen Software-Produkten führen. Als deren Qualitätskriterien gelten insbesondere: Benutzerfreundlichkeit, Zuverlässigkeit, Wartbarkeit, Anpassbarkeit an Änderungen der Aufgabenstellung, Portabilität, Effizienz, Ergonomie. Die Vorgehensmodelle der Software-Technik umfassen alle Phasen von der Problemstellung bis zur endgültigen Ausmusterung eines Programms oder Programmsystems (Software-Lebenszyklus). Ein weiteres wichtiges Prinzip der Software-Technik ist die ausführliche und lückenlose Dokumentation von Verlauf und Ergebnissen aller Phasen. [Pomberger, Pree: Software Engineering, nach Brockhaus] Anforderungsprofil für Softwareprodukte Zuverlässigkeit n Korrektheit der Ergebnisse, n Robustheit gegen ungültige Eingaben sowie innere und äußere Störungen Ausfallsicherheit n Hohe Verfügbarkeit, n Daten- und Programmsicherheit, n Wiederanlauf Effektivität n Realisierung aller Benutzeranforderungen Effizienz n Erfüllung der minimalen Zeit- und Speicheranforderungen (RAM, Platte) Flexibilität/Anpassbarkeit/Wartbarkeit n Anpassung an neue Erfordernisse und Veränderungen, n Parametrierung, n Modularisierung

1. Grundbegriffe Software Engineering 2 Portabilität n Geringer Aufwand bei Umstellung auf andere bzw. neue Hardware- und Software-Systeme, n Plattformunabhängigkeit Benutzerfreundlichkeit/Ergonomie Ergonomische Anforderungen für Bürotätigkeit mit Bildschirmgeräten (Teil 10: Grundsätze der Dialoggestaltung: ISO 9241-10:1996) Aufgabenangemessenheit Selbstbeschreibungsfähigkeit Steuerbarkeit Erwartungskonformität Fehlertoleranz Individualisierbarkeit Lernförderlichkeit Entwicklung der Softwarekosten Mit der Bedeutung von Software sind in den letzten Jahrzehnten die Kosten der Erstellung ständig gestiegen. Dazu hat auch die zunehmende Komplexität der Softwaresysteme beigetragen. Ein hoher Prozentsatz von Softwareprojekten scheitert und verursacht Kosten, ohne je einen Gewinn abzuwerfen. Ein ebenfalls hoher Prozentsatz von Softwareentwicklungsprojekten überzieht seinen Zeit- und Budgetrahmen und verursacht so erheblich höhere Kosten als ursprünglich geplant. Es gibt zahlreiche Beispiele für mehr oder weniger gescheiterte Softwareprojekte. Begriff der Software-Krise Die Programmiertechnik ist nicht mit den steigenden Anforderungen bzgl. Komplexität, Größe und Funktionalität mitgewachsen. Die Entwicklung großer Programmsysteme lässt sich prinzipiell nicht mit der Erstellung kleinerer Programme vergleichen. Veränderungen im Software-Bereich in den letzten Jahren n Zunehmende wirtschaftliche Bedeutung n Wachsende Komplexität der Aufgaben n Zunehmende Qualitätsanforderungen n Einsatz von Standardsoftwarepaketen

1. Grundbegriffe Software Engineering 3 n Altlasten n Dienstleistungen von Software-Häusern Software-Entwicklung als Ingenieurdisziplin Kreative Elemente Künstlerische Elemente Individuelle Programmierung Standardisierungselemente Industrieproduktion Team-Arbeit im Projekt

1. Grundbegriffe Software Engineering 4 Lebenszyklus von Software-Produkten 0.) Problemstellung Grundidee des Projektes, Vage Vorstellung der Realisierung 1.) Problemanalyse und Anforderungsdefinition Ermittelung der Benutzeranforderungen und Wünsche, Analyse der Informationen, Beschreibung des Ist-Zustandes, Definition des Hardware-Systems, Erstellung eines Pflichtenheftes/Lastenheftes, Spezifikation des Systemmodells 2.) Entwurf Zerlegung des Projekts in Komponenten, Modellierung der Datenstrukturen, Festlegung der Benutzerschnittstellen, Definition von Modulen und Subsystemen mit Schnittstellenspezifikation der Funktionen, Festlegung globaler und externer Referenzen, Bereitstellung der Algorithmen 3.) Implementierung 4.) Test Programmierung der Funktionen, Module und Subsysteme mit begleitender Dokumentation Einzelfunktionstest, Modultest und Integrationstest anhand eines ausgewählten Testdatenvolumens, Automatischer Testverfolgung und Testdokumentation 5.) Installation Abnahme durch den Benutzer, Einweisung und Schulung der Bediener 6.) Betrieb und Wartung Einsatz in der Praxis, Behebung von Fehlern, Anpassung an Änderungen der Hardware- und Software-Umgebung, Definition neuer Anforderungen führt zur Überarbeitung des Projektes oder Neubeginn mit Punkt 0.)

1. Grundbegriffe Software Engineering 5 Softwaretechnik Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden, Konzepten, Notationen und Werkzeugen für die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen Software-Systemen. Zielorientiert bedeutet die Berücksichtigung von z.b. Kosten, Zeit, Qualität. Prinzipien der Softwaretechnik Abstraktion Hierarchisierung Zerlegung eines Problems in Teilprobleme, sodass eine baumförmige Hierarchie entsteht. Modularisierung Zerlegung des Problems in überschaubare und in sich geschlossene Teilaufgaben, die separat entwickelt werden können, auch verteilt in Teams. Entwicklung von Produkten und Teilprodukten, die nur über eine definierte Schnittstelle mit der Umwelt kommunizieren können und sonst kontextunabhängig sind. Strukturierung/Strukturierte Programmierung Entwurf von Programmsystemen, die als Strukturelemente nur eine begrenzte Anzahl von Kontrollstrukturen wie Sequenz, Auswahl, Wiederholung, Unterprogramme etc. zulassen und damit den Programmfluss kontrollieren. Methoden, Verfahren, Werkzeuge Objektorientierte Softwareentwicklung Bei der objektorientierten Softwareentwicklung werden Ergebnisse der Phasen Analyse, Entwurf und Implementierung objektorientiert erstellt. Es werden objektorientierte Programmiersprachen verwendet.