软件工程--可行性分析分析_第1页
软件工程--可行性分析分析_第2页
软件工程--可行性分析分析_第3页
软件工程--可行性分析分析_第4页
软件工程--可行性分析分析_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2021/3/171可行性研究可行性研究2021/3/172开始问题定义可性行研究 可行否?项目实施计划终止项目的建议结束YN问题的定义与可性行研究问题的定义与可性行研究Who 为谁设计,用户是谁?为谁设计,用户是谁?What 要解决哪些问题?要解决哪些问题?Why 为什么要解决这些问题为什么要解决这些问题 有用的软件有用的软件 3W2021/3/173可行性研究可行性研究目的: 用最小的代价在尽可能短的时间内确定问题是否能够解决。 确定能否解决问题,同时确定问题是否值得去解决。2021/3/1742021/3/175可行性研究的任务可行性研究的任务2021/3/1762021/3/17720

2、21/3/1782021/3/179举例举例 1 2 3 4 5 年年604020 0成本成本- -效益效益( (万元万元) )该系统节省经费该系统节省经费该系统成本该系统成本盈亏平衡点盈亏平衡点投资回收期投资回收期 - -成本及效益分析图成本及效益分析图2021/3/17102021/3/17112021/3/1712可行性研究过程可行性研究过程1. 1. 复查系统规模和目标复查系统规模和目标2. 2. 研究目前正在使用的系统研究目前正在使用的系统3. 3. 导出新系统的高层逻辑模型导出新系统的高层逻辑模型4. 4. 进一步定义问题进一步定义问题5. 5. 导出和评价供选择的解法导出和评价供

3、选择的解法6. 6. 推荐行动方针推荐行动方针7. 7. 草拟开发计划草拟开发计划8. 8. 书写文档提交审查书写文档提交审查2021/3/17132021/3/17142021/3/17152021/3/17162021/3/1717系统流程图系统流程图 系统流程图是系统流程图是概括地描绘物理系统的传统工具概括地描绘物理系统的传统工具。 它的基本思想是它的基本思想是用图形符号以黑盒子形式用图形符号以黑盒子形式描绘组成描绘组成系统的每个部件系统的每个部件( (程序程序, ,文档文档, ,数据库数据库, ,人工过程等人工过程等) )。 系统流程图表达的是数据在系统各部件之间流动的系统流程图表达的

4、是数据在系统各部件之间流动的情况情况, ,而不是对数据进行加工处理的控制过程,因而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是形式相同,但是它却是物理数据流图物理数据流图而不是程序流而不是程序流程图。程图。2021/3/1718 基本符号 -以概括的方式抽象地描绘一个实际系统所用符号2021/3/1719 - 具体地描绘一个物理系统所用符号具体地描绘一个物理系统所用符号系统符号系统符号2021/3/1720某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记

5、录在库存清单主文件中。当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果哪种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便定货,规定每天向采购部门送一次定货报告。举例 -库存清单系统的系统流程图2021/3/1721该装配厂使用一台小型计算机处理更新库存清单主文件和生成定货报告的任务。零件库存量的每一次变化称为一个事务,由放在仓库中的CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的定货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出定货报告。变化变化仓库仓库零零 库存量库存量件件 临界值临界值库存清单

6、库存清单XX : XX : 库存库存 临临界值界值定货报告定货报告2021/3/17222021/3/1723举例 - 计算机售书系统流程图2021/3/1724数据流图数据流图 DFD - Data Flow Diagram 一种图形化技术一种图形化技术, ,它描绘信息流和数据从输入它描绘信息流和数据从输入移动到输出的过程中所经受的变换。移动到输出的过程中所经受的变换。 在数据流图中没有任何具体的物理部件在数据流图中没有任何具体的物理部件, ,它只它只是描绘数据在软件中流动和被处理的逻辑过是描绘数据在软件中流动和被处理的逻辑过程程, ,是系统逻辑功能的图形表示。是系统逻辑功能的图形表示。 设

