软件工程导论知识点概要

上传人:哈*** 文档编号:332653188 上传时间:2022-08-30 格式:DOCX 页数:50 大小:826.87KB
返回 下载 相关 举报
软件工程导论知识点概要_第1页
第1页 / 共50页
软件工程导论知识点概要_第2页
第2页 / 共50页
软件工程导论知识点概要_第3页
第3页 / 共50页
软件工程导论知识点概要_第4页
第4页 / 共50页
软件工程导论知识点概要_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《软件工程导论知识点概要》由会员分享,可在线阅读,更多相关《软件工程导论知识点概要(50页珍藏版)》请在金锄头文库上搜索。

1、_归纳总结汇总_ - - - - - - - - - 1.1 软件危机软件危机的表现软件危机是指在运算机软件的开发、 使用和爱护过程中遇到的一 系列严峻问题;1)成本难以估量、成本高;2)软件开发进度估量不精确,项目延期比比皆是;3)软件质量得不到保证(功能和性能) ;4)用户对“ 已完成的” 软件系统不中意的现象常常发生;5)爱护特别困难 多样性、复杂性、副作用 ;6)软件通常没有适当的文档;7)软件产品供不应求,跟不上运算机普及速度;产生软件危机的缘由(1)与软件本身的特点有关规律复杂,成本高,风险大 ,难于爱护 ;(2)与软件开发与爱护的方法不正确有关:软件 程序(软件是程序、数据及相关

2、文档的完整集合)急于求成 =拔苗助长 软件从定义、开发、使用和爱护、废弃要经 历一个漫长的生命周期 各自为阵无方法学 (应要组织良好、治理严密、各类人员协作共 同完成的工程项目)1.2 软件工程定义软件工程是应用运算机科学、数学、心理学及治理科学等原理 开发软件的工程;它借鉴传统工程的原就、方法,以提高质量、降 低成本和提高效率为目的;软件工程包括技术和治理两方面的内容,是技术与治理紧密结 合所形成的工程学科;软件工程的特性:1. 软件工程关注于大型程序的构造(传统的程序设计技术和工具是支持小型程序设计的)2. 软件工程的中心课题是掌握复杂性(问题分解)_精品资料_ - - - - - - -

3、第 1 页,共 25 页_归纳总结汇总_ - - - - - - - - - 3. 软件常常变化(考虑将来要发生的变化)4. 开发软件的效率特别重要(寻求更好、更有效的工具)5. 和谐地合作是开发软件的关键(运用标准和规程)6. 软件必需有效地支持它的用户(软件要服务于用户)7. 在软件工程领域中通常是由具有一种文化背景的人替具有另 一种文化背景的人制造产品软件工程的 7 条基本原理1.用分阶段的生命周期方案严格治理 2.坚持进行阶段评审 3.实行严格的产品掌握 4.采纳现代程序设计技术 5.结果应能清晰地审查 6.开发小组的人员应当少而精 7.承认不断改进软件工程实践的必要性软件工程方法学通

4、常把在软件生命周期全过程中使用的一整套技术方法的集合 称为方法学 methodology,也称为范型 paradigm;目前使用得最广泛的软件工程方法学,分别是传统方法学和面对对象方法学;软件工程方法学包含3 个要素:方法、工具和过程;1.3 软件生命周期每阶段的基本任务 : 1. 问题定义 2. 可行性讨论 3. 需求分析 4. 总体设计 5. 具体设计 6. 编码和单元测试 7. 综合测试 8. 软件爱护_精品资料_ - - - - - - -第 2 页,共 25 页_归纳总结汇总_ - - - - - - - - - 1.4 软件过程软件过程是为了获得高质量软件所需要完成的一系列任务的框

