软件工程

1.软件工程三要素

方法,工具,过程。

2.软件开发过程模型

瀑布模型: 将软件生命周期各项活动规定为一次线性连接的若干阶段的模型。

适用于需求全面稳定的项目。

V模型: 瀑布模型的变体,提供了一种验证确认活动。

快速原型模型: 快速建立一个能够反映用户主要需求的原型系统,让用户参与和反馈,以便将来建立的系统更符合用户需求。

适用于用户不能确切定义需求的软件系统的开发,需要开发人员帮助用户确定需求。

增量模型: 增量模型的开发是递推式的过程,属于非整体开发模型,把一个完整的软件分成一系列增量构件来设计,编码,组装,测试。

适合于软件需求不明确,设计方案有一定风险的软件项目。

螺旋模型: 使用原型及其他方法降低风险,每个螺旋周期都包含了风险分析过程。

适合于大规模,高风险的软件项目的开发。

喷泉模型: 面向对象的软件开发模型,具有迭代性和无间隙性。

敏捷开发模型: 适用于商业竞争的环境下对小型项目提出的有限资源,有限开发时间的约束。

3.数据流图

主要描述一个系统的逻辑输入和逻辑输出,以及逻辑输入转换为逻辑输出所需要的加工处理。

4.各种图的使用阶段

需求阶段: 用例图描述需求。

分析阶段: 类图描述静态结构,采用顺序图,合作图,活动图,状态图描述动态行为。

设计阶段: 采用类图,包,对类的接口进行设计。

实现阶段: 无图,使用编程语言实现。

交付阶段: 构件图,部署图。

5.软件生命周期
  1. 软件定义时期

问题定义:用户要解决什么问题

可行性研究:上一阶段确定的问题是否能够解决

需求分析:为解决这个问题系统需要具备什么样的功能

  1. 软件开发时期:(设计,实现,测试)

总体设计:设计有哪些模块,模块与模块间的关系

详细设计:对每个模块设计进行详细说明,算法和数据结构

编码和单元测试:将详细设计中的内容使用编程语言实现,测试每个模块

综合测试:通过各种测试使软件达到预定要求

  1. 软件维护时期

软件维护:使软件再整个生命周期内保证满足用户的需求

6.软件发展的三个阶段

程序设计阶段,程序系统阶段,软件工程阶段

7.软件工程的由来

软件: 软件是计算机系统中与硬件相互依存的另一部分。包括程序,数据及其相关文档的完整集合。

软件 = 程序 + 数据 + 文档

软件危机: 在计算机软件开发和维护过程中所遇到的一系列严重问题。

包含两部分内容,如何开发软件,以满足对软件日益增长的需求,如何维护数量不断膨胀的已有软件。

主原因:忽视需求分析,软件维护,没有认识到文档的重要性。

客观原因:软件是逻辑实体,缺乏可见性,管理控制困难。

软件工程: 采用工程的概念,原理,技术和方法来开发,维护软件,运用经过时间考验的管理技术,经济的开发高质量的软件并维护它。

8.人机交互界面的设计原则

用户驾驭软件,而不是软件驾驭用户

减少用户的记忆负担

保持界面的一致性

9.软件测试
  1. 静态测试

程序不在机器上运行,对源代码进行研读来查找错误。

  1. 动态测试

通过运行程序来发现错误。

  1. 黑盒测试

把程序看成一个黑盒子,完全不考虑程序的内部结构,是在程序接口进行的测试,只检查程序是否能通过正确的输入得到正确的输出信息。

  1. 白盒测试

把程序装在一个透明的盒子里,测试者完全知道程序的结构和算法,按照程序内部的逻辑测试程序,检查程序中的主要执行道路是否能按预定要求正常工作。

  1. 单元测试

单元测试的对象是软件测试的最小单元,模块,以详细设计的说明为指导,使用白盒测试。

  1. 集成测试

每个模块在单元测试中测试过之后再组装成一个完整的系统进行的测试,使用概要设计说明书,以黑盒测试为主,主要测各个模块组装后还能不能进行正常工作,功能测试。

  1. 确认测试

