软件工程复试知识

软件生命周期:是软件的产生直到 废的生命周期,包括:问题定义,可行性分析,需求分析,开发阶段,维护。

需求分析的任务:深入描述软件的功能和性能确定软件设计的约束和软件其他系统元素的接口细节

软件工程模型

1.瀑布模型:软件生命周期中各个活动规定为线性连接的模型,从前至后,相互衔接的固定顺序。像瀑布一样,前一阶段完成后,才能开始后一阶段,包括需求分析,设计,编码,测试,运行与维护。以文档为驱动,适合于软件需求很明确的软件项目的模型。
优点:容易理解,管理成本低。 强调开发阶段的早期计划及需求调查和产品测试。
缺点:开始阶段难以评估进度,需求和设计的错误要后期才能发现

V模型 瀑布模型的变体,提供了验证确认活动应用于早期软件工程中的方法
2.快速原型模型
快速原型模型是不带反馈环的,软件产品的开发基本上是线性顺序进行的,快速原型地本质是快速,原型的用户是获知用户的真正需求
特点
1.原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户地需求,因此在开发过程中不会因为发现了规格说明文档地错误而进行较大地返工
2.开发人员通过建立原型系统已经学到了许多东西,因此在设计和编码阶段发生错误地可能性比较小

3.增量模型
增量模型也称渐增模型。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。
优点
1.能在较短时间内向用户提交可完成部分工作地产品
2.逐步增加产品功能可以使用户有较充裕地时间学习和适应新产品
3.开发顺序灵活。 开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整
困境
1.在每个新的增量构件集成到现有软件体系结构中,必须不破坏原来已经开发出的产品
2.在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性
了解:喷泉模型
喷泉模型主要适用于利用面向对象技术的软件开发项目,可弥补瀑布模型不支持软件重用和多项开发活动集成的不足,可使开发过程具有迭代性和无间隙性
螺旋模型

几种常见设计模式

  1. 单例模式
    所谓的单例设计指的是一个类只允许产生一个实例化对象。
    最好理解的一种设计模式,分为懒汉式和饿汉式。
    饿汉式:构造方法私有化,外部无法产生新的实例化对象,只能通过static方法取得实例化对象
    懒汉式:当第一次去使用Singleton对象的时候才会为其产生实例化对象的操作
    当多个线程并发执行 getInstance 方法时,懒汉式会存在线程安全问题,所以用到了 synchronized 来实现线程的同步,当一个线程获得锁的时候其他线程就只能在外等待其执行完毕。而饿汉式则不存在线程安全的问题。

  2. 工厂设计模式
    工厂模式分为工厂方法模式和抽象工厂模式。
    工厂方法模式:

  3. 工厂方法模式分为三种:普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。

  4. 多个工厂方法模式,是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能正确创建对象,而多个工厂方法模式是提供多个工厂方法,分别创建对象。

  5. 静态工厂方法模式,将上面的多个工厂方法模式里的方法置为静态的,不需要创建实例,直接调用即可。

  6. 抽象工厂模式
    工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要扩展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决br> 那么这就用到了抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。

  7. 建造者模式
    工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性。

  8. 适配器设计模式
    适配器模式是将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的的类的兼容性问题。主要分三类:类的适配器模式、对象的适配器模式、接口的适配器模式。

白盒测试
语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,条件组合覆盖,路径覆盖

面向对象和面向过程
面向过程就是分析出解决问题的步骤,然后用函数把这些步骤一步步实现,使用的时候依次调用。
面向对象是把构成问题事务分解为各个对象,建立对象不是为了完成某个步骤,而是为了描述某个事务在整个解决问题的步骤中的行为。

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

上一篇 2021年2月17日
下一篇 2021年2月17日

相关推荐