南京工程学院 实用软件工程 复习总结
文章目录
- 第一章
- 第一节
- 第二节
- 第三节
- 第四节
- 第二章
- 第一节
- 第二节
- 第三节
- 第四节
- 第四章
- 第五节
- 作业
- 第三章
- 第二节 软件体系结构设计
- 第三节
- 第四节
- 第五节
- 第六节
- 第四章
- 第一节
- 第二节
- 第三节
- 第四节 静态模型
- 第五节 动态建模(重要)
- 第六节
- 总结
- 第五章
- 第一节
- 第六节
- 第六章 软件测试
- 第一节
- 第二节 白盒法
- 第三节 黑盒法
- 第四节 软件测试的策略
- 第六节 面向对象的测试
- 第七章 软件维护
- 第一节
- 第四节
- 第五节
- 第八章 软件项目管理
- 第二节
- 第三节
- 第四节 人力资源(这一章重要)
- 第五节 风险管理
- 第六节 质量保证
- 第七节 配置管理
- 第九章
- 第一节
- 第二节 CMM结构
- 题型总结
第一章
第一节
- 软件危机特征,表现:软件产品质量低劣,软件生产率低下
- 软件工程的目标:以较少的投资获取高质量的软件
- 软件工程分为两大类技术:软件开发技术,软件管理技术
第二节
- 软件包括程序和文档
- 软件按功能划分:系统软件、支持软件、应用软件
- 软件的生命周期 (时期阶段输出)
- 软件工程三要素:方法,工具,过程
第三节
软件开发模型(软件过程模型)
瀑布模型(结构化)(记住输出)
优点:比较容易管理
缺点:不适用于需求不明确的情况
增量模型,非整体开发模型
优点:比较灵活
缺点:容易盲目乐观和无限循环
原型模型是循环模型(解答题)
适用于前沿的开发,可能导致忽略一些功能
螺旋模型是瀑布模型和增量模型的结合,加入了风险分析,适用于大型开发,风险度高的软件开发
喷泉模型,面向对象
智能模型(结构化)
第四节
- 结构化开发方法:
- 结构化程序设计方法 SP (structured program)
- 结构化设计方法 SD(structured design)
- 结构化分析方法 SA(structured analysis)
- 面向对象的开发:
- OOA (Object-Oriented Analysis)面向对象的分析
- OOD (Object-Oriented Design) 面向对象的设计
- OOP (Object-Oriented Program) 面向对象的程序设计
- 敏捷软件开发:以人为核心
作业判断题10RCP,RSP划掉不看
第二章
第一节
软件需求的困难:
- 应用领域的广泛性
- 非功能性需求建模技术的缺乏
- 沟通上的困难
软件需求的分类
划分为两类是用户需求和系统需求
三类是功能需求、非功能需求和领域需求
第二节
需求工程的过程(图重要):
第三节
- 软件需求难以获取的原因
- 缺乏领域知识
- 存在默认的知识
- 存在多个知识源
- 客户可能的偏见
- 需求抽取的方法(和特点):
- 面谈法:简要而直接,简单的需求获取技术。
- 问卷调查法: 是对面谈法的补充
- 需求专题讨论会(最有效,最有力):有利于培养高效团队
- 原型化方法:对于试验性、探索性的项目效果好,强调开发人员与用户的不断交互
- 面向用例的方法:从用户角度来观察和分析系统应该具有的功能
第四节
画dfd图(数据流图)(大题)
用文字写出:实体,处理,数据存储,数据流
再去画图,方便给分
SA法(结构化分析方法)的基本思想:分解和抽象
SA法的描述方法有哪些:
- DFD图(最重要)
- 数据词典
- 结构化语言,判定表和判定树
数据流图基本符号
面向对象的分析方法,Use case图画法
- 识别执行者
- 识别用例
- 识别用例和用例的关系
第四章
- 需求验证的内容
- 有效性检查
- 一致性检查
- 完备性检查
- 可验证性检查
- 需求管理最重要的是需求变更管理
第五节
DFD图例子,参考ppt2.5。DFD图要求顶层和一层
DFD图的基本原则
- 数据守恒和数据封闭原则
- 加工分解原则
- 子图和父图平衡
- 合理使用文件
数据词典条目
- 数据流条目
- 文件条目
- 数据项条目
- 加工条目
如何画use case 模型
作业
- 加工小说明针对dfd
- 判定表可以描述组合条件
- dfd图需求分析阶段
第三章
第二节 软件体系结构设计
以下优缺点了解
- 仓库模型:利于大数据的共享(最大的特点)
- 优点:
- 数据由一个子系统产生,并且被其他一些子系统共享
- 共享数据能得到有效的管理,各子系统之间不需要通过复杂的机制来传递共享数据。
- 一个子系统不必关心其他的子系统是如何使用它产生的数据的。
- 所有的子系统都拥有一致的基于中央数据仓库的数据视图。
- 缺点:
- 各子系统必须有一致的数据视图
- 一个子系统发生了改变,它产生的数据结构也可能发生改变。为了其他共享的目的,数据翻译系统会被用到。但这种翻译的代价是很高的
- 中央数据仓库和各子系统拥有的数据库必须有相同的关于备份、安全、访问控制和恢复的策略
- 集中式的控制使数据和子系统的分布变得非常困难甚至成为不可能。
- 优点:
- 层次模型:如SOA网络7层模型,tcp/ip 4层模型
- 适合增量的软件开发
- 分布式模型 C/S B/S
- 优点
- 资源共享
- 开放性高
- 可伸缩性好
- 容错能力强
- 透明性高
- 缺点
- 复杂性
- 安全性(难以保证)
- 可管理性(困难)
- 不可预知性,主要指系统的响应时间
- 优点
- 云计算模型:
- 三种服务模式:软件即服务(SaaS),平台即服务(PaaS),基础架构即服务(IaaS)
- 部署模型
- 公有云
- 私有云
- 混合云
- 雾计算适用于大数据共享
- 模块
- 划分:目的是将系统分而治之,不是越细越好
- 特点,划分原则:低耦合(数据耦合),高内聚(功能内聚)
第三节
- OOA
- OOD
- OOP
第四节
- 详细设计描述工具中常用的描述方法工具:
- 程序流程图
- N-S图
- PAD图
- PDL语言
- 判定表,判定树
第五节
- 用户界面设计的任务
- 建立用户模型
- 建立任务模型
- 确定用户界面类型
- 用户界面设计的原则(判断题,不背,了解)
- 争取保持一致性。
- 满足普遍可用性的需求。
- 提供信息反馈。
- 设计对话框已产生结束信息。
- 预防错误。
- 允许动作回退。
- 支持内部控制点。
- 减轻短期记忆负担。
- 不要用颜色表示信息
第六节
- MVC:
- M:模型
- V:视图
- C:控制器
第四章
第一节
- OOA,OOD,OOP以对象为中心构造系统
第二节
- UML:统一建模语言
第三节
- use case模型:
- 确定执行者:人、硬件、系统
- 确定用例:功能
- 用例之间的关系,extend ,include
- 可以看ppt后面的例子,练一练画图
第四节 静态模型
类之间的关系:
关联关系
- 常规关联
- 多元关联
- 有序关联
- 受限关联
- 或关联
- 关联类
聚集关系(会区分)
- 共享聚集:松散的,空心菱形表示
- 组合聚集:紧密的聚集,实心菱形表示
泛化关系
例子记住:
overlapping,disjoin 有交集/无交集
complete/incomplete 完全泛化/不完全泛化
包图
UML包又称为子系统
包与包之间的关系
依赖关系
泛化关系:表示通用包和专用包的关系(不叫父包和子包)
第五节 动态建模(重要)
消息
- 简单消息
- 同步消息
- 异步消息
状态图
状态
初态
终态
中间状态
复合状态
四类事件(了解)
- 某条件为真
- 收到来自外部对象的信号
- 收到来自外部对象的某个操作中的员工调用
- 状态迁移上的时间表达式
例子:
顺序图
虚线表示生命线(或时间轴)
矩形表示被激活
例子:
活动图
同步线
泳道(用于区分对象)
合作图
阿拉伯数字有先后顺序
字母没有先后顺序
例:
以上四种图要会画
第六节
- 实现模型
- 构件图:逻辑结构
- 配置图:物理结构
总结
- UML静态建模:
- 用例图
- 类图
- 对象图
- 包图
- 构件图
- 配置图
- 动态建模:
- 状态图
- 顺序图
- 合作图
- 活动图
第五章
第一节
- 区分语言
- 低级语言:包括机器语言和汇编语言
- 高级语言:其他
- 语言选择准则(了解)(能说2-3点)
- 项目的应用领域、
- 算法和计算复杂性
- 软件的执行环境
- 性能因素
- 数据结构的复杂性
- 软件开发人员的知识水平以及心理因素
第六节
- 软件复用不是代码复用
- 软件复用包括:测试信息的复用,分析结果的复用,测试结果的复用,代码的复用
- 可复用构建标准(记)
- 功能上的独立性与完整性
- 较高的通用性
- 较高的灵活性
- 严格的质量保障
- 较高的标准化程度
第六章 软件测试
第一节
- 软件测试的基本原则
- 尽量不由程序设计者进行测试
- 关键是注重测试用例的选择
- 充分注意测试中的群集现象
- 软件测试方法分类:静态分析,动态测试
- 静态分析
- 桌前检查
- 代码会审
- 步行检查
- 调用图
- 数据流分析图
- 动态测试方法
- 白盒法:分析内部逻辑结构
- 黑盒法:分析外部特性(功能)
第二节 白盒法
白盒法测试用例选择覆盖标准由弱到强为:
语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,条件组合覆盖
条件覆盖包含语句覆盖,不包含判定覆盖
条件组合覆盖包含所有的
会选择测试用例(见ppt)
第三节 黑盒法
黑盒法包括
- 等价分类法
- 边值分析法
- 错误推测法
- 因果图法
等价分类法
- 关键是划分等价类
- 一个测试用例可能覆盖多个有效等价类
- 一个测试用例只能覆盖一个无效等价类
边值分析法
记住四个例子:
因果图法,会画
第四节 软件测试的策略
- 软件测试的策略包括:
- 单元测试
- 集成测试
- 确认测试
- 系统测试
- 单元测试
- 模块
- 驱动模块:模拟主查询
- 桩模块:子程序
- 白盒法主要用在单元测试,其他测试以黑盒法为主
- 模块
- α\alphaα测试是由开发机构和用户完成的
- β\betaβ测试是用户完成的
第六节 面向对象的测试
- 面向对象的测试特点主要反应在测试对象和内容的不同
- 面向对象的测试的特点:
- 可以在没有代码的情况下进行测试,全周期的,需求和设计也是可以测试的
- 面向对象的测试策略(注意和[软件测试策略](# 第四节 软件测试的策略)的区别)
- 模型测 试
- 类测试
- 交互测试
- 系统测试
- 验收和发布测试
第七章 软件维护
第一节
- 运维的四种类型
- 完善性维护**(最重要)**
- 纠错性维护
- 适应性维护
- 预防性维护
- 维护的副作用
- 修改代码的副作用
- 修改数据的副作用
- 修改文档的副作用
第四节
- 软件可维护性包括(了解)
- 可理解性
- 可靠性:正确执行的概率
- 可测试性
- 可修改性
- 可移植性
- 效率
- 可使用性:易于使用(和可靠性区分)
第五节
- 逆向工程抽取包括
- 过程抽取
- 界面抽取
- 数据抽取
- 抽取是逆向工程的核心
第八章 软件项目管理
第二节
- 进度计划的工具(记)
- 进度表
- 甘特图
- 时标网状图
- PERT和CPM
- 其中时标网状图和PERT和CPM包含任务之间的逻辑依赖关系
第三节
- cocomo模型
- 基本的cocomo模型
- 中间的cocomo模型:进一步考虑了15种影响软件工作量的因素
- 详细的cocomo模型
第四节 人力资源(这一章重要)
- 团队成员3类
- 事业型
- 自我实现型
- 交际性
- 增强团队凝聚力的方法
- 拥有内部标准
- 成员更紧密地工作在一起
- 成员能了解彼此的工作
- 能做到无私编程:程序是团队而非个人财产
- 人员配备的原则:
- 重质量
- 重培训
- 阶梯提升
- 选择评价人员的条件(了解即可,会选)
- 应用领域经验
- 开发经验
- 教育背景
- 适应能力
- 沟通能力
- 工作态度
- 个性、
- 团队成员的去留(了解,会选)
- 尊重个人选择
- 满足成员合理的个人需求
- 满足成员的社会需求
- 加大团队建设的力度
- 要有剜肉剔骨的决心(去重团队负能量)
第五节 风险管理
风险分类
项目风险
技术风险
商业风险
第六节 质量保证
软件质量因素(了解)
度量方法(划出来)
- 精确度量
- 全面度量
- 简易度量
第七节 配置管理
- CRF(Change Request Form) :变更提案表
- CCB(Change Control Board): 变更控制委员会
第九章
第一节
- CMM(Capability Maturity Model For Software): 软件能力成熟度模型
- CMM主要用于(主要功能):
- 软件过程评估SPA(Software Process Assessment)
- 软件过程改进SPI(Software Process Improvement)
- 软件能力评价SCE(Software Capability Evaluation)
- 软件过程的成熟度等级(要求会分级)(按照关键字分类)
- 初始级(不稳定)
- 可重复级
- 已定义级(组织标准)
- 已管理级(指令目标,追求高质量)
- 优化级(持续改善)
第二节 CMM结构
- 三个层次:
- 关键过程域
- 公共特性
- 关键实践
题型总结
- 单项
- 多选
- 填空
- 判断
- 简答
- 综合(DFD,用例图,动态建模4图,白盒测试)
补:会画:DFD图、判定表和判定树
南京工程学院 实用软件工程 复习总结相关推荐
- 南京工程学院 嵌入式linux 复习
1,Linux系统的常用命令(包括参数) {1}用户切换(su) (1)作用 变更为其它使用者的身份,主要用于将普通用户身份转变为超级用户,而且需输入相应用户密码. (2)格式 su [选项] [使用 ...
- 软件工程复习提纲——第四章
软件工程复习提纲,期末.考研的学霸笔记 第四章--总体设计 第四章总体设计 1.总体设计/概要设计/初步设计的目的:"概括地说,系统应该如何实现?"How to do? 启发规 ...
- 湖科大 2022大三上 软件工程复习资料
前言 湖科大 2022大三上 软件工程复习资料 推荐参考 ffj笔记 主要内容来源于老师画的重点和ppt:由于ppt知识点不详细,部分内容参考了<软件设计师教程> 由于老师划重点不详细,笔 ...
- 南京工程学院计算机科学与技术专业怎么样,南京工程学院王牌专业
南京工程学院王牌专业2019-07-06 14:37:06文/叶丹 南京工程学院王牌专业有热能与动力工程.机械设计制造及其自动化.热能动力设备与应用.电气工程及其自动化.自动化.材料成型及控制工程.通 ...
- 软件工程复习提纲——第十一章
软件工程复习提纲,期末.考研的学霸笔记 第十一章--软件项目管理 第十一章 软件项目管理 事件4的最早时刻为:EET=max{2+3,6+0}: 事件9的最迟时刻为: LET=21-1=20: 事件8 ...
- 软件工程复习提纲——第十章
软件工程复习提纲,期末.考研的学霸笔记 第十章--面向对象的实现 第十章面向对象的实现
- 软件工程复习提纲——第九章
软件工程复习提纲,期末.考研的学霸笔记 第九章--面向对象分析设计 顺序图.用例图等图形的作法: 1)顺序图:顺序图是描述对象之间的动态交互的情况,着重表示对象间消息传递的时间顺序. 纵向是时间轴,时 ...
- 软件工程复习提纲——第八章
软件工程复习提纲,期末.考研的学霸笔记 第八章--面向对象方法学引论 第八章面向对象方法学引论 面向对象方法学的要点.优点: 1)传统方法和面向对象方法的比较: 动态模型:(第三章已介绍状态图 ...
- 软件工程复习提纲——第七章
软件工程复习提纲,期末.考研的学霸笔记 第七章--维护 第七章维护 1.维护的定义:软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程. 1)四类维护活动: (1)改正性维护 (2)适应 ...
最新文章
- Linux06-服务、守护进程和systemd
- 深度学习之windows python faster rcnn 配置及demo运行
- 《 双城记 》:无数的平民拥有的只是和她同样的眼睛 ...
- Windows 下命令行修改文件夹的控制权限 Cacls
- 【289天】跃迁之路——程序员高效学习方法论探索系列(实验阶段47-2017.11.21)...
- TCP/IP协议的三次握手及实现原理
- python中float输入文字_为什么Python的float对于一些很长的输入会引发ValueError?
- 【Linux】awk处理变量
- k2p华硕系统怎么设置_斐讯k2华硕固件,斐讯k2p华硕固件设置
- vnc全屏界面怎么设置小_如何设置 才能 修改 vnc 有效窗口大小
- 江苏计算机二级c语言考试内容,江苏省计算机等级考试二级C语言考试大纲_复习提纲.doc...
- PC微信逆向获取聊天表情
- ICNet: Intra-saliency Correlation Network for Co-Saliency Detection
- tomcat连接以及HTTP协议
- level 1与level 2的区别
- NBA表格_双红!34中24!NBA季后赛【掘金vs湖人】
- BLAST(基本局部比对工具)
- 中国风创业计划PPT模板
- RKE vs. RKE2:对比两种 Kubernetes 发行版
- Python——语法基础1
热门文章
- k8s学习(二十一) 亲和性调度
- 搜狗图像技术团队夺得 MegaFace 人脸识别赛道第一
- 1685-实数根(数学)
- 利用基于云的人工智能平台,对设备进行预测性维护和产品的异常检测
- 无刷直流电机自适应模糊PID控制及仿真
- 手机信令数据怎么获得_数据福利|深圳市手机信令数据下载与处理(包括ETC/公交卡/出租车轨迹等)...
- 【财务分析】用友专用方案:预设分析模型、对标上市公司
- 【QQ群讨论精华】关于Move,Copy与Referrence
- Archlinux + kde桌面环境 安装
- 卸载 cube ui_如何还原Windows 8附带的已卸载现代UI应用程序