corrective, adaptive, perfective, and preventive.
Twenty (20) Maintainability Scenarios were
proposed in this research. These are all exploratory
scenarios that seek a way to determine the presence
of some of the concepts identified during the
elaboration of the ontology. A set of them are
described bellow.
Scenarios for Corrective Maintenance
:
1. An attribute must be added to the constructor of
a class in order to correct a fault.
2. A link of the home page of a web application
must be erased in order to reduce confusion of
users.
Scenarios for Perfective Maintenance
:
3. A method must be added to a class in order to
add functionality.
4. A new class must be created and it should
inherit all properties from another class.
Scenarios for Adaptive Maintenance
:
5. A two layer platform must be migrated to a
three layer one; the new layer must be a web
Interface.
6. A class is needed, and its interface doesn’t
match the one that is needed.
Scenarios for Preventive Maintenance
:
7. An external audit must be made to verify
functionality.
8. An external audit must be made to verify
effectiveness.
To build this table, the scenario is broken down
into its Stimulus and Response, in order to ensure
that each one has been captured accurately. Each
scenario generates a sequence of steps. These steps
provide support for the group discussion, which
leads to the Architectural Decisions, the Risks, Non-
risks, Sensitivity Points and associated Tradeoffs.
An example of how each of the scenarios is broken
down is shown in Table 2.
Table 2: Analysis of Scenario #17.
Scenario #17 An external audit must be made to verify
functionality.
Attribute: Maintainability
Environment: During preventive maintenance work
Stimulus: External Audit in response to functionality
verification.
Response: -Existence of a mechanism, module or
component that support and registers transactions.
- Existence of a mechanism, module or component that
stores modification history of data structures and
architecture.
- Existence of a mechanism, module or component that
allows backup and restores data and configurations.
- Existence of a mechanism, module or component that
allows remote administration.
The Ontology, the Architectural Mechanisms, and
Maintainability Scenarios presented in the previous
sections will serve as input for the Design of a
Method for Maintainability Assessment of Software
Architectures.
5 CONCLUSIONS AND FUTURE
RESEARCH
As established, Maintainability is a very important
quality characteristic but it relates to multiple issues
that should be taken in to consideration and
measured. A system Architecture should respond to
these variables, therefore the study of software
maintainability is very complex. It is not a
characteristic that can be studied apart from
reliability, and all its different types (perfective,
corrective, preventive, and adaptative) should always
be considered. An evaluation method should include
scenarios in combination with other techniques.
These scenarios help understand architectural
aspects that are not easy to determine. The final goal
is to implement an evaluation method that makes the
evaluation process more efficient.
REFERENCES
Bass,L., Clements,P.,& Kazman,R.(2003). Software
Architecture in Practice, 2nd edition. Addison
Wesley.
Buschman F., Meunier R., Rohnert H., Sommerlad P., &
Stal, M.(1996). Pattern-Oriented Software
Architecture. New York. John Wiley & Sons Inc.
Shaw M., & Garlan D. (1996). Software Architecture –
Perspective of an Emerging Discipline. Upper Saddle
River, New Jersey. Prentice Hall.
Bosch J. (2000). Design and Use of Software Architecture.
Harlow, England .ACM Press.
Szyperski,C.(2002). Component software: Beyond Object-
Oriented programming. Addison-Wesley.
Barbacci,M.,Klein,M.H.,Longstaff,T.A., & Weinstock,
C.B. (1995). Quality Attributes. Technical Report,
CMU/SEI-95-TR-021, December 1995.
ISO/IEC 9126-1:2001. (2001) Software Engineering-
Product Quality-Part 1: Quality Model, ISO and IEC.
ISO/IEC 14764-1999.(1999). Software Engineering-
Software Maintenance, ISO and IEC, 1999.
Larman,C.(2003). Agile and Iterative Development: A
Manager’s Guide. Addison Wesley.
Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994).
Design Patterns, Addison-Wesley.
ICEIS 2006 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
558