How to Engineer Software: A Model-Based Approach
eBook Details:
- Hardcover: 1168 pages
- Publisher: WOW! eBook; 1st edition (November 5, 2019)
- Language: English
- ISBN-10: 1119546621
- ISBN-13: 978-1119546627
eBook Description:
How to Engineer Software: A Model-Based Approach: 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: A Model-Based Approach 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:
- Contains many illustrative examples of model-based software engineering, from semantic model all the way to executable code
- Explains how to derive verification (acceptance) test cases from a semantic model
- Describes project estimation, along with alternative software development and maintenance processes
- Shows how to develop and maintain cost-effective software that solves real-world problems
Written for graduate and undergraduate students in software engineering and professionals in the field, How to Engineer Software: A Model-Based Approach offers an introduction to applying the theory of computing with practice and judgment in order to economically develop and maintain software.