Software Engineering I Grundlagen des Software Engineerings

Größe: px
Ab Seite anzeigen:

Download "Software Engineering I Grundlagen des Software Engineerings"

Transkript

1 Software Engineering I Grundlagen des Software Engineerings Sommersemester 2012, Dr. Andreas Metzger Software Engineering I, SS12, Dennis Wikczynski

2 Motivation komplexe Software wird in allen Bereichen des Lebens benötigt (Eingebettete Software in PKWs und Haushaltsgeräten, Steuerung in der Verkehrs- und Energietechnik, Geschäftsprozesse in fast allen Unternehmen) Software dient als Innovationstreiber (MP3-Player, GPS, ebanking, Youtube, Facebook) Software realisiert in immer größerem Umfang zentrale Produktfunktionalität und wird damit in zunehmendem Maße integraler Bestandteil komplexer Produkte und Dienstleistungen. Systematische, geplante, ingenieurmäßige Softwareentwicklung (d.h. Software Engineering) maßgeblich für den Projekt- und Markterfolg. Ziel des Software Engineering Prinzipien, Techniken, Methoden und Werkzeuge zur Verfügung stellen, um Software zu vorhersehbaren Kosten, in vorhersagbarer Zeit und zu vorhersagbarer Qualität zu produzieren.! Software Engineering I, SS12, Dennis Wikczynski! 2

3 Kapitel 1: Einleitung Essentielle Charakteristiken des Software Engineering Konstruktion von großen Programm-Systemen Komplexitätsbewältigung Regelmässige Kooperation von Menschen Software wird kontinuierlich weiterentwickelt Effizienz, mit der Software entwickelt wird Software muss ihre Benutzer effektiv unterstützen Besonderheiten des Software Engineerings: Software ist ein immaterielles Gut (Konstruktionsfehler sind oft nicht sichtbar, Aufwand für Identifikation und Behebung von Defekten sehr hoch) Kosten werden ausschließlich durch Personalkosten bestimmt (Entwicklungskosten) Qualität des Personals ist ein entscheidender Erfolgsfaktor um Produktivität und Qualität in der Entwicklungsphase zu gewährleisten Inbetriebnahme und Nutzung von Softwaresystemen führt zur Klärung von Anforderungen und Identifikation neuer Anforderungen Ein Software-Ingenieur sollte in der Lage sein verschiedene Abstraktionsebenen (Modellbildung) zu kreieren, diese Modelle und Spezifikationen verwenden können, mit Menschen kommunizieren um unterschiedliche Zielsetzungen umzusetzen und Fähigkeiten im Bereich der Arbeitsplanung und -koordination (Projektmanagement) besitzen! Software Engineering I, SS12, Dennis Wikczynski! 3

