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 open access book presents the outcomes of the "Design for Future - Managed Software Evolution" priority program 1593, which was launched by the German Research Foundation ("Deutsche Forschungsgemeinschaft (DFG)") to develop new approaches to software engineering with a specific focus on long-lived software systems. The different lifecycles of software and hardware platforms lead to interoperability problems in such systems. Instead of separating the development, adaptation and evolution of software and its platforms, as well as aspects like operation, monitoring and maintenance, they should all be integrated into one overarching process. Accordingly, the book is split into three major parts, the first of which includes an introduction to the nature of software evolution, followed by an overview of the specific challenges and a general introduction to the case studies used in the project. The second part of the book consists of the main chapters on knowledge carrying software, and cover tacit knowledge in software evolution, continuous design decision support, model-based round-trip engineering for software product lines, performance analysis strategies, maintaining security in software evolution, learning from evolution for evolution, and formal verification of evolutionary changes. In turn, the last part of the book presents key findings and spin-offs. The individual chapters there describe various case studies, along with their benefits, deliverables and the respective lessons learned. An overview of future research topics rounds out the coverage. The book was mainly written for scientific researchers and advanced professionals with an academic background. They will benefit from its comprehensive treatment of various topics related to problems that are now gaining in importance, given the higher costs for maintenance and evolution in comparison to the initial development, and the fact that today, most software is not developed from scratch, but as part of a continuum of former and future releases.
This book briefly summarizes the current state of the art technologies and solutions for location and tracking (L&T) in wireless sensor networks (WSN), focusing on RSS-based schemes. The authors offer broad and in-depth coverage of essential topics including range-based and range-free localization strategies, and signal path loss models. In addition, the book includes motion models and how state estimation techniques and advanced machine learning techniques can be utilized to design L&T systems for a given problem using low cost measurement metric (that is RSS). This book also provides MATLAB examples to demonstrate fundamental algorithms for L&T and provides online access to all MATLAB codes. The book allows practicing engineers and graduate students to keep pace with contemporary research and new technologies in the L&T domain.
- the book provides a unique overview of the NCBI resources, including BLAST (which are foundational to bioinformatics), and how to use them, making it a great introduction to bioinformatics and a great resource for those just starting in an industry lab - whereas many bioinformatics books try to cover every aspect of the topic and easily confuse readers, this is highly practical and focuses on key resources and tools, and how to use them - the companion website contains tutorials, R and Python codes, instructor materials including slides, exercises, and problems for students
A Tour of Data Science: Learn R and Python in Parallel covers the fundamentals of data science, including programming, statistics, optimization, and machine learning in a single short book. It does not cover everything, but rather, teaches the key concepts and topics in Data Science. It also covers two of the most popular programming languages used in Data Science, R and Python, in one source. Key features: Allows you to learn R and Python in parallel Cover statistics, programming, optimization and predictive modelling, and the popular data manipulation tools - data.table and pandas Provides a concise and accessible presentation Includes machine learning algorithms implemented from scratch, linear regression, lasso, ridge, logistic regression, gradient boosting trees, etc. Appealing to data scientists, statisticians, quantitative analysts, and others who want to learn programming with R and Python from a data science perspective.
A chatbot is expected to be capable of supporting a cohesive and coherent conversation and be knowledgeable, which makes it one of the most complex intelligent systems being designed nowadays. Designers have to learn to combine intuitive, explainable language understanding and reasoning approaches with high-performance statistical and deep learning technologies. Today, there are two popular paradigms for chatbot construction: 1. Build a bot platform with universal NLP and ML capabilities so that a bot developer for a particular enterprise, not being an expert, can populate it with training data; 2. Accumulate a huge set of training dialogue data, feed it to a deep learning network and expect the trained chatbot to automatically learn "how to chat". Although these two approaches are reported to imitate some intelligent dialogues, both of them are unsuitable for enterprise chatbots, being unreliable and too brittle. The latter approach is based on a belief that some learning miracle will happen and a chatbot will start functioning without a thorough feature and domain engineering by an expert and interpretable dialogue management algorithms. Enterprise high-performance chatbots with extensive domain knowledge require a mix of statistical, inductive, deep machine learning and learning from the web, syntactic, semantic and discourse NLP, ontology-based reasoning and a state machine to control a dialogue. This book will provide a comprehensive source of algorithms and architectures for building chatbots for various domains based on the recent trends in computational linguistics and machine learning. The foci of this book are applications of discourse analysis in text relevant assessment, dialogue management and content generation, which help to overcome the limitations of platform-based and data driven-based approaches. Supplementary material and code is available at https://github.com/bgalitsky/relevance-based-on-parse-trees
Michael Strobel worked for several years as a software engineer and consultant in the German IT industry before joining IBM Research in Switzerland, where he developed his interest in support for negotiations in electronic markets. During his career in research, he has published several articles on this topic in major international conferences and journals and received a PhD from the University of St.Gallen, Switzerland. Based on his experiences and contributions, the author discusses electronic negotiation technologies - key ingredients for the next generation of electronic markets - from a scientific as well as a practitioner's perspective. He reviews the state-of-the-art and then introduces novel support mechanisms and design elements, which are applied in a number of case studies. This book is geared towards technicians interested in E-Commerce application development but also offers extensive background reading for educational purposes. "
In an article for Wired Magazine in 2006, Jeff Howe defined crowdsourcing as an idea for outsourcing a task that is traditionally performed by a single employee to a large group of people in the form of an open call. Since then, by modifying crowdsourcing into different forms, some of the most successful new companies on the market have used this idea to make people's lives easier and better. On the other hand, software testing has long been recognized as a time-consuming and expensive activity. Mobile application testing is especially difficult, largely due to compatibility issues: a mobile application must work on devices with different operating systems (e.g. iOS, Android), manufacturers (e.g. Huawei, Samsung) and keypad types (e.g. virtual keypad, hard keypad). One cannot be 100% sure that, just because a tested application works well on one device, it will run smoothly on all others.Crowdsourced testing is an emerging paradigm that can improve the cost-effectiveness of software testing and accelerate the process, especially for mobile applications. It entrusts testing tasks to online crowdworkers whose diverse testing devices/contexts, experience, and skill sets can significantly contribute to more reliable, cost-effective and efficient testing results. It has already been adopted by many software organizations, including Google, Facebook, Amazon and Microsoft. This book provides an intelligent overview of crowdsourced testing research and practice. It employs machine learning, data mining, and deep learning techniques to process the data generated during the crowdsourced testing process, to facilitate the management of crowdsourced testing, and to improve the quality of crowdsourced testing.
As today's most complex computing environment, the Internet confronts IT researchers, system designers, and application developers with completely new challenges and, as a fascinating new computing paradigm, agent technology has recently attracted broad interest and strong hopes for shaping the future information society. Relating both, the Internet and agents, opens up a whole new range of advanced applications in vibrant subfields of information technology such as middleware, mobile commerce, e-learning, collaborative working, and intelligent information services. Many modern advanced systems are likely to exploit Internet agents - and exploiting Internet agents mostly means dealing with coordination models and technologies of various sorts. This monograph-like anthology is the first systematic guide to models and enabling technologies for the coordination of intelligent agents on the Internet and respective applications.
Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords? In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications. Peer under the hood of the systems you already use, and learn how to use and operate them more effectively Make informed decisions by identifying the strengths and weaknesses of different tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architecture
This book constitutes the refereed proceedings of five International Workshops held as parallel events of the 18th IFIP WG 12.5 International Conference on Artificial Intelligence Applications and Innovations, AIAI 2022, virtually and in Hersonissos, Crete, Greece, in June 2022: the 11th Mining Humanistic Data Workshop (MHDW 2022); the 7th 5G-Putting Intelligence to the Network Edge Workshop (5G-PINE 2022); the 1st workshop on AI in Energy, Building and Micro-Grids (AIBMG 2022); the 1st Workshop/Special Session on Machine Learning and Big Data in Health Care (ML@HC 2022); and the 2nd Workshop on Artificial Intelligence in Biomedical Engineering and Informatics (AIBEI 2022). The 35 full papers presented at these workshops were carefully reviewed and selected from 74 submissions.
An overview and a critical review of the Conformance Testing Methodology and Framework is provided by this book. This standard, ISO/IEC 9646, describes a methodology for testing implementations of Open System Interconnection (OSI) specifications. It is widely used by protocol and profile specifiers to help them specify their conformance requirements unambiguously and to provide proformas for suppliers to fill in to clarify which capabilities their products support. The standard is also used by test specifiers to define how to specify OSI conformance tests and to give guidance to test system developers. Further, it is used by test laboratories and the relevant accreditation bodies to define how an OSI test service should be operated. Finally, it is used by other testing methodology specifiers to serve as a guide on how to write testing methodology standards. The publication, which will serve as a definitive textbook on the subject, enables readers to understand existing test documents, especially test suites, and aims to assist them in producing their own documents.
Grounded in the user-centered design movement, this book offers a broad consideration of how our civilization has evolved its technical infrastructure for human purpose to help us make sense of the contemporary world of information infrastructure and online existence. The author incorporates historical, cultural and aesthetic approaches to situating information and its underlying technologies across time in the collective, lived experiences of humanity. In today's digital information world, user experience is vital to the success of any product or service. Yet as the user population expands to include us all, designing for people who vary in skills, abilities, preferences and backgrounds is challenging. This book provides an integrated understanding of users, and the methods that have evolved to identify usability challenges, that can facilitate cohesive and earlier solutions. The book treats information creation and use as a core human behavior based on acts of representation and recording that humans have always practiced. It suggests that the traditional ways of studying information use, with their origins in the distinct layers of social science theories and models is limiting our understanding of what it means to be an information user and hampers our efforts at being truly user-centric in design. Instead, the book offers a way of integrating the knowledge base to support a richer view of use and users in design education and evaluation. Understanding Users is aimed at those studying or practicing user-centered design and anyone interested in learning how people might be better integrated in the design of new technologies to augment human capabilities and experiences.
Enterprise Architecture, Integration, and Interoperability and the Networked enterprise have become the theme of many conferences in the past few years. These conferences were organised by IFIP TC5 with the support of its two working groups: WG 5. 12 (Architectures for Enterprise Integration) and WG 5. 8 (Enterprise Interoperability), both concerned with aspects of the topic: how is it possible to architect and implement businesses that are flexible and able to change, to interact, and use one another's s- vices in a dynamic manner for the purpose of (joint) value creation. The original qu- tion of enterprise integration in the 1980s was: how can we achieve and integrate - formation and material flow in the enterprise? Various methods and reference models were developed or proposed - ranging from tightly integrated monolithic system - chitectures, through cell-based manufacturing to on-demand interconnection of bu- nesses to form virtual enterprises in response to market opportunities. Two camps have emerged in the endeavour to achieve the same goal, namely, to achieve interoperability between businesses (whereupon interoperability is the ability to exchange information in order to use one another's services or to jointly implement a service). One school of researchers addresses the technical aspects of creating dynamic (and static) interconnections between disparate businesses (or parts thereof).
The high failure rate of enterprise resource planning (ERP) projects is a pressing concern for both academic researchers and industrial practitioners. The challenges of an ERP implementation are particularly high when the project involves designing and developing a system from scratch. Organizations often turn to vendors and consultants for handling such projects but, every aspect of an ERP project is opaque for both customers and vendors. Unlocking the mysteries of building a large-scale ERP system, The Adventurous and Practical Journey to a Large-Scale Enterprise Solution tells the story of implementing an applied enterprise solution. The book covers the field of enterprise resource planning by examining state-of-the-art concepts in software project management methodology, design and development integration policy, and deployment framework, including: A hybrid project management methodology using waterfall as well as a customized Scrum-based approach A novel multi-tiered software architecture featuring an enhanced flowable process engine A unique platform for coding business processes efficiently Integration to embed ERP modules in physical devices A heuristic-based framework to successfully step into the Go-live period Written to help ERP project professionals, the book charts the path that they should travel from project ideation to systems implementation. It presents a detailed, real-life case study of implementing a large-scale ERP and uses storytelling to demonstrate incorrect and correct decisions frequently made by vendors and customers. Filled with practical lessons learned, the book explains the ins and outs of adopting project methodologies. It weaves a tale that features both real-world and scholarly aspects of an ERP implementation.
The high failure rate of enterprise resource planning (ERP) projects is a pressing concern for both academic researchers and industrial practitioners. The challenges of an ERP implementation are particularly high when the project involves designing and developing a system from scratch. Organizations often turn to vendors and consultants for handling such projects but, every aspect of an ERP project is opaque for both customers and vendors. Unlocking the mysteries of building a large-scale ERP system, The Adventurous and Practical Journey to a Large-Scale Enterprise Solution tells the story of implementing an applied enterprise solution. The book covers the field of enterprise resource planning by examining state-of-the-art concepts in software project management methodology, design and development integration policy, and deployment framework, including: A hybrid project management methodology using waterfall as well as a customized Scrum-based approach A novel multi-tiered software architecture featuring an enhanced flowable process engine A unique platform for coding business processes efficiently Integration to embed ERP modules in physical devices A heuristic-based framework to successfully step into the Go-live period Written to help ERP project professionals, the book charts the path that they should travel from project ideation to systems implementation. It presents a detailed, real-life case study of implementing a large-scale ERP and uses storytelling to demonstrate incorrect and correct decisions frequently made by vendors and customers. Filled with practical lessons learned, the book explains the ins and outs of adopting project methodologies. It weaves a tale that features both real-world and scholarly aspects of an ERP implementation.
Software maintenance work is often considered a dauntingly rigid activity - this book proves the opposite: it demands high levels of creativity and thinking outside the box. Highlighting the creative aspects of software maintenance and combining analytical and systems thinking in a holistic manner, the book motivates readers not to blithely follow the beaten tracks of "technical rationality". It delivers the content in a pragmatic fashion using case studies which are woven into long running story lines. The book is organized in four parts, which can be read in any order, except for the first chapter, which introduces software maintenance and evolution and presents a number of case studies of software failures. The "Introduction to Key Concepts" briefly introduces the major elements of software maintenance by highlighting various core concepts that are vital in order to see the forest for the trees. Each such concept is illustrated with a worked example. Next, the "Forward Engineering" part debunks the myth that being fast and successful during initial development is all that matters. To this end, two categories of forward engineering are considered: an inept initial project with a multitude of hard evolutionary phases and an effective initial project with multiple straightforward future increments. "Reengineering and Reverse Engineering" shows the difficulties of dealing with a typical legacy system, and tackles tasks such as retrofitting tests, documenting a system, restructuring a system to make it amenable for further improvements, etc. Lastly, the "DevOps" section focuses on the importance and benefits of crossing the development versus operation chasm and demonstrates how the DevOps paradigm can turn a loosely coupled design into a loosely deployable solution. The book is a valuable resource for readers familiar with the Java programming language, and with a basic understanding and/or experience of software construction and testing. Packed with examples for every elaborated concept, it offers complementary material for existing courses and is useful for students and professionals alike.
Tackles a topic in a concise and accessible way that most believe too advanced to pick up easily. Author has over 40 years teaching and industry experience which they utilize in this book. Contains an appendix with extended code and examples of topics discussed in text.
Purpose of the Book This book presents an approach to improve the standard object-oriented pro gramming model. The proposal is aimed at supporting a larger range of incre mental behavior variations and thus promises to be more effective in mastering the complexity of today's software. The ability of dealing with the evolutionary nature of software is one of main merits of object-oriented data abstraction and inheritance. Object-orientation allows to organize software in a structured way by separating the description of different kinds of an abstract data type into different classes and loosely connecting them by the inheritance hierarchy. Due to this separation, the soft ware becomes free of conditional logics previously needed for distinguishing between different kinds of abstractions and can thus more easily be incremen tally extended to support new kinds of abstractions. In other words, classes and inheritance are means to properly model variations of behavior related to the existence of different kinds of an abstract data type. The support for extensi bility and reuse with respect to such kind-specific behavior variations is among the main reasons for the increasing popularity of object-oriented programming in the last two decades. However, this popularity does not prevent us from questioning the real effec tiveness of current object-oriented techniques in supporting incremental vari ations. In fact, this popularity makes a critical investigation of the variations that can actually be performed incrementally even more important."
Software Security: Concepts & Practices is designed as a textbook and explores fundamental security theories that govern common software security technical issues. It focuses on the practical programming materials that will teach readers how to implement security solutions using the most popular software packages. It's not limited to any specific cybersecurity subtopics and the chapters touch upon a wide range of cybersecurity domains, ranging from malware to biometrics and more. Features The book presents the implementation of a unique socio-technical solution for real-time cybersecurity awareness. It provides comprehensible knowledge about security, risk, protection, estimation, knowledge and governance. Various emerging standards, models, metrics, continuous updates and tools are described to understand security principals and mitigation mechanism for higher security. The book also explores common vulnerabilities plaguing today's web applications. The book is aimed primarily at advanced undergraduates and graduates studying computer science, artificial intelligence and information technology. Researchers and professionals will also find this book useful.
This book covers the proceedings of ICISSI 2022 (International Conference on Intelligent Systems and Smart Infrastructure) held at Prayagraj, Uttar Pradesh during April 21-22, 2022. The conference was jointly organised by Shambhunath Institute of Engineering and Technology, Prayagraj UP India, Institute of Engineering and Technology (IET) Lucknow, U.P India, and Manipal University Jaipur, Rajasthan India with an aim to provide a platform for researchers, scientists, technocrats, academicians and engineers to exchange their innovative ideas and new challenges being faced in the field of emerging technologies. The papers presented in the conference have been compiled in form of chapters to focus on the core technological developments in the emerging fields like machine learning, intelligence systems, smart infrastructure, advanced power technology etc.
Python is an amazing programming language. It can be applied to almost any programming task. It allows for rapid development and debugging. Getting started with Python is like learning any new skill: it's important to find a resource you connect with to guide your learning. Luckily, there's no shortage of excellent books that can help you learn both the basic concepts of programming and the specifics of programming in Python. With the abundance of resources, it can be difficult to identify which book would be best for your situation. Python for Beginners is a concise single point of reference for all material on python. * Provides concise, need-to-know information on Python types and statements, special method names, built-in functions and exceptions, commonly used standard library modules, and other prominent Python tools * Offers practical advice for each major area of development with both Python 3.x and Python 2.x * Based on the latest research in cognitive science and learning theory * Helps the reader learn how to write effective, idiomatic Python code by leveraging its best-and possibly most neglected-features This book focuses on enthusiastic research aspirants who work on scripting languages for automating the modules and tools, development of web applications, handling big data, complex calculations, workflow creation, rapid prototyping, and other software development purposes. It also targets graduates, postgraduates in computer science, information technology, academicians, practitioners, and research scholars.
Digital Image Processing with C++ presents the theory of digital image processing, and implementations of algorithms using a dedicated library. Processing a digital image means transforming its content (denoising, stylizing, etc.), or extracting information to solve a given problem (object recognition, measurement, motion estimation, etc.). This book presents the mathematical theories underlying digital image processing, as well as their practical implementation through examples of algorithms implemented in the C++ language, using the free and easy-to-use CImg library. Chapters cover in a broad way the field of digital image processing and proposes practical and functional implementations of each method theoretically described. The main topics covered include filtering in spatial and frequency domains, mathematical morphology, feature extraction and applications to segmentation, motion estimation, multispectral image processing and 3D visualization. Students or developers wishing to discover or specialize in this discipline, teachers and researchers wishing to quickly prototype new algorithms, or develop courses, will all find in this book material to discover image processing or deepen their knowledge in this field. |
You may like...
Writing Better Requirements - Writing…
Ian Alexander, Richard Stevens
Paperback
R2,122
Discovery Miles 21 220
|