软件工程学:第二章 可行性研究_第1页
软件工程学:第二章 可行性研究_第2页
软件工程学:第二章 可行性研究_第3页
软件工程学:第二章 可行性研究_第4页
软件工程学:第二章 可行性研究_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

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

2.1可行性研究的任务

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。可行性研究,至少应从下述三个方面研究每种解法的可行性:(1)技术可行性(2)经济可行性(3)操作可行性一般情况下,可行性研究的成本占工程总成本的5%--10%。

2.2可行性研究的过程步骤如下:1.复查系统规模和目标2.研究目前正在使用的系统从两个方面出发:(1)原系统的功能和优点;(2)原系统存在的缺陷。3.导出新系统的高层逻辑模型优秀的设计通常按以下步骤进行:现有的物理系统现有系统的逻辑模型新的物理系统目标系统的逻辑模型4.进一步定义问题:新系统必须做什么?分析员和用户看法一致。5.导出和评价供选择的解法首先从技术角度提出一些可能的物理系统后,应根据技术可行性的考虑初步排除一些不现实的系统。其次,考虑操作方面的可行性。最后应该考虑经济方面的可行性。6.推荐行动方针:是否继续开发?是则推荐最佳方案7.草拟开发计划包括:工程进度表、各种开发人员和各种资源的需求情况、下一阶段(需求分析)的详细进度表和成本估计。8.书写文档提交审查

2.3系统流程图

系统流程图是描绘物理系统的传统工具。其基本思想是用图形符号以黑盒子形式描绘系统里面每个部件(程序、文件、数据库、表格、人工过程等)。

系统流程图表达的是数据在系统各部件之间流动的情况。

2.3.1符号教材P39页

2.3.2例子教材P40页

2.3.3分层:面对复杂系统时需要分层描绘

2.4数据流图

数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。用户可以很容易理解。

2.4.1符号基本符号:或数据的源点/终点变换数据的处理数据存储数据流

附加符号:

TABC*BTAC+数据A或B,或A、B同时输入变成C

只有A或只有B输入时变成CTABC数据A和B同时输入才能变成数据C

数据A变成B和C

数据A变成B或C,或B和C

数据A变成B或C,但不能变成B和C

图2.4数据流图的符号TABC*+TABCTABC

注意:

(1)处理并不一定是一个程序。一个处理框可以代表一系列程序、单个程序或者程序的一个模块;也可以代表人工处理过程。(2)一个数据存储也不等同于一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等。(3)数据存储和数据流都是数据,仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。

2.4.2例子教材P42-P44页数据流图补充例子:培训中心是一个功能很复杂的系统,它为有关行业的在职人员开设许多门课程,有兴趣的人可以来电或来函报名选修某门课程,培训中心要收取一定的费用,学员通过支票付款,学员也可以来电或来函查询课程计划等有关事宜。培训中心的日常业务是:将学员发来的电报、信件、电话分类收集后,按几种不同情况处理。如果是报名的,则将报名数据送给负责报名事务的职员,他们要查询课程文件,检查某课程是否额满,然后在学生文件、课程文件上登记,并开出报名单交财务部门,财务人员再开出发票经复审后通

知学员。如果是付款的,则由财务人员在帐目文件上登记,再经复审后也给学员一张通知单。如果是查询的,则交查询部门查阅课程文件后给出答复。如果是想注销原来已选修的课程,则由注销人员在课程、学生、帐目文件上作相应修改,经复审后通知学员。对一些要求不合理的函电,培训中心将拒绝处理。收据2.4.3命名1.为数据流(或数据存储)命名(1)名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成份。(2)不要使用空洞的、缺乏具体含义的名字(如‘数据’、‘信息’等)。(3)如果在为某个数据流(或数据存储)起名字时遇到困难,则可能是对数据流图分解不恰当造成的,应尝试重新分解。2.为处理命名(1)通常先为数据流命名,然后为与之相关联的处理命名。这样命名比较容易。(2)名字应反映整个处理的功能,而不是他的一部分功能。(3)名字最好由一个具体的及物动词,加上一个具体的宾语组成。应避免使用‘加工’、‘处理’等空洞的动词做名称。(4)通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。(5)如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。

2.4.4用途

基本目的是利用它作为交流信息的工具。另一个主要用途是作为分析和设计的工具。

数据流图也应该分层,便于理解。

数据流图可以辅助物理系统设计。例子:教材P46页

2.5数据字典

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

2.5.1数据字典的内容一般情况下,数据字典应该由下列四类元素的定义组成:(1)数据流(2)数据流分量(即,数据元素)(3)数据存储(4)处理对数据处理的定义用其他工具(如IPO图或PDL)描述更方便。

2.5.2定义数据的方法数据字典中的定义就是对数据自顶向下的分解。由数据元素组成数据的方式只有下述三种基本类型:(1)顺序即以确定次序连接两个或多个分量;(2)选择即从两个或多个可能的元素中选取一个;(3)重复即把指定的分量重复零次或多次。(用重复算符的上下限表示重复次数)另外,增加了第四种关系运算:(4)可选即一个分量是可有可无的(重复零次或一次)。

数据字典定义中用到的符号:

=意思是等价于(或定义为);

+意思是和(即,连接两个分量);

[]意思是或(即,从方括号内列出的若干个分量中选择一个);

{}意思是重复(即,重复花括号内的分量);

()意思是可选(即,圆括号内的分量可有可无);

例如:报名单=姓名+单位名+年龄+性别+课程名课程=课程名+教员+教材+课程表课程表=1{星期几+第几节+教室}52.5.3数据字典的用途分析阶段的工具:严密一致的定义有助于改进分析员和用户之间的通信。

数据字典中数据元素的控制信息有价值:列出使用某数据元素的所有程序,容易估计改变一个数据产生的影响。2.5.4数据字典的实现教材P49-P50页

2.6成本/效益分析成本/效益分析:主要从经济角度分析新系统是否划算,帮助决定是否投资开发该项目

软件开发成本主要表现为人力消耗2.6.1成本估计:

1.代码行技术

2.任务分解技术先把软件开发工程分解为若干个相对独立的任务。再分别估计每个单独的开发任务的成本,最后累加起来得出软件开发工程的总成本。最常用的办法是按开发阶段划分任务。

表2.2典型环境下各个开发阶段需要使用的人力的百分比

任务人力(%)

可行性研究5

需求分析10

设计25

编码和单元测试20

综合测试40

总计100

3.自动估计成本技术:使用软件工具(需要大量历史数据,要有良好数据库系统支持)

2.6.2成本/效益分析的方法

1.货币的时间价值(例P51)通常用利率的形式表示货币的时间价值。假设年利率为i,如果现在存入P元,则n年后可以得到的钱数F为:F=P(1+i)n

P=F/(1+i)n2.投资回收期(例P52)所谓投资回收期就是使累计的经济效益等于最初投资所需要的时间。显然,投资回收期越短就能越快获得利润。

3.纯收入(例P52)就是在整个生命周期之内系统的累计经济效益(折合

温馨提示

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

评论

0/150

提交评论