From: sullivan@cs.washington.edu (Kevin Sullivan)
Subject: Re: Why is the Software Process NOT working
Organization: Computer Science & Engineering, U. of Washington, Seattle
Date: Mon, 25 Jan 93 19:07:34 GMT

B. Bruegge, J. Blythe, J. Jackson, and J. Shufelt, "Object-oriented system
modeling with OMT," OOPSLA 92, is an interesting report on the application
of object-oriented software engineering in a university setting.  Thirty
students applied Rumbaugh's OMT, producing a 125 class, 27,000 line, "real
world" system in C/C++ in a period of 15 weeks.  (Thanks to B. Griswold for
highlighting this article.)

--Kevin

In article <C1F1vC.27B@plato.ds.boeing.com> mattb@plato.boeing.com (Matt Baney) writes:
>In article <1993Jan20.132009.10982@cc.gatech.edu> tomg@cc.gatech.edu (Tom Gale) writes:
>>> So I wonder, what happens when they leave university? Do they forget
>>> everything they have learned. Or is there some mysterious fact  
>>> that changes you when you start working.
>>
>>I think they're doing exactly what they were taught in the universities.
>>
>>This is a bit of a generalization, but I don't see much emphasis on
>>process improvement, quality, and good software engineering skills in
>>general in our university curriculums.  Sure, there may be a few
>>elective courses in software engineering or software management, but
>>in 90% of the courses programming assignments are done as a complete
>>hack in order to meet some short term deadline with the knowledge that
>>the code will be thrown away when finished.  My impression is that
>>most students view software engineering courses as a nuisance with too
>>much report writing and not enough coding.  Hacking on the other hand
>>has a mystique in the academic setting that breeds hacker wanna-be's.
>>
>>So I believe that universities are breeding grounds for hackers.  It
>>isn't until they've come out into the real world and been involved in
>>several failed projects that the light begins to come on.
>>
>I agree, in college you learn to hack out code, mainly on your own without
>any input or help from any outside people (but occasionally in small groups),
>that will never be used or looked at again by yourself or anyone else, code
>that will never be "used" by any user.  Yet when programmers get to the 
>real world they are expected to work together with other programmers, work
>on a small part of a much larger program, write code that is maintainable
>by someone-else, or maintain someone-elses code, and finally write code that
>will be used and tested by a completely separate group of people.
>  
>I would like to see a two or three segment sequence of computer science 
>courses where in Segement I: programming teams of 3-4 people must build
>some sizable application, including a users manual and maintenance manual,
>then in the next segments, the programming teams are re-shuffled and the
>new teams act as users of one of the applications from the previous segment
>and maintainers of another.  And are not allowed to be user or maintainers
>of an application they helped develop?  The user groups and/or instructor
>would propose some enhancements/modifications that the maintenance groups
>would have to implement.
>
>FWIW
>matt
>
>
>-- 
>|  Matt Baney         | Boeing Defense and Space Division    |
>|  -----------------  |   Knowledge Systems Group            |
>| "I can't tolerate   | UUCP:        ..!bcstec!plato!mattb   |     
>| intolerant people!" | Internet:  mattb@plato.ds.boeing.com |


-- 
Kevin Sullivan
Department of Computer Science and Engineering, FR-35
University of Washington
Seattle, WA 98195 
Newsgroups: comp.software-eng