海大计算机专业软件工程课程资料lge第三章需求_第1页
海大计算机专业软件工程课程资料lge第三章需求_第2页
海大计算机专业软件工程课程资料lge第三章需求_第3页
海大计算机专业软件工程课程资料lge第三章需求_第4页
海大计算机专业软件工程课程资料lge第三章需求_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

Email:green.lyn@教材:软件工程导论(第5版)张海藩编著清华大学出版社软件工程第三章需求分析

3.1需求分析的任务

需求分析的基本任务就是准确地回答“系统必须做什么?”这个问题。

3.1.1确定对系统的综合要求对系统的综合要求有下述几个方面:

1.系统的功能要求应划分出系统必须完成的所有功能。

2.系统性能要求包括:联机系统的响应时间、系统需要的存储容量及后援存储、系统的安全性等。3.可靠性和可用性需求

可靠性需求定量地指定系统的可靠性。例如,“机场雷达系统在一个月内不能出现2次以上故障“。可用性与可靠性密切相关,它量化了用户可以使用系统的程度。例如,在任何时候主机或备份机上的雷达系统应该至少有一个是可用的,而且在一个月内任何一台计算机上该系统不可用的时间不能超过总时间的2%以上。4.出错处理要求

这类需求说明系统对环境错误应该怎样响应。例如,如果它接收到另一个系统发来的违反协议格式的消息,应该做什么?注意,上述这类错误并不是由该应用系统本身造成的。5.接口需求

接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求等。6.约束

设计约束或实现约束描述在设计或实现应用系统时应遵循的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准,应该使用的硬件平台等。7.逆向需求逆向需求说明软件系统不应该做什么。应该仅选择能澄清真实需求且可消除可能发生的误解的那些逆向需求。8.将来可能提出的要求应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。这样做的目的是,在设计过程中对将来可能的扩充和修改预做准备,以便一旦确实需要时能比较容易地进行这种扩充和修改。3.1.2分析系统的数据要求分析系统的数据要求,是软件需求分析的一个重要任务。通常采用建立概念模型的方法(见3.3节)。常用的图形工具有层次方框图和Warnier图。3.1.3导出系统的逻辑模型根据上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、E-R图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。3.1.4修正系统开发计划

3.2与用户沟通获取需求的方法3.2.1访谈访谈是最早开始使用的获取用户需求的技术,也是迄今为止仍然广泛使用的需求分析技术。访谈有两种基本形式,分别是正式的和非正式的。在访问用户的过程中,使用情景分析技术往往非常有效。所谓情景分析就是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析。

情景分析技术的用处主要体现在下述两个方面:它能在某种程度上演示目标系统的行为,从而便于用户理解,而且还可能进一步揭示出一些分析员目前还不知道的需求。由于情景分析较易为用户所理解,使用这种技术能保证用户在需求分析过程中始终扮演一个积极主动地角色。3.2.2面向数据流自顶向下求精

结构化分析方法(SA)就是面向数据流自顶向下逐步求精进行需求分析的方法。其过程如下图示:图3.1面向数据流自顶向下求精过程

