Template talk:Software engineering

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Systems (Rated Template-class)
WikiProject icon This template is within the scope of WikiProject Systems, which collaborates on articles related to systems and systems science.
 Template  This template does not require a rating on the project's quality scale.
Taskforce icon
This template is within the field of Software engineering.
 

A new Software Engineering template[edit]

I designed a new template here to replace the existing Template:Software development process‎. This new template has more possibilities to give a more detailled view on the field. At the moment some of the parts needs some more work, as always. -- Marcel Douwe Dekker (talk) 20:15, 20 October 2008 (UTC)

I disagree that it should replace that template. That template is about a multidisciplinary process that includes software engineering but is not summed up by software engineering. Software engineering describes a skill that evolves much faster than any one process. You are doing both software engineers and those who work with software engineers a disservice by trying to monopolize all the software development terminology under the umbrella of "software engineering." Oicumayberight (talk) 03:04, 21 October 2008 (UTC)

I have responded on the Talk:Software engineering here -- Marcel Douwe Dekker (talk) 12:58, 21 October 2008 (UTC)

You can try to oversimplify it by saying that software engineering is the main discipline. I'm sure there are product developers and project managers that would disagree with you, but that's beside the point. The point is that software development is multidisciplinary. You're trying to pull the disciplines of "software development" that have little to do with engineering under the umbrella of "software engineering" as if those functions are a less important subclass of engineering. The article and the template are titled "software development process", not "software engineering process". You are just in denial that development is broader in scope than engineering. Oicumayberight (talk) 00:10, 22 October 2008 (UTC)

I have responded on the Talk:Software engineering here -- Marcel Douwe Dekker (talk) 09:54, 22 October 2008 (UTC)

The other template was better because it laid it out in steps and was highly visible at the top for those who may have only been interested in a particular step. I know that software engineering is not a step-by-step process, so I think it's futile to have software engineering template replace the software development process template. There should be two separate templates, one for the broader software development process and the other for the field or skill of software engineering. Your oversimplifying both subjects by merging the templates. Oicumayberight (talk) 22:38, 22 October 2008 (UTC)

I have responded on the Talk:Software engineering here -- Marcel Douwe Dekker (talk) 23:46, 22 October 2008 (UTC)

The listing of notable software engineers[edit]

I am working on the listing of notable software engineers. I am using the following criterea for selection:

  • People who developed software development models and methods

And not:

  • People known for the writting of software engineering bestsellers (allthough better known the list should focuss on pioneers)
  • People who developed new programming languages. I think that is an other field (but I could be wrong).

There was a list of developers of program languages in the History of software engineering article, see here:

Now I already moved this list to the History of programming languages article, which I think is an other field of computer science. -- Marcel Douwe Dekker (talk) 19:50, 24 October 2008 (UTC)

New listing proposals[edit]

24 October 2008

I like to add the following scientists

-- Marcel Douwe Dekker (talk) 19:50, 24 October 2008 (UTC)

I have added these three software engineers. -- Marcel Douwe Dekker (talk) 12:44, 27 October 2008 (UTC)
28 October 2008

I like to add the following software engineers

  • James Martin (author), who has written has written extensively on his computer systems design methodology. His article need some work though.

-- Marcel Douwe Dekker (talk) 23:16, 27 October 2008 (UTC)

I have added these two people. -- Marcel Douwe Dekker (talk) 00:31, 30 October 2008 (UTC)

30 October 2008[edit]

-- Marcel Douwe Dekker (talk) 00:19, 30 October 2008 (UTC)

Software engineering methods/methodologies[edit]

The Topic outline of software engineering is listing the following 16 Software engineering methods/methodologies. I have put these in a historical order:

1970s
1980s
1990s
New millennium
Method concepts

Now this list seems rather incomplete to me. -- Marcel Douwe Dekker (talk) 20:50, 24 October 2008 (UTC)

Unified Process[edit]

The Unified Process article lists some more methods, all refiment/refinements and variations of the Unified Process framework. (3 of 8 already listed above: Agile, Enterprise and Rational)

