已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程2002年5月 1 基本概念2 软件开发模型3 系统建模技术 结构化方法系统建模技术 面向对象方法4 软件测试5 软件过程6 软件工具 平台与环境 一 基本概念1 软件程序及其文档2 软件工程3 软件工程框架1 工程目标2 工程原则3 基本活动以及目标例如 需求定义问题 即建立系统模型主要任务包括 1 需求获取 需求定义系统功能的一个正确的陈述2 需求规约 系统需求规格说明主要成分 系统模型系统功能的一个精确 系统的描述3 需求验证 二 软件开发模型1 基本概念软件过程 活动 任务的结构框架 2 几种典型模型及其用法3 模型的外征与内涵 三 系统建模技术 结构化方法 一 结构化分析方法1 提出的概念有 数据流 加工 数据存储 数据源 数据潭 概念是完备的 2 建模过程 建立系统的DFD 功能模型建立系统环境图 确定系统边界自顶向下 逐层分解 建立数据字典 给出加工小说明 3 表示工具数据流图 表达系统模型的工具结构符 AAABCB0C0B 用于定义数据结构判断表与判定树 用于给出加工小说明 二 结构化设计要回答如何解决问题 即给出软件解决方案1 总体设计的任务 如何将DFD转化为MSD 分二步实现 第一步 如何将DFD转化为初始的MSD第二步 如何将初始的MSD转化为最终可供详细设计 1 耦合 不同模块之间相互依赖程度的度量 耦合类型 1 内容耦合 2 公共耦合 两个以上的模块共同引用一个全局数据项 3 控制耦合 一个模块向另一模块传递一个控制信号 接受信号的模块将依据该信号值进行必要的活动 4 标记耦合 两个模块至少有一个通过界面传递的公共有结构的参数 5 数据耦合 模块间通过参数传递基本类型的数据 2 内聚 一个模块之内各成分之间相互依赖程度的度量 内聚类型 1 偶然内聚 一个模块之内各成分之间没有任何关系 2 逻辑内聚 几个逻辑上相关的功能放在同一模块中 3 时间内聚 一个模块完成的功能必须在同一时间内完成 而这些功能只是因为时间因素关联在一起 4 过程内聚 处理成分必须以特定的次序执行 5 通信内聚 各成分都操作在同一数据集或生成同一数据集 6 顺序内聚 各成分与一个功能相关 且一个成分的输出作为另一成分的输入 7 功能内聚 模块的所有成分对完成单一功能是最基本的 且该模块对完成这一功能而言是充分必要的 启发性规则 经验的总结 1 改进软件结构 提高模块独立性 2 模块规模适中 每页60行语句 3 深度 宽度 扇入和扇出适中 4 模块的作用域力争在控制域之内 5 降低模块接口的复杂性 6 模块功能应该可以预测 2 详细设计的任务 定义每一模块 结构化程序设计三种控制结构 顺序begins1 s2 snend 选择if条件表达式thens1elses2 循环while条件表达式dos 2 详细设计的任务 定义每一模块几种表示工具流程图 PAD N S图 伪码等框图 s1 s2 s1 s2 s 伪码伪码是一种混合语言 外部采用形式语言的控制结构 内部使用自然语言 PAD图 S1 S2 S3 S1 S2 X 5X 5 S 顺序 选择 循环 注 支持逐步求精设计 N S图 支持逐步求精设计举例 顺序 选择 循环 条件 F T S1 S2 循环条件 循环体 N 1 10 X 5 T F F T S1 S2 S3 S4 S5 S6 S8 S7 S9 S10 X 10 Y 3 二 面向对象方法多层面的建立系统模型1 静态模型 概念及其表示1 对象 Object 及其特征 自治性封闭性通信性 2 属性 表示对象状态的一组值 3 操作 为其它对象提供的服务 4 链 OSA的关系 5 类 class 一组具有共同特征 属性和操作 的相似对象的抽象描述 控制描述客观事物信息复杂性的机制 6 关联 一组具有相同结构特性 行为特性和语义特性的链的抽象描述 控制描述客观事物之间关系这种信息复杂性的机制 既然类和关联均是对实体和关系的抽象描述 那么 应提供对它们的语义进行必要说明的机制 可见性 用于描述类的属性和操作 并可采用两种形式 或public private protected 多重性 用于描述类的属性 关联 性质串 用于描述类 名 属性和操作 并提供一些标准的关键字 例如 frozen query 特别地 为了描述关联的语义 还特意引入 关联端点 用于表示 角色 名 限定符等 以及常用的一些结构 聚合 组合 泛化 依赖 2 功能模型1 USECASE模型 1 基本概念与表示 USECASE一个USECASE是系统或其它语义实体 例如子系统或一个类 所提供的一块 unit 高内聚的功能 该功能通过 与一个或多个操作者交替出现的消息序列 以及 所执行的动作 予以表现 USECASE通常被表示为一个椭圆 为了表明USECASE所包含的具体内容 还应给出它的正文描述 即 名称 Name 标识 Identifier 描述 Description 角色 Actor 状态 Status 活动及时序频度 Frequency 操作者一个操作者定义了一组高内聚的角色 当用户与该实体交互时 用户可以扮演这一角色 通常 一个操作者被表示为 关系操作者与USECASE之间的关系 关联 参与关系 即操作者参与一个USECASE USECASE之间的关系 扩展 指出了USECASEB的一个实例可以由A说明的行为予以扩展 包含 指出USECASEA的一个实例将包含USECASEB说明的行为 泛化 USECASEA到USECASEB的泛化 指出A是B的特殊情况 Checkstatus Placeorder Fillorder Establishcredit TelephoneCatalog Salesperson ShippingClerck Supervisor Customer 2 USECASE模型例 USECASE图 3 行为模型1 状态图 1 基本概念与表示 状态 表示对象所处的阶段 活动和外征 转换 在事件的激发下 状态的变迁 事件 引起状态变迁的条件 动作 action 状态1 或 和条件 Action 状态2 或 和条件 Action 状态3 状态4 或 和条件 Action 状态6 状态5 状态7 或 和条件 Action 状态8 条件 条件 OMT OSA以状态网来表示类的行为 2 状态图 2 顺序图 1 基本概念与表示 对象生命线 表示扮演特定角色的对象 代表一个对象在特定时间内的存在 对象生命线 表示为垂直虚线 激活 活化 表示一个对象直接或通过从属例程执行一个行为的时期 既表示行为执行的持续时间 也表示了活动和它的调用者之间的控制关系 用一个窄长的矩形表示激活 活化 消息 是两个对象间的通讯 该通讯用于产生一个操作并传输该操作所需要的信息 表示为从一个对象生命线到另一个对象生命线的一个水平实线箭头 AnOrderEntrywindow AnOrder AnOrderLine AStockItem prepare prepare hasStock check hasStock remove needsReorder needsToReorder needsReorder new hasStock new ADeliveryItem aReorderItem message Object Iteration Self Call Deletion Creation Return 2 顺序图 例 4 过程 统一软件开发过程USDP是以用况 usecase 为驱动 以体系结构为中心的 迭代的 iterative 增量的 incremental 过程 即 以用况为驱动以用况为单位 制定计划 分配任务 监控执行和进行测试等 以体系结构为中心以系统需求 用况模型 为驱动 紧紧围绕系统体系结构 从不同角度描述要构造的系统的静态和动态结构 得到不断精化的体系结构基线 一个模型集合和一个体系结构描述 迭代与增量迭代 按核心工作流 即需求规约 分析 设计 实现和测试这五个活动 对每个 小 项目都进行迭代 迭代被组织在4个阶段中 初始阶段 精化阶段 构造阶段和移交阶段 增量 贯穿在整个生命周期中的迭代有 主里程碑 是管理者与开发者的同步点 副里程碑 是开发内部的一个工作点 在一次迭代结束时 把模型集合所处的具体状态定义为基线 增量是由两次相邻迭代所得到的基线之差 1 核心工作流 捕获需求工作流程 产生 表达需求的用况模型 参与者 用况 用况模型和体系结构描述 分析工作流程 产生 用况实现 分析 分析类 分析包 体系结构描述分析模型角度 分析类 概念性的 责任 概念性属性和关系 包括 用于对系统和参与者之间的接口建模的边界类 实体类 控制类 分析包 由分析类 用况实现 分析以及分析包组成 通常把支持一个特定的业务过程或参与者的一些用况组织在一个包中 或把具有泛化或扩展关系的用况组织在一个包中 用况实现 分析 注重于功能需求 涉及 类图 使用分析类 交互图 用协作图描述分析类之间的交互 事件流分析 用文本解释图 以及 补充需求 非功能需求 等 系统体系结构描述分析模型角度 主要包括 分析包和它们之间的依赖 关键分析类 实现 重要及关键功能 的用况实现 分析 设计 工作流程 其中 活动1把分析模型的分析包变为设计模型的子系统 活动2把用况中的各个流对应一个顺序图 产生 用况实现 设计 是设计模型中的一个协作 描述一个具体的用况如何实现和执行 注 设计模型 描述用况物理实现的对象模型 注重于功能需求和实现环境对系统的影响 设计子系统 是组织设计模型的一种手段 用以描述大粒度的构件 由设计类 用况实现 接口和其它子系统组成 接口 表示由设计类和子系统提供的操作 设计类 考虑与实现有关的因素 描述操作的参数 属性和类型等 体系结构描述设计模型角度 包括由设计模型分解的子系统 接口 依赖 关键设计类和用况实现 设计 部署图 按在计算节点上的功能分布描述系统的物理分布 体系结构描述部署图的角度 包括部署模型的体系结构的视图 实现任务 实现设计类和子系统 由设计类生成构件 对构件进行单元测试 对构件进行集成和连接 把可执行的构件映射到部署模型 工作流程 产生 实现模型 描述用构件如何实现设计模型中的元素 描述按实现环境如何组织构件 描述构件间依赖关系 构件 是对模型元素 如设计模型中的设计类 的物理封装 实现子系统 由构件 接口和其它子系统组成 接口 用于表示由构件和实现子系统所实现的操作 在这一阶段可以使用设计时的接口 体系结构描述实现模型的角度 包括由实现模型分解的子系统 子系统间的接口 子系统间的依赖以及关键构件 集成建造计划 在增量开发中 每一步的结果即为一个建造 Bulid 即系统的一个可执行的版本 测试工作流程 产生 测试模型 测试模型是测试用例 测试过程和测试构件的集合体 测试用况 一般描述 输入 输出和条件 测试过程 描述怎样执行一个或几个测试用况 测试构件 用于测试模型实现中的构件 测试计划 测试计划描述测试策略 资源和时间表 其中测试策略包括 对各迭代进行测试的种类 目的 级别 代码覆盖率以及成功的准则 缺陷 系统的异常现象 评价测试 对一次迭代 对测试用况覆盖率 代码覆盖率和缺陷情况 可绘制缺陷趋势图 进行评价 把评价结果与目标比较 准备度量 2 USDP的四个阶段 初始阶段 本阶段确定所设立的项目是否可行 办法 采用简化的用况模型 确定系统的大多数角色和用况 给出在子系统意义下的系统体系结构 识别影响项目可行性的风险 其中主要考虑时间 经费 技术 项目规模和效益等 基于业务情况 制订出开发计划 精化阶段 进行高层分析和设计 并作出结构性决策产生 基线体系结构包括 用况列表 领域概念模型 类图以及相关的行为模型 和技术平台 体系结构基线的稳定是精化阶段结束的准则 制订的构造阶段计划 构造阶段针对用况 进行分析 设计 编码 如对类 属性 范围 函数原型和继承的声明等 测试和集成 得到一个满足项目需求子集的产品 在代码完成后 要保证其符合某些标准和设计规则 并要进行质量检查 对于新出现的变化 要通过逆向工具把代码转换为模型 对模型进行修改 再重新产生代码 以保证软件与模型同步 根据情况 还要建立必要的类图 交互图和配置图 特别地 如果一个类具有复杂的生命周期 可绘制状态图 如果一个算法特别复杂 可绘制活动图 移交阶段完成最后的软件产品和最后的验收测试 并完成用户文档以及准备对用户培训等 附 关于Coad的PROCESS 1 分析阶段 标识类及对象 建立系统基本框架 标识结构 控制信息组织的复杂性 标识主题 控制文档组织的复杂性 定义属性及实例连接 建立类状态的基础 标识服务及消息连接 给出类的功能继之 为每一类 给出状态图 对每一操作 给出服务定义 2 设计阶段 问题域部分设计 人机交互部分设计 任务管理部分设计 数据管理部分设计 标识类及对象 标识结构 注 设计活动相对独立 没有固定顺序 标识主题 定义属性及实例连接 标识服务及消息连接 四 软件测试技术 环境 被测对象 人员素质 被测对象模型 测试执行 正确 环境模型 错误模型 软件测试过程所涉及的要素 以及 这些要素之间的关系 正确 1 测试过程模型 2 依据程序逻辑结构 白盒测试技术 1 关于建立被测对象模型控制流程图 结点 分支 过程块 链路径 2 完整测试 策略 3 关于测试用例设计其中 关于循环的路径选取 3 循环情况的路径选取一层二层级连循环嵌套循环还要考虑循环变量的具体情况关键路径的选取主要功能路径没有功能的路径最短路径 3 功能测试 基于规格说明的测试 1 事务流测试技术 1 2 3 6 4 5 7 2 等价类划分技术等价类 输入域的一个子集 在该子集中 各个输入数据对于揭示程序中的错误都是等效的 并合理地假定 以等价类中的某代表值进行的测试 等价于对该类中其他取值的测试 等价类划分原则指南 如果输入条件规定了输入数据的取值范围或值的个数 则可以确定一个有效等价类和二个无效等价类 如果输入条件规定了输入值的集合 或规定了 必须如何 的条件 则可以确定一个有效等价类和一个无效等价类 如果输入条件是一个布尔量 则可以确定一个有效等价类和一个无效等价类 如果输入条件规定了输入数据的一组值 而且软件要对每个输入值进行处理 则可以为每一个输入值确定一个有效等价类 为所有不允许的输入值确定一个无效等价类 如果输入条件规定了输入数据必须遵循的规则 则可以确定一个有效等价类 符合规则 和若干个无效等价类 例如 语句必须以 号结束 注意 如果在已确定的等价类中各元素在软件中的处理方式不同 则应根据需要对等价类进一步进行划分 测试用例设计在确定了等价类之后 建立等价类表 输入条件有效等价类无效等价类 4 集成测试集成测试是一种软件集成化技术 方式 自顶向下或自底向上 设计测试设备驱动模块承接模型 被测模块 驱动模块 承接模块 承接模块 代替原来的被控模块 代替原来的控制模块 五 软件过程 软件过程 活动的一个集合 活动 任务的一个集合 任务 将一个输入转换为一个输出的操作 按性质可分为三类过程 基本过程类支持过程类组织过程类1 基本过程类包括 获取过程 供应过程 开发过程 运行过程 维护过程 2 支持过程类包括 文档过程 配置管理过程 质量保证过程 验证过程 确认过程 联合评审过程 审计过程 问题解决过程等 3 组织过程类包括 管理过程 基础设施过程 培训过程 改进过程剪裁过程 对软件过程和活动实施剪裁 将一选定的模型以及相关标准应用于某一领域或具体的软件项目 形成该领域的模型及标准 或该软件项目的软件过程和活动 3 软件过程之间的关系 获取过程 获取过程 供应过程 管理过程 运行过程 开发过程 维护过程 获取者供应者 管理者 运行者用户 开发者维护者 开发者维护者 组织过程 管理 改进 支持过程 文档 质量保证 配置管理 合同 使用 合同观点 管理观点 运行观点 开发观点 支持观点 2 ISO9000 3 1 ISO9000 3是质量体系这一概念的应用 质量体系 费根堡姆 在制造及传递某种合乎特定质量标准的产品时 必须配合适当的管理及技术作业程序 这些程序所组成的结构 称之为质量体系 2 ISO9000 3是结合软件开发的特点 对ISO9001进行的 解释 为软件企业实施ISO9001提供一个指南 ISO9001 质量体系 设计 开发 生产 安装和服务的质量保证模式 ISO IEC12207 信息技术 软件生存周期过程 ISO9000 3 质量管理和质量保证标准 第3部分 ISO9001 1994在计算机软件开发 供应 安装和维护中的使用指南 解释和实施指南 参照 3 ISO9000 3是软件开发中的质量体系框架 有序地组织了20个质量要素 质量 与软件产品满足规定的和隐含的需求能力有关的特征或特性的全体 注 只规定应当 做什么 强调规范化 文档化 4 目的 规范化地运行软件过程 即使每一过程均处于受控状态 质量来源于过程为软件工程技术在实践中的应用 创造一个良好的环境 质量收益于技术 3能力成熟度模型 CMM 1 CMM的软件过程成熟度框架 初始级 1 可重复级 2 已定义级 3 已管理级 4 持续优化级 5 严格的过程 标准的一致的过程 可预言的过程 持续改善的过程 在这一框架中 将过程能力成熟度分为五级 初始级 可重复级 已定义级 已管理级 持续优化级 通过成熟度级别 定义了在使软件过程成熟的过程中的演化状态 根据 状态 的定义 软件过程成熟度框架的基础是软件能力成熟度模型 2 软件能力成熟度模型CMM的每个等级是通过三个层次加以定义的 关键过程域关键实践类关键实践 成熟度级别 关键过程区域 KPA 共同特征 关键实践 过程能力 目标 实现或制度化 基础设施或活动 包含 指示 组织 达到 包含 解决 描述 其中 关键过程域 在框架的某一 平台 上 其实施将对达到下一成熟度等级的目标起保证作用的过程域 被称为关键过程域 目标 表明一个关键过程域的范围 边界和意图 例如软件项目规划 是2级的一个关键过程域 其目标可概括为 制定进行软件工程和管理软件项目的合理计划 具体包括 1 软件生存周期已选定 并经评审确认 2 对计划中的软件规模 工作量 成本 风险等已经进行估计 3 软件项日的活动和约定是有计划的 4 影响计划进度的关键路径是己标识的 且受控的 5 影响计划进度的关键资源需求是已标识的 注 可用来确定某组织或某项目是否已有效地实施该关键过程域 关键实践 每一关键过程域包含一组关键实践 对关键过程域的实施起关键作用的方针 规程 措施 活动以及相关的基础设施 作用 一个关键过程域中所包含的关键实践的实施 才可以达到该关键过程域中的目标 组织 每一级的关键实践按 共同特征 予以组织 这些 共同特征 为 实施承诺 制定方针政策 关键过程 实施能力 确保必备条件 关键过程 实施活动 实施软件过程 关键过程 度量分析与验证 检查实施情况 关键过程 它们之间的关系是 实施软件过程这一关键实践类中的关键实践 描述了为建立过程能力 过程实施者必须作些什么 B 其他关键实践类中的实践 作为一个整体使实施软件过程中的实践规范化 各级包含的关键过程域 可重复级 6个软件配置管理 软件质量管理 子产品工程项目跟踪和监督 软件项目规划 需求管理已定义级 6 7 个 13个对等复审 组间协作 软件产品工程 集成的软件管理 培训计划 组织过程定义 组织过程焦点已管理级 13 2 个 15个软件质量管理 量化的过程管理持续优化级 15 3 个 18个过程变化管理 技术变化管理 缺陷预防 结束语 随项目的规模和复杂度增长 在解决软件质量和生产率问题中 目前更加关注组织和管理 其突破点为过程改善 增强过程能力 主要理论基础为费根堡姆的质量体系 一个软件开发组织 只有通过 建立全组织的有效的软件过程 采用严格的软件工程方法和管理 坚持不懈地付诸实践 才能取得全组织的软件过程能力的不断改进 六 软件工具 平台与环境1 基本概念 计算机辅助软件工程CASE Computer AidedSoftwareEngineering CASE是一组工具和方法的集合 是辅助软件开发的任何计算机技术 其含义为 在软件开发和 或维护中 提供计算机辅助支持 在软件开发和 或维护中 引入工程化方法 软件工程 自动化工具 CASE 2 CASE技术分类 CASE系统 工具 工作台 环境 编译器 文件比较器 编辑器 集成环境 以过程为中心的环境 分析和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 飞机模线样板移型工成果转化水平考核试卷含答案
- 排土机司机安全防护能力考核试卷含答案
- 交通运输行业智慧交通系统解决方案
- 充电桩站控系统方案
- 磨毛(绒)机挡车工安全强化知识考核试卷含答案
- 充电桩系统架构设计方案
- 充电桩日常巡检方案
- 充电桩接地防雷设计方案
- 充电桩充电模块维护方案
- 充电桩升级改造方案
- 板式换热器课程设计-船舶柴油机高温淡水冷却器设计
- 商业模式创新案例四川航空
- 注射相关感染预防与控制
- YS/T 3014-2013载金炭
- QIP质量改进计划
- 案例集LTE网络优化经典案例
- 积成电子110kv母联保护sal31技术说明书
- 大气稳重博士入学复试汇报个人介绍答辩模板课件
- 《外墙抹灰工程平整度及垂直度超标整改方案五篇材料》
- 湖南地方史考点 完整版PPT
- 集采药品结余留用资金分配方案.docx
评论
0/150
提交评论