3可行性研究之数据流图解析
计算机科学与技术专业课课件_软件工程SE_Chapter2-3

2
可行性研究过程
典型的可行性研究过程有下述一些步骤。 1. 复查系统规模和目标
为了确保分析员正在解决的问题确实是要求他解决的问题。
2. 研究目前正在使用的系统
●新的目标系统必须也能完成现有系统的基本功能; ●新系统必须能解决旧系统中存在的问题。 ●画出描绘现有系统的高层系统流程图
3. 导出新系统的高层逻辑模型
5. 导出和评价供选择的解法
从建议的系统逻辑模型出发,导出若干个较高层次的(较抽象的) 物理解法供比较和选择。对每个解法进行技术可行性、经济可行 性、 操作可行性。
6. 推荐行动方针
是否继续进行这项开发工程? 选择一种最好的解法,说明选择这个解决方案的理由(成本/效益 分析)。
7. 草拟开发计划
工程进度表 各类开发人员和各种资源的需求 生命周期每个阶段的成本 需求分析的详细进度表和成本估计。
优秀的设计过程通常总是从现有的物理系统出发,导出现有系统 的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑 模型,最后根据目标系统的逻辑模型建造新的物理系统。
4. 进一步定义问题
再次复查问题定义、工程规模、目标和新系统的逻辑模型
2013-8-31 上海大学计算机学院 3
可行性研究过程(续)
◆ 用户需求描述
● 找出文档中的拼写错误并提供一个可替换选项的列表供用户选 择替换拼错的单词
◆ 功能需求
● 分析单词拼写 ● 显示提供替换词的对话框 ● 提供全文范围替换的功能
2013-8-31
上海大学计算机学院
7
软件需求实例
接待员
酒店系统
会计系统
服务员
业务(域)需求
客人预定
客人入住 客人退房 换房
软件工程考试试题(含答案)

一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________.2.基于软件的功能划分,软件可以划分成__________、__________、__________三种.3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究。
4.系统流程图是描绘的传统工具。
它的基本思想是用图形符号以描绘系统里面的每个部件。
5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、和。
6.结构化分析方法是面向________________进行需求分析的方法。
结构化分析方法使用________________与________________来描述。
7.是自动地共享类、子类和对象中的方法和数据的机制.8.软件详细设计工具可分为3类,即________________、________________和________________。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。
10.大型软件测试包括、、确认测试和四个步骤.1、可行性研究需求分析运行与维护2、系统软件支撑软件应用软件3、经济可行性法律可行性4、物理系统黑盒子形式5、加工数据流数据存储文件6、数据流数据流图DFD 数据字典DD7、继承性8、图示工具、设计语言表格工具9、审查测试10、单元测试集成测试系统测试1.软件设计中划分模块的一个准则是()。
A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合2.Jackson设计方法是由英国的M。
Jackson提出的,它是一种面向()的软件设计方法.A、对象B、数据流C、数据结构D、控制结构3.试判断下列叙述中,哪个(些)是正确的( ).a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.()是用户和设计交换最频繁的方法.A、原型化方法B、瀑布模型方法C、螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()。
数据流图和数据字典

数据字典
加工
无效书单
学 生
购书单
1.1
审查 有效性
有效书单
加工名:审查有效性 加工编号:1.1
各班用书表 F3
简要描述:对购书单的有效性进行审查
输入数据流:购书单,各班用书信息
输出数据流:有效书单、无效书单
加工逻辑:将购书单与各班用书表进行核对,如 果 相符,则生成有效书单;否则生成无效书单返回给 学生。
数据文件名:各班用书表 简述:存放各班每学期教材需求的情况 数据文件组成:班级号+书号+书名+学期 组织方式:按照班级号从小到大排序 存储方式:顺序
软件工程 Software Engineering ——第二章 可行性研究 武警警官学院 电子技术系
数据字典
F1 书号 单价 数量
保 进书通知 1.5
学 购书单 1 生 领书单 销售
进书通知
缺书登记表
2
缺书单 保
采购 进书通知 管员
第1层
教材销售子系统
F1 书号 单价 数量
保 进书通知 1.5
管员
补售 教材
教材存量表 F1
补售 书单
缺书登记表 F2
1.4
登记
暂缺书单
缺书
学 无效书单 1.1 有效书单 1.2 发票 1.3 领书单 学
生
审查 购书单 有效性
户名: 储蓄网点名称: 日期 (年月日) 摘要 支出
帐号:
开户日:
存入 余额 操作 复核
性质:
印密:
存折 = 户名+所号+帐号+开户日+性质+(印密)+1{存取行}20
户名 = 2{字符}24
《软件工程学》第2章 可行性研究-答案

