Maintainability .

172
• Maintainability https://store.theartofservice.com/the-maintainability- toolkit.html

Transcript of Maintainability .

Page 1: Maintainability .

• Maintainability

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 2: Maintainability .

Common Lisp Freely redistributable implementations

1 A branch from CMUCL. "Broadly speaking, SBCL is distinguished from CMU CL by a greater

emphasis on maintainability." SBCL runs on the platforms CMUCL does, except HP/UX; in

addition, it runs on Linux for AMD64, PowerPC, SPARC, MIPS, Windows x86 and has

experimental support for running on Windows AMD64. SBCL does not use an interpreter by

default; all expressions are compiled to native code unless the user switches the interpreter on. The SBCL compiler generates fast native

code.https://store.theartofservice.com/the-maintainability-toolkit.html

Page 3: Maintainability .

C Sharp (programming language) History

1 The LINQ extensions and the functional imports help developers reduce the amount of "boilerplate" code that is included in common tasks like querying a database, parsing an xml file, or searching

through a data structure, shifting the emphasis onto the actual program

logic to help improve readability and maintainability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 4: Maintainability .

Ada (programming language) Features

1 Code for complex systems is typically maintained for many years, by

programmers other than the original author. These language design principles apply to most software projects, and most

phases of software development, but when applied to complex, safety critical

projects, benefits in correctness, reliability, and maintainability take precedence over (arguable) costs in initial development.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 5: Maintainability .

Computer programming Quality requirements

1 Maintainability: the ease with which a program can be modified by its present or

future developers in order to make improvements or customizations, fix bugs

and security holes, or adapt it to new environments. Good practices during initial

development make the difference in this regard. This quality may not be directly

apparent to the end user but it can significantly affect the fate of a program

over the long term.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 6: Maintainability .

Computer programming Readability of source code

1 In computer programming, readability refers to the ease with

which a human reader can comprehend the purpose, control

flow, and operation of source code. It affects the aspects of quality above, including portability, usability and most importantly maintainability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 7: Maintainability .

American Society for Quality Certifications

1 1972 Reliability Engineer CREPrinciples of performance evaluation

for product and system safety, reliability, and maintainability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 8: Maintainability .

Database model Relationships and functions

1 A given database management system may provide one or more of the five models. The

optimal structure depends on the natural organization of the application's data, and on the application's requirements, which include

transaction rate (speed), reliability, maintainability, scalability, and cost. Most database management systems are built

around one particular data model, although it is possible for products to offer support for

more than one model.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 9: Maintainability .

Failure mode and effects analysis Detection (D)

1 This is important for maintainability control (Availability of the system)

and it is specially important for multiple failure scenarios

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 10: Maintainability .

Quality control Total quality control

1 For instance, the design of a pressure vessel should include not only the material and dimensions, but also operating, environmental, safety,

reliability and maintainability requirements, and documentation of findings about these requirements

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 11: Maintainability .

Kernel (computing) - Kernel-wide design approaches

1 While execute all of their code in the same address space (kernel space) microkernels try to run most of their

services in user space, aiming to improve maintainability and modularity of the codebase

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 12: Maintainability .

Software quality

1 Software structural quality refers to how it meets non-functional

requirements that support the delivery of the functional

requirements, such as robustness or maintainability, the degree to which the software was produced correctly.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 13: Maintainability .

Software quality

1 Based on these models, the Consortium for IT Software Quality

(CISQ) has defined five major desirable structural characteristics needed for a piece of software to

provide business value: Reliability, Efficiency, Security, Maintainability

and (adequate) Size.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 14: Maintainability .

Software quality - Motivation

1 However, the distinction between measuring and improving software

quality in an embedded system (with emphasis on risk management) and software quality in business software

(with emphasis on cost and maintainability management) is becoming somewhat irrelevant

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 15: Maintainability .

Software quality - Maintainability

1 Rather, poor maintainability is typically the result of thousands of minor violations with best practices

in documentation, complexity avoidance strategy, and basic

programming practices that make the difference between clean and

easy-to-read code vs

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 16: Maintainability .

Software quality - Maintainability

1 Assessing maintainability requires checking the following software engineering best practices and

technical attributes:

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 17: Maintainability .

Software quality - Maintainability

1 Maintainability is closely related to Ward Cunningham's concept of technical debt, which is an expression of the costs resulting of a lack

of maintainability. Reasons for why maintainability is low can be classified as reckless vs. prudent and deliberate vs.

inadvertent, and often have their origin in developers' inability, lack of time and goals, their carelessness and discrepancies in the

creation cost of and benefits from documentation and, in particular, maintainable

source code.https://store.theartofservice.com/the-maintainability-toolkit.html

Page 18: Maintainability .

Software architecture - Software architecture characteristics

1 Jackson Structured Programming) were driven by required functionality and the flow of data through the system, but the current insight is that the architecture of a software system is more closely related

to its quality attributes such as fault-tolerance, backward compatibility,

extensibility, reliability, maintainability, availability, security, usability, and other

such –ilities

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 19: Maintainability .

Software architecture - Architecture activities

1 development-time non-functional requirements such as maintainability

and transferability defined in ISO 25010:2011 standard

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 20: Maintainability .

Software architecture - Software architecture erosion

1 As an example, consider a strictly layered system, where each layer can only use

services provided by the layer immediately below it. Any source code component that does not observe this constraint represents an architecture violation. If not corrected,

such violations can transform the architecture into a monolithic block, with

adverse effects on understandability, maintainability, and evolvability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 21: Maintainability .

