软件工程期末复习

1.什么是软件危机,为什么会出现软件危机?

2.什么是软件工程?

软件工程是建立和使用一套合理的工程原则,以便经济地获得可靠的、可以在实际机器上高效运行的软件。

软件工程是(1)将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。

(2)在(1)中所述方法的研究。

3.什么是过程模型?常用的过程模型举5个例子。每种模型的作用(使用范围、优点、缺点)?

当开发产品或构建系统时,遵循一系列可预测的步骤(即路线图)是非常重要的,它有助于及时交付高质量的产品。软件开发中所遵循的路线图就称为“软件过程”。

(1)通用过程模型。

(2)惯用过程模型:瀑布模型、增量过程模型、演化过程模型、螺旋模型、协同模型。

1.瀑布模型

瀑布模型的优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。

瀑布模型的缺点:(1)开发过程一般不能逆转,否则代价太大;(2)实际的项目开发很难严格按该模型进行;(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。(4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。

瀑布模型的使用范围:(1)用户的需求非常清楚全面,且在开发过程中没有或很少变化;(2)开发人员对软件的应用领域很熟悉;(3)用户的使用环境非常稳定;(4)开发工作对用户参与的要求很低。

2.增量模型

增量模型的优点:(1)采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源;(2)如果核心产品很受欢迎,则可增加人力实现下一个增量;(3)可先发布部分功能给客户,对客户起到镇静剂的作用。

增量模型的缺点:(1)并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;(2)增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。

增量模型的使用范围:(1)进行已有产品升级或新版本开发,增量模型是非常适合的;(2)对完成期限严格要求的产品,可以使用增量模型;(3)对所开发的领域比较熟悉而且已有原型系统,增量模型也是非常适合的。

3.螺旋模型。

螺旋模型的优点:(1)设计上的灵活性,可以在项目的各个阶段进行变更;(2)以小的分段来构建大型系统,使成本计算变得简单容易;(3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;(4) 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。

螺旋模型的缺点:(1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;(2)过多的迭代次数会增加开发成本,延迟提交时间。

螺旋模型的使用范围:螺旋模型只适合于大规模的软件项目。

4.快速原型模型

快速原型模型的优点:(1)可以得到比较良好的需求定义,容易适应需求的变化;(2)有利于开发与培训的同步;(3)开发费用低、开发周期短且对用户更友好。

快速原型模型的缺点:(1)客户与开发者对原型理解不同;(2) 准确的原型设计比较困难;(3) 不利于开发人员的创新。

快速原型模型的使用范围:(1)对所开发的领域比较熟悉而且有快速的原型开发工具;(2)项目招投标时,可以以原型模型作为软件的开发模型;(3)进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。

(3)专用过程模型:形式化方法模型。

4.什么是RUP(统一过程)(特点、有点、缺点)

统一过程尝试着从传统的软件过程中挖掘最好的特质和性质,但是以敏捷软件开发中许多最好的原则来实现。统一过程认识到与客户沟通以及从用户的角度描述系统并保持该描述的一致性的重要性。它建立了迭代的、增量的过程流,提供了演进的特性。

RUP 具有很多长处:提高了团队生产力,在迭代的开发过程、需求管理、基于组件的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面,针对所有关键的开发活动为每个开发成员提供了必要的准则、模板和工具指导,并确保全体成员共享相同的知识基础。它建立了简洁和清晰的过程结构,为开发过程提供较大的通用性。

但同时它也存在一些不足: RUP只是一个开发过程,并没有涵盖软件过程的全部 内容,例如它缺少关于软件运行和支持等方面的内容;此外,它没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性。可以说 RUP是一个非常好的开端,但并不完美,在实际的应用中可以根据需要对其进行改进并可以用OPEN和OOSP等其他软件过程的相关内容对RUP进行补充和完善。

5.特征与特征集(分析与设计题)

特征驱动开发(FDD)描述了一个可用于中、大型软件项目的适应性敏捷过程。

在FDD中,特征“是可以在2周或更短时间实现的具有客户价值的功能”。强调特征的定义是为了如下好处:

特征是小块可交付功能,用户可以更容易地对其进行描述、轻松地理解他们之间的相互关系,更好地评审以发现歧义性、错误和遗漏。

特征可以组织为具有层次关系的业务相关的分组。

由于特征是FDD可以交付的软件增量,团队每两周便可以开发出可供使用的特征。

由于特征很小,其设计和代码表示都可以很容易、很有效地检查。

项目计划、进度和跟踪都由特征层次驱动,而不是可任意调整的软件工程任务集。

例如:一个电子商务应用项目的特征可能如下所示:

将产品加入购物车

显示产品详细技术说明

为顾客存储购物信息

一个特征集将相关特征分在一个业务相关的类别中。

例如:出售一件商品是一个特征集,它包含上面提到的及其他特征。

7.什么是需求工程,哪些主要内容

需求工程是指致力于不断理解需求的大量任务和技术。从软件过程的角度来看,需求工程是一个软件工程动作,开始于沟通活动并持续到建模活动。它必须适应于过程、项目、产品和人员工作的需要。

需求工程过程通过执行七个不同的活动来实现:起始、导出、精化、协商、规格说明、确认和管理。

8.场景建模用例图、E-R图、数据字典、数据流图、类图

9.SRS的主要内容有哪些?

10.执行器-传感器的顺序图

11.设计概念(列举5个,并解释)

12.23个设计模式(5个并解释),什么是设计模式?

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

设计模式分为三种类型,共23种。

创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。

结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。

行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。

13.体系结构类型、风格、模式。

14.管道-过滤器。

15.数据流图,映射。

16.程序流图、盒图、PAD图、伪码、判定表。

17.面对对象分析与结构化分析的异同?

其中部分图片没有显示,完整文档下载地址:

软件工程期末复习总结_双机位监考怎么作弊,双机位监考有效作弊方式-讲义文档类资源-CSDN下载

关注公众号:文经猫的诗和远方,获取博主最新的技术文章与人生感悟,共同成长,实现人生价值!

软件工程期末复习总结相关推荐

  1. 山东大学软件工程期末复习知识点总结

    山大软院软件工程期末复习知识点总结,根据任课老师所给提纲及课件等资料进行整理. 考试范围全覆盖. 文档电子版下载地址 目录 第一章 1.1软件工程(SE)的定义.目的.方法.作用: //1.2开发模式 ...

  2. 四川大学计算机学院软件工程期末,四川大学软件工程期末复习ppt

    PPT内容 这是一个关于四川大学软件工程期末复习ppt,主要介绍Multiple choices (only one is correct) 20*1'.Fillment 25 (8Item).Exp ...

  3. 四川大学计算机学院软件工程期末,2015四川大学软件工程期末复习.doc

    2015四川大学软件工程期末复习 Multiple choices The rapid application development model is Answer:c Another name f ...

  4. 软件工程期末复习例题 2021

    软件工程期末复习 填空题: 测量是对产品或过程的某个属性的范围. 数量. 维度等提供的定量表示,如某个程序模块所含代码函数.而测度是测量的一个行为,把数字或符号分配给现实世界实体的属性的过程 软件项目 ...

  5. TUT 2020年软件工程期末复习提纲

    软件工程期末复习提月工 目录概览 第一章 软件工程的基础知识 1.软件危机 定义:软件危机是指再计算机软件的开发和维护过程中所遇到的一系列严重问题. 软件危机包含下述两方面的问题: 如何开发软件,以满 ...

  6. 软件工程期末复习汇总(非常详细)

    期末复习 文章目录 期末复习 第1章 概论 软件过程模型 瀑布模型 演化模型 增量模型 原型模型 螺旋模型 喷泉模型 基于构件的开发模型 形式方法模型 第2章 系统工程 可行性分析 经济可行性 技术可 ...

  7. 软件工程期末复习【速成】

    软件工程复习纲要 第一章 1.软件的定义 软件是程序以及开发.使用和维护程序所需的所有文档 是指能够完成预定功能和性能的可执行的程序,包括使程序正常执行所需要的数据和有关描述程序操作和使用的文档. 2 ...

  8. 2021 合工大软件工程期末复习知识点汇总

    --知识点范围整理自wkw闭卷复习要点群文件.txt 闭卷考概念的滚出中国 题型 判断题 10分 选择题 10分 填空题 10分 名词解释 4×5分 简答题 5×4分 综合题 30(课堂作业) 押个题 ...

  9. 软件工程期末复习(超详细)

    软件工程 一:软件工程概述 二.踏上ICONIX软件工程之路 三:业务建模,精准了解你的客户 四:需求分析,用例分析法 五:需求与设计的桥梁:健壮性分析 六:关键设计 七:详细设计 八:敏捷开发 九: ...

最新文章

  1. 全球43亿IPv4地址正式耗尽,IPv6才是物联网的菜
  2. java 对象等于_java 之类对象等于对象 | 学步园
  3. 各种封装——封装getClass
  4. Visual C# 2008+SQL Server 2005 数据库与网络开发――3.2.4 匿名类型
  5. Linux内核深入理解中断和异常(7):中断下半部:Softirq, Tasklets and Workqueues
  6. Treeview的文件目录配置
  7. MySQL sql语句字段截取前几位,后几位等
  8. C语言实现数字串转数字
  9. 《光剑文集》青玉案: 27首
  10. oracle中if语句用法,Oracle IF语句的使用 | 学步园
  11. CHI到底是干嘛的 保证cache一致性 2.3 snoop
  12. Linux cd命令cd、 cd ~、cd /、cd../、cd /home讲解
  13. bi数据分析工具有哪些?
  14. 爬取Bilibili视频评论,并生成云词图
  15. 抖音荣誉等级与粉丝等级的消费对照表
  16. 90.pygame游戏-玩个球(play the ball)最终版
  17. sse——字符串数组
  18. 【白板推导系列笔记】降维-主成分分析-概率角度(Probabilistic PCA)
  19. 数据分析入门宝藏!《Python数据分析-从入门到实践》
  20. GridView分页实现

热门文章

  1. 【相机标定与三维重建原理及实现】学习笔记1——相机模型数学推导详解
  2. 5-黑马旅游网-线路查询
  3. 计算机服务器机房属于什么辐射,服务器机房中的辐射有多大?如何减少服务器机房中的辐射...
  4. 如何使用SPSS进行相关性和回归分析
  5. 欣旺达电池获得24亿元投资,理想汽车、蔚来汽车等参与认购
  6. 基于51单片机的智能浇花系统(可做毕设)
  7. 汽车钥匙芯片工作原理 浅谈汽车钥匙芯片作用及分类
  8. 无人机——舵机篇(七)
  9. 负载均衡(Load Balance)简单介绍
  10. Android的声音编程--使用OpenSL ES Audio