LoveReading

Becoming a member of the LoveReading community is free.

No catches, no fine print just unadulterated book loving, with your favourite books saved to your own digital bookshelf.

New members get entered into our monthly draw to win £100 to spend in your local bookshop Plus lots lots more…

Find out more

Software Engineering

See below for a selection of the latest books from Software Engineering category. Presented with a red border are the Software Engineering books that have been lovingly read and reviewed by the experts at Lovereading. With expert reading recommendations made by people with a passion for books and some unique features Lovereading will help you find great Software Engineering books and those from many more genres to read that will keep you inspired and entertained. And it's all free!

The Convergence of Internet of Things and Cloud for Smart Computing

The Convergence of Internet of Things and Cloud for Smart Computing

This book presents the know-how of the real-time IoT application development activity including a basic understanding of the IoT architecture, use cases, smart computing, and the associated challenges in design and development of the IoT system. All the technical details related to protocol stack, technologies, and platforms used for the implementation are explained. It further includes techniques and case studies that include smart computing on the IoT-Cloud models along with test beds for experimentation purposes. The book aims at setting up the groundwork for the creation of applications that can help make day-to-day tasks simpler by meeting the needs of varied sectors like education, health care, agriculture, and so forth. Features: * Covers IoT cloud convergence with a focus on complex industrial IoT case studies. * Discusses the broad background of IoT-Cloud convergence architectures and its fundamentals along with resource provisioning mechanisms. * Emphasizes the use of context in developing context-aware IoT solutions. * Presents a novel C-model that explains the IoT application development phases. * Discusses a simplified convergence model that depicts the role of Cloud in an IoT application. This book aims at graduate students, researchers, and professionals getting started in the IoT field.

Testing Elixir

Testing Elixir

Author: Andrea Leopardi, Jeffrey Matthias Format: Paperback / softback Release Date: 31/07/2021

Elixir offers new paradigms, and challenges you to test in unconventional ways. Start with ExUnit: almost everything you need to write tests covering all levels of detail, from unit to integration, but only if you know how to use it to the fullest - we'll show you how. Explore testing Elixir-specific challenges such as OTP-based modules, asynchronous code, Ecto-based applications, and Phoenix applications. Explore new tools like Mox for mocks and StreamData for property-based testing. Armed with this knowledge, you can create test suites that add value to your production cycle and guard you from regressions. Write Elixir tests that you can be proud of. Dive into Elixir's test philosophy and gain mastery over the terminology and concepts that underlie good tests. Create and structure a comprehensive ExUnit test suite, starting from the basics, and build comprehensive test coverage that will provide safety for refactoring and confidence that your code performs as designed. Use tests to make your software more reliable and fault tolerant. Explore the basic tool set provided by ExUnit and Mix to write and organize your test suite. Test code built around different OTP functionality. Isolate your code through dependency injection and by using Mox. Write comprehensive tests for Ecto projects, covering Ecto as a database tool as well as a standalone data validation tool. Test Phoenix channels from end to end, including authentication and joining topics. Write Phoenix controller tests and understand the concepts of integration testing in Elixir. Learn property-based testing with StreamData from the author who wrote the library. Code with high confidence that you are getting the most out of your test suite, with the right tools that make testing your code a pleasure and a valuable part of your development cycle. What You Need: To get the most out of this book, you will need to have installed Elixir 1.8 or later and Erlang/OTP 21 or later. In order to complete the relevant chapters, you will also need Ecto 3.1 or later, EctoSQL 3.1 or later and Phoenix 1.3 or later.

Software Development Patterns and Antipatterns

Software Development Patterns and Antipatterns

Author: Capers Jones Format: Hardback Release Date: 23/07/2021

