软件项目开发过程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
合同、技术文档、质 量记录等
~29~
基线的确立 配置项的存取 配置管理实施 配置项的标识 配置项的变更控制 配置项的状态记录 配置项的检查和评审
中国科学院软件研究所
媒体控制
对软件存放介质(媒体)的要求和规定 软件的复制(软件的生产过程) 媒体的标识:规则、执行者 媒体的贮存(防潮、防火、防磁、防静电、 防病毒) 媒体的包装、运输
软件开发的V字模型 软件开发的 字模型
不可能在需求开发阶段真正进行任何测试,因为还 没有可执行的软件 可以在开发组编写代码之前,以需求为基础建立概 念性测试用例,并使用它们发现软件需求规格说明 中的错误、二义性和遗漏,还可以进行模型分析
~19~
中国科学院软件研究所
对V模型的质疑 模型的质疑
•在部分阶段延迟进行 单元测试和集成测试 •在不同阶段上提前进 行测试设计
运行、 运行、维护
收集使用中发现的问题和顾客意见 针对运行中出现的问题,按设计更改程 序进行控制 记录
用户服务记录表
~27~
中国科学院软件研究所
退役
编写软件退役报告,并进行评审
~28~
中国科学院软件研究所
配置与变更管理
控制对构成软件产品 的各配置项的标识、 管理、更改活动,保 证软件配置项的完全 性和正确性,防止非 预期的使用 软件配置项的范围
~9~
中国科学院软件研究所
需求的层次 -业务需求、用户需求和功能需求 业务需求、
~10~
中国科学院软件研究所
需求的开发和管理
~11~
中国科学院软件研究所
需求验证
验证是为了确保需求 说明准确、完整地表 达必要的质量特点 客户的参与在需求验 证中占有重要的位置 审查需求文档 以需求为依据编写测 试用例 编写用户手册 确定合格的标准
操作
配置管理人员,配备一台计算机(或服务器) 开设开发库、受控库和产品库 访问权限 对入库和出库软件的控制
~32~
中国科学院软件研究所
版本管理(续 版本管理 续)
开发库存放正在开发(编写)或调试(修改)、自测的软件 和文档 受控库存放开发各阶段测试通过的软件、文档和工具 软件的版本并给以标识。转入下一阶段时,从此处发 放用作下一阶段开始工作的初始版本 产品库存放可交付及已交付软件、文档及支持文件的 版本 各库内所存放的软件和文档,应定期备份,以防止开 发成果的意外丢失(文件重写、介质损坏、意外事故、 非法访问——病毒,黑客,故意破坏等)并保证可追溯 性
概要设计
确保产品的总体结构和模块间的关系与用户需 求的一致性 内容
总体方案设计 逻辑框图 接口及通讯协议选用 现有产品软件的选用 边界(约束)条件的设计 运行环境设计等
输出
概要设计说明书
~14~
中国科学院软件研究所
详细设计
详细设计说明书与概 要设计说明书是否相 一致 内容
算法设计 数据格式设计 实现流程设计 人机界面设计 测试用例设计 操作设计等
~12~
中国科学院软件研究所
测试需求
测试需求有很多分类方法,最普通的一种就是 按照商业功能分类 把需求分解成单元的好处:
测试需求是测试用例的基础,分成单元可以更好地 进行设计 详细的测试需求是用来衡量测试覆盖率的重要指标 测试需求包括各种测试设计和开发以及所需资源
最好分解到功能点
~13~
中国科学院软件研究所
~20~
中国科学院软件研究所
X模型 模型
适应现实 单元测试、集成测试不断迭代 强调探索性测试
~21~
中国科学院软件研究所
统计数字
美国平均缺陷水平与缺陷消除率
产生缺陷 缺陷数/ 消除率 提交缺陷 的活动 功能点 (%) 1 77 0.23 需求 1.25 85 0.19 设计 1.75 95 0.09 编码 0.6 80 0.12 文档 0.4 70 0.12 修复 5 85 0.75 总计
测试( 测试(续)
与顺序无关的测试
联合测试:当软、硬件分头开发完成时,对其组合 体进行的测试 回归测试:对因排除不符合项而采取的措施是否产 生了其他副作用而进行的确认性测试 专项测试:针对某些具体测试项进行的确认性测试。 例如:边界条件测试等。
应根据开发规模,尽可能进行独立测试。为了 保证测试的可信性,被测试的软件应以源代码 的形式提交,同时说明生成可执行代码的环境 和方法。由测试人员生成可执行代码,进行测 试。 ~18~ 中国科学院软件研究所
中国科学院软件研究所
软件管理特点
软件产品的特点
软件产品的质量,完全取决于其设计和开发水平 软件需求的模糊性、变化性使软件产品难以成熟 任何一个软件产品,或多或少总会存在一些故障(BUG) 软件人员广泛存在的不规范的开发习惯使开发过程难以管理 软件质量指标难以量化 软件测试理论和技术尚未解决软件产品正确性的验证问题
CM M 不 同 级 别 的 质 量 水 平
CMM 级别 1 2 3 4 5 产 生 缺陷数 5 4 3 2 1 缺陷消除率 (%) 85 89 91 93 95 提 交 缺陷数 0.75 0.44 0.27 0.14 0.05
一 个 10 0 0 个 功 能 点 的 项 目 中 各 种 活 动 的 比 例 个人负责范围 生产率 活动 % (FP) (FP/月) 需求分析 400 90 3.66 初步设计 200 100 3.29 详细设计 200 75 4.39 编码 150 18 18.29 重用与采购 2000 1000 0.33 配置管理 1500 250 1.32 文档 1000 75 4.39 单元测试 150 20 16.46 功能测试 150 23 14.32 系统测试 150 25 13.17 接受测试 400 35 9.47 项目管理 1000 30 10.98 总计 100 平均 180 3.29
~33~
中国科学院软件研究所
环境、 环境、工具和技术
开发所需的硬件环境 测试所需的硬件环境(包括模拟用户环境所必要 的输入、输出设备) 开发平台软件(操作系统、编程语言、编译环境、 调试工具等) 管理软件 诊断软件 测试软件 辅助性软件(防病毒软件等)
~34~
中国科学院软件研究所
有关软件的法规和标准
内部确认
在模拟环境下运行,并监视、记录运行 情况 根据任务书或合同的要求进行比照,检 查其是否满足使用要求 对运行情况、测试结果及文档的齐套性、 正确性和一致性进行评审,达到确认
~24~
中国科学院软件研究所
复制、交付、 复制、交付、安装
软盘复制、光盘刻录 交付时的版本标识和登记 安装(派技术人员安装或由用户自行安装) 记录
《软件产品管理办法》 《计算机信息系统集成资质管理办法(试行)》 《计算机软件保护条例》 ISO/IEC 12207—1995信息技术软件生存周期过程 ISO/IECTR 15504软件过程评估 GB/T19000.3—2001质量管理和质量保证标准第3部 分:GB信息技术软件生存周期过程 GB/T19001—1994在软件开发,供应、安装和维护中 的使用指南 GB/T12504—90计算机软件质量保证计划规范 GB/T12505—90计算机软件配置管理计划规范等
~5~
中国科学院软件研究所
确定需求
确定外部用户需求
上级下达的软件开发课题 本单位根据市场需要确定的开发课题 用户合同要求的软件开发任务
输出
可行性分析报告
技术、经济、社会可行性,风险对策
合同及评审记录
产品要求得到规定和满足 单位有能力满足规Байду номын сангаас的要求
~6~
中国科学院软件研究所
开发策划
确定开发目标 确定项目开发的技术路 线(开发的出发基线、对 现有产品的复用、委托 开发等) 确定应遵循的标准、法 律和法规 选任开发项目经理 划分开发阶段 确定各阶段的输入和输 出文件 确定质量控制点(评审点、 验证点和确认点)及其实 施的责任人、实施方式 等 设计项目开发进度 确定开发人员并分配职 责 提出开发所需资源(软件、 硬件开发环境及工具软 件、设备、资金等)要求 并予以落实 制定配置管理计划和质 量保证计划
输出
软件(源代码、目标代码、可执行代码及相关数据 文件) 文档(帮助文件等)
保证编码风格的一致性,易读性;增强软件源 ~16~ 中国科学院软件研究所 码的可维护性
测试
按测试发生的顺序划分
模块测试:是对单个软件模块的测试 单元测试:是对各个软件功能单元的测试 组装测试:是对各软件单元之间的互联测试 集成测试:是对硬件装置、设备和软件的加入性测 试 系统测试:项目组所在部门组织的对完成集成的系 统的测试(是否满足产品规格要) 确认测试:单位质量控制部门进行的测试(是否满 足产品规格要求) 验收测试:在现场安装、调试结束并经试运行后, 与顾客一起,就满足合同情况进行的测试(是否满 ~17~ 中国科学院软件研究所 足合同要求)
软件安装实施计划 软件安装环境最低需求 软件安装记录
~25~
中国科学院软件研究所
试运行、 试运行、用户验收
以用户验收的方式进行最终确认 结论
软件设计与需求的一致性 程序编码与软件设计的一致性 文件描述与程序的一致性 文件的成套性、完整性、准确性和标准化程 度 是否通过验收
~26~
中国科学院软件研究所
~35~
中国科学院软件研究所
周密策划以保证
开发人员应具备一定的资格或能力 开发环境(软件和硬件平台)是适用的 编制足够的控制程序和工作规范(例如开发过程控制程 序、变量命名规则、代码书写规范、注释规范等) 编制测试用例并在使用前对用例本身进行验证 编制各阶段测试计划,明确规定测试方法以及测试结 果的记录要求、评价方式和接收准则 实施配置管理,控制软件产品(代码和文档)版本和更改 过程
中国科学院软件研究所
~7~
开发策划( 开发策划(续)
输出
策划报告 开发项目实施计划 配置管理计划 质量保证计划等
~8~
中国科学院软件研究所
需求分析
确保项目的开发符合用户的需求(可测试性) 确定设计输入
任务委托书/招标书 前期对用户的需求调研资料 可行性分析报告/投标书 合同等
编制内部需求规格(说明)书 需求变更控制
软件产品质量特性:满足需求能力的一系列特性总和
功能、可靠性、易用性、效率、维护性、可移植性
软件管理必须在市场(用户)需求和软件成熟性之间进行 权衡
~4~
中国科学院软件研究所
软件生存期过程
确定需求 开发策划 需求分析 概要设计 详细设计 编码与调试 测试 软件集成、联调 内部确认 复制、交付、安装 试运行、用户验收 运行、维护 退役
~30~
中国科学院软件研究所
文档资料控制
各开发阶段应形成的文档,对其拟、审、 批的规定 编制文档资料所依据的标准和规范 开发过程中应形成的质量记录 文档与软件之间的一致性检查 文档资料的归档与发放
~31~
中国科学院软件研究所
版本管理
分类
开发过程中的版本 交付软件产品的版本
管理对象
软件 文档 为该产品开发的工具软件
相关流程
软件管理特点 软件生存期过程
确定需求 开发策划 需求分析 概要设计 详细设计 编码与调试 测试 软件集成、联调 内部确认 复制、交付、安装 试运行、用户验收 运行、维护 退役
~3~
软件管理
配置与变更管理 环境、工具和技术 有关软件的法规和标准 周密策划以保证
软件质量管理体系
八项质量管理原则 过程方法 基于过程的质量管理体系模 式 实施质量管理体系的意义 实施质量管理体系工作重点 企业发展力量分析
每千行源代码所包含的bug数,cmm1级为11.95个,cmm2为5.52个,cmm3为2.39个,cmm4为0.92个,而cmm5则只有0.32个
~22~
中国科学院软件研究所
软件集成、 软件集成、联调
应按计划对所开发的软件模块进行组装 并与硬件一起联调 根据需要,规定应填写的调试记录
~23~
中国科学院软件研究所
软件项目开发过程
中国科学院软件研究所 高级技术培训中心
http://www.isedu.cn
软件项目
什么是软件项目
完成特定目的、符合用户特定需求的软件所 需的组织结构和过程、规范的集合
软件项目的实施
需要周密的部署,合理的规章制度,符合项 目的路线(软件过程),良好的项目管理和 人员安排。
~2~
中国科学院软件研究所
~15~
输出
详细设计说明书 软件组装计划 测试计划及测试用例 安装手册(初稿) 使用说明书(初稿) 产品标准(初稿)
中国科学院软件研究所
编码与调试
内容
编写程序代码:源代码→目标代码→可执行代码 此阶段还包括部分软件模块的局部测试、集成与联 调 根据待开发软件的规模、控制点及人员安排,可细 分为多个小阶段
相关文档
最新文档