Exforsys

Online Training

Comp.software-eng FAQ (Part 0): periodic postings and archives

This is a discussion on Comp.software-eng FAQ (Part 0): periodic postings and archives within the Tech FAQ forums, part of the Interviews and Job Listings category; Last-Modified: 9 May 2004 Archive-name: software-eng/part0 URL: http://www.cs.queensu.ca/FAQs/SE/ Welcome to ...


Go Back   Exforsys > Career Management > Interviews and Job Listings > Tech FAQ

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 10-03-2004, 06:15 AM
David Alex Lamb
Guest
 
Posts: n/a
Comp.software-eng FAQ (Part 0): periodic postings and archives

Last-Modified: 9 May 2004
Archive-name: software-eng/part0
URL: http://www.cs.queensu.ca/FAQs/SE/


Welcome to comp.software-eng, a newsgroup for discussion of software
engineering and related topics. This message is followed by four others, each
summarizing a set of "frequently asked questions" (FAQs):
Comp.software-eng FAQ (Part 1): questions and answers
Comp.software-eng FAQ (Part 2): CASE tools summary
Comp.software-eng FAQ (Part 3): readings
Comp.software-eng FAQ (Part 4): CASE tool vendors
Be warned: the only mechanism we use to compose these lists is to gather
information submitted by people around the net, post it regularly, and
incorporate feedback. All evaluations are the opinions of those who submitted
them; your mileage may vary. Send comments to dalamb@spamcop.net (David Alex
Lamb).

Many FAQs, including this one, are available on the archive site rtfm.mit.edu
in the directory pub/usenet/news.answers. The name under which a FAQ is
archived appears in the Archive-name line at the top of the article. This
FAQ, and the parts that follow, are archived as software-eng/part0 through
software-eng/part4.

You can search through past comp.software-eng articles, and those of other
newsgroups, via DejaNews at http://www.dejanews.com/.

------------------------------------------------------------------------
Subject: World-Wide Web archives
Date: Wed May 24 08:22:43 1995

The information in the FAQs and the comp.software-eng archives is available
through the World-Wide Web at
<URL:http://www.cs.queensu.ca/FAQs/SE/>
and also
<URL:http://www.cs.queensu.ca/Software-Engineering/>
Everything visible through the Web is also available via FTP; the above URL
leads to the same directory as you get via anonymous FTP to
<URL:ftp://ftp.cs.queensu.ca/pub/software-eng/www/>

------------------------------------------------------------------------
Subject: Other Web sites
Date: 10 Nov 2002

The following are other Web sites related to software engineering:

A. Tools
1. Brad Myers (Brad.Myers@cs.cmu.edu) maintains a list of user interface
software tools at
http://www.cs.cmu.edu/afs/cs.cmu.edu...toolnames.html.
2. CERA Research's EE Toolbox for embedded systems at
http://www.cera2.com/ebox.htm.
3. Simon Stobart's list of freeware and shareware CASE tools for IBM PCs
running MS Windows at http://osiris.sunderland.ac.uk/sst/casehome.html.
4. Applied Information Science International runs a forum on data modeling
and other forms of abstract data representation. It includes
discussions of methodologies, reviews of CASE products, users' reports
of their experiences in actual design projects, and references to other
sources via WWW links and a bibliography of printed material.
5. info-partners international, inc. maintains a Software Information
Center, at http://www.info-partners.com/softinfo/ with (as of June 1997)
information on over 15,000 software products and their vendors.
6. Brian Marick (marick@testing.com) maintains a list of testing tools
suppliers.
7. The page describing the Lucent Software Toolchest CD-ROM (including
CSCOPE).
8. The University of Sunderland's page on Meta-CASE systems at
http://osiris.sunderland.ac.uk/rif/m...case.home.html.
9. The Software Deployment Information Clearinghouse at
http://www.cs.colorado.edu/~rickhall/deployment/ describes tools for
packaging, releasing, installing, configuring, updating, and
uninstalling a software system.
B. Standards
1. The IEEE has an online catalog of its hardcopy standards for software
engineering at http://stdsbbs.ieee.org/products/catalog/it.html#gen23.
2. Software development and documentation standards are available, for a
fee, from IEEE. These supersede earlier standars such as MIL-STD-498
and DOD Standard 2167A.
3. Praxion provides some ISO 9000-3 Guidelines in Plain English.
C. FAQs
1. Pete Phillips' project management FAQ at http://www.faqs.org/faqs/proj-
plan-faq/.
2. David W. Eaton's configuration management and problem tracking FAQs at
http://www.iac.honeywell.com/Pub/Tech/CM/.
3. The comp.object (Object Orientation) FAQ at http://www.cyberdyne-object-
sys.com/oofaq2/.
4. Software Testing Laboratories, Inc. maintains a web page on creating
high quality software products for the commercial marketplace at
http://www.stlabs.com/default.htm.
5. The Configuration Management Yellow Pages contains many links to online
CM resources.
6. Rick Hower's Software QA and Testing Resource Center.
D. Newsletters and E-Mail
1. Bill Frakes edits the Software Reuse and Re-engineering newsletter at
http://frakes.cs.vt.edu/renews.html.
2. Software Research, Inc. archives its monthly Testing Techniques
Newsletter (TTN) at http://www.soft.com/News/TTN-Online/.
3. The SEWORLD mailing list (seworld@cs.colorado.edu).
E. Education
1. David Eichmann's list of educational programs has vanished.
2. The Canadian Information Processing Society's draft software engineering
curriculum.
F. Other
1. ACM SIGSOFT's list of Software Engineering conferences, most of them
sponsored by or in cooperation with SIGSOFT.
2. The software engineering entry of the WWW Virtual Library, at
http://www.w3.org/hypertext/DataSour.../Overview.html.
3. The ASSET public software reuse library at http://source.asset.com/;
start by reading their FAQ at http://source.asset.com/WSRD/faq.html,
then their Worldwide Software Resources Discovery (WSRD) catalog at
http://source.asset.com/WSRD/catalog.html.
4. Philip Johnson's archive on formal technical review at
http://www.ics.hawaii.edu/~johnson/FTR/.
5. Charles McCann's (cmccann@okway.okstate.edu) Capability Maturity Model
Level 2 Focus Group at http://www.okstate.edu/~cmccann/.
6. Marko Krajnc's page on component technology at
http://www.odateam.com/cop/.
7. Manfred Schneider's "Cetus Links" on object orientation at
http://www.rhein-neckar.de/~cetus/software.html.
8. Robin Whitty's bibliography on object-oriented metrics at
http://www.sbu.ac.uk/~csse/publications/OOMetrics.html.
9. The Personal Software Process (PSP) resources page at
http://wwwipd.ira.uka.de/PSP/ at theUniversity of Karlsruhe.
10. The Process Patterns Resource Page at
http://www.ambysoft.com/processPatternsPage.html.

------------------------------------------------------------------------
Subject: other newsgroups
Date: 28 Oct 1994

The following other newsgroups discuss topics related to software engineering;
consequently, coverage of these topics in this newsgroup (and thus the
comp.software-eng archives) tends to be sparse. Many of these groups have
their own FAQ's, which you can find in the appropriate *.answers group (e.g.
comp.answers for any group whose name starts with "comp.").

comp.groupware Software/hardware for shared interactive environments
comp.human-factors Human factors, including user interfaces
comp.lang.* Discussion of specific programming languages.
comp.newprod Announcements of new products
comp.object Object-oriented analysis/design/programming/systems
comp.programming Programming, especially algorithms and data structures
comp.realtime Computer-based realtime systems
comp.software.measurement Software metrics
comp.software.testing Software testing
comp.software.config-mgmt Configuration management and problem tracking
comp.specification.misc Formal specification methods
comp.specification.larch The Larch family of specification notations
comp.specification.z The Z formal specification notation
comp.sw.components Reusable software components
------------------------------------------------------------------------
Subject: comp.software-eng archives
Date: 29 Oct 1994

The following files are available via anonymous FTP from
ftp://ftp.cs.queensu.ca/pub/software-eng/archive
Log in with user ID 'anonymous' and use your mailing address as the
password. Each file has a header (in e-mail or news format) that credits the
original collector.

