<< Chapter < Page Chapter >> Page >
  • Determination of the scope of a change in order to plan and implement work
  • Development of accurate estimates of resources needed to perform the work
  • Analysis of the cost/benefits of the requested change
  • Communication to others of the complexity of a given change

The severity of a problem is often used to decide how and when a problem will be fixed. The software engineer then identifies the affected components. Several potential solutions are provided and then a recommendation is made as to the best course of action.

Software designed with maintainability in mind greatly facilitates impact analysis.

Maintainability

How does one promote and follow up on maintainability issues during development? The IEEE [IEEE610.12-90] defines maintainability as the ease with which software can be maintained, enhanced, adapted, or corrected to satisfy specified requirements. ISO/IEC defines maintainability as one of the quality characteristics (ISO9126-01).

Maintainability sub-characteristics must be specified, reviewed, and controlled during the software development activities in order to reduce maintenance costs. If this is done successfully, the maintainability of the software will improve. This is often difficult to achieve because the maintainability sub-characteristics are not an important focus during the software development process. The developers are preoccupied with many other things and often disregard the maintainer’s requirements. This in turn can, and often does, result in a lack of system documentation, which is a leading cause of difficulties in program comprehension and impact analysis. It has also been observed that the presence of systematic and mature processes, techniques, and tools helps to enhance the maintainability of a system.

Management issues

Alignment with organizational objectives

Organizational objectives describe how to demonstrate the return on investment of software maintenance activities. Bennett states that “initial software development is usually project-based, with a defined time scale and budget. The main emphasis is to deliver on time and within budget to meet user needs. In contrast, software maintenance often has the objective of extending the life of software for as long as possible. In addition, it may be driven by the need to meet user demand for software updates and enhancements. In both cases, the return on investment is much less clear, so that the view at senior management level is often of a major activity consuming significant resources with no clear quantifiable benefit for the organization.”

Staffing

Staffing refers to how to attract and keep software maintenance staff. Maintenance is often not viewed as glamorous work. Deklava provides a list of staffing-related problems based on survey data. As a result, software maintenance personnel are frequently viewed as “second-class citizens” and morale therefore suffers.

Process

Software process is a set of activities, methods, practices, and transformations which people use to develop and maintain software and the associated products. At the process level, software maintenance activities share much in common with software development (for example, software configuration management is a crucial activity in both). Maintenance also requires several activities which are not found in software development. These activities present challenges to management.

Questions & Answers

Which SDLC Model will you select to develop the system as a software engineer and why?
Subrato Reply
communication techniques in software development
SANJANA Reply
👋👋👋
Aslam
what is communication techniques in software development
Aslam
hii
Ritika
hi
prabhu
Hlw
Subrato
who is Charles Babbage
Marvin Reply
how to do documents in the computer
Mark Reply
Kashmir
akmal
k
akmal
hello
Anil
Hi
Rohid
how are you?
Rohid
Which of these are standards for assessing software processes
own Reply
hello teacher may I give me example of format of software
Aurianne
team a found 342 errors during the software engineering process prior to release. team b found 184 errors. what additional measures would have to be made for projects a and b to determine which of the teams eliminated errors more efficiently? what metrics would you propose to help in making the determination? what historical data might be useful?
Kaviya Reply
it's depend upon software testing and debugging
OMKAR
Hi, Everyone
Rohid
what is coding
Waswa Reply
programming languages is a coding it is also used software development, designing, modeling, etc..
OMKAR
presently I work as a computer engineering what course can I study in any computer institute to enable me promoting myself
Ichaba
AND here lot of course
OMKAR
How to calculate the basic salary of a payroll in Java coding?
Adjei Reply
ত্তচুরভহব
Parvez
hello
Bahadur
but we have tobe serious in k.dge.. what is the meaning of java coding if you are gineous you will answer me
Eyiba
hie
Mark
hi
Rana
Quids on software engineering
Enongene Reply
software testing practice
Prerana
Ho
Rang
definition of software
Baba Reply
define system ,concepts of system and types of system?
Gurmeet Reply
iom
ADNAN
hello
arsh
hari Paulus hai
Hari
System is the way of Execution or a set of principles to do something or any task is called System.
Ayesha
There are many infinite forms and Types of System in different fields as well.
Ayesha
TELL ME ABOUT MAINFRAME?
OMKAR
hi
Md
System is the way of Execution or a set of principles to do something or any task is called System.
Sazed
is very important software engineer or not.
Riyanshu Reply
very important
arsh
2d
Dv
hello
Md
hi
Rohid
hi
martin
what is software engineering
Ravindra Reply
Software engineering is a detailed study of engineering to the design, development and maintenance of software
arsh
what is salary of software engineer
Akash Reply
it depend on organization's and quality
josephat
I think average salary 80000us dollars per year
arsh
what are naturs of software Engineering
BANDARU Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play




Source:  OpenStax, Software engineering. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10790/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Software engineering' conversation and receive update notifications?

Ask