Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!ucsd!ucbvax!bloom-beacon!CALSTATE.BITNET!PAAAAAR From: PAAAAAR@CALSTATE.BITNET Newsgroups: comp.software-eng Subject: Re: CS Education Message-ID: <8911271656.AA05392@mwunix.mitre.org> Date: 27 Nov 89 16:52:36 GMT Sender: root@athena.mit.edu (Wizard A. Root) Organization: The MITRE Corp., Washington, D.C. Lines: 65 on another thread JOHNKAL@YALEVM.BITNET wrote: >At Yale, where I am developing a system for the library, I have been >trying to teach folks about the project life-cycle. I have lots of >books about writing program specs., but nothing about how to develop and >write user requirements. Not one of the books on my shelf offers an >example of user requirements. Most books on project management seem to >focus on writing good code, and work under the assumption that the >program will be what the user wants. Proto-typing can be very costly, >and still may not solve the problem. Comments?? >John W. Kalkbrenner >Sr. Research Programmer >Yale University >johnkal@yalevm Analysis is not taught in the 'standard'/CSAB CS degree. I've detected a feeling that 'analysis' = 'systems analysis' and is part of an MBA. Thus few CS text books cover it. I am trying to write one however. I've argued for more analysis in the new "computing core curriculum" with minimal success. The IEEE Glossary includes Requirements Analysis as a part of Software Engineering. The ANSI/IEEE standard (830-1984) for Software Requirements Specification (SRS) gives prototype contents lists (pp18, 23,24) and discusse s what properties a "good" SRS has. It explicitly (in section 1.1) states that the standard is not suitable for "rapid prototyping" or maintenance. The standard (para 5.1.3.1) states that mathematics is useful for special areas such as "navigation, linear programming, ...". Para 5.1.3.2 describes "Functional Models" and gives an example - which is a finite state machine. The formal approaches developed in Europe and mandated by the UK Ministry of Defense (VDM/Z/CSP/...) go further and propose to use bespoke mathematics to express requirements - examples include CICS, banking, libraries, phone books , elevators and so on. My research is exploring the limits of using discrete mathematics (logic, sets, relations, functions, abstract algebras, ..., languages and automata theory ) to express requirements. I am developing (oh, so slowly) a practical language for formal documentation called PINAPL ( PINAPL = PINAPL Is Not A Programming Language). Most requirements can be expressed by specially created formal models using the discrete math and theory found in currant CS degrees. The idea that theory is useful is heretical! Even so the creative use of Maths in Requirements Analysis and Domain Analysis can and should be taught as part of Software Engineering. ------------------------------------------------------------------------- Richard J. Botting, Department of computer science, California State University, San Bernardino, 5500 State University Parkway, San Bernardino CA 92407 PAAAAAR@CCS.CSUSCC.CALSTATE paaaaar@calstate.bitnet PAAAAAR%CALSTATE.BITNET@CUNYVM.CUNY.EDU --------------------------------------------------------------------------- Even Users have a right to pursue happiness --------------------------------------------------------------------------- Brought to you by Super Global Mega Corp .com