软件工程导论第二章 可行性研究

2024-03-14 09:28

本文主要是介绍软件工程导论第二章 可行性研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

可行性研究的目的:以最小的代价在尽可能短的时间内确定问题是否能够解决(占总成本的5%~ 10%)。

2.1 可行性研究的任务

1、可行性研究的目的
就是用最小的代价在尽可能短的时间内确定问题是否能够解决,必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解决。

2、实质:系统分析和设计过程大大压缩简化,在较高层次上以较为抽象的方式进行系统的分析和设计过程

3、过程 
①. 分析和澄清问题定义
②. 导出系统的逻辑模型(数据流图 + 数据字典)
③. 根据逻辑模型探索若干种可供选择的解法
④. 研究每种解法的可行性

4、可行性
技术可行性:使用现有的技术能否实现这个系统
经济可行性:这个系统的经济效益能否超过它的开发成本
操作可行性:系统的操作方式在这个用户组织内可行吗
其他可行性:法律、社会效益

2.2 可行性研究过程

典型的可行性研究有下述一些步骤:
1.复查系统规模和目标。(阶段之间交接工作)
2.研究目前正在使用的系统。(延用用户习惯,降低学习成本)
3.导出新系统的高层逻辑模型。
4.进一步定义问题。
5.导出和评价供选择的解法。
6.推荐行动方针。
7.草拟开发计划。
8.书写文档提交审查。

2.3 系统流程图

系统流程图可以描述系统概貌,是概括性地描绘物理系统的传统工具,它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件,系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。基本符号如下

2.4 数据流图

1、数据流图(DFD)的概念   
是一种图形化技术,描述信息流和数据从输入移动到输出的过程中所经受的变换。没有任何具体的物理部件,仅描绘数据在软件中流动和被处理的逻辑过程。

2、数据流图的常用符号
在数据流图中应该描绘所有可能的数据流向,而不应该描绘某个数据流的条件。

数据存储和数据流的同处:都是数据,异处:数据存储是静态数据,数据流是动态数据。

3、画数据流图的步骤:
(1)从问题描述中提取数据流图的4种成分:数据的源点/终点、处理:处于静止状态的数据、数据流:处于运动中的数据、数据存储
(2)自顶向下分解,画基本系统模型
(3)细化,描绘系统的主要功能(功能级数据流图)
(4)对系统主要功能进一步细化 

4、画数据流图举例:

第一步:提取数据流图的四种成分

第二步:画基本系统模型

第三步:画功能级数据流图

第四步:对系统主要功能进一步细化 

5、用途
画数据流图的基本目的是利用它作为交流信息的工具,数据流图应该分层(每个主要功能都细化为一张数据流分图),另一个功能是作为分析和设计的工具。

2.5 数据字典

1、数据字典是数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

2、数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。在可行性研究阶段,数据流图与数据字典共同构成系统的逻辑模型。没有数据字典,数据流图就不严格,然而没有数据流图,数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能构成系统的规格说明。

3、数据字典应该由对下列4类元素的定义组成:数据流、数据流分量(数据元素)、数据存储和处理

4、除了数据定义之外,数据字典中还应该包含关于数据的一些其他信息。典型的情况是,在数据字典中记录数据元素的下列信息:一般信息(名字、别名、描述等)。定义(数据类型、长度、结构等),使用特点(值的范围、使用频率、使用方式——输入、输出、本地,条件值等),控制信息(来源,用户,使用它的程序,改变权,使用权等)和分组信息(父结构,从属结构,物理位置——记录、文件和数据库等)。

5、数据元素的别名就是该元素的其他等价的名字,出现别名主要有下述3个原因:
(1)对于同样的数据,不同的用户使用了不同的名字。
(2)一个分析员在不同时期对同一个数据使用了不同的名字。
(3)两个分析员分别分析同一个数据流时,使用了不同的名字。虽然应该尽量减少出现别名,但是不可能完全消除别名。

6、定义数据的方法
数据组成方式(三种基本类型):顺序、选择、重复
附加类型:可选

2.6 成本/效益分析的目标

正式要从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地做出是否投资于这项开发工程的决定。

这篇关于软件工程导论第二章 可行性研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/807965

相关文章

【软件工程】软件开发模型

三、瀑布模型  四、几种软件开发模型的主要特点 题目 判断题 选择题 小结

