Software Engineering Practice

Software Engineering Practice

Author: Thomas B. Hilburn

Publisher: CRC Press

Published: 2020-12-15

Total Pages: 357

ISBN-13: 1466591684

DOWNLOAD EBOOK

This book 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 Software Engineering Practice: A Case Study Approach 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 case 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 the 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.


Development of Safety-Critical Systems

Development of Safety-Critical Systems

Author: Gopinath Karmakar

Publisher: Springer Nature

Published: 2023-10-09

Total Pages: 373

ISBN-13: 3031279018

DOWNLOAD EBOOK

This book provides professionals and students with practical guidance for the development of safety-critical computer-based systems. It covers important aspects ranging from complying with standards and guidelines to the necessary software development process and tools, and also techniques pertaining to model-based application development platforms as well as qualified programmable controllers. After a general introduction to the book’s topic in chapter 1, chapter 2 discusses dependability aspects of safety systems and how architectural design at the system level helps deal with failures and yet achieves the targeted dependability attributes. Chapter 3 presents the software development process which includes verification and validation at every stage, essential to the development of software for systems performing safety functions. It also explains how the process helps in developing a safety case that can be independently verified and validated. The subsequent chapter 4 presents some important standards and guidelines, which apply to different industries and in different countries. Chapter 5 then discusses the steps towards complying with the standards at every phase of development. It offers a guided tour traversing the path of software qualification by exploring the necessary steps towards achieving the goal with the help of case studies. Chapter 6 highlights the application of formal methods for the development of safety systems software and introduces some available notations and tools which assist the process. Finally, chapter 7 presents a detailed discussion on the importance and the advantages of qualified platforms for safety systems application development, including programmable controller (PLC) and formal model-based development platforms. Each chapter includes case studies illustrating the subject matter. The book is aimed at both practitioners and students interested in the art and science of developing computer-based systems for safety-critical applications. Both audiences will get insights into the tools and techniques along with the latest developments in the design, analysis and qualification, which are constrained by the regulatory and compliance requirements mandated by the applicable guides and standards. It also addresses the needs of professionals and young graduates who specialize in the development of necessary tools and qualified platforms.


Design of Biomedical Devices and Systems, 4th edition

Design of Biomedical Devices and Systems, 4th edition

Author: Paul H. King

Publisher: CRC Press

Published: 2018-10-03

Total Pages: 709

ISBN-13: 0429786050

DOWNLOAD EBOOK

This fourth edition is a substantial revision of a highly regarded text, intended for senior design capstone courses within departments of biomedical engineering, bioengineering, biological engineering and medical engineering, worldwide. Each chapter has been thoroughly updated and revised to reflect the latest developments. New material has been added on entrepreneurship, bioengineering design, clinical trials and CRISPR. Based upon feedback from prior users and reviews, additional and new examples and applications, such as 3D printing have been added to the text. Additional clinical applications were added to enhance the overall relevance of the material presented. Relevant FDA regulations and how they impact the designer’s work have been updated. Features Provides updated material as needed to each chapter Incorporates new examples and applications within each chapter Discusses new material related to entrepreneurship, clinical trials and CRISPR Relates critical new information pertaining to FDA regulations. Presents new material on "discovery" of projects "worth pursuing" and design for health care for low-resource environments Presents multiple case examples of entrepreneurship in this field Addresses multiple safety and ethical concerns for the design of medical devices and processes


Real-Time Systems Design and Analysis

Real-Time Systems Design and Analysis

Author: Phillip A. Laplante

Publisher: John Wiley & Sons

Published: 2011-10-24

Total Pages: 584

ISBN-13: 1118136594

DOWNLOAD EBOOK

The leading text in the field explains step by step how to write software that responds in real time From power plants to medicine to avionics, the world increasingly depends on computer systems that can compute and respond to various excitations in real time. The Fourth Edition of Real-Time Systems Design and Analysis gives software designers the knowledge and the tools needed to create real-time software using a holistic, systems-based approach. The text covers computer architecture and organization, operating systems, software engineering, programming languages, and compiler theory, all from the perspective of real-time systems design. The Fourth Edition of this renowned text brings it thoroughly up to date with the latest technological advances and applications. This fully updated edition includes coverage of the following concepts: Multidisciplinary design challenges Time-triggered architectures Architectural advancements Automatic code generation Peripheral interfacing Life-cycle processes The final chapter of the text offers an expert perspective on the future of real-time systems and their applications. The text is self-contained, enabling instructors and readers to focus on the material that is most important to their needs and interests. Suggestions for additional readings guide readers to more in-depth discussions on each individual topic. In addition, each chapter features exercises ranging from simple to challenging to help readers progressively build and fine-tune their ability to design their own real-time software programs. Now fully up to date with the latest technological advances and applications in the field, Real-Time Systems Design and Analysis remains the top choice for students and software engineers who want to design better and faster real-time systems at minimum cost.


