How To Write A Software Engineering Project Document Template



Similar documents
Software Project Management Plan (SPMP)

Software Test Plan (STP) Template

Software Design Document (SDD) Template

System Development Life Cycle Guide

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

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

8. Master Test Plan (MTP)

Lecture 17: Requirements Specifications

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

<name of project> Software Project Management Plan

Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation

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

Software Engineering Tools and Methods

NOTICE: This publication is available at:

SOFTWARE VERIFICATION RESEARCH CENTRE SCHOOL OF INFORMATION TECHNOLOGY THE UNIVERSITY OF QUEENSLAND. Queensland 4072 Australia TECHNICAL REPORT

Abstract. 1 Introduction

CHAPTER 7 Software Configuration Management

FINAL YEAR GRADUATION PROJECT HANDBOOK

Software Requirements Specification

System Requirement Checklist

Project Plan for <project name>

PHASE 5: DESIGN PHASE

Design Document Version 0.0

CHAPTER 7 SOFTWARE CONFIGURATION MANAGEMENT

System Development and Life-Cycle Management (SDLCM) Methodology

Software Quality Assurance: VI Standards

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

INTEGRATED SOFTWARE QUALITY MANAGEMENT (ISQM)

Appendix 2-A. Application and System Development Requirements

Enterprise Test Management Standards

Appendix H Software Development Plan Template

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

SOFTWARE TEST DESCRIPTION (STD) FOR ON BOARD AUTOMOBILE SYSTEM (OBA) OF DRIVING ASSISTANCE SYSTEM (DAS)

Procedure for Assessment of System and Software

Test Plan Template: (Name of the Product) Prepared by: (Names of Preparers) (Date) TABLE OF CONTENTS

Standards & Practices for the software and system engineers /

IT Project: System Implementation Project Template Description

Teaching Requirements through Interdisciplinary Projects

A Comparison of Computer Science and Software Engineering Programmes in English Universities

YIIP1100 PROJECT MANAGEMENT

Project Planning With IT

REGULATORY GUIDE (Draft was issued as DG-1207, dated August 2012)

An Effective Requirement Engineering Process Model for Software Development and Requirements Management

ISO 9001 for Small Projects

Introduction for Software Configuration Management Training

Test Plan Template (IEEE Format)

Note to the Project Guides MSC (CS-FOSS) Final Semester Projects

ALS Configuration Management Plan. Nuclear Safety Related

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

Guide to applying the ESA software engineering standards to small software projects

TASPO-ATS-L System Test Plan

Software Project Management and Support - Practical Support for CMMI -SW Project Documentation: Using IEEE Software Engineering Standards

DRAFT REGULATORY GUIDE

DOCUMENT CONTROL SHEET

ITS Projects Systems Engineering Process Compliance Checklist

System Development and Life-Cycle Management (SDLCM) Methodology. Approval CISSCO Program Director

How To Write A Contract For Software Quality Assurance

Modelling the Management of Systems Engineering Projects

PHASE 6: DEVELOPMENT PHASE

Certified Professional in Configuration Management Glossary of Terms

DOCUMENT CONTROL SHEET

Montana Department of Transportation Information Services Division. System Development Life Cycle (SDLC) Guide

SOFTWARE DEVELOPMENT PLAN

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development

The North Carolina Graduation Project. 21st

SAFETY SOFTWARE QUALITY ASSURANCE FUNCTIONAL AREA QUALIFICATION STANDARD. DOE Defense Nuclear Facilities Technical Personnel

Report - Marking Scheme

Draft IEEE Standard for software and system test documentation

2015. All rights reserved.

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

Software Quality Assurance Plan

3SL. Requirements Definition and Management Using Cradle

Quality System: Design Control Procedure - Appendix

Guidance for Member States on Audit of Accounts

PROJECT CHARTER GUIDE

Software Project Management Plan

IEEE Software Engineering Risk Management: Measurement-Based Life Cycle Risk Management PSM 2001 Aspen, Colorado

