Talk:Software engineering

From Citizendium
Revision as of 19:04, 22 October 2007 by imported>Mark Jones (→‎Articles not meant to be exhaustive)
Jump to navigation Jump to search
This article is developing and not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
Catalogs [?]
 
To learn how to update the categories for this article, see here. To update categories, edit the metadata template.
 Definition The process by which requirements are translated to software design and testing specifications, and reliable and timely computer code is produced, so as to fit the needs of potential users and to be maintainable for future demands [d] [e]
Checklist and Archives
 Workgroup categories Computers and Engineering [Editors asked to check categories]
 Talk Archive none  English language variant British English


Rewrite 21st October 2007

I rewrote the article to focus more specifically on software engineering and moved some of the previous content into stubs for other articles. I hope some of you like it. Please discuss how the article can be improved.

I'd love to see this article get approved status soon as it is a major subject within the Computers workgroup category. Is it ready now? Let's get things moving in that direction. --Mark Jones 19:50, 21 October 2007 (CDT)

SE is a complex field, I'm not sure if this article does it justice.

I'm a software engineering student, and it's a huge field. I've glanced through the article between classes and I plan to read it soon, and it seems solid. To be honest, I think it might be hard to write one entry that will please everyone, so I think there is a need to have a lot of related pages discussing the topics that can only be summarized in this article.—The preceding unsigned comment was added by Thomas Owens (talkcontribs) 07:58, 22 October 2007 (UTC)

lacking parts

It seems early important steps in SW engineering are lacking methods like Structured Programming, Predicate Logics, System Development Management are not even named while they have played an important role in the development of methods to increase efficiency and maintenance of software development.—The preceding unsigned comment was added by Robert Tito (talkcontribs) 08:12, 22 October 2007 (UTC)

I, too, think this article is lacking in parts. Like any form of engineering, software engineering is based, in part, on scientific principles; those should be discussed, at least briefly, in this article. There also seems to be apparently contradictory (and poorly cited) bits on the origin of the term "software engineering". There should also be discussion of several different arena for software engineering, such as shrink-wrapped commercial software, enterprise software, embedded software, and (forgetting the correct name) the high-reliability software required for avionics and medical devices. Anthony Argyriou 11:47, 22 October 2007 (CDT)
Most of the topics mentioned above would be more suited to subtopics and linked from the main article in some way. Also, Anthony, can you be more specific about which parts are contradictory and poorly cited so that I, or someone else, can fix it? Many thanks. --Mark Jones 14:34, 22 October 2007 (CDT)

Requires the major models that comprise Software Engineering

This is a good start. The above comments might be helped with including the major models and frameworks commonly used. These may lay the foundation for a better understanding of the field. It might also help to have some of its leading minds listed. —The preceding unsigned comment was added by Andrew M. Colarik (talkcontribs) 19:37, 22 October 2007 (UTC)

Thanks. I think things like models and frameworks are best mentioned (and linked to as subtopics) to the not-yet-created article Software development process which I have linked to in the main Software engineering article.

Articles not meant to be exhaustive

Thanks for the feedback. In answer to some of the above comments, remember, the article is meant to provide an introductory overview of the subject to a layperson not exhaustive coverage (which would require an entire book!). The idea is to provide links to subtopics so people can drill down to the finer details if they so wish. It was decided fairly early on that this was going to be the best approach for writing articles for Citizendium, not try to cram all the details into one article (as is the case in many Wikipedia articles). Many of the lacks cited above can be solved by writing sub-articles and adding links to this article. Remember, some topics will be subtopics of subtopics so they don't all need to go in the software engineering article. --Mark Jones 14:25, 22 October 2007 (CDT)

