第2章软件需要分析

上传人:ldj****22 文档编号:53943493 上传时间:2018-09-06 格式:PPT 页数:106 大小:320KB
返回 下载 相关 举报
第2章软件需要分析_第1页
第1页 / 共106页
第2章软件需要分析_第2页
第2页 / 共106页
第2章软件需要分析_第3页
第3页 / 共106页
第2章软件需要分析_第4页
第4页 / 共106页
第2章软件需要分析_第5页
第5页 / 共106页
点击查看更多>>
资源描述

《第2章软件需要分析》由会员分享,可在线阅读,更多相关《第2章软件需要分析(106页珍藏版)》请在金锄头文库上搜索。

1、1,第2章 软件需要分析,本章主要内容 本章通过实例分析引入软件需求分析的任务与步骤,对软件需求分析的步骤:需求获取、分析建模、文档编写及需求验证做了较详细的介绍;并着重介绍了结构分析方法建立分析模型的描述工具及建立过程;同时给出文档编写规范与实例供学习参考。,2,第2章 软件需要分析,2.1 需求分析概述 2.2 需求获取的方法 2.3 分析建模 2.4软件需求说明 2.5 结构化分析方法 2.6 需求验证 2.7 需求说明书书写范例,3,2.1 需求分析概述,2.1.1 实例分析 2.1.2 需求分析的任务 2.1.3 需求分析的步骤,4,2.1.1 实例分析,开发过程模型 实例,5,开发

2、过程模型,当前系统:我们将用户正在使用的系统,可能是需要改进的已经使用的数据处理系统,或者是一个人工的处理数据的过程称为当前系统。 目标系统:将经过改进或者由纯人工方式的处理数据过程,应用计算机后的要实现的系统,即我们要完成的软件系统称为目标系统。 当前系统的物理模型:通过分析现实世界,理解当前系统的运行过程,用一个具体化的模型模拟了解当前系统的组织结构、资源利用情况和日常数据处理过程,这一模型称为当前系统的物理模型。合理的模型应该客观反映现实世界的实际情况。这是软件开发计划中较重要的一步,也是软件需要分析中的第一步。 当前系统的逻辑模型:在理解当前系统的具体运行过程后,从个体的细节中抽象出本

3、质的过程模型即当前系统的逻辑模型。 目标系统的逻辑模型:分析当前系统与目标系统逻辑上的差别,明确目标系统的“做什么”的实质工作,从当前系统的逻辑模型导出目标系统的逻辑模型。 目标系统的物理模型:要确定待开发系统的系统元素,并将功能和数据结构分配到系统元素中。这是软件开发项目的目的。它的具体物理模型则是由它的逻辑模型经实例化,具体到某个业务领域得到的。,7,实例2.1,高校学生在每学年的开始都需要交纳学费、书费、住宿费等费用。这些工作往往需要各个部门的人员参与,学生交费过程:先由系办公室秘书审查学生身份并开具交费清单(包括学费、书费、住宿费用等);学生持交费清单找财务科会计开具交费发票;找财务科

4、出纳付款;凭借交费发票去教材科领取教材,到宿舍办理入住手续,到系办公室办理开课手续。 以下见分析步骤及分析图见图2-2、图2-3、图2-4及图2-5。,8,分析步骤,通过对现实环境的调查研究,获取当前系统的物理模型 分析需求,建立系统的分析模型 整理综合需求,编写需求说明 验证需求,完善对目标系统的描述,13,2.1.2 需求分析的任务,认清问题、分析资料、建立分析模型 编写软件需求说明书,14,2.1.3 需求分析的步骤,需求获取 分析建模 文档编写 需求验证,15,需求获取,需求获取通常从分析当前系统包含的数据开始。首先分析现实世界,现场调查研究,通过与用户的交流,理解当前系统是如何运行的

5、,了解当前系统的机构、输入输出、资源利用情况和日常数据处理过程,并用一个具体模型反映分析员对当前系统的理解,这就是当前系统的物理模型的建立过程。这一模型应客观地反映现实世界的实际情况。,16,分析建模,分析模型的建立过程,就是从当前系统的物理结构中,抽象得出的当前系统的逻辑结构,再利用当前系统的逻辑结构,除去那些非本质的东西,抽象出目标系统的逻辑结构的过程,即对目标系统的综合要求及数据要求的分析综合的过程。是需求分析过程中关键的一步 。可分成以下三个步骤:,首先,在理解当前系统“怎么做”的基础上,抽取其“做什么”的本质,从而从当前物理模型抽象出当前系统的逻辑模型。在物理模型中有许多物理的因素,

