5. Software maintenance

advertisement
5. Software maintenance
Differences btwn mainteance and
development:
• Smaller configuration management units
• Understanding
• Impact analysis
• Smaller, more frequent decisions
• Show ROI
• Staffing
• Outsourcing more complicated
Techniques in maintenance
•
•
•
•
•
•
•
Trace behaviour
Code browsers
Reverse engineering
Reengineering
Refactoring
Cost estimation for maintenance
Predicting maintainability
6. Software Configuration
Management
•
•
•
•
•
•
•
•
Identify and describe software items
Identify and describe relations between items
Keep an updated version of interfaces
Version, revision, variant
Baseline, intermediary release
Change management
Configuration auditing
Research: advanced tool support
7. Software engineering
management
• Measurement-based management
• Keep measurement–expertise at
compatible levels
• Much project planning
• Supplier management
• Closure
Measurement programme
• Establish and sustain committment
• Plan the measurement process:
–
–
–
–
Feed results back!
Characterize the organizational unit
Identify information needs
Select measures
Define procedures for data collection, analysis and
reporting
– Define criteria for the measurement process itself
– Approve and provide resources
– Select methods and tools
• Integrate with existing processes
8. Software engineering
processes
• General discussion of processes for SE
• Software process management cycle:
– Establish infrastructure, commitment, resources, eg
experience factory
– Plan based on an understanding of the organisation
– Implement and change process
– Evaluate process
• Assessment methods
• Notations
Process measurement
• Productivity
• Product measures
• Techniques:
– Experiments
– Review
– Orthogonal defect classification
– RCA
– SPC
• Research-like methods
9. Software engineering models
and methods
• Using abstractions
• Perspectives of models: Information,
Structure, Behavior
• Analysis: Completeness, Consistency,
Correctness, Traceability, Interaction
• Methods: Heuristic, formal, prototyping,
agile
10. Software quality
• Often: the static counterpart to testing
• SQA works much with processes and
reviews
• Predict quality and prevent problems
• Characterizing quality
• Characterizing deviations
11. Software engineering
professional practice
•
•
•
•
•
•
Authoritizations
Code of ethics
Life-long learning: technical societies
Business and legal issues
Teamwork
Communication: Read, understand,
summarize, write, present.
12. Software engineering
economics
• Guide decision making for the goal of the
organization
• Basic terminology in English
• Software is often an investment
• Software is hard to estimate
• “Good enough”
• “Friction-free market”
• “Ecosystems”
• “Outsourcing”
Bottom-line is reuse worth the
investment?
money
income
rest value
time
investment
cash flow per time unit
NPV = Σ CFi/(1+k)i - I0
k reflects:

Compensation for waiting

Compensation for inflation

Compensation for risk
13. Computing foundations
• Check weak points in previous education
• Individual profile
14. Mathematical foundations
• Time to rehearse from earlier years 
• Goal: make sure you can find information
given that you need to solve a problem
• Challenge? Terms in English.
15. Engineering foundations
• Experiments: controlled, case-study,
archive study
• Statistical analysis: hypothesis testing,
model building
• Measurement theory: scales, validity
• Engineering design: alternatives, tradeoffs, optimizations
15. Engineering foundations
•
•
•
•
•
Models: iconic, analogic, symbolic
Simulation: Discrete, Continuous
Prototyping: purpose, stage in life cycle
Standards
Root-Cause-Analysis (RCA)
Appendix A
• Ideas and structure behind SWEBOK
• Process of writing
• Relation to education curriculae
Appendix B
•
•
•
•
Related standards
ISO/IEC
IEEE
KA - > standards
Related disciplines
• Computer engineering – system view on
environment
• Computer science – theoretical foundation
• Management – incl law
• Mathematics – esp statistics
• Project management – though with iterations
• Quality management – needs data
• Systems engineering – integrates disciplines
Download