0% found this document useful (0 votes)
49 views31 pages

Modern Systems Analysis and Design

The document discusses maintaining information systems, including explaining the four main types of maintenance (corrective, adaptive, perfective, preventative), factors that influence maintenance costs and designing for maintainability, alternative organizational structures for managing maintenance personnel, processes for handling change requests and configuration management, and how automated development tools can aid in maintenance.

Uploaded by

BhavikDave
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views31 pages

Modern Systems Analysis and Design

The document discusses maintaining information systems, including explaining the four main types of maintenance (corrective, adaptive, perfective, preventative), factors that influence maintenance costs and designing for maintainability, alternative organizational structures for managing maintenance personnel, processes for handling change requests and configuration management, and how automated development tools can aid in maintenance.

Uploaded by

BhavikDave
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

Modern Systems Analysis and Design

Lecture 14

Maintaining Information
Systems
Learning Objectives
14.1 Explain and contrast four types of maintenance
14.2 Describe several factors that influence the cost of
maintaining an information system and apply these factors to
the design of maintainable systems; and
14.3 Describe maintenance management issues, including
alternative organizational structures, quality measurement,
processes for handling change requests, and configuration
management
Figure 14-1: Systems Development Life
Cycle
Maintaining Information Systems
14.1 Explain and contrast four types of maintenance
• Four major activities occur within maintenance:
1. Obtaining maintenance requests
2. Transforming requests into changes
3. Designing changes
4. Implementing changes
Figure 14-2: System Service Request for
Purchasing Fulfillment System (PVF)
Figure 14-3: Maintenance Activities
Parallel Those of the SDLC
Deliverables and Outcomes
14.1 Explain and contrast four types of maintenance

• SDLC maintenance phase is a subset of the activities of


the entire development process
• Development of a new version of the software and new
versions of all design documents created or modified
during maintenance
Types of Maintenance (1 of 2)
14.1 Explain and contrast four types of maintenance

• Maintenance refers to changes made to a system to fix


or enhance its functionality
• Corrective maintenance refers to changes made to a
system to repair flaws in its design, coding, or
implementation
• Adaptive maintenance refers to changes made to a
system to evolve its functionality to changing business
needs or technologies
Types of Maintenance (2 of 2)
14.1 Explain and contrast four types of maintenance

• Perfective maintenance refers to changes made to a


system to add new features or to improve performance
• Preventative maintenance refers to changes made to a
system to avoid possible future problems
Figure 14-4: Value and Non-Value Adding
of Different Types of Maintenance

(Sources: Based on Andrews & Leventhal, 1993; Pressman, 2005)


The Cost of Maintenance (1 of 2)
14.2 Describe several factors that influence the cost of
maintaining an information system and apply these factors to
the design of maintainable systems

• Many organizations allocate 60-80% of information


systems budget to maintenance
– Because many organizations have accumulated more
and more older so-called legacy systems that require
more and more maintenance
Figure 14-5: New Development Versus
Maintenance as a Percentage of the Software
Budget over the Years

(Source: Based on Pressman, 2005)


The Cost of Maintenance (2 of 2)
14.2 Describe several factors that influence the cost of maintaining an information system
and apply these factors to the design of maintainable systems

• Maintainability is the ease with which software can be understood, corrected,


adapted, and enhanced

• Factors influencing maintainability:


– Latent defects: unknown errors after installation (increases corrective
maintenance)
– Number of system customers: the greater the number of customers the
greater the maintenance costs
– Quality of system documentation: lack of documentation makes
maintenance harder
– Maintenance personnel: high quality programmers required for maintenance
– Tools: automated documentation and code tools
– Well-structured programs: well designed programs are easier to understand
and fix
Figure 14-6: Quality Documentation
Eases Maintenance

(Source: Based on Hanna, M. (1992, December). Using documentation as a life-cycle tool.


Software Magazine, 41–46.)
Managing Maintenance Personnel
14.3 Describe maintenance management issues, including
alternative organizational structures, quality measurement,
processes for handling change requests, and configuration
management

• Traditionally, maintenance and development were separately


staffed
• Organizations are rethinking this. Maybe combine development
and maintenance into one role?
• Another possibility: spread maintenance personnel in different
functional units (marketing, accounting, human resources, etc.)
Table 14-2: Advantages and Disadvantages of
Different Maintenance Organizational Structures

Type Advantages Disadvantages


