Software Engineering in C

Software Engineering in C
Author: Peter A. Darnell
Publisher: Springer Science & Business Media
Total Pages: 633
Release: 2012-12-06
Genre: Computers
ISBN: 1468403087

The author starts with the premise that C is an excellent language for software engineering projects. The book con- centrates on programming style,particularly readability, maintainability, and portability. Documents the proposed ANSI Standard, which is expected to be ratified in 1987. This book is designed as a text for both beginner and inter- mediate-level programmers.

Modern C++ Design

Modern C++ Design
Author: Andrei Alexandrescu
Publisher: Addison-Wesley Professional
Total Pages: 352
Release: 2001
Genre: Computers
ISBN: 9780201704310

This title documents a convergence of programming techniques - generic programming, template metaprogramming, object-oriented programming and design patterns. It describes the C++ techniques used in generic programming and implements a number of industrial strength components.

Software Architecture with C++

Software Architecture with C++
Author: Adrian Ostrowski
Publisher: Packt Publishing Ltd
Total Pages: 522
Release: 2021-04-23
Genre: Computers
ISBN: 1789612462

Apply business requirements to IT infrastructure and deliver a high-quality product by understanding architectures such as microservices, DevOps, and cloud-native using modern C++ standards and features Key FeaturesDesign scalable large-scale applications with the C++ programming languageArchitect software solutions in a cloud-based environment with continuous integration and continuous delivery (CI/CD)Achieve architectural goals by leveraging design patterns, language features, and useful toolsBook Description Software architecture refers to the high-level design of complex applications. It is evolving just like the languages we use, but there are architectural concepts and patterns that you can learn to write high-performance apps in a high-level language without sacrificing readability and maintainability. If you're working with modern C++, this practical guide will help you put your knowledge to work and design distributed, large-scale apps. You'll start by getting up to speed with architectural concepts, including established patterns and rising trends, then move on to understanding what software architecture actually is and start exploring its components. Next, you'll discover the design concepts involved in application architecture and the patterns in software development, before going on to learn how to build, package, integrate, and deploy your components. In the concluding chapters, you'll explore different architectural qualities, such as maintainability, reusability, testability, performance, scalability, and security. Finally, you will get an overview of distributed systems, such as service-oriented architecture, microservices, and cloud-native, and understand how to apply them in application development. By the end of this book, you'll be able to build distributed services using modern C++ and associated tools to deliver solutions as per your clients' requirements. What you will learnUnderstand how to apply the principles of software architectureApply design patterns and best practices to meet your architectural goalsWrite elegant, safe, and performant code using the latest C++ featuresBuild applications that are easy to maintain and deployExplore the different architectural approaches and learn to apply them as per your requirementSimplify development and operations using application containersDiscover various techniques to solve common problems in software design and developmentWho this book is for This software architecture C++ programming book is for experienced C++ developers looking to become software architects or develop enterprise-grade applications.

Embedded Software Development with C

Embedded Software Development with C
Author: Kai Qian
Publisher: Springer Science & Business Media
Total Pages: 397
Release: 2009-07-28
Genre: Computers
ISBN: 1441906061

Embedded Software Development With C offers both an effectual reference for professionals and researchers, and a valuable learning tool for students by laying the groundwork for a solid foundation in the hardware and software aspects of embedded systems development. Key features include a resource for the fundamentals of embedded systems design and development with an emphasis on software, an exploration of the 8051 microcontroller as it pertains to embedded systems, comprehensive tutorial materials for instructors to provide students with labs of varying lengths and levels of difficulty, and supporting website including all sample codes, software tools and links to additional online references.

Design Patterns for Embedded Systems in C

Design Patterns for Embedded Systems in C
Author: Bruce Powel Douglass
Publisher: Elsevier
Total Pages: 471
Release: 2010-11-03
Genre: Computers
ISBN: 0080959717

A recent survey stated that 52% of embedded projects are late by 4-5 months. This book can help get those projects in on-time with design patterns. The author carefully takes into account the special concerns found in designing and developing embedded applications specifically concurrency, communication, speed, and memory usage. Patterns are given in UML (Unified Modeling Language) with examples including ANSI C for direct and practical application to C code. A basic C knowledge is a prerequisite for the book while UML notation and terminology is included. General C programming books do not include discussion of the contraints found within embedded system design. The practical examples give the reader an understanding of the use of UML and OO (Object Oriented) designs in a resource-limited environment. Also included are two chapters on state machines. The beauty of this book is that it can help you today. . - Design Patterns within these pages are immediately applicable to your project - Addresses embedded system design concerns such as concurrency, communication, and memory usage - Examples contain ANSI C for ease of use with C programming code