Software development has been a troubling since it first started. There are seven chronic problems that have plagued it from the beginning: Incomplete and ambiguous user requirements that grow by >2% per month. Major cost and schedule overruns for large applications > 35% higher than planned. Low defect removal efficiency (DRE) < 85% on large systems. Cancelled projects that are not completed: > 30% above 10,000 function points. Poor quality and low reliability after the software is delivered: > 5 bugs per FP. Breach of contract litigation against software outsource vendors. Expensive maintenance and enhancement costs after delivery. These are endemic problems for software executives, software engineers and software customers but they are not insurmountable. In Software Development Patterns and Antipatterns, software engineering and metrics pioneer Capers Jones presents technical solutions for all seven. The solutions involve moving from harmful patterns of software development to effective patterns of software development. The first section of the book examines common software development problems that have been observed in many companies and government agencies. The data on the problems comes from consulting studies, breach of contract lawsuits, and the literature on major software failures. This section considers the factors involved with cost overruns, schedule delays, canceled projects, poor quality, and expensive maintenance after deployment. The second section shows patterns that lead to software success. The data comes from actual companies. The section's first chapter on Corporate Software Risk Reduction in a Fortune 500 company was based on a major telecom company whose CEO was troubled by repeated software failures. The other chapters in this section deal with methods of achieving excellence, as well as measures that can prove excellence to C-level executives, and with continuing excellence through the maintenance cycle as well as for software development.

Software Development Patterns and Antipatterns

Software Development Patterns and Antipatterns

Author: Capers Jones Format: Paperback / softback Release Date: 23/07/2021

Software development has been a troubling since it first started. There are seven chronic problems that have plagued it from the beginning: Incomplete and ambiguous user requirements that grow by >2% per month. Major cost and schedule overruns for large applications > 35% higher than planned. Low defect removal efficiency (DRE) < 85% on large systems. Cancelled projects that are not completed: > 30% above 10,000 function points. Poor quality and low reliability after the software is delivered: > 5 bugs per FP. Breach of contract litigation against software outsource vendors. Expensive maintenance and enhancement costs after delivery. These are endemic problems for software executives, software engineers and software customers but they are not insurmountable. In Software Development Patterns and Antipatterns, software engineering and metrics pioneer Capers Jones presents technical solutions for all seven. The solutions involve moving from harmful patterns of software development to effective patterns of software development. The first section of the book examines common software development problems that have been observed in many companies and government agencies. The data on the problems comes from consulting studies, breach of contract lawsuits, and the literature on major software failures. This section considers the factors involved with cost overruns, schedule delays, canceled projects, poor quality, and expensive maintenance after deployment. The second section shows patterns that lead to software success. The data comes from actual companies. The section's first chapter on Corporate Software Risk Reduction in a Fortune 500 company was based on a major telecom company whose CEO was troubled by repeated software failures. The other chapters in this section deal with methods of achieving excellence, as well as measures that can prove excellence to C-level executives, and with continuing excellence through the maintenance cycle as well as for software development.

Software Engineering

Software Engineering

Author: Elvis C. Foster, Bradford A. Towle Jr. Format: Paperback / softback Release Date: 20/07/2021

Software Engineering: A Methodical Approach provides a comprehensive, but concise introduction to software engineering. It adopts a methodical approach to solving software engineering problems, proven over several years of teaching, with outstanding results. The book covers concepts, principles, design, construction, implementation, and management issues of software engineering. Each chapter is organized systematically into brief, reader-friendly sections, with itemization of the important points to be remembered. Diagrams and illustrations also sum up the salient points to enhance learning. Additionally, the book includes the author's original methodologies that add clarity and creativity to the software engineering experience. New in the Second Edition are chapters on software engineering projects, management support systems, and software engineering frameworks and patterns as a significant building block for the design and construction of contemporary software systems. The text starts with an introduction of software engineering and the role of the software engineer. The following chapters examine in-depth software analysis, design, development, implementation and management. Covering object-oriented methodologies and the principles of object-oriented information engineering, the book reinforces an object-oriented approach to the early phases of the software development life cycle. It covers various diagramming techniques and emphasizes object classification and object behavior. The text features comprehensive treatment of: Project management aids that are commonly used in software engineering An overview of the software design phase, including a discussion of the software design process, design strategies, architectural design, interface design, software design, and development standards User interface design Operations design Design considerations including system catalog, product documentation, user message management, design for real-time software, design for reuse, system security, and the agile effect. Human resource management from a software engineering perspective Software economics Software implementation issues that range from operating environments to marketing of software Software maintenance, legacy systems, and re-engineering The textbook can be used as a one-semester or two-semester course in software engineering, augmented with an appropriate CASE or RAD tool. It emphasizes a practical, methodical approach to software engineering, avoiding an overkill of theoretical calculations where possible. The primary objective is to help students gain a solid grasp of the activities in the software development life cycle be confident about taking on new software engineering projects.

Software Engineering

Software Engineering

Author: Elvis C. Foster, Bradford A. Towle Jr. Format: Hardback Release Date: 20/07/2021

