A guide to the application of the theory and practice of computing to develop and maintain software that economically solves real-world problem
How to Engineer Software is a practical, how-to guide that explores the concepts and techniques of model-based software engineering using the Unified Modeling Language. The author--a noted expert on the topic--demonstrates how software can be developed and maintained under a true engineering discipline. He describes the relevant software engineering practices that are grounded in Computer Science and Discrete Mathematics.
Model-based software engineering uses semantic modeling to reveal as many precise requirements as possible. This approach separates business complexities from technology complexities, and gives developers the most freedom in finding optimal designs and code. The book promotes development scalability through domain partitioning and subdomain partitioning. It also explores software documentation that specifically and intentionally adds value for development and maintenance. This important book:
Written for graduate and undergraduate students in software engineering and professionals in the field, How to Engineer Software offers an introduction to applying the theory of computing with practice and judgment in order to economically develop and maintain software.
STEVE TOCKEY is Principal Consultant at Construx. Steve is an expert in software engineering practices including object-oriented development, distributed object computing, software project management, and software quality. He earned a Masters of Software Engineering degree from Seattle University and has served as an adjunct faculty member for the program. Prior to joining Construx, Tockey worked at Lawrence Livermore National Laboratory, Boeing, and Rockwell Collins.
✍️ my journey as entrepreneurial eng 🎯: ⛷ in AM & 👨🏻💻 in PM Building👷♂️: 10k MRR indie biz Built🙌: workflow system for MNC. Process over 1bn revenue
@asmartbear @cheerfulpaige @adamrochette I am persuaded by Steve Tockey's book How to Engineer Software that it can be. Like you, I am less sure it "should" be. Slightly more sure that it's more useful to learn "when it should be" or "when it should not be" And now I'm stepping into meta territory 🤷🏻♂️