收藏 分享(赏)

软件工程总结.ppt

上传人:weiwoduzun 文档编号:4195723 上传时间:2018-12-15 格式:PPT 页数:12 大小:270.52KB
下载 相关 举报
软件工程总结.ppt_第1页
第1页 / 共12页
软件工程总结.ppt_第2页
第2页 / 共12页
软件工程总结.ppt_第3页
第3页 / 共12页
软件工程总结.ppt_第4页
第4页 / 共12页
软件工程总结.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、1、软件、程序、数据、文档的定义 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合 软件 = 程序+数据+文档 程序 = 算法+数据结构 程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发,维护和使用有关的图文材料 2、关于软件的几个神话 神话2:如果我们没能按时完成计划,可以通过增加程序员人数而赶上进度。(X) 神话5:当我们完成程序并将其交付使用后,我们的任务就完成了。 (X) 神话6:对于一个成功的软件项目,可执行程序是唯一可交付的成果(X) 3、质量的观点 超越的观点(Transcendental

2、view):质量是可以认识而不能定义的 用户的观点(User view ):质量是恰好达到目的 制造的观点( Manufacturing view):质量是与需求说明的一致 产品的观点( Product view):质量是与产品的内在特性相联系的 基于价值的观点( Value-based view):质量取决于顾客愿意支付的金额 4、至少得从三个方面考虑 产品质量、过程质量、商业环境中的质量,5、系统的方法 (1)定义系统边界:边界指出了项目包含的内容和不包含的内容 (2)确定活动和对象活动:触发器引发的事件和行为,活动将改变事物对象:活动中涉及的所有要素,系统中对象是有联系的 (3)考虑嵌套

3、的系统、相互关联的系统 6、改变软件工程实践七个关键因素:(1)交付时间的重要性(2)计算行业经济的变化趋势(3)功能强大的桌面运算(4) 互联网络(5)面向对象的技术(6)图形用户界面(7)瀑布模型的不可预知性,7、Wasserman的软件工程规范 8个基本概念 抽象:从复杂且多样性的现象得到事物的本质特性 分析、设计方法和符号:标准化的方法和符号避免歧义 用户界面原形:帮助用户捕获真实的需求 验证设计或方法的可行性 软件过程:软件过程保证了系统的可控性 软件体系结构:体系结构是解决方案的分解,系统如何分解为若干单元,这些单元间是如何联系的及单位的外部可见性。(系统分解方法:基于模块的分解、

4、面向数据的分解、面向事件的分解、由外到内的设计、面向对象的设计) 复用:如何利用不同应用程序中的共性? 复用 度量:必须对目标和完成工作进行量化 工具和集成环境:任何工具和集成环境必须处理的5个问题-平台集成、数据集成、表示集成、控制集成、过程集成 8、工程化:1、“科学和数学的应用,通过这种应用将自然界中的物质属性和能量源变得对人类有用”2、工程化的基本概念是以可重复的一致的方式来解决问题 9、软件工程定义 软件工程 Fritz Bauer为了经济的获得可靠的,在实际机器上高效运行的软件,而建立和使用的好的工程原则。 软件工程IEEE93软件工程是(1)将系统的、规范的、可度量的方法应用于软

5、件的开发、运行和维护的过程。即工程化方法应用于软件。(2)在(1)中所述方法的研究 使用方法、工具、过程提高质量,软件工程管理目的:为了按照进度和预算完成软件开发计划内容:成本估算、进度安排、人员组织、质量保证 10、软件工程与计算机科学计算机科学: 研究计算机相关的理论软件工程:把计算机技术看作工具,用以解决问题 12、软件通用过程框架 沟通:这个框架活动包含了与客户(包括所有共利益Stakeholder)之间大量的交流协作,还包括需求获取以及其他相关活动。 策划:为后续的软件工程工作制定计划。软件规模越大,策划越重要 建模:包括创建模型和设计两方面。创建模型有助于客户和开发人员更好地理解软

