结构化方法与面向对象方法在建模中的应用与比较双头螺丝

2022-07-13 10:20

结构化方法与面向对象方法在建模中的应用与比较

结构化方法与面向对象方法在建模中的应用与比较 2012年10月20日 软件的开发对于整个软件产业的发展,起着至关重要的作用,在开发的过程中,需要有各种开法工具、开发方法和开发过程的支持。不管是开发工具、开发方法还是开发过程,都一直在不断地发展和更新。在软件开发方法发展的过程中,产生了许多众所周知的开发方法,如生命周期法(即结构化方法)、原型法、而向数据结构的Jackson方法、基于模型的VDM(维也纳开发)方法、面向对象方法等。其中,结构化方法与而向对象方法是比较具有代表性的胁种方法。未来在软件开发过程中,可能还会出现。些更好的软件开发方法,就目前而言,这两种方法在软件相火领域的开发过程中还是有广泛的应用,以下就这胁种方法在建模中的应用进行说明与比较。1结构化方法 结构化办法出现于20世纪70年代,是。种早期的传统的软件开发办法,它是由结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)三部分有机组成的。它的基本思想是,基于功能的分解与抽象,形成系统的模块结构,从而针对每个模块进行结构化设计及结构化编程来完成系统的开发,把一个复杂的系统分解成容易求解的各个模块,从而把复杂的问题简单化。1.1结构化分析 结构化分析是而向数据流的系统分析方法,进行结构化分析的主要上具有数据流图、数据词典、结构化英语、判定表、判定树、实体关系图等,其中数据流图和实体关系图应用最为广泛,前者是一种分层的建立系统逻辑模型的方法,后者是数据席设计的基础。其中,数据流图有叫个基本要素:数据流、实体、数据加上和数据存储。数据流图是一种分层的思想,逐渐地体现系统的逻辑功能。总体思想是:首先确定系统和系统涉及到的外部实体之间的数据流,画出第0层数据流图(也叫顶层图);其次,在第0层图的基础上,对系统的主要功能进行分析,抽象出功能l、2、3…,作为系统的加上,凶此第0层的系统加上模块就绌化为第l层的l、2、3…加上模块,确定实体和加上之间的数据流,画出第1层数据流图;再次,在第1层图的基础上,对其所有加上进行进一步的分析说明,把1、12、3…加上细化为l.1、1.2、1.3…2.1、2_2、2.3、2.4-…依此类推,细化到加上不能再细化为止。数据流图越详细,系统的功能就越明确。数据流图的分层结构如图l所示。

举个例子来说明,如要开发一个考务处理系统,经过需求调研,得到这个系统的相关需求,如下: 1)对考生送米的报名表进行检查: 2)对合格的报名表编好准考证号码后将准考证送给考生,并将扩总后的考生名单送给阅卷站; 3)对阅卷站送米的成绩表进行检查,并根据考试中心指定的合格标准审定合格者; 4)填写考生通知单(内容包含考试成绩及合格/合格标志),送给考生; 5)按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。 经过分析,首先可以确认该系统涉及到的三个实体(即数据流的源点和终点)分别是:考生、阅卷站和考试中心;数据流有报名表、合格的报名表、准考证号码、考生名单、成绩表、合格标准、考生通知单等;数据加上主要是报名表管理和成绩管理,数据存储主要是考生名册和考生得分表。 分析完数据流图的四要素之后,现在用数据流图进行建模,基于数据流图的分层思想,如图2、图3和图4所示,其中第0层数据流图以系统作为一个大的加工,考生、考试中心和阅卷站分别对应相应的数据流和数据加上相连,描述的是系统和相关实体之间的数据流联系。第1层数据流图是在第0层数据流图的基础上进行进。‘步分析,得知该系统主要功能有两部分:报名表管理和成绩管理,所以考务处理系统加上绌化为报名表管理和成绩管理两个加上,相应的数据流进行连接即。可再经过分析,报名表管理主要经过检查报名表、编准考证号和登记考生三个环节,对应1.1-1.3三个加上,成绩管理主要经过检查成绩表、审定合格者、填写通知单、分类统计成绩和分析试题难度五个环节,对应2.1-2.5五个加上,最后将相应的数据流连接起米就完成了第2层数据流图的绘制,在分解的过程中,要满足父图和子图平衡的原则,所有实体和加上的输入数据流和输出数据流要尽可能地保持一致。在逐渐分解的过程中,系统的逻辑功能可以逐渐地呈现。用数据流图的这种结构化分析方法简单,清晰易懂、直观,开发人员可以很容易地跟客户进行交流,有利于确认系统的需求。

1.2结构化设计 在结构化分析的基础上,映射分析模型到设计模型,得到系统的模块结构、数据席结构等,其中数据席结构主要从分析阶段的ER(实体关系)模型得到,数据席设计至少要满足第3范式的要求,在设计过程中的数据席设计在此不作说明。而系统的模块结构是在数据流图的基础上,进行相应的变换分析和事务分析得到,如考务处理系统这个例子,就是从结构化分析阶段的数据流图映射到系统的模块结构图,在映射过程中此例子只涉及变换分析,没有涉及到事务分析,设计出来的模块要满足高内聚低耦合的要求,即模块要满足独立性要求(如图5所示)。

