可行性研究

文章目录

  • 可行性研究
    • 一、可行性研究的任务
    • 二、可行性研究过程
      • 2.1 复查系统规模和目标(问题定义)
      • 2.2 研究目前正在使用的系统
      • 2.3 导出新系统的高层逻辑模型
      • 2.4 进一步定义问题
      • 2.5 导出和评价供选择的解法(方案)
      • 2.6 推荐行动方针
      • 2.7 草拟开发计划
      • 2.8 书写文档提交审查
    • 三、可行性分析的结论
    • 四、可行性分析的工具
      • 4.1 系统流程图
        • 4.1.1 系统流程图概述
        • 4.1.2 系统流程图符号
        • 4.1.3 系统流程图分层思想
      • 4.2 数据流图
        • 4.2.1 数据流图概述
        • 4.2.2 数据流图符号
        • 4.2.3 数据流图注意事项
        • 4.2.4 数据流图步骤
        • 4.2.5 数据流图的用途
      • 4.3 数据字典
        • 4.3.1数据字典概述
        • 4.3.2 数据字典的内容
        • 4.3.3 定义数据的方法
        • 4.3.4 数据字典的用途

一、可行性研究的任务

目的:可行性研究的目的不是解决问题,而是确定问题是否值得去解决,用最小的代价在尽可能短的时间内确定问题是否能够得到解决。。

◼技术可行性:现有技术能实现吗?
◼经济可行性:经济效益能超过开发成本吗?
◼操作可行性:操作方式在组织内行得通吗?
◼社会可行性: 从法律、社会效益


步骤:
①首先需要进一步分析和澄清问题定义
②导出系统的逻辑模型(抽象)
③确定方案

二、可行性研究过程

典型的可行性研究过程有下述一些步骤:

2.1 复查系统规模和目标(问题定义)

分析员访问关键人员,仔细阅读和分析有关的材料,以便对问题定义阶段书写的关于规模和目标的报告书进一步复查确认,改正含糊或不确切的叙述,清晰地描述对目标系统的一切限制和约束。确保分析员正在解决的问题确实是要求他解决的问题。

问题定义阶段:系统分析员扼要写出关于问题性质、工程目标和工程规模的书面报告,并应该得到客户的确认

2.2 研究目前正在使用的系统

分析员应该画出描绘现有系统的高层系统流程图,并请有关人员检验他对现有系统的认识是否正确。

2.3 导出新系统的高层逻辑模型

数据流图和数据字典共同定义了新系统的逻辑模型,以后可以从这个逻辑模型出发设计新系统。

通过前一步的工作,分析员对目标系统应该具有的基本功能和所受的约束已有一定了解,能够使用数据流图,描绘数据在系统中流动和处理的情况,从而概括地表达出他对新系统的设想。
通常为了把新系统描绘得更清晰准确,还应该有一个初步的数据字典,定义系统中使用的数据。

2.4 进一步定义问题

新系统的逻辑模型实质上表达了分析员对新系统必须做什么的看法。分析员应该和用户一起再次复查问题定义、工程规模和目标,这次复查应该把数据流图和数据字典作为讨论的基础。

可行性研究的前4个步骤实质上构成一个循环:

  • 分析员定义问题,分析这个问题,导出一个试探性的解;
  • 在此基础上再次定义问题,再一次分析这个问题,修改这个解;
  • 继续这个循环过程,直到提出的逻辑模型完全符合系统目标。

2.5 导出和评价供选择的解法(方案)

从建议的系统逻辑模型出发,导出若干个较高层次的(较抽象的)物理解法供比较和选择。

  • 把技术上行不通的解法去掉之后,就剩下了一组技术上可行的方案。
  • 去掉其中从行业操作方式、操作过程和行业标准和习惯的角度看用户不能接受的方案。
  • 应该考虑经济方面的可行性。对每个可能的系统进行成本/效益分析
  • 最后为每个在技术、操作和经济等方面都可行的系统制定实现进度表

2.6 推荐行动方针

根据可行性研究结果应该做出的一个关键性决定是:是否继续进行这项开发工程。
如果分析员认为值得继续进行这项开发工程,那么他应该选择一种最好的解法,并且说明选择这个解决方案的理由。

2.7 草拟开发计划

  • 制定工程进度表
  • 估计对各类开发人员和各种资源的需要情况
  • 应该指明什么时候使用以及使用多长时间。
  • 此外还应该估计系统生命周期每个阶段的成本。
  • 最后应该给出下一个阶段(需求分析)的详细进度表和成本估计。

2.8 书写文档提交审查

应该把上述可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。

三、可行性分析的结论