1. Software Engineering Overview

Time Monitoring Tool Software Development Plan. Version <1.1>

Project Risk Management: IV&V as Insurance for Project Success

Software Configuration Management Draft Version 0.5

The University s course specification template has been developed to fulfil three main functions; it shall act:

SYSTEMS ENGINEERING AND MANAGEMENT FOR SUSTAINABLE DEVELOPMENT - Vol. I - Configuration Management - Brouse, Peggy S.

Software Requirements Specification (SRS)

R214 SPECIFIC REQUIREMENTS: INFORMATION TECHNOLOGY TESTING LABORATORY ACCREDITATION PROGRAM

CHANGE MANAGEMENT PLAN TEMPLATE

ESA software engineering standards

PROJECT CHARTER GUIDE

A Life-Cycle Engineering Case Study

Example IEEE software project management plan (SPMP)

ALS Configuration Management Plan

Development of a Concept of Operations

Organization. Project Name. Project Overview Plan Version # Date

Software Quality Assurance Plan

FSSC Q. Certification module for food quality in compliance with ISO 9001:2008. Quality module REQUIREMENTS

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

This alignment chart was designed specifically for the use of Red River College. These alignments have not been verified or endorsed by the IIBA.

Transcription:

DOCUMENT TEMPLATES FOR STUDENT PROJECTS IN SOFTWARE ENGINEERING Declan Delaney and Stephen Brown Department of Computer Science, National University of Ireland, Maynooth Date: August 2002 Technical Report: NUIM-CS-TR2002-05 Abstract This technical report outlines the contents of a minimal set of software development documents, tailored for use by students in software engineering projects, and firmly based on IEEE standards. The document set is designed to support software development activities. It provides a framework for use in undergraduate software engineering projects, both individual and team-based, that helps students to learn best practice. A supplementary report describes the content of each document in more detail. 1. Background. Projects form an important part of the education of software engineers. They form an active method of teaching, as defined by Piaget, leading to a "training in self-discipline and voluntary effort" [1], which is important to software engineering professionals. Two purposes served by these projects are: education in professional practice, and outcomes-based assessment, as identified in the ACM/IEEE Computing Curricula 2001 [2]. An infrastructure must be provided whereby the students are well guided in their learning, yet have an opportunity to display their individual achievements for the purposes of assessment. This corresponds to the integrational and differential modes of education as described by Cook in Educational Measurement [11]. Software engineering projects, as defined by the IEEE/EIA, consist of a number of development activities [10]. Each activity is characterised by a set of deliverables, normally in the form of code or documentation. Providing a structured template for software documentation assists both the educational and the assessment aspects of a software engineering project. These templates provide a guide to the expected format and content of the documentation deliverables based on international standards. They also provide a framework for the evaluation of the student project, based on deliverables. Note that this report does not provide specific assessment criteria: it describes the development documentation. Also, it does not cover the product documentation (user manual, reference manual, installation manual, or internal documentation) or the student project report. By industry standards most student projects would not normally justify the production of a complete documentation set. However, as part of the educational process, it is important that 1

