软件工程的各种模型的比较.ppt
第二章软件开发模型传统开发模型瀑布模型(waterfallmodel)快速原型模型(rapidprototypemodel)演化开发模型增量模型(incrementalmodel)螺旋模型(spiralmodel)面向对象开发模型构件集成模型(componentintegrationmodel)形式化开发模型转换模型(transformationalmodel)净室模型(cleanroommodel)软件生存周期计划时期问题定义可行性分析开发时期需求分析软件设计编码测试运行时期软件维护瀑布模型问题定义可行性研究需求分析软件设计编码测试维护计划时期开发时期运行时期质量保证特点存在问题阶段的顺序性和依赖性不适合需求模糊的系统推迟实现的观点瀑布模型快速原型模型需求分析原型开发最终系统设计原型评价最终系统实现用户反馈特点快速开发工具循环低成本种类渐进型抛弃型快速原型模型增量模型规格说明设计实现和集成交付客户规格说明设计实现和集成交付客户规格说明设计实现和集成交付客户规格说明设计实现和集成交付客户增量1增量2增量3增量n增量小而可用的软件特点在前面增量的基础上开发后面的增量每个增量的开发可用瀑布或快速原型模型迭代的思路增量模型螺旋模型01特点02瀑布模型+快速原型+风险分析03迭代过程04一个螺旋式周期05确定目标,选择方案,选定完成目标的策略06风险角度分析该策略07启动一个开发阶段08评价前一步的结果,计划下一轮的工作螺旋模型构件集成模型融合螺旋模型特征特点支持软件开发的迭代方法面向对象软件重用基于构件库构件集成模型对象Object01类Class02继承Inheritance03消息Message04面向对象05对象+类+继承+消息通信06面向对象的基本概念客观世界中的实体01状态(静态属性Attributes)02操作(动态行为Methods)03对象::=ID,MS,DS,MI04Identifier05MethodSet06DataStructure07MessageInterface08对象Object0103050204以数据为中心对象是主动的实现数据封装本质上有并行性模块独立性好对象的特点类相同属性和行为的对象的抽象实例特定类所描述的一个具体对象01.02.03.04.类Class和实例Instance继承(Inheritance)子类直接继承父类的数据和操作继承的传递性,单继承、多重继承家具桌子椅子衣柜床椅子的实例AEDFBC不同类层次共享一个方法名相同的参数特征和返回值类型C++中虚函数实现多种不同实现动态联编概念多态性Polymorphism函数重载1多个名字相同的函数3静态联编5同一作用域2参数特征不同4运算符重载6重载Overloading