7、计数据流图时只需考虑系统必须完成的基设计数据流图时只需考虑系统必须完成的基本逻辑功能本逻辑功能, ,完全不需要考虑怎样具体地实现完全不需要考虑怎样具体地实现这些功能,所以它也是今后进行软件设计的这些功能,所以它也是今后进行软件设计的很好的出发点。很好的出发点。2021/3/1725 数据流图四种基本符号或或或或或或2021/3/1726数据流图几种附加符号2021/3/17272021/3/17282021/3/17292021/3/1730- 系统系统逻辑逻辑模型模型2021/3/17312021/3/1732举举 例例2021/3/1733外部实体外部实体2021/3/1734 F1书号书

8、号单价单价数量数量2021/3/17352021/3/1736 - - - - DFD 2021/3/1737 1 1) 为数据流为数据流( (或数据存储或数据存储) )命名命名(1) (1) 名字应代表整个数据流名字应代表整个数据流( (或数据存储或数据存储) )的内容的内容, ,而不是仅仅反映它的某而不是仅仅反映它的某些成分。些成分。(2) (2) 不要使用空洞的、缺乏具体含义的名字不要使用空洞的、缺乏具体含义的名字( (如如“数据数据”、“信息信息”、“输入输入”之类之类) )。(3) (3) 如果在为某个数据流如果在为某个数据流( (或数据存储或数据存储) )起名字时遇到了困难起名字时

9、遇到了困难, ,则很可能是则很可能是因为对数据流图分解不恰当造成的因为对数据流图分解不恰当造成的, ,应该试试重新分解应该试试重新分解, ,看是否能克服看是否能克服这个困难。这个困难。DFD 2021/3/1738 2 2) 为处理命名为处理命名(1) (1) 通常先为数据流命名通常先为数据流命名, ,然后再为与之相关联的处理命名。这样命名比然后再为与之相关联的处理命名。这样命名比较容易较容易, ,而且体现了人类习惯的而且体现了人类习惯的“由表及里由表及里”的思考过程。的思考过程。(2) (2) 名字应该反映整个处理的功能名字应该反映整个处理的功能, ,而不是它的一部分功能。而不是它的一部分功

10、能。(3) (3) 名字最好由名字最好由一个具体的及物动词加上一个具体的宾语组成一个具体的及物动词加上一个具体的宾语组成。应该尽量。应该尽量避免使用避免使用“加工加工”、“处理处理”等空洞笼统的动词作名字。等空洞笼统的动词作名字。(4) (4) 通常名字中仅包括一个动词通常名字中仅包括一个动词, ,如果必须用两个动词才能描述整个处理如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。的功能,则把这个处理再分解成两个处理可能更恰当些。(5) (5) 如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹如果在为某个处理命名时遇到困难,则很可能是发现了分解不当

11、的迹象,应考虑重新分解。象,应考虑重新分解。DFD 2021/3/1739DFD 2021/3/1740 DFD 2021/3/1741DFD 2021/3/1742数据字典数据字典 - DD(Data Dictionary) 数据流图和数据字典共同构成系统的逻辑模型数据流图和数据字典共同构成系统的逻辑模型, ,没有数据字典数据流图就不严格没有数据字典数据流图就不严格, ,然而没有数然而没有数据流图数据字典也难于发挥作用。据流图数据字典也难于发挥作用。数据字典的任务是数据字典的任务是: : 对于数据流图中出现的所对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加有被命名的图形元素在

12、字典中作为一个词条加以定义以定义, ,使得每一个图形元素的名字都有一个使得每一个图形元素的名字都有一个确切的解释。确切的解释。2021/3/1743数据字典的内容数据字典的内容一般说来一般说来, ,数据字典应该由对数据字典应该由对下列下列4 4类元素的定义组成类元素的定义组成: :(1) (1) 数据流数据流(2) (2) 数据流分量数据流分量( (即数据元素即数据元素) )(3) (3) 数据存储数据存储(4) (4) 处理处理2021/3/17442021/3/1745“31”2021/3/17462021/3/17472021/3/17482021/3/17492021/3/175020

