《软件工程导论1》由会员分享,可在线阅读,更多相关《软件工程导论1(18页珍藏版)》请在金锄头文库上搜索。
1、生命周期方法: 生命周期法采用介于形式语言和自然语言之间的描述方式,通过一套分层的数据 流程图,附以数据字典、小说明等工具来描述系统。生命周期法的基本思想 为保证系统开发的顺利进行,生命周期法强调遵循以下几个基本原则:(一)面向用户的观点 信息系统的目的是为管理人员提供管理和决策信息,能否满足用户的信息需 求,是系统成败的重要标志。实践证明,用户的参与,尤其是领导的介入,是系 统成功的关键。在整个研制过程中,系统研制人员应该始终与用户保持联系,从 调查研究入手,充分理解用户的信息需求和业务活动,不断地让用户了解工作进 展情况,校准工作方向。(二)严格区分工作阶段 生命周期法强调按时间顺序、工作
2、内容,将系统开发划分为几个工作阶段, 如系统规划阶段、系统分析阶段、系统设计阶段、系统实施阶段以及系统运行与 维护阶段等等,各个阶段的任务是明确的,过程是循序渐进的。对于复杂的系统, 要强调和加强前期工作,强调分析设计的深入细致,以避免后期返工,造成投资 耗费和负社会效益。(三)自顶向下地完成系统的研制工作 在系统分析阶段,从全局出发,对企业进行周密的调查分析,自上而下,从 粗到精,由表及里,逐层、逐级进行业务过程分解,最后进行逆向综合和抽象, 完成新系统模型的构造。在系统设计阶段,用划分子系统的方法,把系统逐层分 解到详细模块,完成设计方案。在实施阶段,从实现系统的框架开始,自上而下 实现系
3、统功能。程序设计过程中同样采用结构化设计的方法,自顶向下,逐步求 精。(四)充分考虑变化的情况 组织的经营环境在变化,用户的信息需求也在变化,他们对信息系统的要求 会自然越来越高。生命周期法充分考虑了这种变化,在系统设计中,把系统的可 变更性放在了首位,运用模块结构方式来组织系统,使系统的灵活性和可变更性 得以充分体现。(五)工作成果文档化、标准化 系统开发是一项复杂的系统工程,参加人员多,经历时间长。生命周期法用 文档的标准化保证开发工作的连续性,在每个开发阶段,都要用文字、图表表达 该阶段的成果,资料格式标准化、格式化。这些文档资料在开发过程中是开发人 员和用户交流思想的工具和媒介,在开发
4、完成后,成为系统维护的依据。因此, 要求文档资料简洁明确,无二义性,既便于研制人员阅读,又便于用户理解。 生命周期法的特点生命周期法很适合于开发大型的事务处理系统、大型的管理信息系统和可靠 性要求很高的复杂应用系统。也是软件的社会化大生产的有效方法。生命周期法具有以下特点:1、强调计划性,排除不确定性。生命周期法通常假定系统的应用需求是预 先描述清楚的,排除所有的不确定性因素。2、强调分工,严格区分系统开发的各个阶段中的任务和要求,目的明确, 任务清楚。3强调标准化和规范化,排除个性化和自由发挥。规范、齐全的文档,严 格的审定记录和有序的过程调度。生命周期法的缺点 生命周期法是最成熟、应用最广
5、泛的一种工程化方法,它也有不足和局限性。(一)系统需求的不确定性:1在系统开发的起始阶段,用户对系统的目的和功能不了解,他们无法 准确地描述自己对信息的需求。2系统分析人员和用户无法预测组织和系统的未来,按照目前状况描述 的系统需求,可靠性可能很差。3用户和系统分析人员对信息需求的理解上会有偏差和错误,造成信息 需求的描述不准确。4、组织管理体制的变更,导致信息需求和工作过程发生变化。(二)开发周期长 一个规模较大的系统,其开发过程往往需要一至三年,这样一方面使用 户在较长时间内不能得到一个可实际运行的物理系统,使用户有可望而不可 及的焦虑;另一方面也难以适应环境变化,因为在开发过程中,信息需
6、求可 能已经发生了变化,系统尚未开发出来可能就已经过期了。(三)文档化工作复杂: 生命周期法在开发的各个阶段中文档很多,工作烦琐,管理费用很高。(三)缺乏灵活性: 开发中途修改方案的困难很大,涉及到的问题很复杂。*数据流程图的画法一般地说,画 DFD 应遵循“由外向内,自顶向下”原则进行。由外向内是 指:先标定系统范围。这个范围就是输入输出之间的部分,该部分的细节暂不考 虑。有时最外部难以表示出来全部数据流,但这不要紧,因为无法表示的内部数 据流随着设计过程的深入,逐步会分解、画出并填补上去。描述系统内部数据流, 一般从输入端开始向输出端推进,每当经过使数据流的组成或数值发生变化的地 方,就用
7、一个“加工”将其连接起来,这个“加工”正是实现这一数据变化的。 注意,不要把相互无关的数据画成一个数据流,也不要把作为一个处理单位的数 据画成两个数据流;如果牵涉到文件,则应表示出“文件”与“加工”的关系(读 或写)。画数据流程图时注意以下两点:1、应该遵照业务处理过程(即前边的结果),将系统调查的资料和整理数据 结合起来,在绘制的过程中不断地与相应的调查记录、数据记录对照,以便能及 时发现诸如数据不匹配,流通渠道不畅,处理过程不合理之类的问题。2、由于实际数据处理过程常常比较繁杂,故应该按照系统的观点,自顶向 下地分层展开绘制,即先将比较繁杂的处理过程(不管有多大)当成一个整体处 理块来看待
8、(俗称“黑匣子” );然后绘出周围实体与这个整体块的数据联系过 程;然后再进一步将这个块展开,如果内部还涉及到若干个比较复杂的数据处理 部分的话,又将这些部分分别视为几个小“黑匣子” ,同样,先不管其内部, 只分析它们之间的数据联系。这样反复下去,依此类推,直至最终搞清了所有问 题为止,也有人将这个过程比喻为使黑匣子逐渐变“灰”,直到“半透明”和“完 全透明”的分析过程。3、数据流程图举例我们在前边示例中,调查分析该企业财务科数据流程、业务流程及其组织结 构图,然后根据其组织结构图(图 3.9)从上至下展开, 画出各自的数据流程图。 如图3.14,然后将 3.14分解细化为图3.15。在图3.
9、15的基础上,画出第一层对 应的数据流程图,如图3.16(a) (d)。图3.15的每个处理对应图3.16中的一个数 据流程图。顶层2131.23.41.13.13.31.41.33.2351.4.21.4.11.4.31.4.51.4.4图 3.13 结构化分析方法的示意图成本报工时会计核算领料单料单汇总燃料汇总水电气汇总表扎差表考勤表成本分析表厂长 总会 计师车间仓库上级车间车间仓库动力车间动力图 3.14 会计核算顶层图领料单图 3.15 会计核算零层图结构化分析示例 4.一层图(1)图3.16 (a)材料核算结构化分析示例 4.一层图(2)考核标准图3.16 (b)工资核算结构化分析示
10、例 4.一层图(3)3.16 (c)成本核算结构化分析示例 4.一层图(4)3.16 (d)综合分析*画数据流程图的注意事项1数据守恒 数据守恒是指输入数据与输出数据匹配。数据不守恒有两种情况。一种是某 个处理过程用以产生输出的数据,没有输入给这个处理过程,这肯定是遗漏了某 些数据流。另一种是某些输入在处理过程中没有被使用。2父子平衡 逐步扩展数据流程图,是对上层图(父图)中某些处理框加以分解,下层图 (子图)是上层图中某个处理框的“放大”。父图中某一处理框的输入,输出数 据流必须出现在相应的子图中,否则就会出现父图与子图的不平衡,父图与子图 的关系,类似于全国地图与各省地图的关系。在全国地图
11、上标出的主要的铁路、 河流,在各省地图上则标得更详细,除了有全国地图上与该省相关的铁路、河流 之外,还有一些次要的铁路、公路、河流等,如在上图 3.15 零层图中的材料核 算共有三个入口,表现在图3.16 (a)只有三个入口,上下表示是一致的。3均匀分解 如果在一张数据流程图中,某些处理已是基本加工,而另一些却还要进一步 分解三四层,这样的分解就不均匀。不均匀的分解不易被理解,因为其中某些部 分描述的是细节,而其他部分描述的是较高层的功能。遇到这种情况,应重新考 虑分解,努力避免特别不均匀的分解。4适当命名 数据流程图中各种成分的命名与易解性有直接关系,所以应注意命名适当。 特别是处理框的命名
12、应能准确地表达其功能,理想的命名由一个具体的动词加一 个具体的名词组成,在下层尤其应该如此,例如“工资计算”、“材料分配”等。画出数据流程图,要验证其正确性。对一个大型系统不可能一开始就十全十 美的,要经过逐步去粗取精,去伪存真的改进过程。(四)汇总数据流程图 通过对数据流程分析,揭示出现行系统具有四个主要处理:成本核算、材料 核算、工资核算和综合分析。我们从上至下对数据流程图进行汇总,确定该系统 的逻辑模型如图 3.17。在数据流程图中显示出系统当前使用的数据存储有:部门资料、考核标准、 产品明细表、工时比例标准、工资文件、其它计算标准、成本历史文件、财务标 准文件。这些数据存储文件的内涵应
13、在数据字典中进行详细描述。三、数据字典DFD表达了数据与处理的关系,数据字典(data dictionary, DD)则是对系 统中的数据的详尽描述,它提供对数据库数据描述的集中管理,目的是对收集到 的数据进行标准化、统一化,有统一的名称、格式和含义。数据字典除保存数据 名、类型、长度、精度等有关信息外,还包括数据流向的描述和加工的描述,显 然数据字典可供设计者和用户双方参照使用,它为系统设计人员提供了一个有力 的工具。单独的 DFD 和单独 DD 都没有任何意义,只有两者结合在一起,加上必要 的说明才能构成“系统说明书” DD产生于数据流图,是对数据流图中的数据 流、数据项、文件和加工等描述
14、的产物。(一) 概述系统分析中所使用的数据字典,主要用来描述数据流程图中的数据流、数据 存储、处理过程和外部实体。数据字典把数据的最小组成单位看成是数据项(数 据元素),若干个数据项可以组成一个数据结构(组合数据项)。数据结构是一个 递归概念,即数据结构的成分也可以是数据结构。数据字典通过数据项和数据结 构来描写数据流,数据的存储的属性,它们之间的关系如 3.18 所示图 3.18 数据结构与数据项数据项组成数据结构,数据结构组成数据流和数据存储。建立数据字典的工作量很大,相当繁琐,但这是一项必不可少的工作。数据 字典在系统开发中具有十分重要的意义,不仅在系统分析阶段,而且在整个研制 过程中以及今后系统运行中都要使用它。数据字典可以用人工方式建立,事先印好表格,填好后接一定顺序排列,就 是一本字典。也可以结合手工的整理,存贮在计算机内,这样使用、维护都比较 方便。(二)数据字典的内容与示例数据字典中所包括的项目有六类:数据项、数据结构、数据流、处理逻辑(加 工)、数据存储文件、外部实体。不同类型的项目有不同的属性需要描述,现分别说明如下:1、数据项数据项也