Software Engineering: A Methodical Approach provides a comprehensive, but concise introduction to software engineering. It adopts a methodical approach to solving software engineering problems, proven over several years of teaching, with outstanding results. The book covers concepts, principles, design, construction, implementation, and management issues of software engineering. Each chapter is organized systematically into brief, reader-friendly sections, with itemization of the important points to be remembered. Diagrams and illustrations also sum up the salient points to enhance learning. Additionally, the book includes the author's original methodologies that add clarity and creativity to the software engineering experience. New in the Second Edition are chapters on software engineering projects, management support systems, and software engineering frameworks and patterns as a significant building block for the design and construction of contemporary software systems. The text starts with an introduction of software engineering and the role of the software engineer. The following chapters examine in-depth software analysis, design, development, implementation and management. Covering object-oriented methodologies and the principles of object-oriented information engineering, the book reinforces an object-oriented approach to the early phases of the software development life cycle. It covers various diagramming techniques and emphasizes object classification and object behavior. The text features comprehensive treatment of: Project management aids that are commonly used in software engineering An overview of the software design phase, including a discussion of the software design process, design strategies, architectural design, interface design, software design, and development standards User interface design Operations design Design considerations including system catalog, product documentation, user message management, design for real-time software, design for reuse, system security, and the agile effect. Human resource management from a software engineering perspective Software economics Software implementation issues that range from operating environments to marketing of software Software maintenance, legacy systems, and re-engineering The textbook can be used as a one-semester or two-semester course in software engineering, augmented with an appropriate CASE or RAD tool. It emphasizes a practical, methodical approach to software engineering, avoiding an overkill of theoretical calculations where possible. The primary objective is to help students gain a solid grasp of the activities in the software development life cycle be confident about taking on new software engineering projects.

Hands-on Rust

Hands-on Rust

Author: Herbert Wolverson Format: Paperback / softback Release Date: 30/06/2021

Software Testing

Software Testing

This updated and reorganized Fifth edition of Software Testing: A Craftsman's Approach applies the strong mathematics content of previous editions to a coherent treatment of software testing. Responding to instructor and student survey input of previous editions, the authors have streamlined chapters and examples. The Fifth Edition: Has a new chapter on feature interaction testing that explores the feature interaction problem and explains how to reduce tests Uses Java instead of pseudo-code for all examples including structured and object-oriented ones Presents model-based development and provides an explanation of how to conduct testing within model-based development environments Explains testing in waterfall, iterative, and agile software development projects Explores test-driven development, reexamines all-pairs testing, and explains the four contexts of software testing Thoroughly revised and updated, Software Testing: A Craftsman's Approach, Fifth Edition is sure to become a standard reference for those who need to stay up to date with evolving technologies in software testing. Carrying on the tradition of previous editions, it is a valuable reference for software testers, developers, and engineers.

Software Engineering Research and Practice

Software Engineering Research and Practice

Author: Hamid R. Arabnia Format: Paperback / softback Release Date: 17/05/2021

Software Engineering Research and Practice, is a compendium of articles and papers that were presented at SERP '14, an international conference that serves researchers, scholars, professionals, students, and academicians. Selected topics include: Novel Applications, Methodologies and Case Studies + Intellectual Property Issues + Education Software Systems, Requirements + Middle-Ware + Software Development Process + Modeling and Architecture Description Languages Software Architecture + Design Patterns Unified Modeling Language / UML, Object Oriented Methods, and Case Studies Usability Studies + Cost Estimation and Management + Software Testing, Analysis, Validation, and Verification + Performance Studies Software Engineering and Management + Code Reuse + Software Maintenance Methods + Release Planning + Software Productivity and Quality Agile Software Methods Software Engineering and Embedded Systems Software Engineering + Maintenance, Legacy Codes, Metrics, Collaborative Work, Software Process Improvement and Models, SOA, Case Studies

Microsoft Dynamics 365 Project Operations

Microsoft Dynamics 365 Project Operations

Author: Robert Houdeshell Format: Paperback / softback Release Date: 14/05/2021

