Вы находитесь на странице: 1из 31

Applied Software Engineering

Praktische Software Technik

Basics
Prof. Dr. Bernd Hindel
Dr. Martin Geier
Dr. Jens Schedel
Schedule

Date Topic Lecturer


1 16.10.2019 Basics & Agile Development Dr. Schedel
2 23.10.2019 Process Models Prof. Hindel
3 30.10.2019 Requirements Engineering Dr. Schedel
4 06.11.2019 System Analysis 1 Dr. Schedel
5 13.11.2019 System Analysis 2 Dr. Schedel
6 20.11.2019 System Analysis 3 Dr. Schedel
7 27.11.2019 Project Management Prof. Hindel
8 04.12.2019 Product Quality Prof. Hindel
9 11.12.2019 Verification & Validation Prof. Hindel
10 08.01.2019 System Analysis Case Study Dr. Schedel
11 15.01.2019 System Design 1 Dr. Schedel
12 22.01.2019 System Design 2 Dr. Schedel
13 29.01.2019 Coding & Tools & Configuration Management Dr. Schedel
14 05.02.2019 Preparation for Exam Prof. Hindel

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 2
Impact of Software

Why is Software Engineering essential?

… Software is part of our everyday life


… Software Applications are needed for huge Systems
… Software Applications are needed for reliable Systems

Examples for huge Software Systems and their impact:

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 3
Impact of Software

Car Factory of General Motors, Michigan, 1985


All black colored cars left the assembly lane without a windscreen.
The robot did not recognize the color black.

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 4
Impact of Software
Grundbegriffe

In the 1990ies the switching system of AT&T consists of


one main hub in New Jersey and 114 local hubs

● 15th January 1990


70 Million out of 138 Million long distance calls
inside USA could not be handled for about 9 hours.

● Damage
about $ 75 Million at AT&T (disregarding damage of image)
about $ 100 Million at phone customers
(travel agencies, taxi companies, stock exchange, …)

● Route Cause
the “break”-statement of “C” was used in a wrong way

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 5
Impact of Software
Grundbegriffe

Denver Airport, 1989-1995:

● Delay of the opening of the Denver Airport due to


problems of the baggage transportation system

● October 1993: scheduled opening


● April 1994: second try
● August 1994: decision for an alternative system
● March 1995: first official opening system shutdown after two days
● October 1995: reopening
● November 1996: still some problems with luggage

● total cost: $ 5.200 Mio. The original budget was $ 2.000 Mio.

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 6
Impact of Software
Grundbegriffe

Toll Collect

● Delayed start

● “23.06.2014 : The German Government


demands seven Billion Euro from Toll
Collect as a compensation for the 16
months delay in starting the toll system“ …

● “23.06.2014 - Der Bund fordert wegen des


um 16 Monate verzögerten Starts der
Mauterhebung sieben Milliarden Euro
Schadensersatz von Toll Collect” …

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 7
Impact of Software
Grundbegriffe

Ariane 5

4. Juni 1996, Kourou / Frz. Guyana, ESA:

● Ariane maiden flight


● first lift off
● weight: 740 t
● Carrying capacity 7-18 t (4 Satellites)
● Damage:
● DM 250 Million starting costs
● DM 850 Million destroyed Satellites
● DM 600 Million for reconstruction
● No earnings for about 3 years

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 8
Impact of Software

Section of the ADA-code: navigational system, Ariane 5 software



declare
vertical_veloc_sensor: float;
horizontal_veloc_sensor: float;
vertical_veloc_bias: integer;
horizontal_veloc_bias: integer;

begin
declare
pragma suppress(numeric_error, horizontal_veloc_bias);
begin
sensor_get(vertical_veloc_sensor);
sensor_get(horizontal_veloc_sensor);
vertical_veloc_bias := integer(vertical_veloc_sensor);
horizontal_veloc_bias := integer(horizontal_veloc_sensor);

exception
when numeric_error => calculate_vertical_veloc();
when others => use_irs1();
end;
end irs2; ● Part of code re-used from the
Ariane 4 Software
● No diversity in SW-Development
● Ineffective / insufficient testing?
● No adequate fault tolerance mechanisms
● ...

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 9
Statistics of „large scale“ SW Projects

