2022年软件工程概论知识点 .pdf
《2022年软件工程概论知识点 .pdf》由会员分享,可在线阅读,更多相关《2022年软件工程概论知识点 .pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程概论知识点总结第一章软件定义:是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。软件特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、维护特性、废弃特性、应用特性。软件分类。 (1) 系统软件 (2) 应用软件 (3) 支撑软件 (4) 可复用软件软件危机的原因:1)缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作的计划很难制定。2)软件人员与用户的交流存在障碍,除了知识背景的差异,缺少合适的交流方法和需求描述工具也是重要的一个原因。 3)软件开发过程不规范,缺少方法论和规范的指导,软件难以维护。4)随着软件规模的增大,其复杂
2、性往往会呈指数级升高。5)缺少有效的软件评测手段,提交用户的软件质量差软件工程的定义:1指导软件开发和维护的工程性学科,它以计算机科学理论和其他相关学科的理论为指导,采用工程化的概念、原理技术和方法进行软件的开发和维护,把经过时间考虑而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以较少的代价获得高质量的软件并维护2.软件工程的目标:运用先进的软件开发技术和管理方法来提高软件的质量和生产率,也就是要以较短周期、较低的成本生产出高质量的软件产品,并最终实现软件的工业化生产。3.软件的生存周期:软件孕育、诞生、成长、成熟、衰亡的生存过程。由软件定义、软件开发和运行维护三个时期组成。软
3、件定义:解决“做什么”的问题;软件开发:解决“如何做”的问题,分为概要设计、详细设计、编码和测试四个阶段;维护:使软件持久的满足用户的需求。4.开发过程中的典型文档a.软件需求规格说明书:描述将要开发的软件做什么。b.项目计划:描述将要完成的任务及其顺序,并估计所需要的时间及工作量。c.软件测试计划:描述如何测试软件,确保软件应实现规定的功能,并达到预期的性能。d.软件设计说明书:描述软件的结构,包括概要设计及详细设计。e.用户手册:描述如何使用软件各阶段基本任务:问题定义与可行性研究、需求分析、软件设计、程序编码和单元测试、集成测试和系统测试。5.软件生存期模型:瀑布模型。优点:强迫开发人员
4、规范化方法、严格规定每个阶段必须提交的文档、要求每个阶段交出的所有产品必须经过验证。缺点:完全依赖书面规格说明,可能会导致产品与用户需求有差异、只适用于项目开始时需求已确定的情况。需求分析、规格说明、设计、编码、综合测试、维护快速原型模型。优点:易于满足用户真实需求、已通过与用户的交互验证,能正确描述用户需求、产品开发基本上按线性顺序、规格文档说明正确描述了用户需求,后期错误率和返工率很低、开发人员建立原型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - -
5、- - - - - - - 系统时学到的东西有助于减少后期的错误率、快速开发有助于节约成本,原型的用途是获取用户的正真需求。增量模型。优点:较短时间内能提交有用产品、逐步增加产品有助于用户适应学习、项目失败风险较低、优先级最高的服务首先交付,则系统核心服务接受最多测试,一般不会失败。注意:新的构件加入系统时必须不破坏已开发出的产品、体系结构必须开放,易于向其中加入新构件。螺旋模型。四个象限:目标设定、风险估计与弱化、开发与验证、计划。优点有利于已有软件的重用,也有助于把软件质量作为开发的一个重要目标、减少了过多测试或测试不足带来的风险、维护和开发之间没有本质区别。缺点:此模型为风险驱动,要求开
6、发人员必须具有丰富的风险评估经验,否则会意识不到风险的出现导致失败。6.统一过程的6 个核心工作流:业务建模、需求、分析与设计、实现、测试、部署7.统一过程的4 个阶段:初始阶段、细化阶段、构造阶段、移交阶段. a.主要关注项目计划和风险评估,其目的是确定是否值得开发目标系统。b.细化阶段关心定义系统的总体框架,目标是:细化初始需求,细化体系结构,监控风险并细化他们的优先级,细化业务案例以及制定项目管理计划。c.构造阶段是建立系统,构造系统的第一个具有操作性的版本,以能够交付给客户进行测试版本结束。d.移交阶段包含测试时期,以发布完完整的系统而终止,其目标是确保系统真正满足客户的需求。第二章1
7、.软件工程方法学:软件生命周期全过程中使用的一整套技术的集合成为方法学,也称为范型。三要素:方法、工具、过程2.传统方法的特点:传统方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地逐步完成每个阶段的任务。每一个阶段的开始和结束都有严格的标准,对于任何两个相邻的阶段而言,前一个阶段的结束标准就是后一阶段的开始标准。(2)面向对象方法的特点:面向对象方法是将数据和对数据的操作紧密地结合起来的方法,其出发点和基本原则是尽量模拟人类习惯的思维方式,使开发软件的方法和过程尽可能接近人类认识问题和解决问题的方法与过程,适用于大型、复杂及交互性比较强的系统3.形式化方法学:是一种基于形式化数学变
8、换的软件开发方法,它可将系统的规格说明转换为可执行的程序。特点:软件需求规格说明书被细化为用数学记号表达的详细形式化规格说明;设计、实现和单元测试等开发过程由一个变换开发过程代替,通过一系列变换将形式化的规格说明细化成为程序。面向对象 =对象 + 类+继承 +消息通信,面向对象程序的基本组成单位是类,核心是对象。面向对象的开发方法:Booch 方法, Rumbaugh 方法, Coad 和 Yourdon 方法, Jacobson(OSSE)方法,Wirfs-Brock 方法4. 类.现实生活中的对象经过抽象,映射为程序中的对象。对象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称为
9、类(Class)。封装。面向对象的封装特性与其抽象特性密切相关。封装是一种信息隐蔽技术,就是利用抽象数据类型将数据和基于数据的操作封装在一起。用户只能看到对象的封装界面信息,对象的内部细节对用户是隐蔽的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - 封装的定义是: (1) 清楚的边界,所有对象的内部信息被限定在这个边界内;(2) 接口,即对象向外界提供的方法,外界可以通过这些方法与对象进行交互;(3) 受保护的内部实现,即软
10、件对象功能的实现细节,实现细节不能从类外访问。5. UML的特点: a.统一标准。 b.面向对象。 c.可视化,表达能力强大。d.独立于过程。 e.容易掌握使用。f.与编程语言的关系6. 软件工具是指能支持软件生存周期中某一阶段(如系统定义、需求分析、设计、编码、测试或维护等)的需要而使用的软件工具。软件工具的发展:50 年代末期出现了程序设计语言,60 年代末提出软件工程的概念,80 年代中期提出了软件过程的新概念,如今,软件工具重视用户界面的设计,不断地采用新理论和新技术第三章软件需求分析阶段的任务:需求获取、需求分析、需求定义和需求验证。结构化分析方法:是一种面向数据流进行需求分析的方法
11、。结构化设计方法的分类:一类是根据系统的数据流进行设计,称为面向数据流的设计,或称过程驱动的设计;另一类是根据系统的数据结构进行设计,称为面向数据结构的设计,或称数据驱动的设计。需求获取是软件生存期中决定性的一步,涉及客户、用户及开发方。需求获取的问题:系统的目标或范围问题、需求不准确性问题、需求的易变问题需求获取的任务:发现和分析问题,并分析问题的原因和结果的关系、与用户进行各种方式的交流,并使用调查研究方法收集信息、按照数据过程和接口观察问题的不同侧面、将获取的需求文档化,形式有用例、决策表、决策树等。需求获取的原则:深入浅出、以流程为主线。需求获取的过程:开发高层的业务模型、定义项目范围
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年软件工程概论知识点 2022 软件工程 概论 知识点
限制150内