Write Great Code, Volume 3

Write Great Code, Volume 3

Author: Randall Hyde

Publisher: No Starch Press

Published: 2020-09-08

Total Pages: 478

ISBN-13: 1593279817

DOWNLOAD EBOOK

Engineering Software, the third volume in the landmark Write Great Code series by Randall Hyde, helps you create readable and maintainable code that will generate awe from fellow programmers. The field of software engineering may value team productivity over individual growth, but legendary computer scientist Randall Hyde wants to make promising programmers into masters of their craft. To that end, Engineering Software--the latest volume in Hyde's highly regarded Write Great Code series--offers his signature in-depth coverage of everything from development methodologies and strategic productivity to object-oriented design requirements and system documentation. You'll learn: Why following the software craftsmanship model can lead you to do your best work How to utilize traceability to enforce consistency within your documentation The steps for creating your own UML requirements with use-case analysis How to leverage the IEEE documentation standards to create better software This advanced apprenticeship in the skills, attitudes, and ethics of quality software development reveals the right way to apply engineering principles to programming. Hyde will teach you the rules, and show you when to break them. Along the way, he offers illuminating insights into best practices while empowering you to invent new ones. Brimming with resources and packed with examples, Engineering Software is your go-to guide for writing code that will set you apart from your peers.


Lecture Slides for the C++ Programming Language (Version: 2016-01-18)

Lecture Slides for the C++ Programming Language (Version: 2016-01-18)

Author: Michael D. Adams

Publisher: Michael Adams

Published: 2016-01-18

Total Pages: 921

ISBN-13: 1550585835

DOWNLOAD EBOOK

This document constitutes a detailed set of lecture slides on the C++ programming language and is current with the C++14 standard. Many aspects of the language are covered from introductory to more advanced. This material includes: language basics (objects, types, values, operators, expressions, control-flow constructs, functions, and namespaces), classes, templates (function, class, alias, and variable templates; template specialization; and variadic templates), lambda expressions, inheritance and run-time polymorphism, exceptions (exception safety, RAII, and smart pointers), rvalue references (move semantics and perfect forwarding), concurrency (sequential consistency, atomic memory operations, data races; threads, mutexes, condition variables, promises and futures, atomics, and fences; happens-before and synchronizes-with relationships; and sequentially-consistent and other memory models). A number of best practices, tips, and idioms regarding the use of the language are also presented. Some aspects of the C++ standard library are covered, including: containers, iterators, and algorithms; the std::vector and std::basic_string classes; I/O streams; and time measurement. Various general programming-related topics are also presented, such as material on: good programming practices, finite-precision arithmetic, and software documentation.


Handbook of Automated Scoring

Handbook of Automated Scoring

Author: Duanli Yan

Publisher: CRC Press

Published: 2020-02-26

Total Pages: 581

ISBN-13: 1351264796

DOWNLOAD EBOOK

"Automated scoring engines [...] require a careful balancing of the contributions of technology, NLP, psychometrics, artificial intelligence, and the learning sciences. The present handbook is evidence that the theories, methodologies, and underlying technology that surround automated scoring have reached maturity, and that there is a growing acceptance of these technologies among experts and the public." From the Foreword by Alina von Davier, ACTNext Senior Vice President Handbook of Automated Scoring: Theory into Practice provides a scientifically grounded overview of the key research efforts required to move automated scoring systems into operational practice. It examines the field of automated scoring from the viewpoint of related scientific fields serving as its foundation, the latest developments of computational methodologies utilized in automated scoring, and several large-scale real-world applications of automated scoring for complex learning and assessment systems. The book is organized into three parts that cover (1) theoretical foundations, (2) operational methodologies, and (3) practical illustrations, each with a commentary. In addition, the handbook includes an introduction and synthesis chapter as well as a cross-chapter glossary.


SafeScrum® – Agile Development of Safety-Critical Software

SafeScrum® – Agile Development of Safety-Critical Software

Author: Geir Kjetil Hanssen

Publisher: Springer

Published: 2018-11-23

