文章目录

  • 第一章
    • 第一节
    • 第二节
    • 第三节
    • 第四节
  • 第二章
    • 第一节
    • 第二节
    • 第三节
    • 第四节
    • 第四章
    • 第五节
    • 作业
  • 第三章
    • 第二节 软件体系结构设计
    • 第三节
    • 第四节
    • 第五节
    • 第六节
  • 第四章
    • 第一节
    • 第二节
    • 第三节
    • 第四节 静态模型
    • 第五节 动态建模(重要)
    • 第六节
    • 总结
  • 第五章
    • 第一节
    • 第六节
  • 第六章 软件测试
    • 第一节
    • 第二节 白盒法
    • 第三节 黑盒法
    • 第四节 软件测试的策略
    • 第六节 面向对象的测试
  • 第七章 软件维护
    • 第一节
    • 第四节
    • 第五节
  • 第八章 软件项目管理
    • 第二节
    • 第三节
    • 第四节 人力资源(这一章重要)
    • 第五节 风险管理
    • 第六节 质量保证
    • 第七节 配置管理
  • 第九章
    • 第一节
    • 第二节 CMM结构
  • 题型总结

第一章

第一节

  1. 软件危机特征,表现:软件产品质量低劣,软件生产率低下
  2. 软件工程的目标:以较少的投资获取高质量的软件
  3. 软件工程分为两大类技术:软件开发技术,软件管理技术

第二节

  1. 软件包括程序和文档
  2. 软件按功能划分:系统软件、支持软件、应用软件
  3. 软件的生命周期 (时期阶段输出)
  4. 软件工程三要素:方法,工具,过程

第三节

  1. 软件开发模型(软件过程模型)

    1. 瀑布模型(结构化)(记住输出)

      优点:比较容易管理

      缺点:不适用于需求不明确的情况

    2. 增量模型,非整体开发模型

      优点:比较灵活

      缺点:容易盲目乐观和无限循环

    3. 原型模型是循环模型(解答题)

      适用于前沿的开发,可能导致忽略一些功能

    4. 螺旋模型是瀑布模型和增量模型的结合,加入了风险分析,适用于大型开发,风险度高的软件开发

    5. 喷泉模型,面向对象

    6. 智能模型(结构化)

第四节

  1. 结构化开发方法:

    1. 结构化程序设计方法 SP (structured program)
    2. 结构化设计方法 SD(structured design)
    3. 结构化分析方法 SA(structured analysis)
  2. 面向对象的开发:
    1. OOA (Object-Oriented Analysis)面向对象的分析
    2. OOD (Object-Oriented Design) 面向对象的设计
    3. OOP (Object-Oriented Program) 面向对象的程序设计
  3. 敏捷软件开发:以为核心

作业判断题10RCP,RSP划掉不看

第二章

第一节

  1. 软件需求的困难:

    1. 应用领域的广泛性
    2. 非功能性需求建模技术的缺乏
    3. 沟通上的困难
  2. 软件需求的分类

    划分为两类是用户需求和系统需求

    三类是功能需求、非功能需求和领域需求

第二节

  1. 需求工程的过程(图重要):

第三节

  1. 软件需求难以获取的原因

    1. 缺乏领域知识
    2. 存在默认的知识
    3. 存在多个知识源
    4. 客户可能的偏见
  2. 需求抽取的方法(和特点):
    1. 面谈法:简要而直接,简单的需求获取技术。
    2. 问卷调查法: 是对面谈法的补充
    3. 需求专题讨论会(最有效,最有力):有利于培养高效团队
    4. 原型化方法:对于试验性、探索性的项目效果好,强调开发人员与用户的不断交互
    5. 面向用例的方法:从用户角度来观察和分析系统应该具有的功能

