第二章 需求工程 Software Requirements Engineering
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16
P‹#›
开始
第一步: 问题定义 第二步: 可行性分析 第三步: 需求分析
1. 问题定义
目的:弄清楚用户要求计算机解决什么问题 任务:编写系统目标与规范说明书
系统目标与规范说明书
1、项目:教材销售系统 2、问题:人工销售教材手续繁琐,容易出错 3、项目目标:建立一个高效率、无差错的计算机教材销售系统 4、项目范围:利用现有的计算机,软件开发费用不得超过2000元 5、初步想法:建议在系统中增加对缺书的统计与采购功能 6、可行性研究:建议进行大约10天的可行性研究,且研究费用不超过500元
D(Do) :软件开发
C(Check):软件确认 A(Action):软件演进
P‹#›
软件生命期(SDLD)
问题定义
计划 阶段
“是什么?” “能做吗?” “做什么?” “如何做?” “做出来” “做得怎么样?” “进一步完善”
可行性研究 需求分析
开发 阶段
软件设计 编 码
测 试
运行 阶段
运行与维护
瀑布模型
P‹#›
软件开发方法与模型
软件开发的目标是要在规定的投资和时间内,开发出符合用户的 需求,高质量的软件,为此需要有成功的开发方法。
面向过程的开发方法
面向对象的开发方法
软件开发模型是描述软件开发过程中各种活动如何执行的模型。 因此又称为软件过程模型 ,是对软件开发实际过程的抽象和简化。不同 的开发方法有不同的软件过程模型。
瀑布模型
P‹#›
变种循环模型
为了描述软件开发过程中可能的回溯,尤其是维 护阶段往往要经历上述各个阶段。采用循环模型描 述。
评价 计划 运行
需求分析
测试
设计
编码
循环模型
P‹#›
原型化工作模型(Prototyping Model)
原型:是指模拟某种产品的原始模型,是软件的一个早期可运 行的版本,它反映了最终系统的部分重要特性。 基本思想是:花费少量代价建立一个可运行的系统,使用户及 早获得学习的机会。
典型的软件开发模型有:瀑布模型、 原型化模型、螺旋模型、喷泉模型等。
P‹#›
面向过程—结构化方法
结构化开发方法(Structured Developing Method) 是现有的软件开发方法中最成熟,应用最广泛的方法。 主要特点是快速,自然和方便。 结构化方法总的指导思想自顶向下、逐步求精。
它的基本原则是功能的分解与抽象。
实 现 软件 设计 系统 设计 分 析
喷泉模型
P‹#›
软件开发工具与软件开发环境
1.软件开发工具
协助开发人员进行软件开发活动所使用的软件 或环境
需求分析工具、设计工具、编码工具、排错工 具、测试工具等。
2.软件开发环境
全面支持软件开发全过程的软件工具的集合 计算机辅助软件工程:CASE
P‹#›
2. 可行性论证
其论证的焦点是:围绕着对系统开发的价值进行论证
主要有以下四个方面: 1、技术可行性:分析技术冒险的各种因素,如:现有的技术是否能 实现本系统,现有的技术人员是否能胜任,开发系统的软、硬资源是 否能如期得到等。 2、经济可行性:开发这个系统有没有经济效益?多久能收回成本, 因此要对经济的合理性进行评价。 3、运行可行性:为新系统规定的运行方案是否可行?如果新系统是 建立在原来其它计算机系统上的,就不能要求它在现状态下直接运行, 以免有与原来的任务相矛盾。 4、法律上可行性:新系统的开发,会不会侵犯他人、集体或国家的 利益,并由此而承担法律责任。
P‹#›
面向过程—结构化方法(structured)
结构化开发方法的组成: 结构化分析方法 SA法(Structured Analysis) 结构化设计方法 SD法(Structured Design) 结构化程序设计方法SP法(Structured Program) 主要开发模型:瀑布模型、原型工作模型、螺旋模型
第二章
需求工程
(Software Requirements Engineering)
第一章 概述
第一章 软件工程概述
软件工程过程 软件生命期 软件开发模型 软件开发方法 软件开发工具与开发环境
P‹#›
软件工程过程(Software engineering process)
是指在软件工具的支持下,所进行的一系列软 件开发和进化的活动。 四类基本过程: P(Plan): 软件规格说明
P‹#›
面向对象方法(Object-Oriented )
OOA
ቤተ መጻሕፍቲ ባይዱ
面向对象的分析:强调的是对一个系统 中的对象特征和行为的定义。建立系统 的三类模型。 面向对象的设计:与OOA密切配合顺序实 现对现实世界的进一步建模。 面向对象的程序设计:是面向对象的技 术中发展最快的,使用面向对象的程序 设计语言,进行编码。
P‹#›
瀑布模型
问题定义 计划 时期 可行性研究
特点:上一阶段的变换结果 是下一阶段的变换的输入, 相邻两个阶段具有因果关系, 紧密相联。
(目标与范围说明书) (可行性论证论告) (需求说明书) (设计文档) (程序) (测试报告) (维护报告)
需求分析
开发 时期 软件设计 编 码
测 试
运行 时期 运行与维护
螺旋模型
P‹#›
面向对象方法
面向对象方法 是80年代推出的一种全新的软 件开发方法。非常实用而强有力,被誉为 90 年代 软件的核心技术之一。 其基本思想是:对问题领域进行自然的分割, 以更接近人类通常思维的方式建立问题领域的模 型,以便对客观的信息实体进行结构和行为的模 拟,从而使设计的软件更直接地表现问题的求解 过程。面向对象的开发方法以对象作为最基本的 元素,是分析和解决问题的核心。
快速分析 和设计 加工 原型
原型
客户 评价原型
建造 原型
1、原型系统仅包括未来系统的 主要功能,以及系统的重要 接口。 2、为了尽快向用户提供原型, 开发原型系统时应尽量使用 能缩短开发周期的语言和工 具。
P‹#›
螺旋模型
对大型软件,需要多 个原型描述系统的生 存期,螺旋模型将瀑 布模型与原型化模型 结合起来,并加入了 风险分析。
OOD
OOP
开发模型:喷泉模型
P‹#›
喷泉模型
它克服了瀑布模型不支持软件重用和多项开发活 动集成的局限性,喷泉模型使开发过程具有迭代性和 无间隙性。
其特点如下:
1. 开发过程有分析、系统设计、软件 设计和实现4个阶段。 2.各阶段相互重叠,它反映了软件过 程并行性的特点。 3.以分析为基础,资源消耗成塔型。 4.反映了软件过程迭代性的自然特性, 从高层返回低层无资源消耗。 5.强调增量开发,整个过程是一个迭 代的逐步提炼的过程。