由专门的测试人员和用户参加的测试,通过测试保证软件满足所有功能需求,性能需求,以需求规格说明书为基础,采用黑盒测试。

  1. 系统测试

将系统所需要的软硬件,数据及操作人员在实际环境中进行一系列测试,保证系统各部分在同一协调下能正常工作。

  1. α测试和β测试

α测试是开发者,用户同时在开发环境下进行的测试。

β测试是在实际环境中,开发公司组织典型用户在日常工作中的测试。

  1. 软件测试的三个阶段

开发测试,发布测试,用户测试

10.需求分析的任务和步骤

需求分析的基本任务,深入描述软件的功能和性能,确定软件设计的约束,同其他系统元素的接口,最后定义软件的有效性需求。

  1. 问题识别

功能需求,性能需求,环境需求,用户界面需求

  1. 分析与综合,导出软件的逻辑模型

  2. 编写文档

需求规格说明书,用户使用手册,确认测试计划

11.结构化分析的要点

模块化,自顶向下,上层模块分解为下层模块

12.白盒测试有哪些覆盖

语句覆盖,判定覆盖,条件覆盖,条件组合覆盖,路径覆盖

13.面向对象和面向过程

面向过程:分析出解决问题所需要的步骤,然后按部就班的一步一步执行。

面向对象:在编程的时候尽可能去模拟现实世界,需要解决的问题中涉及到的主体都定义为一个对象,按照现实世界中的逻辑去解决问题。

14.高内聚,低耦合

高内聚:模块内部的各个元素之间的联系要很紧密。

低耦合:模块之间的联系不能特别紧密,一个模块的改动不能影响到另一个模块。

模块之间的联系越紧密,耦合度就越高,模块的独立性就越差。

15.等价类划分

有效等价类:有意义的,合理的数据构成的集合,能够检验程序是否实现了规格说明书中规定的功能和性能。

无效等价类:无意义的,不合理的输入数据构成的集合,能够检查程序是否具备一定的容错性。

检测自己有没有复习到位,看着以下这些关键字,是否可以说出内容,复试时很多时候老师都是说个关键字,然后你自己根据关键字拓展,既可以检验广度,又可以检验深度。

1.软件工程三要素
2.软件开发过程模型
瀑布模型
V模型
快速原型模型
增量模型
螺旋模型
喷泉模型
敏捷开发
数据流图
各种图的使用阶段
软件生命周期
软件发展的三个阶段
软件工程的由来
人机交互页面的设计原则
软件测试
静态测试
动态测试
白盒测试
黑盒测试
单元测试
集成测试
确认测试
系统测试
α测试和β测试
需求分析的任务和步骤
结构化分析的要点
白盒测试有哪些覆盖
面向对象和面向过程
高内聚,低耦合
等价类划分

