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