预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
软件工程教学辅导(二)第三章需求分析第一节需求分析的任务需求分析的任务:确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。需求分析的出发点:可行性分析阶段产生的文档——数据流图终结点:详细的数据流图(DFD),数据字典(DD)和一组简明的算法。需求分析的具体任务:确定对系统的综合要求分析系统的数据要求导出系统的逻辑模型修正系统开发计划开发原型系统需求分析具体任务的各个阶段确定对系统的综合要求系统功能要求:应该划分出系统必须完成的所有功能系统性能要求:联机系统的响应时间系统需要的存储容量后援存储重新启动安全性等运行要求:对系统运行时所处环境的要求系统软件是什么采用的数据库管理系统外存储器数据通信接口等将来可能提出的要求:为系统将来扩充或修改预做准备分析系统的数据要求:数据字典不够形象直观,为了提高可理解性,常用图形工具(层次方框图,WARNIER图)描绘数据结构。分析系统的数据要求是由系统的信息流归纳抽象出:数据元素组成、数据的逻辑关系、数据字典格式和数据模型,并以输入/处理/输出(IPO)的结构方式表示。导出系统的逻辑模型:综合系统和数据两项分析的结果,明确目标系统要“做什么”。导出系统的详细的逻辑模型。系统的详细逻辑模型:数据流图数据字典处理算法描述具体做法:明确目标系统与当前系统的逻辑差别将变化的部分看作是新的处理步骤对功能图(数据流图)及对象图进行调整;由外及里对变化的部分进行分析,推断其结构,获得目标系统的逻辑模型。修正系统开发计划在更深入了解的基础上,较准确的估计系统的成本、进度,修正以前制定的开发计划。开发原型系统:主要目的:使用户通过实践获得关于未来的系统将怎样为他们工作的更直接更具体的概念,从而可以更准确地提出和确定他们的要求。(使用户有更直接,更具体的概念,更准确确定其要求)主要困难:成本问题。需求分析的步骤(3.1.2)调查研究参加人员:分析人员、程序员、用户参加主要工作:跟踪数据流图、复查系统的逻辑模型(循环)。具体工作:沿数据流图回溯用户复查分析与综合主要任务:从数据流和数据结构出发,细化所有的软件功能,找出系统元素之间的关系、接口特性和设计上的限制,分析他们是否满足功能要求,是否合理。具体工作:细化数据流图修正开发计划细化原则在分层细化时必须保持信息的连续性,细化前后对应功能的输入/输出数据必须相同,当进一步细化到将涉及如何具体实现一功能时,就不用再细化了书写文档系统规格说明书目标系统的概貌功能要求性能要求运行要求将来可能提出的要求数据要求数据字典描绘数据结构的层次方框图或warnier图对存储信息的分析结果用户系统描述用户手册(系统功能、使用步骤和方法、系统用户的责任)修正的开发计划成本计划、资源使用计划和进度计划的修正需求分析评审对功能的正确性、完整性和清晰性以及其它需求给予评价。需求分析的原则(3.1.3)必须能够表达和理解问题的数据域和功能域数据域:应包括数据流、数据内容、数据结构。(数据域的属性)数据流:数据通过一个系统时的变化方式。数据内容:数据项。数据结构:各种数据项的逻辑组织。功能域:对数据进行转换是程序中应有的功能或子功能。按自顶向下、逐层分解问题把问题分解为几个较易理解的部分,并确定各部分的接口,从而实现整体功能。横向分解:把一个功能分解成几个子功能,并确定这些子功能与父功能的接口。纵向分解:在横向分解的基础上,把某些子功能又分解为小的子功能,某个小的子功能又分解为更小的子功能。要给出系统的逻辑视图和物理视图系统的逻辑视图:给出软件要达到的功能和要处理数据之间的关系,而不是实现的细节。系统的物理视图:给出处理功能和数据结构的实际表示形式,这往往有设备决定的。需求分析方法需求分析方法组成:对软件的数据域和功能域的系统分析过程及其表示方法。定义表示系统的逻辑视图和物理视图的方式。结果:建立一个待开发软件的抽象模型,即目标系统的逻辑模型。共性:支持数据域分析的机制功能表示的方法接口的定义问题分解的机制以及对抽象的支持逻辑视图和物理视图系统抽象模型面向数据流的需求分析方法:(SA法----StructuredAnalysis)结构化分析方法:(SA法----StructuredAnalysis)20世纪70年代末,E.Yourdon等人提出和发展。定义:结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。核心思想:是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象