版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,软件需求分析,10/15/2020,1,软件需求的定义,用户为了解决问题达到目标的软件能力 为了满足某个合同,标准,规格说明或其他正式的文档,系统或系统的组件必须符合或具有的软件能力,需求分析的任务,软件需求分析是软件开发早期的一个重要阶段。它 在问题定义和可行性研究阶段之后进行。需求分析的基本任务是软件人员和用户一起完全弄清用户对系统的确切要求。这是关系到软件开发成败的关键步骤,也是整个系统开发的基础。,软件需求规格说明的主要内容,需求规格说明书中应包括如下主要内容: (1) 引言:用于说明项目的开发背景、应用范围,定义所用到的术语和缩略语,以及列出文档中所引用的参考资料等。 (2) 项目
2、概述:主要包括功能概述和约束条件。 (3) 具体需求:主要包括功能需求、接口定义、性能需求、软件属性及其他需求等。,用户对系统的需求通常可分为如下两类: (1) 功能性需求 (2) 非功能性需求 非功能性需求,示例如下: 要求界面风格要统一;系统错误提示风格一致,系统可用性相对较好;并以IE作为与用户交互的平台;要求显示分辨率为1024*768;界面布局将最大程度适合用户操作。,需求的分类,需求分析的原则,目前存在着许多需求分析的方法,虽然各种方法都有其独特的描述方法,但不论采用何种方法,需求分析都必须遵循以下基本原则: (1) 能够表达和理解问题的数据域和功能域。 (2) 能够将复杂问题分解
3、化简。 (3) 能够给出系统的逻辑表示和物理表示。,需求分析的步骤,需求分析阶段的工作,大致可分为如下几个步骤进行: (1) 通过调查研究,获取用户的需求。 (2) 去除非本质因素,确定系统的真正需求。 (3) 描述需求,建立系统的逻辑模型。 (4) 书写需求说明书,进行需求复审。,需求分析工作过程(1),1、问题识别 明确用户目标系统的要求,包括功能、性能、环境、安全和保密,截面、资源使用、软件成本消耗与开发进度;同时还要估计终极系统可能达到的目标。同时还要注意其他非功能性要求:质量控制标准、里程碑、评审验收标准,各种质量要求的优先级,以及维护方面的要求。,需求分析工作过程(2),2、分析与
4、综合 从信息流和信息结构出发,逐步细化软件所有功能,找出各系统元素之间的联系、接口特性和对设计的限制。判断是否存在因片面或短期行为而导致的不和理要求,是否用户尚未提出有价值的潜在要求,剔除需求中不和理部分,增加真正需要的部分。最终综合成系统解决方案,提交目标系统的详细逻辑模型。,需求分析工作过程(3),3、编制需求分析阶段文档 通常把描述需求的文档称做软件需求说明书,清晰、明确描述已经确定的需求,同时,为了确切表达用户对软件的输入、输出数据要求,还要制定数据要求说明书并编写初步的用户手册。,需求分析工作过程(4),4、需求评审 对需求分析阶段的工作进行复查,对软件功能正确性、需求说明书一致性、
5、完备性、准确性和清晰性、合理性进行评价。评审应有专人负责,按规程严格进行,评审结束时有负责人的结论意见签字。除分析员外,用户、开发部门的管理者、软件设计人员、实现人员、测试人员都应参加评审工作,需求规格说明评审内容,作为需求分析阶段工作的复查手段,在需求分析的最后一步应该对功能的正确性、完整性和清晰性,以及其他需求给予评价,评审的主要内容: 系统定义的目标是否与用户的要求一致 文档是否齐全 文档中的描述是否完整、清晰、准确反映用户的需求 重要接口是否已经描述 数据流与数据结构是否足够、确定 图表是否清晰,重要功能是否已经包括在规定的软件范围之内 设计的约束条件或限制条件是否符合实际 是否考虑了
6、开发的技术风险 是否考虑了软件需求的其他方案 是否考虑了将来可能会提出的软件需求。 是否纤细制定了检验标准。 有没有遗漏、重复或不一致的地方。 用户是否审查了初步的用户手册或原型。 软件开发计划中的估算是否受到了影响。,需求规格说明评审原则,1979 Balzer and Goldman提出良好规格说明的8条原则: 原则1 功能与实现分离,既描述“做什么”而不是:“怎样实现”。 原则2 要求使用面向处理的规格说明语言,讨论来自环境的各种刺激可能导致系统出现什么样的功能性反应,以此来定义一个行为模型,从而得到“做什么”的规格说明。 原则3 如果目标软件是一个大系统中的一个元素,那么整个大系统也包
7、括在规格说明的描述之内,描述该目标软件 与系统的其他元素的交互的方式。,原则4 规格说明必须包系统运行的环境。 原则5 规格说明必须是可操作的,充分完全和形式的。 原则6 规格说明是一个认识的模型,而不是一个设计所实现的模型。 原则7 规格说明必须容许不完备性和扩充 原则8 规格说明内必须局部化和具有松散的耦合,当信息被修改是,只要修改某个单独的段落,并可以容易增加或删除一些段落。,需求分析要点,定义系统的输入,输出,功能,属性以及系统的环境,从而确定了一个完整的需求集 需求应该排除与项目有关的信息,比如进度,项目计划,预算,测试以及设计信息 需求/设计过程是迭代的,需求引导对设计选项的选择,
8、其后可能产生新的需求 设计约束是对系统设计或开发系统的过程的限制,10/15/2020,16,系统的输入:不仅是输入的内容,还有输入的设备,形式,外观以及感觉等必要的细节 系统的输出:必须支持对输出设备的描述,如语音输出或可视化显示等,以及系统所产生信息的协议和格式 系统的功能:把输入映射到输出,以及它们的不同组合 系统的属性:非行为需求,如可靠性,可维护性,可得到性以及吞吐量等开发人员必须考虑的因素 系统的环境属性:附加的非行为需求,如系统在不同操作约束,负载和操作系统中运行的系统能力,10/15/2020,17,需求描述,需求:系统需要做什么,设计:系统如何做 需求先于设计 由于用户和客户
9、与需求的关系最近,因此由他们进行需求决策 技术人员最适合在众多的设计选择中决定哪种最适合用来实现需求,因此由他们进行设计,10/15/2020,18,需求与设计的关系,需求分析-概念模型和规范化,概念模型 最常用的表示概念性数据模型的方法:实体联系方法(Entity-Relationship Approach),简称E-R模型。 E-R模型包含三个基本成分:“实体”、“联系”、“属性”,E-R模型基本成分,(1) 实体:指客观世界存在的且可以相互区分的事物。实体可以是人,也可以是物,还可以是抽象概念。如职工、计算机、产品都是实体。 (2) 属性:有时也称性质,是指实体某一方面的特征。一个实体通
10、常由多个属性值组成。如学生实体具有学号、姓名、专业、年级等属性。 (3) 联系:指实体之间的相互关系。实体之间的联系可主要划分为三类:一对一(1:1)、一对多(1:n)和多对多(m:n)。联系也可以具有属性。为了便于实现,在进行数据库设计时通常将多对多的联系转换为一对多的联系。,E-R模型中的基本符号,工资计算系统的E-R模型,数据建模的其他图形工具,1. 层次方框图 层次方框图通过树型结构的一系列多层次的矩形框描述复杂数据的层次结构。树型结构顶端的矩形框只有一个,用于代表完整的数据结构。下面各层的矩形框是对完整数据结构的逐步分解和细化得到的数据子集;底层的矩形框代表组成该数据结构的基本元素,
11、是数据的最小单位,不可再分割。层次方框图非常适合描述自顶向下的需求分析方法中数据的层次关系。系统分析员可以从对顶层信息的分类开始,沿着层次图中的每条路径逐步细化,直到确定了数据结构的全部细节为止。,某单位职工实发工资的层次方框图,数据建模的其他图形工具,2. Warnier图 Warnier图是法国科学家Warnier提出的另一种描述数据层次结构的图形工具。与层次方框图类似,Warnier图也采用了树型结构表示数据,但与层次方框图相比,Warnier图对数据的描绘手段更加丰富。利用Warnier图可以清楚地表明数据的逻辑结构中某类信息的重复出现及某些特定信息出现的条件约束,因此,Warnier
12、图可以较为容易地转变成软件设计的工具。,Warnier图,在Warnier图中,使用大括号来区分数据结构的层次。一个大括号内的所有名字都属于同一类信息;异或符号“?”用于表明一类信息或一个数据元素在一定条件下出现,而且在这个符号上、下方的两个名字所代表的数据只能出现一个。在一个名字下面或右边的圆括号中出现的数字指明了这个名字所代表的信息类或数据元素在该数据结构中重复出现的次数。,描绘一种软件产品的Warnier图,功 能 建 模,在需求分析阶段,数据流(也称信息流)是系统分析的基础。所谓数据流,形象地说就是系统中“流动的数据结构”。数据流图(DFD,Data Flow Diagram)是描述软
13、件系统中数据处理过程的一种有力的图形工具。 数据流图是用来描述系统逻辑模型的一种图形工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。,数据流图中的基本符号,学生购买教材的DFD,数据流图的分层细化,按照系统的功能,对顶层数据流图进行分解,生成第一层数据流图。如例子中的工资计算系统可划分为计算工资、打印工资清单和工资转存三个加工。其中,计算工资完成单位职工工资计算,生成工资清单的功能;打印工资清单完成工资条的打印功能;工资转存完成生成职工工资存款清单并将其发送到银行的功能。对划分得到的加工应进行编号,工资计算系统第一层数据流图,对第一层数据流图中的加工继续
14、分解,则可得到第二层数据流图。对分解得到的加工进行编号,以反映出它与上层数据流图之间的关系,如对第一层数据流图中的计算工资分解得到的数据流图中的加工的编号分别为1.11.4。若数据流图中的加工还可继续细化,则重复以上分解过程,直到获得系统的底层数据流图。工资计算系统的第三层数据流图如图所示。,建立数据流模型的原则,(1) 每个加工至少应有一个输入数据流(反映被处理数据的来源)和一个输出数据流(反映加工的结果) (2) 数据流图中各构成元素的名称必须具有明确的含义且能够代表对应元素的内容或功能。 (3) 对数据流图中某个加工进行细化生成的下层数据流图,称为其上层图的子图。应保证分层数据流图中任意
15、对应的父图和子图的输入/输出数据保持一致。,(4) 在数据流图中,应按照层次给每个加工编号,用于表明该加工所处的层次及上、下层的父图与子图的关系。 (5) 在父图中不要出现子图中涉及的局部数据存储文件。 (6) 数据流图只能由四种基本符号组成,是实际业务流程的客观映象,用于说明系统应该“做什么”, 而不需要指明系统“如何做”。 (7) 数据流图的分解速度应保持适中。通常一个加工每次可分解为24个子加工,最多不要超过七个,因为过快的分解会增加用户对系统模型理解的难度。 (8) 为了便于数据流图在计算机上的输入和输出,免去画斜线、弧线、圆等符号的麻烦,数据流图还有另一套表示符号,如下表所示。,数据
16、流图的另一套表示符号,行 为 建 模,状态迁移图 状态迁移图是一种描述系统状态随外部信号或事件进行迁移的有效的图形手段。在状态迁移图中,用圆圈表示可得到的系统状态,在圆圈中需要标明状态的名字。此外,用带箭头的线表示从一种系统状态向另一种系统状态的迁移,在线上要写明导致状态迁移的信号或事件的名字。例如,在操作系统中,进程的状态可能有三种:就绪、运行和等待,CPU分配的进程的状态迁移图,运行(S2),就绪(S1),等待(S3),T1:I/O中断,T2:中断事件已处理,T4:用完CPU,T3:分配CPU,状态迁移表,状态迁移图还可以表示为等价的表格形式,这样的表格称为状态迁移表。状态迁移表的列由所有
17、的系统状态组成,行由引起状态迁移的所有信号或事件组成,表格中第i行第j列的元素是从状态Sj因发生事件ti而会迁移到的状态。等价的状态迁移表如下表所示。在表中,S1代表就绪状态;S2代表运行状态;S3代表挂起状态。,进程的状态迁移表,数 据 字 典,数据字典的提出背景: 虽然数据流图能够形象、清晰地描述数据在系统中流动、加工、存储的情况,但数据流图中的许多构成元素,如数据流、数据存储、加工,仅依靠名称并不能反映其本质含义,因此必须对这些构成元素进行严格的定义。作为对数据流图的补充,数据字典(DD,Data Dictionary)能够准确地定义数据流图中各组成成分的具体含义,二者共同构成了系统的逻
18、辑模型。,数据字典的基本符号,数据字典中的条目及说明格式,数据字典是关于数据流图中各种成分详细定义的信息集合,可将其按照说明对象的类型划分为四类条目,分别为数据流 数据字典的任务是: 对于数据流图中出现的所有被 命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。,数据流条目,数据流在数据流图中主要用于说明数据结构在系统中的作用和流动方向,因此数据流也被称作“流动的数据结构”。数据字典中数据流条目应包括以下几项主要内容:数据流名称、数据流别名、说明、数据流来源、数据流流向、数据流组成和数据流量等。,数据流词条的描述示例,数据流名: 数据流别名: 说明:简要介
19、绍作用即它产生的原因和结果。 数据流来源:即该数据流来自何方。 数据流去向:去向何处。 数据流组成:数据结构。 数据量流量:数据量、流通量。,数据流名:发票 说明:用作学生已付书款的依据 数据流来源:来自加工“审查并开发票” 数据流去向:流向加工“开领书单”。 数据流组成:学号+姓名+书号+单价总价+书费合计,数据项条目,数据流图中每个数据结构都是由若干个数据项构成的,数据项是加工中的最小单位,不可再分。数据字典的数据项条目中应包含的主要内容有:数据项名称、数据项别名、说明、类型、长度、取值范围及含义等。 例如:出勤表中的职工号数据项在数据字典中的条目描述为 数据项名称:职工号 数据项别名:e
20、mployee_no 说明:本单位职工的惟一标识 类型:字符串 长度:6 取值范围及含义:12位(00.99)为部门编号:36位(XX0001.XX9999)为人员编号,数据文件条目,数据文件是数据流图中数据结构的载体。数据字典的数据文件条目中应包含的主要内容有:数据文件名称、说明、数据文件组成、组织方式、存取方式、存取频率等。 例如:工资系统中的职工工资档案文件在数据字典中的条目描述为 数据文件名称:工资档案 说明:单位职工的基本工资、各项津贴及补贴信息 数据文件组成:职工号+国家工资+国家津贴+职务津贴+职龄津贴+交通补贴+部门补贴+其他补贴 组织方式:按职工号从小到大排列 存取方式:顺序 存取频率:1次/月,数据加工条目,在数据流图中只简单给出了每个加工的名称,在数据字典中通过数据加工条目主要是要说明每个加工是用来“做什么”的。数据字典的数据加工条目中应包含的主要内容有: 数据加工名称、加工编号、说明、输入数据流、输出数据流、加工逻辑等。 例如:工资系统中的计算应发工资这个加工在数据字典中的条目描述为 数据加工名称:计算应发工资 加工编号:1.2,说明:根据职工的工资档案及本月奖金发放表数据计算每个职工的应发工资 输入数据流:奖金发放表及工资档案 输出数据流:应发工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度林业土地入股合作开发合同范本
- 二零二五年度土鸡蛋绿色包装采购合同范本3篇
- 二零二五年度有声读物配音制作合同范本
- 二零二五版木地板行业绿色生产标准认证合同4篇
- 2025年度配音演员与儿童节目聘用合同范本3篇
- 二零二五年度文化创意产业农民工就业合同范本3篇
- 2025年度新型幼儿教育机构教师聘用合同范本
- 二零二五年度创业投资公司融资合同范本
- 二零二四年度医院儿科医师派遣合同3篇
- 2025年度钢管脚手架内外施工质量保障合同
- 《健康体检知识》课件
- 2023年护理人员分层培训、考核计划表
- 生产计划主管述职报告
- GB/T 44769-2024能源互联网数据平台技术规范
- 【经典文献】《矛盾论》全文
- 部编版语文五年级下册 第一单元 专项训练课外阅读(含答案)
- 2024年宁夏回族自治区中考英语试题含解析
- 给男友的道歉信10000字(十二篇)
- 客人在酒店受伤免责承诺书范本
- 练字本方格模板
- 《老山界》第1第2课时示范公开课教学PPT课件【统编人教版七年级语文下册】
评论
0/150
提交评论