2022年软件工程重点归纳 .pdf
《2022年软件工程重点归纳 .pdf》由会员分享,可在线阅读,更多相关《2022年软件工程重点归纳 .pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精心整理欢迎下载第一章什么是软件?软件是一系列按照特定顺序组织的计算机数据和指令的集合,包括程序、数据和文档。什么是软件危机?软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。例如开发成本预估不足、进度比计划拖延、没有文档、用户不满意等等。什么是软件工程?软件工程主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平的目标。软件工程的目标:软件工程的目标是在给定成本、进度的前提下, 开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、
2、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。软件工程方法学包含3 个要素: 方法、工具和过程。软件开发方法的定义:是指产生某些结果的形式化过程好的软件的一些主要衡量指标:三种方式考虑质量:产品的质量精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 20 页精心整理欢迎下载过程的质量商业环境背景下产品的质量McCall 的质量模型。:效率、正确性、可靠性、完整性、互联性、灵活性、可使用性、可维护性、可测试性、可移植性、可复用性。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,
3、共 20 页精心整理欢迎下载第二章什么是软件生命周期?软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存期。 当过程是在开发软件产品时, 把这种软件开发过程称为软件生命周期。主要分为哪些阶段? (1)问题定义(2) 可行性研究与计划(3) 需求分析(4) 总体设计(5) 详细设计(6) 实现(7) 集成测试(8) 确认测试(9) 使用和维护(10) 退役需求分析的定义 : 需求分析用于确定用户对待开发软件系统的需求,包括:软件的功能、软件的性能和软件的运行环境约束。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,
4、共 20 页精心整理欢迎下载典型的软件开发过程模型的特点(优缺点)及要求:1、瀑布模型: (P35) 特点:一个开发阶段必须在另一个开发阶段开始之前完成,它从一种非常高层的角度描述了开发过程中进行的活动,并且提出了要求开发人员经过的事件序列。优点:有助于帮助开发人员布置他们需要做的工作,它的简单性使得开发人员很容易向不熟悉软件开发的客户做出解释。它明确说明,为了开始下一阶段的开发,哪些中间产品是必需的。缺点:1、最大的问题是不能反映实际的代码开发方式。 2 、在系统开发之上强加了一种项目管理结构。 3 、对于处理开发过程中可能出现的产品和活动变化,没有提供相关指导。4、没有把软件开发看作一个问
5、题求解的过程。5、没有说明创建最终产品过程中所需的往返活动的任何特有信息。2、V模型特点: V 模型是瀑布模型的变种,它说明测试活动是如何与分析和设计相联系的。编码在顶点,分析和设计在左边,测试和维护在右边。V模型关注的是活动和正确性。优点:使得隐藏在瀑布模型中的迭代和重做活动更加明确。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 20 页精心整理欢迎下载3、原型化模型 (P37) 特点:原型化模型允许开发人员快速构造整个系统或系统的一部分以理解和澄清问题。 它需要对需求或设计进行反复调查以确保开发人员、用户和客户对需要什么和提交什么
6、有一个共同理解。优点: 1、有助于开发人员评价可选的设计策略以及决定对于特定项目哪一种策略是最好的; 2、对于验证和确认很有用。 3、减少开发中的风险和不确定性;缺点:1、 为了使原型尽快的工作,没有考虑软件的总体质量和长期的可维护性。 2、 为了演示,可能采用不合适的操作系统、编程语言、效率低的算法,这些不理想的选择成了系统的组成部分。 3、 开发过程不便于管理。分类:探索型原型、实验型原型和演化型。4、增量和迭代( P39)增量开发:需求文档中指定的系统按功能划分为子系统,每次新的发布增加新功能。迭代开发:一开始提交完整系统,提供基本功能,每次新的发布对功能进行完善。增量和迭代: 2 种结
7、合起来。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 20 页精心整理欢迎下载特点:系统其余部分还在开发的同时,用户已经获得了一部分功能,产品系统和开发系统并行运行。优点: 1、缩短循环周期,使系统可以一部分一部分交付; 2、开发人员能够通过观察某些功能如何执行,从而很好对用户的反馈做出反应; 3 、可以及早为那些以前从未提供的功能开拓市场; 4 、经常性发布能够全面快速修复运行系统出现的问题; 5 、针对不同版本,开发团队可以将重点放在不同的专业领域技术上。极限编程的特点:交流: 保持客户和开发者的交换看法简单性 : 选择简单设计和
8、实现勇气: 尽早并经常性交付功能 (敢于承诺并信守诺言 ) 反馈: 开发过程中各种活动循环精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 20 页精心整理欢迎下载第三章了解项目计划和管理的主要内容和常用的方法。主要内容:1、跟踪项目进展: A 工作分解和活动图说明要干什么 B 估算完成时间 (用到了 CPM 即关键路径法、 CPM 条状图) C 跟踪进展的工具:对项目进展进行跟踪(甘特图) 2 、项目人员:需要多少人、执行什么任务、需要什么能力经验 A 人员角色和特性 B 工作风格 C 项目组织(主程序员负责制组、忘我方法) 3 、工作
9、量估算:尽早了解项目可能成本 A 专家判断:依赖个人经验和能力,比如比较2 个系统 B 算法方法:表示工作量和影响工作量因素之间的计算模型 C 机器学习 D 选择合适的模型方法: a )代码行技术:每行代码成本x 总代码行 b) 任务分解技术:每项任务成本之和 c) 自动估算成本技术:软件计算 4 、风险管理:对于开发维护过程中可能出现的不受欢迎的事,精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 20 页精心整理欢迎下载制定计划尽量避免, 如果不可避免, 则将负面后果减小到最小。 5 、项目计划:包含客户的需要和我们希望做什么来满足需
10、要。 6 、过程模型和项目管理:对管理技术进行剪裁,使技术能适应所需要的资源、选取的过程和分配人员的特性。软件可行性研究的内容:技术可行性、经济可行性、操作可行性、社会可行性精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 20 页精心整理欢迎下载第四章需求的重要性: 1 、引起项目失败的首要原因中几乎所有都涉及需求过程的某些部分。 2 、如果开发过程的早期没有检测并修复需求错误,那么会造成很高的代价需求的类型: 1 、功能需求 : 根据要求的活动来描述需要的行为。 2 、非功能需求或质量需求:描述一些软件解决方案必须拥有的质量特性 3
11、、设计约束:已经做出的设计决策或限制问题解决方案集的设计决策 4 、过程约束:是对用于构建系统的技术和资源的限制。两种需求文档: 需求定义文档和需求规格说明书。需求定义文档: 客户想要的每一件事情的完整列表。该文档通过描述打算构建的系统将要安装的环境中的实体,以及关于这些实体的约束、监控和转换来表达需求。需求规格说明:将需求重新陈述为关于要构建的系统将如何运转的规格说明。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 20 页精心整理欢迎下载区别: 1、需求定义面向的是业务相关人员,如委托人、客户和用户;需求规格说明面向的是技术性人员。
12、2、需求规格说明仅仅提及通过其接口到系统是可访问的环境实体,需求定义可以处于环境域的任何地方。需求规格说明书的主要内容。 a) 详细描述输入和输出 b) 根据接口的输入输出重新陈述要求的功能 c) 对用户的质量需求,设计适配标准类图: 描述了对象类型和他们之间的静态关系。对象图:对象图是类图的实例, 用来表示类图的类的对象在系统运行过程中某一时刻的状态。构件图:表示构件的组织和他们之间的关系,通过这些依赖关系来估计对系统构件的修改给系统可能带来的影响。包图:展示了不同包中的类之间的依赖关系。用例图:根据系统和系统之间的交互,描述可观察到的、用户发起的功能。顺序图:展示了活动或行为发生的顺序。通
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年软件工程重点归纳 2022 软件工程 重点 归纳
限制150内