Saturday, January 25, 2014

Book Review: Software Engineering Architecture-Driven Software Development

Book Title/Product

Software Engineering
Architecture-Driven
Software Development

Author: Richard F. Schmidt                             
Publisher: O’Reilly Media, Inc. | Elsevier
Reviewer/Blogger: Virginia Benedict

Target Audience

Project Managers, Stakeholders, Technical teams, Security Engineers, Students, and anyone interested in how software products are built.

Prerequisites

Keen desire to properly learn about software development methodologies and best practices.

Structure

The work is comprised of three (3) Sections and 20 Chapters, a short Note from the Author, Contents, a Preface, and a well-defined Index comprising a total of Foot Noted 376 pages. The Foot Notes include references to additional reading.

The author does not include a much-needed dedicated Glossary if the work is to embrace a wide audience of professionals and most importantly the beginner student, even though he does provide an integrated version within the Index.

Illustrations and Figures

The topics and concepts are well illustrated






Companion Content

No readily available companion content

Reviewer | Blogger Comments

Review Title


Engineering for Success… Beating the 30% Odds


This manuscript is comprehensive, detailed, well organized, and easy to follow and is an important contribution to the software manufacturing industry.

The content is organized around three major topics following the SWEBoK Key Process Areas methods as depicted in Table 2 presented in the Preface:

SWEBoK Key Process Areas 
  • Fundamentals
  • Practices
  • Application
Knowledge areas such as:
  • Requirements
  • Design
  • Construction
  • Testing
  • Configuration
  • Management
  • Process
  • Methods
  • Quality
Each Knowledge area is treated within respective Sections in various chapters. e.g., Design is addressed in Section 1, Chapters 3, 6 and Section 2 Chapters 10… 14 etc.

Richard Schmidt addresses the topic of Security thoroughly all throughout the book beginning with SECTION 2 SOFTWARE ENGINEERING PRACTICES but to my surprise, not as a knowledge area given the current insurmountably persistent data breach and violation of privacy events due to poorly written software, among other culprits.  I was expecting Schmidt to stress Security in SECTION 1 SOFTWARE ENGINEERING FUNDAMENTALS.

Schmidt attributes the lack of success in software engineering to the ”almost complete misconception of what a software product design is and how to develop a complete design description. The second symptom involves the lack of a standard set of software engineering principles and practices”

I attribute the primary culprit to be the human condition and its lack of self-discipline then misconceptions and lack of standards. 

An important and complex subject matter such as the concepts, methodologies, and standards of software engineering discipline and requirements needs to be addressed from many perspectives.  Especially in a contemporary scenario where Engineering Teams are comprised of members from all walks of life, academic backgrounds, and gene pools.  This means that their natural linguistics ideology can widely differ and this impacts how the product is engineered.  i.e., look and feel, functions and features, how security is implemented in the product, etc. all are dependent on the innate cultural and social ideologies of the code writers, engineers, designers, and architects in this order or precedence.    

Therefore, the importance of works of this genres are imperative and how this complex discipline is treated when it is presented as a learning tool needs to be presented from many perspectives as does our author.

It is important to note that while the work is well organized and elegantly presented, the Contents guide in the eBook is not hyperlinked to the destination chapters. However, the author does present an introduction to each Section and a Chapter outline and introduction in the beginning of each chapter.  While I very much found useful the fact that he enumerated key concepts in the beginning of each chapter, it was distracting to me not to be able to navigate the eBook expediently through a hyperlinked Contents/Topics guide.  I had to resort to scrolling through and/or perform queries in order to review a chapter or segment within chapters.

Nevertheless, I did find useful that in his Preface he instantiated hyperlinks to tables within the preface.  I recommend the reader to pay close attention to this preface since in it Richard Schmidt presents an architectural synopsis of the work, aligned with the Software Engineering Body of Knowledge (SWEBoK) in the form of tables.  In addition, he presents a summary of the Sections and the corresponding chapters.

About the Author

TBP

Quotes

If you have read this manuscript and have some opinion, comments, or praise about this work, please let me know.  Your quotes will be published with full billing


Comments | Opinions | Corrections | Quotes… Welcome