Separate Formal transfer of systems All things cannot be
between groups improves the documented, so the
system and documentation maintenance group may not
quality know critical information about
the system
Combined Maintenance group knows or Documentation and testing
has access to all assumptions thoroughness may suffer due to
and decisions behind the a lack of a formal transfer of
system’s original design responsibility
Functional Personnel have a vested Personnel may have limited job
interest in effectively mobility and lack access to
maintaining the system and adequate human and technical
have a better understanding of resources
functional requirements
Measuring Maintenance Effectiveness
14.3 Describe maintenance management issues, including
alternative organizational structures, quality measurement,
processes for handling change requests, and configuration
management
• In measuring maintenance effectiveness you must measure the
following factors:
– Number of failures
– Time between each failure
– Type of failure
• Mean time between failures (MTBF) – measurement of error
occurrences that can be tracked over time to indicate the quality
of a system
Figure 14-7: How the Mean Time Between
Failures Should Change Over Time
Controlling Maintenance Requests
14.3 Describe maintenance management issues, including
alternative organizational structures, quality measurement,
processes for handling change requests, and configuration
management
• Maintenance requests can be frequent
• Prioritize based on type and urgency of request
• Evaluations are based on feasibility analysis
Figure 14-8: How to Prioritize
Maintenance Requests
Figure 14-9: How a Maintenance Request
Moves Through an Organization
Configuration Management (1 of 2)
14.3 Describe maintenance management issues, including
alternative organizational structures, quality measurement,
processes for handling change requests, and configuration
management

• Configuration management – process of ensuring that only


authorized changes are made to the system
• Baseline modules – software modules that have been tested,
documented, and approved to be included in the most recently
created version of a system
Configuration Management (2 of 2)
14.3 Describe maintenance management issues, including
alternative organizational structures, quality measurement,
processes for handling change requests, and configuration
management

• System librarian – person responsible for controlling the


checking out and checking in of baseline modules when a system
is being developed or maintained
• Build routines – guidelines that list the instructions to construct
an executable system from the baseline source code
• Special software systems are being created to manage system
configuration
Role of Automated Development Tools
in Maintenance (1 of 3)
14.3 Describe maintenance management issues, including
alternative organizational structures, quality measurement,
processes for handling change requests, and configuration
management
• Traditional systems development
– Much time is spent on coding and testing
– Changes are implemented by coding and testing first
– Documentation is done after maintenance is performed
– Keeping documentation current is often neglected due to
time-consuming nature of task
Role of Automated Development Tools
in Maintenance (2 of 3)
14.3 Describe maintenance management issues, including
alternative organizational structures, quality measurement,
processes for handling change requests, and configuration
management
• Using automated tools for systems development and
maintenance
– Use data flow diagrams and screen design in lieu of source
code
– Code regeneration using code generators
– Documentation completed during maintenance process
Role of Automated Development Tools
in Maintenance (3 of 3)
14.3 Describe maintenance management issues, including
alternative organizational structures, quality measurement,
processes for handling change requests, and configuration
management
• Reverse engineering – automated tools that read program
source code as input and create graphical and textual
representations of design-level information such as program
control structures, data structures, logical flow, and data flow
• Re-engineering – automated tools that read program source
code as input; perform an analysis of the program’s data and
logic; and then automatically, or interactively with a systems
analyst, alter an existing system in an effort to improve its
quality or performance
Figure 14-10: NetBeans IDE Can Reverse
Engineer Java Applications Into UML Diagrams

(Source: Microsoft Corporation)


Website Maintenance (1 of 2)
14.3 Describe maintenance management issues, including
alternative organizational structures, quality measurement,
processes for handling change requests, and configuration
management
• Issues and procedures related to website maintenance include:
– 24/7/365: Maintenance is challenging as it has to be done
without taking the site offline
– Check for broken links: Most common issue!
– HTML validation: Pages should be processed by a code
validation routine before publication
– Reregistration: When content significantly changes, site
may need to be reregistered with search engines
Website Maintenance (2 of 2)
14.3 Describe maintenance management issues, including
alternative organizational structures, quality measurement,
processes for handling change requests, and configuration
management
• Issues and procedures related to website maintenance include:
– Future editions:
▪ Be consistent to avoid confusing users
▪ Post indications of future changes to the site
▪ Use batch changes to limit frequency of changes
Electronic Commerce Application: Maintaining
an Information System for PVF WebStore
14.3 Describe maintenance management issues, including
alternative organizational structures, quality measurement,
processes for handling change requests, and configuration
management
• To maintain PVF’s WebStore, the following questions need to be
addressed:
– How much is our website worth?
– How much does it cost our company when our website goes
down?
– How reliable does our website need to be?
• Pine Valley Furniture needs to immediately develop a plan for
addressing the WebStore’s service level problems
Summary
• In this lecture you learned to:
– Explain and contrast four types of maintenance
– Describe several factors that influence the cost of
maintaining an information system and apply these
factors to the design of maintainable systems
– Describe maintenance management issues, including
alternative organizational structures, quality
measurement, processes for handling change
requests, and configuration management

You might also like