2需求分析电子教案省公开课金奖全国赛课一等奖微课获奖课件_第1页
2需求分析电子教案省公开课金奖全国赛课一等奖微课获奖课件_第2页
2需求分析电子教案省公开课金奖全国赛课一等奖微课获奖课件_第3页
2需求分析电子教案省公开课金奖全国赛课一等奖微课获奖课件_第4页
2需求分析电子教案省公开课金奖全国赛课一等奖微课获奖课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

第2章可行性研究与需求分析学习目标:了解可行性研究定义、任务、步骤及工具掌握软件需求分析任务与目标及Warnier图使用,熟悉需求规格说明书基本结构掌握软件需求分析过程掌握掌握结构化分析方法和快速原型方法掌握数据流图与数据字典基本元素与应用11/52第2章可行性研究与需求分析

教学内容

2.1可行性研究

2.2需求分析

2.3结构化分析方法

2.4需求分析评审

2.5需求分析实例

本章小结

22/522.1可行性研究返回目录主要教学内容:

2.1.1问题定义

2.1.2可行性研究任务

2.1.3可行性研究步骤及工具

2.1.4制订项目计划33/522.1可行性研究2.1.1问题定义问题定义(ProblemDefinition)是软件定义第一个阶段,该阶段主要明确“该软件开发项目要处理什么问题”。系统分析过程第一步要明确用户需求。为此,系统分析员在对用户需求进行分析时,必须明确以下问题:软件系统要完成总体目标是什么?要开发软件功效和性能是什么?软件系统在可靠性和质量上有何详细要求?开发该软件系统是否具备可行技术?当前市场和竞争对手情况怎样?开发该软件系统是否有成本和进度约束?该软件系统未来可能进行哪些扩充?返回目录44/522.1可行性研究2.1.2可行性研究任务可行性研究主要目标是用极少代价在最短时间内决定被开发软件是否能开发成功。(1)经济可行性:经过对被开发软件系统成本效益分析,估算系统开发成本,预计系统可能取得效益,确定待开发系统是否值得投资开发。(2)技术可行性:从问题定义规格说明书提出系统功效、性能以及实际系统各种约束来分析,确定当前技术及条件是否能实现整个系统。55/522.1可行性研究(3)法律可行性:分析在系统开发全部过程中可能出现和包括法律问题,如协议、责任、知识产权、专利等问题。(4)运行可行性:判断新系统运行方式是否可行。返回目录66/522.1可行性研究2.1.3可行性研究步骤及工具1.可行性研究步骤(1)确定系统规模和目标(2)分析现有系统,设计新系统高层系统模型(3)评审系统模型(4)设计和评价新系统实现方案(5)制订行动方案(6)确定开发计划(7)编制可行性汇报77/522.1可行性研究2.可行性研究工具在进行可行性研究时,使用主要工具为系统流程图。系统流程图基本作用是:以黑盒方式描述系统各部件(如人工处理、程序、数据库、图表等),它只描述了信息在系统各部件中流动情况,不对信息在系统中加工细节进行描述,所以它不一样于程序流程图。返回目录88/522.1可行性研究2.1.4制订项目计划制订项目开发计划目标是用文件形式,把开发过程中各项工作责任人员、开发进度、所需经费预算、所需软、硬件资源等问题做出安排记载下来,方便根据本计划开展和跟踪本项目标开发工作。返回目录99/522.2需求分析主要教学内容:

2.2.1需求分析目标和任务

2.2.2软件需求获取

2.2.3需求分析过程

2.2.4快速原型方法

返回目录1010/522.2需求分析2.2.1需求分析目标和任务软件需求分析目标是深入描述软件功效和性能,确定软件设计约束和软件同其它系统元素接口细节,定义软件其它有效性需求。需求分析基本任务是软件人员和用户一起完全搞清用户对系统确实切要求,通俗地说就是要处理“系统做什么”问题,但不包含“怎么做”问题。1111/522.2需求分析

