软件工程教案_2(第二章可行性研究)
软件工程第二章(可行性分析)

(5) 交付的产品清单。
项目开发计划书供软件开发单位使用。
小结:
1、项目的问题定义、可行性分析和项目计划是总体 规划阶段的工作,重点是项目的可行性分析。
2、可行性分析主要从技术可行性、经济可行性和操 作可行性三方面来分析该项目是否值得开发。
3、可行性分析最后形成的成果是可行性分析报告。
项目的筹备、规划与准备是软件项目实施的前
期工作,它由两个重要的工作阶段构成:一是
项目规划及可行性分析;二是项目需求分析。
一、可行性分析的概念
可行性分析就是解决一个项目是否有可行解以及是
否值得去解的问题。该阶段的主要任务就是用最小
的代价在尽可能短的时间内确定问题是否能够得到 解决。
二、可行性分析的目标和内容
等。
(6) 技术可行性(技术风险评价):技术实力分析、已有的 工作及技术基础和设备条件等等。 (7) 法律可行性分析结果描述。 (8) 可用性评价:汇报用户的工作制度和人员的素质,确 定人机交互功能界面需求。
(9) 其他项目相关的问题:如可能会发生的变更等等。
可行性研究报告由系统分析员撰写,交由项目负责人审查, 再上报给上级主管审阅。 在可行性研究报告中,应当明确项目“可行还是不可行”, 如果认为可行,接下来还要制定项目开发计划书。
识别用户要求 评价系统的可行性 进行经济分析和技术分析 把功能分配给硬件、软件、人、数据库和其它系 统元素 建立成本和进度限制 生成系统规格说明,形成所有后续工程的基础
三、 可行性分析的主要任务
具体地说,分析员应从下面三个方面对项目做出可行性分 析: (1)技术可行性:使用现有的技术能实现这个系统吗? (2)经济可行性:这个系统的经济效益能超过它的开发成本 吗?(详细在后面介绍成本/效益分析) (3)操作可行性:系统的操作方式在该用户组织内行得通吗?
《软件工程学》第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
位置:订货报表
《软件工程》教学教案

《软件工程》
配套教学教案第1章软件工程概述
第2章可行性研究与软件工程开发计划
圆圈中的字母代表各项子任务的开始或结束事件的编号,箭头上方的数字表示完成各项子任务所需的周数。
要求:
(1)标出每个事件的最早时刻、最迟时刻与机动时间。
估算完成该工程项目总共需要多
第3章需求分析
第4章概要设计
第5章详细设计
第6章软件实现
第7章软件维护
第8章面向对象方法、UML及应用
第9章 WebApp软件工程
第10章软件重用和再工程
第11章软件工程管理
第12章实例——网上商品竞拍系统。
第二章_软件工程(可行性分析)

6
2.2 可行性研究
• 课题提出:系统开发人员本身也可以提出系统开发任 务。
• 上级机关布置 • 合作开发
2. 系统任务的提出形式
• 书面形式:系统任务的提出一般以书面形式,如系统 开发任务书或系统开发协议书等形式。
• 口头形式
2
❖ 系统目标的确定
1. 系统目标的含义 系统目标是系统最终要达到的目标,是系统开
发的宗旨,各个阶段的工作都要以这个宗旨为中心。 2. 如何确定系统的目标
23Βιβλιοθήκη 2、成本/收益分析 系统收益分为经济收益和社会收益两方面,社会收
益具有无形性。经济收益主要是新系统将来增加的收 入或可节约的成本。一般说来,投资是现在的支出, 而收益是将来的收入,因此必须考虑货币的时间价值 。
(1)货币的时间价值:货币的时间价值是指同样数 量的货币随时间的不同具有不同的价值。货币的时间 价值一般用利率形式表示,因为一定数量的货币如果 不做其他投资,放在银行里是可以获得利息的。
9
(3)导出新系统的高层逻辑模型,绘制系统流 程图和数据流图,并与现有系统进行比较。
(4)重新定义问题,再次复审工程规模目标和 约束条件,若发现对问题的说明或对用户的 要求有遗漏应及时修改。
(5)导出若干高层次的物理解法,通过对解法 的技术可行性、经济可行性、运行可行性进 行比较分析,推荐行动方案。
假设年利率为 i,现在存入P元钱,n 年后的价值为 F,则F= P(1+i)n ;反之,如果n年后能收入 F元钱, 这些钱现在的价值是P= F/(1+i)n ,称为折现 P36
《软件工程》第2章_软件可行性研究

