![]() |
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
Solve real-life programming problems with a fraction of the code that pure object-oriented programming requires. Use Scala and Clojure to solve in-depth problems with two sets of patterns: object-oriented patterns that become more concise with functional programming, and natively functional patterns. Your code will be more declarative, with fewer bugs and lower maintenance costs. Functional languages have their own patterns that enable you to solve problems with less code than object-oriented programming alone. This book introduces you, the experienced Java programmer, to Scala and Clojure: practical, production-quality languages that run on the JVM and interoperate with existing Java. By using both the statically typed, type-inferred Scala and the dynamically typed, modern Lisp Clojure, you'll gain a broad understanding of functional programming. For each pattern, you'll first see the traditional object-oriented solution, and then dig into the functional replacements in both Scala and Clojure. These patterns are common in the functional world and deserve to become part of your problem-solving toolkit. On the object-oriented side, you'll see many common patterns, such as Command, Strategy, and Null Object. On the functional side, you'll learn core functional patterns such as Memoization, Lazy Sequence, and Tail Recursion. Each pattern helps you solve a common programming problem. Working through them gives you a set of patterns you can use to solve problems you come across while writing programs. Finally, you'll learn how to work your existing Java code into new Scala or Clojure projects. You can start off small, adding functional code little by little, so you can complement your existing knowledge with Scala and Clojure as these languages gain popularity on the JVM.
New perspective technologies of genetic search and evolution simulation represent the kernel of this book. The authors wanted to show how these technologies are used for practical problems solution. This monograph is devoted to specialists of CAD, intellectual information technologies in science, biology, economics, sociology and others. It may be used by post-graduate students and students of specialties connected to the systems theory and system analysis methods, information science, optimization methods, operations investigation and solution-making.
Future requirements for computing speed, system reliability, and cost-effectiveness entail the development of alternative computers to replace the traditional von Neumann organization. As computing networks come into being, one of the latest dreams is now possible - distributed computing. Distributed computing brings transparent access to as much computer power and data as the user needs for accomplishing any given task - simultaneously achieving high performance and reliability. The subject of distributed computing is diverse, and many researchers are investigating various issues concerning the structure of hardware and the design of distributed software. Distributed System Design defines a distributed system as one that looks to its users like an ordinary system, but runs on a set of autonomous processing elements (PEs) where each PE has a separate physical memory space and the message transmission delay is not negligible. With close cooperation among these PEs, the system supports an arbitrary number of processes and dynamic extensions. Distributed System Design outlines the main motivations for building a distributed system, including: inherently distributed applications performance/cost resource sharing flexibility and extendibility availability and fault tolerance scalability Presenting basic concepts, problems, and possible solutions, this reference serves graduate students in distributed system design as well as computer professionals analyzing and designing distributed/open/parallel systems. Chapters discuss: the scope of distributed computing systems general distributed programming languages and a CSP-like distributed control description language (DCDL) expressing parallelism, interprocess communication and synchronization, and fault-tolerant design two approaches describing a distributed system: the time-space view and the interleaving view mutual exclusion and related issues, including election, bidding, and self-stabilization prevention and detection of deadlock reliability, safety, and security as well as various methods of handling node, communication, Byzantine, and software faults efficient interprocessor communication mechanisms as well as these mechanisms without specific constraints, such as adaptiveness, deadlock-freedom, and fault-tolerance virtual channels and virtual networks load distribution problems synchronization of access to shared data while supporting a high degree of concurrency
Embedded Software Development: The Open-Source Approach delivers a practical introduction to embedded software development, with a focus on open-source components. This programmer-centric book is written in a way that enables even novice practitioners to grasp the development process as a whole. Incorporating real code fragments and explicit, real-world open-source operating system references (in particular, FreeRTOS) throughout, the text: Defines the role and purpose of embedded systems, describing their internal structure and interfacing with software development tools Examines the inner workings of the GNU compiler collection (GCC)-based software development system or, in other words, toolchain Presents software execution models that can be adopted profitably to model and express concurrency Addresses the basic nomenclature, models, and concepts related to task-based scheduling algorithms Shows how an open-source protocol stack can be integrated in an embedded system and interfaced with other software components Analyzes the main components of the FreeRTOS Application Programming Interface (API), detailing the implementation of key operating system concepts Discusses advanced topics such as formal verification, model checking, runtime checks, memory corruption, security, and dependability Embedded Software Development: The Open-Source Approach capitalizes on the authors' extensive research on real-time operating systems and communications used in embedded applications, often carried out in strict cooperation with industry. Thus, the book serves as a springboard for further research.
Learn how to successfully implement trustworthy computing tasks using aspect-oriented programming This landmark publication fills a gap in the literature by not only describing the basic concepts of trustworthy computing (TWC) and aspect-oriented programming (AOP), but also exploring their critical interrelationships. The author clearly demonstrates how typical TWC tasks such as security checks, in-and-out conditions, and multi-threaded safety can be implemented using AOP. Following an introduction, the book covers: Trustworthy computing, software engineering, and computer science Aspect-oriented programming and Aspect.NET Principles and case studies that apply AOP to TWC Coverage includes Aspect.NET, the AOP framework developed by the author for the Microsoft.NET platform, currently used in seventeen countries. The author discusses the basics of Aspect.NET architecture, its advantages compared to other AOP tools, and its functionality. The book has extensive practical examples and case studies of trustworthy software design and code using the Aspect.NET framework. In addition, the book explores other software technologies and tools for using AOP for trustworthy software development, including Java and AspectJ. This book also includes a valuable chapter dedicated to ERATO, the author's teaching method employed in this book, which has enabled thousands of students to quickly grasp and apply complex concepts in computing and software engineering, while the final chapter presents an overall perspective on the current state of AOP and TWC with a view toward the future. Software engineers, architects, developers, programmers, and students should all turn to this book to learn this tested and proven method to create more secure, private, and reliable computing.
Reducing Risk with Software Process Improvement recommends the critical practices that aid in the successful delivery of software products and services. The author describes the observations that he made over a period of ten years in IT projects and organizations. He focuses on the areas of software development and maintenance, highlighting the most frequently encountered problems that occur due to poor processes. The author derives recommendations from 40 comprehensive assessments of IT organizations. This book details the potential or real problems each organization experienced, and offers anecdotes on how these problems resulted from deficient practices, what their impacts were, and how improving specific practices benefitted the organizations. This volume provides valuable advice for project and application managers looking to minimize the number of crises they have to deal with, and for IT practitioners seeking the practical solutions that lead to career advancement. It benefits customers who need to know what to look for before purchasing IT products or services, and helps investors analyze the efficiency of IT companies before making investment decisions.
You need to get value from your software project. You need it "free, now, and perfect." We can't get you there, but we can help you get to "cheaper, sooner, and better." This book leads you from the desire for value down to the specific activities that help good Agile projects deliver better software sooner, and at a lower cost. Using simple sketches and a few words, the author invites you to follow his path of learning and understanding from a half century of software development and from his engagement with Agile methods from their very beginning. The book describes software development, starting from our natural desire to get something of value. Each topic is described with a picture and a few paragraphs. You're invited to think about each topic; to take it in. You'll think about how each step into the process leads to the next. You'll begin to see why Agile methods ask for what they do, and you'll learn why a shallow implementation of Agile can lead to only limited improvement. This is not a detailed map, nor a step-by-step set of instructions for building the perfect project. There is no map or instructions that will do that for you. You need to build your own project, making it a bit more perfect every day. To do that effectively, you need to build up an understanding of the whole process. This book points out the milestones on your journey of understanding the nature of software development done well. It takes you to a location, describes it briefly, and leaves you to explore and fill in your own understanding. What You Need: You'll need your Standard Issue Brain, a bit of curiosity, and a desire to build your own understanding rather than have someone else's detailed ideas poured into your head.
This book constitutes the refereed post-conference proceedings of the 17th IFIP WG 5.1 International Conference on Product Lifecycle Management, PLM 2020, held in Rapperswil, Switzerland, in July 2020. The conference was held virtually due to the COVID-19 crisis. The 60 revised full papers presented together with 2 technical industrial papers were carefully reviewed and selected from 80 submissions. The papers are organized in the following topical sections: smart factory; digital twins; Internet of Things (IoT, IIoT); analytics in the order fulfillment process; ontologies for interoperability; tools to support early design phases; new product development; business models; circular economy; maturity implementation and adoption; model based systems engineering; artificial intelligence in CAx, MBE, and PLM; building information modelling; and industrial technical contributions.
Advanced space exploration is performed by unmanned missions with integrated autonomy in both flight and ground systems. Risk and feasibility are major factors supporting the use of unmanned craft and the use of automation and robotic technologies where possible. Autonomy in space helps to increase the amount of science data returned from missions, perform new science, and reduce mission costs. Elicitation and expression of autonomy requirements is one of the most significant challenges the autonomous spacecraft engineers need to overcome today. This book discusses the Autonomy Requirements Engineering (ARE) approach, intended to help software engineers properly elicit, express, verify, and validate autonomy requirements. Moreover, a comprehensive state-of-the-art of software engineering for aerospace is presented to outline the problems handled by ARE along with a proof-of-concept case study on the ESA's BepiColombo Mission demonstrating the ARE's ability to handle autonomy requirements.
Web Engineering: Modelling and Implementing Web Applications presents the state of the art approaches for obtaining a correct and complete Web software product from conceptual schemas, represented via well-known design notations. Describing mature and consolidated approaches to developing complex applications, this edited volume is divided into three parts and covers the challenges web application developers face; design issues for web applications; and how to measure and evaluate web applications in a consistent way. With contributions from leading researchers in the field this book will appeal to researchers and students as well as to software engineers, software architects and business analysts.
An inadequate infrastructure for software testing is causing major losses to the world economy. The characteristics of software quality problems are quite similar to other tasks successfully tackled by artificial intelligence techniques. The aims of this book are to present state-of-the-art applications of artificial intelligence and data mining methods to quality assurance of complex software systems, and to encourage further research in this important and challenging area.
Written by foremost experts in the field, Engineering Modeling Languages provides end-to-end coverage of the engineering of modeling languages to turn domain knowledge into tools. The book provides a definition of different kinds of modeling languages, their instrumentation with tools such as editors, interpreters and generators, the integration of multiple modeling languages to achieve a system view, and the validation of both models and tools. Industrial case studies, across a range of application domains, are included to attest to the benefits offered by the different techniques. The book also includes a variety of simple worked examples that introduce the techniques to the novice user. The book is structured in two main parts. The first part is organized around a flow that introduces readers to Model Driven Engineering (MDE) concepts and technologies in a pragmatic manner. It starts with definitions of modeling and MDE, and then moves into a deeper discussion of how to express the knowledge of particular domains using modeling languages to ease the development of systems in the domains. The second part of the book presents examples of applications of the model-driven approach to different types of software systems. In addition to illustrating the unification power of models in different software domains, this part demonstrates applicability from different starting points (language, business knowledge, standard, etc.) and focuses on different software engineering activities such as Requirement Engineering, Analysis, Design, Implementation, and V&V. Each chapter concludes with a small set of exercises to help the reader reflect on what was learned or to dig further into the examples. Many examples of models and code snippets are presented throughout the book, and a supplemental website features all of the models and programs (and their associated tooling) discussed in the book.
See what reviewers at Slashdot.org originally had to say about James and Neil's book! ""This is a remarkably wise book, full of pragmatic advice drawn from real projects. Ultimately, software development is a human experience, and Jim and Neil have captured the essence of that experience in this work. The tapestry of patterns they have woven is postively brillant, and each thread therein is a delight to read."" --Grady Booch, IBM Fellow Do you want to really improve your software development organization instead of complying with an arbitrary standard, or trying the latest fad? This book presents the fundamentals of creating sustainable organizations, based on in-depth studies of over 100 real software development organizations. The authors present nearly 100 organizational patterns to help you create a highly effective organization. Case studies and vignettes illustrate how these patterns work. This practical guide shows you how to reshape critical parts of your organization. Regardless of your role, you will find patterns that you can use to make your organization more effective. ""This carefully researched, artfully described, and extraordinarily useful handbook of deep wisdom on creating teams that generate terrific software should be on every software development manager's bookshelf."" --Luke Hohmann, Hohmann Consulting ""As soon as I had worked through these patterns, I realized that several of my clients engaged in process definition projects could make use of them."" --Ian Graham, Technical Director, trireme.com
There is extensive government research on cyber security science, technology, and applications. Much of this research will be transferred to the private sector to aid in product development and the improvement of protective measures against cyber warfare attacks. This research is not widely publicized. There are initiatives to coordinate these research efforts but there has never been a published comprehensive analysis of the content and direction of the numerous research programs. This book provides private sector developers, investors, and security planners with insight into the direction of the U.S. Government research efforts on cybersecurity.
Over the last ten years, the ARM architecture has become one of the
most pervasive architectures in the world, with more than 2 billion
ARM-based processors embedded in products ranging from cell phones
to automotive braking systems. A world-wide community of ARM
developers in semiconductor and product design companies includes
software developers, system designers and hardware engineers. To
date no book has directly addressed their need to develop the
system and software for an ARM-based system. This text fills that
gap.
An effective systems development and design process is far easier to explain than it is to implement. A framework is needed that organizes the life cycle activities that form the process. This framework is Configuration Management (CM). Software Configuration Management discusses the framework from a standards viewpoint, using the original DoD MIL-STD-973 and EIA-649 standards to describe the elements of configuration management within a software engineering perspective. Divided into two parts, the first section is composed of 14 chapters that explain every facet of configuration management related to software engineering. The second section consists of 25 appendices that contain many valuable "real world" CM templates. The content is extensive and inclusive, covering everything from CM planning to configuration identification, verification, and auditing. Although it is vendor-neutral, it offers a serious discussion of what to look for in a CM tool and lists toolsets for review. This volume is a sourcebook of techniques, templates, and best practices in the field, providing software engineers and systems developers with what they need to run a successful CM program.
This book is a comprehensive and authoritative guide to voice user interface (VUI) design. The VUI is perhaps the most critical factor in the success of any automated speech recognition (ASR) system, determining whether the user experience will be satisfying or frustrating, or even whether the customer will remain one. This book describes a practical methodology for creating an effective VUI design. The methodology is scientifically based on principles in linguistics, psychology, and language technology, and is illustrated here by examples drawn from the authors' work at Nuance Communications, the market leader in ASR development and deployment. The book begins with an overview of VUI design issues and a description of the technology. The authors then introduce the major phases of their methodology. They first show how to specify requirements and make high-level design decisions during the definition phase. They next cover, in great detail, the design phase, with clear explanations and demonstrations of each design principle and its real-world applications. Finally, they examine problems unique to VUI design in system development, testing, and tuning. Key principles are illustrated with a running sample application. A companion Web site provides audio clips for each example: www.VUIDesign.org The cover photograph depicts the first ASR system, Radio Rex: a
toy dog who sits in his house until the sound of his name calls him
out. Produced in 1911, Rex was among the few commercial successes
in earlier days of speech recognition. "Voice User Interface Design
"reveals the design principles and practices that produce
commercial success in an era when effective ASRs are not toys
butcompetitive necessities.
We're at an inflection point in data, where our data management solutions no longer match the complexity of organizations, the proliferation of data sources, and the scope of our aspirations to get value from data with AI and analytics. In this practical book, author Zhamak Dehghani introduces data mesh, a decentralized sociotechnical paradigm drawn from modern distributed architecture that provides a new approach to sourcing, sharing, accessing, and managing analytical data at scale. Dehghani guides practitioners, architects, technical leaders, and decision makers on their journey from traditional big data architecture to a distributed and multidimensional approach to analytical data management. Data mesh treats data as a product, considers domains as a primary concern, applies platform thinking to create self-serve data infrastructure, and introduces a federated computational model of data governance. Get a complete introduction to data mesh principles and its constituents Design a data mesh architecture Guide a data mesh strategy and execution Navigate organizational design to a decentralized data ownership model Move beyond traditional data warehouses and lakes to a distributed data mesh
Ready, set, liftoff! Align your team to one purpose: successful delivery. Learn new insights and techniques for starting projects and teams the right way, with expanded concepts for planning, organizing, and conducting liftoff meetings. Real-life stories illustrate how others have effectively started (or restarted) their teams and projects. Master coaches Diana Larsen and Ainsley Nies have successfully "lifted off" numerous agile projects worldwide. Are you ready for success?Every team needs a great start. If you're a business or product leader, team coach or agile practice lead, project or program manager, you'll gain strategic and tactical benefits from liftoffs.Discover new step-by-step instructions and techniques for boosting team performance in this second edition of "Liftoft." Concrete examples from our practices show you how to get everyone on the same page from the start as you form the team. You'll find pointers for refocusing an effort that's gone off in the weeds, and practices for working with teams as complex systems.See how to scale liftoffs for multiple teams across the enterprise, address the three key elements for collaborative team chartering, establish the optimal conditions for learning and improvement, and apply the GEFN (Good Enough for Now) rule for efficient liftoffs. Throughout the book are stories from real-life teams lifting off, as seasoned coaches describe their experiences with liftoffs and agile team chartering.Focused conversations help the team align, form, and build enough trust for collaborating. You'll build a common understanding of the teams' context within business goals. Every liftoff is unique, but success is common!
As the number of Internet of Things (IoT) elements grows exponentially, their interactions can generate a massive amount of raw and multi-structured data. The challenge with this data explosion is to transform any raw data into information and knowledge, which can be used by people and systems to make intelligent decisions. Industrial IoT Application Architectures and Use Cases explores how artificial intelligence (AI), data analytics, and IoT technology combine to promote intelligent decision-making and automation in a range of industries. With faster, more stable AI algorithms and approaches, knowledge discovery and dissemination from IoT-device data can be simplified and streamlined. An era of powerful cognitive technology is beginning due to cloud-based cognitive systems that are forming the foundation of game-changing intelligent applications. This book presents next-generation use cases of IoT and IoT data analytics for a variety of industrial verticals as given below: An Intelligent IoT framework for smart water management An IoT-enabled smart traffic control system for congestion control and smart traffic management An intelligent airport system for airport management and security surveillance An IoT framework for healthcare to integrate and report patient information Fuzzy scheduling with IoT for tracking and monitoring hotel assets An IoT system for designing drainage systems and monitoring drainage pipes Predictive maintenance of plant equipment to decide the actual mean time to malfunction Integrated neural networks and IoT systems for predictive equipment maintenance IoT integration in blockchain for smart waste management This book also includes a chapter on the IoT paradigm and an overview of uses cases for personal, social, and industrial applications.
A coherent and integrated account of the leading UML 2 semantics work and the practical applications of UML semantics development With contributions from leading experts in the field, the book begins with an introduction to UML and goes on to offer in-depth and up-to-date coverage of: The role of semantics Considerations and rationale for a UML system model Definition of the UML system model UML descriptive semantics Axiomatic semantics of UML class diagrams The object constraint language Axiomatic semantics of state machines A coalgebraic semantic framework for reasoning about interaction designs Semantics of activity diagrams Verification of UML models State invariants Model transformation specification and verification Additionally, readers are provided with expert guidance on how to resolve semantic problems and a section on applications of UML semantics with model analysis. "UML 2 Semantics and Applications" is an ideal resource for researchers and tool-builders working in UML, among others. It is also an excellent textbook for postgraduate teaching and research.
Understanding BIM presents the story of Building Information Modelling, an ever evolving and disruptive technology that has transformed the methodologies of the global construction industry. Written by the 2016 Prince Philip Gold Medal winner, Jonathan Ingram, it provides an in-depth understanding of BIM technologies, the business and organizational issues associated with its implementation, and the profound advantages its effective use can provide to a project team. Ingram, who pioneered the system heralding the BIM revolution, provides unrivalled access to case material and relevance to the current generation of BIM masters. With hundreds of colour images and illustrations showing the breadth and power of BIM, the book covers: The history of BIM What BIM is in technical and practical terms How it changes the day to day working environment Why we need BIM and what problems it can solve Where BIM is headed, particularly with regards to AI, AR, VR and voice recognition International case studies from a range of disciplines including: architecture, construction management, and retail Professionals and students in any field where the inter-disciplinary aspects of BIM are in operation will benefit from Ingram's insights. This book is an authoritative account of and reference on BIM for anyone wanting to understand its history, theory, application and potential future developments.
From the perspective that software measurements can be simple yet very useful in making the decisions needed to mange software projects, Software Measurement, Metrics and Project Management presents an integrated approach to measurements and techniques for deriving knowledge from measurements. The ideas and techniques are derived from best practices and are field-proven, down-to-earth, and above all, clearly stated. The author directly relates data to decision-making and leadership issues in business and provides outstanding guidance on data analysis interpretation and process modeling. Ultimately, it will help readers understand how ordinary analysis techniques can be applied to achieve extraordinary results.
Data-Oriented Programming teaches you to design and implement software using the data-oriented programming paradigm. In it, you'll learn author Yehonathan Sharvit's unique approach to DOP that he has developed over a decade of experience. Every chapter contains a new light bulb moment that will change the way you think about programming. As you read, you'll build a library management system using the DOP paradigm. You'll design data models for business entities, manipulate immutable data collections, and write unit tests for data-oriented systems. About the Technology Data-oriented programming is an exciting new paradigm that eliminates the usual complexity caused by combining data and code into objects and classes. In DOP, you maintain application data in persistent generic data structures separated from the program's code. You use general-purpose functions to manipulate the data without mutating it. This approach rids your applications of state-related bugs and makes your code much easier to understand and maintain.
Choosen by BookAuthority as one of BookAuthority's Best Linux Mint Books of All Time Linux: The Textbook, Second Edition provides comprehensive coverage of the contemporary use of the Linux operating system for every level of student or practitioner, from beginners to advanced users. The text clearly illustrates system-specific commands and features using Debian-family Debian, Ubuntu, and Linux Mint, and RHEL-family CentOS, and stresses universal commands and features that are critical to all Linux distributions. The second edition of the book includes extensive updates and new chapters on system administration for desktop, stand-alone PCs, and server-class computers; API for system programming, including thread programming with pthreads; virtualization methodologies; and an extensive tutorial on systemd service management.Brand new online content on the CRC Press website includes an instructor's workbook, test bank, and In-Chapter exercise solutions, as well as full downloadable chapters on Python Version 3.5 programming, ZFS, TC shell programming, advanced system programming, and more. An author-hosted GitHub website also features updates, further references, and errata. Features New or updated coverage of file system, sorting, regular expressions, directory and file searching, file compression and encryption, shell scripting, system programming, client-server-based network programming, thread programming with pthreads, and system administration Extensive in-text pedagogy, including chapter objectives, student projects, and basic and advanced student exercises for every chapter Expansive electronic downloads offer advanced content on Python, ZFS, TC shell scripting, advanced system programming, internetworking with Linux TCP/IP, and many more topics, all featured on the CRC Press website Downloadable test bank, work book, and solutions available for instructors on the CRC Press website Author-maintained GitHub repository provides other resources, such as live links to further references, updates, and errata |
You may like...
Edge/Fog Computing Paradigm: The…
Pethuru Raj, Kavita Saini, …
Hardcover
R3,966
Discovery Miles 39 660
Hardware Accelerator Systems for…
Shiho Kim, Ganesh Chandra Deka
Hardcover
R3,950
Discovery Miles 39 500
Clean Architecture - A Craftsman's Guide…
Robert Martin
Paperback
(1)
Principles of Big Graph: In-depth…
Ripon Patgiri, Ganesh Chandra Deka, …
Hardcover
R3,925
Discovery Miles 39 250
Research Anthology on Architectures…
Information R Management Association
Hardcover
R12,639
Discovery Miles 126 390
Data Prefetching Techniques in Computer…
Pejman Lotfi-Kamran, Hamid Sarbazi-Azad
Hardcover
R3,923
Discovery Miles 39 230
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R3,940
Discovery Miles 39 400
|