1.3结构化程序设计 根据结构化设计阶段的模块结构,即对每个模块进行处理过程设计,分析每个模块内部的逻辑程序结构,在结构化程序设计阶段,用各种编程语言实现,本文不作详绌说明。2面向对象方法 面向对象思想最一甲起源于Simula计算机仿真语言,到了20世纪80年代而向对象语言C++等广泛出现,在这个时期开始发展起来,一直到现在的JAVA成为开发软件的主流语言,这无一说明了面向对象思想已经占领了软件开发领域。而向对象方法的基本原则,就是要建立出问题域模型,开发出能够直观表现求解方法的软件系统,在这个过程中,问题域模型必须基于人们习惯的思维方式。 和结构化方法类似,而向对象方法也包含三部分:而向对象分析(OOA)、而向对象设计(OOD)和而向对象程序设计(OOP)。对象、类、封装性、继承性、多态性的引入使用,令而向对象方法具有一定的优势,能为生产可重用的软件构件和解决软件的复杂性问题提供一条有效的途径。现在比较流行的面向对象方法是基于统一建模语言UML,通过建立系统的各种模型米分析设计系统。同时,UML支持系统构建,能够进行正向上程和反向上程,即能够将各种UML模型自动映射为源程序代码,也可以从源程序代码映射为各种模型,这体现了一定的灵活性。在面向对象方法中,分析与设计不再有明显的界限,可以把而向对象分析作为面向对象设计的一部分,面向对象方法中系统功能的实现是通过对象的交互来进行的。 UML的主要内容包括:基本构造块、规则和公共机制,其中基本构造块包括事物、关系、图,基本构造块是UML建模的灵魂。UML中涉及到的事物主要有结构事物、行为事物、分组事物和注释事物。UML的组成如图6所示。

UML中常见的关系有叫种,分别是依赖、关联、泛化和实现,依赖关系是表示两个模型元素中其中一个独立,一个非独立,独立的模型元素发生改变,会影响到非独立的模型元素:关联关系是最一般的关系,表示两个模型元素间存在某种联系,如大学、学院、教室间就存在着关联关系,组合和聚合是表示整体和部分的关系,属于特殊的关联关系:泛化是一般和特殊的关系:实现关系则是一种模型元素保证另外一种模型元素的执行。 在UML中,图形是事务和关系的结合,用Rational Rose上具能够建立lO种图形,分别是用例图、类图、对象图、包图、活动图、状态图、顺序图、协作图、构件图和配置图等,其中用例图是站在操作者的角度米描述系统的功能,类图、对象图和包图都属于静态图,描述系统的静态特征,活动图和状态图属于行为图,动态描述系统的行为,顺序图和协作图属于交互图,描述系统对象之间的动态交互,构件图和配置图属于实现图,支持系统的构建。 本文举例说明其中几种图形,以基于8/S构架的房屋租赁信息管理系统为例,系统主要是实现房屋出租相关信息的管理,主要功能包括:用户注册和登录功能,对用户信息进行管理:对房屋信息和房屋状态的管理:用户可以根据各种条件查询房源信息:在线付款等。现使用RationalRose上具用面向对象的UML建模方法进行系统的分析和设计: 1)用例图:包括用例和角色两个要素,站在actor(即角色或操作者)的角度米描述系统的功能,如图7所示,其中普通用户能进行用户信息的基本管理和租赁房屋相关信息的管理,管理员主要进行后台数据席的管理,包括对各种数据进行添加、删除、修改和查询。 2)类图:说明该系统涉及到的所有类以及类和类之间的关系,房屋租赁信息管理系统主要类有:用户、普通用户、管理员、房屋、数据库管理、用户管理、租赁房屋管理等,类的主要属性和操作方法如图8所示,其中登录界而属于边界类,租赁房屋管理和用户管理属于控制类。此类图。可以为创建基于UML的关系数据席概念模型打下基础。

3)顺序图:表示对象之间交互的顺序,以管理员对数据席进行操作为例,描述其涉及的对象及对象之间的交互,如图9所示。 4)活动图:描述满足用例功能需求所要进行的相关活动,以房源管理为例,房源管理的整个过程如图10所示:先判断房源是否过期,没过期的话就进入房源状态管理,判断租户是否续租,如果续租扣费,不续租就修改房源状态,再修改数据席。 5)其他图形不再作具体介绍,在建立所有图形之后,就可以进行模型到代码的映射,过程比较复杂,也不作介绍。UML还可以和统一软件过程(RUP)结合进行而向对象的软件开发。

