Back Room Front Room 2
Back Room Front Room 2
Back Room Front Room 2
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
36<br />
ENTERPRISE INFORMATION SYSTEMS VI<br />
The tool accepts the PCMEF framework for<br />
conformance analysis but it can be easily configured<br />
to suit other frameworks. DQ understands and<br />
computes various complexity metrics, not discussed<br />
here (ref. Maciaszek and Liong, 2003).<br />
DQ is configurable for other frameworks<br />
provided the definition of the framework is given to<br />
it. The information that is required includes the<br />
notion of neighboring packages, naming conventions<br />
used to identify methods or classes of significance<br />
such as event classes, weights of different<br />
association links. With these values provided, DQ<br />
can calculate the dependency metrics for a system<br />
and can produce detail information whether the<br />
system conforms to the architecture.<br />
DQ supports roundtrip engineering by making<br />
the retrieved information available to any visual<br />
modeling tool. The tool can be used in visualization<br />
environments to provide informative details<br />
regarding the system. In particular, DQ can provide<br />
a trace of method calls (services) from one class to<br />
another and therefore provide an impact analysis on<br />
a system when a particular method is called (or<br />
modified).<br />
Tools like DQ provide useful reactive metrics for<br />
a given program and assist in proactive analysis of<br />
the program design. They can be used to verify that<br />
the system conforms to an architecture framework<br />
and if the dependency minimization principles are<br />
adhered to. Without a rigorous architectural<br />
framework, supported by tools that measure the<br />
conformance of the system to the framework,<br />
managing a complexity of any large development is<br />
infeasible.<br />
6 SUMMARY AND CONCLUSION<br />
This paper summarizes fundamental findings of<br />
industry-based research conducted by the author<br />
over the last decade or so (Maciaszek et al., 1996).<br />
The research aims at identifying necessary<br />
conditions for building supportable systems. The<br />
intellectual background behind the research has been<br />
provided by the holon abstraction for interpretation<br />
of structures and behaviour of biological systems<br />
(Koestler, 1967; Koestler, 1980).<br />
To be able to manage complexity of enterprise<br />
information systems, we have to be able to measure<br />
complexity of system designs (proactively) and<br />
programs (reactively). Although not discussed in this<br />
paper, the metrics must be able to determine the<br />
comparative level of system’s supportability<br />
(understandability, maintainability and scalability).<br />
Object dependencies, to determine the<br />
supportability level, are initially computed from a<br />
system design. A proper architectural design, such as<br />
the PCMEF design, minimizes the object<br />
dependencies for a system. However, the principles<br />
of an architectural design can, and frequently are,<br />
broken by bad programming practices that allow for<br />
indiscriminate communication between objects.<br />
Computing dependencies from the code has two<br />
main goals. Firstly, we are able to discover<br />
programming violations of an architectural design.<br />
Secondly, we are able to reverse-engineer all<br />
dependencies from code to design models and, in the<br />
process, we are able to revise the dependency<br />
metrics for the system. The ultimate outcome is,<br />
hopefully, a system with supportability<br />
characteristics.<br />
Measuring supportability of designs and<br />
programs cannot be done manually. The paper<br />
referred to a tool, called DQ (Design Quantifier),<br />
which is able to analyze any Java program, establish<br />
its conformance with a chosen supportable<br />
architectural framework, compute complete set of<br />
dependency metrics, and visualize the computed<br />
values in UML class diagrams.<br />
REFERENCES<br />
GAMMA, E. HELM, R. JOHNSON, R. and<br />
VLISSIDES, J. (1995): Design Patterns. Elements of<br />
Reusable Object-Oriented Software, Addison-Wesley,<br />
395p.<br />
KOESTLER, A. (1967): The Ghost in the Machine,<br />
Hutchinson of London, 384p.<br />
KOESTLER, A. (1980): Bricks to Babel, Random House,<br />
697p.<br />
MACIASZEK, L.A. (2005): Requirements Analysis and<br />
System Design, 2 nd ed., Addison-Wesley<br />
MACIASZEK, L.A. GETTA, J.R. and BOSDRIESZ, J.<br />
(1996): Restraining Complexity in Object System<br />
Development - the "AD-HOC" Approach, Proc. 5th<br />
Int. Conf. on Information Systems Development<br />
ISD’96, Gdansk, Poland, pp.425-435<br />
MACIASZEK, L.A. and LIONG, B.L. (2003): Designing<br />
Measurably-Supportable Systems, Advanced<br />
Information Technologies for Management, Research<br />
Papers No 986, ed. by E. Niedzielska, H. Dudycz, M.<br />
Dyczkowski, Wroclaw University of Economics,<br />
pp.120-149.<br />
MACIASZEK, L.A. and LIONG B.L. (2004): Practical<br />
Software Engineering. A Case Study Approach,<br />
Addison-Wesley, 829p.