软件工程第二章课件知识分享_第1页
软件工程第二章课件知识分享_第2页
软件工程第二章课件知识分享_第3页
软件工程第二章课件知识分享_第4页
软件工程第二章课件知识分享_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

第2章可行性研究2.1可行性研究的任务2.2可行性研究过程2.3系统流程图2.4数据流图2.5数据字典2.6成本/效益分析2.7小结12.1可行性研究的任务目的:确定问题是否值得去解决。实质:在较高层次上以较抽象的方式进行的系统分析和设计的过程。从三方面进行分析:技术可行性经济可行性操作可行性任务:对以后的行动方针提出建议。22.2可行性研究过程复查系统规模和目标研究目前正在使用的系统导出新系统的高层逻辑模型进一步定义问题导出和评价供选择的解法推荐行动方针草拟开发计划书写文档提交审查32.3.1符号基本符号5库存清单系统的系统流程图62.4数据流图数据流图(DFD)是是系统逻辑功能的图形表示,描绘信息流和数据从输入移动到输出的变换过程。不涉及具体的物理部件,只描绘数据在软件中流动和被处理的逻辑过程。不需要考虑怎样具体地实现这些功能是分析员与用户之间极好的通信工具72.4.1DFD符号82.4.1符号92.4.1符号箭头表示数据流的流动方向程序流程图箭头表示控制流应该描绘所有可能的数据流向不能描绘出现某个数据流的条件忽略出错处理,打开或关闭文件之类的内务处理。是描绘“做什么”而不考虑“怎样做”。10分层的数据流图11在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。122.4.3命名为数据流(或数据存储)命名是名词或名词短语,画数据流而不是控制流,一般不画物质流(人民币)。名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。数据流命名1132.4.3命名为数据流(或数据存储)命名如果命名有困难,则很可能是因为对数据流图分解不恰当,试试重新分解。每个加工至少有一个输入数据流和一个输出数据流。数据流命名214为处理命名通常先为数据流命名,然后再为与之相关联的处理命名。名字应该反映整个处理的功能,而不是它的一部分功能。名字最好是“及物动词+宾语”结构。应该尽量避免使用“加工”、“处理”等。2.4.3命名处理的命名115如果必须用两个动词才能描述整个处理的功能,则可能需要再分解。

如果某个处理不好命名,应考虑重新分解。分层的数据流图7+/-2个加工编号要一致父图与子图的平衡:保证数据流图的一致性2.4.3命名处理的命名216父图与子图的平衡数据流命名317父图与子图的平衡数据流命名318数据源点/终点是目标系统的外部项(人员、外设、传感器)。局部数据存储只有当它作为某些加工的数据接口或某个加工特定的输入或输出时,就把它画出来(信息隐蔽)局部数据存储:不是父图中相应加工的外部接口,只是本图中某些加工之间的数据接口。提高可理解性:加工功能相对独立,减少数据流的数目。

2.4.3命名其它元素19储蓄系统数据流图一个储蓄系统,完成以下功能:储户存款根据存款单检查帐户信息,如果是新开户,则添加此储户信息,并更新帐户;否则更新储户的帐户信息储户取款检查取款单,如果是合法用户,更新帐户信息。DFD案例200层DFD储蓄系统储户储户存款/取款单存款/取款信息1层DFD存款信息存款/取款单接收并分类取款信息存款取款打印p1p2p3p4存款/取款信息存款信息取款信息取款信息验证身份帐户信息P3.1验证帐户P3.2更新帐户P3.3取款信息取款信息取款信息2层DFD21定货系统基本系统模型DFD案例22定货系统的功能级数据流图23进一步分解后的数据流图242.4.4用途分析员与用户交流信息的工具直观易理解避免自然语言歧义性分析和设计的工具根据系统的逻辑模型考虑系统的物理实现25自动化边界——批量方式更新库存清单26自动化边界——联机方式更新库存清单272.5数据字典定义数据流图中包含的所有元素与数据流图共同构成系统的逻辑模型分别对DFD中元素的定义:(1)数据流(2)数据流分量(即数据元素)名字、别名、描述、数据类型、长度、结构、值的范围、使用方式、控制信息、分组信息等