Readings
26 Jan 1993 ada: bibliography on Ada and software engineering
13 May 1992 aiswe: readings: artificial intelligence and soft.eng.
7 Jul 1992 fault: Fault Tolerance references
13 Feb 1992 readcase: Bibliography on CASE
22 May 1992 reflist: Tero Ahtee's software engineering reference list
15 Feb 1992 statecharts: Reference list on Harel's statecharts
10 Apr 1992 verification: References on program verifier design
Book reviews
27 Mar 1992 reviewJapanSoftFactory.html: Michael A. Cusumano: "Japanese
Software Factories"
31 Mar 1992 reviewFowlerRifkin.html: Priscilla Fowler and Stan Rifkin:
"Software Engineering Process Group Guide"
31 Mar 1992 reviewMarksTesting.html: David M. Marks "Testing Very Big
Systems"
29 Oct 1994 reviewNeumannRisks.html: Peter G. Neumann's "Computer-Related
Risks"
31 Mar 1992 reviewOuldTesting.html: Ould and Unwin's "Testing in Software
Development"
31 Mar 1992 reviewWeinbergQuality.html: Gerald M. Weinberg's "Quality
Software Management - Volume 1: Systems Thinking"
Tools
2 Oct 1991 CASEexp: experience with CASE tools
31 Jul 1993 cmtools: Configuration management tools
31 Jul 1993 diagramedit: Diagram editors and tools for building them
7 Jul 1992 pdcase: Public-domain CASE tools
26 Mar 1993 performance: performance analysis tools
7 Jul 1992 petri: Petri net tools
30 Jul 1993 pmtools: Project management and design tools
13 Apr 1992 probtrack: Problem tracking tools
7 Jul 1992 restruct: Tools for restructuring and reverse engineering
21 Oct 1991 statsTool: X-based statistics and graphing packages
30 Jul 1993 syslevel: Realtime/hardware system-level CASE tools
31 Jul 1993 testTools: Tools for testing
15 Feb 1992 transynth: Transformation/synthesis systems
3 Aug 1993 uims: User Interface Management Systems
Uncatalogued topics
31 Jul 1993 2167a: DoD-Std-2167a and life cycle models
31 Jul 1993 anecdote: Anecdotes/stories about software engineering
10 Sep 1991 bachman: Bachman information modeling
9 Jul 1993 bookTOC: Tables of contents of books
31 Jul 1993 cdif: CASE Data Interchange Format
30 Jul 1993 cleanroom: Cleanroom software development
4 Jun 1992 color: Ergonomics of color displays
31 Jul 1993 concur: Concurrent Engineering
28 Feb 1992 cubicle: Productivity effect of offices vs. cubicles
26 Mar 1993 defect: Defect tracking
7 Jul 1992 designchange: Effect of design changes
30 Jul 1993 education: Software Engineering education and degree programs
15 May 1992 environment: Software Engineering environments
11 Dec 1992 ethics: ACM code of ethics
18 Sep 1991 facet: Faceted classification and multiple inheritance
29 Oct 1994 FDA.html: Food and Drug Administration and Software
31 Jul 1993 formal: formal methods in the USA
10 Apr 1992 funcpoints: function/feature points
2 Oct 1991 hood: Hierachical Object-Oriented Design
31 Jul 1993 horror: Computer horror stories
7 Apr 1995 hungarian: papers on Hungarian notation
2 Oct 1991 ieee: IEEE software engineering standards
30 Jul 1993 inspect: Code inspection techniques
31 Jul 1993 knowuser: Discussion on whether to ``know the user''
31 Jul 1993 lotos: Language of Temporal Ordering of Specifications
9 Apr 1992 maint: Software maintenance laws
6 Mar 1992 manuals: Guidelines for software manuals
31 Jul 1993 maturity: SEI Capability Maturity Model
30 Jul 1993 oodb: Object-oriented databases
10 Jan 1992 ooformat: Format for object-oriented design documents
10 Apr 1992 oomaint: maintenance and complexity in o-o systems
31 Jul 1993 oomethod: Object-oriented methodologies
30 Jul 1993 portableC: writing portable C code
18 Sep 1991 productivity: Feature point productivity for several countries
7 Jul 1992 proto: Prototyping
15 Feb 1992 readintro: Introducing your manager/customer to SE ideas
15 Feb 1992 realtime: Information on realtime software development
31 Jul 1993 reqelicit: Requirement Elicitation
31 Jul 1993 reuse: Discussion of software re-use.
31 Jul 1993 safety: Formal methods and software safety
31 Jul 1993 SEorigin: Origin of term ``software engineering''
15 Feb 1992 specmark: SPEC modern architecture benchmarks
10 Jan 1992 spiral: References on Spiral life-cycle model
31 Jul 1993 standards: standards relevant to software engineering
23 Jun 1997 static.html: Software metrics and static analysis
31 Jul 1993 strucAD: Stuctured analysis and design and SADT
10 Apr 1992 techTransfer: Technology transfer
31 Jul 1993 testing: Discussion of testing (and inspection)
31 Jul 1993 vdm-z: formal methods Z and VDM

------------------------------------------------------------------------
Subject: more detailed information on specific products

The following files are in the "blurb" subdirectory of the software
engineering archives at cs.queensu.ca; retrieve them as described for the
main archives, except that for the mail archive server you say
send software-eng/blurb f1 f2 ....
The files consist of comments on individual products or companies. When a
vendor sends me detailed information on a product that won't fit into the FAQ,
I put it here - along with other comments from the net.

Books
22 Oct 1994 ooexample: Berard Software Engineering's "A Complete Object-
Oriented Design Example"
22 Oct 1994 ooproj: Berard Software Engineering's "A Project Management
Handbook for Object-Oriented Software Development"
4 Nov 1994 FKNprocess.html: Finkelstein et al.'s Software Process
Modelling and Technology
31 Jul 1993 jaloteSEtext: P.Jalote's "An Integrated Approach to Software
Engineering"
7 Apr 1995 safeware.html: Nancy Leveson's "Safeware: System Safety and
Computers"
31 Jul 1993 schach2e: Schach's "Basic Software Engineering" text
Discussion of tools
31 Jul 1993 cvs: CVS version management tool
31 Jul 1993 ief: TI Information Engineering Facility (IEF)
31 Jul 1993 PCTE-ATIS-CAIS: Discussion of PCTE vs ATIS vs CAIS
29 Oct 1994 ooadTools.html: Evaluation of OO Analysis and Design Tools
31 Jul 1993 rcs: RCS version control system
31 Jul 1993 rdd-100: RDD-100 Requirements Driven Developer
31 Jul 1993 stp-teamwork: Comparison of Software Thru Pictures and Cadre
Teamwork
Submissions from vendors
31 Jul 1993 aegis: AEGIS project change supervisor
31 Jul 1993 autoplan: AUTOPLAN project scheduling tool
27 Oct 1994 cmvc: IBM Configuration Management Version Control (CMVC)
27 Oct 1994 CMZ: CMZ source code management system
5 May 1995 continuus.html: Continuus configuration management and problem
tracking
27 Oct 1994 DDTS: Distributed Defect Tracking System (QualTrak)
31 Jul 1993 FIELD: Brown University FIELD environment
31 Jul 1993 IFAD: IFAD VDM-SL toolbox
27 Oct 1994 LDRA: LDRA testbed
8 Dec 1994 MacAnalyst.html: Excel Software's MacAnalyst and MacDesigner
tools
31 Jul 1993 parcplace: ParcPlace Smalltalk and C++ tools
26 Apr 2004 PurePulse: Pure Pulse software newsletter
31 Jul 1993 rational: Rational Inc. Ada environment, Rose OOD tool
31 Jul 1993 shapetools: shapetools version management/make-like tool
31 Jul 1993 specbox: SpecBox VDM support tool
31 Jul 1993 telelogic: Telelogic Environment for CCITT SDL
4 Nov 1994 Vantive.html: Vantive Qualtity problem tracking system
13 Jul 1995 verilog.html: Verilog home page
--
"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...)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 10-03-2004, 06:15 AM
David Alex Lamb
Guest
 
Posts: n/a
Comp.software-eng FAQ (Part 2): CASE tools summary

Last-Modified: 13 Oct 2002
Archive-name: software-eng/part2
URL: http://www.cs.queensu.ca/FAQs/SE/case.html

This is the monthly "frequently asked questions" (FAQ) posting on
Computer-Aided Software Engineering (CASE) tools:
ECMA Reference Model
Other sources of information
Configuration management and problem tracking tools
CASE tools for object-oriented design and analysis
CASE tools for educational use
Look for lines starting with "Subject:" (control-G command in rn).
Most products are trademarks or registered trademarks of their
vendors. Send comments to dalamb@spamcop.net (David Alex Lamb).


------------------------------------------------------------------------
Subject: ECMA Reference Model
Date: 8 Jul 1996
Originally collected by: ant@hpfcbig.SDE.HP.COM (Anthony Earl)

