(C++ Draft Standard): standards [ http://www.csci.csusb.edu/dick/c++std/ ]
(SRS): [ http://cse.csusb.edu/dick/SRS/ ]
Links to templates for documentation
(csci csusb specification templates): [ http://cse.csusb.edu/dick/SRS/ ]
(Brad Templeton's design specification template): [ sdd.html ]
CASE Data Interchange
(CDIF): CASE tools data interchange [click here if you can fill this hole]
IEEE Software Standards
Contact: IEEE at 445 Hoes Lane, Piscataway, NJ 08855. (800) 678-IEEE. IEEE Standards (unofficial....)
Standard Software Life Cycles
An integral part of the modern life cycle standards is a step
that turns a generic standard process into one that fits the
current situation. There is a strong tendency to develop
large software as a series of small increments that evolve
towards the desired system. Doing all the analysis prior to the
design, and all the design before the coding and testing is
increasingly being seen as an mistake.
The USA DoD has been moving steadily in the direction of using comercial standards in place of their own. DoD 2167 has been replaced with Mil-std-498 which was in turn canceled and replaced by "International Standard ISO/IEC 12207: 1995: Information technology software life cycle processes", here some articles on the history: [ lifecycle.html ] [ sorensen.asp ] and here is a place that lists the documents [ ieee-eia12207.asp ] and how to get them.
My own redaction of ISO12207 is here:
(ISO/IEC 12207): process [ processes.html ]
Standard Software Diagrams
BS (British Standard) 6224 : 1987 .
British Standard Guide to Design Structure Diagrams for Use in
Program Design and Other Logic Applications. Visually it ends up
looking a lot like the code will be laid out at the end of the day,
and is read from top to bottom like a program, unlike traditional
flowcharting which can fan out in any direction. It has additional
constructs for real time use, data structures, program interfaces and
The Object Management Group has supported the development of the Unified Modeling Language as a standard and it has achieved some popularity: [ uml.html ]
Specs Live Forever
The US Standard railroad gauge (distance between the rails) is 4 feet, 8.5 inches. That's an exceedingly odd number. Why was that gauge used? First, because that's the way they built them in England, and the US railroads were built by English expatriots. Second, the tracks had to fit the locos/engines that the Yankees imported and copied from the UK.
Why did the English people build railroad tracks like that? Because the first rail lines were built by the same people who built the pre-railroad tramways, and that's the gauge they used.
Why did "they" use that gauge then? Because the people who built the tramways used the same jigs and tools that they used for building wagons, which used that wheel spacing. Okay! Why did the wagons use that odd wheel spacing? Well, if they tried to use any other spacing the wagons would break on some of the old, long distance roads, because that's the spacing of the old wheel ruts.
So who built these old rutted roads? The first long distance roads in Europe were built by Imperial Rome for the benefit of their legions. The roads have been used ever since. And the ruts? The initial ruts, which everyone else had to match for fear of destroying their wagons, were first made by Roman war chariots. Since the chariots were made for or by Imperial Rome they were all alike in the matter of wheel spacing.
Thus, we have the answer to the original questions. The United State standard railroad gauge of 4 feet, 8.5 inches derives from the original specification for an Imperial Roman army war chariot.
Specs and Bureaucracies live forever. So, the next time you are handed a specification and wonder what horse's end came up with it, you may be exactly right. Because the Imperial Roman chariots were made to be just wide enough to accommodate the back-ends of two war horses.
. . . . . . . . . ( end of section Standards relating to Software Development) <<Contents | End>>