U-M CIS 375 - Software Configuration Management
Course Cis 375-
Pages 32

Unformatted text preview:

Software Configuration ManagementMaintenance is InevitableTypes of MaintenanceSpiral Maintenance ModelMaintenance CostsMaintenance Developer TasksMaintenance can be toughMaintenance Cost FactorsMaintenance PredictionSlide 10Maintenance Complexity MetricsMaintenance Process MetricsMaintenance ToolsConfiguration ManagementSoftware Configuration ItemsBaselinesSources of ChangeChange RequestsChange PredictionConfiguration Management TasksVersion Control TermsChange Control Process - 1Change Control Process - 2Change Control Process - 3Configuration Management TeamChange Control BoardProgrammer’s View - 1Programmer’s View - 2Change Control IssuesSoftware Configuration Audit - 1Software Configuration Audit - 2Configuration Status Report1Software Configuration ManagementCIS 375Bruce R. MaximUM-Dearborn2Maintenance is Inevitable•System requirements are likely to change while the system is being developed because their environment is changing•Systems are tightly coupled to their environment•When a system is installed it changes the environment and that can change the system requirements•The delivered system may not meet its requirements•Systems must be maintained to remain useful in their environment3Types of Maintenance•Corrective Maintenance (21%)–making changes to repair defects•Adaptive Maintenance (25%)–making changes to adapt software to external environment changes (hardware, business rules, OS, etc.)•Perfective Maintenance (50%)–extending system beyond its original functional requirements •Preventative Maintenance (4%) –modifying work products so that they are more easily corrected, adapted, or enhanced4Spiral Maintenance ModelSpecificationImplementionValidationOperationStartRelease 1Release 2Release 35Maintenance Costs•Usually greater than the development costs (2 to 10 times as much in some cases)•Affected by both technical and non-technical factors•Increase as software is maintained and system corruption is introduced•Aging software can have high support costs (e.g. old languages, compilers, etc.)6Maintenance Developer Tasks•Understand system.•Locate information in documentation.•Keep system documentation up to date.•Extend existing functions.•Add new functions.•Find sources of errors.•Correct system errors.•Answer operations questions.•Restructure design and code.•Delete obsolete design and code.•Manage changes.7Maintenance can be tough•Limited understanding of hardware and software (maintainer).•Management priorities (maintenance may be low priority).•Technical problems.•Testing difficulties (finding problems).•Morale problems (maintenance is boring).•Compromise (decision making problems).8Maintenance Cost Factors•Staff turnover–no turnover usually means lower maintenance costs•Contractual responsibility–developers may have no contractual obligation to maintain the delivered system and no incentive to design for future change•Staff skills–maintenance staff are often inexperienced and have limited domain knowledge•Program age and structure–as programs age their structure deteriorates, they become harder to understand and change9Maintenance Prediction•Concerned with determining which parts of the system may cause problems and have high maintenance costs•Change acceptance depends on the maintainability of the components affected by the change•Implementing changes degrade system and reduces its maintainability•Maintenance costs depends on number of changes•Costs of change depend on maintainability10Maintenance PredictionPredictingmaintainabilityPredicting systemchangesPredictingmaintenancecostsWhat will be the lifetimemaintenance costs of thissystem?What will be the costs ofmaintaining this systemover the next year?What parts of the systemwill be the most expensiveto maintain?How many changerequests can beexpected?What parts of the system aremost likely to be affected bychange requests?11Maintenance Complexity Metrics•Predictions of maintainability can be made by assessing component complexities•Most maintenance efforts only affect a small number of system components•Maintenance complexity depends on–complexity of control structures–complexity of data structures–module size12Maintenance Process Metrics•Maintainability measurements–number of requests for corrective maintenance–average time required for impact analysis–average time to implement a change request–number of outstanding change requests•If any if these increases it may signal a decline in maintainability13Maintenance Tools•Text editors (better than punch cards).•File comparison tools.•Compilers and linkage editors.•Debugging tools.•Cross reference generators.•Complexity calculators.•Control Libraries.•Full life cycle CASE tools.14Configuration Management•Software changes are inevitable•One goal of software engineering is to improve how easy it is to change software•Configuration management is all about change control.•Every software engineer has to be concerned with how changes made to work products are tracked and propagated throughout a project.•To ensure quality is maintained the change process must be audited.15Software Configuration Items•Computer programs –source–executable•Documentation–technical–user•Data–contained within the program–external data (e.g. files and databases)16Baselines•A work product becomes a baseline only after it is reviewed and approved.•A baseline is a milestone in software development marked by the delivery of one or more configuration items.•Once a baseline is established each change request must be evaluated and verified before it is processed.17Sources of Change•New market conditions dictate changes to product requirements or business rules•New customer needs demand modification of data, functionality, or services•Business reorganization causes changes in project priorities or SE team structure •Budgetary or scheduling constraints require system to be redefined18Change Requests•Requests can come from users, customers, or management•Change requests should be carefully analyzed as part of the maintenance process before they are implemented•Some changes requests must be implemented urgently due to their nature–fault repair–system environment changes–urgently required business changes19Change Prediction•Predicting the number of changes requires understanding the relationships between a system and


View Full Document

U-M CIS 375 - Software Configuration Management

Course: Cis 375-
Pages: 32
Download Software Configuration Management
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Software Configuration Management and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Software Configuration Management 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?