第 9 章 软件工程

软件开发模型

相当于软件开发中的一系列开发思想,开发体系

有重大的缺陷:

导致:延期,成本超支,无法继续

每一个阶段的开始都会有对上一个阶段的 “评审”工作,评审上个阶段的成果是否符合要求

结构化开发模型————–结构化

快速原型模型:

适用于:需求不明确的项目

客户和开发团队有隔阂,由于知识领域的区别,无法得到有效的沟通

获取到了基本需求之后,可以做一个简易系统,向用户展示系统应有的功能,不实现具体的功能,让用户知道软件有什么功能,从而获取用户的反馈

 

 

快速原型模型适合:需求分析阶段

 

演化模型;

从原型模型的简易系统,逐步演化为一个成熟的软件,这样的模型叫做演化模型

增量模型:

原型模型+瀑布模型

先开发核心模块,一步一步的进行开发

核心模块比较早的和用户进行了接触,每个模块做出来了以后都与核心模块一起将软件进行了完善,如果用户有意见需要修改,在软件的开发阶段就会进行修改,而不是整个软件系统开发完成后再修改,那样相当于回到了瀑布模型

因为包含了原型,所以螺旋模型也可以解决需求不明确的情况

但是如果出现了原型,优先考虑原型解决需求不明确的问题

 

主要区别:有风险分析

 

V模型

RAD(快速开发模型)

主要四种:

  1. 结构化法

    信息隐藏:部门与部门之间的合作,不是具体针对个人,而是通过约定好的规则(接口)进

    行合作

    模块独立:

     

    耦合:模块之间的连接紧密情况

    软件测试

    测试原则与类型

    主要出现在上午题中,有时在论文中

    覆盖面更加全面

     

    边界值:比如90分也是及格,但是上面写x>90

     

    通常将等价类划分和边界值分析结合使用

     

    白盒测试最主要的四个:语句覆盖,判定覆盖,条件覆盖,路径覆盖

    测试阶段

    集成测试:

        将各个模块连接起来进行整体间的测试,测试他们的衔接有没有问题

        就是将模块进行组装

                    组装的两种形式

                            1>一次性组装

                            2>增量式组装(工作量比较大)

                                2个拼起来测->4个拼起来测->8个拼起来测…….

     

    上级调用模块

    确认测试:

    确认的判别是否按照需求开发的软件

    负载:不同的负载之下,软件的性能表示

        EG:并发1000与并发2000

    强度:在系统发生异常/资源不是正常配置的强控下,软件是否正常

    压力:在极限值的情况下,软件是否会崩溃等

     

     

    冒烟测试->集成测试

        在进行相关的维护之后,会不会有明显的问题

        冒烟测试和回归测试都是在修复BUG后进行的测试,但冒烟测试更加的简单,只是初

    步的进行测试

     

     

     

    系统运行与维护

    第 9 章 软件工程

    可维护性:

    易分析性:源代码理解起来很容易,看起来很好懂

    易改变性:修改这段代码的容易程度

    耦合性的问题:模块之间低耦合,改变起来很容易

                    模块之间耦合高,不容易改,牵一发而动全身

    易测试性:

    改正性维护:软件开发出来的在用户使用后才发现的BUG,这个时候去维护,修复BUG

    适应性维护:软件的运行环境发生变化(不一定指跨平台)

    比如:将win2008上的软件运行在winxp上,针对系统的改变而进行的维护

                

                适应数据环境:数据环境发生变化,

    完善性维护:在系统的运行过程中,发现很多东西发生改变,要扩充功能——增强性能

                主要是指增加一些新的功能,而不是应对问题去修改

    预防性维护:在发现还没有出现的错误,提前进行准备(写测试,编码),但是却没有直接

                对软件进行修改,即单纯的准备工作

    千年虫问题:没有考虑到跨百年的情况,很多企业提前去做了申请

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年1月3日
下一篇 2018年1月3日

相关推荐