第二章 《凯斯迈之岛》

就在埃塞克斯大学的两名大学生紧锣密鼓地开发MUD之时,位于大洋彼岸的美国弗吉尼亚大学的两名大学生也在做着自己的游戏,他们名字叫做约翰•R•泰勒(John R Taylor III)和凯尔顿•弗林(Kelton Flinn)。泰勒与特鲁布肖一样是计算机科学专业的学生,而弗林则正在攻读应用数学专业的博士学位。   和当时美国大学校园中的多数学生一样,二人最大的乐趣是使

人工智能导论(上)

一、人工智能概述 人工智能这个基本概念的起源(人工智能作为计算机科学的一个分支) 很多应用研究领域都在人工智能的范畴里,比如机器人、语言识别、图像识别、自然语言处理和专家系统等等。更加通俗的说,人工智能是要让一部机器能够像人一样进行环境的感知与认知,做出像人一样合理的行动和决策,并且可以执行的系统。 基于目前对人工

第一篇 第一章资金时间价值计算及应用 第二章经济效果评价

第1章 资金时间价值计算及应用 资金具有时间价值 1.1 利息的计算 1.1.1 利息和利率 I=F-P 债务人为资金需求方 债权人为资金供给方利息对经济活动的影响(1.影响企业行为 2.影响居民资产选择行为 3.影响政府行为) 利率 1.影响因素(1.社会平均利润率的高低 2.市场资金供求对比状况 3.资金要承担的风险 4.债务资金使用期限长短 5.政府宏观调控政策 6.经济周期所处

第二章 可行性研究与软件开发计划简记

第二章  可行性研究与软件开发计划 可行性研究的任务:回答所开发的软件系统有无可行的解决办法或者这个系统值得开发么。 可行性研究大体可分为三个大的方面:工艺技术、市场需求、财务经济状况。 可行性研究的目的:就是尽可能的用最小的代价在尽可能短的时间内确定问题是否能解决。 可行性研究的解决方案:一般集中在 1.技术可行性2.经济可行性3.操作可行性。

第一章 软件工程的概述简记

第一章  软件工程的概述         *软件的概念:软件(Software)是一系列按照特定顺序组织的计算机数据和指令的集合。         软件的分类:(5大类)                   *1.基于软件功能划分                                  1)系统软件

第二章 感受Mac 之美-惊艳从Mac 外设开始,一周后的使用感受

期望已久,同时老婆也是极力推荐说,既然是吃饭的家伙,那么就下点血本投资下自己,原来那台已经满足不了你现在的工作效率了,继续沿用,得不偿失啊。 衡量了一下目前的情况,同时考虑到自己也是一个程序员爸爸了,也有房贷在身,所以去没有选择 16g 内存,512g 的 ssd,15.4 或者新版 16 寸大屏幕的高配,而是选择了比较适合我现阶段的配置的【Apple 2019 款 MacBook Pro 13

软件工程技术专业软件开发综合实训室解决方案

一、行业背景与前景分析 1.1 软件工程技术专业就业前景 近年来,中国的软件行业取得了显著的成就,即便在全球经济受到新冠疫情冲击的情况下,仍保持了强劲的增长势头。据工业和信息化部发布的数据,2021年我国软件和信息技术服务业的业务收入达到85371亿元人民币,同比增长18.3%,远超同期国内生产总值的增长率。这一成就不仅体现了中国软件行业的韧性和发展潜力,也为未来的持续增长奠定了坚实的基

算法导论书本第3版_中文版和英文版_完整版本_带目录_PDF

整理的算法导论资源,下载链接: 中文版: http://download.csdn.net/download/u013359794/10231906 英文版: http://download.csdn.net/download/u013359794/10232121

《软件工程导论》(第6版)第12章 面向对象实现 复习笔记

第12章 面向对象实现 一、面向对象实现概述 1.主要任务 (1)把面向对象设计结果翻译成用某种程序语言书写的面向对象程序。 (2)测试并调试面向对象的程序。 2.面向对象程序质量的影响因素 (1)面向对象设计的质量; (2)采用的程序语言的特点; (3)程序设计风格。 3.保证软件可靠性的方法 保证软件可靠性的主要措施是软件测试。面向对象测试的目标是用尽可能低的测试成本发现尽