-- Marcel Douwe Dekker (talk) 15:16, 25 October 2008 (UTC)

I do think there should be a separate software development methodology again, explaining the basic charateristics of those methodologies and list the different types in the field of software enginering. As a start I started a Category:Software development methodology in Wikicommons.
-- Marcel Douwe Dekker (talk) 12:49, 27 October 2008 (UTC)

Prominent people in the history of Programming languages versus Software Engineering[edit]

Today tree names have been added to the template (and I have removed two of them):

  • Bertrand Meyer, known as developer of the Eiffel programming language
  • Martin Fowler, author and famous speaker on software architecture, who has written five popular books on the topic of software development in the 1980s
  • Douglas McIlroy, a famous programmer.

Now I wonder how these persons relate to other prominent people in the history of programming languages such as:

Now I have started a similar discussion about this on the talk page of the History of software engineering article, see here.

I personnaly consider the development of programming languages an other field of computer science than software engineering. Now I have moved the above list of prominent people from the history of software engineering to the History of programming languages.

Now I do think Bertrand Meyer are Douglas McIlroy famous computer scientists, but I don't see them as software engineers. That is why I will remove the from the template. I am not so sure about Martin Fowler either, and if beeing a notable author is enough to be listed in the template. -- Marcel Douwe Dekker (talk) 17:02, 11 November 2008 (UTC)

Bertrand Meyer created the Design by Contract methodology, which is an important contribution to Software Engineering. He is not known just by the creation of the Eiffel programming language. Douglas McIlroy created the concept of reusable software modules (see his seminal paper in the 1st Software Engineering conference, sponsored by NATO) and also invented the pipes-and-filters connections in UNIX, which was an advance in Software Architecture and in Programming-in-the-Large. So both should appear in the list.
As to Martin Fowler, he is a popularizer of Software Engineering advances. I do not know what contributions he has given to the state of the art in Software Engineering. So the inclusion of his name would probably be somewhat harder to defend, if we are willing to include only people who have advanced the frontiers of the field. --Antonielly (talk) 17:12, 11 November 2008 (UTC)
Niklaus Wirth should also be in the list. He invented a Software Engineering methodology named Stepwise Refinement.
The list is also missing other important inclusions such as David Parnas, the inventor of information hiding.
Mark C. Paulk, the SEI guy who is behind the CMMI creation effort, and Paul Clements / Rick Kazman, the SEI guys who invented the ATAM, should also be included.
And let's not forget Frank DeRemer and Hans Kron, who invented the important notion of Programming in the large, the basis of the software architecture activity. --Antonielly (talk) 17:34, 11 November 2008 (UTC)
Thanks. I guess we could (re)add Bertrand Meyer and Niklaus Wirth. This is no exact science. The bounderies of Software engineering are vague, but I like to keep the developers of programming tools separate. I think the contributions of Douglas McIlroy and David Parnas are more in that field ...just as the contributions of the even more notable computer scientists mentioned above.
I am no real expert in this field, so I am open for suggestions. I do have been developing the Wikipedia representation of systems engineering, and have experienced that this field like software engineering is a very specific field with it's own names.
Now I just started this template, and I know there is a lot to improve here and this will take time. I don't agree on one of your other choices. The template is not just a listing of notable software engineers. They should have an Wikpedia article and I prefer a longer Wikipedia article, explaining their work in relation to Software engineering. -- Marcel Douwe Dekker (talk) 22:58, 11 November 2008 (UTC)
Alright, since we have reached consensus in the inclusion of Bertrand Meyer and Niklaus Wirth, I'll readd them.
However, Douglas McIlroy and David Parnas cannot be left out since they are two of the founders of Software Engineering, and active participants of the first Software Engineering conference ever, sponsored by NATO. They are not just tool developers; they have made important contributions to establish the conceptual framework of the field.
Some Douglas McIlroy's contributions: the notions of mass-produced software components[1] and of assembling software components (read The Roots of Software Engineering), and the foundation of Component-based software engineering.
Some David Parnas' contributions: the information hiding principle (which is a software design concept, not an executable software tool) to help localization of volatile (changeable) design assumptions; the notion of modular design in software development[2]. He is also one of the fathers of Software architecture and of Software Product Line Engineering[3]. The Wikipedia article about him list of some awards he has won due to his Software Engineering contributions. See also a selected collection of his influential papers in Software Engineering.
I am also going to add to the template the names:
If you disagree with those, please write here in the talk page. (But please tell whether you are now convinced that the names Douglas McIlroy and David Parnas merit the inclusion.)
By the way, I completely agree with you that an important contribution to Computer science or to the Programming language field does not automatically qualify as an important contribution to Software Engineering (a related but different field). I share with you the intention of only adding to the template the names of remarkable Software Engineering contributors and/or practitioners. --Antonielly (talk) 09:58, 27 November 2008 (UTC)
I will study the presents of Charles Bachman some more, and get back on this.
Now removing "Tim Berners-Lee" doesn't make much sense to me either. He seems to be generaly considered a "software engineer", see for example here: Designed by the British software engineer TIM BERNERS-LEE (1955-) the web is a democratic medium which is equally available to us all. -- Marcel Douwe Dekker (talk) 11:17, 30 November 2008 (UTC)
Tim Berners-Lee was removed from the template because the Wikipedia article about him does not mention any direct, relevant contribution to Software Engineering. The Web is an (important) application, but not a direct contribution explicitly made to advance or popularize the Software Engineering field: it is neither a software development techniques book nor a new methodology, for instance.
There seems to be a consensus here in the talk page that tool creators should be left out of the template. Otherwise, we should also add names such as Dan Bricklin, the creator of VisiCalc, and Dennis Ritchie/Ken Thompson, the original developers of UNIX. I believe we do not want that.
In my opinion, we should include in the "Software Engineers" section only the subset of software engineers who are notable for their Software Engineering contributions, not software engineers who aren't notable for their Software Engineering contributions but who used Software Engineering techniques to create important applications. --Antonielly (talk) 12:22, 30 November 2008 (UTC)