4 Kapitel 2: Eigenschaften und Prinzipien von Software Eigenschaften von Software (Überblick) Prozess- vs. Produkteigenschaften Prozesseigenschaften: Charakteristika/ Attribute bezüglich der Erstellung des Produkts (Software-Entwicklungsprozess) Produkteigenschaften: Charakteristika/ Attribute bezüglich des eigentlichen Produkts (Software-Systeme) Externe vs. interne Eigenschaften Extern: Wie gut erfüllt das Produkt die Anforderungen der Nutzer? (Bezieht sich in der Regel auf Ausführung der Software) Intern: Wie gut erfüllt das Produkt die Anforderungen der Software- Ingenieure? (Bezieht sich in der Regel auf Entwicklungsartefakte) Prozess vs. Produkteigenschaften Prozesseigenschaften haben Einfluss auf die Qualität der Produkteigenschaften (in der Praxis werden häufig Produkteigenschaften überprüft, d.h. Beseitigung schlechter Qualität durch Nachbesserung. Eine bessere Lösung wäre die Ursache für die schlechte Qualität zu finden und entsprechende Prozessverbesserung durchzuführen Wichtige Eigenschaften von Software (Übersicht) Korrektheit: Übereinstimmung eines Programms mit seiner (funktionalen) Spezifikation d.h. ist die Korrektheit der Software nachweislich gegeben? Zuverlässigkeit: ist ein relatives Kriterium d.h. zuverlässige Software kann immer noch Defekte aufweisen (mangelnde Zuverlässigkeit wird in manchen Bereichen toleriert ist aber z.b. bei der Steuerung eines AKW eine folgenschwere Angelegenheit)! Software Engineering I, SS12, Dennis Wikczynski! 4

5 Präzisierung: beinhaltet die Fähigkeit des Systems, den Vorstellungen des Benutzers zu genügen ( dependability ) oder die Wahrscheinlichkeit, dass Software innerhalb einer bestimmten Zeitspanne kein Fehlverhalten aufweist ( reliability ) Robustheit: Toleranz gegenüber nicht spezifizierter Bedienung/ nicht spezifizierten Rahmenbedingungen, z.b. Hardwarefehlern oder unerwarteten Benutzereingaben (Beispiel: Flasche Eingaben führen zum Systemabsturz oder eine nichtspezifizierte Nachricht eines Systems führt zum Datenverlust) Performanz: Erfüllung der Anforderungen an Antwortzeitverhalten und ökonomischer Umgang mit Ressourcen (CPU, Hauptspeicher, Netzwerk). Wesentliche Eigenschaften einer Software sollten mit einem Prototypen getestet werden, da spätere Änderungen ein sehr kosten- und zeitintensives Redesign bedeuten könnten Benutzerfreundlichkeit: Intuitive, fehlerrobuste Bedienung der Software unter Umständen beeinflusst durch Gestaltung der Dialoge, einfache Konfigurierbarkeit und einfachem Aufbau und Ablauf Wartbarkeit: Fähigkeit eine Software nach ihrer Auslieferung Anpassungen, Änderungen und Weiterentwicklungen zu ermöglichen (Wartbarkeit hängt stark von der Strukturierung/Architektur ab!). Folgende Wartungs-Arten existieren: Korrektive Wartung: Beseitigung von Fehlern Adaptive Wartung: nachträgliche Anpassung an geänderte Umgebung/ Rahmenbedingungen, z.b. gesetzliche Änderungen, neue Organisation Perfekte Wartung: Verbesserung im Hinblick auf die nicht-funktionale Anforderungen, z.b. Performanz, Ergonomie Enhansive Wartung: hinzufügen von Funktionalität Wiederverwendbarkeit: Einsatzfähigkeit der Software in einem anderen Kontext. Ebenfalls können gewisse Kernfunktionen übernommen werden, in diesem Kontext spricht man von Variabilität. Portierbarkeit: Ergibt sich aus dem Aufwand der nötig ist, um eine Software auf einer anderen Plattform (d.h. Hardware oder Software) lauffähig zu machen. Hohe Portierbarkeit wird durch Kapselung von Plattformabhängigkeiten sowie der Berücksichtigung von Standards (Design Patterns) erreicht. Interoperabilität: Maß für die Fähigkeit eines Systems, mit anderen Systemen zu koopieren. Wird immer wichtiger, da Office-Werkzeuge, Großrechner-Software, Datenmodellierungssoftware etc. diesen Aspekt immer häufiger nutzen. Software Engineering I, SS12, Dennis Wikczynski! 5

6 Prinzipien der Software-Entwicklung Terminologie Prinzip = Grundsatz, den man seinem Handeln zu Grunde legt (Beispiel: Strukturierung der Software in Objekte und Beziehungen) Technik = Vorschrift zur Durchführung einer Tätigkeit (Beispiel: Programmiersprache Java) - Was ist wie zu tun? Methode = Bündelung von Techniken zur Erreichung vorgegebener Ziele (Beispiel: Unified Process) - Was ist wie und unter welchen Rahmenbedingungen zu tun, so dass ein gutes Ergebnis erreicht wird? Werkzeug: Rechnerunterstützung für Techniken und Methoden (Beispiel: Eclipse JDE) Prinzipien Striktheit und Formalität: Strikte ( präzise ) Dokumentation des Software-Prozesses und seiner Ergebnisse (bspw. Anforderungsdefinition, Entwurf, Testfälle, Wartungsdokumente). Ist notwendig für das Verständnis, im Hinblick auf spätere Änderbarkeit und im Hinblick auf Schadenspotential von Missverständnissen Strukturierung: Ziel ist Seperation of concerns also die Unterteilung in Aspekte/ Bereiche und die seperante Behandlung dieser Bereiche (Bsp.: Qualität in Performanz, Robustheit und Korrektheit). Vorteile sind u.a. Überschaubarkeit und Handhabbarkeit, Komplexitätsreduktion Modularität: Ziel ist die Unterteilung eines komplexen Systems in Komponente/Module ( divide and conquer ). Modularität ist dabei Voraussetzung für Wiederverwendung in kleinen Teilen und lokale Änderbarkeit, sowieso Ergebnis der Dekomposition bzw. Grundlage der Komponierbarkeit. Eine gute Modularität wird durch eine hohe Kohäsion, d.h. enger interner Zusammenhalt innerhalb eines Moduls und durch geringe Kopplung, d.h. wenig Wechselwirkungen mit anderen Modulen, erreicht! Software Engineering I, SS12, Dennis Wikczynski! 6

7 Sicherheit: Beinhaltet die Angriffssicherheit (Schutz der Software vor der Umgebung, inkl. User) und die Betriebssicherheit (Schutz der Umgebung von der Software) Abstraktion: Das Ziel ist die Trennung von wichtigen und unwichtigen Merkmalen zum Zweck der Konzentration auf das Wesentliche. Im Software Engineering ist dies beispielsweise das Klassendiagramm, welches von der Programmiersprache abstrahiert. (Für den Anwender ist z.b. die Funktion des User Interfaces relevant und die Architektur der Software nebensächlich) Änderbarkeit: Software unterliegt kontinuierlichen Änderungen oder die einzige Konstante ist die Änderung. Flexible Änderungen können zusätzliche Kundenwünsche, Produktlinien erfüllen aber es besteht auch das Risiko, dass ein Großteil der Software verändert werden muss! Sie gewährleistet konsistente Systeme und wird als Ursache für Wartungsintensität angesehen. Weitere Ursachen für Änderungen: Enhansive Wartung: Erweiterung der Funktionalität basierend auf Erkenntnisgewinn Korrektive Wartung: Beseitigung von Fehlern Perfekte Wartung: Verbesserung nicht-funktionaler/qualitäts-eigenschaften Adaptive Wartung: Erweiterung der Funktionalität wegen sich ändernder Rahmenbedingungen! Software Engineering I, SS12, Dennis Wikczynski! 7

8 Allgemeinheit: Beinhaltet das Ziel die Software für verwandte Aufgaben und Zwecke einzusetzen. Die Umsetzung erfolgt zumeist durch Anpassung/Änderung. Allgemeine Software lässt sich beispielsweise bei Rahmenbedingungen einsetzen, welche ständig mit aktuellen Parametern versorgt werden (Allgemeinheit verursacht Aufwand!) Inkrementalität: Gliedert Tätigkeiten in Schritte um nach jedem Schritt entsprechende Rückkopplungen durchzuführen (Beispiel: Es werden einzelne Dialoge entwickelt und abgestimmt, bevor alle Dialoge entwickelt werden). Inkrementalität basiert auf der Erkenntnis, dass während der Entwicklung in aller Regel Änderungen nötig sind, trägt dem Erkenntnisgewinn während der Entwicklung bei und erlaubt Risikominimierung. Es wird grundsätzlich mit den wichtigen Funktionen (Kernfunktionen) begonnen. Imkrementelle SW-Entwicklung: Das zu entwickelnde System bleibt in seinem Gesamtumfang offen; es wird in Ausbaustufen realisiert. Die 1. Stufe ist das Kernsystem. Jede Stufe erweitert das vorhandene System...Mit der Bereitstellung einer Erweiterung ist in aller Regel auch (wie bei der iterativen Entwicklung) eine Verbesserung der alten Komponenten verbunden. Iterative SW-Entwicklung: Es wird in mehreren geplanten und kontrolliert durchgeführten Iterationsschritten entwickelt. Ziel dabei ist, dass in jedem Iterationsschritt - beginnend bei der 2. Iteration - das vorhandene System auf der Basis der im Einsatz erkannten Mängel korrigiert und verbessert wird...! Software Engineering I, SS12, Dennis Wikczynski! 8

9 Kapitel 3: Software-Entwicklungs-Prozesse Begriffsbildung und Abgrenzung Lebenszyklusmodell: Beinhaltet die Festlegung wesentlicher Entwicklungsaktivitäten und ihrer Abhängigkeiten bzw. deren prinzipielle Vorgehensweise Software-Prozessmodell: Definiert Aktivitäten, die in einer Software-Entwicklung durchzuführen sind; die Reihenfolge der Aktivitäten; die Werkzeuge, Methoden und Techniken zur Unterstützung dieser Aktivitäten und die Typen der Artefakte, die erzeugt und verarbeitet werden Software-Prozess: Entspricht der konkreten Durchführung einer Software-Entwicklung und ist gekennzeichnet durch wann und von wem welche Aktivitäten durchgeführt werden und welche Artefakte bei der Durchführung der Aktivität verarbeitet/ erzeugt werden Entwicklungsprojekte können strukturell dermaßen unterschiedliche Anforderungen stellen, dass ein einziges Lebenszyklusmodell nicht für alle Projekte verwendbar ist. Das zum Projekt passende Lebenszyklusmodell muss ausgewählt werden und gegebenenfalls während der Entwicklung angepasst werden (und damit auch am Software- Prozessmodell). Lebenszyklus-Modelle Code and Fix - Modell: (Programmcode schreiben = Code ; Fehler im Programmcode beheben = Fix ) Stellt kein geeignetes Lebenszyklusmodell dar, da Bux-Fixing zu unstrukturiertem Programmcode führt, dies führt zu teuren Wartungskosten, da Code nicht strukturiert, modulär, änderbar und allgemein ist. Es wird also insgesamt zu wenig Strukturierung für große Systeme geboten, Teamarbeit nicht gefördert, Änderungen sind nur schwer umsetzbar und die Produktion wird als nicht zuverlässig, nicht vorhersehbar und nicht effizient genug erachtet Endergebnis erfüllt nicht die Anforderungen der Nutzer = Ablehnung der Software/ Neuentwicklung)! Software Engineering I, SS12, Dennis Wikczynski! 9