● The Standish Group (Chaos-Report)


● 23% of all projects are aborted
● 49% of all projects run up to 184% of the original planning
● only 28% of all projects are in time & budget as planned

● Influence on failure:
● Incomplete / imprecise requirements 13,1%
● Insufficient involvement of stakeholders 12,4%
● Insufficient resources 10,6%
● Unrealistic expectations 9,9%
● Insufficient support of management 9,3%
● Moving target / changing requirements / specs 8,7%
● Inadequate planning 8,1%
● Necessity of product expired during development 7,5%
● Inadequate IT management 6,2%
● Insufficient knowledge of technology 4,3%
● …

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 10
Why Projects Fail…

Fact is: there will be issues!


The way you deal with them matters!

Customer Technology

Project

Project Member Requirements


(internal+external)

Processes

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 11
Cost of Failure in Software Projects

● Cost grows exponentially over project time

● On average, a technical mistake in a requirement specification amounts to


(in orders of magnitude)
● 1 person day, if fixed in the requirements analysis phase,
● 10 person days, if fixed during design phase,
● 100 person days, if fixed during coding/testing phase, and
● Some orders of magnitude higher (not really calculable),
if fixed during run-time. (e.g. product call-back)
(source: Boehm, 1994)

● Additional follow-up cost is not even included, like:


● Delays in schedule and the resulting cost
● Damage to image of software producer, weakened market position
● ...

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 12
Cost of Failure in Software Projects

Cost of fixing a single(!) major software bug


Source: German automotive supplier, data of the year 2000

€ 50.000 € 6.500.000

€ 45.000

€ 40.000

€ 35.000

€ 30.000

€ 25.000

€ 20.000

€ 15.000
€ 8.400
€ 10.000
€ 2.460
€ 5.000 € 160 € 300 € 960
€ 480

€0
SW-Pflichtenheft- SW-Design- Code-Review Debugging Test (Ziel-HW, Freigabetest Serie
Review Review (Emulator, EAD) EVD) (EVD, Kunde)

Phase of bug discovery


Entdeckungszeitpunkt

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 13
Basics & Process Models

Basics
● Processes and Projects
● Process Parameters
● Solution Principles and History

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 14
Definition: Activity Oriented Process

● Process is defined as a hierarchy of activities.


● The activities take input data (e.g. documents) and create output data
(e.g. code, documents)
Goals

Activity

Input Activity Output


Data Data
Activity
Activity
Activity

Resources
Infrastructure

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 15
Example: Software Development Process

Project Goals

Implementation
Design
Stakeholder Software-
Requirements Test System
Requirements
Analysis Technical
Solution

Resources
Infrastructure

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 16
Definition: Document Oriented Process

● Process is defined as a hierarchy of (partial) results –


so called “artifacts” (e.g. documents, code files, etc.)
● The artifacts have interdependencies, e.g. “based on”
● This induces an order of creation of the artifacts
Goals

Artifact

Artifact List Artifact Artifacts


Dependency Graph
Artifact
Artifact
Artifact

Resources
Infrastructure
Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 17
Example: Software Development Process

Project Goals

Source Code
Specification
Stakeholder Software-
Requirements Test Protocol System
Requirements
Documents Technical
Documents

Resources
Infrastructure

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 18
Definition: Project

A Project is an endeavor …

● that is limited in time by a defined


start- and end date
● that is characterized by its unique
context and conditions such as
● Project goals
● Project scope
● Project resources and members
… and their experience/expertise

● usually a Project follows or conducts Activities which are


predefined by a Process

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 19
Definition: Process

A Process consists of one or more Workflows or Activities

● a typical example for a Process is


“Project Planning” or “Project Controlling”
● usually Processes are combined into Process Areas
i.e. “Project Management”

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 20
Basics & Process Models

Basics
● Processes and Projects
● Process Parameters
● Solution Principles and History

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 21
Process Parameters

● … are the ingredients for Process Definition


● Software development processes are described using

Phases Roles
Responsibilities

