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 series Vol. 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 ISSN 0922-6389
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 Amsterdam Berlin Oxford Tokyo Washington, DC
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: order@iospress.nl 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: iosbooks@iospress.com 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 K. Zieliński and T. Szmuc (Eds.) IOS Press, 2005 2005 The authors. All rights reserved. v Preface The capability to design quality software and implement modern information systems is at the core of economic growth in the 21 st century. Nevertheless, exploiting this potential 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 methodologies, 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 resources necessitates the creation of large-scale, interactive information systems, capable 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 services. The eight chapters address the following topics covering a wide spectrum of contemporary software engineering: 1. Software Engineering Processes software process maturity, process measurement 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 development, 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 engineering, 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 Zbigniew Czech Janusz Gorski Zbigniew Huzar Andrzej Jaszkiewicz Jacek Kitowski Henryk Krawczyk Ludwik Kuźniarz Antoni Ligeza Jan Madey Lech Madeyski Jan Magott Zygmunt Mazur Marek Milosz Edward Nawarecki Jerzy Nawrocki Krzysztof Sacha Andrzej Stasiak Stanisław Szejko Zdzisław Szyjewski Marek Valenta Bartosz Walter Jan Werewka Kazimierz Wiatr Bogdan Wiszniewski Robert Chwastek Jarosław Deminet Jacek Drabik Janusz Filipiak Piotr Fuglewicz Bartosz Nowicki Marek Rydzy Andrzej Wardzinski Lilianna Wierzchoń AGH University of Science and Technology Silesian University of Technology Gdansk University of Technology Wroclaw University of Technology Poznan University of Technology AGH University of Science and Technology Gdansk University of Technology School of Engineering, Ronneby, Sweden AGH University of Science and Technology Warsaw University Wroclaw University of Technology Wroclaw University of Technology Wroclaw University of Technology Lublin University of Technology AGH University of Science and Technology Poznan University of Technology Warsaw University of Technology Military University of Technology Gdansk University of Technology University of Szczecin AGH University of Science and Technology Poznan University of Technology AGH University of Science and Technology AGH University of Science and Technology Gdansk University of Technology ComArch S.A. Computerland S.A. Motorola ComArch S.A. TiP Sp. z o.o. Rodan Systems S.A. Motorola PROKOM Software S.A. Computerland S.A.
vii Contents Preface Krzysztof Zieliński and Tomasz Szmuc Reviewers v 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 Mariusz Jadach and Bogumiła Hnatkowska
This page intentionally left blank
This page intentionally left blank
This page intentionally left blank
This page intentionally left blank
This page intentionally left blank
This page intentionally left blank
This page intentionally left blank