I agree on most point you mentioned here:

  • I quess you are right about Tim Berners-Lee.
  • I agree we should only list the subset of software engineers, who are notable for their Software Engineering contributions.
  • I also agree you removed Tom Gruber.
  • I do think some of the new articles you added needs some improvement

Now I do think the number of people mentioned in the template should be limited to say the current 20 to 25 names. Otherwise the template is growing to large. We can list all people of the Category:Software engineering and or Category:Software engineering researchers. We have to make a choice. And indeed some people have to be removed again. -- Marcel Douwe Dekker (talk) 14:07, 30 November 2008 (UTC)

Underlying question of the SE boundaries[edit]

I think there is an underlaying question of where are the boundaries of software engineering? Which are it's main subjects? How did this field develope? And which subjects could be considered related to related fields? And which are the related fields of software engineering. These are questions, I think, which should have to be answered in the software engineering article.

In the above discussion I think some related fields have been mentioned now:

  • Data base, data base design and Data base management.
  • The web and Web applications
  • Programming and tool creatings
  • Ontology

I just noticed Carlo Ghezziother (2003) in "Fundamentals of Software Engineering" (2nd Edition) page 8-12 names the following five SE related area's of computer science:

  • Programming languages
  • Operating Systems
  • Data bases
  • Artificial Intelligence, and
  • Theoretical models

This seems like a good start for a new section in the Software engineering article. -- Marcel Douwe Dekker (talk) 14:27, 30 November 2008 (UTC)

Wikipedia article traffic statistics[edit]

A listing of the popularity of some of the subjects listed in the template, see here