2.1 可行性研究的目标与任务1.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因此必须给出( B )的回答。
A.确定B.行或不行C.正确D.无二义2.技术可行性是可行性研究的关键,其主要内容一般不包括( C )。
A.风险分析B.资源分析C.人员分析D.技术分析3.可行性研究的任务是从技术、经济、操作、社会等4个方面研究。
4.可行性研究完成后最终生成的文档是《可行性研究报告》。
(√ )5.软件可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
(√ )2.2 可行性研究过程1.简述可行性研究的过程。
答:(1)复查并确定系统规模和目标(2)研究目前正在使用的系统(3)建立新系统的高层逻辑模型(4)导出和评价各种方案(5)推荐可行性方案(6)草拟初步开发计划(7)编写可行性研究报告提交复查2.3 可行性研究工具1.描绘物理系统的传统工具是系统流程图。
2.画出数据流图目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。
某医院打算开发一个以计算机为中心的患者监护系统,请分层次的画出描述本系统功能的数据流图。
医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志。
当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息。
此外,护士在需要时还可以要求系统输出某个指定病人的病情报告。
答:从问题陈述容易看出,本系统的数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。
进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。
从问题陈述容易看出,系统的数据终点是接收警告信息和病情报告的护士。
系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警告信息”。
软件工程导论 第2章 可行性分析

(2) 经济可行性 (3) 操作可行性 (4)法律可行性等
复习回顾
1、可行性研究的目的是什么? 用最小的代价在尽可能短的时间内确定问题是否能够解决。 2、可行性研究的任务主要是什么? 了解客户的要求 及现实环境
分析技术、经济和社会因素可行性 编写可行性研究报告 制定初步项目开发计划
按照系统的层次结构进行逐步分解,并以分层的
数据流图反映这种结构关系,能清楚地表达和容
易理解整个系统。
首先画“顶层DFD”
描绘系统的整体逻辑概貌
外部实体 软件 系统
……
外部实体
……
外部实体
外部实体
顶层流图仅包含一个加工,它代表被开发系统。它的输入流
是该系统的输入数据,输出流是系统所输出数据。
其次画中间层流图:对上层父图的处理的细化,形成子图。
没有数据字典数据流图就不严格,没有数据流图
数据字典也难于发挥作用。
数据字典的内容
一般说来,数据字典应该由对下列4类元素 的定义组成: (1) 数据流 (2) 数据流分量(即数据元素)
(3) 数据存储
(4) 处理
2.5.2定义数据的方法
符号 = + [ ]与 | { } m
被定义为
+订货数量+目前价格+主要供应者
+次要供应者
位置:输出到打印机
•例如:
名字:零件编号 别名: 描述:唯一地标识库存清单中 一个特定零件的关键域 定义:零件编号=8{字符}8 位置:订货报表 订货信息 库存清单 事务
名字:订货数量 别名: 描述:某个零件一次订货的数量 定义:订货数量=1{数字}5
位置:订货报表
软件系统可行性研究报告

软件系统可行性研究报告第二章可行性研究我们在做任何工作往常,务必明确工作的性质、任务、制定完成任务的计划。
显然完成一个软件系统的开发,也应解决好类似的问题。
明确软件开发系统的任务,完成任务的价值,制定出完成任务的计划,是软件系统可行性研究的目的。
2.1 可行性研究2.1.1可行性研究的任务假如不限时间、不限资源、则任何研制项目都是可行的!然而在开发以计算机为基础的系统时,需要用最小的代价,在尽可能短的时间内确定问题是否能够解决。
这种可行性研究的目的是确定我们所研究的问题是否值得去解,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。
可行性研究的实质就是要进行一次压缩,简化了的系统分析与设计的过程,也就是在较高层次上以较抽象方式进行系统分析与系统设计的过程,可行性研究应着重考虑如下五个方面。
1.技术可行性。
是指使用现有的技术能否实现这个系统。
它包含开发风险——在限制条件范围内达到必需的功能与性能;资源配置——指现有的技术人员是否胜任,开发系统的软、硬件资源是否能如期得到;技术——指现有的技术是否已进展到这样的水平,能够支持系统的研制。
2.经济可行性。
指新系统的经济效益能否超过开发成本。
包含评价经济的合理性,权衡支出的费用与收到的利益,正确估计开发费用与最终从所开发的系统获得的收入与利益。
其中经济的合理性包含成本/效益分析,长期的总体的经营策略,对其他获利中心或者获利产品的影响,开发工作需用资源的购置费用、潜在的市场等等。
3.运行可行性。
指为新系统规定的运行方式是否可行。
假如新系统是建立在原先已担负其他任务的计算机系统上,就不能要求它在实时在线状态下运行,以免与原有的任务相矛盾。
4.操作可行性。
指系统的操作方式在这个用户组织内是否行得通。
它包含人事政策,科技政策与必要的管理措施。
5.法律可行性。
指新系统的开发是否会侵犯他人、集体或者国家的利益,是否违反了国家的法律,并由此而承担法律责任。
可行性研究并不保证一个系统经济上明显合理、技术风险低,很少法律问题,而且不存在其他合理方案。
第二章可行性研究(FeasibilityStudy).ppt