计算机考研复试-软件工程相关推荐

  1. 计算机考研复试——软件工程篇

    更多复试科目见此目录 所有科目资料的打印版和md原始文件可从此链接下载 1.什么是软件工程?目前有哪几种主要的软件工程方法? ​ 概括地说,软件工程是指导计算机软件开发和维护的一门工程学科.采用工程的 ...

  2. 东北大学计算机考研复试时软件工程的一些总结(一)

    东北大学计算机考研复试时软件工程的一些总结(一) 第一章 软件工程概述 第二章 软件开发过程和活动 第一章 软件工程概述 1.1 软件开发有哪些特点? 难以描述性.缺乏可见性.复杂性.变化性.风险性. ...

  3. 浙江大学计算机研究生分数线初试单科学科,2016年浙江大学计算机考研复试分数线_浙江大学考研分数线...

    成绩查询的时间越来越近了,来看看历年的分数线来估算一下自己是准备复试还是准备调剂吧,小编为大家整理了2016年浙江大学计算机考研复试分数线赶紧来看看.小编还为大家精心准备了浙江大学2016年计算机考研 ...

  4. 苏州大学计算机考研复试经验,苏州大学计算机考研复试经验总结.docx

    苏州大学计算机考研复试经验总结 苏州大学计算机考研复试经验总结之前发过这篇帖子,结果很快就沉了,着实伤心,为了造福更广大的计算机考生,我这里再发一遍.有感于考研道路的艰辛,特地将我考研过程中的一些经验 ...

  5. 浙江大学计算机考研最新,2017年浙江大学计算机考研复试分数线_浙江大学考研分数线...

    成绩查询的时间越来越近了,来看看历年的分数线来估算一下自己是准备复试还是准备调剂吧,小编为大家整理了2017年浙江大学计算机考研复试分数线赶紧来看看.小编还为大家精心准备了浙江大学2017年计算机考研 ...

  6. 浙大计算机学硕初试分数线,2016年浙江大学计算机考研复试分数线_浙江大学考研分数线...

    成绩查询的时间越来越近了,来看看历年的分数线来估算一下自己是准备复试还是准备调剂吧,小编为大家整理了2016年浙江大学计算机考研复试分数线赶紧来看看.小编还为大家精心准备了计算机专业考研报录比指南还有 ...

  7. 武汉理工大学计算机考研复试资料,武汉理工大学计算机考研复试

    武汉理工大学 计算机考研 复试 心得体会 经验 前言:理工计算机最近几年的复试题目貌似都很难找,作为过来人,本人深深高手到其不方便~~为此,本人在复试完毕后对题目做了及时的记录,希望对以后几届想考理工 ...

  8. 计算机考研复试面试常问问题 数据库篇

    计算机考研复试面试常问问题 数据库篇 在复习过程中,我用心查阅并整理了在考研复试面试中可能问到的大部分问题,并分点整理了答案,可以直接理解背诵并加上自己的语言润色!极力推荐打印下来看,效率更高!绝对良 ...

  9. 计算机考研复试面试常问问题 编程语言篇

    计算机考研复试面试常问问题 编程语言篇 个人整理,免费分享,不可用于商业用途,转载请注明出处! 但是有同学反应闲鱼上有人盗卖此免费分享资料,还有好多同学买了,所以希望大家多多点赞评论收藏,提高这份资料 ...

最新文章

  1. 批量建立用户和设置密码,批量删除用户脚本
  2. Docker容器运行后退出,怎么才能一直运行?
  3. 计算机之父童年的故事ppt,《“计算机之父”童年的故事》PPT课件2
  4. eclipse打包jar发布到linux下运行出错(java.lang.ClassNotFoundException: cmd.WordCount$MyMapper )
  5. Jquery通过遍历数组给checkbox赋默认值
  6. java requestparams_java – 如何验证@RequestParams不为空?
  7. 为什么不敢和别人竞争_净空法师开示:学老实,在社会上不能跟人竞争吗? - 如是我闻佛教网...
  8. rtklib 后处理_RTKLIB 手册解读及代码调试知识总结
  9. 关于cell中添加子视图 复用重叠问题的解决方法
  10. Per-class allocator 2
  11. 软件公司为什么要加密源代码,而且是前前后后,反反复复
  12. struts的执行流程
  13. 多表无关联查询(范围查询):查询某个人属于哪个工资区间
  14. 修改Linux文件格式为unix
  15. HP服务器连接显示器怎么连,笔记本如何外接显示器 外接显示器连接步骤【详解】...
  16. 客户机是计算机网络硬件吗,计算机网络中硬件连接设备有哪些?
  17. 2021个人工作计划
  18. 同事喜欢、领导器重的是哪类人?
  19. 爬虫第八式:破解百度翻译案例(特别详细) - JS逆向
  20. Pusher入门:使用状态通道

热门文章

  1. js将页面转简体或者繁体
  2. Debian中文环境配置及几种中文编码的探究
  3. SAP知识精解-物料需求计划MRP-概览
  4. Java毕设项目学生二手书籍交易平台计算机(附源码+系统+数据库+LW)
  5. smartdeblur有手机版吗_smartdeblur
  6. 巴菲特致股东的一封信:2010年
  7. labelview连续打印设置方法
  8. 全球及中国精密夹具行业研究及十四五规划分析报告
  9. 360 手机助手爬虫
  10. 如何处理X-Lite和eyeBeam常见软电话故障及方法