Title: UCLV, Santa Clara, March 2003
1Modern Aspects in Software Engineering2. SE
Life CycleProf. Dr.-Ing. habil. Reiner
DumkeOtto-von-Guericke-Universität
MagdeburgFakultät für Informatik, Institut für
Verteilte SystemeAG Softwaretechnikhttp//ivs.cs
.uni-magdeburg.de/sw-eng/agruppe/
2Software Engineering Life Cycle
- Life
- Birth Project Idea
- Education Development Phases
- Living Operation based on Maintenance
- Death only Replacement
3SE Life Cycle Development Phases
- Problem definition product idea, definition of
the requirements - Requirement analysis proof of the feasability,
consistency etc. -
- Specification modelling of the functional
product characteristics - Design considering the platform aspects
constraints - Implementation program development test
- Field test test in practice
4SE Life Cycle General Characteristics
Theory Practice
5SE Life Cycle General Characteristics
Validation
Verification
User/Customer
6SE Life Cycle Forward/Backward
Backward Development
Forward Development
7SE Life Cycle Problem Definition
- Requirements
- functional
- performance
- reliability
- security
- safety
- quality
- portability
- GUI
- usability
- . . .
- functional requirements
- quality requirements
- platform requirements
- process requirements
8SE Life Cycle Problem Definition
- Exercises
- Program for personnel finances
- Program for sports finish estimation
- Program for concurrent whiteboard use
- Program for natural language translation
9SE Life Cycle Problem Definition
- Requirement
- aspects
- Constraints
- Boundary
- Scope
- Preferences
- PD Supports
- Domain dictionary
- Laws
- Standards
- Statistics
- Trend Analysis
- PD Methods
- Brainstorming
- Negotiation
- Expertises
- Analogies
10SE Life Cycle Requirement Analysis
- Requirements should be
- correct
- consistent
- complete
- realistic
- needed by the customer
- verifiable
- traceable
- Requirements are
- explicit vs implicit
- undependend vs dependend
- objective vs subjective
- extern vs intern
- measurable vs estimated
11SE Life Cycle Requirement Analysis
- RE Goals
- Correctness
- Completeness
- Conformity
- Consistency
- Feasibility
- RE Methods
- Thesaurus analysis
- Expertises
- Analogies
- Interviews
12SE Life Cycle Specification
Spec Modelling of the functional requirements
into an appropriate model based
on a data dictionary
- Model examples
- Functional model
- Data model
- Event model
- Transaction model
- State model
- Interaction model
- etc.
- Spec approaches
- formal
- informal (by diagrams)
13SE Life Cycle Specification
Formal modelling in Z
Birthdays known P NAME birthday NAME
?? DATE known dom birthday
AddBirthday ? Birthdays name? NAME
date? DATE ? i 1..pos ? name? ? names(i)
pos' pos 1 names' names ? pos' ? name?
dates' dates ? pos' ? date?
FindBirthday ? Birthdays name? NAME
date! DATE name? ? known date! birthday
(name?)
14SE Life Cycle Specification
Data flow diagram Process Connection Object
Narrow operations and or
nor Data basis
15SE Life Cycle Specification
Entity relationship diagram Entity Connection
Relationship
16SE Life Cycle Specification
State diagram State Transition Start Stop
constraint Edges evaluation
transaction activity
17SE Life Cycle Specification
Petri net diagram Object state Transition Con
nection Marking
18SE Life Cycle Specification
Activity diagram Activity Object Selection Sy
nchronization Splitting Start Stop
19SE Life Cycle Specification
Sequence diagram Object Time
line Actions Message Recursion
20SE Life Cycle Specification
- Complexity
- Problem complexity (S, P, E systems)
- Development complexity
- Computational complexity
- Platform complexity
21SE Life Cycle Specification
- Data Dictionary / Repository
- identification
- name
- description
- meta data (type, definition, values etc.)
22SE Life Cycle Design
Software Design Model
Considering the platform requirements
Architecture
23SE Life Cycle Design
Component diagram
24SE Life Cycle Design
Deployment diagram
25SE Life Cycle Design
- Components
- COTS vs development
- Acquisition
- Configuration (management)
- Coupling vs Cohesion
26SE Life Cycle Design
Design approaches
27SE Life Cycle Design
- Design decisions
- Program descriptions (Pseudo code, Structure
- diasgrams etc)
- Programming techniques
- Programming conventions
- Development paradigm
28SE Life Cycle Implementation
- Implementations phases
- Coding
- Unit test
- Integration test
- Installation
- Considering the quality requirements
29SE Life Cycle Implementation
- Unit test
- static methods
- Check lists / Reviews
- Program verification
- Symbolic execution
- dynamic methods
- Black box test
- White box test
30SE Life Cycle Implementation
Integration tests (1) Basis Architecture
31SE Life Cycle Implementation
Integration tests (2) Big bang integration test
32SE Life Cycle Implementation
Integration tests (3) Top down integration test
33SE Life Cycle Implementation
Integration tests (4) Sandwich integration test
34SE Life Cycle Implementation
- Implementation results
- Development documentation
- Installation Guide
- Acceptance test description
- Application guide
- Maintenance guide
35SE Life Cycle Field test
- Field test - Acceptance test
- alpha, beta, gamma test
- in-house vs outside beta test
- trouble reports
36SE Life Cycle Maintenance
- Maintenance activities
- extension
- correction
- adaptation
- perfection
- prevention
- Maintenance (ISO 9126)
- Analysability
- Changeability
- Stability
- Testability
37SE Life Cycle Operation
- Activities
- Delivering
- Operation
- Changing
- Migration
- Replacement
38SE Life Cycle Models
Sequential models Waterfall model
V model
39SE Life Cycle Models
Cyclic models Incremental model
spiral model
40Questions, Remarks !!!