《软件计划与可行性研究分析报告.ppt》由会员分享,可在线阅读,更多相关《软件计划与可行性研究分析报告.ppt(106页珍藏版)》请在金锄头文库上搜索。
1、1,第二讲 可行性研究与需求分析,软件计划与可行性研究 软件系统需求分析,2,本章主要内容: 软件可行性的内容和步骤,软件需求分析的步骤:需求获取、分析建模、文档编,结构分析方法建立分析模型的描述工具及建立过程;同时给出文档编写规范与实例供学习参考。 本章重点:软件需求分析的任务与步骤;结构分析方法建立分析模型的描述工具及建立过程。 本章难点:结构分析方法建立分析模型的描述工具及建立过程。 基本要求:掌握基本概念(SA,SRS,DFD,DD)和SA方法,会写可行行分析报告,项目开发计划和软件需求说明书,3,2.1 软件计划与可行性研究,一、目的,确定软件项目是否能够开发?是否值得去开发? 输出
2、:可行性研究报告 成本效益分析 项目开发计划,4,对每种解决方法,可从以下三个方面分析研究每种解决方法的可行性。 1技术可行性 2经济可行性 3社会可行性,二、内容,5,1技术可行性 对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。 资源:已有的或可以获得的硬件、软件资源 现有技术人员的技术水平 已有的工作基础。,6,2经济可行性 进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发? 经济可行性:成本效益分析 公司经营长期策略 开发所需的成本和资源 潜在的市场前景,7,3社会可行性 要开发的项目是否存在任何侵犯、妨碍等
3、责任问题? 要开发项目的运行方式在用户组织内是否行得通? 现有管理制度、人员素质、操作方式是否可行?,8,1明确系统目标 2研究正在使用的系统 3设计新系统的概括的逻辑模型 4导出和评价各种方案 5推荐可行的方案 6编写可行性研究报告,三、可行性研究的具体步骤,9,五、可行性研究报告内容,1引言 2可行性研究前提 3对现有系统的分析 4所建议系统的技术可行性分析 5所建议系统的经济可行性分析 6社会因素的可行性分析 7其他可供选择方案 8结论意见。,10,1.引言 1.1 编写目的 阐明编写可行行研究报告的目的,指出读者对象 1.2 项目背景 包括:所建议开发软件的名称;项目的任务提出者、开发
4、者、用户等;项目与其它软件或系统的关系 1.3定义 项目中专门术语和缩写词的含义 1.4参考资料,11,2可行性研究前提 2.1 要求 列出建议开发软件的基本要求,如功能,性能,输入,输出,基本的数据流程和处理流程,安全保密要求,完成期限等 2.2目标 可包括:人力与设备费用的节省;处理速度的提高控制精度或生产能力的提高;管理信息服务的该进,人员工作效率的提高 2.3 条件、假定和限制 可包括经费来源和限制,法律政策方面的限制,环境限制,可利用的信息资源,12,2.4 可行性研究方法 2.5决定可性行的主要因素 3.对现有系统的分析 3.1 处理流程和数据流程 3.2工作负荷 3.3费用支出
5、3.4人员 3.5 设备 3.6局限性(现有系统存在的问题,为什么需要开发新的系统,13,4、所建议技术可行性分析 4.1对系统的简要描述 4.2处理流程和数据流程 4.3与现有系统比较的优越性 4.4采用建议系统可能带来的影响 4.5技术可行性评价,14,5.所建议系统经济可行性分析 5.1支出 (基建投资,其它一次性支出,经常性指出) 5.2效益 (一次性收益,经常性收益,不可定量收益) 5.3 收益投资比 5.4 投资回收周期 5.5敏感性分析,15,6.社会因素的可行性分析 6.1法律因素 6.2 用户使用可行性 7.其它可供选择的方案 8.结论意见 可能是:可着手组织开发;待若干条件
6、成熟后开发;要修改目标;经济上不核算等,16,此外,在这个阶段还要写出“项目开发计划” 引言 项目概述 实施计划 人员组织分工 交付期限 专题计划要点,17,6.2 软件系统需求分析,需求分析概念 结构化分析方法 需求分析规格说明书的组成,18,1.什么是需求分析 是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。,一. 需求分析概念,19,软件开发是要实现目标系统的物理模型。需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统 “做什么” 的问题。,20,是要
7、准确地定义新系统的目标,满足用户需要。回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作:,(1) 分析人员和用户对问题识别,双方商定对问题的综合需求。 包括:功能需求、性能需求、环境需求和用户界面需求。 另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求. 这些需求一般通过双方交流、调查研究来获取,并达到共同的理解。,2. 需求分析的基本任务,21,(1) 分析人员和用户对问题识别,双方商定对问题的综合需求。 包括:功能需求、性能需求、环境需求和用户界面需求。 另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求.,22,(2) 分析与综合,导出软件的逻辑模型。
8、 分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。 包括:对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成分,并用图文结合的形式,建立起新系统的逻辑模型。,23,(3) 编写文档。 文档:需求规格说明书 初步用户使用手册 确认测试计划,24,常用的分析方法,面向数据流的结构化分析方法 (SA) 面向数据结构的Jackson方法 (JSD) 面向数据结构的结构化数据系统开发方法 (DSSD) 面向对象的分析方法 (OOA) 等,25,二. 结构化分析方法,结构化分析(Structured Analysis,简称 SA),是面向数据流进
9、行需求分析的方法。 SA是一种建模活动,该方法使用简单易读符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘出满足功能需求的软件模型。,26,SA方法利用图形等半形式化的描述方式表达需求,用它们形成需求说明书中的主要部分。 描述工具是: 1.数据流图(DFD) 2.描述加工逻辑的工具:结构化语言、判定表、判定树 3.数据字典 4.实体联系图(ER) 5.层次方框图,27,结构化分析方法最初只是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。 扩充后,将建模技术扩展到数据建模、功能建模和行为建模,以实体-关系图、数据流图和控制
10、流图、状态-迁移图为工具,数据字典为核心,从不同视点建立系统的分析模型。,28,结构化分析的分析模型,实体 关系图,状态迁移图,数据流图,数据对象描述,加工规格说明,数据 字典,控制规格说明,29,SA方法利用图形等半形式化的描述方式表达需求,用它们形成需求说明书中的主要部分。 描述工具是: 1.数据流图(DFD) 2.描述加工逻辑的工具:结构化语言、判定表、判定树 3.数据字典 4.实体联系图(ER) 5.层次方框图,30,1 数据流图(DFD),任何软件系统从根本上都是对数据的加工或变换的工具。当数据在软件系统中移动时,它将被一系列“变换”所修改。 (1)什么是数据流图 数据流图(DFD)
11、就是描述信息流和数据从移动到输出的过程中所经受的变换的图形化技术。,数据流图(Data Flow Diam),是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,在DFD图中出现的每个功能都会写在加工说明(Process Specification,PSPEC)中,它们一起构成功能模型。,31,它可表现的范围可大到整个系统,小到一个模块。在需求分析中常用一组DFD图由粗到精地表示同一软件在不同抽象级别上的功能,这就是分层数据流图,32,分层的数据流图,33,(2)数据流图的作用: 需求分析时,作为自顶向下的工具 描述系
12、统组成部分 为技术员、用户间交流提供有力方法,34,(3)数据流图组成,数据流图由数据流、加工(又称为数据处理)、数据存储(又称为文件)、数据源点或终点四种基本成分组成。,数据流: 加工: 数据存储: 数据源点、终点:,35,36,37,图2-4 描述银行取款过程的数据流图,【例2-1】 数据流图实例:银行取款过程,38,【例2-2】高校学生收费系统数据流图,39,【例2-3】考务处理系统的功能,(1) 对考生送来的报名单进行检查; (2) 对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站; (3) 对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格
13、者; (4) 制作考生通知单 (含成绩及合格/不合格标志) 送给考生; (5) 按地区进行成绩分类统计和试题难度分析,产生统计分析表。,40,根据考务处理业务,画出顶层数据流图,以反映最主要业务处理流程及系统与外界的关系。 经过分析,考务业务处理的主要功能应当有登记报名单、统计成绩两个主要数据流。输入的源点和输出终点是考生、考试中心和阅卷站。 然后从输入端开始,根据考务业务工作流,画出数据流流经的各加工框,逐步画到输出端,得到第 0 层数据流图。,41,42,43,44,45,基本加工逻辑说明,对数据流图的每一个基本加工,必须有一个基本加工逻辑说明 描述基本加工如何把输入数据流变换为输出数据流
14、的加工规则 描述实现加工的策略而不是实现加工的细节 包含的信息应是充足的,完备的,有用的,无冗余的,46,2、用于写加工逻辑说明的工具,结构化语言 判定表 判定树,47,(1)结构化语言,是一种介于自然语言和形式化语言之间的语言 由: 英语命令动词 数据词典中定义的名字 有限的自定义词 逻辑关系词 IF_THEN_ELSE、 CASE_OF 、 WHILE_DO、 REPEAT_UNTIL等组成。,48,其基本控制结构有三种: 简单陈述句结构:避免复合语句; 重复结构:while_do 或 repeat_until 结构。 判定结构:if_then_else 或 case_of 结构;,49,
15、【例2-3】商店业务处理系统中“检查发货单”,if 发货单金额超过$500 then if 欠款超过了60天 then 在偿还欠款前不予批准 else (欠款未超期) 发批准书,发货单 else (发货单金额未超过$500) if 欠款超过60天 then 发批准书,发货单及赊欠报告 else (欠款未超期) 发批准书,发货单,50,(2)判定表,如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适,51,以“检查发货单”为例,52,(3)判定树判定表的图形表示,判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。,53,(1)数据词典的概念 数据词典(Data
16、Dictionary,简称DD)就是用来定义数据流图中的各个成分的具体含义的。对数据流图中出现的每一个数据流、文件、加工给出详细定义。,(2) 数据字典组成 主要有四类条目: 数据流、数据项、数据存储、基本加工。 数据项是组成数据流和数据存储的最小元素。,3. 数据字典(DD),54,(3)数据字典词条内容表,数据项/ 数据流 /数据文件 名称: 别名: 取消及定义: 组成: 组织: 备注:,55,【例2-4】:计算机售书系统模型,56,售书系统数据流词条实例:发票,数据流名:发票 别名:购书发票 组成:学号+姓名+书号+单价+数量+总价+书费合计 备 注:,57,数据文件词条实例:各班学生用书表,文件名:各班学生用书表 别 名: 组 成:系编号+专业和班级编号+年级+书号 组 织:按系、专业和班编号从小到大排列 备 注:,58,【例