Studies in Computational Intelligence Volume 733 Series editor Janusz Kacprzyk, Polish Academy of Sciences, Warsaw, Poland e-mail: kacprzyk@ibspan.waw.pl
About this Series The series Studies in Computational Intelligence (SCI) publishes new developments and advances in the various areas of computational intelligence quickly and with a high quality. The intent is to cover the theory, applications, and design methods of computational intelligence, as embedded in the fields of engineering, computer science, physics and life sciences, as well as the methodologies behind them. The series contains monographs, lecture notes and edited volumes in computational intelligence spanning the areas of neural networks, connectionist systems, genetic algorithms, evolutionary computation, artificial intelligence, cellular automata, self-organizing systems, soft computing, fuzzy systems, and hybrid intelligent systems. Of particular value to both the contributors and the readership are the short publication timeframe and the worldwide distribution, which enable both wide and rapid dissemination of research output. More information about this series at http://www.springer.com/series/7092
Piotr Kosiuczenko Lech Madeyski Editors Towards a Synergistic Combination of Research and Practice in Software Engineering 123
Editors Piotr Kosiuczenko Faculty of Cybernetics, Institute of Computer and Information Systems Military University of Technology Warsaw Poland Lech Madeyski Wroclaw University of Science and Technology Wrocław Poland ISSN 1860-949X ISSN 1860-9503 (electronic) Studies in Computational Intelligence ISBN 978-3-319-65207-8 ISBN 978-3-319-65208-5 (ebook) DOI 10.1007/978-3-319-65208-5 Library of Congress Control Number: 2017948222 Springer International Publishing AG 2018 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. Printed on acid-free paper This Springer imprint is published by Springer Nature The registered company is Springer International Publishing AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface The term software engineering was coined at a NATO Software Conference almost 50 years ago. Since then a visible progress has been made in both research and practice in software engineering. This book is devoted to a synergistic combination of research and practice in software engineering and contains 15 selected contributions. Actually, it is already 19th in the series of books on software engineering prepared under the auspices of Polish Information Processing Society (PIPS). Software Engineering Section of the Committee on Informatics of the Polish Academy of Sciences decided to support these efforts as well. The books are devoted to various topics in software engineering and are addressed to researchers as well as practitioners, engineers, managerial staff from the IT companies and government. To disseminate the results contained in this series, the authors of the chapters (among other researchers and practitioners) present their contributions at KKIO. It provides a forum for presentation of research results, scientific challenges faced by the industry and scientific methods that could address them. It is also a platform to initiate cooperation among researchers and between academia and industry. The fact that this time it was already 19th edition of the book under the auspices of PIPS shows continuing interest in software engineering. This year the spectrum of topics was wider and covered also topics concerning real-time systems engineering and education in software engineering. We selected 15 of 43 chapters based on relevance and the value of scientific contribution. This brand-new book, including the selected chapters, was published by Springer in the well-established Studies in Computational Intelligence series. Selected chapters concern: languages and tools for software development, software development processes, modelling and verification, education in software engineering. In the first category, there are seven chapters on topics such as: costs of computing unit redundancy; a domain-specific language for interactive programming v
vi Preface exercises; managing software complexity by similarity patterns; tools for validation of class diagrams and ensuring exception safety; testing of time-dependent, asynchronous code; an automatic processing of dynamic business rules. In the second category, there are four chapters on: continuous test-driven development and its empirical evaluation in industrial settings; enterprise architecture modifiability analysis; the influence of business analysis techniques on software quality characteristics; female leadership in IT projects. In the third category, there are three chapters on: modelling and verification of real-time systems; access control model for mobile systems; modelling and simulation of computer networks. In the last category, there is one chapter on a scrum-based framework for organizing software engineering courses. There are people who helped in the preparation, publication and dissemination of this book. We would like to thank: authors of the contributions, the referees for helping us in the selection process, and PIPS for continuous support for this series. We would like to express also our gratitude to prof. Janusz Kacprzyk, the editor of the Studies in Computational Intelligence series, and Dr. Thomas Ditzinger from Springer for their interest and support. We sincerely hope that this book will be a valuable reference work in software engineering research and practice. Warsaw, Poland Wrocław, Poland June 2017 Piotr Kosiuczenko Lech Madeyski
Contents Temporal Costs of Computing Unit Redundancy in Steady and Transient State.... 1 Jacek Stój and Andrzej Kwiecień SIPE: A Domain-Specific Language for Specifying Interactive Programming Exercises... 15 Jakub Swacha Managing Software Complexity with Power-Generics... 31 Stan Jarzabek A Prototype Tool for Semantic Validation of UML Class Diagrams with the Use of Domain Ontologies Expressed in OWL 2... 49 Małgorzata Sadowska Ensuring the Strong Exception Safety... 63 Piotr Kosiuczenko Efficient Testing of Time-Dependent, Asynchronous Code.... 77 Tomasz Lewowski Automatic Processing of Dynamic Business Rules Written in a Controlled Natural Language... 91 Bogumiła Hnatkowska and Tomasz Gawęda Continuous Test-Driven Development: A Preliminary Empirical Evaluation Using Agile Experimentation in Industrial Settings... 105 Lech Madeyski and Marcin Kawalerowicz Enterprise Architecture Modifiability Analysis... 119 Norbert Rudolf Busch and Andrzej Zalewski A Survey Investigating the Influence of Business Analysis Techniques on Software Quality Characteristics... 135 Katarzyna Mossakowska and Aleksander Jarzębowicz vii
viii Contents Female Leadership in Software Projects A Preliminary Result on Leadership Style and Project Context Factors.... 149 Anh Nguyen-Duc, Soudabeh Khodambashi, Jon Atle Gulla, John Krogstie and Pekka Abrahamsson Modelling and Verification of Real-Time Systems with Alvis... 165 Marcin Szpyrka, Łukasz Podolski and Michał Wypych Control Operation Flow for Mobile Access Control with the Use of MABAC Model... 179 Aneta Majchrzycka and Aneta Poniszewska-Maranda Software Development for Modeling and Simulation of Computer Networks: Complex Systems Approach.... 193 Andrzej Paszkiewicz and Marek Bolanowski A Scrum-Centric Framework for Organizing Software Engineering Academic Courses... 207 Mirosław Ochodek Author Index.... 221