收藏 分享(赏)

项目经理手册之软件开发.pdf

上传人:陈琪琪 文档编号:3971 上传时间:2018-05-10 格式:PDF 页数:79 大小:617.05KB
下载 相关 举报
项目经理手册之软件开发.pdf_第1页
第1页 / 共79页
项目经理手册之软件开发.pdf_第2页
第2页 / 共79页
项目经理手册之软件开发.pdf_第3页
第3页 / 共79页
项目经理手册之软件开发.pdf_第4页
第4页 / 共79页
项目经理手册之软件开发.pdf_第5页
第5页 / 共79页
点击查看更多>>
资源描述

1、SEL-84-101Managers Handbook forSoftware DevelopmentRevision 1NOVEMBER 1990National Aeronautics andSpace AdministrationGoddard Space Flight CenterGreenbelt, Maryland 20771SOFTWARE ENGINEERING LABORATORY SERIESiiiFOREWORDThe Software Engineering Laboratory (SEL) is an organization sponsored by the Nat

2、ionalAeronautics and Space Administration/Goddard Space Flight Center (NASA/GSFC) and created forthe purpose of investigating the effectiveness of software engineering technologies when applied tothe development of applications software. The SEL was created in 1977 and has three primaryorganizationa

3、l members: NASA/GSFC, Systems Development Branch; University of Maryland,Computer Sciences Department; Computer Sciences Corporation, Flight Dynamics TechnologyGroup.The goals of the SEL are (1) to understand the software development process in the GSFCenvironment; (2) to measure the effect of vario

4、us methodologies, tools, and models on this process;and (3) to identify and then to apply successful development practices. The activities, findings, andrecommendations of the SEL are recorded in the Software Engineering Laboratory Series, acontinuing series of reports that includes this document.Th

5、e Managers Handbook for Software Development was originally published in April 1984.Contributors to the original version includedWilliam Agresti, Computer Sciences CorporationFrank McGarry, Goddard Space Flight CenterDavid Card, Computer Sciences CorporationJerry Page, Computer Sciences CorporationV

6、ictor Church, Computer Sciences CorporationRoger Werking, Goddard Space Flight CenterThe new edition contains updated material and constitutes a major revision. The primarycontributors to the current edition areLinda Landis, Editor, Computer Sciences CorporationFrank McGarry, Goddard Space Flight Ce

7、nterSharon Waligora, Computer Sciences CorporationRose Pajerski, Goddard Space Flight CenterMike Stark, Goddard Space Flight CenterRush Kester, Computer Sciences CorporationTim McDermott, Computer Sciences CorporationJohn Miller, Computer Sciences CorporationSingle copies of this document can be obt

8、ained by writing toSystems Development BranchCode 552Goddard Space Flight CenterGreenbelt, Maryland 20771vABSTRACTMethods and aids for the management of software development projects are presented. Therecommendations are based on analyses and experiences of the Software Engineering Laboratory(SEL) w

9、ith flight dynamics software development. The management aspects of the followingsubjects are described: organizing the project, producing a development plan, estimating costs,scheduling, staffing, preparing deliverable documents, using management tools, monitoring theproject, conducting reviews, au

10、diting, testing, and certifying.viiTABLE OF CONTENTSSection 1 Introduction 1-1Handbook Overview 1-1Intended Audience 1-2Software Life Cycle 1-3Activities Spanning Phases 1-5Section 2 Organizing and Planning 2-1Organizing the Project 2-1Producing the Software Development/Management Plan 2-2Executing

11、the Software Development/Management Plan 2-5Section 3 Cost Estimating, Scheduling, and Staffing 3-1Estimating Development Cost and Schedule 3-1Project Staffing 3-4Other Software Development Costs 3-5Cost of Computer Utilization 3-5Cost of System Documentation 3-7Cost of Rehosting Software 3-7Cost of

12、 Reusing Software 3-7Cost of Software Maintenance 3-8Section 4 Key Documents and Deliverables 4-1Suggested Document Contents 4-1Guidelines for Evaluating Completed Documents 4-11Section 5 Verification, Testing, and Certification 5-1Code Reading 5-1Unit Testing 5-1Integration Testing 5-2Build/Release

