1st Edition

Knowledge Management in the Development of Data-Intensive Systems

    342 Pages 100 B/W Illustrations
    by Auerbach Publications

    342 Pages 100 B/W Illustrations
    by Auerbach Publications

    342 Pages 100 B/W Illustrations
    by Auerbach Publications

    Data-intensive systems are software applications that process and generate Big Data. Data-intensive systems support the use of large amounts of data strategically and efficiently to provide intelligence. For example, examining industrial sensor data or business process data can enhance production, guide proactive improvements of development processes, or optimize supply chain systems. Designing data-intensive software systems is difficult because distribution of knowledge across stakeholders creates a symmetry of ignorance, because a shared vision of the future requires the development of new knowledge that extends and synthesizes existing knowledge.

    Knowledge Management in the Development of Data-Intensive Systems addresses new challenges arising from knowledge management in the development of data-intensive software systems. These challenges concern requirements, architectural design, detailed design, implementation and maintenance. The book covers the current state and future directions of knowledge management in development of data-intensive software systems. The book features both academic and industrial contributions which discuss the role software engineering can play for addressing challenges that confront developing, maintaining and evolving systems;data-intensive software systems of cloud and mobile services; and the scalability requirements they imply. The book features software engineering approaches that can efficiently deal with data-intensive systems as well as applications and use cases benefiting from data-intensive systems.

    Providing a comprehensive reference on the notion of data-intensive systems from a technical and non-technical perspective, the book focuses uniquely on software engineering and knowledge management in the design and maintenance of data-intensive systems. The book covers constructing, deploying, and maintaining high quality software products and software engineering in and for dynamic and flexible environments. This book provides a holistic guide for those who need to understand the impact of variability on all aspects of the software life cycle. It leverages practical experience and evidence to look ahead at the challenges faced by organizations in a fast-moving world with increasingly fast-changing customer requirements and expectations.

    Chapter 1: Data-Intensive Systems, Knowledge Management, and Software Engineering
    Bruce Maxim, Matthias Galster, Ivan Mistrik, and Bedir Tekinerdogan

    Chapter 2: Software Artifact Traceability in Big Data Systems

    Erik M. Fredericks and Kate M. Bowers
    Chapter 3: Architecting Software Model Management and Analytics Framework
    Bedir Tekinerdogan, Cagatay Catal, and Önder Babur
    Chapter 4: Variability in Data-Intensive Systems from an Architecture Perspective
    Matthias Galster, Bruce Maxim, Ivan, Mistrik, and Bedir Tekinerdogan

    Chapter 5: Knowledge Management via Human-Centric, Domain-Specific Visual Languages for Data-intensive Software Systems

    John Grundy, Hourieh Khalajzadeh, Andrew Simmons, Humphrey O. Obie, Mohamed Abdelrazek, John Hosking, and Qiang He
    Chapter 6: Augmented Analytics for Datamining: A Formal Framework and Methodology
    Charu Chandra, Vijayaraja Thiruvengadam, and Amber MacKenzie
    Chapter 7: Mining and Managing Big Data Refactoring for Design Improvement. Are We There Yet?
    Eman Alomar, Mohamed Wiem Mkaouer, and Ali Ouni
    Chapter 8: Knowledge Discovery in Systems-of-Systems: Observations and Trends

    Bruno Sena, Frank José Affonso, Thiago Bianchi, Pedro Henrique Dias Valle, Daniel Feitosa, and Elisa Yumi Nakagawa

    Chapter 9: The Challenging Landscape of Cloud-Monitoring

    William Pourmajidi, Lei Zhang, Andriy Miranskyy, Tony Erwin, David Godwin, and John Steinbacher
    Chapter 10: Machine Learning as a Service for Software Application Categorization

    Cagatay Catal, Besme Elnaccar, Ozge Colakoglu, and Bedir Tekinerdogan
    Chapter 11: Workflow-as-a-Service Cloud Platform and Deployment of Bioinformatics Workflow Applications
    Muhammad Hafizhuddin Hilman, Maria Alejandra Rodriguez, and Rajkumar Buyya

    Chapter 12: Application-Centric Real-Time Decisions in Practice: Preliminary Findings                                                   

    Patrick Tendick, Audris Mockus, and Wen-Hua Ju
    Chapter 13: Industrial Evaluation of An Architectural Assumption Documentation Tool: A Case Study

    Chen Yang, Peng Liang, Paris Avgeriou, Tianqing Liu, and Zhuang Xiong


    Ivan Mistrík is a researcher in software-intensive systems engineering. He is a computer scientist who is interested in system and software engineering and in system and software architecture, in particular: life cycle system/software engineering, requirements engineering, relating software requirements and architectures, knowledge management in software development, rationale-based software development, aligning enterprise/system/software architectures, value-based software engineering, agile software architectures, and collaborative system/software engineering. He has more than forty years’ experience in the field of computer systems engineering as an information systems developer, R&D leader, SE/SA research analyst, educator in computer sciences, and ICT management consultant.

    Bruce R. Maxim has worked as a software engineer, project manager, professor, author, and consultant for more than 40 years. His research interests include software engineering, user experience design, game development, AR/VR/XR, social media, artificial intelligence, and computer science education. Bruce Maxim is professor of computer and information science and collegiate professor of engineering at the University of Michigan—Dearborn.

    Matthias Galster is an Associate Professor in the Department of Computer Science and Software Engineering at the University of Canterbury in Christchurch, New Zealand. Previously he received a PhD in Software Engineering. His current work aims at improving the way we develop high-quality software, with a focus on software requirements engineering, software architecture, development processes and practices, and empirical software engineering.

    Bedir Tekinerdogan is a full professor and chair of the Information Technology group at Wageningen University in The Netherlands. He received his PhD degree in Computer Science from the University of Twente, The Netherlands. He has more than 25 years of experience in information technology and software/systems engineering. He is the author of more than 300 peer-reviewed scientific papers.