10 Wasserfall-Modell: Das Wasserfallmodell ist klar an die Bedürfnisse des Managements ausgerichtet und besitzt Klare (Phasen-) Enden mit eindeutig zugeordneten Ergebnissen (Dokumenten) bzw. Klare Verantwortungen für Phasen. Implementierung erfolgt (im Gegensatz zum Code and Fix ) erst nach Verständnis des Problems. Leider spiegelt die Trennung der Phasen die Natur der Software-Entwickler nicht wieder, soll heißen, dass keine erkenntnisgetriebene Entwicklung stattfindet, Phasen sich zwangsläufig überlappen, Reviews Zeit beanspruchen und das ganze sehr bürokratisch/dokumentenzentriert ist. Die grundlegende Philosophie: keine (späte) Änderungen Spiralmodell: Ziel ist die Minimierung des Risikos, deshalb werden die Festlegung der nächsten Schritte und eine Risikoeinschätzung iteriert. (Iteration = Ziele, Randbedingungen und Alternativen identifizieren; Risiko-Management d.h. Evaluation der Alternativen, Risiko-Einschätzung und Risiko-Behandlung; Entwicklung und Test von Teilergebnissen und Review der Resultate und Planung der nächsten Phase) Vorteile Überprüfung in regelmässigen Intervallen (unter Umständen erneute Festlegung des Prozessablaufs in Abhängigkeit von den Risiken) Flexibles Modell Ein Prozess wird nicht für die gesamte Entwicklung festgelegt Integration anderer Lebenszyklusmodelle als Spezialfälle Fehler und ungeeignete Alternativen werden frühzeitig eliminiert Nachteile Hoher Managementaufwand wegen vieler Entscheidungen bzgl. des Prozessablaufs Für kleine/mittlere Projekte ungeeignet Spiralmodell ist kein Lebenszyklusmodell im engeren Sinne, denn es schlägt keinen konkreten Lebenszyklus vor, es werden gewisse Elemente von Lebenszyklusmodellen in einer allgemeinen Art und Weise angesiedelt! Software Engineering I, SS12, Dennis Wikczynski! 10