13、 Testing 5-2System Testing 5-3Acceptance Testing 5-3Test Management Guidelines 5-4Certification 5-5Section 6 Metrics and Key Management Aids 6-1Metrics 6-1Management Metrics and Their Use 6-2Source Code Growth Rate 6-3Effort Data 6-4System Size Estimates 6-6Computer Usage 6-7viiiTABLE OF CONTENTS (C

14、ontd)Section 6 Metrics and Key Management Aids (Contd)Error Rates 6-8Reported/Corrected Software Discrepancies 6-9Rate of Software Change 6-10Development Activity Status 6-11Additional Management Metrics 6-12Data Collection 6-13Automating Metrics Analysis 6-13General Indicators of Project Status 6-1

15、5Warning Signals and Corrective Actions 6-16Basic Set of Corrective Actions 6-18Section 7 Reviews and Audits 7-1Reviews 7-1System Requirements Review 7-2Software Specifications Review 7-4Preliminary Design Review 7-6Critical Design Review 7-8Operational Readiness Review 7-10Audits 7-13Appendix A SEL

16、 Software Development EnvironmentGlossaryReferencesStandard Bibliography of SEL LiteratureixLIST OF ILLUSTRATIONSFigure Page1-1 Activities by Percentage of Total Development Staff Effort 1-31-2 Reuse and Prototyping Activities Within the Life Cycle 1-52-1 Software Development/Management Plan Content

17、s 2-33-1 Cost Estimation Schedule 3-23-2 Typical Computer Utilization Profile (FORTRAN Projects) 3-63-3 Typical Computer Utilization Profile (Ada Projects) 3-64-1 Key Documents and Deliverables by Phase 4-14-2 Requirements and Functional Specifications Contents 4-24-3 Operations Concept Document Con

18、tents 4-34-4 Requirements Analysis Report Contents 4-44-5 Preliminary Design Report Contents 4-54-6 Detailed Design Document Contents 4-64-7 Contents of Test Plans 4-74-8 Users Guide Contents 4-84-9 System Description Contents 4-94-10 Software Development History Contents 4-105-1 Example of Unit Des

19、ign Certification 5-66-1 Management Through Measurement 6-26-2 SEL Software Growth Profile 6-36-3 Example of Code Growth GRO AGSS 6-36-4 SEL Staffing Profile Model 6-46-5 SEL Effort Distribution Models 6-46-6 Effort Data Example ERBS AGSS 6-56-7 SEL Size Estimates Model 6-66-8 Sample Size Estimates

20、UARS AGSS 6-66-9 SEL Computer Usage Model 6-76-10 Example of Computer Usage ERBS AGSS 6-76-11 SEL Error Rate Model 6-86-12 Sample Error Rates COBE AGSS 6-86-13 SEL Software Discrepancy Status Model 6-96-14 Example of Discrepancy Tracking TCOPS 6-96-15 SEL Change Rate Model 6-106-16 Change Rate Examp

21、le GOES AGSS 6-106-17 SEL Development Status Model for a Single Build 6-116-18 Development Profile Example GOADA 6-116-19 Example SME Output 6-146-20 Build Corporate Memory Into a Tool 6-157-1 Scheduling of Formal Reviews 7-17-2 SRR Hardcopy Material 7-37-3 SSR Hardcopy Material 7-57-4 PDR Hardcopy

22、Material 7-77-5 CDR Hardcopy Material 7-97-6 ORR Hardcopy Material 7-11xLIST OF TABLESTable Page3-1 Distribution of Time Schedule and Effort Over Phases 3-13-2 Procedures for Reestimating Size, Cost, and ScheduleDuring Development 3-33-3 Complexity Guideline 3-33-4 Development Team Experience Guidel

23、ine 3-43-5 Team Size Guideline 3-53-6 Guideline for Development Team Composition 3-53-7 Cost of Rehosting Software 3-73-8 Cost of Reusing Software 3-85-1 Expected Percentage of Tests Executed That Pass 5-56-1 SEL Recommended Metrics 6-121-1SECTION 1 INTRODUCTIONThis handbook is intended to be a conv

24、enient reference on software management methods and aids.The approach is to offer concise information describing What the methods and aids can accomplish When they can be applied How they are applied Where the manager can find more background or explanatory materialThe management methods and aids in

25、cluded here are those that have proved effective in theexperiences of the Software Engineering Laboratory (SEL) (Reference 1). The characteristics ofsoftware projects in the flight dynamics environment monitored by the SEL appear in the appendixto this document. The applications include attitude det

26、ermination and control, orbit adjustment,maneuver planning, and general mission analysis.HANDBOOK OVERVIEWThis document consists of seven sections organized by specific management topics:Section 1 presents the handbooks purpose, organization, and intended audience. The softwarelife cycle and key dev

