
Software Engineering Design
Theory and Practice
Carlos Otero(Author)
Auerbach (Publisher)
1st Edition
Published on 11. June 2012
Book
Hardback
368 pages
978-1-4398-5168-5 (ISBN)
Description
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:
Offers one-stop guidance for mastering the Software Design & Construction sections of the official Software Engineering Body of Knowledge (SWEBOK (R))
Details a collection of standards and guidelines for structuring high-quality code
Describes techniques for analyzing and evaluating the quality of software designs
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/
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:
Offers one-stop guidance for mastering the Software Design & Construction sections of the official Software Engineering Body of Knowledge (SWEBOK (R))
Details a collection of standards and guidelines for structuring high-quality code
Describes techniques for analyzing and evaluating the quality of software designs
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/
Reviews / Votes
... 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 BooksMore details
Series
Language
English
Place of publication
London
United Kingdom
Publishing group
Taylor & Francis Ltd
Target group
College/higher education
Advanced undergraduate and graduate students in software engineering, along with professional software engineers.
Illustrations
60 s/w Abbildungen, 66 s/w Tabellen
66 Tables, black and white; 60 Illustrations, black and white
Dimensions
Height: 260 mm
Width: 183 mm
Thickness: 24 mm
Weight
890 gr
ISBN-13
978-1-4398-5168-5 (9781439851685)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Additional editions

E-Book
04/2016
1st Edition
Auerbach Publishers Inc.
€116.99
Available for download

E-Book
04/2016
1st Edition
Auerbach Publishers Inc.
€116.99
Available for download
Person
Carlos E. Otero, PhD, is assistant professor in the College of Technology and Innovation at the University of South Florida (USF). Prior to joining USF, Dr. Otero worked as assistant professor of software engineering in the Department of Mathematics and Computer Science at the University of Virginia, College at Wise, where he created the software engineering design course for Virginia's first and (at the time of writing) only EAC/ABET-accredited BS in software engineering.
Prior to his academic career, Dr. Otero spent 11 years in the private industry, where he worked as design and development engineer in a wide variety of military computer systems, including satellite communications systems, command and control systems, wireless security systems, and unmanned aerial vehicle systems. Currently, he continues to consult with industry in the areas of requirements engineering, software systems analysis, design and development, quality assurance, and systems engineering.
Dr. Otero received his BS in computer science, MS in software engineering, MS in systems engineering, and PhD in computer engineering from Florida Institute of Technology in Melbourne. He has published over 35 technical publications in scientific peer-reviewed journals and conferences proceedings. He is a senior member of the Institute of Electrical and Electronics Engineers (IEEE), an active professional member of the Association for Computing Machinery (ACM), and a member of several journal editorial boards in technology and engineering.
Prior to his academic career, Dr. Otero spent 11 years in the private industry, where he worked as design and development engineer in a wide variety of military computer systems, including satellite communications systems, command and control systems, wireless security systems, and unmanned aerial vehicle systems. Currently, he continues to consult with industry in the areas of requirements engineering, software systems analysis, design and development, quality assurance, and systems engineering.
Dr. Otero received his BS in computer science, MS in software engineering, MS in systems engineering, and PhD in computer engineering from Florida Institute of Technology in Melbourne. He has published over 35 technical publications in scientific peer-reviewed journals and conferences proceedings. He is a senior member of the Institute of Electrical and Electronics Engineers (IEEE), an active professional member of the Association for Computing Machinery (ACM), and a member of several journal editorial boards in technology and engineering.
Content
Introduction to Software Engineering Design. Software Design with Unified Modeling Language. 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. Principles of Construction Design. Human-Computer Interface Design. Software Design Management, Leadership, and Ethics.