软件工程概论第三章需求分析.ppt
《软件工程概论第三章需求分析.ppt》由会员分享,可在线阅读,更多相关《软件工程概论第三章需求分析.ppt(89页珍藏版)》请在三一办公上搜索。
1、第三章 需求分析,3.1 需求分析概述3.2 结构化分析方法3.3数据流图的绘制3.4编制数据字典3.5 加工逻辑的分析与表达3.6 原型技术3.7 需求验证与评审,意义:软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发带来烦恼。,需求分析是软件定义时期的最后一个阶段,它的基本任务不是确定系统怎样完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。并在在需求分析阶段结束之前,由系统分析员写出软件需求规格说明书,以书面形式准确地描述软件需求。即:-准确地回答“系统必须做
2、什么?”。,学习目标,明确需求分析的概念和任务,能够正确把握在软件定义方面,可行性研究和需求分析两阶段对问题域理解和描述问题的粒度可行性研究和需求分析两个阶段对问题域的角度和描述问题的粒度,1 需求分析的概述,需求分析的任务:用户和分析师双方进一步理解用户的需求,就待开发的软件系统必须具备的业务处理逻辑进行分析和描述,将双方的共同理解达成都能接受的需求规约,又称“需求规格说明书”,需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。,需求分析的任务并不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰
3、、具体的要求。需求规格说明书的主要部分是详细的数据流图,数据字典和主要功能的算法描述。通过验收的需求规格说明书是今后软件设计和项目验收的依据。,软件的需求包括:,功能需求性能需求环境需求可靠性需求安全保密要求用户界面需求,资源使用需求成本消耗需求开发进度需求预先估计以后系统可能达到的目标,发现:对用户需求的发现和挖掘求精:对用户提出的模糊的开发要求逐步明确、精化建模:对用户业务系统进行分析和优化的基础上,对未来系统的逻辑成分进行模型建模规约:对用户需求进行逻辑分析的最终产物,人员组织 企业负责人、各部门负责人、具体工作人员,分析师的角色 熟悉计算机技术了解用户业务领域的相关知识能在用户和开发人
4、员之间借助数据概念进行交流,需求分析的活动和原则需求获取分析建模需求评审,需求获取,1.进行调查研究,获取用户需求(问题识别)。这些需求包括:功能需求:所开发的软件必需具备什么功能(最重要)。性能需求:指待开发的软件应具备的性能指标,如存储容量,运行时间等。环境需求:指软件运行时的软件、硬件要求。用户界面需求:指人机交互方式、输入输出的数据格式等是否友好、便捷等。此外还有:可靠性需求、安全保密要求、用户界面需求、可移值性、可维护性等方面需求。调查时可采用以下几种方式:,与用户交谈,向用户提出问题。参观用户的工作流程,观察用户的操作。向用户群体发放调查问卷表。与同行、专家交谈,听取他们的意见。分
5、析已经存在的同类软件产品,提取需求。从行业标准、规则中提取需求。从Internet上搜索相关资料。分析员协同程序员通过调查分析,同时可以参考该项目的可行性报告和项目开发计划书,来获取当前系统的物理模型,可以采用系统流程图(是用来描述系统物理模型的一种传统工具)表示。例如:计算机售书的系统流程图如下页所示。,需求获取中的困难通信渠道不畅,数据管理不严与用户沟通存在障碍对分析活动没有系统的工作方法,需求建模,从当前系统的物理模型中去掉非本质因素,如地点、人物等,抽象出当前系统的逻辑模型,可以用数据流图表示。,需求评审,需求分析的最后一个环节,常见的需求分析方法有:结构化分析方法。面向对象的分析方法
6、。,2 结构化分析方法,概念 用一组标准的工具和策略从事系统分析与设计目的:撇开物理因素,在综合分析用户对系统各项要求的基础上,最终导出新系统的逻辑模型分析过程:细化数据流图(DFD)/控制流图(CFD)、编制数据字典、用户复查、修正开发计划、整理文档、审查和复审,结构化分析方法:结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。结构化分析的步骤如下:通过对用户的调查,以软件的需求为线索,获得当前系统的具体模型:去掉具体模型中非本质因素,抽象出当前系统的逻辑模型:根据计算机的特点分析当前系统与目标系统的差别,建立目标
7、系统的逻辑模型完善目标系统并补充细节,写出目标系统的软件需求规格说明;评审直到确认完全符合用户对软件的需求。,3 数据流图的绘制,数据流图(Data Flow Diagram,简称DFD)描绘系统的逻辑模型,是结构化系统分析的主要工具。数据流图(DFD)是描述软件系统中数据处理过程的一种有力的图形工具。,画数据流图步骤,1、首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据,这些输入数据从哪里来;有哪些输出数据,输出到哪里去。2、画系统内部,即画下层数据流图。一般将层号从开始编号,采用自顶向下,由外向内的原则。,注意事项,1、命
8、名。不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。2、一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流 3、父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据必须一致,此即父图与子图的平衡。,3、局部数据存储。当某层数据流图中的数据存储不是由图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。4、提高数据流图的易理解性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。,描述银行取款过程的数据流图
9、,数据流图的层次结构,为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统,分层的数据流图,在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。,结构化分析方法步骤示例 商店业务处理系统,这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能数据流图绘制步骤 首先确定系统的输入和输出 根据
10、商店业务,画出顶层数据流图,以反映最主要业务处理流程,经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图,第一层数据流图,加细每一个加工框 销售细化,采购细化,检查和修改数据流图的原则,数据流图上所有图形符号只限于前述四种基本图形元素数据流图的主图必须包括前述四种基本元素,缺一不可数据流图的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流,在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲
11、子关系规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡可以在数据流图中加入物质流,帮助用户理解数据流图,图上每个元素都必须有名字数据流图中不可夹带控制流初画时可以忽略琐碎的细节,以集中精力于主要数据流,4 数据词典,数据字典(Data Dictionary)是关于数据的信息的集合,通过数据字典对数据流程图中的各个元素作精确的定义与说明。它是数据流图的补充工具。数据词典与数据流图配合,能清楚地表达数据处理的要求。二者构成需求规格说明书的主要部分。词条描述 对于在数据流图中每一个被命名的图形元素,均加以定义,其内容有:名字,别名或编号,
12、分类,描述,定义,位置,其它等。,数据字典的内容及格式数据字典是为分析人员和用户查找数据流图中有关名字的详细定义而服务的,因此也像其他任何字典一样,要把所有条目按一定次序排列起来,以便查阅。数据字典有以下四类条目:数据流、数据项、数据存储、基本加工。其中,数据项是组成数据流和数据存储的最小元素。1)数据流条目给出了DFD中数据流的定义,主要部分是列出该数据流的各组成数据项。在定义数据流及数据存储组成时,通常要用到表2.4给出的符号。,2)数据存储条目是对数据文件内容的定义,主要内容举例如下:数据存储名称:学生成绩库别名:无组成:学生学号+课程编码+成绩+备注组织方式:以学号为记录关键字升序排列
13、。,3)数据项条目给出某个数据单项的定义,内容通常为数据项的值类型、允许取值范围等,其定义结构与数据流条目类似。4)加工条目是用来说明DFD中基本加工的处理逻辑,对其他非基本加工则不必进行加工说明。加工条目主要由输入数据、加工逻辑和输出数据等部分组成,加工逻辑描述把输入数据转换为输出数据的过程,是加工条目的主体。为了使加工逻辑直观易读,有几种常用的描述方法,它们是结构化语言、判定表和判定树。加工条目内容举例如下:加工名称:查阅库存编 号:1.2输 入:合格订单输 出:供货订单或缺货订单,加工逻辑:根据库存记录IF 订单项目数量该项目库存量的临界值THEN 可供货处理ELSE 此订单缺货,登记,
14、待进货后再处理ENDIF(3)数据字典的实现数据字典的建立可以用手工和自动两种方式实现。手工方式是指把每一个字典条目写在卡片上,由专人管理和维护。自动方式是借助数据字典处理程序,把字典条目输入到计算机中,用计算机对它进行检索和维护。,数据字典DD(Data Dictionary)用于描述DFD中各种数据,是一种描述数据的数据.DD中的内容:数据项数据存储数据流处理,DD中常用的符号:=:等价于+:和(连接两个分量):或a b:重复从a到b次():可选,1.数据项数据项是不可再分割的最小数据单位.数据项描述=数据项名,别名,含义说明,数据类型,定义,取值范围,取值含义,位置,与其他数据项之间的关
15、系,例:学生成绩管理系统的数据项.,数据项编号:101001数据项名:学号别名:学生号,学生编号含义说明:描述学生的唯一编号数据类型:字符型 定义:学号=10数字10 结构:a1a2a3a4a5a6a7a8a9a10 其中:a1=学区号,a2a3=入学年份,a4a5=系号,a6=专业号,a7a8=班号,a9a10=序号位置:学生,成绩单,补考名单,重修名单,数据项编号:101002数据项名:姓名别名:无含义说明:学生的姓名 数据类型:字符型 定义:2汉字4 位置:学生,成绩单,补考名单,重修名单,数据项编号:101003数据项名:性别别名:无含义说明:学生的性别数据类型:字符型 定义:2汉字2
16、 取值范围:男,女位置:学生,2.数据存储描述处理过程中存储的数据,可以是手工凭证、手工文档或计算机文件.数据存储=数据存储名,含义说明,输入数据流,输出数据流,定义,数据量,存取频度,存取方式,例:学生成绩管理系统的数据存储.,数据存储编号:201001数据存储名:学生 含义说明:学生的自然情况数据输入数据流:无输出数据流:学生数据定义:学生=学号+姓名+性别+出生日期+院系号数据量:最多为50000个学生,数据存储编号:201002数据存储名:课程含义说明:关于课程的数据输入数据流:无输出数据流:课程数据定义:课程=课号+课名+学时数+学分+考核性质数据量:最多为6000门课程,3.数据流
17、表示某一过程的输入或输出.数据流=数据流名,含义说明,流入过程,流出过程,定义,平均流量,高峰期流量流入/流出过程指从哪个过程来,到哪个过程去.平均流量指单位时间信息传输量.,例:学生成绩管理系统的数据流.,数据流编号:301001数据流名:考试成绩含义说明:考试原始成绩单流出过程:教务部门流入过程:成绩核对定义:考试成绩=学号+姓名+课号+课程名+分数,数据流编号:301002数据流名:成绩无效含义说明:原始成绩合法性判定流出过程:成绩核对流入过程:教务部门定义:成绩无效=学号+姓名+课号+课程名+分数+合格标志,4.处理描述处理或加工的过程.处理=处理名,含义说明,输入数据流,输出数据流,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 概论 第三 需求 分析
链接地址:https://www.31ppt.com/p-6434227.html