Erlang (programming language) - Concurrency and distribution orientation

1 Concurrency supports the primary method of error-handling in Erlang. When a process crashes, it neatly exits and sends a message to the controlling process which can take action. This way of error handling

increases maintainability and reduces complexity of code.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 22: Maintainability .

Template metaprogramming - Benefits and drawbacks of template metaprogramming

1 Template metaprogramming allows the programmer to focus on

architecture and delegate to the compiler the generation of any

implementation required by client code. Thus, template

metaprogramming can accomplish truly generic code, facilitating code

minimization and better maintainability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 23: Maintainability .

Software testing - Defects and failures

1 Not all software defects are caused by coding errors. One common source of

expensive defects is requirement gaps, e.g., unrecognized requirements which

result in errors of omission by the program designer. Requirement gaps can

often be non-functional requirements such as testability, scalability,

maintainability, usability, performance, and security.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 24: Maintainability .

Software testing - Measurement in software testing

1 Usually, quality is constrained to such topics as correctness,

completeness, security, but can also include more technical requirements as described under the ISO standard

ISO/IEC 9126, such as capability, reliability, efficiency, portability,

maintainability, compatibility, and usability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 25: Maintainability .

Objective-C - Categories

1 During the design of Objective-C, one of the main concerns was the maintainability of large code bases. Experience from the structured programming world had shown

that one of the main ways to improve code was to break it down into smaller

pieces. Objective-C borrowed and extended the concept of categories from Smalltalk implementations to help with

this process.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 26: Maintainability .

Reliability engineering

1 Maintainability and maintenance may be defined as a part of reliability engineering

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 27: Maintainability .

Reliability engineering - Reliability and availability program plan

1 A reliability program plan is essential for achieving high levels of reliability, testability,

maintainability and the resulting system Availability and is developed early during system development and refined over the

systems life-cycle. It specifies not only what the reliability engineer does, but also the tasks

performed by other stakeholders. A reliability program plan is approved by top program

management, which is responsible for allocation of sufficient resources for its implementation.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 28: Maintainability .

Reliability engineering - Reliability and availability program plan

1 Testability of a system should also be addressed in the plan as this is the

link between reliability and maintainability

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 29: Maintainability .

Reliability engineering - Reliability and availability program plan

1 RAMT stands in this case for Reliability, Availability,

Maintainability/Maintenance and Testability in context to the customer

needs.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 30: Maintainability .

Reliability engineering - Reliability requirements

1 For any system, one of the first tasks of reliability engineering is to

adequately specify the reliability and maintainability requirements derived

from the overall availability needs

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 31: Maintainability .

Reliability engineering - Reliability requirements

1 The maintainability requirements address the costs of repairs as well

as repair time. Testability requirements provide the link

between reliability and maintainability and should address detectability of failure modes (on a particular system level), isolation

levels and the creation of diagnostics (procedures).

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 32: Maintainability .

Reliability engineering - Design for reliability

1 Maintainability parameters, for example MTTR, are other inputs for these models.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 33: Maintainability .

Reliability engineering - Reliability organizations

1 There are several common types of reliability organizations. The project manager or chief engineer may employ one or more reliability engineers directly. In larger organizations,

there is usually a product assurance or specialty engineering organization, which

may include reliability, maintainability, quality, safety, human factors, logistics, etc. In such case, the reliability engineer reports

to the product assurance manager or specialty engineering manager.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 34: Maintainability .

Reliability engineering - Further reading

1 Ebeling, Charles E., (1997), An Introduction to Reliability and

Maintainability Engineering, McGraw-Hill Companies, Inc., Boston.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 35: Maintainability .

Reliability engineering - US standards, specifications, and handbooks

1 DoD 3235.1-H (3rd Ed) Test and Evaluation of System Reliability,

Availability, and Maintainability (A Primer), U.S. Department of Defense

(March 1982) .

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 36: Maintainability .

Reliability engineering - UK standards

1 PART 2: Issue 1: IN-SERVICE MAINTAINABILITY

DEMONSTRATIONS

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 37: Maintainability .

Reliability engineering - UK standards

1 DEF STAN 00-49 Issue 1: RELIABILITY AND MAINTAINABILITY MOD GUIDE TO

TERMINOLOGY DEFINITIONS

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 38: Maintainability .

Object-oriented programming - History

1 Object-oriented features have been added to many previously existing languages, including Ada, BASIC,

Fortran, Pascal, and COBOL. Adding these features to languages that

were not initially designed for them often led to problems with

compatibility and maintainability of code.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 39: Maintainability .

Object-oriented programming - OOP and control flow

1 OOP was developed to increase the reusability and maintainability of

source code. Transparent representation of the control flow had

no priority and was meant to be handled by a compiler. With the increasing relevance of parallel

hardware and multithreaded coding, developing transparent control flow

becomes more important, something hard to achieve with OOP.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 40: Maintainability .

Domain-specific language - Advantages and disadvantages

1 Domain-specific languages enhance quality, productivity, reliability, maintainability, portability and

reusability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 41: Maintainability .

IDEF4 - History

1 The development of IDEF4 came from the recognition that the modularity,

maintainability and code reusability that results from the object-oriented programming paradigm can be realized in traditional data

processing applications. The proven ability of the object-oriented programming paradigm to support data level integration in large complex

distributed systems is also a major factor in the widespread interest in this technology from

the traditional data processing community.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 42: Maintainability .

Software prototyping - Throwaway prototyping

1 Requirements can be identified, simulated, and tested far more

quickly and cheaply when issues of evolvability, maintainability, and software structure are ignored

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 43: Maintainability .

