![-软件工程导论第2章课件_第1页](http://file4.renrendoc.com/view/afe12c91d6b956b212d6d0b7c3654b02/afe12c91d6b956b212d6d0b7c3654b021.gif)
![-软件工程导论第2章课件_第2页](http://file4.renrendoc.com/view/afe12c91d6b956b212d6d0b7c3654b02/afe12c91d6b956b212d6d0b7c3654b022.gif)
![-软件工程导论第2章课件_第3页](http://file4.renrendoc.com/view/afe12c91d6b956b212d6d0b7c3654b02/afe12c91d6b956b212d6d0b7c3654b023.gif)
![-软件工程导论第2章课件_第4页](http://file4.renrendoc.com/view/afe12c91d6b956b212d6d0b7c3654b02/afe12c91d6b956b212d6d0b7c3654b024.gif)
![-软件工程导论第2章课件_第5页](http://file4.renrendoc.com/view/afe12c91d6b956b212d6d0b7c3654b02/afe12c91d6b956b212d6d0b7c3654b025.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章:可行性研究 可行性研究就是要回答“所定义的问题有可行的解决办法吗?”。 可行性研究的目的是:用最小的代价在尽可能短的时间内确定问题是否能够解决,以及是否值得去解决。2.1 可行性研究的任务 可行性研究所需的时间取决于工程的规模,所需要的成本要占工程总成本的5%10%。可行性研究的内容:1)技术可行性技术可行性要分析各种技术因素,例如: 使用现有的技术能否实现这个系统? 是否有胜任开发该项目的熟练技术人员? 能否按期得到开发该项目所需的软件、硬件资源?2)经济可行性 对经济合理性进行评价,所要考虑的问题是: 这个系统的经济效益能否超过它的开发成本? 这就需要对项目进行价格/利益分析,即“
2、投入/产出”分析。 由于利益分析取决于软件系统的特点,因此在软件开发之前,很难对新系统产生的效益作出精确的定量描述,所以往往采用一些估算方法。3)操作可行性 操作可行性评价系统运行后会引起的各方面变化,如:对组织机构管理模式、用户工作环境等产生的影响。 4)社会可行性 社会可行性主要讨论法律方面和使用方面的可行性。 例如,被开发软件的权利归属问题、软件所使用的技术是否会造成侵权等问题。72.2 可行性研究过程复查系统规模和目标 研究目前正在使用的系统导出新系统的高层逻辑模型重新定义问题导出和评价供选择的解法推荐行动方针草拟开发计划书写文档提交审查8第一步 复查系统规模和目标对问题定义阶段书写的
3、关于规模和目标的报告书进一步复查确认。改正报告书中的叙述模糊、不正确的地方。这个步骤的工作,实质上是为了确保分析员正在解决的问题确实是要求他解决的问题。进一步复查确认“规模和目标报告书”9第二步 研究目前正在使用的系统正在使用的系统的基本功能以及某些缺点分析现有系统的文档资料和使用手册,实地考察现有系统描绘现有系统的高层系统流程图并确认记录现有系统的接口10第三步 导出新系统的高层逻辑模型设计过程通常总是从现有的物理系统出发,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。使用数据流图,描绘数据在系统中流动和处理的情况,从而概括地表达出对新系统的设
4、想。通常为了把新系统描绘得更清晰准确,还应该有一个初步的数据字典,定义系统中使用的数据。数据流图和数据字典共同定义了新系统的逻辑模型,以后可以从这个逻辑模型出发设计新系统。11第四步 重新定义问题分析员应该和用户一起再次复查问题定义、工程规模和目标,这次复查应该把数据流图和数据字典作为讨论的基础。可行性研究的前四个步骤实质上构成一个循环。 定义问题分析问题导出一个试探性的解重新定义问题符合系统目标?YN12第五步 导出和评价供选择的解法分析员应该从他建议的系统逻辑模型出发,导出若干个较高层次的(较抽象的)物理解法供比较和选择。从技术角度出发考虑解决问题的不同方案。例如,24节中将举例说明在数据
5、流图上划分不同的自动化边界 根据技术可行性的考虑初步排除一些不现实的系统。例如,如果要求系统的响应时间不超过几秒钟,显然应该排除任何批处理方案。考虑操作方面的可行性。分析员应该根据使用部门处理事务的原则和习惯检查技术上可行的那些方案,去掉其中从操作方式或操作过程的角度看用户不能接受的方案。考虑经济方面的可行性。分析员应该估计余下的每个可能的系统的开发成本和运行费用,并且估计相对于现有的系统而言这个系统可以节省的开支或可以增加的收入。在这些估计数字的基础上,对每个可能的系统进行成本效益分析。制定实现进度表。通常只需要估计生命周期每个阶段的工作量。13第六步 推荐行动方针做出一个关键性的决定:是否
6、继续进行这项开发工程。如果分析员认为值得继续进行这项开发工程,那么他应该选择一种最好的解法,并且说明选择这个解决方案的理由。 14第七步 草拟开发计划为推荐的系统草拟一份开发计划:工程进度表估计对各种开发人员和各种资源的需要情况。估计系统生命周期每个阶段的成本。最后应该给出下一个阶段(需求分析)的详细进度表和成本估计。15第八步 书写文档提交审查写成清晰的文档,请用户和使用部门的负责人仔细审查。162.3 系统流程图系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序,文件,数据库,表格,人工过程等等)。系统流程图表达的是信息在系统各部件之间流动
7、的情况,而不是对信息进行加工处理的控制过程。尽管系统流程图使用的某些符号和程序流程图使用的符号相同,但是它却是物理数据流程图而不是程序流程图。 2.3.1 符号 符号名称说明处理如:程序,处理机,人工加工输入/输出连接换页连接数据流表示输入或输出指出转到图的另一部分或从图的另一部分转来,通常在同一页上指出转到另一页图上或由另一图转来指明数据流动方向图2.1 基本符号符号名称说明穿孔卡片文档磁带联机存储磁盘磁鼓显示人工输入人工操作辅助操作通信链路穿孔卡片输入/输出,或穿孔卡片文件打印输出,或打印终端输入数据磁带输入/输出,或表示磁带文件任何种类磁盘存储,如磁盘、磁鼓等磁盘输入/输出,或磁盘上文件
8、、数据库磁鼓输入/输出,或磁鼓上文件、数据库显示器部件人工输入数据,如填写表格人工完成的处理使用辅助设备进行的脱机操作通过远程通信线路传送数据图2.2 系统符号2.3.2 例子 事务库存清单程序报告生成程序定货信息定货报告库存清单主文件图2.3 库存清单系统的系统流程图某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果那种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便定货,规定每天向采购部门送一次定货报告。习惯画法是使信息在图中从顶向下,从左向右流动。202.3.
9、3 分层首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。 21数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具。此外,设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它也是软件设计的很好的出发点。 2.4 数据流图(描绘数据在系统中流动的逻辑过程)2.4.
10、1 符号 图2.4数据流图的符号(a)基本符号的含义;(b)附加符号的含义23三个附加符号 * : 表示数据之间是“与”关系。+ :表示数据之间是“或”关系。 :表示数据之间是“互斥”关系(只能从中选一个)。注意:“处理”可表示:单个程序、一系列程序、程序的一个模块、人工处理过程等等;“数据存储”可表示:一个文件、文件的一部分、数据库记录等等;数据流图忽略出错处理、打开文件、关闭文件。2.4.2 绘制数据流图的例子 问题定义:一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价
11、格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某个零件的库存数量少于库存量临界值时就应该再次定货。 26提取数据流图的四种成分“通过放在仓库中的CRT终端把事务报告给定货系统”仓库管理员是数据源点。“采购部每天需要一张定货报表”采购员是数据终点。“采购部需要报表” 用于产生报表的处理。“事务的后果是改变零件库存量” 对事务进行的加工的处理。“系统把定货报表送给采购部” 定货报表是一个数据流。“事务需要从仓库送到系统中” 事务是一个数据流。“每当有一个事务发生时立即处理它,然而每天只产生一次定货报表” 应该有一个数据存储保存产生定货报表的数
12、据。“当某个零件的库存数量少于库存量临界值时就应该再次定货” 应该有一个数据存储保存库存清单数据。 数据流图四种成分:源点或终点,处理,数据存储和数据流组成该例子的数据流图的元素源点/终点处理 采购员 仓库管理员 产生报表 处理事务数据流数据存储 订货报表 零件编号 零件名称 订货数量 目前价格 主要供应商 次要供应商 事务 零件编号 事务类型 数量 订货信息 (见订货报表) 库存清单 零件编号 库存量 库存量临界值2.4.2 绘制数据流图的例子 仓库管理员采购员定货系统事务定货报表图2.5 定货系统的基本系统模型2.4.2 绘制数据流图的例子 库存清单仓库管理员采购员事务定货报表图2.6 定
13、货系统的功能级数据流图处理事务1产生报表2D1库存清单D2定货信息定货信息定货信息 上述数据流图所描述的功能够详细了吗?2.4.2 绘制数据流图的例子 仓库管理员采购员事务定货报表图2.7 定货系统进一步分解后的数据流图更新库存清单1.2产生报表2D1库存清单D2定货信息接收事务1.1处理定货1.3库存清单定货信息定货信息32注意当进一步分解将涉及如何具体地实现一个功能时就不应该再分解了。例如:为什么不进一步分解“产生报表”这个功能呢?定货报表中需要的数据在存储的定货信息中全都有,产生报表只不过是按一定顺序排列这些信息,再按一定格式打印出来。然而这些考虑纯属具体实现的细节,不应该在数据流图中表
14、现。 当对数据流图分层细化时必须保持信息连续性。也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。应该注意在图中对处理进行编号的方法。 1)为数据流(或数据存储)命名 A名字应该代表整个数据流(或数据存储)的内容; B不要使用空洞的、缺乏具体含义的名字(如“数据”、“输入”); 2.4.3 命名 C如果为某个数据流(或数据存储)起名字时遇到困难,则很可能是因为对数据流图的分解不恰当造成的,应该试试重新分解数据流图; 2)为处理命名 A通常先为数据流命名,然后再为与之相关联的处理命名; B名字应该反映整个处理的功能; C应该尽量避免空洞笼统的动词做名字,如“处理”
15、、“加工”; D通常用一个动词命名,如果必须用两个动词才能描述整个处理的功能,则可能要把这个处理分解成两个处理更恰当; E如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的情况,应考虑重新分解。 通常,为“数据源点/终点”命名时,采用它们在问题域中习惯使用的名字(如“仓库管理员”、“采购员”)。1)利用它作为交流信息的工具;2)作为软件分析和设计的工具。2.4.4 数据流图的用途 2.4.4 数据流图的用途 仓库管理员采购员事务定货报表图2.8 这种自动化边界建议以联机方式更新库存清单更新库存清单1.2产生报表2D1库存清单D2定货信息接收事务1.1处理定货1.3库存清单定货信息定货信
16、息图2.8 对应的物理实现硬件方案2.4.4 数据流图的用途 仓库管理员采购员事务定货报表图2.9 这种自动化边界暗示以批量方式更新库存清单更新库存清单1.2产生报表2D1库存清单D2定货信息接收事务1.1处理定货1.3库存清单定货信息定货信息D3事务图2.9 对应的物理实现硬件方案 数据字典:对数据流图中包含的所有元素的定义的集合; 可行性研究阶段,数据流图与数据字典共同构成系统的逻辑模型。2.5 数据字典 2.5.1 数据字典的内容数据字典应该对下列元素进行定义: 1)数据流; 2)数据元素(数据流分量); 3)数据存储; 4)处理。 45出现别名主要原因 对于同样的数据,不同的用户使用了
17、不同的名字;一个分析员在不同时期对同一个数据使用了不同的名字;两个分析员分别分析同一个数据流时,使用了不同的名字。 1)数据元素字典定义其定义的基本内容有: A数据元素编号、名称及其含义; B数据类型和长度; C合理取值; D其他内容,如它与其它数据的逻辑关系等。2.5.2 定义数据的方法数据元素字典定义实例:数据元素编号:DC001数据元素名称:考试成绩别名:成绩、分数简述:学生考试成绩,分五个等级类型/长度:两个字节,字符类型取值/含义:优 90-100 良 80-89 中 70-79 及格 60-69 不及格 0-59有关数据项或结构:学生成绩档案有关处理逻辑:计算成绩 图2.10 数据
18、元素字典定义2)数据流字典定义其定义的基本内容有: A数据流编号及名称; B数据流来源; C数据流去处; D数据流的组成; E流通量; F峰值。数据流字典定义实例:数据流编号:DF001数据流名称:订票单简述:订票时填写的订票单数据流来源:外部实体“乘客”数据流去处:处理逻辑“预订机票”数据流组成:订单编号 日期 乘客号 航班号 状态 订单失效日期流通量:每天300份高峰值流通量:每天早上9:00,约160份图2.11 数据流字典定义3)数据存储字典定义其定义的基本内容有: A数据存储编号及名称; B数据存储的组成; C其它要求。4)数据处理字典定义其定义的基本内容有: A数据处理编号及名称;
19、 B简单描述; C输入/输出; D功能描述; E有关数据存储。 数据处理字典定义实例:数据处理编号:DP001数据处理名称:编辑订票简述:接收从终端录入的订票单,检验是否正确输入:乘客订单,来源:外部实体“乘客”输出:1.合格订单,去处:处理逻辑“确定订票” 2.不及格订单,去处:外部实体“乘客”功能描述:(略)图2.12 数据处理字典定义5)组成数据项的表示方法 = 表示“等价于”或“定义为” + 表示“与” 与 | 表示“或” 表示重复 ( ) 表示可选项 通讯录=通讯地址 通讯地址=姓名+邮编+省|直辖市|自治区+市|县+街道+门牌号+(电话) 1. 作为分析阶段的重要工具;2. 数据元
20、素的控制信息非常有用;3. 有助于开发数据库。2.5.3 数据字典的用途实现数据字典: 1)程序处理; 2)卡片式人工书写;2.5.4 数据字典的实现2.6 成本/效益分析 1)代码行技术 软件成本 = 每行代码的平均成本估计的源代码总行数 2.6.1 成本估计2)任务分解技术 软件开发项目分解为若干个相对独立的任务,分别估计每个单独任务的成本: 单独任务成本 = 任务所需人力估计值每人每月平均工资; 软件开发项目总成本估计 = 各个单独任务成本估计值之和。 常用的办法是按开发阶段划分任务,典型环境下各个开发阶段需要使用的人力百分比大致如下:任务人力()可行性研究需求分析设计编码与单元测试综合
21、测试总计5102520401003)自动估计成本技术 采用自动估计成本的软件工具估计。 1)货币的时间价值 假设年利率为i,如果现在存入P元钱,则n年以后可以得到的钱数为: 反之,如果n年后能收入F元钱,那么这些钱现在的价值是: 2.6.2 成本/效益分析 例:修改一个已有的库存管理系统,估计需要5000元,系统修改后使用5年,每年可节省2500元。请进行成本/效益分析。表1:将来的收入折算成现在值 年将来值(元)(1+0.12)n现在值(元)累计的现在值(元)125001.122232.142232.14225001.251992.984225.12325001.401779.456004.57425001.571588.807593.37525001.761418.579011.942)投资回收期 第一、第二年回收:4225元 第三年用于回收投资要: ( 5000 - 4225 ) / 1779 = 0.44年 总的投资回收期 = 2.44年3)纯收入 9011.94 - 5000 = 4011.94 (元)4)投资回
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年温度计采购合同示范
- 2025年中小企业财务策划代理记账合同范本
- 2025年交通标志制作与供应合同样本
- 2025年借款担保合同范文样式
- 2025年医院环境清洁服务合同
- 2025年标准化的酒店员工劳动合同样本
- 二零二五年度绿色别墅建设与维护管理合同2篇
- 2025年住宅小区绿化装修项目合同
- 2025年农业大棚建设合同标准
- 2025年度大型工程招投标合同履行风险管理与保障措施
- 2023高考数学艺考生一轮复习基础讲义(学生版)
- 2MW-5MWh微网储能项目整体技术方案设计
- 围手术期中医护理
- 国测省测四年级劳动质量检测试卷
- 客车交通安全培训课件
- 《地表水环境质量标准》
- 人教版一年数学下册全册分层作业设计
- 幼儿羽毛球培训课件
- 人类学田野调查教学课件
- 辽宁省冷链物流行业报告
- 清洁氢能生产与输储技术创新
评论
0/150
提交评论