[专业文献]软件工程——需求分析学习指导_第1页
[专业文献]软件工程——需求分析学习指导_第2页
[专业文献]软件工程——需求分析学习指导_第3页
[专业文献]软件工程——需求分析学习指导_第4页
[专业文献]软件工程——需求分析学习指导_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(1) 功能需求系统做什么?系统何时做什么?系统何时及如何修改或升级?(2) 性能需求软件开发的技术性指标,例如:存储容量限制执行速度、相应时间吞吐量,软件需求,(3) 环境需求硬件设备:机型、外设、接口、 地点、分布、温度、 湿度、磁场干扰等软件: 操作系统 网络 数据库(4) 界面需求有来自其它系统的输入吗?有到其它系统的输出吗?对数据格式有规定吗?对数据存储介质有规定吗?,软件需求,(5) 用户或人的因素用户类型?各种用户熟练程度?需受何种训练?用户理解、使用系统的难度?用户错误操作系统的可能性?(6) 文档需求需哪些文档?文档针对哪些读者?,软件需求,(7) 数据需求输入、输出数据的格式?接收、发送数据的频率?数据的准确性和精度?数据流量?数据需保持的时间?(8) 资源需求软件运行时所需的数据、软件。内存空间等资源。软件开发、维护所需的人力、支撑软件、开发设备等。,软件需求,(9) 安全保密要求需对访问系统或系统信息加以控制吗?如何隔离用户之间的数据?用户程序如何与其它程序和操作系统隔离?系统备份要求?(10) 软件成本消耗与开发进度需求开发有规定的时间表吗?软硬件投资有无限制?,软件需求,逆向需求,逆向需求说明软件系统不应该做什么。理论上有无限多个逆向需求,我们应该仅选取能够澄清需求且消除可能发生的误解的那些逆向需求。,需求分析的过程,需求分析员,用户/客户,项目小组,确定系统要求和约束,确定系统逻辑模型和数据要求,确定开发策略选择需求分析方法,确定软件各种需求编写需求文档及修正项目计划,需求验证,资料库,需求规格说明,系统可行性研究报告、项目计划,通信,通信,用户需求描述,系统要求、约束条件,有效性准则,已有类似项目信息,修正项目计划,问题分解与细化,合格,不合格,精确的系统要求及约束描述,需求补充与环境介绍,需求分析,获取数据,分析、处理,目标系统模型,需求获取,系统分析员,从数据流和数据结构出发,找出系统各元素之间的联系、接口特征及设计限制、能否满足功能需求,需求分析是对获取的需求信息进行分析,及时排除错误和弥补不足,确保需求文档正确反映用户的真实意图。,分析方法:(1) 问答分析法; (2) 建模分析法。“问答分析法”适合用户需求调查阶段;“建模分析法”适合产品需求定义阶段。,需求分析的原则,必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐层分解的方式对问题进行分解和不断细化;要给出系统逻辑视图和物理视图。,建模分析方法,结构化分析方法,面向对象分析方法,面向数据的方法,以数据流为中心 。其核心概念包括:进程、数据流、数据存储、外部实体、数据组和数据元素。其具有代表性的需求分析工具有:数据流图、数据字典、E-R图、状态变迁图(STD)等。,面向对象分析以对象及其服务作为建模标准,比较自然,对象也具有相对的稳定性。主要模拟的元素有:对象、类、属性、关系、方法、消息传递、用例等。其主要原理包括分类、继承、层次、信息隐藏、汇集关系等。,编写需求规格说明,系统分析员,需求规格说明,需求分析结果,目标系统的基本描述系统各项需求系统限制及条件系统数据定义 ,需求规格说明书属性:正确、清晰、无二义、一致、必要、完备、可实现、可验证,需求规格说明书,PrefaceIntroductionGlossaryUser requirements definitionSystem architectureSystem requirements specificationSystem modelsSystem evolutionAppendicesIndex,需求评审,需求评审的主要方面,一致性,完整性,现实性,有效性,所有需求必须一致,不能前后相互矛盾,说明书应包括用户需求的每一方面,在现有基础上可实现,必须证明需求有效,能解决用户提出的问题,无二义性,结构化分析方法,20世纪70年代末由Yourdon E, Constantine L等人提出,发展至今已得到了广泛的应用。结构化分析方法使用了如下各个工具:层次方框图数据流图和数据字典,需求分析的工具,层次方框图数据流图与数据字典判定表判定树Warnier图,层次方框图,层次方框图用树形结构的一系列多层次的矩形框来描述数据的层次结构:树形结构的顶层是一个单独的矩形框,它代表着完整的数据结构;下面的各层矩形代表这个数据的子集;最低层的各个框代表组成这个数据的实际数据元素。,层次方框图,随着对数据的精细化,层次方框图对数据结构的描述也越来越详细。这种模式非常适合需求分析阶段的需要系统分析员从对顶层的信息分类开始,沿图中每条路径反复细化,直到确定了数据结构的全部细节为止。,产品,硬件,软件,服务,CPU,存储器,外设,硬件服务,培训,硬件服务,系统软件,应用软件,数据流图(Data Flow Diagram),数据流图是用来描绘软件系统逻辑模型的图形工具,它描绘信息和数据从输入到输出的过程中所经历的一系列变换。设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体的实现这些功能。数据流图一般在软件生命周期的早期阶段开始进行设计,在软件生命周期后续阶段不断改进、完善和细化。,DFD的基本图元素,数据源点或终点,加工或处理,数据存储,数据流,或,或,数据流图的基本图元素,附加符号 表示数据流之间是 AND 关系(同时存在) 表示数据流之间是 OR 关系 表示数据流之间是 XOR 关系(互斥关系),数据A和B同时输入才能变换成数据C,数据A或B只要有一个输入就能变换成数据C,数据A或B只能输入一个才能变换成数据C,数据A变换产生数据B和C,数据A变换产生数据B或C至少一个,数据A变换产生数据B或C,DFD的主要元素,外部实体,数据流,过程(加工),数据存储,条目查询请求,查询可用条目,1,客户,目录,产品条目,库存条目,可用条目查询结果,源点,触发,动作,终点,响应,DFD的主要元素,数据流表示含有固定成分的动态数据包含输入数据和输出数据加工处理又称变换,表示对数据进行的逻辑操作加工都应具有数据流入和数据流出数据存储表示处于静态的、需要存储的数据源点/终点表示数据的产生和最终抵达处通常是系统边界,如部门、人员、组织等,关于DFD的几点注意事项,箭头:数据流图和程序流程图中用箭头表示的控制流有本质不同,不能混淆。在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。处理:处理并不一定是一个程序。一个处理框可以代表一系列程序、单个程序或者程序的一个模块,也可代表一个人工处理过程,如用户目视检查数据正确性。 数据存储:一个数据存储并不等同于一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等;数据可以存储在磁盘、磁带、磁鼓、主存、微缩胶片、穿孔卡片及其他任何介质上(包括人脑)。 数据存储和数据流都是数据,仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。,数据流图:描绘“做什么”,不考虑“怎么做”,绘制DFD的步骤,数据写入,编号加工名,数据读出,数据存储,要对数据流、加工、数据存储等命名,还要对加工进行编号,关于命名,原则: (1)数据流和数据存储名应能反映其具体内容,而不仅仅反映其某些成分;切忌使用空洞缺乏含义的名字(如数据、信息、输入等);(2) 加工名要反映整个处理的功能,最好由一个具体的及物动词加宾语组成,避免用动词作为名字;(3) 源点/终点采用问题域习惯命名(如采购员,学生,领导等),如果必须用两个动词才能描述整个处理的功能,则把此处理分解成两个处理。,数据流有:加工加工、加工文件、加工终点、源点加工、文件加工等数据流总与加工有关,故不会出现:文件文件、文件终点、源点文件、源点终点等,绘制DFD的步骤,绘制分层DFD的原则,数据守恒与数据封闭原则 数据守恒是指加工的输入、输出数据流是否匹配,即每一个加工既有输入数据流又有输出数据流,即一个加工至少有一个输入数据流,一个输出数据流。加工分解的原则 自然性:概念上合理、清晰; 均匀性:理想的分解是将一个问题分解成大小均匀的几个部分; 分解度:一般每一个加工每次分解最多不要超过个子加工,应分解到基本加工为止。,绘制分层数据流图的原则,子图与父图的“平衡”父图中某加工的输入输出数据流应该同其子图的输入输出相同(相对应)-分层数据流图的这一特点称为子图与父图“平衡”。合理使用文件 当文件作为某些加工之间的交界面时,文件必须画出来;一旦文件作为数据流图中的一个独立成份画出来了,那么他同其他成份之间的联系也应同时表达出来。,S,2,1,3,2.2,2.1,2.3,3.1,3.2,顶层(不编号),0层,1层,数据流平衡,2.1,2.2,2.3,N,P,S,T,Q,显然,子图与父图不平衡。,父图,1,3,A,N,T,B,C,M,2,2,子图,考察下图中子父图的平衡,绘制分层数据流图的原则,绘制分层数据流图的原则,考察下图中父图与子图是否平衡?,3.1,3.2,3.3,客户,帐号,数量,提货单,子图,1,2,4,6,5,定货单,提货单,父图,3,如果有如下数据条目: 订货单=客户+帐号+数量,则子、父图平衡,数据流图实例,例1:订货系统假设一家工厂的采购部每天需要一张订货报表。报表按照零件编号排序,表中列出了所有需要再次订货的零件。对于每个需要再次订货的零件应该列出下述信息:零件编号零件名称价格主要供应商次要供应商零件入库或出库称作事务,通过仓库的CRT终端把事务报告给订货系统。当某种零件的库存少于库存量临界值时就应该再次订货了。,数据流图实例,从问题描述中提取数据流图的4种成分-源点或终点、数据存储、处理、数据流:,事务,定货报表,事务,定货系统,库存清单,定货报表,D1: 库存清单,D2: 定货信息,仓 库管理员,采购员,仓 库管理员,采购员,顶层:基本系统模型,0层:功能级数据流图,定货信息,定货信息,1处理事务,2产生报表,数据流图实例,对数据存储和处理编号利于引用和追踪!,数据流图实例,数据流图的作用:交流信息的工具分析和设计的工具进一步设计的依据,D2: 定货信息,D1: 库存清单,仓 库管理员,采购员,事务,事务,库存信息,定货信息,定货信息,定货报表,库存清单,2产生报表,1.3处理定货,1.1接收事务,1.2更新库存清单,1层:功能级数据流图,数据流图,在某机构的办公自动化信息系统中,包含了本单位购买办公用品和设备的总务管理模块。办公用品的购买申请由各科室提出,由负责总务办公室统一收集。其中,购买申请金额小于或等于500元可以由总务办公室直接审批;高于500元的购买申请由机构主管领导审批,批准的购买申请形成购买清单由采购员负责购买,同时应该纪录每次购买的账目。在提出购买申请时,要包含如下数据:申请单位,物品名称、物品数量、预计价格、物品用途等。每次购买完成后应该纪录如下信息:物品名称、物品数量、价格、总金额、购买日期、经办人等。,例2:总务办公系统,数据流图,首先从问题描述提取数据流图的四种成分:数据源点和终点购买申请由科室提出,科室数据源点购买审批涉及总务办公室和机构主管领导,既是数据源点(接受购买审批请求),又是数据终点(给出审批结果)购买清单交采购员,采购员数据终点;采购完后,采购员要提交实际购买清单,采购员数据源点。数据流购买申请和最终形成的购买清单显然是数据流;审批过程的审批信息也是数据流,并要分两种类型:500的和500的;购买完后,实际购买清表也是数据流。,数据流图,数据存储因购买申请并不能保证在第一时间内得到审批,所以应存储下来形成购买申请列表;审批后产生已批准的购买申请列表也要储存;购买完成后的实际购买列表也应存储。处理整个问题看成一个事物处理过程,对数据的所有变换过程都应视为处理。收集购买申请;审批过程;产生购买清单;购买入帐实际购买清单存入购买帐目,并更新购买申请列表,数据流图,从问题描述导出的数据流图各成分如下:,数据流图,各科室,采购员,总务办公系统,总务办公室,主管领导,各种清单,购买申请,采购清单,实际购买报表,购买申请,采购清单, 500, 500,已批准的申请,实际购买清单,实际购买清单,采购清单,已批准的申请,实际购 买清单, 500,已批准的申请,1.1接收申请,购买申请,2.2更新数据, 500,数据流图实例,以某企业的销售管理系统为例,采用SA方法进行需求分析,建立功能模型。该企业销售管理的描述如下:(1)接受顾客的订单,检验订单。若库存有货,则进行供货处理,即修改库存,给仓库开备货单,并将订单留底;若库存量不足,则将缺货订单登入缺货记录。(2)根据缺货记录进行缺货处理,将缺货通知单发给采购部门,以便采购。(3)根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单进行供货处理。(4)根据留底的订单进行销售统计,打印统计表给经理。,数据流图实例,顶层图,0层图,1层图,图1,图2,1层图,图3,图4,1层图,图5,数据字典,内容提示数据字典的内容定义数据的方法数据字典的用途数据字典的实现,数据字典,数据字典是数据流图中所有元素定义的集合。数据字典的作用在于:在软件分析和设计过程中为人们提供有关数据的描述信息。通常,我们把数据字典和数据流图结合使用。它们共同构成了系统的逻辑模型:没有数据字典,数据流图就不严格;没有数据流图的数据字典难以发挥其作用。,数据字典的内容,数据字典对数据流图中出现的所有元素给出定义:数据流处理或加工数据存储数据元素,数据字典与数据流图密切配合,能清楚的表达数据处理的要求。,数据字典的内容,数据字典的每一个词条一般包含下列具体内容:一般信息名字、描述等;定义数据类型、长度、结构等;使用特点值的范围、使用频率、使用方式等;控制信息来源、用户、调用程序、权限等;分组信息所在位置、从属结构等。,定义数据的方法,由数据元素组成数据有如下三种方式:顺序,即确定次序连接两个或多个分量;选择,即从连各或多个可能的元素中选取其一;重复,即把指定的分量重复零次或多次。可选,即一个分量是可有可无的。,定义数据的方法,在数据字典中分别使用如下符号表示上述几种数据定义方式:,定义数据的方法,若x、a和b都是数据元素,给出以下各定义式的含义:X= a + bx由a和b构成X= a , bx由a或b构成X= a | bx由a或b构成X= (a)a可在x中出现,也可能不出现X= ax由0次或多次重复的a构成X= manx由m至n个a组成,即至少有m个a,至多有n个aX= a.bx可以取a至b的任一值X= “a”x为取值a的基本数据元素,即a无需进一步定义,定义数据的方法,定货报表=零件编号+零件名称+定货数量+目前价格+主要供应者+次要供应者零件编号=8字符8定货数量=1数字5,例1:电话号码是一个3位到8位的十进制数,有的电话号码还需包括4位分机号。电话号码3十进制码8( “” 分机号)十进制码”0”9”分机号4十进制码4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论