结构化需求分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第3章结构化需求分析本章学习内容:1.掌握需求分析的基本概念2.明确需求分析应遵循的原则3.掌握如何使用需求获取技术来进行数据采集4.掌握结构化分析的思想与过程5.掌握数据流建模技术第3章结构化需求分析3.1需求分析概述3.1.1需求分析的任务将用户对软件的一系列要求、想法转变为软件开发人员所需要的有关软件的技术规格说明1.用户需求:用户需求是关于软件的一系列想法的集中体现,涉及软件的功能、操作方式、界面风格、报表格式、用户机构的业务范围、工作流程,以及用户对软件应用的展望等。第3章结构化需求分析特点:(1)用户需求直接来源于用户。需求可以由用户主动提出,也可以通过与用户沟通、交流或者进行问卷调查等方式获得。由于用户对计算机系统认识上的不足,分析人员有义务帮助用户挖掘需求。(2)用户需求需要以文档的形式提供给用户审查。因此,需要使用流畅的自然语言和简洁清晰的直观图表来表述,以方便用户的理解与确认。(3)可以把用户需求理解为用户对软件的合理请求。这意味着,必须全面理解用户的各项要求,但又不能全盘接受所有的要求。(4)用户需求主要是为用户方管理层撰写的,但是用户方的技术代表、软件系统今后的操作者以及开发方的高层技术人员,也有必要认真阅读用户需求文档。第3章结构化需求分析2.系统需求:系统需求是比用户需求更具有技术特性的需求陈述,是提供给开发者或用户方技术人员阅读的,并将作为软件开发人员设计系统的起点与基本依据。系统需求需要对系统的功能、性能、数据等方面进行规格定义。第3章结构化需求分析(1)功能需求功能需求是软件系统的最基本的需求表述,包括对系统应该提供的服务,如何对输入做出反应,以及系统在特定条件下的行为描述。在某些情况下,功能需求还必须明确系统不应该做什么,这取决于开发的软件类型、软件未来的用户、以及开发的系统类型。所以,功能性的系统需求,需要详细地描述系统功能特征、输入和输出接口、异常处理方法等。第3章结构化需求分析(2)非功能性需求非功能性需求包括对系统提出的性能需求、可靠性和可用性需求、系统安全以及系统对开发过程、时间、资源等方面的约束和标准等。性能需求指定系统必须满足的定时约束或容量约束,一般包括速度(响应时间)、信息量速率(吞吐量、处理时间)和存储容量等方面的需求。第3章结构化需求分析(3)数据要求数据需求包括:输入数据、输出数据、加工中的数据和保存在存储设备上的数据等。第3章结构化需求分析3.需求分析的任务(1)确定系统的综合需求(2)分析系统的数据需求(3)导出系统的逻辑模型(4)修改系统开发计划第3章结构化需求分析3.1.2需求分析的过程第3章结构化需求分析3.1.2需求分析的过程(1)调查研究对目标系统的运行环境、功能要求、非功能性要求与用户达成共识。问题研究集中在以下3个方面:l经济可行性:l技术可行性:l操作可行性:第3章结构化需求分析3.1.2需求分析的过程(2)分析与综合从信息流和信息结构出发,逐步细化软件的所有功能,找出系统各个元素之间的联系、接口特性和对设计的限制,判断是否存在因片面性或短期行为而导致的不合理需求,判断是否有用户尚未提出的确实有价值的潜在需求,从而提出其中不合理的部分,增加真正需要的部分。第3章结构化需求分析3.1.2需求分析的过程(3)编写需求分析的文档(4)需求验证:检验需求能否反映用户的意愿有效性检查一致性检查完备性检查现实性检查可检验性检查第3章结构化需求分析3.2需求获取3.2.1需求获取的内容1.物理环境2.界面3.用户或人的因素4.功能5.文档6.数据7.安全性8.资源9.质量保证第3章结构化需求分析3.2.2需求获取的方法1.研究资料法范围:企业外部的资料,例如,各项法规、市场信息等;企业内部的各种资料,例如,企业的有关计划、指标、经营分析报告、合同、帐单和统计报表等。收集资料时一定要明确目的,必须收集和选择符合目的的资料来阅读。第3章结构化需求分析3.2.2需求获取的方法1.研究资料法作用:解生产经营情况和正常的操作程序;理解信息的处理方式;有助于弄清需求。局限性:资料只反映静态的和历史的情况,无法反映企业的动态活动和过程,因此,还必须借助于其他方法获取更复杂、更全面的需求。第3章结构化需求分析2.问卷调查法步骤:(1)确定必须收集哪些事实和从哪些人收集数据。(2)基于所需的事实数据,确定采用自由格式或还是固定格式的调查问卷。(3)设计调查问题,确保问题明确、没有歧义或遗漏。(3)复制和分发调查问卷,组织调查,注意回收。第3章结构化需求分析调查问卷的优点和缺点:多数调查问卷可以被快速地回答。人们可以在方便的时候完成和返回调查问卷。如果希望从许多人处获取信息,调查问卷是一种低成本的数据采集技术。调查问卷形式允许保护个人的隐私,并便于整理和归纳。由于是背对背地进行调查,对回答问题的质量难于把握。对于模糊的问题、隐含的问题不便于采用问卷的方法。第3章结构化需求分析3.用户访谈步骤:(1)选择访谈对象。(2)准备访谈资料:包括访谈内容和进度安排等。(3)进行访谈,并注意做好访谈记录,访谈内容要经过被访者的认可和确认。(4)整理访谈记录。第3章结构化需求分析访谈方法的优点和缺点:访谈为分析人员提供了与访谈对象自由沟通的机会。通过建立良好的人际关系,有利于让访谈对象愿意为该项目的开发做出努力。通过访谈可以挖掘更深层次的用户需求。访谈允许开发人员使用一些个性化的问题。成功的访谈在很大程度上取决于分析人员的经验与技巧。访谈占用的时间较多,访谈后的资料整理,也需要花费较多的时间。第3章结构化需求分析4.实地观察法原则:明确需要观察的内容、地点以及观察的周期,并明确如何进行观察?从用户那里得到去现场观察的许可?事先通知将要被观察的用户,告诉他们观察的目的;禁止打断别人的工作,边观察,边记录;不要事先进行假设。第3章结构化需求分析实地观察方法的优点和缺点:通过观察得到的数据准确、真实;通过观察有利于弄清复杂的工作流程和业务处理过程,而这些有时是很难用文字描述清楚的;但在特定的时间进行观察,并不能保证得到平时的工作状态,有些任务不可能总是按照观察人员观察时看到的样式执行;这种方法比较花费时间,数据整理比较麻烦。第3章结构化需求分析3.3结构化分析方法概述3.3.1结构化分析思想结构化是把软件系统功能当作一个大模块,根据分析与设计的不同要求,进行模块分解或者组合。基本思路就是把整个系统开发过程分成若干阶段,每个阶段进行若干活动,每项活动应用一系列标准、规范、方法和技术,完成一个或多个任务,形成符合需求的软件产品(成果)。第3章结构化需求分析采用“自顶向下,逐步求精”的方式,X系统被分解成3个子系统:第3章结构化需求分析3.3.2结构化分析方法指导性原则:在开始建立分析模型之前先理解问题,而不应急于求成,甚至在问题未被很好地理解之前,就产生了一个解决错误问题的软件;开发模型,使用户能够了解将如何进行人机交互;记录每个需求的起源和原因,这样能有效地保证需求的可追踪性和可回溯性;使用多个需求分析视图,建立数据、功能和行为模型。第3章结构化需求分析给需求赋予优先级,优先开发重要的功能,提高开发生产效率;努力删除含糊性。结构化方法的局限性:不提供对非功能需求的有效理解和建模;不提供对用户选择合适方法的指导,也没有对方法适用的特殊环境的忠告;往往产生大量文档,系统需求的要素被隐藏在一大堆具体细节的描述中;产生的模型不注意细节,用户总觉得难以理解,因而很难验证模型的真实性。第3章结构化需求分析3.4数据流程图3.4.1数据流程图的基本成份1.数据流2.加工3.数据存储4.源点和终点第3章结构化需求分析3.4.2数据流图的绘制1.数据流程图的绘制步骤(1)找出系统的输入和输出(2)画数据流程图的内部(3)为每一个数据流命名(4)为加工命名第3章结构化需求分析2.分层数据流程图举例教学管理数据流程顶图第3章结构化需求分析2.分层数据流程图举例教学管理数据流程中图第3章结构化需求分析2.分层数据流程图举例学籍管理数据流程底图第3章结构化需求分析2.分层数据流程图(1)组成顶层数据流程图描述了整个软件系统的作用范围,对系统的总体功能、输入和输出进行了抽象,反映了系统和环境的关系。中间层次的数据流程图是通过分解高层数据流和加工得到的。低层次数据流程图通常有很多中间层,甚至7~9层。这种分解可以不断重复,直到新的数据流程图中每个数据加工的功能明确、相关的数据流被严格定义为止。第3章结构化需求分析(2)分层原则父图与子图的关系平衡规则分层程度第3章结构化需求分析3.4.3数据流程图的特征与用途用途:可以依靠数据流程图来实现从用户需求到系统需求的过渡;数据流程图可以按照功能将系统分解为许多子系统,用做开发者与用户之间的信息交流工具。数据流程图的特点:抽象性概括性第3章结构化需求分析3.5数据字典3.5.1数据字典的定义与用途1.数据字典的定义:数据字典是关于数据信息的集合,是数据流程图中所有元素严格定义的场所。2.数据字典的用途数据流程图和数据字典一起构成了系统的逻辑模型;有助于改进不同的开发人员或不同的开发小组之间的通信;是存储文件或数据库设计的基础;在实施阶段,还可参照数据字典描述数据。第3章结构化需求分析3.数据字典的种类数据项数据流数据存储(文件)加工第3章结构化需求分析3.5.2数据字典的定义方法数据字典的定义式可使用的符号:符号含义=由。。。组成(定义为。。。)+和(顺序关系的连接)例,x=a+b表示X由a与b组成{}重复例,x={a+b}表示X是由零次或多次重复的a与b组成[/]可选择(选一个)例,x=(a/b)表示X由a或b中选择一个()可选(也可不选)例,x=(a)表示a是任选的,可在X中出现0次或1次**注释第3章结构化需求分析3.5.2数据字典的定义方法数据流条目数据流名:注册申请简述:每学期开学需要学生注册登记别名:无组成:注册申请=学号+姓名+入学日期+注册日期数据量:2000次/开学一周峰值:第一周每天下午1:00到5:00点有300次注释:到2006年还将增加到3000人第3章结构化需求分析文件条目文件名:成绩档案简述:包括所有在册学生各门课程的考试成绩和学分信息别名:无组成:成绩档案=学号+姓名+课程名称+考试成绩+学分数据量:2000*6次考试结束一周内峰值:学期最后一周每天下午1:00到5:00点有2000*6次注释:到2006年还将增加到3000人第3章结构化需求分析数据项条目文件名:学号简述:每个在校学生的学生编号别名:无组成:学号=XX+XX+XXX年级专业序号值类型:7位数字取值范围:注释:到2006年还将增加到3000人第3章结构化需求分析3.5.3加工逻辑的描述方法1.结构化语言例:计算某学生的考试成绩优秀率和中以下的比率若成绩优秀比率大于70%若表现优良则获得一等奖学金否则获得二等奖学金若成绩优秀比率小于70%且大于50%若表现优良则获得二等奖学金否则获得三等奖学金第3章结构化需求分析2.判定表判定表的构造步骤:列出所有基本条件,填写判定表的左上限。在本例中,奖学金的发放依据三个条件:成绩优秀比率、成绩中下比率、表现。列出所有的基本操作,填写判定表的左下限。在本例中,奖学金的发放分为4个等级。条件所指对象各种条件的组合所有操作在对应的条件组合下,某个操作是否要执行第3章结构化需求分析计算所有可能的条件组合,确定规则个数,填写判定表的右上限。将每一组合指定的操作,添入右下限相应的位置。简化规则,合并及删除等价的操作。合并原则是:找出操作在同一行的,检查上面的每一个条件是否影响该操作的执行,如果条件不起作用,则可以合并等价操作,否则不能简化。如果对判定表进行了化简,就需要将化简后的结果重新排列。第3章结构化需求分析3.判定树

1 / 43
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功