欢迎来到天天文库
浏览记录
ID:58047723
大小:1.15 MB
页数:81页
时间:2020-09-04
《第章软件工程讲义.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第14章软件计划14.1软件范围界定14.2资源需求14.314.4软件项目计划的结构14.5项目计划的分解求精14.6计划跟踪监督14.7计划执行情况的度量与计划调控14.8小结14.1软件范围界定软件项目计划的第一个活动是确定软件的范围。软件范围描述了软件项目的功能、性能、约束条件、接口以及可靠性等质量指标。此项工作旨在进一步将项目的开发任务明确化、具体化,并进行必要的功能分解,为下一步的估算工作打下基础。在软件项目开始时,虽然已经定义了要求,并确立了基本的目标,但是还不足以作为开展估算的基础。必须对分配给软件的功能需求、性能需求进行评价,从管
2、理角度和技术角度出发,确定明确的、可理解的项目范围。关于软件范围的描述应当尽量给出定量的说明(如最大并发用户数,最大允许响应时间等),给出约束条件或针对项目的限制(例如成本限制、运行环境的限制等)。此外,还要界定某些质量因素(如可靠性等)。由于对成本和进度的估算都和项目功能有关,因此常常采用某种程度的功能分解细化,以便结合历史数据,采用面向规模或面向功能的方法对项目规模、成本、工作量、进度、风险、资源诸方面做出估算。性能的考虑包括处理复杂度和系统响应时间的需求;约束条件则标志着外部硬件或其他现有系统对软件的限制。功能、性能和约束必须在一起进行综合的
3、评价。因为在功能相同时,性能限制不同,可能将导致开发工作量相差一个数量级,成本和进度也会有显著的差别。软件和其他元素是相互作用的。计划制定者要考虑每个接口的性质和复杂程度,以确定其对资源、成本和进度的影响。接口的概念可以解释为:(1)运行软件的硬件及间接受软件控制的设备和软件之间的接口。(2)必须和新软件连接的现有软件和新软件之间的接口。(3)人机接口。(4)软件运行前后的一系列操作过程。针对每一种接口,都应当明确地理解通过接口的信息转换要求。项目要求的软件可靠性指标也应当作为一种约束予以考虑,以便在进行规模、成本、工作量估算时能够更加精确。在FP
4、度量方法中,功能点复杂度加权因子和从F1~F14的取值就反映了约束条件对最终度量结果的影响。作为例子,我们对一个传送带分类系统(如图14.1所示)的软件需求进行范围界定。图14.1一个传送带分类系统原始的功能需求陈述:传送带分类系统(CLSS)用来传送贴有识别条码的六类不同的产品。产品通过由一个条码阅读器和一台PC机组成的分类站。分类站的PC机连到一个分流器上,分流器将不同的产品分送到不同的包装箱中去。CLSS软件以和传送带速度一致的时间间隔接收条码阅读器送来的数据,将条码数据译码转换为产品标识符的规定格式并以此为查询键值。在最多可容纳1000个条
5、目的数据库中进行查询检索,以便确定当前产品应当放入哪个箱子中。查出来的该箱子的编号被送到分流器,分流器将根据接收到的数据将产品推入指定的箱子中。同时,每一个产品放入哪个箱子的信息还要写入数据库中备用。CLSS软件还要接收来自脉冲流速计的输入,用以使控制信号和流速计同步。根据分类站和分流器之间产生的脉冲个数,软件将在适当时产生一个控制信号给分流器,以适当地确定产品去向。根据以上陈述,我们就可以开始进行范围界定工作。需求范围界定:(1)读条形码作为输入。(2)读脉冲流速计输入。(3)对条码数据进行解码。(4)检索查询数据库。(5)确定合适的箱子号。(6
6、)产生并输出分流器控制信号。(7)保存当前产品被存入的箱子的纪录。性能要求:每一个产品的全部处理都必须在下一个产品到达分类站之前处理完毕(根据传送带的流速可以换算出最大可接受的响应时间指标)。接口要求:(1)PC和分类站之间的数据接口,用来传送原始条码数据。(2)PC和脉冲流速计之间的接口,用来接收同步脉冲数据。(3)PC和分流器之间的接口,用来输出分流器驱动数据。约束条件:(1)传送带匀速运动。(2)传送带上的产品间隔均匀摆放。如上例所示,进行了软件范围界定之后,就可以综合考虑功能、性能、接口、约束条件要求,开始进行计划的下一步工作——确定资源需
7、求并进行估算。14.2资源需求在进行了范围界定之后,软件计划的第二个任务是估算为完成本软件开发工作所需要的资源。包括人力资源、可复用软件资源和环境资源(如图14.2所示)。资源金字塔的底层是开发环境,包括硬件和软件工具,提供支持开发工作的基础;再高一层是可复用的软件构件——软件建筑块,能够极大地降低开发成本并缩短交付时间;金字塔的顶端是人力资源,这是资源中的主要成分。在项目计划中,针对所需要的每类资源,都应当从资源描述、可用性说明、需要该资源的时间以及该资源被使用的持续时间四个特征上进行说明。图14.2资源金字塔计划者在开始时要评估需求范围并选择完
8、成开发所需要的技术。对于开发组中所需要的各种角色(如项目经理、系统分析员、设计师、程序员等)和他们应当具备的专业技能都要进
此文档下载收益归作者所有