6、随着分析工作的深入,需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素得出反映系统本质的逻辑模型。 其次,分析目标系统与当前系统逻辑上的差别,从当前系统的逻辑模型导出目标系统的逻辑模型。从分析当前系统与目标系统变化范围的不同,决定目标系统与当前系统逻辑上的差别;将变化的部分看作是新的处理步骤对数据流图进行调整;由外向里对变化的部分进行分析,推断其结构,获取目标系统的逻辑模型。 最后,补充目标系统的逻辑模型。为了使已经得出的模型能够对目标系统作完整的描述,还需要从目标系统的用户界面、尚末详细考虑的细节以及其它诸如系统能够满足的性能和限制方面加以补充。,18,文档编写,已经确

7、定的分析模型应当得到清晰准确的描述。我们把描述目标系统的逻辑模型的文档称为软件需求说明书。软件需求分析说明书是软件需求分析阶段最主要的文档。同时,为了确切表达用户对软件的输入输出要求,还需要制定数据要求说明书及编写初步的手册,反映目标系统的用户界面和用户使用的具体要求。此外,依据在需求分析阶段对目标系统的进一步分析,可以更准确地估计被开发项目的成本与进度,从而修改完善与确定软件开发实施计划。,19,需求验证,由分析员提供的软件需求说明初稿看起来的正确的,在实现的过程中却会出现各种各样的问题:如需求不一致的问题、二义性问题等。这些都必须通过需求分析的验证复审来发送,确保需求说明可作为软件设计和最

8、终系统验收的依据。这个环节的参与者有用户、管理部门、软件设计、编码和测试人员。验证的结果可能会引起修改,必要时要修改软件计划来反映环境的变化。需求验证是软件需求分析任务完成的标志。,20,2.2 需求获取的方法,2.2.1 常规的需求获取的方法 2.2.2 快速原型法在需求分析中的应用,21,常规的需求获取的方法,访谈 情景 简易的应用规格说明技术,22,访谈,访谈是最早使用的获取用户需求的技术,也是世界上仍然广泛使用的需求分析技术。访谈有两种基本形式:正式的和非正式的访谈。正式访谈时,系统分析员将提出事先准备好的具体问题,如询问学生收费的范围、学生的类别与学费的标准、学生教材确定的途径等。在

9、非正式的访谈中,分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法。例如,询问用户对目前正在使用的系统有哪些不满意的地方,他对于未来系统的期待等。 当涉及的用户较多时,发放调查表是一个行之有效的方法。经过仔细考虑写出的书面回答可能会比被访问者的口头回答更准确,分析员仔细阅读收回的调查表,再有针对性地访问用户,以便向他们询问分析调查表时发现的问题。,23,情景,情景分析技术也是访问用户过程中实用的技术之一。情景分析就是对用户将来使用目标系统解决某个问题的方法和结果进行分析。假设在使用收费系统软件中,给出一个具体学生的姓名、专业、学生类别、年级时,就有一个情景描述。系统分

10、析员根据自己对目标系统应具备的功能的理解,给出学生交费的情况,以及学生教材的清单。学生有可能指出,他是休学一年的学生,教材的情况和他同年级的学生是不一样的。系统分析员根据这样的情景分析技术,往往能得到用户的特殊要求。,24,简易的应用规格说明技术,访谈的过程中,用户处于被动地位,不容易和系统分析员同心协力的识别和精化需求;有时,系统分析员对用户的业务过程和术语不太熟悉,用户也不太熟悉计算机的处理过程。这样,用户提供的需求信息,在系统分析员看来往往是零散和片面的,需要一个领域专家来沟通。因而,建立一个由用户、系统分析员和领域专家组成的联合分析小组,对于开发人员与用户之间的交流和需求的获取将非常有

11、用。通过联合分析小组极大地方便系统人员与用户之间的沟通,这种面向团队的需求收集法,称为简易的应用规格说明技术。目前,这种技术已经成为信息系统领域使用的主流技术。,25,快速原型法在需求分析中的应用,在软件需求分析阶段,开发人员根据对软件的理解,利用快速开发工具先快速建立一个系统原型。然后让用户对原型进行评估,开发人员观察并做记录。根据用户的丰富的实践经验,告知开发人员快速原型是否满足他们的要求,指出需要改进的地方。开发人员根据要求修改快速原型,用户进一步实践并提出新的要求与修改意见。这样反复操作,直到双方能够确认用户的需求已经准确地包含在快速原型中。这样,快速原型才可作为拟订软件需求说明书的基