5、架,它规定了完成各项任务的工作步骤;通常包括四种基本的过程活动:()软件规格说明; ()软件开发;()软件确认;()软件演进 软件过程模型 : 软件开发程模型是软件开发全部过程、活动和任务的结构框架;它能直观表达软件开发全过程,明确规定要完成的主要活动、任务 和开发策略;几种典型的模型:瀑布模型、快速原型模型、增量模型、螺旋 模型、喷泉模型、 RUP等;软件过程模型的挑选基于项目和应用的性质、采纳的方法工具 以及需要的掌握和交付的产品;瀑布模型 Waterfall Model ): 传统瀑布模型:规定了各项软件工程活动,包括:制定开发计 划、需求分析和说明、软件设计、程序编码、测试、运行爱护;

6、并 且规定了它们自上而下、相互连接的固定次序,犹如瀑布流水,逐 级下落;特点:1、阶段间具有次序性和依靠性;2、推迟实现;3、质量保证;优点 : 1、可强迫开发人员采纳规范的方法 (例如,结构化技术);严格地规定了每个阶段必需提交的文档;要求每个阶段交出的全部产品都必需经过质量保证小组的认真验证;2、瀑布模型的胜利在很大程度上是由于它基本上是一种 文档驱动的模型;3、瀑布模型适合于用户需求明确、完整、无重大变化的 软件项目开发 .问题:1、不适应需求常常发生变更的环境:在项目的开发过程_精品资料_ - - - - - - -第 3 页,共 25 页_归纳总结汇总_ - - - - - - -

7、- - 中,变更可能会引起纷乱;所以,有人形象地把采纳线性模型 进行商业软件工程称之为 “ 在沙滩上盖楼房” ;(适合于用户需 求明确、完整、无重大变化的软件项目开发)2、线性次序模型每一步的工作都必需以前一阶段的输出 为输入,这种特点会导致工作中发生“ 堵塞” 状态;3、由于瀑布模型几乎完全依靠于书面的规格说明,很可 能导致最终开发出的软件产品不能真正满意用户的需要;4、是一种整体开发模型,程序的物理实现集中在开发阶 段的后期,用户在最终才能看到自己的产品;在可运行的软件 产品交付给用户之前, 用户只能通过文档来明白产品是什么样 的;快速原型模型( Rapid Prototype Model

8、)步骤: 第一步进行试验开发,得出产品的“ 原型”,其目的在 于弄清软件需求并探究可行性; 其次步在原型的基础上开发出较 为中意的软件产品;该模型克服了瀑布模型的部分缺陷, 削减了软件需求不明确 给开发工作带来的风险;前提 :1是用户必需积极参加原型的建造, 建造原型仅仅是为了定义需求,之后就必需被全部抛弃至少是部分抛弃 ,实际的软件必需在充分考虑到软件质量和可爱护性之后才被开发;从这个意义上说,原型模型又往往被称为“抛弃原型模型 ”;2是必需有快速开发工具可供使用;增量模型 Incremental Model 是一种渐进地开发逐步完善的软件版本的模型,该模型一般首 先开发产品的基本部,然后再

9、逐步开发产品的附加部分;整个软件产品被分解成很多个增量构件;每个构件由多个相互 作用的功能模块构成,并能够完成特定的功能;该增量模型说明:必需在开头实现各个构件之前就全部完成需 求分析、规格说明和概要设计,因此风险较小;优点: 是特别有用的一种模型;在克服瀑布模型缺点、削减 确有显著的效 由于软件需求不明确而给开发工作带来风险方面,果;缩短产品提交时间都能够起到良好的作用;_精品资料_ - - - - - - -第 4 页,共 25 页_归纳总结汇总_ - - - - - - - - - 困难:1、在把每个新的增量构件集成到现有软件体系结构中时,必需不破坏原先已经开发出的产品;此外,必需把软件

