软件工程过程与软件工程管理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
验收规格说明; • 测试规格说明。测试计划、测试用例、测试预期结果、测试记录等; • 数据库描述。数据模式、记录结构、数据项描述; • 模块规格说明。模块功能、模块算法、模块接口等描述; • 运行系统。模块代码、链接模块、数据库、支持及工具程序等; • 用户文档。安装说明、操作说明、用户手册等;培训计划; • 维护文档。故障报告、维护要求、更改记录等; • 项目采用的有关标准和规程。
西南大学计信院自动化系
软件技术基础
2.集成的CASE工具
• 工具日益增多, 单点式使用工具很不方便, 使用者要逐 个将工具调入, 使用后其生成的产物需要逐个保管, 一 个工具要用到另一工具的输出, 其格式不对就无法用, 消除或修改一个名字, 则各工具产物中所有相同的名字 都要逐个修改。这就在客观上产生了集成的要求。 (1) 集成的需求 (2) 集成环境的结构
• 重点:可维护性、可靠性、可理解性和效率
西南大学计信院自动化系
软件技术基础
软件质量的度量(评价)
• 成功的标准: 用户在用 用户可很容易做完要做的事
• 失败的根本原因: 开发人员写出的东西达不到 用户要求(人的问题、技术问题)
西南大学计信院自动化系
软件技术基础
12.3.2 软件质量保证
软件质量保证是一种管理活动,SQA活动,贯穿于软件 过程始终。开发单位成立SQA小组负责全面质量管理。
planning)
西南大学计信院自动化系
软件技术基础
12.4.2 项目计划
• 软件项目计划为合理搭配资源、费用、进度提 供一个框架。
• 项目计划列出软件开发所做的工作。一般的陈 述是“做什么”,特殊的陈述是“做多少”和 “多长时间”。
• 项目计划的中心目标是安排进度。
西南大学计信院自动化系
软件技术基础
定义项目的性质和目标、经费、交付期 客户关系管理 管理模型 人力资源管理 过程实例描述 评估所采用的技术和管理带来的风险
过程实施 软件配置管理
软件技术基础
12.4.1 风险管理
风险分析是识别本项目中有什么风险,风险管理
是如何躲开,监督风险的发生,万一出现风险如何采 取措施。
1.风险因素,应从下述角度分析:
西南大学计信院自动化系
软件技术基础
修改的 SCI
软件工 程任务
SCI
正式技 术评审
审批的 SCI
仓储库
check-in
பைடு நூலகம்
储存的
SCI
配置管 理控制
抽取的 SCI
check-out
西南大学计信院自动化系
软件技术基础
2. 配置管理的任务
• 软件配置管理(SCM)的主要任务是每当有了更改,与其相关的软件 配置项均应得到正确处理,使新版本软件无内部冲突。 • 标识软件配置项 • 管理配置项的各种版本 • 审计每一个项目产物,保证变更控制 • 每当有了改变则按既定的规程修改并刷新软件版本;向有关人 员发出配置状态报告。
西南大学计信院自动化系
软件技术基础
1.过程分解 2. 时限图 3. 项目追踪
西南大学计信院自动化系
工作任务
1.1.1 与客户讨论需要 确定需要和产品约束 建立产品的陈述
里程碑:产品陈述的意义
第一周
1.1.2 定义输出/控制/输入 确定键盘功能范围 确定声音功能范围 确定交互模式范围 其他工作产品的作用 写OCI文档
正式评审: 与客户评审OCI 按要求修订OCI 按要求修订OCI
里程碑:OCI的定义 1.1.3 定义功能与行为
键盘功能 声音输入功能 描述交互模式 描述拼写/文法检查 描述其他产品功能 正式审评: 与客户评审OCI 按要求修订OCI 里程碑:OCI的完整意义 1.1.4 划出软件元件 里程碑:软件元件的意义 ... ...
• 标识、审计、版本控制、变更控制、报告这五项工作目前已开发出 许多自动工具可以自动完成
西南大学计信院自动化系
软件技术基础
12.6 软件开发环境与技术基础设施
• 程序(软件)的开发、运行都是在支持软件的基础上作 出的。这些支持软件的总和我们称之为软件开发环境 (Environment)
• 早期的环境只有最必要的软件工具: ××语言的编译 器、连接器、加载和运行工具、排错(debugging)工 具, 终端显示和编辑工具。我们称最小环境工具集。
西南大学计信院自动化系
软件技术基础
12.4.3 项目调度与追踪
1.为软件项目定义任务集 2.定义一个任务网络 3.安排进度表 4.进度跟踪
西南大学计信院自动化系
软件技术基础
安排进度表
• 在制定项目进度安排时,主要依据是合同书和项目计划。通常的做 法是把复杂的整体项目分解成许多可以准确描述、度量、可独立操 作的相对简单的任务,然后安排这些任务的执行顺序,确定每个任 务的完成期限、开始时间和结束时间。
一类是软件工程师负责质量方面的技术工作:运用技 术方法作出度量;进行技术评审,实施测试计划。
一类是SQA小组(由项目经理、开发人员、客户、销售 人员组成)制定并实施SQA计划,做出记录,分析,报告。
西南大学计信院自动化系
软件技术基础
1.SAQ小组的活动
(1)为开发项目制定SQA计划 在开发项目计划时就要做出SQA计划。对于SQA组的工作以下几方面: • 各种评审 为多种人员参与的讨论会,以规格说明或各种标准,规
第二周
第三周
第四周
第五周
软件技术基础
12.5 软件配置管理(SCM)
软件配置管理是遍及软件生存期的伞形活动, 它管理软件配置项以保证更改能正确实现。
“协调软件开发使得混乱减小到最小的技术 叫做配置管理。配置管理是一种标识、组织和控 制修改的技术,目的是使错误达到最小并最有效 地提高生产率。”
西南大学计信院自动化系
产品大小
开发环境
业务相关
组织大小和人员经验
客户相关
重用件相关
技术相关
过程相关
西南大学计信院自动化系
软件技术基础
2. 风险评估
通过标识风险、估计风险概率、估计影响范围测量每个风险的破坏力
3. 风险管理
是开发一种策略对以上分析出的风险因素进行管理: • 一为回避(mitigation)不使风险发生 • 第二种办法是监控(monitoring) • 第三种办法是加强管理和做应急计划(management and contingency
软件生存期的阶段划分
(1)可行性研究与计划 (2)需求分析 (3)总体设计 (4)详细设计 (5)实现 (6)集成测试 (7)确认测试 (8)使用和维护
西南大学计信院自动化系
孕育期(计划期) 成长期(开发期)
成年期(运行期)
软件技术基础
新的国际标准定义的软件生存过程(1995ISO/IEC12207) 软件生存周期过程
• 软件项目管理是对该软件生存周期的所有活动(除交 付后的维护活动之外)的全面管理。
西南大学计信院自动化系
软件技术基础
软件项目管理内容
1.项目获取 2.建立与客户的通信 3.定义开发过程 4.组织管理 5.制定项目计划 6.风险管理 7.质量管理 8.项目调度与追踪 9.变更管理
西南大学计信院自动化系
西南大学计信院自动化系
软件技术基础
12.3 软件质量保证
12.3.1 软件质量与度量
• 指标度量 • 指标如何量度
12.3.2 软件质量保证
• SQA小组的活动 • SQA的技术途径
西南大学计信院自动化系
软件技术基础
软件质量需求
(1)显式的。要与软件和应用程序显式陈述的 规范说明中的功能、性能强相符,符合开发标 准和准则、指南。
辅助、支持过程域





生存期过程
• 一个软件产品的开发,除了对主过程建模,还需要 把辅助、支持过程插入,才算是真正的过程建模。
西南大学计信院自动化系
软件技术基础
软件过程与软件质量
• 由算法过程对程序质量的重要性可以推断为某 个项目排定的项目过程,即项目计划,对软件 质量的影响的重大。
• 过程模型不当,管理太死 • 模型正确,活动安排不当 • 工期临近,临时加班突击 • 多次返工,临时小决策太多
软件技术基础
1.软件配置项和基线
• 软件工程过程各项活动的产物(程序、文档、数 据)经评审或审批后都称之为软件配置项(SCI), 第一次交付的软件配置项构成基线(Base line) 配置项。
西南大学计信院自动化系
软件技术基础
基线
• 系统功能说明。系统模型,项目计划,进度安排; • 软件需求规格说明。图形分析模型、过程、原型、数学规格说明; • 设计规格说明。数据设计、体系结构设计、界面设计、对象的描述等;
范为准评价各项软件工作。 • 各种审计 审计(Audit),以职能人员为主审,审查软件过程产物
是否符合标准或规格说明书。 • 报告和记录 所有测试、评审、审计都要详细记录并写出报告,
报告和记录均要整理、归档 • 各种测试 测试软件是否满足规格说明的要求。
西南大学计信院自动化系
软件技术基础
(2)软件评审 • 软件工程提倡不上机运行各种评审。正式技术评审最
软件技术基础
自动化系:黄巧莉 Email:qlhuang@swu.edu.cn
第十二章 软件工程过程与软件工程管理
12.1 软件工程概述 12.2 软件工程过程 12.3 软件质量保证 12.4 软件项目管理 12.5 软件配置管理 12.6 软件开发环境与技术基础设施
西南大学计信院自动化系
软件技术基础
主要过程
支持过程
辅助过程
获供开运维 取应发行护 过过过过过 程程程程程
文 档
配 置
质 量


联 合

问 题
编管保证认评核解
制 过 程
理 过 程
证 过 程
过 程
过 程
审 过 程
过 程
决 过 程

基 础


理设进训
过 程
施 过 程
过 程
过 程
西南大学计信院自动化系
软件技术基础
• 把主过程的技术活动叫关键活动域,把支持、辅助 过程的活动叫伞形活动域。
西南大学计信院自动化系
软件技术基础
1.CASE工具概述
70年代中期, 软件工程师迫于软件危机的压力, 提 出了计算机辅助软件工程(CASE)的设想, 开发出一系列 工具尽量使软件过程的各项活动自动化、半自动化,即 利用软件开发软件。
信息工程工具、过程模型和管理工具、项目计划工 具、风险分析工具、项目管理工具、需求追踪工具、度 量和管理工具、文档工具、系统软件工具、质量保证工 具、数据库管理工具、软件配置管理工具、分析和设计 工具等等。
验证是证明质量是符合规范和标准的方法,按照 规范标准的步骤完成。
• 形式方法的SQA • 统计方法的SQA • ISO9000质量标准与SQA
西南大学计信院自动化系
软件技术基础
12.4 软件项目管理(SPM)
• 项目(project)管理是过程管理的主要体现,它根据项目 要达到的目标(软件的功能、性能)作出包含人力、资源、 技术过程、质量保证、进度安排的项目计划,并按此 计划追踪、报告、协调来完成项目。
多可以发现75%的瑕疵,软件的过程偏差只能通过评 审发现。 • 软件的缺陷是越早发现改正费用越小。 • 正式技术评审,作为项目计划中应列入的活动。 (3)软件质量保证计划 • 以上活动均应在项目计划中列出子计划。
西南大学计信院自动化系
软件技术基础
2.SQA的技术途径
测试是对所做的工作的确认,即工作产品是否符 合规范和标准,是事后的认可。
(2)隐式的。满足本企业(单位)所有的期望, 例如某项功能和性能超出本项目规范说明定义 的需求,以占领市场。
西南大学计信院自动化系
软件技术基础
软件的质量因素
• 软件的质量因素很多,如正确性、精确性、可 靠性、容错性、性能、效率、易用性、可理解 性、简洁性、可复用性、可扩充性、兼容性等 等(还可以列出十几个)
• 开始需要考虑的主要问题是: • 项目可以支配的人力及资源 • 项目的关键路径 • 生存周期各个阶段工作量的划分 • 工程进展如何度量 • 各个阶段任务完成标志 • 如何自然过渡到下一阶段的任务等。
西南大学计信院自动化系
软件技术基础
进度跟踪
• 项目追踪实施由项目管理人员负责。他们必须按进度 安排表追踪检查每一个任务。如果任务实际完成日期 滞后于进度安排,则管理人员可以行使职权范围内的 权力采取各种补救措施以减少进度误期所造成的影响。 包括对资源重新定向,对任务重新安排,甚至可以修 改交付日期以调整已经暴露的问题。
项目计划的工作内容
• 确定项目的工作范围 • 识别资源 • 软件项目评估 • 做出外购决策 • 制定项目计划
西南大学计信院自动化系
软件技术基础
项目计划的主要内容
• 参与项目的各种角色通信的范围和资源 • 定义了风险和风险管理技术 • 定义了费用和进度作为评审的依据 • 为所有参与者提供了活动途径 • 勾画了质量保证和变更如何管理
相关文档
最新文档