

Buy anything from 5,000+ international stores. One checkout price. No surprise fees. Join 2M+ shoppers on Desertcart.
Desertcart purchases this item on your behalf and handles shipping, customs, and support to Mexico.
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ยฎ) 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/ Review: Excellent - Excellent book. The book came brand new like the seller has advertised. The item have also arrived on time. I am happy with the pruchase. the price was also good. Review: Badly communicated content, obfuscating writing style - Let me preface my complaints about this book by saying that I'm a university senior who on average reads between 10,000 to 40,000 words of fairly dense, dry and abstract computer science material per day. This estimate is independent of the news, blogs, and internet content I also read every day. I devour text and am quite good at processing, internalizing, and retaining the information contained in it. The writing style of this book badly obfuscates the topic unless you already know the material. Many of the author's term definitions use the term as part of the definition. In other cases, explanations of concepts are hand-waved away with out-of-context jargon. For instance: "Whereas generalization allows classes to inherit a parent's class interface and behavior, realization allows classes to inherit the interface." This is a sentence in which I understand the meaning of each individual word quite well. However it's strung together in a way that doesn't explain any functional distinction between the term "generalization" and "realization". Unfortunately, no further explanation follows this sentence. It's very frustrating to have to read this book with a Google tab open, searching for the actual definitions or examples of these non-intuitive concepts. I've read more IBM InfoCenter Software Architecture online documentation than I ever thought I would as a result of trying to work through the Otero book. The review questions are not fully answerable without significant outside research. I don't believe this was the author's intention or a clever ploy to encourage the reader to seek supplementary material; it seems more a symptom of lazy writing. An expert veteran of software design will probably not notice these problems with the writing style, but to those trying to learn the material from the ground up in absence of help or perhaps an explanation by the author himself will find that this book hides a lot of information in its attempt to explain. It feels like lazy academic writing aimed at other academics who will casually skim its contents it in order to congratulate the author on getting a book published and used in universities.
| Best Sellers Rank | #1,609,566 in Books ( See Top 100 in Books ) #39 in UML Language #198 in Engineering Design #455 in Object-Oriented Design |
| Customer Reviews | 3.6 out of 5 stars 13 Reviews |
S**N
Excellent
Excellent book. The book came brand new like the seller has advertised. The item have also arrived on time. I am happy with the pruchase. the price was also good.
J**D
Badly communicated content, obfuscating writing style
Let me preface my complaints about this book by saying that I'm a university senior who on average reads between 10,000 to 40,000 words of fairly dense, dry and abstract computer science material per day. This estimate is independent of the news, blogs, and internet content I also read every day. I devour text and am quite good at processing, internalizing, and retaining the information contained in it. The writing style of this book badly obfuscates the topic unless you already know the material. Many of the author's term definitions use the term as part of the definition. In other cases, explanations of concepts are hand-waved away with out-of-context jargon. For instance: "Whereas generalization allows classes to inherit a parent's class interface and behavior, realization allows classes to inherit the interface." This is a sentence in which I understand the meaning of each individual word quite well. However it's strung together in a way that doesn't explain any functional distinction between the term "generalization" and "realization". Unfortunately, no further explanation follows this sentence. It's very frustrating to have to read this book with a Google tab open, searching for the actual definitions or examples of these non-intuitive concepts. I've read more IBM InfoCenter Software Architecture online documentation than I ever thought I would as a result of trying to work through the Otero book. The review questions are not fully answerable without significant outside research. I don't believe this was the author's intention or a clever ploy to encourage the reader to seek supplementary material; it seems more a symptom of lazy writing. An expert veteran of software design will probably not notice these problems with the writing style, but to those trying to learn the material from the ground up in absence of help or perhaps an explanation by the author himself will find that this book hides a lot of information in its attempt to explain. It feels like lazy academic writing aimed at other academics who will casually skim its contents it in order to congratulate the author on getting a book published and used in universities.
R**T
I would recommend this book
This book is used for graduate level software design courses at a state university. Very well organized and well written.
S**R
Damaged Hardcover and Revised Figures Slipped into Book
Book arrived with stains on the cover in addition to it being damaged. Furthermore, this textbook has revised figures and tables printed on computer paper, stapled together, and thrown in the front of the book. If this wasn't required for class, I would demand a refund for both the quality of the item shipped to me and the shameless revision methodology. The book is from 2012, if it needs revision rhen revise it, don't sell me a textbook with loose paper tables I have to keep track of to reference. Classic US education materials. Ridiculous sad and pathetic.
X**O
Practical approach to software engineering
I am currently taking a course in Software Engineering. The recommended textbook for that class lacks many of the useful portions of this book. I wish this book was required for that class. It goes in depth into UML diagrams and the importance of design patterns, among other topics, that are not covered by my course's textbook. It takes a very practical approach to design instead of just mentioning concepts and theory. The concepts explained in the book are consistent with the IEEE definitions and, most of the time, snippets from those papers appear in the book.
M**D
Very Difficult to Follow/Understand
I agree with Mr. Edward's review. This textbook (written by the instructor of the course I'm in) is terrible. It is put together very poorly. He does, in fact, use the term in the definition a lot. His other explanations are very confusing and don't bring to light his point. I'll provide another example of poorly explained material. A chart on page 15 of the book 'explains' phases. You can see this through the free preview of the book through this site. Requirements [phase] Initial stage in the software development life cycle where requirements are elicited, analyzed, specified, and validated Design [phase] The requirement's specification is used to create the software design, which include its architecture and detailed design Construction [phase] Relies on the requirements' specification, the software architecture, and detailed design to implement the solution using a programming language; a great deal of design can also occur at this phase Test [phase] Ensures that the software behaves correctly and that it meets the specified requirements Maintenance [phase] Modifies software after delivery to correct faults, improve performance, or adapt it for a different environment.
A**8
Great book that explains how to apply design patterns to your software
This is a great book that really details the process of software design. The book consists of enough theory to let you know how everything works but really focuses on the hands on approach and engages the reader by allowing you to create your own patterns along side the book. The exercises can be challenging at times but you walk away with a full understanding of how the design patterns work and are able to apply them in a breeze in some more difficult projects. We used this book in my Software Design course and this was one of my favorite classes. Lots of hands on experience and learned more because I was able to get my hands dirty and apply the patters in real situations. It is an excellent book for anyone who wants to lean about software design and I recommend it to anyone who needs or wants to further their knowledge about software design as well as portability, maintainability, and reusability.
F**N
Effective Software Design Book
I am currently using this book in my software design course. As industry practitioner, I can tell you that the material covered in this book is very practical and useful. It is evident that the author has spent time in industry. The concept of patterns is usually presented in a dry manner. This books uses examples that helps as much as possible to understand the material. For example, the presentation of the Composite patterns as a message builder in chapter 7 is something I've used after I learned from the book. The book is not without flaws... it could expand more on all of the topics, however, it does compiles together numerous important topics in architecture, detailed design, management, HCI, etc. that each could be a book by itself. Overall, when compared with other irrelevant CS books, this ones is by far more usable in practice. I'll give it 4 stars because it could be improved.
Trustpilot
2 months ago
2 months ago