1.软件工程主要分为两种研究方法:结构化的研究方法和面向对象的研究方法

结构化的设计方法


软件工程与软件危机
2.软件危机定义:软件开发和维护过程中遇到的一系列严重问题
软件危机产生原因:与软件本身的特性有关(无形、副本制作简单、无磨损)、与软件开发和维护的方法不正确有关

3.软件生命周期(考点
软件生命周期可以分为——三个时期八个阶段
三个时期:软件定义、软件开发、软件维护
八个阶段:问题定义、可行性研究、需求分析;概要(总体)设计、详细设计、编码和单元测试、综合测试;运行维护。
其中,各阶段的目的(任务):
(1)可行性研究:不是解决问题,而是要知道问题是否值得被解决
(2)需求分析:明确地知道系统必须要做什么
(3)概要(总体)设计:系统应该如何实现
(4)详细设计:逻辑上正确地实现每个模块的功能,设计的处理过程尽可能简明易懂

4.软件工程模型(考点
瀑布模型(线性顺序、每个阶段需求明确)、快速原型模型(无反馈环、满足用户需求)、增量模型(充裕的时间学习和适应)、螺旋模型(风险驱动、迭代)、喷泉模型(面向对象、迭代)


可行性研究
5.可行性研究的方面(考点):技术可行性、经济可行性、操作可行性、(法律可行性、运行可行性)

6.可行性研究的过程(考点
(1)复查系统规模和目标
(2)研究当前正在使用的系统
(3)导出新系统高层逻辑模型
(4)重新定义问题
(5)导出和评价供选择的方案
(6)推荐行动方针
(7)草拟开发计划
(8)书写文档提交审查

7.数据流图(DFD)(考点:需要掌握至少两层数据流图的画法):一种图形化技术,描绘信息流和数据从输入移动到输出的过程中所经受的变换

8.数据字典的概念:关于数据信息的集合,对数据流图中包含所有元素定义的集合
数据字典的内容:数据流、数据元素、数据存储、处理
数据字典的用途:作为分析阶段的工具


需求分析
9.分析建模
(1)三种模型:数据模型、功能模型、行为模型
(2)三种模型对应:实体-关系图、数据流图、状态图
(3)数据字典是分析模型的核心

10.实体-联系图(ER图)
数据对象、属性、联系(1:1、1:n、m:n)


总体设计
11.总体设计主要分为两个阶段:系统设计阶段(确定系统具体实现方案)和结构设计阶段(确定软件结构)

12.耦合(考点
(强->弱)内容耦合、公共环境耦合、控制耦合、数据耦合
设计要求:尽量使用数据耦合、少用控制耦合、控制公共环境耦合的范围、完全不用内容耦合

13.内聚(考点
低内聚:偶然内聚、逻辑内聚、时间内聚
中内聚:过程内聚、通信内聚
高内聚:顺序内聚、功能内聚
设计要求:力争做到高内聚

14.描绘软件结构的图形工具:层次图、HIPO图、结构图

15.交换流和事务流的变换分析


详细设计
16.过程设计的工具:程序流程图、盒图(N-S图)、PAD图、判定表、判定树、过程设计语言(PDL或伪码)


面向对象的设计方法


面向对象方法学
17.面向对象方法学的要点:任何事物都是对象;把所有对象分成各种对象类,每个对象类定义一组数据和一组方法;按照子类和父类的关系,可把若干对象类组成一个层次结构系统;对象之间仅能通过传递信息联络

18.面向对象方法学的优点:与人类习惯的思维方式一致;稳定性好;可重用性好;较易开发大型软件产品;维护性好

19.面向对象的概念:
对象:具有相同状态的一组操作的集合
(对象的特点:以数据为中心、主动、实现数据封装、本质上并行、模块独立)
类:对具有相同属性或行为的一个或多个对象的描述
实例:由某个特定的类描述一个具体的对象
消息:对象操作的规格说明
(消息的组成:接收消息的对象、消息选择符、零个或多个变元)
方法:对象所能执行的操作
属性:类中所定义的数据
封装:把数据和实现操作的代码集中起来放在对象内部
继承:直接获得已有的性质和特征
多态性:子类可以像父类那样使用
重载:函数重载:同一个作用域内,参数特征不同的函数可以使用相同的函数名;运算符重载:同一个运算符可以施加于不同类型的操作数上面

20.面向对象建模
对象模型:描述系统数据结构
(1)描述实体的对象和对象之间的联系,描述了系统的静态结构
(2)为动态模型和功能模型提供实质性框架
动态模型:描述系统控制结构(状态图)
功能模型:描述系统功能(用例图、数据流图)

21.三种模型之间的关系:相互补充、相互配合

22.类与类之间存在的四种关系:关联、继承、依赖、细化

23.类图具有哪些性质:描述类与类之间静止关系;静态模型;一个系统可以由多张类图来描述;一个类也可以出现在几张类图中

24.一幅用例图包含的模型元素:系统、行为者、用例、用例之间关系

25.创建用例模型的步骤(工作):定义系统、寻找行为者和用例、描述用例、确定用例之间的关系、确定模型


面向对象分析
26.面向对象分析的过程:分析陈述用户需求的文件;发现和改正原始陈述的二义性和不一致性,补充遗漏的内容;深入理解用户需求,抽象出目标系统的本质属性,并用模型准确地表达出来(寻找类与对象、识别结构、识别主题、确认属性、建立动态模型、建立功能模型、定义服务)

27.五个层次和五个活动
主题层、类与对象层、结构层、属性层、服务层
找出类与对象、识别结构、识别主题、定义属性、定义服务


面向对象设计
28.面向对象设计的准则:模块化、抽象、信息隐藏、弱耦合、强内聚、可重用


软件测试
29.软件测试的目的或定义
(1)软件测试是为了发现程序中的错误而执行程序的过程
(2)好的测试方案极可能是发现迄今为止尚未发现的错误的测试方案
(3)成功的测试是发现至今为止尚未发现的错误的测试

30.软件测试的步骤
单元(模块)测试(白盒)、子系统测试(白盒+黑盒)、系统测试(黑盒)、确认(验收)测试(黑盒)、平行运行

31.软件测试用例设计
(1)白盒测试技术(前期-结构)
测试用例=测试数据+预期的结果
考点)逻辑覆盖:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖
(2)黑盒测试技术(后期-功能)
与白盒测试技术互补
考点)用例尽可能简单、一个测试用例尽可能指出一类问题

32.单元测试与软件编码属于同一个阶段

33.集成测试策略(方法):非渐增式、自顶向下、自底向上、混合

34.确认(验收)测试检验软件的有效性
软件有效性的检验标准:需求分析阶段的软件规格说明书

35.调试:测试发现错误之后排除错误的过程
调试的方法:蛮干法、回溯法、原因排除法

36.软件的可靠性(考点):估计错误总数;完成测试需要改正的错误数

软件工程(速成)——总结相关推荐

  1. 软件工程速成视频(期末+考研复试+软考)嘎嘎猛

    适用人群 0基础想要学习软件工程的同学(考研,软考,期末)均可 课程大纲 学习步骤     每一章,都会[先讲会考的基础], 紧接着[讲会考的题] ,坚持学完全部章即可 拿捏复试或者期末 特色 每一章 ...

  2. CUMT学习日记——软件工程考前速成记录

    CUMT学习日记--软件工程考前速成记录 系列第一篇 计算机网络复习 系列第二篇 计算机组成原理复习 系列第三篇 微机原理与接口技术复习 系列第四篇 计算机操作系统复习 系列第五篇 数据库原理复习 系 ...

  3. 150h速成软件工程

    #开始写的时候就已经没有150h了 这书怎么这么厚 C h a p t e r 1 Chapter\ 1 Chapter 1 1.软件的组成 软件=知识+程序+数据+文档 2.生存周期 软件从概念形成 ...

  4. 软件工程考研复试速成 - 知识点精炼 - 背诵版

    针对于考研复试 软件工程 的面试问答,一般都是抽查重点的概念问题,所以本文对软件工程知识点进行重点的精炼,力求节省准研究生们的复习时间.   写这篇博客也是因为小编也在准备复试,对学习的网课进行笔记梳 ...

  5. 软件工程导论各种图例题汇总(期末考试速成)

    软件工程导论各种图例题汇总(期末考试速成) 前言 一.可行性分析 1.系统流程图 2.数据流图(重点) 3.数据字典(重点) 二.需求分析 1.实体联系E-R图(重点) 2.状态转换图(重点) 三.总 ...

  6. 软件工程期末考试速成(考试题)

    [附注信息  ----> 关注公众号:CS阿吉,大家一起分享更多的技术文章,聊天技术问题.] 今天晚上7:00 - 9:00 刚考试完软件工程(选修,闭卷),吐槽一下:老师上课讲的知识与考试90 ...

  7. 软件工程(速成)——第一章 软件与软件工程

    一.软件危机 1.Software=Program+Data+Document 2.软件的特点: (1)无形 (2)副本制作简单 (3)无磨损 3.软件危机:是指在计算机软件的开发和维护过程中所遇到的 ...

  8. 软件工程考研笔记整理(三小时速成)(3)

    大家好,跟着软工考研软姐!学习软工无死角! 第四章 形式化说明技术 1按照形式化的程度划分: 1.非形式化:自然语言描述 2.半形式化:数据流图或实体-联系图 3.形式化:基于数学技术描述 2形式化方 ...

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

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

最新文章

  1. Hashing散列注意事项
  2. 腾讯视频会议使用测试
  3. python2/python3安装pip/pip3及使用国内镜像源(python2/3同时安装)
  4. usb接口驱动_乾坤合一~Linux设备驱动之USB主机和设备驱动
  5. 正基模组:WIFI/BT/GPS/FM模组列表
  6. 计算机网络基础端口号,1 计算机网络基础练习
  7. mysql安装被打断_MySQL安装未响应解决方法
  8. php setcookie 过期,php cookie怎么设置过期时间?
  9. K均值聚类关于初始聚类中心选取的一种改进(python程序)
  10. iphone openssh
  11. 【elasticsearch】文档 CRUD 增删改查 以及 相关 参数
  12. 【Android】Lenovo K860 framework-res.apk回编译失败解决办法
  13. Ueditor和CKeditor wysihtml5 编辑器的使用与配置
  14. MOOC_Python语言程序设计_习题_《沉默的羔羊》文本分析
  15. 5月1日起入境新加坡可使用IATA通行证,五一假期新加坡亲子游攻略
  16. 数论及其应用——同余式定理
  17. linux文件损坏怎么修复工具,在Ubuntu操作系统下修复损坏程序包的三种办法
  18. 如何增加架设传奇服务器,做为一个新手如何架设传奇
  19. android 背景描边,Android告别使用shape标签,自定义实现圆角、背景色、描边Button...
  20. git pull 时一直卡在Unpacking objects【待解决】

热门文章

  1. 查找和下载rpm包——http://rpmfind.net/
  2. 不使用算术运算符计算两数之和
  3. 天河二号一些使用注意事项
  4. OpenCV 中文汉字显示
  5. 数据库笔记整理--基于《数据库系统概论》第五版王珊一书|复习提纲和错题整合
  6. 咖啡加盟开店经营离不开的三点策略
  7. 好用的图片浏览器——ArcSoft Photo+
  8. 布林通道参数用20还是26_boll最佳参数设置?布林线20和26的区别!
  9. Your file appears not to be a valid OLE2 document 报错解决办法
  10. 软件推荐01--window10上面最好用的自带命令行终端工具