软件工程开发技术 西安电子科技大学出版社 ch3结构化需求分析与建模
- 格式:ppt
- 大小:2.72 MB
- 文档页数:121


软件需求分析与建模基础
火龙果整理
火龙果整理
目录一什么是需求分析
二
系统建模
三
需求分析建模实例
四
经验总结
目录一什么是需求分析1.软件生命周期2.需求分析的定义
火龙果整理
3.需求分析阶段的重要性4.需求分类
5.需求捕获6.需求过程定义
火龙果整理
一、什么是需求分析?1、软件生命周期(SDLC-SoftwareDayLightCycle)
同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生命周期。 《软件工程国家标准—计算机软件开发规范》(GB8566—88)中将软件生命周期划分为8个阶段:
可行性研究与计划
需求分析
概要设计
详细设计
实现(包括单元测试)
组织测试(集成测试)
确认测试
使用和维护
火龙果整理
一、什么是需求分析?2、需求分析的定义
是软件工程中的一个关键过程;是系统分析员进行软件功能和性能分析的依据;是指明软件和其他系统元素的接口、是建立软件必须满足的约束;是软件设计师进行软件分解的基础;是软件处理的数据模型、功能模型和行为模型;是软件设计师翻译成数据、体系结构、界面和过程设计的模型;是进行质量评估的依据。
火龙果整理
一、什么是需求分析?3、需求分析阶段的重要性 根据StandihGroup对23000个项目进行的研究结果表明,28%的项目彻底失败,46%的项目超出经费预算或者超出工期,只有约26%的项目获得成功。而在于这些高达74%的不成功项目中,有约60%的失败是源于需求问题。
也就是说,有近45%的项目最终因为需求的问题最终导致失败。
火龙果整理
一、什么是需求分析?4、需求分类
业务需求:反映组织机构或客户对系统、产品高层次的目标要求。用户需求:描述用户使用产品必须要完成什么任务。系统需求:从系统的角度来说明软件的需求,它包括用特性说明的功能需求,质量属性以及其它非功能需求,还有设计约束。
火龙果整理
软件工程结构化分析与设计
软件工程结构化分析与设计
简介
软件工程结构化分析与设计(Software Engineering
Structured Analysis and Design)是软件工程的重要环节之一,旨在将复杂的软件系统分解为相对简单的模块,从而便于理解、开发和维护。
结构化分析
结构化分析是软件工程中的一种需求分析方法,通过对用户需求进行分析,将系统功能划分为不同的模块,以及模块之间的关系和交互。
结构化分析采用基于流程图的图形化表示方法,通常使用数据流图(Data Flow Diagram,简称DFD)来描述系统的功能流程。
结构化设计
结构化设计是在结构化分析的基础上,进一步定义每个模块内部的结构和功能。它将模块细化为更小的子模块,通过设计各个模块之间的接口和通信方式,确保系统能够协调运作。 结构化设计通常使用结构图来表示系统的模块组织结构,其中最常见的就是层次图(Hierarchy Chart)和结构图(Structure
Chart)。
优势与挑战
结构化分析与设计的主要优势在于可以将复杂系统分解为简单的模块,使得系统的开发和维护更加容易。结构化分析与设计还能够提高系统的可靠性和可扩展性。
,结构化分析与设计也面临一些挑战。结构化分析与设计需要面对不断变化的需求,需要具备较好的适应性和灵活性。结构化分析与设计也需要考虑系统的性能、安全性等方面的需求,以保证系统能够满足用户的要求。
软件工程结构化分析与设计是软件工程中重要的一环,通过将复杂的系统分解为简单的模块,并设计模块之间的关系和接口,实现系统的有效开发和维护。
结构化分析与设计能够提高系统的可靠性、可扩展性和易开发性,但也需要面对需求变化和其他挑战。
希望通过软件工程结构化分析与设计,我们可以开发出更好的软件系统,满足用户的需求。
一【实验目的】
1.学会传统需求分析方法
2.掌握数据流图绘制
3.掌握数据字典
4. 数据库E-R绘制
二【实验内容】
1. 利用visio工具实现数据流图
(1) 利用Visio绘制数据流图
数据流图(数据流程图)是以图形方式来表达数据处理系统中信息的变换和传递过程。
可以模拟 手工、自动或两者混合的数据处理工程,只需要考虑系统必须完成的基本逻辑工
程,完全不需要考虑如何具体实现这些功能。
数据流图的基本符号是:
数据流------------有名字 有流向的数据
加工---------------(数据变换、处理逻辑)表示数据所进行的加工或变换。图中以标有名字和编号的圆圈代表加工(在VISIO中 是圆角矩形)
文件-------------(数据存储)是数据暂存的地方,可以对文件进行必要的存取。图中以标有名字的双线段表示。
数据源及数据终点------表明数据处理过程的数据来源或数据去向的标志。在数据流程中均以命名的方框来表示
下图表示的 第0层,第1层和第2层 数据流图的表示形式
示例:绘制以下数据流图
第1步:通过新建文件方式创建数据流图:文件-新建-软件和数据库-数据流模型图
或者 在已经建立的文档中,选择 文件-形状-软件和数据库-软件-Gane-Sarson
第2步:出现 如下界面:
第3步:在右边网格处绘制图形
数据源点和终点 分别是仓库管理员和采购员,流程 是 处理事务和产生报表,数据存储是是库存信息和订货信息,数据流分别是事物、库存信息、订货信息和订货报表。
其中:
修改箭头 形状,选中箭头 右键 如图选择
其他部分 请同学们自己绘制
最后保持 visio文件后缀vsd
最终结果:
(2)利用Visio绘制以下 数据流图
第3层 中的 “读者要求处理部分” 没有给出 ,暂时不绘制,但 同学们应该知道 有第3层 应该有 “读者要求处理部分”
需求⼯程-软件建模与分析
1 问题分析的主要步骤(五步)?
(1) 在问题定义上达成共识;
(2) 理解根本原因,分析问题背后的问题;
(3) 确定相关⼈员和⽤户;
(4) 定义解决⽅案的界限;
(5) 确定加在解决⽅案上的约束。
2 鱼⾻图主要⽤于定性分析,帕累托图主要⽤于定量分析。
3 鱼⾻图、帕累托图构建的主要步骤?
鱼⾻图A 选择问题
⾸先选择⼀个具体的问题或者结果。在选择问题时,要保
证问题是专门的、定义严谨的、范围相对较⼩的(对于⼤范围
的问题往往需要考虑将其分解成相对较⼩的问题),并且保证
参与⼈员切实理解要分析的内容。对问题定义产⽣出来的问题
⼀般都应该进⾏⼀次独⽴的鱼⾻图分析。B 头脑风暴
就导致问题的可能原因进⾏头脑风暴。将⼤家提出的意
见记录下来,确认后贴到鱼⾻图上。
需要注意的是不要将原因和解决⽅案混为⼀谈。在确定
原因的分类前先进⾏头脑风暴(⼀个⼈提,⼤家批),不然
思考问题的范围就会受到限制。⽀持者需要引导和⿎励参与
者参与其中。C 确定问题类型
对头脑风暴的结果进⾏整理,确定出主要的原因类型。
⼀般来说,划分出来的问题不要少于2类,不要超过6类
(经验数值,仅供参考)。经常使⽤的类型有:⼈、设备、
材料、环境、⽅法、过程等。将这些类型补充到鱼⾻图上。D 分配原因
将头脑风暴中得出的潜在原因放在鱼⾻图上,并且确保每⼀项原因都归于适当的类别中。如果原因看起来可以放在多个
类别中,就表⽰是多重原因造成的问题。但如果多次出现多重
原因,可能就以为着分类存在问题。该阶段将形成最终的鱼⾻图E 分析根本原因
对鱼⾻图中罗列出来的所有潜在原因进⾏分析。分析出造成某⼀结果的最根本原因是什么?找出核⼼所在。
⽅法如下:
通过参与者之间的公开讨论来分享看法和经验;寻找重复的原因,或者与特定类有关的原因的数量;
使⽤检查表收集资料、制造流程图或者进⾏⽤户调查,
通过帕累托分析法测试各种原因的相对强度;
投票(真理多数情况下掌握在多数⼈⼿⾥)
帕累托图
在通过使⽤鱼⾻图完成问题原因的定性描述后。仍然存在⼀个