信息系统分析方法的应用对比研究

2017-05-30 20:29裘志华
大东方 2017年11期
关键词:面向对象结构化

摘要:以教务选课系统的分析过程为例,比较论述了结构化分析方法和面向对象分析方法的各自特点和不同之处。

关键词:信息系统分析;结构化;面向对象

信息系统分析的主要任务是在总体规划的指导下,在充分认识原信息系统的基础上,通过问题识别、可行性分析、详细调查、系统化分析,最后完成新系统的逻辑方案设计,或称逻辑模型设计。主要解决“做什么”的问题。

在软件业,已经成熟并占据主导地位的信息系统分析方法主要有结构化分析方法和面向对象分析方法。结构化方法是在软件行业得到广泛接受和使用,并一度成为早期占主导地位的系统分析方法。而面向对象方法提出后,当代软件工程的发展面临着从传统的结构化方法到面向对象方法的转变。而有关二者的优劣之争,白面向对象方法出现后就没有平息过。实际上,结构化方法和面向对象方法之间并不是革命性的变化,而模型驱动开发(MDD)则是一种革命性的变化。

下面以“教务选课系统”为实例,在系统分析实践中主要针对结构化方法与面向对象方法进行对比和摸索,并根据具体情况对如何合理地综合使用这两种设计方法进行探讨。

为减轻教务工作的强度,提高选课效率和信息化程度,在校领导的支持下,由教务处牵头对教务选课系统提出以下要求。在新学期开始之前,教务处课程管理人员结合各专业课程大纲和教师所提交的授课内容,对课程进行筛选,并最终确定新学期要开设的课程。在课程确定后,学生可以根据课程要求选择课程。其中必修课为必选内容,此部分不能选择;学生可以根据兴趣爱好选择选修课。选修课的数量不能大于6门,且上课时间不能冲突。当课程的选课人数已达到课程设置人数时,学生将不能再选择此门课程。在一段时间内,学生可以修改所选的课程。当选课时期结束后,学生只能查看已选课程。在选课结束后,教师可以查看所开课程的选课人数。如果选课人数少于课程设置人数的五分之一时,教师可以选择是否取消课程。

一、结构化分析方法

(1)结构化分析方法简介

結构化系统分析方法(Structured System Analysis简称SSA)就是运用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化、自顶向下的对系统进行分析。结构化系统分析方法是结构化方法、工程化系统开发方法和生命周期方法的结合,是迄今为止开发方法中应用最普遍、最成熟的一种系统分析方法。

结构化系统分析方法,就是坚持自顶向下的对系统进行结构化划分。在系统调查或理顺管理业务时,从最顶层的管理业务人手,逐步深入至最基层。在系统分析阶段,提出新系统方案和系统设计时,从宏观整体考虑人手,先考虑系统整体的优化,然后再考虑局部的优化问题。结构化分析方法强调过程抽象和功能模块化,使用的工具主要有业务流图TFD、数据流图DFD、数据字典、结构化语言、判定表和判定树等。结构化系统分析方法的特点:是在生命周期法基础上发展起来的,该方法适合于大型信息系统的开发;更强调开发人员与用户的紧密结合,而且在开发策略上更强调“从上到下”,注重开发过程的整体性和全局性;该方法的不足是分析过程复杂繁琐,周期长,系统难以适应环境的变化。

(2)教务选课系统结构化分析

按照结构化方法,系统分析的具体步骤为:第一步:初步调查;第二步:详细调查;第三步:组织结构与系统功能分析;第四步:系统业务流程分析;第五步:系统数据流程分析;第六步:建立新系统逻辑模型,提交系统分析报告。

根据上述对学生选课系统的业务需求描述,可以比较容易地得到系统业务流程图。根据业务流程图理出的业务流程顺序,结合相应调查过程中所掌握的数据处理过程,按照自顶向下、逐步细化的原则,分层展开,由粗到细,逐步求精,便可以绘制出系统的数据流程图,包括顶层DFD、一层DFD、二层DFD等等。

二、面向对象分析方法

(1)面向对象分析方法简介

