This book offers a practical approach to understanding, designing, and
building sound software based on solid principles. Using a unique Q&A
format, this book addresses the issues that engineers need to understand
in order to successfully work with software engineers, develop
specifications for quality software, and learn the basics of the most
common programming languages, development approaches, and paradigms. The
new edition is thoroughly updated to improve the pedagogical flow and
emphasize new software engineering processes, practices, and tools that
have emerged in every software engineering area.
Features:
- Defines concepts and processes of software and software development,
such as agile processes, requirements engineering, and software
architecture, design, and construction.
- Uncovers and answers various misconceptions about the software
development process and presents an up-to-date reflection on the state
of practice in the industry.
- Details how non-software engineers can better communicate their needs
to software engineers and more effectively participate in design and
testing to ultimately lower software development and maintenance
costs.
- Helps answer the question: How can I better leverage embedded software
in my design?
- Adds new chapters and sections on software architecture, software
engineering and systems, and software engineering and disruptive
technologies, as well as information on cybersecurity.
- Features new appendices that describe a sample automation system,
covering software requirements, architecture, and design.
This book is aimed at a wide range of engineers across many disciplines
who work with software.