系统需求分析及可行性分析.ppt
《系统需求分析及可行性分析.ppt》由会员分享,可在线阅读,更多相关《系统需求分析及可行性分析.ppt(43页珍藏版)》请在冰豆网上搜索。
第三章第三章系统需求分析及可行性分析系统需求分析及可行性分析SystemRequirementsAnalysis&Feasibilitystudy3.1计算机的系统工程Hardwareengineering硬件工程Softwareengineering软件工程HumanengineeringDatabaseengineering数据库工程人类工程人类工程anappliedsciencethatcoordinatesthedesignofdevices,systems,andphysicalworkingconditionswiththecapacitiesandrequirementsoftheworker.研究人与机器及环境之间相互关系研究人与机器及环境之间相互关系,寻求最大限度地发挥寻求最大限度地发挥人的能力和提高工作效率的科学。
由数学、力学、物理学、人的能力和提高工作效率的科学。
由数学、力学、物理学、生理学、解剖学、生物力学、生物物理学、卫生学、心理生理学、解剖学、生物力学、生物物理学、卫生学、心理学、社会学、人类学等多种学科相互渗透形成的学科。
学、社会学、人类学等多种学科相互渗透形成的学科。
人类工程活动是人类工程建设的总称,如堤坝、公路、铁人类工程活动是人类工程建设的总称,如堤坝、公路、铁道的修建、工程建筑、城市建设、水资源和矿产资源开采、道的修建、工程建筑、城市建设、水资源和矿产资源开采、工业排污等。
它们都是在地质环境中进行的。
在人类工程工业排污等。
它们都是在地质环境中进行的。
在人类工程活动超过环境容量时,势必产生环境工程地质问题。
如地活动超过环境容量时,势必产生环境工程地质问题。
如地面塌陷与沉降、地裂缝等,造成对工程和环境的危害与损面塌陷与沉降、地裂缝等,造成对工程和环境的危害与损失。
如不及时监测和适当治理,则将导致更大的损失失。
如不及时监测和适当治理,则将导致更大的损失HumanengineeringComputersystem基于计算机系统的系统元素基于计算机系统的系统元素过程过程process系统系统system人人human硬件硬件hardware软件软件software文档文档files数据库数据库database输入输入input输出输出outputhttp:
/www.sie.arizona.edu/sysengr/whatis/whatis.htmlSystemsEngineeringisaninterdisciplinaryprocessthatensuresthatthecustomersneedsaresatisfiedthroughoutasystemsentirelifecycle.Thisprocessiscomprisedofthefollowingseventasks.1.Statetheproblem.Statingtheproblemisthemostimportantsystemsengineeringtask.Itentailsidentifyingcustomers,understandingcustomerneeds,establishingtheneedforchange,discoveringrequirementsanddefiningsystemfunctions.2.Investigatealternatives.Alternativesareinvestigatedandevaluatedbasedonperformance,costandrisk.3.Modelthesystem.Runningmodelsclarifiesrequirements,revealsbottlenecksandfragmentedactivities,reducescostandexposesduplicationofefforts.4.Integrate.Integrationmeansdesigninginterfacesandbringingsystemelementstogethersotheyworkasawhole.Thisrequiresextensivecommunicationandcoordination.5.Launchthesystem.Launchingthesystemmeansrunningthesystemandproducingoutputs-makingthesystemdowhatitwasintendedtodo.6.Assessperformance.Performanceisassessedusingevaluationcriteria,technicalperformancemeasuresandmeasures-measurementisthekey.Ifyoucannotmeasureit,youcannotcontrolit.Ifyoucannotcontrolit,youcannotimproveit.7.Re-evaluation.Re-evaluationshouldbeacontinualanditerativeprocesswithmanyparallelloops.Systemsanalysisisthestudyofsetsofinteractingentities,includingcomputersystemsanalysis.Thisfieldiscloselyrelatedtorequirementsanalysisoroperationsresearch.Itisalsoanexplicitformalinquirycarriedouttohelpsomeone(referredtoasthedecisionmaker)identifyabettercourseofactionandmakeabetterdecisionthanhemightotherwisehavemade.SystemsAnalysis系统分析系统分析软件开发的前期,由软件开发的前期,由系统分析师系统分析师作的一项任务。
作的一项任务。
Theprocessesofinvestigationandanalysisintothefeasibilityofpotentialcomputerapplicationsandthedesign,implementationandreviewofcomputer-basedsystem.3.2可行性分析可行性分析FeasibilityAnalysis通过对项目的主要内容和配套条件,如市场需求、通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境建成以后可能取得的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为如何进行建设的咨询意见,为项目决策提供依据项目决策提供依据的一种综合性的系统分析方法的一种综合性的系统分析方法。
可行性分析应具。
可行性分析应具有预见性、公正性、可靠性、科学性的特点。
有预见性、公正性、可靠性、科学性的特点。
经济可行性技术可行性法律可行性方案的选择可行性分析主要集中在如下可行性分析主要集中在如下4方面方面成本估算技术成本估算技术Techniqueonthecostestimationl.代码行技术代码行技术(简称简称LOCLinesOfCode技术技术)代码行技术是比较简单的定量估算方法,它把开发每个软件功能的成本和实现这个功能需要用的源代码行数联系起来。
通常根据经验和历史数据来估计实现一个功能需要的源程序行数。
当有以往开发类似工程的历史数据可供参考时,这个方法是非常有效的。
代码行技术估算步骤如下代码行技术估算步骤如下:
1)确定功能:
将项目功能反复分解到足够细,直到可以对为实现该功能所需要的源代码行数做出可靠的估算为止。
2)算出各子功能代码行数的平均值:
首先根据经验和历史数据对每个子功能估计其程序规模的大小,即最小规模a,最大规模b和最可能的规模m,然后用下式计算出该子功能源代码的行数的平均值Le:
Le=3)确定各子功能的代码行成本和生产率确定各子功能的代码行成本和生产率:
代码行成本指生产一:
代码行成本指生产一条有效代码需要的花费条有效代码需要的花费(用元行表示用元行表示),生产率指每个人一个,生产率指每个人一个月所能生产的有效源代码行数月所能生产的有效源代码行数(用行人月表示用行人月表示),根据历史提,根据历史提供数据和开发人员工资率就可以估算出每行代码的成本。
同样,供数据和开发人员工资率就可以估算出每行代码的成本。
同样,凭经验和开发人员的技术水平、软件复杂程度等因素可以估算凭经验和开发人员的技术水平、软件复杂程度等因素可以估算出软件生产率。
出软件生产率。
4)计算各子功能的成本和人力计算各子功能的成本和人力(工作量工作量):
每个子功能的成本等:
每个子功能的成本等于其代码行平均值乘以其代码行成本。
每个子功能的人力等于于其代码行平均值乘以其代码行成本。
每个子功能的人力等于其代码行平均值除以其生产率。
其代码行平均值除以其生产率。
5)计算该项目的总代码行数、总成本和总工作量计算该项目的总代码行数、总成本和总工作量表表2.1是用代码行技术来估算开发一个图形软件包成本的是用代码行技术来估算开发一个图形软件包成本的例子。
假设该软件包有四个主要功能,即用户接口控制、例子。
假设该软件包有四个主要功能,即用户接口控制、二维几何分析、计算机图形显示、外部设备控制二维几何分析、计算机图形显示、外部设备控制(见表中见表中第一列第一列)。
实现每个子功能所需要的代码行数。
实现每个子功能所需要的代码行数Le(见表中第见表中第二列二列)是由已知的是由已知的a,m,b代入代码行平均值公式计算而代入代码行平均值公式计算而得的。
表中第三列是生产率,第四列是每行代码的成本得的。
表中第三列是生产率,第四列是每行代码的成本第五列成本和第六列人力都是计算而得的。
第五列成本和第六列人力都是计算而得的。
由表由表2.1中可知,开发图形软件包所需代码行总数是:
中可知,开发图形软件包所需代码行总数是:
L=1481015000行行总成本:
总成本:
3O9180元元=3O900O元元总人力:
总人力:
71.772(人月人月)2.任务估算技术任务估算技术通常按开发阶段划分任务。
典型环境下各个开发阶段需要使用的人力的百分比大致如图2.7所示。
这种方法实际上是一种任务分析技术,它首先把软件开发工程分解为若干个相对独立的任务,再分别估计每个单独开发任务的成本,最后累加起来得出软件开发工程的总成本。
在估计每个任务的成本时,通常先估计完成该项任务需要用的人力(以人月为单位),再乘以每人每月的平均工资而得出每个任务的成本。
下面仍以图形软件包为例,用任务估算技术来估算其开发成下面仍以图形软件包为例,用任务估算技术来估算其开发成本本(见表见表2.2所示所示)。
5)计算该项目的总代码行数、总成本和总工作量计算该项目的总代码行数、总成本和总工作量表表2.1是用代码行技术来估算开发一个图形软件包成本的是用代码行技术来估算开发一个图形软件包成本的例子。
假设该软件包有四个主要功能,即用户接口控制、例子。
假设该软件包有四个主要功能,即用户接口控制、二维几何分析、计算机图形显示、外部设备控制二维几何分析、计算机图形显示、外部设备控制(见表中见表中第一列第一列)。
实现每个子功能所需要的代码行数。
实现每个子功能所需要的代码行数Le(见表中第见表中第二列二列)是