需求分析电子教案_第1页
需求分析电子教案_第2页
需求分析电子教案_第3页
需求分析电子教案_第4页
需求分析电子教案_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

.,1,第2章可行性研究与需求分析,学习目标:了解可行性研究的定义、任务、步骤及工具掌握软件需求分析的任务与目标及Warnier图的使用,熟悉需求规格说明书的基本结构掌握软件需求分析的过程掌握掌握结构化分析方法和快速原型方法掌握数据流图与数据字典的基本元素与应用,.,2,第2章可行性研究与需求分析,教学内容2.1可行性研究2.2需求分析2.3结构化分析方法2.4需求分析评审2.5需求分析实例本章小结,.,3,2.1可行性研究,返回目录,主要教学内容:2.1.1问题的定义2.1.2可行性研究的任务2.1.3可行性研究的步骤及工具2.1.4制订项目计划,.,4,2.1可行性研究,2.1.1问题的定义问题定义(ProblemDefinition)是软件定义的第一个阶段,该阶段主要明确“该软件开发项目要解决什么问题”。系统分析过程的第一步要明确用户的需求。为此,系统分析员在对用户的需求进行分析时,必须明确以下问题:软件系统要完成的总体目标是什么?要开发的软件的功能和性能是什么?软件系统在可靠性和质量上有何具体要求?开发该软件系统是否具备可行的技术?当前市场和竞争对手的情况怎样?开发该软件系统是否有成本和进度约束?该软件系统将来可能进行哪些扩充?,返回目录,.,5,2.1可行性研究,2.1.2可行性研究的任务可行性研究的主要目的是用极少的代价在最短的时间内决定被开发的软件是否能开发成功。(1)经济可行性:通过对被开发软件系统的成本效益的分析,估算系统的开发成本,估计系统可能取得的效益,确定待开发系统是否值得投资开发。(2)技术可行性:从问题定义规格说明书提出的系统功能、性能以及实际系统的各种约束来分析,确定当前的技术及条件是否能实现整个系统。,.,6,2.1可行性研究,(3)法律可行性:分析在系统开发的全部过程中可能出现和涉及的法律问题,如合同、责任、知识产权、专利等问题。(4)运行可行性:判断新系统的运行方式是否可行。,返回目录,.,7,2.1可行性研究,2.1.3可行性研究的步骤及工具1可行性研究的步骤(1)确定系统的规模和目标(2)分析现有系统,设计新系统的高层系统模型(3)评审系统模型(4)设计和评价新系统的实现方案(5)制定行动方案(6)拟定开发计划(7)编制可行性报告,.,8,2.1可行性研究,2可行性研究的工具在进行可行性研究时,使用的主要工具为系统流程图。系统流程图的基本作用是:以黑盒方式描述系统各部件(如人工处理、程序、数据库、图表等),它只描述了信息在系统各部件中的流动情况,不对信息在系统中的加工细节进行描述,所以它不同于程序流程图。,返回目录,.,9,2.1可行性研究,2.1.4制订项目计划制订项目开发计划的目的是用文件的形式,把开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软、硬件资源等问题做出的安排记载下来,以便根据本计划开展和跟踪本项目的开发工作。,返回目录,.,10,2.2需求分析,主要教学内容:2.2.1需求分析的目标和任务2.2.2软件需求的获取2.2.3需求分析的过程2.2.4快速原型方法,返回目录,.,11,2.2需求分析,2.2.1需求分析的目标和任务软件需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求。需求分析的基本任务是软件人员和用户一起完全弄清用户对系统的确切要求,通俗地说就是要解决“系统做什么”的问题,但不包括“怎么做”的问题。,.,12,2.2需求分析,需求分析阶段的具体任务:1确定目标系统的具体要求(1)确定系统的运行环境要求(2)系统的性能要求(3)系统功能2分析系统的数据要求3建立目标系统的逻辑模型4修正系统开发计划5建立原型系统6编写软件需求规格说明书及评审,返回目录,.,13,2.2需求分析,2.2.2软件需求的获取(1)访谈和会议(2)市场调查(3)访问用户和用户领域的专家(4)考察现场,跟踪现场业务流程(5)开发人员和用户共同组成联合小组,返回目录,.,14,2.2需求分析,2.2.3需求分析的过程(1)问题识别首先系统分析员要研究可行性分析报告和软件项目实施计划。主要是从系统的角度来理解软件,并评审用于产生计划估算的软件范围是否恰当,确定对目标系统的综合要求,即软件的需求。并提出这些需求实现条件,以及需求应达到的标准。也就是解决要求被开发的软件用来做什么,做到什么程度。这些需求包括:,.,15,2.2需求分析,功能需求。性能需求。环境要求。可靠性需求。安全保密要求。用户界面需求。资源使用需求。软件成本消耗与开发进度需求。预计系统可达到的目标。,.,16,2.2需求分析,(2)分析与综合在对现行问题和期望的信息(输入和输出)进行分析的基础上,分析员综合出一个或几个解决方案,然后检查这些方案是否符合软件计划中规定的范围等,再进行修改。总之,对问题进行分析和综合的过程将一直持续到分析人员与用户双方都感到有把握正确地制定该软件的需求规格说明为止。,.,17,2.2需求分析,(3)编制需求规格说明(4)需求分析评审作为需求分析阶段工作的复查手段,在需求分析的最后一步,应该对功能的正确性、完整性和清晰性,以及其他需求给予评价。如果在评审过程中发现说明书存在错误或缺陷,应及时进行更改或弥补,并再次评审。需求分析评审过程将在2.4.2部分进行详细介绍。,返回目录,.,18,2.2需求分析,2.2.4快速原型方法在软件工程中,原型是软件的一个早期可运行的版本,它能反映最终系统的一部分重要特性。如果在获得一组基本需求说明后,通过快速分析构造出一个小型的软件系统,满足用户的基本要求。使得用户可在试用原型系统的过程中得到亲身感受和受到启发,做出反应和评价。然后开发者根据用户的意见对原型加以改进。随着不断试验、纠错、使用、评价和修改,获得新的原型版本,如此周而复始,逐步减少分析和交流中的误解,弥补不足之处,进一步确定各种需求细节,适应需求的变更,从而提高最终产品的质量。,.,19,2.2需求分析,1原型的分类(1)废弃型先构造一个功能简单而且质量要求不高的原型系统,针对这个原型系统反复进行分析修改,形成比较好的设计思想,据此设计出更加完整、准确、一致、可靠的最终系统。系统构造完成后,原来的原型系统就被废弃不用。(2)追加型或演化型先构造一个功能简单而且质量要求不高的模型系统,作为最终系统的核心,然后通过不断地扩充修改,逐步追加新要求,最后发展成为最终系统。,.,20,2.2需求分析,2原型类型的选择3快速原型开发模型(1)快速分析在分析员和用户的紧密配合下,快速确定软件系统的基本要求。(2)构造原型在快速分析基础上,根据基本需求,尽快实现一个可运行的系统。(3)运行和评价原型用户在开发者指导下试用原型,在试用的过程中考核评价原型的特性,分析其运行结果是否满足规格说明的要求,以及规格说明是否满足用户愿望。,.,21,2.2需求分析,(4)修正和改进根据用户反馈的意见修改原型。(5)判定原型是否完成经过修改或改进的原型,得到参与者的一致认可,则原型开发的迭代过程可以结束。为此,应判断有关应用的实质是否已经掌握,迭代周期是否可以结束等。(6)判断原型细节是否说明(7)原型细节的说明(8)判定原型效果(9)整理原型和提供文档。,返回目录,.,22,2.3结构化分析方法,主要教学内容:2.3.1结构化分析模型2.3.2数据流图与数据字典2.3.3Warnier图,返回目录,.,23,2.3结构化分析方法,SA(StructuredAnalysis,结构化分析方法)是20世纪70年代中期由EYourdon等人倡导的一种面向数据流的分析方法。2.3.1结构化分析模型结构化分析模型的组成结构如图2.3所示。,.,24,2.3结构化分析方法,图2.3结构化分析模型的结构,.,25,2.3结构化分析方法,1数据建模一般地,数据模型包括3种互相关联的信息,即数据对象、属性和关系。(1)数据对象(2)属性(3)关系:各个数据对象的实例之间的关联。实例的关联类型有3种:一对一(1:1)一对多(1:m)多对多(n:m)(4)实体关系图:数据对象及其关系可用ERD表示。,.,26,2.3结构化分析方法,2功能建模和数据流功能建模的思想就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。3行为建模行为建模给出需求分析方法的所有操作原则,但只有结构化分析方法的扩充版本才提供这种建模的符号。行为建模常用状态迁移图作为分析工具。,.,27,2.3结构化分析方法,4结构化分析方法的步骤结构化分析方法应用非常广泛,特别适用于对数据处理类型的软件进行需求分析,在进行结构化分析时,可按以下步骤进行:(1)采用“自顶向下,逐步细化”的方法对系统进行功能分解;(2)画出分层数据流图;(3)由后向前定义系统的数据和加工;(4)编制DD和PSPEC;(5)写出SRS。,返回目录,.,28,2.3结构化分析方法,2.3.2数据流图与数据字典1数据流图数据流图(DataFlowDiagram,简称DFD)是用来描绘软件系统逻辑模型的图形工具,用于描绘信息在系统中流动和处理情况。设计DFD只需考虑软件系统必须完成的基本逻辑功能,完全不需考虑如何具体地实现这些功能,即只考虑软件“做什么”,而不必考虑“怎么做”。(1)数据流图的图形符号在数据流图中常用的有4种基本符号,如表2.3所示。,.,29,2.3结构化分析方法,(2)使用数据流图的注意事项在使用数据流图时,要注意以下几点:数据处理不一定是一个程序。一个数据存储不一定是一个文件。数据存储和数据流都是数据,而它们所处的状态不同,数据存储是静止状态的数据,数据流是运动状态的数据。同一数据流图中,加工的个数不要太多以59个为宜。数据流图细化原则。如果数据流图过于复杂,可画出分层数据流图。但数据流图分层细化时必须保持信息的连续性,即细化前后对应功能的输入/输出数据必须相同。,.,30,2.3结构化分析方法,在对数据流图进行分层时,容易出现以下几种错误,应特别注意:父图与子图不平衡分解的速度太快不遵守加工编号规则,.,31,2.3结构化分析方法,(3)数据流图中各成分的命名方法为数据流或数据存储命名数据流或数据存储的名字应代表整个数据流或数据存储的内容,而不是仅仅反映它的某些成分,命名时不要使用空洞的、缺乏具体含义的名字。为处理命名一般应首先对数据流命名,然后再对与之相关联的处理命名。命名应该反映整个处理的功能。名字最好由一个具体的及物动词,加上一个具体的宾语组成。为数据源点/终点命名为数据源点/终点命名时采用它们在问题域中习惯使用的名字。,.,32,2.3结构化分析方法,2、数据字典数据字典(DataDictionary,DD)是结构化分析方法的另一种有力工具,在数据字典中建立的一组严密一致的定义有助于消除分析员和用户之间的沟通障碍,因此将消除许多可能的误解。对数据的这一系列严密一致的定义也有助于改进在不同的开发人员或不同的开发小组之间的通信。同时,数据字典也是软件维护时使用的一种重要资料。如果要求所有开发人员都根据公共的数据字典描述数据和设计模块,则能避免许多麻烦的接口问题,提高开发的效率和质量。,.,33,2.3结构化分析方法,(1)数据字典的内容数据流词条描述数据项词条描述数据文件词条描述加工逻辑词条描述源点及汇(终)点词条描述,.,34,2.3结构化分析方法,(2)数据字典的数据定义方法在对数据进行定义时,可以使用数据各成分的组合来表示该数据,这些组合又由更底层的成分组合进行定义。因此,对数据的定义可以理解为对数据进行自顶向下的分解,直到参与系统开发的人员都能理解所分解出来的成分或元素的意义,不再需要进行任何的解释。数据字典就是按照这样的方法,自顶向下逐级给出定义式,直到最后出现无需定义的基本数据元素。必要时,有些定义式可能需要增加一些解释行。同日常使用的词典一样,数据字典的定义式可以按一定顺序排列,如按字母顺序排列。当然不允许出现重复定义或是定义式互相矛盾的情况。,.,35,2.3结构化分析方法,在数据字典的定义式中出现的符号如表2.4所示:总之,数据字典与数据流图应相辅相成、互相配合,并应遵守以下约定:有关数据的流向在数据流图中描述;有关数据的组成在数据字典中描述;有关数据的加工细节在数据字典中描述;编写数据字典时不能有遗漏和重复,即遵循不重不漏的原则;数据字典小的条目的排列要有一定规律,要能通过名字方便地查阅条目的内容,如按英文字母表顺序或按汉字笔划顺序排列或按功能分类等;数据字典的编写要易于更新修改。,返回目录,.,36,2.3结构化分析方法,2.3.3Warnier图Warnier图是专门表示层次信息结构的一种紧凑和直观的工具,使用简单、方便,很容易被人接受。Warnier图使用树形结构描述信息,既可以描述数据的结构也可用来表示程序结构。它可以表示信息出现的条件和重复次数,而重复和条件约束是说明软件处理过程的基础,所以经常把Warnier图作为软件分析和设计的工具。,返回目录,.,37,2.4需求分析评审,主要教学内容:2.4.1需求规格说明书2.4.2评审过程,返回目录,.,38,2.4需求分析评审,2.4.1需求规格说明书软件规格说明书中阐明的需求是经过认真研究和分析后定下来的,是软件开发人员和用户对问题的共同理解,可被当作是双方达成的协议书。由于其中规定的需求都是系统准备加以实现的,因此它应该作为软件设计和实现的基础和依据。在项目开发的最后阶段,其中规定的各项需求又将是产品验收的依据。当软件产品投入运行以后,如需进行适应性或扩充性维护,仍然需要软件规格说明书。由此可见,软件规格说明书在整个软件生存周期中都具有十分重要的作用。,返回目录,.,39,2.4需求分析评审,2.4.2评审过程在将需求规格说明书提交给设计阶段之前,必须进行需求评审。如果在评审过程中发现说明书存在错误或缺陷,应及时进行更改或弥补,重新进行相应部分的初步需求分析、需求建模,修改需求规格说明书,并再进行评审。(1)正确性(2)无歧义性(3)完全性,.,40,2.4需求分析评审,(4)可验证性(5)一致性(6)可理解性(7)可修改性(8)可追踪性,返回目录,.,41,2.5需求分析实例,主要教学内容:2.5.1画分层数据流图2.5.2确定数据定义与加工策略2.5.3实例的需求分析评审,返回目录,.,42,2.5需求分析实例,本节以2.1.3小节所给出的学生成绩管理系统为例,说明需求分析的方法。2.5.1画分层数据流图1画顶层数据流图,图2.7学生成绩管理系统的顶层DFD,.,43,2.5需求分析实例,2画第二层数据流图,图2.8学生成绩管理系统的分层DFD,.,44,2.5需求分析实例,3画第三层数据流图,图2.9查询细化DFD,.,45,2.5需求分析实例,图2.10编辑细化DFD,.,46,2.5需求分析实例,返回目录,图2.11统计细化DFD,.,47,2.5需求分析实例,2.5.2确定数据定义与加工策略1.数据流的定义本例中的平均成绩数据流可如下定义:数据流名:平均成绩编号:031别名:无组成:班级名、课程名、平均成绩来源:加工3.1去处:教务员简要说明:表明某

温馨提示

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

最新文档

评论

0/150

提交评论