2.12 练习
软件工程(第4版•修订版)
1.如何将一个系统描述与过程模型的表示法联系起来?例如,你如何确定一个过程模型描述的系统边界是什么?
2.针对本章描述的每一种过程模型,讨论使用该模型的优点和缺点分别是什么?
3.针对本章描述的每一种过程模型,讨论该模型是如何处理开发后期重要的需求变化的?
4.画一个图,试描述为一次商务旅行购买一张飞机票的过程。
5.画一张Lai制品表来定义一个模块。确保你包含了制品状态以说明该模块什么时候是未测试的、部分测试的和完全测试的。
6.选择一种表示法,并使用该表示法画出一个软件开发过程的过程图,对3种不同的设计进行原型化,并选出其中最好的一种设计。
7.分析2.4节介绍的好的过程模型的特性。如果一个项目对问题和解决方案并未很好地理解,那么用于该项目的过程应该具有哪些本质特性?
8.本章中,我们认为软件开发是一个创造的过程,而不是一个制造的过程。讨论适用于软件开发的制造特性,并解释软件开发的哪些特性更类似于一种创造性行动。
9.一个开发组织是否应该对它的所有软件开发都采用同一种过程模型?讨论这样做的利与弊。
10.假设你与客户签订的合同中规定必须使用某种特定的软件开发过程。应该怎样进行管理来推行该过程的使用呢?
11.考虑本章介绍的过程。哪些过程在你对需求变化做出反应时给了你最大的灵活性?
12.假设Amalgamated公司在与你签约构建一个系统时,要求你使用一个给定的过程模型。你遵守了约定,在构建软件时使用了规定的活动、资源和约束。在软件交付和安装后,你的系统经历了灾难性的失败。当Amalgamated公司调查失败的原因时,你被指责没有进行代码评审,而代码评审原本可以在软件交付前发现问题。你回答说在公司要求的过程中并没有代码评审。请问这场辩论中的法律和道德问题是什么?
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。