APP下载

软件工程中结构化方法与面向对象方法的比较研究

2017-11-30

无线互联科技 2017年21期
关键词:面向对象结构化数量

张 玮

(贵州轻工职业技术学院,贵州 贵阳 550025)

软件工程中结构化方法与面向对象方法的比较研究

张 玮

(贵州轻工职业技术学院,贵州 贵阳 550025)

文章主要对软件工程中结构化方法与面向对象方法进行分别阐述,并将二者加以比较,相较而言,结构化方法在延展性与重用性方面较差,但运行效率较高;面向对象方法在延展性与重用性方面较好,但运行效率较低。

软件工程;结构化方法;面向对象方法

计算机技术的发展离不开软件工程的不断进步,现阶段,软件工程已经逐渐成为信息社会下的核心竞争力之一,随着技术发展与理念进步,软件开发方法也在不断革新,而结构化方法与面向对象方法为两种最为重要开发方法。

1 软件工程中的结构化方法

1.1 理论概述

软件工程中,结构化方法是较为经典的设计与开发方式之一,是沿用了系统性的科学方式,以自上而下层次划分的方式来对系统进行分析与设计。结构化方法设计分析、设计与程序设计3个环节,其中,结构化分析与结构化设计相对较为抽象,结构化程序设计内容相对具象,属学科设计领域。结构化方法通常包括两种类型:(1)基于尤顿设计方法学的结构化设计的面向过程的设计方法;(2)以结构化数据系统开发方法为代表的面向数据结构的设计方法。

1.2 设计原则与核心技术

结构化方法在软件工程中的应用理念,是将需要处理的问题看作一个整体性的问题,以系统化和科学化的方式来对问题加以分析并解决,通常需要遵循抽象化原则、分解性原则与模块化原则。结构化方法在软件工程中应用的核心问题与核心技术在于模型的构建问题,其本质目的是出于进一步理解现实世界的需要,模型的构建通常首先进行系统需求分析,运用结构化方法,以结构化分析方式来对系统与环境进行分析,并构建系统模型;以结构化设计方法对系统活动与功能模型进行确定;以结构化程序设计方法来确定系统环境模型,并在其基础上对系统行为与功能模型加以明确,合理描述系统的内部行为。通常所需要采用构建系统活动与功能模型的开发工具包括数据字典、数据流图、状态图与实体模型等[1]。

(1)数据字典工具即包括全部系统数据元素定义的数据集,在定义数据元素时必须保证其精准性与真实性,通常而言,一个数据字典工具需要包括的内容有:名称、学名、使用方法、内容简述、其他信息。(2)数据流图是在运用结构化分析与结构化设计方法时的基础与核心,以面向处理过程作为系统描述的主要思想,对信息与数据从录入到输出应用图形变换的全部过程加以描述,对系统的边界进行模拟,并展示系统内外部信号接口,展示数据录入、输出与存储的过程。(3)状态图是对对象变迁进行实时描述的状态,注重对于系统时间的依赖。状态图在某些方面与数据流图较为相似,但实际上二者有着相当大的差异,数据流图更加注重对于数据流及数据转换的描述,状态图则更加注重状态的变化,例如,对操作的起始状态与结束状态的描述。通常状态图中会产生一个与输入数据流相互对应的条件,这个条件同时会与控制流相对应。(4)实体模型其实是用以模拟系统中各环节之间相互关系的一种模型,与当前的系统及程序设计语言相互独立。

2 软件工程中的面向对象方法

2.1 程序设计语言

面向对象方法是基于面向对象理念为核心进而展开软件工程设计与开发方法的整合,这种设计与开发方法的核心就是对象,对于现实世界进行抽象化构造,并开发与之相应的软件工程。面向对象方法的本源是面向对象程序,涉及了许多相关理念,受到这一语言的影响,随后不断涌现更加创新、更加实用的面向对象程序设计语言,面向对象方法得以快速发展[2]。

2.2 基本理论

面向对象方法的基本理论是基于分类学中所阐述的人类认知世界的3种普遍方式而发展出来的,这3种普遍方式在于:(1)对对象特征与属性加以区分的方式;(2)对对象的整体与局部加以区分的方式;(3)对对象和类加以区分或整合的方式。面向对象方法的基本原理正是基于以上3种认知理念而构建的,在现实应用过程中,通常采用以上的3种理念对系统进行分解、整合、分析与设计,符合理论来源于实践,实践反哺理论的探索方法。

2.3 核心技术

2.3.1 面向对象分析模型

面向对象分析方法,更加关注现实模型的构建问题,依据系统科学的相关理论,对系统进行拆解与分层,一直以来,基于面向对象分析方法而产生的分层方法数量较多,且各有其独特性,例如,彼得·科特与爱德华·尤顿的分层方法,是将面向对象分析模型进行拆解,将之划分为主题、对象、结构、属性与服务5个层次,面向对象分析方法的主要目标是就这5个层次的内容进行模型的构建。对这5个层次进行阐述:(1)主题层面,是基于面向对象分析模型中的不同情况,向用户提供交流渠道的一种机制,能够提高人们理解系统模型的能力。(2)对象层面,将对象看作属性的一个封装集合,是对出于问题域中的客观事物加以抽象描述的一种方法,对象是类的集合产生的,类是对对象的描述方式,都能够通过属性与服务加以阐述。(3)结构层面,面向对象方法中,结构整合与结构分解是非常重要的类型,分别对“整体性与局部性”的关系及“一般性与特殊性”的关系进行描述,就结构整合而言,是基于人类认知世界的普遍方法之一—对整体与局部的区分方法而发展出来的;就结构分解而言,是基于人类认知世界的普遍方法之一—对对象和类加以区分的方式而发展出来的。(4)属性层面,是对对象和类中数据单元进行描述的一层,其中的每一个对象都有独立的属性,这些属性是用以描述状态的数据。(5)服务层面,每一个服务都是得到一条指令之后执行命令的一种操作机制,是对现实世界抽象化模拟的一种方式。

