1、,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,复习,可行性分析,软件需求的定义,需求分析概念,需求分析过程,需求分析方法,需求分析产品,描述工具,实体,-,关系图,数据流图,(,Data Flow,Diagram,,简称,DFD),控制流图,(,Control Flow,Diagram,,简称,CFD),状态转换图(,State,Transition,diagram,,简称,STD,),数据字典,(Data Dictionary,,简称,DD),处理说明,分析模型的结构,实体,关系图,状态,迁移图,数据流,图,数据对象描述,加工规格说明,数据,字典,
2、控制规格说明,2.3,实体,-,关系图,数据模型包含,3,种,相互关联的信息:数据对象、描述数据对象的属性及数据对象彼此间相互连接的关系,1,数据对象,数据实体,是必须被软件理解的复合信息的表示,2,属性,数据对象的特征,3,关系,三种,关系也可能是属性,三种基本成分的表示方法,eg.,数据和控制模型的关系,过程模型,PSPEC,DFD,控制模型,CSPEC,CFD,控制输入,数据输出,控制输出,数据输入,数据条件,过程启动,数据流图,:,DFD,(,Data Flow Diagram,),数据流图是用来描述系统逻辑模型的一种图形工具,数据流图从数据传递和加工的角度,以图形的方式刻画,数据流从
3、输入到输出,的移动变换过程,为了让用户明确系统中数据的流动和处理情况,即系统的基本逻辑功能,数据流图图符 图,2-2,2.1,打印,数据流,Data Flow,加工处理,Process,外部实体,External Entity,数据存储,Data Store,数据流图图符说明,数据流:箭头表示数据流方向。一般在,旁边标注数据流名,。,加工处理:对数据进行加工、处理和变换,从而实现某个功能或操作,外部实体:表示要加工处理的数据是从外部得到或从外部提供,同时也是数据结果的接收者,可以是,人、组织、其它系统,数据存储:表示处理过程中存放各种数据的文件,数据流图的层次结构,为了表达数据处理过程的数据加
4、工情况,需要采用,层次结构,的数据流图。,按照系统的层次结构进行,逐步分解,,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统,建立,DFD,的步骤,由外向里:,先画系统的,输入输出,,然后画,系统,的,内部,,再画,处理,的内部。,由顶向下:,顶层、各层、总,的数据流图,数据流图的层次,顶层,DFD,用一个加工处理表示软件,含所有相关外部实体,含外部实体与软件中间的数据流,可不含数据存储,唯一,描述软件的作用范围,对总体功能、输入、输出进行抽象描述,反映软件和系统、环境的关系,A,B,C,软件,a,b,c,d,顶层数据流图,软件,系统,外部实体,外部实体,外部实体,外部实体
5、,输入,数据流,输入,数据流,输出,数据流,输出,数据流,中间和底层,DFD,2.1,aaa,2.2,bbb,2.3,ccc,ddd,数据,分层的数据流图,F0,A0,B0,F11,A0,B0,F12,F13,F14,F15,p1,C1,D1,M1,N1,F21,M1,F22,N1,F23,K2,F24,W2,F25,p1,Y2,X2,第,n,层,第,n+1,层,第,n+2,层,数据流图的层次,在多层数据流图中,,顶层流图,仅包含,一个加工,,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据,底层流图,是指其,加工不需再做分解,的数据流图,它处在最底层,中间层流图,则表示
6、,对其上层父图的细化,。它的每一加工可能继续细化,形成子图。,数据流图中的其它图形元素,A,B,C,-,有,A,则,B,或者,C,,,或者,两者,都,有,*,A,B,C,+,A,B,C,-,有,A,则,B,与,C,,两者,同时,有,-,有,A,则,B,或,C,,但,不会同时,有,B,与,C,-,当,A,或,B,有一个存在,就有,C,A,B,C,*,A,B,C,-,只有当,A,与,B,都,存在,则有,C,DFD,规则和注意事项,数据存储之间不应该有数据流,仔细、恰当地为,处理,命名:处理,+,对象,仔细、恰当地为,数据流,命名:反映整体含义,对处理建立唯一、层次性,编号,每个处理,通常,要求既有
7、输入又有输出,一个,DFD,的,处理个数,为,72,不要试图让,DFD,反映处理的顺序,检查数据流图的正确性,a.,数据守恒,某个处理用以产生输出的数据没有输入给这个处理,即出现遗漏,另一种是一个处理的某些输入并没有在处理中使用以产生输出,b.,数据存储(文件)的使用,数据存储(文件)应被数据流图中的处理读和写,c.,父图和子图的平衡,父子关系和平衡规则,父图表示子图间的,接口,,即数据流的方向和数量,子图代表父图中某个处理的,细节,子图个数,不大于,父图中的处理个数,所有子图的,输入、输出数据流,和父图中相应处理的输入、输出数据流必须一致,父图和子图的平衡,发票,1.3,开领书单,领书单,(
8、a),父图,1.3.1,学生,领书单,1.3.2,1.3.3,教材,(,b),子图,遵守加工编号规则,顶层加工不编号,第二层的加工编号为,1,2,3,n,号,第三层编号为,1.1,1.2,1.3,n.1,n.2,等号,依此类推,人工销售教材 系统流程图,举,例,学生,开购书,证明,购书,证明,开购书,发票,发 票,收书费,领书单,发书,学生,学,生,教材,购,销,系统,购书单,领书单,缺书单,进书通知,进书通知,保,管员,1,销售,购书单,领书单,学,生,缺书单,进书通知,2,采购,保,管员,第,0,层,第,1,层,教材存量表,F1,缺书登记表,F2,外部实体,外部实体,教材销售子系统,无效书
9、单,购书单,1.3,登记并开,领书单,1.2,开发票,1.1,审查,有效性,1.4,登记,缺书,1.5,补售,教材,采,购,学,生,学,生,进书通知,有效书单,发票,领书单,暂缺书单,1,销售,购书单,领书单,缺书单,进书通知,2,采购,进书通知,缺书登记表,教材存量表,学,生,保,管员,第,1,层,补售,书单,第,2,层,教材存量表,F1,缺书登记表,F2,F1,书号,单价,数量,各班用书表,F3,售书登记表,F4,外部,项,1,销售,购书单,领书单,缺书单,进书通知,2,采购,进书通知,缺书登记表,教材存量表,学,生,保,管员,采购,子系统,第,1,层,第,2,层,缺书单,2.3,修改教材
10、库,存和待,购量,销,售,进书通知,进书通知,2.1,按书号汇,总缺书,2.2,按出版社统,计缺书,保,管员,教材存量表,F1,待购教材表,F5,教材一览表,F6,缺书登记表,F2,控制板,传感器,家庭,安全,软件,电话线,警 报,控制板显示,警报类型,传感器状态,用户命令和数据,显示数据,电话号码信号,家庭安全软件,与用户,交互,1,配置,系统,2,启,/,停,系统,3,显示消息状态,5,处理,口令,4,监控,系统,6,配置信息,用户命令和数据,配置请求,配置数据,启,/,停,口令,配置数据,配置数据,启,/,停消息,显示消息,传感器信息,有效标识消息,传感器状态,电话号码信号,警报类型,评
11、价防备设置,6.1,显示,格式化,6.2,生成警报信号,6.3,拨,电话,6.5,读,传感器,6.4,配置信息,传感器标识,类型,传感器状态,电话号码,配置数据,传感器标识,定位,警报数据,传感器信息,电话号码信号,控制流图(,CFD,),2.1,打印,控制流,Control Flow,加工处理,Process,外部实体,External Entity,数据存储,Data Store,控制说明,与用户,交互,1,配置,系统,2,启,/,停,系统,3,显示消息状态,5,处理,口令,4,监控,系统,6,配置信息,显示动作状态(完成、进行中),控制板,控制板显示,警 报,电话线,传感器,传感器事件,
12、闪烁标志,警报状态,时间溢出,警报信号,启,/,停开关,2.5,数据字典(,DD,),数据字典是对所有与系统相关的,数据元素,的一个有组织的,列表,,以及精确的、严格的,定义,,使得,用户和系统分析员,对于输入、输出、存储成分和中间计算结果有,共同的理解,。,数据字典把,不同的需求文档,和,分析模型,紧密结合在一起,数据字典的作用,DFD,中的数据流、数据存储表示某个有组织的数据集合,它们要由,SA,的其他描述工具,-,需求字典,(,数据字典,),来描述,,包括:,词条描述,数据结构描述,加工逻辑说明,数据字典的内容,DD,包含的信息,名称(标识),别名,使用地点与方式,组成(内容描述),流动
13、属性(频率、数据量),补充信息,数据的层次关系,原数据元素,组合项,重复项,选择项,可选项,数据字典基本符号,表示“等于”,“定义为”,“由什么构成”,表示“与”,“和”,|,表示“或”,即选择括号中用“,|,”,号分隔的各项中的某一项,表示“重复”,即括号中的项要重复若干次,重复次数的上下限也可以在括号边上标出,()表示“可选”,即括号中的项可以没有,*表示“注释”,(,1,)数据流词条描述,数据流名:,说明:简要介绍作用即它产生的原因和结果,数据流来源:来自何方,数据流去向:去向何处,数据流组成:数据结构,数据量流通量:数据量,流通量,举例:,购,书,单,发票,领书,单,审查并,开发票,开
14、领,书单,无效书单,学生,1,2,各班学生,用 书 表,学生,教材存量表,数据流词条说明举例,数据流名,:,发票,别名,:,小票,简述,:,学生购书时填写的项目,来源,:,学生,去向,:,加工,1“,审查并开发票”,组成,:,(,学号,),姓名书号数量,数据流量,:,1000,次,/,周,高峰值:,开学期间,1000,次,/,天,(2),数据元素词条描述,数据元素名:,类型:数字(离散值,连续值),文字(编码类型),长度:,取值范围:,相关的数据元素及数据结构:,数据元素词条举例,数据项名,:,货物编号,别名,:,G-No,G-num,简述,:,本公司的所有货物的编号,类型,:,字符串,长度:
15、,10,取值范围及含义,:,第,1,位:,J,G (,进口,/,国产,),第,2-4,位:,LB01.LB29 (,类别,),第,5-7,位:,“,A00,”,.,“,A99,”,(,规格,),第,8-10,位:,“,001,”,.,“,999,”,(,品名编号,),(,3,)数据文件词条描述,数据文件名:,简述:存放的是什么数据,输入数据:,输出数据:,数据文件组成:数据结构,存储方式:顺序,直接,关键码,存取频率:,数据文件(存储)词条举例,文件名,:,库存记录,别名,:,无,简述,:,存放库存所有可供货物的信息,组成,:,货物名称编号生产厂家,单价库存量,组织方式,:索引文件,以货物编号
16、为,关键字,查询要求,:,要求能够立即查询,(,4,)加工逻辑词条描述,加工名:,加工编号:反映该加工的层次,简要描述:加工逻辑及功能简述,输入数据流:,输出数据流:,加工逻辑:简述加工程序,加工顺序,加工逻辑词条举例,加工逻辑名,:,登记报名单,编号:,1.0,激活条件:收到报名单,加工逻辑:,1.1,检查报名单,+1.2,编准考证号,+1.3,登记考生,执行频率:,2000,次,/,日,(,5,)源点及汇,(,终,),点词条描述,名称:外部实体名,简要描述:什么外部实体,有关数据流:,数目:,DD,表示,F1:,航班信息文件,航空公司名称航班号起点终点日期 起飞时间降落时间,航空公司名称,
17、2,字母,4,航班号,3,十进制数字,3,字母,“,A,”“,Z,”,十进制数字,“,0,”“,9,”,起点终点,1,汉字,10,起飞时间降落时间时分,时,“,00,”“,23,”,分,“,00,”“,59,”,日期年月日,年,2000,2001,2002,2004,月,“,01,”“,12,”,日,“,01,”“,31,”,数据组合,重复项:,起点终点,1,汉字,10,航空公司名称,2,字母,4,航班号,3,十进制数字,3,组合项:,日期年月日,起飞时间降落时间时分,选择项:,年,2000,2001,2002,2004,原数据项:,字母,“,A,”“,Z,”,十进制数字,“,0,”“,9,”
18、,时,“,00,”“,23,”,分,“,00,”“,59,”,月,“,01,”“,12,”,日,“,01,”“,31,”,限制重复次数举例,3,5,或,5,3,表示,允许,重复,3-5,次,3,3,或,3,3,表示,恰好,重复,3,次,1,表示,至少,出现,1,次,表示允许,重复,0,至任意,次,办理取款手续的,DFD,图,储,户,检验,付款,登录,存折,帐卡,取款,信息,检验不合格,现款,付款信息,取款单,存折,课堂练习,1,:存折格式的数据字典,日期,年月日,摘要,支出,存入,余额,操作,复核,户名,:,储蓄网点名称,:,帐号,:,开户日,:,性质,:,印密,:,DD,存折,=,户名,+,
19、所号,+,帐号,+,开户日,+,性质,+(,印密,)+1,存取行,20,户名,=2,字母,24,所号,=,“,001,”,.,“,999,”,帐号,=,“,00000001,”,.,“,99999999,”,开户日,=,年,+,月,+,日,性质,=,“,1,”,.,“,6,”,存取行,=,日期,+,(摘要),+,支出,+,存入,+,余额,+,操作,+,复核,日期,=,年,+,月,+,日,年,=,“,1900,”,.,“,3000,”,月,=,“,01,”,.,“,12,”,日,=,“,01,”,.,“,31,”,摘要,=1,字母,4,支出,=,金额,金额,=,“,00000000.01,”,.
20、,“,999999999.99,”,数据字典示例,电话号码,=,当地分机号,|,外地号码,当地分机号,=2001|2002|2999,外地号码,=9+,当地号码,|,长途号码,当地号码,=,前缀,+,访问的号码,长途号码,=,(,1,),+,区号,+,当地号码,前缀,=795|799|874|877,访问的号码,=0|1|2|3|4|5|6|7|8|98,习题,2,:阅读以下说明和图,回答问题,1,至问题,3,,将解答填入答题纸的对应栏内。,某音像制品出租商店欲开发一个,音像管理信息系统,,管理音像制品的租借业务。需求如下:,1.,系统中的,客户信息文件,保存了该商店的所有客户的用户名、密码等
21、信息。对于首次来租借的客户,系统会为其生成用户名和初始密码。,2.,系统中音像制品信息文件,记录了商店中所有音像制品的详细信息及其库存数量。,3.,根据客户所租借的音像制品的品种,会按天收取相应的费用。音像制品的最长租借周期为一周,每位客户每次最多只能租借,6,件音像制品。,4.,客户租借某种音像制品的具体流程为:,(,1,)根据客户提供的用户名和密码,验证客户身份。,(,2,)若该客户是合法客户,查询音像制品信息文件,查看商店中是否还有这种音像制品。,(,3,)若还有该音像制品,且客户所要租借的音像制品数小于等于,6,个,就可以将该音像制品租借给客户。这时,系统给出相应的租借确认信息,生成一
22、条新的租借记录并将其保存在,租借记录文件,中。,(,4,)系统计算租借费用,将费用信息保存在,租借记录文件,中并告知,客户,。,(,5,)客户付清租借费用之后,系统接收客户付款信息,将音像制品租借给该客户。,5.,当库存中某音像制品数量不能满足客户的租借请求数量时,系统可以接受客户网上预约租借某种音像制品。系统接收到预约请求后,检查库存信息,验证用户身份,创建相应的,预约记录,,生成预约流水号给该客户,并将信息保存在,预约记录文件,中。,6.,客户归还到期的音像制品,系统修改租借记录文件,并查询预约记录文件和客户信息文件,判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行
23、预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品。,【,问题,1,】,(,1,分)图,1-1,中只有一个外部实体,E1,。使用说明中的词语,给出,E1,的名称。,客户,【,问题,2,】,(,6,分)使用说明中的词语,给出图,1-2,中的数据存储,D1 D4,的名称,D1,:客户信息文件,D2,:音像制品信息文件,D3,:租界记录文件,D4,:预约记录文件,【,问题,3,】,(,6,分)数据流图,1-2,缺少了三条数据流,根据说明及数据流图,1-1,提供的信息,分别指出这三条数据流的起点和终点。,起点,:创建预约记录,数据流名称:,预约流水号,终点,:客户,起点,:归还
24、音像制品,终点,:履行预约服务,起点,:客户,终点,:创建新客户,习题,3,:阅读下列说明和数据流图,回答问题,1,至问题,3,,将解答填入答题纸的对应栏内。,某图书管理系统的主要功能是图书管理和信息查询,。对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位、地址等)一起写入,读者文件,。系统的图书管理功能分为四个方面:,购入新书、读者借书、读者还书以及图书注销。,1,、,购入新书,时要为该为编制,入库单,。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入,图书目录文件,并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。,2,、,读者
25、借书,时需填写,借书单,。借书内容包括读者号和所借图书分类目录号。系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过,5,本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。,3,、,读者还书,时需填写还书单。系统根据读者号和图书分类目录号,从借书文件占读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。,4,、,注销图书,时,需填写注销单并修改图书目录文件占的库存总量。,系统的,信息查询功能,主要包括读者信息
26、查询和图书信息查询。其中读者信息查询可得到读者的基本信息以及读者借阅图书的情况;图书信息查询可得图书基本信息和图书的借出情况。,【,问题,1】,(,2,分)数据流图,1-2,中有两条数据流是错误的,请指出这两条数据流的起点和终点。,从,”2,处理查询请求”到“读者文件”的数据流,从,”,读者文件”到“,3,登记读者信息”的数据流,【,问题,2】,(,6,分)数据流图,1-3,中缺少三条数据流,请指出这三条数据流的起点和终点。,从“借书文件”到“,2.1,读者信息查询”,从“借书文件”到“,2.2,图书信息查询”,从“图书目录文件”到“,2.2,图书信息查询”,【,问题,3】,(,7,分)根据系
27、统功能和数据流图填充下列数据字典条目中的(,1,)和(,2,);查询请求信息,=,查询读者请求信息 查询图书请求信息,读者信息,=,读者号,+,姓名,+,所在单位,+,借书情况,管理工作请求单,=(1),入库单,=,(,2,),入库单,|,借书单,|,还书单,|,注销单,分类目录号,+,书名,+,作者,+,价格,+,数量,+,购书目录,状态转换图(,STD,)(补),通过描述状态以及导致系统改变状态的事件来表示系统的行为,STD,可以被用来描述,CSPEC,STD,的基本符号:,(1),状态,(2),事件,(3),符号 事件名,参数表,/,动作表达式,STD,示意,系统在“状态,1”,当“事件
28、,1”,发生时采取“动作,1”,将状态转移到“状态,3”,状态,1,状态,3,状态,2,事件,1,动作,1,事件,2,动作,2,事件,3,动作,3,事件,4,动作,4,读,用户输入,监控,系统状态,基于传感器,事件的动作,显示,用户反馈,闪烁标记,引发显示消息与状态,时间溢出,引发与用户交互,启,/,停开关,引发监控系统,无传感器事件,引发监控系统,传感器事件,引发显示消息与状态,启,/,停开关,引发显示消息与状态,显示动作状态,引发与用户交互,加工说明组成,输入,数据,加工,逻辑,输出,数据,加工说明,描述工具,结构化,语言,判定,表,判定,树,描述把输入数据流变,换为输出数据流的加工过,程
29、,是加工说明的主体。,处理说明,数据流图的每一个基本处理都必须有一个处理说明给出这个处理的精确描述。理想的处理说明目前通常还是用,自然语言书写的,。此外,常用的方式还有,结构化语言、决策表、决策树,等。,处理说明的要求,对数据流图的每一个,基本处理,,必须有一个,基本处理说明,基本处理说明必须描述基本处理如何把输入数据流变换为输出数据流的,处理规则,处理说明必须描述实现处理的,策略,而不是实现处理的细节,处理说明中包含的信息应是,充足的,完备的,有用的,无冗余的,(,1,)结构化语言(英语),结构化英语的词汇表由,英语命令动词,数据词典中定义的名字,有限的自定义词,逻辑关系词,IF_THEN_
30、ELSE,、,CASE_OF,、,WHILE_DO,、,REPEAT_UNTIL,等组成。,结构化语言,是一种介于自然语言和形式化语言之间的语言,语言的,正文用基本控制结构进行分割,,加工中的,操作用自然语言短语来表示,其基本控制结构有三种:,简单陈述句结构,:避免复合语句;,重复结构,:,while,_,do,或,repeat,_,until,结构。,判定结构,:,if_then_else,或,case_of,结构;,商店业务处理系统中,“,检查发货单,”,if,发货单金额超过,$500,then,if,欠款超过了,60,天,then,在偿还欠款前不予批准,else,(欠款未超期),发批准书
31、,发货单,else,(发货单金额未超过,$500,),if,欠款超过,60,天,then,发批准书,发货单及赊欠报告,else,(欠款未超期),发批准书,发货单,(,2,)判定表,如果数据流图的加工需要依赖于,多个逻辑条件的取值,,使用判定表来描述比较合适,以,“,检查发货单,”,为例,(,3,)判定树,判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。,检,查,发,货,单,金额,$500,金额,$500,欠款,60,天,不发出批准书,欠款,60,天,发货单,发出批准书、,欠款,60,天,发出批准书、,发货单及赊欠报告,欠款,60,天,发出批准书、,发货单,软件需求规格说明文档条目,1,引言,1.1,系统参考文献,1.2,整体描述,1.3,软件项目约束,2,信息描述,2.1,信息内存,2.2,信息流,2.2.1,数据流,2.2.2,控制流,3,功能描述,3.1,功能描述,3.2.1,处理说明,3.2.2,限制,3.2.3,性能需求,3.2.4,设计约束,3.2.5,支撑图,3.2,控制描述,3.2.1,控制规格说明书,3.2.2,设计约束,4,行为描述,4.1,系统状态,4.2,事件和动作,5,确认标准,5.1,性能范围,5.2,测试种类,5.3,预期的软件响应,5.4,特殊考虑,6,参考书目,7,附录,