Modular programming

1 Conceptually, modules represent a separation of concerns, and improve maintainability by enforcing logical boundaries between components

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 44: Maintainability .

Safety

1 Safety is often seen as one of a group of related disciplines: quality, reliability, availability, maintainability and safety.

(Availability is sometimes not mentioned, on the principle that it is a simple function of

reliability and maintainability.) These issues tend to determine the value of any work, and

deficits in any of these areas are considered to result in a cost, beyond the cost of addressing the area in the first place; good management

is then expected to minimize total cost.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 45: Maintainability .

Imperative programming - Imperative, procedural, and declarative programming

1 From the 1960s onwards, structured programming and modular

programming in general have been promoted as techniques to improve

the maintainability and overall quality of imperative programs

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 46: Maintainability .

ISO/IEC 9126 - Quality Model

1 Maintainability - A set of attributes that bear on the effort needed to

make specified modifications.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 47: Maintainability .

ISO/IEC 9126 - Developments

1 Maintainability has new subcharacteristics of Modularity

(changed in one component has a minimal impact on others) and

Reusability, and Changeability and Stability are rolled up into

Modifiability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 48: Maintainability .

Software maintenance

1 The key software maintenance issues are both managerial and technical.

Key management issues are: alignment with customer priorities, staffing, which organization does

maintenance, estimating costs. Key technical issues are: limited

understanding, impact analysis, testing, maintainability

measurement.https://store.theartofservice.com/the-maintainability-toolkit.html

Page 49: Maintainability .

Software maintenance - Importance of software maintenance

1 Preventive – increasing software maintainability or reliability to prevent

problems in the future

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 50: Maintainability .

Software maintenance - Software maintenance planning

1 According to IEEE[2, 3], corrective maintenance is the reactive modification of software product performed after delivery to correct discovered

faults, adaptive maintenance is the modification of a software product performed after delivery to keep software usable in a changed or changing

environment, perfective maintenance is the modification of a software product after delivery to improve performance or maintainability and preventive maintenance is performed for the purpose of preventing problems before they

occur

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 51: Maintainability .

Software maintenance - Categories of maintenance in ISO/IEC 14764

1 Perfective maintenance: Modification of a software product after delivery

to improve performance or maintainability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 52: Maintainability .

Software maintenance - Categories of maintenance in ISO/IEC 14764

1 Things like compliance with coding standards that includes software maintainability goals

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 53: Maintainability .

Systems engineering - Related fields and sub-fields

1 It is closely associated with maintainability, availability and logistics engineering

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 54: Maintainability .

Interface-based programming

1 Modular Programming defines the application as a collection of intercoupled modules. This increases the modularity of

the application and hence its maintainability. The total system complexity is greatly

reduced. Interface Based Programming adds more to modular Programming in that it insists that Interfaces are to be added to these modules. The entire system is thus viewed as Components and the interfaces

that helps them to coact.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 55: Maintainability .

Enterprise architecture - Benefits of enterprise architecture

1 EA is also referred as "Everything Aligned" as the Business-Technology

alignment is achieved through EA as a vehicle. The Business and Technology

parameters like Availability, Scalability, Security, Interoperability, Maintainability, Lower Cost, Extendability and Reliability

can be improved through EA. These critical Business-Technology parameters

are called ASSIMPLER parameters.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 56: Maintainability .

Software design - Design considerations

1 Maintainability - A measure of how easily bug fixes or functional

modifications can be accomplished. High maintainability can be the

product of modularity and extensibility.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 57: Maintainability .

Software design - Design considerations

1 Modularity - the resulting software comprises well defined, independent

components. That leads to better maintainability. The components could be then implemented and tested in isolation before being

integrated to form a desired software system. This allows division of work in a software development project.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 58: Maintainability .

Availability - Introduction

1 However, because the uncertainties in the reliability estimates are in

most cases very large, it is likely to dominate the availability (prediction

uncertainty) problem, even while maintainability levels are very high.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 59: Maintainability .

Availability - Introduction

1 So, Maintainability and Maintenance strategies influences the availability of a

system

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 60: Maintainability .

Availability - Introduction

1 RAMT stands in this case for Reliability, Availability,

Maintainability/Maintenance and Testability in context to the customer

needs.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 61: Maintainability .

Code refactoring

1 Code refactoring is a "disciplined technique for restructuring an existing body of code,

altering its internal structure without changing its external behavior", undertaken

in order to improve some of the nonfunctional attributes of the software. Advantages include improved code readability and

reduced complexity to improve the maintainability of the source code, as well as

a more expressive internal architecture or object model to improve extensibility.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 62: Maintainability .

Code refactoring - Overview

1 Maintainability. It is easier to fix bugs because the source code is easy to read and the intent of its author is

easy to grasp. This might be achieved by reducing large

monolithic routines into a set of individually concise, well-named,

single-purpose methods. It might be achieved by moving a method to a

more appropriate class, or by removing misleading comments.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 63: Maintainability .

Lean software development - Build integrity in

1 Conceptual integrity means that the system’s separate components work

well together as a whole with balance between flexibility,

maintainability, efficiency, and responsiveness

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 64: Maintainability .

Web engineering

1 However, a vast majority of these applications continue to be

developed in an ad-hoc way, contributing to problems of usability, maintainability, quality and reliability

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 65: Maintainability .

Quality of service - Qualities of traffic

1 In packet-switched networks, quality of service is affected by various

factors, which can be divided into “human” and “technical” factors. Human factors include: stability of