The European Computer Manufacturer's Association (ECMA) adopted TR/55,
"Reference Model for Frameworks of Software Engineering Environments", 2nd
edition, in December of 1991; NIST and ECMA produced a revision in August 1993.
In Europe, it's available for free from
The European Computer Manufacturers Association
114 Rue du Rhone
CH-1204 Geneva
Switzerland
Tel: +41 22 735 36 34
Fax: +41 22 786 52 31
In the United States, it is for sale by the National Institute of Standards and
Technology as NIST Special Publication 500-211, and also via anonymous FTP to
site nemo.ncsl.nist.gov as pub/isee/publications/sp.500-211.ps.Z. Contact:
the Superintendent of Documents,
US Government Printing Office,
Washington DC 20402.
There is a reference model of end-user services for software engineering
environments (e.g., requirements, design, code, test, tracing, planning,
publications, plus about 50 others) called the Project Support Environment
Reference Model that was developed by the PSESWG (Project Support Environment
Standards Working Group). It is also a NIST special publication, SSP 500-213,
and is also available via anonymous FTP to site nemo.ncsl.nist.gov as
pub/isee/publications/sp.500-213.ps.Z.

------------------------------------------------------------------------
Subject: Other sources of information
Date: 8 Apr 1995

Brad Myers (Brad.Myers@cs.cmu.edu) maintains a list of user interface software
tools (available using the World-Wide Web via URL
http://www.cs.cmu.edu/afs/cs.cmu.edu...oolnames.html), which are
tools that can help to create the user interface part of the software.

There is a Hypercard stack that you can get by anonymous FTP from the info-
mac/card directory at sumex-aim.stanford.edu. The version 1.1 runs under
various Hypercard versions including 2.0v2 on newer Macs:
-rw-r--r-- 1 macmod 286168 Jan 29 12:13 case-products-11.hqx
A short companion report (about 60 pp. including tool signal info and my view
of why and where this market is going) can be obtained from GMD; Western US
office is: GMD, 1942 University Ave. #207, Berkeley CA 94704.)
Heinz W. Schmidt hws@icsi.berkeley.edu

[edsr!bigdaddy!cdm@uunet.UU.NET (Clifford D. Morrison) did a search with Archie
and points out that this file isn't available at sumex anymore; possible
locations follow. A file with a .Z ending usually means you need to retrieve
it in binary/image mode and run it through UNIX 'uncompress':
Host wuarhive.wustl.edu (128.252.135.4) Location: /mirrors2/info-mac/Old/card
FILE rw-r--r-- 248003 Jun 30 1991 case-products-11.hqx.Z
Host utsun.s.u-tokyo.ac.jp (133.11.11.11) Location: /Mac/info-mac/card
FILE rw-rw-r-- 286168 Feb 12 10:39 case-products-11.hqx

See also the Mar. 1, 1992 issue of Datamation. There are over 400 products
listed for different purposes and platforms. Entries in the listing describe
Company, Product, Product Type, and Operating System. Some of the product
types are: Structured Analysis, Planning and Design, Strategic Planning,
Analysis and Design, User Interface Konstruction, DBMS Design, Design,
Prototyping, Project Management, Verification, Validation, (Data) Modeling,
Simulation , Diagramming, Methodology, Software Metrics and Static Analysis,
Configuration and Release Management, Project Management, Maintenance, Code
Generation, Restructuring and Reverse Engineering, Performance, Testing.
(sprinzl@edvz.tuwien.ac.at)

------------------------------------------------------------------------
Subject: Configuration management and problem tracking tools
Date: 8 Apr 1995

This FAQ used to contain information on configuration management and problem
tracking tools. With the advent of newsgroup comp.software.config-mgmt, it's
more appropriate to go looking in its FAQs (available using the World-Wide Web
via URL http://www.iac.honeywell.com/Pub/Tech/CM/).

------------------------------------------------------------------------
Subject: CASE tools for object-oriented design and analysis
Date: 4 Jun 2002
Originally collected by: calvo@nssdca.gsfc.nasa.gov (Sherri Calvo)

Berard Object & Class Specifier (BOCS) by Berard Software Engineering (see
vendor list).
BOCS is an object-oriented analysis and design CASE tool for developing
models of software & business systems and their underlying objects
(classes, parameterized classes, and instances of classes). BOCS is used
to create programming language independant specifications, then
automatically generate formatted documentation combining text and graphics
into popular publishing packages. BOCS also provides code generation for
C++ and Smalltalk. The traceability tool allows users to trace
requirements to design and code. BOCS runs on Microsoft Windows 3.1 (TM).
$595 per copy. - [russ@bse.com (Russell Hopler)]

Bridgepoint by Project Technology, Inc. (see vendor list).
The BridgePoint tool suite is an integrated set of automation tools
specifically designed to support the Shlaer-Mellor Method of Object-
Oriented Analysis and Recursive Design through a detailed understanding of
the underlying formalism. The Model Builder allows easy capture of a
complete set of integrated Shlaer-Mellor OOA models. The Model Verifier
increases final system quality through simulated execution with model
debugging, completeness audits, model interpretation, controlled execution
rates and execution logging. The Generator reduces hand-coding and enables
design reuse through a pattern-based capture of system design and automatic
code generation from OOA models. - [text supplied by vendor]

Cadre Teamwork (see http://www.cs.queensu.ca/Software-
Engineering/blurb/cadre.html) by Cadre Technologies, Inc (see vendor list).
Associated with Project Technology. ObjectTeam for Shlaer/Mellor, Rumbaugh.
Ada structure graphs (Booch/Buhr).

CASET .
714-496-8670 IPSYS ToolBuilder

Clyder by Sema Group (see vendor list).
An object-oriented requirements engineering method, trying to combine rigour
and usability. Main characteristics: few notations, native object-
orientedness, ability to range from informal but structured specifications
to fully formal ones, formal semantics, sophisticated semantic checks, etc.
Demo Windows tool at http://osiris.sunderland.ac.uk/sst/case/clyder20.zip.

GDpro by Advanced Software Technologies, Inc. (see vendor list).
(Formerly Graphical Designer) UML visual modeling tool for collaborative
development of Java, EJB, C++ and IDL code. Features include: markerless
round-trip engineering; inter-model synchronization; Web system reports;
VBA customization; best-of-breed lifecycle tool integrations; and Rose
import. Download a full-featured free evaluation copy at
http://www.gdpro.com/ - [Monica Clancy <mclancy@advancedsw.com>]

HOW by Riverton Software (see vendor list).
A component modeling tool and deployment framework for building business
applications in Visual Basic, Java, or PowerBuilder.

ICONIX PowerTools by ICONIX Software Engineering Inc. (see vendor list).
A suite of ten integrated multi-user analysis and design tools for Object-
Oriented and Structured development. The company also offers an
interactive CD-ROM training course in O-O methods.

Ideogramic UML (see http://www.ideogramic.com/products) by Ideogramic (see
vendor list).
A UML CASE tool with traditional features, e.g. the most important diagram
types, XMI, printing, and reverse engineering, but with a user interface
based on a quite different interaction principle: Instead of tool bars and
menus, it uses gestural interaction somewhat like the way letters are drawn
on a Palm Pilot. This makes it really easy and efficient to use, and
uniquely also allows for use on a large electronic whiteboard and on Tablet
PC's. - [text supplied by vendor]

iUML (see http://www.kc.com/html/products/iuml/iuml.html) by Kennedy Carter
Ltd. (see vendor list).
Allows users to construct, execute and generate code from UML models. Runs
on Windows and Unix.

MetaEdit by MetaCase Consulting OY (see vendor list).
A metaCASE tool that supports most available Object-Oriented, structured and
Business Process Re-engineering methods. It generates Smalltalk and C++ as
well as Java, Delphi and SQL. With the MetaEdit Method Workbench method
support and code generation can be extended. A variety of platforms are
supported. Educational licenses can also be obtained.

Methods Workbench by ISDE Metasoft Ltd. (see vendor list).
Formerly known as Virtual Software Factory (VSF). A meta-CASE configurable
tool incorporating a KBS.

Object Domain by Dirk Vermeersch (see vendor list).
A shareware object-oriented analysis and design CASE tool for Windows 3.1.
It is a full implementation of the Booch notation (from Object Oriented
Analysis and Design with applications, second edition. by Grady Booch).
All six diagrams (class, object, module, state, process, and interaction)
can be entered in this tool. C++ stubs and module hierarchy can be
generated from the diagrams. Available via anonymous FTP to site
oak.oakland.edu as /SimTel/win3/pgmtools/domain.zip

ObjecTime Developer (see http://www.objectime.com/) by ObjecTime Ltd. (see
vendor list).
ObjecTime Developer enables software developers to build applications using
component-based visual design models. TotalCode (tm) application generation
automatically generates complete C and C++ executables for UNIX, NT and a
variety of real-time operating systems directly from system or component
models. Application generation of fully or partially complete designs, plus
animated visual and symbolic debuggers, encourage early and continuous
design refinement and validation. - [text supplied by vendor]

ObjectMaker (a/k/a Adagen) by Mark V Systems, Ltd. (see vendor list).
Runs under Windows, X11, VMS (Mac under development). Support for OMT
(Rumbaugh et al), Booch, Coad-Yourdon, and other object-oriented and
structured methods. Tailorable for new (and combinations of existing)
methods. Code generation and reverse engineering for Ada, C/C++ (others
planned). Generation of diagrams from the repository. Support for process
modeling notations. Interoperation with other tools via DDE, OLE, TCP/IP,
etc. - [dwig@markv.com (Don Dwiggins)]

Objectory Support Environment by Objectory Corporation (see vendor list).
A configurable object-oriented analysis and design tool for large teams.
Supports analysis and design activities according to Jacobson`s use case
driven development approach (Object-Oriented Software Engineering - A use
case driven approach, by Jacobson et al, published by Addison-Wesley
1992.). Team support through central repository, and can also be integrated
with Configuration Management tools. Generates C++, Smalltalk, Corba/IDL
and more. Available for Windows, Windows NT, OS/2, SunOS, Solaris, AIX, HP-
UX. Current version (as of January 1995) is 3.5, with 3.6 due on June 15,
1995.

OMW/Kappa by IntelliCorp (see vendor list).
An O-O development environment for client/server applications, based on the
Martin/Odell methodology.

OOAtool by Object International, Inc. (see vendor list).
Runs under Windows, Mac, and X11. Supports methodology in Peter Coad's books
"Object-Oriented Analysis" and "Object-Oriented Design".

OOTher .
(OO Documentation Tool); once called OoaToolFree Rel 1.06f (for win 3.1).
Supports Coad's OOA/OOD, Jacobson OOSE (parts) and Finite State Machine
notation (a subset of SDL) and C++ header file generation. Free for
Students, $70 home users, $170 site licese for 5 users for others. e-mail:
konziel@eua.ericsson.se. Archived by Simon Stobart at
http://osiris.sunderland.ac.uk/sst/case/oot-106f.zip.

Paradigm Plus by Platinum Technology, Inc. (see vendor list).
An object-oriented analysis and design tool that supports Enterprise
Component Modeling (ECM), code generation, and reverse engineering.
Supports all leading OO methods, incorporates a distributed object
repository for large teams of concurrent users, and automaticly
synchronizes models, source code, and documentation. Available on most PC
and UNIX platforms.

Paradigm Plus / EVB Edition by EVB Software Engineering, Inc. (see vendor
list).
Supports the EVB Ada Object Oriented Development (AOOD) methodology. Can be
configured to support other methods. Has Ada code generation.

ProxyDesigner (see
http://www.proxysource.com/home.asp?...yDesigner.html)
by Proxysource.com (see vendor list).
ProxyDesigner is a free PC-based, UML design tool with an easy to learn and
use user interface, support for full hard-copy print-outs of designs, and
extensive built-in formatting, alignment, and layout functions.
ProxyDesigner allows developers to graphically create complex UML software
designs, patterns, and architectures. Completed or in-process designs to be
published to the web, where users can share and discuss their designs with
other developers on-line. - [text supplied by vendor]

Rational Rose by Rational (see vendor list).
Supports Booch methodology. Available for SunOS, AIX, MS Windows, OS/2.

StP Product Family by Aonix (see vendor list).
The Aonix StP product family consists of a component-based modeling approach
for OO and Structured Modeling. Training is available for all products on-
site or off-site. The family includes the following products: StP/UML - for
UML-based, Object-Oriented development; StP/SE - for Structured
Environments methods, including DeMarco and Yourdon; StP/IM - for
Information Modeling methods, including Bachman and Chen.

System Architect by Popkin Software & Systems (see vendor list).
Supports ER diagrams, Booch methodology for Ada and C++, Coad/Yourdon.
Diagram editor checks for consistency and rule violations. Runs under MS-
Windows.

Unirel Openlook Toolkit by Unirel (see vendor list).
An Eiffel wrapper for Xlib. US $2000

WinA&D/Mac&D by Excel Software (see vendor list).
Supports UML, along with system analysis, software design and code
generation; integrates with HTML documents.

With Class by MicroGold Software Inc. (see vendor list).
A Case Tool for Windows 3.1, 95/NT that supports UML, Booch, Rumbaugh,
Shlaer-Mellor and Coad-Yourdon. It reverse engineers C++, Java, Visual
Basic, and Delphi. It can generate most OO languages through its scripting
capabilities, can reverse engineer relational databases and can OLE paste
into Word and other OLE compatible documents.

Some diagram editors support drawing conventions of various OO methodologies.
They typically don't have facilities that depend on the semantics of the
diagram, such as checking and code generation, but may have other virtues.

Robochart (see http://www.csn.net/digins/) by Digital Insight (see vendor
list).
Interactive diagram editor for OPEN LOOK & Motif ($850); Does hierarchical
ERDs, dataflows, etc. Educational discounts. Free evaluation copy via web
page or via anonymous FTP to site ftp.csn.org as digins.

SDDGen by Trident Systems Inc. (see vendor list).
SDDGen is a graphical design tool for capturing, organizing and communicating
software design information. SDDGen allows the software designer to select
(or create) a design style, including several varieties of OO; create
language-independent schematics of his/her software design, including
annotations and (if desired) compile-ready code; and produce multiple
products from the design, including formal design reports, slide
presentations, and code outlines. A templating language supports the
creation of additional design products, while a design library allows reuse
of design information from project to project. Multi-user features allow
configuration control during multiple simultaneous design sessions. SDDGen
runs on Solaris, SunOS, HP/UX, and Irix. A single node, multi-user license
costs $1,195.00. - [mike@tridsys.com (Mike Casey)]

Visual Thought by Confluent, Inc. (see vendor list).
A multipurpose UNIX diagramming & flowcharting tool supporting various
software diagramming notations (including Booch, Rumbaugh, HP Fusion,
Jacobson's Use Case, ER), as well as mixed and custom notations. It also
draws general diagrams, including flowcharts (with all standard flowchart
shapes), network diagrams, and circuit/logic diagrams for presentation and
documentation graphics. Confluent offers a free evaluation CD-ROM; see
http://www.confluent.com/vt-offer.html.

------------------------------------------------------------------------
Subject: CASE tools for educational use
Date: 3 Mar 1997
Originally collected by: render@zeppo.colorado.edu (Hal Render)

Teamwork by Cadre Technologies, Inc (see vendor list).
It runs on SUN, ULTRIX, VMS, HP, APOLLO, OS2, etc, with X window support on
most of the platforms with more to come soon (including some low-cost PC X
emulators. [from cadreri!sat@Sun.COM (Scott A. Trachtenberg)]

We have been using for the past few years the following two tools: (Schemacode
International Inc (see vendor list))
SCHEMACODE: automatically translates schematic pseudocode design into source
code. Works for most programming language except ADA. Available on PC, soon
on UNIX. Educational licence 250$ + 50$ per PC. IEEE Computer had a good
report on this tool. Sometime last fall.
DATRIX: a tool for software quality assessment on PC and UNIX machines. Works
for C, FORTRAN and PASCAL. Measures up to 40 metrics and provides a unique
representation of the control flow, which is useful for testing, program
understanding, and program evaluation. Expensive; educational licence for
500$, including up to 10 workstations.
We have been using these tools for the past three years in 4th year undergrad
and grad soft.eng. courses Ecole Polytechnique in Montreal.
[from robillar@rgl.polymtl.ca (P. N. Robillard)]

ToolBuilder (formerly TBK) by IPSYS Software Plc (see vendor list).
It provides meta-tools (design editors, structure editors) a single
underlying ERA database (supporting fine structure) and a uniform UI based on
Motif. Tools exist for HOOD (design for Ada). Might have educational discounts.

STONE by FZI (see vendor list).
(see also archives file "environments") - An SEE for research and education.
An OODBS called OBST is used as the core of the environment. OBST is available
via anonymous ftp from gate.fzi.de [141.21.4.3]. OBST provides currently an
interface to C++. A call interfaces to C is also available, as well as an
embedding of OBST into the interactive tool command language TCL. [from
Bernhard Schiefer <schiefer@fzi.de>]

Rational Environment by Rational (see vendor list).
A tightly integrated, interactive software engineering environment for total
lifecycle control of Ada projects. Supports design, development, unit test,
maintenance, verification, document generation, configuration management,
subsystem tools, incremental compilation. Can also integrate with external
front-end CASE tools and external target compilers. [from: Bob Geiger
<rjg@gator.Rational.COM>]

Objectory by Objective Systems (see vendor list).
An object-oriented Analysis and Design method with supporting CASE-tool. The
tool is a multi-user tool with a central repository and includes multiple
diagram and documentation techniques, consistency checks, traceability, etc. It
covers several models including Requirements, Analysis and Design models and
also C++ code generation. The tool runs on multiple platforms. An overview of
Objectory can be found in "Object-Oriented Software Engineering - A use case
driven approach", by Jacobson et al, published by Addison-Wesley 1992.

OOD (see http://www.cs.queensu.ca/Software-En...blurb/OOD.html) by
Prof. Taegyun Kim of Pusan University in South Korea.
A free tool for educational use, based on Rumbaugh's Object Modeling
Technique. Prof. Kim has built it on a SPARC, but it should build on most UNIX
systems with X11-R5, Motif-1.2 and a "reasonable" C++ compiler.

Bridgepoint (see http://www.cs.queensu.ca/Software-
Engineering/blurb/bridgepoint.html) by Objective Spectrum, Inc. (see vendor
list).
Set of CASE tools for Shlaer-Mellor OOAD (from analysis to code generation).
Significantly reduced fees are possible for educational institutions.

--
"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...)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 10-03-2004, 06:15 AM
David Alex Lamb
Guest
 
Posts: n/a
Comp.software-eng FAQ (Part 3): readings

Last-Modified: 13 Oct 2002
Archive-name: software-eng/part3
URL: http://www.cs.queensu.ca/FAQs/SE/reading.html

This is the monthly "frequently asked questions" (FAQ) posting on
reading materials for software engineers. Topics include:
Textbooks
Periodicals on Software Engineering
Professional Journals
Mixed Research and Practice
Research Journals
Other magazines
Other sources of information
General reading for software engineers
General
Programming in the large
Programming in the small
Mathematical Approaches
Other
Cost Estimation
Formal Specification
Metrics
Metrics - General
Metrics for object-oriented systems
Object-Oriented Analysis and Design
Programming Style
Real-Time Systems
Requirements Analysis
Requirements Analysis - General
Collaborative Requirements Analysis
Software Process
Software Testing
User Interfaces
Look for lines starting with "Subject:" (control-G command in rn).

Be warned: the only mechanism we use to compose this list is to gather
information submitted by people around the net, post it regularly, and
incorporate feedback. All evaluations are the opinions of those who submitted
them; your mileage may vary. Send comments to dalamb@spamcop.net (David
Alex Lamb).


------------------------------------------------------------------------
Subject: Textbooks
Date: 6 Dec 1997
Originally collected by: hsrender@happy.colorado.edu (Hal Render)
The first 8 items are Hal Render's original list in his rough order of prefer*
ence.

1. Software Engineering: The Production of Quality Software by Shari Pfleeger,
2nd Edition, Macmillan, 1991, ISBN 0-02-395115-X.
hsrender@happy.colorado.edu: Like #2&#3, had the best explanations of what
I want to cover (different engineering lifecycles, methods, and tools).
2. Software Engineering: A Practitioner's Approach by Roger Pressman, 4th
Edition, McGraw-Hill, 1996, ISBN 0070521824
hsrender@happy.colorado.edu: (on 2nd edition): Like #1&#3, had the best
explanations of what I want to cover (different engineering lifecycles,
methods, and tools).
robb@iotek.uucp (Robb Swanson): The definitive book on the subject as far
as I'm concerned.
johnson@aplcen.apl.jhu.edu (Michelle Johnson): A good text book as well as
reference.
3. Software Systems Engineering by Andrew Sage and James D. Palmer.
hsrender@happy.colorado.edu: Like #1&#2, had the best explanations of what
I want to cover (different engineering lifecycles, methods, and tools).
4. Fundamentals of Software Engineering by Ghezzi, Jayazeri and Mandrioli,
Prentice-Hall, 1991
hsrender@happy.colorado.edu: Like #5, good, and covered the issue of
specifications and verification better, but at the expense of other
aspects of the development process. I may use one of them for a graduate
course in software engineering.
nancy@murphy.ICS.UCI.EDU (Nancy Leveson): Better than Sommerville, although
I like much of Sommerville.
5. Software Engineering with Abstractions by Valdis Berzins and Luqi, Addison
Wesley, 1991, 624 pages.
hsrender@happy.colorado.edu: Like #4, good, and covered the issue
of specifications and verification better, but at the expense of other
aspects of the development process. I may use one of them for a graduate
course in software engineering.
straub@cs.UMD.EDU (Pablo A. Straub): Both this and #9 have a good emphasis
on using formal techniques (i.e., doing engineering properly), but they
do not disregard informal methods; chapters are roughly organized around
the traditional lifecycle. #5 is longer and can be used in a two-term
sequence or for graduate students (it's possible to use it in a one-
term undergrad course by covering only part of the material). One thing I
like is that management and validation is given in all chapters, so that
these activities are integrated into the development process. Emphasizes
the use of formally specified abstractions. Uses the authors'
specification language (Spec) to develop a project in Ada.
6. Software Engineering by Ian Sommerville, Addison-Wesley, ISBN 0-201-17568-1
hsrender@happy.colorado.edu: Our current text, and my basic problem with it
is the vague way it covers many of the topics.
7. Software Engineering with Student Project Guidance by Barbara Mynatt
hsrender@happy.colorado.edu: Like #8, not bad, but fairly low-level and
doesn't cover many tools and techniques I consider valuable.
8. Software Engineering by Roger Jones
hsrender@happy.colorado.edu: Like #7, not bad, but fairly low-level and
doesn't cover many tools and techniques I consider valuable.
9. Software Engineering: Planning for Change by David Alex Lamb, Prentice-
Hall, 1988, 298 pages.
straub@cs.UMD.EDU (Pablo A. Straub): Both this and #5 have a good emphasis
on using formal techniques (i.e., doing engineering properly), but they
do not disregard informal methods; chapters are roughly organized around
the traditional lifecycle. #9 has the advantage of being shorter, yet
covering most relevant topics (lifecycle phases, formal specs, v&v,
configurations, management, etc.). It is very appropriate for an
undergrad course. It emphasizes that maintenance is a given and should
be taken into account (hence the title). Several specification
techniques are covered and used to develop a project in Pascal.
10. A Practical Handbook for Software Development by N.D. Birrell and M.A.
Ould, Cambridge University Press, 1985/88. ISBN 0-521-34792-0 (Paper
cover); ISBN 0-521-25462-0 (Hard cover).
ewoods@hemel.bull.co.uk (Eoin Woods):
11. Fundamentals of Computing for Software Engineers by Eric S. Chan & Murat M.
Tanik, Van Nostrand Reinhold.
kayaalp@csvax.seas.smu.edu (Mehmet M. Kayaalp MD):
12. Classic and Object-Oriented Software Engineering, 3rd Edition, by Stephen
R. Schach, Richard D. Irwin, Inc. (ISBN 0-256-18298-1), 1996. Advertised
as senior/first year graduate level, emphasizing the object-oriented
paradigm, metrics, CASE tools, testing, and maintenance.
13. Practical Software Engineering by Stephen R. Schach, Aksen Associates and
Richard D. Irwin Inc. (ISBN 0-256-11455-2), 1992. Advertised as sophomore
through senior level, emphasizing teams, maintenance, reuse, CASE tools.

------------------------------------------------------------------------
Subject: Periodicals on Software Engineering
Date: 31 Jul 2002

A. Professional Journals
Meant for working professionals with technical backgrounds.
1. IEEE Software
summary: often presents recent research work, but much more readably
than typical research journals.
publisher: IEEE (Institute of Electrical and Electronic Engineers)
subscriptions: IEEE Service Center, 445 Hoes Lane, P.O. Box 1331,
Piscataway, NJ 08855-1331, USA
2. Software Engineering Notes
summary: unrefereed newsletter; includes digest of comp.risks
publisher: ACM (Association for Computing Machinery) SIGSOFT (Special
Interest Group on Software engineering)
subscriptions: ACM, 11 West 42d St, New York, NY 10036, USA
3. Software Maintenance News
summary: monthly report on people and technology in maintenance; aimed
at practitioners
publisher: Software Maintenance News Inc, B10 Suite 237, 4546 El Camino
Real, Los Altos, CA 94022, USA
subscriptions: as above
4. Software Testing, Verification and Reliability
summary: aimed at practitioners; dissemination of new techniques,
methodologies and standards
publisher: John Wiley & Sons Ltd, Baffins Lane, Chichester, West Sussex
PO19 1UD, UK
5. The Software Practitioner (TSP)
summary: started late 1990; meant for real practitioners
publisher: Computing Trends, 1416 Sare Rd., Bloomington IN 47401 USA;
voice/fax: 812-337-8047
6. Software Testing & Quality Engineering (at http://www.stqemagazine.com/)
summary: Practical and relevent. Largely authored by practicing software
QA and testing professionals.
publisher: Software Quality Engineering (see http://www.sqe.com) since
1998; previously published as Software QA by Steve Whitchurch.
B. Mixed Research and Practice
1. Journal of Software Maintenance: Research and Practice
summary: refereed; intended for both researchers and practitioners;
joint US/UK editorial board
publisher: Wiley (see above)
subscriptions: Journals Subscription Department, at above address
2. Software Engineering Journal (SEJ)
summary: full spectrum of articles from practical experience to long-
term research
publisher: IEE (Institution of Electrical Engineers) and BCS (British
Computer Society); write to IEE Publication Sales, PO Box 96,
Stevenage, Herts, SG1 2SD, United Kingdom.
3. Software: Practice and Experience
summary: not always software engineering; good reputation for practice
publisher: Wiley (see above)
4. The Software Quality Journal
summary: academic research and industrial case studies and experience
publisher: Chapman & Hall, Journals Promotion Department, North
America:29 West 35th Street, New York, NY 10001-2291, USA. Europe:
2-6 Boundary Row, London SE1 8HN, UK
C. Research Journals
Meant for presenting recent research results.
1. Information and Software Technology (IST)
summary: broad spectrum, much software engineering, software process,
but also computer science topics.
publisher: Butterworth-Heineman, Linacre House, Jordan Hill, Oxford, UK
2. Transactions on Software Engineering (TSE)
summary: main software engineering research journal
publisher: IEEE (see above)
3. Transaction on Software Engineering Methodology (TOSEM)
summary: first issue dated January 1992; not enough track record for an
opinon yet.
publisher: Association for Computing Machinery
4. Journal of Systems and Software
summary: meant to be more practitioner-oriented than other research
journals
publisher: Elsevier
D. Other magazines
1. Software
summary: "For Managers of Enterprise-Wide Software Resources" primarily
aimed at Management Information Systems (MIS) world
publisher: Sentry Publishing Company, Inc, 1900 West Park Drive,
Westborough, MA 01581, (508) 366-2031
2. Testing Techniques Newsletter
summary: E-mailed on a monthly basis to support the publisher's
customers and to provide information of general use to the testing
community.
publisher: Software Research, Inc., 625 Third Street, San Francisco,
CA 94107-1997; Phone: (415) 957-1441; Toll Free: (800) 942-SOFT; FAX:
(415) 957-0730; E-MAIL: ttn@soft.com.

------------------------------------------------------------------------
Subject: Other sources of information
Date: 21 Mar 2001

Software Quality Engineering has a publication division called Single Source,
Publications, Books, and Information for Software Practitioners and Managers:

Software Quality Engineering -- Single Source
330 Corporate Way Suite 300
Orange Park, Florida (FL) 32073
Tel: 904-278-0707
Toll Free: 800-423-8378
Fax: 904-278-4380
Email: sqeinfo@sqe.com
Web: www.sqe.com
They do regular reviews of most of the literature relevant to testing, s-eng,
and management. The books which are deemed useful by the reviewers are
purchased for reselling. Their catalog includes most of the literature that
I've come across on Software Testing. One of the items in the catalog is a
publication which the company puts together itself, The Testing Tools
Reference Guide, a sort of catalog of tools that have passed certain criteria,
(number of unit sold, at least three verifiable references, etc.) They charge
$145.00 for this guide. This includes two bi-annual updates. I've found the
guide very useful in tracking down vendors which specialize in CASE and
testing tools, although it seems to be heavily biased towards IBM mainframe
hardware and COBOL programming (shudder!). Each text is described and
summarized I'm sure SQE would be happy to send catalogs free of charge and
most of the prices seem reasonable. - Glenn Stowe glenn8@odie.cs.mun.ca

------------------------------------------------------------------------
Subject: General reading for software engineers
Date: 18 Oct 1999
Originally collected by: cml@cs.UMD.EDU (Christopher Lott)
Summary: responses to "what should every software engineering have read?"

A. General
1. Read about 100 pages of comp.risks
2. Frederick P. Brooks, Jr., The Mythical Man-Month, 20th Anniversary
Edition, Addison Wesley, 1995.
3. The anecdotal books of Robert L. Glass, from Computing Trends, P.O.Box
213, State College, PA 16804, including: "Tales of Computing Folk: Hot
Dogs and Mixed Nuts", "The Universal Elixir and other Computing Projects
Which Failed", "The Second Coming: More Computing Projects Which
Failed", "The Power of Peonage", "Computing Catastrophes", "Computing
Shakeout", "Software Folklore"
4. Richard H. Thayer and Merlin Dorfman (editors), Software Engineering,
Second Edition, IEEE Computer Society Press, Los Alamitos, CA, 1997.
5. Paul W. Oman & Ted G. Lewis, Milestones in Software Evolution, IEEE
Computing Society, ISBN 0-8186-9033-X.
6. J.A. McDermid (editor), Software Engineer's Reference Book, Butterworth-
Heinemann Ltd., 1991. ISBN No: 0 750 61040 9. Focuses on the
foundations, and subject matter that is not volatile. The book is
divided into three major parts: Theory and Mathematics; Methods,
Techniques, and Technology; Principles of Applications. For a beginner,
the first two parts are indispensible. It does not provide details of
current research, but points an interested reader to the right sources.
B. Programming in the large
1. Grady Booch, Software Engineering with Ada, second edition,
Benjamin/Cummings, 1987
2. Bertrand Meyer. Object-oriented software construction, Second Edition.
Prentice-Hall, 1997. Detailed information available at
http://www.eiffel.com/doc/oosc.html.
3. David L. Parnas, On the Criteria to be Used in Decomposing Systems into
Modules, Communications of the ACM 15,2 (December 1972).
C. Programming in the small
1. Jon Louis Bentley, Writing Efficient Programs, Prentice-Hall, 1982.
2. Jon Bentley, Programming Pearls, Addison-Wesley, 1986.
3. Jon Bentley, More Programming Pearls, Addison-Wesley, 1988.
4. O.-J. Dahl, E.W. Dijkstra, C.A.R. Hoare, Structured Programming,
Academic Press, 1972.
5. Brian W. Kernighan, and P.J. Plauger, Software Tools, Addison-Wesley,
1976.
6. Brian W. Kernighan & P.J. Plauger, The Elements of Programming Style,
Second Edition, McGraw-Hill, 1978. ISBN 0-07-034207-5.
D. Mathematical Approaches
1. Edsger W. Dijkstra, A Discipline of Programming, Prentice-Hall, 1976.
2. E.W.Dijkstra. Selected writings on computing: a personal perspective.
Springer Verlag, 1982.
3. David Gries (editor), Programming methodology. A collection of articles
by members of IFIP Working Group 2.3. Springer Verlag, 1978.
E. Other
1. Tom Demarco and Timothy Lister, Peopleware : Productive Projects and
Teams, 2nd Ed. Paperback 2nd edition (February 1, 1999) Dorset House;
ISBN: 0932633439
2. Daniel P. Freedman and Gerald M. Weinberg, Handbook of Walkthoughs,
Inspections and Technical Reviews, 3rd edition Dorset House Publishing,
1990, ISBN 0-932633-19-6. Originally published by Little, Brown &
Company, 1982: ISBN 0-316-292826.
3. Tom Gilb, Principles of Software Engineering Management, Addison-Wesley,
1988, ISBN 0-201-19246-2
4. Glenford J. Myers, The Art of Software Testing, Wiley, 1979.
5. Herb Simon, The Sciences of the Artificial, Second Edition, MIT Press,
1981
6. Gerald M. Weinberg, The Psychology of Computer Programming, Silver
Anniversary Edition. ISBN: 0-932633-42-0, Dorset House Publishing, 1998

------------------------------------------------------------------------
Subject: Cost Estimation
Date: 6 Dec 1997

1. Lawrence Putnam and Ware Myers, "MEASURES FOR EXCELLENCE: Reliable Software
on Time, Within Budget," Prentice-Hall, 1992, ISBN 0-13-567694-0.
Suggested in Fall 1995 as the current standard by several correspondents.
Constrains solutions to those that meet the user's objectives, such as
cost, schedule, staff available, quality.
2. Barry W. Boehm, Software Engineering Economics, Prentice-Hall, 1981. This
used to be the standard; it introduced the COCOMO model.

------------------------------------------------------------------------
Subject: Formal Specification
Date: 6 Dec 1997

See also the comp.specification.z FAQ.
1. J.M.Spivey. "Understanding Z: a specification language and its formal
semantics". Cambridge University Press, 1988.
2. David Lightfoot. "Formal Specification Using Z". MacMillan, 1991, ISBN
0-333-54408-0. A clear introduction to Z and the discrete mathematics that
underlies it.
3. B.Potter, J.Sinclair & D.Till. "An introduction to formal specification
and Z". Prentice Hall International Series in Computer Science, 1991.
4. D.Bjorner & C.B.Jones. "Formal Specification & Software Development",
Prentice-Hall International Series in Computer Science, 1980.
5. N.Gehani & A.D.McGettrick (eds). "Software Specification Techniques",
Addison-Wesley Publishing Company, 1986
6. I. van Horebeek & J.Lewi. "Algebraic Specifications in Software
Engineering", Springer Verlag, 1989.
7. J.Bergstra, P.Klint & J.Heering. "Algebraic Specification", ACM Frontier
Press Series. The ACM Press in co-operation with Addison-Wesley, 1989.
8. J.Wing. "A specifiers introduction to formal methods", IEEE Computer
23(9):8-24, 1990.
9. Prehn & Soetenel (eds). "Formal Software Development Methods, VDM'91",
LNCS 551 and 552, Springer-Verlag.

------------------------------------------------------------------------
Subject: Metrics
Date: 6 Dec 1997

A. Metrics - General

Thanks especially to Horst Zuse, who sent his extensive bibliography on
metrics. He has an extensive database with over 500 entries on metrics;
contact ZUSE%DB0TUI11.BITNET@vm.gmd.de.
1. David N. Card and Robert L. Glass. Measuring Software Design Quality
Prentice Hall, Engewood Cliffs, New Jersey, 1990
2. S.D. Conte, H.E. Dunsmore, V.Y. Shen. Software Engineering Metrics and
Models. Benjamin/Cummings Publishing Company, Menlo Park, 1984 ISBN:
0-8053-2162-4
3. Tom DeMarco. Controlling Software Projects: Management, Measurement and
Estimation. Englewood Cliffs, N.J.: Prentice Hall, 1982
4. T.Denvir, R.Herman and R.Whitty (Eds.). Proceedings of the
International BCS-FACS Workshop: Formal Aspects of Measurement, May 5,
1991, South Bank Polytechnic, London, UK, Series edited by Professor
C.J. van Rijsbergen, ISBN 3-540-19788-5. Springer Publisher, 1992, 259
pages.
5. Reiner Dumke. Softwareentwicklung nach Ma`s - Sch`atzen - Messen -
Bewerten, Vieweg Verlag, 1992.
6. Lem Ejiogu. Software Engineering with Formal Metrics. QED Information
Sciences, 1991
7. N.E. Fenton, (Editor). Software Metrics: A Rigorous Approach, 1991
United Kingdom: Chapman & Hall, 2-6 Boundary Row, London SE1 8HN, ISBN
0-412-40440-0. United States: Van Nostrand Reinhold, 115 5th Avenue,
New York NY 10003, ISBN 0-442-31355-1.
8. Robert B. Grady and Deborah L. Caswell. Software Metrics: Establishing
a Company-Wide Program, Prentice-Hall, 1987, ISBN 0-13-821844-7
9. Robert B. Grady. Practical Software Metrics for Project Management and
Process Improvement. Prentice Hall 1992 ISBN 0-13-720384-5
10. M.H. Halstead. Elements of Software Science. New York, Elsevier North-
Holland, 1977
11. S. Henry, D. Kafura, "Software Structure Metrics Based on Information
Flow", IEEE Transactions on Software Engineering, Vol.SE-7, No.5,
September 1981.
12. IEEE. Standard Dictionary of Measures to Produce Reliable Software.
The Institute of Electrical and Electronics Engineers, Inc. 345 East
47th Street, New York. IEEE Standards Board, 1989
13. IEEE. Guide for the Use of Standard Dictionary of Measures to Produce
Reliable Software. The Institute of Electrical and Electronics
Engineers, Inc 345 East 47th Street, New York. IEEE Standard Board,
Corrected Edition, October 23, 1989
14. T.J. McCabe, A Complexity Measure, IEEE Transactions on Software
Engineering, VOL. SE-2, NO. 4, Dec. 1976.
15. Alan Perlis, Frederick Sayward, Mary Shaw. Software Metrics: An
Analysis and Evaluation. The MIT Press, 1981
16. V.Y. Shen, S.D. Conte, H.E. Dunsmore, Software Science Revisited: A
Critical Analysis of the Theory and Its Empirical Support, IEEE
Transactions on Software Engineering, Vol. SE-9, No. 2, March 1983.
Abstract: a critical evaluation of Halstead's software science metric.
17. Martin Sheppard, Software Engineering Metrics, McGraw-Hill Book Company
(UK) Limited, Shoppenhangers Road, Maidenhead, Berkshire, SL6 2QL. ISBN
0-07-707410-6 (UK). Contains 24 selected papers; 1992. Tel: +44 (0)698
23431/2 Fax: +44 (0)698 770224
18. Horst Zuse, Software Complexity: Measures and Methods, de Gruyer (200
Saw Mill River Road, Hawthorne, NY 10532 - 914/747-0110) 1991
B. Metrics for object-oriented systems
1. Morris Kenneth L. Metrics for Object-Oriented Software Development
Environments (master's thesis). 1989, MIT.
2. Rocacher, Daniel: Metrics Definitions for Smalltalk. Project ESPRIT
1257, MUSE WP9A, 1988.
3. Rocacher, Daniel: Smalltalk Measure Analysis Manual. Project ESPRIT
1257, MUSE WP9A, 1989.
4. Lake, Al: A Software Complexity Metric for C++. Annual Oregon Workshop
on Software Metrics, March 22-24, 1992, Silver Falls, Oregon, USA.
5. Bieman, J.M.: Deriving Measures of Software Reuse in Object Oriented
Systems. Technical Report #CS91-112, July 1991, Colorado State
Universty, Fort Collins/ Colorado, USA.

------------------------------------------------------------------------
Subject: Object-Oriented Analysis and Design
Date: 6 Dec 1997
Originally collected by: haim@taichi.uucp (24122-kilov)

1. Bertrand Meyer. Object-oriented software construction, Second Edition.
Prentice-Hall, 1997. For the somewhat advanced - perhaps, with some
programming maturity. Detailed information available at
http://www.eiffel.com/doc/oosc.html.
2. B. Henderson-Sellers. A book of object-oriented knowledge. Prentice-Hall,
1992. This has quite a few viewgraphs in it!
3. Grady Booch. Object-oriented design with applications. Addison-Wesley,
1991.
4. Ivar Jacobson Object-Oriented Software Engineering. Addison-Wesley, 1992.
This book gives a complete look at Object-orientation from requirement-
analysis to last phase in design and implementation.

------------------------------------------------------------------------
Subject: Programming Style
Date: 6 Dec 1997
Originally collected by: oman@cs.uidaho.edu (Paul W. Oman)

1. N. Anand (1988) "Clarify Function!" ACM SigPLAN Notices, 23(6), 69-79.
Advocates the use of mnemonic names for entities in a system. Rules are
presented for naming procedures, variable, pointers, etc.
2. S. Henry (1988) "A Technique for Hiding Proprietary Details While Providing
Sufficient Information for Researchers; or, do you Recognize this Well-
known Algorithm?," Journal of Systems and Software, 8(1), 3-11. Suggests
encryption of variable names as part of a technique for encoding
algorithms, while still providing sufficient information to researchers.
3. R. Brooks (1980) "Studying Programmer Behavior Experimentally: The Problems
of Proper Methodology," Communications of the ACM, 23(4), 207-213.
Discusses issues and tradeoffs in proper control of experiments involving
computer programmers.
4. E. Thomas & P. Oman "A Bibliography of Programming Style Literature," ACM
SIGPLAN Notices, Vol. 25(2), Feb. 1990, pp. 7-16.

------------------------------------------------------------------------
Subject: Real-Time Systems
Date: 6 Dec 1997
Originally collected by: jaws@sj.ate.slb.com (John Willmore)

1. Derek J. Hatley and Imtiaz A. Pirbhai. Strategies for Real-Time System
Specification Dorset House, 1987
2. Paul Ward and Stephen Mellor. Structured Development for Real-Time Systems
Yourdon Press, 1985
3. Bran Selic, Garth Gullekson and Paul Ward. Real-Time Object-Oriented
Modeling, Wiley, 1994 (1-800-CALL-WILEY), ISBN 0471-59917-4. Supported by
the ObjecTime CASE tool.

------------------------------------------------------------------------
Subject: Requirements Analysis
Date: 12 Apr 1999

A. Requirements Analysis - General
1. Michael Jackson. Software Requirements & Specifications: A Lexicon of
Practice, Principles, and Prejudices. Addison-Wesley, 1995. Very
highly praised by several of my contacts - e.g. "has the highest ideas-
to-pages ratio I've ever seen."
2. Special issue on requirements gathering, Communications of the ACM,
Volume 38, #2, May 1995.
3. Al Davis, Software Requirements: Objects, Functions, & States.
Prentice-Hall, 1993. A revision of #2 (below).
4. Al Davis, Software Requirements: Analysis and specification.
Prentice/Hall, 1990. Has some treatment of all of the popular
requirements analysis and specification methods including OOA,
Structured Analysis, SREM, FSM, but not the "trendy" stuff (Information
Engineering, JAD).
5. Donald C. Gause and Gerald M. Weinberg, Exploring Requirements: Quality
before design. Dorset House Publishing, 353 West 12th Street, New York,
NY 10014
6. Richard H. Thayer and Merlin Dorfman (editors), Software Requirements
Engineering, Second Edition, IEEE Computer Society Press, Los Alamitos,
CA, 1997.
7. Benjamin L. Kovitz. Practical Software Requirements: A Manual of
Content & Style. Manning Publications, 1998.
B. Collaborative Requirements Analysis
(thanks to Annie I. Anton, anton@cc.gatech.edu).
1. Palmer, J.D., Aiken, P. and Fields, N.A. "A Computer Supported
Cooperative Work Environment for Requirements Engineering and Analysis",
Proceedings of the Requirements Engineering and Analysis Workshop,
Software Engineering Institute, March 12-14, 1991.
2. Palmer, J.D. and Aiken, P.H. "Utilizing Interactive Multimedia to
Support Knowledge-based Development of Software Requirements",
Proceedings of the 5th Annual RADC Knowledge-Based Software Assistant
Conference, Syracuse, NY, September 24-28, 1990.
3. Marca, D. "Specifying Groupware Requirements From Direct Experience",
Proc 6th International Workshop On Software Specification And Design,
October 1991
4. Marca, D. "Augmenting SADT To Develop Computer-Supported Cooperative
Work", Proceedings of the International Conference on Software
Engineering; May 1991
5. Marca, D. "Experiences in Building Meeting Support Software",
Proceedings of the 1st Groupware Technology Workshop; August 1989
6. Marca, D. "Specifying Coordinators: Guidelines for Groupware
Developers", Proceedings of the 5th International Workshop on Software
Specification and Design; May 1989

------------------------------------------------------------------------
Subject: Software Process
Date: 30 Oct 1996
Originally collected by: cml@cs.umd.edu (Christopher Lott)

1. Watts S. Humphrey. Managing the Software Process. Addison-Wesley
Publishing Co., Reading, Massachusetts, 1989; Chapters 13--15, 18.
2. Watts S. Humphrey. A Discipline for Software Engineering. Addison Wesley,
SEI Series in Software Engineering, 1995, ISBN 0-201-54610-8. Presents a
method for applying project management techniques to personal methods of
software engineering.
3. Bill Curtis, Marc I. Kellner and Jim Over. "Process Modeling,"
Communications of the ACM, Sept 92, Vol 35, No 9, 75-90.
4. Victor R. Basili. "Iterative Enhancement: A Practical Technique for
Software Development". IEEE Transactions on Software Engineering. v.~SE-1,
n.~4, December 1975, pp.~390--396.
5. Victor R. Basili and H. Dieter Rombach. "The TAME Project: Towards
Improvement-Oriented Software Environments", IEEE Transactions on Software
Engineering, v. SE-14, n. 6, June 1988, pp.~758--773.
6. Victor R. Basili, "Software Development: A Paradigm for the Future",
Proceedings of the Thirteenth Annual International Computer Science and
Applications Conference, Orlando, Florida, September 1989, pp.~471--485.
7. Barry W. Boehm. "A Spiral Model of Software Development and Enhancement",
IEEE Computer, v.~21, n.~5, May 1988, pp.~61--72.
8. Frank DeRemer and Hans H. Kron. "Programming-in-the-Large Versus
Programming-in-the-Small", IEEE Transactions on Software Engineering,
v.~SE-2, n.~2, June 1976, pp.~80--86.
9. M. M. Lehman. "Process Models, Process Programs, Programming Support",
Proceedings of the Ninth International Conference on Software Engineering,
Monterey, CA, March 1987, pp.~14--16.
10. Leon Osterweil. "Software Processes are Software Too", Proceedings of the
Ninth International Conference on Software Engineering, Monterey, CA, March
1987, pp.~2--13.
11. Winston W. Royce. "Managing the Development of Large Software Systems:
Concepts and Techniques", 1970 WESCON Technical Papers, v.~14, Western
Electronic Show and Convention, Los Angeles, Aug. 25-28, 1970; Los Angeles:
WESCON, 1970, pp.~A/1-1 -- A/1-9; Reprinted in Proceedings of the Ninth
International Conference on Software Engineering, Pittsburgh, PA, USA, ACM
Press, 1989, pp.~328--338.
12. Peter H. Feiler and Watts S. Humphrey. "Software Process Development and
Enactment: Concepts and Definitions", Software Engineering Institute,
Carnegie Mellon University, Pittsburgh, PA, 1991.
13. Watts S. Humphrey. "Session Summary: Review of the State-of-the-Art",
Proceedings of the Fifth International Software Process Workshop,
Kennebunkport, Maine, USA, 10-13 October 1989, IEEE Computer Society Press,
Los Alamitos, CA, 1990.
14. Gail E. Kaiser. "Rule-Based Modeling of the Software Development Process",
Proceedings of the 4th International Software Process Workshop,
Moretonhampstead, Devon, UK, 11-13 May 1988, ACM Press, Baltimore, MD,
1989, pp.~84--86.
15. Takuya Katayama. "A Hierarchical and Functional Software Process
Description and its Enaction", Proceedings of the Ninth International
Conference on Software Engineering, Pittsburgh, PA, USA, ACM Press, 1989,
pp.~343--352.
16. Marc I. Kellner and H. Dieter Rombach. "Comparisons of Software Process
Descriptions", Proceedings of the Sixth International Software Process
Workshop, Hakodate, Hokkaido, Japan, 29-31 October 1990, IEEE Computer
Society Press, 1991.
17. Jayashree Ramanathan and Soumitra Sarkar. "Providing Customized Assistance
for Software Lifecycle Approaches", IEEE Transactions on Software
Engineering, v.~14, n.~6, June 1988, pp.~749--757.
18. H. Dieter Rombach. "An Experimental Process Modeling Language: Lessons
Learned from Modeling a Maintenance Environment", Proceedings of the
Conference on Software Maintenance - 1989, IEEE, October 16-19, 1989.
19. H. Dieter Rombach. "MVP--L: A Language for Process Modeling
In--the--Large", University of Maryland Institute for Advanced Computer
Studies Technical Report UMIACS--TR--91--96, CS--TR--2709, Department of
Computer Science, University of Maryland, College Park, MD, 20742.
20. Stanley M. Sutton, Jr. "APPL/A: A Prototpye Language for Software Process
Programming", Department of Computer Science Report CU-CS-448-89,
University of Colorado, Boulder, CO, 1989.

------------------------------------------------------------------------
Subject: Software Testing
Date: 6 Dec 1997

The original request that prompted the posting of this information asked for
recent work, not buried in a Software Engineering tome.
1. Boris Beizer, Software Testing Techniques, Van Nostrand Reinhold, 1990 (2nd
edition) ISBN 0-442-20672-0. 503 pages, $43. Has 37-page annotated
bibliography of references.
2. Cheatham and Mellinger, Testing Object Oriented Software Systems,
Proceedings of the 1990 ACM SCS Conference
3. William C. Hetzel, The Complete Guide to Software Testing, Second edition,
QED Information Services INC, 1988. ISBN 0-89435-242-3
4. Testing Techniques Newsletter (see periodicals)

------------------------------------------------------------------------
Subject: User Interfaces
Date: 2 May 2002

See Gary Perlman's suggested readings at http://hcibib.org/readings.html; there
is a huge Human-Computer Interaction bibliography at http://hcibib.org.
Contact address: director@hcibib.org.
--
"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...)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 10-03-2004, 06:15 AM
David Alex Lamb
Guest
 
Posts: n/a
Comp.software-eng FAQ (Part 1): questions and answers

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