




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、软件与软件的组成1、软件是与计算机系统操作有关的程序、规程、规则、及任何与之有关的文档及数据的完整集合(两部分:可执行的程序及相关的数据;2、软件危机的主要特征: 软件开发周期大大超过规定日期 软件开发成本严重超标 软件质量难于保证一、 软件工程:是用工程、科学和数学的原则与方法研制、维护计算机软件有关技术及管理方法。软件工程三要素:方法、工具和过程软件周期: 软件产品从形成概念开始,经过开发、运行(使用)和维护直到退役的全过程称为软件生存周期,包括软件定义、开发、使用和维护三部分。软件过程一、软件过程是为了获得高质量软件产品所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程必须科学、合理,才能开发出高质量的软件产品。二、软件开发模型 软件过程、活动、任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。2.4.1 风险分析风险分析实际上是4个不同的活动: 风险识别,风险估计,风险评价和风险驾驭CMM把企业控制软件过程的能力分五级1. 初始级:自发过程,成功靠员工努力2. 可重复级:建立基本管理,参照成功的项目重复3. 已定义级:所有管理、工程两方面的活动均文档化并纳入有组织的软件过程,新的项目按定义的过程开发和管理4. 已管理级:软件过程可量化管理,可制定产品度量标准(除第三级外)5. 优化级:可从实施过程的反馈中改进过程(除第四级外)第四章 需求分析基础 o 软件需求 用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。主要内容o 三个主要阶段:问题分析、需求描述、需求评审第六章o 用例图(use case diagram) 从外部用户的角度描述系统的功能,并指出功能的执行者。每一个用例的用例规约都应该包含以下内容: o 1. 用例名称o 1.1 简要说明o 2. 事件流o 2.1 基本流o 2.2 备选流o 2.2.1 o 2.2.2 o 3. 特殊需求o 3.1 o 4. 前置条件o 4.1 o 5. 后置条件o 5.1 o 6. 扩展点o 6.1 软件设计过程o 从工程管理的角度看,软件设计可分为概要设计和详细设计两大步骤。o 概要设计是根据需求确定软件和数据的总体框架o 详细设计是将其进一步精化成软件的算法表示和数据结构。o 抽象是管理、控制复杂性的基本策略 。 “抽象”是心理学概念,它要求人们将注意力集中在某一层次上考虑问题,而忽略那些低层次的细节。o 模块化的概念把软件划分为可独立命名和编址的部件,每个部件称为一个模块,当把所有模块组装到一起时则获得满足问题需要的一个解。o 软件总体结构体现了模块化思想。o “模块化是软件唯一能使程序获得智能化管理的一个属性”,没有模块的程序控制路径错综复杂,变量被远距离引用等难于被人掌握。“分治法”一个复杂问题分割成若干个可管理的小问题后更易于求解。模块独立性, 是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的一般采用两个准则度量模块独立性。即模块间耦合和模块内聚耦合是模块之间的互相连接的紧密程度的度量。内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。模块独立性比较强的模块应是高内聚低耦合的模块。设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦合和公共数据耦合,杜绝内容耦合。内聚和耦合是密切相关的,模块内的高内聚往往意味着模块间的松耦合。用方法将数据流图转换为软件结构 ()确定信息流的类型;()划定流界;()将数据流图映射为程序结构;()提取层次控制结构;()通过设计复审和启发式策略精化结构。第三步所用映射方法涉及信息流的类型。信息流分为变换流和事务流两种类型。事务分析法可分为七个步骤步骤一复审基本系统模型;步骤二复审并精化软件数据流图;步骤三确定数据流图的特性;前三步与变换分析法相同步骤四找出数条动作路径的公共源头,即为事务中心,确定由事务中心发出的每一动作路径的数据流特性。步骤五把数据流图映射为事务处理型的程序结构。步骤六 分解并精化事务结构以及每条动作路径所对应的结构。步骤七 使用启发式设计策略,精化所得程序结构雏形,改良软件质量。9.启发式设计策略()改造程序结构,减小耦合度,提高内聚度。应从增强模块独立性的角度,对程序结构雏形的模块进行分解或合并,力求降低耦合度,提高内聚度。()改造程序结构,减少高扇出,在增加程序深度的前提下追求高扇入。设计良好的软件结构通常顶层扇出比较高,中层扇出较少,底层又高扇入到公共的实用模块中去。()改造程序结构,使任一模块的作用域在其控制域之内。模块作用域指,受该模块内部判定影响的所有模块;模块控制域为其所有下层模块。()改造程序结构,减少界面的复杂性和冗余程度,提高协调性。()模块功能应该可预言,避免对模块施加过多限制。()改造程序结构,追求单入口单出口的模块。()为满足设计或可移植性的要求,把某些软件用包(Package)封装起来无论是采用变换分析法还是事务分析法,获得程序结构后,必须开发一系列辅助文档,作为软件总体设计的组成部分。陈述每个模块的处理过程;描述每个模块的界面;根据数据字典定义局部和全局数据结构;综述设计中所有限制(Limitations)和限定(Restrictions);对概要设计进行复审;对设计进行优化。第十章o 用例实现方案的设计方法有三个步骤: (1) 提取边界类、实体类和控制类; (2) 构造交互图; (3) 根据交互图精化类图。10.1.3 提取边界类、实体类和控制类边界类描述目标软件系统与外部环境的交互,主要任务:(1) 界面控制:包括输入数据的格式及内容转换,输出结果的呈现,软件运行过程中界面的变化与切换等。(2) 外部接口:实现目标软件系统与外部系统或外部设备之间的信息交流和互操作。主要关注跨越目标软件系统边界的通信协议。(3) 环境隔离:将目标软件系统与操作系统、数据库管理系统、应用服务器中间件等环境软件进行交互的功能与特性封装于边界类之中,使目标软件系统的其余部分尽可能地独立于环境软件。实体类表示目标软件系统中具有持久意义的信息项及其操作。控制类作为完成用例任务的责任承担者,协调、控制其他类共同完成用例规定的功能或行为。对于比较复杂的用例,控制类通常并不处理具体的任务细节,但是它应知道如何分解任务,如何将子任务分派给适当的辅助类,如何在辅助类之间进行消息传递和协调。第十四章p E.W.Dijkstra 指出:“程序测试能证明错误的存在,但不能证明错误不存在。”p 测试的“成功”与“失败” 能够发现错误的测试是成功的测试,否则是失败的测试。任何产品都可以使用以下两种方法进行测试:(1)如果已知产品的功能,则可以对它的每一个功能进行测试,看是否都达到了预期的要求;(2)如果已知产品的内部工作过程,则可以对它的每种内部操作进行测试,看是否符合设计要求。第一种方法是黑盒测试,第二种方法是白盒测试。o 黑盒测试完全不考虑程序的内部结构和处理过程。测试仅在程序界面上进行。o 设计测试用例旨在说明:软件的功能是否可操作;程序能否适当地接收输入数据并产生正确的输出结果;能否保持外部信息(如数据文件)的完整性。黑盒测试又叫做功能测试或数据驱动测试。o 它主要诊断下列几类错误:(1)不正确或遗漏的功能;(2)界面错误;(3)数据结构或外部数据库访问错误;(4)性能错误;(5)初始化和终止条件错误。o 白盒测试时将程序看作是一个透明的盒子,也就是说测试人员完全了解程序的内部结构和处理过程。所以测试时按照程序内部的逻辑测试程序、检验程序中的每条通路是否都能按预定的要求正确工作。o 白盒测试又称为结构测试或逻辑驱动测试。o 白盒测试应该根据程序的控制结构设计测试用例,原则是:保证模块中每一独立的路径至少执行一次;保证所有判断的每一分枝至少执行一次;保证每一循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。基本路径测试的主要思想是,根据软件过程性描述(详细设计或代码)中的控制流程确定复杂性度量,然后用此度量定义基本路径集合,由此导出一组测试用例,它们能保证每个语句至少执行一次。1. 等价分类法o 等价分类法的主要思想是把程序的输入数据集合按输入条件划分为若干个等价类,每一等价类相对于输入条件表示为一组有效或无效的输入,然后为每一等价类设计一个测试用例,这样即可大大减小测试的次数又不丢失发现错误的机会。o 因此等价分类法的关键是根据输入数据的类型和程序的功能说明划分等价类。o 常用的一些规则:(1) 如果能为输入条件指定一个范围,则可划分出一个有效的等价类(输入值落在此范围内)和两个无效的等价类(大于最大值的输入和小于最小值的输入); (2) 如果能为输入条件指定一个特定值,则可类似地划分出一个有效等价类和两个无效等价类; (3) 如果能为输入条件指定一个集合,则可划分出一个有效等价类(此集合)和一个无效等价类(此集合的补集); (4) 如果能为输入条件指定一个布尔量,则可划分出一个有效等价类(此布尔量)和一个无效布尔量(此布尔量之非)。14.3.4 系统测试用于系统测试的测试类型:恢复测试安全性测试强度测试性能测试第十五章15.1 软件维护的分类o 维护活动根据起因可分为改正性维护、适应性维护、改善性维护和预防性维护四类:M=P+K*e(c-d)其中,M=维护所用总工作量 P=生产性工作量 K=经验常数 c=是因缺乏好的设计和文档而导致复杂性的度量 d=对欲维护软件的熟悉程度o 模型表明,倘若未用好的软件开发方法(即未遵循软件工程的思想)或软件开发人员不能参与维护,则维护工作量(和成本)将成指数增长。15.5 维护的副作用o 副作用大致可分为三类:(1)代码副作用(2)数据副作用(3)文档的副作用第十六章 软件配
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 担保协议书有效
- 舞蹈培训班协议书
- 二手房买房协议书范本
- 房屋出售协议书
- 协议书写错名字有效
- 花草摆放协议书
- 勘察设计注册岩土工程师考试(岩土专业基础)全真题库及答案(2025年川省)
- 房屋产权变更协议书
- 健康检查服务推广
- 房屋租赁管理协议模板
- Ice-O-Matic CIM登峰系列制冰机培训手册
- 《穴位埋线疗法》课件
- 【大型集装箱船舶港口断缆事故预防应急处理及案例探析7500字(论文)】
- 发展汉语-初级读写-第一课-你好
- 律师事务所人事管理制度
- 高中英语完形填空高频词汇300个
- 2023-2025年世纪公园综合养护项目招标文件
- 脑梗塞并出血护理查房
- 男朋友男德守则100条
- 医院感染科室院感管理委员会会议记录
- 鲁班锁制作技术
评论
0/150
提交评论