上午练习
1. 请说明模型的作用,例举 3 个常用模型,具体说明其模型结构,
特点,简要分析各自的优缺点。
人们在研究、处理实际问题时,最常用的方法就是对一个实际问题简单化和抽象化,即我
们经常遇到的所谓建立模型。Roger S. Pressman 认为软件工程是一种层次化技术,分为
质量保证层、过程层、方法层和工具层,过程层属于基层。软件工程过程是将技术层结合
在一起的凝聚力,使得计算机软件能够被合理地、与时地开发出来。软件过程模型是指从
软件项目需求定义开始直至软件使用后废弃为止,针对系统开发、运作和维护所实施的全
部过程、活动和任务的结构框架。
瀑布模型( waterfall model),又称线性顺序模型,首先由 Royce[Royce,1970]提出。该模
型规定了各项软件工程活动,包括制定开发计划、进行需求分析和说明、软件设计、程序
编码、测试与运行维护。并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流
水,逐级下落。瀑布模型属于线性顺序模型,是最早、也是应用最广泛的软件工程例,已
在各类产品中获得了巨大的成功。瀑布模型的主要缺点是它没能把软件看成是一个问题解
决的过程。瀑布模型源自硬件领域,表达了软件开发的制造观点。
螺旋模型(spiral model)[Boehm,1988]将瀑布模型与演化模型结合起来,并且添加两种模
型均忽略的风险分析。螺旋模型沿着螺线旋转,在笛卡儿坐标的 4 个象限上分别表达了 4
个方面的活动。螺旋模型有许多优点。对可选方案和约束条件的强调支持了现有软件的重
用,有助于将软件的质量作为一个特殊的目标融入产品开发中。此外,软件开发中的一个
共同问题是判断一个特定的产品在何时已得到了充分的测试。螺旋模型有一定的适用限制
条件。特别是,当前形式的螺旋模型排它性地适用于部的大规模软件开发