sen2 software processes

Post on 21-Dec-2014

831 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

SEN2 – Software ProcessesPresenter: Vadim EmrichLukas Bäcker

Software processes Software process models

Waterfall - Model Evolutionary - Model Component-Based Software

Process iterations Incremental development Spiral development

Process activities Software specification Software-design and –implementation Software-validation and –verification Software maintenance

Software models Conclusion

Topics

2 / 23

Software Processes

A software process is…

the amount of operations that lead tothe production of a software product

complex (intellectual and creative)

CASE utilities…

try to completely automate software processes

do not completely support automating

3 / 23

there are many various software processes

but all have basic activities in common:

specification design & implementation validation evolution

there is no "ideal“ software process

Software processes

4 / 23

Software processes

improving software

processes

making standards

reducing variety

improves communication

reducestime for

education

CASE utilitymakes sense

5 / 23

Software process models

A software process model is…

an abstraction of a software process a specific view on a part of the software process

Three specific software process models

waterfall model evolutionary model component based software engineering (CBSE)

6 / 23

Software process models

Waterfall model

separates basic activities into phases (specification, development, validation, evolution)

each phase leads to the next one

finish current to enter the next phase

7 / 23

Software process models

Evolutionary model

combines specification, development and validation to one phase

at first develop an implementation to make customers criticize

next step is to swap between customize implementation evaluate with customer

till the final product

but process is invisible

often systems are bad structured

8 / 23

Software process models

Component based software engineering

based on existence of reusable software components

reduces amount of software to develop costs risks

possible to have to compromise specifications

requirementspecification

analysis of components

adaption of specifications

system design with reusability

systemvalidation

development and

integration

9 / 23

Process iterations

Repeating processes and activities

Why do we need process iterations? Condition changes Requirement changes Adopt changes

Specification and Implementation are developed simultaneously

Disagreements with nowadays business models

10 / 23

Process iterationsIncremental development

Waterfall-model issue Evolutionary development issue Combines pros

Most exact documentation Open-door design

Define abstract requirements Dedicate requirements to subsystems Design system architecture Develop a subsystem Repeat development process for each

subsystem

11 / 23

Process iterationsIncremental development

(National Physical Laboratory, 2005Via: www.robabdul.com)

12 / 23

Process iterationsIncremental development

(http://www.informatik.uni-bremen.de/gdpa/part3/p3sz1.htm)

13 / 23

Combines Incremental development Prototyping

Basic segments: Determine objectives Identify and resolve risks Development and test Plan the next iteration

Exact consideration of risks

Process iterationsSpiral Model

14 / 23

Process iterationsSpiral Model

15 / 23

Process activities

Four basic activities

Specification

Design and implementation

Validation and verification

Maintenance

16 / 23

Process activitiesSpecification

Requirements analysis Try to understand

Constraints Functions Requirements

Steps Operability research Definition and analysis of requirements Specification of requirements Validation of requirements

17 / 23

Process activitiesDesign and implementation

Design Architecture design Abstract specification for each subsystem Interface design …

Implementation Software models (UML 2.0) CASE-tools

Troubleshooting Find error Plan how to resolve error Resolve error Check again for error

18 / 23

Process activitiesVerification and validation

Are all specifications implemented? Are they implemented proper?

Testing process Subsystem Integrated subsystem Complete system Acceptance

Usually separate test phase Extreme programming = Test-Driven V-Model

19 / 23

Process activitiesVerification and validation

20 / 23

Process activitiesMaintenance

Expensive hardware changes Flexible software systems Dis-/junction between development and

maintenance No complete new systems anymore Evolutionary process

21 / 23

Conclusion

developing software is complex

standardizing the process reduces complexity saves time and money improves communication

a software process model standardizes the developing process

which specific model you choose depends on the software to be created

22 / 23

Thank you…

23 / 23

top related