1、ANSI/ANS-10.5-2006accommodating user needsin scientific and engineeringcomputer software developmentANSI/ANS-10.5-2006REAFFIRMED November 17, 2011 ANSI/ANS-10.5-2006 (R2011) This standard has been reviewed and reaffirmed with the recognition that it may reference other standards and documents that m
2、ay have been superseded or withdrawn. The requirements of this document will be met by using the version of the standards and documents referenced herein. It is the responsibility of the user to review each of the references and to determine whether the use of the original references or more recent
3、versions is appropriate for the facility. Variations from the standards and documents referenced in this standard should be evaluated and documented. This standard does not necessarily reflect recent industry initiatives for risk informed decision-making or a graded approach to quality assurance. Us
4、ers should consider the use of these industry initiatives in the application of this standard. ANSI/ANS-10.5-2006American National StandardAccommodating User Needs in Scientificand Engineering Computer Software DevelopmentSecretariatAmerican Nuclear SocietyPrepared by theAmerican Nuclear SocietyStan
5、dards CommitteeWorking Group ANS-10.5Published by theAmerican Nuclear Society555 North Kensington AvenueLa Grange Park, Illinois 60526 USAApproved April 17, 2006by theAmerican National Standards Institute, Inc.AmericanNationalStandardDesignation of this document as an American National Standard atte
6、sts thatthe principles of openness and due process have been followed in the approvalprocedure and that a consensus of those directly and materially affected bythe standard has been achieved.This standard was developed under procedures of the Standards Committee ofthe American Nuclear Society; these
7、 procedures are accredited by the Amer-ican National Standards Institute, Inc., as meeting the criteria for AmericanNational Standards. The consensus committee that approved the standardwas balanced to ensure that competent, concerned, and varied interests havehad an opportunity to participate.An Am
8、erican National Standard is intended to aid industry, consumers, gov-ernmental agencies, and general interest groups. Its use is entirely voluntary.The existence of an American National Standard, in and of itself, does notpreclude anyone from manufacturing, marketing, purchasing, or using prod-ucts,
9、 processes, or procedures not conforming to the standard.By publication of this standard, the American Nuclear Society does not insureanyone utilizing the standard against liability allegedly arising from or afterits use. The content of this standard reflects acceptable practice at the time ofits ap
10、proval and publication. Changes, if any, occurring through developmentsin the state of the art, may be considered at the time that the standard issubjected to periodic review. It may be reaffirmed, revised, or withdrawn atany time in accordance with established procedures. Users of this standardare
11、cautioned to determine the validity of copies in their possession and toestablish that they are of the latest issue.The American Nuclear Society accepts no responsibility for interpretations ofthis standard made by any individual or by any ad hoc group of individuals.Requests for interpretation shou
12、ld be sent to the Standards Department atSociety Headquarters. Action will be taken to provide appropriate response inaccordance with established procedures that ensure consensus on theinterpretation.Comments on this standard are encouraged and should be sent to SocietyHeadquarters.Published byAmeri
13、can Nuclear Society555 North Kensington AvenueLa Grange Park, Illinois 60526 USACopyright 2006 by American Nuclear Society. All rights reserved.Any part of this standard may be quoted. Credit lines should read “Extracted fromAmerican National Standard ANSI0ANS-10.5-2006 with permission of the publis
14、her,the American Nuclear Society.” Reproduction prohibited under copyright conventionunless written permission is granted by the American Nuclear Society.Printed in the United States of AmericaForewordThis Foreword is not a part of the American National Standard “AccommodatingUser Needs in Scientifi
15、c and Engineering Computer Software Development,” ANSI0ANS-10.5-2006.!This standard is a revision of American National Standard Guidelines for Con-sidering User Needs in Computer Program Development, ANSI0ANS-10.5-1994withdrawn 2004!. It was prepared under the supervision of the ANS-10 Sub-committee
16、 of the American Nuclear Societys Standards Committee. This sub-committee is sponsored by the Mathematics and Computation Division of theSociety. The Mathematics and Computation Division has encouraged the devel-opment and interchange of computer software. These recommendations are basedon experienc
17、e in the development and use of computer software for scientific andengineering calculations in the nuclear industry.A high degree of reliance is placed on results produced by computer calculations.Often, the users of computer programs have limited program expertise and canbe unaware of the conseque
18、nces of misapplication. Similarly, program developersmay have limited appreciation of user needs, particularly in the area of adequatedocumentation, input preparation, and output interpretation. Cooperative inter-action between developers and prospective users throughout the developmentand trial use
19、 periods is important to generate a product that can be used with ahigh degree of reliability. In many projects, the prospective user is not availableor not accessible, and the developer must anticipate the needs of users.This standard provides requirements and recommendations for programmingand doc
20、umentation practices that are important for accommodating user needs.Proper application of this standard will improve the design and utility of com-puter software by encouraging the developer to consider aspects related to userrequirements, which are often overlooked or assigned a low priority. This
21、 stan-dard is intended to support the process of software development but is notintended to support a specific order of software life cycle phases. It is recognizedthat a substantial effort may be required to fully implement these requirementsand recommendations. The cost of this effort must be weig
22、hed against thepotential benefits resulting from ease of use and increased reliability.This standard is one of three standards directed toward individuals who developcomputer programs. The other two are American National Standard Portabilityof Scientific and Engineering Software ANSI0ANS-10.2-2000 a
23、nd American Na-tional Standard Criteria for the Verification and Validation of Scientific andEngineering Computer Programs for the Nuclear Industry, ANSI0ANS-10.4-1987R1998!. These standards are under continual maintenance by SubcommitteeANS-10. Historical standard American National Standard Documen
24、tation of Com-puter Software, ANSI0ANS-10.3-1995 withdrawn 2005! also contains useful in-formation. The user is advised to review the most recent version of these standardsfor possible changes.As used here, the definition of criteria is “The bases for judging a particularprocess or product.” The ter
25、m “should” denotes a guideline; the term “shall”denotes a mandatory requirement.This standard was drafted by Working Group ANS-10.5. The members at thetime this standard was prepared were as follows:A. O. Smetana, Chair, Savannah River National LaboratoryB. R. Frank, Westinghouse Electric CompanyJ.
26、B. Manneschmidt, Oak Ridge National LaboratoryR. C. Singleterry, Jr., National Aeronautics and Space AdministrationC. R. Martin, Defense Nuclear Facilities Safety BoardiThe members of Subcommittee ANS-10, Mathematics and Computations, at thetime this standard was approved, were as follows:A. O. Smet
27、ana, Chair, Savannah River National LaboratoryB. R. Frank, Westinghouse Electric CompanyJ. B. Manneschmidt, Oak Ridge National LaboratoryB. L. Kirk, Oak Ridge National LaboratoryH. T. Hunter, Oak Ridge National LaboratoryR. C. Singleterry, Jr., National Aeronautics and Space AdministrationC. R. Mart
28、in, Defense Nuclear Facilities Safety BoardP. P. H. Wilson, University of Wisconsin-MadisonY. Orechwa, U.S. Nuclear Regulatory CommissionC. A. Sparrow, Mississippi State UniversityConsensus Committee N17, Research Reactors, Reactor Physics, Radiation Shield-ing, and Computational Methods, had the fo
29、llowing membership at the time itreviewed and approved this standard:T. M. Raby Chair!, National Institute of Standards and TechnologyA. Weitzberg Vice Chair!, IndividualW. H. Bell, American Institute of Chemical EngineersAlt. R. D. Zimmerman, American Institute of Chemical Engineers!R. E. Carter, I
30、ndividualD. Cokinos, Brookhaven National LaboratoryB. Dodd, Health Physics SocietyB. K. Grimes, IndividualN. E. Hertel, Georgia Institute of TechnologyW. A. Holt, IndividualW. C. Hopkins, IndividualL. I. Kopp, IndividualP. M. Madden, U.S. Nuclear Regulatory CommissionAlt. A. Adams, U.S. Nuclear Regu
31、latory Commission!J. F. Miller, Institute of Electrical and Electronics Engineers, Inc.J. E. Olhoeft, IndividualW. J. Richards, National Institute of Standards and TechnologyT. R. Schmidt, Sandia National LaboratoriesA. O. Smetana, Savannah River National LaboratoryR. Tsuikimura, Aerotest Operations
32、, Inc.E. G. Tourigny, U.S. Department of EnergyS. H. Weiss, National Institute of Standards and TechnologyAlt. T. J. Myers, National Institute of Standards and Technology!W. L. Whittemore, General AtomicsiiContentsSection Page1 Scope and objectives . 11.1 Scope . 11.2 Objectives . 12 Definitions 13
33、Introduction . 14 Program specification 25 Programconsiderations 25.1 Organization . 25.2 Controlcapabilities . 35.3 Initialization . 35.4 Input 35.4.1 User-suppliedinput . 35.4.2 Externaldatafiles 35.4.3 Reference parameter sets 35.4.4 Processing and checking . 35.4.5 Interpretationofinput 45.5 Com
34、putationanddataprocessing 45.5.1 Modelselection . 45.5.2 Algorithm selection . 45.5.3 Datastoragealternatives 45.5.4 Internal checking . 45.5.5 Restart . 55.6 Output . 55.6.1 Printedresults 55.6.2 Externaldatafiles 55.7 Computer environment 55.8 Linked programs . 65.9 Provision for modifications 65.
35、10 Interactive programs . 66 Program application . 66.1 Applicability 66.2 Computation costs . 76.3 Experience 76.4 Softwarequality . 77 References 7 iii Accommodating User Needs inScientific and EngineeringComputer Software Development1 Scope and objectives1.1 ScopeThis standard presents criteria f
36、or accommo-dating user needs in the preparation of com-puter software for scientific and engineeringapplications.1.2 ObjectivesAdherence to these criteriawill help ensureproper application and simplify the use of com-puter programs. The intent is to encourage thedevelopment of a product that will be
37、 easy toapply correctly.2 DefinitionsThe following definitions are applicable specif-ically to this standard.default value: The value assigned to a vari-able by the program when its value is not spec-ified by the user.external data files: The data files that existprior to or after execution of a com
38、puter pro-gram. They includelibrary filesused to retain commonly ac-cepted data in a standardized form; interface filesused to share data betweenprograms or subprograms; restart filesused to retain data betweensuccessive executions of the same program.implementation: Installation of a program forexe
39、cution on a particular computer system orin the users computer environment.input: Data received by a program.interactive program: A program whose ex-ecution may be controlled by the user viaaninput and response dialogue.output: Data delivered by a program.program development: The processes thatare i
40、nvolved in producing computer softwareand its documentation. They include initiation; requirements definition; design; coding; integration and testing; installation and checkout.user: A person who applies a program to per-form a specific task.3 IntroductionComputer software should be developed so th
41、atthe needs of the user are anticipated, specifi-cally in the areas of proper application, ease ofuse, and implementation. In this document theusers are considered to be persons who workwith a program developed by someone else. Theymay use the program to obtain results directly,or their task may be
42、to implement the programonadifferent computer system. Thisguidanceisdirected to those individuals who developcomputer programs, including both those whodo initial development and those who interfacewith and modify existing programs.When selecting, implementing, and applyingan unfamiliar computer pro
43、gram, the new usermust have sufficient information. Specifically,the user is concerned with1! proper application;2! ease of use;3! reliability;4! computing costs;5! input requirements;6! hardware requirements;7! interpretation of results;8! time required to obtain results;9! ease of modification.1Th
44、is document addresses the preceding con-cerns to the extent that they can be consideredduring the program development process. Somerecommendations impact the actual design orstructure of the program as well as the pro-gramming. Other recommendations deal withspecific documentation to help the user.
45、In-terim documentation of design decisions andexperience is needed during the program de-velopment process. Formal user documentationshould utilize this interim material whererelevant.4 Program specificationProgram specification generally corresponds tothe initiation, requirements definition, and de
46、-sign processes of program development. It isduring this process when assumptions, approx-imations, and decisions are made that deter-mine the programs applications and limitations.Constraints may be imposed on the develop-ment of specifications by1! Physical model or algorithms selected.a! Modeling
47、 of physical phenomena,b! Solution approach;2! Computer systems to be used.a! Calculational accuracy word size,arithmetic!,b! Computational speed,c! Computer architecturevector, parallel!,d! Memory size,e! File management techniques,f! Operating system software capabilities;3! Program design.a! Arra
48、y sizes,b! Processing order,c! Desired response time,d! Input processing,e! Available library data and formats,f! Required user output,g! Specific programming conventions;4! Costs.a! Development,b! Operation,c! Provisions for modification.The expected impact of such assumptions anddecisions should b
49、e analyzed carefully. Theresults of this analysis should be formally doc-umented during program specification. Docu-mentation should include a concise statementof each constraint and a brief description ofwhy the constraint exists.Close interaction between the developer andthe intended user isparticularly important dur-ing this part of development because it mayresult in considerable savings of effort later.Decisions made as a result of this interactionshould be documented by the developer.5 Program considerationsProgram conside