(3)数据存储(4)处理(结合IPO图或PDL)282.5.2定义数据的方法对数据自顶向下的分解,分解到不需再分解。由数据元素组成数据三种基本类型:顺序、选择、重复符号:=:等价于(或定义为);+:和(即,连接两个分量);[]:或(即,从方括弧内列出的若干个分量中选择一个),通常用“|”号隔开供选择的分量;{}:重复(即,重复花括弧内的分量);():可选(即,圆括弧里的分量可有可无)。29标识符的定义定义式方法标识符=字母字符+字母数字串字母数字串=0{字母或数字}7字母或数字=[字母字符|数字字符]含义很明确,分解到此为止。30存折格式DD案例31存折=户名+所号+帐号+开户日+性质+(印密)+1{存取行}50户名=2{字母}24所号=“001”..“999”帐号=“00000001”..“99999999”开户日=年+月+日性质=“1”..“6”注:“1”表示普通户,“5”表示工资户等印密=“0”注:印密在存折上不显示存取行=日期+(摘要)+支出+存入+余额+操作+复核322.5.3数据字典的用途用途:是作为分析阶段的工具定义严谨,改进分析员和用户之间的通信包含的每个数据元素的控制信息(判断作用范围)是开发数据库的第一步(基础关键)332.5.4数据字典的实现CASE“结构化分析与设计工具”实现采用卡片形式书写名字:定货报表别名:定货信息描述:每天一次送检采购员的需要定货的零件表定义:定货报表=零件编号+零件名称

+定货数量+目前价格

+主要供应者

+次要供应者位置:输出到打印机}数据结构struct定货报表{char零件编号[8];char零件名称[20];int定货数量;float目前价格;structsupplier主要供应者;structsupplier次要供应者;};34若修改“零件编号”的定义,则受到影响的数据均列于此名字:零件编号别名:无描述:唯一地标识库存清单中一个特定零件的关键域定义:零件编号=8{字符}8位置:定货报告定货信息库存清单352.6成本/效益分析开发软件目的:期望更大的经济效益。风险:系统的开发成本可能比预计的高,效益可能比预期的低。效益分析目的:从经济角度分析开发一个特定的新系统是否划算,支持决策。362.6.1成本估计软件开发成本:人力消耗(乘以平均工资则得到开发费用)估算技术1.代码行技术根据经验和历史数据估计实现一个功能需要的源程序行数每行代码的平均成本主要取决于软件的复杂程度和工资水平37估算技术2.任务分解技术工程分解为若干个相对独立的任务按阶段划分按子系统划分分别估计每个单独的开发任务的成本每个任务的成本=耗费人力(人月)*人月平均工资累加得到工程的总成本38估算技术39估算技术3.自动估计成本技术采用自动估计成本的软件工具长期搜集的大量历史数据为基础有良好的数据库系统支持402.6.2成本/效益分析的方法估计开发成本、运行费用和新系统将带来的经济效益运行费用取决于系统的操作费用(人员数、工作时间、损耗等)和维护费用系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。总的效益和估计的软件寿命有关。41货币的时间价值比较新系统的开发成本(当前)和经济效益(未来)用利率的形式表示货币的时间价值。假设年利率为i,若现在存入P元,则n年后可以得到的钱数为:F=P(1+i)nP元钱在n年后的价值是F=P(1+i)n反之,n年后收入F元钱的现在价值是P=F/(1+i)n42货币的时间价值例:修改一个已有的库存清单系统,使它能在每天送给采购员一份定货报表。修改已有的库存清单程序并且编写产生报表的程序,估计共需5000元;系统修改后能及时定货将消除零件短缺问题,估计因此每年可以节省2500元,5年共可节省12500元。假定年利率为12%,利用上面计算货币现在价值的公式可以算出修改库存清单系统后每年预计节省的钱的现在价值,如表2.3(见书51页)所示。

温馨提示

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

评论

0/150

提交评论