第2章可行性研究和需求分析
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输入/输出
数据流
文档 磁盘 人工操作
⒊系统流程图示例(软G25) 图2-1中用了处理、输入/输出、数 据流、文档、磁盘、人工操作等符号。
2.4
数据流图(软G26)
数据流图(DFD,Data Flow Diagram)是 描述数据处理过程的工具。 ⒈数据流图的定义 数据流图以图形的方式描述数据流从输入 到输出的传输变换过程,是结构化系统分析 的主要工具,表示了系统的逻辑处理功能。 ⒉数据流图的特性 ⑴ 抽象性 ⑵ 概括性 ⑶ 层次性
⒋修正系统开发计划(软G22) ⒌开发原型系统 主要目的:使用户通过实践获得未来 系统怎样工作的概念,更准确地确定用 户需求。 原型策略增加了成本(软G23)。 但正确地提出用户需求是软件开发工 程成功的基础,所以原型系统采用逐渐 增多。
2.2.3 需求分析的步骤(软G23)
⒈调查研究 把分析过程中得到的有关数据元素的信息 记录在数据字典(DD)中。 把对算法的简明描述记录在IPO(输入/处 理/输出)图中。 把通过分析而补充的数据流、数据存储、 处理,添加到数据流图(DFD)中。 请用户对前一个分析步骤中得出的结果仔 细复查。 追踪数据流图和复查系统的逻辑模型这两 步构成一个循环。
2.5.2 数据字典的用途(软G34)
●数据流图只描述了系统的“分解”:系统的 组成部分及其联系 ●数据字典是分析阶段重要的工具 ●数据字典建立中的定义有助于分析员与用户 的通信 ●对数据的严密定义有助于开发人员/开发小 组间的通信 ●全体开发人员均按数据字典描述数据、设计 模块,能避免许多麻烦的接口问题
可行性研究应含以下方面(软G18)。 ⒈经济可行性:成本效益分析。 ⒉技术可行性:最难决断和最关键的问题。包 括风险/资源/技术分析。 ⒊运行可行性(软G19):为新系统规定的运 行方式是否可行。 ⒋法律可行性:研究可能涉及的合同、侵权、 责任及各种与法律相抵触的问题。 ⒌开发方案可行性:选择最优秀的一种方案。
⒉分析与综合(软G23) 问题分析和方案综合是需求分析的第二 步工作;要反复进行;直到分析员与用户 都可正确地制定该软件的规格说明为止。 分析员逐步细化软件功能,给出目标系 统的详细逻辑模型。 注意两条原则(软G24): ●分层细化时需保持信息连续性 ●当进一步细化将实现一个具体的功能时, 就不应该再分解了
2.1.2 可行性研究步骤(软G19)
⒈复查系统规模和目标:使分析员正在要 解决的问题是用户所提出的问题。 ⒉研究目前正在使用的系统:总结出其优 点和不足,进而得出新系统的雏形。 ⒊提出新系统的高层逻辑模型:参考现有 系统的高层逻辑模型(由数据流图描 述),根据开发系统的目标,得到新系 统的说明和逻辑模型。新系统的逻辑模 型是分析员对新系统的描述。
休息一会 儿· · · · · ·
⒉分析系统的数据需求(软G22) 由系统的信息流归纳抽象出数据元素、 数据逻辑关系、数据字典格式、数据模型 组成,用输入(I)/处理(P)/输出(O) 的结构方式表示。
⒊提出系统的逻辑模型(软G22) ●确定目标系统与当前系统的逻辑差别 ●将变化部分看作是新的处理步骤,对功能 图(一般为数据流图)及对象图进行调整 ●由外及里对变化的部分进行分析,推断其 结构,获得目标系统的逻辑模型 ●通常用数据流图、数据字典、主要的处理 算法描述逻辑模型
2.4.3 数据流图的绘制(软G29)
数据流图的作用: ⑴ 自顶向下分析系统信息流程。 ⑵ 可在图上画出需要计算机处理的部分。 ⑶ 根据数据存储,进一步进行数据分析,向 数据库设计过渡。 ⑷ 根据数据流向,定出存取方式。 ⑸ 对应一个处理过程,用相应的语言、判定 表等工具表达处理方法。
画数据流图需注意的问题(软G29): ⑴ 命名:要易于理解。 ① 数据流的命名:要反映整个数据流的含义。 ② 加工的命名 ●先命名数据流,再命名加工 ●要反映整个处理过程(软G30) ●名字应为“(一个)动词+宾语”形式 ⑵ 画数据流不是控制流 ●数据流图反映系统“做什么” ●箭头上的名称只能是名词(短语)。 ⑶ 一般不画物质流。
2.5.1 数据字典的内容及格式(软G32)
数据字典有四类条目:数据流、数据项、 数据存储、基本加工。 ⒈数据流条目 ●给出了数据流图中数据流的定义 ●由数据项组成数据流或数据存储的方式有 三种,即顺序/选择/重复 ●所用符号参表2-2
⒉数据存储条目(软G33):对数据存储的 定义。 ⒊数据项条目:不可再分解的数据单位。 ⒋加工条目 ●用来说明DFD中基本加工的处理逻辑 ●加工逻辑描述该加工“做什么”(软G34) ●描述方法有:结构化语言、判定表、判 定树
2.4.2 设计数据流图的步骤(软G28)
画数据流图的目的是让用户明确系统的 基本逻辑功能。较好的方法是分层次地描 述系统。画数据流图的步骤如下。 ⒈确定系统的输入和输出,即先画系统顶层 数据流图。参图2-4。 ⒉画系统内部,即画下层数据流图。采用自 顶向下、由外向内、逐层分解的方法,直 到每个加工足够简单不能分解为止。参图 2-5、图2-6。
2.4.1 数据流图中的符号(软G26)
数据流图的四种基本图形元素参图2-2。 ⒈数据流:数据在系统内传播的路径。 ⒉加工(软G27):也称数据处理。 ⒊数据存储:暂时保存的数据。 ⒋数据源点和终点:是软件系统外部环境中 的(外部)实体。 ⒌数据流图的几种附加符号(参图2-3) ⑴ * 表示数据流“与” ⑵ + 表示数据流“或” ⑶ + 表示数据流“互斥”
2.5
数据字典(软G32)
数据字典 ( Data Dictionary , DD )就 是用来定义数据流图中各个成分的具体含 义的,它以一种准确的、无二义性的说明 方式为系统的分析、设计、维护提供了有 关元素的一致的定义和详细的描述。 数据字典和数据流图共同构成系统的逻 辑模型,它们也是“需求规格说明书”的 主要组成部分。
可行性研究经过定义问题、分析问题、 提出解法的反复,提出一个符合系统目 标的逻辑模型。 根据该逻辑模型设想各种可能的物理 系统,并且从技术、经济、操作、法律、 社会等各方面分析可行性。 最后,推荐一个行动方案,提交用户 或组织负责人审查批准。
系统流程图是表达现有系统和描绘未来系 统的很好的工具,其实质上是物理数据流图, 它描绘组成系统的主要物理元素以及信息在 这些元素间流动和处理的情况(软G36)。 数据流图是描绘系统逻辑模型的极好工具, 数据字典和数据流图共同构成系统的逻辑模 型。 没有数据字典的精确定义,数据流图就不 够严密;没有数据流图,数据字典的作用也 有限。
2.5.3 数据字典的实现(软G34)
实现数据字典有两种途径:全人工过程 和全自动化过程(利用数据字典处理程 序)。两种途径均有下述特点: ⑴ 方便地按名查阅数据定义; ⑵ 没有冗余; ⑶ 尽量不重复在规格说明的其他组成部分中 已经出现的信息; ⑷ 容易更新和修改; ⑸ 能单独处理描述每个数据元素的信息; ⑹ 定义的书写方法简单方便而且严格。
需求分析是软件生存周期中重要的一 步,也是最关键的一步(软G37)。 需求分析是发现、求精、建模、规格 说明、复审的过程。 只有通过需求分析,才能把软件功能 和性能的总体概念描述为具体的软件需 求规格说明,进而建立软件开发的基础。
软件需求规格说明书,在经过严格评 审并得到用户确认之后,是这个阶段的 最终成果(软G37)。 通常主要从一致性、完整性、现实性、 有效性四方面复审软件需求规格说明书。
手工建立数据字典的内容用卡片形式存放, 其步骤为(软G35): ⑴ 按四类条目规范的格式印刷卡片。 ⑵ 在卡片上填写各类条目的内容。 ⑶ 先按图号顺序排列,同一图号的所有条目 按数据流、数据存储、加工的顺序排列。 ⑷ 同一图号中的同一类条目(如数据流卡片) 可按名字的字典顺序存放;加工一般按编号 顺序存放。 ⑸ 同一成分在父图和子图都出现时,只在父 图上定义。 ⑹ 建立索引目录。
⒊书写文档(软G24) ⑴ 系统规格说明。 ⑵ 数据要求。 ⑶ 用户系统描述。 ⑷ 修正的开发计划。 ⒋需求分析评审
2.3
系统流程图(软G24)
⒈系统流程图的作用 系统流程图是描述物理系统(信息处理具 体实现的系统)的工具,可用于可行性研究、 需求分析阶段。 ⒉系统流程图的符号(表2-1) 处理
⒋重新定义问题(软G19) 分析员与用户一起再次复查、修改。 前四步构成一个循环:分析员定义问 题,分析问题,导出试探解;再定义, 再分析,再修改……,直到逻辑模型完 全符合系统目标。 ⒌提出和评价供选择的方案:分析员提出 若干较抽象的物理解供比选,进行成本 效益分析。
⒍推荐一个方案并说明理由(软G20) ⑴ 开发价值; ⑵ 推荐理由; ⑶ 制定进度(估计每阶段的工作量)。 ⒎书写计划任务书(可行性论证报告) ⑴ 系统概述; ⑵ 可行性分析(报告的主体); ⑶ 拟定开发计划; ⑷ 结论意见。 ⒏提交审查:论证会成员签是否通过的意见。
2.6
实例解析(软G35)
【实例1-1】用数据字典中介绍的符号定义 某高校的电话号码 解析:参软G35。 【实例1-2】某医院欲建以计算机为中心的 患者监护系统,请分层次画出该系统的数 据流图。 解析:病房监护系统顶层数据流图参P36图2 -11,病房监护系统0层数据流图参图2- 12。
本章小结(软G36)
2.1.3 可行性研究的文档(软G20)
可行性研究产生可行性研究报告: ⑴ 引言。 ⑵ 可行性研究前提(软G21)。 ⑶ 对现有系统的分析。 ⑷ 所建议系统的技术可行性分析。 ⑸ 所建议系统的经济可行性分析。 ⑹ 社会因素可行性分析。 ⑺ 其他可供选择方案。 ⑻ 结论意见。
2.2
需求分析(软G21)
第2 章
可行性研究和需求分析
教学要求(软G18)
流程图的基本符号和应用 需求分析的任务和步骤 数据流图与数据字典的基本元素和 应用
2.1
பைடு நூலகம்
软件的可行性研究(软G18)
通常可行性研究的成本占工程总成本 5~ 10%。
2.1.1 可行性研究的任务
通过可行性研究实现用最小的代价在尽 可能短的时间内确定问题是否可以解决。 可行性研究的结果是可行性研究报告, 它可以作为系统规格说明书的一个附件(软 G19)。 可行性研究最根本的任务是对以后的行 动路线提出建议。
2.2.1 需求分析的重要性
软件需求分析是软件生存周期最关键的 一步。 软件需求分析是一个不断认识和逐步细 化的过程:软件开发者和用户结合将软件 计划阶段确定的软件范围逐步细化到可详 细说明的程度(描述为软件需求规格说 明),为概要设计做好准备。
2.2.2 需求分析的任务(软G21)
需求分析是软件计划时期的最后一个阶 段,其基本任务是导出目标系统的逻辑模 型,回答系统“做什么”? ⒈确定对系统的综合要求(软G22) ●功能需求 ●性能需求 ●运行需求 ●未来需求
⑷ 每个加工至少有一个输入数据流和一个输 出数据流(软G30)。 ⑸ 编号:利于理解;反映层次(图2-8)。 ⑹ 父图与子图的平衡:父图中某个加工的输 入输出数据流应该与相应子图的输入输出 数据流相同,层次数据流图的这种特点称 为“平衡”,如图2-8。而图2-9是不平 衡的。
⑺ 局部数据存储(软G31):如图2-10的 “成绩表”。 ⑻ 提高数据流图的易理解性 ●人们能有效地同时处理的问题“最多不要 超过七个” ●要分解自然,概念合理、清晰 ●在不影响易理解性的基础上适当地多分解, 以减少层次数据流图的层数 ⑼ 随时准备重画