资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,第二章 可行性研究,当准备接受一个软件开发任务时,就进入软件生命周期的第一个阶段,即进行可行性研究;可行性研究是压缩简化了的系统分析和设计的过程,也就是说在较高层次上以较抽象的方式进行设计的过程;一般说来,可行性研究所需的成本占总工程成本的,5,10,。,2.1,可行性研究的任务,1.,经济可行性,2.,技术可行性,3.,运行可行性,4.,法律可行性,5.,开发方案可行性,1.,经济可行性,经济可行性研究主要进行成本效益分析,包括估计项目的开发成本,估算开发成本是否会高于项目预期的全部利润。分析系统开发对其他产品或利润所带来的影响。,2.,技术可行性,技术可行性研究是系统开发过程中难度最大的、最重要的工作技术可行性研究包括以下几项:,(,1,)风险分析:在给出的限制范围内,能否设计出系统,并实现必要的功能和性能。,(,2,)资源分析:要论证是否具备系统开发所需的各类人员,(,管理人员和各类专业技术人员,),、软件、硬件资源和工作环境等。,(,3,)技术分析:相关技术的发展是否支持这个系统。,3.,运行可行性,运行可行性研究内容包括新系统规定的运行方式是否可行,如果新系统是建立在原来已担负其他任务的计算机系统上的,就不能要求它在实时在线状态下运行,以免与原有的任务相矛盾。,4,.,法律可行性,法律可行性是指在研究系统开发过程中可能涉及的各种合同侵权、责任以及各种与法律相抵触的问题。,5.,开发方案可行性,提出系统实现的各种方案并进行评价之后,从中选择一种最优秀的方案。,2.2,可行性研究的具体步骤,1.,复查系统规模和目标,2.,研究目前正在使用的系统,3.,导出新系统的高层逻辑模型,4.,重新定义问题,5.,导出和评价供选择的方案,6.,推荐一个方案并说明理由,7.,推荐行动方针,8.,书写计划任务书,9.,提交审查,2.3,需求分析的概念,需求分析的任务并不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。,需求分析,是指开发人员要准确地理解用户的要求,进行细致的调查分析,将用户非形式化的需求陈述转化为完整的需求定义,再由需求定义转化为相应的,软件需求规格说明书,(即需求分析的结果)的过程。,需求规格说明书的主要部分是,详细的数据流图,数据字典和主要功能的算法描述,。通过验收的需求规格说明书是今后软件设计和项目验收的依据。,需求分析的过程,需求分析对于整个软件开发过程以及软件产品的质量至关重要。,从收集资料到形成软件需求分析文档,,一般来说要经过四个过程,:获取用户需求,分析用户需求,编写需求文档,评审需求文档。,需求分析的任务,需求分析的任务,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的定义和要求。,本阶段要进行的具体工作如下:,这些需求包括,:,功能需求:,所开发的软件必需具备什么功能,(最重要)。,性能需求:,指待开发的软件应具备的性能指标,如存储容量,运行时间等。,环境需求:,指软件运行时的软件、硬件要求。,用户界面需求:,指人机交互方式、输入输出的数据格式等是否友好、便捷等。,此外还有:可靠性需求、安全保密要求、用户界面需求、可移值性、可维护性等方面需求。,1,进行调查研究,获取用户需求,调查时可采用以下几种方式,:,与用户交谈,向用户提出问题。,参观用户的工作流程,观察用户的操作。,向用户群体发放调查问卷表。,与同行、专家交谈,听取他们的意见。,分析已经存在的同类软件产品,提取需求。,从行业标准、规则中提取需求。,从,Internet,上搜索相关资料。,系统流程图,分析员协同程序员通过调查分析,同时可以参考该项目的可行性报告和项目开发计划书,来获取,当前系统的物理模型,可以采用,系统流程图,(,是用来描述系统物理模型的一种传统工具,)表示。,例如:计算机售书的系统流程图如下页所示。,计算机售书的系统流程图如下所示,附:,从当前系统的物理模型中去掉非本质因素,如地点、人物等,抽象出,当前系统的逻辑模型,可以用数据流图表示,。,2,去除非本质因素,抽象出当前系统的逻辑模型,2.3,数据流分析技术,面向数据流进行需求分析的方法,结构化分析方法适合于数据处理类型软件的需求分析,具体来说,结构化分析方法就是用,抽象模型,的概念,按照软件内部,数据传递,、,变换,的关系,,自顶向下逐层分解,,直到找到满足功能要求的所有可实现的软件为止,数据流图(,Data Flow Diagram,简称,DFD,)描绘系统的逻辑模型,是结构化系统分析的主要工具。,数据流图,(DFD,),是描述软件系统中数据处理过程的一种有力的图形工具。,数据流图中的基本符号(最新),或,或,或,符 号,含 义,数据的,源点或终点,数据流,数据存储,加工,(,变换,),画数据流图步骤,1,、,首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据,这些输入数据从哪里来;有哪些输出数据,输出到哪里去。,2,、画系统内部,即画下层数据流图。一般将层号从开始编号,采用自顶向下,由外向内的原则。,注意事项,1,、命名。不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。,2,、一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流,3,、父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据必须一致,此即父图与子图的平衡。,3,、局部数据存储。当某层数据流图中的数据存储不是由图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。,4,、提高数据流图的易理解性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。,描述银行取款过程的数据流图,数据流图的层次结构,为了表达数据处理过程的数据加工情况,需要采用,层次结构,的数据流图。按照系统的层次结构进行,逐步分解,,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统,分层的数据流图,在多层数据流图中,,顶层流图,仅包含,一个加工,,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据,底层流图,是指其,加工不需再做分解,的数据流图,它处在最底层,中间层流图,则表示,对其上层父图的细化,。它的每一加工可能继续细化,形成子图。,结构化分析方法步骤示例,商店业务处理系统,这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能,数据流图绘制步骤,首先确定系统的输入和输出,根据商店业务,画出顶层数据流图,以反映最主要业务处理流程,经过分析,商店业务处理的,主要功能,应当有,销售,、,采购,、,会计,三大项。,主要数据流输入的源点,和,输出终点,是,顾客,和,供应商,。,然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图,第一层数据流图,加细每一个加工框,销售细化,采购细化,检查和修改数据流图的原则,数据流图上所有图形符号,只限于,前述四种基本图形元素,数据流图的,主图必须包括前述四种基本元素,,缺一不可,数据流图的主图上的数据流必须封闭在外部实体之间,每个加工,至少有一个输入数据流和一个输出数据流,
展开阅读全文