版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高级软件工程(3)3.1需求分析的任务需求分析的基本任务是准确地回答“系统必须做什么?”这一核心问题。
3.1.1需求分析的概念
需求分析是一种软件工程活动,使得系统分析员能够刻划出软件的功能和性能、指明软件和其他系统元素的接口、并建立软件必须满足的约束。需求分析是软件设计师进行软件分解的基础,需求分析建造了软件处理的数据模型、功能模型和行为模型。需求规约为软件设计师和客户提供了软件建造完后,进行质量评估的依据。
1.软件需求的概念和分类
比较权威的需求的定义来自于IEEE软件工程标准词汇表中的定义:l
用户解决问题或达到目标所需要的条件。l
系统或系统部件要满足合同、标准、规范或其他正式规定的文档所要具有的条件。l
反映上面两条的文档说明。需求一方面反映了系统的外部行为,另一方面反映了系统的内部特性,反映的方式是需求文档。比较通俗的需求定义如下:需求是指明系统必须实现什么的规格说明,它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。
需求分析的难点问题的复杂性交流障碍不完备性和不一致性易变性需求的类别
功能需求:指定系统必须提供的服务,通过需求分析应该划分出系统必须完成的所有功能;性能需求:指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的需求;可靠性和可用性需求:定量地指定系统的可靠性与可用性;出错处理需求:说明系统对环境错误应该怎样响应;接口需求:描述应用系统与其环境通信的格式,常见的接口需求有用户接口需求、硬件接口需求、软件接口需求和通信接口需求;约束:描述了应用系统应遵守的限制条件,常见的约束有:精度约束、工具和语言约束、设计约束、应该使用的标准、应该使用的硬件平台等;
逆向需求:说明软件系统不应该做什么。理论上有无限多个逆向需求,我们应该仅选取能澄清真实需求且可消除发生误解的那些逆向需求;将来可能提出的要求:应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。另一种分类功能性需求产品的范围功能与数据需求非功能性需求观感需求易用性性能限制条件
操作需求可维护性和可移植性需求安全性需求文化与政策法律需求3.1.2.需求分析的任务
需求分析的任务是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。必须全面理解用户的各项要求,但只能接受合理的要求。要将软件的需求准确地表达出来,形成软件需求说明书。
目标系统当前系统物理模型逻辑模型模型化抽象化物理模型逻辑模型具体化实例化理解需求表达需求导出怎么做做什么需求分析的的任务获得当前系系统的物理理模型:首先,分分析、理解解当前系统统是如何运运行的,并并用一个具具体的模型型来反映自自己对当前前系统的理理解。抽象出当前前系统的逻逻辑模型::在理解当前前系统“怎样做”的基础上,,取出非本本质因素,,抽取出“做什么”的本质。建立目标系系统的逻辑辑模型:分析目标系系统与当前前系统逻辑辑上的差别别,明确目目标系统要要“做什么么”,从而而从当前系系统的逻辑辑模型中,,导出目标标系统的逻逻辑模型。。对目标系统统逻辑模型型进行补充充:具体内容如如用户界面面、启动和和结束、出出错处理、、系统输入入输出、系系统性能、、其他限制制等等。需求获取软件需求分分析中需要要很好的的的相互沟通通,沟通总总是要在两两方或多方方间进行。。客户和系统统分析员之之间最常用用的交流方方式,是通通过预备会议或访谈进行的。获取用户需需求的主要要方法是调调查研究。。做好准备制定调研计计划准备调研资资料访谈用户写调研报告告评审需求分析阶阶段的文档档软件需求说说明书初步的用户户手册修改、完善善与确定软软件开发实实施计划需求规格说说明软件需求规规格说明是分析任务务的最终产物,美国国家家标准局、、IEEE(标准号830-1984)以及美国国防部门均均已提出了了软件需求求规约(以以及其他软软件工程文文档)的候候选格式。。软件需求规规格说明必必须正确地地定义所有有的软件需需求;除了了设计上的的特殊限制制之外,软软件需求规规格说明中中一般不描描述任何设设计、验证证或项目管管理的细节节。需求必须描描述的基本本问题功能——所设计的软软件要做什什么;性能——软件功能在在执行过程程中的速度度、可使用用性、响应应时间、各各种软件功功能的恢复复时间、吞吞吐能力、、精度、频频率等等;;强加给实现现的设计限限制——在效果、实实现的语言言、数据库库完整性、、资源限制制、操作环环境等等方方面所要求求的标准;;属性——可移植性、、正确性、、可维护性性及安全性性等方面的的考虑因素素;外部接口——与人、硬件件、其他软软件和其他他硬件的相相互关系。。软件需求规规格说明的的大纲1前言1.1目的1.2范围1.3定义、缩写写词、略语语1.4参考资料2项目概述2.1产品描述2.2产品功能2.3用户特点2.4一般约束2.5假设和依据据3具体需求3.1功能需求功能需求1引言输入加工输出功能需求2……功能需求n3.2外部接口需需求用户接口硬件接口软件接口通信接口3.3性能需求3.4设计约束其他标准的的约束硬件的限制制…………3.5属性性安全全性性可维维护护性性…………………3.6其他他需需求求数据据库库操作作场合合适适应应性性…………………附录录索引引3.2软件件需需求求分分析析基基础础::以以结结构构化化分分析析方方法法为为例例结构构化化的的分分析析方方法法是最最经经典典的的需需求求分分析析方方法法。。适适用用于于数数据据处处理理类类型型软软件件的的需需求求分分析析。。它提提供供的的工工具具包包括括::数数据据流流图图、、数数据据字字典典、、结结构构化化英英语语、、判判定定表表和和判判定定树树。。系统统的的分分析析模模型型必必须须达达到到三三个个主主要要目目标标::(1)描描述述客客户户的的需需要要;;(2)建建立立创创建建软软件件设设计计的的基基础础;;(3)定定义义在在软软件件完完成成后后可可以以被被确确认认的的一一组组需需求求。。实体—关系图状态—迁移图数据流图数据对象描述加工规格说明数据字典控制规格说明模型型的的核核心心是是数数据据字字典典———一个个包包含含了了软软件件使使用用或或生生产产的的所所有有数数据据对对象象描描述述的的中中心心库库。。实体体-关系系图图描描述述数数据据对对象象间间的的关关系系,,实实体体-关系系图图是是用用来来进进行行数数据据建建模模活活动动的的。。数据据流流图图有有两两个个目目的的::指指明明数数据据在在系系统统中中移移动动时时如如何何被被变变换换;;描描述述对对数数据据流流进进行行变变换换的的功功能能((和和子子功功能能))。。它它可可以以用用于于信信息息域域的的分分析析,,作作为为功功能能建建模模的的基基础础。。状态态转转换换图图指指明明系系统统将将如如何何动动作作。。为为此此,,状状态态转转换换图图表表示示了了系系统统的的各各种种行行为为模模式式((称称为为“状态”),以及及在状态态间进行行变迁的的方式,,状态转转换图是是行为建建模的基基础。数据流图图任何软件件系统((或计算算机系统统)从根根本上来来说,都都是对数数据进行行加工或或变换的的工具。。组成符号号画图步骤骤下面以教教材购销销系统中中的教材材销售为为例,说说明如何何画数据据流图。。从用户调调查中了了解到某某高校向向学生销销售教材材的手续续是:先先由系办办公室的的张秘书书开购书书证明,,学生凭凭证明找找教材科科的王会会计开购购书发票票,向李李出纳员员交付书书款,然然后到书书库找赵赵保管员员领书。。现欲将将上述手手工操作作改为计计算机处处理,试试画出教教材销售售过程的的数据流流图。首先找出出数据的的源点和和终点,,即找出出数据源源与数据据汇,由由此确定定系统的的边界。。由于是由由学生开开始购书书,最后后由学生生领书,,因此数数据的源源点和终终点都是是“学生”。第二步找找出加工工,需要要从描述述中抽象象出系统统要完成成的工作作。学生须凭凭购书证证明得到到购书发发票,然然后交付付书款,,得到领领书凭证证,最后后领书。。其间能能由计算算机完成成的工作作是审查查学生的的购书凭凭证并开开出发票票,按发发票开出出领书单单,由此此我们得得到2个加工((审查并并开发票票,并领领书单))。第三步要要找出数数据流。。学生向系系统提交交购书单单,学生生从系统统得到领领书单,,在加工工之间要要传输发发票信息息,这样样我们得得到3个数据流流。同时时还要注注意在“审查并并开发发票”加工中中排除除了无无效的的书单单,它它也因因作为为一个个数据据流,,因此此最后后得到到4个数据据流::购书书单,,发票票,领领书单单,无无效书书单。。我们还还要补补充数数据存存储。。数据据存储储一般般不能能通过过系统统描述述确定定,而而要在在设计计数据据流图图时按按照需需要添添加。。实际上上在审审查购购书单单和开开出发发票之之前,,至少少要查查阅两两个文文件::①各各班学学生用用书表表,该该表用用以核核对学学生是是否需需用这这些教教材;;②教教材存存量表表,了了解有有没有有该生生要买买的教教材。。把这两两个文文件加加进上上图中中,并并给加加工添添上编编号,,就得得到计计算机机售书书系统统的完完整的的数据据流图图。命名数据流流图中中每个个成分分的命命名是是否恰恰当,,直接接影响响数据据流图图的可可理解解性。。给这这些成成分起起名字字时应应该仔仔细推推敲。。下面面讲述述在命命名时时应注注意的的问题题:为数据据流((或数数据存存储))命名名名字应应代表表整个个数据据流((或数数据存存储))的内内容,,而不不是仅仅仅反反映它它的某某些成成分。。考生姓名分类后的姓名录取分类注意合合适的的命名名,尽尽量用用现实实存在在的表表格、、单据据。不要使使用空空洞的的、缺缺乏具具体含含义的的名字字(如如“数数据””、““信息息”、、“输输入””之类类)。。不要把把控制制流作作为数数据流流。汇款单格式错误合格的汇款单核准的汇款单格式检查计算汇费取下一个考生成绩录取分类为处理理命名名通常先先为数数据流流命名名,再再为与与之相相关联联的处处理命命名名字应应该反反映整整个处处理的的功能能,而而不是是它的的一部部分功功能。。名字最最好有有一个个具体体的及及物动动词加加上一一个具具体的的宾语语组成成。应应该尽尽量避避免使使用““加工工”、、“处处理””等空空洞笼笼统的的动词词作名名字。。通常名名字中中仅包包括一一个动动词,,如果果必须须用两两个动动词才才能描描述整整个处处理的的功能能,则则把这这个处处理再再分解解成两两个处处理可可能跟跟恰当当些。。如果在为某某个处理命命名时遇到到了困难,,则很可能能是分解不不恰当造成成的,应该该考虑重新新分解。数据的源点点和终点并并不需要在在系统中实实现,它们们只是系统统的外围环环境(可能能是人员、、计算机外外部设备或或传感器等等)。通常常为数据的的源点和终终点命名是是采用它们们在问题中中习惯使用用的名字,,如“学生”,“管理员”。分层数据流流图对于大型的的系统,按按照其层次次结构进行行逐步分解解,并以分分层的数据据流图反映映这种结构构关系,能能清楚地表表达和容易易理解整个个系统。对任何一层层数据流图图来说,我我们称它的的上层图为为父图,在它下一一层的图则则称为子图。在多层数据据流图中,,顶层流图图仅包含一一个加工,,它代表将将被开发系系统。它的的输入流是是该系统的的输入数据据,输出流流是系统所所输出数据据。底层流流图是指其其加工不需需再做分解解的数据流流图,它处处在最底层层。中间层层流图则表表示对其上上层父图的的细化。它它的每一加加工可能继继续细化,,形成子图图。数据流图实实例建立数据流流模型的基基本步骤概概括地说,,就是自外外向内、自自顶向下、、逐层细化化、完善求求精。例5.建立一个简简化的商业业自动化系系统。其中中:售货员员负责录入入销售的商商品(商品品名,编号号,单价,,数量),,有时要根根据特定情情况对销售售的商品进进行修改或或删除。收收款员负责责收取现金金,并将多多交的付款款退还用户户。销售经经理需要随随时查询整整个部门的的销售情况况(时间,,商品编号号,销售金金额),并并在每日结结束时,统统计各类商商品的销售售金额。首先:建立立系统环境境,确定系系统边界,,画出顶层层DFD。其中:1数据流为::销售的商商品,日销销售额等2数据源点为为:营业员员,经理,,收款员3数据终点为为:经理,,收款员4加工名为::要建立的的系统名字字然后自顶向向下,逐层层分解。A、按人或部部门的功能能要求,将将加工“打碎”,形成:录入、修改改或删除商品信信息录入、修改改现金额,并计算余额额查询商品销销售情况计算日销售售额123注:需给每每一加工编编号B、”分派”数据流,形形成:录入、修改改或删除商品信信息2录入、修改改现金额,并计算余额额查询商品销销售情况计算日销售售额销售的商品品现金额现金余额查询要求销售情况日销售额13其中:要根根据特定的的加工要求求进行分派派;保持与顶层层数据流的的一致;可以不引入入数据源和和数据终点点。C、引入文件件,使之形形成一个有有机整体—系统录入、修改改或删除商品信信息录入、修改改现金额,并计算余额额查询商品销销售情况计算日销售售额销售的商品品现金额现金余额查询要求销售情况日销售额销售文件123注:到一个个文件,既既有输入流流,又有输输出流,则则可简化为为,并可不给给出标识。。至此,体现现精化,形形成0层数据流图图。继续A、B、C:自顶向下下,逐层分分解。例如:加工工3查询商品销销售情况计算日销售售额查询要求销售情况日销售额销售文件3可分解为::3.1判定要求查询要求3.2统计销售情情况3.3计算日销售售额销售文件查询要求2查询要求1销售情况日销售额注意事项画数据流图图不是画流流程图。数数据流图只只描述“做什么”,不描述“怎么做”和做的顺序序,而流程程图表述对对数据进行行加工的次次序和细节节。父图和子图图的平衡。。正常情况况下,父图图和子图的的输入数据据和输出数数据应分别别保持一致致,称为父父子平衡。。局部文件件。随着着数据流流图的分分解,在在下层数数据流图图中允许许出现父父图中没没有的文文件。要遵守加加工编号号规则。顶层加工工不编号号;第0层的加工工编为1,2,…,n号;第1层编为1.1,1.2,…,1.n等号,依依此类推推。分解的深深度与层层次。逐逐层分解解时,要要求加工工分解到到足够简简单,易易于理解解为止,,这一加加工也就就是我们们常说的的基本加加工。分解的层层次多少少是合适适的,这这应当根根据问题题的复杂杂程度来来确定。。可以参参考以下下一些经经验性的的原则。。一个加工工的分解解,最多多不要超超出7个子加工工。分解在逻逻辑上应应合理、、自然,,不能硬硬性分割割。在保证数数据流得得以理解解的前提提下,尽尽量少分分解层次次。分解要均均匀。即即在一张张数据流流图中,,尽量少少出现有有些加工工已是基基本加工工,有些些还要分分解好几几层的情情况。数据字典典数据字典典的作用用,就是是描述软软件中的的每个数数据和加加工的具具体含义义,以保保持数据据在系统统中的一一致性。。有了数据据流图和和数据字字典才算算是较完完整地描描述了一一个系统统。数据据流图和和数据字字典是需需求规格格说明书书的主要要组成部部分。数据字典典要对数据据流图中中出现的的所有名名字(数数据流、、加工、、数据存存储)进进行定义义。在数据字字典中,,描述数数据元素素之间的的关系时时,可以以使用自自然语言言也可采采用以下下符号::=等价于((或定义义为)+与[|]或(从方方括号内内由“|”号隔开的的分量中中选择一一个){}重复()选选择常常使用用上限和和下限符符号,以以进一步步注释表表示重复复的括号号。例如如:和和1{A}5都表示A重复5次。数据流条条目学生=学号+姓名+性别+系+年级+选修课程程选修课程程=课程号+课名+学时+学分+课表课表={星期几+第几节+教室}年级=[1|2|3|4]=[1..4]文件条目列出数据存储储的组成数据据项及文件的的组织方式航班目录文件件={航班号+起点+终点+时间}组织:按航班班号次序排列列数据项条目数据项条目是是不可再分解解的数据单位位,其定义格格式如下:数据项名称::货物编号别名:G-No,G-num,Goods-No简述:本公司司的所有货物物的编号类型:字符串串长度:10加工条目只列出基本加加工的小说明明描述加工逻辑辑,也包括与与加工有关的的其他信息用结构化自然然语言描述1、数据流:销售的商品=商品名+商品编号+单价+数量+日期现金额=余额=非负实数查询要求=[商品编号|日期]查询要求1=商品编号查询要求2=日期销售情况=商品名+商品编号+金额日销售额={类名+现金额}2、数据存贮:销售文件={销售的商品}3.5加工逻辑的描描述结构化语言:半形式化语言言加工逻辑:根根据分房要求求的住房面积积从住房标准准文件读出住住房标准IF住房分数>=最低住房分数数THEN输出审核后的的分房单ELSE取消分房资格格判定表给出加工小说说明可以使用用判定表、判定定树判断表Ⅰ条件类别Ⅱ条件组合Ⅲ操作Ⅳ操作执行例如:考试总分>=620>=620<620单科成绩有有满分有有不及格有有满分发升级通知书书yyn发留级通知书书nny发重修通知书书nyn实体-关系图图(E-R图)实体-关系图图中包含3种相互关联的的信息:数据对象、数数据对象的属属性及数据对对象彼此间相相互连接的关关系。是一种面向问问题的数据模模型,是按照照用户的观点点对数据建立立的模型。它它描述了从用用户角度看到到的数据,它它反映了用户户的现实环境境,而且与软软件系统中的的实现方法无无关。1.数据对象、属属性与关系数据对象是软件必须理理解的复合信信息的抽象。。数据对象彼此此间是有关联联的。属性定义了数据对对象的特征。。它可用来::①为数据对象的的实例命名;;②描述这个实例例;③建立对另一个个数据对象的的另一个实例例的引用。数据对象彼此此之间相互连连接的方式称称为联系系,也也称称为为关系系。联系系可可分分为为以以下下3种类类型型一对对一一联联系系((1∶1)一个个部部门门有有一一个个经经理理,,而而每每个个经经理理只只在在一一个个部部门门任任职职,,则则部部门门与与经经理理的的联联系系是是一一对对一一的的。。一对对多多联联系系((1∶N)每位位教教师师可可以以教教多多门门课课程程,,但但是是每每门门课课程程只只能能由由一一位位教教师师来来教教,,则则某某校校教教师师与与课课程程之之间间存存在在一一对对多多的的联联系系。。多对对多多联联系系((M∶N)一个个学学生生可可以以学学多多门门课课程程,,而而每每门门课课程程可可以以有有多多个个学学生生来来学学,,则则学学生生与与课课程程间间的的联联系系是是多多对对多多的的。。2.实体体--关关系系图图实实例例例12.在教教学学管管理理中中,,一一个个教教师师可可以以教教授授零零门门、、一一门门或或多多门门课课程程,,每每位位学学生生也也需需要要学学习习几几门门课课程程。。用用E-R图描描述述。。状态态转转换换图图状态态转转换换图图((简简称称为为状状态态图图))通通过过描描绘绘系系统统的的状状态态及及引引起起系系统统状状态态转转换换的的事事件件,,来来表表示示系系统统的的行行为为。。此此外外,,状状态态图图还还指指明明了了作作为为特特定定事事件件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纤维调施胶干燥工班组管理竞赛考核试卷含答案
- 汽油煤油柴油加氢装置操作工安全行为知识考核试卷含答案
- 建筑材料试验工岗位职业防护考核试卷含答案
- 玻璃门上下缝隙统一调校施工方法
- 市政道路路基排水施工工艺
- 2026年高级项目管理岗位选拔面试真题及答案解析
- 福建省2026机关事业单位工勤人员考核练习题库(含答案)
- 2026年秋季大学志愿服务德育育人工作总结课件
- 物业排水设施维护管理规范
- 园林绿化竹类养护管理规范
- 2026新人教版二年级上册小学数学教学计划附教学进度表教案
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.5-2025)
- 宅基地制度改革试点档案
- 《管理学》(第二版)课件全套 高教版马工程 第0-16章 绪论 - 组织变革与创新
- GB/T 20413-2017过磷酸钙
- GB/T 18506-2013汽车轮胎均匀性试验方法
- CB 1247-1994搭接、接地直流电阻的测量方法
- 九年级历史上册第4课古代希腊一等奖优秀课件
- 肿瘤的免疫治疗和疗效评价实用版课件
- Churg-strauss综合征嗜酸性肉芽肿性多血管炎(-EGPA)课件
- 高一化学第一学期教学进度计划(新人教版普通高中化学必修第一册教学计划)
评论
0/150
提交评论