27、elopment activities are summarized.Section 2 discusses the basic management concerns of organizing and planning in the context ofsoftware management. The production of the software development management plan is covered indetail.Section 3 describes resource estimation and allocation. Techniques are

28、presented for estimatingsize, costs, and effort. Guidelines are given for project scheduling and for staff allocation andcomposition.Section 4 outlines contents, timing, and evaluation of key documents and deliverables in a softwareproject.Section 5 discusses the management aspects of software verif

29、ication, testing, and certification.Section 6 summarizes management measures and aids used in monitoring and controlling asoftware project. Key indicators of progress are listed along with warning signals and correspondingcorrective measures.Section 7 presents both the general function of project re

30、views and the specific implementation ofthe five major reviews. Guidelines for auditing a project are also introduced.An appendix, glossary, references, and a bibliography of SEL literature conclude thehandbook.1-2INTENDED AUDIENCEThe intended audience of this document is the software manager, who,

31、as defined in this handbook,serves as either an administrative or technical manager. The positions overlap somewhat in theirinformation needs.The administrative manager has overall responsibility for developing software that meetsrequirements and is delivered on time and within budget. In the SEL en

32、vironment, a GovernmentTechnical Officer or Assistant Technical Representative (ATR) generally serves in this capacity.Typically, this manager is not involved with the day-to-day technical supervision of the programmersand analysts who are developing the software. The administrative manager will be

33、involved in theactivities listed below; the corresponding handbook sections are listed alongside. Organizing the project Section 2 Estimating resources required Section 3 Estimating costs Section 3 Evaluating documents and deliverables Section 4 Monitoring progress Section 6 Evaluating results of re

34、views and audits Section 7 Certifying the final product Section 5The technical manager is responsible for direct supervision of the developers. The position isfrequently filled by a contractor manager in the SEL environment; although, on some projects, aGovernment manager will fill this role instead

35、. This person shares some of the activities listed for theadministrative manager, especially with regard to monitoring development progress. The technicalmanagers activities and the corresponding handbook references are presented below. Producing and executing the software development/management pla

36、n Section 2 Estimating costs Section 3 Scheduling the project Section 3 Staffing the project Section 3 Directing the production of documentsand deliverables Section 4 Using automated management aids Section 6 Monitoring development progress Section 6 Supervising technical staff Section 6 Ensuring so

37、ftware quality Section 5 Preparing for reviews Section 7A secondary audience for the handbook consists of those who serve a particular peripheral functionbut do not act in either of the two managerial capacities. Two examples of such specific functions areparticipating as an external reviewer at a s

38、cheduled review and conducting an audit of the project.Government managers should note that there is no identifiable conflict between the materialpresented in this handbook and major NASA/GSFC standards.1-3SOFTWARE LIFE CYCLEThe process of software development is often modeled as a series of stages

39、that define the softwarelife cycle. In the flight dynamics environment, the life cycle is defined by the following phases: Requirements definition Requirements analysis Preliminary design Detailed design lmplementation System testing Acceptance testing Maintenance and operationAs shown in Figure 1-1

40、, the phases divide the software life cycle into sequential time periods that donot overlap. However, the activities characteristic of one phase may be performed in other phases.For example, although most of the staff effort in analyzing requirements occurs during therequirements analysis phase, som

41、e of that activity continues at lower levels in later phases.PERCENTAGE OF TOTAL STAFF EFFORTSYSTEM TEST PHASEIMPLEMENTATION PHASEREQUIREMENTS DEFINITION PHASEORRSRR SSR PDR CDRCALENDAR TIME DESIGNIMPLEMENTATIONSYSTEM TESTINGACCEPTANCETESTINGPRELIMINARY DESIGN PHASEREQUIREMENTS ANALYSIS PHASEACCEPTA

42、NCETEST PHASEMAINTENANCE AND OPERATION PHASEDETAILEDDESIGN PHASEREQUIREMENTS ANALYSISFigure 1-1. Activities by Percentage of Total Development Staff EffortExample: At the end of the implementation phase (4th dashed line), approximately 46% of thestaff are involved in system testing; approximately 15

43、% are preparing for acceptance testing;approximately 7% are addressing requirements changes or problems; approximately 12% aredesigning modifications; and approximately 20% are coding, code reading, unit testing, andintegrating changes. Data are shown only for the phases of the software life cycle for which theSEL has a representative sample.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 网络技术 > 项目管理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报