第三章_系统需求分析及可行性分析.ppt_第1页
第三章_系统需求分析及可行性分析.ppt_第2页
第三章_系统需求分析及可行性分析.ppt_第3页
第三章_系统需求分析及可行性分析.ppt_第4页
第三章_系统需求分析及可行性分析.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

第三章系统需求分析及可行性分析黄海bupthuanghai,软件工程SoftwareEngineering,2008BUPTTSEG,基于计算机系统的系统分析可行性分析系统体系结构建模系统流程图系统分析的总结,2008BUPTTSEG北京邮电大学通信软件工程中心,3.1基于计算机系统的系统分析,计算机系统是元素的集合或排列软件:是指计算机程序、数据结构、逻辑方法、过程或控制的相关文档。硬件:是指提供计算能力的电子设备和提供外部功能的机电设备。人员:是指使用硬件和软件的用户和其他人员。文档:是指手册、表格和其他用以描述系统使用和操作的描述性信息。数据库:是指该系统所具有的信息模型,是系统中对信息具有存取功能的一个主要部分。过程:是指定义每一种系统元素的特定使用步骤或使用环境。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.1基于计算机系统的系统分析,2008BUPTTSEG北京邮电大学通信软件工程中心,基于计算机系统的系统元素,3.1基于计算机系统的系统分析,1.计算机系统工程定义:是一个问题求解的活动,目的是揭示、分析所期望的功能、性能、接口、设计限制和信息结构的表示,并把它们分配到各个系统元素中去。(由系统分析工程师和用户合作完成)计算机系统工程包括:硬件工程、软件工程、人类工程和数据库工程。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.1基于计算机系统的系统分析,2.系统分析系统分析是一组统称为计算机系统工程的活动。它着眼于所有的系统元素,而不仅仅是软件。系统分析时需要硬件工程师、软件工程师以及数据库专家共同合作来实现。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.1基于计算机系统的系统分析,(1)系统分析的目标识别用户要求;系统的可行性分析;把功能分配给系统元素;建立成本和进度限制;生成系统规格说明,形成所有后续工程(包括软件和硬件)的基础。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.1基于计算机系统的系统分析,(2)系统分析过程系统分析员需要通过回答以下问题,才能完成系统分析过程:系统的总体目标是什么?系统所期望的功能和性能是什么?系统的可靠性和质量要求是什么?成本与进度限制如何?有无软硬件制造和购买的需求?有效的技术方案有哪些?将来系统可能有哪些扩充?,2008BUPTTSEG北京邮电大学通信软件工程中心,基于计算机系统的系统分析可行性分析系统体系结构建模系统流程图系统分析的总结,2008BUPTTSEG北京邮电大学通信软件工程中心,3.2可行性分析,可行性分析的目的不是解决问题,而是确定问题是否值得去解决。在系统分析过程中,引入系统可行性分析的一个优点在于可以在很大程度上减少投资的损失。一方面为后期的软件开发指明方向,也是项目管理和计划的前期准备;另一方面即使决定项目终止也不会对项目建设的双方带来巨大的经济损失。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.2可行性分析,1.可行性分析的任务和步骤首先,针对项目确定问题域并对问题域进行概要的分析和研究,初步确定项目的规模、约束和限制条件其次,针对问题域中的关键和核心问题进行简要的需求分析,抽象出问题域的逻辑结构,并构建逻辑模型最后,从逻辑模型出发,通过小规模的设计和技术实现论证,探索出若干种可供选择的解决方案,并对每种方案进行可行性方面的论证,2008BUPTTSEG北京邮电大学通信软件工程中心,3.2可行性分析,可行性分析主要集中在以下四个方面:经济可行性进行开发成本的估算以及可能取得的经济效益,确定待开发系统是否值得投资开发。技术可行性对待开发的系统进行功能、性能和限制条件的分析,确定在现有资源的条件下,技术风险有多大,系统是否能实现。资源包括已有的或可以获得的硬件、软件资源,现有技术人员的技术水平与已有的工作基础。法律可行性确认待开发系统可能涉及到的任何侵权、妨碍、责任的问题。方案的选择对待开发系统的不同方案进行比较评估。尤其是成本和时间限制,会给方案的选择带来很大的限制。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.2可行性分析,2.经济可行性分析经济可行性分析包括软件开发项目的成本/效益估计,以确定软件系统可能带来的经济效益是否超过研制和维护所需要的费用。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.2可行性分析,(1)成本估算技术代码行技术功能点技术任务分解技术经验估算模型COCOMO模型软件方程式其他成本估算内容(设备、人力、材料、管理等)普通存在的问题是:成本估算往往偏低,其结果是一次次地追加费用,造成骑虎难下的局面。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.2可行性分析,(2)效益度量方法有形收益货币的时间价值将未来的收益按照通用率折算到现在。设年利率为i,现存入P元,n年后货币价值为F,若计复利,则反之,若n年能收入F元,那么这些钱的现值是,2008BUPTTSEG北京邮电大学通信软件工程中心,3.2可行性分析,例如,假设利用购买的一套计算机辅助开发工具来代替部门的大部分的人工设计工作,每年估算可节约9.6万元。若该软件的生命周期为5年,则5年可节省总开支48万元。而开发这套软件系统共投资了20万元。假设,年利率是5%,利用上面计算货币现在价值的公式,可以算出引入该计算机系统后每年预计节省的费用的现在价值。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.2可行性分析,投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。根据上面的例子,引入计算机辅助开发工具两年后,可以节省17.85万元,比预期的投资还少2.15万,但第三年累计的节省金额就可达到26万,同时考虑到第三年可节省的金额为8.29万元,则:2.15/8.29=0.259因此,投资回收期是2.259年。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.2可行性分析,纯收入纯收入就是在整个生存期之内系统的累计经济效益(折合成现在值)与投资之差。根据上面的例子,5年内项目的纯收入预计为41.5620=21.56万元如果纯收入为零,则项目的预期效益与把资金存入银行所取得的利益一样。但开发一个有风险的项目,从经济观点分析则这个项目是不值得投资的。如果纯收入小于零,那么显然这项工程不值得投资。只有当纯收入大于零,才能考虑项目的投资。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.2可行性分析,投资回收率把资金进行投资某个项目所获得的回报可以用类似于年利率的参数衡量,这就是投资回收率。已知现在的投资额,并且已经估计出将来每年可以获得的经济效益,那么,给定软件的使用寿命之后怎样计算投资回收率呢?根据上述条件不难列出下面的方程式:PF1(1+j)+F2(1+j)2+Fn(1+j)n其中,P是现在的投资额;Fi是第i年年底的效益(i1,2,n);n是系统的使用寿命,j是投资回收率。解出这个高阶代数方程即可求出投资回收率。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.2可行性分析,无形效率估算新软件能提供哪些以前不能做或难以做到的工作,提供信息的速度、精度、质量有什么提高,使用人员查询和使用信息的能力有哪些提高,节省多少人力等。无形效率估算难以给出定量的数字,只能凭经验作出大致的估算。通常的情况是估算往往容易偏高。例如:手工制定一张工资表需要2天(16个小时=960分钟),如果用计算机管理,10分钟就能打印一张工资表。那么,能否得出效率提高96倍的结论呢?恐怕不能。因为它还受到数据输入等因素的制约,一般能提高23倍就不错了。因此,不能把某个环节上工作生产率的提高看成整个系统工作效率的提高。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.2可行性分析,(3)长期短期利益分析短期利益容易把握,风险较低,但利益较少,甚至没有利益;(沉迷现实,无远大抱负)长期利益难以把握,风险较大。(要么是将帅之才,要么就是纸上谈兵、眼高手低之辈),2008BUPTTSEG北京邮电大学通信软件工程中心,3.2可行性分析,3.技术可行性分析技术可行性指现有情况下能否完成这个项目。技术可行性主要考虑的内容有:开发风险:在给定的限制范围内,能否设计出系统,并实现必须的功能和性能?资源可用性:是否有充足的熟练技术人员可以支配?其他必要的资源(软件和硬件)对建造系统可用么?技术条件:相关的技术条件是否能够支持系统的开发?技术分析可用的工具可从数学建模和优化技术、概率和统计、排队论和控制论中导出建模(数学的或物理的)是对基于计算机系统的有效技术分析机制,2008BUPTTSEG北京邮电大学通信软件工程中心,基于计算机系统的系统分析可行性分析系统体系结构建模系统流程图系统分析的总结,2008BUPTTSEG北京邮电大学通信软件工程中心,3.3系统体系结构建模,计算机系统可用一系列工具为信息的变换和处理进行逻辑建模。1.体系结构图(AD)基于计算机的系统可以用体系结构图进行建模,它包含五个处理区域:输入处理与控制输出用户界面维护和自测试,2008BUPTTSEG北京邮电大学通信软件工程中心,IPO,3.3系统体系结构建模,2008BUPTTSEG北京邮电大学通信软件工程中心,系统体系结构模板,3.3系统体系结构建模,2.体系结构环境图(ACD)利用抽象的体系结构模板能够帮助分析员建立一个逐层细化的层次结构,而结构环境图(ACD,ArchitectureContextDiagram)则位于层次结构的顶层。ACD“建立了待实现系统与系统运行环境之间的信息边界”,即ACD定义了系统使用信息的所有外部生产者、系统创建消息的所有外部消费者、以及所有通过界面通信或完成维护和自测试的实体。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.3系统体系结构建模,2008BUPTTSEG北京邮电大学通信软件工程中心,扩展CLSS的体系结构环境图,3.3系统体系结构建模,3.体系结构流程图(AFD)对ACD进一步细分,可以标识出该环境中主要运行的子系统,这些子系统被定义在体系结构流程图(AFD,ArchitectureFlowDiagram)中,它是从ACD导出的。AFD显示了主要的子系统和重要的信息(数据和控制)的流程。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.3系统体系结构建模,2008BUPTTSEG北京邮电大学通信软件工程中心,扩展的CLSS体系结构流程图,3.3系统体系结构建模,AFD可以进一步分解为多个层次。初始体系结构流程图(AFD)构成AFD层次的顶层结点,在最初的AFD中的每个圆角矩形又可被扩展为另一个专门描述它的体系结构模板。系统的每个AFD可被用来描述子系统的后续工程步骤的起始点。如上所述,从基本的功能性能需求出发,构筑顶层的结构环境模型(ACD),再按照结构模板将高层ACD逐级分解形成AFD,如此自顶向下逐层细化,将逐步构建起应用系统的明细层次模型。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.3系统体系结构建模,2008BUPTTSEG北京邮电大学通信软件工程中心,构建AFD层次结构模板,3.3系统体系结构建模,4.系统结构的规格说明定义对结构图中的各个子系统及它们之间的信息需要加以定义。结构规格说明(ADS,ArchitectureDescriptionSpecification)给出了有关每个子系统的信息和各个子系统之间的信息流;对每个子系统进行“系统模块描述”,详细说明每一个子系统的功能,处理对象与方法和其他子系统如何接口。规格说明还可能具有一个“结构词典”,即在规格说明中出现的每一个信息项的清单,以及每个信息项的说明。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.3系统体系结构建模,2008BUPTTSEG北京邮电大学通信软件工程中心,结构词典条目,基于计算机系统的系统分析可行性分析系统体系结构建模系统流程图系统分析的总结,2008BUPTTSEG北京邮电大学通信软件工程中心,3.4系统流程图,ACD、AFD等概括的是系统的逻辑模型,进入设计阶段以后应该把系统的逻辑模型转变成物理模型。系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序,文件,数据库,表格,人工过程等等)。系统流程图表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程,因此尽管系统流程图使用的某些符号和程序流程图中用的符号相同,但是它却是物理数据流因而不是程序流程图。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.4系统流程图,1.符号(1)基本符号:用于以概括的方式抽象地描绘一个物理系统,2008BUPTTSEG北京邮电大学通信软件工程中心,3.4系统流程图,(2)具体系统符号:更具体地描绘一个物理系统。,2008BUPTTSEG北京邮电大学通信软件工程中心,3.4系统流程图,2.示例,2008BUPTTSEG北京邮电大学通信软件工程中心,库存清单系统的系统流程图,3.4系统流程图,3.分层复杂的系

温馨提示

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

评论

0/150

提交评论