Software engineering topics[edit]

  1. Agile software development has been viewed 114630 times in 200811 (ranked 1600)
  2. Unified Modeling Language has been viewed 106837 times in 200811 (ranked 2762)
  3. Service-oriented architecture has been viewed 103486 times in 200811 (ranked 1984)
  4. Software testing has been viewed 90855 times in 200811 (ranked 2250)
  5. Object-oriented programming has been viewed 80742 times in 200811 (ranked 6455)
  6. Systems Development Life Cycle has been viewed 74424 times in 200811 (ranked 5537)
  7. Software engineering has been viewed 61037 times in 200811 (ranked 5937)
  8. Scrum (development) has been viewed 60410 times in 200811. (ranked 6570)
  9. Software development process has been viewed 60019 times in 200811
  10. Computer programming has been viewed 54609 times in 200811 (7256)
  11. Waterfall model has been viewed 54910 times in 200811. This article ranked 8505
  12. Requirements analysis has been viewed 32188 times in 200811
  13. IBM Rational Unified Process has been viewed 30578 times in 200811
  14. Rapid application development has been viewed 27019 times in 200811
  15. Computer software has been viewed 28159 times in 200811
  16. Extreme Programming has been viewed 27787 times in 200811
  17. Software architecture has been viewed 25473 times in 200811
  18. Spiral model has been viewed 20023 times in 200811
  19. Data model has been viewed 19571 times in 200811.
  20. Iterative and incremental development has been viewed 18528 times in 200811
  21. Enterprise architecture has been viewed 17388 times in 200811
  22. Data modeling has been viewed 16842 times in 200811
  23. Software design has been viewed 16301 times in 200811
  24. V-Model (software development) has been viewed 12490 times in 200811
  25. Software quality assurance has been viewed 12863 times in 200811
  26. Structured programming has been viewed 10987 times in 200811

Less then 10.000 visits a month:

  1. Functional specification has been viewed 9565 times in 200811
  2. Database model has been viewed 8834 times in 200811
  3. Software quality has been viewed 8189 times in 200811
  4. Software maintenance has been viewed 7981 times in 200811
  5. Software deployment has been viewed 7027 times in 200811
  6. Software development methodology has been viewed 6435 times in 200811
  7. Design by Contract has been viewed 6263 times in 200811
  8. Formal methods has been viewed 5273 times in 200811
  9. Object model has been viewed 4272 times in 200811
  10. Ontology (information science) has been viewed 4214 times in 200811
  11. IDEF0 has been viewed 3252 times in 200811
  12. Modeling language has been viewed 2967 times in 200811
  13. Component-based software engineering has been viewed 2789 times in 200811
  14. Information model has been viewed 2040 times in 200811
  15. Function model has been viewed 1504 times in 200811.
  16. Structured analysis has been viewed 1137 times in 200811
  17. View model has been viewed 1096 times in 200811
  18. Metamodeling has been viewed 773 times in 200811

SE Topics not (yet) listed in the template[edit]

  1. Entity-relationship model has been viewed 54873 times in 200811. (8974)
  2. Capability Maturity Model has been viewed 39409 times in 200811. (9930)
  3. Data modeling has been viewed 18210 times in 200811.
  4. Capability Maturity Model Integration has been viewed 16279 times in 200811
  5. Software development has been viewed 16042 times in 200811
  6. Information hiding has been viewed 13154 times in 200811
  7. Software configuration management has been viewed 13107 times in 200811

Less then 10.000 visits a month:

  1. Model-driven architecture has been viewed 9061 times in 200811
  2. Object-oriented analysis and design has been viewed 7813 times in 200811
  3. Software documentation has been viewed 7682 times in 200811
  4. Zachman framework has been viewed 6890 times in 200811
  5. Dynamic Systems Development Method has been viewed 5315 times in 200811
  6. Cleanroom Software Engineering has been viewed 3552 times in 200811
  7. User experience design has been viewed 3909 times in 200811
  8. 4+1 has been viewed 2414 times in 200811
  9. Meta-Object Facility has been viewed 2095 times in 200811
  10. Personal Software Process has been viewed 1916 times in 200811
  11. Software Engineering Institute has been viewed 1626 times in 200811
  12. Architecture Tradeoff Analysis Method has been viewed 952 times in 200811
  13. Team Software Process has been viewed 676 times in 200811
  14. Programming in the large has been viewed 590 times in 200811
  15. Codie awards has been viewed 360 times in 200811
  16. Jolt Awards has been viewed 341 times in 200811
  17. Stevens Award has been viewed 96 times in 200811

