没有合适的资源?快使用搜索试试~ 我知道了~
软件工程-原理、方法与应用【第三版】复习总结.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 168 浏览量
2021-12-30
11:55:53
上传
评论
收藏 3.12MB DOCX 举报
温馨提示
试读
14页
软件工程-原理、方法与应用【第三版】复习总结.docx
资源推荐
资源详情
资源评论
第一章 绪论
1. 每 18 个月芯片的性能和速度均提高一倍,每隔 12 年软件生产大约提高一倍。
2. 软件:是能够完成预定功能和性能的可执行的计算机诚信度。包括使程序正常执行所需的数据,以及有关描述程序
操作和使用的文档。即:软件 = 程序 + 文档
3. 软件的特征:
软件的开发不同于硬件设计、不同于硬件制造、不同于硬件维修。
4. 软件危机出现的原因:
软件维护费用的急剧上升,直接威胁计算机应用的扩大;
软件生产技术进步缓慢,是家居软件危机的重要原因。
----------------------------------------------------------------------------------------------------------------------------------------------------------
----------
5. 软件工程学的范畴:
软件开发技术(软件开发方法学、软件工具、软件工程环境)、软件工程管理(软件管理学、软件经济学、度量
学)。
6. 软件工程:是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,
目的是为了实现按照预期的进度和经费完成软件生产计划,同时提高软件的生产率和可靠性。
7. 软件的发展:大体经历了 程序、软件、软件产品 3 个阶段。
8. 工具 和 方法 是软件开发技术的 2 大支柱。
9. 3 种编程泛型:
过程式编程泛型、面向对象编程泛型、基于构件技术的编程泛型
10. 面向对象程序设计中,数据和操作被封装在一个对象中,对象之间则是通过消息相互联系。
11. 构件:标准化/规格化的对象类。
12. 常用变成力度的大小来比较 3 种编程泛型的差异。
粒度由小到大依次是:过程式编程范式、面向对象编程范式、基于构件的编程泛型。
13. 软件工程的分化:
传统软件工程:结构化分析-》结构化设计-》面向过程编码-》软件测试
面向对象软件工程:OO 分析与对象抽取-》对象详细设计-》面向对象的编码与测试
基于构件的软件工程(以可复用构件和测试工具为后盾):
领域分析和测试计划定制-》领域设计-》建立可复用构件库-》按‘构件集成模型’查找与集成构件
14. 分析先于设计,设计先于编码,使程序(的结构)适合于问题(的结构)。
第二章 软件生存周期与软件过程
1. 软件生存周期:计划、开发、运行 3 个时期。
需求分析-》软件分析-》软件设计-》编码测试-》软件测试-》运行维护
2. 需求分析(用户视角):功能需求、性能需求、环境约束、外部接口描述。
3. 软件分析(开发人员视角):建立与需求模型一致的,与实现无关的软件分析模型。
4. 软件设计:总体设计/概要设计、详细设计(确定软件的数据结构和操作)。
5. 单元测试通常与编码同时进行。
6. 软件测试:单元测试、集成测试、系统测试。
7. Boehm 软件生存周期的划分:系统需求、软件需求、概要设计、详细设计、编码纠错、测试和预运行、系统维护。
----------------------------------------------------------------------------------------------------------------------------------------------------------
----------
8. 瀑布模型 特点:阶段间的顺序性和依赖性、推迟实现的观点、保证质量的观点。
9. 瀑布模型存在的问题:只有在需求分析准确的前提下,才能得到预期的结果。
快速原型模型:原型系统只包括对未来系统的主要功能以及系统的重要接口。特点:快速开发工具、循环、低成本。
种类:渐进型、抛弃型。
10. 常见的演化模型(渐增式、迭代式):增量模型、螺旋模型。
11. 增量模型:结合瀑布模型的顺序特征与快速原型法的迭代特征。增量:小而可用的软件
一般情况下,第一个增量是软件的核心部分。如(增量一:需求-设计-实现和集成-交付客户)
12. 螺旋模型(目前最常用):当项目按照顺时针方向沿螺旋线移动时,每轮螺旋包含:计划、风险分析、建立原型、
用户评审 4 种活动。(高风险的大型软件采用此方法)
13. 构件集成模型:适应于面向对象的软件开发。利用预先封装好的构件来构造应用软件系统。
14. 软件开发方法可区分:形式化方法、非形式化方法。
15. 形式化开发模型:转换模型、净室模型
16. 转换模型:是将形式化软件开发和程序自动生成技术相结合的一种软件开发模型。
转换模型的开发过程:确定性实话的需求规格说明书、进行自动化的程序变换、对形式化开发记录进行测试。
转换模型的常用技术:
基于模型的需求规格说明书及其变换技术;
基于代数结构的需求规格说明书及其变换技术;
基于时序逻辑的需求规格说明书及其验证技术以及基于可视化的技术。
17. 净室模型:是一种形式化的增量开发模型。力求在分析和设计阶段消除错误。
18. 统一过程 RUP 包括 4 个阶段:初始、细化、构造、迁移。以用例为驱动, 以系统架构为中心的迭代与增量过程。
每个阶段又分为若干次迭代,每次迭代都有一个核心工作流,有 5 个活动(需求、分析、设计、实现、测试)。
19. 敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。
20. 敏捷开发的价值观:个体和交互胜过过程和工具、可以工作的软件胜过面面俱到的文档、客户合作胜过合同谈判、
响应变化胜过遵循计划。
21. 软件可行性研究:经济可行性、技术可行性、运行可行性、法律可行性。
22. 可行性研究的步骤:对当前系统进行调查研究、导出新系统的解决方案、提出推荐方案、编写可行性论证报告。
23. 可行性论证报告的内容:系统概述、可行性分析、结论意见。
24. 软件风险分析包括:风险识别(项目风险、技术风险、商业风险)、风险预测、风险的驾驭和监控。
25. 软件计划的 7 种类型:项目实施计划、质量保证计划、软件测试计划、文档编制计划、用户培训计划、综合支持计
划、软件分发计划。
第三章 结构化分析与设计
1. 结构化设计 SD ; 结构化分析 SA ; 软件需求规格说明书 SAS ; 结构图 SC ;数据字典 DD ;
状态转换图 STD ; 数据流图 DFD
2. 瀑布模型的生命周期:需求定义与分析-》总体设计-》详细设计-》编码-》测试-》维护
3. 系统的开发流程(SA 和 SD 流程):
结构化分析(工具:DFD,PSPEC) ------》分析模型(分层 DFD 图)+SRS
结构化设计(工具:SC 图) (映射)------》初始设计模型(初始 SC 图)
初始设计模型(初始 SC 图) (优化)------》最终设计模型(最终 SC 图)
4. 结构化分析的基本步骤:自顶向下,功能分解(分层 DFD)、由后向前,定义数据和加工(DD, PSPEC)、根据需要,
分析复杂数据和动态模型(E-R 图,CFD,CSPEC,STD)、编写软件需求规格说明书 SRS。
5. SA 需求分析的两项基本任务:建立系统分析模型、编写 SRS。
6. 分析模型组成:功能模型、数据模型、行为模型 3 种。
7. 抽象 和 分解 是结构化分析的主要指导思想,细化的实质是分解。分解 和 细化 是软件设计的策略。
8. SD 阶段把分析模型中的 DFD 图转换为 最终 SC 图。
9. 传统软件的开发技术:结构化设计、模块设计。
10. 软件设计:总体设计/概要设计(初始 SC 图、最终 SC 图)、详细设计(用逐步细化的方法,完成模块的说明)。
11. 需求分析的步骤:需求获取、需求提炼、需求描述、需求验证。
12. SA 模型的组成
13. SA 模型同时覆盖了信息模型、功能模型、行为模型 3 种模型。
14. DFD 图不能表示程序的控制结构(如选择、循环结构)。
15. 加工规格说明通常用结构化语言、判定表、判定树作为描述工具。
16. 软件中的数据分为 3 类:数据项(数据元素)、数据流(多个相关数据项)、数据文件和数据库。
17. 数据字典的组成:数据项、数据流、数据存储(文件或数据库)、加工(处理逻辑)、外部项(人、物或其它软件系统)。
18. SD 模型是由 SA 模型映射而来的。
SA 模型的数据字典可转换为待开发系统的数据设计
剩余13页未读,继续阅读
资源评论
拉拉庸
- 粉丝: 19
- 资源: 66万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功