Hello, World! You’re reading the first issue of The Software Practitioner’s Digest, covering resources published during October 2011.
The October issue of Computer features articles on Software Engineering and how it meets other fields.
Manfred Broy explains the importance of theory in software development and why it is often not applied in practice.
In this thought-provoking and controversial article, David Parnas explains why software development should — but hasn’t yet — become an engineering discipline and mentions key impediments that need to be overcome for this to happen.
Brian Fitzgerald discusses the best practices commonly leveraged by FLOSS projects and highlights ideas which could be borrowed by the broader software development community, while also considering inherent limitations and common shortcomings in this environment like the lack of feedback on design issues.
The author starts by claiming that FLOSS advocates consider this model a “silver bullet”, but provides no references to support such claims, and that made me read the rest of the article with caution. This was unfortunate as the rest of the article was fairly objective and based on sound research.
This is a very good overview of Service-Oriented Software Engineering and Cloud Computing. The authors, Stephen Yau and Ho An, also identify seven challenges in these paradigms and discuss approaches to deal with them.
I was confused by the term “Service-Oriented Software Engineering” as it sounded like what I knew as “Component-Base Software Engineering”. A paper from EUROMICRO 2007 was the only document I could find that explains the difference: Put simply (and inaccurately), both are paradigms for building software that consume services provided by independent and external applications, but in SOSE your software determines which external applications to use at runtime (among the ones proving the services it needs), while in CBSE the services to be used are bound during construction. The two paradigms can be combined as they’re not mutually exclusive.
SESO and CBSE are indeed not that different and much of this Computer magazine article also applies to CBSE.
- Software Engineering by Ian Sommerville has a chapter dedicated to CBSE. I think this is a very good introduction to the subject.
- Developing Cloud Business Models: A Case Study on Cloud Gaming by Arto Ojala and Pasi Tyrväinen. This article, published in the July issue of IEEE Software, explores Cloud Computing from a business perspective.
In this article, Mark Harman talks about successful applications of Evolutionary Computation and Search-based Software Engineering in general. I think the introduction to the subject isn’t very good and it’s fair to say that the author assumed prior knowledge.
- Search Based Software Engineering: Introduction to the Special Issue of the IEEE Transactions on Software Engineering. This is a better introduction to the subject, for those who are not familiar with it. It was co-authored by the same person who wrote this article in Computer.
The theme of the September/October issue of IEEE Software was games development, which means that a group of articles were related to this.
This is the last of the two-part series by Frank Buschmann, covering three key techniques to improving an existing system’s architecture: Refactoring, Reengineering and Rewriting. This definitely is a must-read for software developers.
Darja Smite and Claes Wohlin present their findings in the process of transferring the development of a software product from one team to another, from their studies on offshore transfers at Ericsson, including the circumstances in which transfers should ideally be made.
It’s a wrap!
After going through the time-consuming and exhausting process of moving home a few weeks ago, I wasn’t intending on starting this digest in November given that I couldn’t read a third of the sources I follow in the past month. But then I felt motivated by the articles published in Computer, which address the very reason why I am doing this. I just couldn’t let them slip by.
Future issues of The Software Practitioner’s Digest will not be limited to articles from IEEE-CS magazines and will cover different aspects of software development in addition to construction-related ones, like HCI and business considerations.