Upgrade, Vol. IV, issue 4, August 2003
Upgrade: Home Page
Upgrade: Editorial Information
Upgrade: Schedule
Upgrade: News
Upgrade: Latest Issue
Upgrade: Past Issues
Contact Upgrade
Upgrade: Search Page
Upgrade, the European Online Magazine for the  IT Professional
Interested in subscribing to our Newslist? Click here
Next issue (October 2003)
e-Learning - Borderless Education 
Upgrade, Vol. IV, issue no.4: cover page by Antonio Crespo Foix, © ATI 2003
Vol. IV, issue no. 4,
August 2003

Software Engineering - State of an Art 

 Published on behalf of CEPIS
by Novática (ATI, Spain)

Contents
Editions in other languages

Guest Editor:
Luis Fernández-Sanz

Contents
Editions in other languages
  • Italian, by Tecnoteca / ALSI (summary, abstracts, presentation and some articles online.) 
  • Spanish, by Novática (full edition printed; summary, abstracts and presentation online.) 

Acrobat Reader is required to display PDF files

CEPIS (Council of European Professional Informatics Societies) promotes Upgrade

Novática, journal and magazine of ATI (Spain), publishes Upgrade

ALSI (Italy) promotes the Italian edition of Upgrade

Tecnoteca (Italy) promotes the Italian edition of Upgrade

SI (Swiss Informaticians Society) cooperates with Upgrade

EUCIP: European Certification of Informatics Professionals
 

Website hosted by
Tiscali, leading European Internet and telecommunications service provider

 



Software Engineering - State of an Art
Guest Editor: Luis Fernández-Sanz

Presentation
Software Engineering. A Dream Coming True? [HTML] [PDF: 3 pages, 269 KB]
(includes a list of Useful References for those interested in knowing more about matters related to "Software Engineering").
Luis Fernández-Sanz - Guest Editor
Abstract: The guest editor presents the August 2003 issue de Upgrade, that focuses on a really broad field like Software Engineering (SE) which has been driving the evolution of software development since the late sixties of the past century. The papers cover different areas of interest related to the application of engineering principles to software development and maintenance. As usual, a list of useful references is also included for those interested in knowing more about this subject.

Software Project Management. Adding Stakeholder Metrics to Agile Projects [PDF: 5 pages, 370 KB]
Tom Gilb
Abstract: Agile methods need to include stakeholder metrics in order to ensure that projects focus better on the critical requirements, and that projects are better able to measure their achievements, and to adapt to feedback. This paper presents a short, simple defined process for Evolutionary project management (Evo), and discusses its key features.

Model-Driven Development and UML 2.0. The End of Programming as We Know It? [PDF: 5 pages, 350 KB]
Morgan Björkander
Abstract: In this paper, one of the promises of Software Engineering is addressed: model-driven development, letting developers to work on the higher and more abstract level of software models. The contribution of UML 2.0 (Unified Modeling Language) is presented and the implications for solving the challenges of tool support and daily problems of software projects are also analysed.

Component-Based Software Engineering [PDF: 6 pages, 269 KB]
Alejandra Cechich and Mario Piattini-Velthuis
Abstract: As Component-Based Software Development (CBSD) starts to be used effectively, building systems requires new methodologies and processes not only for development and maintenance, but also for other lifecycle phases that are strongly affected. For example, some software vendors have begun to successfully sell and license commercial off-the-shelf (COTS) components, and this fact leads to a considerable number of components being available for use. Thus, requirements engineering techniques have to change to deal with more flexible requirements to provide a match between stakeholder requirements and COTS component’s services. In addition to changes in activities such as composition and component specification, that are specific to Component-Based Software Engineering (CBSE), there are also a number of managerial issues that require change. Many of these issues are not yet established in practice or even developed. The main goal of this article is to present some characteristics of a CBSD and discuss some of the current issues associated with applying CBSE.

An Overview of Software Quality [PDF: 5 pages, 263 KB]
Margaret Ross
Abstract: In this paper, the author considers current issues in software quality and how they might change in the future. Future issues such as standards, the licensing of computing professionals, the Y2K legacy, off shore outsourcing, and changes to higher education are also analysed.

Lessons Learned in Software Process Improvement [PDF: 4 pages, 259 KB]
José-Antonio Calvo-Manzano Villalón, Gonzalo Cuevas-Agustín, Tomás San Feliu-Gilabert, Antonio de Amescua-Seco, Mª Magdalena Arcilla-Cobián, and José-Antonio Cerrada-Somolinos
Abstract: Nowadays, Software Process Improvement (SPI) is thriving in the software industry. This paper identifies the phases of a software process improvement project and describes the lessons learned by SOMEPRO, a Software Engineering R & D group in the Universidad Politécnica de Madrid, in more than ten software process improvement projects in Spain, detailing the aspects an organization has to take into account in order to carry out this kind of projects.

