08.01.2013 Views

Back Room Front Room 2

Back Room Front Room 2

Back Room Front Room 2

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!