Factors affecting software maintainability

Reliability is further divided into mission reliability and logistics. In this study, the factors affecting software maintenance cost were determined then were ranked based on their priority and after that effective ways to reduce the maintenance costs were presented. An analysis of factors affecting software reliability. Factors maintainability is a component of a more general concept, software quality, which is described in terms of a hierachy see figure 1 em87 of factors, criteria and metrics. Jun 04, 2019 maintainability picks up where reliability might fall short. These changes could impact interfaces, components, and features when adding or modifying the functionality and meeting the new customers requirements to cope. Assessing the maintainability of a software system is equivalent to making a prediction, on the. These quality factors are then broken down into lower level. This study focuses on the assessment of factors affecting maintenance and defects of public buildings in penang. Assessing and modeling the effects of design and coding factors on software system maintainability can help provide heuristics to human designers and. Software reliability is also an important factor affecting system reliability. The first time i changed the oil filter of my car first car in high school i smashed my knuckles against a grimy block of metal. Continuing the analogy, writers often define good writing in their own unique way, but most writers agree on several factors that make good writingcoding is similar to writing and other art forms in this regard.

Every software is a bit different and developers have to do slightly different things to ensure quality. Factors affecting software maintenance effort and cost lets take a look at 2 products, both of which have been in use for a year and have over 20,000 users each. It differs from hardware reliability in that it reflects the design perfection, rather than manufacturing perfection. Additionally, the ram attributes impact the ability to perform the intended mission and affect overall mission success. Reliability, availability, and maintainability sebok.

A factor is a toplevel expression of software status for management reporting. In general, it must be easy to understand the software how it works, what it does, and why it does it the way it does, easy to find what needs to be change, easy to make changes and easy to check that the changes have not introduced any bugs. Which factors affect software projects maintenance cost more. The maintainability testing shall be specified in terms of the effort required to effect a change under each of the following four categories. In the daytoday life, quality of software is essential. These problem factors are classified into five dimensions. To achieve this quality, the main factor associated is. Important technical factors affecting maintainability include. On an average, the cost of software maintenance is more than 50% of all sdlc phases. How does context affect the distribution of software. Thus, software quality assurance sqa needs to be addressed keeping in view the new strategies, tool. Understanding how reliability and maintainability affect availability is key to improving it at your facility. Jan 09, 2010 the key factors in extending the evolution stage are integrity of the software architecture and preservation of the developers knowledge base. The classic model of software quality factors, suggested by mccall, consists of 11 factors mccall et al.

Think of maintainability as something that you want to have in the event of an unforeseen failure. There are various factors, which trigger maintenance cost go high, such as. Reliability, availability and maintainability crash course description. The survey conducted in 10 has identified the key factors that affect software maintainability, namely. Remember, maintainability measures the ease and speed with which a system can be restored to operational status after a failure occurs. Software maintainability, software usability, agile environment, software metrics.

Jul 18, 2019 availability, reliability, and maintainability. Developing methods that can produce highquality software is another fundamental goal of software engineering. We can view quality of a software product as having three dimensions. Reliability, availability, and maintainability ram or rma are system design attributes that have significant impacts on the sustainment or total life cycle costs lcc of a developed system. Maintainability requirements are include in the initial capabilities document icd and capabilities development document cdd and flowed down to the system specification. They propose to identify thresholds of six objectoriented software metrics using three context factors. Sep 15, 2012 a survey of key factors affecting software maintainability abstract. Therefore, in order to be able to predict and assess maintainability early in the development process we need to be able to measure the highlevel design characteristics that affect the change process.

System availability is a metric used to measure the percentage of time an asset can be used for production. We list the top 5 factors that will impact maintainability of your systems, and how to get them in order. An empirical analysis of the impact of software development. The actual techniques used to optimize system effectiveness will. While reliability characterizes how long an asset can operate without issues, maintainability describes the likelihood that the same asset can be restored once a failure does occur. A survey of key factors affecting software maintainability ieee. Reliability, availability, and maintainability the mitre. The maintainability models can be used to improve the quality of the software product. Many problem factors in the software development phase possibly affect the maintainability of the delivered software systems. The software metrics study was initiated to propose metrics of the maintainability of the software produced by the mdsf project. Maintainability testing shall use a model of the maintainability requirements of the softwaresystem. Reliability, availability and maintainability crash course. Collectively, they affect economic lifecycle costs of a system and its utility.

It may have been my lack of experience or improper tools. The optimization of system effectiveness is a highly complex problem. Through a literature survey, as shown in table 2, we have identified 25 major problem factors in the development phase of software projects. The maintainability of software depends on a few different factors. Maintainability is the ability of the system to undergo modifications with a degree of ease. After we have collected data throughout a long history of at least two systems, we will focus on. The reliability and maintainability analysis reveals that the weibull is the bestfit distribution for timebetweenfailure data, whereas. Apr 24, 2018 the biggest factor is the experience and expertise of the developers working on the software. We use your linkedin profile and activity data to personalize ads and to show you more relevant ads. Product 1, which well call taco bout it, is a geolocation enabled social networking mobile app that lets people who love tacos connect with other taco loving folks. Reliability, availability and maintainability crash course focuses on ram management actions in order to help attendees to ultimately enhance the performance of materiel systems reliability, availability and maintainability crash course will also discuss both design for ram and ram verification activities to provide the viewpoints of producer and customer. A study on estimating software maintenance found that the cost of maintenance is as high as 67% of the cost of entire software process cycle.