13、21/3/17512021/3/17522021/3/17532021/3/1754 描述把输入数据流变描述把输入数据流变 换为输出数据流的加工过换为输出数据流的加工过 程程,是加工说明的主体。是加工说明的主体。2021/3/1755自然语言自然语言+ +结构化形式结构化形式(1)结构化语言)结构化语言选选择择结结构构如果如果 If 如果如果 则则 否则否则 情况情况1 情况情况n If then Otherwise case 1 case n 循循环环结结构构对对 , 重复以下重复以下 直至直至 For each , Repeat the following: Until 2021/3/17

14、56 2021/3/17572021/3/17582021/3/17592021/3/1760成本成本/ /效益分析效益分析 成本成本/ /效益分析的目的效益分析的目的: : 从经济角度分析开发一个特定的新从经济角度分析开发一个特定的新系统是否划算系统是否划算, ,从而帮助客户组织从而帮助客户组织的负责人正确地作出是否投资于这的负责人正确地作出是否投资于这项开发工程的决定。项开发工程的决定。2021/3/1761成本估计 - - 人力成本估计人力成本估计 软件开发成本主要表现为人力消耗软件开发成本主要表现为人力消耗 ( (乘以平均工资则得到开发费用乘以平均工资则得到开发费用) )。 估算技术估

15、算技术: : 1. 代码行技术代码行技术 2. 2. 任务分解技术任务分解技术 3. 3. 自动估计成本技术自动估计成本技术2021/3/1762 代码行技术代码行技术 根据经验和历史数据估计实现一个功能需要的源程根据经验和历史数据估计实现一个功能需要的源程序行数序行数, ,用每行代码的平均成本乘以行数就可以确定用每行代码的平均成本乘以行数就可以确定软件的成本。软件的成本。 每行代码的平均成本主要取决于软件的复杂程度和每行代码的平均成本主要取决于软件的复杂程度和工资水平。工资水平。 代码行技术是比较简单的定量估算方法。代码行技术是比较简单的定量估算方法。当有以往当有以往开发类似工程的历史数据可

16、供参考时开发类似工程的历史数据可供参考时, ,这个方法是非这个方法是非常有效的。常有效的。2021/3/1763 任务分解技术任务分解技术 首先把软件开发工程分解为若干个相对独立的任首先把软件开发工程分解为若干个相对独立的任务。务。 再分别估计每个单独的开发任务的成本再分别估计每个单独的开发任务的成本, ,最后累加最后累加起来得出软件开发工程的总成本。起来得出软件开发工程的总成本。 估计每个任务的成本时估计每个任务的成本时, ,通常先估计完成该项任务通常先估计完成该项任务需要用的人力需要用的人力( (以人月为单位以人月为单位), ),再乘以每人每月的再乘以每人每月的平均工资而得出每个任务的成本

17、。平均工资而得出每个任务的成本。2021/3/1764 自动估计成本技术自动估计成本技术 采用自动估计成本的软件工具可以采用自动估计成本的软件工具可以减轻人的劳动减轻人的劳动, ,并且使得估计的结果并且使得估计的结果更客观。但是更客观。但是, ,采用这种技术必须有采用这种技术必须有长期搜集的大量历史数据为基础长期搜集的大量历史数据为基础, ,并并且需要有良好的数据库系统支持。且需要有良好的数据库系统支持。2021/3/1765成本成本/ /效益分析的方法效益分析的方法 成本成本/ /效益分析的第一步是估计开发成本、运行效益分析的第一步是估计开发成本、运行费用和新系统将带来的经济效益费用和新系统将带来的经济效益, ,然后从经济角然后从经济角度判断这个系统是否值得投资。度判断这个系统是否值得投资。 运行费用取决于系统的操作费用运行费用取决于系统的操作费用( (操作员人数操作员人数, ,工工作时间作时间, ,消耗的物资等消耗的物资等) )和维护费用。和维护费用。 系统的经济效益等于因使用新系统而增加的收系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。入加上使用新系统可以节省的运行费用。注意注意: :2021

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论