10、的体系结构设计得便于按这种方式进行扩充, 向现有产品中加入新构件的 过程必需简洁、便利,也就是说,软件体系结构必需是开放的;2、开发人员既要把软件系统看作整体;又要看成可独立的 构件,因此相互冲突;除非开发人员有足够的技术才能和谐好;3、多个构件并行开发,具有无法集成的风险 螺旋模型 Spiral Model 优点: 对于高风险的大型软件,螺旋模型是一个抱负的开发方 法;缺点: 风险驱动,需要相当丰富的风险评估体会和特地学问,否就风险更大;适合场合:主要适用于内部开发的大规模软件项目,随着过程的进展演化,开发者和用户能够更好地识别和对待每一个演化级别上的风 险;只有内部开发的项目,才能在风险过

11、大时便利地中止项目;假如进行风险分析的费用接近整个项目的经费预算,就风险 分析是不行行的;喷泉模型 Fountain Model 特点:喷泉模型的各阶段均采纳了 “ 对象” 这一统一范式,整个过程看起来像喷泉从喷出到落下再喷出的周而复始过程产 生的光滑水柱,表达了软件创建所固有的迭代和无间隙的特点;适合场合: 喷泉模型主要用于面对对象的软件项目,软件 的某个部分通常被重复多次, 相关对象在每次迭代中随之加入渐 进的软件成分;Rational 统一软件开发过程RUP软件开发生命周期是一个二维的软件开发模型;横轴代 表时间, 表达生命周期特点;纵轴代表工作流,表达了开发过程 的静态结构;RUP 中

12、的软件生命周期在时间上被分解为四个次序的阶段:初始、细化、构造和移交; 每个阶段环围着9 个核心工作流分别_精品资料_ - - - - - - -第 5 页,共 25 页_归纳总结汇总_ - - - - - - - - - 迭代;适合场合: 可开发或大或小、分布在各个领域的项目,表 明白 RUP 的多功能性和广泛适应性;适合于需求不稳固、不全面的软件项目开发;1.5 小结软件 =程序+数据+文档 软件危机 : 缘由 ,现象,方法 软件工程学 软件工程 :指导运算机软件开发和爱护的一门工程科学 软件工程 3 个要素:方法、工具和过程;软件生命周期 :定义 ,开发,运行爱护 软件过程 : 瀑布模型

13、,快速原型模型、增量模型、螺旋模型、喷泉模型、 RUP等2.1 可行性讨论目的:用最小的代价在尽可能短的时间内确定问题是否能够解决;2.2 可行性讨论的主要内容1 技术可行性 2 经济可行性 3 操作可行性 4 法律可行性 5 社会可行性2.3 数据流图1、一种图形化技术,它描画信息流和数据从输入移动到输 出的过程中所经受的变换;2、它只是描画数据在软件中流淌和被处理的规律过程,是_精品资料_ - - - - - - -第 6 页,共 25 页_归纳总结汇总_ - - - - - - - - - 系统规律功能的图形表示;3、设计数据流图时只需考虑系统必需完成的基本规律功能,完全不需要考虑怎样具

14、体地实现这些功能;画数据流图的方法:1、自顶向下,逐步求精2、先画顶层DFD,描画系统的整体规律概貌;顶层流图仅包含一个加工, 它代表被开发系统; 它的输入流是该系统的输入 数据,输出流是系统所输出数据;3、其次画中间层流图:对上层父图的处理的细化,形成子 图;底层流图是指其加工不需要在做分解的数据流图,它处在最 底层;留意: 数据流图应当分层,并且在把功能级数据流图细化后得到的处理超过9 个时,应当采纳画分图的方法; 当把一个处理分解为一系列处理时, 分解前和分解后的输入输出数据流必需 相同;数据流图用途:1、画数据流图的基本目的是利用它作为沟通信息的工具;2、分析员把他对现有系统的熟悉或对目标系统的设想用数_精品资料_ - - - - - - -第 7 页,共 25 页_归纳总结汇总_ - - - - - - - - - 据流图描画出来,供有关人员审查确认;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 高中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号