Kap 1
Einführung
Software-Engineering Zielsetzung Allg. Informationen Definition of “Engineering” SW-Engineering ist...Was ist Software Engineering Prinzipien – Methoden
Prinzipien der Software Entwicklung Methoden der Implementierung Aufwandsverteilung
Aufwand für Fehlerbehebung Erfolg von Software Projekten Symptome für Entwicklungsprobleme Gründe für Entwicklungsprobleme Bullseye Figure for Project Variables Basic SWE Activities
The Four “P's” of SWE 4P's: 1. People
4P's: 2. Process 4P's: 3. Project 4P's: 4. Product
Qualität – Kosten – Zeit Funktionserfüllung Effizienz
Zuverlässigkeit Qualitätsattribute
Methoden zur Qualitätssicherung Übungsprojekt Encounter
Setting Property Values Engage Foreign Character
Framework / Application Dependency Decide Initial Team Issues
One Way to... Set Team Expectations
One Way to... Specify How the Team Will Communicate
Kap 2
Prozess (1)
Process
Chapter Learning Goals Some Application Types Typical Project Roadmap Was man erwarten darf Entwicklungsprozess
Activities, Artifacts and Workers Artifacts and Roles
Example of a Workflow: Requirements Phasenmodelle
Milestones XP – Grundideen Praktiken
USDP vs. Classical Terminology The Six USDP Models
Kap 3
Prozess (2)
Process (II): Documentation Chapter Learning Goals Documentation
Project Documentation Dokument-Abkürzungen
One Way to... Identify your Documentation Needs QA Involvement
Costs per 100 LOC
Hours Per Defect: estimate Reviews and Audits Review Types Review Activities What to Review Personal Dynamics
Team Review Process and Culture Review Regularity and Duration Reviews in a Project Lifecycle Review Examples
One Way to... Prepare For & Conduct Inspections
IEEE 730-1989 SW QA Plan TOC
Meaning of “V&V”
IEEE 1012-1986 SW V&V Plan TOC
One Way to... Produce a Quality Product Hyperlinked Documentation Set
Configuration Items (CI's) Cfg.Mgmt Requirements
IEEE 828-1990 SCMP TOC
One Way to... Plan Configuration Management Testing in the Development Process
The Test Plan
Kap 4
Prozess (3) Projekt (1)
Process (III)
Chapter Learning Goals PSP, TSP and CMM PSP-Evolution Take your PSP Pulse TSP Objectives 1 How to Manage Teams Involving Teams TSP Objectives 2 Process Control 1. Initial 2. Repeatable 3. Defined 4. Managed 5. Optimized Relating PSP, TSP & CMM Project Management (I) Chapter Learning Goals Proj.Mgmt Variables Project Variables Bull's Eye Proj.Mgmt Road Map Professionalism
One Way to... Plan and Execute Meetings Optimal Interaction
The Magical Number 7
Organisationsentwicklung (OE) Options of the Structure Menschenbild
Roles & Personal Growth One Way to... Organize a Team Risk Management
Risiken identifizieren Risk Sources by Importance Risk Management Mindset Risiken analysieren
One Way to... Compute Risk Priorities
Kap 5
SW Project Mgmt (2)
Project Management (II) Chapter Learning Goals
Task Chart with Fixed Delivery Date Some Dangerous Iteration Patterns One Way to... Create an Initial Schedule Level Labor Allocation
Range of Errors in Estimating Costs Typical Cost Estimation Roadmap Einfachste Schätztechnik
Schätzen nach der 3-Punkt Methode Das Schätzpunkt-Verfahren
Essensschritt Verfahren Die FunctionPoint-Methode
Computation of Adjusted Functional Points Basic COCOMO Formulae
Meaning of the COCOMO Formulas Computing COCOMO Case Study Models
One Way to... Estimate Cost and Duration Very Early Summary
SPMP TOC
Five Process Metric Examples
Kap 6
Requirements Analysis I
Requirements Analysis(I) Chapter Learning Goals Requirement Types Lastenheft vs. Pflichtenheft Das Lastenheft Das Pflichtenheft C- vs. D-Requirements C- vs. D-Requirements – Beispiel C-Requirements vs. D-Requirements Each requirement must be...
Road Map for C-Requirements
IEEE 830-1993 SRS TOC
Zum Vergleich: Gliederung eines Lastenhefts Requirements with Story Cards (XP)
Sources of Requirements Know Your Users
One Way to... Handle Interviews Requirements nach USDP USDP Domain Model USDP Buisness Model
UseCase Model: Entwicklungsstufen Why do we model?
Why do we model visually? Analyse-Modell entwickeln 1) Buisness Process Modelling 2) Finding actors and use cases 3a) Finding the actors
3b) Finding the use cases 4) Refine the UseCase Model
One Way to... Express Customer Requirements Prototype
Horizontal vs. Vertikal Prototype Prototype Payoff
Kap 7
Buisness Model (ext., UseCases)
Buisness Model Externe Sicht Kontext-Diagram Buisnes UseCases AkteureElemente der externen Sicht Entwicklungsgeschichte der UML Weiterentwicklung der UML UML 2.0
What is the UML? ...and what it's not UML is not a process UseCase Modelling UseCases
Elements of a UseCase Where do UseCases fit Why use UseCases UseCase Advantages Benefits Using UseCases UseCase Beschreibung UseCase Example UseCase Diagram
Primäre UseCases identifizieren
SRS Table of Contents Einbindung der UseCases
UseCase Checklist
When UseCases are not the Best Choice Exercises
Übungsprojekt Encounter
UseCase-Modell für Encounter entwickeln 1) Buisness Process Modelling
2) Finding actors and use cases 3a) Finding the actors
3b) Finding the use cases
Kap 8
Buisness Model (ext., Activity)
Orientierung Activity Diagram
Basic Elements of an Activity Diagram Modellieren eines Geschäftsprozesses Start- und Endpunkte
Entscheidungen Partitions
Elements of an Acivity Diagram Parallele Abläufe
Mehrere Rollen / Threads Action-Objekte
Verfeinernde Zerlegung Dataflow
Structured Analysis (SA) SA Konzepte DFD 0 DFD 1, DFD2, ... DFD1.1, ... Data Dictionary Pspec Vorgehen SA UML 2: DataStore ... & Dataflow-Diagram (DFD) When to Use
When NOT to Use Exercises
Sequence Diagram
Elements of a Sequence Diagram Advanced Elements Guidelines More Guidelines Messages UseCase Invocations Return Values When to Use When NOT to Use
Sequence Diagram in UML 2.0 Interaction
Lifeline Fragment
When NOT to Use Exercise
Kap 9
Buisnes Model (int)
Buisnes Model: Interne Sicht Interne Sicht
Packages
UML 2: Package Stereotypen Tipps
Checkliste für Packetdiagramme Interne Sicht An UML 1.x Package Diagram
When to Use
Geschäftsklassen-Diagramme Stereotypen für Geschäftsklassen Geschäftsklassen-Modell
Erstellen von Geschäftsklassen-Diagrammen Geschäftsklassen: ein Beispiel
Abschluss Buisness Model
Kap 10 Elaboration – Analysemodell
Elaboration (Entwurfsphase) Ergebnisse der Elaboration Aktivitäten der Elaboration Modelle
Concurrent Development of Requirements and Architecture Das Analysemodell
Anforderungsmodell & Analysemodell Analysis Class Stereotypes
UML Stereotypen für Analysemodelle Boundary Classes
Types of Boundary Classes Controll Classes
Endity Classes Klassendiagramme
Finden geeigneter Klassen und Objekte Finding Classes
Boundary: Find User-Interface Classes Boundary: Find System-Interface Classes Boundary: Find Device-Interface Classes Finding Control Classes
Finding Endity Classes
Zusammenhang UseCase – Analyse-Klassen Geldautomat: AnalyseModell
Assoziationen
Assoziationen: benutzt-Beziehung Kardinalität von Assoziationen
Kap 11 Requirements-Analyse II D-Spec
Problembereichsanalyse – Grobdesign Requirements Analysis
Chapter Learning Goals Requirement Types Das Pflichtenheft C- vs. D-Requirements
C- vs. D-Requirements – Beispiel Types of Requirements
Ways of Organizing Detailed Requirements SRS Chap. 3 Organisation (OO Style) SRS Chap. 3 Organisation (Functional Style) Road Map for D-Requirements
Detailed Roadmap
One Way to... Write a Detailed Requirement
IEEE 830-1994 SRS Einbindung der D-Requirements
Desired Properties of Requirements Tracing Requirements
Requirements Traceability Matrix
Tracing and Testing of Functional D-Requirements Functional vs Non-Functional Requirements Testability
Ambiguity
Priorizing D-Requirements Consitency
Link form Source to Requirement
Updating the Project on Completing D-Requirements Tracking Requirements
Summary of This Chapter
Kap 12 Architektur (allgemein)
Architektur & Design Architecture
Architecture describes
Example: Windows NT Architecture Terms: RUP vs IEEE
RUP-Workflow: Analysis & Design Iterating Requirements and Design Abstraction
Aufgaben des Arcitekturentwurfs
IEEE 1016 Software Design Document SDD TOC
Architecture Concerns Some Design Goals
Architectural Design Patterns Software Designs
Frameworks
One Way to... Obtain the ClassModel Architekturstile
Architecture Viewtypes Viewtypes and Styles
Kap 13 Architektur – Components
Components & Connectors Component Qualities Component Benefits
Traditional Impact of Change Component-Based Development Impact of Charge with CBD C&C View: Architectural Styles Stile der C&C View
UML 2.0: Component (Basic Concept) UML 2.0: Component Notation
UML 2.0: Component White Box view UML 2.0: Port & Interface
Service Perspective Component Specification
Abhängigkeiten zwischen Kompnenten “Verdrahtung” von Kompnenten Connectors – Issues
Connection Styles Pull / Push Example Connector Technology Automation Boundary
C&C View: Process structure in UML 2.0
Kap 14 Architektur – Modules
Component vs Module
Component & Connectors View -> Behavior Module View => Structure
Modularisierung Stile der Module View Coupling & Cohesion Coupling
Cohesion
Coupling – Cohesion Minimalität der Schnittstelle Testbarkeit
Packages and corresbonding Class Relationships Avoid cycles in Package Dependencies!
How to avoid cycles in Package Dependencies Modularisierung – Nutzen
Module – Layers – Components Layered Architecture
Module View: Vertical Layers -> use-relationship Segmented Layers (Horizontal Partitions) No Layers!
Layer Relations Tiers
Layers in UML
Kap 15 Schnittstellen
Interface Types
Operational Interface: Control- and Data-flow Interface in UML class diagrams
UML 2.0: Interface
A Component with Operational Interfaces Operational Interfaces...
Operational Interface Specification
Operational Interfaces: Pre- and Postconditions Stream- and Signal-Interface Specification A typical UML Architecture Model
Exercise
Interface Design
Coupling and Collaboration Some definitions
A strategy for decoupling Singleton: Introduction Singleton
Singleton: Implementation in Java Interface without decoupling
Decoupling with a Subsystem Facade Facade Design Pattern Structure Facade Implementation
How to Instantiate Objects Inside? The Composite Pattern
Abstract Interface Consequences...
Inverted Association / Call-back Inverted Association: a solution pattern Inverted Association: Registration & Update Inverted Association: Solution
Observer Pattern
Observer Pattern: attach a new observer Observer Pattern: notify observers Observer Pattern: more abstract Übung: Java Ballon