软件工程整理_第1页
软件工程整理_第2页
软件工程整理_第3页
软件工程整理_第4页
软件工程整理_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、可维护性 灵活性 可测试性正确性完整性可靠性可维护性 灵活性 可测试性正确性完整性可靠性可用性有效性1、软件危机产生原因:用户需求描述不准确开发人员对需求的理解差异大型项目管理经验缺乏开发人员素质与经验缺乏有力的方法学与工具技术软件本身的复杂性2、软件工程的概念软件工程:是用工程、科学和数学的原则与方法研制、维护计算机软件有关技术及管理方法。软件工程三要素:方法、工具和过程-软件工程方法为软件开发提供了 “如何做”的技术,软件工程方法分两类:传统方 法和面向对象方法-软件工具为软件工程方法提供了自动的或半自动的软件支撑环境3、软件工程过程定义了:方法使用的顺序-要求交付的文档资料为保证质量和适

2、应变化所需要的管理软件开发各个阶段完成的里程碑4、软件工程的基本活动:需求、设计、实现、确认、支持5、原型模型具有较大的灵活性,适合于软件需求不明确,设计方案有一定风险的软件项目。其主要优点是能统一客户和开发人员对软件项目需求的理解,有助于需求的定义和确认。6、螺旋法(小题)1、软件项目管理任务:制定软件项目的实施计划和方案;对人员进行组织和分工;按照计划进度,以及成本管理、风险管理、质量管理的要求进行软件开发,完成软 件项目的各项要求和任务。2、面向功能的度量优点与程序设计语言无关;功能点度量能用于软件项目的开发初期。缺点它涉及到的主观因素比较多,如各种权函数的取值;信息领域中的某些数据有时

3、不容易采集;FP的值没有直观的物理意义。可移植性 可重用性 可互操作性产品运行性3、cm件所携要成 4、风险分为项目风险、技术风险和商业风险。项目风险威胁到项目计划,一旦项目风险成为现实,可能会拖延项目进度,增加项目的成本。 项目风险是指潜在的预算、进度、个人(包括人员和组织)、资源、用户和需求方面的问题, 以及它们对软件项目的影响。技术风险威胁到待开发软件的质量和预定的交付时间。如果技术风险成为现实,开发工作可 能会变得很困难或根本不可能。技术风险是指潜在的设计、实现、接口、检验和维护方面的 问题。此外,规格说明的多义性、技术上的不确定性、技术陈旧、最新技术不成熟)也是风 险因素。商业风险威

4、胁到待开发软件的生存能力。5种主要的商业风险是: (1)建立的软件虽然很优秀但不是市场真正所想要的(市场风险); (2)建立的软件不再符合公司的整个软件产品战略(策略风险); (3)建立了销售部门不清楚如何推销的软件; (4)由于重点转移或人员变动而失去上级管理部门的支持(管理风险); (5)没有得到预算或人员的保证(预算风险)。5、CMM把企业控制软件过程的能力分五级1、初始级、2、可重复级3、已定义级、4已 管理级5、优化级1、软件需求分析三个主要阶段(任务):问题分析、需求描述、需求评审1、结构化分析的分析模型2、需求分析举例问题说明欲开发某考务处理系统,用户希望的功能如下:(1)对考生

5、送来的报名单进行检查。(2)对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站。(3)对阅卷站送来的成绩清单进行检查,并根据考试中心制定的合格标准审定合 格者。(4)制作考生通知单送给考生。(5)进行成绩分类统计(按地区,年龄,文化程度,职业,考试级别等分类)和 试题难度分析,产生统计分析表。部分数据流的组成如下所示:报名单=地区+序号+姓名+性别+年龄+文化程度+职业+考试级别+通讯地址正式报名单=报名单+准考证号准考证=地区+序号+姓名+准考证号+考试级别考生名单=准考证号+考试级别(其中w表示w重复多少次)统计分析表=分类统计表+难度分析表考生通知单=考试级别+

