SlideShare ist ein Scribd-Unternehmen logo
1 von 36
SoftwareTechnik
Christian Baranowski
HTWG Konstanz
Teil1:Wiederholung Anforderungsanalyse und
Systementwurf
Teil II: Umsetzung und Coding
Build Prozesse und Configuration Management
Wiederholung
Anforderungsanalyse und
Spezifikation
Requirement Analysis
Testing
System Design
Coding
Delivery
Wasserfallmodell
Anforderungstypen
Funktionale
Anforderungen nicht
Funktionale
Anforderungen
Testbarkeit
Performanz
Sicherheit
Änderbarkeit
Verfügbarkeit
Anwendungsfälle
Geschäftsprozesse
Architekturziele
Bedienbarkeit
Qualitätsmerkmale
ISO9126
Quelle: Dr. Peter Hruschka & Dr. Gernot Starke - ARC42.de
Prozess zur Anforderungserfassung
1. Oberfläche skizzieren z.B. Methode Wireframes in einem
Workshop mit dem Kunden
2. Iterativ ein Klick-Modell erstellen z.B. mit HTML und
JavaScript
3. Fachliche Komponenten aus dem Klick-Modell identifizieren
4. Use-Cases und Geschäftsmodell aus dem Klick-Modell
ableiten für die einzelnen fachlichen Komponenten
5. Spezifikation erstellen
Anwendungsfälle erfassen mit
UML
Use-Case als zentrales Analyseelement
Use-Case
Testbarkeit
Performanz
Sicherheit
Änderbarkeit
Verfügbarkeit
Bedienbarkeit
Architekturziele
UI Anforderungen
UI Design
Business Regeln
Daten Format
...
Fachmodell /
Geschäftsmodell
Wiederholung Systementwurf
und Software Architekturen
Requirement Analysis
Testing
System Design
Coding
Delivery
Wasserfallmodell
Architektursichten
Kontextsichten
Verteilungssichten
Bausteinsicht
Laufzeitsichten
Architekturprinzipien
• Schichten einer Applikation
Jede Schicht (Tier) ist für eine Aufgabe
zuständig. In einer Anwendung fallen
i.d.R. die folgenden Kernaufgaben an:
• Darstellen von Daten
• Verarbeitung der Benutzereingaben
(Interaktionen)
• Verarbeitung Geschäftslogik
• Speichern von Daten
ENTITIES VALUE OBJECT SERVICES
REPOSITORIES FACTORIES
Domain Driven Design
Domain Driven Design
•Erstellen Sie ein Domain Modell für Ihre Aufgaben-
Verwaltung. Nutzen Sie dazu die Methode Domain
Driven Design.
Übungen I
UML Sequenzdiagramme
UML Nachrichten und
Operationen
UML Nachrichten und
Rückgabewerte
UML Erstellen und Löschen
Participants
UML Schleifen
•Erstellen Sie für das Speichern einer Aufgabe ein
Sequenzdiagramme.
Übungen II
UML Deployment Diagramme
UML Deployment Diagramme
UML Komponenten Diagramm
UML Komponenten Komposition
Trennung fachliche und technischer
Architektur
• T – Komponenten
• Stellen eine technische Schnittstelle bereit.
• A – Komponenten
• Domain Komponenten z.B. Bestellung Service.
• R – Komponenten
• Komponenten für die Präsentation dürfen technische Komponenten nutzen und auf die A
Komponenten zugreifen.
• 0 – Komponenten
• Komponenten die in der gesamten Anwendung genutzt werden dürfen. Z.B. Logger
Komponente.
• R auf A ist erlaubt,T auf A ist nicht erlaubt
• R auf 0,A auf 0 undT auf 0 ist erlaubt
A – Komponenten
T – Komponenten
R – Komponenten
Zusammenfassung Design
Kontextsichten
Verteilungssichten
Bausteinsicht
Laufzeitsichten
Umsetzung und Coding
Requirement Analysis
Testing
System Design
Coding
Delivery
Wasserfallmodell
Umsetzung und Coding
Build Prozesse und Configuration Management
Build Prozess / Erstellungsprozess
„Build Prozess - bezeichnet in der Programmierung
einen Vorgang, durch den ein fertiges
Anwendungsprogramm automatisch erzeugt wird.“
- Wikipedia
Build-Prozess
WelcheVorteile bietet ein automatisierter
Build-Prozess?
Allgemeiner Build-Prozess
compile
generate code
compile tests
run tests
package
generate reports
clean
Apache ANT
•Erstellen Sie einen Projektrahmen (Verzeichnisse
für Java undTest Sourcen...) und eine ANT Build
Konfiguration mit der Ihr Projekt nach dem
allgemeinen Build Prozess gebaut werden kann.
Übungen III

Weitere ähnliche Inhalte

Was ist angesagt?

ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...Aberla
 
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertRequirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertGFU Cyrus AG
 
