软件系统的分析和设计.ppt_第1页
软件系统的分析和设计.ppt_第2页
软件系统的分析和设计.ppt_第3页
软件系统的分析和设计.ppt_第4页
软件系统的分析和设计.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

2008/4 唐金文 E_mial: 6下载本讲座相关资料,唐金文 Computer Science Department Qujin Normal University,软件需求分析文档的写作方法 The Writing Methods of Software Requirements Specification(SRS),2008/4 唐金文 E_mial: 6下载本讲座相关资料,讲座目的,为毕业论文的撰写提供帮助 专业论文基本要求是:综合多门专业基础课程(三门及以上,计算机科学与技术专业本科毕业论文,要求综合应用程序设计、数据库、网络相关知识撰写毕业论文(设计)); 共同探讨 软件需求分析规范SRS-Software Requirements Specification。,2008/4 唐金文 E_mial: 6下载本讲座相关资料,讲座内容,什么是软件需求分析? 为什么一定要写需求分析文档(SRS)? 需求分析两种方法(结构化面向对象)介绍。 怎么写软件需求分析文档?重点介绍结构化思想.,2008/4 唐金文 E_mial: 6下载本讲座相关资料,是实施软件工程项目的第一步(需求分析-设计-编码-测试-维护)工作,是对业务规则及业务流程进行分析后的语言文字及图表的描述。无论什么领域,软件的应用无非是代替(或部分代替)该领域业务手工工作,提高工作效率,因此要求软件设计开发者弄清楚该领域的业务需求,就是软件的需求分析。 例如:“XX学校学籍管理信息系统”的开发与设计,要求设计人员熟悉学籍管理的业务规则及流程。,什么是软件需求分析?,2008/4 唐金文 E_mial: 6下载本讲座相关资料,为什么一定要写需求分析文档?,需求分析文档也称需求分析规格说明书或称为需求规约说明书(Software Requirement Specification,SRS)是需求分析阶段最终形成的文档,体现了这个需求分析成果,同样属于软件制品之一。 SRS的作用(一定程度上等价与建筑设计图和设计说明书): 开发者与用户间事实上的技术合同书 开发者下一步设计和编码的基础 测试验收目标系统的依据,2008/4 唐金文 E_mial: 6下载本讲座相关资料,需求分析的两种方法:,结构化分析方法SA-Structure Analysis 1.1 结构化系统分析思想 结构化分析方法是由美国Yourdon公司在20世纪70年代提出的,其基本思想是将系统开发看成工程项目,有计划、有步骤地进行,是一种应用很广的开发方法,适用于分析大型信息系统。 结构化分析方法采用“自顶向下,逐层分解”的开发策略。按照这种策略,再复杂的系统也可以有条不紊的进行,只要将复杂的系统适当分层,每层的复杂程度即可降低,这就是结构化分析的特点。,2008/4 唐金文 E_mial: 6下载本讲座相关资料,1.2结构化分析方法的内容,结构化分析之后获得的文档是系统分析报告,系统分析报告是由下面几个部分组成的: 现行业务流程分析; 现有数据和数据流程分析; 系统的初步方案和补充材料,如开发计划等;,2008/4 唐金文 E_mial: 6下载本讲座相关资料,1.3 结构划分此方法的特点,结构化分析方法简单,易于掌握和使用。 结构化分析方法将分析的结果用图形表示,如业务流程图,数据流程图等,这些图形都有一套标准图符组成,从而将分析结果简明易懂的展示在用户面前。 结构化分析是在业务流或已有系统的基础上再构思即将开发的目标系统,采用层层分解对问题进行分解。,2008/4 唐金文 E_mial: 6下载本讲座相关资料,1.4 结构化分析方法的局限,结构化分析方法要求对系统有完整确切的需求定义,而实际上这是非常困难的。 文档资料数量大。需要书写大量文档,随着分析的深入,这套文档需要及时更新,即使在工具的辅助下,仍有一定的难度。 以数据为中心,而不是以问题为中心,不能很好地表示客观世界的真实情况,其结果不能直接映射题域。,2008/4 唐金文 E_mial: 6下载本讲座相关资料,2. 面向对象分析方法OOA-Object oriented Analysis 20世纪80年代到90年代出现大量的OOA和OOD论文与专著,OOA和OOD技术在工业界得到广泛应用,OOA&D成为计算机软件领域的主流技术。 OOA方法强调:以问题域中的固有事物作为基本单位,即认为:任何一个复杂的软件系统,对象是组成系统的基本单位,系统行为是对象与对象之间进行交互与协作完成系统功能的。所以要求在OOA分析阶段,在详尽描述业务规则的基础上,提取系统(问题域)中的对象,并在抽象层次上建立OOA模型,从而为OOD阶段的类的设计与交互作准备。 面向对象方法下的软件工程步骤是: OOAOODOOPL;,2008/4 唐金文 E_mial: 6下载本讲座相关资料,需求分析文档写作步骤,步骤1:获取原始的业务需求及业务规则 设计人员考察原始业务流程及业务规则,不清楚的问题必须请教业务人员,发现可改进的业务规则和流程与业务人员进行协商,达成一致意见。最终形成文字性及图表描述的业务需求。 为解决自然语言的二义性问题,使用术语表的方式对容易产生歧义的术语进行阐释。 如“跳墙”、“下海”等词语具有二义性。 必要时采用图表的方式加以描述,最好能使用CASE(Computer Aided Software Engineering)工具 ,如软件建模工具Rational Rose、Visio2003等。,2008/4 唐金文 E_mial: 6下载本讲座相关资料,步骤2:功能需求建模(基于业务需求结构化思想) 步骤2.1 使用数据流图DFD进行功能建模 步骤2.2 检查数据流图的正确性 步骤2.3 利用数据字典描述DFD中的元素,即描述DFD中的数据流、数据存储、数据项、数据变换处理。,需求分析文档写作步骤,2008/4 唐金文 E_mial: 6下载本讲座相关资料,信息流模型,计算机系统从外部实体接受输入信息,经过处理后转变成输出信息,并最终展现给外部实体。,功能建模和信息流,2008/4 唐金文 E_mial: 6下载本讲座相关资料,功能建模就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。 功能模型使用了数据流图来表达系统内数据的运动情况,而数据流的变换则用结构化英语、判定表与判定树来描述。也可以用算法的形式化表示来描述数据流的变换。,功能建模,2008/4 唐金文 E_mial: 6下载本讲座相关资料,数据流图(DFD,Data Flow Diagram) 描述系统逻辑模型 信息在系统中的流动和处理; 用途 交流信息的工具; 贯穿分析、设计、编码、维护四个阶段的工具;,数据流图,2008/4 唐金文 E_mial: 6下载本讲座相关资料,从数据流动和变换的角度,以图形的方式刻画数据从输入到输出的流动变换过程。,数据流图,2008/4 唐金文 E_mial: 6下载本讲座相关资料,外部实体:表示要加工处理的数据是从外部得到或从外部提供,同时也是数据结果的接收者,可以是人、组织、其它系统。 数据流:箭头表示数据流方向,一般在旁边标注数据流名。 数据变换(加工处理):对数据进行加工、处理和变换,从而实现某个功能或操作。 数据存储:表示处理过程中存放各种数据的文件。,数据流图图符说明,2008/4 唐金文 E_mial: 6下载本讲座相关资料,单层DFD 对于大型系统,复杂、庞大、难于理解 分层DFD:较大型软件系统DFD分成多层(子图、父图概念),可以表示数据流和功能的进一步的细节。 控制复杂度,逐级分解,逐步求精; 高层DFD是其低层的抽象,低层是高层相关数据处理的细节;,分层数据流图,2008/4 唐金文 E_mial: 6下载本讲座相关资料,S,2,1,3,2.2,2.1,2.3,3.1,3.2,顶层 (不编号),0层,1层,2008/4 唐金文 E_mial: 6下载本讲座相关资料,顶层DFD,用一个数据变换表示软件; 含所有相关外部实体; 含外部实体与软件中间的数据流; 不含数据存储; 唯一; 描述软件的作用范围,对总体功能、输入、输出进行抽象描述,反映软件和系统、环境的关系;,分层数据流图,2008/4 唐金文 E_mial: 6下载本讲座相关资料,中间和底层DFD,分层数据流图,2008/4 唐金文 E_mial: 6下载本讲座相关资料,由外向里:先画系统的输入输出,然后画系统的内部,再画处理的内部。 由顶向下: 顶层、中间层、底层数据流图。 逐层分解:从外向里。,建立DFD的步骤,2008/4 唐金文 E_mial: 6下载本讲座相关资料,(1)对考生送来的报名单进行检查。 (2)对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站。 (3)对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者。 (4)制作考生通知单(含成绩及合格/不合格标志)送给考生。 (5)按地区进行成绩分类统计和试题难度分析,产生统计分析表。,考务处理系统功能,2008/4 唐金文 E_mial: 6下载本讲座相关资料,步骤2.1 考务处理系统顶层DFD,2008/4 唐金文 E_mial: 6下载本讲座相关资料,步骤2.2 0层DFD,2008/4 唐金文 E_mial: 6下载本讲座相关资料,步骤2.3登记报名单第1层DFD,2008/4 唐金文 E_mial: 6下载本讲座相关资料,步骤2.4 统计成绩1层DFD,2008/4 唐金文 E_mial: 6下载本讲座相关资料,数据存储不出现在顶层图中,外部实体通常不出现在顶层图外。 数据存储之间不应该有数据流。 仔细、恰当地为数据变换命名:处理+对象。 仔细、恰当地为数据流命名:反映整体含义。 对数据变换建立唯一、层次性编号。 每个数据变换通常要求既有输入又有输出。 不要试图让DFD反映处理的顺序。,DFD规则和注意事项,2008/4 唐金文 E_mial: 6下载本讲座相关资料,a. 数据守恒 某个处理用以产生输出的数据没有输入给这个处理,即出现遗漏; 另一种是一个处理的某些输入并没有在处理中使用以产生输出; b. 数据存储(文件)的使用 数据存储(文件)应被数据流图中的处理读和写,而不是仅读不写、或仅写不读; c. 父图和子图的平衡,步骤2.5 考检查数据流图的正确性,2008/4 唐金文 E_mial: 6下载本讲座相关资料,描述数据流 标识、来源、去向、数据组成; 其它流动属性描述:频率、数据量; 描述数据存储 文件名、描述、数据结构、数据存储方式、关键码、存取频率和数据量、 安全性要求; 描述数据项:不可再分解的数据单位 名称、 描述、 数据类型、长度(精度)、 取值范围及缺省值、计量单位、相关数据元素及数据结构; 描述数据变换 名称、编号、激活条件、变换逻辑、执行频率;,步骤2.6利用数据字典描述DFD中的元素,2008/4 唐金文 E_mial: 6下载本讲座相关资料,描述数据流,数据流名:报名单 别名: 无 简述: 学生报名时填写的项目 来源: 学生 去向: 数据变换“审查报名单” 组成: (学号)姓名生源地 数据流量:1000次/周 高峰值:报名开始期间1000次/天,2008/4 唐金文 E_mial: 6下载本讲座相关资料,描述数据流,数据流名:准考证 别名: 无 简述: 学生考试凭证 来源: 考务处理系统 去向: 学生 组成: 准考证号姓名生源地+照片 数据流量:1000次/周 高峰值:报名期间1000次/天,2008/4 唐金文 E_mial: 6下载本讲座相关资料,描述数据存储,文件名:考生名册表 别名: 无 简述: 存放考生信息信息 组成: 准考证号姓名性别出生年月+生源地+照片 组织方式: 索引文件,以学号为关键字 查询要求: 要求能够立即查询,2008/4 唐金文 E_mial: 6下载本讲座相关资料,描述数据项,数据项名: 准考证号 别名: ZK-No,ZK-num 简述: 准考证编号,主关键字 类型: 字符串 长度: 10 取值范围及含义: 第1 3位:生源地代码 第4位:性别标志,1:男 0:女 第510位 :“00001”“99999”(具体编号),2008/4 唐金文 E_mial: 6下载本讲座相关资料,描述数据变换,数据变换名: 登记报名单 编号: 1 激活条件: 收到报名单 变换逻辑: 1.1 检查报名单 + 1.2 编准考证号+ 1.3 登记考生 执行频率:2000次/日,2008/4 唐金文 E_mial: 6下载本讲座相关资料,获取原始需求。 功能建模:数据流图DFD 、数据字典DD(指明数据如何在系统内被变换)。 数据建模:实体关系图ERD(定义数据对象、属性和关系)。,需求分析规格说明书,分析总结,2008/4 唐金文 E_mial: 6下载本讲座相关资料,需求文档要点,需求文档可以使用自然语言或形式化语言来描述,还可以添加图形的表述方式和模型表征的方式。 编写目的: 为项目开发提供软件总体要求,作为用户和软件开发人员之间了解的基础; 提出功能、性能、接口和可靠性的要求,作为软件人员进行设计和编码的基础; 提供验收标准,作为用户确认测试的依据; 需求文档完成后,需要经过正式评审,以便作为下一阶段工作的基础。,2008/4 唐金文 E_mial: 6下载本讲座相关资料,需求文档要点,开发人员常常写不出好的需求文档 需求调查工作不充分,获取的需求信息太少或者太乱,以至于写不成需求文档 。 开发人员写作能力比较差,解决方法是: 提高开发人员写作能力的根本办法就是多练习写文档,熟能生巧。 另外,合适的文档模板以及比较好的示例文档能有效地降低写作难度。,2008/4 唐金文 E_mial: 6下载本讲座相关资料,高质量需求叙述的特性-1,1.正确 需求规格说明书应当正确地反映用户的真实意图。 2.清楚 清楚的需求让人易读易懂。清楚的反义词是“难读”、“难理解”。可以用设问的方式来判断需求文档是否清楚。 文档的结构、段落是否乱七八糟?上下文是否不连贯? 文档的语句是否含糊其词、罗里罗嗦? 看了半天是否还不明白需求究竟是什么?,2008/4 唐金文 E_mial: 6下载本讲座相关资料,高质量需求叙述的特性-2,3.无二义性 “无二义性” 是指每个需求只有唯一的含义。如果一个人说的话,不同的人可能有不同的理解,那么这句话就有二义性。如果需求存在二义性,将会导致人们误解需求而开发出偏离需求的产品。 为了使需求无二义性,人们在写文档时措词应当准确,切勿模棱两可(使用术语表的形式进行解释)。 4.一致 “一致”(Consistent)是指需求文档中各个需求之间不会发生矛盾。矛盾常常潜伏在需求文档的上下文中。,2008/4 唐金文 E_mial: 6下载本讲座相关资料,高质量需求叙述的特性-3,5.必要 需求文档中的各项需求对用户而言应当都是必要的。 “画蛇添足”或“锦上添花”。 6.完备 “完备”(Complete)是指需求文档中没有遗漏一些必要的需求。 不完备的需求文档将导致产生功能不完整的软件,用户在使用该软件时可能无法完成预期的任务。,2008/4 唐金文 E_mial: 6下载本讲座相关资料,高质量需求叙述的特性-4,7.可实现 各项需求对开发方而言应当都是可实现的 “可实现”意味着在技术上是可行的,并且满足时间、费用、质量等约束 。 8.可验证 各项需求对用户方而言应当都是可验证的。如果需求是不可验证的,那么用户就无法验收软件,可能会发生商业纠纷。,2008/4 唐金文 E_mial: 6下载本讲座相关资料,不合格的需求叙述-1,例1:“主要功能要求: 提供娱乐休闲”。 -难理解,不清楚,不具体。 例2:“BBS功能需求:可以进行信息的交流;可以进行文章的发表; 可以进行文章的回复;不限制的论坛内容的浏览。以上功能的操作步骤和通常的BBS论坛的一般步骤相同。” - 画蛇添足。 例3:“故障处理:可采用双机备份机制”。 -不完备,双机备份能处理所有故障。,2008/4 唐金文 E_mial: 6下载本讲座相关资料,不合格的需求叙述-2,例4:“时间特性:在峰值负载期,与所规定的发送成功响应时间的允许偏离范围:2秒”。 -发送成功响应时间是多少? 例5:“非功能需求:界面设计良好;由于该系统是面向某学校的学籍/成绩管理,以及提供学生和老师查询信息,所以主要的是响应查询,一般不会有大的问题”。 -什么情况下不会有问题?,2008/4 唐金文 E_mial: 6下载本讲座相关资料,不合格的需求叙述-3,例6:“灵活性:为适应需求的变化,我们的设计应该遵循MVC模式,合理分层,适当采用Java Beans”。 -使用多少才适当? 例7:“精度:数据

温馨提示

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

评论

0/150

提交评论