The scores for each of the factors assessed are then multiplied by the appropriate weighting and the resultant products are then summed to give an overall score which forms the maintainability measure of the system the lower the score, the better the maintainability of the software system. Ryan started upkeep out of passion and frustration by the lack of mobility in todays maintenance management software. Models are proposed for estimating the economic impacts of software complexity and for identifying the factors which affect a systems complexity. The standard definition of reliability is the probability of zero. Assessing software system maintainability using structural. The key factors in extending the evolution stage are integrity of the software architecture and preservation of the developers knowledge base. These engineering based factors of the relate to interior quality of the software like efficiency, documentation and structure. Reliability, availability and maintainability crash course provides a comprehensive training on the fundamental concepts of reliability, availability and maintainability ram and processes and techniques necessary to use ram in practice. System complexity measurement plays a vital role in controlling and managing software quality because it generally affects the software quality attributes like software reliability, software testability and software maintainability. A survey of key factors affecting software maintainability request. Developing maintainable software software sustainability. How to calculate and improve system availability fiix. Software maintenance, software maintainability, factors affecting maintainability, maintenance process, software. Humanfactors engineering, also called ergonomics or human engineering, science dealing with the application of information on physical and psychological characteristics to the design of devices and systems for human use the term humanfactors engineering is used to designate equally a body of knowledge, a process, and a profession.

Reusability is the extent to which parts of the software can be reused in other related applications. These factors play a crucial role in the maintainability assessments. A survey of key factors affecting software maintainability abstract. Reliability, availability, and maintainability ram are three system attributes that are of tremendous interest to systems engineers, logisticians, and users. Ram refers to three related characteristics of a system and its operational support. The summary of ten relevant factors surveyed from related literatures were tabled and questioned to whom involved in the building maintenance sectors.

Today software quality is a major point of concern and it is important to be able to assess the maintainability of a software system. This paper examines the relationships between software complexity and software maintainability in commercial software environments. Upkeep has now been deployed to over 1,000 businesses and is a leader in mobilefirst maintenance management software. Maintainability 4 factors affecting maintainability. This paper describes the several types of vital factors that affect the maintainability of software systems as proposed by different researchers in different software maintainability models. Rather, a number of factors contribute to code quality in the same way that several factors affect writing evaluation.

Packaging of components such that they can be repaired via remove and replace action vs. The approach taken is based upon output metrics for the entire project lifecycle, and includes project quality metrics. These factors should be inbuild in any good software. Jul 19, 2017 maintainability requirements are include in the initial capabilities document icd and capabilities development document cdd and flowed down to the system specification.

Keep your code clean with these essential tips for software quality. Comparative study of the factors that affect maintainability. Aug 14, 2019 in software failure cases, experts may analyze source code produced during a software project to determine whether poor code quality contributed to project failure. This paper describes the several types of vital factors that affect the maintainability of software systems as proposed by different researchers in different software.

Thus, it is necessary to analyze software quality by considering maintainability factors effectively throughout the entire software lifecycle. The maintainability of a system can be measured in. For example, maintainability but each of the factors is to be measured to check for the content and the quality control. Context factors contexts of software systems are considered in ferreira et al. Maintainability is the ability of an item to be retained in, or restored to, a specified condition. It addresses reliability, availability, and maintainability ram as essential. Some of the factors of software quality include reliability, reusability, maintainability and portability. Maintainability is the effort required to maintain the system in order to check the quality. The biggest factor is the experience and expertise of the developers working on the software. Oct 25, 2012 in this study, the factors affecting software maintenance cost were determined then were ranked based on their priority and after that effective ways to reduce the maintenance costs were presented. Assessment of factors affecting building maintenance and. Write different software quality factors by dinesh thakur category. System availability allows maintenance teams to determine how much of an impact they are having on. A survey of key factors affecting software maintainability.

Software maintainability and usability in agile environment. Software architecture appears to be one of the main factors affecting software maintainability. International journal for research in applied science. Reliability, maintainability and reliability growth. Maintainability is a component of a more general concept, software quality, which is described in terms of a hierachy see figure 1 em87 of factors, criteria and. The hard disk is filled with data this will use most of the memory leaving less memory for the operations of the processor. The smaller the space on the hard disk will result in a slower performance of the computer. Intrinsic factors contributing to maintainability are. In software failure cases, experts may analyze source code produced during a software project to determine whether poor code quality contributed to project failure. The main purpose of the paper is to identify the various factors from various categories that effect the maintenance. Several models of software quality factors and their categorization have been suggested over the years. Reliability and maintainability are two factors that are heavily influenced by maintenance. Maintainability is the effort required to maintain the system in order.

Its objectives are to define the concept of maintainability, to describe the factors influencing it and to define criteria by which maintainability can be quantitatively. Software reliability is the probability of failurefree software operation for a specified period of time in a specified environment. Maintenance of the software should be easy for any kind of user. The bigger the space on the hard disk will result to faster performance of the computer. Factors affecting effective software quality management. Modeling designcoding factors that drive maintainability of.

1010 1463 772 631 903 194 546 1130 1029 1340 1099 619 791 1349 254 586 1228 1045 1184 956 922 366 58 1050 114 1 789 869 1635 1372 80 605 418 503 974 997 1161 1485 645 1288 919 145 383 899 446