microTOOL - IREB Lehrplan
microTOOL - IREB LehrplanmicroTOOL - IREB Lehrplan
microTOOL - IREB LehrplanmicroTOOL GmbH
 
Creasoft Akademie - Diszipliniertes Anforderungsmanagement in agilen Projekten
Creasoft Akademie - Diszipliniertes Anforderungsmanagement in agilen ProjektenCreasoft Akademie - Diszipliniertes Anforderungsmanagement in agilen Projekten
Creasoft Akademie - Diszipliniertes Anforderungsmanagement in agilen ProjektenCreasoft AG
 
XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0thoemmes
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungEduard Hildebrandt
 
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...Ergosign GmbH
 

Was ist angesagt? (7)

ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
 
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertRequirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
 
microTOOL - IREB Lehrplan
microTOOL - IREB LehrplanmicroTOOL - IREB Lehrplan
microTOOL - IREB Lehrplan
 
Creasoft Akademie - Diszipliniertes Anforderungsmanagement in agilen Projekten
Creasoft Akademie - Diszipliniertes Anforderungsmanagement in agilen ProjektenCreasoft Akademie - Diszipliniertes Anforderungsmanagement in agilen Projekten
Creasoft Akademie - Diszipliniertes Anforderungsmanagement in agilen Projekten
 
XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
 
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
 

Ähnlich wie Wiederholung Systementwurf - Einführung Build Prozesse

Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungChristian Baranowski
 
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...Peter Schrey
 
20150923 ausführbare spezifikation_automotiveforum
20150923 ausführbare spezifikation_automotiveforum20150923 ausführbare spezifikation_automotiveforum
20150923 ausführbare spezifikation_automotiveforumElmar Selbach
 
DWX 2014 - Testmanagement mit Visual Studio 2013
DWX 2014 - Testmanagement mit Visual Studio 2013DWX 2014 - Testmanagement mit Visual Studio 2013
DWX 2014 - Testmanagement mit Visual Studio 2013Nico Orschel
 
PLM Open Hours - Durchgängige Produktstrukturen als zentrales Element der Dig...
PLM Open Hours - Durchgängige Produktstrukturen als zentrales Element der Dig...PLM Open Hours - Durchgängige Produktstrukturen als zentrales Element der Dig...
PLM Open Hours - Durchgängige Produktstrukturen als zentrales Element der Dig...Intelliact AG
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2
Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2
Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2Digicomp Academy AG
 
Siegfried Klug (automationX)
Siegfried Klug (automationX)Siegfried Klug (automationX)
Siegfried Klug (automationX)Praxistage
 
Python in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtPython in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtAndreas Schreiber
 
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...camunda services GmbH
 
Technologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungTechnologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungFalk Hartmann
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Jürg Stuker
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-CodequalitätFotiosKaramitsos
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsAndreas Schreiber
 
20110505 doag bpm_workshop_2
20110505 doag bpm_workshop_220110505 doag bpm_workshop_2
20110505 doag bpm_workshop_2Jens Hündling
 
[DE] Itris Automation - Unternehmenspräsentation
[DE] Itris Automation - Unternehmenspräsentation[DE] Itris Automation - Unternehmenspräsentation
[DE] Itris Automation - UnternehmenspräsentationItris Automation Square
 
DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes QAware GmbH
 

Ähnlich wie Wiederholung Systementwurf - Einführung Build Prozesse (20)

Build Prozesse und Java Servlets
Build Prozesse und Java ServletsBuild Prozesse und Java Servlets
Build Prozesse und Java Servlets
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software Entwicklung
 
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
 
20150923 ausführbare spezifikation_automotiveforum
20150923 ausführbare spezifikation_automotiveforum20150923 ausführbare spezifikation_automotiveforum
20150923 ausführbare spezifikation_automotiveforum
 
DWX 2014 - Testmanagement mit Visual Studio 2013
DWX 2014 - Testmanagement mit Visual Studio 2013DWX 2014 - Testmanagement mit Visual Studio 2013
DWX 2014 - Testmanagement mit Visual Studio 2013
 
PLM Open Hours - Durchgängige Produktstrukturen als zentrales Element der Dig...
PLM Open Hours - Durchgängige Produktstrukturen als zentrales Element der Dig...PLM Open Hours - Durchgängige Produktstrukturen als zentrales Element der Dig...
PLM Open Hours - Durchgängige Produktstrukturen als zentrales Element der Dig...
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2
Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2
Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2
 
Siegfried Klug (automationX)
Siegfried Klug (automationX)Siegfried Klug (automationX)
Siegfried Klug (automationX)
 
Python in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtPython in der Luft- und Raumfahrt
Python in der Luft- und Raumfahrt
 
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
 
Technologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungTechnologieraum übergreifende Programmierung
Technologieraum übergreifende Programmierung
 
