The design and the verification of modern software applications requires the analysis of several different aspects, such as software correctness, quality of service, and security, and of the possible inter-relations among them. Process algebraic architectural languages and the related analysis techniques provide a formal paradigm that allows for the modeling and analysis of such systems and of the related properties during the early stages of the design process. The book presents such a paradigm in a novel way that privileges the discussion of its foundational characteristics and then introduces a number of guidelines, integrated with ad-hoc methodologies and exemplifying case studies, to support the practical benefits of using such a paradigm. The book can be of help for both researchers and graduate students who intend to approach the process algebraic formal paradigm and for the practitioners who intend to apply the related approach to software design and verification.
Software design patterns are known to play a vital role in enhancing the quality of software systems while reducing development time and cost. However, the use of these design patterns has also been known to introduce problems that can significantly reduce the stability, robustness, and reusability of software. This book introduces a new process for creating software design patterns that leads to highly stable, reusable, and cost-effective software. The basis of this new process is a topology of software patterns called knowledge maps.
This book provides readers with a detailed view of the art and practice of creating meaningful knowledge maps. It demonstrates how to classify software patterns within knowledge maps according to their application rationale and nature. It provides readers with a clear methodology in the form of step-by-step guidelines, heuristics, and quality factors that simplify the process of creating knowledge maps.
This book is designed to allow readers to master the basics of knowledge maps from their theoretical aspects to practical application. It begins with an overview of knowledge map concepts and moves on to knowledge map goals, capabilities, stable design patterns, development scenarios, and case studies. Each chapter of the book concludes with an open research issue, review questions, exercises, and a series of projects.
By bringing together various current directions, Software Project Management in a Changing World focuses on how people and organizations can make their processes more change-adaptive. The selected chapters closely correspond to the project management knowledge areas introduced by the Project Management Body of Knowledge, including its extension for managing software projects.
The contributions are grouped into four parts, preceded by a general introduction. Part I "Fundamentals" provides in-depth insights into fundamental topics including resource allocation, cost estimation and risk management. Part II "Supporting Areas" presents recent experiences and results related to the management of quality systems, knowledge, product portfolios and global and virtual software teams. Part III "New Paradigms" details new and evolving software-development practices including agile, distributed and open and inner-source development. Finally, Part IV "Emerging Techniques" introduces search-based techniques, social media, software process simulation and the efficient use of empirical data and their effects on software-management practices.This book will attract readers from both academia and practice with its excellent balance between new findings and experience of their usage in new contexts. Whenever appropriate, the presentation is based on evidence from empirical evaluation of the proposed approaches. For researchers and graduate students, it presents some of the latest methods and techniques to accommodate new challenges facing the discipline. For professionals, it serves as a source of inspiration for refining their project-management skills in new areas.
Zone Labs Articles
Zone Labs Books