12、础。 它有两个重要特点如下:快、可以修改,26,快,快速原型开发的一个重要特点是一个“快”字,全部的要点是尽可能快地建立原型,为用户提供对软件尽可能快、尽可能好地理解。快速原型的目的就是使用户与开发人员能够在对目标系统的需求上达成一致意见。所以,快速原型的屏幕布局不必要求完美,甚至它每几分钟崩溃都没有问题,只要它们没有损害快速原型的功能不会造成用户对产品的行为产生误解,快速原型的其它不完美之处是可以忽略不计的。,27,可修改,快速原型开发的另一个重要特点是必须可以修改的。如果快速原型不符合用户的要求,该原型必须能够迅速修改来满足用户的需求。为了在快速原型中较快地进行开发工作,第四代开发技术(4

13、GT)是常用的快速原型工具,它利用第四代语言或开发工具,包括数据库查询和报表语言、程序和应用软件生成器,还有其他高级非过程语言等。Borland公司的Deliphi,Sybase公司的PowerBuilder,以及微软公司的Visual Basic、Visual C+等都是很好的第四代开发工具。,28,2.3 分析建模,2.3.1分析模型 2.3.2 分析建模的描述工具,29,分析模型,结构化分析模型 面向对象分析模型,30,结构化分析模型,该模型的核心是DD(Data Dictionary 数据字典),这是系统所涉及的各种数据对象的总和(如下图所示)。从数据字典出发主要通过以下三种图来构建该

14、模型的数据模型、功能模型和行为模型 : E-R图 DFD图 STD图,32,ER图,使用E-R图(Entity Relation Diagram实体联系图)用于描述数据对象间的关系,它构建软件的数据模型,在实体-关系中出现的每个数据对象的属性均可用数据对象说明描述。,33,DFD图,DFD图(Data Flow Diagram,数据流图):其主要作用是指明系统中数据是如何在流动和变换的,描述数据流如何进行变换的,在DFD图中出现的每个功能都会写在加工说明(Process Specification,PSPEC)中,它们一起构成系统的功能模型。,34,STD图,STD图(Status Trans

15、fer Diagram,状态-变迁图) 用于指明系统在外部事件的作用下将如何动作,表明系统的各种状态及各种状态间的变迁,所有软件控制方面的附加信息包含在控制说明(Control Specification CSPEC)中,它们构成系统的行为模型。,35,面向对象分析模型,面向对象分析(Object-Oriented Analysis,OOA)是采用面向对象的思想进行软件需求分析建模的过程。通过对对象定义属性,赋予操作,把该对象在系统中活动特点描述出来,然后通过消息将对象内及对象与对象之间的关系反映出来,它的组成结构如下图所示。面向对象得到的模型包含对象的三个要素即数据交换(功能模型)、静态结构

16、(对象模型)和交互次序(动态模型)。,37,对象模型,定位在哪个对象上,通过反映系统中的对象与对象之间的关系及表示对象、类、属性和操作来表达目标系统的静态结构,与结构化分析模型中的数据模型有相近的功能。利用类图及对象图建模。,38,功能模型,确定什么事件发生,反映的是系统模块的输入和输出,该模型从用户的视角来表示系统,用例图和场景用于功能模型的建模选择。,39,动态模型,决定在什么时候,什么条件下发生。关心的是时间变化,对象与对象之间关系的变化。对象与对象之间的相互作用,导致它们的状态不断发生变化。一个事件是指一个单独对象对另一个的激励。该模型主要描述目标系统的动态或行为,相当于结构化分析模型

17、中的行为模型。以状态图和时序图为工具建模。,40,分析建模的描述工具,数据流图 (DFD) 数据字典(DD) 加工说明(Process SPECification,PSPEC) 实体联系图(ER) 层次方框图,41,数据流图(DFD),任何软件系统从根本上都是对数据的加工或变换的工具。当数据在软件系统中移动时,它将被一系列“变换”所修改。数据流图(DFD)就是描述信息流和数据从移动到输出的过程中所经受的变换的图形化技术。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的过程。它可表现的范围可大到整个系统,小到一个模块。在需求分析中常用一组DFD图由粗到精地表示同一软件在不同抽象级别上的功能,这就是分层数据流图。图2-8所表示的是数据流图的一般形式,其基本组成如图2-9所示,由数据流、加工、文件、源点/汇点组成。实例见例2-2,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号