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!

Software/Hardware Construction

Software/Hardware Construction

Author: Carlos E. (Florida Institute of Technology, Melbourne, Florida, USA) Otero Format: Hardback Release Date: 01/01/2021

This is a book about software engineering, more specifically, software construction. However, unlikesimilar books, the fundamental principle driving this book is the idea that high-quality construction requires understanding of the foundations of computer systems. Therefore, we use an approach that puts software construction concepts in context, using both embedded and PC environments, to engage readers and to make clear why these concepts are important. The book provides sufficient coverage of the hardware underpinnings of computer systems to help develop students in electrical, computer science, and engineering, thus, bridging the gap between hardware and software engineering.

Principles of Software Engineering

Principles of Software Engineering

Author: Scott (Drury University, Springfield, Missouri, USA) Sigman Format: Paperback / softback Release Date: 01/01/2021

This textbook is a product of the author's experience teaching software engineering courses and directing student software development projects for 30 years. Often, students have difficulty connecting textbook content to a practical application. This text addresses this core problem by presenting essential software engineering concepts, while providing a roadmap for students as they undertake software development projects. The first section of the text presents the content; the second section applies this content to a project. Building security into software will also be a theme that runs throughout the book to teach students to develop software that avoids major security pitfalls.

Systems Engineering Principles for Software Engineers

Systems Engineering Principles for Software Engineers

Author: Ray J. (University of Southern California, San Diego, USA) Madachy Format: Hardback Release Date: 01/01/2021

In a world dominated by complex software-intensive systems, it is important for software engineers to take on broader and more informed roles. This book addresses the increasing importance of systems engineering in professional software engineering education and practice. Complex systems bring many disciplines together so software engineers should understand the larger system context and trade space where their critical software functions. The book's holistic and interdisciplinary approach helps educate software engineers with proven quantitative and qualitative systems engineering principles. It shows how to use systems engineering methods based on the technical fundamentals of probability/statistics, decision analysis, modeling and simulation, quantitative methods, and heuristic approaches as well as non-technical considerations of customers and other stakeholders and project and organizational management.

Microservices: Up and Running

Microservices: Up and Running

Author: Ronnie Mitra Format: Paperback / softback Release Date: 31/12/2020

Microservices architectures offer great benefits: faster change speeds, better scalability and cleaner, evolvable architectures. But, implementing your first Microservices architecture to get those rewards is difficult. How do you quickly educate your team on all the technical details of execution to maximize your chances of success? How do you survive the first year of bringing your microservices implementation to life? How do you improve your execution? Making the right implementation decisions is difficult and you don't have the luxury of time to find out if the decisions you are making are the right ones. This book offers a prescriptive guide for building a Microservices architecture to combat that uncertainty. Inside, you will find a step-by-step implementation journey mapped out based on the techniques and architectures that have been proven to work for Microservices systems. This book solves the following problems for users: What does a good microservices project look like? Are the decisions you're making for your project the right ones? How do you come up with a good microservices design that fits your own context as quickly as possible? Where should you spend time thinking/designing and where should you just implement best practices ?

Working Effectively with Legacy Code

Working Effectively with Legacy Code

Author: Michael Feathers Format: Paperback / softback Release Date: 28/12/2020

Software Design

Software Design

Author: David (School of Engineering & Computing Sciences, Durham University, UK) Budgen Format: Paperback / softback Release Date: 17/12/2020

Software Design: Creating Solutions for Ill-Structured Problems, Third Edition provides a balanced view of the many and varied software design practices used by practitioners. The book provides a general overview of software design within the context of software development and as a means of addressing ill-structured problems. The third edition has been expanded and reorganised to focus on the structure and process aspects of software design, including architectural issues, as well as design notations and models. It also describes a variety of different ways of creating design solutions such as plan-driven development, agile approaches, patterns, product lines, and other forms. Features *Includes an overview and review of representation forms used for modelling design solutions *Provides a concise review of design practices and how these relate to ideas about software architecture *Uses an evidence-informed basis for discussing design concepts and when their use is appropriate This book is suitable for undergraduate and graduate students taking courses on software engineering and software design, as well as for software engineers. Author David Budgen is a professor emeritus of software engineering at Durham University. His research interests include evidence-based software engineering (EBSE), software design, and healthcare informatics.

Software Design

Software Design

Software Design: Creating Solutions for Ill-Structured Problems, Third Edition provides a balanced view of the many and varied software design practices used by practitioners. The book provides a general overview of software design within the context of software development and as a means of addressing ill-structured problems. The third edition has been expanded and reorganised to focus on the structure and process aspects of software design, including architectural issues, as well as design notations and models. It also describes a variety of different ways of creating design solutions such as plan-driven development, agile approaches, patterns, product lines, and other forms. Features *Includes an overview and review of representation forms used for modelling design solutions *Provides a concise review of design practices and how these relate to ideas about software architecture *Uses an evidence-informed basis for discussing design concepts and when their use is appropriate This book is suitable for undergraduate and graduate students taking courses on software engineering and software design, as well as for software engineers. Author David Budgen is a professor emeritus of software engineering at Durham University. His research interests include evidence-based software engineering (EBSE), software design, and healthcare informatics.

Software Engineering Practice

Software Engineering Practice

