![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Software engineering
This book focuses on elementary concepts of both radio frequency energy harvesting (RFEH) and wireless power transfer (WPT), and highlights their fundamental requirements followed by recent advancements. It provides a systematic overview of the key components required for RFEH and WPT applications and also comprehensively introduces the pioneering research advancements achieved to date. The state-of-the-art circuit design topologies for the two different applications are presented mainly in terms of antenna operating frequencies, polarization characteristics, efficient matching network circuits, rectifier topologies, and overall rectenna systems. The book serves as a single point of reference for practicing engineers and researchers searching for potential sources and elements involved in the RFEH system as well as in the WPT system, and need rapid training and design guidelines in the following areas: * Different sensing elements used in RFEH and WPT * Inclusions of mathematical expressions and design problems * Illustration of some design examples and performance enhancement techniques
This book is the follow-up of the Boost Volume I book and it has been written for software developers who use Boost C++ libraries to create flexible applications. We discuss approximately 20 advanced libraries that can be classified into the following major categories: Mathematics: special functions, statistical distributions, interval arithmetic and matrix algebra. Special data structures: date and time, circular buffer, UUID, dynamic bitsets, pool memory. TCP and UDP portable network programming using the software interface. Interprocess communication and shared memory programming models. Three chapters on graphs, graph algorithms and their implementation in Boost. The focus is hands-on and each library is discussed in detail and numerous working examples are given to get the reader up to speed as soon as possible. Each library is described in a step-by-step fashion and you can use the corresponding code as a basis for more advanced applications. These libraries are the ideal basis for new applications. We shall use them in Volume III of the current series when we discuss applications to engineering, science and computational finance. About the Authors Robert Demming is software designer, developer and trainer and he has been involved with software projects in the areas of optical technology, process control, CAD and order processing systems since 1993. He has a BSc degree in technical computerscience from Amsterdam Hogeschool. Daniel J. Duffy is founder of Datasim Education BV and has been working with C++ and its applications since 1989 and with software development since 1979. He is designer, algorithm builder and trainer. He has a PhD in numerical analysis from Trinity College, Dublin. One of the projects that he is involved in is applying the Boost libraries to computational finance."
This book focuses on the topic of improving software quality using adaptive control approaches. As software systems grow in complexity, some of the central challenges include their ability to self-manage and adapt at run time, responding to changing user needs and environments, faults, and vulnerabilities. Control theory approaches presented in the book provide some of the answers to these challenges.The book weaves together diverse research topics (such as requirements engineering, software development processes, pervasive and autonomic computing, service-oriented architectures, on-line adaptation of software behavior, testing and QoS control) into a coherent whole.Written by world-renowned experts, this book is truly a noteworthy and authoritative reference for students, researchers and practitioners to better understand how the adaptive control approach can be applied to improve the quality of software systems. Book chapters also outline future theoretical and experimental challenges for researchers in this area.
There is an intrinsic conflict between creating secure systems and usable systems. But usability and security can be made synergistic by providing requirements and design tools with specific usable security principles earlier in the requirements and design phase. In certain situations, it is possible to increase usability and security by revisiting design decisions made in the past; in others, to align security and usability by changing the regulatory environment in which the computers operate. This book addresses creation of a usable security protocol for user authentication as a natural outcome of the requirements and design phase of the authentication method development life cycle.
Businesses today are faced with a highly competitive market and fast-changing technologies. In order to meet demanding customers' needs, they rely on high quality software. A new field of study, soft computing techniques, is needed to estimate the efforts invested in component-based software. Component-Based Systems: Estimating Efforts Using Soft Computing Techniques is an important resource that uses computer-based models for estimating efforts of software. It provides an overview of component-based software engineering, while addressing uncertainty involved in effort estimation and expert opinions. This book will also instruct the reader how to develop mathematical models. This book is an excellent source of information for students and researchers to learn soft computing models, their applications in software management, and will help software developers, managers, and those in the industry to apply soft computing techniques to estimate efforts.
Businesses today are faced with a highly competitive market and fast-changing technologies. In order to meet demanding customers' needs, they rely on high quality software. A new field of study, soft computing techniques, is needed to estimate the efforts invested in component-based software. Component-Based Systems: Estimating Efforts Using Soft Computing Techniques is an important resource that uses computer-based models for estimating efforts of software. It provides an overview of component-based software engineering, while addressing uncertainty involved in effort estimation and expert opinions. This book will also instruct the reader how to develop mathematical models. This book is an excellent source of information for students and researchers to learn soft computing models, their applications in software management, and will help software developers, managers, and those in the industry to apply soft computing techniques to estimate efforts.
Do modern programming languages, IDEs, and libraries make coding easy? Maybe, but coding is not design. Large-scale or expensive apps clearly require evaluation of design choices. Still, software design directly impacts code reuse and longevity even for small-scale apps with limited overhead. This text evaluates and contrasts common object-oriented designs. A given problem may have many solutions. A developer may employ different design techniques - composition, inheritance, dependency injection, delegation, etc. - to solve a particular problem. A skilled developer can determine the costs and benefits of different design responses, even amid competing concerns. A responsible developer documents design choices as a contract with the client, delineating external and internal responsibilities. To promote effective software design, this book examines contractual, object-oriented designs for immediate and sustained use as well as code reuse. The intent of identifying design variants is to recognize and manage conflicting goals such as short versus long-term utility, stability versus flexibility, and storage versus computation. Many examples are given to evaluate and contrast different solutions and to compare C# and C++ effects. No one has a crystal ball; however, deliberate design promotes software longevity. With the prominence of legacy OO code, a clear understanding of different object-oriented designs is essential. Design questions abound. Is code reuse better with inheritance or composition? Should composition rely on complete encapsulation? Design choices impact flexibility, efficiency, stability, longevity, and reuse, yet compilers do not enforce design and syntax does not necessarily illustrate design. Through deliberate design, or redesign when refactoring, developers construct sustainable, efficient code.
Coach Individuals, Teams, and Organizations to Greater Success with
Agile
The coaching exercises and resources in the appendices are available as free downloads. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
This book presents the analysis, design, documentation, and quality of software solutions based on the OMG UML v2.5. Notably it covers 14 different modelling constructs including use case diagrams, activity diagrams, business-level class diagrams, corresponding interaction diagrams and state machine diagrams. It presents the use of UML in creating a Model of the Problem Space (MOPS), Model of the Solution Space (MOSS) and Model of the Architectural Space (MOAS). The book touches important areas of contemporary software engineering ranging from how a software engineer needs to invariably work in an Agile development environment through to the techniques to model a Cloud-based solution.
Computational Intelligence Techniques and Their Applications to Software Engineering Problems focuses on computational intelligence approaches as applicable in varied areas of software engineering such as software requirement prioritization, cost estimation, reliability assessment, defect prediction, maintainability and quality prediction, size estimation, vulnerability prediction, test case selection and prioritization, and much more. The concepts of expert systems, case-based reasoning, fuzzy logic, genetic algorithms, swarm computing, and rough sets are introduced with their applications in software engineering. The field of knowledge discovery is explored using neural networks and data mining techniques by determining the underlying and hidden patterns in software data sets. Aimed at graduate students and researchers in computer science engineering, software engineering, information technology, this book: Covers various aspects of in-depth solutions of software engineering problems using computational intelligence techniques Discusses the latest evolutionary approaches to preliminary theory of different solve optimization problems under software engineering domain Covers heuristic as well as meta-heuristic algorithms designed to provide better and optimized solutions Illustrates applications including software requirement prioritization, software cost estimation, reliability assessment, software defect prediction, and more Highlights swarm intelligence-based optimization solutions for software testing and reliability problems
Published in 1993. Software reuse has been shown to achieve improvements in productivity, quality and timeliness of software. The collection of papers in this book were given at a seminar organized by UNICOM and the British Computer Society Software Reuse Specialist Group. They address the reasons why software reuse can maximize an organization's return from past expenditure and ensure a good future expenditure. Increasing the automation of software development requires access to explicit knowledge about processes and products involved. The chapters examine the relationship between reuse and other aspects of software engineering, including management techniques and structures, CASE, methodologies and object orientation. In addition, the papers aim to provide a structures insight into new techniques which will become available through the 1990s. This text is suitable for software managers and directors, software engineers, software professionals, academics, and other involved in software engineering research.
Software Design: Creating Solutions for Ill-Structured Problems, Third Edition provides a balanced view of the many and varied software design practices used by practitioners. The book provides a general overview of software design within the context of software development and as a means of addressing ill-structured problems. The third edition has been expanded and reorganised to focus on the structure and process aspects of software design, including architectural issues, as well as design notations and models. It also describes a variety of different ways of creating design solutions such as plan-driven development, agile approaches, patterns, product lines, and other forms. Features *Includes an overview and review of representation forms used for modelling design solutions *Provides a concise review of design practices and how these relate to ideas about software architecture *Uses an evidence-informed basis for discussing design concepts and when their use is appropriate This book is suitable for undergraduate and graduate students taking courses on software engineering and software design, as well as for software engineers. Author David Budgen is a professor emeritus of software engineering at Durham University. His research interests include evidence-based software engineering (EBSE), software design, and healthcare informatics.
Fast Python for Data Science is a hands-on guide to writing Python code that can process more data, faster, and with less resources. It takes a holistic approach to Python performance, showing you how your code, libraries, and computing architecture interact and can be optimized together. Written for experienced practitioners, Fast Python for Data Science dives right into practical solutions for improving computation and storage efficiency. You'll experiment with fun and interesting examples such as rewriting games in lower-level Cython and implementing a MapReduce framework from scratch. Finally, you'll go deep into Python GPU computing and learn how modern hardware has rehabilitated some former antipatterns and made counterintuitive ideas the most efficient way of working. About the technology Fast, accurate systems are vital for handling the huge datasets and complex analytical algorithms that are common in modern data science. Python programmers need to boost performance by writing faster pure-Python programs, optimizing the use of libraries, and utilizing modern multi-processor hardware; Fast Python for Data Science shows you how.
Developing secure software requires the integration of numerous methods and tools into the development process, and software design is based on shared expert knowledge, claims, and opinions. Empirical methods, including data analytics, allow extracting knowledge and insights from the data that organizations collect from their processes and tools, and from the opinions of the experts who practice these processes and methods. This book introduces the reader to the fundamentals of empirical research methods, and demonstrates how these methods can be used to hone a secure software development lifecycle based on empirical data and published best practices.
In the decade since the idea of adapting the evidence-based paradigm for software engineering was first proposed, it has become a major tool of empirical software engineering. Evidence-Based Software Engineering and Systematic Reviews provides a clear introduction to the use of an evidence-based model for software engineering research and practice. The book explains the roles of primary studies (experiments, surveys, case studies) as elements of an over-arching evidence model, rather than as disjointed elements in the empirical spectrum. Supplying readers with a clear understanding of empirical software engineering best practices, it provides up-to-date guidance on how to conduct secondary studies in software engineering-replacing the existing 2004 and 2007 technical reports. The book is divided into three parts. The first part discusses the nature of evidence and the evidence-based practices centered on a systematic review, both in general and as applying to software engineering. The second part examines the different elements that provide inputs to a systematic review (usually considered as forming a secondary study), especially the main forms of primary empirical study currently used in software engineering. The final part provides practical guidance on how to conduct systematic reviews (the guidelines), drawing together accumulated experiences to guide researchers and students in planning and conducting their own studies. The book includes an extensive glossary and an appendix that provides a catalogue of reviews that may be useful for practice and teaching.
This book focuses on a specialized branch of the vast domain of software engineering: component-based software engineering (CBSE). Component-Based Software Engineering: Methods and Metrics enhances the basic understanding of components by defining categories, characteristics, repository, interaction, complexity, and composition. It divides the research domain of CBSE into three major sub-domains: (1) reusability issues, (2) interaction and integration issues, and (3) testing and reliability issues. This book covers the state-of-the-art literature survey of at least 20 years in the domain of reusability, interaction and integration complexities, and testing and reliability issues of component-based software engineering. The aim of this book is not only to review and analyze the previous works conducted by eminent researchers, academicians, and organizations in the context of CBSE, but also suggests innovative, efficient, and better solutions. A rigorous and critical survey of traditional and advanced paradigms of software engineering is provided in the book. Features: In-interactions and Out-Interactions both are covered to assess the complexity. In the context of CBSE both white-box and black-box testing methods and their metrics are described. This work covers reliability estimation using reusability which is an innovative method. Case studies and real-life software examples are used to explore the problems and their solutions. Students, research scholars, software developers, and software designers or individuals interested in software engineering, especially in component-based software engineering, can refer to this book to understand the concepts from scratch. These measures and metrics can be used to estimate the software before the actual coding commences.
Experience has shown us that investment in the requirements process
saves time, money, and effort. Yet, development efforts
consistently charge ahead without investing sufficiently in the
requirements process. We are so intent to develop the technical
solutions that we are unwilling to take the time and effort to
understand and meet the real customer needs. If you are involved in the systems engineering process, in any company -- from transport and telecommunications, to aerospace and software -- you will learn how to write down requirements to guarantee you get the systems YOU need.What skills will I learn? How to write simple, clear requirements -- so you get what you
wantHow to organize requirements as scenarios -- so everyone
understands what you wantHow to review requirements -- so you ask
for the right things
This volume offers a systematic approach to creating and positioning reusable software components and products. The Domain Analysis methodology described in the book shows how to use commonality and variability analysis in studying the market, co-ordinating with competitors, engineering new products, and minimizing risks. Software engineers and network designers should learn how to analyze and define a "space of variability" on which new products can be based and positioned. Additionally, the book helps readers to understand how software products compare, how to market software reuse products, how to co-ordinate release of a product to profit from a competitor's release and pool groups of users, and how to maximize long-term marketing plans for your product. Real-world case studies illustrate applications of the methodologies described in the book, including "Sherlock", a method that binds domain analysis to market analysis and planning.
The International Conference on Communications, Management, and Information Technology (ICCMIT'16) provides a discussion forum for scientists, engineers, educators and students about the latest discoveries and realizations in the foundations, theory, models and applications of systems inspired on nature, using computational intelligence methodologies, as well as in emerging areas related to the three tracks of the conference: Communication Engineering, Knowledge, and Information Technology. The best 25 papers to be included in the book will be carefully reviewed and selected from numerous submissions, then revised and expanded to provide deeper insight into trends shaping future ICT.
Automatic biometrics recognition techniques are increasingly important in corporate and public security systems and have increased in methods due to rapid field development. This book discusses classic behavioral biometrics as well as collects the latest advances in techniques, theoretical approaches, and dynamic applications. This future-looking book is an important reference tool for researchers, practitioners, academicians, and technologists. While there are existing books that focus on physiological biometrics or algorithmic approaches deployed in biometrics, this book addresses a gap in the existing literature for a text that is solely dedicated to the topic of behavioral biometrics.
This comprehensive book unveils the working relationship of blockchain and the fog/edge computing. The contents of the book have been designed in such a way that the reader will not only understand blockchain and fog/edge computing but will also understand their co-existence and their collaborative power to solve a range of versatile problems. The first part of the book covers fundamental concepts and the applications of blockchain-enabled fog and edge computing. These include: Internet of Things, Tactile Internet, Smart City; and E-challan in the Internet of Vehicles. The second part of the book covers security and privacy related issues of blockchain-enabled fog and edge computing. These include, hardware primitive based Physical Unclonable Functions; Secure Management Systems; security of Edge and Cloud in the presence of blockchain; secure storage in fog using blockchain; and using differential privacy for edge-based Smart Grid over blockchain. This book is written for students, computer scientists, researchers and developers, who wish to work in the domain of blockchain and fog/edge computing. One of the unique features of this book is highlighting the issues, challenges, and future research directions associated with Blockchain-enabled fog and edge computing paradigm. We hope the readers will consider this book a valuable addition in the domain of Blockchain and fog/edge computing.
This book discusses Change Management Impact Analysis and how this method is used to analysis the risks and benefits of a change management initiative when it pertains to obtaining critical insight into how the change management program budget should be allotted. The process also offers useful indicators for what areas within the system should be monitored during the change management process. This book presents theoretical analysis of practical implications and surveys, along with analysis. It covers the functions aimed at identifying various stakeholders associated with the software such as requirement component, design component, and class component. The book talks about the interrelationship between the change and the effects on the rest of the system and dives deeper to include the critical role that the analysis places on the existing multiple functions such as estimating the development costs, the project overhead costs, cost for the modification of the system, and system strength or detecting errors in the system during the process. Case studies are also included to help researchers and practitioners to absorb the material presented. This book is useful to graduate students, researchers, academicians, institutions, and professionals that interested in exploring the areas of Impact Analysis.
Many enterprises are moving their applications and IT services to the cloud. Better risk management results in fewer operational surprises and failures, greater stakeholder confidence and reduced regulatory concerns; proactive risk management maximizes the likelihood that an enterprise's objectives will be achieved, thereby enabling organizational success. This work methodically considers the risks and opportunities that an enterprise taking their applications or services onto the cloud must consider to obtain the cost reductions and service velocity improvements they desire without suffering the consequences of unacceptable user service quality.
Analyzing and Securing Social Networks focuses on the two major technologies that have been developed for online social networks (OSNs): (i) data mining technologies for analyzing these networks and extracting useful information such as location, demographics, and sentiments of the participants of the network, and (ii) security and privacy technologies that ensure the privacy of the participants of the network as well as provide controlled access to the information posted and exchanged by the participants. The authors explore security and privacy issues for social media systems, analyze such systems, and discuss prototypes they have developed for social media systems whose data are represented using semantic web technologies. These experimental systems have been developed at The University of Texas at Dallas. The material in this book, together with the numerous references listed in each chapter, have been used for a graduate-level course at The University of Texas at Dallas on analyzing and securing social media. Several experimental systems developed by graduate students are also provided. The book is divided into nine main sections: (1) supporting technologies, (2) basics of analyzing and securing social networks, (3) the authors' design and implementation of various social network analytics tools, (4) privacy aspects of social networks, (5) access control and inference control for social networks, (6) experimental systems designed or developed by the authors on analyzing and securing social networks, (7) social media application systems developed by the authors, (8) secure social media systems developed by the authors, and (9) some of the authors' exploratory work and further directions.
"I highly recommend Mr. Hobbs' book." - Stephen Thomas, PE, Founder and Editor of FunctionalSafetyEngineer.com Safety-critical devices, whether medical, automotive, or industrial, are increasingly dependent on the correct operation of sophisticated software. Many standards have appeared in the last decade on how such systems should be designed and built. Developers, who previously only had to know how to program devices for their industry, must now understand remarkably esoteric development practices and be prepared to justify their work to external auditors. Embedded Software Development for Safety-Critical Systems discusses the development of safety-critical systems under the following standards: IEC 61508; ISO 26262; EN 50128; and IEC 62304. It details the advantages and disadvantages of many architectural and design practices recommended in the standards, ranging from replication and diversification, through anomaly detection to the so-called "safety bag" systems. Reviewing the use of open-source components in safety-critical systems, this book has evolved from a course text used by QNX Software Systems for a training module on building embedded software for safety-critical devices, including medical devices, railway systems, industrial systems, and driver assistance devices in cars. Although the book describes open-source tools for the most part, it also provides enough information for you to seek out commercial vendors if that's the route you decide to pursue. All of the techniques described in this book may be further explored through hundreds of learned articles. In order to provide you with a way in, the author supplies references he has found helpful as a working software developer. Most of these references are available to download for free. |
![]() ![]() You may like...
Advances in Sustainable Construction…
Sabyasachi Biswas, Subhadeep Metya, …
Hardcover
R4,540
Discovery Miles 45 400
The Active Image - Architecture and…
Sabine Ammon, Remei Capdevila Werning
Hardcover
R3,989
Discovery Miles 39 890
|