service, availability of service, delays, user information. Technical

factors include: reliability, scalability, effectiveness, maintainability, grade

of service, etc.https://store.theartofservice.com/the-maintainability-toolkit.html

Page 66: Maintainability .

Parasoft - Technologies

1 The static code analysis practice identifies coding issues that lead to

security, reliability, performance, and maintainability issues later on

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 67: Maintainability .

Configuration management - Introduction

1 The CM process facilitates orderly management of system information

and system changes for such beneficial purposes as to revise

capability; improve performance, reliability, or maintainability; extend

life; reduce cost; reduce risk and liability; or correct defects

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 68: Maintainability .

Requirement - Types of requirement

1 Usually detailed statements of the conditions under which the solution must remain effective, qualities that

the solution must have, or constraints within which it must

operate. Examples include: Reliability, Testability,

maintainability, Availability. They are also known as characteristics,

constraints or the ilities'.https://store.theartofservice.com/the-maintainability-toolkit.html

Page 69: Maintainability .

Anti-pattern - Methodological

1 Premature optimization: Coding early-on for perceived efficiency,

sacrificing good design, maintainability, and sometimes even

real-world efficiency

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 70: Maintainability .

Artifact (software development)

1 Maintainability is primarily effected by the role the artifact

fulfills

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 71: Maintainability .

Middleware analyst - Best practices for implementations

1 Middleware best practices encompass generally accepted

principles to promote usability and maintainability. A selected few examples of best practices are

included here to provide valuable insight and enlightenment as to how middleware addresses key principles

of standards-based computing.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 72: Maintainability .

Maintainability

1 In engineering, maintainability is the ease with which a product can be maintained in

order to:

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 73: Maintainability .

Maintainability

1 In some cases, maintainability involves a system of continuous

improvement - learning from the past in order to improve the ability to

maintain systems, or improve reliability of systems based on

maintenance experience.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 74: Maintainability .

Maintainability

1 In telecommunication and several other engineering fields, the term maintainability has the following

meanings:

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 75: Maintainability .

Maintainability - Software engineering

1 The maintainability index is calculated with certain formulae from

lines-of-code measures, McCabe measures and Halstead complexity

measures.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 76: Maintainability .

Maintainability - Software engineering

1 The measurement and track maintainability are intended to help

reduce or reverse a system's tendency toward "code entropy" or degraded integrity, and to indicate

when it becomes cheaper and/or less risky to rewrite the code than it is to

change it.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 77: Maintainability .

Maintainability - Further reading

1 Ebeling C. E., An Introduction to Reliability and Maintainability

Engineering, McGraw-Hill Companies, Inc., Boston 1997.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 78: Maintainability .

Quality assurance - Total quality management

1 If the specification does not reflect the true quality requirements, the

product's quality cannot be guaranteed. For instance, the

parameters for a pressure vessel should cover not only the material

and dimensions but operating, environmental, safety, reliability and

maintainability requirements.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 79: Maintainability .

Test automation - Graphical User Interface (GUI) testing

1 However, reliance on these features poses major reliability and maintainability problems

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 80: Maintainability .

Best coding practices - Architecture

1 Any non-functional system requirements (response time,

reliability, maintainability, etc.) need to be considered at this stage.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 81: Maintainability .

Best coding practices - Code Building

1 Best coding evolves from following proper coding standards and

guidelines. Appropriate Comments for each and every line of code

makes code maintainability much easier. A best code should have

reusable components.A brief description of the aforementioned

points is given below.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 82: Maintainability .

Database-centric architecture

1 For example, Toon Koppelaars presents a detailed analysis of

alternative Oracle-based architectures that vary in the placement of business logic,

concluding that a database-centric approach has practical advantages

from the standpoint of ease of development and maintainability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 83: Maintainability .

Library Oriented Architecture - Benefits

1 Increase the Maintainability Index of your distributed systems and integration

repositories.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 84: Maintainability .

Non-functional requirement

1 Evolution qualities, such as testability, maintainability,

extensibility and scalability, which are embodied in the static structure

of the software system.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 85: Maintainability .

Software quality - CISQ's Quality model

1 Maintainability: Maintainability includes the notion of adaptability, portability and transferability (from one development team to another).

Measuring and monitoring maintainability is a must for mission-critical applications where change is

driven by tight time-to-market schedules and where it is important

for IT to remain responsive to business-driven changes. It is also

essential to keep maintenance costs under control.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 86: Maintainability .

Software quality - CISQ's Quality model

1 Size: While not a quality attribute per se, the sizing of source code is a

software characteristic that obviously impacts maintainability. Combined

with the above quality characteristics, software size can be used to assess the amount of work produced and to be done by teams, as well as their productivity through correlation with time-sheet data, and

other SDLC-related metrics.https://store.theartofservice.com/the-maintainability-toolkit.html

Page 87: Maintainability .

Dependability - History

1 Maintainability: to undergo

modifications and repairs

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 88: Maintainability .

Dependability - Attributes

1 Maintainability - ability for a process to undergo

modifications and repairs

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 89: Maintainability .

Coding conventions - Quality

1 Even for the original author, consistently coded software eases

maintainability. There is no guarantee that an individual will

remember the precise rationale for why a particular piece of code was written in a certain way long after

the code was originally written. Coding conventions can help. Consistent use of whitespace

improves readability and reduces the time it takes to understand the

software.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 90: Maintainability .

MIL-STD-188 - Purpose

1 The mandatory use of these standards will aid significantly in

achieving standardization and result in improvements in availability, maintainability, reliability, and supportability. This, in turn, will enhance lifecycle configuration