Software Engineering Practice: A Case Study Approach is a broad discussion covering the entire software development lifecycle. It uses a comprehensive case study to address each topic and features the following: A description of the development, by the fictional company Homeowner, of the DigitalHome (DH) System, a system with smart devices for controlling home lighting, temperature, humidity, small appliance power, and security A set of scenarios that provide a realistic framework for use of the DH System material Just-in-time training: each chapter includes mini tutorials introducing various software engineering topics that are discussed in that chapter and used in the case study A set of case study exercises that provide an opportunity to engage students in software development practice, either individually or in a team environment. Offering a new approach to learning about software engineering theory and practice, the text is specifically designed to: Support teaching software engineering, using a comprehensive case study covering the complete software development lifecycle Offer opportunities for students to actively learn about and engage in software engineering practice Provide a realistic environment to study a wide array of software engineering topics including agile development The book supports a student-centered, active learning style of teaching. The DH case study exercises provide a variety of opportunities for students to engage in realistic activities related to the theory and practice of software engineering. The text uses a fictitious team of software engineers to portray the nature of software engineering and to depict what actual engineers do when practicing software engineering. All the DH cases study exercises can be used as team or group exercises in collaborative learning. Many of the exercises have specific goals related to team building and teaming skills. The text also can be used to support professional development or certification of practicing software engineers. The case study exercises can be integrated with presentations in a workshop or short course for professionals.

Integrated Software Reuse

Integrated Software Reuse

Author: Paul Walton Format: Paperback / softback Release Date: 10/12/2020

Published in 1993. Software reuse has been shown to achieve improvements in productivity, quality and timeliness of software. The collection of papers in this book were given at a seminar organized by UNICOM and the British Computer Society Software Reuse Specialist Group. They address the reasons why software reuse can maximize an organization's return from past expenditure and ensure a good future expenditure. Increasing the automation of software development requires access to explicit knowledge about processes and products involved. The chapters examine the relationship between reuse and other aspects of software engineering, including management techniques and structures, CASE, methodologies and object orientation. In addition, the papers aim to provide a structures insight into new techniques which will become available through the 1990s. This text is suitable for software managers and directors, software engineers, software professionals, academics, and other involved in software engineering research.

Micro Frontends in Action

Micro Frontends in Action

Author: Michael Geers Format: Paperback / softback Release Date: 28/11/2020

By adopting the micro frontends approach and designing your web apps as systems of features, you can deliver faster feature development, easier upgrades, and pick and choose the technology you use in your stack. Micro Frontends in Action is your guide to simplifying unwieldy frontends by composing them from small, well-defined units. You'll learn to integrate web applications made up of smaller fragments using tools such as web components or server side includes, how to solve the organizational challenges of micro frontends, and how to create a design system that ensures an end user gets a consistent look and feel for your application. Key Features * Applying integration strategies with iframes, AJAX, server-side includes, web components and the app-shell approach * Optimizing for performance and asset delivery strategies * Designing coherent user interfaces * Migrating to a micro frontends architecture For intermediate web developers, team leaders, and software architects. About the technology The micro frontends approach extends the principles of microservices to frontend development. The application is divided into multiple independent vertical slices-from the database right up to the UI-then integrated using standards such as web components into a single user-facing frontend. Thanks to the smaller scope of a micro frontend, teams can deliver features faster, upgrade more easily, and make their own choices about their technology stack. Michael Geers is a software developer specializing in building user interfaces. He has written software for the web since he was a teenager. In the last few years, he has worked on various customer projects with verticalized architectures. He shares his experiences on this topic at international conferences, in a series of magazine articles, and website.

Distributed Services with Go

Distributed Services with Go

Author: Travis Jeffrey Format: Paperback / softback Release Date: 31/10/2020

You know the basics of Go and are eager to put your knowledge to work. This book is just what you need to apply Go to real-world situations. You'll build a distributed service that's highly available, resilient, and scalable. Along the way you'll master the techniques, tools, and tricks that skilled Go programmers use every day to build quality applications. Level up your Go skills today. Take your Go skills to the next level by learning how to design, develop, and deploy a distributed service. Start from the bare essentials of storage handling, then work your way through networking a client and server, and finally to distributing server instances, deployment, and testing. All this will make coding in your day job or side projects easier, faster, and more fun. Lay out your applications and libraries to be modular and easy to maintain. Build networked, secure clients and servers with gRPC. Monitor your applications with metrics, logs, and traces to make them debuggable and reliable. Test and benchmark your applications to ensure they're correct and fast. Build your own distributed services with service discovery and consensus. Write CLIs to configure your applications. Deploy applications to the cloud with Kubernetes and manage them with your own Kubernetes Operator. Dive into writing Go and join the hundreds of thousands who are using it to build software for the real world. What You Need: Go 1.11 and Kubernetes 1.12.

Human-Computer Interaction

Human-Computer Interaction

Author: Gerard Jounghyun Kim Format: Paperback / softback Release Date: 30/09/2020

Although life continues to become increasingly embedded with interactive computing services that make our lives easier, human-computer interaction (HCI) has not been given the attention it deserves in the education of software developers at the undergraduate level. Most entry-level HCI textbooks are structured around high-level concepts and are not directly tied to the software development process. Filling this need, Human-Computer Interaction: Fundamentals and Practice supplies an accessible introduction to the entire cycle of HCI design and implementation-explaining the core HCI concepts behind each step. Designed around the overall development cycle for an interactive software product, it starts off by covering the fundamentals behind HCI. The text then quickly goes into the application of this knowledge. It covers the forming of HCI requirements, modeling the interaction process, designing the interface, implementing the resulting design, and evaluating the implemented product. Although this textbook is suitable for undergraduate students of computer science and information technology, it is accessible enough to be understood by those with minimal programming knowledge. Supplying readers with a firm foundation in the main HCI principles, the book provides a working knowledge of HCI-oriented software development. The core content of this book is based on the introductory HCI course (advanced junior or senior-level undergraduate) that the author has been teaching at Korea University for the past eight years. The book includes access to PowerPoint lecture slides as well as source code for the example applications used throughout the text.