2.3.2 面向对象设计模型

面向对象分析模型与面向对象设计模型之间无需考虑相互转换的问题,面向对象设计模型依据现实情况下的设计需求,对面向对象分析模型所建立的5个层次进行必要调整,能够实现人机交互、任务与数据管理等层面的内容抽象化,能够保证面向对象设计模型的完整性。

2.3.3 面向对象分析模型与面向对象设计模型的实现

运用面向对象程序设计语言来构建面向对象分析模型与面向对象设计模型,相对来说较为简单,这是由于面向对象程序设计两种模型之间的构造相类,同样能够支持对象、类与继承等相关概念,运用面向对象方法需要格外注意结构问题。面向对象方法的相关概念能够在语言结构中加以呈现,更多的是表现方式而非表现能力的问题,而由于软件工程的开发需要将程序语言进行数据语言的转换,因而使用面向对象程序设计语言会产生更好的效果[3]。

3 结构化方法与面向对象方法的比较

综上所述,将结构化方法与面向对象方法进行比较(见表1)。

实例:以程序设计语言来对网上书城销售业绩加以表现(模拟代码呈现)。

描述1:结构化方法《狼图腾》数量=5

《月亮与六便士》数量=6

《新教伦理与资本主义精神》数量=4

《艺术与现实的审美关系》数量=7

……

//销售程序段

《狼图腾》数量=《狼图腾》数量-1//售出1本《狼图腾》

《艺术与现实的审美关系》数量=《艺术与现实的审美关系》-2//售出2本《艺术与现实的审美关系》

……

//采购程序段

《月亮与六便士》数量=《月亮与六便士》数量+3//采购3本《月亮与六便士》

运用Microsoft Excel统计处理数据、计算平均值和标准差,结合SPSS 21.0软件,采用单因素方差分析(One-way ANOVA)的Duncan多重比较法,分别对不同时间对照和增温处理下美国薄荷的各项生理指标进行分析,比较不同时间各指标的处理组与对照组之间差异显著性。数据在进行方差分析前,均进行了方差齐性检验。运用Oringin 9.1软件绘图。

《新教伦理与资本主义精神》数量=《新教伦理与资本主义精神》数量+2//采购2本《新教伦理与资本主义精神》

……

基于以上设计语言可以看出:(1)对变量及初始值加以定义;(2)依据时间顺序进行相应处理。

描述2:面向对象方法

网上书城{

《狼图腾》数量;

《新教伦理与资本主义精神》数量;

《艺术与现实的审美关系》数量;

售出(书名,数量){

书名=书名-数量;

}

采购(书名,数量){

书名=书名+数量;

}

}

面向对象方法的基本理念在于,对问题加以分解,模仿人类思维方式构建问题模型,对结构与行为进行模拟,尽量保证软件工程更加趋近于现实世界[4]。

表1 结构化方法与面向对象方法之间的比较

4 结语

考虑到软件工程的开发应该在满足用于需求的基础上实现成本的最小化,综合考量两种方法,建议在实际的软件开发工作中,针对用户的实际需求来选用不同的设计方式,以充分发挥结构化方法与面向对象方法的不同优势,或可将二者加以有机结合,互相弥补两种方法的短板,以实现软件开发的优化。

[1]周民,王秀丽.结构化方法与面向对象方法结合方案的探讨[J].科技创新导报,2012(20):42-43,45.

[2]汪寒昊,谢加胜,邢跃.软件开发方法—结构化方法与面向对象方法比较[J].科技信息,2011(13):77-78.

[3]蔺茹.软件工程中面向对象方法的优势分析[J].电子技术与软件工程,2014(24):54-55.

[4]曹昊,许玲,谢赞福,等.结构化较面向对象方法优势应用域的研究[J].微计算机信息,2010(21):194-196.

Research on the comparison of structured method and object-oriented method in software engineering

Zhang Wei
(Guizhou Light Industry Technical College, Guiyang 550025, China)

This paper mainly describes structured method and object-oriented method in software engineering, the two are compared, in contrast, the structured method is poor in scalability and structured method of reuse, but high efficiency; object oriented method is better in scalability and reusability, but low operation efficiency.

software engineering; structured method; object-oriented method

张玮(1981— ),女,贵州铜仁人,讲师,学士;研究方向:计算机科学与技术。

猜你喜欢

面向对象结构化数量
促进知识结构化的主题式复习初探
结构化面试方法在研究生复试中的应用
统一数量再比较
面向对象的计算机网络设计软件系统的开发
面向对象的数据交换协议研究与应用
面向对象Web开发编程语言的的评估方法
基于图模型的通用半结构化数据检索
面向对象信息提取中影像分割参数的选择
基于软信息的结构化转换