11 Prototyping-Modelle: Beruht auf der Annahme/Beobachtung, dass der Anwender die Software zuerst sehen muss bevor er wirklich weiß was er haben will. Sollte Prototyp nur zur Klärung von Anforderungen dienen, dann sollte er mit geringem Aufwand erstellt werden (alleine schon, um die Klärung möglichst früh zu ermöglichen). Man unterscheidet zwischen Wegwerf-Prototypen und Evolutionären/Inkrementellen Prototypen. Die Implementierung der Funktionalität wird in Horizontal und Vertikale Prototypen unterschieden. Wegwerf-Prototypen Dient ausschließlich zur Sammlung von Erfahrungen und/oder zur Klärung von Anforderungen (können quick-and-dirty entwickelt werden) wird nicht Bestandteil des endgültigen Produkts (was eine gewisse Schlampigkeit bei der Realisierung des Prototyps erlaubt) Funktionieren der Software wird anhand von wesentlichen Aspekten erreicht, Details sind nicht notwendig Evolutionäre/Inkrementelle Prototypen Gleicher Zweck wie der Wegwerf- Prototyp, wird aber zum Produkt weiterentwickelt (auf keinen Fall quickand-dirty entwickeln!) Wesentliche Aspekte sind verstanden und können das rudimentäre Funktionieren sicherstellen (andere Aspekte sind unklar wie z.b. Schnittstellen zu anderen Systemen) Dieses Modell muss Qualitätsanforderungen von vornherein berücksichtigen Zielkonflikt: frühe Verfügbarkeit versus Erweiterbarkeit!! Software Engineering I, SS12, Dennis Wikczynski! 11

12 Horizontaler Prototyp realisiert nur spezifische Ebenen des Systems (Benutzerschnittstellen, funktionale Kernebenen wie Datenbanktransaktionen; die betreffende Ebene wird möglichst vollständig realisiert; Bei Benutzerschnittstelle bedeutet dies z.b., dass die gesamte Oberfläche zu sehen ist, aber keinerlei Funktionalität dahintersteht Vertikaler Prototyp realisiert die Implementierung ausgewählter Teile des Zielsystems vollständig durch alle Ebenen hindurch (geeignet, wo Funktionalitäts- und Implementierungsoptionen noch offen sind. In der Regel der Fall, wenn Pilotsysteme gebaut werden) Die Vorteile des Prototyping-Modells liegen darin, dass das Entwicklungsrisiko reduziert wird, Prototypen durch geeignete Werkzeuge schnell erstellt werden können (Modellbasierte Entwicklung, Simulatoren), eine intensive Rücksprache mit dem Kunden ermöglichen und letztendlich auch die Kreativität der Entwickler gefördert wird. Ein Nachteil könnte beispielsweise die Gefahr sein, dass ein Wegwerf-Prototyp aus Ressourcengründen Teil des Endprodukts wird oder der Prototyp als Ersatz für eine wichtige, ausführliche Dokumentation angesehen wird!! Software Engineering I, SS12, Dennis Wikczynski! 12

13 V-Modell (Lebenszyklusmodell): Ist eine Erweiterung des Wasserfallmodells. Integrations- und Prüfungsaktivitäten werden hier nach der Codierung den Entwicklungsaktivitäten gegenübergestellt. Es ist ein bekanntes und weit verbreitetes Lebenszyklusmodell (z.b. auch zur Definition der unterschiedlichen Testebenen). Die Qualitätssicherung erhält den gleichen Stellenwert wie die Konstruktion. Zudem erfolgt eine klare Gegenüberstellung von konstruktiven und prüfenden Aktivitäten. Moderne Lebenszyklus-Modelle ANMERKUNG: Das folgende Kapitel beinhaltet Agile Prozesse und das Service Live-Cycle- Model (S-Cube). Die Agile Prozesse -Folie ist in englischer Form im Skript zu finden, das S-Cube Modell behandle ich an dieser Stell nicht weiter, da eine genaue Beschreibung im 4. Übungsblatt im Aufgabenbereich 4.1 vorgenommen wurde! Software-Prozessmodelle V-Modell der Bundesrepublik Deutschland (Bund): Ist ein verbindliches Regelwerk für den Bereich des Bundesministeriums für Verteidigung (BMVg). Es orientiert sich am V- Modell (Life-Cycle-Modell), ist mittlerweile aber auch für andere Lebenszyklusmodelle anwendbar. Die Grundlegende Idee ist eine Gliederung in vier Tätigkeitsbereiche (4 Submodelle): Systemerstellung; Qualitätssicherung; Projektmanagement und Konfigurationsmangement. Der Prozess der Erstellung von IT-Systemen wird beschrieben durch Aktivitäten, Produkte, Artefakte und Dokumente. Die Beschreibung von Aktivitäten und Produkten erfolgt auf unterschiedlichen Detaillierungsebenen.! Software Engineering I, SS12, Dennis Wikczynski! 13

14 Zu dem bietet das Modell eine umfassende Möglichkeit des Tailorrings (Anpassung an spezifische Bedürfnisse) und eine explizite Darstellung der Schnittstelle zwischen Auftraggebern und Auftragnehmern (Pflichten-/Lastenheft). Produkt- und Produktspezifisches Tailorring sollte vermeiden, dass es zu viele und vor allem keine nutzlosen Dokumente gibt - die Wichtigkeit der Dokumentation steht im Fokus. Das Tailoring (V-Modell XT) stellt sicher, dass der betriebene Aufwand dem Nutzen entspricht; es findet eine Reduktion des generischen V-Modells auf genau die Elemente, die zur Durchführung des Projekts benötigt werden, statt. Das Resultat: spezifisches V-Modell (dokumentiert im Projekt Manual ) ist projektspezifisch, produkt- und domänenspezifisch und unternehmensspezifisch!! Software Engineering I, SS12, Dennis Wikczynski! 14

15 Unified Process (UP): Besondere Charakteristiken des UP sind Modellbasiert: Abstraktion und Separation of Concerns Iterativ und inkrementell: Entschärfung von Risiken; Handhabung sich ändernder Anforderungen; Erreichung kontinuierlicher Integration; Ermöglichung von frühzeitigem Lernen Use-Case- (Anwendungsfall-) getrieben: bedeutende Anforderungen (bzgl. Mehrwert) zu identifizieren; einfache Erstellung und Validierung der Architektur zu ermöglichen; Prozesse voranzutreiben Architekturzentriert: Strukturierung; Verständnis des Systems vertiefen; Wiederverwendung fördern; Weiterentwicklung unterstützen Das UP besitzt zudem folgende Lebenszyklus-Phasen:! Software Engineering I, SS12, Dennis Wikczynski! 15

16 Vorteile Basierend auf der UML (Standard zur Modellierung von Software-Systemen) Berücksichtigung von Use-Case Berücksichtigung der Wechselwirkungen zwischen Anforderungen Architektur Iterativ & inkrementell (Phasen als Workflows) Basiert auf Erfahrungen mehrerer Vorgehensweisen Teilweise Tool-Unterstützung Nachteile Insgesamt noch teilweise unausgereift, bspw. keine klare Definition von Rollen (noch) nur wenig erprobt zu unkonkret für praktische Anwendung ANMERKUNG: Die weiteren Kapitel werden in den Übungsblättern ausreichend abgedeckt (Rollenverteilung und Software-Tests). Eine Ausführliche Zusammenfassung findet man außerdem auf SE1/Lernskript! Software Engineering I, SS12, Dennis Wikczynski! 16

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 1) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Besonderheiten und Eigenschaften von Software; Interne und Externe Eigenschaften 1 Aufgabe 1.1 Software

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Projektvorstellung Übung 1 Wiederholung zusammengefasst Planungsphase Lernziele Ziele und Inhalt der Planungsphase Anlass und Aufgabestellung(Was ist dabei erförderlich) Requirement Engineering

