-
- 素材大小:
- 7.22 MB
- 素材授权:
- 免费下载
- 素材格式:
- .ppt
- 素材上传:
- ppt
- 上传时间:
- 2018-05-10
- 素材编号:
- 110128
- 素材类别:
- 学校PPT
-
素材预览
这是一个关于软件工程导论ppt素材,主要介绍需求分析的任务、与用户沟通获取需求的方法、分析建模与规格说明、 实体-联系图、数据规范化。第3章 需求分析 3.1 需求分析的任务 3.2 与用户沟通获取需求的方法 3.3 分析建模与规格说明 3.4 实体-联系图 3.5 数据规范化 3.6 状态转换图 3.7 其他图形工具 3.8 验证软件需求 需求分析基本任务是准确地回答: “系统必须做什么?” What to do? 用 <需求规格说明书> 表达用户的需求。3.1 需求分析的任务 3.1.1 确定对系统的综合要求 1. 功能需求指定系统必须提供的服务。2. 性能需求指定系统必须满足的定时约束或容量约束,如:速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等。3. 可靠性和可用性需求可靠性定量地指定系统的可靠性。可用性量化了用户可以使用系统的程度。4. 出错处理需求系统对环境错误怎样响应。5. 接口需求描述应用系统与它的环境通信的格式。如:用户接口需求;硬件接口需求;软件接口需求;通信接口需求,欢迎点击下载软件工程导论ppt素材哦。
软件工程导论ppt素材是由红软PPT免费下载网推荐的一款学校PPT类型的PowerPoint.
第3章 需求分析 3.1 需求分析的任务 3.2 与用户沟通获取需求的方法 3.3 分析建模与规格说明 3.4 实体-联系图 3.5 数据规范化 3.6 状态转换图 3.7 其他图形工具 3.8 验证软件需求 需求分析基本任务是准确地回答: “系统必须做什么?” What to do? 用 <需求规格说明书> 表达用户的需求。 3.1 需求分析的任务 3.1.1 确定对系统的综合要求 1. 功能需求指定系统必须提供的服务。2. 性能需求指定系统必须满足的定时约束或容量约束,如:速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等。 3. 可靠性和可用性需求可靠性定量地指定系统的可靠性。可用性量化了用户可以使用系统的程度。 4. 出错处理需求系统对环境错误怎样响应。 5. 接口需求描述应用系统与它的环境通信的格式。如:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。 6. 约束在设计或实现应用系统时应遵守的限制条件。如:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。7. 逆向需求系统不应该做什么。 8. 将来可能提出的要求在设计过程中对系统将来可能的扩充和修改预做准备。 某出版社系统调查表某出版社系统调查表 建立原型解决在产品开发的早期阶段需求不确定的问题,用户、经理和其他非技术项目风险承担者在确定和开发产品时,原型可以使他们的想象更具体化。 优点: 关注满足客户需求。缺点: 可能导致系统设计差,效率低,难于维护。一旦需求确定,往往快速原型将被抛弃。快速原型内部结构并不重要,重要的是迅速构建原型,并迅速修改,以反应客户需求。 3.3 分析建模与规格说明 3.3.1 分析建模模型:为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。 3.4 实体-联系图(ER图) 3.4.1 数据对象数据对象:可以由一组属性来定义的实体。包括: 外部实体(例,产生或使用信息的任何事物) 事物(例,报表) 行为(例,打电话) 事件(例,响警报) 角色(例,教师、学生) 单位(例,会计科) 地点(例,仓库) 结构(例,文件)等 3.4.2 属性 属性:定义了数据对象的性质。 3.4.3 联系联系/关系:数据对象彼此之间相互连接的方式。分为3种类型: (1) 一对一联系(1∶1) 例、部门与经理。 (2) 一对多联系(1∶N) 例、某校教师与课程之间存在一对多的联系“教”(见图3.2)。 (3) 多对多联系(M∶N) 例、学生与课程间的联系(“学”) 。 图3.2 某校教学管理ER图 注:联系也可能有属性。例,“成绩”既不是学生的属性也不是课程的属性,由于它既依赖于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的联系“学”的属性。 数据流图:描绘当数据在软件系统中移动时被变换的逻辑过程,指明系统具有的变换数据的功能,是建立功能模型的基础。 实体-联系图:描绘数据对象及数据对象之间的关系,用于建立数据模型。 状态转换图:指明了作为外部事件结果的系统行为。描绘了系统的各种行为模式(称为“状态”)和在不同状态间转换的方式。是行为建模的基础。 3.6.1 状态 3.6.3 状态图符号初态:用实心圆表示;终态:用一对同心圆表示;中间状态:用圆角矩形表示。3部分: 上面部分:状态的名称(必须); 中间部分:状态变量的名字和值(可选); 下面部分:活动表(可选)。 例:电话系统的状态图。 图中表明,没有人打电话时电话处于闲置状态;有人拿起听筒则进入拨号音状态,到达这个状态后,电话的行为是响起拨号音并计时;这时如果拿起听筒的人改变主意不想打了,他把听筒放下(挂断),电话重又回到闲置状态;如果拿起听筒很长时间不拨号(超时),则进入超时状态;……。 [例:当有多个申请占用CPU运行的进程时, 有关CPU分配的进程状态转换图。状态 就绪:等待分配CPU 运行:正在CPU上做处理 等待:放弃CPU 事件 t1-因I/O等事件发生而要求中断 t2-中断事件已处理 t3-分配CPU t4-已用完分配的CPU时间] 3.7 其他图形工具 3.7.1 层次方框图 图3.5 用层次方框图描绘一家计算机公司全部产品的数据结构 3.7.2 Warnier图 Warnier图:法国计算机科学家Warnier提出的表示信息层次结构的图形工具。用树形结构描绘数据结构。花括号:区别数据结构的层次; 异或符号 + :表明上下方的数据只能出现一个; 圆括号中的数字:指明该信息重复出现的次数。 图3.6 Warnier图的一个例子报纸编辑的Warnier 图 头条新闻 头版部分 国内新闻 本地新闻 社论(1,1) 报纸 社论部分 专栏(1,3) 读者来信(1,3) 讽刺漫画(0,1) 体育新闻 副刊部分 商业新闻 广告 细化的Warnier 图 地区队 体育新闻 职业队 拳击 经营简讯副刊部分 商业新闻 + 雇员简讯 一般新闻 招生 广 告 招聘 求助 3.7.3 IPO图 IPO图是输入、处理、输出图的简称,美国IBM公司发展完善起来的一种图形工具,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。算法的初级描述。 IPO图的基本形式:左边框中列出有关的输入数据,中间框内列出主要的处理,右边框内列出产生的输出数据。处理框中列出处理的次序暗示了执行的顺序,用类似向量符号的粗大箭头清楚地指出数据通信的情况。 图3.7 文件更新的IPO图 改进的IPO图(IPO表),图中包含某些附加的信息,在软件设计过程中比原始的IPO图更有用。 图3.8 改进的IPO图 3.3.2 软件需求规格说明通过需求分析除了创建分析模型之外,还应该写出软件需求规格说明书,它是需求分析阶段得出的最主要的文档。通常用自然语言书写,容易理解,为大多数人所欢迎和采用。 3.8 验证软件需求 3.8.1 从哪些方面验证软件需求的正确性软件系统中15%的错误起源于错误的需求。 (1) 一致性:任何一条需求不能和其他需求互相矛盾。 (2) 完整性:规格说明书应该包括用户需要的每一个功能或性能。 (3) 现实性:指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。 (4) 有效性:确实能解决用户面对的问题。 【3.8.2 验证软件需求的方法 1. 验证需求的一致性当需求分析的结果是用自然语言书写的时候,除了靠人工技术审查验证软件系统规格说明书的正确性之外,目前还没有其他更好的“测试”方法。但是,这种非形式化的规格说明书是难于验证的,特别在目标系统规模庞大、规格说明书篇幅很长的时候,人工审查的效果是没有保证的,冗余、遗漏和不一致等问题可能没被发现而继续保留下来,以致软件开发工作不能在正确的基础上顺利进行。 为了克服上述困难,人们提出了形式化的描述软件需求的方法。当软件需求规格说明书是用形式化的需求陈述语言书写的时候,可以用软件工具验证需求的一致性(见3.8.3节),从而能有效地保证软件需求的一致性。 2. 验证需求的现实性为了验证需求的现实性,分析员应该参照以往开发类似系统的经验,分析用现有的软、硬件技术实现目标系统的可能性。必要的时候应该采用仿真或性能模拟技术,辅助分析软件需求规格说明书的现实性。 3. 验证需求的完整性和有效性只有目标系统的用户才真正知道软件需求规格说明书是否完整、准确地描述了他们的需求。因此,检验需求的完整性,特别是证明系统确实满足用户的实际需要(即,需求的有效性),只有在用户的密切合作下才能完成。然而许多用户并不能清楚地认识到他们的需要(特别在要开发的系统是全新的,以前没有使用类似系统的经验时,情况更是如此),不能有效地比较陈述需求的语句和实际需要的功能。只有当他们有某种工作着的软件系统可以实际使用和评价时,才能完整确切地提出他们的需要。 理想的做法是先根据需求分析的结果开发出一个软件系统,请用户试用一段时间以便能认识到他们的实际需要是什么,在此基础上再写出正式的“正确的”规格说明书。但是,这种做法将使软件成本增加一倍,因此实际上几乎不可能采用这种方法。使用原型系统是一个比较现实的替代方法,开发原型系统所需要的成本和时间可以大大少于开发实际系统所需要的。用户通过试用原型系统,也能获得许多宝贵的经验,从而可以提出更符合实际的要求。 使用原型系统的目的,通常是显示目标系统的主要功能而不是性能。为了达到这个目的可以使用本章3.2.4小节介绍的方法快速建立原型系统,并且可以适当降低对接口、可靠性和程序质量的要求,此外还可以省掉许多文档资料方面的工作,从而可以大大降低原型系统的开发成本。 3.8.3 用于需求分析的软件工具为了更有效地保证软件需求的正确性,特别是为了保证需求的一致性,需要有适当的软件工具支持需求分析工作。这类软件工具应该满足下列要求: (1) 必须有形式化的语法(或表),因此可以用计算机自动处理使用这种语法说明的内容; (2) 使用这个软件工具能够导出详细的文档; (3) 必须提供分析(测试)规格说明书的不一致性和冗余性的手段,并且应该能够产生一组报告指明对完整性分析的结果; (4) 使用这个软件工具之后,应该能够改进通信状况。作为需求工程方法学的一部分,在1977年设计完成了RSL(需求陈述语言)。RSL中的语句是计算机可以处理的,处理以后把从这些语句中得到的信息集中存放在一个称为ASSM(抽象系统语义模型)的数据库中。有一组软件工具处理ASSM数据库中的信息以产生出用PASCAL语言书写的模拟程序,从而可以检验需求的一致性、完整性和现实性。 1977年美国密执安大学开发了PSL/PSA(问题陈述语言/问题陈述分析程序)系统。这个系统是CADSAT(计算机辅助设计和规格说明分析工具)的一部分,它的基本结构类似于RSL。其中PSL是用来描述系统的形式语言,PSA是处理PSL描述的分析程序。用PSL描述的系统属性放在一个数据库中。一旦建立起数据库之后即可增加信息、删除信息或修改信息,并且保持信息的一致性。PSA对数据库进行处理以产生各种报告,测试不一致性或遗漏,并且生成文档资料。 PSL/PSA系统的功能主要有下述4种: (1) 描述任何应用领域的信息系统; (2) 创建一个数据库保存对该信息系统的描述符; (3) 对描述符施加增加、删除和更改等操作; (4) 产生格式化的文档和关于规格说明书的各种分析报告。 PSL/PSA系统用描述符从系统信息流、系统结构、数据结构、数据导出、系统规模、系统动态、系统性质和项目管理等8个方面描述信息系统。 一旦用PSL对系统做了完整描述,就可以调用PSA产生一组分析报告,其中包括所有修改规格说明数据库的记录,用各种形式描述数据库信息的参照报告(包括图形形式的描述),关于项目管理信息的总结报告,以及评价数据库特性的分析报告。借助PSL/PSA系统可以边对目标系统进行自顶向下的逐层分解,边将需求分析过程中遇到的数据流、文件、处理等对象用PSL描述出来并输入到PSL/PSA系统中。PSA将对输入信息作一致性和完整性检查,并且保存这些描述信息。 PSL/PSA系统的主要优点是它改进了文档质量,能保证文档具有完整性、一致性和无二义性,从而可以减少管理和维护的费用。数据存放在数据库中,便于增加、删除和更改,这也是它的一个优点。】 结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。通过可行性研究已经得出了目标系统的高层数据流图,需求分析的目标之一就是把数据流和数据存储定义到元素级。为了达到这个目标,通常从数据流图的输出端着手分析,这是因为系统的基本功能是产生这些输出,输出数据决定了系统必须具有的最基本的组成元素。 图3.1 面向数据流自顶向下求精过程习题 3-1 为什么要进行需求分析?通常对软件系统有哪些需求? 3-2 怎样与用户有效地沟通以获取用户的真实需求? 3-3 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。 请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。 3-4 分析习题2第3题所述的机票预订系统。请用实体-联系图描绘本系统中的数据对象并用数据流图描绘本系统的功能。 3-5 分析习题2第4题所述的患者监护系统。请用实体-联系图描绘本系统中的数据对象并用数据流图描绘本系统的功能,画出本系统的顶层IPO图。 3-6 复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。请用状态转换图描绘复印机的行为。 例、假如你在一所职业高中工作,负责改校信息系统的建设与维护,财务科长请你研究用学校拥有的微机生成工资明细表和各种财务报表的可能性。请详细描述你用结构化分析方法分析上述问题的过程。
软件工程基础ppt:这是软件工程基础ppt,包括了软件需求分析与定义,可行性研究,可行性研究工作步骤,软件设计,软件测试,软件维护,软件维护的分类,软件过程管理,类图等内容,欢迎点击下载。
实用软件工程ppt:这是实用软件工程ppt,包括了软件工程概述,软件工程的概念,发展历程,软件工程的生命周期,建模的目的等内容,欢迎点击下载。
软件工程类答辩ppt:这是软件工程类答辩ppt,包括了系统介绍,研究背景,需求分析,系统设计,系统实现,总结,致谢等内容,欢迎点击下载。