![]() |
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
This book highlights the advantages and disadvantages of various software development lifecycle models, and describes when to apply testing -- and when to use other, more cost-effective techniques. It also shows how to incorporate V&V techniques if your organization does not have a written procedure, and explains how to implement the inspection process.
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.
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.
Cloud service benchmarking can provide important, sometimes surprising insights into the quality of services and leads to a more quality-driven design and engineering of complex software architectures that use such services. Starting with a broad introduction to the field, this book guides readers step-by-step through the process of designing, implementing and executing a cloud service benchmark, as well as understanding and dealing with its results. It covers all aspects of cloud service benchmarking, i.e., both benchmarking the cloud and benchmarking in the cloud, at a basic level. The book is divided into five parts: Part I discusses what cloud benchmarking is, provides an overview of cloud services and their key properties, and describes the notion of a cloud system and cloud-service quality. It also addresses the benchmarking lifecycle and the motivations behind running benchmarks in particular phases of an application lifecycle. Part II then focuses on benchmark design by discussing key objectives (e.g., repeatability, fairness, or understandability) and defining metrics and measurement methods, and by giving advice on developing own measurement methods and metrics. Next, Part III explores benchmark execution and implementation challenges and objectives as well as aspects like runtime monitoring and result collection. Subsequently, Part IV addresses benchmark results, covering topics such as an abstract process for turning data into insights, data preprocessing, and basic data analysis methods. Lastly, Part V concludes the book with a summary, suggestions for further reading and pointers to benchmarking tools available on the Web. The book is intended for researchers and graduate students of computer science and related subjects looking for an introduction to benchmarking cloud services, but also for industry practitioners who are interested in evaluating the quality of cloud services or who want to assess key qualities of their own implementations through cloud-based experiments.
How do we define the nature of our business, gather everything that we know about it, and then centralize our information in one, easily accessed place within the organization? Breslin and McGann call such knowledge our ways of working and the place where it will be found a business knowledge repository. All of a company's accumulated operations data, its manuals and procedures, its records of compliance with myriad regulations, its audits, disaster recovery plans--are essential information that today's management needs at its fingertips, and information that tomorroW's management must be sure can easily be found. Breslin and McGann show clearly and comprehensively how business knowledge repositories can be established and maintained, what should go into them and how to get it out, who should have access, and all of the other details that management needs to make the most of this valuable resource and means of doing business. An essential study and guide for management at upper levels in all types of organizations, both public and private. Breslin and McGann show that once an organization's knowledge of itself is formulated into its ways of working, its so-called object orientation makes it easily maintained. The repository approach to organizing and consolidating knowledge makes it possible for all of its potential users to access it easily, without having to go to one source for one thing they need and to another for another thing, a tedious and costly procedure in many organizations that have allowed their information and knowledge resources to not only grow but become duplicated as well. The repository approach also makes it possible for management to organize and access information by job functions, and to make it available to employees more easily in training situations. Regulators and auditors are also more easily served. As a result, CFOs will find their annual audit and various compliance fees considerably reduced. Breslin and McGann's book is thus a blueprint for the creation of knowledge repositories and a discussion of how graphical communication between information systems creators and their client end users can be made to flow smoothly and efficiently.
This edited book presents the scientific outcomes of the 19th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD 2018), which was held in Busan, Korea on June 27-29, 2018. 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 and to share their experiences and exchange new ideas and information in a meaningful way. The book includes research findings on 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 respond to them. The book includes 13 of the conference's most promising papers.
While a number of books on the market deal with software requirements, this is the first resource to offer a methodology for discovering and testing the real business requirements that software products must meet in order to provide value.
As the software industry continues to evolve, professionals are continually searching for practices that can assist with the various problems and challenges in information technology (IT). Agile development has become a popular method of research in recent years due to its focus on adapting to change. There are many factors that play into this process, so success is no guarantee. However, combining agile development with other software engineering practices could lead to a high rate of success in problems that arise during the maintenance and development of computing technologies. Software Engineering for Agile Application Development is a collection of innovative research on the methods and implementation of adaptation practices in software development that improve the quality and performance of IT products. The presented materials combine theories from current empirical research results as well as practical experiences from real projects that provide insights into incorporating agile qualities into the architecture of the software so that the product adapts to changes and is easy to maintain. While highlighting topics including continuous integration, configuration management, and business modeling, this book is ideally designed for software engineers, software developers, engineers, project managers, IT specialists, data scientists, computer science professionals, researchers, students, and academics.
Healthcare and well-being have captured the attention of established software companies, start-ups, and investors. Software is starting to play a central role for addressing the problems of the aging society and the escalating cost of healthcare services. Enablers of such digital health are a growing number of sensors for sensing the human body and communication infrastructure for remote meetings, data sharing, and messaging. The challenge that lies in front of us is how to effectively make use of these capabilities, for example to empower patients and to free the scarce resources of medical personnel. Requirements engineering is the process by which the capabilities of a software product are aligned with stakeholder needs and a shared understanding between the stakeholders and development team established. This book provides guide for what to look for and do when inquiring and specifying software that targets healthcare and well-being, helping readers avoid the pitfalls of the highly regulated and sensible healthcare domain are and how they can be overcome. This book brings together the knowledge of 22 researchers, engineers, lawyers, and CEOs that have experience in the development of digital health solutions. It represents a unique line-up of best practices and recommendations of how to engineer requirements for digital health. In particular the book presents: * The area of digital health, e-health, and m-health * Best practice for requirements engineering based on evidence from a large number of projects * Practical step-by-step guidelines, examples, and lessons-learned for working with laws, regulations, ethical issues, interoperability, user experience, security, and privacy * How to put these many concerns together for engineering the requirements of a digital health solution and for scaling a digital health product For anybody who intends to develop software for digital health, this book is an introduction and reference with a wealth of actionable insights. For students interested in understanding how to apply software to healthcare, the text introduces key topics and guides further studies with references to important literature.
This handbook provides a unique and in-depth survey of the current state-of-the-art in software engineering, covering its major topics, the conceptual genealogy of each subfield, and discussing future research directions. Subjects include foundational areas of software engineering (e.g. software processes, requirements engineering, software architecture, software testing, formal methods, software maintenance) as well as emerging areas (e.g., self-adaptive systems, software engineering in the cloud, coordination technology). Each chapter includes an introduction to central concepts and principles, a guided tour of seminal papers and key contributions, and promising future research directions. The authors of the individual chapters are all acknowledged experts in their field and include many who have pioneered the techniques and technologies discussed. Readers will find an authoritative and concise review of each subject, and will also learn how software engineering technologies have evolved and are likely to develop in the years to come. This book will be especially useful for researchers who are new to software engineering, and for practitioners seeking to enhance their skills and knowledge.
This book summarizes the results of Design Thinking Research carried out at Stanford University in Palo Alto, California, USA and at the Hasso Plattner Institute in Potsdam, Germany. Offering readers a closer look at Design Thinking, its innovation processes and methods, the book covers topics ranging from how to design ideas, methods and technologies, to creativity experiments and wicked problem solutions, to creative collaboration in the real world, and the interplay of designers and engineers. But the topics go beyond this in their detailed exploration of Design Thinking and its use in IT systems engineering fields, or even from a management perspective. The authors show how these methods and strategies actually work in companies, introduce new technologies and their functions, and demonstrate how Design Thinking can influence such unexpected topics as marriage. Furthermore, readers will learn how special-purpose Design Thinking can be used to solve wicked problems in complex fields. Thinking and devising innovations are fundamentally and inherently human activities - so is Design Thinking. Accordingly, Design Thinking is not merely the result of special courses nor of being gifted or trained: it's a way of dealing with our environment and improving techniques, technologies and life.
Free/Open Source Software gives an overview of the current research streams in the field of free and open source software development. A multitude of research approaches are used to explore free and open source software development processes, attributes of their products and the workings within the development communities. This book offers a glimpse beyond classical free and open source software development, and analyzes chances and risks for co-operations with traditional organizations and the implications of this new model for areas other than software development.
Conceptual modeling has always been one of the main issues in information systems engineering as it aims to describe the general knowledge of the system at an abstract level that facilitates user understanding and software development. This collection of selected papers provides a comprehensive and extremely readable overview of what conceptual modeling is and perspectives on making it more and more relevant in our society. It covers topics like modeling the human genome, blockchain technology, model-driven software development, data integration, and wiki-like repositories and demonstrates the general applicability of conceptual modeling to various problems in diverse domains. Overall, this book is a source of inspiration for everybody in academia working on the vision of creating a strong, fruitful and creative community of conceptual modelers. With this book the editors and authors want to honor Prof. Antoni Olive for his enormous and ongoing contributions to the conceptual modeling discipline. It was presented to him on the occasion of his keynote at ER 2017 in Valencia, a conference that he has contributed to and supported for over 20 years. Thank you very much to Antoni for so many years of cooperation and friendship.
This book is written for engineering students and working professionals. Technical professionals are increasingly involved in IT issues, such as implementing IT systems, managing them, and taking part in requirements analysis/vendor selection. In this book, the basics of production planning systems (PPS) are covered, as well as their implementation in ERP-Systems like SAP. Readers also learn the basics of practical IT management and software creation through detailed, real-world examples. The book serves as a full 5 ECTS study module, which fits into any engineering curriculum. 150 multiple-choice quizzes, practical exercises and a text filled with experiential examples make it a convenient choice for selfstudy and for classroom use.
This book presents a key solution for current and future technological issues, adopting an integrated system approach with a combination of software engineering applications. Focusing on how software dominates and influences the performance, reliability, maintainability and availability of complex integrated systems, it proposes a comprehensive method of improving the entire process. The book provides numerous qualitative and quantitative analyses and examples of varied systems to help readers understand and interpret the derived results and outcomes. In addition, it examines and reviews foundational work associated with decision and control systems for information systems, to inspire researchers and industry professionals to develop new and integrated foundations, theories, principles, and tools for information systems. It also offers guidance and suggests best practices for the research community and practitioners alike. The book's twenty-two chapters examine and address current and future research topics in areas like vulnerability analysis, secured software requirements analysis, progressive models for planning and enhancing system efficiency, cloud computing, healthcare management, and integrating data-information-knowledge in decision-making. As such it enables organizations to adopt integrated approaches to system and software engineering, helping them implement technological advances and drive performance. This in turn provides actionable insights on each and every technical and managerial level so that timely action-based decisions can be taken to maintain a competitive edge. Featuring conceptual work and best practices in integrated systems and software engineering applications, this book is also a valuable resource for all researchers, graduate and undergraduate students, and management professionals with an interest in the fields of e-commerce, cloud computing, software engineering, software & system security and analysis, data-information-knowledge systems and integrated systems.
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.
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.
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.
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 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.
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. |
You may like...
Data Prefetching Techniques in Computer…
Pejman Lotfi-Kamran, Hamid Sarbazi-Azad
Hardcover
R3,923
Discovery Miles 39 230
Essential Java for Scientists and…
Brian Hahn, Katherine Malan
Paperback
R1,266
Discovery Miles 12 660
Research Anthology on Architectures…
Information R Management Association
Hardcover
R12,620
Discovery Miles 126 200
Hardware Accelerator Systems for…
Shiho Kim, Ganesh Chandra Deka
Hardcover
R3,950
Discovery Miles 39 500
|