People[edit]

  1. Edsger W. Dijkstra has been viewed 6897 times in 200811
  2. Ward Cunningham has been viewed 5053 times in 200811
  3. C. A. R. Hoare has been viewed 3435 times in 200811
  4. Niklaus Wirth has been viewed 3365 times in 200811
  5. Kent Beck has been viewed 3307 times in 200811
  6. Grady Booch has been viewed 3145 times in 200811
  7. Barry Boehm has been viewed 2653 times in 200811
  8. Martin Fowler has been viewed 2683 times in 200811
  9. Fred Brooks has been viewed 2337 times in 200811
  10. James Martin (author) has been viewed 1991 times in 200811
  11. Tom DeMarco has been viewed 1589 times in 200811
  12. Ivar Jacobson has been viewed 1599 times in 200811
  13. David Parnas has been viewed 1431 times in 200811
  14. Edward Yourdon has been viewed 1398 times in 200811
  15. Ole-Johan Dahl has been viewed 1463 times in 200811
  16. Michael A. Jackson has been viewed 1332 times in 200811
  17. James Rumbaugh has been viewed 1374 times in 200811
  18. Bertrand Meyer has been viewed 1190 times in 200811
  19. Winston W. Royce has been viewed 844 times in 200811
  20. Watts Humphrey has been viewed 593 times in 200811
  21. Craig Larman has been viewed 417 times in 200811

People not listed in the template[edit]

Related fields listed[edit]

  1. Project management has been viewed 160715 times in 200811. (932)
  2. Management has been viewed 147300 times in 200811. (1548)
  3. Mathematics has been viewed 133494 times in 200811. (1757)
  4. Computer science has been viewed 91950 times in 200811 (3361)
  5. Ergonomics has been viewed 68039 times in 200811. (8344)
  6. Computer engineering has been viewed 35866 times in 200811
  7. Systems engineering has been viewed 26579 times in 200811
  8. Quality management has been viewed 25852 times in 200811
  9. History of software engineering has been viewed 3722 times in 200811
  10. Enterprise engineering has been viewed 933 times in 200811

Related field not yet listed[edit]

  1. Database management system (DBMS) has been viewed 70131 times in 200811
  2. Information management has been viewed 10799 times in 200811
  3. Information technology management has been viewed 9720 times in 200811
  4. Software project management has been viewed 5306 times in 200811

Further comment here[edit]

For now. -- Marcel Douwe Dekker (talk) 01:04, 28 November 2008 (UTC)

I updated the list updated. I noticed it seems to make sense to add some of the frequently viewed articles not yet listed.
-- Marcel Douwe Dekker (talk) 21:16, 30 November 2008 (UTC)
I separated the related field section. I noticed this section could/should be more specific. It doesn't seem to make sense to add mathematics and management as related fields. I think this could/should be more specified.
-- Marcel Douwe Dekker (talk) 21:37, 30 November 2008 (UTC)

Software engineers listed[edit]

Charles Bachman[edit]

What were the contributions of Charles Bachman to Software engineering? He seems to be a very remarkable contributor to the field of Databases, but I do not know of his notable contributions to Software engineering. If there aren't any, his name should be removed from this template (and added to the Database template, if it exists). --Antonielly (talk) 11:14, 30 November 2008 (UTC)

The Wikipedia article about Tom Gruber does not mention any contribution to the Software Engineering field. Web Engineering, AI, ontologies and Semantic Web are not Software Engineering subjects. Therefore, his name should not appear in this template until contributions to Software Engineering are mentioned in the article about him.

I have removed from the template the names Charles Bachman and Tom Gruber‎. Those names can be readded if someone finds important Software Engineering contributions from them and mentions such contributions on the articles of the respective researchers. While this does not happen, those names should be left out of this template. --Antonielly (talk) 12:37, 30 November 2008 (UTC)

I agree. See my previous comment. -- Marcel Douwe Dekker (talk) 14:11, 30 November 2008 (UTC)

Douglas McIlroy[edit]

