SOFTWARE ENGINEERING: EVOLUTION AND
EMERGING TECHNOLOGIES
Frontiers in Artificial Intelligence and
Applications
FAIA covers all aspects of theoretical and applied artificial intelligence research in the form of monographs, doctoral dissertations, textbooks, handbooks and proceedings volumes. The FAIA series contains several sub-series, including “Information Modelling and Knowledge Bases” and “Knowledge-Based Intelligent Engineering Systems”. It also includes the biannual ECAI, the European Conference on Artificial Intelligence, proceedings volumes, and other ECCAI – the European Coordinating Committee on Artificial Intelligence – sponsored publications. An editorial panel of internationally well-known scholars is appointed to provide a high quality selection.
Series Editors:
J. Breuker, R. Dieng, N. Guarino, J.N. Kok, J. Liu, R. López de Mántaras, R. Mizoguchi, M. Musen and N. Zhong
Volume 130
Recently published in this seriesVol. 129. H. Fujita and M. Mejri (Eds.), New Trends in Software Methodologies, Tools and Techniques
Vol. 128. J. Zhou et al. (Eds.), Applied Public Key Infrastructure Vol. 127. P. Ritrovato et al. (Eds.), Towards the Learning Grid Vol. 126. J. Cruz, Constraint Reasoning for Differential Models Vol. 125. C.-K. Looi et al. (Eds.), Artificial Intelligence in Education
Vol. 124. T. Washio et al. (Eds.), Advances in Mining Graphs, Trees and Sequences Vol. 123. P. Buitelaar et al. (Eds.), Ontology Learning from Text: Methods, Evaluation and
Applications
Vol. 122. C. Mancini, Cinematic Hypertext –Investigating a New Paradigm Vol. 121. Y. Kiyoki et al. (Eds.), Information Modelling and Knowledge Bases XVI Vol. 120. T.F. Gordon (Ed.), Legal Knowledge and Information Systems – JURIX 2004: The
Seventeenth Annual Conference
Vol. 119. S. Nascimento, Fuzzy Clustering via Proportional Membership Model
Vol. 118. J. Barzdins and A. Caplinskas (Eds.), Databases and Information Systems – Selected Papers from the Sixth International Baltic Conference DB&IS’2004
Vol. 117. L. Castillo et al. (Eds.), Planning, Scheduling and Constraint Satisfaction: From Theory to Practice
Vol. 116. O. Corcho, A Layered Declarative Approach to Ontology Translation with Knowledge Preservation
Vol. 115. G.E. Phillips-Wren and L.C. Jain (Eds.), Intelligent Decision Support Systems in Agent-Mediated Environments
Software Engineering: Evolution and
Emerging Technologies
Edited by
Krzysztof Zieliński
AGH University of Science and Technology, Kraków, Poland
and
Tomasz Szmuc
AGH University of Science and Technology, Kraków, Poland
© 2005 The authors.
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, without prior written permission from the publisher. ISBN 1-58603-559-2
Library of Congress Control Number: 2005932064
Publisher IOS Press Nieuwe Hemweg 6B 1013 BG Amsterdam Netherlands fax: +31 20 687 0019 e-mail: [email protected]
Distributor in the UK and Ireland Distributor in the USA and Canada IOS Press/Lavis Marketing IOS Press, Inc.
73 Lime Walk 4502 Rachael Manor Drive
Headington Fairfax, VA 22032
Oxford OX3 7AD USA
England fax: +1 703 323 3668
fax: +44 1865 750079 e-mail: [email protected]
LEGAL NOTICE
The publisher is not responsible for the use which might be made of the following information. PRINTED IN THE NETHERLANDS
Software Engineering: Evolution and Emerging Technologies v K. Zieliński and T. Szmuc (Eds.)
IOS Press, 2005
© 2005 The authors. All rights reserved.
Preface
The capability to design quality software and implement modern information systems is at the core of economic growth in the 21st century. Nevertheless, exploiting this po-tential is only possible when adequate human resources are available and when modern software engineering methods and tools are used.
The recent years have witnessed rapid evolution of software engineering method-ologies, including the creation of new platforms and tools which aim to shorten the software design process, raise its quality and cut down its costs. This evolution is made possible through ever-increasing knowledge of software design strategies as well as through improvements in system design and code testing procedures. At the same time, the need for broad access to high-performance and high-throughput computing re-sources necessitates the creation of large-scale, interactive information systems, capa-ble of processing millions of transactions per seconds. These systems, in turn, call for new, innovative distributed software design and implementation technologies.
The purpose of this book is to review and analyze emerging software engineering technologies, focusing on the evolution of design and implementation platforms as well as on novel computer systems related to the development of modern information ser-vices. The eight chapters address the following topics covering a wide spectrum of con-temporary software engineering:
1. Software Engineering Processes – software process maturity, process meas-urement and evaluation, agile software development, workflow management in software production,
2. UML-based Software Modeling – UML 2.0 features, usability of UML modeling, exception modeling, business environment elaboration with UML, 3. Software Process Methodologies – extreme programming, test-driven
devel-opment, increasing source code quality, software complexity analysis,
4. Technologies for SOA – Grid systems and services, distributed component platforms, configuration management, system and application monitoring, 5. Requirements Engineering – gathering, analyzing and modeling requirements,
analyzing and modeling business processes, requirements management, 6. Knowledge Base System and Prototyping – knowledge base system
engi-neering, integrating ontologies, modular rule-based systems,
7. Software Modeling and Verification – modeling of rule-based systems, modeling and verification of reactive systems,
8. Selected Topics in Software Engineering – this part covers 8 selected topics related to various aspects of software engineering.
We believe that the presented topics are interesting for software engineers, project managers and computer scientists involved in the computer software development process. We would like to express our thanks to all authors, colleagues, and reviewers who have supported our efforts to prepare this book.
Krzysztof Zieliński Tomasz Szmuc
vi
Reviewers
Marian Bubak AGH University of Science and Technology Zbigniew Czech Silesian University of Technology
Janusz Gorski Gdansk University of Technology Zbigniew Huzar Wroclaw University of Technology Andrzej Jaszkiewicz Poznan University of Technology
Jacek Kitowski AGH University of Science and Technology Henryk Krawczyk Gdansk University of Technology
Ludwik Kuźniarz School of Engineering, Ronneby, Sweden Antoni Ligeza AGH University of Science and Technology Jan Madey Warsaw University Lech Madeyski Wroclaw University of Technology Jan Magott Wroclaw University of Technology Zygmunt Mazur Wroclaw University of Technology Marek Milosz Lublin University of Technology
Edward Nawarecki AGH University of Science and Technology Jerzy Nawrocki Poznan University of Technology
Krzysztof Sacha Warsaw University of Technology Andrzej Stasiak Military University of Technology Stanisław Szejko Gdansk University of Technology Zdzisław Szyjewski University of Szczecin
Marek Valenta AGH University of Science and Technology Bartosz Walter Poznan University of Technology
Jan Werewka AGH University of Science and Technology Kazimierz Wiatr AGH University of Science and Technology Bogdan Wiszniewski Gdansk University of Technology
Robert Chwastek ComArch S.A. Jarosław Deminet Computerland S.A. Jacek Drabik Motorola
Janusz Filipiak ComArch S.A. Piotr Fuglewicz TiP Sp. z o.o.
Bartosz Nowicki Rodan Systems S.A. Marek Rydzy Motorola
Andrzej Wardzinski PROKOM Software S.A.
vii
Contents
Preface v Krzysztof Zieliński and Tomasz Szmuc
Reviewers vi 1. Software Engineering Processes
Software Process Maturity and the Success of Free Software Projects 3
Martin Michlmayr
The UID Approach − the Balance Between Hard and Soft Methodologies 15
Barbara Begier
Agile Software Development at Sabre Holdings 27
Marek Bukowy, Larry Wilder, Susan Finch and David Nunn
Workflow Management System in Software Production & Maintenance 39
Pawel Markowski
Architecture of Parallel Spatial Data Warehouse: Balancing Algorithm
and Resumption of Data Extraction 49
Marcin Gorawski
2. UML-Based Software Modeling
Data Modeling with UML 2.0 63
Bogumiła Hnatkowska, Zbigniew Huzar and Lech Tuzinkiewicz
Usability of UML Modeling Tools 75
Anna Bobkowska and Krzysztof Reszke
On Some Problems with Modelling of Exceptions in UML 87
Radosław Klimek, Paweł Skrzyński and Michał Turek
The ISMS Business Environment Elaboration Using a UML Approach 99
Andrzej Białas
3. Software Process Methodologies
Preliminary Analysis of the Effects of Pair Programming and Test-Driven
Development on the External Code Quality 113
Lech Madeyski
Codespector – a Tool for Increasing Source Code Quality 124