management and logistic support with subsequent reductions in life

cycle costs.https://store.theartofservice.com/the-maintainability-toolkit.html

Page 91: Maintainability .

Visual Basic .NET - Relation to older versions of Visual Basic (VB6 and previous)

1 The changes have altered many underlying assumptions about the right thing to do with respect to performance and maintainability

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 92: Maintainability .

Beta testing - Measurement in software testing

1 Usually, quality is constrained to such topics as correctness (computer science)|

correctness, completeness, computer security audit|security, but can also include more technical requirements as described under the International Organization for

Standardization|ISO standard ISO/IEC 9126, such as capability, Reliability engineering|reliability, algorithmic efficiency|efficiency,

Porting|portability, maintainability, compatibility, and usability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 93: Maintainability .

Performance measurement - Performance measurement in engineering

1 Performance measurement are carried out in the design, building, operation and maintenance of systems, machines, devices, structures, materials and processes. In design, performance

measurement can be of physical properties, parameters, etc., while in maintenance,

repair, and operations, and reliability engineering, failures, downtime, uptime,

maintainability and OEE are common measures.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 94: Maintainability .

Packaging - Packaging machines

1 A choice of packaging machinery includes: technical capabilities, labor requirements,

worker safety, maintainability, serviceability, reliability engineering|reliability, ability to

integrate into the packaging line, capital cost, floorspace, flexibility (change-over, materials, etc.), energy usage, Quality control|quality of outgoing packages, qualifications (for food,

pharmaceuticals, etc.), throughput, efficiency, productivity, ergonomics, return

on investment, etc.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 95: Maintainability .

Logistics - Logistics fields

1 'RAM Logistics' (see also Logistic engineering) combines both

'business logistics' and 'military logistics' since it is concerned with highly complicated technological

systems for which Reliability (engineering)|Reliability, Availability and Maintainability are essential, ex:

telecommunication systems and military supercomputers.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 96: Maintainability .

Logistics - Military logistics

1 Military have a significant need for logistics solutions and so have developed advanced

implementations. Integrated Logistics Support (ILS) is a discipline used in military industries to ensure an easily supportable

system with a robust customer service (logistic) concept at the lowest cost and in line with (often high) reliability, availability, maintainability, and other requirements, as

defined for the project.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 97: Maintainability .

Systems Design Engineering - Related fields and sub-fields

1 It is closely associated with maintainability, availability and

logistic engineering|logistics engineering

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 98: Maintainability .

Straight-six engine - Straight-six diesel engines

1 Unlike passenger cars, compactness is not an important criteria for these

applications, while the additional reliability and maintainability of a

straight-six diesel engines is.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 99: Maintainability .

Communications-based train control - Risks

1 In principle, CBTC systems may be designed with centralized supervision

systems in order to improve maintainability and reduce

installation costs

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 100: Maintainability .

Feasibility study - Common factors

1 These include such design-dependent parameters such as

reliability, maintainability, supportability, usability, producibility,

disposability, sustainability, affordability and others

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 101: Maintainability .

Coupling (computer science)

1 Low coupling is often a sign of a well-structured Computer|computer

system and a good design, and when combined with high cohesion,

supports the general goals of high readability and maintainability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 102: Maintainability .

Entity-attribute-value model - The critical role of metadata in EAV systems

1 Metadata-browsing and metadata-reporting tools are therefore

important in ensuring the maintainability of an EAV system

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 103: Maintainability .

Web development - Server side coding

1 However, a vast majority of these applications continue to be

developed in an ad-hoc way, contributing to problems of usability, maintainability, quality and reliability.(1)(2) While web development can benefit from established practices

from other related disciplines, it has certain distinguishing characteristics that demand special considerations

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 104: Maintainability .

Web (web browser) - Galeon fork

1 While Gritti regarded Galeon's monolithic design and the number of user-configurable features as factors limiting Galeon's maintainability and user base expansion, the rest of the

Galeon developers believed that more features should be added

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 105: Maintainability .

Web (web browser) - Modularity

1 Up until version 3.6, Web was extensible with a plugin system called Web extensions.

This package was distributed by the developers of Web and contained the

official extensions. For version 3.8, this system was removed because of problems

with stability and maintainability, with some popular extensions being moved to the core application instead. A new, out-of-process plugin system is planned for the future.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 106: Maintainability .

DevOps

1 Simple processes become clearly articulating, simple processes under DevOps. The goal is to maximize the predictability, efficiency, security and

maintainability of operational processes. This objective is very often supported by automation.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 107: Maintainability .

VHDL - Design examples

1 In the examples that follow, you will see that VHDL code can be written in a very

compact form. However, the experienced designers usually avoid these compact

forms and use a more verbose coding style for the sake of readability and

maintainability. Another advantage to the verbose coding style is the smaller amount of resources used when programming to a

Programmable Logic Device such as a CPLD .

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 108: Maintainability .

Industrial Ethernet - Application environment

1 Industrial Ethernet networks must interoperate with both current and legacy systems, and must provide

predictable performance and maintainability

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 109: Maintainability .

Service life

1 Expected service life consists of Product Life Cycle Management|business policy, using tools and

calculations from maintainability and Reliability engineering|reliability analysis. Service life is a unique commitment made by the item's

manufacturer and is usually specified as a median. Actual service life is the maximal recorded life of a product.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 110: Maintainability .

TenFourFox - Features

1 Furthermore, for security and maintainability reasons, NPAPI|NPAPI plugins support is deprecated, and has been subsequently removed.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 111: Maintainability .