分析追踪数据流图用户复查细化数据流图有补充修正无补充修正需要分解不需要分解3.2.3简易的应用规格说明技术(P60)面向团队的需求收集法,用户与开发者密切合作3.2.4快速建立软件原型快速原型应该具备的第一个特性是“快速”。快速原型应该具备的第二个特性是“容易修改”。为了快速地构建和修改软件,通常使用下述几种方法和工具:(1)第四代技术包括众多数据库查询和报表语言、程序和应用系统生成器以及其他非常高级的非过程化语言。(2)可重用用的软软件构构件使用一一组已已有的的软件件构件件(也也称为为组件件)来来装配配(而而不是是从头头构造造)原原型。。(3)形式化化规格格说明明和原原型环环境3.3分析建建模与与规格格说明明3.3.1分析建建模所谓模模型,,就是是为了了理解解事务务而对对事物物做出出的一一种抽抽象,,是对对事物物的一一种无无歧义义的书书面描描述。。通常常,模模型由由一组组图形形符号号和组组织这这些符符号的的规则则组成成。结构化化分析析实质质上是是一种种创建建模型型的活活动。。根据据结构构化分分析准准则,,需求求分析析过程程应该该建立立3种模型型,它它们分分别是是:数数据模模型、、功能能模型型和行行为模模型。。3.4节介绍绍的实实体-联系图图,描描绘数数据对对象及及数据据对象象之间间的关关系,,是用用于建建立数数据模模型的的图形形。2.4节介绍绍的数数据流流图,,描绘绘当数数据在在软件件系统统中移移动时时被变变换的的逻辑辑过程程,指指明系系统具具有的的变换换数据据的功功能,,因此此,数数据流流图是是建立立功能能模型型的基基础。。3.6节介绍绍的状状态转转换图图(简简称为为状态态图)),指指明了了作为为外部部事件件结果果的系系统行行为。。为此此,状状态图图描绘绘了系系统的的各种种行为为模式式(称称为“状态”)和在不同同状态间转转换的方式式,状态图图是行为建建模的基础础。3.3.2软件需求规规格说明软件需求规规格说明,,应包括以以下内容::系统规格说说明:主要描述目目标系统的的概貌、功功能要求、、性能要求求、可靠性性和可用性性要求、约约束和将来来可能提出出的要求等等。数据要求::主要包括数数据字典、、描绘数据据结构的层层次方框图图或Warnier图。用户系统描述述:一份初步的用用户手册。主主要包括对系系统功能和性性能的扼要描描述,使用系系统的主要步步骤和方法,,以及系统用用户的责任等等。补充:软件需求规格格说明大纲一、引言二、信息描述述1.数据流图2.数据结构表示示3.数据字字典4.系统接接口描描述5.内部接接口三、功功能描描述1.功能2.处理解解说3.设计约约束四、有有效性性准则则1.性能界界限2.测试种种类3.所指望望的软软件响响应4.特殊考考虑五、参参考文文献((与该该软件件有关关的文文件资资料的的参考考文献献表))六、附附录((补充充信息息、表表格数数据、、图表表、算算法详详细描描述等等)3.4实体-联系图图为了把把用户户的数数据要要求清清楚准准确地地描述述出来来,系系统分分析员员通常常建立立一个个概念念性数数据模模型((信息息模型型)。。概念性性数据据模型型是一一种面面向问问题的的数据据模型型,是是按照照用户户的观观点对对数据据建立立的模模型。。数据模模型中中包含含3种相互互关联联的信信息::数据据对象象、数数据对对象的的属性性及数数据对对象彼彼此间间相互互连接接的关关系。。3.4.1数据对对象((实体体)客观存存在并并可相相互区区别的的事物物称为为实体体。可可以是是具体体的人人、事事物、、行为为、事事件、、角色色或抽抽象的的概念念。总总之,,可以以由一一组属属性来来定义义的实实体都都可以以被认认为是是数据据对象象。数据对对象彼彼此间间是有有联系系的,,例如如教师师‘教教’课课程,,学生生‘学学’课课程。。数据对对象只只封装装了数数据而而没有有对施施加于于数据据上的的操作作的引引用,,这是是数据据对象象与面面向对对象中中的‘‘类’’或‘‘对象象’的的区别别。3.4.2属性实体所所具有有的某某一特特性称称为属属性。。一个个实体体可以以由若若干个个属性性来刻刻画。。例如如,学学生的的学号号、姓姓名等等。码(Key)唯唯一标标识实实体的的属性性集称称为码码。域(Domain):属属性的的取值值范围围称为为该属属性的的域。。3.4.3联系客观世世界中中的事事物彼彼此间间是有有联系系的,,例如如教师师与课课程间间存在在‘教’这种联联系,,学生生与课课程间间存在在‘学’这种种联联系系。。数据据对对象象彼彼此此之之间间相相互互连连接接的的方方式式称称为为联联系系,,也也称称为为关关系系。。联联系系可可分分为为以以下下3种类型::(1)一对一一联系((1:1)如果对于于实体集集A中的每一个实实体,实体集集B中至多有一个个实体与之联联系,反之亦亦然,则称实体集A与实体集B具有一对一联联系。记为1:1。(例如:部部门与经理))(2)一对多联系系(1:N)如果对于实体体集A中的每一个实实体,实体集集B中有n个实体(n≥0)与之联系,,反之,对于于实体集B中的每一个实实体,实体集集A中至多只有一一个实体与之之联系,则称实体集A与实体集B具有一对多联联系。记为1:N。例如,教师和和课程之间存存在一对多的的联系,即每每位教师可以以教多门课程程,而一门课课程只能由一一位教师来教教。(3)多对多联系系(M:N)如果对于实体体集A中的每一个实实体,实体集集B中有n个实体(n≥0)与之联系,,反之,对于于实体集B中的每一个实实体,实体集集A中也有m个实体(m≥0)与之联系,,则称实体集A与实体集B具有多对多联联系。记为M:N。例如,学生和和课程之间存存在多对多的的联系,即每每位学生可以以学多门课程程,而一门课课程可以由多多位学生来学学。3.4.4实体-联系图的符号号通常,使用实实体-联系图(entity-relationshipdiagram)来建立数据据模型。可以把实体-联系图简称为为ER图,相应的把把用ER图描绘的模型型称为ER模型。ER模型使用简单单的图形符号号表达系统分分析员对问题题域的理解,,ER图中包含了实实体、联系和和属性三种基基本成分。表示方式::实体型1联系名实体型2111:1联系实体型1联系名实体型2mnm:n联系实体型1联系名实体型21n1:n联系例子:

教师教1mnn

学生

课程学工号职称职务性别姓名学号系年级性别姓名成绩学时学分课名课程号图3.2某校教学管理ER图3.6状态转换图图状态转换图图(状态图图)通过描描绘系统的的状态及引引起系统状状态转换的的事件来表表示系统的的行为。3.6.1状态状态是任何何可以被观观察到的系系统行为模模式,一个个状态代表表系统的一一种行为模模式。系统统对事件的的响应,即即可以是做做一个(或或一系列))动作,也也可以是仅仅仅改变系系统本身的的状态,还还可以是既既改变状态态又做动作作。在状态图中中定义的状状态主要有有:初态((即初始状状态,最多多一个)、、终态(即即最终状态态,0至多个)和和中间状态态。3.6.2事件事件是在某某个特定时时刻发生的的事情,它它是对引起起系统做动动作或(和和)从一个个状态转换换到另一个个状态的外外部事件的的抽象。例例如,内部部时钟表明明某个规定定的时间段段已经过去去,用户移移动或点击击鼠标等都都是事件。。简而言之之,事件就就是引起系系统做动作作或(和))状态转换换的控制信信息。3.6.3符号在状态图中中,初态用用实心圆表表示,终态态用一对同同心圆表示示。中间状态用用圆角矩形形表示,可可分成上中中下三部分分:状态名名称(必须须有),状状态变量名名字和值((可选),,活动表((可选)。。活动表语法法:事件名名(参数表表)/动作表达式式活动表中经经常使用的的标准事件件:entry,exit,do状态态之之间间的的箭箭头头线线表表示示状状态态转转换换,,箭箭头头指指明明转转换换方方向向。。状状态态转转换换的的触触发发事事件件表表达达式式应应标标在在箭箭头头线线之之上上。。事件件表表达达式式语语法法::事件件说说明明[守卫卫条条件件]/动作作表表达达式式事件件说说明明语语法法::事事件件名名((参参数数表表))动作表表达式式是一一个过过程表表达式式,当当状态态转换换时执执行初始事件事件表达式结束事件状态1状态2状态变量1状态变量2活动表1活动表2图3.3状态图中使用的主要符号3.6.4例子((P66)闲置挂断电话挂断电话拿起听筒拨号音Timer=0Do/响拨号音且增加timer拨号数字数字超时超时Do/响蜂鸣音无效号码存储的信息Do/播放信息有效号码忙音Do/响忙音接通中Do/试接通占线已接通振铃Do/振铃通话受话人回话受话人断线电话断线信息播完图3.4电话系统的状态图3.7其他图图形工工具3.7.1层次方方框图图层次方方框图图用树树形结结构的的一系系列的的矩形形框描描绘数数据的的层次次结构构。产品硬件软件服务处理机存储器外部设备系统软件应用软件软件服务硬件服务培训图3.5层次方框图例子3.7.2Warnier图软件产产品系统软件应用软件操作系统(P1)编译程序(P2)软件工具编辑程序(P3)测试驱动程序(P4)设计辅助工具(P5)图3.6Warnier图例子Warnier图也用用树形形结构构描绘绘信息息,它它可以以表明明信息息的逻逻辑组组织,,即它它可以以指出出一类类信息息或一一个信信息元元素是是重复复出现现的,,也可可以表表示信信息有有条件件出现现。3.7.3IPO图IPO图是输入入/处理/输出图的的简称,,是美国国IBM公司发展展完善起起来的一一种图形形工具,,能方便便地描绘绘输入数数据、对对数据的的处理和和输出数数据之间间的关系系。IPO图的基本本形式是是在左边边的框中中列出有有关的输输入数据据,在中中间的框框内列出出主要的的处理,,在右边边的框中中列出产产生的输输出数据据。处理理框中列列出处理理的次序序暗示了了执行的的顺序。。IPO图中还用用类似向向量符号号的粗大大箭头清清楚地指指出数据据通信的的情况旧的主文件事务文件1.校验主记录2.校验事务记录3.更新主记录有效的主记录有效的事务记录更新后的主文件输入处理输出图3.7IPO图的一个例子IPO表系统:____________ 作者:_________模块:____________ 日期:_________编号:____________

注释:被调用:调用:输入:输出:处理:局部数据元素:图3.8改进的IPO图的形式式3.8验证软件件需求3.8.1从哪些方方面验证证软件需需求的正正确性一般说来来,应该该从下述述四个方方面进行行验证::一致性:所有要求求必须是是一致的的,任何何一条需需求不能和其其他需求求互相矛矛盾。完整性:需求必须须是完整整的,规规格说明明书应包包括用户需求求的每一一个功能能或性能能。现实性:指定的需需求应该该是利用用现有的的硬件技技术和软件技技术基本本上可以以实现的的。有效性:必须证明明需求是是正确有有效的,,确实能能解决用户面面对的问问题。3.8.2验证软件件需求的的方法1.验证需求求的一致致性:人人工审查查、软件件工具验验证(需需形式化化需求))2.验证需求求的现实实性:参参照以往往经验进进行分析析,必要要时采用用仿真或或性能模模拟技术术3.验证需求求的完整整性和有有效性::需要用用户合作作(利用用原型系系统)3.8.3用于需求求分析的的软件工工具软件工具具应满足足下列要要求:(1)必须有有形式化化的语法法(或表表),可可以用计计算机自动处理其其内容。(2)使用该软软件工具能能导出详细细的文档。。(3)必须提供供分析(测测试)规格格说明书的的不一致性性和冗余性性的手段,,并且应该该能够产生生一组报告告指明对完完整性分析析的结果;;(4)使用这个个软件工具具之后,应应该能够改改进通信状状况。该类软件工工具的典型型代表:美美国密执安安大学开发发的PSL/PSA(ProblemStatementLanguage/ProblemStatementAnalyzer问题陈述语语言/问题陈述分分析程序))系统。PSL/PSA系统的功能能主要有下下述四种::(1)描述任何何领域的信信息系统;;(2)创建一个个数据库保保存对该信信息系统的的描述符;;(3)对描述符符施加增加加、删除和和更改等操操作;(4)产产生生格格式式化化的的文文档档和和关关于于规规格格说说明明书书的的各各种种分分析析报报告告。。PSL/PSA系统统用用描描述述符符从从系系统统信信息息流流、、系系统统结结构构、、数数据据结结构构、、数数据据导导出出、、系系统统规规模模、、系系统统动动态态、、系系统统性性质质和和项项目目管管理理等等八八个个方方面面描描述述信信息息系系统统。。补充充::PSL/PSA的例例子子PSL描述述一一个个数数据据对

温馨提示

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

评论

0/150

提交评论