可行性分析的结论可以是以下四种:
(1)项目可行,可以立即开始执行;
(2)需要推迟到某些条件(例如资金、人力、设备等)具备或成熟之后才能开始;
(3)需要对开发目标进行某些修改之后才能开始进行或部分可行;
(4)不能进行或不必进行;例如因技术不成熟,经济上不合算或可能产生负面的社会影响等原因,这种情况下,分析员应该建议尽早终止项目计划,以免浪费人力、物力和财力。


可行性分析报告
可行性分析结束后,要写出可行性分析报告,提交有关专家论证和上级主管部门批准。
可行性报告是软件可行性分析的证据,它包含管理层决策是否进行项目所需的所有信息和各种备选方案。

四、可行性分析的工具

4.1 系统流程图

4.1.1 系统流程图概述

系统流程图是概括地描绘物理系统的传统工具。

它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过
程等)。

系统流程图&程序流程图
系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。

4.1.2 系统流程图符号

当以概括的方式抽象地描绘一个实际系统时,使用如下符号:

当需要更具体地描绘一个物理系统时还需要使用:

4.1.3 系统流程图分层思想

面对复杂的系统时,一个比较好的方法是分层次地描绘这个系统。

  • 首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。
  • 然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。

4.2 数据流图

4.2.1 数据流图概述

数据流图是系统逻辑功能的图形表示
是用来描述系统逻辑模型的一种图形工具。 数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。

在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程
设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体地实现这些功能,所以它也是今后进行软件设计的很好的出发点。

4.2.2 数据流图符号

数据流图有四种基本符号:

  • 正方形(或立方体)表示数据的源点或终点;
  • 圆角矩形(或圆形)代表变换数据的处理;
  • 开口矩形(或两条平行横线)代表数据存储;
  • 箭头表示数据流,即特定数据的流动方向。


4.2.3 数据流图注意事项

  • 数据存储和数据流都是数据:
    仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。
  • 通常在数据流图中忽略出错处理
    也忽略了控制信息,也不包括诸如打开或关闭文件之类的内务处理。
  • 数据流图的基本要点是描绘“做什么”而不考虑“怎样做”。
  • 处理代表同一个事物的相同符号需要重复或多个箭头;有时数据存储也需要重复,以增加数据流图的清晰程度。
  • 注意父图和子图的平衡
    当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。

4.2.4 数据流图步骤

  • 第一步:可以从问题描述中提取数据流图的4种成分:
    ① 首先考虑数据的源点和终点,② 处理,③ 数据流,④ 数据存储。

  • 第二步:对于上述的定货系统可以画出基本系统顶层模型。

  • 第三步:应该把基本系统模型细化,描绘系统的主要功能。

  • 第四步:接下来应该对功能级数据流图中描绘的系统主要功能进一步细化,维护流程图的层次结构。

4.2.5 数据流图的用途

  1. 画数据流图的基本目的是利用它作为交流信息的工具。
  2. 数据流图的另一个主要用途是作为分析和设计的工具。
  3. 分层次地描绘系统的功能。

4.3 数据字典

4.3.1数据字典概述

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型。

数据字典的任务是: 对于数据流图中出现的所有被 命名的图形元素在字典中作为一个词条加以定义,使得 每一个图形元素的名字都有一个确切的解释。

4.3.2 数据字典的内容

一般说来,数据字典应该由对下列4类元素的定义组成:
(1) 数据流
(2) 数据流分量(即数据元素)
(3) 数据存储
(4) 处理

对数据处理的定义用其他工具(如IPO图或PDL)描述更方便,因此数据字典将主要由对数据的定义组成,这样做可以使数据字典的内容更单纯,形式更统一。

4.3.3 定义数据的方法

定义就是自顶向下的分解,所以数据字典中的定义就是对数据自顶向下的分解
定义绝大多数复杂事物的方法,都是用被定义事物的成分的某种组合表示这个事物,这些组成成分又由更低层的成分的组合来定义。

(1) 顺序 即以确定次序连接两个或多个分量;A+B
(2) 选择 即从两个或多个可能的元素中选取一个;[A|B]
(3) 重复 即把指定的分量重复零次或多次。x{A}y
(4) 可选 即一个分量是可有可无的(重复零次或一次)。(A)
(5) 注释:*
(6) 定义为:’='S(等价于)

4.3.4 数据字典的用途

① 给数据一个严格的定义。
② 数据字典最重要的用途是作为分析阶段的工具。
③ 很有助于改进的通信,消除许多可能的误解。
④ 数据字典是开发数据库的第一步,是开发数据库最坚实的基础,而且是很有价值的一步。

