习题 13-1 研究本书2.4.2小节所述的定货系统,要求: (1) 用代码行技术估算本系统的规模; (2) 用功能点技术估算本系统的规模; (3) 用静态单变量模型估算开发本系统所需的工作量; (4) 假设由一个人开发本系统,请制定进度计划; (5) 假设由两个人开发本系统,请制定进度计划。
13-2 研究本书习题2第2题中描述的储蓄系统,要求: (1) 用代码行技术估算本系统的规模; (2) 用功能点技术估算本系统的规模; (3) 用静态单变量模型估算开发本系统所需的工作量; (4) 假设由一个人开发本系统,请制定进度计划; (5) 假设由两个人开发本系统,请制定进度计划。
13-3 下面叙述对一个计算机辅助设计(CAD)软件的需求: 该CAD软件接受由工程师提供的二维或三维几何图形数据。工程师通过用户界面与CAD系统交互并控制它,该用户界面应该表现出良好的人机界面特征。几何图形数据及其他支持信息都保存在一个CAD数据库中。开发必要的分析、设计模块,以产生所需要的输出,这些输出将显示在各种不同的图形设备上。应该适当地设计软件,以便与外部设备交互并控制它们。所用的外部设备包括鼠标、数字化扫描仪和激光打印机。 要求:
(1) 进一步精化上述要求,把CAD软件的功能分解成若干个子功能; (2) 用代码行技术估算每个子功能的规模; (3) 用功能点技术估算每个子功能的规模; (4) 从历史数据得知,开发这类系统的平均生产率是620 LOC/pm,如果软件工程师的平均月薪是8000元,请估算开发本系统的工作量和成本; (5) 如果从历史数据得知,开发这类系统的平均生产率是6.5 FP/pm,请估算开发本系统的工作量和成本。
13-4 假设你被指定为项目负责人,你的任务是开发一个应用系统,该系统类似于你的小组以前做过的那些系统,但是规模更大且更复杂一些。客户已经写出了完整的需求文档。你将选用哪种项目组结构?为什么?你打算采用哪种(些)软件过程模型?为什么? 13-5 假设你被指派为一个软件公司的项目负责人,你的任务是开发一个技术上具有创新性的产品,该产品把虚拟现实硬件和最先进的软件结合在一起。由于家庭娱乐市场的竞争非常激烈,这项工作的压力很大。你将选择哪种项目组结构?为什么?你打算采用哪种(些)软件过程模型?为什么?
13-6 你被指派作为一个大型软件产品公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限并且对外公布了。你将选择哪种项目组结构?为什么?你打算采用哪种(些)软件过程模型?为什么? 13-7 什么是软件质量?请叙述它与软件可靠性的关系。 13-8 一个程序能既正确又不可靠吗?请解释你的答案。
13-9 仅当每个与会者都在事先作了准备时,正式的技术复审才能取得预期的效果。如果你是复审小组的组长,你怎样发现事先没做准备的与会者?你打算采取什么措施来促使大家事先做准备? 13-10 什么是基线?为什么要建立基线? 13-11 配置审计和技术复审有何不同?可否把它们的功能放在一次复审中完成? 13-12 CMM的基本思想是什么?为什么要把能力成熟度划分成5个等级?