软件工程-03、系统的需求分析及可行性分析_第1页
软件工程-03、系统的需求分析及可行性分析_第2页
软件工程-03、系统的需求分析及可行性分析_第3页
软件工程-03、系统的需求分析及可行性分析_第4页
软件工程-03、系统的需求分析及可行性分析_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

2009 BUPT TSEG,软件工程模型与方法 Models & Methods of Software Engineering,第三章 系统需求分析与可行性分析修佳鹏 , 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,本章内容,3.1 基于计算机系统的系统分析3.2 可行性分析3.3 系统体系结构建模3.4 系统流程图3.5 系统分析总结, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.1 基于计算机系统的系统分析,本节内容3.1.1 计算机系统工程3.1.2 系统需求识别, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.1.1 计算机系统工程,Webster定义的计算机系统是:元素的集合或排列,这些元素被组织在一起,以便通过处理外部信息完成某些预定的目标 。这些系统元素是:软件:指程序、数据结构和相关文档。硬件:指提供计算能力的电子设备和提供外部功能的机电设备(传感器、马达等)。人员:指使用硬件和软件的用户和其他人员。文档:指手册、表格和其他表示系统使用和操作的描述性信息。数据库:指系统所具有的信息模型,是系统中对信息具有存取功能的一个主要部分。过程:指定义每一种系统元素的特定使用步骤或使用环境。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.1.1计算机系统工程,计算机系统工程是一个问题求解活动,目的是揭示、分析所期望的功能、性能、接口和约束条件,并把它们分配到各个系统元素中去。计算机的系统工程包括:硬件工程、软件工程、人机工程和数据库工程,每一项工程的作用就是明确和细化系统的功能和性能的范围和内容,产生一个能与其他系统元素适当集成的可操作的系统元素。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,硬件工程, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,软件工程, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.1.2 系统需求识别,系统分析目标识别用户要求;进行技术分析并进行评价;把功能分配给系统元素;建立成本和进度限制;生成系统规格说明(包括软件和硬件)。可通过回答以下问题协助完成系统分析过程 系统的总体目标是什么?系统所期望的功能和性能是什么?系统的可靠性和质量要求是什么?成本与进度限制如何?有无软硬件制造和购买的需求?有效的技术方案有哪些?将来系统可能有哪些扩充?, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.2 可行性分析,本节内容:3.2.1 可行性分析的任务和步骤3.2.2 经济可行性分析3.2.3 技术可行性分析, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,为什么要进行可行性分析,影响系统开发的因素有哪些?时间因素资源因素成本和利润的因素技术条件和能力的因素系统分析和可行性分析的目的是明确系统是否值得做,避免投资损失衡量软件系统是否值得做的标准:能否带来经济效益、企业效益或社会效益。援引柳传志的一段话:“没钱赚的事我们不干;有钱赚但投不起钱的事不干;有钱赚也投得起钱但没有可靠的人选,这样的事也不干。”, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.2.1 可行性分析的任务和步骤,首先,针对项目确定问题域并对问题域进行概要的分析和研究,初步确定项目的规模、约束和限制条件。其次,针对问题域中的关键和核心问题进行简要的需求分析,抽象出问题域的逻辑结构,并构建逻辑模型。最后从逻辑模型出发,通过小规模的设计和技术实现论证,探索出若干种可供选择的解决方案,并对每种方案进行可行性方面的论证。可行性分析主要集中在以下四个方面:经济可行性分析技术可行分析法律可行性分析实施方案的选择, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.2.2 经济可行性分析,软件开发为何要进行经济方面的分析?软件开发需要有投资,有投资就需要有收益。目的是从经济角度评价一个新项目是否可行、是否划算,从而帮助投资人或者用户正确地做出是否投资于这个项目的开发决策。 如何进行经济可行性的分析?成本/效益分析是对软件的开发成本和可能取得的效益进行权衡比较。 短期/长远利益分析而是从另一种角度来评价成本和效益之间的关系。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,软件成本的估算方法,软件开发体现为最终可运行的软件系统以及相应的开发过程,为此有以下估算软件成本的方法:代码行技术每行代码的成本代码行数;代码行数:根据经验和历史数据估计;每行代码成本:根据软件复杂度和开发人员工资估计;功能点技术以软件功能作为测量依据;功能点测量法;任务分解技术将整个开发过程分解为几个独立的任务;评估每个任务的成本,再求和得到整个系统的成本;每个任务成本每人月平均成本人月数;, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,软件成本的估算方法,经验估算模型根据以往经验总结出软件成本估算模型,软件规模(例如LOC)作为模型的输入;不同的项目需要对模型参数进行相应调整;COCOMO模型Barry Boehm在软件工程经济学中介绍的软件估算模型,称为COCOMO(Constructive Cost MOdel),该模型为分层模型,分为基本模型、中级模型和高级模型。 软件方程式:多变量模型, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,软件成本的估算方法,软件的其他成本估算:除了以上主要的软件开发成本之外,还必须考虑支撑软件开发所必需的市场、销售和行政等项的开支,根据经验有如下内容需要考虑:办公室房租、现场开发住宿费等。办公用品,如桌、椅、书柜、照明电器、空调等。计算机、打印机、网络等硬件设备。电话、传真等通讯设备以及通讯费用。资料费。办公消耗,如水电费、打印复印费等。行政人员的工资。差旅费、国内外出差补贴等。做市场调查、可行性分析、需求分析的交际费用。公司人员培训费用。产品宣传费用。如果用Internet作宣传,则要考虑建设Web站点的费用。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,软件开发的效益度量,货币的时间价值:由于任何软件项目大都是投资在前,取得效益在后,因此要考虑到货币的时间价值。设年利率为i,现存入P元,若计复利则 n年后货币价值为反之,若n年能收入F元,那么这些钱的现值是, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,软件开发的效益度量,例如:某企业花20万引进信息化系统后,每年节省9.6万元的人力成本,若该软件生命周期为5年,银行年利率5%,请计算其节约的成本的当前价值是多少?解:因为:所以:第n年节约成本当前价值=第n年节约成本/(1+0.05)n, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,软件开发的效益度量,投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间。投资回收期越短,就能越快获得利润。 设上例中的投资回收期为N,则:(N-2)*8.29=20-17.85N=2.259年纯收入:就是在整个生存期之内系统的累计经济效益(折合成现在值)与投资之差。纯收入 0 说明值得投资纯收入 = 0 等于把资金存入银行纯收入 0 说明不值得投资上例中的纯收入为:41.563-20=21.563万元, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,软件开发的效益度量,投资回收率:设想把数量等于投资额的资金存入银行,每年年底从银行回收的钱等于系统每年预期可以获得的效益,在时间等于系统寿命时,正好把在银行中的存款全部取完。这个假想的年利率就等于投资回收率。P F1(1+j) + F2(1+j)2 + +Fn(1+J)n其中,P是现在的投资额;Fi是第i年年底的效益(i1,2,n);n是系统的使用寿命,j是投资回收率。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.2.3 技术可行性分析,技术可行性分析主要考虑以下几项内容:开发风险:在给定的限制范围内,能否设计出系统,并实现必须的功能和性能?资源可用性:是否有充足的熟练技术人员可以支配?其他必要的资源(软件和硬件)对建造系统可用么?技术条件:相关的技术条件是否能够支持系统的开发?最终得出一个在技术层面上的决策基础:可行,还是不可行!, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,技术可行性分析的机制,Blanchard和Fabrycky定义了在系统的技术可行性分析中使用建模方法的一组标准: 能动态地表示系统的配置并能进行评估,要求配置项很容易理解和操纵、并且与现实操作足够接近。模型应该尽可能全面的包括所有相关的因素,并且应体现结果的可重复性。模型应该关注那些关键问题的因素,并且抑制和回避那些不重要的因素。模型设计应该足够简单,以允许快速实现。模型设计应该易于修改和/或扩展。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.3 系统体系结构建模,本节内容:3.3.1 构建系统级体系结构3.3.2 系统结构的规格说明定义3.3.3 分配与权衡, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.3.1 构建系统级体系结构,每个基于计算机的系统可用输入-处理-输出(IPO)的结构来为信息的变换和处理建模,在附加经常使用的用户界面处理和维护自测试处理特性,构成了系统体系结构模板。通过创建一个系统结构模型,为后期的需求分析和设计奠定了基础,同时也是技术可行性分析建模的主要方法。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,体系结构语境图ACD,最高层的系统体系结构叫做体系结构语境图ACD。语境图建立了待实现系统与系统运行环境之间的信息边界:定义了系统使用信息的所有外部生产者;系统创建消息的所有外部消费者;所有通过界面通信或完成维护和自测的实体;, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,构建ACD实例描述,分类带传送系统(CLSS)分类站处设置PC程序软件,能够通过扫描输入带上的产品的条形码,根据系统存储的产品分类信息对产品进行分类,并结合传送带的速度,对分类控制器硬件进行控制,对产品进行分类。此外,程序还可以与中央工厂自动化主机进行通信;并与分类站操作人员进行交互,支持信息查询和故障诊断。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,CLSS的ACD, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,CLSS的AFD,体系结构流程图, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,AFD的扩展,最初的AFD中的每个圆角矩形又可被扩展为另一个专门描述它的体系结构模板。每个子系统的说明描述和在子系统间流动的所有数据的定义构成了系统规约的重要元素 。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.3.2 系统结构的规格说明定义,结构图的规格说明(ADS)给出了每个子系统的信息、各个子系统之间的信息流以及每个子系统的“系统模块描述”。 规格说明还可能具有一个“结构词典”,即在规格说明中出现的每一个信息项的清单,以及每个信息项的说明。例如AFD中的“部分号码”的说明如下:, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.3.3 分配与权衡, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.4 系统流程图,本节内容:3.4.1 符号3.4.2 示例3.4.3 分层, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.4.1 符号, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.4.2 示例, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.4.3 分层,如果系统比较复杂,可以采用流程图分层次地描述系统。高层的系统流程图描述系统总体概貌,定义其中的关键功能。对每个关键功能再进一步扩展为独立的流程图。, 2009 BUPT TSEG 北京邮电大学 通信软件工程中心,3.5 系统分析总结,本节内容:3.

温馨提示

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

评论

0/150

提交评论