From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.7 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Xref: utzoo comp.software-eng:5023 comp.lang.ada:4949 comp.object:2708 Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!news.cs.indiana.edu!msi.umn.edu!cs.umn.edu!ux.acs.umn.edu!vz.acs.umn.edu!pukite From: pukite@vz.acs.umn.edu (J. PUKITE) Newsgroups: comp.software-eng,comp.lang.ada,comp.object Subject: Re: CSCs and CSUs Message-ID: <3594@ux.acs.umn.edu> Date: 12 Mar 91 00:59:57 GMT References: <1991Mar11.164855.24098@aero.org> Sender: news@ux.acs.umn.edu Reply-To: pukite@vz.acs.umn.edu Followup-To: comp.software-eng Organization: DAINA News-Software: VAX/VMS VNEWS 1.3-4 List-Id: In article <1991Mar11.164855.24098@aero.org>, abbott@aero.org (Russell J. Abbott) writes... >There has been some discussion recently about the relationship between >Ada constructs and the MIL-STD 2167A categories Computer Software >Components (CSC) and Computer Software Unit (CSU). > >Arguments range from claims that: > >(a) mapping Ada to CSCs and CSUs is overly burdensome and a waste of >time and energy; > >to claims that: > >(b) CSCs and CSUs are important software organizational categories that >should be used independently of the language in which a software system >is coded. > >I would appreciate comments from anyone with an interest in this area. > >I am especially interested in focusing on (b). If CSCs and CSUs >represent independently useful software organizational categories (and I >think that they probably are): (1) how should those categories be >defined, and (2) can those definitions be made compatible with OO >approaches to software design? Assuming that one follows 2167A software development process, then the following applies: CSCs and CSUs are defined prior to the start of actual coding. As such they are not dependent on a specific language, but actually describe the functional requirements in terms input, processing, and output (this could be a HIPO chart). The governing document is: Software Design Document (DID: DI-MCCR-80012A) DID - Data Item Description Official description from the corresponding DID Description and Purpose: 1. The Software Design Document (SDD) describes the complete design of a Computer Software Configuration Item (CSCI). It describes the CSCI as composed of Computer Software Components (CSCs) and Computer Software Units (CSUs). 2. The SDD describes the allocation of requirements from a CSCI to its CSCs and CSUs. Prior to Preliminary Design Review, the SDD is entered into the Developmental Configuration for the CSCI. Upon completion of Physical Configuration Audit (PCA), the SDD, as part of the Software Product Specification, is entered into the Product Baseline for the CSCI. 3. The SDD is used by the contractor for three primary purposes, namely: (1) present the preliminary design at the Preliminary Design Review(s), (2) present the detailed design at the Critical Design Review(s), and (3) use the design information as the basis for coding each CSU. 4. The SDD is used by the Government to assess the preliminary and detailed design of a CSCI. ------ end of quote ------ Thus, arguments (a) and (b) are not really applicable in a true 2167A if the recommended approach is used. It is always possible, that some people may want to start at the end and after writing the program attempt to determine what it does and what kind of structure it exhibits. I hope that this may clear up the situation! J. Pukite/DAINAe pukite@vz.acs.umn.edu