软件开发文档说明

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件技术综合实验指导教材编辑:张涛、武君胜、扬帆、郑炜1实验一、软件项目管理与计划1.1背景知识软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。其根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。软件项目管理和其他的项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。Windows这样的操作系统有1500万行以上的代码,同时有数千个程序员在进行开发,项目经理都有上百个。这样庞大的系统如果没有很好的管理,其软件质量是难以想象的。软件项目管理的内容主要包括如下几个方面:人员的组织与管理,软件度量,软件项目计划,风险管理,软件质量保证,软件过程能力评估,软件配置管理等。这几个方面都是贯穿、交织于整个软件开发过程中的,其中人员的组织与管理把注意力集中在项目组人员的构成、优化;软件度量把关注用量化的方法评测软件开发中的费用、生产率、进度和产品质量等要素是否符合期望值,包括过程度量和产品度量两个方面;软件项目计划主要包括工作量、成本、开发时间的估计,并根据估计值制定和调整项目组的工作;风险管理预测未来可能出现的各种危害到软件产品质量的潜在因素并由此采取措施进行预防;质量保证是保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动;软件过程能力评估是对软件开发能力的高低进行衡量;软件配置管理针对开发过程中人员、工具的配置、使用提出管理策略。软件项目计划是一个软件项目进入系统实施的启动阶段,主要进行的工作包括:确定详细的项目实施范围、定义递交的工作成果、评估实施过程中主要的风险、制定项目实施的时间计划、成本和预算计划、人力资源计划等。软件项目管理过程从项目计划活动开始,而第一项计划活动就是估算:需要多长时间、需要多少工作量、以及需要多少人员。此外,我们还必须估算所需要的资源(硬件及软件)和可能涉及到的风险。为了估算软件项目的工作量和完成期限,首先需要预测软件规模。度量软件规模的常用方法有直接的方法——LOC(代码行),间接的方法——FP(功能点)。这两种方法各有优缺点,应该根据软件项目的特点选择适用的软件规模度量方法。根据项目的规模可以估算出完成项目所需的工作量,可以使用一种或多种技术进行估算,这些技术主要分为两大类:分解和经验建模。分解技术需要划分出主要的软件功能,接着估算实现每一个功能所需的程序规模或人月数。经验技术的使用是根据经验导出的公式来预测工作量和时间。可以使用自动工具来实现某一特定的经验模型。常用的制定进度计划的工具主要有Gantt图和工程网络两种。Gantt图具有悠久历史、直观简明、容易学习、容易绘制等优点,但是,它不能明显地表示各项任务彼此间的依赖关系,也不能明显地表示关键路径和关键任务,进度计划中的关键部分不明确。因此,在管理大型软件项目时,仅用Gantt图是不够的,不仅难于做出既节省资源又保证进度的计划,而且还容易发生差错。工程网络不仅能描绘任务分解情况及每项作业的开始时间和结束时间,而且还能清楚地表示各个作业彼此间的依赖关系。从工程网络图中容易识别出关键路径和关键任务。因此,工程网络图是制定进度计划的强有力的工具。通常,联合使用Gantt图和工程网络这两种工具来制定和管理进度计划,使它们互相补充、取长补短。进度安排是软件项目计划的首要任务,而项目计划则是软件项目管理的首要组成部分。与估算方法和风险分析相结合,进度安排将为项目管理者建立起一张计划图。1.2实验目的1)组建项目团队,确定拟开放软件项目范围2)制定科学、合理的软件项目开放计划3)基于项目管理工具,编写规范的软件项目开发计划书。1.3实验工具与环境准备MicrosoftProject(或MSP)是面向中小型项目的主流软件项目开发管理工具,能够协助软件项目经理制定计划、为任务分配资源、跟踪进度、管理预算和分析工作量等功能。MicrosoftProject能够自动产生关键路径日程表。MicrosoftProject(或MSP)的具体安装与使用请参考相关技术文档。1.4实验内容与步骤第一步骤:确定项目目标第二步骤:项目工作包分解第三步骤:借助project制定项目的进度计划(参考下表)识号任务名称工期开始时间完成时间前置任务1项目范围规划2.5工作日2001年6月20日2001年6月22日2确定项目范围4工时2001年6月20日2001年6月20日3项目资源配备2工作日2001年6月20日2001年6月22日24项目范围规划阶段结束0工作日2001年6月22日2001年6月22日35软件需求分析10.38工作日2001年6月22日2001年7月6日。。。。。。。。。。。。。。。。。。35文档20.5工作日2001年7月18日2001年8月15日36制定“帮助”规范1工作日2001年7月18日2001年7月19日1640审阅并修改用户文档2工作日2001年8月13日2001年8月15日394l文档阶段结束0工作日2001年8月15日2001年8月15日4042项目总结2.38工作日2001年9月3日2001年9月5日43经验教训归档2工作日2001年9月3日2001年9月5日3444建立软件维护小组3工时2001年9月5日2001年9月5日4345回顾完成0工作日2001年9月5日2001年9月5日44第四步骤:项目进度控制第五步骤:项目总结1.5实验要求与结果1)提交规范的软件项目开发计划书2实验二、软件配置管理2.1背景知识软件项目在其执行过程中产生了很多产品,包括各种文档、程序、数据和手册。所有这些产品都是易于改变的。为避免项目在变更时失控,正确控制和管理变更是很必要的。配置管理又称为软件配置管理,是项目管理中专用于关注系统地控制项目进行中发生的变更的那些部分,由用来识别机构软件产品并控制其修改的一系列活动。软件配置管理过程的主要阶段有:1)计划和构建配置管理:为配置管理制定计划包括确定配置项、指定用于控制和实现对这些配置项的变更的规程。识别配置项是任何类型配置管理的基本活动。这个阶段的主要活动包括:识别配置项,定义为配置项命名和编号的计划,定义配置管理所需的目录结构,定义访问限制,定义变更控制规程,确定和定义配置管理委员会的责任和权利,定义跟踪配置项状态的方法、定义发布规程和定义归档规程等。2)执行配置控制:要执行的配置控制活动主要有两个,一个涉及管理程序和文档的状态转移,另外一个是涉及管理必须实现的需求变更。3)状态监督和审计:除了检查配置项的状态信息之外,还必须检查变更请求的状态。最后就是执行配置审计。版本控制,是软件开发中一项必不可少的管理手段,也是软件配置管理(SoftwareConfigurationManagement,SCM)的一个部分。而软件配置管理,在软件开发过程中占据着非常重要的地位,并且是CMM2级的一个关键域。随着软件工程的发展,软件配置管理越来越成熟,从最初的仅仅实现版本控制,发展到现在的提供工作空间管理、并行开发支持、过程管理、权限控制、变更管理等一系列全面的管理能力,已经形成了一个完整的理论体系。同时在软件配置管理的工具方面,也出现了大批的产品,如:最著名的ClearCase;开源产品CVS;入门级工具MicrosoftVSS;新秀HanskyFirefly。2.2实验目的1)安装和熟悉配置管理工具VSS2)学习制定软件配置管理计划2.3实验工具与环境准备VSS的全称为VisualSourceSafe。是微软公司开发的MicrosoftVisualStudio产品系列中的一名成员,主要负责项目文件和配置管理,可以适用任何软件项目。VSS提供良好的源代码版本控制机制,是现代软件开发中必要的管理机制之一。1)作为代码仓库有效的管理软件开发中各个不同版本的源代码和文档,占用空间小并且方便各个版本代码和文档的获取。2)对开发小组中对源代码的访问进行有效的协调。VSS安装和运行在Windows平台下,采用C/S架构。即开发小组的每个开发者在各自的Windows平台下利用开发工具(比如VC)开发项目中的各个模块,而配有专门的服务器集中控制开发过程中的文档和代码。服务器和开发人员的客户机分别装有VSS的服务器和客户端程序。2.4实验内容与步骤第一步骤:在服务器上安装VSS服务器软件,并进行配置;第二步骤:安装VSS客户端,并设置以便本地和异地进行配置管理;第三步骤:编写和制定配置管理计划。第四步骤:服务器上创建项目库,创建用户,并分配权限。第五步骤:将VSS与VC、Eclipse等开发工具集成。第六步骤:实践文档checkin、checkout、里程碑、版本分支等功能2.5实验要求与结果1)掌握VSS软件安装、配置、以及与VC、Eclipse等工具集成方法2)提交规范的软件配置管理计划书3)构建配置管理项目库,掌握VSS的使用方法3实验三、软件需求分析3.1背景知识需求开发与管理是软件项目中一项十分重要的工作,据调查显示在众多失败的软件项目中,由于需求原因导致的约占到45%,因此,需求工作将对软件项目能否最终实现产生至关重要的影响。在IEEE软件工程标准词汇表(1997年)中定义软件需求为:(1)用户解决问题或达到目标所需的条件或能力。(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。(3)一种反映上面(1)或(2)所描述的条件或权能的文档说明。“需求”就是用户的需要,它包括用户要解决的问题、达到的目标、以及实现这些目标所需要的条件,它是一个程序或系统开发工作的说明,表现形式一般为文档形式。需求分析的过程,也叫做需求工程和需求阶段,包括了需求开发和需求管理两个部分。需求开发是指从情况收集、分析和评价到编写文档、评审等一系列产生需求的活动,分为四个阶段:需求获取、分析、制订规格说明和评审。这四个阶段不一定是遵循线性顺序的,他们的活动是相互独立和反复的。需求管理是软件项目开发过程中控制和维持需求约定的活动,它包括:变更控制、版本控制、需求跟踪、需求状态跟踪等工作。1)需求获取需求获取是指收集和获取软件系统需求,需要收集问题域的描述,要求解决的问题列表,以及了解系统的行为或约束。需求获取的主要信息来源包括:客户(实际的和潜在的)、用户(实际的和潜在的)、已有系统及其文档、领域专家、相关技术标准和法规。主要获取技术包括:阅读背景资料;用户访谈、调研;需求讨论会;现场观摩。2)需求分析需求分析是指通过对需求获取中获得的问题域的研究,获得对该领域特性及存在其中的问题特性的透彻理解并用文档说明。在“业务需求”充分理解下,并且收集了本质的“用户需求”之后就可以开始进行需求分析。需求分析时,设计分析模型,成为开发人员之间、开发人员与客户之间达成共识的一个平台分析的基础上,就会发现更多的不明确项,更多待捕获的信息,这时就可以生成第二次的需求调研计划、问题和素材。3)编写需求规约规格说明书是对需求分析结果的文档化过程。需求规约必须与实际开发紧密结合,否则很容易造成与开发脱离。为需求规约定义统一的格式是一个很重要的工作,规约内容必须严谨、正确、无歧义。4)需求验证不重视需求验证工作会在系统交付时,客户发现不是这样的,导致不期望的需求变更。提高需求质量的重要手段有:需求评审、需求确认和原型验证。5)需求管理需求管理活动包括:(1)定义需求基线(迅速制定需求文档的主体)。(2)评审提出的需求变更、评估每项变更的可能影响从而决定是否实施它。(3)以一种可控制的方式将需求变更融入到项目中。(4)使当前的项目计划与需求一致。(5)估计变更需求所产生影响并在此基础上协商新的承诺(约定)。(6)让每项需求都能与其对应的设计、源代码和测试用例联系起来以实

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功