A New Method for Simultaneous Application of ISO/IEC 15504 and ISO 9001:2000 in Software SME’s [PDF: 7 pages, 292 KB]
Antònia Mas-Pichaco and Esperança Amengual-Alcover
Abstract: The old ISO 9000 family of international quality management standards has evolved towards a process-based model which is named ISO 9001:2000. Despite the improvements, this new model still remains too generic for its effective application to certain kinds of enterprises, especially if the purpose is to improve their key processes that vary depending on every particular industrial sector. Moreover, before this new standard, the ISO 9000-3 [6] quality guidelines were available to help organizations to apply the ISO 9001 requirements to computer software. Although this software standard has not been recently updated, the international emerging standard, ISO/IEC 15504, provides a guide on the conduct of software process assessment. In this article, a mapping between the ISO 9001:2000 and ISO/IEC 15504 standards is provided and a mechanism which implements both models, aimed to define the capability levels of the processes in software SME’s (Small and Medium Enterprises) and receive ISO 9001:2000 certification, is established. Finally, the results obtained from the application of this mechanism on eight software SME’s are shown.

Empirically-based Software Engineering [PDF: 5 pages, 274 KB]
Martin Shepperd
Abstract: This article gives a survey of activity in the field of empirically-based Software Engineering. It argues that this is an important area of research if practitioners are to make decisions on better evidence than mere subjective opinion. The article describes four areas where empirical data has improved our understanding of software technology. These are object-orientation, inspections, formal specification and project failure factors. The article concludes that empirical Software Engineering is likely to grow in importance but that there remain challenges, not least in assessing large scale processes and artifacts, in dealing with the human or creative aspects of processes and in overcoming the publication bias against ‘negative’ results.

Software Engineering Professionalism [PDF: 5 pages, 269 KB]
Luis Fernández-Sanz and María-José García-García
Abstract: Software Engineering (SE) has not only become an increasingly important and emerging discipline but also as the basis for a differentiated set of professional profiles within computing areas. Computing professionalism is not yet well-defined in many countries due to a combination of two factors: relative immaturity of the field when compared to the other engineering or science-based professions and a lack of culture and social recognition. In this paper, we want to present an overview of different important facts and trends (especially certification and codes of ethics) that strongly influence the status of Software Engineering as a profession.

Searching for the Holy Grail of Software Engineering [PDF: 2 pages, 247 KB]
Robert L. Glass
Abstract: In this article, the author defends eclecticism in development methods and the contribution that Software Engineering should make in this respect whenever the nature of a project demands flexible methods in order to be successful.

Free Software Engineering: A Field to Explore [PDF: 6 pages, 271 KB]
Jesús M. González-Barahona and Gregorio Robles
Abstract: The challenge of free software is not that of a new competitor who, under the same rules, produces software faster, cheaper and of a better quality. Free software differs from ‘traditional’ software in more fundamental aspects, starting with philosophical reasons and motivations, continuing with new economic and market rules and ending up with a different way of producing software. Software Engineering cannot ignore this phenomenon, and the last five years or so has seen ever more research into all these issues. This article takes a look at the most significant studies in this field and the results they are producing, with a view to providing the reader with a vision of the state of the art and the future prospects of what we have come to call "Free Software Engineering".


Guest Editor

Luis Fernández-Sanz received a degree in Informatics Engineering from the Universidad Politécnica de Madrid, Spain, in 1989 and a Ph. D. degree in informatics from the Universidad del País Vasco, Spain, in 1997 (as well as an extraordinary mention for his doctoral thesis). Since 2000, he has been head of the department of Programming and Software Engineering at Universidad Europea-CEES (Madrid, Spain). He has been the editor of the Software Engineering section of Novatica since 1992. He is author or co-author of several books about Software Engineering and software measurement, as well as different papers in international journals and conferences. Coordinator of the Software Quality Group of ATI, he acted as chair of the VI Spanish Conference on Software Quality and Innovation organized by ATI.
<lufern AT dpris DOT esi DOT uem DOT es> (E-mail address written with anti-spamming disguise.)


The Editorial Team of Upgrade Note: E-mail addresses written with anti-spamming disguise.