Wayland (display server protocol) - Differences between Wayland and X

1 There are several differences between Wayland and X in regards to performance, code maintainability and security. Wayland delegates many tasks to the client such as

drawing, font rendering, and multiple monitor support. With the client handling the

tasks, less code needs to run with root privileges, improving security. Another added

security feature compared to X is that the screensaver/locker is always a part of the

compositor.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 112: Maintainability .

Software build - Code Quality

1 Ensuring a project has high quality code results in fewer bugs and

influences nonfunctional requirements such as maintainability,

extensibility and readability, which have a direct impact on the ROI for

your business.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 113: Maintainability .

Mlpy

1 mlpy provides a wide range of state-of-the-art machine learning methods

for supervised and unsupervised problems and it is aimed at finding a

reasonable compromise among modularity, maintainability, reproducibility, usability and

efficiency

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 114: Maintainability .

List of Linux adopters - Education

1 To some extent, technical competence of computer science and

software engineering academics is also a contributor, as is stability, maintainability, and upgradability

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 115: Maintainability .

Kernel (computer science) - Kernel-wide design approaches

1 While monolithic kernels execute all of their code in the same address

space (kernel space) microkernels try to run most of their services in user

space, aiming to improve maintainability and modularity of the

codebase

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 116: Maintainability .

Xenomai - Xenomai vs. RTAI

1 While RTAI is focused on lowest technically feasible latencies, Xenomai also considers clean

extensibility (RTOS skins), portability, and maintainability as very important

goals

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 117: Maintainability .

Disk array

1 Typically a disk array provides increased availability, resiliency, and

maintainability by using existing components (controllers, power

supplies, fans, etc.), often up to the point where all single point of failure|

single points of failure (SPOFs) are eliminated from the design.

Additionally, disk array components are often hot-swappable.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 118: Maintainability .

Application Portfolio Management - Evolution of the Practice

1 The first need in any organization is to understand what applications exist and their main characteristics (such as flexibility, maintainability, owner,

etc.), typically referred to as the 'Inventory'

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 119: Maintainability .

Application Portfolio Management - Business case for APM

1 This enables firms to: 1) identify and eliminate partially and wholly redundant applications, 2) quantify the condition of applications in terms of stability, quality,

and maintainability, 3) quantify the business value / impact of applications and the

relative importance of each application to the business, 4) allocate resources

according to the applications' condition and importance in the context of business

prioritieshttps://store.theartofservice.com/the-maintainability-toolkit.html

Page 120: Maintainability .

Defense Technical Information Center - DoD Sponsored IACs Operated by DTIC

1 *Reliability Information Analysis Center (RIAC): Technical focal point

for information, data, analysis, training, and technical assistance in the engineering fields of Reliability,

Maintainability, Quality, Supportability, and Interoperability

(RMQSI). http://www.theriac.org/

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 121: Maintainability .

Optimization (computer science) - Levels of optimization

1 Avoiding poor quality coding can also improve performance, by avoiding

obvious slowdowns. After that, however, some optimizations are possible that actually decrease

maintainability. Some, but not all, optimizations can nowadays be

performed by optimizing compilers.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 122: Maintainability .

Optimization (computer science) - Time taken for optimization

1 Optimizing existing code usually does not add new features, and worse, it might add

new Software bug|bugs in previously working code (as any change might).

Because manually optimized code might sometimes have less readability than unoptimized code, optimization might

impact maintainability of it as well. Optimization comes at a price and it is

important to be sure that the investment is worthwhile.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 123: Maintainability .

Coroutine - Implementations for C

1 The use of such a device truly can improve the writability, readability and maintainability of a piece of

code, but is likely to prove controversial

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 124: Maintainability .

Logistic engineering

1 It is the science and process whereby reliability, maintainability, and availability are designed into

products or systems

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 125: Maintainability .

Unobtrusive JavaScript - Separation of behavior from markup

1 Adherents to Unobtrusive JavaScript argue that the purpose of markup is to describe a document's structure, not its programmatic behavior and that combining the two negatively impacts a site's maintainability for

similar reasons that combining separation of presentation and

content|content and presentation doeshttps://store.theartofservice.com/the-maintainability-toolkit.html

Page 126: Maintainability .

Refactoring

1 Advantages include improved code readability and reduced Cyclomatic complexity|complexity to improve source code maintainability, and create a more expressive internal

Software architecture|architecture or object model to improve extensibility.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 127: Maintainability .

Refactoring - Overview

1 # Maintainability. It is easier to fix bugs because the source code is easy to read and the intent of its

author is easy to grasp. This might be achieved by reducing large

monolithic routines into a set of individually concise, well-named,

single-purpose methods. It might be achieved by moving a method to a

more appropriate class, or by removing misleading comments.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 128: Maintainability .

Air Force Systems Command - Vietnam era and aftermath

1 Major gains were made in operational readiness rates through the

Reliability and Maintainability (RM) 2000 program.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 129: Maintainability .

Object-oriented - History

1 Object-oriented features have been added to many previously existing

languages, including Ada (programming language)|Ada, BASIC,

Fortran, Pascal (programming language)|Pascal, and COBOL.

Adding these features to languages that were not initially designed for them often led to problems with

compatibility and maintainability of code.https://store.theartofservice.com/the-maintainability-toolkit.html

Page 130: Maintainability .

Object-oriented - OOP and control flow

1 OOP was developed to increase the Code reuse|reusability and Software maintenance|maintainability of source code. Transparent representation of the control flow had no

