Software Engineering by Ian Sommerville

Software Engineering by Ian Sommerville

No hay texto alternativo para esta imagen

Hard to say what this book exactly is about, because ... is actually about everything (related to software engineering :) ) That's why I only picked up some few chapters to look more closely and to share snapshots from them.

The book is nevertheless an all-in- one compedium (so, no conceptual, critical, essay or whitepapers collection) and, in my view, should not miss from any engineer's library.

The big 8 on the cover, stands for the 8th Edition, in the meantime the handbook reached its 10th edition, but is actually the 8th one which is referred by the IEC61508 2nd Edition. Let me start with the "appealing" chapters, the ones I picked-up for my review here: critical systems, formal specification, then most of development ones, meaning, software reuse, component-based software egineering, critical systems development and software evolution, and lastly, the management (and cost-related ones), software cost estimation and quality management.

No hay texto alternativo para esta imagen

It was interesting to see authors view on how dependability is defined, as "sitting" on four pillars: availability (ability of a system to deliver services when requested), reliability (ability to deliver as specified), safety (operation without "catastrophic" failure) and security (ability to be protected against accidental or deliberate intrusion). Another reason to persuade you to read this chapter, was to find out the difference between safety-critical and mission-critical systems (is not one and the same!!). First interesting stuff I wanted to share here, is about reliability metrics (picture here above). Those are taken over from hardware reliability field and therefore should be carefully applied to software, considering the type of system and use case where software will be deployed.

No hay texto alternativo para esta imagen

The Formal specifications has also many take-aways, indeed very insightful and interesting, but to me, the one to the right here, called my attention: compare between software development costs, with and without formal specification.

Chapter 18, Software reuse, is definitely one worth-reading, not only because of the technical insights, but mainly because it brings closer one to the other, technical to business related aspects. Below a snapshot of the main approaches for software reuse (same chapter mentions also about main benefits and problems related to it)

No hay texto alternativo para esta imagen
No hay texto alternativo para esta imagen

Chapter 20, Critical systems development, another one highly tempting, is about development methods for critical systems. To the left is the (widely known) graphical dependency between cost of removal of detected errors and their number. Along with that, the text contains also seven key engineering practices to cope with errors in dependent software. You'll also find in this chapter explanations and background information on some of the architectural requirements from IEC61508, like forward/backward error recovery, or N-version programming, or recovery blocks.

No hay texto alternativo para esta imagen

Software evolution chapter diagrams is especially attractive due to many eye-catching diagrams, pies, charts, about cost distribution and cost evolution. Here to the left, an overview of the maintenance distribution effort (maintanance being known as the most "expensive" phase of software lifecycle), along with some contributing factors.

No hay texto alternativo para esta imagen

Some industry-proven maintenance predictions (here to the right) should be appealing too, since (as author says) "managers hate surprises".

No hay texto alternativo para esta imagen

Chapter 26 goes even deeper into exploring software costs and deals with software productivity metrics and cost estimation techniques (among them, the famous COCOMO model).

The last snapshot I have (here below) is about software metrics. I found really exciting this overveiw of them, to the left for the software as a product, to the right, object-oriented metrics.

No hay texto alternativo para esta imagen

To conclude, I want to emphasize once again on the personality of Ian Sommerville, as a professor, software reasearcher and thinker, and, interestingly, also author of an open letter to NHS (some many years ago) to call for an independent audit of NHS IT Systems, following one of the worlds' largest government investment programs.

Yogesh Zambare

Delivery Manager at Wipro specializing in Embedded Software Systems, Functional Safety and building high performance teams.

4 年

Wonderfully Written! Thanks for pointers Bogdan. Can you suggest/write a review for book which suggest Architectural Design aspects of SW focusing Functional Safety (26262/61508 etc.)?

Richard Riehle, PhD

Software Engineeing Consultant at RDR Software

4 年

I am currently using it for my class in advanced software engineering .

要查看或添加评论,请登录

Bogdan Gradinaru的更多文章

  • How I cracked my Comptia Security+

    How I cracked my Comptia Security+

    After weeks of hard work and studying, I managed to pass #comptia #securityplus certification. It is indeed an entry…

    4 条评论
  • Safeware - by Nancy Leveson

    Safeware - by Nancy Leveson

    This is a groundwork and on of the most comprehensive books published in the last decades about system safety…

    7 条评论
  • Software Reliability - Principles and practices by Glenford Myers

    Software Reliability - Principles and practices by Glenford Myers

    Style of this book is similar to another one, by the same author, Glenford Myers, also reviewed some while ago in this…

    3 条评论
  • The Mythical Man-Month by Fred Brooks

    The Mythical Man-Month by Fred Brooks

    This book is essentially not about any safety or quality standard, nor is quoted in IEC61508, but is about project…

    5 条评论
  • Safety critical systems

    Safety critical systems

    The book I plan to shortly review now is not quoted or referred by the IEC61508 nowhere, but there are instead plenty…

    4 条评论
  • Software Reuse and Reverse engineering in practice

    Software Reuse and Reverse engineering in practice

    The book is mentioned only once as a reference for one single technique from IEC61508, part 7 (Overview of techniques…

    4 条评论
  • The Art of Software Testing by Glenford Myers

    The Art of Software Testing by Glenford Myers

    Why this book and does it have special? This is a book which every test manager should keep under his pillow. In a…

    1 条评论
  • Software design for Real-time Systems by J.E. Cooling

    Software design for Real-time Systems by J.E. Cooling

    Why this book and does it have special? This book is actually a forerunner of Software Engineering for Real-Time…

    12 条评论
  • Safety for driverless industrial trucks

    Safety for driverless industrial trucks

    Technology, as well as process and environment requirements, for self-driving industrial trucks, so called AGVs, are…

    5 条评论
  • Safety for robotics

    Safety for robotics

    Reading about robots and "cobots", and how the former evolved into the latter, or what both of them have to do with…

    1 条评论

社区洞察

其他会员也浏览了