FACTOID # 15: A mere 0.8% of West Virginians were born in a foreign country.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Software maintenance
Software Development Process
This article is part of the Software Development Process series
Activities and Steps
Requirements | Architecture | Implementation | Testing | Deployment
Models
Agile | Cleanroom | Iterative | RAD | RUP | Spiral | Waterfall | XP
Supporting Disciplines
Configuration Management | Documentation | Project Management

In software engineering, software maintenance is the process of enhancing and optimizing deployed software (software release), as well as remedying defects. Software maintenance is one of the phases in the software development process, and follows deployment of the software into the field. The software maintenance phase involves changes to the software in order to correct defects and deficiencies found during field usage as well as the addition of new functionality to improve the software's usability and applicability. To meet Wikipedias quality standards, this article or section may require cleanup. ... Software requirements analysis is the activity of eliciting, analyzing, and recording requirements for software systems. ... Software architecture or software systems architecture can best be thought of as a representation of an engineered (or To Be Engineered) software system, and the process and discipline for effectively implementing the design(s) for such a system. ... Computer programming (often simply programming or coding) is the craft of writing a set of commands or instructions that can later be compiled and/or interpreted and then inherently transformed to an executable that an electronic machine can execute or run. Programming requires mainly logic, but has elements of science... Software testing is the process used to help identify the correctness, completeness, security and quality of developed computer software. ... This article needs to be wikified. ... Agile software development is a conceptual framework for undertaking software engineering projects. ... The Cleanroom Software Engineering process is a software development process intended to produce software with a certifiable level of reliability. ... Iterative and Incremental development is a software development process, as opposed to more traditional waterfall model. ... // [edit] History Application Development refers to the developing of programming applications and differs from programming itself in that it has a higher level of responsibility, including for requirement capturing and testing. ... The Rational Unified Process (RUP) is an iterative software development process created by the Rational Software Corporation, now a division of IBM. The RUP is an extensive refinement of the (generic) Unified Process. ... The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. ... The waterfall model is a software development model (a process for the creation of software) in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance. ... Extreme Programming (XP) is a software engineering methodology, the most prominent of several agile software development methodologies. ... Software Configuration Management (SCM) is part of configuration management (CM). ... Software Documentation or Source Code Documentation is written text that accompanies computer software. ... Project management is the discipline of organizing and managing resources in such a way that these resources deliver all the work required to complete a project within defined scope, time, and cost constraints. ... Software Engineering (SE) is the discipline of designing, creating, and maintaining software by applying technologies and practices from computer science, project management, engineering, application domains and other fields. ... A software release refers to the creation and availability of a new version of a computer software product. ... A software bug is an error, flaw, mistake, failure, or fault in a computer program that prevents it from working as intended, or produces an incorrect result. ... To meet Wikipedias quality standards, this article or section may require cleanup. ... Usability is the measure of how easily a thing can be used (typically a software application or a piece of hardware). ...


Software maintenance involves a number of specific techniques. One technique is static slicing, which is used to identify all the program code that can modify some variable. It is generally useful in refactoring program code and was specifically useful in assuring Y2K compliance. Static slicing is a concept in computer programming. ... Refactoring is the process of rewriting a computer program or other material to improve its structure or readability, while explicitly keeping its meaning or behavior. ... The year 2000 problem (also known as the Y2K problem and the millennium bug) was a flaw in computer program design that caused some date-related processing to operate incorrectly for dates and times on and after January 1, 2000. ...


The software maintenance phase is an explicit part of the waterfall model of the software development process which was developed during the structured programming movement of computer programming. The other major model, the spiral model developed during the object oriented movement of software engineering makes no explicit mention of a maintenance phase. Nevertheless, this activity is notable, considering the fact that two-thirds of a software system's lifetime cost involves maintenance (Page-Jones pg 31). The waterfall model is a software development model (a process for the creation of software) in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance. ... Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. ... The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. ... In computer science, object-oriented programming, OOP for short, is a computer programming paradigm. ...


In a formal software development environment, the developing organization or team will have some mechanisms to document and track defects and deficiencies. Software just like most other products, is typically released with a known set of defects and deficiencies. The software is released with the issues because the development organization decides the utility and value of the software at a particular level of quality outweighs the impact of the known defects and deficiencies.


The known issues are normally documented in a letter of operational considerations or release notes so that the users of the software will be able to work around the known issues and will know when the use of the software would be inappropriate for particular tasks.


With the release of the software, other, undocumented defects and deficiencies will be discovered by the users of the software. As these issues are reported into the development organization, they will be entered into the defect tracking system.


The people involved in the software maintenance phase are expected to work on these known issues, address them, and prepare for a new release of the software, known as a maintenance release, which will address the documented issues.

[edit]

See also

[edit]

To meet Wikipedias quality standards, this article or section may require cleanup. ... A screenshot of computer software running in Windows XP. Software fundamentally is the unique image or representation of physical or material alignment that constitutes configuration to or functional identity of a machine, usually a computer. ... Project management is the discipline of organizing and managing resources in such a way that these resources deliver all the work required to complete a project within defined scope, time, and cost constraints. ... Software brittleness is the ironic term that describes the increasing difficulty of fixing older software. ...

References

  • Meilir Page-Jones (1980). The Practical Guide to Structured Systems Design. New York: Yourdon Press. ISBN 0-917072-17-0.
[edit]

External links

  • Paper on Software Maintenance as Part of the Software Life Cycle (from Tufts University)
  • Journal of Software Maintenance
  • Software entropy

  Results from FactBites:
 
Software maintenance - Wikipedia, the free encyclopedia (444 words)
Software maintenance is one of the phases in the software development process, and follows deployment of the software into the field.
The software maintenance phase involves changes to the software in order to correct defects and deficiencies found during field usage as well as the addition of new functionality to improve the software's usability and applicability.
The software is released with the issues because the development organization decides the utility and value of the software at a particular level of quality outweighs the impact of the known defects and deficiencies.
Maintenance management, Maintenance, Preventive Maintenance, root cause analysis, Planning and scheduling, CMMS, RCFA, ... (873 words)
Maintenance management, Preventive Maintenance, and planning and scheduling, are the most popular topics, but you will find much detailed technical information in our equipment knowledge and Root Cause Analysis Sections.
Maintenance management jobs and special reliability events are occasionally posted on the home page in between the articles.
A whopping 94.7 percent of plant maintenance managers feel they are not using their computerized maintenance management software system to its maximum capability, according to the results of a national CMMS survey conducted for Reliable Plant magazine by educator, consultant and author Kris Bagadia.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m