第二讲可行性研究与需求分析课件_第1页
第二讲可行性研究与需求分析课件_第2页
第二讲可行性研究与需求分析课件_第3页
第二讲可行性研究与需求分析课件_第4页
第二讲可行性研究与需求分析课件_第5页
已阅读5页,还剩205页未读 继续免费阅读

下载本文档

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

文档简介

第二讲可行性研究与需求分析软件计划与可行性研究软件系统需求分析1第二讲可行性研究与需求分析软件计划与可行性研究1本章主要内容:

软件可行性的内容和步骤,软件需求分析的步骤:需求获取、分析建模、文档编,结构分析方法建立分析模型的描述工具及建立过程;同时给出文档编写规范与实例供学习参考。本章重点:软件需求分析的任务与步骤;结构分析方法建立分析模型的描述工具及建立过程。本章难点:结构分析方法建立分析模型的描述工具及建立过程。基本要求:掌握基本概念(SA,SRS,DFD,DD)和SA方法,会写可行行分析报告,项目开发计划和软件需求说明书

2本章主要内容:

软件可行性的内容和步骤,软件需2.1软件计划与可行性研究一、目的确定软件项目是否能够开发?是否值得去开发?输出:可行性研究报告成本—效益分析项目开发计划

32.1软件计划与可行性研究一、目的确定软件项目是否能够开发

对每种解决方法,可从以下三个方面分析研究每种解决方法的可行性。1.技术可行性2.经济可行性3.社会可行性二、内容4对每种解决方法,可从以下三个方面分析研究每种解决方法的可1.技术可行性对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。资源:已有的或可以获得的硬件、软件资源现有技术人员的技术水平已有的工作基础。51.技术可行性52.经济可行性进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发?经济可行性:成本—效益分析公司经营长期策略开发所需的成本和资源潜在的市场前景62.经济可行性63.社会可行性要开发的项目是否存在任何侵犯、妨碍等责任问题?要开发项目的运行方式在用户组织内是否行得通?现有管理制度、人员素质、操作方式是否可行?73.社会可行性71.明确系统目标2.研究正在使用的系统3.设计新系统的概括的逻辑模型4.导出和评价各种方案5.推荐可行的方案6.编写可行性研究报告三、可行性研究的具体步骤81.明确系统目标三、可行性研究的具体步骤8五、可行性研究报告内容1.引言2.可行性研究前提3.对现有系统的分析4.所建议系统的技术可行性分析5.所建议系统的经济可行性分析6.社会因素的可行性分析7.其他可供选择方案8.结论意见。9五、可行性研究报告内容1.引言91.引言

1.1编写目的阐明编写可行行研究报告的目的,指出读者对象

1.2项目背景包括:所建议开发软件的名称;项目的任务提出者、开发者、用户等;项目与其它软件或系统的关系1.3定义项目中专门术语和缩写词的含义

1.4参考资料101.引言10

