• Keine Ergebnisse gefunden

2. Software Development Process

N/A
N/A
Protected

Academic year: 2022

Aktie "2. Software Development Process"

Copied!
23
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

2. Software Development Process

2.1 Project, Process, and Process Models

– Project: Single use; Process: Permanent, i.e., individual projects have limited lifetimes, the process is ideally continuous.

– Target: Semiotic description of mental processes

• Less complicated: Syntactic and semantic parts

• Problematic: Bridging the pragmatic gap in the system development and the process execution

– Early Models: Waterfall Model, V-Model – Phase-Based Life Cycle Model

– Identification of risks, consideration of undesirable events and irregular states caused by them

– State of the Art: Spiral Model

– Evaluation of Software Development Processes: CMM, SPICE, BOOTSRAP, ...

(2)

Plan the Project

Manage the Project Project

Management

Define the Process

Improve the Process Process Management

(in the sense of TQM)

Time Course

Organizational Framework

(3)

Requirements of the Software

Validation

Rough Design Verification

Detailed Design Verification

Coding / Debugging Modultest

Integration Test Validation Requirements

of the System Validation

Use and Maintenance Revalidation/

Regression Test

Classic Waterfall Model of Software Development Processes (Boehm, 1976)

(4)

Typical Cost Trend for Each Phase Costs

Functional Specifications

Design +

Specifications

Coding + Test Maintenance + Use

t Development Costs over the Phases

(5)

Desired Cost Trend per Phase Costs

Functional Specifications

Design +

Specifications

Coding + Test Maintenance + Use

t Development Costs over the Phases

(6)

Typical Trend

Fault Detection Probability

. . . Functional

Specification

Develop ment

Specification Coding Integration Acceptance t

Fault Detection Probability

(7)

Costs (Logarithmic)

. . . Functional

Specification

Develop ment

Specification Coding Integration Acceptance t

Subsequent Costs of Late Detected Faults

(8)

Desired Trend

Fault Detection Probability

. . . Functional

Specification

Develop ment

Specification Coding Integration Acceptance Time

Fault Detection Probability

(9)

Effectiveness of

Testing Unchanged

Forwarded Fault

In the Course of 1:x Amplified Fault

Newly Generated Fault

Not Discovered Fault

Next Step Fault

from Previous Step

Fault Impact Model (Pressman, 1987)

(10)

Need

Correct Requirement Need

Assessment

Requirement Definition / Problem Analysis

Faulty Requirements

Correct

Specification Specification Fault Fault Induced in Requirements System

Specification

Correct

Design Design Fault

in Requirements in Specification Fault Induced

Design

Correct

Program Program Fault

in Requirements in Specification Fault Induced

in Design Realization

Corrected Fault Correct

Behavior Known Uncorrected Unknown Fault

Faullt Test and

Intgration

Program with Known and Unknown Defects (Fault Avalanche, DGQ, 1986)

(11)

SW Requirements

SW/HW Integration &

Testing SW System Integration &

Testing Preliminary

SW Analysis Design

SW Subsystem Integration &

Testing Details SW

Analysis &

Design

SW Testing System

Decomposition

Operational Testing &

Evaluation Acceptance

Test &

Evaluation System Performance

Testing

Operation &

Management Required

Operational Capability

Engineering Studies

Experimental Development

Concept Evaluation

Research Phase Conceptual Phase Design & Development Phase Test & Evaluation Phase Operations & Maintenance Phase SW Subsystem

Design Review Start Test End of Operation & Management

Certification

Validation

Validation

Verification Verification

Verification

Verification Validation

System Requirements Review

System Design Review

Preliminary Design Review

Customer Delivery &

Physical Configura- tion Audit

Functional Configuration Audit

Coding &

Debugging Critical

Design Review Legende:

SW= Software

An Extension of the Conventional Waterfall Model (Jensen/Tonies 1979)

(12)

Use,

Maintenance Need

Defining System Requirements

Design Acceptance

Test

Modul-Test Integration

(Components) Detailed Specification

(External) Draft

Specification User

Requirements Operational

System

Prog.

Lang.

Prog.

Sys.

Maintenance Fault

(Real) Requirement Fault Test - Spec.

Fault

Requirement - Definition

Fault

Design Fault Test - Spec.-

Integration Fault

V A L I D A T I O N

V E R I FI C A T I O N V E R I FI C A T I O N

D E BU G GING

V E R I FI C A T I O N Documentation

Moduls ...

Descriptions

Descriptions

Descriptions