【软件工程导论】可行性研究相关推荐

  1. 软件工程导论——可行性研究总结

    软件工程导论--可行性研究总结 目的:用最小的代价在尽可能短的时间内确定问题是否值得去解决 实质:进行一次大大压缩简化了的系统分析和设计的过程 可行性研究包括: 1.技术可行性(对要开发项目的功能性能 ...

  2. 《软件工程导论》课后习题答案

    <软件工程导论>课后习题答案 第一章 软件工程概论 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题.这些问题表现在以下几个方面: (1)用户对开发出 ...

  3. 《软件工程导论》考研复试整理

    一.名词解释 DFD 数据流图Data Flow Diagram PDL 过程设计语言 Process Design Language PAD 问题分析图 Problem Analysis Diagr ...

  4. 软件工程导论复试——一、软件工程学概述

    软件工程导论复试 本文用书 <软件工程导论>第六版张海藩.牟永敏 清华大学出版社 一.软件工程学概述 软件危机:计算机软件开发和维护时遇到的一系列严重问题 典型表现: (1) 对软件开发成 ...

  5. 首经贸电子信息复试软件工程导论

    一.名词解释 DFD 数据流图Data Flow Diagram PDL 过程设计语言 Process Design Language PAD 问题分析图 Problem Analysis Diagr ...

  6. 软件工程导论期末考点总结

    文章目录 一.软件工程学概述 1.1.软件危机 1.2.软件工程 1.2.1.软件工程的介绍 1.2.3.软件工程方法学 1.3.软件生命周期 1.4.软件过程 1.4.1.瀑布模型 1.4.2.快速 ...

  7. 软件工程导论(张海藩第六版)期末考试、考研复试重点

    这里是一个重点的简介,只是概念性的内容,软件工程导论中还有一些画图的题目,建议先掌握概念性的内容,之后的画图就比较容易了. 文末附有完整的思维导图链接,思维导图里面是完整的知识点,学完一遍之后直接拿着 ...

  8. 软件工程导论考试-试卷4

    软件工程试题及答案 第一部分  选择题 一.单项选择题 每小题1分,共20分.(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内) 1.在下列工具与环境中(  ) ...

  9. 软件工程导论概念集合

    <软件工程导论>主编:薛继伟 哈尔滨工业大学出版社 第一章软件工程概述 软件:软件是程序以及所有使程序正确运行所需的相关文档和配置信息.软件=程序+数据+文档 软件危机:随着计算机应用的普 ...

  10. 软件工程导论——需求分析总结

    软件工程导论--需求分析总结 需求分析是软件定义的最后一个阶段,它的基本任务是准确的回答"系统必须做什么"这个问题(系统必需完成哪些工作,而不是确定系统怎样完成它的工作) 需求分析 ...

最新文章

  1. autoconfig.xml与antx.properties一级application.properties之间的关系
  2. python 加密和解密
  3. 阿里的事前验尸_(不太完全)100天的代码-验尸
  4. cookies与session
  5. 使用Web API ASP.NET Core 2.2部署Angular 8应用程序
  6. 生产数据库更新忙,没有超时
  7. asp隐藏邮箱部分字符_asp.net core 中使用 signalR(二)
  8. Android:四大架构的优缺点,你真的了解吗? 1
  9. Python与C++引用分析
  10. 量子计算机采用量子力学原理,物理学:量子计算机的工作是不是就是根据量子力学原理造的?...
  11. 免费申请ssl证书并部署
  12. html横向滚动字幕代码,js文字横向滚动特效
  13. mysql高级查询之性能分析explain和日志查看
  14. B站李永乐讲解傅里叶变换--笔记
  15. C++实现太阳系行星系统
  16. 2022年搭载国产芯片的手机推荐 这3款性能就不错
  17. 0160 十分钟看懂时序数据库(I)-存储
  18. 拨号vps为什么会掉线
  19. PCB走线和过孔通流能力的标准、影响因素及其计算软件
  20. Cloudsim 3.0.3中VM调度策略系列类解析(带迁移的策略)

热门文章

  1. java中panel显示不出来_为什么我的JPanel中的某些项目没有显示?
  2. 切换账号_微软 Edge 更新:自动切换工作 / 生活账号,移动端上线集锦功能
  3. python汉字转到ascii码_python中ASCII码字符与int之间的转换方法
  4. 分布式和微服务区别_分布式、集群、微服务到底有啥区别?
  5. 打开浏览器不是主页_教你如何锁定电脑浏览器主页防止被篡改
  6. python爬考研_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些!
  7. 电脑上玩和平精英_和平精英奇幻之旅怎么玩-和平精英奇幻之旅玩法攻略
  8. MySQL__数据处理之查询
  9. linux ubuntn j经验
  10. java连接rabbitmq_Mac / Windows 下安装 RabbitMQ