Software Systems Integration and Architectural Analysis - A Case Study
Software Systems Integration and Architectural Analysis - A Case Study
discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/4036826
CITATIONS READS
25 172
2 authors:
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Ivica Crnkovic on 19 July 2015.
The user has requested enhancement of the downloaded file. All in-text references underlined in blue are added to the original document
and are linked to publications on ResearchGate, letting you access and read them immediately.
Software Systems Integration and Architectural Analysis – A Case Study
The resulting project plans developed in the case study Figure 4: The outlined project plans.
are shown in Figure 4. Although the diagrams presented
here are somewhat simplified compared with those • Management is given a certain amount of freedom by
developed in the project, they suffice to illustrate some not assigning strict dates to activities. Activities can be
features of this type of project plan: prioritized and reordered, and deliveries “spawned off”
• The definition of a common data model is crucial in to meet business demands. More staff can be assigned
both integration approaches, since most other activities to certain activities to increase parallelism and
are dependent on it. In the case study, the developers throughput. Based on which components would need
were explicit that this activity should not be rushed, to be included in a delivery, it is possible to define
and should involve the most experienced users as well activities that produce these components; for example,
as developers. if a delivery with functionality “X” is desired, the
activity “Extend with functionality X” or “New
functionality X” (for the two alternatives respectively)
must be performed as well as all activities on which it
is dependent. One strategy could be to aim at by more tools, easier to use and more attractive to potential
delivering a “vertical slice” of the system, employees. Not least, the resulting product would be
incorporating the functionality that is most used first. conceptually integrated. Regarding the choice between
In this way some users can begin using the new using Java and Tcl in the client, the management accepted
system, thus minimizing the need for maintenance and that if the “code level” was decided upon, Tcl would be
development of the existing systems (which will soon used since using Tcl implied a significantly smaller effort
be retired). (due to a larger code base to reuse).
• In the “code level” alternative, many activities are of When management considered all this information,
the “transfer functionality” type. In this way, users of they judged the integration to be sufficiently beneficial to
the Java system will only see the functionality grow motivate the high cost. The benefits included, as we have
rapidly, but the users of the other systems will indicated earlier, increased user efficiency, decreased
experience a period when most of the functionality maintenance costs (in the case of the “code level”
exists in both the system with which they are familiar alternative), as well as less tangible business advantages
and the new system. For the “data level” alternative, such as having an integrated system to offer customers.
the activities are more of the kind “modify the existing Also, the evolution scenarios for the existing systems if no
systems”. The users would then continue using their integration was performed would be costly; for example,
familiar system but, when beginning to use the other the European organization would probably replace in the
systems, would have access to more functionality near future, the proprietary object-oriented database with a
working on the same data. This type of reasoning commercial relational database for maintenance and
impacts on long-term planning aspects such as the time performance reasons. The cost of implementing the “data
at which existing systems can be phased out and level” and “code level” alternatives (when using Tcl in the
retired. client) had been estimated to differ insignificantly, and as
• In the “code level” alternative, it was possible to the organization had to develop it with a limited number of
identify more general components that would require staff, the estimated time to delivery would also be very
an initial extra amount of effort and calendar-time but similar, although the deliveries would be of different kinds
would eventually make the project cheaper and faster. due to the different natures of the activities needed for the
In the “data level” alternative, only few such two alternatives. The relation benefit vs. cost and time to
components were identified. delivery can therefore be visualized as Figure 5 illustrates
(the “import/export interface” level was not analyzed,
• Some development of totally new functionality hence the parentheses).
demanded by users was already planned and could not
be delayed until the systems integration efforts were Cost,
completed. However, it was agreed that these activities Time
should be delayed as long as possible – at least until el" el"
lev lev
one of the integration alternatives was chosen, and if a e
at od
possible, until the new data model had been defined, "D "C
and even general components implemented in the case
of the “code level” alternative. This was to avoid ("Import/Export Interface")
producing even more source code that would need to
be modified during the integration.
Benefit
4.4 The Decision Figure 5: The estimated cost and time to delivery.
When the developers from the two sites had jointly As became clear by now, it was less important to get as
produced these two alternatives and analyzed them, the much benefit as possible for the cost than to decrease the
management was to decide which alternative to choose. It risk as much as possible. No formal risk analysis was
was agreed that the “code level” alternative was considered performed at this point, but the risk was judged to be
to be superior to the “data level” alternative from virtually higher for the “code level” alternative, since it involves
all points of view. The users would experience a more rewriting code that already exists and works, i.e. risking
powerful, uniform and homogeneous system. It would also overrunning schedule and budget and/or decreasing the
be easier (meaning less costly) to maintain. The analysis quality of the product, but also a risk in terms of
had shown that it would include a smaller code base as well “commitment required” from the departments of two
as a smaller number of languages, third-party software, and previously separate organizations, not yet close
other technologies. The languages and technologies used collaborators. By choosing the “data level” alternative,
were more modern, implying that they would be supported each system would still be functioning and include more
functionality than before, should the integration be during the project work. However, it is intended as a type
discontinued due to e.g. an unacceptable schedule and/or of formal review involving more stakeholders and this was
budget situation. This is discernible in the project plans of not possible because the project schedule was already
Figure 4. Management doubted that the cost of the two fixed, and too tight for an ARID exercise. All of these
alternatives would really be similar; they intuitively methodologies analyze functionality (which was relatively
assumed that the higher benefit, the more effort was trivial in the case study as the integrated system would
required (cost and time), as was sketched in Figure 2. Still, have the functionality of the three systems combined) and
they were explicit in that the risk was the decisive factor quality attributes such as performance and security (which
and not cost, when choosing the “data level” alternative. are of course important for the product of the case study,
but considered to be similar to the existing systems) – but
5. Related Work none addresses cost, time to delivery, or risk, which were
considered more important. The project therefore relied
There are suggestions that project management during
more on the analysts’ experience and intuition in analyzing
ordinary software development has much to gain from
functionality and quality attributes (because of the project’s
being “architecture-centric” [21]. We have shown some
limited resources), and cost, time to delivery, and risk
ways of pursuing the architecture-centric approach during
(because there are no available lightweight methodologies
integration also. The rest of this section will focus on two
for analyzing these properties from architecture sketches).
related aspects of this, the literature relating to integration
approaches, and methods and analysis techniques based on
6. Conclusions
architectural descriptions.
Of the four integration approaches we have discussed, We have shown the central role of software
Enterprise Application Integration (EAI) seems to be the architecture in a case study concerning the integration of
most documented [9,12,15,19,22]. This approach concerns three software systems after a company merger. Some
in-house integration of the systems an enterprise uses rather important lessons we learned from this case study can be
than produces. Johnson [15] uses an architectural approach formulated as follows:
to analyze the integration of enterprise software systems. In • There are at least four approaches available to a
spite of the difficulty of accurately describing the software integrator: Enterprise Application Integration
architecture of this type of system because the available (EAI), interoperability, data level integration, and
documentation is inadequate, architectural analysis can be source code integration. The choice between these is
successfully applied to the design of enterprise systems typically based on business or organizational
integration. Johnson has also examined the limitations of considerations rather than technical.
architectural descriptions which one must be aware of, • When the architectural descriptions of existing systems
limitations that were also experienced in the case study. are not easily comparable, the first task is to construct
None of the architectural methodologies available similar architectural descriptions of these. The
were completely feasible for the task. The Architecture components of the existing systems can then be
Trade-off Analysis Method (ATAM) [6] and the Software rearranged in different ways to form different
Architecture Analysis Method (SAAM) [2,6] are based on alternatives. The working alternatives can be briefly
stakeholder-generated scenarios. The ATAM requires analyzed, largely on the basis of known properties of
business drivers and quality attributes to be specified in architectural patterns of the existing systems.
advance and more detailed architectural descriptions to be • The functional requirements of an integrated system
available. In the case study, all of this was done in a more are typically a combination of the functionality of the
iterative manner. Also, with limited resources, it would be existing systems, and are relatively easy to assess as
impossible to evaluate and compare several alternatives, it compared with other quality attributes.
being too time-consuming to investigate all combinations
of quality attributes for all working alternatives. While both • The effort required to implement each component of
SAAM and ATAM use scenarios to evaluate the new system can be estimated in terms of how much
maintainability, we used another, if less accurate can be reused from the existing systems and how much
measurement method, comparing the number of lines of must be rewritten. The total cost of the system is easily
code, third-party software, languages, and technologies calculated from these figures.
used, assuming that the lower the number, the easier the • According to the estimations performed in the case
maintenance . The Active Reviews for Intermediate Designs study, source code level integration is not necessarily
method (ARID) [6] builds on Active Design Reviews more expensive than data level integration.
(ADR) and incorporates the idea of scenarios from SAAM • Architectural analysis, as it was carried out in the
and ATAM. It is intended for evaluating partial project, fails to capture all business aspects important
architectural descriptions, exactly that which was available
for decisions. All the information needed to produce a [5] Brooks F. P., The Mythical Man-Month - Essays On
project schedule is not present in an architectural Software Engineering, 20th Anniversary Edition,
description. The risk associated with the alternatives ISBN 0201835959, Addison-Wesley Longman,
was identified as the most important and least analyzed 1995.
decision criteria.
There are a number of concerns that must be addressed [6] Clements P., Bachmann F., Bass L., Garlan D., Ivers
during integration planning as well as during software J., Little R., Nord R., and Stafford J., Evaluating
activities in general. These include the process and time Software Architectures, SEI Series in Software
perspective (e.g. will the integration be carried out Engineering, ISBN 0-201-70482-X, Addison-
incrementally, enabling stepwise delivery and retirement of Wesley, 2001.
the existing systems?), the organizational issues (e.g. who
are the stakeholders?), the cost and effort requirements [7] Clements P., Bachmann F., Bass L., Garlan D., Ivers
(e.g. are only minimal additional efforts allowed?), etc. We J., Little R., Nord R., and Stafford J., Documenting
have shown how a system’s architecture can be used as a Software Architectures: Views and Beyond, SEI
starting and central point for a systematic analysis of Series in Software Engineering, ISBN 0201703726,
several features. To what extent can such concerns be Addison-Wesley, 2002.
addressed by architectural analysis? Perhaps the focus on
the architecture, basically a technical artifact poses a risk to [8] Crnkovic Ivica and Larsson M., “Challenges of
these other concerns? We have presented means of Component-based Development”, In Journal of
estimating cost and time of implementation based on Systems & Software, volume 61, issue 3, 2002.
architectural descriptions, including outlining project
schedules. We have also shown that only the parts of such [9] Cummins F. A., Enterprise Integration: An
project schedules involving implementation of source code Architecture for Enterprise Application and Systems
can be produced from the architectural descriptions, Integration, ISBN 0471400106, John Wiley & Sons,
activities such as design or analysis must be added from 2002.
other sources. We also showed that the risk of choosing
one alternative or the other was not considered. We [10] Estublier J., “Software Configuration Management:
therefore propose that risk analysis be included in A Roadmap”, In Proceedings of 22nd International
architectural analysis to make it more explicit (or the Conference on Software Engineering, The Future of
opposite, that architectural analysis be used in project risk Software Engineering, ACM Press, 2000.
analysis). This would make it possible to treat risk together
with other quality properties and make a conscious trade- [11] Garlan D., Allen R., and Ockerbloom J.,
off between them. Research in this area will presumably “Architectural Mismatch: Why Reuse is so Hard”, In
need to incorporate an organizational development and IEEE Software, volume 12, issue 6, 1995.
production process model – which would also provide a
better basis for time and cost estimation. [12] Gyllenswärd E., Kap M., and Land R., “Information
Organizer - A Comprehensive View on Reuse”, In
7. References Proceedings of 4th International Conference on
Enterprise Information Systems (ICEIS), 2002.
[1] Aiken P. H., Data Reverse Engineering : Slaying the
Legacy Dragon, ISBN 0-07-000748-9, McGraw [13] Hofmeister C., Nord R., and Soni D., Applied
Hill, 1996. Software Architecture, ISBN 0-201-32571-3,
Addison-Wesley, 2000.
[2] Bass L., Clements P., and Kazman R., Software
Architecture in Practice (2nd edition), ISBN 0-321- [14] IEEE Architecture Working Group, IEEE
15495-9, Addison-Wesley, 2003. Recommended Practice for Architectural
Description of Software-Intensive Systems, report
[3] Bosch J., Design & Use of Software Architectures, IEEE Std 1471-2000, IEEE, 2000.
ISBN 0-201-67494-7, Addison-Wesley, 2000.
[15] Johnson P., Enterprise Software System Integration
[4] Brodie M. L. and Stonebraker M., Migrating Legacy – An Architectural Perspective, Ph.D. Thesis,
Systems: Gateways, Interfaces & the Incremental Industrial Information and Control Systems, Royal
Approach, Morgan Kaufmann Series in Data Institute of Technology, 2002.
Management Systems, ISBN 1558603301, Morgan
Kaufmann, 1995.
[16] Kruchten P., “The 4+1 View Model of [20] Oman P., Hagemeister J., and Ash D., A Definition
Architecture”, In IEEE Software, volume 12, issue and Taxonomy for Software Maintainability, report
6, 1995. SETL Report 91-08-TR, University of Idaho, 1991.
[17] Land R., “Applying the IEEE 1471-2000 [21] Paulish D., Architecture-Centric Software Project
Recommended Practice to a Software Integration Management: A Practical Guide, SEI Series in
Project”, In Proceedings of International Software Engineering, ISBN 0-201-73409-5,
Conference on Software Engineering Research and Addison-Wesley, 2002.
Practice (SERP'03), CSREA Press, 2003.
[22] Ruh W. A., Maginnis F. X., and Brown W. J.,
[18] Land R., Crnkovic I., and Wallin C., “Integration of Enterprise Application Integration, A Wiley Tech
Software Systems – Process Challenges”, In Brief, ISBN 0471376418, John Wiley & Sons, 2000.
Proceedings of Euromicro Conference, 2003.
[23] SEI Software Technology Review, Maintainability
[19] Linthicum D. S., Enterprise Application Integration, Index Technique for Measuring Program
Addison-Wesley Information Technology Series, Maintainability, URL:
ISBN 0201615835, Addison-Wesley, 1999. http://www.sei.cmu.edu/str/descriptions/mitmpm.html,
2003.