Mehr

Wirtschaftsinformatik I Teil 2. Sommersemester 2008. 1. Übung

Wirtschaftsinformatik I Teil 2. Sommersemester 2008. 1. Übung Wirtschaftsinformatik I Teil 2 Sommersemester 2008 1. Übung Sarah Mund, Kirstin Simon, Markus Trierweiler, Christian Molitor, Jonathan Jäger, Björn Kirsten Aufgabenstellung Diskutieren Sie die Vor- und

Mehr

Grundlagen Software Engineering

Grundlagen Software Engineering Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der

Mehr

16 Architekturentwurf Einführung und Überblick

16 Architekturentwurf Einführung und Überblick Teil III: Software-Architekturentwurf 16 Architekturentwurf Einführung und Überblick 16.1 Software entwerfen Warum? Beim Arbeiten im Kleinen nicht oder nur ansatzweise (Detailentwurf) Größere Software

Mehr

Einführung und Motivation

Einführung und Motivation Einführung und Motivation iks-thementag: Requirements Engineering 16.11.2010 Autor Carsten Schädel Motto Definiere oder Du wirst definiert. Seite 3 / 51 These Im Privatleben definiert jeder (seine) Anforderungen.

Mehr

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

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?

Mehr

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

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung Projektmanagement Management- und Phasen-Modelle Vom Wasserfall bis Extreme Programming / Scrum Dokument V 1.1 Wie kommt es zu einem Projektauftrag? Auftraggeber Projekt-Idee / Ziele [Anforderungen/Spezifikation/

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung Kapitel B Vorgehensmodelle Inhaltsverzeichnis 1 B Vorgehensmodell... 3 1.1 Welche Vorgehensmodelle sind

Mehr

Übungsaufgaben zum Software Engineering: Management

Übungsaufgaben zum Software Engineering: Management Übungsaufgaben zum Software Engineering: Management Grundbegriffe: Aufgabe 1: Aus welchen Disziplinen setzt sich das Software Engineering zusammen? a. Informatik b. Physik c. Psychologie d. Chemie e. Geologie

Mehr

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

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung. StuPro-Seminar Dokumentation in der Software-Wartung StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung Folie 1/xx Software-Wartung: theoretisch Ausgangslage eigentlich simpel: fertige

Mehr

Grundlagen des Software Engineering

Grundlagen des Software Engineering Grundlagen des Software Engineering Teil 1: SW-Management Fachrichtung Wirtschaftsinformatik FB Berufsakademie der FHW Berlin Prof. Dr. Gert Faustmann Motivation des Risikomanagements Ungefähr 80 Prozent

Mehr

Software Systems Engineering

Software Systems Engineering Software : SoSe 08 Prof. Dr. Klaus Schmid Software Produktlinien Ein neues Programm soll erstellt werden. Das habe ich doch schon mal programmiert, oder? Alter Code passt aber nicht ganz! Wird passend

Mehr

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

Mehr

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

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle Diverse Grundlagen Dr. Karsten Tolle Vorgehensmodelle im Software Engineering Wasserfallmodell Rapid Prototyping Spiralmodell V-Modell Rational Unified Process extrem Programming Test Driven Development

Mehr

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert. Usability Heuristiken Karima Tefifha Proseminar: "Software Engineering Kernkonzepte: Usability" 28.06.2012 Prof. Dr. Kurt Schneider Leibniz Universität Hannover Die ProSeminar-Ausarbeitung beschäftigt

Mehr

Kapitel 2: Der Software-Entwicklungsprozess

Kapitel 2: Der Software-Entwicklungsprozess Wie konstruiert man Software? Kapitel 2: Der Software-Entwicklungsprozess SoPra 2008 Kap. 2: Der Software-Entwicklungsprozess (1/10) Der Software-Entwicklungs-Prozess Historisches 1960JJ adhoc Techniken

Mehr

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Historisch Kulturelle Informationsverarbeitung Hauptseminar: KLIPS 2.0 Dozent: Prof. Dr. Thaller Referent:

Mehr

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Softwareentwicklungsprozess im Praktikum. 23. April 2015 Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit

Mehr

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

Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Virtuelle Forschungsumgebungen Dozent: Prof. Dr. phil. Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Virtuelle Forschungsumgebungen Dozent: Prof. Dr. phil. Manfred Thaller WS 2010/11 Referentin: Sanja Wiechmann

Mehr

FUTURE NETWORK 20.11.2013 REQUIREMENTS ENGINEERING

FUTURE NETWORK 20.11.2013 REQUIREMENTS ENGINEERING 18/11/13 Requirements Engineering 21 November 2013 DIE GRUNDFRAGEN Wie erhält der Kunde den größten Nutzen? Wie kann der Kunde am besten spezifizieren, was er haben will? Welchen Detailierungsgrad braucht

Mehr

Informationssicherheit als Outsourcing Kandidat

Informationssicherheit als Outsourcing Kandidat Informationssicherheit als Outsourcing Kandidat aus Kundenprojekten Frankfurt 16.06.2015 Thomas Freund Senior Security Consultant / ISO 27001 Lead Auditor Agenda Informationssicherheit Outsourcing Kandidat

Mehr

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Feintypisierung - Überblick Ergebnisse Ergebnisse aus aus anderen anderen Arbeitsergebnissen Arbeitsergebnissen Replikationsplan Replikationsplan

Mehr

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

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003 Software Engineering Softwaretechnik Softwaretechnologie, Software Engineering (engl.) das, -, Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen für das ingenieurmäßige Entwerfen, Herstellen

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

Das Wasserfallmodell - Überblick

Das Wasserfallmodell - Überblick Das Wasserfallmodell - Überblick Das Wasserfallmodell - Beschreibung Merkmale des Wasserfallmodells: Erweiterung des Phasenmodells Rückkopplungen zwischen den (benachbarten) Phasen sind möglich Ziel: Verminderung

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität Marcus Winteroll oose GmbH Agenda I. Ziele und Zusammenarbeit II. Was wir vom agilen Vorgehen lernen

Mehr

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

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

Some Software Engineering Principles

Some Software Engineering Principles David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen

Mehr

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

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

Was versteht man unter Softwaredokumentation?

Was versteht man unter Softwaredokumentation? Was versteht man unter? Mit bezeichnet man die Dokumentation von Computer-Software. Sie erklärt für Anwender, Benutzer und Entwickler in unterschiedlichen Rollen, wie die Software funktioniert, was sie

Mehr

Angepasste Software Standards für DLR- Eigenentwicklungen - Die DLR Software Basisstandards -

Angepasste Software Standards für DLR- Eigenentwicklungen - Die DLR Software Basisstandards - Angepasste Software Standards für DLR- Eigenentwicklungen - Die DLR Software Basisstandards - Anita Herrmann Braunschweig, 10. Nov 2004 Ausgangspunkte Im DLR werden nach vorsichtigen

Mehr

Fragebogen zur Anforderungsanalyse

Fragebogen zur Anforderungsanalyse Fragebogen zur Anforderungsanalyse Geschäftsprozess Datum Mitarbeiter www.seikumu.de Fragebogen zur Anforderungsanalyse Seite 6 Hinweise zur Durchführung der Anforderungsanalyse Bevor Sie beginnen, hier

Mehr

Software Engineering

Software Engineering Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,

Mehr

Requirements Engineering für IT Systeme

Requirements Engineering für IT Systeme Requirements Engineering für IT Systeme Warum Systemanforderungen mit Unternehmenszielen anfangen Holger Dexel Webinar, 24.06.2013 Agenda Anforderungsdefinitionen Von der Herausforderung zur Lösung - ein

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

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

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

Mehr

GRS SIGNUM Product-Lifecycle-Management

GRS SIGNUM Product-Lifecycle-Management GRS SIGNUM Product-Lifecycle-Management Das optionale Modul Product-Lifecycle-Management stellt eine mächtige Ergänzung zum Modul Forschung & Entwicklung dar. Folgende Punkte werden dabei abgedeckt: Definition

Mehr

Was versteht man unter einem Softwareentwicklungsmodell?

Was versteht man unter einem Softwareentwicklungsmodell? Softwareentwicklung Was versteht man unter einem Softwareentwicklungsmodell? Ein Softwareentwicklungsmodell ist ein für die Softwareentwicklung angepasstes Vorgehensmodell bei der professionellen ( ingenieursmäßigen

Mehr

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

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt Konsolidierung und Neuimplementierung von VIT Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt Inhaltsverzeichnis 1 Was ist der Kontext?... 1 2 VIT: Ein sehr erfolgreiches

Mehr

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Rational Unified Process (RUP) Wolfgang H. Janko, Michael Hahsler und Stefan Koch Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe Das

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag von: Ilias Agorakis & Robert Roginer MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile

Mehr

Informationswirtschaft II

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Wolfgang H. Janko, Michael Hahsler und Stefan Koch Seite 1 Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe

Mehr

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

Mehr

extreme Programming (XP) Hermann Götz Sergij Paholchak Agenda Was ist XP? Grundprinzipien Der Entwicklungsprozess Die Projektplanung Praktiken Vorteile und Nachteile Wann macht XP Sinn für ein Projekt?

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Projektmanagement in der Spieleentwicklung

Projektmanagement in der Spieleentwicklung Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren

Mehr

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Copyright 2014 Delta Software Technology GmbH. All Rights reserved. Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für

Mehr

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle IT-Basics 2 DI Gerhard Fließ Vorgehensmodelle Sichtbarkeit Die Sichtbarkeit von Membervariablen und Methoden können durch die folgenden Schlüsselworte geregelt werden: private nur in der eigenen Klasse

Mehr

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS 12. - Ohne Gewähr -

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS 12. - Ohne Gewähr - PRÜFUNG FÜR ELEKTROINGENIEURE Softwaretechnik I Musterlösung SS 12 - Ohne Gewähr - LfdNr. Thema Punkte Zeitbedarf in min 1 Analyse und Entwurf 15 30 2 Basistechniken und Test 15 30 3 Projektmanagement

Mehr

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter Prof. Dr. Dr. h.c. Manfred Broy Sommersemester Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter Einführung in die Softwaretechnik Übung 6: Feinentwurf Aufgabe 17: Entwurfsmuster

Mehr

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster

Mehr

Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante

Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante ISO 9001:2015 Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante Prozesse. Die ISO 9001 wurde grundlegend überarbeitet und modernisiert. Die neue Fassung ist seit dem

Mehr

Maintenance & Re-Zertifizierung

Maintenance & Re-Zertifizierung Zertifizierung nach Technischen Richtlinien Maintenance & Re-Zertifizierung Version 1.2 vom 15.06.2009 Bundesamt für Sicherheit in der Informationstechnik Postfach 20 03 63 53133 Bonn Tel.: +49 22899 9582-0

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

Software Engineering. 3. Analyse und Anforderungsmanagement

Software Engineering. 3. Analyse und Anforderungsmanagement Software Engineering 3. Analyse und Anforderungsmanagement Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz

Mehr

Anforderungsanalyse. Basis: Grundlage für Erfolg / Misserfolg. Gute Qualität, moderne Techniken... Reicht nicht!

Anforderungsanalyse. Basis: Grundlage für Erfolg / Misserfolg. Gute Qualität, moderne Techniken... Reicht nicht! Anforderungsanalyse Basis: Grundlage für Erfolg / Misserfolg Gute Qualität, moderne Techniken... Reicht nicht! Wenn Funktionen fehlerhaft sind, ist das Produkt oder Teile u. U. nicht brauchbar für den

Mehr

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch. Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf 2 Nach derbefragung aller Stakeholder und der Dokumentation

Mehr

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang Einleitung Dieses Buch wendet sich an jeden Leser, der die Programmiersprache C++ neu lernen oder vertiefen möchte, egal ob Anfänger oder fortgeschrittener C++-Programmierer. C++ ist eine weitgehend plattformunabhängige

Mehr

.. für Ihre Business-Lösung

.. für Ihre Business-Lösung .. für Ihre Business-Lösung Ist Ihre Informatik fit für die Zukunft? Flexibilität Das wirtschaftliche Umfeld ist stärker den je im Umbruch (z.b. Stichwort: Globalisierung). Daraus resultierenden Anforderungen,

Mehr

Referent: Mathias Notheis Kontakt: Mathias.Notheis@dqs.de

Referent: Mathias Notheis Kontakt: Mathias.Notheis@dqs.de ISO/IEC 62304 Medizingeräte-Software Referent: Mathias Notheis Kontakt: Mathias.Notheis@dqs.de DQS Medizin nprodukte GmbH Übersicht Basics Wann ist ein MP Software? Markteinführung vor der 62304 alles

Mehr

Comparing Software Factories and Software Product Lines

Comparing Software Factories and Software Product Lines Comparing Software Factories and Software Product Lines Martin Kleine kleine.martin@gmx.de Betreuer: Andreas Wuebbeke Agenda Motivation Zentrale Konzepte Software Produktlinien Software Factories Vergleich

Mehr

Übungsklausur vom 7. Dez. 2007

Übungsklausur vom 7. Dez. 2007 Übungsklausur vom 7. Dez. 2007 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement

Mehr

Formwerk AG. Die Sicherstellung konsistenter Nutzungserlebnisse über den gesamten SW-Produktlebenszyklus durch Human Centered Design.

Formwerk AG. Die Sicherstellung konsistenter Nutzungserlebnisse über den gesamten SW-Produktlebenszyklus durch Human Centered Design. Formwerk AG Die Sicherstellung konsistenter Nutzungserlebnisse über den gesamten SW-Produktlebenszyklus durch Human Centered Design. Design on Strategy UX über den Produkt Life Cycle Vor der Nutzung In

Mehr

Konzentration auf das. Wesentliche.

Konzentration auf das. Wesentliche. Konzentration auf das Wesentliche. Machen Sie Ihre Kanzleiarbeit effizienter. 2 Sehr geehrte Leserin, sehr geehrter Leser, die Grundlagen Ihres Erfolges als Rechtsanwalt sind Ihre Expertise und Ihre Mandantenorientierung.

Mehr

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell 1. Vorgehensmodelle Software- Entwicklungsaktivitäten und Vorgehensmodelle a) Lebenszyklusmodell (Life- Cycle- Modell) b) V- Modell c) Wasserfallmodell d) Modifiziertes Wasserfallmodell e) Iterative Modelle

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009

Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Gliederung 1. Generative Programmierung 2. Möglichkeiten und Einsatzgebiet 3. Prozess / Tools 4. Zusammenfassung 19.03.2009 GENERATIVE PROGRAMMIERUNG

