Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!bloom-beacon!CALSTATE.BITNET!PAAAAAR From: PAAAAAR@CALSTATE.BITNET Newsgroups: comp.software-eng Subject: Software Quality Message-ID: <8910121916.AA14347@mitre.arpa> Date: 12 Oct 89 17:57:32 GMT Sender: daemon@bloom-beacon.MIT.EDU Organization: The MITRE Corp., Washington, D.C. Lines: 53 Software quality is a multidimensional idea! There is an excelent philosophical discussion of Quality in that very odd piece of fiction: Author: Pirsig Title: Zen and the Art of Motorcycle Maintenance. You might be able to squeeze some interesting ideas out of it. Two other back ground sources are Industrial Quality Assurance -- whats sauce for the goose is source fo Tom Gilb's scattered publications on "Design by Objectives" Another fundamental idea is in Herbert Simon's Science of the Artificial - He points out that normally you can only optimise on one property of a system after specifying constraints on the the other components of "system quality". Thus we can imagine that a piece of software, when produced will have the following qualities: RAM required -- minimum, maximum, average, typical Disk storage -- ditto Speeds -- ditto -- for one transaction/interactoion, for a batch... CPU Cycles used -- typical and avergae, and worst,.... Time to produce Cost of production Lines of Executable Code Readabillity -- mean time to answer questions about source code -- etc Maintainabillity -- mean time to make small change, prob of change working,... Completeness -- proportion of functions/transactions implemented... Portabillity -- mean time to change to another system debuagabillity -- mean time to find a seeded bug or two Probable number of bugs -- F*(N-S)/S) where N bugs are seeded and F+S are found, with S of the found bugs having been seeded. And so on...... (And yes these are not the best,...) Now in Crunch mode the Time to produce is Fixed and the rest are negotiable. In other cases the time to produce may be the factor we try to optimise withing the requirement of 100% completeness but no portabillity... You might start with Charles Babbage - Ensuring the quality is part of the cost of every product (or something like that - the ref has escaped me...) dick botting Dr. Richard J. Botting, Department of computer science, California State University, San Bernardino, PAAAAAR@CCS.CSUSCC.CALSTATE paaaaar@calstate.bitnet PAAAAAR%CALSTATE.BITNET@CUNYVM.CUNY.EDU