已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程 第02章软件项目的需求分析 可行性研究1 需求分析的任务2 结构化分析与建模4 需求规格说明书6 Microsoft Office Visio5 需求分析的步骤3 一、可行性研究 v 1、可行性研究的任务 可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够 解决。也就是说,可行性研究的目的不是解决问题,而是确定问题是否可 解,是否值得去解。一般来说,可行性研究应该从以下几个方面进行: (1)技术可行性分析:使用现有技术能否实现系统 (2)经济可行性分析:开发投入与经济效益 (3)操作可行性分析:系统操作方式在该组织内是否可行,是否存在社会 问题 (4)法律可行性分析:开发过程中涉及的各种合同、侵权、责任以及其他 同法律相抵触的内容 存在问题的解决:引入资金、引入人员、合作 最后给出问题是否可解,是否值得解决 一、可行性研究 v2、可行性研究的步骤 1)复查系统规模和目标:清晰的描述对系统目标的一切限制和约束,确 保解决问题的正确性。 2)研究目前正在使用的系统:通过对现有系统的文档资料的阅读、分析 和研究,总结出现有系统的优点与不足,解决老系统的问题(修改、增 加)。 3)导出新系统的高层逻辑模型:告诉用户,系统可以做什么,而不是怎 么做 4)重新定义问题:定义分析问题导出模型再定义问题 5)导出和评价供选择的方案:从逻辑模型出发,导出若干较高层次的解 供比较和选择。 6)推荐一个方案并说明理由:从技术、经济、操作等方面进行比较,向 用户推荐一个方案 7)推荐行动方针 一、可行性研究 8)草拟开发计划 任务分解,确定负责人 进度规划 财务预算 风险分析与对策:市场、技术、政策 9)书写文档提交审查 进行可行性研究,需要对软件项目的开发进行宏观 的把握,一般是由技术、财务、人事等多个部门组 成的小组来进行的。 一、可行性研究 v 3、系统流程图 在进行可行性研究时需要了解和分析现有系统,并以概括的形式表达对现 有系统的认识。进入设计阶段以后应该把设想的新系统的逻辑模型转变成 物理模型,因此需要描绘未来的物理系统的概貌。系统流程图是描绘物理 系统的传统工具,它的基本思想是用图形符号以黑盒子形式描绘系统里面 的每个部件(程序 、文件 、数据库、表格、人工过程等)。系统流程图 表达的是部件的信息流程,而不是对信息进行加工处理的控制过程。 1)系统流程图的功能如下: 制作系统流程图的过程是系统分析员全面了解系统业务处理概况的过程, 它是系统分析员作进一步分析的依据。 系统流程图是系统分析员、管理人员、业务操作人员相互交流的工具。 系统分析员可以直接利用系统流程图画出可以实现计算机处理的部分 可利用系统流程图来分析业务流程的合理性 一、可行性研究 2)系统流程图的符号 一、可行性研究 一、可行性研究 v 3)系统流程图示例 v 例用系统流程图来分析下述问题。 某图书馆闭架借书流程如下:读者须先验明证件后才能进入查询室。读者 在查询室内通过检书卡或利用终端检索图书数据库来查找自己所需的图书。找 到所需图书并填好索书单后到服务台借书。如果所借图书还有剩余,管理员将 填好借书单,从库房中取出图书交于读者。 一、可行性研究 v4、可行性研究报告主要内容 一、可行性研究 v4、可行性研究报告主要内容 一、可行性研究 v4、可行性研究报告主要内容 一、可行性研究 v4、可行性研究报告主要内容 一、可行性研究 v4、可行性研究报告主要内容 一、可行性研究 v4、可行性研究报告主要内容 一、可行性研究 v4、可行性研究报告主要内容 一、可行性研究 v4、可行性研究报告主要内容 二、需求分析的任务 需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必 须完成哪些工作,准确地回答“系统必须做什么?”这个问题。 虽然在可行性研究阶段已经粗略了解了用户的需求,甚至还提出了一些可 行的方案,但是,可行性研究的基本目的是用较小的成本在较短的时间内确 定是否存在可行的解法,因此许多细节被忽略了.需求分析的任务还不是确 定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对 目标系统提出完整,准确,清晰,具体的要求。 在这个阶段结束时交出的文档中应该包括详细的数据流图,数据字典和一 组简明的算法描述。 二、需求分析的任务 由当前系统建立目标系统模型 需求分析需要借助于当前系统的逻辑模型导出目标系统的逻辑模型, 解决系统做什么的问题 二、需求分析的任务 v1、确定对系统的综合需求 1)系统功能要求 应该划分出系统必须完成的所有功能。 2)系统性能要求 如联机系统的响应时间、系统需要的存储容量以及后援存储、重新启动和安全性等方 面的考虑都属于性能要求。 3)运行要求 这类要求集中表现为对系统运行时所处环境的要求.例如,支持系统运行的系统软件是 什么,采用哪种数据库管理系统,需要什么样的外存储器和数据通信接口等。 4)将来可能提出的要求 应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的 要求.这样做的目的是在设计过程中对系统将来可能的扩充和修改预做准备,以便一旦 需要时能比较容易地进行这种扩充和修改。 二、需求分析的任务 v 2、分析系统的数据要求 任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和 系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计有深远 影响,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务. 分析系统的数据通常采用建立概念模型的方法。 复杂的数据由许多基本的数据元素组成,数据结构表示数据元素之间 的逻辑关系.利用数据字典可以全面准确地定义数据,但是数据字典的缺点 是不够形象直观.为了提高可理解性,常常利用图形工具辅助描绘数据结构. 常用的图形工具有层次方框图和Warnier图。 软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组 织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异 常,简化修改数据的过程,通常需要把数据结构规范化。 二、需求分析的任务 v 3、导出系统的逻辑模型 综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流 图,数据字典和主要的处理算法描述这个逻辑模型. v 4、修正系统开发计划 根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地 估计系统的成本和进度,修正以前制定的开发计划. v 5、开发原型系统 建立原型系统作的策略主要理由如下: (1)由于人类认识能力的局限,不能预先指定所有要求; (2)在用户和系统分析员之间存在固有的通信鸿沟; (3)用户需要一个“活的“系统模型,以便获得实践经验; (4)在开发过程中重复和反复是必要的和不可避免的; (5)目前有快速建立原型系统的工具可供选用. 三、需求分析的步骤 v1、调查研究 分析人员同程序员研究系统数据的流程及调查用户需求或查阅可行 性报告、项目开发计划报告,访问现场,获得当前系统的具体模型 ,以IPO(输入、处理、输出)图或DFD(数据流图)图表示。 系统分析员把沿数据流图回溯过程中所划分出来的数据元素记录在 数据字典中,把对算法的简明描述记录在IPO图中,并把通过分析而 补充的数据流、数据存储和处理,添加到数据流图的适当位置。 用户倾听和复查分析员的报告,确认分析员的认识是否正确、有无 遗漏,并及时纠正和补充分析员的认识。跟踪数据流图和复查系统 的逻辑模型这两个步骤实质上构成一个循环,分析员在分析过程中 必须充分重视和使用数据流图、数据字典和算法工具。 三、需求分析的步骤 v2、分析与综合 分析员从数据流和数据结构出发,逐步细化所有的软件功能,找 出系统各元素之间的联系、接口特性和设计上的限制,分析它们 是否满足功能要求,是否合理。根据功能需求、性能需求、运行 环境需求等,删除不合理部分,增加需要部分,组中综合成系统 的解决方案,给出目标系统的详细逻辑模型。 v3、书写文档 系统需求规格说明说 修正开发计划 v4、需求分析评审 三、结构化分析与建模 v 1、关于建模 v 所谓模型,就是为了理解事务而对事务做出的一种抽象,是对事务的一种无 歧义的书面描述。软件需求分析建立起来的模型称为需求模型,分析模型实 际上是一组模型,它是一种目标系统逻辑表示技术,可以由一组图形符号和 组织这些符号的规则组成。 v 利用需求模型不仅可以把知识规范的表示出来,而且可以降低问题的复杂度 ,便于问题的理解和设计,同时,可以使开发人员与用户之间易于交流。 v 模型用于描述软件目标系统所有的数据信息、处理功能、用户界面及运行的 外部行为等,模型并不涉及到软件的具体实现细节。常用的方法有SA建模、 Jackson建模、OO建模等。 三、结构化分析与建模 v 2、结构化分析介绍 结构化分析(SA: Structured Analysis)是基于面向数据流的分析方法 之一,是具有代表性的一种需求建模方法。结构化方法的基本思想是把 系统自上向下逐层分解,逐步求精,它的基本原则是抽象与分解。 在结构化分析建模活动中,核心是数据字典,围绕数据字典有3个子模型 ,即数据模型、功能模型、行为模型。数据模型用于描述数据对象之间 的关系,通常采用“实体关系图“(ERD:Entity-Relationship Diagram)来描述。功能模型常用数据流图(DFD:Data Flow Diagram)来 描述,数据流图符号简单实用,是结构化分析技术被广泛使用的原因之 一。行为模型常用状态转换图来描述,它通过描述系统的状态以及已经 引起系统状态转换的事件来表示系统的行为。 三、结构化分析与建模 v3、数据流图 3.1含义:数据流图从数据传递和加工的角度,以图形方式 描述数据流从输入到输出的传输变换过程。数据流图是结构 化分析的主要工具,它表示了系统内部信息的流向,并表示 了系统的逻辑处理功能。 3.2特征: 抽象性:仅保留信息和数据存储、流动、使用以及加工 的情况。 概括性:数据流图把系统对各种业务的处理过程联系起 来,形成一个总体,具有概括性。 层次性 三、结构化分析与建模 v 3.3 数据流图的基本图形符号 三、结构化分析与建模 v 数据流:用箭头描述,由一组固定的数据项组成,箭头方向表示数据的流向,作 为数据在系统内的传输通道。 v 加工:用圆或椭圆描述,又称数据处理,表示输入数据在此进行变换产生输出数 据,以数据结构或数据内容作为加工对象。 v 数据存储文件:用双杆描述,在数据流图中起保存数据的作用,又称数据存储或 文件,可以是数据库文件或任何形式的数据组织。流向数据存储的数据流可以理 解为写入文件或查询文件,从数据存储流出的数据流可以理解为从文件读数据或 得到查询结果。 v 数据源点或终点:用方框描述,表示数据流图中要处理数据的输入来源或处理结 果要送往的地方,在图中仅作为一个符号,并不需要以任何软件的形式进行设计 和实现,是系统外部环境中的实体,故称外部实体。它们作为系统与系统外部环 境的接口界面,在实际的问题中可能是人员、组织、其他软硬件系统等。一般只 出现在分层数据流的顶层图中。 三、结构化分析与建模 v3.4数据流与加工之间的关系图 三、结构化分析与建模 v3.5 数据流图的画法 1)确定系统的输入输出 由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些 ,把可能有的内容全部都包括进去。此时,应该向用户了解“系统从外 界接受什么数据”、“系统向外界送出什么数据”等信息,然后,根据 用户的答复画出数据流图的外围。 2)由外向里画系统的顶层数据流图 首先,将系统的输人数据和输出数据用一连串的加工连接起来。在数据 流的值发生变化的地方就是一个加工。接着,给各个加工命名。然后, 给加工之间的数据命名。最后,给文件命名。 3)自顶向下逐层分解,绘出分层数据流图 对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层 分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图 来分别表示。 三、结构化分析与建模 v 3.6 示例:商店业务处理系统 顶层数据流图 三、结构化分析与建模 v第一层数据流图 三、结构化分析与建模 vv 销售细化销售细化 三、结构化分析与建模 vv采购细化采购细化 三、结构化分析与建模 v4、数据字典 v 4.1数据字典的定义 v 数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完 成的定义与说明,是数据流程图的补充工具。数据流图和数据字典共 同构成系统的逻辑模型,没有数据字典数据流图就不严格,没有数据 流图数据字典也难于发挥作用。 v 4.2数据字典的内容 v 数据字典的内容主要是对数据流程图中的数据项、数据结构、数据流 、处理逻辑、数据存储和外部实体等六个方面进行具体的定义。 三、结构化分析与建模 v 1、数据项的定义:数据项又称数据元素,是数据的最小单位。 v 具体包括: (1) 数据项的名称、编号、别名和简述; (2) 数据项的长度; (3) 数据项的取值范围。 数据项编号:ID201 数据项名称:材料编号 别名:材料编码 简述:某种材料的代码 类型及宽度:字符型,4位 取值范围:“0001“9999“ 三、结构化分析与建模 v 2、数据结构的定义:数据结构描述某 些数据项之间的关系。一个数据结构 可以由若干个数据项组成,也可以由 若干个数据结构组成,还可以由若干 个数据项和数据结构组成。 v 数据字典中对数据结构的定义包括以 下内容: (1)数据结构的名称和编号; (2)简述; (3)数据结构的组成。 如果是一个简单的数据结构,只需列 出它所包含的数据项。如果是一个嵌 套数据结构,只需列出它所包含的数 据结构名称,因为这些被包含的数据 结构在数据字典其他部分已有定义。 DS03-01:用户订货单 DS03-02:订货单标识 DS03-03:用户 情况 DS03-04:配件情 况 I1:订货单编 号I3:用户代码I10:配件代码 I2:日期I4:用户名称I11:配件名称 I5:用户地址I12:配件规格 I6:用户姓名I13:订货 数量 I7:电话 I8:开户银 行 I9:账号 数据结构定义 数据结构编号:DS03-01 数据结构名称:用户订货单 简述:用户所填用户情况及订货要求等信息 数据结构组成:DS03-02 +DS03-03+ DS03-04 三、结构化分析与建模 v 3、数据流的定义数据流由一个或一组固定的数据项组成。定义数 据流时,不仅要说明数据流的名称、组成等,还应指明它的来源、 去向和数据流量等。 数据流定义 数据流编号:F03-08 数据流名称:领料单 简述:车间开出的领料单 数据流来源:车间 数据流去向:发料处理模块 数据流组成:材料编号+材料名称+领用数量+日期+领用单位 数据流量:10份时 高峰流量:20份时(上午9:0011:00) 三、结构化分析与建模 v 4、处理逻辑的定义:处理逻辑的定义仅对数据流程图中最底层的处 理逻辑加以说明。(常用处理逻辑说明工具有:结构式语言、判断 树、判断表等) 处理逻辑定义 处理逻辑编号:P02-03 处理逻辑名称:计算电费 简述:计算应交纳的电费 输入的数据流: 数据流电费价格,来源于数据存储文件价格表;数据流电量和用户类别 ,来源于处理逻辑“读电表数字处理“和数据存储“用户文件“。 处理: 根据数据流“用电量“和“用户信息“,检索用户文件,确定该用户类别; 再根据已确定的该用户类别,检索数据存储价格表文件,以确定该 用户的收费标准,得到单价;用单价和用电量相乘得该用户应交纳 的电费。 输出的数据流: 数据流“电费“一是去向外部用户,二是写入数据存储用户电费账目文件 。 处理频率:对每个用户每月处理一次。 三、结构化分析与建模 v 5、数据存储的定义:数据存储在数据字典中只描述数据的逻辑存储 结构,而不涉及它的物理组织。 数据存储定义 数据存储编号:F03-08 数据存储名称:库存账 简述:存放配件的库存量和单价 数据存储组成:配件编号+配件名称+单价+库存量+备注 关键字:配件编号 相关联的处理:P02,P03 三、结构化分析与建模 v 6、外部实体的定义:外部实体定义包括外部实体编号、 名称、简述及有关数据流的输入和输出。 外部实体定义 外部实体编号:S03-01 外部实体名称:用户 简述:购置本单位配件的用户 输入的数据流:D03-06,D03-08 输出的数据流:D03-01 三、结构化分析与建模 v4.3数据的定义 v1、数据定义的符号 符符 号号 含含 义义 举举 例例 被定义为被定义为 与与 x x = = a ab b .,. .,. 或或 .|. .|. 或或 x x = = a a , , b b ,x x = = a a | | b b . . 或或 m.n m.n 重复重复 x x = = a a , x x = = 3 3 a a 8 8 (.) (.) 可选可选 x x = ( = (a a) ) “.” “.” 基本数据元素基本数据元素 x x = “ = “a a” ” 连结符连结符 x x = 19 = 19 三、结构化分析与建模 v 2、示例:存折 三、结构化分析与建模 存折户名所号帐号开户日性质存折户名所号帐号开户日性质( (印密印密) )11存取行存取行5050 户名户名22字母字母2424 所号所号“001”“999” 001”“999” 帐号帐号“00000001”“99999999”00000001”“99999999” 开户日年月日开户日年月日 性质性质“1”“6” 1”“6” 注:注:“1”1”表示普通户,表示普通户,“5”5”表示工资户等表示工资户等 印密印密“0” 0” 注:印密在存折上不显示注:印密在存折上不显示 存取行日期(摘要)支出存入余额操作复核存取行日期(摘要)支出存入余额操作复核 文件名:各班学生用书表 别名: 组成:系编号专业和班编号年级书号 组织:按系、专业和班编号从小到大排列 存取要求:关键字是专业和班编号 三、结构化分析与建模 v5、其他图形工具 v 5.1判定表 v 当数据流图的加工需要依赖于多个逻辑条件的取值时,使 用判定表来描述比较合适。 三、结构化分析与建模 v 5.2 层次方框图 v 层次方框图通过树型结构 的一系列多层次的矩形框 描述复杂数据的层次结构 ,非常适合描述自顶向下 的需求分析方法中数据的 层次关系。系统分析员可 以从对顶层信息的分类开 始,沿着层次图中的每条 路径逐步细化,直到确定 了数据结构的全部细节为 止。 三、结构化分析与建模 v5.3 IPO图 vIPO图能够方便地描绘输入数据、对数据的处理和 输出数据之间的关系。 三、结构化分析与建模 v6、实体关系图(E-R图) v E-R(Entity-Relation)方法,即实体联系方法是目前最常用的数据建模方 法,可以用于在需求分析阶段清晰地表达目标系统中数据之间的联系及其组 织方式,建立系统的实体数据模型(E-R模型)。实体模型可以根据需要在软件 实现时转换成各种不同数据库管理系统所支持的数据物理模型。实体模型由 实体、联系和属性三个基本成分组成。 v (1) 实体:指客观世界存在的且可以相互区分的事物。实体可以是人,也可 以是物,还可以是抽象概念。如职工、计算机、产品都是实体。 v (2) 属性:有时也称性质,是指实体某一方面的特征。一个实体通常由多个 属性值组成。如学生实体具有学号、姓名、专业、年级等属性。 v (3) 联系:指实体之间的相互关系。实体之间的联系可主要划分为三类:一 对一(1:1)、一对多(1:n)和多对多(m:n)。联系也可以具有属性。为了便于实 现,在进行数据库设计时通常将多对多的联系转换为一对多的联系。 三、结构化分析与建模 vE-R模型中的基本符号 符号含 义 表示实体 表示实体间的联系,与实体间的连线上需用数字标明具 体的对应关系 表示与实体有关的属性 用于实体、属性及联系的连接 三、结构化分析与建模 学生和课程之间的E-R模型 (a) 学生和课程之间的多对多联系E-R模型; (b) 将多对多联系转换为一对多联系E-R模型 三、结构化分析与建模 v库房管理系统的ER图 7、结构化分析实例:教材购销管理系统 问题描述:学校教材科根据业务的需要,建立一个学校教材购销管理系统,提高教 材采购、销售和信息管理的效率。 学 生 张秘书 购书 申请 王会计李出纳赵保管 学 生 购书 证明 购书 发票 领书 单 书 学 生 审 查 有效性 购书 单 开发票 开领 书单 发 书 学 生 有 效 购书单 发票 领书 单 书 学 生 审查并 开发票 购书 单 开领 书单 发书 学 生 发票领书单书 2)去掉具体模 型中的非本质因 素,抽象出当前 系统的逻辑模型 1)通过对现实 环境的调查研究 ,获得当前系统 的具体模型 3)分析当前系统 与目标系统的差 别,建立目标系 统的逻辑模型。 三、结构化分析与建模 三、结构化分析与建模 4)对目标系统进 行补充和完善, 并写出完整的需 求说明。 学 生 审查并 开发票 购书单 开领 书单 学 生 发票领书单 无效书单 学 生 1 审查并 开发票 购书单 2 开领 书单 学 生 发票领书单 无效书单 各班学生用书表教材存量表 5)对需求说明进 行复审,直到确认 文档齐全,并且符 合用户的全部需求 为止 学生 教材购销管 理系统 书 库保 管员 1. 教材购销管理系统的顶层DFD 购书单 领书单 缺书单 进书
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GBT 35189-2017 海洋生物体中碘 - 131 的测定 β 计数法》专题研究报告
- 2025年中国钢铁行业数智化转型研究报告
- 《GBT 34910.1-2017 海洋可再生能源资源调查与评估指南 第 1 部分:总则》专题研究报告
- 硫酸生产工岗前基础培训考核试卷含答案
- 耐蚀塑料工诚信品质模拟考核试卷含答案
- 水上打桩工安全素养能力考核试卷含答案
- 固态电解质制造工改进考核试卷含答案
- 智能楼宇管理员设备技术规程
- 野生动物保护员班组管理强化考核试卷含答案
- 《GBT 3810.6-2016 陶瓷砖试验方法 第 6 部分:无釉砖耐磨深度的测定》专题研究报告
- 必修《苏武传》林莉莎备课
- 边坡脚手架计算书
- 2023儿童特发性矮身材诊断与治疗中国专家共识(完整版)
- 门式起重机安全培训
- 2022勘察设计服务成本核算指南
- 第十二章 疫苗与免疫预防
- 术中低体温护理查房
- 湖南省居民基本医疗保险门诊慢特病待遇资格认定申请表
- 《爱的教育》阅读分享课课件
- 医院物业管理方案2
- 保护视力国旗下讲话稿-1
评论
0/150
提交评论