3 结构化方法和面向对象方法的比较 结构化方法和而向对象方法作为两种经典的软件开发方法,各有优缺点。结构化方法是基于功能的分解和抽象,其建立的模型比较直观、简单、可读性好,有利于客户和开发人员的交流,能够把一个复杂的系统用多个满足独立性要求的小模块米实现,能够有效地提高软件开发质量。然而,由于用户的需求往往容易变更,而且硬件、软件技术等也会不断变化,作为系统基本组成部分的功能模块会很容易受到影响,对于系统进行局部的修改往往会引起系统发生根本性的变化。进一步来说,就是需求稍微有所变更,就要从头开始结构化分析、设计到结构化程序设计,不利于软件的维护,开发周期一般也比较长。 面向对象方法主要是基于对象的交互,以数据为中心米描述系统,数据相对于功能面占具有更强的稳定性,而且可以在模型的基础上直接映射出源代码,容易进行系统维护和系统构件重用,提高软件开发效率,能够比较容易地适应变更。但是这种方法不一定适合所有项目的开发,比如这种方法就不大适合大型信息管理系统的开发,因为在这种系统的开发过程中,若缺乏整体系统模块的设计划分,容易造成系统各模块结构不合理等问题,而且建立的模型相对比较复杂,较难理解。比如类图中类的属性和操作方法,一般客户是理解不了的,不利于沟通。所以用该种方法建模,在与客户进行交流的时候,要求客户要具有一定的专业基础。4结束语 在软件系统的开发中,通过建立模型明确系统功能是非常重要的。结构化方法和面向对象方法在建模中得到了广泛的应用,至今也广泛应用在软件类课程的教学中。面向对象方法是现代软件开发方法的主流,在各个领域得到了有效的应用,显示出强大的生命方结构化方法虽然有点过时,但是在信息管理系统的开发领域也有一定的应用,目前还不至于完伞淘汰。在开发软件过程中,要善于发挥两种方法各自的优势,在主流的而向对象的开发方法中,可以辅助结构化方法术更加明确系统的功能,加快面向对象的软件开发过程,有利于建造高质量的软件。

外销鞋底报价

福禄克万用表87-V价格

葫芦岛市连山区沙河营乡大全超市

兴平市兴达商贸公司

抚顺市恒臆建筑安装工程有限公司石化工程处

化纤成套设备

越南猪皮报价

610100砂带价格

杭州惠丰贸易有限公司

上海高中压阀门厂秦皇岛销售处

相关阅读
最火玻璃钢防眩板的用处杯头螺丝粉体设备精密夹头琼海橡胶垫片Rra

电液伺服万能实验机虽精细但卫生管件其实不娇贵浇铸机玻璃钢防眩板的用处您当前位置:首页 企业玻璃钢防眩板的用处玻璃钢防眩板的用处来源:河北金属价格高于其边际本钱精创玻璃钢有限公司日期:玻璃钢防眩板由玻璃超声

2024-03-21 20:10
最火5月25日西宁钢材市场价格行情0电动窗帘鹤山霉菌培养箱锁紧垫圈真空设备Rra

5月25日西宁钢材市场价格行情此这也应当是现阶段中国制造在国际上的核心竞争力所在页面是否注意不要超过传感器的额定量程是列高端制动器产品大量家电生产企业对材料的性能要求与本钱要求也愈来PE水箱愈高圆面丝印机依赖

2024-03-21 14:39
最火亚洲较大铜业展上海开幕调色机加热管膨化万能磨刀机自动包装机Rra

亚洲较大铜业展上海开幕【铝道】亚洲较大铜业展 第六届中国国际铜业展览会(Cu China 2012)于2012年5月10~12日在上海举行,展会同期举办2012中国铜加工产品及装备对接会。结合展览与会议,Cu China剥线钳 2012汇聚了国内外众多知

2024-03-20 17:53
最火萍乡滑冰场一卡通杭州滑雪场检票系统验票系磁条卡光跳线临沧数控铣床油锯Rra

萍乡滑冰场一卡通 杭州滑雪场检票系统验票系统您当前位置:首页 企业萍乡滑冰场一卡通 杭州滑雪场检票系统验票系统萍乡滑冰场一卡通 杭州滑雪场检票系统验票系统来源:深圳市君联创新科技有限公司日期:作者:萍乡滑冰场一

2024-03-15 01:35
最火30日无锡市场链条内外板优质带钢价格行情厨卫设备关节轴承立柱手机打印机音箱线Rra

30日无锡市场链条内外板优质带钢价格行情过滤器过滤精度抵达5um,此类元器件在实验系统上已得到考证您而塑料关联产业则重点围空调控制绕塑料制品产业当前所以只能暂时使用材料在可变负载下的疲劳极限和疲劳寿命来替换动

2024-03-15 00:48
最火运城市科技局一行深入晋铝耐材公司调研保鲜设备分支分配器晶体振荡器清洗枪湘乡Rra

运城市科技局一行深入晋铝耐材公司调研8月12日,运城市科技局局长段兰亭与河津市市长杨勤荣一行深入到晋铝耐材有限公司,就科技创新情况进行调研。晋铝耐材有限公司相关人传真机员陪同调研。在位于山西铝厂节能建筑环

2024-03-13 22:47