第二讲可行性研究与需求分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 104
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功