软件开发规范与开发流程实施
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开发规划
• 确定开发目标 • 确定项目开发的技
术路线(开发的出发 基线、对现有产品 的复用、委托开发 等) • 确定应遵循的标准 、法律和法规 • 选任开发项目经理 • 划分开发阶段 • 确定各阶段的输入 和输出文件
• 确定质量控制点(评 审点、验证点和确 认点)及其实施的责 任人、实施方式等
• 设计项目开发进度 • 确定开发人员并分
Maturity Model For Software ,简称 SW-CMM/CMMI),是由美国卡内基梅隆 大学软件工程研究所(CMU SEI)研究出 的一种用于评价软件承包商能力并帮 助改善软件质量的方法,其目的是帮 助软件企业对软件工程过程进行管理 和改进,增强开发与改进能力,从而 能按时地、不超预算地开发出高质量 的软件。
• 编制内部需求规格(说明)书 • 需求变更控制
需求的层次
• 业务需求、用户需求和功能需求
概要设计
• 确保产品的总体结构和模块间的关系 与用户需求的一致性
• 内容
–总体方案设计 –逻辑框图 –接口及通讯协议选用 –现有产品软件的选用 –边界(约束)条件的设计 –运行环境设计等
• 输出
–概要设计说明书
• 软件产品的特点
– 软件产品的质量,完全取决于其设计和开发水平 – 软件需求的模糊性、变化性使软件产品难以成熟 – 任何一个软件产品,或多或少总会存在一些故障
(BUG) – 软件人员广泛存在的不规范的开发习惯使开发过程
难以管理 – 软件质量指标难以量化 – 软件测试理论和技术尚未解决软件产品正确性的验
配职责 • 提出开发所需资源(
软件、硬件开发环 境及工具软件、设 备、资金等)要求并 予以落实 • 制定配置管理计划 和质量保证计划
开发规划(续)
• 输出
–策划报告 –开发项目实施计划 –配置管理计划 –质量保证计划等
需求分析
• 确保项目的开发符合用户的需求( 可测试性)
• 确定设计输入
–任务委托书/招标书 –前期对用户的需求调研资料 –可行性分析报告/投标书 –合同等
编码与调试
• 内容
–编写程序代码:源代码→目标代码→可执 行代码
–此阶段还包括部分软件模块的局部测试、 集成与联调
–根据待开发软件的规模、控制点及人员安 排,可细分为多个小阶段
• 输出
–软件(源代码、目标代码、可执行代码及 相关数据文件)
–文档(帮助文件等)
• 遵循《编码规范》,保证编码风格的 一致性,易读性;增强软件源码的可 维护性
详细设计
• 详细设计说明书与 概要设计说明书是 否相一致
• 内容
– 原型设计(可选) – 算法设计 – 数据格式设计 – 实现流程设计 – 人机界面设计 – 测试用例设计 – 操作设计等
• 输出
– 详细设计说明书 – 软件组装计划 –测试计划及测试用
例 – 安装手册(初稿) – 使用说明书(初稿) – 产品标准(初稿)
– 确定需求 – 开发规划 – 需求分析 – 概要设计 – 详细设计 – 编码与调试 – 测试 – 软件集成、联调 – 内部确认 – 复制、交付、安装 – 试运行、用户验收 – 运行、维护 – 退役
• 软件管理 – 配置与变更管理 – 环境、工具和技术 – 有关软件的法规和标准 – 周密策划以保证
软件管理特点
• 复制、交付、安 装
• 试运行、用户验 收
• 运行、维护 • 退役
确定需求
• 确定外部用户需求
–上级下达的软件开发课题 –本单位根据市场需要确定的开发课题 –用户合同要求的软件开发任务
• 输出
–可行性分析报告
• 技术、经济、社会可行性,风险对策
–合同及评审记录
• 产品要求得到规定和满足 • 单位有能力满足规定的要求
软件开发规范 &
开发流程实施
中山市森创公司
软件开发
• 什么是软件项目
– 完成特定目的、符合用户特定需求 的软件所需的组织结构和过程、规 范的集合
• 软件项目的实施
– 需要周密的部署,合理的规章制度 ,符合项目的路线(软件过程), 良好的项目管理和人员安排。
相关流程
பைடு நூலகம்
• 软件管理特点 • 软件生命周期过程
证问题
• 软件产品质量特性:满足需求能力的一系列 特性总和
– 功能、可靠性、易用性、效率、维护性、可移植性
• 软件管理必须在市场(用户)需求和软件成熟性 之间进行权衡
软件生命周期过程
• 确定需求 • 开发规划 • 需求分析 • 概要设计 • 详细设计 • 编码与调试 • 测试
• 软件集成、联调 • 内部确认
能否保证安全、正确运行的测试 – 确认测试:单位质量控制部门进行的测试(是否满
足产品规格要求) – 验收测试:在现场安装、调试结束并经试运行后,
与顾客一起,就满足合同情况进行的测试(是否满 足合同要求)
ISO9001 &
CMM
ISO9001 & CMM
• 什么是ISO9001?
• ISO9001是ISO9000族标准所包括的一组质量管理体系核心 标准之一。ISO9000族标准是国际标准化组织(ISO)在 1994年提出的概念,是指“由ISO/TC176(国际标准化组织 质量管理和质量保证技术委员会)制定的国际标准。
– 外审: 由ISO审查小组派专员到企业中,对企业的软件开发过 程进行审查(只要审核各个流程生成的相关文档是否齐备,符 合规范等。还有能软、硬件设施和人员也有一定的要求)。 ISO审查专员需要具备ISO9000外审员资格证书。
ISO9001 & CMM
• 什么是CMM?
• 软件能力成熟度模型(Capability
测试
• 按测试发生的顺序划分
– 模块测试:是对单个软件模块的测试 – 单元测试:是对各个软件功能单元的测试 – 组装测试:是对各软件单元之间的互联测试 – 集成测试:是对硬件装置、设备和软件的加入性测
试 – 系统测试:项目组所在部门组织的对完成集成的系
统的测试(是否满足产品规格要) – 压力测试:是对软件的整体经受超大访问量压力下
• ISO9001质量管理体系不是专门针对软件开发的,还可以实 施到其它行业比如生产、教育等。
• ISO9001质量管理体系在软件开发中,对软件开发过程进行 严格的质量控制。这个过程需要由企业本身和ISO审查小组 联合进行质量控制,分为内审和外审。
– 内审:由企业内部成立一个专门的质量控制小组(需经过培训 ),参与到软件开发的整个流程(从立项到产品交付)的文档 审查和质量控制中。