home *** CD-ROM | disk | FTP | other *** search
- Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news2.wam.umd.edu!nntp.abs.net!newsfeed2.telusplanet.net!newsfeed.telus.net!cyclone.bc.net!snoopy.risq.qc.ca!news.ccs.queensu.ca!cs.queensu.ca!dalamb
- From: dalamb@spamcop.net (David Alex Lamb)
- Newsgroups: comp.software-eng,comp.answers,news.answers
- Subject: Comp.software-eng FAQ (Part 1): questions and answers
- Supersedes: <questmsg_1079259302@qucis.QueensU.CA>
- Followup-To: comp.software-eng
- Date: 18 Apr 2004 09:15:03 GMT
- Organization: Computing and Information Science, Queen's University at Kingston, Ontario, K7L 3N6, Canada
- Lines: 395
- Approved: news-answers-request@MIT.Edu
- Distribution: world
- Expires: 30 May 2004 09:15:02 GMT
- Message-ID: <questmsg_1082279702@qucis.QueensU.CA>
- References: <faqmsg_1082279702@qucis.QueensU.CA>
- Reply-To: dalamb@spamcop.net (David Alex Lamb)
- NNTP-Posting-Host: highnoon.cs.queensu.ca
- Keywords: FAQ, Software Engineering
- X-Disclaimer: Approval for *.answers is based on form, not content.
- Originator: dalamb@qucis.queensu.ca
- Xref: senator-bedfellow.mit.edu comp.software-eng:114389 comp.answers:56894 news.answers:270073
-
- Last-Modified: 13 Oct 2002
- Archive-name: software-eng/part1
- URL: http://www.cs.queensu.ca/FAQs/SE/questions.html
-
- This message gives brief answers to questions that have occurred in
- comp.software-eng; in many cases they are also topics many readers would like
- NOT to see discussed again soon. Questions are:
- What is Software Engineering?
- What's a CASE Tool?
- What's a 'function point'?
- What's the 'spiral model'?
- What is a 'specmark'?
- Where can I find a public-domain tool to compute metrics?
- What metrics are there for object-oriented systems?
- How do I write good C style?
- What is 'Hungarian Notation'?
- Are lines-of-code (LOC) a useful productivity measure?
- Should software professionals be licenced/certified?
- How do I get in touch with the SEI?
- What is the SEI maturity model?
- Where can I get information on API?
- What's a 'bug'?
- Where can I get copies of standards??
- What is 'cleanroom'?
- What is the Personal Software Process?
-
-
-
- ------------------------------------------------------------------------
- Subject: What is Software Engineering?
- Date: 11 Jul 2002
-
- I'm not entirely happy with definitions, but here is one:
- * *IEEE Standard Computer Dictionary*, 610, ISBN 1-55937-079-3, 1990:
- The application of a systematic, disciplined, quantifiable approach to
- development, operation, and maintenance of software; that is, the
- application of engineering to software.
-
- Textbooks tend not to give definitions, but instead spend their introductory
- chapters explaining characteristics of the discipline. Interesting phrases
- include:
- * Ian Sommerville, *Software Engineering*, 5th edition, Addison-Wesley,
- 1996.
- The specification, development, management, and evolution of software
- systems. Not constrained by materials governed by physical laws or
- manufacturing processes. Theories, methods, and tools needed to develop
- software. Evolving models of the real world.
- * Stephen R. Schach, *Software Engineering*, 2nd Edition, Richard D.Irwin,
- Inc. and Aksen Associates, 1993.
- A discipline whose aim is the production of quality software, delivered
- on time, within budget, and satisfying users' needs.
- * Shari Lawrence Pfleeger, *Software Engineering: the Production of Quality
- Software*, 2nd Edition, Macmillan, 1991, ISBN 0-02-395115-X.
- Designing and developing high-quality software. Application of computer
- science techniques to a variety of problems. We are problem-solvers
- rather that theoreticians.
-
-
- ------------------------------------------------------------------------
- Subject: What's a CASE Tool?
- Date: 24 Feb 1998
- Archive file: casemsg (thanks to Scott McGregor <mcgregor@netcom.com> for
- inspiring this question)
-
- CASE stands for Computer Aided Software Engineering; it can be used to mean
- any computer-based tool for software planning, development, and evolution.
- Various people regularly call the following 'CASE': Structured Analysis (SA),
- Structured Design (SD), Editors, Compilers, Debuggers, Edit-Compile-Debug
- environments, Code Generators, Documentation Generators, Configuration
- Management, Release Management, Project Management, Scheduling, Tracking,
- Requirements Tracing, Change Management (CM), Defect Tracking, Structured
- Discourse, Documentation editing, Collaboration tools, Access Control,
- Integrated Project Support Environments (IPSEs), Intertool message systems,
- Reverse Engineering, Metric Analyzers.
-
-
- ------------------------------------------------------------------------
- Subject: What's a 'function point'?
- Date: 24 Feb 1998
- Archive file: funcpoints
-
- Function points and feature points are methods of estimating the "amount of
- functionality" required for a program, and are thus used to estimate project
- completion time. The basic idea involves counting inputs, outputs, and other
- features of a description of functionality. Bruno Peeters has collected a
- biblography on function points at http://www.qucis.queensu.ca/Software-
- Engineering/funcpoints.html.
-
- If interested, for a fee you can join:
- International Function Point Users Group
- 5008-28 Pine Creek Drive
- Blendonview Office Park
- Westerville, Ohio 43081-4899
- 614-895-7130
- Home page
- (available using the World-Wide Web via URL http://205.133.101.205/ifpug/home/docs/IFPUGhome.html)
-
-
- ------------------------------------------------------------------------
- Subject: What's the 'spiral model'?
- Date: 10 Oct 1998
- Archive file: spiral
-
- (1) Barry Boehm, "A Spiral Model of Software Development and Enhancement",
- ACM SIGSOFT Software Engineering Notes, August 1986.
- (2) Barry Boehm "A Spiral Model of Software Development and Enhancement"
- IEEE Computer, vol.21, #5, May 1988, pp 61-72.
-
- Basically, the idea is evolutionary development, using the waterfall model for
- each step; it's intended to help manage risks. Don't define in detail the
- entire system at first. The developers should only define the highest
- priority features. Define and implement those, then get feedback from
- users/customers (such feedback distinguishes "evolutionary" from "incremental"
- development). With this knowledge, they should then go back to define and
- implement more features in smaller chunks.
-
-
- ------------------------------------------------------------------------
- Subject: What is a 'specmark'?
- Date: 24 Feb 1998
- Archive file: specmark
-
- The SPECmark is the geometric mean of a series of benchmarks done by the SPEC
- group. There are a couple of suites, but in general SPECmark refers to the
- results of the first suite. The suite includes FORTRAN and C codes, mostly
- well known codes but slightly hacked versions.
- SPEC
- c/o NCGA
- 2722 Merrilee Drive, Suite 200
- Fairfax, VA 22031
- Phone: (703) 698-9600
- FAX: (703) 560-2752
-
-
- ------------------------------------------------------------------------
- Subject: Where can I find a public-domain tool to compute metrics?
- Date: 11 Jul 2002
- Archive file: static.html
-
- Christopher Lott has a collection of metrics tools for C programs at
- http://www.cs.umd.edu/users/cml/resources/cmetrics/.
-
- Volume 20 of newsgroup comp.sources.unix contained a public-domain package
- called "metrics", which computes McCabe and Halstead metrics. There are many
- comp.sources.unix archives around the net.
-
-
- ------------------------------------------------------------------------
- Subject: What metrics are there for object-oriented systems?
- Date: 24 Feb 1998
-
- The Empirical Software Engineering Research Group at Bournemouth University
- maintains a bibliography on OO metrics at
- http://dec.bournemouth.ac.uk/ESERG/bibliography.html, originally maintained by
- Robin Whitty of South Bank University.
-
-
- ------------------------------------------------------------------------
- Subject: How do I write good C style?
- Date: 11 Jul 2002
-
- This is answered regularly in the comp.lang.c FAQ. See Christopher Lott's list
- of C and C++ style guides at
- http://www.cs.umd.edu/users/cml/resources/cstyle/.
-
-
- ------------------------------------------------------------------------
- Subject: What is 'Hungarian Notation'?
- Date: 24 Feb 1998
- Archive file: hungarian
-
- A naming convention for C code. See Charles Simonyi and Martin Heller, "The
- Hungarian Revolution", BYTE, Aug. 1991 (vol. 16, no. 8). There are other
- naming conventions; see, e.g. "A Guide to Natural Naming", Daniel Keller,
- ETH, Projekt-Zentrum IDA, CH-8092 Zurich, Switzerland. Published in SIGPLAN
- Notices, Vol. 25, No. 5, pages 95-102.
-
-
- ------------------------------------------------------------------------
- Subject: Are lines-of-code (LOC) a useful productivity measure?
- Date: 24 Feb 1998
- Archive file: static.html
-
- Not unless you are very careful. Capers Jones' book has a detailed and
- insightful discussion of Lines of Code, including anomalies, and shows how to
- use it sensibly (eg in a single job shop, with a single language, and a
- standard company coding style). It is easy to cook up anomalies where LOC
- gives different numbers for code written in different styles, but pathological
- cases should get caught in code inspections. References:
- - T. Capers Jones, Programming Productivity, McGraw-Hill, New York, 1986
- - Capers Jones, Applied Software Measurement: Assuring Productivity and
- Quality, McGraw-Hill, Inc., 1991, 494 pages ISBN 0-07-032813-7
-
- The appendices of the latter give rules for counting procedural source code,
- as well as rules for counting function points and feature points. The
- following study, cited in Boehm's _S_o_f_t_w_a_r_e _E_n_g_i_n_e_e_r_i_n_g _E_c_o_n_o_m_i_c_s, claims that
- anomalies that seriously "fool" the LOC metric show up rarely in real code.
- - R. Nelson _S_o_f_t_w_a_r_e _D_a_t_e _C_o_l_l_e_c_t_i_o_n _a_n_d _A_n_a_l_y_s_i_s _a_t _R_A_D_C, Rome Air
- Development Center, Rome, NY. 1978.
-
-
- ------------------------------------------------------------------------
- Subject: Should software professionals be licenced/certified?
- Date: 24 Feb 1998
-
- This is a very controversial and political question. Generally, certification
- is something voluntary, while licencing is regulated by governments.
- Certification generally means some agency warrants you meet its standards;
- licencing generally means that to claim to practice a certain profession
- requires a government licence, often administered through a professional
- organization. In theory both are supposed to help judge if someone is capable
- of doing certain jobs.
-
- Licencing isn't currently required for computing professionals; some people
- would like to see some jobs require it, as with established branches of
- engineering. Others don't like government intervention, and/or believe many
- people who wouldn't get licenced are perfectly competent.
-
- Computing professionals in the USA have had a certification program for years,
- administered by the Institute for Certification of Computer Professionals
- (708-299-4227), a meta-organization with representatives from ACM, IEEE-CS,
- ADAPSO, ICCA, IACE, AIM, DPMA, AISP, COMMON, ASM, CIPS, and AWC. There are
- three certificates aimed at different broad types of practitioner, and many
- areas of specialization. To keep a certificate requires at least 40 hours of
- continuing education each year; credit can also be obtained for self-study,
- teaching, publication, etc.
-
-
- ------------------------------------------------------------------------
- Subject: How do I get in touch with the SEI?
- Date: 24 Feb 1998
-
- Try their Web server at <URL:http://www.sei.cmu.edu/>. For general
- information about the SEI, contact the customer relations department of the
- Software Engineering Institute at:
- internet: customer-relations@sei.cmu.edu
- Phone: (412) 268-5800
- A subscriber service is available to U.S. mailing addresses. Subscribers
- receive the SEI quarterly newsletter, Bridge; invitations to SEI public
- events; and first notification of course offerings and new publications. To
- become a subscriber, contact Customer Relations.
-
- To order an SEI publication, contact NTIS, DTIC, or RAI directly:
- National Technical Information Service (NTIS)
- U.S. Department of Commerce
- Springfield, VA 22161-2103
- Telephone: (703) 487-4600
-
- Defense Technical Information Center (DTIC)
- ATTN: FDRA Cameron Station
- Alexandria, VA 22304-6145
- Telephone: (703) 274-7633
-
- Research Access Inc. (RAI)
- 3400 Forbes Avenue
- Suite 302
- Pittsburgh, PA 15213
- Telephone: (412) 682-6530
- FAX: (412) 682-6530
-
-
- ------------------------------------------------------------------------
- Subject: What is the SEI maturity model?
- Date: 24 Feb 1998
- Originally-From: mcp@sei.cmu.edu (Mark Paulk)
- Archive file: maturity
-
- Maturity is not an easy concept to get down to a single paragraph, but
- consider this.
-
- Premise: The quality of a software system is largely governed by the quality
- of the process used to develop and maintain the software. Basics: The first
- step in improving the existing situation is to get management buy-in and
- management action to clean up the software management processes (walk the
- talk, as TQMers frequently say). Integration: The second step is to get
- everyone working together as a team. Measurement: The third step is to
- establish objective ways of understanding status and predict where things are
- going in your process. Continuous improvement: Understand that this is
- building a foundation for continually getting better.
-
-
- ------------------------------------------------------------------------
- Subject: Where can I get information on API?
- Date: 24 Feb 1998
-
- API stands for Application Programming Interface. For a useful subset of
- standard APIs that NIST considers relevant to US Federal government needs, you
- can look at NIST SP 500-187 "Application Portability Profile" (available using
- the World-Wide Web via URL http://nemo.ncsl.nist.gov/app-ose/), or send mail
- to mail-server@nemo.ncsl.nist.gov with
- send app-ose/app2.txt
- in the body, or contact Barbara Blickenstaff, 301-975-2816. Many of the open
- systems APIs are being developed in the IEEE POSIX groups. An article in the
- Dec. 1991 IEEE Spectrum describes these and related API standards. IEEE
- standards aren't distributed electronically, but both of the documents above
- tell how to obtain copies.
-
-
- ------------------------------------------------------------------------
- Subject: What's a 'bug'?
- Date: 24 Feb 1998
-
- You can take your pick:
- (1) Don't use "bug", use "fault" (an incorrect instruction or definition),
- "failure" (an incorrect result), or "mistake" (a human action leading
- to a failure). Paraphrased from
- IEEE Standard Computer Dictionary
- Standard 610, ISBN 1-55937-079-3
- Institute of Electrical and Electronic Engineers, Inc.
- 345 East 47th Street
- New York, NY 10017-2394 USA
- $49.50 (US$) for IEEE members
- (2) Beizer, in a footnote on page 33 of the second edition of _S_o_f_t_w_a_r_e
- _T_e_s_t_i_n_g _T_e_c_h_n_i_q_u_e_s says (paraphrased):
- I'm sticking with "bug" because everyone knows what it means,
- there are several "standards" for other terms that are incon¡
- sistent with each other, the OED says that the conventional
- computer meaning of "bug" is ancient, and short Anglo-Saxon
- words are preferable to long Norman ones.
-
-
- ------------------------------------------------------------------------
- Subject: Where can I get copies of standards??
- Date: 16 Jun 1998
-
- ISO, ANSI, and IEEE standards are usually sold to raise some of the funds
- that the various national and international standards bodies (who usually
- own the copyright) need to keep afloat; thus they are not normally avail¡
- able electronically. Also, the organizations are concerned that electron¡
- ic copies would make it too easy for people to disseminate doctored ver¡
- sions of the standards.
-
- Some IEEE standards are available by annual electronic subscription; see
- http://standards.ieee.org/catalog/olis/ (available using the World-Wide
- Web via URL http://standards.ieee.org/catalog/olis/)
-
- ISO standards may be purchased from:
- In Canada:
- Standards Council of Canada / Conseil canadien des normes
- 1200-45 O'Connor,
- Ottawa K1P 6N7
- Phone: (613) 238-3222
- Fax: (613) 995-4564
- On CD-ROM:
- Omnicom, Inc.
- 115 Park St. SE
- Vienna, VA 22180-4607
- 1-800-OMNICOM
- Also available through the National Technical Information Service
- (NTIS), 5284 Port Royal Rd., Springfield, VA 22161, (703)
- 487-4650.
- ANSI and ANSI equivalent ISO standards are available from
- ASQC Quality Press
- Customer Service Department
- P.O. Box 3066
- Milwaukee, WI 53201-3066
- Voice: (800) 248-1946
- FAX: (414) 272-1734
-
- For ITU (formerly CCITT) standards, see the ITU gopher server, (available us¡
- ing the World-Wide Web via URL gopher://info.itu.ch)or use their mail server:
- mail to itudoc@itu.ch with no subject and the following body:
- START
- HELP
- END
- There were once some CCITT standards on-line at the University of Colorado,
- but the arrangement to make them available via the Internet was terminated at
- the end of 1991.
-
-
- ------------------------------------------------------------------------
- Subject: What is 'cleanroom'?
- Date: 24 Feb 1998
-
- 'Cleanroom' is a software process based on mathematical verification of compo¡
- nents and statistical system-level testing. Cleanroom Software Engineering,
- Inc. (see Web page at http://www.csn.net/~deckm/) keeps a more extensive defi¡
- nition at http://www.csn.net/~deckm/whatiscr.html, including a bibliography.
-
-
- ------------------------------------------------------------------------
- Subject: What is the Personal Software Process?
- Date: 3 Mar 1997
-
- A discipline for monitoring, testing, and improving your own Software Engi¡
- neering work. It's described the book *A Discipline for Software Engineering*
- by Watts S. Humphrey, Addison Wesley, 1995. ISBN 0-201-54610-8. There is al¡
- so a more introductory version (intended for early programming courses): Watts
- S. Humphrey, Introduction to the Personal Software Process (SEI Series in
- Software Engineering) Reading, Mass: Addison-Wesley, 1997 ISBN 0-201-54809-7.
- There is a mailing list; to be added, send e-mailto psp-users-
- request@tqc.com.au.
- --
- "Yo' ideas need to be thinked befo' they are say'd" - Ian Lamb, age 3.5
- http://www.cs.queensu.ca/~dalamb/ qucis->cs to reply (it's a long story...)
-