Descriptions Descriptions

(13)

Define goals, create options,

establish constraints

Evaluate options, identify risks,

create solution proposals

Plan the next phase Develop, verify

Successive Steps t

Cumulative Costs II

I

III IV

II

Refinement Degree/

Development Status Time (Proportional to

the Length of the Spiral)

IV III

(14)

– Objective: Selection from the "mountain" of methods and notations, and other aids

– Classification according to power:

• Notational Means

+ Descriptive: Cause-effect graphs, plot graphs, HIPO, SA, ...

+ Prescriptive: Checklists, decision tables, structure charts, ...

• Amplifying / Rationalising means

+ Generating: Regular expressions, production (replacement) rules, for example, BNF, compiler, ...

+ Recognizing: Finite automata

• Cognitive: High-order predicate logic, deductive databases, ...

(15)

– Classification according to precision, unambiguous interpretation:

• Formal: Analysis, verification, design, algorithmic (therefore, can be automated), based on sound mathematical models.

• Semi-formal: Not complete, mathematically consistent, but only algorithmic through human interaction.

• Non-formal: Mostly established ad-hoc, simplistic and sometimes very shallow.

• Formal (or "formalized“) methods are primarily considered here; they can be represented algorithmically (or in an algorithmic-like way.

(16)

CASE (Computer Aided Software Engineering) Tools

– Editing (Graphic, Text),

– Programming (Coding, Debugging, Code Generation),

– Verification and Validation (Static/Dynamic analyzer, Test Case Generator), – Configuration Management (Change Control Monitor, Configuration Builder), – Metrics (Code Analyzer, Execution Monitor),

– Project Management (Project Notebook, Cost Estimation Tools).

(17)

CASE Workbenches

– Planning/Modeling of commercial systems (e.g., PC Prism) – Analyse and design (e.g., Excelerator, Statemate),

– User Interfaces (e.g., DEC VUIT, HP Interface Architect), – Verification and validation (e.g., Battlemap, Logiscope),

– Maintenance and reverse engineering (e.g., Recorder, Rigi, Hindsight, SmartSystem),

– Configuration management (e.g., PCMS, PVCS, CCC, SCLM), – Project management (e.g., DEC Plan Coordinator, Synchronize).

(18)

– It is important for the selection that the individual CASE tools are compatible with each other, e.g., regarding the data exchange. Thereby, they can support the components of a project document ("Project Repository") of the software development process (in the sense of an open system, such as also for commonly available tools, public domain software, etc.) extensively. Repository also enables the data exchange between individual tools and tool integration.

This also enables a consistency check between any components throughout the all project levels and a wide scale configuration management.

– Such a repository system requires rigorous entrance –access- and integrity measures.

(19)

Quality Assurance

Graphs

t Histograms

Pareto-Diagramme

Checklists

(20)

Plot Diagrams Cause-Effect Diagrams

(also known as "Fishbone" / "Ishikawa" diagrams)

(21)

B

B1

B2

B3

A1

A2

R1 R2 R3 R4

J J N N

N J J N

N J / N

X X

X X

Decision Tables

..

Matrices / tables

(22)

Petri Nets Control Charts

t

Fault Trees

OR OR

AND

(23)

Hierarchy Diagrams Relation Diagrams

Referenzen

ÄHNLICHE DOKUMENTE

Diese Vorgehensweise stellt sicher, dass aus einer Vielzahl von Stoffen, die in der Umwelt gefunden werden, eine Fokussierung auf relevante Stoffe erfolgt, die dann als Grundlage

Traditionally, collaborative CAD systems are used for coordination activities, so that multiple designers can be used to shorten the product development

Analyse.. Nachdem wir Prinzipien der Code-Erzeugung kennen gelernt haben, behandeln wir nun die Analyse-Phase

HÜTHUM. Jugendliche haben an zwei Kirsch- und zwei Apfel- bäumen, die der Heimatverein Hüthum-Borghees 2011 an der Grundschule in Hüthum ge- pflanzt hatte, die Rinde bis zum

They have been studied with respect to the structure of the dynamics in their state space (the phase portrait), and this Research Memorandum is intended as a collection of

These functions allow network management to control and monitor the operation of the Data Link layer, for example to set data link protocol operating

Recently, several particularly robust iterative algorithms have been developed that combine multiple far-field diffraction patterns to form an image of a sample and

Haemolysed plasma and plasma left in plastic pipettes for more than 2-3 minutes may give falsely elevated melatonin levels. Saliva Melatonin The best method is to ask subjects