Software
Development

Activities
Practices
Artifacts
Methods
Tools

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 22
Phases

● Phases represent the internal clock of a project


● A phase model comprises
● Phase definition / delineation
● Dependencies among phase

● Phases (or phase-cycles) may be repeated


as defined in the phase model

Analysis Test
Analysis Test

Analysis Test
Design

Design

Design
Implementation

Implementation

Implementation

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 23
Roles and Responsibilities

● Roles are defined by


● A set of responsibilities
● A set of qualifications

● Examples of Roles
● Project Manager
● Software Engineer

● Examples of Responsibilities
● Author
● Approver

● Examples of Qualification
● Programming language experience
● Project management certification

● A Project maps Roles to Resources


● N:M mapping

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 24
Artifacts

● Physical results produced during in the project


● Hierarchical composition → parts, i.e. partial results
are also artifacts
● Examples of artifacts
● Project Plan
● Design Specification
● Source Code
● Test Protocol

● Artifacts are characterized using


● Templates
● Examples
● Checklists

● Artifacts typically are associated to at least two Roles


● Author
● Approver

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 25
Activities, Practices, Methods and Tools

● An Activity describes single work elements using a


sequence of steps activity
● Example: Check project plan
● Example: Create module design

● A Method describes the principles of work


● Example: Object oriented design
● Example: Deep review

● A Practice describes, how the work should be performed


● Example: Use design patterns
● Example: Use checklists

● A Tool helps in performing the work


● Example: Use Papyrus
● Example: Use Excel

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 26
Process Definition

… by relationships of process parameters

Phases Roles Methods

p1 p2 p3 r1 r2 r3 m1 m2 m3
a1 # a1 # a1 # #
Artifacts # #
a2 a2 # a2 #
a3 # # a3 # a3 #

supports

Revision

Approver
Creation
Author

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 27
Process Definition

A Document Plan
… shows what, when, who and how
Documents Phases Roles Methods

Object- and Module Diagrams


Entity-Relat ionship-Diagrams
Configuration Management
Milestone Trend Analysis
Configuration Manager

Change Management

Review Technique
Sequence Chart s
Change Manager

System Designer

Software Metrics
Quality Manager

Project Manager

State Machines
Implementation

System Tester

Test Methods
Pseudo Code

Structograms
Maintenance

Flow Charts
Developer
Analysis
Design

Test
User Guide # # #
Feasibility Study # # # #
Programming Guidelines # # #
Project Plan # # # # # # #
Source Code # # # # # # #
Release Note # # # # # # # # #
Component Design # # # # # # # # # # # # #
Requirements Specification # # # # # #
System Design # # # # # # # # # #
Test Case Specification Component # # # # # # # # # # # # # #
Test Case Specification Module # # # # # # # # # # # # # #
Test Case Specification System # # # # # # # # # # # # #
Test Plan # # # # # # #
Test Log Component # # # # # #
Test Log Module # # # # # #

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 28
Why Processes?

● NEVER underestimate the diversification of methods in a group of


people (n > 1)!

● Re-invention of the wheel in each project is useless


● Collect experience, improve work patterns
● Do the right thing at the right time with the right people
● Templates for day-to-day work

● Assess the projects


● Discover issues early
● Transparency of time, budget, quality

● Necessary foundation for


● Project Planning
● Improvement of organization

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 29
Basics & Process Models

Basics
● Processes and Projects
● Workflows and Activities
● Solution Principles and History

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 30
Solution Principles

● „Divide et Impera“: Divide and Conquer


● Divide up big $something into smaller $somethings
● → Hierarchies of $somethings
● Needs a description of re-assembly → “Integration”
● Scalability!

● Simulation
● Understand reality using models
● Models are abstractions
● „All models are wrong, but some are useful“ – George Box
● Experimenting with the model to learn about the world
● Build up powerful terminology: „Domain Concepts“
● Domain Concepts have nothing to do with bits & bytes!

Prof. Dr. Bernd Hindel, Dr. Martin Geier, Dr. Jens Schedel: PSWT - WS 2019/20 - Basics 31

Вам также может понравиться