收藏 分享(赏)

第02章软件工程的需求分析.ppt

上传人:hyngb9260 文档编号:8159634 上传时间:2019-06-11 格式:PPT 页数:65 大小:2.45MB
下载 相关 举报
第02章软件工程的需求分析.ppt_第1页
第1页 / 共65页
第02章软件工程的需求分析.ppt_第2页
第2页 / 共65页
第02章软件工程的需求分析.ppt_第3页
第3页 / 共65页
第02章软件工程的需求分析.ppt_第4页
第4页 / 共65页
第02章软件工程的需求分析.ppt_第5页
第5页 / 共65页
点击查看更多>>
资源描述

1、软件工程,第02章 软件项目的需求分析,一、可行性研究,1、可行性研究的任务 可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。也就是说,可行性研究的目的不是解决问题,而是确定问题是否可解,是否值得去解。一般来说,可行性研究应该从以下几个方面进行: (1)技术可行性分析:使用现有技术能否实现系统 (2)经济可行性分析:开发投入与经济效益 (3)操作可行性分析:系统操作方式在该组织内是否可行,是否存在社会问题 (4)法律可行性分析:开发过程中涉及的各种合同、侵权、责任以及其他同法律相抵触的内容 存在问题的解决:引入资金、引入人员、合作 最后给出问题是否可解,是否值得解决,一、

2、可行性研究,2、可行性研究的步骤 1)复查系统规模和目标:清晰的描述对系统目标的一切限制和约束,确保解决问题的正确性。 2)研究目前正在使用的系统:通过对现有系统的文档资料的阅读、分析和研究,总结出现有系统的优点与不足,解决老系统的问题(修改、增加)。 3)导出新系统的高层逻辑模型:告诉用户,系统可以做什么,而不是怎么做 4)重新定义问题:定义分析问题导出模型再定义问题 5)导出和评价供选择的方案:从逻辑模型出发,导出若干较高层次的解供比较和选择。 6)推荐一个方案并说明理由:从技术、经济、操作等方面进行比较,向用户推荐一个方案 7)推荐行动方针,一、可行性研究,8)草拟开发计划 任务分解,确

3、定负责人 进度规划 财务预算 风险分析与对策:市场、技术、政策 9)书写文档提交审查,进行可行性研究,需要对软件项目的开发进行宏观的把握,一般是由技术、财务、人事等多个部门组成的小组来进行的。,一、可行性研究,3、系统流程图 在进行可行性研究时需要了解和分析现有系统,并以概括的形式表达对现有系统的认识。进入设计阶段以后应该把设想的新系统的逻辑模型转变成物理模型,因此需要描绘未来的物理系统的概貌。系统流程图是描绘物理系统的传统工具,它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序 、文件 、数据库、表格、人工过程等)。系统流程图表达的是部件的信息流程,而不是对信息进行加工处理的控

4、制过程。 1)系统流程图的功能如下: 制作系统流程图的过程是系统分析员全面了解系统业务处理概况的过程,它是系统分析员作进一步分析的依据。 系统流程图是系统分析员、管理人员、业务操作人员相互交流的工具。 系统分析员可以直接利用系统流程图画出可以实现计算机处理的部分 可利用系统流程图来分析业务流程的合理性,一、可行性研究,2)系统流程图的符号,一、可行性研究,一、可行性研究,3)系统流程图示例 例用系统流程图来分析下述问题。 某图书馆闭架借书流程如下:读者须先验明证件后才能进入查询室。读者在查询室内通过检书卡或利用终端检索图书数据库来查找自己所需的图书。找到所需图书并填好索书单后到服务台借书。如果

5、所借图书还有剩余,管理员将填好借书单,从库房中取出图书交于读者。,一、可行性研究,4、可行性研究报告主要内容,一、可行性研究,4、可行性研究报告主要内容,一、可行性研究,4、可行性研究报告主要内容,一、可行性研究,4、可行性研究报告主要内容,一、可行性研究,4、可行性研究报告主要内容,一、可行性研究,4、可行性研究报告主要内容,一、可行性研究,4、可行性研究报告主要内容,一、可行性研究,4、可行性研究报告主要内容,二、需求分析的任务,需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,准确地回答“系统必须做什么?”这个问题。 虽然在可行性研究阶段已经粗略了解了用户的

6、需求,甚至还提出了一些可行的方案,但是,可行性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行的解法,因此许多细节被忽略了.需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整,准确,清晰,具体的要求。 在这个阶段结束时交出的文档中应该包括详细的数据流图,数据字典和一组简明的算法描述。,二、需求分析的任务,由当前系统建立目标系统模型,需求分析需要借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决系统做什么的问题,二、需求分析的任务,1、确定对系统的综合需求 1)系统功能要求 应该划分出系统必须完成的所有功能。 2)系统性能要求 如