面向对象分析(Object Oriented Analysis简称OOA)就是利用面向对象方法进行系统分析。OOA的基本任务是运用面向对象方法,对问题域和系统责任进行分解和理解,找出描述问题域及系统责任所需的类及对象,定义这些类和对象的属性与服务,以及它们之间所形成的结构、静态联系和动态联系。OOA是将现实世界中的问题进行分析和理解,理清其中的关系并映射到系统层面的一个过程。这个过程可以分为2个阶段,即需求分析阶段和系统分析阶段。OOA的最终目的是产生一个符合用户需求,并能够直接反映问题域和系统责任的00A模型及其详细说明。

OOA在近年发展很快,该方法的应用为软件组件复用提供了一种可行的方法,因而在类似大型系统的开发中可以有效地降低开发成本、缩短开发周期和提高开发质量。由于面向对象是一种较新的思维方式,因而在进行OOA时可能会造成用户的某些不适应。另外,由于00A的抽象程度较高,要完备地发现应用领域的全部对象,以其将这种对象映射为规范的对象描述都有一定的困难。

(2)教务选课系统面向对象分析

按照面向对象方法,系统分析的具体步骤为:第一步:发现业务参与者;第二步:获取业务用例,建立业务模型;第三步:建立系统用例和用例规约;第四步:建立静态视图,主要包括类图;第五步:建立动态视图,主要包括状态图、活动图、序列图、协作图。

根据教务选课系统的业务需求描述,分别建立系统用例图。根据分析得到的系统用例,进一步分析出静态视图和动态视图。

三、两种分析方法的比较

从上述对同一业务需求的教务选课系统的分析过程和结果可以看出,结构化方法和面向对象方法是有许多不同之处的,具体如下:

(1)二者的处理中心不同。

结构化方法是以处理过程为中心,强调先分析确定业务流程,然后再分析处理逻辑(DFD数据流图)。面向对象方法则是以数据为中心来描述系统。数据相对于功能而言,具有更强的稳定性,这样分析出的系统模型往往能较好地映射问题域模型。由于00方法采用对现实世界的自然映射,现实世界中的业务流程发生变化时,软件实现也可以比较方便地跟着转变;而采用结构化方法的映射,软件上相应修改的工作量就会大一些。

(2)二者的工具和技术支持不同。

系统分析是一个注重实践的领域,不仅仅依赖于一整套核心的概念与原理,要想分析设计出一个成功的系统来,还需要相应的语言、工具和技术的有力支持。经过多年的实践和发展,适应结构化方法的技术和开发环境已经相当成熟稳定。而对面向对象方法而言,虽然近时期涌现了大量的新工具和新技术,比如UML,但仍有待于不断的完善和改进。

(3)二者的适用范围不同。

结构化方法适用于数据少而操作多的问题,对于以功能为主的系统,结构化方法比较适应它。面向对象方法正好相反,对于以数据为主的而操作较少的系统,用面向对象方法分析要好于结构化方法。

软件工程的目标是以最小的代价开发出满足用户需求的信息系统。为此,根据系统的实际需求,关注运用方法的成本和价值,分别针对具体情况选择采用不同的分析方法,可以充分发挥面向对象与结构化方法各自的优势。目前在大多数信息系统的分析过程中,这两者方法都兼而有之。特别需求强调的是,无论使用哪一种信息系统的分析方法,正确清晰地界定需求都是成功开发一个信息系统的必不可少的前提条件。

作者简介

裘志华(1971-),女,硕士,教授.研究领域:信息系统开发,数据库管理.

(作者单位:辽宁对外经贸学院)

猜你喜欢
面向对象结构化
促进知识结构化的主题式复习初探
改进的非结构化对等网络动态搜索算法
结构化面试方法在研究生复试中的应用
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
面向对象的计算机网络设计软件系统的开发
面向对象的数据交换协议研究与应用
基于面向对象的Office评测系统的分析
峰丛洼地农作物面向对象信息提取规则集
基于图模型的通用半结构化数据检索
面向对象的SoS体系结构建模方法及应用