6、准考证号+姓名+合格标志+通信地址考试中心考生阅卷站考试中心考生阅卷站态图(类尊雄2、什么是用例?口态图(类尊雄2、什么是用例?口从外部用作用。、对象图、包图)(3)行为图(4)实现图一个用例是主角(actor)与目标软件系统之间一次典型的交互口从软件系统内部的视角出发,一个用例代表着系统执行的一系列动作,动作执行的结果能够被外部的主角所察觉。3、会画一个用例图(主要的actor和每个actor的操作)1、耦合是模块之间的互相连接的紧密程度的度量 设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦合和公共数据耦合,杜绝内 容耦合。2、时间内聚又称为经典内聚。这种模块大多为多功能模块,但

7、模块的各个功能的执行与时 间有关,通常要求所有功能必须在同一时间段内执行。例如初始化模块和终止模块。1、启发式设计策略口变换分析和事务分析的最后一个步骤都是运用启发式策略对程序结构雏形进行优化,以提高软件设计的整体质量。口启发式设计策略是人们从长期的大量软件开发过程中积累总结的经验。改造程序结构,减小耦合度,提高内聚度。应从增强模块独立性的角度,对程序结构雏形的模块进行分解或合并,力求降低耦合度, 提高内聚度。改造程序结构,减少高扇出,在增加程序深度的前提下追求高扇入。改造程序结构,使任一模块的作用域在其控制域之内。模块作用域指,受该模块内部判定影响的所有模块;模块控制域为其所有下层模块。改造

8、程序结构,减少界面的复杂性和冗余程度,提高协调性。界面复杂是引起软件错误的一个基本因素。界面传递的数据应尽可能简单并与模块的功能相协调。模块功能应该可预言,避免对模块施加过多限制。模块功能可预言指,若视模块为“黑匣子”,输入恒定,输出则恒定。如果对模块局部数据的体积,控制流程的选择及外部接口方式等诸因素限制过多,则以后 为去掉这些限制要增加维护开销。改造程序结构,追求单入口单出口的模块。为满足设计或可移植性的要求,把某些软件用包(Package)封装起来。根据模块重要的程度、被访问的频率及两次引用的间隔等因素对模块分组。程序中那些供选择的或“单调”(oneshot)的模块应单独存在,以便高效地

9、加载。无论是采用变换分析法还是事务分析法,获得程序结构后,必须开发一系列辅助文档,作为 软件总体设计的组成部分。陈述每个模块的处理过程;描述每个模块的界面;根据数据字典定义局部和全局数据结构;综述设计中所有限制(Limitations)和限定(Restrictions);对概要设计进行复审;对设计进行优化。1、边界类描述目标软件系统与外部环境的交互,主要任务:(1)界面控制(2)外部接口(3)环 境隔离2、控制类作为完成用例任务的责任承担者,协调、控制其他类共同完成用例规定的功能或 行为1、黑盒测试完全不考虑程序的内部结构和处理过程。测试仅在程序界面上进行。设计测试用例旨在说明:软件的功能是否

10、可操作;程序能否适当地接收输入数据并产生正确的输出结果;能否保持外部信息(如数据文件)的完整性。黑盒测试又叫做功能测试或数据驱动测试。2、白盒测试时将程序看作是一个透明的盒子,也就是说测试人员完全了解程序的内部结构 和处理过程。所以测试时按照程序内部的逻辑测试程序、检验程序中的每条通路是否都能按 预定的要求正确工作。白盒测试又称为结构测试或逻辑驱动测试。不论黑盒还是白盒测试都不能进行穷尽测试,所以软件测试不可能发现程序中存在的所有错 误,因此需精心设计测试方案,力争尽可能少的次数,测出尽可能多的错误。3、基本路径4、等价类(电话号码)5、测试过程中有哪些活动:单元测试、集成测试、确认测试、系统

11、测试6、系统测试有哪几种:恢复测试、安全测试、强度测试、性能测试1、什么是软件配置项:2、基线标志软件开发过程的各个里程碑,任一 SCI(例如,设计说明书),一旦形成文档并复审 通过,即成为一个基线,它标志开发过程中一个阶段的结束。1软件危机产生原因:用户需求描述不准确、开发人员对需求的理解差异、大型项目管理经验缺乏、开发人员素质 与经验、缺乏有力的方法学与工具技术、软件本身的复杂性2软件工程的概念是用工程、科学和数学的原则与方法研制、维护计算机软件有关技术及管理方法。软件工程三要素:方法、工具和过程软件工程方法为软件开发提供了 “如何做”的技术,软件工程方法分两类:传统方法和面 向对象方法软

12、件工具为软件工程方法提供了自动的或半自动的软件支撑环境3软件工程过程定义了:方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各 个阶段完成的里程碑软件工程的基本活动:需求、设计、实现、确认、支持5原型模型具有较大的灵活性,适合于软件需求不明确,设计方案有一定风险的软件项目。 其主要优点是能统一客户和开发人员对软件项目需求的理解,有助于需求的定义和确认。6螺旋模型:新增加了新的成分:风险分析(需求定义,风险分析,工程实现,评审) 软件开发项目力图在以上目标的冲突中取得一定程度的平衡:成本,质量,工期1软件项目管理任务:制定软件项目的实施计划和方案;对人员进行组织和分

13、工;按照计划进度,以及成本管理、 风险管理、质量管理的要求进行软件开发,完成软件项目的各项要求和任务。成本管理主要任务:估算软件项目的成本;质量管理:指定软件质量保证计划,对阶段性的 软件产品进行评审;对最终产品进行验证和确认。软配置管理:制定配置管理计划,对程序 文档和数据的各种版本进行管理,确保软件的完整性和一致性。2面向功能的度量优点与程序设计语言无关;功能点度量能用于软件项目的开发初期。缺点:它涉及到的主观因素比较多,如各种权函数的取值;信息领域中的某些数据有时不容 易采集;FP的值没有直观的物理意义。3软件质量要素:软件的运行特征:正确性可靠性有效性完整性可用性 软件承受修改的能力:

14、可维护性灵活性可测试性 软件对新环境的适应程度:可移植性可重用性连接性4风险分为项目风险、技术风险和商业风险。软件开发项目的进度是任务、人力、时间的组CMM把企业控制软件过程的能力成熟度分五级1初始级(自发过程成功靠员工努力)2 可重复级(建立基本管理,参照成功的项目重复)3已定义级(所有管理、工程两方面的活 动均文档化并纳入有组织的软件过程,新的项目按定义的过程开发和管理)4已管理级(软 件过程可量化管理,可制定产品度量标准第三级除外)5优化级(可从实施过程的反馈中改 进过程第四级除外)1软件需求:用户对目标软件系统在功能、行为、性能、设计约束等方面的期望软件需求分析三个主要阶段(任务):问

15、题分析、需求描述、需求评审(正确性、无歧义性、 完全性、可验证性、一致性、可理解性、可修改性、可追踪性、必要性、可实现性、确定优 先级)结构化分析的分析模型:实体关系:数据对象描述。数据流:加工规格说明。状态- 迁移图:控制规格说明(中间是数据字典)1UML图1用例图2静态图(类图、对象图、包图)3行为图(交互图、状态图、活动图)4实现图(构件图、部署图)2什么是用例?从外部用户的视角看,一个用例是主角(actor )与目标软件系统之间一次典型的交互作用。从软件系统内部的视角出发,一个用例代表着系统执行的一系列动作,动作执行的结果能够 被外部的主角所察觉。1耦合是模块之间的互相连接的紧密程度的

16、度量设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦合和公共数据耦合,杜绝内 容耦合。2时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间 有关,通常要求所有功能必须在同一时间段内执行。例如初始化模块和终止模块。1、启发式设计策略变换分析和事务分析的最后一个步骤都是运用启发式策略对程序结构雏形进行优化,以 提高软件设计的整体质量。启发式设计策略是人们从长期的大量软件开发过程中积累总结的 经验。1改造程序结构,减小耦合度,提高内聚度。2改造程序结构,减少高扇出,在增加程序深 度的前提下追求高扇入。3改造程序结构,使任一模块的作用域在其控制域之内。4改造程 序

17、结构,减少界面的复杂性和冗余程度,提高协调性。5模块功能应该可预言,避免对模块 施加过多限制。6改造程序结构,追求单入口单出口的模块。7为满足设计或可移植性的要 求,把某些软件用包(Package)封装起来。1、边界类描述目标软件系统与外部环境的交互,主要任务:(1)界面控制(2)外部接口(3)环 境隔离2、控制类作为完成用例任务的责任承担者,协调、控制其他类共同完成用例规定的功能或 行为1黑盒测试完全不考虑程序的内部结构和处理过程。测试仅在程序界面上进行。设计测试用例旨在说明:软件的功能是否可操作;程序能否适当地接收输入数据并产生正确的输出结果;能否保持外部信息(如数据文件)的完整性。黑盒测试又叫做功能测试或数据驱动测试。2白盒测试时将程序看作是一个透明的盒子,也就是说测试人员完全了解程序的内部结构和 处理过程。所以测试时按照程序内部的逻辑测试程序、检验程序中的每条通路是否都能按预 定的要求正确工作。白盒测试又称为结构测试或逻辑驱动测试。不论黑盒还是白盒测试都不能进行穷尽测试,所以软件测试不可能发现程序中存在的所有错 误,因此需精心设计测试方案,力争尽可能少的次数,测出尽可能多的错误。3测试过程中有哪些活动:单元测试、集成测试、确认测试、系统测试4系统测试有哪几种:恢复测试、安全测试、强度测试、性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论