Discover the endless capabilities and end-to-end project management functionalities of Dynamics 365 Project Operations to drive your firm's project success and ensure rapid business growth in the competitive digital economic world Key Features Deliver successful projects via improved collaboration, visibility, and teamwork using Microsoft Project Operations solutions Gain real-time data insights to modernize business strategies to increase market share Build the right project operations models to meet business needs with an optimized budget Book DescriptionDynamics 365 Project Operations is a game-changing solution set for project-driven businesses that allows you to deliver commercially successful projects in a timely and cost-effective manner, keeping the project teams productive and collaborative. With this book, you'll find out how you can bring more value to the business by winning new projects and driving exponential revenue growth. Starting with the key principles of Project Operations, you'll understand how it improves project planning and execution. You'll then learn how to successfully deploy Project Operations along with different integration strategies and get to grips with the best approach for sales through project opportunities, project contracts, and pricing workflow implementation. This book will guide you through setting up direct staffing and centralized staffing models and enable you to manage project changes confidently by getting hands-on with project timeline management, pricing management, resource assignments, and modifications. In the final chapters, you'll find out how to use Project Operations effectively for project accounting and finance. By the end of this book, you'll have gained the confidence to deliver profitable projects in a well-connected organization through efficient decision-making and successful customer-client relationships. What you will learn Configure key elements of Project Operations to drive improved collaboration with your customers Discover how Project Operations is interconnected with Microsoft 365 and Dynamics 365 Platform Understand the Project Opportunity-to-Quote-to-Contract workflow and its implications for selling Find out how to set up and utilize direct staffing and centralized staffing models Explore Project Timeline Management using Task, Board, and Timeline views Find out how information flows to finance and operations in Project Operations Who this book is forThis book is for project managers, project leads, business consultants, and business leaders who want to gain a competitive edge by delivering successful projects in a shorter time span with the help of effective operations and workflows across different teams within projects. Knowledge of Microsoft 365 and a sound understanding of business acumen and sales through the delivery process is necessary to get the most out of this book.

Nonfunctional Requirements in Mobile Application Development

Nonfunctional Requirements in Mobile Application Development

Author: Varun Gupta, Raj Kumar Chopra, Durg Singh Chauhan Format: Hardback Release Date: 26/04/2021

Nonfunctional Requirements in Mobile Application Development is an empirical study that investigates how nonfunctional requirements--as compared with functional requirements--are treated by the software engineers during mobile application development. The book empirically analyzes the contribution of nonfunctional requirements to project parameters such as cost, time, and quality. Such parameters are of prime interest as they determine the survival of organizations in highly dynamic environments. The impact of nonfunctional requirements on project success is analyzed through surveys and case studies, both individually and relative to each other. Sources for data collection include industry, academia, and literature. The book also empirically studies the impact of nonfunctional requirements on the overall business success of both the software development firm and the software procuring firm. Project success is examined to determine if it leads to business success. The book provides rich empirical evidence to place nonfunctional requirements on par with functional requirements to achieve business success in highly competitive markets. This work enhances the body of knowledge through multiple empirical research methods including surveys, case studies, and experimentation to study software engineers' focus on nonfunctional requirements at both project and business levels. The book can guide both computer scientists and business managers in devising theoretical and technical solutions for software release planning to achieve business success.

Automated Software Testing with Cypress

Automated Software Testing with Cypress

Author: Narayanan Palani Format: Hardback Release Date: 20/04/2021

Unit Integration Testing (UIT) had been a challenge because there was no tool that could help in XHR programming and unit integration validations in an efficient way until Cypress arrived. Cypress started releasing versions in 2015 and became popular in 2018 with version 2.0.0. This book explores Cypress scripts that help implement 'shift left testing', which is a dream come true for many software testers. Shift left occurs in the majority of testing projects, but could not be implemented fully because tools were unavailable and knowledge was lacking about the possibilities of testing early in the life cycle. Shift left is a key testing strategy to help testing teams focus less on defect identifications and more on developing practices to prevent defects. Cypress scripts can help front-end developers and quality engineers to work together to find defects soon after web components are built. These components can be tested immediately after they are built with Cypress Test Driven Development (TDD) scripts. Thus, defects can be fixed straight away during the development stage. Testing teams do not have to worry about finding these same defects in a later development stage because Cypress tests keep verifying components in the later stages. Defect fixing has become much cheaper with Cypress than when other tools are used. The book also covers Behaviour Driven Development (BDD)-based Gherkin scripts and the Cypress Cucumber preprocessor, which can improve test scenario coverage. Automated Software Testing with Cypress is written to fulfil the BDD and TDD needs of testing teams. Two distinct open source repositories are provided in Github to help start running Cypress tests in no time!