软件工程 教学课件 作者 郑人杰 马素霞 麻志毅 第3章 结构化分析建模.pptVIP

软件工程 教学课件 作者 郑人杰 马素霞 麻志毅 第3章 结构化分析建模.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2部分 结构化软件开发方法 第3章 结构化分析建模 3.1 软件需求分析阶段的任务 可以把软件需求分析阶段的工作分为4个步骤,即获取需求、分析需求、定义需求和验证需求,如图所示。 3.1 软件需求分析阶段的任务 需求获取 通过启发、引导从客户(或用户)那里得到的原始需求是他们的业务要求(needs),简称为N。 这是分析之前获取的需求,其中可能存在一些实际问题,这些问题只有通过分析才能得到解决,直接把获取的需求作为软件设计阶段的依据将会导致严重的后果。 3.1 软件需求分析阶段的任务 需求分析 认真研究获取的需求,必须考虑以下几方面: (1) 完整性:每项获取的需求都应给出清楚的描述,使得软件开发工作能够取得设计和实现该功能所需要的全部必要信息。 (2) 正确性:获取的每项需求必须是准确无误的,并且需求描述无歧义性。 (3) 合理性:各项需求之间、软件需求与系统需求之间应是协调一致的,不应存在矛盾和冲突。 3.1 软件需求分析阶段的任务 需求分析 (4) 可行性:包括技术可行性 、经济可行性 、社会可行性 。 (5) 充分性:获取的需求是否全面、周到。 3.1 软件需求分析阶段的任务 需求分析 由于分析的过程会对获取的需求做部分调整,也即从获取的需求N中去掉了一些a,又补充了一些c,从而得到的是分析的需求R1(b+c)。 3.1 软件需求分析阶段的任务 需求定义 将已经过分析的需求清晰、全面、系统、准确地描述成为正式的文档,这一步定义需求的工作就是编写需求规格说明。 3.1 软件需求分析阶段的任务 需求验证 为了确保已定义的需求(需求规格说明)准确无误,并能为客户(或用户)理解和接受,需要对其进行严格的评审。 3.2 结构化分析方法简介 结构化分析方法 传统的分析建模方法称为结构化分析(structured analysis,SA)方法。 最有代表性的是一种面向数据流进行需求分析的方法,最初于20世纪70年代由D.Ross提出,后来又经过扩充,形成了今天的结构化分析方法的框架。 3.2 结构化分析方法简介 结构化分析模型 结构化分析方法是一种建模技术,它建立的分析模型如图所示。 3.3 功能建模 概念 功能建模的思想就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。功能模型用数据流图来描述。 3.3 功能建模 数据流图的基本图形符号 3.3 功能建模 多个数据流之间的关系 3.3 功能建模 环境图 环境图(context diagram)也称为顶层数据流图(或0层数据流图),它仅包括一个数据处理过程,也就是要开发的目标系统。 环境图的作用是确定系统在其环境中的位置,通过确定系统的输入和输出与外部实体的关系确定其边界。 3.3 功能建模 典型的环境图 招生系统需求描述 学校首先公布招生条件,考生根据自己的条件报名,之后系统进行资格审查,并给出资格审查信息; 对于资格审查合格的考生可以参加答卷,系统根据学校提供的试题及答案进行自动判卷,并给出分数及答题信息,供考生查询; 最后系统根据学校的录取分数线进行录取,并将录取信息发送给考生。 3.3 功能建模 招生系统的环境图 3.3 功能建模 数据流图的分层 对于稍微复杂一些的实际问题,在数据流图上常常出现十几个甚至几十个加工,这样的数据流图看起来不直观,不易理解,分层的数据流图能很好地解决这一问题。 按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。 3.3 功能建模 招生系统的分层数据流图 3.3 功能建模 数据流图的分层示意图 3.3 功能建模 实例研究 银行储蓄系统的业务流程: 储户填写的存款单或取款单由业务员键入系统; 如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率、密码(可选)等信息,并印出存单给储户; 如果是取款而且开户时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。 要求画出分层的数据流图,并细化到2层数据流图。 3.3 功能建模 (1) 识别外部实体及输入输出数据流。 外部实体:储户、业务员。 输入数据:如果需要储户输入密码,储户才直接与系统进行交互。储户填写的存款或取款信息通过业务员键入系统,可以将存款及取款信息抽象为事务。 输出数据:存款单,利息清单。 3.3 功能建模 (2) 画出环境图(顶层数据流图) 3.3 功能建模 (3) 画出一层数据流图 3.3 功能建模 (4) 画出二层数据流图

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档