![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Software engineering
ISO 9001 is known throughout the world as the gold standard for quality process improvement, but quality assurances experts are also discovering the power of CMMI (Capability Maturity Model Integration). This text explores how these two models can be used together to improve process quality by quantum leaps. It shows how organizations can streamline their quality process improvement programmes by capitalizing on the similarities both models share while minimizing their differences. The authors demonstrate that organizations can save valuable resources and money as they improve quality by moving towards both ISO 9001:2000 and CMMI compliance certification.
Other books on the market have explored the principles of software configuration management (SCM), but none have tackled the nuts-and-bolts of implementing an SCM system - until now. This completely revised edition of an Artech House bestseller goes far above and beyond other SCM books as the only complete guide that integrates SCM principles, advanced topics, and implementation procedures in one easy-access resource. The second edition is greatly expanded with new chapters on documentation control, product data management, and SCM standards, and explroes the latest advances in SCM tools, organization, operation, and maintenance as well as new software development methodologies.
This book provides a pioneering approach to modeling the human diabetic patient using a software agent. It is based on two MASc (Master of Applied Science) theses: one looking at the evolution of the patient agent in time, and another looking the interaction of the patient agent with the healthcare system. It shows that the software agent evolves in a manner analogous to the human patient and exhibits typical attributes of the illness such as reacting to food consumption, medications, and activity. This agent model can be used in a number of different ways, including as a prototype for a specific human patient with the purpose of helping to identify when that patient's condition deviates from normal variations. The software agent can also be used to study the interaction between the human patient and the health care system. This book is of interest to anyone involved in the management of diabetic patients or in societal research into the management of diabetes. The diabetic patient agent was developed using the Ackerman model for diabetes, but this model can be easily adapted for any other model subject with the necessary physiological data to support that model.
This book presents an overview of the latest smart transportation systems, IoV connectivity frameworks, issues of security and safety in VANETs, future developments in the IoV, technical solutions to address key challenges, and other related topics. A connected vehicle is a vehicle equipped with Internet access and wireless LAN, which allows the sharing of data through various devices, inside as well as outside the vehicle. The ad-hoc network of such vehicles, often referred to as VANET or the Internet of vehicles (IoV), is an application of IoT technology, and may be regarded as an integration of three types of networks: inter-vehicle, intra-vehicle, and vehicular mobile networks. VANET involves several varieties of vehicle connectivity mechanisms, including vehicle-to-infrastructure (V2I), vehicle-to-vehicle (V2V), vehicle-to-cloud (V2C), and vehicle-to-everything (V2X). According to one survey, it is expected that there will be approximately 380 million connected cars on the roads by 2020. IoV is an important aspect of the new vision for smart transportation. The book is divided into three parts: examining the evolution of IoV (basic concepts, principles, technologies, and architectures), connectivity of vehicles in the IoT (protocols, frameworks, and methodologies), connected vehicle environments and advanced topics in VANETs (security and safety issues, autonomous operations, machine learning, sensor technology, and AI). By providing scientific contributions and workable suggestions from researchers and practitioners in the areas of IoT, IoV, and security, this valuable reference aims to extend the body of existing knowledge.
This book is about describing the meaning of programming languages. The author teaches the skill of writing semantic descriptions as an efficient way to understand the features of a language. While a compiler or an interpreter offers a form of formal description of a language, it is not something that can be used as a basis for reasoning about that language nor can it serve as a definition of a programming language itself since this must allow a range of implementations. By writing a formal semantics of a language a designer can yield a far shorter description and tease out, analyse and record design choices. Early in the book the author introduces a simple notation, a meta-language, used to record descriptions of the semantics of languages. In a practical approach, he considers dozens of issues that arise in current programming languages and the key techniques that must be mastered in order to write the required formal semantic descriptions. The book concludes with a discussion of the eight key challenges: delimiting a language (concrete representation), delimiting the abstract content of a language, recording semantics (deterministic languages), operational semantics (non-determinism), context dependency, modelling sharing, modelling concurrency, and modelling exits. The content is class-tested and suitable for final-year undergraduate and postgraduate courses. It is also suitable for any designer who wants to understand languages at a deep level. Most chapters offer projects, some of these quite advanced exercises that ask for complete descriptions of languages, and the book is supported throughout with pointers to further reading and resources. As a prerequisite the reader should know at least one imperative high-level language and have some knowledge of discrete mathematics notation for logic and set theory.
This book presents the outcomes of the 16th International Conference on Software Engineering, Artificial Intelligence Research, Management and Applications (SERA 2018), which was held in Kunming, China on June 13-15, 2018. The aim of the conference was to bring together researchers and scientists, businessmen and entrepreneurs, teachers, engineers, computer users, and students to discuss the various fields of computer science, to share their experiences, and to exchange new ideas and information in a meaningful way. The book includes findings on all aspects (theory, applications and tools) of computer and information science, and discusses related practical challenges and the solutions adopted to solve them. The conference organizers selected the best papers from those accepted for presentation. The papers were chosen based on review scores submitted by members of the program committee and underwent a further rigorous round of review. From this second round, 13 of the conference's most promising papers were then published in this Springer (SCI) book and not the conference proceedings. We eagerly await the important contributions that we know these authors will make to the field of computer and information science.
Enterprise resource planning plays a strategic role in designing, and managing e-government resources. Governments all over the world face challenges in designing robust enterprise resource planning applications and methodologies to align themselves with the expectations of citizens and stakeholders. The existing standard enterprise resource planning solutions are proprietary, inflexible, and expensive to implement in government enterprises. Strategic Enterprise Resource Planning Models for E-Government: Applications and Methodologies is a collection of research from professionals and researchers working in the field of e-government including policymakers, ICT vendors, consultants, and implementing agencies. This book will aim to suggest enterprise resource planning frameworks for government enterprises along with their applications and methodologies to improve effectiveness of processes and enhance citizen-centric services. The research initiatives presented in this book will ease the process of implementing customized enterprise resource planning solutions in e-government.
This book constitutes the refereed proceedings of the 17th IFIP WG 2.13 International Conference on Open Source Systems, OSS 2021, held virtually in May 2021.The 4 full papers and 3 short papers presented were carefully reviewed and selected from 23 submissions. The papers cover a wide range of topics in the field of free/libre open source software (FLOSS) and discuss theories, practices, experiences, and tools on development and applications of OSS systems, with a specific focus on two aspects:(a) the development of open source systems and the underlying technical, social, and economic issue, (b) the adoption of OSS solutions and the implications of such adoption both in the public and in the private sector.
The work presented here is generally intended for engineers, educators at all levels, industrialists, managers, researchers and political representatives. Offering a snapshot of various types of research conducted within the field of TRIZ in France, it represents a unique resource. It has been two decades since the TRIZ theory originating in Russia spread across the world. Every continent adopted it in a different manner - sometimes by glorifying its potential and its perspectives (the American way); sometimes by viewing it with mistrust and suspicion (the European way); and sometimes by adopting it as-is, without questioning it further (the Asian way). However, none of these models of adoption truly succeeded. Today, an assessment of TRIZ practices in education, industry and research is necessary. TRIZ has expanded to many different scientific disciplines and has allowed young researchers to reexamine the state of research in their field. To this end, a call was sent out to all known francophone research laboratories producing regular research about TRIZ. Eleven of them agreed to send one or more of their postdoctoral researchers to present their work during a seminar, regardless of the maturity or completeness of their efforts. It was followed by this book project, presenting one chapter for every current thesis in order to reveal the breadth, the richness and the perspectives that research about the TRIZ theory could offer our society. The topics dealt with e.g. the development of new methods inspired by TRIZ, educational practices, and measuring team impact.
This book takes a foundational approach to the semantics of probabilistic programming. It elaborates a rigorous Markov chain semantics for the probabilistic typed lambda calculus, which is the typed lambda calculus with recursion plus probabilistic choice. The book starts with a recapitulation of the basic mathematical tools needed throughout the book, in particular Markov chains, graph theory and domain theory, and also explores the topic of inductive definitions. It then defines the syntax and establishes the Markov chain semantics of the probabilistic lambda calculus and, furthermore, both a graph and a tree semantics. Based on that, it investigates the termination behavior of probabilistic programs. It introduces the notions of termination degree, bounded termination and path stoppability and investigates their mutual relationships. Lastly, it defines a denotational semantics of the probabilistic lambda calculus, based on continuous functions over probability distributions as domains. The work mostly appeals to researchers in theoretical computer science focusing on probabilistic programming, randomized algorithms, or programming language theory.
This classroom-tested textbook describes the design and implementation of software for distributed real-time systems, using a bottom-up approach. The text addresses common challenges faced in software projects involving real-time systems, and presents a novel method for simply and effectively performing all of the software engineering steps. Each chapter opens with a discussion of the core concepts, together with a review of the relevant methods and available software. This is then followed with a description of the implementation of the concepts in a sample kernel, complete with executable code. Topics and features: introduces the fundamentals of real-time systems, including real-time architecture and distributed real-time systems; presents a focus on the real-time operating system, covering the concepts of task, memory, and input/output management; provides a detailed step-by-step construction of a real-time operating system kernel, which is then used to test various higher level implementations; describes periodic and aperiodic scheduling, resource management, and distributed scheduling; reviews the process of application design from high-level design methods to low-level details of design and implementation; surveys real-time programming languages and fault tolerance techniques; includes end-of-chapter review questions, extensive C code, numerous examples, and a case study implementing the methods in real-world applications; supplies additional material at an associated website. Requiring only a basic background in computer architecture and operating systems, this practically-oriented work is an invaluable study aid for senior undergraduate and graduate-level students of electrical and computer engineering, and computer science. The text will also serve as a useful general reference for researchers interested in real-time systems.
This book provides an in-depth insight into the emerging paradigm of End-User Development (EUD), discussing the diversity and potential for creating effective environments for end users. Containing a unique set of contributions from a number of international researchers and institutes, many relevant issues are discussed and solutions proposed, making important aspects of end-user development research available to a broader audience. Most people are familiar with the basic functionality and interfaces of computers. However, developing new or modified applications that can effectively support users' goals still requires considerable programming expertise that cannot be expected of everyone. One of the fundamental challenges that lie ahead is the development of environments that enable users with little or no programming experience to develop and modify their own applications. The ultimate goal is to empower people to flexibly employ and personalise advanced inform ation and communication technologies.
Presenting the state of the art in component-based software testing, this cutting-edge resource offers you an in-depth understanding of the current issues, challenges, needs and solutions in this critical area. The book discusses the very latest advances in component-based testing and quality assurance in an accessible tutorial format, making the material easy to comprehend and benefit from no matter what your professional level. The book clearly explains what component-based software testing is, why it is important, and how it differs from traditional software testing. From an introduction to software components, testing component-based software and validation methods for software components, to performance testing and measurement, standards and certification and verification of quality for component-based systems, you get a revealing snapshot of the key developments in this area, including important research findings. This volume also serves as a textbook for related courses at the advanced undergraduate or graduate level.
This book presents a guide to navigating the complicated issues of quality and process improvement in enterprise software implementation, and the effect these have on the software development life cycle (SDLC). Offering an integrated approach that includes important management and decision practices, the text explains how to create successful automated solutions that fit user and customer needs, by mixing different SDLC methodologies. With an emphasis on the realities of practice, the book offers essential advice on defining business requirements, and managing change. This revised and expanded second edition includes new content on such areas as cybersecurity, big data, and digital transformation. Features: presents examples, case studies, and chapter-ending problems and exercises; concentrates on the skills needed to distinguish successful software implementations; considers the political and cultural realities in organizations; suggests many alternatives for how to manage and model a system.
This book presents a design methodology that is practically applicable to the architectural design of a broad range of systems. It is based on fundamental design concepts to conceive and specify the required functional properties of a system, while abstracting from the specific implementation functions and technologies that can be chosen to build the system. Abstraction and precision are indispensable when it comes to understanding complex systems and precisely creating and representing them at a high functional level. Once understood, these concepts appear natural, self-evident and extremely powerful, since they can directly, precisely and concisely reflect what is considered essential for the functional behavior of a system. The first two chapters present the global views on how to design systems and how to interpret terms and meta-concepts. This informal introduction provides the general context for the remainder of the book. On a more formal level, Chapters 3 through 6 present the main basic design concepts, illustrating them with examples. Language notations are introduced along with the basic design concepts. Lastly, Chapters 7 to 12 discuss the more intricate basic design concepts of interactive systems by focusing on their common functional goal. These chapters are recommended to readers who have a particular interest in the design of protocols and interfaces for various systems. The didactic approach makes it suitable for graduate students who want to develop insights into and skills in developing complex systems, as well as practitioners in industry and large organizations who are responsible for the design and development of large and complex systems. It includes numerous tangible examples from various fields, and several appealing exercises with their solutions.
This book focuses on innovative strategies to manage and build software systems for generating new knowledge from large archaeological data sets The book also reports on two case studies carried out in real-world scenarios within the Cultural Heritage setting. The book presents an original conceptual framework for developing software solutions to assist the knowledge generation process in connection with large archaeological data sets and related cultural heritage information- a context in which the inputs are mainly textual sources written in freestyle, i.e. without a predetermined, standard structure. Following an in-depth exploration of recent works on the knowledge generation process in the above-mentioned context and IT-based options for facilitating it, the book proposes specific new techniques capable of capturing the structure and semantics implicit in such textual sources, and argues for using this information in the knowledge generation process. The main result is the development of a conceptual framework that can accommodate textual sources and integrate the information included in them into a software engineering framework. The said framework is meant to assist cultural heritage professionals in general, and archaeologists in particular, in both knowledge extraction and the subsequent decision-making process.
This book summarizes the new research results presented at the 12th Joint Conference on Knowledge-Based Software Engineering (JCKBSE 2018), which took place on August 27-30, 2018 on the island of Corfu, Greece. The JCKBSE is a well-established international biennial conference that focuses on the applications of Artificial Intelligence in Software Engineering. The JCKBSE 2018 was organized by the Department of Informatics of the University of Piraeus, the Department of Computer and Information Engineering of Nippon Institute of Technology, and the Department of Informatics of Ionian University. The book will benefit not only experts and researchers in the field of (Knowledge-Based) Software Engineering, but also general readers in the fields of Artificial Intelligence, Computational Intelligence and Computer Science who wish to learn more about the field of (Knowledge-Based) Software Engineering and its applications. An extensive list of bibliographic references at the end of each paper encourages readers to probe further into the application areas that interest them most.
This book provides readers with an in-depth discussion of circuit simulation, combining basic electrical engineering circuit theory with Python programming. It fills an information gap by describing the development of Python Power Electronics, an open-source software for simulating circuits, and demonstrating its use in a sample circuit. Unlike typical books on circuit theory that describe how circuits can be solved mathematically, followed by examples of simulating circuits using specific, commercial software, this book has a different approach and focus. The author begins by describing every aspect of the open-source software, in the context of non-linear power electronic circuits, as a foundation for aspiring or practicing engineers to embark on further development of open source software for different purposes. By demonstrating explicitly the operation of the software through algorithms, this book brings together the fields of electrical engineering and software technology.
Over the last four decades, computer systems have required increasingly complex software development and maintenance support. The marriage of software engineering, the application of engineering principals to produce economical and reliable software, to software development tools and methods promised to simplify software development while improving accuracy and speed, tools have evolved that use computer graphics to represent concepts that generate code from integrated design specifications. Practicing Software Engineering in the 21st Century addresses the tools and techniques utilized when developing and implementing software engineering practices into computer systems.
* Deals with powerful concepts in a simple way * Highlights
important characteristics of Operating systems and other abstract
entities in a new way * Explores the tenets of the UNIX operating
system philosophy
Despite pressures of economic slowdown and the e-commerce bubble burst, moving towards e-services is a compelling necessity for today's organizations. Companies that are reluctant to adopt a service-oriented architecture in their IT systems will be missing out on unprecedented opportunities to create business value with relatively small IT investments. ""Engineering Service Oriented Systems: A Model-Driven Approach"" combines concepts from systems theory, model driven software engineering, and ontologies for software engineering into a systematic method for engineering service oriented systems while integrating both business and software perspectives.
This book gathers 12 of the most promising papers presented at the 15th International Conference on Software Engineering, Artificial Intelligence Research, Management and Applications (SERA 2017) held on June 7-9, 2017 at the University of Greenwich, London, UK. The aim of this conference was to bring together researchers and scientists, businessmen and entrepreneurs, teachers, engineers, computer users, and students to discuss the numerous fields of computer science, to share their experiences and to exchange new ideas and information in a meaningful way. The book also presents research findings regarding all aspects (theory, applications and tools) of computer and information science, and discusses the practical challenges encountered along the way and the solutions adopted to solve them.
This book constitutes the refereed proceedings of the 14th IFIP WG 2.13 International Conference on Open Source Systems, OSS 2018, held in Athens, Greece, in June 2018. The 14 revised full papers and 2 short papers presented were carefully reviewed and selected from 38 submissions. The papers cover a wide range of topics in the field of free/libre open source software (FLOSS) and are organized in the following thematic sections: organizational aspects of OSS projects, OSS projects validity, mining OSS data, OSS in public administration, OSS governance, and OSS reusability.
(This book is available at a reduced price for course adoption when ordering six copies or more. Please contact [email protected] for more information.) The purpose of Experimentation in Software Engineering: An Introduction is to introduce students, teachers, researchers, and practitioners to experimentation and experimental evaluation with a focus on software engineering. The objective is, in particular, to provide guidelines for performing experiments evaluating methods, techniques and tools in software engineering. The introduction is provided through a process perspective. The focus is on the steps that we go through to perform experiments and quasi-experiments. The process also includes other types of empirical studies. The motivation for the book emerged from the need for support we experienced when turning our software engineering research more experimental. Several books are available which either treat the subject in very general terms or focus on some specific part of experimentation; most focus on the statistical methods in experimentation. These are important, but there were few books elaborating on experimentation from a process perspective, none addressing experimentation in software engineering in particular. The scope of Experimentation in Software Engineering: An Introduction is primarily experiments in software engineering as a means for evaluating methods, techniques and tools. The book provides some information regarding empirical studies in general, including both case studies and surveys. The intention is to provide a brief understanding of these strategies and in particular to relate them to experimentation. Experimentation inSoftware Engineering: An Introduction is suitable for use as a textbook or a secondary text for graduate courses, and for researchers and practitioners interested in an empirical approach to software engineering. |
![]() ![]() You may like...
Networks in the Global World V…
Artem Antonyuk, Nikita Basov
Hardcover
R4,404
Discovery Miles 44 040
Beginning iPad Development for iPhone…
Jack Nutting, David Mark, …
Paperback
Cloud Computing for Geospatial Big Data…
Himansu Das, Rabindra K. Barik, …
Hardcover
R5,119
Discovery Miles 51 190
Computer Vision and Augmented Reality in…
Ahmed Fathi Bekhit
Paperback
Soft Computing in Information Retrieval…
Fabio Crestani, Gabriella Pasi
Hardcover
R4,585
Discovery Miles 45 850
|