7、联机系统的响应时间、系统需要的存储容量以及后援存储、重新启动和安全性等方面的考虑都属于性能要求。 3)运行要求这类要求集中表现为对系统运行时所处环境的要求.例如,支持系统运行的系统软件是什么,采用哪种数据库管理系统,需要什么样的外存储器和数据通信接口等。 4)将来可能提出的要求 应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求.这样做的目的是在设计过程中对系统将来可能的扩充和修改预做准备,以便一旦需要时能比较容易地进行这种扩充和修改。,二、需求分析的任务,2、分析系统的数据要求 任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大

8、程度上决定了系统的面貌,对软件设计有深远影响,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务.分析系统的数据通常采用建立概念模型的方法。 复杂的数据由许多基本的数据元素组成,数据结构表示数据元素之间的逻辑关系.利用数据字典可以全面准确地定义数据,但是数据字典的缺点是不够形象直观.为了提高可理解性,常常利用图形工具辅助描绘数据结构.常用的图形工具有层次方框图和Warnier图。软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。,二、需求分析的任务,3、导出系

9、统的逻辑模型 综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图,数据字典和主要的处理算法描述这个逻辑模型. 4、修正系统开发计划 根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划. 5、开发原型系统 建立原型系统作的策略主要理由如下: (1)由于人类认识能力的局限,不能预先指定所有要求; (2)在用户和系统分析员之间存在固有的通信鸿沟; (3)用户需要一个“活的“系统模型,以便获得实践经验; (4)在开发过程中重复和反复是必要的和不可避免的; (5)目前有快速建立原型系统的工具可供选用.,三、需求分析的步骤,1、调查

10、研究 分析人员同程序员研究系统数据的流程及调查用户需求或查阅可行性报告、项目开发计划报告,访问现场,获得当前系统的具体模型,以IPO(输入、处理、输出)图或DFD(数据流图)图表示。 系统分析员把沿数据流图回溯过程中所划分出来的数据元素记录在数据字典中,把对算法的简明描述记录在IPO图中,并把通过分析而补充的数据流、数据存储和处理,添加到数据流图的适当位置。 用户倾听和复查分析员的报告,确认分析员的认识是否正确、有无遗漏,并及时纠正和补充分析员的认识。跟踪数据流图和复查系统的逻辑模型这两个步骤实质上构成一个循环,分析员在分析过程中必须充分重视和使用数据流图、数据字典和算法工具。,三、需求分析的

11、步骤,2、分析与综合 分析员从数据流和数据结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求,是否合理。根据功能需求、性能需求、运行环境需求等,删除不合理部分,增加需要部分,组中综合成系统的解决方案,给出目标系统的详细逻辑模型。 3、书写文档 系统需求规格说明说 修正开发计划 4、需求分析评审,三、结构化分析与建模,1、关于建模 所谓模型,就是为了理解事务而对事务做出的一种抽象,是对事务的一种无歧义的书面描述。软件需求分析建立起来的模型称为需求模型,分析模型实际上是一组模型,它是一种目标系统逻辑表示技术,可以由一组图形符号和组织这些符号

12、的规则组成。 利用需求模型不仅可以把知识规范的表示出来,而且可以降低问题的复杂度,便于问题的理解和设计,同时,可以使开发人员与用户之间易于交流。 模型用于描述软件目标系统所有的数据信息、处理功能、用户界面及运行的外部行为等,模型并不涉及到软件的具体实现细节。常用的方法有SA建模、Jackson建模、OO建模等。,三、结构化分析与建模,2、结构化分析介绍 结构化分析(SA: Structured Analysis)是基于面向数据流的分析方法之一,是具有代表性的一种需求建模方法。结构化方法的基本思想是把系统自上向下逐层分解,逐步求精,它的基本原则是抽象与分解。 在结构化分析建模活动中,核心是数据字

13、典,围绕数据字典有3个子模型,即数据模型、功能模型、行为模型。数据模型用于描述数据对象之间的关系,通常采用“实体关系图“(ERD:Entity-Relationship Diagram)来描述。功能模型常用数据流图(DFD:Data Flow Diagram)来描述,数据流图符号简单实用,是结构化分析技术被广泛使用的原因之一。行为模型常用状态转换图来描述,它通过描述系统的状态以及已经引起系统状态转换的事件来表示系统的行为。,三、结构化分析与建模,3、数据流图 3.1含义:数据流图从数据传递和加工的角度,以图形方式描述数据流从输入到输出的传输变换过程。数据流图是结构化分析的主要工具,它表示了系统

