maintainability
TRANSCRIPT
• Maintainability
https://store.theartofservice.com/the-maintainability-toolkit.html
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Reliability engineering
1 Maintainability and maintenance may be defined as a part of reliability engineering
https://store.theartofservice.com/the-maintainability-toolkit.html
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
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
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
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
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
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
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
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
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
Reliability engineering - UK standards
1 PART 2: Issue 1: IN-SERVICE MAINTAINABILITY
DEMONSTRATIONS
https://store.theartofservice.com/the-maintainability-toolkit.html
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Availability - Introduction
1 So, Maintainability and Maintenance strategies influences the availability of a
system
https://store.theartofservice.com/the-maintainability-toolkit.html
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
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
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
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
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
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
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
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
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
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
Artifact (software development)
1 Maintainability is primarily effected by the role the artifact
fulfills
https://store.theartofservice.com/the-maintainability-toolkit.html
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
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
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
Maintainability
1 In telecommunication and several other engineering fields, the term maintainability has the following
meanings:
https://store.theartofservice.com/the-maintainability-toolkit.html
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
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
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
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
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
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
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
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
Library Oriented Architecture - Benefits
1 Increase the Maintainability Index of your distributed systems and integration
repositories.
https://store.theartofservice.com/the-maintainability-toolkit.html
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
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
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
Dependability - History
1 Maintainability: to undergo
modifications and repairs
https://store.theartofservice.com/the-maintainability-toolkit.html
Dependability - Attributes
1 Maintainability - ability for a process to undergo
modifications and repairs
https://store.theartofservice.com/the-maintainability-toolkit.html
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
M4 carbine - Performance
1 This has come at the cost of reliability and maintainability
https://store.theartofservice.com/the-maintainability-toolkit.html
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
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
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
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
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
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
AUTOSAR - Goals
1 * Maintainability throughout the whole Product Life Cycle
https://store.theartofservice.com/the-maintainability-toolkit.html
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
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
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
Requirements - Types of requirement
1 103-136 Examples include: Reliability, Testability, maintainability, Availability
https://store.theartofservice.com/the-maintainability-toolkit.html
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
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
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
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
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
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
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
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
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
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
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
IEEE Reliability Society - Conferences
1 * [http://www.rams.org Reliability and Maintainability Symposium]
https://store.theartofservice.com/the-maintainability-toolkit.html
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
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
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
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
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
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
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
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
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
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
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
For More Information, Visit:
• https://store.theartofservice.com/the-maintainability-toolkit.html
The Art of Servicehttps://store.theartofservice.com