需求分析阶段详细任务:1.确定目标系统详细要求(1)确定系统运行环境要求(2)系统性能要求(3)系统功效2.分析系统数据要求3.建立目标系统逻辑模型4.修正系统开发计划5.建立原型系统6.编写软件需求规格说明书及评审返回目录1212/522.2需求分析2.2.2软件需求获取(1)访谈和会议(2)市场调查(3)访问用户和用户领域教授(4)考查现场,跟踪现场业务流程(5)开发人员和用户共同组成联合小组返回目录1313/522.2需求分析2.2.3需求分析过程(1)问题识别首先系统分析员要研究可行性分析汇报和软件项目实施计划。主要是从系统角度来了解软件,并评审用于产生计划估算软件范围是否恰当,确定对目标系统综合要求,即软件需求。并提出这些需求实现条件,以及需求应到达标准。也就是处理要求被开发软件用来做什么,做到什么程度。这些需求包含:1414/522.2需求分析功效需求。性能需求。环境要求。可靠性需求。安全保密要求。用户界面需求。资源使用需求。软件成本消耗与开发进度需求。预计系统可到达目标。1515/522.2需求分析(2)分析与综合在对现行问题和期望信息(输入和输出)进行分析基础上,分析员综合出一个或几个处理方案,然后检验这些方案是否符合软件计划中要求范围等,再进行修改。总之,对问题进行分析和综合过程将一直连续到分析人员与用户双方都感到有把握正确地制订该软件需求规格说明为止。1616/522.2需求分析(3)编制需求规格说明(4)需求分析评审作为需求分析阶段工作复查伎俩,在需求分析最终一步,应该对功效正确性、完整性和清楚性,以及其它需求给予评价。假如在评审过程中发觉说明书存在错误或缺点,应及时进行更改或填补,并再次评审。需求分析评审过程将在2.4.2部分进行详细介绍。返回目录1717/522.2需求分析2.2.4快速原型方法在软件工程中,原型是软件一个早期可运行版本,它能反应最终系统一部分主要特征。假如在取得一组基本需求说明后,经过快速分析结构出一个小型软件系统,满足用户基本要求。使得用户可在试用原型系统过程中得到亲身感受和受到启发,做出反应和评价。然后开发者依据用户意见对原型加以改进。伴随不停试验、纠错、使用、评价和修改,取得新原型版本,如此周而复始,逐步降低分析和交流中误解,填补不足之处,深入确定各种需求细节,适应需求变更,从而提升最终产品质量。1818/522.2需求分析1.原型分类(1)废弃型先结构一个功效简单而且质量要求不高原型系统,针对这个原型系统重复进行分析修改,形成比很好设计思想,据此设计出愈加完整、准确、一致、可靠最终系统。系统结构完成后,原来原型系统就被废弃不用。(2)追加型或演化型先结构一个功效简单而且质量要求不高模型系统,作为最终系统关键,然后经过不停地扩充修改,逐步追加新要求,最终发展成为最终系统。1919/522.2需求分析2.原型类型选择3.快速原型开发模型(1)快速分析在分析员和用户紧密配合下,快速确定软件系统基本要求。(2)结构原型在快速分析基础上,依据基本需求,尽快实现一个可运行系统。(3)运行和评价原型用户在开发者指导下试用原型,在试用过程中考评评价原型特征,分析其运行结果是否满足规格说明要求,以及规格说明是否满足用户愿望。2020/522.2需求分析(4)修正和改进依据用户反馈意见修改原型。(5)判定原型是否完成经过修改或改进原型,得到参加者一致认可,则原型开发迭代过程能够结束。为此,应判断相关应用实质是否已经掌握,迭代周期是否能够结束等。(6)判断原型细节是否说明(7)原型细节说明(8)判定原型效果(9)整理原型和提供文档。返回目录2121/522.3结构化分析方法主要教学内容:

2.3.1结构化分析模型

2.3.2数据流图与数据字典

2.3.3Warnier图

