欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《软件工程导论》第三章需求分析.ppt

    • 资源ID:74445882       资源大小:392.50KB        全文页数:102页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《软件工程导论》第三章需求分析.ppt

    需求分析需求分析第三章第三章山东师范大学信息科学与工程学院山东师范大学信息科学与工程学院 王化雨王化雨0 09-10 9-10 学学 年年 第第 一一 学学 期期张海藩张海藩软件工程导论软件工程导论(第第5 5版版)2002009 9年年1010月月主要内容主要内容引言引言需求分析的任务需求分析的任务与用户沟通获取需求的方法与用户沟通获取需求的方法分析建模与规格说明分析建模与规格说明实体实体-联系图联系图数据规范化数据规范化状态转换图状态转换图其他图形工具其他图形工具验证软件需求验证软件需求2023/2/262需求分析需求分析回顾:回顾:软件生命周期由 3个时期组成:软件定义、软件开发、软件维护(运行维护)软件定义时期一般为3个阶段:问题定义、可行性研究、需求分析需求分析是软件定义时期的最后一个阶段,它的基需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答本任务是准确地回答“系统必须做什么系统必须做什么?”这个问题。这个问题。需求分析的任务还需求分析的任务还不是确定系统怎样完成它的工作,不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作而仅仅是确定系统必须完成哪些工作,也就是对目,也就是对目标系统提出完整、准确、清晰、具体的要求。标系统提出完整、准确、清晰、具体的要求。2023/2/263需求分析的要点需求分析的要点为了开发出真正满足用户需求的软件产品,为了开发出真正满足用户需求的软件产品,必须知道用户的需求,对软件需求的深入理必须知道用户的需求,对软件需求的深入理解是解是需求分析是为了知道用户的需求,它的基本需求分析是为了知道用户的需求,它的基本任务是回答任务是回答“做什么做什么”。它无法解决。它无法解决“如何如何做做”的问题。的问题。与可行性研究相比,需求分析的工作更为细与可行性研究相比,需求分析的工作更为细致。致。由由系统分析员系统分析员负责,通过与用户交流完成工负责,通过与用户交流完成工作。成果是作。成果是软件需求规格说明书软件需求规格说明书。2023/2/264需求分析的关键需求分析的关键在于在于分析员分析员和和用户用户的交流的交流在分析软件需求和书写软件需求规格说明书在分析软件需求和书写软件需求规格说明书的过程中,分析员和用户都起着关键的、必的过程中,分析员和用户都起着关键的、必不可少的作用:不可少的作用:只有用户才真正知道自己需要什么,但是他们并不知道怎样用软件实现自己的需求,用户必须把他们对软件的需求尽量准确、具体地描述出来;分析员知道怎样用软件实现人们的需求,但是在需求分析开始时他们对用户的需求并不十分清楚,必须通过与用户沟通获取用户对软件的需求。2023/2/265需求分析与规格说明是艰巨复杂的工作需求分析与规格说明是艰巨复杂的工作用户与分析员之间需要的内容很多;用户与分析员之间需要的内容很多;双方交流信息的过程中很容易出现误解或遗双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。漏,也可能存在二义性。因此,因此,整个需求分析过程中应该采用行之有效的通信技术,集中精力细致工作。必须严格审查验证需求分析的结果。2023/2/266需求分析需要遵守的准则需求分析需要遵守的准则用于需求分析的用于需求分析的结构化分析方法结构化分析方法应遵守下述准则:应遵守下述准则:必须理解并描述问题的信息域,以此建立数据模型。o信息流:数据和控制通过一个系统时的变化方式。两个功能之间信息流:数据和控制通过一个系统时的变化方式。两个功能之间的数据的数据/控制传递就确定了功能间的接口。控制传递就确定了功能间的接口。o信息内容:单个数据或控制对象,它们构成了某个更大的由软件信息内容:单个数据或控制对象,它们构成了某个更大的由软件变换生成的信息的集合。变换生成的信息的集合。o信息结构:各种数据和控制项的内部组织。信息结构:各种数据和控制项的内部组织。必须定义软件应完成的功能,它要求建立功能模型。必须描述作为外部事件结果的软件行为,要求建立行为模型。必须对信息、功能和行为模型进行分解,用层次的方式展示细节。2023/2/267数据模型、功能模型、行为模型的数据模型、功能模型、行为模型的两种视图两种视图逻辑视图逻辑视图给出的是软件要达到的给出的是软件要达到的功能功能和要处和要处理的理的数据数据之间的关系(是通过之间的关系(是通过行为行为结合在一结合在一起的),而不是实现的细节。逻辑描述是软起的),而不是实现的细节。逻辑描述是软件设计的基础。件设计的基础。物理视图物理视图给出的是给出的是处理功能处理功能和和数据结构数据结构的实的实际表现形式,这往往是由设备本身决定的。际表现形式,这往往是由设备本身决定的。2023/2/268以层次化的方式对问题进行分解和不断细化 软件的功能域和信息域都能做进一步的分解。这种分解可以是同一层次上的,称为横向分解;也可以是多层次的纵向分解。纵纵向向分分解解横向分解横向分解两种层次化方式两种层次化方式2023/2/269需求分析的任务需求分析的任务就是借助于当前系统的逻辑模型导出目标就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统系统的逻辑模型,解决目标系统“做什么做什么”的问题。的问题。通常软件开发项目是要实现目标系统的物理模型。通常软件开发项目是要实现目标系统的物理模型。目标系统的具体物理模型是由它的逻辑模型经实例化,即目标系统的具体物理模型是由它的逻辑模型经实例化,即具体到某个业务领域而得到的具体到某个业务领域而得到的。目标系统目标系统当前系统当前系统物理模型物理模型逻辑模型逻辑模型模型化抽象化物理模型物理模型逻辑模型逻辑模型具体化实例化理理解解需需求求表表达达需需求求导出怎么做怎么做做什么做什么需求分析的实现步骤需求分析的实现步骤需求分析流程需求分析流程2023/2/2611主要内容主要内容引言引言需求分析的任务需求分析的任务与用户沟通获取需求的方法与用户沟通获取需求的方法分析建模与规格说明分析建模与规格说明实体实体-联系图联系图数据规范化数据规范化状态转换图状态转换图其他图形工具其他图形工具验证软件需求验证软件需求2023/2/2612需求分析的任务需求分析的任务内容内容确定对系统的综合要求分析系统的数据要求导出系统的逻辑模型修正系统的开发计划2023/2/2613确定对系统的综合要求确定对系统的综合要求功能需求功能需求是对软件系统的一项基本需求,但并是对软件系统的一项基本需求,但并不是唯一的需要。不是唯一的需要。通常对软件系统的需要是综合性的,大约包括通常对软件系统的需要是综合性的,大约包括功能需求性能需求可靠性和可用性需求出错处理需求接口需求约束逆向需求将来可能提出的要求2023/2/2614系统的综合要求系统的综合要求-1功能需求功能需求指定系统必须提供的服务指定系统必须提供的服务划分出系统必须完成的所有功能。划分出系统必须完成的所有功能。2023/2/2615系统的综合要求系统的综合要求-2性能需求性能需求性能需求性能需求指定系统必须满足的定时约束或容量指定系统必须满足的定时约束或容量约束,通常包括:约束,通常包括:速度(响应时间)信息量速率主存容量磁盘容量安全性例如:例如:“应力分析程序必须在一分种之内生成应力分析程序必须在一分种之内生成任何一个梁的应力报告。任何一个梁的应力报告。”2023/2/2616系统的综合要求系统的综合要求-3可靠性和可用性需求可靠性和可用性需求可靠性需求定量地指定系统的可靠性,如:可靠性需求定量地指定系统的可靠性,如:“机场雷达系统在一个月内不能出现机场雷达系统在一个月内不能出现2次以上次以上故障故障”;可用性:可用性:可用性与可靠性密切相关,它量化了用户可以使用系统的程度。例如:o“在任何时候,主机或备份机上的机场雷达系统应该在任何时候,主机或备份机上的机场雷达系统应该至少有一个是可用的,而且在一个月内在任何一台计至少有一个是可用的,而且在一个月内在任何一台计算机上该系统不可用的时间不能超过总时间的算机上该系统不可用的时间不能超过总时间的2。”2023/2/2617系统的综合要求系统的综合要求-4出错处理需求出错处理需求这类需求说明系统对这类需求说明系统对环境错误环境错误应该怎样响应。应该怎样响应。环境错误:非应用系统本身造成的错误。例如:如果它接收到从另一个系统发来的违反协议的消息,应该做什么?某些情况下,某些情况下,“出错处理出错处理”指的是当应用系统指的是当应用系统发现它自己犯下一个错误时所采取的行为。发现它自己犯下一个错误时所采取的行为。应该有选择地提出这类错误处理需求。这是因为:o目标是开发出正确的系统目标是开发出正确的系统o不是用无休止的出错处理代码掩盖自己的错误。不是用无休止的出错处理代码掩盖自己的错误。对应用系统本身错误的检测应该仅限于系统的关键部分,而且应该尽可能少。2023/2/2618系统的综合要求系统的综合要求-5接口需求接口需求接口需求描述应用系统与它的环境通信的格式。接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求;硬件接口常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。需求;软件接口需求;通信接口需求。例如:例如:“把商品从货源地运送到目的地所需要的成本,应该一直显示在成本正文框中。”应用系统与用户的接口。“向运输公司传送需运送的商品信息的格式是exp,其中是从商品目录中选取的字符串。”应用系统与其他应用系统通信的信息格式。2023/2/2619系统的综合要求系统的综合要求-6约束约束设计约束设计约束(或实现约束或实现约束)描述在设计描述在设计(或实现或实现)应用应用系统时应遵守的限制条件。系统时应遵守的限制条件。在需求分析阶段提出这类需求,并不是要取代在需求分析阶段提出这类需求,并不是要取代设计设计(或实现或实现)过程,只是说明用户或环境强加过程,只是说明用户或环境强加给项目的限制条件。给项目的限制条件。常见的约束有:常见的约束有:精度工具和语言约束设计约束应该使用的标准应用使用的硬件平台2023/2/2620系统的综合要求系统的综合要求-7逆向需求逆向需求逆向需求说明软件系统不应该做什么。逆向需求说明软件系统不应该做什么。理论上有无限多个逆向需求,人们应该理论上有无限多个逆向需求,人们应该仅注意仅注意能澄清真实需求且可消除可能发生的误解的那能澄清真实需求且可消除可能发生的误解的那些逆向需求些逆向需求。例如:例如:“应力分析程序无须分析桥梁倒塌数据。应力分析程序无须分析桥梁倒塌数据。”2023/2/2621系统的综合要求系统的综合要求-8将来可能提出的要求将来可能提出的要求应该明确地列出那些虽然不属于当前系统开发应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来可能会提出来的要求。范畴,但是据分析将来可能会提出来的要求。这样做的目的是:在设计过程中对系统将来可这样做的目的是:在设计过程中对系统将来可能的扩充和修改项做准备,以便一旦确实需要能的扩充和修改项做准备,以便一旦确实需要时能比较容易地进行这种扩充和修改。时能比较容易地进行这种扩充和修改。2023/2/2622需求分析的任务需求分析的任务内容内容确定对系统的综合要求分析系统的数据要求导出系统的逻辑模型修正系统的开发计划2023/2/2623分析系统数据要求分析系统数据要求必要性和方法必要性和方法任何一个软件系统都本质上都是信息处理系统:任何一个软件系统都本质上都是信息处理系统:系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件的需求有深远的影响。因此,必须分析系统的数据要求。分析系统的数据要求是软件需求分析的一个重要任务。分析系统的数据要求通常采用建立数据模型的分析系统的数据要求通常采用建立数据模型的方法。方法。2023/2/2624分析系统的数据要求分析系统的数据要求工具工具复杂的数据由许多基本的复杂的数据由许多基本的数据元素数据元素组成;组成;数据结构数据结构表示数据元素之间的逻辑关系表示数据元素之间的逻辑关系。数据字典数据字典可以全面准确地定义数据,但不够直可以全面准确地定义数据,但不够直观。观。为提高可理解性,常用为提高可理解性,常用层次方框图层次方框图和和Warnier图图来形象直观描述数据结构。来形象直观描述数据结构。2023/2/2625分析系统的数据要求分析系统的数据要求数据需要规范化数据需要规范化软件系统中经常使用长期保存的信息。软件系统中经常使用长期保存的信息。信息通常以一定方式组织并存储在数据库或文信息通常以一定方式组织并存储在数据库或文件中。件中。为减少数据冗余,简化修改数据的过程,通常为减少数据冗余,简化修改数据的过程,通常要要把数据结构规范化把数据结构规范化。2023/2/2626需求分析的任务需求分析的任务内容内容确定对系统的综合要求分析系统的数据要求导出系统的逻辑模型修正系统的开发计划2023/2/2627导出系统的逻辑模型导出系统的逻辑模型通过确定对系统的综合要求、分析系统的数据要求,通过确定对系统的综合要求、分析系统的数据要求,即可导出系统的逻辑模型。即可导出系统的逻辑模型。逻辑模型通常下列工具或方法描述:逻辑模型通常下列工具或方法描述:数据流图实体联系图状态转换图数据字典主要的处理算法前面介绍过:前面介绍过:逻辑视图给出的是软件要达到的功能和要处理的数据之间的关系(是通过行为结合在一起的),而不是实现的细节。逻辑描述是软件设计的基础。物理视图给出的是处理功能和数据结构的实际表现形式,这往往是由设备本身决定的。2023/2/2628需求分析的任务需求分析的任务内容内容确定对系统的综合要求分析系统的数据要求导出系统的逻辑模型修正系统的开发计划2023/2/2629修正系统的开发计划修正系统的开发计划如果完成:如果完成:确定对系统的综合要求分析系统的数据要求导出系统的逻辑模型即可较为准确地估计开发系统的成本和进度,即可较为准确地估计开发系统的成本和进度,修正以前制定的开发计划。修正以前制定的开发计划。2023/2/2630主要内容主要内容引言引言需求分析的任务需求分析的任务与用户沟通获取需求的方法与用户沟通获取需求的方法分析建模与规格说明分析建模与规格说明实体实体-联系图联系图数据规范化数据规范化状态转换图状态转换图其他图形工具其他图形工具验证软件需求验证软件需求2023/2/2631与用户沟通获取需求的方法与用户沟通获取需求的方法内容内容访谈面向数据流自顶向下求精简易的应用规格说明技术快速建立软件原型2023/2/2632访谈最早使用的,也是使用最为广泛的。最早使用的,也是使用最为广泛的。分正式和非正式访谈;既可访问用户,也可访分正式和非正式访谈;既可访问用户,也可访问用户领域的专家;可以考查现场,亦应考查问用户领域的专家;可以考查现场,亦应考查市场。市场。有时需要设计、分发、收集、分析调查表。有时需要设计、分发、收集、分析调查表。可以使用可以使用情景分析技术情景分析技术2023/2/2633情景分析技术的含义所谓情景分析技术是对用户所谓情景分析技术是对用户将来使用目标系统解决某将来使用目标系统解决某个具体问题个具体问题的方法和结果进行分析。例如:的方法和结果进行分析。例如:目标系统是一个制定减肥计划的软件,当给出某个肥胖症患者的年龄、身高、体重、腰围及其他数据时,就出现一个可能的情景描述。系统分析员根据自己对目标系统应具备的功能的理解,给出适用于该患者的菜单。客户公司的饮食专家可能指出,那些菜单对于有特殊饮食需求的患者(如:糖尿病人、素食者等)是不合适的。这就使分析员认识到,目标系统在制定菜单之前还应该先询问患者的特殊饮食需求。系统分析员利用情景分析技术,往往能够获知用户系统分析员利用情景分析技术,往往能够获知用户的具体需求。的具体需求。2023/2/2634情景分析技术的用处能在某种程度上演示目标系统的行为:能在某种程度上演示目标系统的行为:便于用户理解可以揭示出一些分析员目前还不知道的需求可以保证用户在需求分析过程中始终处于积极可以保证用户在需求分析过程中始终处于积极主动的地位。主动的地位。需求分析的目标是获知用户的真实需求,而这一信息的唯一来源是用户因此,让用户起积极主动的作用对需求分析工作获得成功是至关重要的。2023/2/2635与用户沟通获取需求的方法与用户沟通获取需求的方法内容内容访谈面向数据流自顶向下求精简易的应用规格说明技术快速建立软件原型2023/2/2636面向数据流自顶向下求精数据、数据流的重要性软件系统本质上是信息处理系统,而任何信息软件系统本质上是信息处理系统,而任何信息处理系统都是把处理系统都是把输入数据输入数据变成需要的变成需要的输出信息输出信息。数据决定的需要的处理和算法,显然是需求分数据决定的需要的处理和算法,显然是需求分析的出发点。析的出发点。可行性研究可行性研究阶段许多实际的数据元素被忽略了,阶段许多实际的数据元素被忽略了,需求分析需求分析阶段则应定义所有数据元素。阶段则应定义所有数据元素。2023/2/2637面向数据流自顶向下求精如何实施结构化分析方法就是面向数据流自顶向下逐步求精进行需求分结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法:析的方法:可行性研究得到了目标系统的高层数据流图,需求分析的目标之一就是把数据流和数据存储定义到元素级。为此需要从数据流图的输出端着手分析,因为系统的基本功能就是产生输出数据,而输出数据决定了系统必须具有的最基本组成元素输出数据决定了系统必须具有的最基本组成元素。沿数据流从输出端往输入端回溯,可确定每个数据元素的来源,同时初步定义了某个算法。有时,某个输出的数据元素尚未在数据流图中描述,或描述有误,或需要的算法还不明确。对这些,应及时纠正和补充。分析过程中得到的有关数据元素的信息记录在数据字典中,把对算法的简明描述记录在IPO图中。通过系统分析员的上述工作,数据流图会扩展到更低层次,从而完成数据流图的细化。必须请用户对数据分析得出的结果进行复查。最终得到对系统数据和功能要求的满意了解。2023/2/2638面向数据流自顶向下求精求精过程图上述过程可图示如下:上述过程可图示如下:2023/2/2639与用户沟通获取需求的方法与用户沟通获取需求的方法内容内容访谈面向数据流自顶向下求精简易的应用规格说明技术快速建立软件原型2023/2/2640简易的应用规格说明技术传统的传统的访谈访谈或或面向数据流自顶向下求精面向数据流自顶向下求精方法定义需求方法定义需求时,用户处于被动地位。由于不能像同一个团队的人时,用户处于被动地位。由于不能像同一个团队的人那样齐心协力地识别和精化需求,这两种方法的效果那样齐心协力地识别和精化需求,这两种方法的效果有时并不理想。有时并不理想。简易的应用规格说明技术,是一种面向团队的需求收简易的应用规格说明技术,是一种面向团队的需求收集法。集法。今天,它已经成为信息系统领域使用的主流技今天,它已经成为信息系统领域使用的主流技术术。简易的应用规格说明技术简易的应用规格说明技术分析需求,提倡用户与开发分析需求,提倡用户与开发者密切合作,共同:者密切合作,共同:标识问题提出解决方案要素商讨不同方案指定基本需求2023/2/2641简易的应用规格说明技术典型过程典型过程对用户初步访谈、初步确定需求,开发者与用户分别写出对用户初步访谈、初步确定需求,开发者与用户分别写出“产产品需求品需求”;确定双方代表开会地点、时间、;确定双方代表开会地点、时间、协调人协调人;开会前所;开会前所有与会者都将得到有与会者都将得到“产品需求产品需求”初稿。初稿。与会者开会前要认真审查资料,列出与会者开会前要认真审查资料,列出系统环境对象系统环境对象、系统将产系统将产生的对象生的对象以及以及系统为完成功能而使用的对象系统为完成功能而使用的对象;列出操作这些对;列出操作这些对象的象的服务服务、约束条件约束条件、性能标准性能标准。根据自己理解根据自己理解。会议上,会议上,在确定需要这个软件产品后在确定需要这个软件产品后,将每人的列表进行组合。,将每人的列表进行组合。除去冗余,加入讨论中的新项目,由协调人主持讨论表中的每除去冗余,加入讨论中的新项目,由协调人主持讨论表中的每个议题。个议题。讨论的目标是,针对每个议题(对象、服务、约束和性能)都讨论的目标是,针对每个议题(对象、服务、约束和性能)都创建出一张的表。创建出一张的表。一致的条例继续细化由双方更小的小组讨论、所有条例都细化到“原子项”。每个小组形成的“小型规格说明”均需提交给全体人员讨论。最终,形成完整的最终,形成完整的“软件需求规格说明书软件需求规格说明书”。2023/2/2642简易的应用规格说明技术优点优点开发者与用户不分彼此,齐心协力,密切合作;开发者与用户不分彼此,齐心协力,密切合作;即时讨论并求精;即时讨论并求精;有能导出规格说明的具体有能导出规格说明的具体步骤步骤。2023/2/2643与用户沟通获取需求的方法与用户沟通获取需求的方法内容内容访谈面向数据流自顶向下求精简易的应用规格说明技术快速建立软件原型2023/2/2644快速建立软件原型快速建立软件原型是较为准确、有效的需求分快速建立软件原型是较为准确、有效的需求分析技术。析技术。快速原型快速原型:快速建立起来旨在演示目标系统主:快速建立起来旨在演示目标系统主要功能的可运行程序。要功能的可运行程序。构建原型的要点:构建原型的要点:应该实现用户看得见的功能应该实现用户看得见的功能(例如,屏幕显示或打印报表例如,屏幕显示或打印报表),省略目标系统,省略目标系统的的“隐含隐含”功能功能(例如,修改文件例如,修改文件)。2023/2/2645快速建立软件原型特点特点快速快速:尽快向用户提供一个可在计算机上运行:尽快向用户提供一个可在计算机上运行的目标系统的模型,以便用户和开发者在目标的目标系统的模型,以便用户和开发者在目标系统应该系统应该“做什么做什么”问题上尽快达成共识。因问题上尽快达成共识。因此它的某些错误可以忽略。此它的某些错误可以忽略。容易修改容易修改:原型的:原型的“修改修改-试用试用-反馈反馈”将重复将重复多遍,如果修改耗时过多,势必延误开发。多遍,如果修改耗时过多,势必延误开发。2023/2/2646快速建立软件原型方法和工具方法和工具可快速构建和修改原型的工具:可快速构建和修改原型的工具:第四代技术:如数据库查询和报表语言、程序和应用系统生成器等非过程语言。可重用的软件构件:使用一组已有的软件构件(组件)来装配原型。软件构件可以是数据结构(或数据库)构件,或软件体系结构构件(即程序),或过程构件(即模块),必须把软件构件设计成能在不知其内部工作细节的条件下重用。形式化规格说明和原型环境:形式化规格说明语言和工具,用于替代自然语言规格说明技术。当前的开发交互式环境,可以调用自动工具把基于形式语言的规格说明翻译成可执行的程序代码,用户能够使用可执行的原型代码去进一步精化形式化的规格说明。2023/2/2647原型化方法的必要性原型化方法的必要性在开发初期,要想得到一个完整准确的规格说明不是一件容在开发初期,要想得到一个完整准确的规格说明不是一件容在开发初期,要想得到一个完整准确的规格说明不是一件容在开发初期,要想得到一个完整准确的规格说明不是一件容易的事。特别是对一些大型的软件项目。易的事。特别是对一些大型的软件项目。易的事。特别是对一些大型的软件项目。易的事。特别是对一些大型的软件项目。用户往往对系统只有一个模糊的想法,很难完全准确地表达用户往往对系统只有一个模糊的想法,很难完全准确地表达用户往往对系统只有一个模糊的想法,很难完全准确地表达用户往往对系统只有一个模糊的想法,很难完全准确地表达对系统的全面要求。对系统的全面要求。对系统的全面要求。对系统的全面要求。软件开发者对于所要解决的应用问题认识更是模糊不清软件开发者对于所要解决的应用问题认识更是模糊不清软件开发者对于所要解决的应用问题认识更是模糊不清软件开发者对于所要解决的应用问题认识更是模糊不清随着开发工作向前推进,用户可能会产生新的要求,或因环随着开发工作向前推进,用户可能会产生新的要求,或因环随着开发工作向前推进,用户可能会产生新的要求,或因环随着开发工作向前推进,用户可能会产生新的要求,或因环境变化,要求系统也能随之变化;开发者又可能在设计与实境变化,要求系统也能随之变化;开发者又可能在设计与实境变化,要求系统也能随之变化;开发者又可能在设计与实境变化,要求系统也能随之变化;开发者又可能在设计与实现的过程中遇到些没有预料到的实际困难,需要以改变需求现的过程中遇到些没有预料到的实际困难,需要以改变需求现的过程中遇到些没有预料到的实际困难,需要以改变需求现的过程中遇到些没有预料到的实际困难,需要以改变需求来解脱困境。来解脱困境。来解脱困境。来解脱困境。因此规格说明难以完善、需求的变更、以及通信中的模糊和因此规格说明难以完善、需求的变更、以及通信中的模糊和因此规格说明难以完善、需求的变更、以及通信中的模糊和因此规格说明难以完善、需求的变更、以及通信中的模糊和误解,都会成为软件开发顺利推进的障碍。误解,都会成为软件开发顺利推进的障碍。误解,都会成为软件开发顺利推进的障碍。误解,都会成为软件开发顺利推进的障碍。为解决这些问题,逐渐形成了软件系统的快速原型的概念。为解决这些问题,逐渐形成了软件系统的快速原型的概念。为解决这些问题,逐渐形成了软件系统的快速原型的概念。为解决这些问题,逐渐形成了软件系统的快速原型的概念。2023/2/2648软件原型的分类软件原型的分类探索型:目的是要弄清对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。实验型:这种原型用于大规模开发和实现之前,考核方案是否合适,规格说明是否可靠。进化型:这种原型的目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。2023/2/2649原型使用策略原型使用策略废弃策略废弃策略追加策略追加策略 2023/2/2650建立快速原型的好处建立快速原型的好处增进软件者和用户对系统服务需求的理解,使比增进软件者和用户对系统服务需求的理解,使比较含糊的具有不确定性的软件需求(主要是功能)较含糊的具有不确定性的软件需求(主要是功能)明确化。明确化。软件原型化方法提供了一种有力的学习手段软件原型化方法提供了一种有力的学习手段。使用原型化方法,可以容易地确定系统的性能,使用原型化方法,可以容易地确定系统的性能,确认各项主要系统服务的可应用性,确认系统设确认各项主要系统服务的可应用性,确认系统设计的可行性,确认系统作为产品的结果。计的可行性,确认系统作为产品的结果。软件原型的最终版本,有的可以原封不动地成为软件原型的最终版本,有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个产品,有的略加修改就可以成为最终系统的一个组成部分,这样有利于建成最终系统。组成部分,这样有利于建成最终系统。2023/2/26512023/2/26522023/2/2653主要内容主要内容引言引言需求分析的任务需求分析的任务与用户沟通获取需求的方法与用户沟通获取需求的方法分析建模与规格说明分析建模与规格说明实体实体-联系图联系图数据规范化数据规范化状态转换图状态转换图其他图形工具其他图形工具验证软件需求验证软件需求2023/2/2654分析建模模型:为了理解事物而对事物做出的一种抽象,是对事物的一模型:为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。符号的规则组成。需求分析需求分析(教材为教材为结构化分析结构化分析)实际上是一种创建模型的活动,实际上是一种创建模型的活动,系统分析员应该:系统分析员应该:从不同角度抽象出目标系统的特性使用精确的表示方法构造系统的模型验证模型是否满足用户对目标系统的需求在设计过程中逐渐把和实现有关的细节加进模型中,直至最终用程序实现模型。需求分析需求分析(结构化分析结构化分析)应该建立应该建立数据数据、功能功能和和行为行为3种模型:种模型:实体-联系图,描述数据对象及数据对象之间的关系,是用于建立数据模型的图形。数据流图:描绘当数据在软件系统中移动时被变换的逻辑过程,指明系统具有的变换数据的功能,是建立功能模型的基础。状态转换图,也叫状态图:指明作为外部事件结果的系统行为。描绘了系统的各种行为模式和在不同状态间转换的方式。是行为建模的基础。2023/2/2655规格说明需求分析:需求分析:创建分析建模写出软件需求规格说明书软件需求规格说明书软件需求规格说明书是需求分析阶段得出的最是需求分析阶段得出的最主要文档。主要文档。可用自然语言书写。可用自然语言书写。准确、具体地描述系统的准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。逆向需求以及将来可能提出的要求。为消除自然语言的缺陷,亦可用形式化方法描为消除自然语言的缺陷,亦可用形式化方法描述。述。2023/2/2656主要内容主要内容引言引言需求分析的任务需求分析的任务与用户沟通获取需求的方法与用户沟通获取需求的方法分析建模与规格说明分析建模与规格说明实体实体-联系图联系图数据规范化数据规范化状态转换图状态转换图其他图形工具其他图形工具验证软件需求验证软件需求2023/2/2657实体-联系图为了把用户的数据要求清楚、准确地描述出来,为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个系统分析员通常建立一个概念性的数据模型概念性的数据模型,也叫也叫信息模型信息模型。它是一种面向问题的数据模型,是按照用户的它是一种面向问题的数据模型,是按照用户的观点对数据建立的模型,描述了从用户角度看观点对数据建立的模型,描述了从用户角度看到的数据,反映了用户的现实环境,而且在软到的数据,反映了用户的现实环境,而且在软件系统中的实现方法无关。件系统中的实现方法无关。它包含它包含3种相互关联的信息:种相互关联的信息:数据对象数据对象的属性数据对象彼此间相互连接的关系2023/2/2658实体-联系图数据对象数据对象数据对象数据对象是对软件必须理解的复合信息的抽象。是对软件必须理解的复合信息的抽象。复合信息复合信息是指具有一系列不同性质或属性的事是指具有一系列不同性质或属性的事物,仅有单个值的事物不是数据对象。物,仅有单个值的事物不是数据对象。数据对象可以是外部实体、事物、行为、事件数据对象可以是外部实体、事物、行为、事件等,是可以由一组属性来定义的实体都可被认等,是可以由一组属性来定义的实体都可被认为是数据对象。为是数据对象。数据对象彼此间有关联,数据对象只封装了数数据对象彼此间有关联,数据对象只封装了数据而没有对施加于数据上的操作。这是数据对据而没有对施加于数据上的操作。这是数据对象与象与OO中的中的“类类”和和“对象对象”的显著区别。的显著区别。2023/2/2659实体-联系图数据对象数据对象的属性的属性属性属性定义了数据对象的性质。某数据对象的一定义了数据对象的性质。某数据对象的一个或多个属性可作为它的关键字,因为可以通个或多个属性可作为它的关键字,因为可以通过它识别数据对象的一个实例。过它识别数据对象的一个实例。应该根据对所要解决问题的理解,来确定特定应该根据对所要解决问题的理解,来确定特定数据对象的一组合适的属性。数据对象的一组合适的属性。2023/2/2660实体-联系图数据对象彼此间相互连接的关系数据对象彼此间相互连接的关系联系联系定义了数据对象彼此之间相互连接的方式。定义了数据对象彼此之间相互连接的方式。联系的种类:联系的种类:一对一一对多多对多联系也可以有属性联系也可以有属性2023/2/2661实体-联系图实体实体-联系图的符号联系图的符号使用实体使用实体-联系图联系图(entity-relationship diagram)来建来建立数据模型。可以把实体立数据模型。可以把实体-联系图简称为联系图简称为ER图,图,相应地可把用相应地可把用ER图描绘的数据模型称为图描绘的数据模型称为ER模型。模型。ER图中包含了实体图中包含了实体(即数据对象即数据对象)、关系和属性、关系和属性等等3种基本成分,通常用矩形框代表实体,用连种基本成分,通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体角矩形表示实体(或关系或关系)的属性,并用直线把的属性,并用直线把实体实体(或关系或关系)与其属性连接起来。与其属性连接起来。ER模型比较接近人的习惯思维方式,不熟悉计模型比较接近人的习惯思维方式,不熟悉计算机技术的用户也能理解它。算机技术的用户也能理解它。2023/2/2662主要内容主要内容引言引言需求分析的任务需求分析的任务与用户沟通获取需求的方法与用户沟通获取需求的方法分析建模与规格说明分析建模与规格说明实体实体-联系图联系图数据规范化数据规范化状态转换图状态转换图其他图形工具其他图形工具验证软件需求验证软件需求2023/2/2663数据规范化软件系统经常使用各种长期保存的信息,这些软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文信息通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把删除异常,简化修改数据的过程,通常需要把数据结构规范化。数据结构规范化。通常用通常用“范式范式(normal forms)”定义定义消除数据冗余消除数据冗余的程度的程度。范式越高,数据冗余度越小:。范式越高,数据冗余度越小:1 NF的数据冗余度最大5 NF的数据冗余度最小 2023/2/2664范式定义第一范式:每个属性值都必须是原子值,即仅仅是一第一范式:每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。个简单值而不含内部结构。第二范式:满足第一范式,且每个非关键字属性都由第二范式:满足第一范式,且每个非关键字属性都由整个关键字决定整个关键字决定(而不是由关键字的一部分决定而不是由关键字的一部分决定)。非关键字属性完全函数依赖于关键字非关键字属性完全函数依赖于关键字第三范式:符合第二范式的条件,每个非关键字属性第三范式:符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述是对另一个非关键字属性的进一步描述(即一个非关键即一个非关键字属性值不依赖于另一个非关键字属性值字属性值不依赖于另一个非关键字属性值)。任何任何非关键字属性间不存在函数依赖非关键字属性间不存在函数依赖2023/2/2665主要内容主要内容引言引言需求分析的任务需求分析的任务与用户沟通获取需求的方法与用户沟通获取需求的方法分析建模与规格说明分析建模与规格说明实体实体-联系图联系图数据规范化数据规范化状态转换图状态转换图其他图形工具其他图形工具验证软件需求验证软件需求2023/2/2666状态转换图的功能状态转换图状态转换图(简称为状态图简称为状态图)通过描绘系统的状通过描绘系统的状态及引起系统状态转换的事件,来表示系统的态及引起系统状态转换的事件,来表示系统的行为。行为。此外,状态图还指明了作为特定事件的结果,此外,状态图还指明了作为特定事件的结果,系统将做哪些动作系统将做哪些动作(例如,处理数据例如,处理数据)。因此,状态图提供了行为建模机制。因此,状态图提供了行为建模机制。状态图中两个状态之间带箭头的连线称为状态状态图中两个状态之间带箭头的连线称为状态转换,箭头指明了转换方向。转换,箭头指明了转换方向。2023/2/2667状态状态状态是任何可以被观察到的系统行为模式,是任何可以被观察到的系统行为模式,一个状态一个状态代表系统的一种行为模式代表

    注意事项

    本文(《软件工程导论》第三章需求分析.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开