软件工程ch3结构化需求分析与建模

上传人:细水****9 文档编号:244095041 上传时间:2024-10-02 格式:PPT 页数:131 大小:2.89MB
返回 下载 相关 举报
软件工程ch3结构化需求分析与建模_第1页
第1页 / 共131页
软件工程ch3结构化需求分析与建模_第2页
第2页 / 共131页
软件工程ch3结构化需求分析与建模_第3页
第3页 / 共131页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,3,章,结构化需求分析与建模,主要内容,模型及其作用,结构化分析,功能模型:数据流图,数据模型:实体关系图,行为模型:状态转换图,数据字典,分析阶段,分析阶段的活动:,收集信息,定义系统需求,划分需求优先级,构建可用性和发现原形,产生评估各种方案,和管理部门一起复查各种建议,分析阶段需要非常详细的定义:信息系统需要完成什么 来为公司提供所期望的利润。,应该提出多种方案,并选择最优的解决方案。,在系统设计阶段,再对选中的方案进行详细的设计。,在分析阶段,上述,6,项活动必须全部完成,并且通常是 同时完成。,3.1,需 求 分 析,需求分析的任务,通过软件开发人员与用户的交流和讨论,准确地获取用户对系统的具体要求。,用户对系统的需求,功能性需求,非功能性需求,需求分析的步骤,通过调查研究,获取用户的需求,去除非本质因素,确定系统的真正需求,描述需求,建立系统的逻辑模型,书写需求说明书,进行需求复审,需求分析的原则,能够表达和理解问题的数据域和功能域,能够将复杂问题分解化简,能够给出系统的逻辑表示和物理表示,获取需求的方法,通过需求(详细)调查,获取需求,需求(详细)调查的内容:,组织概况,组织结构图,组织的业务活动、组织的业务状态、业务的详细内容,业务(系统)流程图,输入输出信息,(信息流向、信息种类、利用的目的、信息的使用者和制造者、输入和输出地点、输入和输出信息量),存在问题、约束条件、未来要求等,需求(详细)调查对象,对组织的高层管理者,进行组织管理目标或经营方针等组织战略问题的调查,(业务需求),对中层的管理者,进行全部业务流的调查,(用户需求),对业务工作人员,进行详细业务信息的调查,(用户需求),常用调查方法(,信息收集技术,),访谈:正式和非正式,问卷调查,情景分析,实地考查,构造原型,建立分析小组,领域专家: 主角,系统分析员:导演,准备调研的资料(可能的问题),部门的名称、人员数量和结构,部门发展或变化简单介绍,部门的主要任务,部门各岗位的职责,部门接受哪些部门或外界的信息及信息的内容和格式,部门产生哪些信息,部门产生的信息送到哪些其他部门、格式要求是什么,现有的哪些设备要继续使用?,准备调研的资料(可能的问题),业务处理流程,业务处理过程中涉及哪些专业领域的知识,主要算法描述,哪些业务需要实时处理,哪些业务需要交互操作,业务处理有高峰期吗?高峰期的时间及业务量,对信息的输入和输出方式和设备有何要求,数据要求实时备份吗?备份设备及时间策略,工作需要的审批流程是什么?,准备调研的资料(可能的问题),对产品的运行环境有要求吗,对界面风格和操作方式有要求吗,在系统运行过程中允许停机吗,需要的操作权限有哪些,需要记录系统操作运行日志吗,需要分布式处理吗,需要什么方式的用户操作培训,需要制作联机帮助吗,用户有能力进行系统维护吗?,二、组织结构图,组织结构图是用来描述组织的总体结构以及组织内部各部分之间的联系。要建立管理信息系统,就必须知道现行系统的组织机构设置情况和它们之间的隶属关系。当然,最为关心的是那些与计算机管理有关的机构和关系。,用矩形框表示组织机构,用箭头表示领导关系。,在画组织结构图时应注意:,1.,不能只画组织中的从属关系、领导和被领导关系。(因为它们不是全部信息流),2.,应具体调查结构的职能,不能仅按结构名称画图。,3.,实际情况往往较复杂,很难设计出面面俱到的,IS,。(应突出重点、目标),某企业组织结构图,三、业务流程图,业务流程图,(,Transaction Flow Diagram, TFD,),是描绘,物理系统,的传统工具。系统流程图可用图形符号来表示系统中的各个元素。例如,人工处理、数据处理、数据库、文件等。,业务流程图表示所描述部件的,信息流程,,而不表示信息加工的,控制过程。,系统流程图在可行性研究阶段也可以使用,画系统流程图时,要搞清,业务处理过程,即处理中的各个元素,同时要理解系统的流程图各个符号的含义。,业务流程图符号,基本符号,当以概括方式描述一个实际系统时,基本符号即可;当需要更具体地描绘一个物理系统时,还需使用系统符号。,业务处理单位,业务流向,业务处理,某项业务参与的人或事务,业务处理功能,业务数据的流动方向,业务流程图符号,系统符号,符号,名称,说明,文档,表示打印输出,也可表示打印终端输入,磁带,磁带输入,/,输出或表示一个磁带文件,联机存储,表示任何种类的联机存储,磁盘,磁盘输入,/,输出,显示,终端显示部件,可表输入,/,输出,人工输入,人工脱机处理,如填表格,人工操作,人工完成处理,如支票签字,通信链路,远程通信线路送数据,工资管理系统业务流程图,学生成绩管理流程,每学期课程考核结束后,各任课教师须分班填写学生成绩登记表,经系主任审核签字后交学生所在学院及教务处,教务员使用成绩管理系统登记所有成绩并将成绩单及补考通知书交给学生,学生所在班级根据综合成绩计算综合评分,并将综合评分交给学生科,四、面谈,面对面交流是理解业务功能和规则的最有效方法,该方法比较耗时和资源,项目组成员与单个用户或用户组举行会议,面谈步骤:,准备面谈内容:问题详尽,进行面谈:用心、得体,面谈的后续工作:整理消化吸收(,建模,),4,实地观察,观察方法:,对办公室进行快速浏览,安排一定的时间观察用户的工作过程,同用户一道亲身实践体会工作过程,使用工作流图来进行记录,工作流,处理商业事务或客户请求的一系列步骤,工作流图:,流程图,、,数据流图,、,活动图,工作流图在分析与设计阶段都是有效的工具,活动图:,一种工作流图,用来描述用户的活动以及 这些活动的顺序,4.4,信息收集技术,3,),观察并记录业务流程,表明决策的,其他方法,同步条(合并),同步条(分解),决策活动,开始活动(伪码),转移箭头,活动,结束活动,活动图矩形区,管理者,检查,财政事务,准备报告,活动图中的符号,获取需求的方法,四、问卷调查,调查表在信息收集中的作用是具体而有限的,使用场合,:(,1,)系统相关者较多 (,2,)地理上分布广,调查表问题类型:(,1,)封闭问题 (,2,)定量问题 (,3,)开放问题,某出版社管理系统问卷调查表,编号,提出问题,1,您在,哪个部门工作?,2,出版业务流程是什么?,3,您,每日都处理那些文件、数据、报表?,4,工作中手工处理特别麻烦的事情是什么?,5,工作中手工处理什么问题解决不了?影响效率的问题有哪些?,6,您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?,某出版社管理系统问卷调查表,编号,提出问题,7,您的部门需要成本核算和统计的内容有哪些?,8,您的部门采用计算机管理工作情况如何?,9,如何改进业务流程使之更合理?,10,哪些问题是目前传统手工方法根本无法解决的?,11,出版社计算机管理信息系统需要解决什么问题?,分析员需要一组模型来充分描述信息 系统的需求,不同的模型分别显示了问题和解决方 案的不同部分,模型和建模,模型的作用,建立模型的过程能帮助分析员澄清和改良设计,系统往往很复杂,模型能很好表示各部分之间的关系,模型便于项目组成员之间交流,模型有助于和系统用户之间进行交流并促进理解,建立的模型可以作为以后的维护和升级时的文档,5.1.2,模型的类型,数学模型:描述系统技术方面的一系列数学公式,描述模型:描述系统某些方面的叙述性的备忘录、 报表或列表等,图形模型:描述系统的图表或系统某些方面的示 意性表示,三种常见模型:,数学模型、描述模型、图形模型,5.1.3,用于分析和设计的模型,状态图,协作图,时序图,用例图,类图,结构化英语,/,伪代码,数据元素定义,数据流定义,ERD,DFD,事件列表,分析阶段创建的模型,界面设计,报表设计,数据库设计,结构图,系统流程图,网络图,分布图,设计阶段创建的模型,其他传统模型,DFD,片断,数据流定义,关联图,处理描述,其他,OO,模型,状态图,用例和场景描述,交互图,用例图,事件和事件表,事物,类图,实体,-,关系图,OO,方法,传统,方法,包图,对象数据库,设计类图,关系数据库,系统流图,结构图,混合关系数据库模式,用户界面对话框、标单、报表,系统控制,伪代码,结点与定位图,分析,设计,结构化分析方法,Structured Analysis,SA,的核心:数据流图,数据流图:用来表示信息流程和信息变换过程的图解方法,可以方便地描述用数据流的流动联系的各种功能。,数据字典:数据流图中的各项数据。,结构化英语、判定树、判定表用于具体描述数据流图中的基本功能(或过程)。,依赖数据流图,的,自顶向下,的建模方法。,数据实体,系统需要存储的有关信息系统开发方法的信息。,传统方法中,数据实体与过程是分离的。,3.2,数据建模,5.3,事物和系统需求,5.3.5,数据实体和对象,数据实体:,在传统的系统开发方法中,事物被称为数据实体,对象:,在面向对象的系统开发方法中,将某一个事物称为对象,数据实体与过程是分离的,对象将数据和处理数据的方法封装成一个单元,要让某个对象执行某种操作,可以让另外一个对象给该对象发送一个消息,事物和系统需求,事件和,事物的区别与联系: 事件,发生在瞬间,有一定的随机性,事物,客观存在,不以主观意志为转移,联系,事件的发生可以改变事物的状态或产生新的事物,事物:,在传统的开发方法中,事物就是构成系统存储 信息的相关数据,在面向对象的开发方法中,事物就是在系统中 相互交互的对象,事物,实实在在,的事物,充当角色,组织部门,设备,突发事件、,事件或交互行为,地点位置,飞机,书,交通工具,文件,工作表,雇员,顾客,医生,病人,最终用户,系统管理员,管区,部门,工段,任务组,工作组,传感器,定时器,打印机,键盘,显示器,鼠标,航班,服务电话,登录,退出,合同,购买,订单,仓库,办公室,工厂,零售店,桌面,事物和系统需求,属性:有关事物的一项特定信息,关键字:唯一标识事物的一个属性。,复合属性:包括了许多相关属性的属性。,所有学生具有的属性,每个学生的每个属性都有一个值,学号,(,pk,),991202,991203,991204,姓名,张三,李四,王五,出生年月,1982.6,1982.8,1983.9,.,.,.,.,学习经历,(,复合属性,),.,.,.,包含 包含,订单,#1043,财务部,红衬衫尺寸,16/32,牛仔裤尺寸:,34,长,被订购,工作在,Smith,先生,事物之间自然发生的关系,事物间的关系,关系,:,某些事物间自然发生的联系,比如客户 发送订单以及雇员在某部门工作等,关系的基数,发生在事物间关联的数目,例如一个顾客发送了多个订单以及一个雇员在一个部门工作等。,基数可以:,0,,,1,,,0.n,,,1.n,张先生还未发送订单,但是以后可能会发送很多订单,基数范围,从,0,到更多,(可选关系),李女士是某公司职员,基数范围,从,1,到,1,(强制关系),一个订单至少包括一个产品,也可包括多个产品,基数范围,从,1,到更多,(可选关系),几类事物之间的关系,两类不同事物:二元关系,两种不同类型事物之间的关系,如顾客和订单关系。,一元关系,同一类型的两个事物之间的关系,如一个人和另一个人的婚姻关系。,三元关系,三种不同类型事物之间的关系,如学生,(,自然事物,),、课程,(,自然事物,),、选课,(,事件,),之间的关系。,N,元关系,N,中不同类型事物之间的关系,如权限、用户、用户组、用户组选择权限、用户组选择用户。,实体关系图,(ERD),用来定义,数据存储需求,的模型,数据存储需求包括,数据实体,数据实体的属性,它们之间的关系。,ERD,符号,用矩形代表实体;,连接矩形的直线代表数据实体之间的关系。,实体关系图,(ERD),E-R,模型中的基本符号,符号,含 义,表示实体,表示实体间的联系,与实体间的连线上需用数字标明具体的对应关系,表示与实体有关的属性,用于实体、属性及联系的连接,实体关系图,ERD,符号,实体,-,关系图,ERD,只能一个(强制),0,或多个(可选),1,或多个(强制),0,或,1,个(可选),实体之间关系的基数符号,有属性的扩展,ERD,图,*,表示标示符或关键字,ERD,实例,关联实体,表示两个数据实体之间,多对多关系,的数据实体,例如学生和课程之间存在选课信息,。,关联实体,功能建模数据流图,图形化的系统模型,说明的是信息系统的主要需求,输入、输出、过程和数据存储。,大型系统,分层的数据流图来解决复杂问题,分层作用,实现信息抽象,实现信息隐蔽,数据流图,图形元素少且符号简单易懂,较充分表达系统的主要需求:输入、输出、处理 和数据存储,最终用户、管理人员和系统开发人员只需稍加培 训即可读懂,DFD,图,方便交流,数据流图:,用处理、外部实体、数据流以及数据存储来,(,DFD,),表示系统需求的图表,DFD,的特点,数据流图:基本元素,外部实体,代表,系统之外,的人、物、组织,发出或接受系统的数据,提供系统和外界环境之间关系的注释性说明,数据流,表示,DFD,的过程、数据存储、外部实体间的,数据移动,数据流不代表控制流:反映处理对象,不影响过程执行,数据流反映处理的对象,控制流影响过程的执行,过程,过程是对数据执行某种操作或转换,把输入数据变成输出数据的一种转换。,数据存储,不一定是一个完全的文件,表示文件、或文件的一部分,磁盘、磁带、存储器,数据流图元素符号,数据流图的符号说明,处理,一步步地执行指令,,将输入转换成输出,(由人、机器或两者共 同完成该处理任务),数据流,从一处流向另一,处的数据,如处理的,输入或输出,外部实体,系统之外的,数据源或目的地,数据存储,存放起来以备,将来使用的数据。通,常与,ERD,图中的数据,实体相对应,实时连接,当处理执行时,,外部实体与处理之间来,回通信,(,如信用卡验证,),数据流图,数据流与加工之间的关系,与:数据,A,和,B,同时输入变成,C,或:数据,A,或,B,,或者,A,和,B,同时输入变成,C,异或:数据,A,或,B,其中之一变成,C,数据流图例:,客户,查询,可用条目,目录,产品条目,库存条目,条目查询,可用的,条目细节,图,6-3,显示处理“查询可用条目”的,DFD,从外部实体出发的“数据流”可以是:,1.,外部实体发出的“处理请求”,即一个事件,2.,外部实体给出的“输入数据,”,指向“外部实体”的“数据流”,一般是“处理”的反馈或处理,结果,客户,查询,可用条目,目录,产品条目,库存条目,条目查询,可用的,条目细节,来源,触发器,活动,响应,目的地,外部实体、数据流和处理来自于,事件表中有关事件的信息,数据存储来自于,ERD,图,DFD,和,ERD,之间的一致性关系,绘制数据流图:自顶向下,逐层细化,抽象层次:,把系统分解成一个逐步细化的分层集合的建模技术,D,FD,图可以描述高层次的具有高度概括的系统处理,也可以描述低层次的具有更详细分解的系统处理,关联图,1,层图,2,层图,课程注册,系统,安排课程,教员,教学部门,学生,班级列表,安排时间数据,注册请求,课程表,教学部门,时间安,排数据,学生,提供的课程,产生班机列表,教 员,班级列表,课程注册,学生注册,课程表,注册请求,可用教员,课程,可用教室,教学部门,分配,教员,选择日期时间,提供的课程,学生,分配教室,提供的课程,图,6-5,课程注册系统的,DFD,抽象层次,数据流图的层次,顶层,DFD,描述整个系统的作用范围,分解高层数据流和数据过程,例:学生注册课程系统,顶层,DFD,:关联图,整个系统看作是一个过程,,起名:学生注册课程系统,此时不出现数据存储,DFD,细化,:,一个过程符号,表示系统响应,一个事件,的,DFD,。,更进一步细化,评估,DFD,质量,高质量的,DFD,可读的、内部一致的、能够准确表示系统需求的。,不反映处理的顺序。,所有元素的命名对客户有意义、且与业务相关。,图的编号:过程的编号应该唯一且有层次性。,数据,通过加工,进行流动,避免从一个数据存储流向另一个数据存储。,复杂性最小化,,7+-2(Miller,数,),单个,DFD,不应有超过,7+-2,个过程,单个,DFD,中不应超过,7+-2,个数据流进出一个过程、数据存储或数据元素。,接口最小化,接口是指一个问题或描述中一部分与其他部分的连接。,与,7+-2,规则相关,接口应保证最小化。,当单个过程有大量接口以致于复杂到不可理解时,可把这个过程,分解,成多个过程。,数据流不一致问题,一个过程和它的过程分解在数据流内容中有差别,有数据流入但无相应数据流出,有数据流出但无相应数据流入,平衡,进出过程的数据流与进出过程分解,DFD,的数据流在数据内容上一致。,子图代表了父图中某个过程的细节,(,详细描述,),,父图代表了子图间的接口,(,抽象描述,),,二者代表了同一个东西。,子图输入、输出数据流必须和父图中相应过程的输入、输出数据流相一致,即要达到平衡。,数据流在单个过程或数据存储之间的一致性。,流入过程的所有数据必须流出该过程或用于产生流出该过程的数据。,流出过程的所有数据必须曾流入过该过程或是由流入该过程的数据产生。,DFD,质量评估,DFD,图常见错误总结,非法的数据流,B1,B2,改正错误后,的数据流,B1,B2,需要一个过程在外部实体之间交换数据流,DS2,DS1,需要一个过程从一个数据存储移动数据到另一个数据存储,DS1,DS2,B1,需要一个过程从一个数据存储中表现数据,DS1,DS1,B1,B1,DS1,B1,DS1,需要一个过程修改,/,使用一个数据存储,DFD,过程描述,过程分解何时可以停止?,最底层过程的描述方法:,结构化英语,决策树,决策表,数据字典,3.5,数据字典,(,Data Dictionary, DD,),DD,是,SA,方法中另一个重要的分析工具。,DD,给出了,DFD,中所有元素的严格的数据定义,它可以:,减少了分析员和用户之间的通信,消除误解,是以后进行系统设计及维护的重要依据,是进行系统设计的最有价值的文档之一,数据字典,DD,编写的基本要求,对,DFD,中各元素的定义必须明确、一致且易理解,命名、编号应与,DFD,一致,对,DFD,中各元素的定义与说明应无遗漏、无同名异义或异名同义,格式规范,文字精练,符号正确,数据字典,符号,符 号,含 义,说 明,=,表示定义为,用于对,=,左边的条目进行确切的定义,+,表示与关系,X=a+b,表示,X,由,a,和,b,共同构成, | , , ,表示或关系,X=a|b,与,X=a,b,等价,表示,X,由,a,或,b,组成,( ),表示可选项,X=(a),表示,a,可以在,X,中出现,也可以不出现, ,表示重复,大括号中的内容重复,0,到多次,m n,表示规定次数的重复,重复的次数最少,m,次,最多,n,次,“ ”,表示基本数据元素,“ ”中的内容是基本数据元素,不可再分,.,连接符,month=1.12,表示,month,可取,1,12,中的任意值,* *,表示注释,两个星号之间的内容为注释信息,数据字典,数据流条目,数据项条目,数据文件条目(数据存储条目),数据加工条目,数据结构条目,数据字典,数据流条目,系统名:,属于哪个子系统,数据流编号、名称、别名及其简要描述,数据流的来源:,一个外部实体、处理逻辑、数据存贮,数据流的去向:,同上,数据流的组成:,一个数据流可能包括若干个数据结构,若只有一个数据结构,就不需要专门定义,数据流的流通量:,单位时间的传输次数,高峰时期的流通量:,业务的频繁程度和时间有关,数据字典,数据流条目,系统名:,成绩管理系统,数据流编号:,F1,数据流名称:,单科成绩单,别名:,无,简述:,某学期、某个班、某门课的成绩,来源:,教师,去向:,加工,P1“,成绩单审核”,数据流量:,2000,份,/,每学期,组成:,学期班级,DS1,(学生成绩)教师姓名日期,数据字典,数据项条目,数据项也称数据元素,是不可再分的数据最小组成单位,主要内容有:,系统名,数据项名称:,数据项名称必须唯一地标识这个数据项,以区别于其他数据项;名称要反映该数据项的含义,易于他人理解与记忆,别名:,同一数据项的名称可能不止一个,简要说明,属于数据流,存储处(属于文件),数据项的类型、长度、取值范围、取值的含义,数据字典,数据项条目,系统名,:成绩管理系统,数据项名称:,学号,别名:,无,简要说明:,是每个学生的惟一识别码,属于数据流:,F1,F4,属于数据存储:,D1,类型:,字符型,长度:,10,位,取值范围:,“,0”,“,9”,含义:,1,4,位:入学年份;,5,7,位:专业;,第,8,位:班级;,9,10,位:序号,数据字典,数据结构条目,数据结构,描述了某些数据项之间的关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,也可以由若干个数据项和数据结构组成。主要内容包括如下。,系统名,数据结构的名称及其编号,数据结构的组成:,如果是一个简单的数据结构,只要列出它所包含的数据项即可。如果是一个嵌套的数据结构,只需列出它所包含的数据结构名称,因为这些数据结构同样在数据字典中有定义,数据字典,数据结构条目,系统名:,成绩管理系统,数据结构编号:,DS1,数据结构名称:,学生成绩,别名:,无,数据结构组成:,课程号课程名,学号姓名成绩,数据字典,数据项间关系描述符号,符号,含义,例及说明,=,被定义为,+,与,x=,a+b,表示,x,由,a,和,b,组成,.|.,或,x=,a|b,表示,x,由,a,或,b,组成,m.,n,或,.,m,n,重复,x=2a5,表示,x,中最少出现,2,次,a,,最多出现,5,次,a,2,为重复次数的上、下限。,.,重复,x=a,表示,x,由,0,个或多个,a,(.),可选,x=(a),表示,a,可在,x,中出现,也可不出现。,.,基本数据元素,x=a,,表示,x,是取值为字符,a,的数据元素,.,连接符,x=1.9,,表示,x,可取,1,到,9,中任意一个值,数据字典,数据存贮条目,数据存贮,是数据结构停留或保存的场所。主要内容:,系统名,数据存贮的名称及其编号:,在数据流程图中对数据存贮给以命名,并编上一个唯一的编号。,来源、去向,存储组织,方式,数据存贮的组成:,指它所包含的数据项或数据结构,存取方式、存取频率等,数据字典,数据存贮条目,系统名:,成绩管理系统,数据存储编号:,D2,数据存储名称:,成绩档案,别名:,无,数据来源:,加工,P2“,成绩登记”,数据去向:,加工,P3“,成绩统计”,存储组织:,二维表,数据结构组成:,DS1,补考成绩学分,数据字典,加工条目,加工的名称及编号,加工的输入和输出,加工的主要功能:,对处理逻辑的简明描述,其目的是使人了解这个处理逻辑是做什么用的,加工的小说明,(文档之一),数据字典,加工条目,系统名:,成绩管理系统,加工编号:,P2,加工名称:,成绩登记,别名:,无,输入:,F2“,合格单科成绩单”,,D1“,课程”,输出:,D2“,成绩档案”,加工说明:,如果为普通考试,若及格,登记成绩及学分,否则登记实际成绩,学分为,0,;,如果是补考,若及格,则登记成绩及学分,否则只登记补考成绩。,加工逻辑描述,如何对,DFD,中的基本加工进行描述,是结构化分析的关键部分。对基本加工的描述称为,“加工说明”,。,加工说明编写要求:,对,DFD,中的每个基本加工,必须有一个加工说明,加工说明必须描述加工把输入数据流转换为输出数据流的转换规则,即加工,“做什么”,,而不是用程序设计语言来描述具体加工过程,常用工具:,结构化语言、决策树、决策表,结构化英语,书写过程规范的方法:,结构化编程技术叙述性语言,适合描述带有一系列处理步骤和相对简单的控制逻辑,不适合:,复杂的决策逻辑,连续的处理步骤很少,(,或没有,),IF,我不在家里,THEN,我就在老树咖啡,ELSE,我就在去老树咖啡的路上,结构化英语,/,伪代码:,一种描述“处理”的规范方法,将结构化编程技术和叙述性英语结合起来,结构化英语适合用来描述处理步骤清楚、控制逻辑相对简单的情况,客户,记录客户信息,客户,新订单,详单细节,图,6-20 RMO,处理,2.1,(记录客户信息)和它的结构化英语处理描述,结构化英语示例:核对发货单,结构化英语示例:计算运输费用,加工说明,判定树,(,Decision Tree,),判定树是用来表示逻辑判断问题的一种图形工具。它用“树”来表达不同条件下的不同处理,比语言、表格的方式更为直观。判定树的左侧(称为树根)为加工名,中间是各种条件,所有的行动都列于最右侧。,加工说明,判定树,(,Decision Tree,),成绩登记处理逻辑,普通考试成绩登记,补考考试成绩登记,成绩合格:登记学生成绩及学分,成绩不合格:登记学生成绩,学分为,0,成绩合格:登记学生成绩及学分,成绩不合格:登记学生成绩,学分为,0,成绩登记处理逻辑,加工说明,判定树,(,Decision Tree,),学生升留级处理逻辑,升留级处理逻辑,考试总分,600,考试总分,600,单科无不及格:发升级通知书,单科有不及格:发升级及重修单科通知书,单科有满分:发留级免重修单科通知书,单科无满分:发留级通知书,判定树:计算运输费用,判定树:核对发货单,加工说明,判定表,(,Decision Table,),对于具有多个互相联系的条件和可能产生多种结果的问题,用结构化语言描述则显得不够直观和紧凑,这时可以用以清楚、简明为特征的判定表来描述。,判定表采用表格形式来表达逻辑判断问题,表格分成四个部分:,基本判断条件,基本判断条件组合,基本动作,执行动作,规则:,将条件取值组合及其相应要执行的动作称为规则,规则或,CASE,构造判定表步骤,确定规则的个数。,m,个条件,每个条件有,n,种取值,故规则个数为,mn,。,列出所有的条件和动作。,列出所有的条件组合。,填写每种条件组合下对应的动作。,若表中存在不同规则对应相同动作且其条件组合存在某种关系时,需要对表进行必要的化简。,升留级处理判定表,规则,1,规则,2,规则,3,规则,4,规则,5,规则,6,规则,7,规则,8,考试总分,600 600,600,600,600 ,600,600,600,单科满分,有 有 无 无 有 有 无 无,单科不及格,有 无 有 无 有 无 有 无,发升级通知书,发单科免修通知书,发留级通知书,发单科重修通知书,Y Y Y Y N N N N,N N N N Y Y N N,N N N N Y Y Y Y,Y N Y N N N N N,加工说明,判定表,(,Decision Table,),1 2 3 4,考试总分,600 600 600 ,600,单科满分,- -,有 无,单科不及格,有 无,- -,发升级通知书,发单科免修通知书,发留级通知书,发单科重修通知书,Y Y N N,N N Y N,N N Y Y,Y N N N,如果表中有两条或更多的规则具有相同的动作,并且条件项之间存在着某种关系,则可设法将其合并。,简化后的升留级处理判定表,决策表:核对发货单,判定树和判定表,适合描述复杂决策逻辑,决策表,一种处理逻辑的表格,包括:决策变量、决策变量值、角色或公式。,决策树,使用树型结构对过程逻辑进行图形化的描述。,决策表更严密,决策树更易读。,数据字典的建立,1.,建立数据字典的方法,(1),手工建立。分别将数据字典中每一个条目按照规定的格式写在卡片上,由专人负责管理和维护。为了便于查找,通常可将卡片分类,按条目的名称或编号进行排序。,(2),自动建立。利用现有的数据字典建立程序,通过按照指定格式输入各类条目的内容,由计算机自动建立相应的数据字典。且通常这类工具软件还能够对建立好的数据字典进行完整性、一致性检查,以及进行日常的管理和维护工作。,2.,建立数据字典的原则,(1),所有定义必须严密、精确,不能存在二义性。,(2),书写格式应简洁且严格。,(3),应可方便地实现对所需条目的按名查阅。,(4),应便于修改和更新。,3.4,行为建模状态转化图,描述系统的状态如何响应外部信号来进行推移的一种图形表示。,圆圈,:,表示系统可达状态,箭头,:,表示从一种状态向另一种状态的转换。,3.4,行为建模状态转化图,例:,CPU,分配的进程状态迁移,t1,:需要等待某一事件发生,t2,:等待的事件发生了,t3,:时间片到来,t4,:时间片用完了,CPU,分配的进程状态,S1,:,就绪:等待分配,CPU,;,S2,:,运行:占用,CPU,进行相应的处理;,S3,:,挂起:放弃,CPU,的使用。,3.4,行为建模状态迁移图,表,3.5,进程的状态迁移表,状态事件,S1,S2,S3,t1,S3,t2,S1,t3,S2,t4,S1,(a),状态迁移图;,(b),细化后的状态迁移图;,(c),状态迁移图的变形,状态,迁移,图,分层表示法,Petri,网中的基本符号及含义,符 号,含 义,位置,(place),,,用于表示系统中的状态,变迁,(transition),,,用于表示系统中的事件,由状态指向事件的有向边,用于表示事件发生的前提,即对事件的输入,由事件指向状态的有向边,用于表示事件导致的结果,即事件的输出,3.4,行为建模,Petri,网,描述静态系统的,Petri,网,采用,Petri,网描述系统动态行为的状态变迁图,初始状态;,(b),激发,t1,之后;,(c),激发,t2,之后;,(d),同时激发,t1,和,t2,之后,3.6,结构化需求分析的若干技术,分解,抽象,采用“自顶向下,逐层分解”的分析思路,系统的顶层数据流图,“,自顶向下,逐步分解,”,过程示意图,3.7,验证软件需求,3.7.1,软件需求规格说明的主要内容,需求分析阶段的最后一步工作是将对系统分析的结果用标准化的文档,即软件需求规格说明书的形式清晰地描述出来,以此作为审查需求分析阶段工作完成情况的依据和设计阶段开展工作的基础。需求规格说明书是系统所有相关人员,包括用户和开发人员对软件系统共同理解和认识的表达形式,是需求分析阶段最重要的技术文档。,需求规格说明书中应包括如下主要内容:,(1),引言:用于说明项目的开发背景、应用范围,定义所用到的术语和缩略语,以及列出文档中所引用的参考资料等。,(2),项目概述:主要包括功能概述和约束条件。功能概述用于简要叙述系统预计实现的主要功能和各功能之间的相互关系;约束条件用于说明对系统设计产生影响的限制条件,如管理模式、用户特点、硬件限制及技术或工具的制约因素等。,(3),具体需求:主要包括功能需求、接口定义、性能需求、软件属性及其他需求等。功能需求用于说明系统中每个功能的输入、处理、输出等信息,主要借助于数据流图和数据字典等工具进行表达;接口定义用于说明系统软,/,硬件接口、通信接口和用户接口的需求;性能需求用于说明系统对包括精度、响应时间、灵活性等方面的性能要求;软件属性用于说明软件对可使用性、安全性、可维护性及可移植性等方面的需求;其他需求主要指系统对数据库、操作及故障处理等方面的需求。,3.7.2,软件需求的验证,验证需求的一致性,验证需求的完整性,验证需求的有效性,验证需求的现实性,1.,验证需求的一致性,所谓一致性,是指目标系统中的所有需求应该是和谐统一的,任何一条需求不能和其他需求互相矛盾。当需求分析的结果是用非形式化的方法,如自然语言书写的时候,除了靠人工审查、验证软件需求规格说明书的正确性之外,目前还没有其他更好的方法。当目标系统规模庞大、规格说明书篇幅很长的时候,人工审查通常无法消除系统需求中存在的所有的冗余、遗漏和不一致。为了克服非形式化需求说明难以验证的困难,人们提出了描述软件需求的形式化方法。当软件需求规格说明书是用形式化的需求描述语言书写的时候,可以用软件工具来验证需求的一致性。,2.,验证需求的完整性,所谓完整性,是指目标系统的需求必须是全面的,需求规格说明书中应包括用户需求的每一个功能或性能。由于软件开发人员获得的需求信息主要来源于用户,而许多时候用户并不能清楚地认识到他们的需求,或不能有效地表达他们的需求,大多数用户只有在面对目标软件系统时,才能完整、确切地表述他们的需求,因此需求的完整性常常难以保证。,要解决这个问题,需要开发人员与用户双方的充分配合和沟通,加强用户对需求的确认和评审,尽早发现需求中的遗漏。,3.,验证需求的有效性,所谓有效性,是指目标系统确实能够满足用户的实际需求,确实能够解决用户面对的问题。由于只有目标系统的用户才能真正知道软件需求规格说明书是否准确地描述了他们的需求,因此要证明需求的有效性,与证明需求的完整性相同,也只有在用户的密切配合下才能完成。,4.,验证需求的现实性,所谓现实性,是指确定的需求在现有硬件和软件技术水平上应该是能够实现的。为了验证需求的现实性,软件开发人员应该参照以往开发类似系统的经验,分析采用现有的软、硬件技术实现目标系统的可能性,必要的时候可以通过仿真或性能模拟技术来辅助分析需求的现实性。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!