Mehr

FACHHOCHSCHULE MANNHEIM

FACHHOCHSCHULE MANNHEIM Objektorientierte Programmierung 1. Vorlesung Prof. Dr. Peter Knauber Email: P.Knauber@fh-mannheim.de FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Objektorientierung Was ist das? Warum

Mehr

ITIL und Entwicklungsmodelle: Die zwei Kulturen

ITIL und Entwicklungsmodelle: Die zwei Kulturen Kombination von IT Service Management (ITIL) und Anwendungsentwicklung Kai Witte und Matthias Kaulke, München, den 30.03.2006 Rahmeninformationen Wo sind wir? Unternehmensdarstellung (1) Unabhängiges Beratungsunternehmen

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

Prozessmanagement Modeerscheinung oder Notwendigkeit

Prozessmanagement Modeerscheinung oder Notwendigkeit 1 von5 Prozessmanagement Modeerscheinung oder Notwendigkeit Autor: Dr. Gerd Sonntag Beratender Ingenieur disocon (Unternehmensberatung Diekelmann & Sonntag) Das Thema Prozessmanagement wurde in einem kompakten

Mehr

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Herzlich willkommen Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Heike Bickert Software-/Systemingenieurin, Bereich Quality Management Braunschweig // 17.11.2015 1 Agenda ICS AG Fragestellungen