14、内部信息的流向,并表示了系统的逻辑处理功能。 3.2特征: 抽象性:仅保留信息和数据存储、流动、使用以及加工的情况。 概括性:数据流图把系统对各种业务的处理过程联系起来,形成一个总体,具有概括性。 层次性,三、结构化分析与建模,3.3 数据流图的基本图形符号,三、结构化分析与建模,数据流:用箭头描述,由一组固定的数据项组成,箭头方向表示数据的流向,作为数据在系统内的传输通道。 加工:用圆或椭圆描述,又称数据处理,表示输入数据在此进行变换产生输出数据,以数据结构或数据内容作为加工对象。 数据存储文件:用双杆描述,在数据流图中起保存数据的作用,又称数据存储或文件,可以是数据库文件或任何形式的数据组

15、织。流向数据存储的数据流可以理解为写入文件或查询文件,从数据存储流出的数据流可以理解为从文件读数据或得到查询结果。 数据源点或终点:用方框描述,表示数据流图中要处理数据的输入来源或处理结果要送往的地方,在图中仅作为一个符号,并不需要以任何软件的形式进行设计和实现,是系统外部环境中的实体,故称外部实体。它们作为系统与系统外部环境的接口界面,在实际的问题中可能是人员、组织、其他软硬件系统等。一般只出现在分层数据流的顶层图中。,三、结构化分析与建模,3.4数据流与加工之间的关系图,3.5 数据流图的画法 1)确定系统的输入输出 由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,把可能有

16、的内容全部都包括进去。此时,应该向用户了解“系统从外界接受什么数据”、“系统向外界送出什么数据”等信息,然后,根据用户的答复画出数据流图的外围。 2)由外向里画系统的顶层数据流图 首先,将系统的输人数据和输出数据用一连串的加工连接起来。在数据流的值发生变化的地方就是一个加工。接着,给各个加工命名。然后,给加工之间的数据命名。最后,给文件命名。 3)自顶向下逐层分解,绘出分层数据流图 对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别表示。,三、结构化分析与建模,3.6 示例:商店业务处理系统,顶层数据流图,三、结构

17、化分析与建模,第一层数据流图,三、结构化分析与建模,销售细化,三、结构化分析与建模,采购细化,三、结构化分析与建模,4、数据字典 4.1数据字典的定义 数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完成的定义与说明,是数据流程图的补充工具。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,没有数据流图数据字典也难于发挥作用。 4.2数据字典的内容 数据字典的内容主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等六个方面进行具体的定义。,三、结构化分析与建模,1、数据项的定义:数据项又称数据元素,是数据的最小单位。 具体包括: (1)

18、 数据项的名称、编号、别名和简述; (2) 数据项的长度; (3) 数据项的取值范围。,三、结构化分析与建模,2、数据结构的定义:数据结构描述某些数据项之间的关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,还可以由若干个数据项和数据结构组成。 数据字典中对数据结构的定义包括以下内容: (1)数据结构的名称和编号; (2)简述; (3)数据结构的组成。 如果是一个简单的数据结构,只需列出它所包含的数据项。如果是一个嵌套数据结构,只需列出它所包含的数据结构名称,因为这些被包含的数据结构在数据字典其他部分已有定义。,三、结构化分析与建模,3、数据流的定义数据流由一个或一组固定的

19、数据项组成。定义数据流时,不仅要说明数据流的名称、组成等,还应指明它的来源、去向和数据流量等。,三、结构化分析与建模,4、处理逻辑的定义:处理逻辑的定义仅对数据流程图中最底层的处理逻辑加以说明。(常用处理逻辑说明工具有:结构式语言、判断树、判断表等),三、结构化分析与建模,5、数据存储的定义:数据存储在数据字典中只描述数据的逻辑存储结构,而不涉及它的物理组织。,三、结构化分析与建模,6、外部实体的定义:外部实体定义包括外部实体编号、名称、简述及有关数据流的输入和输出。,三、结构化分析与建模,4.3数据的定义 1、数据定义的符号,符 号 含 义 举 例 被定义为 与 x = ab .,. 或 .