Data flow
2、例子: (1)P.25 — 27(自习) 注意:图2.6中,“产生报表〞功能没有启动!
精精 选文选档
8
§4. 数据流图
(2) [摘自?Fundamentals of Software Engineering?] Information System of a Public Library
13
§6 本钱/效益分析
(Cost/Benefit)
1、本钱估计(Cost Estimation) ⑴ 代码行技术:每行代码的平均本钱 源代码行数 ⑵ 任务分解技术:人力 工资 ⑶常 经历见 公式公 及软式 件C:形 os(t如 abSc )mx()
其中SSizoefthseyste, m ab, c,Cost,ant
缺点:
精精 选文选档
21
2、效益估计(Benefit Estimation) 例:假设某软件生命周期为5年。现在投资20万元,
平均年利率3%。从第一年起,每年年底收入 4.2万元,问该工程是否值得投资?
P = 20万 4.2万 4.2万 4.2万 4.2万 4.2万
0
1
2
3
4
5
FP(1i)n 其P 中 为初始 ,i为 投年 资 ,利 F为n 第 年P 底 的值
Title and author of requested book; name of user
Get a book
Book
Book title; user name
Book reception
Book List of books borrowed
Search by status
topics
Display of
可行性研究的任务可行性研究的步骤系统流程图数据流图数据