priority and was meant to be handled by a compiler. With the increasing relevance of parallel hardware and Thread (computer

science)|multithreaded coding, developing transparent control flow becomes more

important, something hard to achieve with OOP.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 131: Maintainability .

Automatic Car Identification - Development

1 Each location had its advantages and disadvantages in terms of cost and

maintainability

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 132: Maintainability .

Defence Science and Technology Agency - Systems Engineering

1 * Act as a technical authority in the speciality areas of reliability,

maintainability, systems safety, total cost of ownership, environmental

qualification and resource optimisation

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 133: Maintainability .

Ultrix - Last release

1 Again, the UEG (by now the Ultrix Engineering Group) worked at

making the new OSF/1-based Digital Unix run well on DEC hardware, with the reliability and maintainability that

people came to expect from DEC operating systems.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 134: Maintainability .

Apache Empire-db

1 Empire-db's aim is to provide better software quality and improved

maintainability through increased compile-time safety and reduced

redundancy of metadata. Additionally applications may benefit from better performance due to full control over SQL statements and their execution by the developer compared to most

OR-Mapping solutions.https://store.theartofservice.com/the-maintainability-toolkit.html

Page 135: Maintainability .

Extensibility

1 These excess capabilities are not frills, but are necessary for

maintainability and for avoiding early obsolescence

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 136: Maintainability .

PmWiki - Customization

1 PmWiki follows a design philosophy http://www.pmwiki.org/wiki/PmWiki/P

mWikiPhilosophy with the main objectives of ease of installation, maintainability, and keeping non-required features out of the core

distribution of the software

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 137: Maintainability .

M4 carbine - Performance

1 This has come at the cost of reliability and maintainability

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 138: Maintainability .

WxPython - Project Phoenix

1 Project Phoenix is an effort to make wxPython compatible with Python 3 which began in 2012.

This project is a new implementation of wxPython focused on improving speed,

maintainability and extensibility. Just like Classic wxPython it wraps the wxWidgets C++ toolkit

and provides access to the user interface portions of the wx API, enabling Python

applications to have a GUI on Windows, Macs or Unix systems with a native look and feel and requiring very little (if any) platform specific

code.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 139: Maintainability .

Process modeling - Quality of models

