文档介绍:软件生存期阶段划分
1)、可行性研究与计划
2)、需求分析
3)、总体设计
4)、详细设计
5)、实现
6)、集成测试
7)、确认测试
8)、使用和维护
(根据国标《计算机软件开发规范》)
软件生存期:软件产品或软件系统从设计、投入使用到被淘汰的全过程。
软件工作的范围
只考虑编写程序——》涉及整个软件生存周期
需求分析工作内容注意事项
企业提出需求
我们要建立一套完整的商业管理软件系统,包括商品的进、销、调、存管理,是总部-门店的连锁经营模式。通过通信手段使得门店自动订货,供货商自动结算,卖场通过扫条形码实现销售,管理人员能够随时查询门店商品销售和库存情况。另外,我们也得为政府部门提供关于商品营运的报告
我要做什么!!!
拨开需求分析的迷雾
我要做什么!—是指导性的框架,像“雾里看花”般模糊并令开发者感到困惑
分析需求的具体内容
业务需求——反映了组织机构或客户对系统、产品高层次的目标要求,通常在项目定义与范围文档中予以说明。
用户需求——描述了用户使用产品必须要完成的任务,这在使用实例或方案脚本中予以说明。
功能需求——定义了开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务,从而满足业务需求。
非功能性的需求——描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作接口的具体细节和构造上的限制。
需求分析报告——报告所说明的功能需求充分描述了软件系统所应具有的外部行为。“需求分析报告”在开发、测试、质量保证、项目管理以及相应功能中起着重要作用。
需求分析的任务
基本任务:准确地回答“系统必须做什么?”
确定对系统的综合需求
1)、系统功能要求
2)、系统性能要求
3)、运行要求
4)、将来可能提出的要求
2、分析系统的数据要求
采用建立“概念模型”的方法,并辅助图形工具,如:层次方框图、Warnier图。
导出系统的逻辑模型
数据流程图、数据字典、主要算法
修正系统开发计划
开发原型系统
需求分析的步骤
*需求获取
*需求提炼:分析建模(导出软件逻辑模型)
*需求描述:编写<需求规范说明书>
*需求验证
需求分析过程
沿数据流程图回溯
*从“输出端”到“输入端”回溯,分析数据元素
2、用户复查
*借助已有的数据流程图,帮助复查,再次完善数据流程图。
3、细化数据流程图
4、修正开发计划
5、书写文档
*系统规格说明:系统的概貌、功能要求、运行要求、将来可能的要求。
*数据要求:数据字典、图形工具(数据结构的层次图、Warnier图)
*用户系统描述:初步的用户手册
*修正的开发计划
需求分析的基本过程
需求分析过程-概念模型
概念模型
*最常用的表示概念性数据模型的方法:实体-联系方法(Entity-Relationship Approach),简称E-R模型
*E-R模型包含三个基本成分:“实体”,“联系”、“属性”
(1)、实体:是客观世界中存在的、且可以相互区分的事物。
它可以是人或物,也可以是具体事物或抽象事物(矩形来表示)
(2)、联系:客观世界中的事物彼此之间有联系,描述实体与实体之间的关系。(菱形来表示)
*一对一联系
*一对多联系
*多对多联系
(3)、属性:属性是实体或联系所具有的性质。通常一个实体或联系由若干属性来刻画。
需求分析过程——概念模型和规范化
范式
第一范式:每个属性都必须是原子值,即仅仅是一个简单值而不含内部结构。
第二范式:满足第一范式条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定)
第三范式:符合第二范式的条件,每个非关键字属性都是右关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非关键字属性值)
一般使用第三范式,避免第三范式
需求分析过程——图形工具
层次方框图
层次方框图用树形结构的一系列多层次的矩形框描述数据的层次结构
树形结构的顶层是一个单独的矩形框,它表达完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分解的元素)
Warnier图
Warnier图也用树形结构描绘信息,且更丰富,能表达逻辑关系
IPO图
IPO图是输入/处理/输出图的简称,能够方便地描述输入数据、对数据的处理和输出数据之间的关系。
基本形式是在左边的框中列出有关的输入数据,在中间的框内列出主要的处理,在右边的框内列出产生的输出数据。
验证软件需求
验证软件需求的四个方面
一致性
完整性
现实性
有效性
验证软件需求的方法
验证