![]() |
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 presents some of the emerging techniques and technologies used to handle Web data management. Authors present novel software architectures and emerging technologies and then validate using experimental data and real world applications. The contents of this book are focused on four popular thematic categories of intelligent Web data management: cloud computing, social networking, monitoring and literature management. The Volume will be a valuable reference to researchers, students and practitioners in the field of Web data management, cloud computing, social networks using advanced intelligence tools.
Why learn functional programming? Isn't that some complicated ivory-tower technique used only in obscure languages like Haskell? In fact, functional programming is actually very simple. It's also very powerful, as Haskell demonstrates by throwing away all the conventional programming tools and using only functional programming features. But it doesn't have to be done that way. Functional programming is a power tool that you can use in addition to all your usual tools, to whatever extent your current mainstream language supports it. Most languages have at least basic support. In this book we use Python and Java and, as a bonus, Scala. If you prefer another language, there will be minor differences in syntax, but the concepts are the same. Give functional programming a try. You may be surprised how much a single power tool can help you in your day-to-day programming.
The book discusses the fundamentals of high-performance computing. The authors combine visualization, comprehensibility, and strictness in their material presentation, and thus influence the reader towards practical application and learning how to solve real computing problems. They address both key approaches to programming modern computing systems: multithreading-based parallelizing in shared memory systems, and applying message-passing technologies in distributed systems. The book is suitable for undergraduate and graduate students, and for researchers and practitioners engaged with high-performance computing systems. Each chapter begins with a theoretical part, where the relevant terminology is introduced along with the basic theoretical results and methods of parallel programming, and concludes with a list of test questions and problems of varying difficulty. The authors include many solutions and hints, and often sample code.
This book details the conceptual foundations, design and implementation of the domain-specific language (DSL) development system DjDSL. DjDSL facilitates design-decision-making on and implementation of reusable DSL and DSL-product lines, and represents the state-of-the-art in language-based and composition-based DSL development. As such, it unites elements at the crossroads between software-language engineering, model-driven software engineering, and feature-oriented software engineering. The book is divided into six chapters. Chapter 1 ("DSL as Variable Software") explains the notion of DSL as variable software in greater detail and introduces readers to the idea of software-product line engineering for DSL-based software systems. Chapter 2 ("Variability Support in DSL Development") sheds light on a number of interrelated dimensions of DSL variability: variable development processes, variable design-decisions, and variability-implementation techniques for DSL. The three subsequent chapters are devoted to the key conceptual and technical contributions of DjDSL: Chapter 3 ("Variable Language Models") explains how to design and implement the abstract syntax of a DSL in a variable manner. Chapter 4 ("Variable Context Conditions") then provides the means to refine an abstract syntax (language model) by using composable context conditions (invariants). Next, Chapter 5 ("Variable Textual Syntaxes") details solutions to implementing variable textual syntaxes for different types of DSL. In closing, Chapter 6 ("A Story of a DSL Family") shows how to develop a mixed DSL in a step-by-step manner, demonstrating how the previously introduced techniques can be employed in an advanced example of developing a DSL family. The book is intended for readers interested in language-oriented as well as model-driven software development, including software-engineering researchers and advanced software developers alike. An understanding of software-engineering basics (architecture, design, implementation, testing) and software patterns is essential. Readers should especially be familiar with the basics of object-oriented modelling (UML, MOF, Ecore) and programming (e.g., Java).
The text focuses on mathematical modeling and applications of advanced techniques of machine learning, and artificial intelligence, including artificial neural networks, evolutionary computing, data mining, and fuzzy systems to solve performance and design issues more precisely. Intelligent computing encompasses technologies, algorithms, and models in providing effective and efficient solutions to a wide range of problems including the airport's intelligent safety system. It will serve as an ideal reference text for senior undergraduate, graduate students, and academic researchers in fields including industrial engineering, manufacturing engineering, computer engineering, and mathematics. The book- Discusses mathematical modeling for traffic, sustainable supply chain, vehicular Ad-Hoc networks, internet of things networks with intelligent gateways. Covers advanced machine learning, artificial intelligence, fuzzy systems, evolutionary computing, data mining techniques for real-world problems. Presents applications of mathematical models in chronic diseases such as kidney and coronary artery diseases. Highlights advances in mathematical modeling, strength, and benefits of machine learning and artificial intelligence, including driving goals, applicability, algorithms, and processes involved. Showcases emerging real-life topics on mathematical models, machine learning, and intelligent computing using an interdisciplinary approach. The text presents emerging real-life topics on mathematical models, machine learning, and intelligent computing in a single volume. It will serve as an ideal text for senior undergraduate, graduate students, and researchers in diverse fields domains including industrial and manufacturing engineering, computer engineering, and mathematics.
Extensive research conducted by the Hasso Plattner Design Thinking Research Program at Stanford University in Palo Alto, California, USA, and the Hasso Plattner Institute in Potsdam, Germany, has yielded valuable insights on why and how design thinking works. The participating researchers have identified metrics, developed models, and conducted studies, which are featured in this book, and in the previous volumes of this series. Offering readers a closer look at design thinking, and its innovation processes and methods, this volume addresses the new and growing field of neurodesign, which applies insights from the neurosciences in order to improve design team performance. Thinking and devising innovations are inherently human activities - and so is design thinking. Accordingly, design thinking is not merely the result of special courses or of being gifted or trained: it is a way of dealing with our environment and improving techniques, technologies and life in general. As such, the research outcomes compiled in this book are intended to inform and provide inspiration for all those seeking to drive innovation - be they experienced design thinkers or newcomers.
Python for Scientific Computation and Artificial Intelligence is split into 3 parts: in Section 1, the reader is introduced to the Python programming language and shown how Python can aid in the understanding of advanced High School Mathematics. In Section 2, the reader is shown how Python can be used to solve real-world problems from a broad range of scientific disciplines. Finally, in Section 3, the reader is introduced to neural networks and shown how TensorFlow (written in Python) can be used to solve a large array of problems in Artificial Intelligence (AI). This book was developed from a series of national and international workshops that the author has been delivering for over twenty years. The book is beginner friendly and has a strong practical emphasis on programming and computational modelling. Features: No prior experience of programming is required. Online GitHub repository available with codes for readers to practice. Covers applications and examples from biology, chemistry, computer science, data science, electrical and mechanical engineering, economics, mathematics, physics, statistics and binary oscillator computing. Full solutions to exercises are available as Jupyter notebooks on the Web.
This volume presents a collection of methods for dealing with software reliability. Ideally, formal methods need to be intuitive to use, require a relatively brief learning period, and incur only small overhead to the development process. This book compares these varying methods and reveals their respective advantages and disadvantages, while also staying close to the dual themes of automata theory and logic. Topics and features: * Collects and compares the key software reliability methods currently in use: deductive verification, automatic verification, testing, and process algebra * Provides useful information suitable in the software selection process for a given project * Offers numerous exercises, projects, and running examples to facilitate learning formal methods and allows for ¿hands-on¿ experience with these critical tools * Describes the mathematical principles supporting formal methods * Gives insights into new research directions in the field, as well as ways of developing new methods and/or adjusting existing ones. This volume can be used as an introduction to software methods techniques, a source for learning about various ways to enhance software reliability, and a guide to formal methods techniques. It is an essential resource for professionals and software engineers in R&D departments in industry, using software reliability, program-modeling systems, and verification methods.
The two-volume set IFIP AICT 639 and 640 constitutes the refereed post-conference proceedings of the 18th IFIP WG 5.1 International Conference on Product Lifecycle Management, PLM 2021, held in Curitiba, Brazil, during July 11-14, 2021. The conference was held virtually due to the COVID-19 crisis.The 107 revised full papers presented in these proceedings were carefully reviewed and selected from 133 submissions. The papers are organized in the following topical sections: Volume I: Sustainability, sustainable development and circular economy; sustainability and information technologies and services; green and blue technologies; AI and blockchain integration with enterprise applications; PLM maturity, PLM implementation and adoption within industry 4.0; and industry 4.0 and emerging technologies: Volume II: Design, education and management; lean, design and innovation technologies; information technology models and design; and models, manufacturing and information technologies and services.
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 Festschrift, Unimagined Futures - ICT Opportunities and Challenges, is the first Festschrift in the IFIP AICT series. It examines key challenges facing the ICT community today. While addressing the contemporary challenges, the book provides the opportunity to look back to help understand the contemporary scene and identify appropriate future responses to them. Experts in different areas of the ICT scene have contributed to this IFIP 60th anniversary book, which will be a key input to the ICT community worldwide on setting policy priorities and agendas for the coming decade. In addition, a number of contributions look specifically at the role of professionals and of national, regional, and global organizations in disseminating the benefits of ICT to humanity worldwide.
This book presents the state of the art, challenges and future trends in automotive software engineering. The amount of automotive software has grown from just a few lines of code in the 1970s to millions of lines in today's cars. And this trend seems destined to continue in the years to come, considering all the innovations in electric/hybrid, autonomous, and connected cars. Yet there are also concerns related to onboard software, such as security, robustness, and trust. This book covers all essential aspects of the field. After a general introduction to the topic, it addresses automotive software development, automotive software reuse, E/E architectures and safety, C-ITS and security, and future trends. The specific topics discussed include requirements engineering for embedded software systems, tools and methods used in the automotive industry, software product lines, architectural frameworks, various related ISO standards, functional safety and safety cases, cooperative intelligent transportation systems, autonomous vehicles, and security and privacy issues. The intended audience includes researchers from academia who want to learn what the fundamental challenges are and how they are being tackled in the industry, and practitioners looking for cutting-edge academic findings. Although the book is not written as lecture notes, it can also be used in advanced master's-level courses on software and system engineering. The book also includes a number of case studies that can be used for student projects.
This book summarizes the research findings presented at the 13th International Joint Conference on Knowledge-Based Software Engineering (JCKBSE 2020), which took place on August 24-26, 2020. JCKBSE 2020 was originally planned to take place in Larnaca, Cyprus. Unfortunately, the COVID-19 pandemic forced it be rescheduled as an online conference. JCKBSE is a well-established, international, biennial conference that focuses on the applications of artificial intelligence in software engineering. The 2020 edition of the conference was organized by Hiroyuki Nakagawa, Graduate School of Information Science and Technology, Osaka University, Japan, and George A. Tsihrintzis and Maria Virvou, Department of Informatics, University of Piraeus, Greece. This research book is a valuable resource for experts and researchers in the field of (knowledge-based) software engineering, as well as general readers in the fields of artificial and computational Intelligence and, more generally, computer science wanting 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 helps readers to probe further into the application areas of interest to them.
Software Reliability Assessment with OR Applications is a comprehensive guide to software reliability measurement, prediction, and control. It provides a thorough understanding of the field and gives solutions to the decision-making problems that concern software developers, engineers, practitioners, scientists, and researchers. Using operations research techniques, readers will learn how to solve problems under constraints such as cost, budget and schedules to achieve the highest possible quality level. Software Reliability Assessment with OR Applications is a comprehensive text on software engineering and applied statistics, state-of-the art software reliability modeling, techniques and methods for reliability assessment, and related optimization problems. It addresses various topics, including: unification methodologies in software reliability assessment; application of neural networks to software reliability assessment; software reliability growth modeling using stochastic differential equations; software release time and resource allocation problems; and optimum component selection and reliability analysis for fault tolerant systems. Software Reliability Assessment with OR Applications is designed to cater to the needs of software engineering practitioners, developers, security or risk managers, and statisticians. It can also be used as a textbook for advanced undergraduate or postgraduate courses in software reliability, industrial engineering, and operations research and management.
While most discoverability evaluation studies in the Library and Information Science field discuss the intersection of discovery layers and library systems, this book looks specifically at digital repositories, examining discoverability from the lenses of system structure, user searches, and external discovery avenues. Discoverability, the ease with which information can be found by a user, is the cornerstone of all successful digital information platforms. Yet, most digital repository practitioners and researchers lack a holistic and comprehensive understanding of how and where discoverability happens. This book brings together current understandings of user needs and behaviors and poses them alongside a deeper examination of digital repositories around the theme of discoverability. It examines discoverability in digital repositories from both user and system perspectives by exploring how users access content (including their search patterns and habits, need for digital content, effects of outreach, or integration with Wikipedia and other web-based tools) and how systems support or prevent discoverability through the structure or quality of metadata, system interfaces, exposure to search engines or lack thereof, and integration with library discovery tools. Discoverability in Digital Repositories will be particularly useful to digital repository managers, practitioners, and researchers, metadata librarians, systems librarians, and user studies, usability and user experience librarians. Additionally, and perhaps most prominently, this book is composed with the emerging practitioner in mind. Instructors and students in Library and Information Science and Information Management programs will benefit from this book that specifically addresses discoverability in digital repository systems and services.
The basic concepts and building blocks for the design of Fine- (or FPGA) and Coarse-Grain Reconfigurable Architectures are discussed in this book. Recently-developed integrated architecture design and software-supported design flow of FPGA and coarse-grain reconfigurable architecture are also described. The book is accompanied by an interactive CD which includes case studies and lab projects for the design of FPGA and Coarse-grain architectures.
How to Find and Fix the Killer Software Bugs that Evade Conventional Testing In Exploratory Software Testing, renowned software testing expert James Whittaker reveals the real causes of today's most serious, well-hidden software bugs--and introduces powerful new "exploratory" techniques for finding and correcting them. Drawing on nearly two decades of experience working at the cutting edge of testing with Google, Microsoft, and other top software organizations, Whittaker introduces innovative new processes for manual testing that are repeatable, prescriptive, teachable, and extremely effective. Whittaker defines both in-the-small techniques for individual testers and in-the-large techniques to supercharge test teams. He also introduces a hybrid strategy for injecting exploratory concepts into traditional scripted testing. You'll learn when to use each, and how to use them all successfully. Concise, entertaining, and actionable, this book introduces robust techniques that have been used extensively by real testers on shipping software, illuminating their actual experiences with these techniques, and the results they've achieved. Writing for testers, QA specialists, developers, program managers, and architects alike, Whittaker answers crucial questions such as: * Why do some bugs remain invisible to automated testing--and how can I uncover them? * What techniques will help me consistently discover and eliminate "show stopper" bugs? * How do I make manual testing more effective--and less boring and unpleasant? * What's the most effective high-level test strategy for each project? * Which inputs should I test when I can't test them all? * Which test cases will provide the best feature coverage? * How can I get better results by combining exploratory testing with traditional script or scenario-based testing? * How do I reflect feedback from the development process, such as code changes?
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.
This volume presents a programming model, similar to object-oriented programming, that imposes a strict discipline on the form of the constituent objects and interactions among them. Concurrency considerations have been eliminated from the model itself and are introduced only during implementation, thereby freeing programmers from dealing with concurrency explicitly. Moreover, the resulting software designs are typically more modular and easier to analyze than the more traditional ones. Numerous examples illustrate various aspects of the model and reveal that a few simple, integrated features are adequate for designing complex applications. Topics and features: * Presents a simple, easy-to-understand multiprogramming model * Provides extensive development of the underlying theory * Emphasizes program composition, thereby making possible programming of large systems through modular designs * Eliminates explicit concurrency considerations during program design * Supplies efficient implementation schemes for distributed platforms. This book addresses the problem of developing complex distributed applications on wide-area networks, such as the Internet and World Wide Web, by using effective program design principles. Computer scientists, computer engineers, and software engineers will find the book an authoritative guide to large-scale multiprogramming.
Based on the latest version of the language, this book offers a self-contained, concise and coherent introduction to programming with Python. The book's primary focus is on realistic case study applications of Python. Each practical example is accompanied by a brief explanation of the problem-terminology and concepts, followed by necessary program development in Python using its constructs, and simulated testing. Given the open and participatory nature of development, Python has a variety of incorporated data structures, which has made it difficult to present it in a coherent manner. Further, some advanced concepts (super, yield, generator, decorator, etc.) are not easy to explain. The book specially addresses these challenges; starting with a minimal subset of the core, it offers users a step-by-step guide to achieving proficiency.
The ?rst and foremost goal of this lecture series was to show the beauty, depth and usefulness of the key ideas in computer science. While working on the lecture notes, we came to understand that one can recognize the true spirit of a scienti?c discipline only by viewing its contributions in the framework of science as a whole. We present computer science here as a fundamental science that, interacting with other scienti?c disciplines, changed and changes our view on the world, that contributes to our understanding of the fundamental concepts of science and that sheds new light on and brings new meaning to several of these concepts. We show that computer science is a discipline that discovers spectacular, unexpected facts, that ?nds ways out in seemingly unsolvable s- uations, and that can do true wonders. The message of this book is that computer science is a fascinating research area with a big impact on the real world, full of spectacular ideas and great ch- lenges. It is an integral part of science and engineering with an above-average dynamic over the last 30 years and a high degree of interdisciplinarity. The goal of this book is not typical for popular science writing, whichoftenrestrictsitselftooutliningtheimportanceofaresearch area. Whenever possible we strive to bring full understanding of the concepts and results presented.
As interactive systems are quickly becoming integral to our everyday lives, this book investigates how we can make these systems, from desktop and mobile apps to more wearable and immersive applications, more usable and maintainable by using HCI design patterns. It also examines how we can facilitate the reuse of design practices in the development lifecycle of multi-devices, multi-platforms and multi-contexts user interfaces. Effective design tools are provided for combining HCI design patterns and User Interface (UI) driven engineering to enhance design whilst differentiating between UI and the underlying system features. Several examples are used to demonstrate how HCI design patterns can support this decoupling by providing an architectural framework for pattern-oriented and model-driven engineering of multi-platforms and multi-devices user interfaces. Patterns of HCI Design and HCI Design of Patterns is for students, academics and Industry specialists who are concerned with user interfaces and usability within the software development community.
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.
How to Succeed in the Enterprise Software Market describes enterprise-level information systems that businesses use to support their processes. This book provides a clear and simple framework to help software companies understand this experience, and help them build software products compatible with organizations, humans, and complex customer environments. How to Succeed in the Enterprise Software Market combines leading research on how technology affects humans and organizations with industry experience and case studies on enterprise software companies. It includes the inside story from case studies on emerging companies including OpenMarket, Inc, E-Docs, ObjectStore, NewRiver, Inc. and BBN Communications and major buyers of IT services in the financial services industry. This book is a practical guide to results that bridge gaps between hard and soft science views of systems development, academic research, and actual practice. |
You may like...
Principles of Big Graph: In-depth…
Ripon Patgiri, Ganesh Chandra Deka, …
Hardcover
R3,925
Discovery Miles 39 250
Edsger Wybe Dijkstra - His Life, Work…
Krzysztof R. Apt, Tony Hoare
Hardcover
R2,920
Discovery Miles 29 200
Data Prefetching Techniques in Computer…
Pejman Lotfi-Kamran, Hamid Sarbazi-Azad
Hardcover
R3,923
Discovery Miles 39 230
Research Anthology on Architectures…
Information R Management Association
Hardcover
R12,639
Discovery Miles 126 390
Essential Java for Scientists and…
Brian Hahn, Katherine Malan
Paperback
R1,266
Discovery Miles 12 660
Hardware Accelerator Systems for…
Shiho Kim, Ganesh Chandra Deka
Hardcover
R3,950
Discovery Miles 39 500
|