Presentation
Software Engineering. A Dream Coming True? [PDF: 3 pages, 717 KB]
(includes a list of Useful References for those interested in knowing more about issues related to "Software Engineering")
 
Luis Fernández-Sanz - Guest Editor
 
This issue focuses on a really broad field which has been driving the evolution of software development since the late sixties: Software Engineering (SE). Clearly much has already been said about this discipline, so it is no easy to task to come up with a truly original introduction to such an important branch of computing. In my modest opinion, every software developer, at some time or other, has wanted to see him or herself as someone who approaches development as a solid and authentic engineering process.
 
As I wrote a couple of years ago in the issue of Upgrade and Novatica dedicated to ‘eXtreme Programming (XP)’ 1 everybody is looking forward to the time when software can be said to be a truly engineered product. We all want to see a general improvement in software quality and user satisfaction, avoiding problems caused by delays and budget overruns, and Software Engineering should be the way to achieve these objectives. With a view to contributing to a better understanding of the current state of practice and evolution of this discipline, we have decided to publish what we hope is an interesting set of papers covering different areas of interest related to the application of engineering principles to software development and maintenance.
 
Software Project Management. Adding Stakeholder Metrics to Agile Projects”, by Tom Gilb is a keen analysis of the implications of the new agile methods in the field of software development. Gilb has been a well-known expert on software project management and quality assurance (e.g. inspections) since his popular publications during the eighties.His EVO approach aims to centre all discussion on what really matters: stakeholders’ interests and goals.
 
Model-Driven Development and UML 2.0. The End of Programming as We Know It?” is an enhanced version of a previous paper by Morgan Björkander. This paper is focused on the idea of a truly model driven software development (not in itself a new idea) and takes a look at the problems involved in developing a really practical application. The influence that the new version of UML (Unified Modeling Language) has had on this process is also analysed, and the contribution as a whole provides an insight into the role played by UML and other methodological considerations in the present status of Software Engineering.
 
Component-Based Software Engineering” is a paper by Alejandra Cechich and Mario Piattini-Velthuis covering the interesting role that components play in the field of Software Engineering. It is also an example of how Latin American and European researchers are cooperating to offer interesting contributions to the Software Engineering community. The authors address different challenges that Component-Based Software Development need to overcome if we are to take full advantage of a philosophy that I believe should be one of the main trends SE needs to follow as a mature discipline.
 
Margaret Ross, considered as a European expert in the field thanks to her privileged view expressed in many conferences and journals, contributes “An Overview of Software Quality”. This reviews important issues concerning quality in software development and also deals with the interesting and not always sufficiently analysed issue of impaired computer users and the influence of legislation regulating this aspect.
 
Lessons Learned in Software Process Improvement” by the Spanish research group SOMEPRO presents the results of their experience in evaluating software processes in several organizations. While the previous paper on software quality presents a general overview of the field, this paper stresses the vital role played by software process in making far reaching changes and improvements to the way we approach development projects to provide applications which satisfy customer and user requirements. By applying CMM (Capability Maturity Model) evaluation procedures to different types of organizations the authors make some interesting recommendations for organisations involved in process improvement projects.
 
But CMM is not the only way to improve the results of software organizations. SPICE (ISO 15504) is now helping to establish a new global standard for process evaluation and improvement. Clearly it is not easy to adapt all the recommendations of these proposals to small-medium sized companies. “A New Method for Simultaneous Application of ISO/IEC 15504 and ISO 9001:2000 in Software SME's” by Antònia Mas-Pichaco and Esperança Amengual-Alcover is a new contribution to the always thorny problem of applying best practices to organizations where resources are especially limited.
 
Improvement cannot be achieved if there is not rigorous data and measurement to support our decisions. Software engineering proposals should be based on correct empirical data and analysis. Martin Shepperd, an outstanding expert in this area, presents an interesting overview of empirical Software Engineering and its implications for practitioners and researchers in four areas (object-orientation, inspections, formal specification and project failure factors). “Empirically-based Software Engineering” thus addresses the remaining challenges of the discipline.
 
Software Engineering Professionalism” by Luis Fernández-Sanz and María-José García-García aims to provide a brief overview of what goes into making up our true perception of software engineers as specialised professionals within the field of IT. Educational framework, training curriculum proposals, codes of ethics and professional conduct, professional profiles, certification, etc: all of these are burning issues whose influence on the future of the software engineering profession is already apparent.
 