成本效益分析
基本概念 货币的时间价值 投资回收期 纯收入
成本效益分析的步骤
⑴ 估算 开发成本 系统生存周期 运行费用=操作费用+维护费用 系统经济效益=新系统增加的收入+节省的运
行费用 ⑵ 成本效益分析 投资回收期<系统生存周期 或
纯收入=累计经济效益-投资-总运行费用>0
可行性研究的任务 可行性研究的步骤 系统流程图 数据流图 数据字典 成本效益分析
可行性研究的任务
研究项目是否可行 技术可行性
⑴ 开发的风险 ⑵ 资源的有效性 ⑶ 技术 经济可行性 社会可行性
可行性研究的步骤
确定项目的规模和目标 研究正在运行的系统:高层系统流程
构建基本系统模型
系统功能分解
分解处理
构造数据流图应注意的问题
数据流图中每个成分的命名要恰当,否则影 响数据流图的可理解性
只考虑数据流,不涉及控制流 当对数据流图分层细化时必须保持信息连续
性,也就是说,当把一个处理分解为一系列 处理时,分解前和分解后的输入输出数据流 必须相同。 不考虑出错处理
对现有系统的分析 建议系统的技术、经济、社会可行性分析 其它可供选择方法 结论意见
系统流程动状况,特别对一些 活动要点进行分析
明确在这些要点之间什么东西在流动, 如何进行流动
对其模型化,得到实际业务系统(当 前系统)的物理模型
图 建立新系统的高层逻辑模型 导出和评价各种方案 推荐可行方案 编写可行性研究报告
可行性研究报告的内容
引言:编写本文档的目的、项目名称、背景;本 文档用到的专门术语、
参考资料 可行性研究前提
开发项目的功能、性能和基本要求;达到的目标; 各种限制条件、可行性研究的方法、决定可行性 的主要因素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
况,并在设计新系统时预留出相应的接口。
返回
导出新系统的高层逻辑模型
现有物理系统 现有系统逻辑模型
计成本以及下一阶段的详细进度表和成本估计。 书写文档提交审查:把结果形成清晰的文档,供用户和客户组织
的负责人及评审组仔细审查。
返回
复查系统规模和目标
进一步确认问题定义阶段书写的关于项 目规模和目标的报告书,改正含糊或者 不确切的地方,明确对系统的一切限制 (比如时间限制)和约束。
研究目前正在使用的系统
可行性研究的成本一般占工程总成本的 5%~10%。
返回
可行性研究的过程
复查系统规模和目标 研究目前正在使用的系统 导出新系统的高层逻辑模型 进一步定义问题 导出和评价供选择的解法 推荐行动方针:是否继续进行开发工程,提出实施最好的解决方
案的理由。 草拟开发计划:包括工程进度表、对人员和资源的需求情况,估
网络方面,适用于各种公共网络。
返回
可行性研究的任务
目的:用最小的代价在尽可能短的时间内确定客户提 出的问题是否能够在预定的系统规模和时间期限内解 决。
1、分析澄清问题定义 2、导出系统的逻辑模型 3、探索可供选择的实现方案 4、对每个方案进行可行性研究(技术、经济、操作) 5、对每个可行性方案制定粗略的实现进度
数据流图中的符号
基本符号 附加符号
返回
数据流图基本符号
返回
附加符号
返回
数据流图中的注意点
处理并不一定是一个程序。一个处理框可以代 表一系列程序、单个程序或者程序的一个模块
一个数据存储也并不等同于一个文件,它可以 表示一个文件、文件的一部分、数据库的元素 或记录的一部分
数据存储是处于静止状态的数据,数据流是处 于运动中的数据。
返回
图书管理系统例子
现行系统存在的问题 开发系统的目标 系统的规模
返回
现行系统存在的问题
图书馆的业务工作涉及各类数据量大,读者人数多。 手工模式下的工作劳动强度高,效率低,错误多,处 理速度慢。
在各类业务工作中,编目工作具有智力程度高、工作 量大的特点,是图书馆工作流程中的瓶颈。手工编目 工作存在成本高、劳动重复和编目结果总体不一致等 问题,编目规范难以彻底贯彻。
目标系统的逻辑模型(DFD、DD)
建造新的物理系统
返回
进一步定义问题
以数据流图和数据字典为讨论基础 ,和 用户一起再次复查问题定义、工程规模 和目标。
修正分析员对问题的误解以及用户的遗 漏
前四个步骤形成一个循环,直到用户满 意为止
返回
导出和评价供选择的解法
分析员从系统逻辑模型出发,导出若干 个较高层次的物理解法供比较和选择。
如果代表同一个事物的同样的符号在图中出现
在N个地方,则在这个符号的一个角上画(n-1)
条短线做标记。
返回
绘制数据流图的方法
首先画出系统的基本系统模型(最高层 次的数据流图),由若干个数据源点/终 点以及一个处理组成。
第二章可行性研究
本堂课讲授重点
上堂课讲授内容回顾
一、问题定义 二、可行性研究的任务 三、可行性研究的过程 四、系统流程图 五、数据流图
(6学时)
返回
上堂课讲授内容
软件生命周期 软件过程
返回
问题定义
问题定义的概念 图书管理系统例子
返回
问题定义的概念
当前现行系统存在的问题 新系统的目标 新系统的规模
与程序流程图的区别 符号 企业小型ERP系统流程图例子
返回
系统流程图VS程序流程图
系统流程图描述的是物理系统中数据在 各个部件之间的流动情况,不考虑对数 据进行加工控制的过程。
程序流程图关注系统的控制流程。 三种控制结构:顺序、分支、循环。 (P115页)
返回
ERP系统流程图
业务工作中存在着大量查找工作,如各类查重、读者 查询等,手工查询方式速度慢,查准率和查全率低, 影响了图书馆的服务质量。
返回
开发系统的目标
联机编目 计算机化的公共查询 更为有效的内部业务管理 便捷的读者服务
返回
系统的规模
适用于综合性大学的图书馆,其读者对 象主要是该校的教师和学生,约20000人 左右。馆藏各类图书300多万册,期刊4 800多种。图书馆工作人员人>100人。
被处理的逻辑过程,是系统逻辑功能的 图形表示;系统流程图描述数据在系统 各部件间的流动。 (3)程序流程图描绘的是控制流
返回
数据流图的重要性
DFD为程序开发人员和用户搭建了沟通 的桥梁
DFD也是开发人员之间进行沟通的桥梁 DFD绘制的成功与否,将很大程度上决
定了软件项目开发的成功
返回
返回
例子:画出库存系统流程图
例子:某装配厂有存放零件仓库,库中 各种现有各种零件的数量及各种零件库 存量临界值等数据记录在库存清单主文 件中,当库中零件数量有变化时,应及 时更新,如某零件库存量少于它的库存 临界值,则报告采购员订货,规定每天 向采购部门送一次订货报告。
事务
库存清单程序
订货 信息 报告生成程序
导出系统时可以从技术角度(批处理、 交互式处理)和组合方法两个层次进行;
分析评价从技术可行性、操作可行性、 经济可行性三个层次进行
制定实现进度表,估计生命周期每个阶 段的工作量
返回
系统流程图
系统流程图是概括地描述物理系统的传统工具, 基本思想是用图形符号以黑盒子形式描绘组成 系统的各个部件(处理程序、文档、数据库、 人工过程、子系统等)。关注数据在各个部件 之间流动的情况,而不是对数据进行加工处理 的控制过程(数据流图)。
库存清单 主文件
订货报告
数据流图
一、数据流图与系统流程图、程序流程 图的区别
二、数据流图的重要性 三、数据流图中的符号 四、数据流图注意事项 五、数据流图例子
返回
数据流图与系统流程图、程序 流程 图的区别
(1)数据流图中没有任何物理部件 (2)数据流图描绘数据在软件中流动和