I removed Douglas McIlroy, because I think (almost) nothing in his current Wikipedia article justifies his listing here. I do think this article should be improved first, before relisting. I think this also counts for some other articles listed. -- Marcel Douwe Dekker (talk) 14:39, 30 November 2008 (UTC)

Philippe Kruchten[edit]

I removed Philippe Kruchten as well because, his current article doesn't explain his existence here. Also the 4+1 view model doesn't seem that important to Software engineering. -- Marcel Douwe Dekker (talk) 14:45, 30 November 2008 (UTC)

Software Engineering awards[edit]

I miss articles about the main Software Engineering awards. After they are created in Wikipedia, they should be mentioned in the "Prizes" section of the template. Some external links:

--Antonielly (talk) 13:01, 30 November 2008 (UTC)

I removed this section here, and added it to the Software engineer article. At the moment this section hardly gives any information and links to other Wikipedia articles. The three items listed are stubs, and I oppose the listing of stubs in any wikipedia article.
Now I have removed some other names as well, and we had some previous discussion. Maybe I have to explain these actions some more. I think this template shouldn't reflect the general status of the field of software engineering. I should focuss on the Wikipedia representation of this field. It is a summary of the main things Wikipedia has to offer.
Back to this subject. I have been developing some other templates as well and I can't recall ever seen (engineering) awards being added in other templates. There are other ways to bring this to the peoples attention, see for example the Turing award template.
-- Marcel Douwe Dekker (talk) 19:12, 30 November 2008 (UTC)

Where is the Chaos Model?[edit]

Is it not officially recognized as a canonical development model/strategy?

If not, sad, cause there is no equal to be found in these dusty old white-paper meet-the-deadline-and-not-much-else standards from the days of punch-cards and vacuum tubes. —Preceding unsigned comment added by 67.98.176.66 (talk) 16:36, 11 January 2011 (UTC)

New criteria for inclusion[edit]

The recent add of Stephen J. Mellor in the template has made me wonder about the criteria for inclusion. I checked Google Scholar and found that Mellor is quiet a highly cited author. This made me wonder about the other persons listed in template, and I did some more checking with Google Scholar. Google scholar listed the following number of citations of the three best-cited articles:

Author Number of
citations
Number of
citations
Number of
citations
Kent Beck 7248 4542 1493
Grady Booch 8902 6040 5097
Fred Brooks 3360 3381 288
Barry Boehm 7001 4072 1652
Peter Chen 7713 2544 2389
Ward Cunningham 1198 894 562
Ole-Johan Dahl 1259 852 747
Tom DeMarco 3067 376 383
Martin Fowler 4542 3864 1820
C.A.R. Hoare 14969 4760 1926
Watts Humphrey 3023 1420 574
Michael A. Jackson 1192 1270 1158
Ivar Jacobson 8902 5532 5097
James Martin 3026 2013 1447
Stephen J. Mellor 865 827 797
Bertrand Meyer 7756 1744 1803
David Parnas 4513 868 853
Winston W. Royce 2467 529 18
James Rumbaugh 9038 8902 5097
Niklaus Wirth 1439 1385 1368
Edward Yourdon 2937 1693 982
Victor Basili 2201 1215 1126

I guess this table shows there is some reason to doubt the inclusion of Stephen J. Mellor. -- Mdd (talk) 20:13, 29 November 2012 (UTC)

A new light on this matter occurs, when we take in account some of the authors who have been excluded, for example:

Author Number of
citations
Number of
citations
Number of
citations
Larry Constantine 1693 1053 905
Philippe Kruchten 3483 1917 347
Craig Larman 2175 606 401
Douglas McIlroy 1117 272 153
John F. Sowa 4248 2869 855
John Zachman 2140 855 363

Some of those authors have higher numbers, but they are not all to be considered software engineers (especially Sowa en Zachman). -- Mdd (talk) 20:16, 30 November 2012 (UTC)

This is good stuff Mdd! I didn't realize that Stephen Mellor is also an Agile Manifesto Signatory, which adds to his importance. Your table above bolsters the arguement to add Phillipe Krutchen with his contributions in Software Architecture and RUP. Lwoodyiii (talk) 13:53, 11 January 2013 (UTC)