《2022软件工程总结_软件工程的总结_3.docx》由会员分享,可在线阅读,更多相关《2022软件工程总结_软件工程的总结_3.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022软件工程总结_软件工程的总结 软件工程总结由我整理,希望给你工作、学习、生活带来便利,猜你可能喜爱“软件工程的总结”。 软件工程总结 软件的特点 软件是一种逻辑实体。 软件的开发,是人的智力的高度发挥,而不是传统意义上的硬件制造。 软件维护与硬件的修理有着本质的差别。 软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依靠性。 软件的开发至今尚未完全摆脱手工艺的开发方式,使软件的开发效率受到很大限制。 软件的开发是一个困难的过程。 软件的成本特别昂扬。软件工程就是建立和运用一套合理的工程原理,从而经济地获得牢靠的、可以在实际机器上高效运行的软件。软件工程的特性: 1.
2、软件工程关注于大型程序的构造 2.软件工程的中心课题是限制困难性 3.软件常常改变 4.开发软件的效率特别重要 5.和谐地合作是开发软件的关键 6.软件必需有效地支持它的用户 7.在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人 PM (Project Manager):负责整个项目安排的制定、进度的跟踪、监督以及与客户的沟通等。 PL (Project Leader):负责与项目有关的技术问题的调研、指导、培训以及项目进度的跟踪等。 Page 1of 17 CS (Consultant):负责与客户确认项目中所涉及的业务流程以及向项目组其他成员说明项目的业务流程。 SE (S
3、oftware Engineer):负责项目的概要设计、具体设计以及开发架构的制定和系统测试用例的书写。 PG,也叫CD (Coder):负责写代码以及单体测试. TE (Tester):负责集成测试、压力测试以及用户测试。 1.2 软件工程定义 用分阶段的生命周期安排严格管理 坚持进行阶段评审 实行严格的产品限制 采纳现代程序设计技术 结果应能清晰地审查 开发小组的人员应当少而精 Page 2of 17 承认不断改进软件工程实践的必要性 Page 3of 17 增量模型的优点 1.在较短时间内向用户提交可完成部分工作的产品,并分批、逐步地向用户提交产品。从第一个构件交付之日起,用户就能做一些
4、有用的工作。 2.整个软件产品被分解成很多个增量构件,开发人员可以一个构件一个构件地逐步开发。 3.逐步增加产品功能可以运用户有较充裕的时间学习和适应新产品,从而削减一个全新的软件可能给客户组织带来的冲击。 采纳增量模型比采纳瀑布模型和快速原型模型须要更细心的设计,但在设计阶段多付出的劳动将在维护阶段获得回报。增量模型的困难 1.在把每个新的增量构件集成到现有软件体系结构中时,必需不破坏原来已经开发出的产品。此外,必需把软件的体系结构设计得便于按这种方式进行扩充,向现有产品中加入新构件的过程必需简洁、便利,也就是说,软件体系结构必需是开放的。 2.开发人员既要把软件系统看作整体。又要看成可独立
5、的构件,相互冲突。多个构件并行开发,具有无法集成的风险 螺旋模型 (Spiral Model) 螺旋模型将瀑布模型和增量模型结合起来,加入了风险分析。在该模型中,软件开发是一系列的增量发布,早期的迭代中,发布的增量可能是一个纸上的模型或原型,在以后的迭代中,逐步产生系统更加完善的版本。 螺旋模型的基本思想是降低风险。 Page 4of 17 统一开发过程(RUP) 极限编程(灵敏开发过程)(XP) 软件 =程序+数据+文档软件危机: 缘由,现象,方法 (软件工程学) 软件工程(学):开发、运行和维护软 Page 5of 17 件的系统方法软件工程3 个要素:方法、工具和过程。软件生命周期:定义
6、,开发,运行维护 软件过程:瀑布模型+RUP 其次章 可行性探讨的目的: 用小的代价在尽可能短的时间内确定问题是否能够解决。可行性探讨的内容: (1) 技术可行性 (2) 经济可行性 (3) 操作可行性 (4) 社会可行性(法律可行性) (5) 选择 可行性探讨过程: 1.复查系统规模和目标 确保分析员提交的报告书的确是用户要求解决的问题。 2.探讨目前正在运用的系统 现有系统要完成的工作,就是新系统所必需具备的功能。 现有系统存在的缺点,新系统必需加以改进。 现有系统所不具备功能,又是用户必需的,则新系统肯定要予以增加。 3.导出新系统的高层逻辑模型 4.进一步定义问题 用户运用可能性 时间
7、进度可行性 组织和文化上的可行性 Page 6of 17 定义系统目标复查系统目标和规模探讨现有系统设计新系统再定义系统目标。重复这个过程,直到提出新的系统逻辑模型。 5.导出和评价供选择的解法;针对多种供选方案,用户应从下面三个方面进行筛选: 从技术角度解除那些不现实的方案; 从操作角度去掉那些用户不能接受的方案; 从经济角度估算每个可能的系统的成本/效益。6.举荐建议方案 向用户提出举荐的方案,在举荐方案中应清晰地表明: 本项目的开发价值; 举荐这个方案的理由; 制定实现项目的进度表。 7.草拟开发安排 工程的进度; 人才资源的需求及运用; 设备资源的需求及运用(软、硬件工具)、估算生存周
8、期每个阶段的成本; 给出下一阶段(需求分析)的具体进度表和成本估计。 8.书写文档提交审查 Page 7of 17 Page 8of 17 Page 9of 17 数据流图和数据字典共同构成系统的逻辑模型 没有数据字典数据流图就不严格,没有数据流图 数据字典也难于发挥作用。第3 章需求分析 需求分析是软件定义时期的后一个阶段,它的基本任务不是确定系统怎样完成它的工作,而是确定系统必需完成哪些工作,也就是对目标系统提出完整、精确、清楚、详细的要求。 获得的需求的表达方式: (1)需求列表 需求与系统的特别视角或环境的关系 (2)业务流程图(状态/活动图) (3)数据流图 (4)实体联系图 ER
9、图: 实体关系属性 验证软件需求的正确性,一般应从4 个方面进行: (1) 一样性全部需求必需是一样的,任何一条需求不能和其 他需求相互冲突。 (2) 完整性需求必需是完整的,规格说明书应当包括用户需 Page 10of 17 要的每一个功能或性能。 (3) 现实性指定的需求应当是用现有的硬件技术和软件技术基本上可以实现的。 (4) 有效性必需证明需求是正确有效的,的确能解决用户面 对的问题。 第四章总体设计 总体设计过程一般分为两个阶段 n系统设计阶段:确定系统的物理实现方案 n结构设计阶段:确定软件的结构设计模块的衡量标准: 内聚耦合 耦合: 数据耦合限制耦合公共环境耦合内容耦合结论:尽量
10、运用数据耦合,少用限制耦合,限制公共 环境耦合的范围,完全不用内容耦合。 内聚:标记着一个模块内各个元素彼此间结合的 紧密程度。内聚有六种,由弱到强分别为: (1) 偶然内聚: 一个模块程序A 和程序B 内有一组语句在两处或多处出现 ,于是把这组语句作为一个模块以节约内存,叫偶然内聚。 (2) 逻辑内聚 Page 11of 17 (3) 时间内聚 例如,模块完成各种初始化工作或当一个模块处理 意外故障时,这个模块必需在中断处理的同时完成关闭文件、报警和保留现场等任务,这就构成了时间内聚。 (4)通信内聚 (5)依次内聚 (6)功能内聚 对于一个模块而言,模块自身的内聚越强,模块间的耦合就越小,
11、模块所具有的独立性就越好。可以说高内聚低耦合是我们进行软件设 计的一贯原则 面对数据流的设计方法: 信息流的两种类型: 变换流事务流(重点) Page 12of 17 事务流Page 13of 17 第七章 实现 软件测试准则 (1)全部测试都应当能追溯到用户需求。 (2)尽早的完成测试安排 (3)把parteo 原理运用到软件测试中 (4)应当从小模块测试起先,逐步进行测试 (5)穷举测试时不行能的 Page 14of 17 (6)好由独立的第三方进行测试测试方法 1.白盒测试知道具体的内部构造,知道是怎么运行的 2.黑盒测试只知道软件的具体功能,以及各个功能之间的的产生结果(也就是流程)
12、测试步骤 1.模块测试 单元 2.子系统测试 局部 3.系统测试 集成 4.验收测试 用户参加 5.平行运行 新旧共存集成测试: 1、非渐增式测试方法,即:先分别测试每个模块,再把全部模块按设计要求放在一起结合成所要的程序进行测试。 2、渐增式测试,即:先把下一个要测试的模块同已经测试好的那些模块结合起来进行测试,测试完以后再把下一个应当测试的模块结合进来测试。这种每次增加一个模块的方法事实上同时完成单元测试和集成测试.目前在进行集成测试时普遍采纳渐增式测试方法。第八章软件维护 维护的类型有四种: 改正性维护(改正错误) 适应性维护(硬件环境) 扩充与完善性维护(功能完善) 预防性维护(方法的
13、改进) 提高可维护性的方法: 建立明确的软件质量目标和优先级 运用提高软件质量的技术和工具 Page 15of 17 进行明确的质量保证审查 选择可维护的程序设计语言 改进程序的文档 第十三章软件项目管理评估软件规模的技术: 技术 功能点技术 依据软件的信息与特性,以及软件的困难度工作量的估算 依据模型估算出软件的开发工作量软件项目的特点: 无形的产品,难于理解,算法,概念等的集合 目标系统具有肯定的模糊性 软件看法具有异变性 开发文档量大 开发技术强代码行软件开发人员的特点: 1.高学问、高技术、个人作用突出 2.多层次 3.学问更新快,学问更新快这是软件行业显著的特点。 4.流淌性大 软件
14、质量保证的措施: Page 16of 17 技术审查的必要性 走查 审查 序正确性 甘特图 在进度报告中很有效在作管理陈述时易于读懂和运用。作为安排编制工具不是太强。没有表示活动间的逻辑关系。 程 Page 17of 17 软件工程总结 软件工程课程总结摘要:计算机是20世纪最重大的科学技巧成就之一,使当代社会的经济、军事、科研、教化、服务等方面在概念和技巧上发生了性的改变,对人类社会的进步已经并还将产. 软件工程总结 软件工程的定义:软件工程是将系统化的,规范化的,可度量的方法应用于软件的开发,运行和维护过程,即将工程化应用于软件中的方法的探讨。软件工程的定义2:开发运行,维护和修复软件的.
15、 软件工程总结 一、软件工程概述1软件特点 软件:计算机程序(人们为了实现特定的功能而编制的一组指令集),软件文档,以及计算机程序运行时所须要的数据。软件是计算机系统中的逻辑成分,具有无形性. 软件工程总结 第一章软件与软件工程的概念软件的概念:软件是计算机系统中与硬件相互依存的另一部分,软件包括程序,数据,及其相关文档的完整集合。程序是按事先设计的功能和性能要求执行的指令. 软件工程总结 第一章1.软件有哪些种类?答:1.按功能特征进行划分:(1)系统软件(2)支撑软件(3)应用软件2.按规模大小进行划分微型、小型、大型、甚大型、极大型 2.什么是软件危机?答:是指在计算机. 本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第13页 共13页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页第 13 页 共 13 页
限制150内