Total Pages: 237

ISBN-13: 3319993348

DOWNLOAD EBOOK

This book addresses the development of safety-critical software and to this end proposes the SafeScrum® methodology. SafeScrum® was inspired by the agile method Scrum, which is extensively used in many areas of the software industry. Scrum is, however, not intended or designed for use with safety-critical systems; hence the authors propose guidelines and additions to make it both practically useful and compliant with the additional requirements found in safety standards. The book provides an overview of agile software development and how it can be linked to safety and relevant safety standards. SafeScrum® is described in detail as a useful approach for reaping the benefits of agile methods, and is intended as a set of ideas and a basis for adaptation in industry projects. The book covers roles, processes and practices, and documentation. It also includes tips on how standard software process tools can be employed. Lastly, some insights into relevant research in this new and emerging field are provided, and selected real-world examples are presented. The ideas and descriptions in this book are based on collaboration with the industry, in the form of discussions with assessment organizations, general discussions within the research fields of safety and software, and last but not least, the authors’ own experiences and ideas. It was mainly written for practitioners in industry who know a great deal about how to produce safety-critical software but less about agile development in general and Scrum in particular.


Lecture Slides for Programming in C++ (Version 2019-02-04)

Lecture Slides for Programming in C++ (Version 2019-02-04)

Author: Michael D. Adams

Publisher: Michael Adams

Published: 2019-02-04

Total Pages: 2538

ISBN-13: 1550586416

DOWNLOAD EBOOK

This document, which consists of approximately 2500 lecture slides, offers a wealth of information on many topics relevant to programming in C++, including coverage of the C++ language itself, the C++ standard library and a variety of other libraries, numerous software tools, and an assortment of other programming-related topics. The coverage of the C++ language and standard library is current with the C++17 standard. C++ PROGRAMMING LANGUAGE. Many aspects of the C++ language are covered from introductory to more advanced. This material includes: the preprocessor, language basics (objects, types, values, operators, expressions, control-flow constructs, functions, and namespaces), classes, templates (function, class, variable, and alias templates, variadic templates, template specialization, and SFINAE), lambda expressions, inheritance (run-time polymorphism and CRTP), exceptions (exception safety and RAII), smart pointers, memory management (new and delete operators and expressions, placement new, and allocators), rvalue references (move semantics and perfect forwarding), concurrency (memory models, and happens-before and synchronizes-with relationships), compile-time computation, and various other topics (e.g., copy elision and initialization). C++ STANDARD LIBRARY AND VARIOUS OTHER LIBRARIES. Various aspects of the C++ standard library are covered including: containers, iterators, algorithms, I/O streams, time measurement, and concurrency support (threads, mutexes, condition variables, promises and futures, atomics, and fences). A number of Boost libraries are discussed, including the Intrusive, Iterator, and Container libraries. The OpenGL library and GLSL are discussed at length, along with several related libraries, including: GLFW, GLUT, and GLM. The CGAL library is also discussed in some detail. SOFTWARE TOOLS. A variety of software tools are discussed, including: static analysis tools (e.g., Clang Tidy and Clang Static Analyzer), code sanitizers (e.g., ASan, LSan, MSan, TSan, and UBSan), debugging and testing tools (e.g., Valgrind, LLVM XRay, and Catch2), performance analysis tools (e.g., Perf, PAPI, Gprof, and Valgrind/Callgrind), build tools (e.g., CMake and Make), version control systems (e.g., Git), code coverage analysis tools (e.g., Gcov, LLVM Cov, and Lcov), online C++ compilers (e.g., Compiler Explorer and C++ Insights), and code completion tools (e.g., YouCompleteMe, and LSP clients/servers).


Applied Cyber-Physical Systems

Applied Cyber-Physical Systems

Author: Sang C. Suh

Publisher: Springer Science & Business Media

Published: 2013-08-13

Total Pages: 257

ISBN-13: 1461473365

DOWNLOAD EBOOK

Applied Cyber-Physical Systems presents the latest methods and technologies in the area of cyber-physical systems including medical and biological applications. Cyber-physical systems (CPS) integrate computing and communication capabilities by monitoring, and controlling the physical systems via embedded hardware and computers. This book brings together unique contributions from renowned experts on cyber-physical systems research and education with applications. It also addresses the major challenges in CPS, and then provides a resolution with various diverse applications as examples. Advanced-level students and researchers focused on computer science, engineering and biomedicine will find this to be a useful secondary text book or reference, as will professionals working in this field.