Escolar Documentos
Profissional Documentos
Cultura Documentos
Slide 1
Objectives
l
l
Slide 2
Topics covered
l
l
l
l
l
l
l
Slide 3
Specification
Design
Validation
Evolution
Slide 4
Slide 5
Evolutionary development
Reuse-based development
Slide 6
Waterfall model
Requirements
definition
System and
software design
Implementation
and unit testing
Integration and
system testing
Operation and
maintenance
Slide 7
Slide 8
Slide 9
Evolutionary development
l
Exploratory development
Throw-away prototyping
Slide 10
Evolutionary development
Concurrent
activities
Outline
description
Specification
Initial
version
Development
Intermediate
versions
Validation
Final
version
Slide 11
Evolutionary development
l
Problems
Applicability
Slide 12
Slide 13
Requirements
definition
Formal
specification
Formal
transformation
Integration and
system testing
Slide 14
Formal transformations
Formal transformations
T1
Formal
specification
T2
R1
P1
T3
R2
P2
T4
Executable
program
R3
P3
P4
Slide 15
Problems
Applicability
Slide 16
Reuse-oriented development
l
Component analysis
Requirements modification
System design with reuse
Development and integration
Slide 17
Reuse-oriented development
Requirements
specification
Component
analysis
Requirements
modification
System design
with reuse
Development
and integration
System
validation
Slide 18
Process iteration
Slide 19
Process iteration
l
Incremental development
Spiral development
Slide 20
Incremental development
l
Slide 21
Incremental development
Define outline
requirements
Develop system
increment
Assign requirements
to increments
Validate
increment
Design system
architecture
Integrate
increment
Validate
system
Final
system
System incomplete
Slide 22
l
l
Slide 23
Extreme programming
l
Slide 24
Spiral development
l
Slide 25
Evaluate alternatives
identify, resolve risks
Risk
analysis
Risk
analysis
Risk
analysis
REVIEW
Requirements plan
Life-cycle plan
Prototype 3
Prototype 2
Operational
protoype
Risk
analysis Prototype 1
Simulations, models, benchmarks
Concept of
Operation
S/W
requirements
Development
plan
Requirement
validation
Integration
and test plan
Design
V&V
Product
design
Detailed
design
Code
Unit test
Integration
test
Acceptance
test
Develop, verify
Service
next-level product
Slide 26
Objective setting
Risks are assessed and activities put in place to reduce the key
risks
Planning
Slide 27
Software specification
l
Feasibility study
Requirements elicitation and analysis
Requirements specification
Requirements validation
Slide 28
Requirements
elicitation and
analysis
Requirements
specification
Feasibility
report
Requirements
validation
System
models
User and system
requirements
Requirements
document
Slide 29
Implementation
Slide 30
Architectural design
Abstract specification
Interface design
Component design
Data structure design
Algorithm design
Slide 31
Abstract
specification
Interface
design
Component
design
Data
structure
design
Algorithm
design
System
architecture
Software
specification
Interface
specification
Component
specification
Data
structure
specification
Algorithm
specification
Design products
Slide 32
Design methods
l
Data-flow model
Entity-relation-attribute model
Structural model
Object models
Slide 33
Slide 34
Locate
error
Design
error repair
Repair
error
Re-test
program
Slide 35
Software validation
l
Slide 36
Component
testing
Ian Sommerville 2000
Integration testing
User
testing
Slide 37
Testing stages
l
Unit testing
Module testing
System testing
Sub-system testing
Acceptance testing
Slide 38
Testing phases
Requirements
specification
System
specification
System
integration
test plan
Acceptance
test plan
Service
System
design
Acceptance
test
Detailed
design
Sub-system
integration
test plan
System
integration test
Module and
unit code
and tess
Sub-system
integration test
Slide 39
Software evolution
l
l
Slide 40
System evolution
Define system
requirements
Assess existing
systems
Propose system
changes
Existing
systems
Modify
systems
New
system
Slide 41
Slide 42
CASE
l
Slide 43
Case technology
l
Slide 44
CASE classification
l
Process perspective
Integration perspective
Slide 45
Examples
PERT tools, estimation tools,
spreadsheets
Text editors, diagram editors, word
processors
Requirements traceability tools, change
control systems
Version management systems, system
building tools
Very high-level languages,
user interface generators
Design editors, data dictionaries, code
generators
Compilers, interpreters
Cross reference generators, static
analysers, dynamic analysers
Test data generators, file comparators
Interactive debugging systems
Page layout programs, image editors
Cross-reference systems, program restructuring systems
Slide 46
Reengineering tools
Testing tools
Debugging tools
Program analysis tools
Language-processing
tools
Method support tools
Prototyping tools
Configuration
management tools
Change management tools
Documentation tools
Editing tools
Planning tools
Specification
Design
Activity-based classification
Implementation
Verification
and
Validation
CASE integration
l
Tools
Workbenches
Environments
Slide 48
Tools
Editors
Compilers
Workbenches
File
comparators
Analysis and
design
Multi-method
workbenches
Integrated
environments
Programming
Single-method
workbenches
Environments
Process-centred
environments
Testing
General-purpose
workbenches
Language-specific
workbenches
Slide 49
Key points
l
Slide 50
Key points
l
Slide 51