返回目录

2222/522.3结构化分析方法

SA(StructuredAnalysis,结构化分析方法)是20世纪70年代中期由E.Yourdon等人提倡一个面向数据流分析方法。2.3.1结构化分析模型结构化分析模型组成结构如图2.3所表示。2323/522.3结构化分析方法图2.3结构化分析模型结构数据字典状态—迁移图数据流图数据对象说明实体—关系图加工规格说明控制规格说明2424/522.3结构化分析方法1.数据建模普通地,数据模型包含3种相互关联信息,即数据对象、属性和关系。(1)数据对象(2)属性(3)关系:各个数据对象实例之间关联。实例关联类型有3种:一对一(1:1)一对多(1:m)多对多(n:m)(4)实体—关系图:数据对象及其关系可用ERD表示。2525/522.3结构化分析方法2.功效建模和数据流功效建模思想就是用抽象模型概念,按照软件内部数据传递、变换关系,自顶向下逐层分解,直到找到满足功效要求全部可实现软件为止。3.行为建模行为建模给出需求分析方法全部操作标准,但只有结构化分析方法扩充版本才提供这种建模符号。行为建模惯用状态—迁移图作为分析工具。2626/522.3结构化分析方法4.结构化分析方法步骤结构化分析方法应用非常广泛,尤其适合用于对数据处理类型软件进行需求分析,在进行结构化分析时,可按以下步骤进行:(1)采取“自顶向下,逐步细化”方法对系统进行功效分解;(2)画出分层数据流图;(3)由后向前定义系统数据和加工;(4)编制DD和PSPEC;(5)写出SRS。返回目录2727/522.3结构化分析方法2.3.2数据流图与数据字典1.数据流图数据流图(DataFlowDiagram,简称DFD)是用来描绘软件系统逻辑模型图形工具,用于描绘信息在系统中流动和处理情况。设计DFD只需考虑软件系统必须完成基本逻辑功效,完全不需考虑怎样详细地实现这些功效,即只考虑软件“做什么”,而无须考虑“怎么做”。(1)数据流图图形符号在数据流图中惯用有4种基本符号,如表2.3所表示。

