Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
|||
Books > Computing & IT > Computer programming > Software engineering
Compiled by an experienced practitioner in the field, this book
contains definitions of the major terms used in Reliability
Engineering and Software Assessment. Approximately 2000 definitions
have been carefully selected from standards and literature
published by leading institutions such as the IEEE and IEC.
Alternative definitions of the same term are given where relevant,
enabling the reader to compare and contrast, thereby giving useful
insights into different aspects of the same term. There is also
extensive cross-referencing to make the book easy to use and
practical.
This textbook provides a detailed introduction to the use of software in combination with simple and economical hardware (a sound level meter with calibrated AC output and a digital recording system) to obtain sophisticated measurements usually requiring expensive equipment. It emphasizes the use of free, open source, and multiplatform software. Many commercial acoustical measurement systems use software algorithms as an integral component; however the methods are not disclosed. This book enables the reader to develop useful algorithms and provides insight into the use of digital audio editing tools to document features in the signal. Topics covered include acoustical measurement principles, in-depth critical study of uncertainty applied to acoustical measurements, digital signal processing from the basics, and metrologically-oriented spectral and statistical analysis of signals. The student will gain a deep understanding of the use of software for measurement purposes; the ability to implement software-based measurement systems; familiarity with the hardware necessary to acquire and store signals; an appreciation for the key issue of long-term preservation of signals; and a full grasp of the often neglected issue of uncertainty in acoustical measurements. Pedagogical features include in-text worked-out examples, end-of-chapter problems, a glossary of metrology terms, and extensive appendices covering statistics, proofs, additional examples, file formats, and underlying theory.
This book describes pragmatic instruments and methods that enable business experts and software engineers to develop a common understanding of the software to be created, to determine their key requirements, and to manage the project in a way that fosters trust, encourages innovation and distributes risk fairly between clients and contractors. After an introduction to the fundamentals of agile software development in Part I, Part II describes the Interaction Room, an actual room where digitalization and mobilization strategies are developed, where technology potentials are evaluated, where software projects are planned and managed, and where business and technical stakeholders can communicate face to face, visualize complex relationships intuitively, and highlight value, effort and risk drivers that are keys to the project's success. After addressing these constructive aspects, the book focuses on the commercial aspects of software development: The adVANTAGE contract model described in Part III ensures that the insight-driven innovation process of software development does not just function, but is allowed to flourish in a trusted client-contractor relationship. Even though software contracting and construction may be grounded in two different academic disciplines, they are inseparable in practice, and how they interact is illustrated in the case study of developing a private health insurance benefit system in Part IV. Ultimately though, the success of every software project depends on the skills of the stakeholders. Part V therefore describes the qualification profile that software engineers and domain experts have to satisfy today. This book is aimed at CIOs, project managers and software engineers in industrial software development practice who want to learn how to effectively deal with the inevitable uncertainty of complex projects, who want to achieve higher levels of understanding and cooperation in their relationships with clients and contractors, and who want to run lower-risk software projects despite their inherent uncertainties.
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.
This book introduces Software Thermal Management (STM) as a means of reducing power consumption in a computing system in order to manage heat, improve component reliability and increase system safety. Readers will benefit from this pragmatic guide to the field of STM for embedded systems and its catalog of software power management techniques. Since thermal management is a key bottleneck in embedded systems design, this book focuses on root cause of heat in embedded systems: power. Since software has an enormous impact on power consumption in an embedded system, this book urges software engineers to manage heat effectively by understanding, categorizing and developing new ways to reduce static and dynamic power consumption. Whereas most books on thermal management describe mechanisms to remove heat, this book focuses on ways for software engineers to avoid generating heat in the first place.
This book provides formal and informal definitions and taxonomies for self-aware computing systems, and explains how self-aware computing relates to many existing subfields of computer science, especially software engineering. It describes architectures and algorithms for self-aware systems as well as the benefits and pitfalls of self-awareness, and reviews much of the latest relevant research across a wide array of disciplines, including open research challenges. The chapters of this book are organized into five parts: Introduction, System Architectures, Methods and Algorithms, Applications and Case Studies, and Outlook. Part I offers an introduction that defines self-aware computing systems from multiple perspectives, and establishes a formal definition, a taxonomy and a set of reference scenarios that help to unify the remaining chapters. Next, Part II explores architectures for self-aware computing systems, such as generic concepts and notations that allow a wide range of self-aware system architectures to be described and compared with both isolated and interacting systems. It also reviews the current state of reference architectures, architectural frameworks, and languages for self-aware systems. Part III focuses on methods and algorithms for self-aware computing systems by addressing issues pertaining to system design, like modeling, synthesis and verification. It also examines topics such as adaptation, benchmarks and metrics. Part IV then presents applications and case studies in various domains including cloud computing, data centers, cyber-physical systems, and the degree to which self-aware computing approaches have been adopted within those domains. Lastly, Part V surveys open challenges and future research directions for self-aware computing systems. It can be used as a handbook for professionals and researchers working in areas related to self-aware computing, and can also serve as an advanced textbook for lecturers and postgraduate students studying subjects like advanced software engineering, autonomic computing, self-adaptive systems, and data-center resource management. Each chapter is largely self-contained, and offers plenty of references for anyone wishing to pursue the topic more deeply.
A concise and thorough handbook on requirements analysis, this book is a desk guide for your systems or software development work. It enables you to identify the real customer requirements for your projects and control changes and additions to these requirements. The book helps you understand the importance of requirements, leverage effective requirements practices, and better utilize resources. You also learn how to strengthen interpersonal relationships and communications, which are major contributors to project effectiveness. Moreover, this reference identifies and describes the roles, desired skills and characteristics of the effective requirements analyst, and includes examples and checklists to help you implement best practices. It goes on to describe what comprises an integrated quality approach on a project or in an organization and explains how to achieve it. The book concludes with a vision for the field of requirements engineering and provides case studies that draw on actual experience.
Modern optimization approaches have attracted an increasing number of scientists, decision makers, and researchers. As new issues in this field emerge, different optimization methodologies must be developed and implemented. Exploring Critical Approaches of Evolutionary Computation is a vital scholarly publication that explores the latest developments, methods, approaches, and applications of evolutionary models in a variety of fields. It also emphasizes evolutionary models of computation such as genetic algorithms, evolutionary strategies, classifier systems, evolutionary programming, genetic programming, and related fields such as swarm intelligence and other evolutionary computation techniques. Highlighting a range of pertinent topics such as neural networks, data mining, and data analytics, this book is designed for IT developers, IT theorists, computer engineers, researchers, practitioners, and upper-level students seeking current research on enhanced information exchange methods and practical aspects of computational systems.
This book describes in contributions by scientists and practitioners the development of scientific concepts, technologies, engineering techniques and tools for a service-based society. The focus is on microservices, i.e cohesive, independent processes deployed in isolation and equipped with dedicated memory persistence tools, which interact via messages. The book is structured in six parts. Part 1 "Opening" analyzes the new (and old) challenges including service design and specification, data integrity, and consistency management and provides the introductory information needed to successfully digest the remaining parts. Part 2 "Migration" discusses the issue of migration from monoliths to microservices and their loosely coupled architecture. Part 3 "Modeling" introduces a catalog and a taxonomy of the most common microservices anti-patterns and identifies common problems. It also explains the concept of RESTful conversations and presents insights from studying and developing two further modeling approaches. Next , Part 4 is dedicated to various aspects of "Development and Deployment". Part 5 then covers "Applications" of microservices, presenting case studies from Industry 4.0, Netflix, and customized SaaS examples. Eventually, Part 6 focuses on "Education" and reports on experiences made in special programs, both at academic level as a master program course and for practitioners in an industrial training. As only a joint effort between academia and industry can lead to the release of modern paradigm-based programming languages, and subsequently to the deployment of robust and scalable software systems, the book mainly targets researchers in academia and industry who develop tools and applications for microservices.
A new product can be easy or difficult to use, it can be efficient or cumbersome, engaging or dispiriting, it can support the way we work and think - or not. What options are available for systematically addressing such parameters and provide users with an appropriate functionality, usability and experience? In the last decades, several fields have evolved that encompass a user-centred approach to create better products for the people who use them. This book provides a comprehensible introduction to the subject. It is aimed first and foremost at people involved in software and product development - product managers, project managers, consultants and analysts, who face the major challenge of developing highly useful and usable products. Topics include: The most important user-centred techniques and their alignment in the development process Planning examples of user-centred activities for projects User-oriented approaches for organisations Real-life case studies Checklists, tips and a lot of background information provide help for practitioners
This book constitutes the refereed post-conference proceedings of the 10th IFIP WG 5.14 International Conference on Computer and Computing Technologies in Agriculture, CCTA 2016, held in Dongying, China, in October 2016. The 55 revised papers presented were carefully reviewed and selected from 128 submissions. They cover a wide range of interesting theories and applications of information technology in agriculture, including intelligent sensing, cloud computing, key technologies of the Internet of Things, precision agriculture, animal husbandry information technology, including Internet + modern animal husbandry, livestock big data platform and cloud computing applications, intelligent breeding equipment, precision production models, water product networking and big data , including fishery IoT, intelligent aquaculture facilities, and big data applications.
In recent years, searching for source code on the web has become increasingly common among professional software developers and is emerging as an area of academic research. This volume surveys past research and presents the state of the art in the area of "code retrieval on the web." This work is concerned with the algorithms, systems, and tools to allow programmers to search for source code on the web and the empirical studies of these inventions and practices. It is a label that we apply to a set of related research from software engineering, information retrieval, human-computer interaction, management, as well as commercial products. The division of code retrieval on the web into snippet remixing and component reuse is driven both by empirical data, and analysis of existing search engines and tools. Contributors include leading researchers from human-computer interaction, software engineering, programming languages, and management. "Finding Source Code on the Web for Remix and Reuse" consists of five parts. Part I is titled "Programmers and Practices," and consists of a retrospective chapter and two empirical studies on how programmers search the web for source code. Part II is titled "From Data Structures to Infrastructures," and covers the creation of ground-breaking search engines for code retrieval required ingenuity in the adaptation of existing technology and in the creation of new algorithms and data structures. Part III focuses on "Reuse: Components and Projects," which are reused with minimal modification. Part IV is on "Remix: Snippets and Answers," which examines how source code from the web can also be used as solutions to problems and answers to questions. The book concludes with Part V, "Looking Ahead," that looks at future programming and the legalities of software reuse and remix and the implications of current intellectual property law on the future of software development. The story, "Richie Boss: Private Investigator Manager," was selected as the winner of a crowdfunded short story contest."
Scala is a new and exciting programming language that is a hybrid between object oriented languages such as Java and functional languages such as Haskell. As such it has its own programming idioms and development styles. Scala Design Patterns looks at how code reuse can be successfully achieved in Scala. A major aspect of this is the reinterpretation of the original Gang of Four design patterns in terms of Scala and its language structures (that is the use of Traits, Classes, Objects and Functions). It includes an exploration of functional design patterns and considers how these can be interpreted in Scala's uniquely hybrid style. A key aspect of the book is the many code examples that accompany each design pattern, allowing the reader to understand not just the design pattern but also to explore powerful and flexible Scala language features. Including numerous source code examples, this book will be of value to professionals and practitioners working in the field of software engineering.
This is the first book that presents a comprehensive overview of sustainability aspects in software engineering. Its format follows the structure of the SWEBOK and covers the key areas involved in the incorporation of green aspects in software engineering, encompassing topics from requirement elicitation to quality assurance and maintenance, while also considering professional practices and economic aspects. The book consists of thirteen chapters, which are structured in five parts. First the Introduction gives an overview of the primary general concepts related to Green IT, discussing what Green "in" Software Engineering is and how it differs from Green "by" Software Engineering.Next Environments, Processes and Construction presents green software development environments, green software engineering processes and green software construction in general. The third part, Economic and Other Qualities, details models for measuring how well software supports green software engineering techniques and for performing trade-off analyses between alternative green practices from an economic perspective. Software Development Process then details techniques for incorporating green aspects at various stages of software development, including requirements engineering, design, testing, and maintenance. In closing, Practical Issues addresses the repercussions of green software engineering on decision-making, stakeholder participation and innovation management. The audience for this book includes software engineering researchers in academia and industry seeking to understand the challenges and impact of green aspects in software engineering, as well as practitioners interested in learning about the state of the art in Green in Software Engineering. "
This book provides comprehensive coverage of verification and debugging techniques for embedded software, which is frequently used in safety critical applications (e.g., automotive), where failures are unacceptable. Since the verification of complex systems needs to encompass the verification of both hardware and embedded software modules, this book focuses on verification and debugging approaches for embedded software with hardware dependencies. Coverage includes the entire flow of design, verification and debugging of embedded software and all key approaches to debugging, dynamic, static, and hybrid verification. This book discusses the current, industrial embedded software verification flow, as well as emerging trends with focus on formal and hybrid verification and debugging approaches.
Object-oriented inheritance has been in widespread use for a decade, and it is now realised that although inheritance is a powerful modelling tool with many associated advantages, its benefits are not automatically conferred on systems that simply use it.This book introduces a model of inheritance based around five fundamental inheritance relationships. Each relationship has a clear conceptual basis, representing a fundamental, specialised use of inheritance. The resulting model replaces a confused notion of inheritance with five distinct conceptual relationships supporting more precise modelling of systems and capturing the semantic intent of each use of inheritance within a system.
The series covers new developments in computer technology. Most
chapters present an overview of a current subfield within computer
science, with many citations, and often include new developments in
the field by the authors of the individual chapters. Topics include
hardware, software, theoretical underpinnings of computing, and
novel applications of computers. This current volume emphasizes
software engineering issues in the design of new software systems.
The use of the new emerging agile methods is presented as well as
timeboxing and model based software engineering (MBASE) as
techniques to manage large scale developments.
Das Buch behandelt Prinzipien und Methoden der Software-Entwicklung fA1/4r Kommunikationsnetze, basierend auf praktischen Erfahrungen aus einer Reihe von Software-Projekten. Die spezifischen Merkmale dieser Software sind parallele AblAufe, zeitkritisches Antwortverhalten, komplexe FunktionalitAt und sehr hohe QualitAtsanforderungen. Eine wesentliche Rolle bei der Beherrschung der Software-KomplexitAt spielt die Architektur. Sie stellt die Regeln und Methoden fA1/4r einen effektiven Systementwurf zur VerfA1/4gung, auf dem sich der gesamte Entwicklungsprozess abstA1/4tzen kann. Dazu gehArt eine vollstAndige Spezifikationsmethodik auf der Grundlage einer formalen Sprache, deren Semantik an den typischen Merkmalen von Kommunikations-Software ausgerichtet ist. Schwerpunkt der AusfA1/4hrungen ist die Anpassung der Software-Entwicklung an die steigenden Anforderungen bezA1/4glich FunktionalitAt, Marktorientierung, Kosten und Zeit.
The aim of this book is to explain to high-performance computing (HPC) developers how to utilize the Intel(r) Xeon Phi series products efficiently. To that end, it introduces some computing grammar, programming technology and optimization methods for using many-integrated-core (MIC) platforms and also offers tips and tricks for actual use, based on the authors first-hand optimization experience. The material is organized in three sections. The first section, Basics of MIC, introduces the fundamentals of MIC architecture and programming, including the specific Intel MIC programming environment. Next, the section on Performance Optimization explains general MIC optimization techniques, which are then illustrated step-by-step using the classical parallel programming example of matrix multiplication. Finally, Project development presents a set of practical and experience-driven methods for using parallel computing in application projects, including how to determine if a serial or parallel CPU program is suitable for MIC and how to transplant a program onto MIC. This book appeals to two main audiences: First, software developers for HPC applications it will enable them to fully exploit the MIC architecture and thus achieve the extreme performance usually required in biological genetics, medical imaging, aerospace, meteorology and other areas of HPC. Second, students and researchers engaged in parallel and high-performance computing it will guide them on how to push the limits of system performance for HPC applications. "
This book provides advanced analytics and decision management techniques and tools for developing sustainable competitive advantages in the studied target context. In order to achieve sustainable economy, the capacity to endure, it is essential to understand and study the mechanisms for interactions and impact from and among these perspectives.
This book provides essential insights on the adoption of modern software engineering practices at large companies producing software-intensive systems, where hundreds or even thousands of engineers collaborate to deliver on new systems and new versions of already deployed ones. It is based on the findings collected and lessons learned at the Software Center (SC), a unique collaboration between research and industry, with Chalmers University of Technology, Gothenburg University and Malmoe University as academic partners and Ericsson, AB Volvo, Volvo Car Corporation, Saab Electronic Defense Systems, Grundfos, Axis Communications, Jeppesen (Boeing) and Sony Mobile as industrial partners. The 17 chapters present the "Stairway to Heaven" model, which represents the typical evolution path companies move through as they develop and mature their software engineering capabilities. The chapters describe theoretical frameworks, conceptual models and, most importantly, the industrial experiences gained by the partner companies in applying novel software engineering techniques. The book's structure consists of six parts. Part I describes the model in detail and presents an overview of lessons learned in the collaboration between industry and academia. Part II deals with the first step of the Stairway to Heaven, in which R&D adopts agile work practices. Part III of the book combines the next two phases, i.e., continuous integration (CI) and continuous delivery (CD), as they are closely intertwined. Part IV is concerned with the highest level, referred to as "R&D as an innovation system," while Part V addresses a topic that is separate from the Stairway to Heaven and yet critically important in large organizations: organizational performance metrics that capture data, and visualizations of the status of software assets, defects and teams. Lastly, Part VI presents the perspectives of two of the SC partner companies. The book is intended for practitioners and professionals in the software-intensive systems industry, providing concrete models, frameworks and case studies that show the specific challenges that the partner companies encountered, their approaches to overcoming them, and the results. Researchers will gain valuable insights on the problems faced by large software companies, and on how to effectively tackle them in the context of successful cooperation projects. |
You may like...
Principles of Security and Trust - 7th…
Lujo Bauer, Ralf Kusters
Hardcover
R1,620
Discovery Miles 16 200
Writing Better Requirements - Writing…
Ian Alexander, Richard Stevens
Paperback
R2,122
Discovery Miles 21 220
|