Design Patterns in Modern C++

Design Patterns in Modern C++
Author: Dmitri Nesteruk
Publisher: Apress
Total Pages: 312
Release: 2018-04-18
Genre: Computers
ISBN: 1484236033

Apply modern C++17 to the implementations of classic design patterns. As well as covering traditional design patterns, this book fleshes out new patterns and approaches that will be useful to C++ developers. The author presents concepts as a fun investigation of how problems can be solved in different ways, along the way using varying degrees of technical sophistication and explaining different sorts of trade-offs. Design Patterns in Modern C++ also provides a technology demo for modern C++, showcasing how some of its latest features (e.g., coroutines) make difficult problems a lot easier to solve. The examples in this book are all suitable for putting into production, with only a few simplifications made in order to aid readability. What You Will Learn Apply design patterns to modern C++ programming Use creational patterns of builder, factories, prototype and singleton Implement structural patterns such as adapter, bridge, decorator, facade and more Work with the behavioral patterns such as chain of responsibility, command, iterator, mediator and more Apply functional design patterns such as Monad and more Who This Book Is For Those with at least some prior programming experience, especially in C++.

Software Development in C

Software Development in C
Author: David Conger
Publisher:
Total Pages: 0
Release: 2003
Genre: C
ISBN: 9780133701722

- Focus on the C programming language - A powerful and popular tool for developing professional software, enables students to easily advance in their careers. - Microsoft Visual C++ - Included with the text, allows students to build their C programs using this valuable accompanying CD ROM. - Hands-on demonstrations - Incorporated in almost all chapters; include a stated objective, an experiment, its results, and an analysis of the activity, its results, and what those results teach, enables students to gain valuable hands-on experience, crucial to understanding the C program. - Review questions and 25 exercises - Included in each chapter, teaches students how to write programs that solve problems in math, physics, electronics, etc. - Tips, warnings (traps), and technical notes - Copiously contained in each chapter gives students important information that is necessary to develop their skills. - Chapter Glossaries, provide students with an easy-to-find reference tool for each chapter. - Instructors Supplements - Include an Instructors Manual and PowerPoints, provides instructors with valuable support in forming their course curriculum.

A Philosophy of Software Design

A Philosophy of Software Design
Author: John K. Ousterhout
Publisher:
Total Pages: 0
Release: 2021
Genre: Computer programs
ISBN: 9781732102217

"This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly and cheaply."--Amazon.

Software Design X-Rays

Software Design X-Rays
Author: Adam Tornhill
Publisher: Pragmatic Bookshelf
Total Pages: 356
Release: 2018-03-08
Genre: Computers
ISBN: 1680505807

Are you working on a codebase where cost overruns, death marches, and heroic fights with legacy code monsters are the norm? Battle these adversaries with novel ways to identify and prioritize technical debt, based on behavioral data from how developers work with code. And that's just for starters. Because good code involves social design, as well as technical design, you can find surprising dependencies between people and code to resolve coordination bottlenecks among teams. Best of all, the techniques build on behavioral data that you already have: your version-control system. Join the fight for better code! Use statistics and data science to uncover both problematic code and the behavioral patterns of the developers who build your software. This combination gives you insights you can't get from the code alone. Use these insights to prioritize refactoring needs, measure their effect, find implicit dependencies between different modules, and automatically create knowledge maps of your system based on actual code contributions. In a radical, much-needed change from common practice, guide organizational decisions with objective data by measuring how well your development teams align with the software architecture. Discover a comprehensive set of practical analysis techniques based on version-control data, where each point is illustrated with a case study from a real-world codebase. Because the techniques are language neutral, you can apply them to your own code no matter what programming language you use. Guide organizational decisions with objective data by measuring how well your development teams align with the software architecture. Apply research findings from social psychology to software development, ensuring you get the tools you need to coach your organization towards better code. If you're an experienced programmer, software architect, or technical manager, you'll get a new perspective that will change how you work with code. What You Need: You don't have to install anything to follow along in the book. TThe case studies in the book use well-known open source projects hosted on GitHub. You'll use CodeScene, a free software analysis tool for open source projects, for the case studies. We also discuss alternative tooling options where they exist.