Mehr

Nutzen Sie das in Easy Turtle voll editierbare Modell der DIN EN ISO 9001:2008

Nutzen Sie das in Easy Turtle voll editierbare Modell der DIN EN ISO 9001:2008 Nutzen Sie das in Easy Turtle voll editierbare Modell der DIN EN ISO 9001:2008 Qualität ist keine Funktion Qualität ist ein Weg des Denkens. Qualität ist die Summe aller Tätigkeiten in einem Unternehmen.

Mehr

WollCo Wolfgang Kohl Consulting. Nachhaltige Projektumsetzung nicht nur in der Verantwortung von Geschäftsführen / Unternehmern

WollCo Wolfgang Kohl Consulting. Nachhaltige Projektumsetzung nicht nur in der Verantwortung von Geschäftsführen / Unternehmern Nachhaltige Projektumsetzung nicht nur in der Verantwortung von Geschäftsführen / Unternehmern Definitionen Ein Projekt ist ein einmaliges Vorhaben, das aus einem Satz von abgestimmten, gelenkten Tätigkeiten

Mehr

GPP Projekte gemeinsam zum Erfolg führen

GPP Projekte gemeinsam zum Erfolg führen GPP Projekte gemeinsam zum Erfolg führen IT-Sicherheit Schaffen Sie dauerhaft wirksame IT-Sicherheit nach zivilen oder militärischen Standards wie der ISO 27001, dem BSI Grundschutz oder der ZDv 54/100.

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch. Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,