6、件需求,设计可以实现需求。 构建:包括编码和测试 部署:软件交付给用户,用户对其进行评测并给出反馈意见 13、如何看待过程模型?他给我们带来什么好处? 软件过程模型是软件开发全过程、软件开发活动以及它们之间关系的结构框架; 它会使软件开发变得可控 14、理解瀑布模型、V模型 ,15、统一软件开发过程(RUP)就是基于构件开发模型的代表。使用统一建模语言。 16、 RUP是一种以“用例驱动、以体系结构为核心、迭代及增量”的软件过程框架。由UML方法和工具支持,RUP是二维的 17、RUP四个模型阶段要做哪些事? 先启:定义整个项目的范围,用例建模,对某些重要元素进行需求分析 精化:制定项目计划、

7、描述功能、建立体系架构框架和可执行的“体系结构基线”,精化化阶段不是一个需求或设计阶段,而是一个迭代实现核心架构并降低高风险的阶段 构建:构造软件产品 产品化:将软件产品移交到最终用户手中 阶段结束标志着重要的里程碑24、管理由五项要素组成:计划、组织、指挥、协调和控制 25、项目管理:项目的管理者,在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理 26、项目分解的结果就是WBS(Work Breakdown Structure 任务分解结构)图,27、为什么要做WBS? 软件的成本、进度、质量顺利完成需要估算都需要且依赖WBS做项目管理 28、WBS目的 W

8、BS主要是将一个项目分解成易于管理的几个部分或几个细目,以便确保找出完成项目工作范围所需的所有工作要素它是一种在项目全范围内分解和定义各层次工作包的方法 29、WBS通常是一种面向“成果”的“树”,其最底层是细化后的“可交付成果” 30、项目人员:项目管理人员:负责软件项目的管理工作,其负责人通常称为项目经理高级管理人员:可以是领域专家,负责提出项目的目标并对业务问题进行定义开发人员:掌握了开发一个产品或应用所需的专门技术,可胜任包括需求分析、设计、编码、测试、发布等各种相关的开发岗位客户:一组可说明待开发软件的需求的人,也包括与项目目标有关的其它风险承担者 最终用户:产品或应用提交后与产品/

9、应用进行交互的 32、三种常见的组织形式 具有不同的通信路径数 核心程序员制小组(高结构化 ):高确定性,重复,大项目 民主制小组(松散结构):不确定,新技术或工艺,小项目 层次式小组(高结构化和松散结构两者之间) 33、规模估算LOC:代码行可以分为无注释的源代码行(NCLOC)和注释的源代码行(CLOC),源代码的总行数LOC即为NCLOC与CLOC之和。利用LOC为指标进行估算FP:功能点,根据事务信息处理程序的基本功能定义的,利用FP为指标进行估算。,34、LOC与FP的优缺点 LOC优缺点: 优点:用软件代码行数估算软件规模简单易行。 缺点 代码行数的估算依赖于程序设计语言的功能和表

10、达能力; 采用代码行估算方法会对设计精巧的软件项目产生不利的影响; 在软件项目开发前或开发初期估算它的代码行数十分困难; 代码行估算只适用于过程式程序设计语言,对非过程式的程序设计语言不太适用等等。 FP优缺点: 优点 与程序设计语言无关,它不仅适用于过程式语言,也适用于非过程式的语言; 软件项目开发初期就能基本上确定系统的输入、输出等参数,功能点度量能用于软件项目的开发初期。 缺点 它涉及到的主观因素比较多,如各种权函数的取值; 信息领域中的某些数据有时不容易采集; FP的值没有直观的物理意义。 FP贯穿于整个软件周期,从用户的角度定义系统的能力 35、如何识别EQ、EO、EI? (1)外部

11、输出EO是指一个是指一个向应用边界之外发送数据或控制信息的基本处理,外部输出的基本目的是为了向用户展示一组经过了除提取之外的其他逻辑处理数据或者控制信息,这里的其他包括至少一个数学演算或对衍生数据的生成。也可能包括对内部逻辑文件的维护或者对系统行为的改变 (2)外部查询也是指一个是指一个向应用边界之外发送数据或控制信息的基本处理,但它的目的是向用户展示提取的数据或控制信息,但并不包括EO中的其它处理 36、一个应用程序中的EIF必然是其它应用程序中的EIF,37、数据元素类型(Data Element Types DET)记录元素类型(Record Element Types RET) FP计