2.3 可行性研究报告
2.3 可行性研究报告
2.3 可行性研究报告
2.3 可行性研究报告
2.3 可行性研究报告
2.4 小结
可行性研究是抽象和简化了的系统分析和设计的全 过程,它的目标是用最小代价尽快确定问题是否能够解 决,以避免盲目投资带来的巨大浪费。可行性研究是从 技术上、经济上、使用上、法律上分析应解决的问题是 否有可行的解,从而确定该软件是否有可行的解。
上述可行性研究的步骤只是一个经过长期实践总结出来的 框架,在实际的使用过程中,它不是固定的,根据项目的性质、 特点以及开发团队对业务领域的熟悉程度会有些变化。
2.3 可行性研究报告
可行性研究可以归档为一个单独的报告,提供给上级管理 部门,又可以包括在“系统规格说明”的附录中,虽然可行性 报告的形式可以有多种,但最重要的内容应当有:
第二章 软件可行性研究
【本章引言】
在计算机的软件项目开发过程中,只要资源和时间 不加以限制,所有的项目都是可行的。然而,由于资源 缺乏和交付时间限制的困扰,使得基于计算机系统的开 发变得比较困难。因此,尽早对软件项目的可行性做出 细致而谨慎的评估是十分必要的。如果在定义阶段及早 发现将来可能在开发过程中遇到的问题及早做出决定, 可以避免大量的人力、财力、时间上的浪费。
本章简要的介绍了有关可行性研究的任务、步骤, 以及在撰写可行性研究报告时有哪些要求。
2.5 习题
1. 为什么要对计算机软件项目进行可行性研
究?
2. 可行性研究主要研究哪些问题?试说明之。 3. 可行性研究的任务是什么? 4. 可行性研究的步骤? 5. 撰写可行性研究报告的方法?
软件工程教案(02)可行性研究资料
2020/10/12
23
检查和修改数据流图的原则-2
在数据流图中,需按层给加工框编号。编 号表明该加工所处层次及上下层的亲子关 系
规定任何一个数据流子图必须与它上一层 的一个加工对应,两者的输入数据流和输
出数据流必须一致。此即父图与子图的平 衡
可以在数据流图中加入物质流,帮助用户 理解数据流图
2020/10/12
7
2 可行性研究的步骤
2-7 草拟开发计划 (1)工程进度表 (2)开发人员需求(使用时间) (3)设备与软件的需求(使用时间) (4)估计每个阶段的成本 (5)给出“需求分析”阶段的进度表/成本估计
2020/10/12
8
2 可行性研究的步骤
2-8 文档提交审查 《可行性研究报告》
2020/10/12
14
分层的数据流图
2020/10/12
15
数据流图的层次结构
在多层数据流图中,顶层流图仅包含一个 加工,它代表被开发系统。它的输入流是 该系统的输入数据,输出流是系统所输出 数据
底层流图是指其加工不需再做分解的数据 流图,它处在最底层
中间层流图则表示对其上层父图的细化。 它的每一加工可能继续细化,形成子图。
19
第一层数据流图
2020/10/12
20
加细每一个加工框——销售细化
2020/10/12
21
采购细化
2020/10/12
22
检查和修改数据流图的原则-1
数据流图上所有图形符号只限于前述四 种基本图形元素
数据流图的主图必须包括前述四种基本 元素,缺一不可
数据流图的主图上的数据流必须封闭在 外部实体之间
软件工程第二章
2.3.1、 2.3.1、成本估算技术
为了得到可靠的成本及工作量的估算,可采用如下 方法: (1) 将软件价格计算延迟到工程设计的最后,可得 到精确计算的价格。 (2) 基于已完成的类似项目进行估算。 (3) 使用相对简单的分解技术,生成项目成本和工 作量的估算。 (4) 使用一个或多个经验模型,进行软件成本和工 作量的估算。
2.2、可行性研究的方法步骤 2.2、可行性研究的方法步骤
2、研究目前正在使用的系统: 通过对现有系统的文档资料的阅读、分析 和研究,再如实地考虑该系统,总结出现 有系统的优点和不足,从而得出新系统的 雏形
2.2、可行性研究的方法步骤 2.2、可行性研究的方法步骤
3、导出新系统的高层逻辑模型: 在逐步明确目标系统应该具有的基本功能、 处理流程和所受的约束的基础上,可利用 建立逻辑模型的工具,定义新系统的逻辑 模型
1、货币的时间价值 通常以利率的形式表示货币的时间价值。假设年利 率为i ,如果现在存入P元,则n年后可以得到的钱数 为:
反之可以得到:
2.3.2、 2.3.2、几种度量效益的方法
2、投资回报期 所谓投资回收期就是使累计的经济效益等于最初投 资所需要的时间,我们通常其衡量一项开发工程的 价值。 显然,投资回收期越短获得利润就越快, 这项工程也就越值得投资。
3、运行可行性 4、法律可行性 5、开发方案可行性----选择最优 可行性研究最根本的任务是对以后的行动 路线提出建议
2.2、可行性研究的方法步骤 2.2、可行性研究的方法步骤
1、确定系统规模和目标: 通过对关键人员进行调查访问,仔细阅读 和分析有关的材料,确认目标系统的规模 和目标,并清晰地描述对目标系统的一切 限制和约束
2.1、可行性研究的任务 2.1、可行性研究的任务
软件工程课件教案2_可行性研究
可行性研究可行性研究需要的时间长短取决于工
程的规模。一般说来,可行性研究的成本只是预期
的工程总成本的5%~10%。
编辑ppt
6
2.2 可行性研究过程
典型的可行性研究过程有下述一些步骤:
1. 复查系统规模和目标
分析员访问关键人员,仔细阅读和分析有关的 材料,以便对问题定义阶段书写的关于规模和目 标的报告书进一步复查确认,改正含糊或不确切 的叙述,清晰地描述对目标系统的一切限制和约 束。这个步骤的工作,实质上是为了确保分析员 正在解决的问题确实是要求他解决的问题。
第2章 可行性研究
教学目标
掌握可行性研究的主要内容;了解系统流程图、数 据流图、数据字典的用途。
教学重点
可行性研究中的上层数据流图的构成。
教学难点
数据字典的构成。
编辑ppt
1
第2章 可行性研究
2.1 可行性研究的任务 2.2 可行性研究过程 2.3 系统流程图 2.4 数据流图 2.5 数据字典 2.6 成本/效益分析 2.7 小结
Байду номын сангаас
5. 导出和评价供选择的解法
从建议的系统逻辑模型出发,导出若干个较高 层次的(较抽象的)物理解法供比较和选择。
(1)根据技术可行性初步排除一些不现实的系 统。把技术上行不通的解法去掉之后,就剩下了 一组技术上可行的方案。
编辑ppt
12
2.2 可行性研究过程
(2)可以考虑操作方面的可行性。 (3)接下来应该考虑经济方面的可行性。估计 余下的每个可能的系统的开发成本和运行费用以 及对原系统的提升价值幅度。
编辑ppt
8
2.2 可行性研究过程
分析员应该画出描绘现有系统的高层系统流程 图(见2.3节),并请有关人员检验他对现有系统的 认识是否正确。不必花费太多时间去了解和描绘 现有系统的实现细节。
软件工程导论第2章可行性研究
表 2.1 基本符号
符号
名称
说明
处理
能改变数据值或数据位置的加工或部件
输入/输出 连接 换页连接
表示输入或输出(或既输入又输出), 是一个广义的不指明具体设备的符号
指出转到图的另一部分或从图的另一部 分转来,通常在同一页上
指出转到另一页图上或由另一页图转来
人工操作 由人工完成处理
数据流
用来连接其他符号,指明数据流动方向
尽管系统流程图使用的某些符号和程序流程图所用 的符号相同,但系统流程图表达的是信息在系统中 各个部件之间流动的情况,而不是对信息进行加工 处理的控制过程。
例:库存清单系统
零件库存量的每一次变化称 为一个事务,由放在仓库中 的CRT终端输入到计算机 中。
系统中的库存清单程序对事 务进行处理,更新存储在磁 盘上的库存清单主文件,并 且把必要的定货信息写在磁 带上。最后,每天由报告生 成程序读一次磁带,并且打 印出定货报告。
习题
2-1 在软件开发的早期阶段为什么要进行可行性研究? 应该从哪些方面研究目标系统的可行性?
2-2 为方便储户,某银行拟开发计算机储蓄系统。储 户填写的存款单或取款单由业务员键入系统,如果是 存款,系统记录存款人姓名、住址、存款类型、存款 日期、利率等信息,并印出存款单给储户;如果是取 款,系统计算利息并印出利息清单给储户。 请写出问题定义并分析此系统的可行性。
2.1.2 问题定义的步骤
在问题定义阶段,系统分析员要深入现场,阅 读用户写的书面报告、听取用户对开发系统的 要求、调查开发系统的背景理由。
还要与用户负责人反复讨论,以澄清模糊的地 方、改正不正确的地方。
最后写出双方都满意的问题定义报告,并确定 双方是否可进行深入系统可行性研究的意向。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
据项的逻辑关系,数据项之间的联系 }
数据结构描述={ 数据结构名,含义说明,组 成:{数据项或数据结构} }
数据流描述={ 数据流名,说明,数据流来源, 数据流去向,组成:{数据结构},平均流量,高峰 期流量 } 数据存储描述={ 数据存储名,说明,编号,输 入的数据流,输出的数据流,组成:{数据结构}, 数据量,存取频度,存取方式 } 处理过程描述={ 处理过程名,说明,输入:{数 据流},输出:{数据流},处理:{简要说明} }
(2)合并
把多个文件合并为一个文件 (3)划分 是合并的逆操作,将合并工序的输入文 件与输出文件对调即可
(4)分类(排序)
按指定的键(关键字)以升序或降序改变原文 件的记录排列顺序
(5)更新
将多个文件作为输入,根据关键项目进行对照, 对文件进行内容修正、删除、增加等改写工作, 一般更新的内容先要写入一个临时文件
2. 定义数据的方法
(1) 由数据元素组成数据的方式: 顺序;选择;重复;可选
(2) 符号方式: = “等价于”,“定义为”; + “和”,连接两个分量; [ ] “或”; { } “重复”; ( ) “可选”
(3) 递归定义: < 起始; > 终结; | 或; ::= 定义
例:<字母>::=A|B|…|Z|a|…|z <数字>::=0|1|…|9 <下划线>::=_ <标识符>::=<字母>|<下划线>|<标识符><数字> |<标识符><字母>
统业务处理概况
2.系统流程图是系统分析员,管理人员,业务操
作人员相互交流的工具
3.系统分析员可直接在系统流程图上拟出可以
实现计算机处理的部分
4.可利用系统流程图来分析业务流程的合理性
1. 符号(参P39)
输入单据 磁盘文件,或其它介质文件 处理(表示各种处理功能) 输出单据
2. 基本处理工序
(1)变换 把输入单据变换成磁盘文件,或把磁盘文件变 换成输出单据,或把某一磁盘文件的内容由一 个介质文件传送到另一介质文件
1. 成本估计
代码行技术:行数×每行代码的平均成本 P50 任务分解技术:分解任务—>单独成本—>总和 自动估计成本技术:利用软件来估计 条件:长期的大量历史数据; 良好的数据库系统支持。
2. 成本/效益分析的方法
开发成本 运行费用:操作费用+维护费用 经济效益:增加的收入+节省的运行费用 注意:生命周期一般为5年(假设)
第二章 可行性研究
§2.1 可行性研究的任务
目的:用最小的代价在尽可能短的时间内确 定问题是否能够解决,提出建议。
(1) 进一步分析和澄清问题定义 (2) 分析员导出系统的逻辑模型 (3) 从逻辑模型出发,探索若干种可供选择的系统 实现方案
注:分别分析技术可行性、经济可行性、操作可行性、法 律可行性
4. 数据字典的用途-分析阶段的工具、通信。 5. 数据字典的实现
(1)全人工过程; (2)全自动化过程(利用“数据字典处理程序”) (3)混合过程(利用“正文编辑程序”、“报告生 成程序”)
§2.6 成本/效益分析
目的:从经济的角度分析开发一项工程是否划算; 便于使用部门负责人对于投资的决策。
小结
提交的文档: 《可行性研究报告》 《数据流图》(DFD) 《成本/效益分析》 可行性研究:技术、经济、操作、法律可行性
作业2
各组所选项目的可行性研究报告(电子版)
解:
招生计划
录取线文件
招生数
原始分
考生
标准分
计算 标准分
标准分
计算 录取线分
录取分数
标准分 考生分数文件
注意:设计任何系统,都要注意系统的安全性和用 户使用的安全性——可添加安全性的验证。
4. 命名
重要性:命名不当易造成返工,层次不清楚 (1)名字含有一定意义,易于理解、联系;
(2)名字应具有层次明显的特征,以便应付多层次结构;
(3)名字不应太复杂(最好用英文)
5. 用途
用途:交流信息的工具;分析和设计的工具
注:一张图中包含5~9个处理较为合适
自动化边界(参见教材例子P43)
§2.5 数据字典 P47
逻辑模型=数据流图+数据字典 1. DD的内容
数据项描述={ 数据项名,数据项含义说明,别名, 数据类型,长度,取值范围,取值含义,与其他数
可行性研究最根本的任务:
停止 对以后的行动方针提出建议 继续
§2.2 可行性研究的步骤
1. 复查系统规模和目标 2. 研究目前正在使用的系统
物理 模型 当前系统 逻辑 模型 当前系统 逻辑 模型 目标系统 物理 模型 目标系统
3. 导出新系统的高层逻辑模型
4. 重新定义问题
5. 导出和评价供选择的解
3. 画系统流程图应注意的问题
(1)尽量缩短处理时间 (2)尽量减少空闲时间 (3)要考虑便于完成程序的调试
4. 系统流程图实例——库存处理
5. 分层
总体概貌(用高层系统流程图描述)
功能1 细分 功能2 功能3
§2.4 数据流图----系统分析时常用
1. 四种图素
数据源点或终点 加工处理-动词
(单个程序、一系列程序、模块、 人工过程)
流名
数据流 数据存储
2. 附加符号
星号(*)
加号(+) 异或号( )
注: 有进有出, 进、出的条数不一定相等 错 方框与方框(源点到终点)不能直接连接 数据存储之间也不能直接相连,中间必须经过处理
3. 实例:高考录取统分子系统数据流图
功能: (1)计算标准分:根据考生原始分计算,得到 标准分,存入考生分数文件; (2)计算录取线分:根据标准分、招生计划文 件中的招生人数,计算录取线,存入录取线 文件。 试画出该系统的数据流图。
6. 推荐行动方案
7. 草拟开发计划
8. 文档与审查
§2.3 系统流程图----系统分析时常用
基本思想:用图形符号以及黑盒子形式 描绘系统中每个部件(程序、文件、数 程
系统流程图的作用
1.制作系统流程图——系统分析员全面了解系