Präsentation RUP
Präsentation RUPPräsentation RUP
Präsentation RUP
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 
20110505 doag bpm_workshop_2
20110505 doag bpm_workshop_220110505 doag bpm_workshop_2
20110505 doag bpm_workshop_2
 
[DE] Itris Automation - Unternehmenspräsentation
[DE] Itris Automation - Unternehmenspräsentation[DE] Itris Automation - Unternehmenspräsentation
[DE] Itris Automation - Unternehmenspräsentation
 
DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes
 

Mehr von Christian Baranowski

Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Christian Baranowski
 
OSGi and Spring Data for simple (Web) Application Development
OSGi and Spring Data  for simple (Web) Application DevelopmentOSGi and Spring Data  for simple (Web) Application Development
OSGi and Spring Data for simple (Web) Application DevelopmentChristian Baranowski
 
BDD - Behavior Driven Development Webapps mit Groovy Spock und Geb
BDD - Behavior Driven Development Webapps mit Groovy Spock und GebBDD - Behavior Driven Development Webapps mit Groovy Spock und Geb
BDD - Behavior Driven Development Webapps mit Groovy Spock und GebChristian Baranowski
 
Komponententests und Testabdeckung
Komponententests und TestabdeckungKomponententests und Testabdeckung
Komponententests und TestabdeckungChristian Baranowski
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungChristian Baranowski
 
Software Testing und Qualitätssicherung
Software Testing und QualitätssicherungSoftware Testing und Qualitätssicherung
Software Testing und QualitätssicherungChristian Baranowski
 
Einführung Software Testing und Qualitätssicherung
Einführung Software Testing und QualitätssicherungEinführung Software Testing und Qualitätssicherung
Einführung Software Testing und QualitätssicherungChristian Baranowski
 
Datenbankzugriff mit der Java Persistence Api
Datenbankzugriff mit der Java Persistence ApiDatenbankzugriff mit der Java Persistence Api
Datenbankzugriff mit der Java Persistence ApiChristian Baranowski
 

Mehr von Christian Baranowski (20)

Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
 
OSGi and Spring Data for simple (Web) Application Development
OSGi and Spring Data  for simple (Web) Application DevelopmentOSGi and Spring Data  for simple (Web) Application Development
OSGi and Spring Data for simple (Web) Application Development
 
BDD - Behavior Driven Development Webapps mit Groovy Spock und Geb
BDD - Behavior Driven Development Webapps mit Groovy Spock und GebBDD - Behavior Driven Development Webapps mit Groovy Spock und Geb
BDD - Behavior Driven Development Webapps mit Groovy Spock und Geb
 
Komponententests und Testabdeckung
Komponententests und TestabdeckungKomponententests und Testabdeckung
Komponententests und Testabdeckung
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-Qualitätssicherung
 
OSGi Web Development in Action
OSGi Web Development in ActionOSGi Web Development in Action
OSGi Web Development in Action
 
Spock and Geb in Action
Spock and Geb in ActionSpock and Geb in Action
Spock and Geb in Action
 
Continuous Delivery in Action
Continuous Delivery in ActionContinuous Delivery in Action
Continuous Delivery in Action
 
Gradle and Continuous Delivery
Gradle and Continuous DeliveryGradle and Continuous Delivery
Gradle and Continuous Delivery
 
Spock and Geb
Spock and GebSpock and Geb
Spock and Geb
 
Semantic Versioning
Semantic VersioningSemantic Versioning
Semantic Versioning
 
OSGi Community Updates 2012
OSGi Community Updates 2012OSGi Community Updates 2012
OSGi Community Updates 2012
 
OSGi Mars World in Action
OSGi Mars World in ActionOSGi Mars World in Action
OSGi Mars World in Action
 
Warum OSGi?
Warum OSGi?Warum OSGi?
Warum OSGi?
 
Top10- Software Engineering Books
Top10- Software Engineering BooksTop10- Software Engineering Books
Top10- Software Engineering Books
 
Domain Driven Design - 10min
Domain Driven Design - 10minDomain Driven Design - 10min
Domain Driven Design - 10min
 
SDC - Einführung in Scala
SDC - Einführung in ScalaSDC - Einführung in Scala
SDC - Einführung in Scala
 
Software Testing und Qualitätssicherung
Software Testing und QualitätssicherungSoftware Testing und Qualitätssicherung
Software Testing und Qualitätssicherung
 
Einführung Software Testing und Qualitätssicherung
Einführung Software Testing und QualitätssicherungEinführung Software Testing und Qualitätssicherung
Einführung Software Testing und Qualitätssicherung
 
Datenbankzugriff mit der Java Persistence Api
Datenbankzugriff mit der Java Persistence ApiDatenbankzugriff mit der Java Persistence Api
Datenbankzugriff mit der Java Persistence Api
 

Wiederholung Systementwurf - Einführung Build Prozesse