20、|. 或 x = a , b,x = a | b . 或 m.n 重复 x = a, x = 3a8 (.) 可选 x = (a) “.” 基本数据元素 x = “a”连结符 x = 19,三、结构化分析与建模,2、示例:存折,三、结构化分析与建模,存折户名所号帐号开户日性质(印密)1存取行50 户名2字母24 所号“001”“999” 帐号“00000001”“99999999” 开户日年月日 性质“1”“6” 注:“1”表示普通户,“5”表示工资户等 印密“0” 注:印密在存折上不显示 存取行日期(摘要)支出存入余额操作复核,文件名:各班学生用书表 别名: 组成:系编号专业和班编号年级书号

21、 组织:按系、专业和班编号从小到大排列 存取要求:关键字是专业和班编号,三、结构化分析与建模,5、其他图形工具 5.1判定表 当数据流图的加工需要依赖于多个逻辑条件的取值时,使用判定表来描述比较合适。,三、结构化分析与建模,5.2 层次方框图 层次方框图通过树型结构的一系列多层次的矩形框描述复杂数据的层次结构,非常适合描述自顶向下的需求分析方法中数据的层次关系。系统分析员可以从对顶层信息的分类开始,沿着层次图中的每条路径逐步细化,直到确定了数据结构的全部细节为止。,三、结构化分析与建模,5.3 IPO图 IPO图能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。,三、结构化分析与建模,

22、6、实体关系图(E-R图) E-R(Entity-Relation)方法,即实体联系方法是目前最常用的数据建模方法,可以用于在需求分析阶段清晰地表达目标系统中数据之间的联系及其组织方式,建立系统的实体数据模型(E-R模型)。实体模型可以根据需要在软件实现时转换成各种不同数据库管理系统所支持的数据物理模型。实体模型由实体、联系和属性三个基本成分组成。(1) 实体:指客观世界存在的且可以相互区分的事物。实体可以是人,也可以是物,还可以是抽象概念。如职工、计算机、产品都是实体。(2) 属性:有时也称性质,是指实体某一方面的特征。一个实体通常由多个属性值组成。如学生实体具有学号、姓名、专业、年级等属性

23、。(3) 联系:指实体之间的相互关系。实体之间的联系可主要划分为三类:一对一(1:1)、一对多(1:n)和多对多(m:n)。联系也可以具有属性。为了便于实现,在进行数据库设计时通常将多对多的联系转换为一对多的联系。,三、结构化分析与建模,E-R模型中的基本符号,三、结构化分析与建模,学生和课程之间的E-R模型 学生和课程之间的多对多联系E-R模型; (b) 将多对多联系转换为一对多联系E-R模型,三、结构化分析与建模,库房管理系统的ER图,7、结构化分析实例:教材购销管理系统 问题描述:学校教材科根据业务的需要,建立一个学校教材购销管理系统,提高教材采购、销售和信息管理的效率。,学生,审 查有

24、效性,购书单,开发票,开领书单,发书,学生,有 效购书单,发票,领书单,书,2)去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型,1)通过对现实环境的调查研究,获得当前系统的具体模型,3)分析当前系统与目标系统的差别,建立目标系统的逻辑模型。,三、结构化分析与建模,三、结构化分析与建模,4)对目标系统进行补充和完善,并写出完整的需求说明。,5)对需求说明进行复审,直到确认文档齐全,并且符合用户的全部需求为止,三、结构化分析与建模,3. 第三层DFD图销售子系统,三、结构化分析与建模,3. 第三层DFD图采购子系统,三、结构化分析与建模,数据字典(Data Directory-DD) 领书单

25、 = 学院+专业+班级+学号+姓名+书号+书名+数量+日期 有效购书单 = 领书单 发票= 学号+姓名+书号+书名+单价+数量+总价+书费合计 教材存量表 = 书号+单价+数量 暂缺书单 = 学号+姓名+ 书号+数量 补售书单 = 学号+姓名+ 书号+数量,三、结构化分析与建模,五、Microsoft Office Visio,Visio本质上是一个绘图工具软件,也是Microsoft Office家族的新成员。Visio的软件和系统开发模板提供了流程图、数据流图、E-R图、UML(统一建模语言)图等许多图形符号,为系统分析和设计人员建立软件工程中的各种系统模型提供了很好的支持。 一、基本操作 模板、模具以及图形查找 放大、缩小绘图页:扫视和缩放窗口;滚轮+Ctrl 添加文本:直接添加;文本工具 连接形状 设置形状格式属性 二、应用示例 流程图、数据流图、网络图、网站图 三、其他 创建模具和模板 共享与发布:WEB,OFFICE,五、Microsoft Office Visio,五、Microsoft Office Visio,五、Microsoft Office Visio,六、需求规格说明书,六、需求规格说明书,Click to edit company slogan .,Thank You !,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报