students are shown how to document their work according to best practice. It is not necessary that every project produce every document described here, but from an educational viewpoint, and considering that students will be embarking on a professional career, there are distinct benefits in each student doing so. Review of activity deliverables is a critical part of ensuring software product quality and tracking project status, and this requires an understanding of what documents are needed [15]. Another important aspect of best practice in documentation, included in these templates, is risk management. The minimal document set, and the content of each document, has been derived from the full IEEE set of software engineering documents, based on the experience of the authors in professional software development and teaching software engineering. Many other universities have produced documentation guidelines for final year software engineering students (for example [12], and [13]); the templates described here are based on the most recent IEEE standards and US MIL-STD-498 [14]. 2. Overview of the Documentation Set. The following table identifies the minimal core set of software, and identifies the activities that produce them. Document Deliverables Software Project Management Plan (SPMP) Software Requirements Specifications (SRS) Software Design Description (SDD) Software Test Documentation (STD) Description Description of the software approach and associated milestones. Description of the expected software features, constraints, interfaces and other attributes. Description of how the software will meet the requirements. Also describes the rationale for design decisions taken. Description of the plan and specifications to verify and validate the software and the results. Activities (IEEE/EIA 12207.2-1997) [10] System requirement analysis Software requirement analysis Process implementation System architectural design Software architectural design Software detailed design Software qualification testing System qualification testing IEEE terms and abbreviations have been used throughout; this provides exposure to the professional terminology for students, and also reduces ambiguity. 2.1 Purpose of each document Document SPMP SRS SDD STD Summary of Purpose To document the agreed deliverables and dates. To document the agreed requirements with the project supervisor; to provide the basis for design; to provide the basis for system test. To document the design and design decisions in order to provide the basis for implementation and unit test To document how the software will be tested, and record the results. 2

3. Common Sections for the Documentation Set. Each document within the recommended set has some common characteristics. The following pages are included in each document: I. Cover page (contents & layout) Name of Document Project Title Document Version Number Printing Date Location of electronic version of file Department & University II. Revisions page (contents)?? Overview?? Target Audience?? Project Team Members?? Version Control History: Version Primary Author(s) Description of Version Date Completed Draft / final?? Signatures of Approval III. Additional Material (contents)?? ADDITIONAL ISSUES?? DFINITIONS, ACRONYMS, AND ABBREVIATIONS?? REFERENCES?? APPENDICES 4. Contents of the Documentation Set. The following four pages identify the contents of each document. A detailed description of the contents will be provided in a future Technical Report. The contents are not a rigid definition, but a guide as to the most pertinent features of each document. These should be tailored to reflect the emphasis of each project. Documentation produced during implementation is not covered; these results are usually in the form of executable code, user documentation, and an implementation journal/engineering notebook recording the implementation work of the student. The specifications for, and results of, unit testing are also regarded as being part of the implementation. 3

Software Project Management Plan (SPMP) Cover Page Revisions Page Table of Contents 1 INTRODUCTION 1.1 Project Overview 1.2 Project Deliverables 2 PROJECT ORGANIZATION 2.1 Software Process Model 2.2 Roles and Responsibilities 2.3 Tools and Techniques 3 PROJECT MANAGEMENT PLAN 3.1 Tasks 3.1.n Task-n 3.1.n.1 Description 3.1.n.2 Deliverables and Milestones 3.1.n.3 Resources Needed 3.1.n.4 Dependencies and Constraints 3.1.n.5 Risks and Contingencies 3.2 Assignments 3.3 Timetable 4 ADDITIONAL MATERIAL Relevant IEEE standards: IEEE-1058 [8], IEEE-1540 [9] 4

Software Requirements Specifications (SRS) Cover Page Revisions Page Table of Contents 1 INTRODUCTION 1.1 Product Overview 2 SPECIFIC REQUIREMENTS 2.1 External Interface Requirements 2.1.1 User Interfaces 2.1.2 Hardware Interfaces 2.1.3 Software Interfaces 2.1.4 Communications Protocols 2.2 Software Product Features 2.3 Software System Attributes 2.3.1 Reliability 2.3.2 Availability 2.3.3 Security 2.3.4 Maintainability 2.3.5 Portability 2.3.6 Performance 2.4 Database Requirements 3 ADDITIONAL MATERIAL Relevant IEEE standards: IEEE-830 [4] 5

Software Design Description (SDD) Cover Page Revisions Page Table of Contents 1 INTRODUCTION 1.1 Design Overview 1.2 Requirements Traceability Matrix 2 SYSTEM ARCHITECTURAL DESIGN 2.1 Chosen System Architecture 2.2 Discussion of Alternative Designs 2.3 System Interface Description 3 DETAILED DESCRIPTION OF COMPONENTS 3.n Component-n 4 USER INTERFACE DESIGN 4.1 Description of the User Interface 4.1.1 Screen Images 4.1.2 Objects and Actions 5 ADDITIONAL MATERIAL Relevant IEEE standards: IEEE-1016 [7] 6