1 study the connection mainly between count metrics (for example, the number of tasks or splits -and

maintainability of software process models; Cardoso validates the

correlation between control flow complexity and perceived

complexity; and Mendling et al

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 140: Maintainability .

HP LaserJet - 1990s

1 In the network laser printer market, the 5Si series was succeeded by the 8000, and later by

the 8100 and 8150. The 8000 brought 1200x1200-dpi resolution, which was continued

in the 8100 and 8150. The 8100 and 8150 brought faster printing (32 pages per minute),

but this speed was only realized for single-sided (simplex) printing; double-sided printing remained at 24 pages per minute. These

models, which used the Canon WX engine, provided excellent durability and good

maintainability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 141: Maintainability .

High availability - Reasons for unavailability

1 Fourth International Workshop on Software Quality and Maintainability

(WSQM 2010), Madrid, [http://www.kth.se/ees/forskning/publikationer/modules/publications_polop

oly/reports/2010/IR-EE-ICS_2010_047.pdf?l=en_UK]

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 142: Maintainability .

ZK (framework) - Features

1 * Support for Model-View-Presenter[ http://books.zkoss.org/wiki/Small%20Talks/20

11/November/Hello%20ZK%20MVVM#MVP_Implementation] and Model-

View-ViewModel (MVVM)[ http://books.zkoss.org/wiki/Small_Talks/2011/

November/MVVM_in_ZK_6_-_Design_your_first_MVVM_page] design patterns that decouples the controller

furthermore to minimize the code required and to maximize the maintainability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 143: Maintainability .

AUTOSAR

1 This includes the standardization of basic systems functions, scalability to different

vehicle and platform variants, transferability throughout the network,

System integration|integration from multiple suppliers, maintainability

throughout the entire Product lifecycle (marketing)|product life-cycle and software updates and Software upgrade|upgrades over the vehicle's lifetime as some of the

key goals.https://store.theartofservice.com/the-maintainability-toolkit.html

Page 144: Maintainability .

AUTOSAR - Goals

1 * Maintainability throughout the whole Product Life Cycle

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 145: Maintainability .

Base One Foundation Component Library - Design

1 BFC is based on a database-centric architecture whose cross-DBMS data

dictionary plays a central role in supporting data security, data

validation|validation, Optimization (computer science)|optimization, and

maintainability features

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 146: Maintainability .

Kelly Air Force Base - Post-Vietnam era

1 As good as the C-5A was, Lockheed and the Air Force began plans to

incorporate reliability and maintainability factors into the large

cargo plane, producing the C-5B during the early 1980s. The Galaxy B fleet added 7.5 million cargo tons per day to the United States military

strategic airlift capability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 147: Maintainability .

Materials MASINT

1 In contrast, a materials MASINT analyst would collect information on the weapon

principally through remote sensing directed on the enemy's use of the weapon. The

materials MASINT analysis may learn more about the way the enemy actually uses the

weapon, while the technical intelligence analyst may understand more about the manufacture, maintainability, and skills

required to use the weapon.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 148: Maintainability .

Requirements - Types of requirement

1 103-136 Examples include: Reliability, Testability, maintainability, Availability

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 149: Maintainability .

VB.NET - Comparison with the classic Visual Basic

1 The changes have altered many underlying assumptions about the right thing to do with respect to performance and maintainability

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 150: Maintainability .

Geophysical MASINT - Temperature and Salinity

1 service life extension In 1994-5, the maintainability of the in-service units became

critical.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 151: Maintainability .

PDP-11 - Models that were planned but never introduced

1 The 11/74 was cancelled because of concern for its field maintainability, though employees believed the real reason was that it outperformed the

11/780 (see, for example [http://www.classiccmp.org/pipermail/cctech/2006-February/057197.html])

and would inhibit its sales

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 152: Maintainability .

Domain-specific programming language - Advantages and disadvantages

1 * Domain-specific languages enhance quality, productivity,

reliability, maintainability, Portability (computer science)|portability and

reusability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 153: Maintainability .

Modularity (programming)

1 Conceptually, modules represent a separation of concerns, and improve maintainability by enforcing logical boundaries between components

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 154: Maintainability .

Tiger Team

1 Williams, Program Management in Design and Development, in Third Annual Aerospace Reliability and

Maintainability Conference, Society of Automotive Engineers, 1964, [http://books.google.com/books?

id=lv0pAQAAIAAJq=%22tiger%20team%22 p

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 155: Maintainability .

Engineering design process - Establishing the design requirements

1 Some design requirements include hardware and software parameters,

maintainability, availability, and testability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 156: Maintainability .

United States Military Standard - Origins and evolution

1 Defense standards evolved from the need to ensure proper performance, maintainability and reparability (ease

of maintenance, repair, and operations|MRO), and logistical

usefulness of military equipment

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 157: Maintainability .

Integrated Logistics Support - ILS Defined

1 The impact of ILS is often measured in terms of Performance metric|

metrics such as Reliability engineering|reliability, availability,

maintainability and testability (RAMT), and sometimes System

Safety (RAMS).

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 158: Maintainability .

Integrated Logistics Support - Adoption

1 *'Influence on Design'. Integrated Logistic Support will provide

important means to identify (as early as possible) reliability issues /

problems and can initiate system or part design improvements based on reliability, maintainability, testability

or system availability analysis

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 159: Maintainability .

Integrated Logistics Support - Maintenance planning

1 *Set up specific criteria for repair, including Built-In Test Equipment (BITE) requirements, testability, reliability, and maintainability;

support equipment requirements; automatic test equipment; and

manpower skills and facility requirements.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 160: Maintainability .

IEEE Reliability Society - Conferences

1 * [http://www.rams.org Reliability and Maintainability Symposium]

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 161: Maintainability .

Government contract - Planning

1 Today, the military needs equipment that works where it is needed, is dependable, has a high degree of

maintainability, has long-term reliability, is agile, versatile, and

avoids equipment choices that result in political debate and partisan

politics.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 162: Maintainability .

Systems engineer - Related fields and sub-fields

1 It is closely associated with maintainability, availability

(dependability or RAMS preferred by some), and logistic engineering|

logistics engineering

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 163: Maintainability .

Multidisciplinary design optimization - History

1 This led to an increased concentration on economic factors

and the attributes known as the ilities including manufacturability, reliability (engineering)|reliability,

maintainability, etc.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 164: Maintainability .

Three-tier (computing) - Three-tier architecture.

1 As with the separation of any tier, there are costs for implementation and often costs to performance in exchange for improved scalability

and maintainability.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 165: Maintainability .

Software reliability

1 * Software structural quality refers to how it meets non-functional

requirements that support the delivery of the functional

requirements, such as robustness or maintainability, the degree to which the software was produced correctly.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 166: Maintainability .

Software reliability

1 Based on these models, the CISQ|Consortium for IT Software Quality

(CISQ) has defined five major desirable structural characteristics needed for a piece of software to

provide business value: Reliability, Efficiency, Security, Maintainability

and (adequate) Size.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 167: Maintainability .

Software reliability - Motivation

1 However, the distinction between measuring and improving software

quality in an embedded system (with emphasis on risk management) and software quality in business software

(with emphasis on cost and maintainability management) is becoming somewhat irrelevant

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 168: Maintainability .

Software reliability - CISQ's quality model

1 * Maintainability: Maintainability includes the notion of adaptability, portability and transferability (from one development team to another).

Measuring and monitoring maintainability is a must for mission-critical applications where change is

driven by tight time-to-market schedules and where it is important

for IT to remain responsive to business-driven changes. It is also

essential to keep maintenance costs under control.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 169: Maintainability .

Software reliability - CISQ's quality model

1 * Size: While not a quality attribute per se, the sizing of source code is a software characteristic that obviously impacts

maintainability. Combined with the above quality characteristics, software size can be

used to assess the amount of work produced and to be done by teams, as well

as their productivity through correlation with time-sheet data, and other Software

development process|SDLC-related metrics.

https://store.theartofservice.com/the-maintainability-toolkit.html

Page 170: Maintainability .

Decomposition (computer science) - Decomposition paradigm

1 A decomposition paradigm in computer programming is a strategy

for organizing a program as a number of parts, and it usually

implies a specific way to organize a program text. Usually the aim of

using a decomposition paradigm is to optimize some metric related to

program complexity, for example the modularity of the program or its

maintainability.https://store.theartofservice.com/the-maintainability-toolkit.html

Page 171: Maintainability .

Source lines of code

1 'Source lines of code' ('SLOC'), also known as 'lines of code' ('LOC'), is a software metric used to measure the size of a

computer program by counting the number of lines in the text of the program's source code. SLOC is typically used to predict the amount of effort that will be required to

develop a program, as well as to estimate programming productivity or maintainability

once the software is produced.

https://store.theartofservice.com/the-maintainability-toolkit.html