2.可行性研究前提2.1要求列出建议开发软件的基本要求,如功能,性能,输入,输出,基本的数据流程和处理流程,安全保密要求,完成期限等2.2目标可包括:人力与设备费用的节省;处理速度的提高控制精度或生产能力的提高;管理信息服务的该进,人员工作效率的提高2.3条件、假定和限制可包括经费来源和限制,法律政策方面的限制,环境限制,可利用的信息资源112.可行性研究前提112.4可行性研究方法2.5决定可性行的主要因素3.对现有系统的分析3.1处理流程和数据流程3.2工作负荷3.3费用支出3.4人员3.5设备3.6局限性(现有系统存在的问题,为什么需要开发新的系统122.4可行性研究方法124、所建议技术可行性分析4.1对系统的简要描述4.2处理流程和数据流程4.3与现有系统比较的优越性4.4采用建议系统可能带来的影响4.5技术可行性评价134、所建议技术可行性分析135.所建议系统经济可行性分析

5.1支出(基建投资,其它一次性支出,经常性指出)5.2效益(一次性收益,经常性收益,不可定量收益)5.3收益投资比5.4投资回收周期5.5敏感性分析145.所建议系统经济可行性分析146.社会因素的可行性分析6.1法律因素6.2用户使用可行性7.其它可供选择的方案8.结论意见可能是:可着手组织开发;待若干条件成熟后开发;要修改目标;经济上不核算等

156.社会因素的可行性分析15此外,在这个阶段还要写出“项目开发计划”引言项目概述实施计划人员组织分工交付期限专题计划要点16此外,在这个阶段还要写出“项目开发计划”166.2软件系统需求分析需求分析概念结构化分析方法需求分析规格说明书的组成176.2软件系统需求分析需求分析概念171.什么是需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。一.需求分析概念181.什么是需求分析一.需求分析概念18软件开发是要实现目标系统的物理模型。需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。目标系统当前系统物理模型逻辑模型模型化抽象化物理模型逻辑模型具体化实例化理解需求导出怎么做做什么19软件开发是要实现目标系统的物理模型。需求分析的任务就是借助于是要准确地定义新系统的目标,满足用户需要。回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作:(1)分析人员和用户对问题识别,双方商定对问题的综合需求。包括:功能需求、性能需求、环境需求和用户界面需求。另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求.

这些需求一般通过双方交流、调查研究来获取,并达到共同的理解。2.需求分析的基本任务20是要准确地定义新系统的目标,满足用户需要。回答系统必须“做什(1)分析人员和用户对问题识别,双方商定对问题的综合需求。包括:功能需求、性能需求、环境需求和用户界面需求。另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求.

21(1)分析人员和用户对问题识别,双方商定对问题的综合需求(2)分析与综合,导出软件的逻辑模型。

分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。包括:对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成分,并用图文结合的形式,建立起新系统的逻辑模型。22(2)分析与综合,导出软件的逻辑模型。22(3)编写文档。文档:需求规格说明书初步用户使用手册确认测试计划23(3)编写文档。23常用的分析方法面向数据流的结构化分析方法(SA)面向数据结构的Jackson方法(JSD)面向数据结构的结构化数据系统开发方法(DSSD)面向对象的分析方法(OOA)等24常用的分析方法面向数据流的结构化分析方法(SA)24二.结构化分析方法

结构化分析(StructuredAnalysis,简称SA),是面向数据流进行需求分析的方法。SA是一种建模活动,该方法使用简单易读符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘出满足功能需求的软件模型。25二.结构化分析方法结构化分析(StructuredA

SA方法利用图形等半形式化的描述方式表达需求,用它们形成需求说明书中的主要部分。描述工具是:1.数据流图(DFD)2.描述加工逻辑的工具:结构化语言、判定表、判定树3.数据字典4.实体-联系图(E-R)5.层次方框图26SA方法利用图形等半形式化的描述方式表达需求,用它们结构化分析方法最初只是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。扩充后,将建模技术扩展到数据建模、功能建模和行为建模,以实体-关系图、数据流图和控制流图、状态-迁移图为工具,数据字典为核心,从不同视点建立系统的分析模型。27结构化分析方法最初只是着眼于数据流,自顶向下,逐层分解,建立结构化分析的分析模型实体—关系图状态—迁移图数据流图数据对象描述加工规格说明数据字典控制规格说明28结构化分析的分析模型实体—状态—迁移图数据流图数据对象描述加

SA方法利用图形等半形式化的描述方式表达需求,用它们形成需求说明书中的主要部分。描述工具是:1.数据流图(DFD)2.描述加工逻辑的工具:结构化语言、判定表、判定树3.数据字典4.实体-联系图(E-R)5.层次方框图29SA方法利用图形等半形式化的描述方式表达需求,用它1数据流图(DFD)

任何软件系统从根本上都是对数据的加工或变换的工具。当数据在软件系统中移动时,它将被一系列“变换”所修改。(1)什么是数据流图数据流图(DFD)就是描述信息流和数据从移动到输出的过程中所经受的变换的图形化技术。

数据流图(DataFlowDiam),是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,在DFD图中出现的每个功能都会写在加工说明(ProcessSpecification,PSPEC)中,它们一起构成功能模型。301数据流图(DFD)任何软件系统从根本上它可表现的范围可大到整个系统,小到一个模块。在需求分析中常用一组DFD图由粗到精地表示同一软件在不同抽象级别上的功能,这就是分层数据流图31它可表现的范围可大到整个系统,小到一个模块。分层的数据流图32分层的数据流图32

(2)数据流图的作用:需求分析时,作为自顶向下的工具描述系统组成部分为技术员、用户间交流提供有力方法33(2)数据流图的作用:33(3)数据流图组成数据流图由数据流、加工(又称为数据处理)、数据存储(又称为文件)、数据源点或终点四种基本成分组成。数据流:加工:数据存储:数据源点、终点:34(3)数据流图组成数据流图由数据流、加工(又称为数据处理)加工1加工1加工1数据流1数据流2数据流3数据流6数据流5数据流4图2-1DFD基本形式数据流加工数据存储数据源和终点图2-2DFD的基本组成35加工1加工1加工1数据流1数据流2数据流3数据流6数据流5数有A则有B或C,或者两者都有有A则有B与C,两者同时有有A则有B或C,但不会两者同时有当A或B之一存在,就有C当A或B都存在才有CABC*ABC*ABC⊕ABCABC图2-3多个数据流加工符号36有A则有B或C,或者两者都有有A则有B与C,两者同时有有A图2-4描述银行取款过程的数据流图【例2-1】数据流图实例:银行取款过程37图2-4描述银行取款过程的数据流图【例2-1】数据流图2-5高校学生收费系统数据流图学生信息表单据交费发票学生学生审查开发票1开单据2交费申请休学通知资源信息表【例2-2】高校学生收费系统数据流图38图2-5高校学生收费系统数据流图学生信息表单交费学生学生审【例2-3】考务处理系统的功能(1)对考生送来的报名单进行检查;(2)对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站;(3)对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者;(4)制作考生通知单(含成绩及合格/不合格标志)送给考生;(5)按地区进行成绩分类统计和试题难度分析,产生统计分析表。39【例2-3】考务处理系统的功能(1)对考生送来的报名单进行根据考务处理业务,画出顶层数据流图,以反映最主要业务处理流程及系统与外界的关系。经过分析,考务业务处理的主要功能应当有登记报名单、统计成绩两个主要数据流。输入的源点和输出终点是考生、考试中心和阅卷站。然后从输入端开始,根据考务业务工作流,画出数据流流经的各加工框,逐步画到输出端,得到第0层数据流图。40根据考务处理业务,画出顶层数据流图,以反映最主要业务处理流程顶层数据流图考生考务处理系统考试中心阅卷站不合格报名表报名表准考证考生通知单成绩单合格标准错误成绩单考生名单统计分析表41顶层数据流图考考务考阅卷站不合格报名表报名表准考证考生通知单报名表准考证1登记报名表2统计成绩不合格报名表考生通知单成绩单统计分析表第0层数据流图考生名册合格标准考生名单错误成绩单42报名表准考证12不合格考生通知单成绩单统计分析表第0层数据流第一层数据流图(a)1.1

检查报名表报名表准考证1.2编准考证号码不合格报名表考生名册考生名单合格报名表1.3登记考生合格报名表43第一层数据流图(a)1.1报名表准考证1.2不合格考生名第一层数据流图(b)2.1检查成绩单2.2审定合格者考生名册正确成绩单2.3制作通知单2.4分析统计成绩2.5分析试题难度试题得分表考生通知单难度分析表合格标准分类统计表成绩单错误成绩单经审定的成绩单44第一层数据流图(b)2.12.2考生名册正确2.32.42基本加工逻辑说明

对数据流图的每一个基本加工,必须有一个基本加工逻辑说明描述基本加工如何把输入数据流变换为输出数据流的加工规则描述实现加工的策略而不是实现加工的细节包含的信息应是充足的,完备的,有用的,无冗余的45基本加工逻辑说明对数据流图的每一个基本加工,必须有一个基本2、用于写加工逻辑说明的工具结构化语言判定表判定树462、用于写加工逻辑说明的工具结构化语言46(1)结构化语言是一种介于自然语言和形式化语言之间的语言由:英语命令动词数据词典中定义的名字有限的自定义词逻辑关系词

IF_THEN_ELSE、CASE_OF、WHILE_DO、

REPEAT_UNTIL等组成。47(1)结构化语言是一种介于自然语言和形式化语言之间的语言47其基本控制结构有三种:简单陈述句结构:避免复合语句;重复结构:while_do

repeat_until结构。判定结构:if_then_else

case_of结构;4848【例2-3】商店业务处理系统中“检查发货单”if发货单金额超过$500then

if欠款超过了60天then在偿还欠款前不予批准

else

(欠款未超期)发批准书,发货单

else

(发货单金额未超过$500)

if欠款超过60天then发批准书,发货单及赊欠报告else

(欠款未超期)发批准书,发货单

49【例2-3】商店业务处理系统中“检查发货单”if发货单金额(2)判定表如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适条件定义条件取值的组合动作定义在各种取值的组合下应执行的动作50(2)判定表如果数据流图的加工需要依赖于多个逻辑条件的取值,以“检查发货单”为例51以“检查发货单”为例51(3)判定树—判定表的图形表示判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。检查发货单金额>$500金额$500欠款>60天不发出批准书欠款60天发货单发出批准书、欠款>60天发出批准书、发货单及赊欠报告欠款60天发出批准书、发货单52(3)判定树—判定表的图形表示判定树也是用来表达加工逻辑的一

(1)数据词典的概念数据词典(DataDictionary,简称DD)就是用来定义数据流图中的各个成分的具体含义的。对数据流图中出现的每一个数据流、文件、加工给出详细定义。(2)数据字典组成主要有四类条目:数据流、数据项、数据存储、基本加工。数据项是组成数据流和数据存储的最小元素。3.数据字典(DD)53(1)数据词典的概念(2)数据字典组成3.数据字典((3)数据字典词条内容表数据项/数据流/数据文件名称:别名:取消及定义:组成:组织:备注:54(3)数据字典词条内容表数据项/数据流/数据文件54【例2-4】:计算机售书系统模型

55【例2-4】:计算机售书系统模型55售书系统数据流词条实例:发票

数据流名:发票别名:购书发票组成:学号+姓名+{书号+单价+数量+总价}+书费合计备

注:56售书系统数据流词条实例:发票数据流名:发票56数据文件词条实例:各班学生用书表文件名:各班学生用书表别名:组成:{系编号+专业和班级编号+年级+{书号}}组织:按系、专业和班编号从小到大排列备注:57数据文件词条实例:各班学生用书表文件名:各班学生用书表57【例2.5】为例2-4文件“学生信息表”编写字典条目。解:“学生信息表”字典条目如下:文件名:学生信息表组成:系编号+专业编号+类别编号+班编号+年级+宿舍编号+用书记录编号组织:按系、专业、类别、班级从小到大排列备注:58【例2.5】为例2-4文件“学生信息表”编写字典条目。文件名

数据字典是关于数据的集合,也是对数据流图中包含的所有元素的定义的集合。它的作用是对软件中的每个数据规定一个定义条目,在软件分析和设计过程中提供相关数据的描述信息,以保持数据在系统中的一致性。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的定义放在一起,才能构成系统的规格说明59数据字典是关于数据的集合,也是对数据流图中包含的所4.实体-联系图(E-R)

为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念模型。概念模型是面向问题的数据模型,是按照用户的观点对数据建立模型。在需求分析模型建立过程中,使用实体-关系图(E-R图)来建立数据模型。它描述了从用户的角度看到的数据,反映了用户的现实环境,而与在软件系统中的实现方法无关。数据模型包含三种相互关联的信息:实体(数据对象)、属性及联系。604.实体-联系图(E-R)为了把用户的数据要求(1)实体

E-R图中的实体对应于客观世界中的存在的人或物,又称为数据对象。数据对象可以是外部实体(如产生或使用信息的任何事物),行为(如开发票)、角色(如学生、教师),单位(如计算机系、会计科),结构(如文件)等,是由一组属性来描述的实体。实体之间是相互联系的,与其它实体没有联系的实体是没有意义的。在E-R图中通常用矩形框表示实体。61(1)实体61(2)属性

属性定义了实体的性质,实体可以由一个或多个属性定义为“标识符”,用来区分不同的实体。根据对所要解决的问题的理解来确定属性。如要开发高校学生收费系统,描述学生可以用学号、姓名、性别、入学日期、所在系别、学生类别、所在班级等属性。常用二维表的形式表示相关属性在E-R图中通常用椭圆形或圆角矩形表示属性。62(2)属性62(3)联系客观世界中的事物是相互联系的。如学生与教师存在教与被教、系与学生的管理与被管理的联系。这种联系有三种不同的类型:一对一(如院长与学院的联系)、一对多(如系与学生的联系)和多对多(学生与课程间的联系)。在E-R图中通常用连接相关实体的菱形框表示联系。如下图给出三种联系的示意图:63(3)联系63院长管理学院111:1联系图2-6E-R模型中的三种联系系管理学生1M1:M联系学生授课课程MNM:N联系64院长管理学院111:1联系图2-6E-R模型中的三种联系系5.层次方框图

层次方框图是用结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。

655.层次方框图层次方框图是用结构的一系列多层次的矩

随着结构的精细化,层次方框图对数据结构描绘得越来越详细,这种非常适合于需求分析阶段的需要。系统分析员从对顶层信息的分类开始,沿图中每条路径反复细化,直到确定数据结构的全部细节为止。见例2.6:用层次方框图描述某计算机公司全部产品的数据结构。66随着结构的精细化,层次方框图对数据结构描绘得图2-6层次方框图实例软件硬件服务处理机存储器外部设备培训硬件编修软件服务产品操作系统编译程序软件工具系统软件应用软件67图2-6层次方框图实例软件硬件服务处理机存储器外部设备培训三、结构化分析方法的步骤概念画出分层数据流图确定数据定义与加工策略复审68三、结构化分析方法的步骤概念681.概念结构化分析方法(SA)是面向数据流进行需求分析的方法,是20世纪70年代末提出并发展,适合于数据处理类型软件的需求分析方法。具体来说,结构化分析方法就是按照功能分解的原则,根据软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足所有功能要求的可实现的逻辑模型为止。691.概念692.结构分析方法主要工具:数据流图、数据字典、结构化语言、判定表与判定树等几个工具。3.主要步骤为:

由顶向下对系统进行功能分解,画出分层数据流图;由后向前定义系统的数据和加工,确定加工策略和形成数据字典,编写需求说明书;进行需求分析复审。702.结构分析方法主要工具:703.画出分层数据流图

从系统的基本模型,逐层地对系统进行分解。每分解一次,系统的加工数量就会增多一些,每个加工的功能也就更具体一些。继续重复分解,直到所有的加工都足够简单,不必再分解为止。这种不需要再分解的加工就是我们常说的“基本加工”。通过这种分解,对所分析的系统将获得一组分层次的数据流图,用以代替一张含有系统全部加工的总数据流图。具体步骤如下:713.画出分层数据流图从系统的基本模型,逐层地具体步骤画出系统的输入与输出画出系统的内部对图和加工编号检查复审72具体步骤画出系统的输入与输出72①画出系统的输入与输出

把整个系统看成是一个加工,根据系统从外界的哪些源点接受哪些数据流,以及系统的哪些数据流送到外界的哪些汇点,画出系统的输入和输出图。这张图称为顶层图。73①画出系统的输入与输出把整个系统看成是一个加工,根据系②画出系统的内部将顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图中的输入数据流经一连串的加工处理后变换成顶层的输出数据流,这张图称为0层图。从一个加工画出一张数据流图的过程就是对这个加工的分解过程。加工方法如下:74②画出系统的内部将顶层图的加工分解成若干个加工,并在数据流的组成或值发生变化的地方画一个加工,这个加工功能就是实现这一变化;也可以根据系统的功能确定加工。当用户把若干数据看作一个单位来处理(这些数据一起到达,一起加工)时,可把这些数据看成一个数据流。通常可以把实际工作中的单据作为一个数据流。对于一些以后某个时间要使用的数据可以组织为一个文件75在数据流的组成或值发生变化的地方画一个加工,这个加工功能就是③对图和加工编号

父图与子图假定分层数据流图里的某张图(图A)中的某个加工可用另一张图(图B)来分解,我们称图A是图B的父图,图B称为图A的子图。在一张图中,有些加工需要进一步分解,有些加工则不必分解。因此,如果父图中有n个加工,那么它可以有0至n张子图(这些子图位于同一层),但每张子图仅有唯一的父图与之对应。76③对图和加工编号父图与子图假定分层数据流图里的某张图(图编号

顶层图只能一张,图中的加工只有一个,不必编号;0层图只有一张,图中的加工号分别是0.1、0.2,…或者1,2,….;子图号就是父图中被分解的加工号;子图中的加工号由子图号、圆点、序号组成。如某图中的某加工号为2.4.2,这个加工分解出来的子图号就是图2.4.2,子图中的加工号分别为2.4.2.1、2.4.2.2等。77编号77④检查复审对系统的分层数据流图画出后,可根据以下需要注意的要点检查复审,来保证分层数据流图的合理准确性:命名、加工、文件、保持父图与子图的平衡、保持数据守恒、分解的速度适当。78④检查复审对系统的分层数据流图画出后,可根据以下需要注意的例2.7

用结构化方法为高校学生收费系统画出分层的数据流图(为了比较清楚地说明画出分层流图,我们在这里只取本系统的一个子系统教材购销系统)。

79例2.7用结构化方法为高校学生收费系统

该子系统有如下功能:根据学校的教学计划,向选课的学生及时供应教材;审查学生购书单的有效性,对有效书单发售所需的教材;对属于计划供应但暂时缺货的教材进行缺书登记。根据缺书登记补充采购所缺的教材,通知学生补购;将缺书登记表汇总为待购计划;待购教材到货后,及时通知学生补购。分析图见图2-20、图2-21、图2-22。80该子系统有如下功能:80购书单学生学生教材购销系统进书通知领书单缺书单图2-20教材购销系统的顶层DFD81购书单学生学生教材购销系统进书通知领书单缺书单图2-20教进书通知购书单进书通知领书单缺书单图2-21教材购销系统的0层DFD学生学生1销售2采购F2缺书登记表F1教材存量表82进书通知购书单进书通知领书单缺书单图2-21教材购销系统的发票发票暂缺书单领书单有效购书单无效书单进书通知购书单图2-22教材购销系统的1层DFD-销售子系统学生学生F2缺书登记表F1教材存量表1.5登记缺书F4售书登记表F3学生用书表1.6产生补书单1.1审查有效性1.2开发票1.3打印发票1.4登记售书打印书单采购补售书单83发票发票暂缺书单领书单有效无效书单进书通知购书单图2-22三、软件需求说明(SRS)

软件需求说明(SRSSoftwareRequirementSpecification,又称软件规格说明书)是系统分析人员在需求分析阶段需要完成的文档,是软件需求分析的最终结果。它的作用主要是:作为软件人员与用户之间事实上的技术合同说明;作为软件人员下一步进行设计和编码的基础;作为测试和验收的依据。84三、软件需求说明(SRS)软件需求说明(

SRS必须用统一格式的文档进行描述,为了使需求分析描述具有统一的风格,可以采用已有的且能满足项目需要的模板,如中国国家标准推荐标准GB9385中描述的SRS模板,也可以根据项目特点和软件开发小组的特点对标准进行适当的改动,形成自己的模板。软件需求说明主要内容包括:引言、任务概述、数据描述需求规定、运行环境规定、附录等几部分。85SRS必须用统一格式的文档进行描述,为了使需1.引言编写目的:阐明编写需求说明书的目的,指出预期的读者范围。项目背景:待开发的项目名称及项目的开发目的;与项目的应用相关的利益目的及最终目标;项目的委托、开发单位和主管部门;该软件系统与其他系统的关系。定义:列出文档中所用到的专门术语的定义和缩写词的原义。参考资料:包括项目经核准的计划任务书、合同或上级机关的批文;项目开发计划;文档所引用的资料、标准和规范。开出这些资料的作者、编号、发表日期、出自单位或资料来源。861.引言编写目的:阐明编写需求说明书的目的,指出预期的读者范2.任务概述产品概述:描述开发意图、应用目标、作用范围、应向读者说明的有关该项目的开发背景。用户特点:列出本软件最终用户的特点,说明操作人员、维护人员的教育水平和技术水平。条件与限制:对设计系统时对开发者的条件与限制。872.任务概述产品概述:描述开发意图、应用目标、作用范围、应向3.数据描述静态数据动态数据数据库描述数据字典数据采集883.数据描述884.需求规定对功能的规定:包括内部及外部功能的规定(功能划分和功能描述)对性能的规定:包括对精度、时间要求、灵活性、适应性等的规定。对输入输出的规定:包括所有输入输出数据、引用接口及接口控制文件、操作员控制的详细描述。数据管理的规定:包括静态数据、动态数据、数据库、数据字典、数据采集的详细描述。其他专门要求:如安全保密性、可使用性、可维护性、可移植性等。

894.需求规定对功能的规定:包括内部及外部功能的规定(功能划5.运行环境规定用户界面:如屏幕格式、报表格式、菜单格式、输入输出时间等。硬件接口:对系统硬件的要求描述。软件接口:支持软件描述。故障处理905.运行环境规定用户界面:如屏幕格式、报表格式、菜单格式、6.附录实际的需求说明最好有附录,主要可以描述如格式样本、成本分析、用户调查结果、项目解决的问题描述、特殊的要求等相关信息。如果包含附录,必须指明是不是需求要考虑的部分。916.附录实际的需求说明最好有附录,主要可以描述如格式样本、医院计算机监护系统需求说明1.引言医院做为一个与人民生命健康密切相关的重要机构,势必要在各方面实现信息化,与此同时,对医疗卫生的要求也越来越高。以方便医护人员更好的了解病人的情况,给病人提供及时的治疗。本系统就是针对这方面的迫切需求而设计实现的。1.1编写目的此文档作为用户对即将开发的软件的功能要求,是软件设计和开发者的主要依据。1.2项目背景项目名称:医院计算机监护系统项目委托单位:××市医院软件开发单位:××学院计算机系计××班软件开发组需求分析案例92医院计算机监护系统需求说明需求分析案例922.任务描述2.1目标

本系统要求能够监护系统要随时接受每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息;此外,护士在需要时还可以要求系统打印出某个病人的病情报告。本软件系统要求安全、可靠(具有出错处理能力)、准确。2.2运行环境

本系统是基于C/S模式的采用Delphi实现的管理信息系统(ManagementInformationSystem)。数据库服务器由Oracle9实现。操作系统:WINDOWS2000AdvanceServer;数据库服务器端软件ORACLE9I。932.任务描述933.数据描述(1)数据流程图查询病人信息记录病人情况医院计算机监护系统传感器护士打印报告护士患者日志输入:输出:输入病人生理信号发出报警信号查询结果943.数据描述查询病人信息记录病人情况医院计算机监护系统传感器(2)医院监护系统中所要处理的表单:①“生理信号”表格:生理信号ID、生理信号名称、备注②“患者表格”表格:患者ID、患者姓名、患者性别、住址、联系电话、患病名称、入院日期、状态(已出院、住院)、备注③“患者日志”表格:患者ID、日期、生理信号ID、值、备注④“患者生理信号安全范围表”表格:患者ID、生理信号ID、安全范围、备注95(2)医院监护系统中所要处理的表单:954.需求规定(1)功能划分本系统由“生理信号输入控制子系统”、“病人基本信息管理子系统”、“警报子系统”、“病人病情管理子系统”组成。生理信号输入控制子系统包含2个功能模块:“生理信号输入管理”、“定时时间调节”。病人基本信息管理子系统包含3个功能模块:“病人信息输入”、“病人信息修改”、“病人信息查询”。警报子系统包含2个功能模块:“生理信号安全范围控制”、“警报”。病人病情管理子系统包含2个功能模块:“病情查询”、“病情报告打印”964.需求规定96(2)功能描述(应该每个系统画出流程图)生理信号输入管理模块:通过连接在病人身上的传感器,根据传感器的值将生理信号输入系统定时时间调节处理:通过系统,管理人员(医护人员)可以按需要输入定时采样的时间。病人信息输入模块:工作人员可以将病人的基本信息(患者姓名、患者性别、住址、联系电话、患病名称、入院日期、状态(已出院、住院)、备注)输入系统。病人信息修改管理模块:对病人的基本信息(患者姓名、患者性别、住址、联系电话、患病名称、入院日期、状态(已出院、住院)、备注)进行修改。病人信息查询模块:对病人的基本信息(患者姓名、患者性别、住址、联系电话、患病名称、入院日期、状态(已出院、住院)、备注)进行查询。生理信号安全范围控制模块:对各个病人的生理信号的安全范围进行输入、修改、查询。警报模块:对超过设定安全范围的病人及时通知医护人员。病情查询模块:可以对这一段时间的病人病情进行查询病情报告打印模块:可以对查询得的病人病情打印出病情报告97(2)功能描述(应该每个系统画出流程图)97(3)组织机构调查98(3)组织机构调查98(4)总体流程图99(4)总体流程图99(5)业务需求调查

数据流程图100(5)业务需求调查100实体初步描述(数据字典)1) 在对业务流程图和数据流程图进行详细分析的基础上,找出其中的实体。实体名称:病人生理信号、患者日志。2) 实体描述方式。病人生理信号:包括生理信号ID、生理信号名称、备注患者日志:包括患者ID、日期、生理信号ID、值、备注101实体初步描述(数据字典)101数据流程图102数据流程图102警报子系统业务流程图103警报子系统业务流程图103病人病情管理子系统业务流程图104病人病情管理子系统业务流程图104数据流程图105数据流程图1055.对新系统的环境要求调查(运行环境规定)

基本要求简要描述该系统所运行的环境,如果运行环境未确定,应写出建议环境(1) 体系结构:Client/Server或Multi-tireC/S(2) 操作系统windows系列(3)数据库管理系统Oracle9i(4)开发工具Delphi7.0软件需求:操作系统WINDOWS2000AdvanceServer以上;数据库服务器端软件ORACLE9I,Delphi7.0。硬件需求:10M以上的LAN接入网络带宽,P43.0GXeonCPU/1G内存/360G(10K)SCSI硬盘的服务器,P3以上微机(带网卡)的客户机,P43.0GXeonCPU/1G内存/36G(10K)RAID硬盘的数据库服务器适应性本系统只适合于windows系列操作系统1065.对新系统的环境要求调查(运行环境规定)

基本要求106演讲完毕,谢谢观看!演讲完毕,谢谢观看!第二讲可行性研究与需求分析软件计划与可行性研究软件系统需求分析108第二讲可行性研究与需求分析软件计划与可行性研究1本章主要内容:

软件可行性的内容和步骤,软件需求分析的步骤:需求获取、分析建模、文档编,结构分析方法建立分析模型的描述工具及建立过程;同时给出文档编写规范与实例供学习参考。本章重点:软件需求分析的任务与步骤;结构分析方法建立分析模型的描述工具及建立过程。本章难点:结构分析方法建立分析模型的描述工具及建立过程。基本要求:掌握基本概念(SA,SRS,DFD,DD)和SA方法,会写可行行分析报告,项目开发计划和软件需求说明书

109本章主要内容:

软件可行性的内容和步骤,软件需2.1软件计划与可行性研究一、目的确定软件项目是否能够开发?是否值得去开发?输出:可行性研究报告成本—效益分析项目开发计划

1102.1软件计划与可行性研究一、目的确定软件项目是否能够开发

对每种解决方法,可从以下三个方面分析研究每种解决方法的可行性。1.技术可行性2.经济可行性3.社会可行性二、内容111对每种解决方法,可从以下三个方面分析研究每种解决方法的可1.技术可行性对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。资源:已有的或可以获得的硬件、软件资源现有技术人员的技术水平已有的工作基础。1121.技术可行性52.经济可行性进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发?经济可行性:成本—效益分析公司经营长期策略开发所需的成本和资源潜在的市场前景1132.经济可行性63.社会可行性要开发的项目是否存在任何侵犯、妨碍等责任问题?要开发项目的运行方式在用户组织内是否行得通?现有管理制度、人员素质、操作方式是否可行?1143.社会可行性71.明确系统目标2.研究正在使用的系统3.设计新系统的概括的逻辑模型4.导出和评价各种方案5.推荐可行的方案6.编写可行性研究报告三、可行性研究的具体步骤1151.明确系统目标三、可行性研究的具体步骤8五、可行性研究报告内容1.引言2.可行性研究前提3.对现有系统的分析4.所建议系统的技术可行性分析5.所建议系统的经济可行性分析6.社会因素的可行性分析7.其他可供选择方案8.结论意见。116五、可行性研究报告内容1.引言91.引言

1.1编写目的阐明编写可行行研究报告的目的,指出读者对象

1.2项目背景包括:所建议开发软件的名称;项目的任务提出者、开发者、用户等;项目与其它软件或系统的关系1.3定义项目中专门术语和缩写词的含义

1.4参考资料1171.引言10

2.可行性研究前提2.1要求列出建议开发软件的基本要求,如功能,性能,输入,输出,基本的数据流程和处理流程,安全保密要求,完成期限等2.2目标可包括:人力与设备费用的节省;处理速度的提高控制精度或生产能力的提高;管理信息服务的该进,人员工作效率的提高2.3条件、假定和限制可包括经费来源和限制,法律政策方面的限制,环境限制,可利用的信息资源1182.可行性研究前提112.4可行性研究方法2.5决定可性行的主要因素3.对现有系统的分析3.1处理流程和数据流程3.2工作负荷3.3费用支出3.4人员3.5设备3.6局限性(现有系统存在的问题,为什么需要开发新的系统1192.4可行性研究方法124、所建议技术可行性分析4.1对系统的简要描述4.2处理流程和数据流程4.3与现有系统比较的优越性4.4采用建议系统可能带来的影响4.5技术可行性评价1204、所建议技术可行性分析135.所建议系统经济可行性分析

5.1支出(基建投资,其它一次性支出,经常性指出)5.2效益(一次性收益,经常性收益,不可定量收益)5.3收益投资比5.4投资回收周期5.5敏感性分析1215.所建议系统经济可行性分析146.社会因素的可行性分析6.1法律因素6.2用户使用可行性7.其它可供选择的方案8.结论意见可能是:可着手组织开发;待若干条件成熟后开发;要修改目标;经济上不核算等

1226.社会因素的可行性分析15此外,在这个阶段还要写出“项目开发计划”引言项目概述实施计划人员组织分工交付期限专题计划要点123此外,在这个阶段还要写出“项目开发计划”166.2软件系统需求分析需求分析概念结构化分析方法需求分析规格说明书的组成1246.2软件系统需求分析需求分析概念171.什么是需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。一.需求分析概念1251.什么是需求分析一.需求分析概念18软件开发是要实现目标系统的物理模型。需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。目标系统当前系统物理模型逻辑模型模型化抽象化物理模型逻辑模型具体化实例化理解需求导出怎么做做什么126软件开发是要实现目标系统的物理模型。需求分析的任务就是借助于是要准确地定义新系统的目标,满足用户需要。回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作:(1)分析人员和用户对问题识别,双方商定对问题的综合需求。包括:功能需求、性能需求、环境需求和用户界面需求。另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求.

这些需求一般通过双方交流、调查研究来获取,并达到共同的理解。2.需求分析的基本任务127是要准确地定义新系统的目标,满足用户需要。回答系统必须“做什(1)分析人员和用户对问题识别,双方商定对问题的综合需求。包括:功能需求、性能需求、环境需求和用户界面需求。另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求.

128(1)分析人员和用户对问题识别,双方商定对问题的综合需求(2)分析与综合,导出软件的逻辑模型。

分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。包括:对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成分,并用图文结合的形式,建立起新系统的逻辑模型。129(2)分析与综合,导出软件的逻辑模型。22(3)编写文档。文档:需求规格说明书初步用户使用手册确认测试计划130(3)编写文档。23常用的分析方法面向数据流的结构化分析方法(SA)面向数据结构的Jackson方法(JSD)面向数据结构的结构化数据系统开发方法(DSSD)面向对象的分析方法(OOA)等131常用的分析方法面向数据流的结构化分析方法(SA)24二.结构化分析方法

结构化分析(StructuredAnalysis,简称SA),是面向数据流进行需求分析的方法。SA是一种建模活动,该方法使用简单易读符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘出满足功能需求的软件模型。132二.结构化分析方法结构化分析(StructuredA

SA方法利用图形等半形式化的描述方式表达需求,用它们形成需求说明书中的主要部分。描述工具是:1.数据流图(DFD)2.描述加工逻辑的工具:结构化语言、判定表、判定树3.数据字典4.实体-联系图(E-R)5.层次方框图133SA方法利用图形等半形式化的描述方式表达需求,用它们结构化分析方法最初只是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。扩充后,将建模技术扩展到数据建模、功能建模和行为建模,以实体-关系图、数据流图和控制流图、状态-迁移图为工具,数据字典为核心,从不同视点建立系统的分析模型。134结构化分析方法最初只是着眼于数据流,自顶向下,逐层分解,建立结构化分析的分析模型实体—关系图状态—迁移图数据流图数据对象描述加工规格说明数据字典控制规格说明135结构化分析的分析模型实体—状态—迁移图数据流图数据对象描述加

SA方法利用图形等半形式化的描述方式表达需求,用它们形成需求说明书中的主要部分。描述工具是:1.数据流图(DFD)2.描述加工逻辑的工具:结构化语言、判定表、判定树3.数据字典4.实体-联系图(E-R)5.层次方框图136SA方法利用图形等半形式化的描述方式表达需求,用它1数据流图(DFD)

任何软件系统从根本上都是对数据的加工或变换的工具。当数据在软件系统中移动时,它将被一系列“变换”所修改。(1)什么是数据流图数据流图(DFD)就是描述信息流和数据从移动到输出的过程中所经受的变换的图形化技术。

数据流图(DataFlowDiam),是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,在DFD图中出现的每个功能都会写在加工说明(ProcessSpecification,PSPEC)中,它们一起构成功能模型。1371数据流图(DFD)任何软件系统从根本上它可表现的范围可大到整个系统,小到一个模块。在需求分析中常用一组DFD图由粗到精地表示同一软件在不同抽象级别上的功能,这就是分层数据流图138它可表现的范围可大到整个系统,小到一个模块。分层的数据流图139分层的数据流图32

(2)数据流图的作用:需求分析时,作为自顶向下的工具描述系统组成部分为技术员、用户间交流提供有力方法140(2)数据流图的作用:33(3)数据流图组成数据流图由数据流、加工(又称为数据处理)、数据存储(又称为文件)、数据源点或终点四种基本成分组成。数据流:加工:数据存储:数据源点、终点:141(3)数据流图组成数据流图由数据流、加工(又称为数据处理)加工1加工1加工1数据流1数据流2数据流3数据流6数据流5数据流4图2-1DFD基本形式数据流加工数据存储数据源和终点图2-2DFD的基本组成142加工1加工1加工1数据流1数据流2数据流3数据流6数据流5数有A则有B或C,或者两者都有有A则有B与C,两者同时有有A则有B或C,但不会两者同时有当A或B之一存在,就有C当A或B都存在才有CABC*ABC*ABC⊕ABCABC图2-3多个数据流加工符号143有A则有B或C,或者两者都有有A则有B与C,两者同时有有A图2-4描述银行取款过程的数据流图【例2-1】数据流图实例:银行取款过程144图2-4描述银行取款过程的数据流图【例2-1】数据流图2-5高校学生收费系统数据流图学生信息表单据交费发票学生学生审查开发票1开单据2交费申请休学通知资源信息表【例2-2】高校学生收费系统数据流图145图2-5高校学生收费系统数据流图学生信息表单交费学生学生审【例2-3】考务处理系统的功能(1)对考生送来的报名单进行检查;(2)对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站;(3)对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者;(4)制作考生通知单(含成绩及合格/不合格标志)送给考生;(5)按地区进行成绩分类统计和试题难度分析,产生统计分析表。146【例2-3】考务处理系统的功能(1)对考生送来的报名单进行根据考务处理业务,画出顶层数据流图,以反映最主要业务处理流程及系统与外界的关系。经过分析,考务业务处理的主要功能应当有登记报名单、统计成绩两个主要数据流。输入的源点和输出终点是考生、考试中心和阅卷站。然后从输入端开始,根据考务业务工作流,画出数据流流经的各加工框,逐步画到输出端,得到第0层数据流图。147根据考务处理业务,画出顶层数据流图,以反映最主要业务处理流程顶层数据流图考生考务处理系统考试中心阅卷站不合格报名表报名表准考证考生通知单成绩单合格标准错误成绩单考生名单统计分析表148顶层数据流图考考务考阅卷站不合格报名表报名表准考证考生通知单报名表准考证1登记报名表2统计成绩不合格报名表考生通知单成绩单统计分析表第0层数据流图考生名册合格标准考生名单错误成绩单149报名表准考证12不合格考生通知单成绩单统计分析表第0层数据流第一层数据流图(a)1.1

检查报名表报名表准考证1.2编准考证号码不合格报名表考生名册考生名单合格报名表1.3登记考生合格报名表150第一层数据流图(a)1.1报名表准考证1.2不合格考生名第一层数据流图(b)2.1检查成绩单2.2审定合格者考生名册正确成绩单2.3制作通知单2.4分析统计成绩2.5分析试题难度试题得分表考生通知单难度分析表合格标准分类统计表成绩单错误成绩单经审定的成绩单151第一层数据流图(b)2.12.2考生名册正确2.32.42基本加工逻辑说明

对数据流图的每一个基本加工,必须有一个基本加工逻辑说明描述基本加工如何把输入数据流变换为输出数据流的加工规则描述实现加工的策略而不是实现加工的细节包含的信息应是充足的,完备的,有用的,无冗余的152基本加工逻辑说明对数据流图的每一个基本加工,必须有一个基本2、用于写加工逻辑说明的工具结构化语言判定表判定树1532、用于写加工逻辑说明的工具结构化语言46(1)结构化语言是一种介于自然语言和形式化语言之间的语言由:英语命令动词数据词典中定义的名字有限的自定义词逻辑关系词

IF_THEN_ELSE、CASE_OF、WHILE_DO、

REPEAT_UNTIL等组成。154(1)结构化语言是一种介于自然语言和形式化语言之间的语言47其基本控制结构有三种:简单陈述句结构:避免复合语句;重复结构:while_do

repeat_until结构。判定结构:if_then_else

case_of结构;15548【例2-3】商店业务处理系统中“检查发货单”if发货单金额超过$500then

if欠款超过了60天then在偿还欠款前不予批准

else

(欠款未超期)发批准书,发货单

else

(发货单金额未超过$500)

if欠款超过60天then发批准书,发货单及赊欠报告else

(欠款未超期)发批准书,发货单

156【例2-3】商店业务处理系统中“检查发货单”if发货单金额(2)判定表如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适条件定义条件取值的组合动作定义在各种取值的组合下应执行的动作157(2)判定表如果数据流图的加工需要依赖于多个逻辑条件的取值,以“检查发货单”为例158以“检查发货单”为例51(3)判定树—判定表的图形表示判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。检查发货单金额>$500金额$500欠款>60天不发出批准书欠款60天发货单发出批准书、欠款>60天发出批准书、发货单及赊欠报告欠款60天发出批准书、发货单159(3)判定树—判定表的图形表示判定树也是用来表达加工逻辑的一

(1)数据词典的概念数据词典(DataDictionary,简称DD)就是用来定义数据流图中的各个成分的具体含义的。对数据流图中出现的每一个数据流、文件、加工给出详细定义。(2)数据字典组成主要有四类条目:数据流、数据项、数据存储、基本加工。数据项是组成数据流和数据存储的最小元素。3.数据字典(DD)160(1)数据词典的概念(2)数据字典组成3.数据字典((3)数据字典词条内容表数据项/数据流/数据文件名称:别名:取消及定义:组成:组织:备注:161(3)数据字典词条内容表数据项/数据流/数据文件54【例2-4】:计算机售书系统模型

162【例2-4】:计算机售书系统模型55售书系统数据流词条实例:发票

数据流名:发票别名:购书发票组成:学号+姓名+{书号+单价+数量+总价}+书费合计备

注:163售书系统数据流词条实例:发票数据流名:发票56数据文件词条实例:各班学生用书表文件名:各班学生用书表别名:组成:{系编号+专业和班级编号+年级+{书号}}组织:按系、专业和班编号从小到大排列备注:164数据文件词条实例:各班学生用书表文件名:各班学生用书表57【例2.5】为例2-4文件“学生信息表”编写字典条目。解:“学生信息表”字典条目如下:文件名:学生信息表组成:系编号+专业编号+类别编号+班编号+年级+宿舍编号+用书记录编号组织:按系、专业、类别、班级从小到大排列备注:165【例2.5】为例2-4文件“学生信息表”编写字典条目。文件名

数据字典是关于数据的集合,也是对数据流图中包含的所有元素的定义的集合。它的作用是对软件中的每个数据规定一个定义条目,在软件分析和设计过程中提供相关数据的描述信息,以保持数据在系统中的一致性。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的定义放在一起,才能构成系统的规格说明166数据字典是关于数据的集合,也是对数据流图中包含的所4.实体-联系图(E-R)

为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念模型。概念模型是面向问题的数据模型,是按照用户的观点对数据建立模型。在需求分析模型建立过程中,使用实体-关系图(E-R图)来建立数据模型。它描述了从用户的角度看到的数据,反映了用户的现实环境,而与在软件系统中的实现方法无关。数据模型包含三种相互关联的信息:实体(数据对象)、属性及联系。1674.实体-联系图(E-R)为了把用户的数据要求(1)实体

E-R图中的实体对应于客观世界中的存在的人或物,又称为数据对象。数据对象可以是外部实体(如产生或使用信息的任何事物),行为(如开发票)、角色(如学生、教师),单位(如计算机系、会计科),结构(如文件)等,是由一组属性来描述的实体。实体之间是相互联系的,与其它实体没有联系的实体是没有意义的。在E-R图中通常用矩形框表示实体。168(1)实体61(2)属性

属性定义了实体的性质,实体可以由一个或多个属性定义为“标识符”,用来区分不同的实体。根据对所要解决的问题的理解来确定属性。如要开发高校学生收费系统,描述学生可以用学号、姓名、性别、入学日期、所在系别、学生类别、所在班级等属性。常用二维表的形式表示相关属性在E-R图中通常用椭圆形或圆角矩形表示属性。169(2)属性62(3)联系客观世界中的事物是相互联系的。如学生与教师存在教与被教、系与学生的管理与被管理的联系。这种联系有三种不同的类型:一对一(如院长与学院的联系)、一对多(如系与学生的联系)和多对多(学生与课程间的联系)。在E-R图中通常用连接相关实体的菱形框表示联系。如下图给出三种联系的示意图:170(3)联系63院长管理学院111:1联系图2-6E-R模型中的三种联系系管理学生1M1:M联系学生授课课程MNM:N联系171院长管理学院111:1联系图2-6E-R模型中的三种联系系5.层次方框图

层次方框图是用结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。

1725.层次方框图层次方框图是用结构的一系列多层次的矩

随着结构的精细化,层次方框图对数据结构描绘得越来越详细,这种非常适合于需求分析阶段的需要。系统分析员从对顶层信息的分类开始,沿图中每条路径反复细化,直到确定数据结构的全部细节为止。见例2.6:用层次方框图描述某计算机公司全部产品的数据结构。173随着结构的精细化,层次方框图对数据结构描绘得图2-6层次方框图实例软件硬件服务处理机存储器外部设备培训硬件编修软件服务产品操作系统编译程序软件工具系统软件应用软件174图2-6层次方框图实例软件硬件服务处理机存储器外部设备培训三、结构化分析方法的步骤概念画出分层数据流图确定数据定义与加工策略复审175三、结构化分析方法的步骤概念681.概念结构化分析方法(SA)是面向数据流进行需求分析的方法,是20世纪70年代末提出并发展,适合于数据处理类型软件的需求分析方法。具体来说,结构化分析方法就是按照功能分解的原则,根据软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足所有功能要求的可实现的逻辑模型为止。1761.概念692.结构分析方法主要工具:数据流图、数据字典、结构化语言、判定表与判定树等几个工具。3.主要步骤为:

由顶向下对系统进行功能分解,画出分层数据流图;由后向前定义系统的数据和加工,确定加工策略和形成数据字典,编写需求说明书;进行需求分析复审。1772.结构分析方法主要工具:703.画出分层数据流图

从系统的基本模型,逐层地对系统进行分解。每分解一次,系统的加工数量就会增多一些,每个加工的功能也就更具体一些。继续重复分解,直到所有的加工都足够简单,不必再分解为止。这种不需要再分解的加工就是我们常说的“基本加工”。通过这种分解,对所分析的系统将获得一组分层次的数据流图,用以代替一张含有系统全部加工的总数据流图。具体步骤如下:1783.画出分层数据流图从系统的基本模型,逐层地具体步骤画出系统的输入与输出画出系统的内部对图和加工编号检查复审179具体步骤画出系统的输入与输出72①画出系统的输入与输出

把整个系统看成是一个加工,根据系统从外界的哪些源点接受哪些数据流,以及系统的哪些数据流送到外界的哪些汇点,画出系统的输入和输出图。这张图称为顶层图。180①画出系统的输入与输出把整个系统看成是一个加工,根据系②画出系统的内部将顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图中的输入数据流经一连串的加工处理后变换成顶层的输出数据流,

温馨提示

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

评论

0/150

提交评论