Software Test Documentation (STD) Cover Page Revisions Page Table of Contents 1 INTRODUCTION 1.1 System Overview 1.2 Test Approach 2 TEST PLAN 2.1 Features to be Tested 2.2 Features not to be Tested 2.3 Testing Tools and Environment 3 TEST CASES 3.n Case-n 3.n.1 Purpose 3.n.2 Inputs 3.n.3 Expected Outputs & Pass/Fail criteria 3.n.4 Test Procedure 4 ADDITIONAL MATERIAL (including appendix A) APPENDIX A. TEST LOGS A.n Log for test n A.n.1 Test Results A.n.2 Incident Report Relevant IEEE standards: IEEE-829 [3], IEEE-1008 [5], IEEE-1012 [6] 7

References [1] H.E. Gruber & J. J. Vonèche [Eds.], The Essential Piaget, Basic Books, 1977 [2] Computing Curricula 2001, The Joint Task Force on Computing Curricula, Final Report, IEEE Computer Society, Association for Computing Machinery, Dec 15, 2001 [3] IEEE Std. 829-1998 IEEE Standard for Software Test Documentation [4] IEEE Std. 830-1998 IEEE Recommended Practice for Software Requirements Specifications [5] IEEE Std. 1008-1997 IEEE Standard for Software Unit Testing [6] IEEE Std. 1012-1998 IEEE Standard for Software Verification and Validation [7] IEEE Std. 1016-1998 IEEE Recommended Practice for Software Design Descriptions [8] IEEE Std 1058-1998 IEEE Standard for Software Project Management Plans [9] IEEE Std 1540-2001 IEEE Standard for Software Life Cycle Processes Risk Management [10] IEEE 12207.2-1997 Industry Implementation of International Standard ISO/IEC 12207: 1995 (ISO/IEC 12207) Standard for Information Technology - Software Life Cycle Processes - Implementation Considerations [11] E.F. Lindquist (Ed.), Educational Measurement, American Council on Education, 1951 [12] R. McCauley and U. Jackson, "Teaching Software Engineering Early Experiences and Results", in Proceedings of the 1998 Frontiers in Education Conference (FIE'98), IEEE, 1998. [13] R. Thomas, G. Semeczko, H. Morarji, G. Mohay, "Core Software Engineering Subjects: A Case Study ('86 - '94)", in Proceedings of the Software Education Conference 1994, Pages: 24-31, IEEE, 1995 [14] MIL-STD-498 Military Standard, Software Development and Documentation, US Department of Defence, 5 December, 1994 [15] E. Yourdon, Rise and Resurrection of the American Programmer, Yourdon Press, 1996 Further Reading?? C.W. Dawson, The Essence of Computing Projects: A Student's Guide, Prentice Hall, 2000?? R. Dorfman, R.H. Thayer, (Eds.) Software Engineering, Second Edition, IEEE Computer Society Press, 2002?? J. W. Moore, Software Engineering Standards: A User's Road Map, IEEE Computer Society Press, 1998?? D. L. Parnas, "Education for Computing Professionals", IEEE Computer, 23(1), January 1990?? I. Sommerville, Software Engineering, Sixth Edition, Addison Wesley, 2001?? IEEE Std. 1012a-1998 IEEE Standard for Software Verification and Validation - Supplement to 1012-1998 - Context Map to IEEE 12207.1?? IEEE-1058.1-1987 IEEE Standard for Software Project Management Plans?? Final Year Project Handbook, Department of Computer Science, National University of Ireland, Maynooth, 2001?? The Digital Guide to Software Development, Digital Press, 1989?? CS328 Abstract Data Types, Programming Documentation Standards, Dept. of Computer Sciences, University of Texas (http://www.cs.utexas.edu/users/almstrum/classes/cs328/doc-stds.html) 8