For example, this article already links to Software development process which is a subtopic of the article. This subtopic article should describe an overview of process models and link to specific models as subtopics. These models should be described fully on their own pages. This way the lay-reader who has only a fleeting interest in Software Engineering is not overwhelmed by too much detail (that they possibly won't understand or care about) in main article but can drill down to specific topics he or she is interested in. --Mark Jones 15:03, 22 October 2007 (CDT)

I completely agree with the intention not to overdo and be exhaustive BUT since this is the history of the topic it needs placing things in historic perspective. It makes no sense to give attention to outdated methodologies like SDM but they need being mentioned as well as why they were intensively used. The more modern methodologies (be it UML or OO methodologies) do need their own subpages but the old things, I don't think so. Maybe for the interested but not for the lay man taking a peek to see how and what this engineering is all about. Robert Tito |  Talk 
I don't think this article is finished but I did wonder about how much to include in the history section — although, it is a relatively young discipline, an incredible amount of activity has gone into the development of software engineering disproportionate to its age and there is potentially a lot of information that could be included; it could get very long for just an overview. I wondered whether, perhaps, the history of software engineering deserves to have its own article (as History of computing)? We can discuss and decide what else could be included here. I welcome other people's input. --Mark Jones 16:45, 22 October 2007 (CDT)

There already is a history of computing article but that is about generic computing, this article is about the art to make software end the used technologies and methodologies. I see no reason not to include it in this article since you started this article from the past - it seems justified to include all of the past and nut just bits and pieces. Only some items would do damage to the value of this article where it better is to have a somewhat longer article that has link to in depth articles explaining topics but not mentioning main street methods and technology in a historic way would hurt the article more. Besides the reader will get the idea how and why things developed as they did. Forgetting things because we want a short article would do the topic harm. Robert Tito |  Talk 

I am aware the history of computing article already exists, I just used that as an example of how the history of a topic can be covered more extensively in its own separate article. Before reading your comment, I just changed the title of this section to "Emergence of software engineering" to reflect its current more limited scope. If this section does develop into a history we can change it back. I do suspect, though, that a full (or even partial) history of Software Engineering might be too much too include in an overview article and a link to a separate "history of..." article might be a better way to approach it. --Mark Jones 17:16, 22 October 2007 (CDT)
if you are going to shoot the article in its own foot, why not do it thoroughly and replace the introduction by one sentence saying: software became more complex due to increased performance of computers and (software) compilers that could use the improved performance. Because of this complexity a need arose for a methodology. Finish with references and you are done. You can't be serious - but it is the line of reasoning you are following. You mention the start an early step in 1987 where the first real need for this systemetic approach was defined during the development of for instance FORTRAN, quite some years before that. You can't place software engineering on the map without its context and for that reason its history. It came from somewhere and it evolved to something due to intermediate changes - these are an integral part not something irrelevant. Robert Tito |  Talk 
Your tone is becoming a little sarcastic and not entirely in the spirit of Citizendium. Aside from that, I am being open to your suggestions—just simply suggesting that possible alternatives exist. Please note, I also previously stated that I believe the article is incomplete—feel free to add anything you like.
I do, however, disagree with your assessment of both my reasoning and what I am saying—you may need to read my comments again. If I have said anywhere in the talk pages that something mentioned is irrelevant to software engineering, please point it out to me and I will probably recant it. What I have said, is that the design of wiki pages—and Citizendium in particular—is to provide introductory overview articles at the top levels and details in linked sub-pages. How much of the history of software engineering is included here (or alluded to) and how much is moved out into subpages is what is being discussed here. This isn't leaving things out entirely or calling it irrelevant—it is just simply structuring information (wiki-style).
At the moment, the title was changed to reflect the current content. If you feel a history of software engineering is appropriate for the article, please write it in (or provide a draft here), change the title of the section back to "history of..." (as I previously suggested), and let us do the critique. Eventually, the article will be what it is meant to be with everyone's participation. --Mark Jones 19:10, 22 October 2007 (CDT)
Robert, you mentioned the 1987 date but this date is provided as the date a seminal paper was written by Brooks, not when the need for a software engineering breakthrough was identified. The paper reflects on past software engineering problems and breakthroughs (past and potential future) and considers which, if any, might solve the inherent problem in software development. It is also not in the history section so I am not sure what point you were making here as it is very pertinent for the section it is in. Can you clarify your point for me please? Many thanks. --Mark Jones 19:59, 22 October 2007 (CDT)