第四节

  1. 画dfd图(数据流图)(大题

    用文字写出:实体,处理,数据存储,数据流

    再去画图,方便给分

  2. SA法(结构化分析方法)的基本思想:分解和抽象

  3. SA法的描述方法有哪些:

    1. DFD图(最重要)
    2. 数据词典
    3. 结构化语言,判定表和判定树
  4. 数据流图基本符号

  5. 面向对象的分析方法,Use case图画法

    1. 识别执行者
    2. 识别用例
    3. 识别用例和用例的关系

第四章

  1. 需求验证的内容

    1. 有效性检查
    2. 一致性检查
    3. 完备性检查
    4. 可验证性检查
  2. 需求管理最重要的是需求变更管理

第五节

  1. DFD图例子,参考ppt2.5。DFD图要求顶层和一层

  2. DFD图的基本原则

    1. 数据守恒和数据封闭原则
    2. 加工分解原则
    3. 子图和父图平衡
    4. 合理使用文件
  3. 数据词典条目

    1. 数据流条目
    2. 文件条目
    3. 数据项条目
    4. 加工条目
  4. 如何画use case 模型

作业

  1. 加工小说明针对dfd
  2. 判定表可以描述组合条件
  3. dfd图需求分析阶段

第三章

第二节 软件体系结构设计

以下优缺点了解

  1. 仓库模型:利于大数据的共享(最大的特点)

    1. 优点:

      1. 数据由一个子系统产生,并且被其他一些子系统共享
      2. 共享数据能得到有效的管理,各子系统之间不需要通过复杂的机制来传递共享数据。
      3. 一个子系统不必关心其他的子系统是如何使用它产生的数据的。
      4. 所有的子系统都拥有一致的基于中央数据仓库的数据视图。
    2. 缺点:
      1. 各子系统必须有一致的数据视图
      2. 一个子系统发生了改变,它产生的数据结构也可能发生改变。为了其他共享的目的,数据翻译系统会被用到。但这种翻译的代价是很高的
      3. 中央数据仓库和各子系统拥有的数据库必须有相同的关于备份、安全、访问控制和恢复的策略
      4. 集中式的控制使数据和子系统的分布变得非常困难甚至成为不可能。
  2. 层次模型:如SOA网络7层模型,tcp/ip 4层模型
    1. 适合增量的软件开发
  3. 分布式模型 C/S B/S
    1. 优点

      1. 资源共享
      2. 开放性高
      3. 可伸缩性好
      4. 容错能力强
      5. 透明性高
    2. 缺点
      1. 复杂性
      2. 安全性(难以保证)
      3. 可管理性(困难)
      4. 不可预知性,主要指系统的响应时间
  4. 云计算模型:
    1. 三种服务模式:软件即服务(SaaS),平台即服务(PaaS),基础架构即服务(IaaS)
    2. 部署模型
      1. 公有云
      2. 私有云
      3. 混合云
    3. 雾计算适用于大数据共享
  5. 模块
    1. 划分:目的是将系统分而治之,不是越细越好
    2. 特点,划分原则:低耦合(数据耦合),高内聚(功能内聚)

第三节

  1. OOA
  2. OOD
  3. OOP

第四节

  1. 详细设计描述工具中常用的描述方法工具:

    1. 程序流程图
    2. N-S图
    3. PAD图
    4. PDL语言
    5. 判定表,判定树

第五节

  1. 用户界面设计的任务

    1. 建立用户模型
    2. 建立任务模型
    3. 确定用户界面类型
  2. 用户界面设计的原则(判断题,不背,了解)
    1. 争取保持一致性。
    2. 满足普遍可用性的需求。
    3. 提供信息反馈。
    4. 设计对话框已产生结束信息。
    5. 预防错误。
    6. 允许动作回退。
    7. 支持内部控制点。
    8. 减轻短期记忆负担。
  3. 不要用颜色表示信息

第六节

  1. MVC:

    1. M:模型
    2. V:视图
    3. C:控制器

第四章

第一节

  1. OOA,OOD,OOP以对象为中心构造系统

第二节

  1. UML:统一建模语言

第三节

  1. use case模型:

    1. 确定执行者:人、硬件、系统
    2. 确定用例:功能
    3. 用例之间的关系,extend ,include
    4. 可以看ppt后面的例子,练一练画图

第四节 静态模型

  1. 类之间的关系:

    1. 关联关系

      1. 常规关联
      2. 多元关联
      3. 有序关联
      4. 受限关联
      5. 或关联
      6. 关联类
    2. 聚集关系(会区分

      1. 共享聚集:松散的,空心菱形表示
      2. 组合聚集:紧密的聚集,实心菱形表示
    3. 泛化关系

      1. 例子记住:

        overlapping,disjoin 有交集/无交集

        complete/incomplete 完全泛化/不完全泛化

  2. 包图

    1. UML包又称为子系统

    2. 包与包之间的关系

      1. 依赖关系

      2. 泛化关系:表示通用包和专用包的关系(不叫父包和子包)

第五节 动态建模(重要)

  1. 消息

    1. 简单消息
    2. 同步消息
    3. 异步消息
  2. 状态图

    1. 状态

      1. 初态

      2. 终态

      3. 中间状态

      4. 复合状态

    2. 四类事件(了解)

      1. 某条件为真
      2. 收到来自外部对象的信号
      3. 收到来自外部对象的某个操作中的员工调用
      4. 状态迁移上的时间表达式
    3. 例子:

  3. 顺序图

    1. 虚线表示生命线(或时间轴)

    2. 矩形表示被激活

    3. 例子:

  4. 活动图

    1. 同步线

    2. 泳道(用于区分对象)

  5. 合作图

    1. 阿拉伯数字有先后顺序

    2. 字母没有先后顺序

    3. 例:

  6. 以上四种图要会画

第六节

  1. 实现模型

    1. 构件图:逻辑结构
    2. 配置图:物理结构

总结

  1. UML静态建模:

    1. 用例图
    2. 类图
    3. 对象图
    4. 包图
    5. 构件图
    6. 配置图
  2. 动态建模:
    1. 状态图
    2. 顺序图
    3. 合作图
    4. 活动图

第五章

第一节

  1. 区分语言

    1. 低级语言:包括机器语言和汇编语言
    2. 高级语言:其他
  2. 语言选择准则(了解)(能说2-3点)
    1. 项目的应用领域、
    2. 算法和计算复杂性
    3. 软件的执行环境
    4. 性能因素
    5. 数据结构的复杂性
    6. 软件开发人员的知识水平以及心理因素

第六节

  1. 软件复用不是代码复用
  2. 软件复用包括:测试信息的复用,分析结果的复用,测试结果的复用,代码的复用
  3. 可复用构建标准
    1. 功能上的独立性与完整性
    2. 较高的通用性
    3. 较高的灵活性
    4. 严格的质量保障
    5. 较高的标准化程度

第六章 软件测试

第一节

  1. 软件测试的基本原则

    1. 尽量不由程序设计者进行测试
    2. 关键是注重测试用例的选择
    3. 充分注意测试中的群集现象
  2. 软件测试方法分类:静态分析,动态测试
  3. 静态分析
    1. 桌前检查
    2. 代码会审
    3. 步行检查
      1. 调用图
      2. 数据流分析图
  4. 动态测试方法
    1. 白盒法:分析内部逻辑结构
    2. 黑盒法:分析外部特性(功能)

第二节 白盒法

  1. 白盒法测试用例选择覆盖标准由弱到强为:

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

    条件覆盖包含语句覆盖,不包含判定覆盖

    条件组合覆盖包含所有的

  2. 会选择测试用例(见ppt)

第三节 黑盒法

  1. 黑盒法包括

    1. 等价分类法
    2. 边值分析法
    3. 错误推测法
    4. 因果图法
  2. 等价分类法

    1. 关键是划分等价类
    2. 一个测试用例可能覆盖多个有效等价类
    3. 一个测试用例只能覆盖一个无效等价类
  3. 边值分析法

    记住四个例子:

  4. 因果图法,会画

第四节 软件测试的策略

  1. 软件测试的策略包括:

    1. 单元测试
    2. 集成测试
    3. 确认测试
    4. 系统测试
  2. 单元测试
    1. 模块

      1. 驱动模块:模拟主查询
      2. 桩模块:子程序
    2. 白盒法主要用在单元测试,其他测试以黑盒法为主
  3. α\alphaα测试是由开发机构和用户完成的
  4. β\betaβ测试是用户完成的

第六节 面向对象的测试

  1. 面向对象的测试特点主要反应在测试对象和内容的不同
  2. 面向对象的测试的特点:
    1. 可以在没有代码的情况下进行测试,全周期的,需求和设计也是可以测试的
  3. 面向对象的测试策略(注意和[软件测试策略](# 第四节 软件测试的策略)的区别)
    1. 模型测 试
    2. 类测试
    3. 交互测试
    4. 系统测试
    5. 验收和发布测试

第七章 软件维护

第一节

  1. 运维的四种类型

    1. 完善性维护**(最重要)**
    2. 纠错性维护
    3. 适应性维护
    4. 预防性维护
  2. 维护的副作用
    1. 修改代码的副作用
    2. 修改数据的副作用
    3. 修改文档的副作用

第四节

  1. 软件可维护性包括(了解)

    1. 可理解性
    2. 可靠性:正确执行的概率
    3. 可测试性
    4. 可修改性
    5. 可移植性
    6. 效率
    7. 可使用性:易于使用(和可靠性区分)

第五节

  1. 逆向工程抽取包括

    1. 过程抽取
    2. 界面抽取
    3. 数据抽取
  2. 抽取是逆向工程的核心

第八章 软件项目管理

第二节

  1. 进度计划的工具(记)

    1. 进度表
    2. 甘特图
    3. 时标网状图
    4. PERT和CPM
  2. 其中时标网状图和PERT和CPM包含任务之间的逻辑依赖关系

第三节

  1. cocomo模型

    1. 基本的cocomo模型
    2. 中间的cocomo模型:进一步考虑了15种影响软件工作量的因素
    3. 详细的cocomo模型

第四节 人力资源(这一章重要)

  1. 团队成员3类

    1. 事业型
    2. 自我实现型
    3. 交际性
  2. 增强团队凝聚力的方法
    1. 拥有内部标准
    2. 成员更紧密地工作在一起
    3. 成员能了解彼此的工作
    4. 能做到无私编程:程序是团队而非个人财产
  3. 人员配备的原则:
    1. 重质量
    2. 重培训
    3. 阶梯提升
  4. 选择评价人员的条件(了解即可,会选)
    1. 应用领域经验
    2. 开发经验
    3. 教育背景
    4. 适应能力
    5. 沟通能力
    6. 工作态度
    7. 个性、
  5. 团队成员的去留(了解,会选)
    1. 尊重个人选择
    2. 满足成员合理的个人需求
    3. 满足成员的社会需求
    4. 加大团队建设的力度
    5. 要有剜肉剔骨的决心(去重团队负能量)

第五节 风险管理

  1. 风险分类

    1. 项目风险

    2. 技术风险

    3. 商业风险

第六节 质量保证

  1. 软件质量因素(了解)

  2. 度量方法(划出来)

    1. 精确度量
    2. 全面度量
    3. 简易度量

第七节 配置管理

  1. CRF(Change Request Form) :变更提案表
  2. CCB(Change Control Board): 变更控制委员会

第九章

第一节

  1. CMM(Capability Maturity Model For Software): 软件能力成熟度模型
  2. CMM主要用于(主要功能):
    1. 软件过程评估SPA(Software Process Assessment)
    2. 软件过程改进SPI(Software Process Improvement)
    3. 软件能力评价SCE(Software Capability Evaluation)
  3. 软件过程的成熟度等级(要求会分级)(按照关键字分类)
    1. 初始级(不稳定)
    2. 可重复级
    3. 已定义级(组织标准)
    4. 已管理级(指令目标,追求高质量)
    5. 优化级(持续改善)

第二节 CMM结构

  1. 三个层次:

    1. 关键过程域
    2. 公共特性
    3. 关键实践

题型总结

  1. 单项
  2. 多选
  3. 填空
  4. 判断
  5. 简答
  6. 综合(DFD,用例图,动态建模4图,白盒测试)

补:会画:DFD图、判定表和判定树

南京工程学院 实用软件工程 复习总结相关推荐

  1. 南京工程学院 嵌入式linux 复习

    1,Linux系统的常用命令(包括参数) {1}用户切换(su) (1)作用 变更为其它使用者的身份,主要用于将普通用户身份转变为超级用户,而且需输入相应用户密码. (2)格式 su [选项] [使用 ...

  2. 软件工程复习提纲——第四章

    软件工程复习提纲,期末.考研的学霸笔记 第四章--总体设计 第四章总体设计 1.总体设计/概要设计/初步设计的目的:"概括地说,系统应该如何实现?"How to do?   启发规 ...

  3. 湖科大 2022大三上 软件工程复习资料

    前言 湖科大 2022大三上 软件工程复习资料 推荐参考 ffj笔记 主要内容来源于老师画的重点和ppt:由于ppt知识点不详细,部分内容参考了<软件设计师教程> 由于老师划重点不详细,笔 ...

  4. 南京工程学院计算机科学与技术专业怎么样,南京工程学院王牌专业

    南京工程学院王牌专业2019-07-06 14:37:06文/叶丹 南京工程学院王牌专业有热能与动力工程.机械设计制造及其自动化.热能动力设备与应用.电气工程及其自动化.自动化.材料成型及控制工程.通 ...

  5. 软件工程复习提纲——第十一章

    软件工程复习提纲,期末.考研的学霸笔记 第十一章--软件项目管理 第十一章 软件项目管理 事件4的最早时刻为:EET=max{2+3,6+0}: 事件9的最迟时刻为: LET=21-1=20: 事件8 ...

  6. 软件工程复习提纲——第十章

    软件工程复习提纲,期末.考研的学霸笔记 第十章--面向对象的实现 第十章面向对象的实现  

  7. 软件工程复习提纲——第九章

    软件工程复习提纲,期末.考研的学霸笔记 第九章--面向对象分析设计 顺序图.用例图等图形的作法: 1)顺序图:顺序图是描述对象之间的动态交互的情况,着重表示对象间消息传递的时间顺序. 纵向是时间轴,时 ...

  8. 软件工程复习提纲——第八章

    软件工程复习提纲,期末.考研的学霸笔记 第八章--面向对象方法学引论 第八章面向对象方法学引论 面向对象方法学的要点.优点:   1)传统方法和面向对象方法的比较:   动态模型:(第三章已介绍状态图 ...

  9. 软件工程复习提纲——第七章

    软件工程复习提纲,期末.考研的学霸笔记 第七章--维护 第七章维护 1.维护的定义:软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程. 1)四类维护活动: (1)改正性维护 (2)适应 ...

最新文章

  1. Linux06-服务、守护进程和systemd
  2. 深度学习之windows python faster rcnn 配置及demo运行
  3. 《 双城记 》:无数的平民拥有的只是和她同样的眼睛 ...
  4. Windows 下命令行修改文件夹的控制权限 Cacls
  5. 【289天】跃迁之路——程序员高效学习方法论探索系列(实验阶段47-2017.11.21)...
  6. TCP/IP协议的三次握手及实现原理
  7. python中float输入文字_为什么Python的float对于一些很长的输入会引发ValueError?
  8. 【Linux】awk处理变量
  9. k2p华硕系统怎么设置_斐讯k2华硕固件,斐讯k2p华硕固件设置
  10. vnc全屏界面怎么设置小_如何设置 才能 修改 vnc 有效窗口大小
  11. 江苏计算机二级c语言考试内容,江苏省计算机等级考试二级C语言考试大纲_复习提纲.doc...
  12. PC微信逆向获取聊天表情
  13. ICNet: Intra-saliency Correlation Network for Co-Saliency Detection
  14. tomcat连接以及HTTP协议
  15. level 1与level 2的区别
  16. NBA表格_双红!34中24!NBA季后赛【掘金vs湖人】
  17. BLAST(基本局部比对工具)
  18. 中国风创业计划PPT模板
  19. RKE vs. RKE2:对比两种 Kubernetes 发行版
  20. Python——语法基础1

热门文章

  1. k8s学习(二十一) 亲和性调度
  2. 搜狗图像技术团队夺得 MegaFace 人脸识别赛道第一
  3. 1685-实数根(数学)
  4. 利用基于云的人工智能平台,对设备进行预测性维护和产品的异常检测
  5. 无刷直流电机自适应模糊PID控制及仿真
  6. 手机信令数据怎么获得_数据福利|深圳市手机信令数据下载与处理(包括ETC/公交卡/出租车轨迹等)...
  7. 【财务分析】用友专用方案:预设分析模型、对标上市公司
  8. 【QQ群讨论精华】关于Move,Copy与Referrence
  9. Archlinux + kde桌面环境 安装
  10. 卸载 cube ui_如何还原Windows 8附带的已卸载现代UI应用程序