Published June 11, 2012
Textbook - 368 Pages - 60 B/W Illustrations
ISBN 9781439851685 - CAT# K12371
Series: Applied Software Engineering Series
Published April 19, 2016
Textbook - 368 Pages
ISBN 9780429100376 - CAT# KE78873
April 19, 2016
by Auerbach Publications
Textbook - 368 Pages
ISBN 9780429100376 - CAT# KE78873
For Instructors Request Inspection Copy
For Librarians Available on Taylor & Francis eBooks >>
SAVE ~$5.80 on each
Taking a learn-by-doing approach, Software Engineering Design: Theory and Practice uses examples, review questions, chapter exercises, and case study assignments to provide students and practitioners with the understanding required to design complex software systems. Explaining the concepts that are immediately relevant to software designers, it begins with a review of software design fundamentals.
The text presents a formal top-down design process that consists of several design activities with varied levels of detail, including the macro-, micro-, and construction-design levels. As part of the top-down approach, it provides in-depth coverage of applied architectural, creational, structural, and behavioral design patterns. For each design issue covered, it includes a step-by-step breakdown of the execution of the design solution, along with an evaluation, discussion, and justification for using that particular solution.
The book outlines industry-proven software design practices for leading large-scale software design efforts, developing reusable and high-quality software systems, and producing technical and customer-driven design documentation. It also:
Collectively, the text supplies comprehensive coverage of the software design concepts students will need to succeed as professional design leaders. The section on engineering leadership for software designers covers the necessary ethical and leadership skills required of software developers in the public domain. The section on creating software design documents (SDD) familiarizes students with the software design notations, structural descriptions, and behavioral models required for SDDs.
Course notes, exercises with answers, online resources, and an instructor’s manual are available upon qualified course adoption. Instructors can contact the author about these resources via the author's website: http://softwareengineeringdesign.com/
Introduction to Software Engineering Design
Engineering Problem Solving
Thinking about the Problem
Software Engineering Design
Why Study Software Engineering Design?
Reasons for Studying Software Design in Product Development
Reasons for Studying Software Design in Project Management
Software Design Challenges
Design Challenge 1: Requirements Volatility
Design Challenge 2: Process
Design Challenge 3: Technology
Design Challenge 4: Ethical and Professional Practices
Design Challenge 5: Managing Design Influences
Development Organization’s Structure
Context of Software Design
Software Design Process
Human–Computer Interface Design
Software Design Documentation
Software Design Management
Roles of the Software Designer
Software Design Fundamentals
General Software Design Principles
Separation of Interface and Implementation
Completeness and Sufficiency
Practical Software Design Considerations
Design for Minimizing Complexity
Design for Change
Software Design Strategies
Principles of Software Architecture
Patterns and Styles in Software Architecture
Principles of Detailed Design
Creational Design Patterns in Detailed Design
Structural and Behavioral Patterns in Detailed Design
Human–Computer Interface Design; Jacob Somervell
Software Design Management, Leadership, and Ethics; Luis Daniel Otero
… intended for use as a textbook for an advanced course in software design. Each chapter ends with review questions and references. … provides an overview of the software development process, something that would not be out of line in a course on software engineering including such topics as software process, software management, balancing conflicting values of stakeholders, testing, quality, and ethics. The author has principally focused on software design though, extracting the design phase from the surrounding software development lifecycle. … Software design strategies are addressed, including structured, functional, and object oriented design. There’s also a chapter on UML (Unified Modeling Language). UML is a set of design paradigms (and tools) used for design modeling, and examples are provided throughout. … The author also provides coded examples of UML diagrams in C++ and Java. … To sum up, the intent of this book is educational on the topic of software design with emphasis on UML, software patterns and object oriented programming. There is also enough software engineering material that makes this text also appropriate for use in a software engineering, object oriented or software patterns lab course.
—Robert Schaefer, Research Engineer, MIT Haystack Observatory, writing in the New York Journal of Books
|September 28, 2016||Instructor Resources||
To gain access to the instructor resources for this title, please visit the Instructor Resources Download Hub.
You will be prompted to fill out a registration form which will be verified by one of our sales reps.
We provide complimentary e-inspection copies of primary textbooks to instructors considering our books for course adoption.