瀑布模型规定了各项软件工程活动,包括需求分析、规格说明、设计、编码、测试和维护,并规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级而下。瀑布模型的特点是:阶段间具有顺序性和依赖性;清楚区分逻辑设计和物理设计,尽可能推迟程序的物理实现;每个阶段都必须完成规定的文档,且每阶段结束前需要对完成的文档进行评审。
//ps:标准答案
3、为什么要做架构设计?
可靠性。软件系统对于用户的商业经营和管理来说非常重要,因此软件系统必须非常可靠。
安全性。软件系统所承担的交易的商业价值极高,系统的安全性必须非常重要。
高效性。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。
可定制化。同样的一套软件,可以根据客户群的不同和市场的需求变化进行调整。
可扩展性。在新技术出来的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展。
可维护性。
客户体验。必须易用
市场。
//ps:非标准答案,仅供参考
4、极限编程是用故事情节并且把每个情节都写在卡片上来表达用户需求的,试述这种需求描述的优点和缺点。
优点:
1)采用简单计划策略,不需要长期计划和复杂模型,开发周期短;
2)在全过程采用迭代增量开发、反馈修正和反复测试的方法,能够适应用户经常变
化的需求。
缺点:
1)目前主要在小规模项目上应用并取得成功,但是否适用于中等规模或大规模软件
产品,需慎重考虑;
2)由于这个模型较新产品交付后维护成本是否降低,不能确定;
3)对编码人员的经验要求高。
//ps:非标准答案,仅供参考
5、Scrum的工作分解结构与传统项目的工作分解结构有哪些区别?
在传统的软件开发过程中,工作的分解结构是层次性的分解。整个项目被分解为不同的工作,这些工作被分解为活动和任务,而后这些工作条目会进行进一步的详细分解。整个项目的工作分解是自顶向下进行的,越往下越详细,这个层次结构中最低的那层任务被拿来做估算和任务指派。
Scrum敏捷软件项目将系统特征与功能以用户故事(User Story)的形式归档在索引卡片上作为产品订单(Product Backlog),所有的卡片都按照优先级进行排列。Scrum团队所有工作的焦点就是用户故事卡片,开发团队从高优先级开始执行。价值高的功能得到优先开发。
不同于传统项目自顶向下的工作分解结构,Scrum团队的工作分解结构只针对每个跌倒要完成的工作,这些工作的就是高优先级的用户故事,用户故事被分解为小时级的任务。在实践上,Scrum团队的工作分解结构比传统项目的工作分解结构更简单有效,而且由于每个迭代开发的都是商业价值最高的功能,系统风险更小。