It is interesting to see how Software Engineering is by no means a field devoid of controversy. Robert L. Glass is one of the sharpest and most clear thinking of authors, one who never shies away from giving his opinion on any problem he sees as hindering the progress of software engineering. In his article “Searching for the holy grail of software engineering”, originally published in COMMUNICATIONS of the ACM, he defends eclecticism in development methods and the contribution that Software Engineering should make in this respect whenever the nature of a project demands flexible methods in order to be successful.
 
For our final contribution to our readers we did not want to miss the chance to include an article about the role that Software Engineering is already playing, and the even more important role it will play in the future, in the red hot field of ‘libre’ software. “Free Software Engineering: A Field to Explore”, by Jesús M. González-Barahona and Gregorio Robles, analyses existing points of contact between Software Engineering and the development of free software, and puts forward a few future lines of research in this respect.
 
I hope this variety of contributions will be considered as a representative selection of the extremely wide field of Software Engineering. We have obviously had to leave out many areas in this issue, in spite of their importance, but I believe that the quality of the authors and the interest of the contents will be more than enough to satisfy the needs of our readers, the people to whom our work is ultimately dedicated .


Translated by Steve Turpin

Footnote

  1. Available at <http://www.upgrade-cepis.org/issues/2002/2/upgrade-vIII-2.html> and at <http://www.ati.es/novatica/2002/156/nv156sum.html>, respectively.

Guest Editor

Luis Fernández-Sanz received a degree in Informatics Engineering from the Universidad Politécnica de Madrid, Spain, in 1989 and a Ph. D. degree in informatics from the Universidad del País Vasco, Spain, in 1997 (as well as an extraordinary mention for his doctoral thesis). Since 2000, he has been head of the department of Programming and Software engineering at Universidad Europea-CEES (Madrid, Spain). He has been the editor of the Software Engineering section of Novatica since 1992. He is author or co-author of several books about Software Engineering and software measurement, as well as different papers in international journals and conferences. Coordinator of the Software Quality Group of ATI, he acted as chair of the VI Spanish Conference on Software Quality and Innovation organized by ATI.
<lufern AT pris DOT esi DOT uem DOT es> (E-mail address written with anti-spamming disguise)


Useful References on Software Engineering

Collected by Luis Fernández-Sanz and J. Javier Dolado-Cosín*
 
* J. Javier Dolado-Cosín is lecturer at the Universidad del País Vasco (San Sebastián, Spain) and co-editor of the Software Engineering section of Novática.
 
The discipline of Software Engineering is extremely broad, so the following list of references should be considered as a very limited selection of the vast wealth of available resources. The criteria used to make up the list is based largely on the personal teaching, researching, professional and authoring experience of the compilers. References not included are not necessarily less useful than the ones listed below: we have had to choose from a large number of candidates.
 
We have decided against including specific journal and conference papers due to the vast universe of publications. We thought it preferable to refer interested readers to web sites (several of which are included in our list) where you can find large compilations of references on Software Engineering or related areas.
 
And readers should not forget to follow up the various references included in the papers published in this issue.

Books

General Purpose

Books Referring to Specific Areas

Standards
Organizations

Events

We recommend to consult the web pages of IEEE and ACM dedicated to conferences:
Web sites
A really brief list of interesting sites.
“Communications of the ACM”, November 2002 issue
In its November 2002 issue, “Communications of the ACM” published two remarkable special selections of articles on the new version of UML (Unified Modeling Language) and Software Engineering licensing, respectively. <http://www.acm.org/cacm/toc/2002/11november_toc_02.html>.


Note from the Editor of Upgrade: This monograph will be also published in Spanish (full issue printed; summary, abstracts and some articles online) by Novática, journal of the Spanish CEPIS society ATI (Asociación de Técnicos de Informática) at <http://www.ati.es/novatica/>, and in Italian (online edition only, containing summary abstracts and some articles) by the Italian CEPIS society ALSI and the Italian IT portal Tecnoteca at <http://www.tecnoteca.it>.



Last updated on September 2nd, 2003 by Rafael Fernández Calvo, François Louis Nicolet, and Roberto Carniel,
Editorial Team of Upgrade
<rfcalvo AT ati DOT es>
(E-mail address written with anti-spamming disguise)

Copyright policy:

  1. Copyright © CEPIS 2003. All rights reserved.
  2. Abstracting of the articles included in UPGRADE is permitted with credit to the source. For copying, reprint, or republication permission, write to the editors.
  3. Unauthorized access to pages, or parts thereof,  in this website reserved exclusively for persons authorized by UPGRADE is expressly prohibited. Any unauthorized access may be prosecuted according to the law.