信息系统分析与设计复习资料重点.ppt
关键成功因素法(Critical Success Factors)着眼点:战略分析战略目标集转化法(Strategy Set Transformation)着眼点:战略分析企业系统规划法(Business Systems Planning)着眼点:企业过程分析,信息系统规划的常用方法,企业系统规划法(Business System Planning,BSP),BSP是IBM在20世纪70年代提出的,旨在帮助企业制定信息系统的规划,以满足企业近期和长期的信息需求,它较早运用面向过程的管理思想,是现阶段影响最广的方法;基于用信息系统支持企业运营的思想;自上而下分析企业目标、识别企业过程、识别数据类,然后再自下而上设计和实施系统,以支持企业目标;根据过程/数据需求进行信息系统规划。,设计信息系统的总体结构通过建立业务过程和数据类的对应矩阵(通常称为U/C阵)来实现。U/C矩阵中说明了哪些业务过程产生了哪些数据和使用了哪些数据,明确了业务过程与数据之间的关系。,第三步:设计信息系统的总体结构,在系统生命周期的各阶段中,花费费用和人力投入最多的阶段是()。A.分析与设计B.编制程序 C.测试程序 D.系统维护,3、数据处理,处理的命名(功能描述):最好使用动宾词组,一个动词加一个名词。,处理的执行者(部门):表示功能由谁来完成,可以是人、部门或是程序,也可以没有。处理必须同时有输入和输出的数据流。,?,3、数据处理,每个处理至少有一个输入数据流和一个输出数据流!,常见错误,数据存储:是数据的“保存处”和“中转站”!可以避免处理和处理之间的直接箭头联系,这样能提高每个处理的独立性。,4、数据存储,数据流要么从某个处理流出、要么流入某个处理,而不能与处理无任何关系。,常见错误,表示?第三子系统第一层图的第二个处理,DFD小结1:(1)上层DFD与下层DFD的平衡;(2)对图中各元素加以编号 P-处理 D-数据存储 F-数据流(3)图中只有数据流,无控制流 只考虑加工之间的数据流动,(4)数据流程图的核心是“处理功能”处理数据流。,(二)数据字典的内容,1、数据项的定义2、数据结构的定义3、数据流的定义4、处理逻辑的定义5、数据存储的定义6、外部实体的定义,处理逻辑的描述:小结,如果条件单一且取值较少,又包含了判断或循环逻辑,用结构化语言表达;如果条件和取值都较多,用判断树来表示;如果条件和取值都很复杂,条件组合也多,则使用判断表;,结构图(SC)是准确表达系统模块结构的图形表示方法,它能清楚地反映出系统中各模块间的层次关系和联系。与DFD反映数据流的情况不同,SC反映的是系统中控制流的情况,一、模块结构图(Structured Chart,SC),2.模块独立性的度量,模块独立性取决于模块的内部和外部特性结构化设计方法提出的度量标准:模块之间的耦合性(块间联系)模块自身的聚合性(块内联系),小结:接口复杂性与耦合类型的关系,小结:模块间聚合度的判断,步骤:,找出主加工、逻辑输入和逻辑输出,设计模块结构的顶层和第一层,设计中、下层模块,策略一:“变换分析”方法(Transform Analysis),(1)确定逻辑输入离物理输入端最远的,但仍可被看作系统输入的那个数据流,方法 从物理输入端开始,一步步向系统的中间移动,直至达到这样一个数据流它已不能再被看作为系统的输入,则其前一个数据流就是系统的逻辑输入,第一步:区分输入、主加工、输出部分,在DFD上标明分界线,(2)确定逻辑输出离物理输出端最远的,但仍可被看作系统输出的那个数据流,方法 从物理输出端开始,一步步向系统的中间反方向移动,直至达到这样一个数据流它已不能再被看作为系统的输出,则其后一个数据流就是系统的逻辑输出,第一步:区分输入、主加工、输出部分,在DFD上标明分界线,(3)对系统的每一股输入和输出,都用上面的方法找出相应的逻辑输入、输出;(4)确定主加工位于逻辑输入和逻辑输出之间的加工,就是系统的主加工。,第一步:区分输入、主加工、输出部分,在DFD上标明分界线,(5)注意:有的系统只有输入和输出两部分,没有主加工;根据经验,几股数据流的汇合处往往是系统的主加工;每个人找出来的主加工可能也不同,但一般不会相差太远,第一步:区分输入、主加工、输出部分,在DFD上标明分界线,(1)设计一个顶层模块(主模块),它的功能是完成整个程序要做的工作,第二步:设计SC的顶层和第一层模块,(2)设计SC的第一层为逻辑输入设计一个输入模块,它的功能是向主模块提供数据,为逻辑输出设计一个输出模块,它的功能是输出主模块提供的数据,为主加工设计一个变换模块,它的功能是将逻辑输入变换成逻辑输出,第二步:设计SC的顶层和第一层模块,回顾:SC中的四种模块,传入模块,A,A,传出模块,B,B,变换模块,C,D,协调模块,E,E,F,F,注意 第一层模块同顶层主模块之间传送的数据应与DFD相对应。这里主模块控制并协调一层的输入、变换、输出模块的工作,注意识别出选择、循环调用,及调用条件,第二步:设计SC的顶层和第一层模块,(1)为每一个输入模块设计两个下层模块,一个是输入模块,接受数据来源;另一个是变换模块,模块调用时传送的参数应同DFD相对应,第三步:二级分解自顶向下分解,设计出每个分支(输入、加工、输出)的中、下层模块,(2)输出模块也是两部分组成,一部分是变换模块,将数据变换成输出的形式;另一部分是输出模块,上述设计过程由顶向下递归进行,直至达到系统的输入端或输出端,第三步:二级分解自顶向下分解,设计出每个分支(输入、加工、输出)的中、下层模块,(3)变换模块的下层模块,根据DFD中相应加工的组成情况而定,第三步:二级分解自顶向下分解,设计出每个分支(输入、加工、输出)的中、下层模块,转换策略/技术之一:变换分析,变换分析设计方法,SYSTEM,GET C,MAKE CINTO D&E,PUT E,PUT D,GET B,MAKE BINTO C,MAKE EINTO G,PUT G,MAKE DINTO F,PUT F,GET A,MAKE AINTO B,MAKE GINTO H,PUT H,“变换分析”设计方法,“变换分析”设计方法,“变换分析”设计方法,数据结构规范化设计小结,非规范化的数据(有重复的数据),1NF(没有重复的数据),2NF(所有的非关键字均完全依赖于整个关键字),3NF(所有的非关键字均完全依赖于整个关键字,且只依赖于整个关键字),把所有非规范化的数据结构分解成若干个二维表形式的数据结构,并指定一个或若干个关键字,若关键字由不止一个元素组成,必须保证所有的非关键字数据元素依赖于整个关键字,否则去掉部分依赖关系,检查所有非关键字数据元素是否彼此独立,如果不是,去掉传递依赖关系,通过去除冗余的数据元素,构成都是3NF的数据结构,2.区间代码:代码分为组,每组具有一定的含义 比如,某大学的学生代码*前两位代表年级编号(大分类),中间两位代表专业及班级编号(中分类),后两位代表学生在班上的编号(小分类)。优点:分类明确,每层之间有严格的隶属关系,容量大;缺点:位数多。,(二)代码的分类,小李打算将自家住房出租,有一个身份证号码为的中年男子前来求租,但小李认定他的身份证是假的,并没有把房子租给他你们知道为什么吗?,例:我国公民身份证代码的含义,优点:分类基准明确,码中的数字(或字母)与位置都代表一定 的意义,因而检索、分类或排序都很方便;缺点:有时会造成代码过长,(三)代码的校验,校验:为了保证关键代码输入的准确性、减少输入错误,有意识地在编码设计的基础上,通过事先规定的某种数学方法,计算出校验码,附加在编码之后,作为编码的一部分。输入时与代码一起输入,此时计算机会用同种数学方法,输入代码进行数学计算,并与所输入的代码进行比较,以校验是否正确,并发现错误。,将代码(Ci)各位乘以权因子(Pi),求出各位的积:C1P1,C2P2,.,CnPn 求出加权和:S=C1P1+C2P2+.+CnPn 用加权和S除以模(常数 M),求出余数R,即 R=S mod M 模 M 减去余数 R 作为校验位,J=M-R(当J为10、11、12时,其校验位码为A、B、C;),确定校验位的方法,校验位可以发现以下各种错误,易位错误,随机错误,双易错误,抄写错误,在系统设计过程中,比较恰当的设计顺序是()A.输入设计 输出设计 文件设计 向管理人员提出报告B.文件设计 输入设计 输出设计 文件设计 向管理人员提出报告C.输出设计 输入设计 文件设计 向管理人员提出报告D.向管理人员提出报告 输入设计 输出设计 文件设计,输出是系统产生的结果或提供的信息。系统设计过程与实施过程相反,不是从输入设计到输出设计,而是从输出设计到输入设计。,输出设计,输出方式设计:打印输出、显示输出、报表输出、图形输出,我们先来看看分析阶段的工作,主要任务是画出用例图、类图、顺序图和状态图。系统行为建模建立用例图;系统事物建模建立类图;对象交互建模建立顺序图(交互图);对象行为建模建立状态图以上各种图是相互关联的,面向对象分析(OOA),基本概念用例 面向对象的方法使用术语“用例”来描述系统在对事件做出响应时所采取的行动;用例图是从用户角度描述系统功能,是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元;在UML中,一个用例用一个椭圆表示,在椭圆中可以使用一个短语来简单描述该用例。,2.系统行为建模用例图,多用于静态建模,主要是业务建模和需求建模 用例图是概括有关参与者和用例信息的一个图形化模型,它显示了一组用例、参与者以及它们之间的关系;,2.系统行为建模用例图,2.系统行为建模用例图,箭头指向的用例为被包含的用例,称为包含用例;箭头出发的用例为基用例。包含用例是必选的,包含用例必须被执行,其执行并不会改变基用例的行为。,扩展关系 箭头指向的用例为被扩展的用例,称为扩展用例;箭头出发的用例为基用例。扩展用例是可选的,如果缺少扩展用例,不会影响到基用例的完整性;扩展用例在一定条件下才会执行,并且其执行会改变基用例的行为。,2.系统行为建模用例图,用例图的开发Step 1:识别参与者 要明确在系统中哪些人或事物会成为系统的参与者,最有效的方法是分析系统与外界的交互;通常,一个参与者代表的角色有:人、硬件设备或者另外一个系统注:参与者是角色(role)而不是具体的人,它代表了参与者在与系统打交道的过程中所扮演的角色。所以在系统的实际运作中,一个实际用户可能对应系统的多个参与者。不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同实例。,2.系统行为建模用例图,判断:,1.UML中一共有九种图:它们是用例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图、部署图 2.用例图是从程序员角度来描述系统的功能 3.类图是描述系统中类的静态结构,对象图是描述系统中类的动态结构,(1)右图中的用例有?(2)2和3之间是什么关系?5和6呢?包含,扩展(3)5缺少了3仍然是个完整的用例?不是,习题:,类图几乎是所有面向对象开发方法的支柱,3.系统事物建模类图,3.系统事物建模类图,从业务功能描述中寻找到相关事物的属性,分析其相互间的关联关系,在对系统的事物进行分析之后,确定了系统的静态结构,即画出类图。类图描述系统中类的静态结构。,对象之间要发生交互,且这些交互要经历一定的时间阶段。顺序图所表达的就是这种对象之间的基于时间的动态交互关系,着重体现对象消息传递的时间顺序。时序图存在于两个轴:水平轴表示不同的对象,垂直轴表示时间。对用例图中的每一个用例进行建模,描述对象间的动态交互关系。,4.对象交互建模顺序图,顺序图举例:,从参与者到对象和从对象到参与者之间发送的消息,从对象传递给另一个对象的消息,在类图中的类的对象,使用系统的参与者,对象生命线表示从上到下的时间顺序,消息1在消息2之前发生,消息2在消息3之前发生,窄长方框用以强调这个部分处于活动状态,消息格式:向哪个对象发消息实际上就是调用它类中的操作,调用箭头指向对象所在类的 一个operation。,订单类发消息给客户类调用客户类中的“验证客户”操作,顺序图与用例图和类图的关系,5.对象行为建模状态图,UML语法描述,5.系统切换 系统的交付使用即系统的切换,包括把旧系统的文件转换成新系统的文件,数据的整理和录入,也包括人员、设备、组织机构的改造和调整,有关资料档案的建立和移交。,一、IS实施过程,“测试的目的是说明程序正确地执行它应有的功能”也是错误的。例:程序Triangle,输入三个整数,表示一个三角形的三个边长,该程序产生一个结果,指出该三角形是等边三角形、等腰三角形还是不等边三角形。为说明其能正确执行它的功能,可使用“测试用例”(3,4,5),(5,5,6),(6,6,6)程序都能给出正确结果,是否就可认为程序是正确的?,还应输入非法数据:0;7;9-7;3;5 a;2;7等,测试是为了发现错误,不能证明程序正确。,三、系统测试,测试用例应包括输入数据和预期的输出结果;不仅要选用合理的输入数据作为测试用例,而且还应选用不合理的输入数据作为测试用例;既要检查程序是否完成了它应做的工作,又要 检查它是否还做了它不应该做的事情;测试用例应长期保留。,2.测试的基本原则,三、系统测试,黑盒测试(又称为功能测试,数据驱动测试,基于规格说明书的测试)将被测试程序对象看作黑盒子,不考虑其内部程序结构与处理过程,仅仅对于程序接口进行测试。即检查适当的输入是否能够产生适当的输出。,两种类型的测试:黑盒测试和白盒测试,白盒测试(又称结构测试,玻璃盒测试,基于覆盖的测试)分析程序结构与过程执行路径,按照程序内部的逻辑结构设计测试用例,检验程序的每条通路是否按预期正常进行,力求提高测试覆盖率。,一般来说,占维护工作比例最高的是()。A.纠错性维护B.适应性维护 C.完善性维护 D.预防性维护,3软件维护:软件维护主要是指系统中应用程序的维护。软件维护的内容一般有以下几个方面:,(1)正确性维护。是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。据统计这方面的维护工作量要占整个维护工作量的1721。(2)适应性维护。是指使应用软件适应外界环境变化和管理需求变化而进行的修改。这方面的维护工作量占整个维护工作量的1825。,(3)完善性维护。这是为扩充功能和改善性能而进行的修改。主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。这方面的维护占整个维护工作的5066。(4)预防性维护。主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。这方面的维护工作量占整个维护工作量的4左右。,