




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程导论
(第5版)普通高校本科计算机专业特色教材精选张海藩编著第3章需求分析主要内容3.1需求分析的任务3.2与用户沟通获取需求的方法3.3分析建模与规格说明3.4实体-联系图3.5数据规范化3.6状态转换图3.7其他图形工具3.8验证软件需求教学重点基本技术、需求规格说明书的作用与组成。需求分析软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题,也就是对目标系统提出完整、准确、清晰、具体的要求。需求分析主要通过对应用问题及其环境的分析与理解,采用一系列的分析方法和技术,将用户的需求逐步精确化、完全化、一致化,最终形成需求规格说明文档的过程。需求分析需求分析阶段的成果主要是软件需求规格说明书,该成果以书面形式准确地描述软件需求,是软件设计、编码、测试直至维护的主要基础。需求分析是软件定义和软件开发的重要桥梁,是软件生存周期的关键性阶段。良好的分析活动能够减少错误和遗漏,从而可提高软件生产率和产品质量、降低开发与维护成本。在整个需求分析过程中,不仅要采用行之有效的通信技术,集中精力过细地工作,而且必须严格审查验证需求分析的结果。需求分析结构化分析准则⑴必须理解并描述问题的信息域,根据这条准则应该建立数据模型。⑵必须定义软件应完成的功能,这条准则要求建立功能模型。⑶必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。⑷必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。3.1需求分析的任务任务深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。3.1续1.确定对系统的综合要求⑴功能需求指定系统必须提供的服务。⑵性能需求指定系统必须满足的定时约束或容量约束。⑶可靠性和可用性需求可靠性需求定量地指定系统的可靠性。可用性量化了用户可以使用系统的程度。⑷出错处理需求指明系统对环境错误应该怎样响应。出错处理,某些情况下指当应用系统发现自己犯错时所采取的行动。3.1续⑸接口需求描述应用系统与它的环境通信的格式。⑹约束描述在设计或实现应用系统时应遵守的限制条件。⑺逆向需求①指明软件系统不应该做什么。②仅选取能澄清真实需求且可消除可能发生的误解的那些逆向需求。⑻将来可能提出的要求①那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。②目的:对系统将来可能的扩充和修改预做准备3.1续2.分析系统的数据要求⑴任何一个软件系统本质上都是信息处理系统。⑵分析系统的数据要求通常采用建立数据模型的方法。⑶复杂的数据由许多基本的数据元素组成,数据结构表示数据元素之间的逻辑关系。⑷常常利用数据字典和图形工具相结合的方式描绘数据结构。⑸为减少数据冗余,通常要把数据结构规范化。3.1续3.导出系统的逻辑模型⑴综合上述两项分析的结果可以导出系统的详细的逻辑模型。⑵通常用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述系统的逻辑模型。4.修正系统开发计划根据在分析过程中获得的对系统的更深入更具体的了解,修正以前制定的开发计划。3.2与用户沟通获取需求的方法1.访谈⑴访谈是最早开始使用的获取用户需求的技术。⑵正式访谈时,系统分析员将提出一些事先准备好的具体问题。⑶在非正式访谈中,分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法。⑷当需要调查大量人员的意见时,利用分发调查表的方式发现的新问题。⑸情景分析技术,即对用户将来使用目标系统解决某个具体问题的方法和结果进行分析。3.2续情景分析技术用处⑴它能在某种程度上演示目标系统的行为,从而便于用户理解,而且还可能进一步揭示出一些分析员目前还不知道的需求。⑵保证用户在需求分析过程中始终扮演一个积极主动的角色。3.2续准备问题的原则⑴首先应搞清一般性、整体性问题,然后再涉及细节问题。⑵在组织问题时要尽量做到客观、公证,不应限制用户的自由发挥。⑶所提问题汇总后应能反映应用问题及其子问题的全貌、并且不要过分详细。3.2续面向数据流自顶向下求精⑴数据是需求分析的出发点,它决定了系统需要实现的处理和算法,。⑵结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。它是结构化分析、结构化设计和结构化编程的总称。⑶为了把数据流和数据存储定义到元素级,通常从数据流图的输出端着手分析。输出数据决定了系统必须具有的最基本的组成元素。⑷结构化分析方法由于具有简单易懂、使用方便的特点,且出现较早,所以获得了广泛的应用。3.2续面向数据流自顶向下求精过程3.2续简单的应用规格说明技术使用传统的访谈或面向数据流自顶向下求精方法定义需求时,用户处于被动地位而且往往有意无意地与开发者区分“彼此”。简易的应用规格说明技术是一种面向团队的需求收集法。它提倡用户与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同方案并指定基本需求。优点:①开发者与用户齐心协力,密切合作;②即时讨论并求精;③有能导出规格说明书的具体步骤。3.2续应用规格说明技术分析需求的过程⑴进行初步访谈,初步确定待解决问题的范围和解决方案。⑵用户和开发者分别写“产品需求”。⑶召开由开发者和用户共同参与的会议。经过讨论确定针对每个议题的意见一致的需求列表。⑷与会者分组为每个需求列表制定小型的规格说明,并供全会讨论。⑸每个与会者都制定产品的确认标准,通过全会讨论,制定意见一致的确认标准。⑹起草完整的软件需求规格说明书。3.2续软件原型软件需求分析的过程,实际上是软件原型的建造和不断完善的过程。目标软件系统原型一方面可用于精确地记录用户从各个视点、不同抽象级别上对原始问题及目标软件的描述;另一方面,将帮助分析人员挖掘用户需求。目标软件系统原型主要通过刻画软件系统中的数据、功能和外部行为,演示目标系统。构建原型的要点是实现用户看得见的功能,省略目标系统的隐含功能。3.2续快速建立软件原型快速建立软件原型是最准确、最有效、最强大的需求分析技术。基本思想:在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进。当原型几经改进最终确认后,它将直接进化成软件产品,或者由软件设计、编码人员按照模型所确立的外部特征去实现软件产品。特性:⑴快速;⑵容易修改。3.2续采取建立原型系统策略的原因⑴由于用户与软件设计人员认识上的局限,不能预先指定所有要求,因此在开发过程中重复和反复是必要的和不可避免的;
⑵在用户和系统分析员之间存在固有的通信鸿沟,用户需要一个“活的”系统模型,以便获得实践经验,以便沟通;⑶目前有快速建立原型系统的工具可供选用。3.2续快速原型技术的具体步骤⑴选用某种分析方法生成软件系统或所关心部分的简化需求规格说明。⑵对该规格说明进行评审通过后,立即生成设计规格说明。⑶使用可重用软部件、用户界面自动生成器等工具快速生成可运行的软件原型并通过测试。⑷将原型提交给用户进行评价,以便征求改进意见。⑸上述过程反复迭代,直至用户完全满意。3.2续快速原型相关技术⑴第四代技术利用一种面向问题而非面向过程的第四代编程语言快速地生成可执行的代码。⑵可重用的软件构件。使用一组已有的软件构件来装配原型。⑶形式化规格说明和原型环境。调用自动化工具把基于形式化语言的规格说明翻译成可执行的程序代码。3.2续快速原型技术的适用场合⑴该技术特别适合于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合,目前的绝大多数软件都适合于快速原型技术。⑵除非由于问题相当复杂,致使开发快速原型可以获得的支持太少、所冒的风险太大时,不易采用。但对于其中的某些子问题,尤其是用户界面,还可采用快速原型技术进行部分分析。3.3分析建模与规格说明1.分析建模模型:是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常模型由一组图形符号和组织这些符号的规则组成。结构化分析实质上是一种创建模型的活动。需求分析阶段应该建立三种模型:①数据模型——实体-联系图②功能模型——数据流图③行为模型——状态转换图3.3续2.软件需求规格说明需求分析的主要阶段性产品是需求规格说明书。它必须通过需求评审后才能生效,这是一个重要的里程碑。需求规格说明书的作用:①它是软件设计人员进行设计和编码的出发点和基础;②它是对目标软件产品进行验收测试的依据。这就要求需求规格说明书中的各项需求都应该是可测试的;③它起到软件开发方和客户(或用户)方之间的一份合同的作用。3.3续需求规格说明书中的内容应主要包括功能与行为的需求描述和非行为需求描述。非行为需求是指目标软件系统在工作时应具备的属性,主要有运行效率、可靠性、安全性、可维护性、可移植性等等。在需求规格说明书中不应包括如人员需求、成本预算、进度计划、质量保证计划等内容,以便使其简洁、目标明确。通常用自然语言完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可利用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。3.3续需求规格说明书的基本格式框架目录1.引言
1.1本说明的编写目的
1.2软件产品的作用范围
1.3定义、同义词与缩写
1.4参考文献2.概述
2.1产品与其环境间的关系
2.2功能概述
2.3用户特征
2.4约束条件
2.5假设与前提条件3.3续3.功能或行为需求
3.1功能或行为需求1:1)引言2)输入
3)处理过程描述4)输出
3.2功能或行为需求2:1)引言2)输入
3)处理过程描述4)输出
……………3.n功能或行为需求n:1)引言2)输入
3)处理过程描述4)输出4.外部界面需求
4.1用户界面
4.2硬件界面
4.3软件界面3.3续5.性能需求
5.1精度
5.2时间特征
5.3灵活性6.设计约束
6.1标准化约束
6.2硬件约束
……7.其他需求
7.1数据库需求
7.2用户操作需求
7.3工作场地需求3.3续8.软件产品属性
8.1可用性
8.2安全性
8.3可维护性
8.4可移植性附录索引3.4实体-联系图概念数据模型通过建立数据模型可理解并描述问题的信息域。系统分析员通常通过建立一个概念性的数据把用户的数据要求清楚、准确地描述出来。概念性数据模型是一种面向问题的数据模型,描述了从用户角度看到的数据。数据模型包含三种信息:数据对象、数据对象的属性、数据对象之间的联系。3.4续数据对象数据对象:是现实世界中实体的数据表现,是省略了功能和行为的实体。数据对象:对软件必须理解的复合信息的抽象。复合信息:具有一系列不同性质和属性的事物。数据源;数据对象包括:外部实体的数据部分;数据流的内容。3.4续属性数据对象由其属性刻画,属性定义了数据对象的性质。通常属性包括:⑴命名性属性:对数据对象的实例命名,其中必含有一个或一组关键属性,以便唯一地标识数据对象的实例。⑵描述性属性:对数据对象实例的性质进行刻画。⑶引用性属性:将自身与其他数据对象的实例关联起来。一般而言,现实世界中任何给定实体都具有许多属性,分析人员应当并且只能考虑与应用问题有关的属性。3.4续联系应用问题中的任何数据对象都不是孤立的,它们与其他数据对象一定存在各种形式的关联。联系指数据对象之间相互连接的方式。联系的命名及内涵因具体问题而异。分析人员必须善于剔除与应用问题无关的关系。通常实体联系有三种类型:①一对一的联系(1:1):一个实体在此种联系下只能对应一个实体。②一对多的联系(1:n):一个实体在此种联系下对应其他实体型中的一个以上实体;③多对多的联系(m:n):一个实体类型中的多个实体与另一个实体类型中的多个实体相联系。3.4续E-R(Entity-Relation)图在数据密集型应用问题中,对复杂数据及数据之间复杂关系的分析和建模将成为需求分析的重要任务。实体-联系图——在数据流分析方法中适合于复杂数据建模的工具。E-R图是表示数据对象及其之间关系的图形语言机制。优点:接近人的习惯思维方式;直观形象,便于理解。3.4续E-R方法和实体模型矩形框——表示实体型。在框内写上实体名,如“学生”实体型。椭圆形/圆角矩形——表示实体有关的属性。椭圆内标记属性的名字。直线——表示实体与属性之间的联系。菱形框——表示实体之间的联系。3.4续例如,在教学管理中,学校开设若干门课程,一个教师可以教授其中的一门或多门课程,每位学生也需要学习其中的几门课程。教学管理的E-R图如下:3.5数据规范化数据规范化目的消除数据冗余,消除多义性;使关系单纯化;方便操作;使关系模型更灵活。数据规范化的衡量通常按照属性间的依赖情况区分规范化的程度。属性间依赖程度满足不同程度要求的为不同范式。通常用“范式”定义消除数据冗余的程度。利用范式规范化数据的缺点:范式级别越高,存储自身的过程就越复杂。范式级别越高,在需求变化时数据的稳定性越差。范式级别越高,系统性能越低。3.5续规范化规则⑴数据对象的任何实例对每个属性必须有且仅有一个属性值。⑵属性是原子数据项,不能包含内部数据结构。⑶如果数据对象的关键属性多于一个,那么其他的非关键属性必须表示整个数据对象而不是部分关键属性的特征。⑷所有的非关键属性必须表示整个对象而不是部分属性的特征。3.5续判断规范化程度的条件⑴关系中所有属性都是“单纯域”,即不出现“表中有表”。⑵非主属性完全函数依赖于关键字。⑶非主属性相互独立,即任何非主属性间不存在函数依赖。⒈如果一个关系连条件⑴都不满足,则这个关系是非规范化的。⒉如果一个关系仅满足条件⑴,则这个关系满足第一范式(1NF)。⒊如果一个关系满足条件⑴、⑵,但不满足⑶,则这个关系满足第二范式(2NF)。⒋如果一个关系同时满足条件⑴、⑵和⑶,则这个关系满足第三范式(3NF)。3.5续教学管理E-R图3.5续如何进行规范化学生(学号,姓名,性别,年龄,专业,籍贯)教师(职工号,姓名,年龄,职称,工资级别,工资)课程(课程号,课程名,学分,学时,课程类型)选课(学号,课程号,听课出勤率,作业完成率,分数)教课(职工号,课程号)3.6状态转换图相关定义状态:任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。分为初态、终态和中间状态三种。事件:引起系统做动作或(和)转换状态的控制信息。状态转换图:通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。同时还指明了作为特定事件的结果,系统将做哪些动作。状态变迁通常是由事件触发的。3.6续符号说明:初态:实心圆终态:内圆为实心圆的同心圆中间态:圆角矩形状态转换:箭头的连线①状态的名称:必选②状态变量的名字和值:可选③活动表:可选3.6续活动表语法格式:事件名(参数表)/动作表达式常用的3种标准事件:entry,exit和do。①entry事件指定进入该状态的动作;②exit事件指定退出该状态的动作;③do事件指定在该状态下的动作。动作表达式描述应做的具体动作。3.6续事件表达式语法格式:事件说明[守卫条件]/动作表达式①事件说明的语法为:事件名(参数表);
②守卫条件是一个布尔表达式;③动作表达式是一个过程表达式。3.6续电话系统状态图3.7其他图形工具层次方框图层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。顶层矩形框,代表完整的数据结构;中间的各矩形框代表上层数据的子集;最底层的各矩形框代表组成不能再分割的实际数据元素。随着结构的精细化,层次方框图对数据结构的描绘得越来越详细。3.7续例如,描绘一家计算机公司全部产品的数据结构可以用图中的层次方框图表示。3.7续Warnier图1974年,法国人J.D.Warnier提出了一种LCP(LogicalConstructionofPrograms,逻辑构造程序)。他利用顺序、选择、重复三种结构表示信息的层次分解,并指出可以从信息层次结构推导出程序结构。1981年KenOrr对Warnier的工作进行了扩充,使其不仅包含了Warnier的信息层次结构,还引进了数据流和处理功能,从而发展成为一种需求分析方法。Warnier图又称为Warnier-Orr图,可以表示数据结构和程序结构,即表明信息的逻辑组织。3.7续考虑一个典型的报纸自动组版系统。报纸作为其中重要的信息对象,具有以下内容:1.首版
1)标题新闻
2)国内新闻
3)本地新闻2.商业金融版
1)股市行情
2)商业新闻
3)广告3.文化体育版
1)文化、体育新闻
2)散文
3)新书评论3.7续Warnier图示例标题新闻国内新闻本地新闻股市行情(0,1)商业新闻广告(1,5)文化、体育新闻散文
新书评论文化体育版首版商业金融版报纸3.7续Warnier图说明①花括号内的信息条目构成顺序关系;②花括号从左至右排列表示树型层次结构;③符号“⊕”表示不可兼具的选择关系;④“ ̄”表示“非”。⑤圆括号内的数字表示重复次数:(1,n)表示重复结构,(1)或不标次数表示顺序结构,(0,1)表示选择结构。3.7续软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 综合压弯机构施工方案
- 建筑史与古建筑保护知识专项测试卷
- 营销策略在品牌推广中的应用试卷
- 建项目管理承包合同
- 季度销售奖杯采购合同
- 固墙宝墙面处理剂施工方案
- 湖北生态透水路面施工方案
- 输油管道 施工方案
- 合肥数字公园施工方案
- 医院围墙柱子施工方案
- 企业安全培训课件-网络与信息安全
- 《无障碍设计》课件
- 绿化养护服务方案(技术标 方案)
- 《长征胜利万岁》杨成武-【中职专用】高一语文下学期同步课堂(高教版2023·基础模块下册)
- 二级公立医院绩效考核三级手术目录(2020版)
- 云母制品在阻燃材料中的应用
- 月考后正确的试卷分析方法分析研究
- 小波分析及其MATLAB实现
- 2021中国静脉血栓栓塞症防治抗凝药物的选用与药学监护指南(2021版)解读
- 装修施工规定(十四篇)
- 集团公司审批权限表
评论
0/150
提交评论