当前位置:文档之家› 2011王立福的软件工程课件(自学考试)

2011王立福的软件工程课件(自学考试)


支 持 过 程 方 向
(活 动 与 定 序)
的 建 立
软件开发方法学 软 件 结构化方法 工 面向对象方法 程 面向数据结构 生 方法 存 维也纳开发方 周 期 法(VDM) 过 作用于 …… 程 支持/管理技术与方法
给 出 实 现 开 发 过 程 的 途 径
1 开发所涉及的活动
-- 软件生存周期过程 1)基本概念 为了表述软件开发需要做‚什么活(映射)‖,引入了以下三 个概念: 软件过程(process):活动的一个集合;
按合同规定,实现相应的支持过程.
为执行开发过程和支持过程的活动,对开发组织所建 立的标准、方法、工具和计算机程序设计语言进行选
择、剪裁和应用.
依据开发和验收的所有需求(包括安全),为执行过 程的活动制定相应计划,例如风险管理计划、质量保 证计划等,这些同样也包括标准、方法、工具、措施 以及责任等.必要时这些计划可以分别建立.
C)生存周期过程和活动的工作分解结构,包括要完成的软件产品、软 件服务和非交付项以及预算、人员配备、物理资源、软件规模和与任 务有关的进度;
D)软件产品或服务的质量特性的管理,可以制订独立的质量计划; E)软件产品或服务的安全、安全保密和其他关键需求的管理,可以制 订独立的安全、安全保密计划;
F)分包方管理,包括分包方选择以及分包方与需方之间的参与等; g)质量保证(见支持过程); H)验证和确认(见支持过程);包括指明与验证机构和确认机构的接口 途径; i) 需方参与,其手段如联合复审、审核、非正式会议、报告、修改和变 更等; J)用户参与,其手段如需求是否实现的演练、原型演示和评估等; K)风险管理,即管理项目有关技术、成本和进度等方面的潜风险; L)安全保密策略,即在每一个项目组织层面上那些按需所知并访问信息的 准则; M)诸如规章、所需的认证、专利权、使用权、所有权、担保权以及许可 证授予权等方面所要求的批准;
例如1:供应过程 供应过程是供方为了向客户提供满足需求的软件产品或服务 所从事的一系列活动和任务。 其目的是向客户提供一个满足已达成需求的产品或服务。 该过程的启动,或通过为应答需方的招标书而开始编制投标书 的决定,或通过与需方签订一项提供系统、软件产品或软 件服务的合同。 继之,确定为管理和保证项目所需的规程和资源,包括编制项 目计划,执行计划,一直到将系统、软件产品或软件服务 交付给需方为止。
该过程包括的基本活动为: a) 启动;
b) 准备投标;
c) 签订合同; d) 规划; e) 执行和控制; f) 复审和评估; g) 交付和完成。
其中每一活动又包含一组特定的任务。例如“规划”活动包 括下述任务: (1) 供方应复审获取需求,以便定义管理该项目、保证可交 付的软件产品或服务质量的框架。 (2) 如果合同中没有规定采用什么软件生存周期模型,那么 供方就应确定或选择一个适合于该项目的范围、规模和复 杂度的软件生存周期模型,并应从本章中所述的过程、活 动和任务中进行选择,并将它们映射到所选择的软件生存 周期模型。
具体地说,模型是在特定意图下所确定的角度和抽象层 次上对物理系统的描述,通常包含对该系统边界的描述,给
ห้องสมุดไป่ตู้
出系统内各模型元素以及它们之间的语义关系。
3
软件系统或项的模型分类
问题空间
问题域 --客观事物系统
需求-一个抽象层
验 证/ 确 认
-概念模型
设计-一个抽象层 实现-一个抽象层 部署-一个抽象层
-设计模型
N)进度安排、追踪和报告的方法;
O)人员培训(见组织过程)。
注:关于该过程的其它活动和任务,请参见相关的标准。
总的来说,成功实现该过程的结果是:
A)对客户请求产生了一个响应; B)在客户与供方之间建立了一个关于开发、维护、运行、 包装、交付和安装产品和/或服务的协定; C)供方开发了一个符合协定需求的产品和/或服务;
(3)组织过程(institutional processes)
是指那些与软件生产组织有关的活动集。 基本过程 支持过程 组织过程
(1)基本过程 又按过程中活动的不同主体,将基本过程(类)分 为5个过程:获取过程、供应过程、开发过程、 运行过程、维护过程 基本过程 支持过程 组织过程 组织为 获取过程 供应过程 开发过程 运行过程 维护过程
是产品/系统确认(测试)的标尺
四、软件开发方法学
--试图回答如何从事开发活动
五、CMM(the Capability Maturity Model for software)
--试图回答获得正确产品/系统的过程能力保障
软件开发 本质
导出
软 件 生 存 周 期 过 程
形 成
软 件 生 存 周 期 模 型
其中的活动:软件需求分析 主要任务: 建立软件需求规格说明书,其中包括: 功能和能力规约,包括性能以及为执行软件的物理特 征和环境条件; 质量特征规约(参考ISO/IEC9126);
软件接口规约;
安全规约;
数据定义和数据库需求;用户操作和执行需求; 用户维护需求等
考虑以下准则,对软件需求进行评估: 是否能够跟踪到系统需求、系统结构; 从外部上,是否与系统需求保持一致; 需求内部的一致性; 是否具有可测性;
加工1(及相关的数据流)=F(计算学生成绩)
学生成绩文件
加工1 计算学生平均成绩
学生平均成绩
科目+年级/班
规约后的处理逻辑
这也是一个抽象的过程-过程抽象 其中:对应的过程:需求分析; 使用的方法:结构化方法; 基于的原理:过程抽象 目标:形成一种可构造的计算逻辑.
例如3: 交互图1=H(计算学生成绩) :教学主任 :教务员 :教员
所应用的设计方法和标准的适宜性;
详细设计的可行性; 运行与维护的可行性。 按照联合评审,对软件体系结构进行评审。 注:关于开发过程的其他活动和任务,可参阅有关标准.
总的来说,成功实现开发过程的结果是: a) 收集了软件开发需求并达成协定; b) 开发了软件产品或基于软件的系统; c) 开发了证明最终产品是基于需求的中间工作产品;
开发关于软件项的外部接口以及软件项的各个软件部 件间的接口的顶层设计,并形成文档。 编制数据库的顶层设计,并形成文档。 编制用户文档的最初版本,并形成文档。
确定软件集成的初步测试需求和进度安排,并形成文
档。
根据下列评价准则,评价软件项的体系结构、接口和数据库
设计,评价结果应形成文档: 软件项需求的可追踪性; 与软件项需求的外部一致性; 软件部件之间的内部一致性;
设计、实现和维护的可行性等
依据联合评审过程,对软件需求进行评审.
其中的活动:软件体系结构设计 该活动是针对每一个软件项(或已标识的软件配置项) 主要任务为:
把那些对软件项的需求转变为一种体系结构,即:
In
该软件项的需求
软件体系结构设计
Out
该项的软件体系结构
其中该体系结构描述了该项的顶层结构并标识各个软件 部件。其中应确保对软件项的所有需求都被分配给了相 应的软件部件,并为了进行详细设计而使该项的需求得 到进一步细化。软件项的体系结构应形成文档。
是从事软件开发的思想基础.
--软件开发的本质是什么?
--软件开发的基本手段是什么?
1 软件开发的本质 问题域 --客观事物系统
映射
领域软件生产线
概念不同,解决问 题的思维逻辑不同 -―距离‛
应用框架
中间件技术与产品 VB、VC --程序设计环境
运行(计算)平台
操作系统与语言处理系统 网络 计算机 --异构
-实现模型 -部署模型 软件模型
分层的基本动机是控制开发的复杂性, 一个抽象层是由一组确定的术语定义的.
二、软件过程 开发逻辑,是获取正确软件的关键. --软件开发要做那些映射-活动? --应如何正确组织开发活动,形成求解软件的 逻辑?
软件开发 本质
定义
软 件 生 存 周 期 过 程
形 成
软 件 生 存 周 期 模 型
支 持 过 程 方 向
(活 动 与 定 序)
的 建 立
软件开发方法学 软 件 结构化方法 工 面向对象方法 程 面向数据结构 生 方法 存 维也纳开发方 周 期 法(VDM) 过 作用于 …… 程 支持/管理技术与方法
给 出 实 现 开 发 过 程 的 途 径
软件工程基本知识结构
一、概论 正确认识软件开发,
D)根据协定的需求,向客户交付了该产品和/或服务;
E)根据协定的需求,安装了该产品。
例如2:开发过程 是软件开发者所从事的一系列活动。 包括13个活动: 过程的实施准备
系统需求分析
软件需求分析
系统结构设计
软件体系结构设计
软件详细设计
软件集成 系统集成 软件安装
软件编码和测试
软件合格测试 系统合格测试 软件验收支持
c) 是否从内部或外部来获得现货软件产品;
d) 是否采用a)b)c)的组合。
并针对以上每一种选择给出风险分析。
(5) 供方应基于有关规划的需求和以上的选择,制订项目管 理计划并形成文档。计划中应主要考虑包含以下条目:
A)开发单位(包括外包单位)的项目组织结构、职责和职权; B)工程环境,包括可用的开发环境、运行环境、维护环境以及测试环 境、程序库、设备、设施、标准、规程和工具;
活动(activity):任务的一个集合;
注:‖软件过程‛和‛活动‛相当于复合映射. 任务(task): 将输入转换为输出的操作。
注:‖任务‛相当于原子映射.
2) 过程分类 按过程的主体,可分为三类过程: (1)基本过程(primary processes) 是指那些与软件生产直接相关的活动集。 (2)支持过程(supporting processes ) 是有关各方按其目标所从事的一系列支持活动集。
相关主题