12、算:FP=CT*0.65+0.01*Fi 其中:CT为未调整功能点Fi 是复杂性调节值 Fi 取值 0,1,.,5 38、成本估算类型 专家判定、算法模型、机器学习 39、可靠性估算:与软件可靠性密切相关的程序中残留错误数的估算和平均故障间隔时间的估算方法:错误植入法、分别测试法、软件平均故障间隔时间估算 40、进度估算与管理 (1)制订项目计划(2)在项目计划的过程中,进行监控与控制 41、进度管理指导原则 划分、相互依赖性、时间分配、工作量确认、定义责任、定义结果、定义里程碑: 41、进度安排图表 (1)网络图 展示项目中的各个活动以及活动之间的逻辑关系;网络图是活动排序的一个输出;网络图

13、可以表达活动的经历时间。常用网络图有PDM、ADM1、完成对开始:后一活动的开始要等到前一活动的完成。 2、完成对完成 3、开始对开始 4、开始对完成: (2)甘特图也称时间表(Timeline chart),用来建立项目进度表 在甘特图中,每项任务的完成以必须交付的文档和通过评审为标准 (3)里程碑图:里程碑显示项目进展中的重大工作完成 (4)资源图,43、进度编制的常见技术 关键路径法(CPM)正推法 + 逆推法 计划评审技术(PERT) 图形评审技术(GERT) 44、计划评审技术(PERT)与CPM之间的区别 PERT同CPM的主要差别在于PERT使用期望值来估算时间,而不使用CPM所

14、用的最大可能估计。 45、如何评价计划评审技术与实际工期的偏差? 网络计划按规定日期完成的概率: =(Q-M)/ Q为网络计划规定的完工日期或目标时间; M为关键线路上各项工作平均持续时间的总和; 为关键线路的标准差; 为概率系数。 46、什么是风险?风险管理分为那几步? 风险:在给定情况下和特定时间内,那些可能发生的结果与预期结果之间的差异,差异越大,风险越大 风险管理就是识别评估风险,建立、选择、管理和解决风险的可选方案和组织方法 包括了风险标识、风险预测、风险评估和风险管理与监控四个活动 风险的类别:项目风险、技术风险、商业风险 一个有效的策略应考虑以下3个问题:1.风险避免(最好办法)

15、2.风险监控3.风险管理及监控计划RMMP 48、高质量的软件应该具备以下条件: 满足软件需求定义的功能和性能(用户观点) 文档符合事先确定的软件开发标准(制造观点) 软件的特点和属性遵循软件工程的目标和原则(产品观点),49、QA与QC的区别 质量控制(QC):为保证每一件工作产品都满足需求而应用于整个开发周期中的一系列审查、评审和测试,质量控制在创建工作产品的过程中包含一个反馈循环,所有工作产品都应该具有定义好的和可度量的规约。 质量保证(QA):建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。 50、软件质量控制 (1)采用技术手段保

16、证软件质量(2)组织技术评审(3)加强软件测试(4)推行软件工程标准(5)对软件的修改、变更进行严格控制(6)对软件质量进行度量 51、软件评审的方法:正式评审、非正式评审(informal reviews)-“走查” 52、什么是软件配置?什么是软件配置管理? 软件配置是由在软件工程过程中产生的所有信息项构成的,它可以看作该软件的具体形态(软件配置项)在某一时刻的瞬间影像; 软件配置管理:协调软件开发使得混乱减到最小的技术叫做软件配置管理,它是一种标识、组织和控制修改的技术,目的是使错误达到最小并最有效地提高生产效率。” 53、软件配置管理的目标:标识变更、控制变更、确保变更、报告变更 54、软件配置管理的关键活动:状态报告、配置审计、变更控制、版本控制、配置空间管理、配置项识别 55、配置项的操作权限应由CMO严格管理。基本原则是:基线配置项向软件开发人员开放读取得权限;非基线配置项向PM、CCB及相关人员开放。(CMO-配置管理员-执行者,CCB-配置控制委员会-决策者,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > 软件工程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报