Mehr

Functional Safety. Systems Engineering als Schlüsseldisziplin in Projekten mit funktionaler Sicherheit

Functional Safety. Systems Engineering als Schlüsseldisziplin in Projekten mit funktionaler Sicherheit Systems Engineering als Schlüsseldisziplin in Projekten mit funktionaler Sicherheit Mittelstraße 25/1 88471 Laupheim Fon: 07392-9393525 Fax: 07392-9393526 Mailto: tf@thomasfranzen.com Beispiele nicht sicherer

Mehr

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

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement Prof. Dr. H.-G. Gräbe, T. Riechert Institut für Informatik Sommersemester 2010 Allgemeine Bemerkungen Jedes Blatt ist mit

Mehr

WSR 2004. Softwarewartung und Prozessmodelle in Theorie und Praxis. Urs Kuhlmann Andreas Winter

WSR 2004. Softwarewartung und Prozessmodelle in Theorie und Praxis. Urs Kuhlmann Andreas Winter WSR 2004 Softwarewartung und Prozessmodelle in Theorie und Praxis Urs Kuhlmann Andreas Winter Universität Koblenz-Landau 1 Gliederung Wartungsbegriff Prozessmodelle Fallstudien Problembereiche Fazit 2

Mehr

Software-Entwicklungsprozesse zertifizieren

Software-Entwicklungsprozesse zertifizieren VDE-MedTech Tutorial Software-Entwicklungsprozesse zertifizieren Dipl.-Ing. Michael Bothe, MBA VDE Prüf- und Zertifizierungsinstitut GmbH BMT 2013 im Grazer Kongress 19.09.2013, 10:00-10:30 Uhr, Konferenzraum

Mehr

IKP Uni Bonn Medienpraxis EDV II Internet Projekt

IKP Uni Bonn Medienpraxis EDV II Internet Projekt IKP Uni Bonn Medienpraxis EDV II Internet Projekt WS 2001/2002 Dozentin: Lucie Prinz Grundlagen der Projektarbeit Was ist ein Projekt? Die Phasen eines Software Projektes Die Projektunterlagen Die Projektplanung

Mehr

Softwareanforderungsanalyse

Softwareanforderungsanalyse Softwareanforderungsanalyse Evolution von Anforderungen Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Wintersemester 2015/16 Evolution von Anforderungen Anforderungen

Mehr

ERP-Evaluation systematisch und sicher zum optimalen ERP-System

ERP-Evaluation systematisch und sicher zum optimalen ERP-System ERP-Evaluation systematisch und sicher zum optimalen ERP-System Risiken minimieren, Chancen nutzen durch ein strukturiertes Vorgehen basierend auf Anforderungen (Requirements Engineering) und Prozessoptimierung

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Microsoft SharePoint 2013 Designer

Microsoft SharePoint 2013 Designer Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste

Mehr

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013 Software Komponenten FS13 Gruppe 03 Horw, 16.04.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Estermann Michael

Mehr

BDI-Agenten für agile zielorientierte Geschäftsprozesse

BDI-Agenten für agile zielorientierte Geschäftsprozesse BDI-Agenten für agile zielorientierte Geschäftsprozesse Birgit Burmeister 3. Expertenforum Agenten in der Automatisierungstechnik Universität Stuttgart, 29./30. September 2008 Birgit Burmeister / GR/EPF

Mehr

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen 18 «Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen teilnimmt und teilhat.» 3Das Konzept der Funktionalen

Mehr

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

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 Was bedeutet es, ein Redaktionssystem einzuführen? Vorgehensmodell für die Einführung eines Redaktionssystems Die Bedeutung Fast alle Arbeitsabläufe in der Abteilung werden sich verändern Die inhaltliche

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5 Das Management von Informations- Systemen im Wandel Die Informations-Technologie (IT) war lange Zeit ausschließlich ein Hilfsmittel, um Arbeitsabläufe zu vereinfachen und Personal einzusparen. Sie hat

Mehr