Evolving Software Systems
|Published:||Jan 09 2014|
|Posted:||Mar 24 2015|
|Book size:||14 MB|
During the last few years, software evolution research has explored new domains such as the study of socio-technical aspects and collaboration between different individuals contributing to a software system, the use of search-based techniques and meta-heuristics, the mining of unstructured software repositories, the evolution of software requirements, and the dynamic adaptation of software systems at runtime. Also more and more attention is being paid to the evolution of collections of inter-related and inter-dependent software projects, be it in the form of web systems, software product families, software ecosystems or systems of systems.With this book, the editors present insightful contributions on these and other domains currently being intensively explored, written by renowned researchers in the respective fields of software evolution. Each chapter presents the state of the art in a particular topic, as well as the current research, available tool support and remaining challenges. The book is complemented by a glossary of important terms used in the community, a reference list of nearly 1,000 papers and books and tips on additional resources that may be useful to the reader (reference books, journals, standards and major scientific events in the domain of software evolution and datasets).This book is intended for all those interested in software engineering, and more particularly, software maintenance and evolution. Researchers and software practitioners alike will find in the contributed chapters an overview of the most recent findings, covering a broad spectrum of software evolution topics. In addition, it can also serve as the basis of graduate or postgraduate courses on e.g., software evolution, requirements engineering, model-driven software development or social informatics.
Composing Patterns to Design Software Systems
Software experts agree: the most difficult aspect of building software is not coding; it is the decisions the designer makes in the early stages. Those decisions live with the system for the rest of its lifetime. Good designs beget good software. Bad designs beget trouble. Designers are faced with a tough question: how do they know whether their designs are good or bad? Design patterns can provide valid judgment criteria for software designers. While a great deal of effort has been devoted to discovering new design patterns, very little effort has been spent on developing a process for "gluing" or "composing" design patterns to better develop software applications. This book specifically addresses this need, and explains the Patte...
Defining a new development life-cycle methodology, together with a set of associated techniques and tools to develop highly critical systems using formal techniques, this book adopts a rigorous safety assessment approach explored via several layers (from requirements analysis to automatic source code generation). This is assessed and evaluated via a standard case study: the cardiac pacemaker. Additionally a formalisation of an Electrocardiogram (ECG) is used to identify anomalies in order to improve existing medical protocols. This allows the key issue - that formal methods are not currently integrated into established critical systems development processes - to be discussed in a highly effective and informative way.Using Event-B for Critical Device ...
As computer technologies continue to evolve and new security threats emerge, secure-aware software developments are essential in the software engineering field.Developing and Evaluating Security-Aware Software Systems provides innovative ideas and methods on the development, operation, and maintenance of secure software systems and aims to highlight the construction of a functional software system and a secure system simultaneously. This book is practical for researchers, academics and practitioners in the software engineering and security fields....
2007 - 2017 © eBooks-IT.org