Book description
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.
Table of contents
- Cover Page
- Title Page
- Copyright Page
- About the Author
- About the Technical Reviewer
- BRIEF CONTENTS
- CONTENTS IN DETAIL
- ACKNOWLEDGMENTS
- INTRODUCTION
- PART I: PERSONAL SOFTWARE ENGINEERING
- 1 SOFTWARE DEVELOPMENT METAPHORS
-
2 PRODUCTIVITY
- 2.1 What Is Productivity?
- 2.2 Programmer Productivity vs. Team Productivity
- 2.3 Man-Hours and Real Time
- 2.4 Conceptual and Scope Complexity
- 2.5 Predicting Productivity
- 2.6 Metrics and Why We Need Them
- 2.7 How Do We Beat 10 Lines per Day?
- 2.8 Estimating Development Time
- 2.9 Crisis Mode Project Management
- 2.10 How to Be More Productive
- 2.11 For More Information
- 3 SOFTWARE DEVELOPMENT MODELS
- PART II: UML
- 4 AN INTRODUCTION TO UML AND USE CASES
- 5 UML ACTIVITY DIAGRAMS
- 6 UML CLASS DIAGRAMS
- 7 UML INTERACTION DIAGRAMS
- 8 MISCELLANEOUS UML DIAGRAMS
- PART III: DOCUMENTATION
- 9 SYSTEM DOCUMENTATION
-
10 REQUIREMENTS DOCUMENTATION
- 10.1 Requirement Origins and Traceability
- 10.2 Design Goals
- 10.3 The System Requirements Specification Document
- 10.4 The Software Requirements Specification Document
- 10.5 Creating Requirements
- 10.6 Use Cases
- 10.7 Creating DAQ Software Requirements from the Use Cases
- 10.8 (Selected) DAQ Software Requirements (from SRS)
- 10.9 Updating the Traceability Matrix with Requirement Information
- 10.10 For More Information
-
11 SOFTWARE DESIGN DESCRIPTION DOCUMENTATION
- 11.1 IEEE Std 1016-1998 vs. IEEE Std 1016-2009
- 11.2 IEEE 1016-2009 Conceptual Model
- 11.3 SDD Required Contents
- 11.4 SDD Traceability and Tags
- 11.5 A Suggested SDD Outline
- 11.6 A Sample SDD
- 11.7 Updating the Traceability Matrix with Design Information
- 11.8 Creating a Software Design
- 11.9 For More Information
-
12 SOFTWARE TEST DOCUMENTATION
- 12.1 The Software Test Documents in Std 829
- 12.2 Test Plans
- 12.3 Software Review List Documentation
- 12.4 Software Test Case Documentation
- 12.5 Software Test Procedure Documentation
- 12.6 Level Test Logs
- 12.7 Anomaly Reports
- 12.8 Test Reports
- 12.9 Do You Really Need All of This?
- 12.10 For More Information
- AFTERWORD: DESIGNING GREAT CODE
- GLOSSARY
- INDEX
- Footnotes
Product information
- Title: Write Great Code, Volume 3
- Author(s):
- Release date: August 2020
- Publisher(s): No Starch Press
- ISBN: 9781593279790
You might also like
book
Write Great Code, Volume 2, 2nd Edition
Today’s programming languages offer productivity and portability, but also make it easy to write sloppy code …
book
Strange Code
Strengthen your overall coding skills by exploring the wonderful, wild, and often weird world of esoteric …
book
Write Great Code, Volume 1, 2nd Edition
This, the first volume in Randall Hyde’s Write Great Code series, dives into machine organization without …
article
Use Github Copilot for Prompt Engineering
Using GitHub Copilot can feel like magic. The tool automatically fills out entire blocks of code--but …