NOTICE: This publication is available at: http://www.nws.noaa.gov/directives/



Similar documents
NOTICE: This publication is available at:

Software Test Plan (STP) Template

NOTICE: This publication is available at:

What is a life cycle model?

8. Master Test Plan (MTP)

Arbortext Content Manager 9.0/9.1 Curriculum Guide

NATIONAL WEATHER SERVICE EASTERN REGION SUPPLEMENT

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

NOTICE: This publication is available at:

Effort and Cost Allocation in Medium to Large Software Development Projects

System Requirements Specification (SRS) (Subsystem and Version #)

Lecture Slides for Managing and Leading Software Projects. Chapter 1: Introduction

55034-Project Server 2013 Inside Out

Establishing Great Software Development Process(es) for Your Organization. By Dale Mayes

TABLE OF CONTENTS ABSTRACT ACKNOWLEDGEMENT LIST OF FIGURES LIST OF TABLES

System Development and Life-Cycle Management (SDLCM) Methodology

Designing, Optimizing and Maintaining a Database Administrative Solution for Microsoft SQL Server 2008

Course 55034A: Microsoft Project Server 2013 Inside Out

JOURNAL OF OBJECT TECHNOLOGY

Design Document Version 0.0

NOTICE: This publication is available at:

POSITION QUALIFICATIONS. Minimum Experience (Yrs)

How To Write A Software Engineering Project Document Template

MS Design, Optimize and Maintain Database for Microsoft SQL Server 2008

Applying Use Cases to Microcontroller Code Development. Chris Gilbert Cypress Semiconductor

A Guide to the Business Analysis Body of Knowledge (BABOK Guide) Version 2.0

NOTICE: This publication is available at:

Project Server 2013 Inside Out Course 55034; 5 Days, Instructor-led

Mastering Microsoft Project 2010

DATA ITEM DESCRIPTION

Course Syllabus. Microsoft Dynamics GP Installation & Configuration. Key Data. Introduction. Audience. At Course Completion

System Development Life Cycle Guide

LEARNING SOLUTIONS website milner.com/learning phone

Australasian Information Security Evaluation Program

Karunya University Dept. of Information Technology

V-Modell XT. Part 1: Fundamentals of the V-Modell

Project Management Support

Project Start Up. Start-Up Check List. Why a Project Check List? What is a Project Check List? Initial Release 1.0 Date: January 1997

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

SYSTEMS AND SOFTWARE REQUIREMENTS SPECIFICATION (SSRS) TEMPLATE. Version A.4, January 2014 FOREWORD DOCUMENT CONVENTIONS

An Increase in Software Testing Robustness: Enhancing the Software Development Standard for Space Systems

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

Abstract. 1 Introduction

Software Engineering Reference Framework

Validating Enterprise Systems: A Practical Guide

NOTICE: This publication is available at:

Software testing. Objectives

Suggested/Recommended Audit Points in the Software Lifecycle (From thought to sunset)

Functional Area 3. Skill Level 301: Applications Systems Analysis and Programming Supervisor (Mercer 1998 Job 011)

Software Development: The Waterfall Model

Consulting Guide: Microsoft Exchange Solutions on VMware

Windchill ProjectLink Curriculum Guide

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

<name of project> Software Project Management Plan

Appendix 2-A. Application and System Development Requirements

(Refer Slide Time: 01:52)

10775A Administering Microsoft SQL Server 2012 Databases

How To Integrate Software And Systems

Course 2788A: Designing High Availability Database Solutions Using Microsoft SQL Server 2005

Colorado Department of Health Care Policy and Financing

Software Engineering. Software Engineering. Software Costs

Application of software product quality international standards through software development life cycle

Below are the some of the new features of SQL Server that has been discussed in this course

City of Moreno Valley Date Adopted: April 6, 2007 CLASS SPECIFICATION Applications and Database Administrator

Pro/INTRALINK 9.0/9.1 Curriculum Guide

SOFTWARE DEVELOPMENT PLAN

Designing IT Platform Collaborative Applications with Microsoft SharePoint 2003 Workshop

Administering a Microsoft SQL Server 2000 Database

Windchill Service Information Manager Curriculum Guide

Introduction and Overview

Professional Engineers Using Software-Based Engineering Tools

Department of Veterans Affairs VA Directive 6004 CONFIGURATION, CHANGE, AND RELEASE MANAGEMENT PROGRAMS

Transmittal Sheet #: Date: July 12, 2005

Implementation of ANSI/AAMI/IEC Medical Device Software Lifecycle Processes.

How To Write A Contract For Software Quality Assurance

idelpi Software Quick Install and Basic Configuration Guide

Memory Management Simulation Interactive Lab

Positive Train Control (PTC) Program Management Plan

Microsoft SQL Business Intelligence Boot Camp

NOTICE: This publication is available at:

How To Compare Real Time Scheduling To A Scheduled Scheduler On Linux On A Computer System With A Visualization System

Australasian Information Security Evaluation Program

Chapter 8 Approaches to System Development

SupportDesk Installation Guide Main Client Version

Process Models and Metrics

From Chaos to Clarity: Embedding Security into the SDLC

NOTICE: This publication is available at:

Administering a Microsoft SQL Server 2000 Database

UNICORN 7.0. Administration and Technical Manual

Protect Your Organization With the Certification That Maps to a Master s-level Education in Software Assurance

SECTION 4 TESTING & QUALITY CONTROL

JOB DESCRIPTION APPLICATION LEAD

International Journal of Advance Research in Computer Science and Management Studies

Integrating Risk Management into an Undergraduate Software Engineering Course

National Weather Service River Forecast System (NWSRFS) Reservoir Tools Enhancement

Administering Microsoft SQL Server 2012 Databases

Project Zeus. Risk Management Plan

A COMPARISON OF FIVE APPROACHES TO SOFTWARE DEVELOPMENT. David J. Schultz. January 21, 2000

An Overview of IEEE Software Engineering Standards and Knowledge Products

HOW TO CREATE USEFUL SOFTWARE PROCESS DOCUMENTATION ABSTRACT

Transcription:

Department of Commerce $ National Oceanic & Atmospheric Administration $ National Weather Service NATIONAL WEATHER SERVICE INSTRUCTION 80-304 April 21, 2009 Science and Technology Systems Engineering SOFTWARE DEVELOPMENT NOTICE: This publication is available at: http://www.nws.noaa.gov/directives/ OPR: W/OST3 D. Jones Type of Issuance: Routine Certified by: W/OST1 J. C. Duh SUMMARY OF REVISIONS: This directive supersedes NWS Instruction 80-304, dated October 28, 2004. Changes were made to (1) update the names of certification and approval officials to reflect the personnel changes; (2) change type of issuance from Initial to Routine and provide Summary of Revisions information; (3) update Section 1 and 5 to include information security analysis and planning activity to address the security requirements; and (4) revise Appendix B to update the references of NWS policy directives and instruction. SUMMARY: The purpose of this instruction is to define standards for the deliverables required to provide high quality, sustainable software that meets the requirements. It allows for a variety of software development models since various ones are used for software development in National Weather Service (NWS) systems (waterfall or spiral development or etc.). It is intended to cover software developed during any stage of the Operations to Services Improvement Process. This instruction is in accordance with NWS Policy Directive 80-3 Systems Engineering. signed April 7, 2009 Donald H. Berchoff Date Director, Office of Science and Technology

Software Development Table of Contents Page 1. Introduction...3 2. Purpose and Scope...3 3. Program Product Standards...3 3.1 Design Specification Documentation...4 3.2 Source Code...4 3.3 Test Documentation...4 3.4 User Documentation...4 3.5 Administration Documentation...5 4. Program Review Standards...5 4.1 Design Reviews...5 4.2 Code Peer Reviews...5 4.4 User Reviews...6 5. References...6 Appendix A - Software Development within Context of the Operations and Services... A-1 Improvement Process Appendix B - References...B-1 2

Software Development 1. Introduction. Software development implements capabilities based on software requirements within the framework of the target architecture. Software development operates in conjunction with related processes: scientific research and experimentation, program and technical project management, planning and system analysis, and engineering support, integration, maintenance, and operations & support. Figure 1 in Appendix A shows software development within the context of the Operations and Service Improvement Process (OSIP). NWS Directive 10-1, NWS Operations and Services Improvements, for an overview of OSIP and NWS Instruction 10-103, Operations and Services Improvement Process Implementation, provide a detailed description of the OSIP stages and gates. Software development involves the following activities (IEEE/EIA 12207.0-1996): Process implementation and change Planning and management System and software requirements analysis System and software architectural analysis and design Information security analysis and planning Detailed design Coding and testing Integration Qualification testing Transition to operations If not stipulated by initiating plans, these activities may be structured, sub-divided, and sequenced in accordance with the software development life-cycle model applicable to the scope, magnitude, and complexity of the project. 2. Purpose and Scope. This instruction provides the context and framework for software development. It specifies software development outputs, including software, documentation, and reviews. 3. Program Product Standards. This section defines standards for deliverables to support high quality, sustainable software that meets the system requirements and user needs. Software development products can be categorized as follows: Design Documentation Source Code Test Documentation User Documentation Administration Documentation 3

Each subsection below defines standards associated with each product category. Other applicable standards (e.g., IEEE J-STD-016, MIL-STD-1521B) will be tailored and specified by each development organization for use in their software development process. 3.1 Design Specification Documentation. Provide design specification documentation that describes: Developed functions Modules Concept of execution Provide documentation that achieves the following: Use functional flow charts and graphics to help communicate the design Identify the design method if a standard one is used Link designs to requirements Identify requirements that need to be changed due to development constraints Distinguish between application and system layers Document algorithms and equations List inputs and outputs for each module Identify new software modules and those changed, and show their relationship to the overall system architecture List all assumptions and limitations that may apply 3.2 Source Code. Document source code by using internal comments to clearly express the functional intent of the code to a person skilled in the language and general coding practices, but not necessarily familiar with the function being performed by the code. 3.3 Test Documentation. Provide test documentation and reports in accordance with the 80-305 Test & Evaluation instruction. Users for test documentation include other testers, integrators, maintainers, and operations support personnel. 3.4 User Documentation. Provide user documentation to accompany the software in areas where there is user interaction or visibility. Provide user documentation that: Describes the proper functioning of the software from a user s perspective. Explain the operation of buttons, menu items and other techniques of user input Indicates any possible error states which could occur during operation 4

Users of this documentation include instructors who provide training and those who use the software. 3.5 Administration Documentation. Provide administration documentation that: Describes the configuration, setup and troubleshooting required for using the software Describes any pre-conditions for successful operation of the software Describes all options available for setup and configuration Describes all error modes the software could encounter and recovery procedures Describes the runtime footprint (e.g., memory requirements, central processing unit requirements, disk storage requirements, runtime output, and error logs) that the software leaves on the system Users of administration documentation are system administrators and maintainers. 4. Program Review Standards. This section defines standards for software development reviews. These reviews are categorized as follows: Design Reviews Code Peer Reviews Test Reviews User Reviews 4.1 Design Reviews. Conduct one or more design reviews. Provide details appropriate to the level of complexity and potential impact to the system. The design review objective is to discuss the salient features of the design. The audience for the Design Reviews may include the engineers and designers of the collaborative software applications, the architects and those responsible for the integrity of the design, the software testers, and system integrators, and software maintainers. 4.2 Code Peer Reviews. Conduct code peer reviews, sometimes called a code walkthrough. Check for common but less obvious coding errors and correct them. Share knowledge about the code with one or more people who did not create it to serve as an additional source of knowledge about the new software. Document the code review and document follow-on actions. The audience for code reviews may include software developers and the subsystem designers for the software. 4.3 Test Reviews. Conduct test reviews. Ensure testing meets test objectives and satisfies test criteria. Identify critical and non-critical failures and remediation actions. Document the test review and document follow-on actions. The audience for test reviews may include software developers, other testers, integrators, maintainers, and operations support personnel. 5

4.4 User Reviews. Conduct user reviews for those software enhancements that significantly affect the way the user interacts with the system. Schedule user reviews early in design process to incorporate their recommendations into the design. Involve the range of users who may potentially interact with the system. The audiences for user reviews are the users of the system and its designers. 5. References. This instruction is supported by the references in Appendix B. In some cases additional NIST guidelines related to information security may apply. The software development lead, in conjunction with the systems engineer and the Information System Security Officer, will identify the applicable NIST guidelines and implement the guidelines as part of the software development effort. 6

Appendix A Software Development within Context of the Operations and Services Improvement Process Source Code, Documentation, & Test Reports Figure 1: Software Development within Context of the Operations and Services Improvement Process A-1

Appendix B - References 1. NWS Policy Directive 10-1, NWS Requirements, Operations and Services Improvements 2. NWS Instruction 10-103, Operations and Services Improvement Process Implementation 3. NWS Policy Directive 80-3, Systems Engineering 4. NWS Policy Directive 60-7, Information Technology Security Policy 5. IEEE/EIA 12207.0-1996, Industry Implementation of International Standard ISO/IEC 12207:1995 (ISO/IEC 12207) Standard for Information Technology Software Life Cycle Processes, 1996. 6. IEEE J-STD-016-1995, Trial-Use Standard, Standard for Information Technology Software Life Cycle Processes Software Development, Acquirer-Supplier Agreement, 1995. 7. MIL-STD-1521B (USAF), Military Standard Technical Reviews and Audits for Systems Equipments, and Computer Software, 1985. B-1