2828/522.3结构化分析方法(2)使用数据流图注意事项在使用数据流图时,要注意以下几点:数据处理不一定是一个程序。一个数据存放不一定是一个文件。数据存放和数据流都是数据,而它们所处状态不一样,数据存放是静止状态数据,数据流是运动状态数据。同一数据流图中,加工个数不要太多以5~9个为宜。数据流图细化标准。假如数据流图过于复杂,可画出分层数据流图。但数据流图分层细化时必须保持信息连续性,即细化前后对应功效输入/输出数据必须相同。2929/522.3结构化分析方法在对数据流图进行分层时,轻易出现以下几个错误,应尤其注意:父图与子图不平衡分解速度太快不恪守加工编号规则3030/522.3结构化分析方法(3)数据流图中各成份命名方法①为数据流或数据存放命名数据流或数据存放名字应代表整个数据流或数据存放内容,而不是仅仅反应它一些成份,命名时不要使用空洞、缺乏详细含义名字。②为处理命名普通应首先对数据流命名,然后再对与之相关联处理命名。命名应该反应整个处理功效。名字最好由一个详细及物动词,加上一个详细宾语组成。③为数据源点/终点命名为数据源点/终点命名时采取它们在问题域中习惯使用名字。3131/522.3结构化分析方法2、数据字典数据字典(DataDictionary,DD)是结构化分析方法另一个有力工具,在数据字典中建立一组严密一致定义有利于消除分析员和用户之间沟通障碍,因此将消除许多可能误解。对数据这一系列严密一致定义也有利于改进在不一样开发人员或不一样开发小组之间通信。同时,数据字典也是软件维护时使用一个主要资料。假如要求全部开发人员都依据公共数据字典描述数据和设计模块,则能防止许多麻烦接口问题,提升开发效率和质量。3232/522.3结构化分析方法(1)数据字典内容①数据流词条描述②数据项词条描述③数据文件词条描述④加工逻辑词条描述⑤源点及汇(终)点词条描述3333/522.3结构化分析方法(2)数据字典数据定义方法在对数据进行定义时,能够使用数据各成份组合来表示该数据,这些组合又由更底层成份组合进行定义。所以,对数据定义能够了解为对数据进行自顶向下分解,直到参加系统开发人员都能了解所分解出来成份或元素意义,不再需要进行任何解释。数据字典就是按照这么方法,自顶向下逐层给出定义式,直到最终出现无需定义基本数据元素。必要时,有些定义式可能需要增加一些解释行。同日常使用词典一样,数据字典定义式能够按一定次序排列,如按字母次序排列。当然不允许出现重复定义或是定义式相互矛盾情况。3434/522.3结构化分析方法在数据字典定义式中出现符号如表2.4所表示:总之,数据字典与数据流图应相辅相成、相互配合,并应恪守以下约定:相关数据流向在数据流图中描述;相关数据组成在数据字典中描述;相关数据加工细节在数据字典中描述;编写数据字典时不能有遗漏和重复,即遵照不重不漏标准;数据字典小条目标排列要有一定规律,要能经过名字方便地查阅条目标内容,如按英文字母表次序或按汉字笔划次序排列或按功效分类等;数据字典编写要易于更新修改。返回目录3535/522.3结构化分析方法2.3.3Warnier图Warnier图是专门表示层次信息结构一个紧凑和直观工具,使用简单、方便,很轻易被人接收。Warnier图使用树形结构描述信息,既能够描述数据结构也可用来表示程序结构。它能够表示信息出现条件和重复次数,而重复和条件约束是说明软件处理过程基础,所以经常把Warnier图作为软件分析和设计工具。返回目录3636/522.4需求分析评审主要教学内容:

2.4.1需求规格说明书

2.4.2评审过程返回目录3737/522.4需求分析评审2.4.1需求规格说明书软件规格说明书中说明需求是经过认真研究和分析后定下来,是软件开发人员和用户对问题共同了解,可被看成是双方达成协议书。因为其中要求需求都是系统准备加以实现,所以它应该作为软件设计和实现基础和依据。在项目开发最终阶段,其中要求各项需求又将是产品验收依据。当软件产品投入运行以后,如需进行适应性或扩充性维护,依然需要软件规格说明书。由此可见,软件规格说明书在整个软件生存周期中都含有十分主要作用。返回目录3838/522.4需求分析评审2.4.2评审过程在将需求规格说明书提交给设计阶段之前,必须进行需求评审。假如在评审过程中发觉说明书存在错误或缺点,应及时进行更改或填补,重新进行对应部分初步需求分析、需求建模,修改需求规格说明书,并再进行评审。(1)正确性(2)无歧义性(3)完全性3939/522.4需求分析评审(4)可验证性(5)一致性(6)可了解性(7)可修改性(8)可追踪性返回目录4040/522.5需求分析实例主要教学内容:

2.5.1画分层数据流图

2.5.2确定数据定义与加工策略

2.5.3实例需求分析评审返回目录4141/522.5需求分析实例

本节以2.1.3小节所给出学生成绩管理系统为例,说明需求分析方法。2.5.1画分层数据流图1.画顶层数据流图图2.7学生成绩管理系统顶层DFD4242/522.5需求分析实例2.画第二层数据流图图2.8学生成绩管理系统分层DFD

4343/522.5需求分析实例3.画第三层数据流图

图2.9查询细化DFD

4444/522.5需求分析实例图2.10编辑细化DFD4545/522.5需求分析实例

返回目录图2.11统计细化DFD

4646/522.5需求分析实例2.5.2确定数据定义与加工策略1.数据流定义本例中平均成绩数据流可以下定义:数据流名:平均成绩编号:031别名:无组成:班级名、课程名、平均

温馨提示

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

评论

0/150

提交评论