




已阅读5页,还剩65页未读, 继续免费阅读
(计算机应用技术专业论文)基于数据库的小型非严格实时处理系统的设计研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电大学研究生论文 基于数据库的小型非严格实时处理系统的设计研究 摘要 随着计算机技术的不断发展、计算机应用的广泛普及、以及互联网技术的出 现,计算机、通信技术的应用已经不再局限于纯计算和电信领域,开始向其它各 行各业普及。越来越多的人们体会到了信息化、电子化给生活和工作带来的益处。 相对于纯计算或电信应用领域内计算机系统的庞大、复杂,在其它应用领域 中对计算机及其系统有特殊的要求。所以,针对不同业务领域、不同规模的应用, 对系统结构的设计有着特殊的考虑。 本论文首先以特定业务应用背景为基础,结合计算机应用领域的相关知识, 定义了一种基于数据库的小型非严格实时处理系统。然后围绕这种特殊的系统定 义,结合实际应用经验,对系统设计进行了研究和论述。 论文前半部分,作者首先对结构化系统设计方法、数据库设计方法、程序结 构设计中要重点考虑的线程处理、数据库存储过程技术等进行了剖析和总结,给 出了作者的_ 些见解。然后结合实例对一种智能餐饮系统的设计进行了介绍。 论文后半部分,作者首先指出了原有的系统设计结构在实际使用中遇到的一 些问题。然后在原有设计基础之上,对优化系统结构、提高系统性能方面所做的 一些工作和体会进行论述,并结合实例对遇到的问题及相应的解决方案进行描 述。 由于时间仓卒以及作者水平经验有限,文中疏漏之处在所难免,望各位老师、 评委予以批评指正。 关键词: 系统设计结构化设计数据库设计餐饮信息系统多线程存储过程 第1 页 型生型壁塑苎塑堕! 燮一 董主墼塑壁塑! :型斐兰堡壅堕竺墨墨竺竺堡生堕塞 a b s t r a c t w i t ht h ec o n t i n u o u sd e v e l o p m e n to f c o m p u t e rt e c h n o l o g y , t h ew i d e l yp r e v a l e n c eo f c o m p u t e ra p p l i c a t i o na n dt h ee m e r g e n c eo f i n t e m e t ,t h ea p p l i c a t i o no f c o m p u t e ra n d c o m m u n i c a t i o n t e c h n o l o g y h a s e x p e n d e d i t sd o m a i n f r o mc a l c u l a t i o na n d t e l e c o m m u n i c a t i o nf i e l d st om a n yo t h e rf i e l d s m o r ea n dm o r e p e o p l eg e tt h eb e n e f i t s f r o ma l lt h e s ec h a n g e si nt h e i rw o r ka n d d a i l yl i f e t h es o f t w a r es y s t e mi nc a l c u l a t i o na n dt e l e c o m m u n i c a t i o nf i l e d i s a l w a y sh u g ea n d c o m p l e x ,b u ti no t h e rf e l d s ,t h e r ea r el o t so fd i f f e r e n c e s d i f f e r e n tf i e l d ,d i f f e r e n t r e q u i r e m e n ta n dd i f f e r e n ts y s t e ms c a l el e a dt od i f f e r e n tc o n s i d e r a t i o ni nt h es y s t e m a r c h i t e c t u r ed e s i g n t h i sa r t i c l eg i v e st h ed e f i n i t i o no f ak i n do f s m a l l s c a l es o f tr e a l t i m es y s t e mb a s e do n d a t a b a s e ,a n dg i v e st h ed e t a i lr e s e a r c ha n dd e m o n s t r a t i o nf o r t h es y s t e m d e s i g n i nt h ef o r m e r p a r t o ft h i s t h e s i s ,t h e 盈i t h o rf i r s ta n a l y z e sa n ds t t m m a r i z e st h e s t r u c t u r a ld e s i g nm e t h o d ,t h ed a t a b a s ed e s i g nm e t h o d ,t h et h r e a d p r o c e s s i n ga sw e l la s t h ed a t a b a s es t o r e - p r o c e d u r et e c h n o l o g y t h e n ,a c c o r d i n gt ot h e s es u m m a r i z e s ,t h e a u t h o rg i v e sh i so w no p i n i o n so ns o f t w a r ea r c h i t e c t u r ed e s i g n f i n a l l y , t h ea u t h o r g i v e sa n i n t r o d u c t i o nt oa l le x a m p l e :t h ei n t e l l i g e n c ed i s h - o r d e r s y s t e m 一 i nt h el a t e rp a r to f t h i st h e s i s ,t h ea u t h o r p o i n t so u t t h e p r o b l e m a n d s h o r t a g ei nf o r m e r s y s t e md e s i g n t h e n ,w i t ht h ef o r m e rd e s i g na sab a s i s ,t h ea u t h o rs u m m a r i z e st h e d e s i g ni d e aa n dp r a c t i c er e a l i z a t i o no f h o wt oo p t i m i z et h es y s t e ma r c h i t e c t u r ea n d h o wt oi m p r o v et h es y s t e mp e r f o r m a n c e a l s o ,t h e r ea r el o t so fg r a p h so rc h a r t sa n d l o t so f e x p l a n a t i o n sf r o mr e a lp r a c t i c e b e c a u s eo ft h el i m i t a t i o no fb o t ht h et i m ea n dt h ea u t h o r se x p e r i e n c e ,t h e r em a ye x i t s o m eo v e r s i g h t si nt h i st h e s i s is i n c e r e l yh o p et h a ty o ue x p e r t sc a ng i v em es o m e a d v i c e s k e y w o r d s : 。 s y s t e md e s i g n ,s 伽l 曲】r e dd e s i g n ,d a t a b a s ed e s i g n , d i s h - o r d e rs y s t e m ,m u l t i t h r e a d ,s t o r ep r o c e d u r e 第1 1 页 型型翌坠坠苎兰竺壅苎兰壁二一 茎塾塑壁塑! :型苎兰坚壅堕竺翌墨竺堕堡生堕窒 第章概述 1 1 写作背景 计算机的发展在短短的几十年内,经历了第一代真空电子管和磁鼓储存数 据,第二代晶体管计算机( 1 9 5 6 1 9 6 3 ) ,到第三代集成电路计算机( 1 9 6 4 1 9 7 1 ) , 再到第四代大规模集成电路计算机( 1 9 7 1 现在) 的过程。随着性能的不断提高和 成本的不断下降,计算机逐渐成为人类工作和生活中必不可少的工具。 随着信息经济、网络经济和科学技术的发展,各行各业都离不开计算机系 统的应用。计算机的应用领域已经从单纯的科学计算发展到军事、经济文化、 科学、社会主流的各个方面。通过使用计算机,人们可以节省时间、成本,也 可以打破空间的限制,缩短沟通的距离,比如:办公自动化、网络购物、远距 离学习等。 基于p c 机( 个人计算机) 开发的各种应用程序( 软件) 可以满足人们的种 种业务需求。软件体系结构的好坏,对于一个系统的需求满足情况、运行性能 指标有着重要的影响。 本论文定位于一种基于数据库的小型非严格实时处理系统,在众多的软件 应用系统中,该系统在一定的应用范围内具有普遍适用性。作者重点对其架构 的设计、对业务的处理方式,结合实际应用进行研究。 数据库是某个企业或组织所涉及的数据的提取和综合,不仅反映数据本身, 而且反映数据之间的联系,也是事务之间的联系的反映。数据库技术使数据能 够按一定格式组织、描述和存储,且具有较小的冗余度、较高的数据独立性和 易扩展性,并可为多个用户所共享。 基于数据库,是指由于业务的需求,系统有相当的业务数据需要处理,对 数据的处理需要借助关系数据库管理系统来实现。 小型,是指虽然应用数据库来对数据进行管理,但由于业务数据量不是很 大,一台p c 机配置相关外部硬件设备就可以实现;同时,小型也指系统应用 于某一个专业领域,程序结构不是很复杂,可以由少数几个开发人员在短期内 研发实现。 实时系统是指能够响应外界事件而产生动作的系统。实时系统中的软件必 须在问题域规定的时间内给外界指令进行响应。实时系统可以分为两大类:严 格实时系统和非严格实时系统;其中严格实时系统又称为“硬”实时系统,非 严格实时系统又称为“软”实时系统。比如,飞机的控制是严格实时系统的例 第1 页 子,服务必须在严格的期限里提供, 严格实时系统,服务是实时提供的, 务也不会发生灾难。 否则可能导致灾难;数字电话交换机是非 但在某个时间内没有为所有的请求提供服 非严格实时系统,是指该系统对实时性的处理有一定的要求,包括实时处 理和实时通信,但并不是严格要求时间和可靠性保证。系统的实时性受用户的 需求所限,在一定的时间范围内保证响应的有效性。在系统设计过程中要对实 时性有一定的考虑。 1 2 论文意义 为了实现一个系统,系统软件结构的设计,包括模块划分、程序交互方式、 一些关键技术的应用等等,决定了系统的性能。然而,究竟怎样来设计系统结 构? 怎样在一种行之有效的方法下去分析、设计灵活健壮的系统? 对于软件结 构的实现,虽然国内外有好多相关的介绍文章,研究生课程里也设置了专门的 讲座,但是,从作者自身的学习体会中,感觉由于篇幅和时间上的原因,这些 文章和讲座都着眼于泛泛的应用,给出的是在设计实现过程中应该普遍考虑的 一些方式,学习之后在脑海中只有一个模糊的概念,在实际应用过程中仍然会 感觉束手无策。 随着计算机应用领域的变化,伴随着业务的多样化、复杂化。丽系统设计 与特定的业务需求有着密切的联系,系统设计过程中要时时刻刻考虑满足用户 的需求。在作者经历了一个现实系统的设计、实现、测试、维护的整个过程之 后,在实践中体会到了系统设计的复杂性,也逐渐对一些关键的技术应用有所 思考。 由于本论文定位于非严格实时系统,在设计过程中不象严格实时系统那样 处处考虑系统的实时性,所以在以下系统的设计方法和具体的设计实例中爹把 实时性作为一个重要指标来考虑,而侧重于系统的整体结构设计、侧重予系统 各项性能指标的提高。 本论文重点剖析了程序设计中使用的结构化设计方法,数据库设计方法, 以及一些编程实现中常用的技术,比如多线程技术、进程间s o c k e t 通信技术、 数据库存储过程技术等等。并结合实例和相关的实验数据,对一些技术的应用 进行研究和比较,针对程序设计和系统性能优化给出了作者自己的观点。 相信作者所做的工作对那些软件系统的设计和维护人员有所帮助。 1 3 作者所做工作 作者在本课题中所做的工作,主要包括对应用程序结构设计、数据库设计、 第2 页 型生型坠坠塑壅生堡窭一茔主塾塑壁塑! :型! ! 兰堡壅堕竺型墨篓塑壁生! ! 壅 部分关键技术的研究,以及“易点通”智能餐饮信息系统的设计、研发、测试 维护等工作。同时还就我智能终端研究中心的i p 电话项目进行了一些研究,承 担并完成了一些工作。具体包括以下部分: 1 ) 2 0 0 1 年3 月至2 0 0 1 年? 月,作为“易点通”智能餐饮信息系统的主要设计 者之一,参与系统的需要分析和详细设计工作,就系统定位、无线通信协议 设计、程序架构设计、数据库设计等工作与其他设计人员进行反复讨论和研 究,最终确定了初步的系统功能模型和框架结构,以及各个程序模块之间的 接口定义。 2 ) 2 0 0 1 年7 月至2 0 0 2 年2 月,是“易点通”智能餐饮信息系统的研发和测试 阶段。在此期间,作者是数据库结构设计、后台程序架构设计的主要人员之 一,并成功完成了有线下载文件生成模块、下载命令处理模块、系统配置模 块、结账处理模块等部分的代码实现工作。在系统测试过程中,作者曾为系 统测试制定了大量的测试案例并形成相关文档,同时在协调相关研发、测试 人员,把握系统研发进度方面做了些实质性的工作。 3 ) 2 0 0 2 年3 月至2 0 0 2 年1 2 月,是“易点通”智能餐饮信息系统的应用维护 和不断改进的阶段。在此期间,作者就通信协议设计改进、数据库设计改进、 后台程序框架设计改进等方面,结合实际应用进行了深入的研究,并形成了 自己的见解。同时,经过与研究小组其他成员的讨论和研究,又对以上见解 不断的深入提高,并在系统的优化改进过程中进行了实践检验。 4 ) 2 0 0 2 年1 2 月至2 0 0 3 年2 月,“易点通”智能餐饮信息系统在洛阳“德恒” 烤鸭店正式应用。根据用户需求,作者对其中相关模块进行维护性修改,并 就系统优化方面做了一些工作。同时开始撰写本论文。 5 ) 2 0 0 2 年4 月至2 0 0 2 年1 1 月,参与了i p 电话项目的部分工作。作为主要研 发人员之一:作者参与了系统的功能定位设计、需求分析设计、软件架构设 计、关键技术研究等工作。就l i n p h o n e i p 软件电话的软件结构进行了深入 研究,就r t p ( 实时传输协议) 、s i p ( 会话发起协议) 进行了研究并就其中 部分关键技术进行整理,形成技术文档。 1 4 论文结构 本论文基于以上所定位系统的一个实例:由北邮智能终端研究中心自主研 发实现的“易点通智能餐饮信息系统,对一些有关程序设计、数据库设计及 部分关键技术的应用进行论述。然后就以上系统的设计实现进行介绍,同时对 系统性能进行分析,并就其中一些关键点提出作者的改进观点。 在实际的设计、实现和维护、优化过程中,一方面根据用户的需求变化, 第3 页 北京邮电大学研究生论文 基于数据库的小型非严格实时处理系统的设计研究 另一方面也根据自己的学习认识的深入,对程序进行不断的改进。就整个完善 阶段来看,是个不断的思考和实践、再思考再实践的过程。 论文主要分为如下几个部分: 第一章概述中,给出了基于数据库的小型非严格实时处理系统的设计研 究这一课题的研究背景、作者读研究生期间的工作、以及论文的组织结构。 第二章介绍了了一些设计方法和关键技术。 首先对软件结构化设计方法进行了描述,对数据库设计的过程和关键步骤 进行评析。然后就多线程技术、进程间通信技术( 主要是s o c k e t 技术) 、存储 过程技术进行说明和剖析,对其实现机理、通常的使用方法、高级配置进行详 细说明。 第三章就“易点通”智能餐饮信息系统的实现进行介绍和分析。给出了系 统组成结构,并对各部分的功能进行介绍。重点描述了系统中的后台程序和数 据库的结构及实现方式,根据第二章的一些理论,结合实践使用,深化了对以 上理论和技术的理解。 第四章结合实际中遇到的问题,依据相关理论和实践结果,对影响系统性 能的一些因素进行分析。然后总结经验教训,结合设计理论与作者的个人体会, 勾画出系统的改进设计方案。重点放在后台程序的性能提高和数据库设计方面, 给出了详细的实现思路,并对改进后的系统性能进行分析总结。 第五章对以上论述进行总结提炼,并结合作者的得,展望未来并对一些新 技术新思想的应用提出作者的看法。最后对作者研究生期间参加的其它项目和 投稿情况进行简要说明。 第4 页 型生竺! 皇! 堂婴塞竺堕苎 苎三墼塑堡塑尘型! ! 兰塑壅堕丝里墨竺竺堡生堕塞 第二章基础知识介绍及相关技术分析 本章简要介绍了结构化程序设计技术、数据库设计技术、在程序实现中常 用的多线程技术以及两层和多层主从结构特点。同时,结合作者自己的实践体 会,对一些特别需要注意的地方进行了说明。在论述过程中,在需要以实际的 控件或函数为例进行说明时,以d e l p h i 语言为例来实现。 2 1 软件的结构化设计技术 软件开发是创造性的工作,但在软件开发过程中必须依靠严格性来补充创 造性以达到开发出正确、成功的产品,并控制成本。往往有不同层次的严格, 最高级是指形式化。严格性及形式化影响着软件产品的可靠性、可维护性、复 用、可移植性、可理解性等等。 , 软件开发技术一直是软件开发者的主要研究方向。软件工程思想的出现, 是希望运用成功的、卓越的开发经验来指导软件开发,通过类似工业化的管理 来完成软件开发的过程。 许多形式化方法虽然可以对实时系统进行定义和分析,但它们对于构造针 对实时系统的设计方法来说,还是很不成熟的。目前,实时系统的设计比较多 的仍然是使用结构化的设计方法( 见后) 及软件工程的一些思想。 按照软件工程的思想,软件开发需要经历计划期、开发期和维护期三个阶 段,其中不同的阶段又有不同的任务分工,如图2 一l l 所示。在开发期,又 要经历详细调查、需求分析、逻辑设计、总体设计、详细设计等过程。 第5 页 北京邮电大学研究生论文基于数据库的小型非严格实时处理系统的设计研究 1 【_ 一 计划期 开发期 提出研制要求 胡步调啬? :i i 五胡步调啬、问题定义1 0l 交付使用 0 运行维护 图2 - - 1 - - i 结构化开发过程图 在对软件系统进行总体设计和详细设计过程中,常常用结构化设计方法来 进行系统设计。以下就结构化设计方法以及结构化设计中的模块设计思想进行 介绍。 第6 页 t 上 苎堡型里奎兰里堕堡堡壅 一 苎王塾塑壁塑:! :型斐兰坚壅盟竺墨墨竺塑堡生堕窒 2 1 1 结构化设计方法 这一个部分就结构化设计方法及其重要的模块化思想进行介绍,旨在让读 者明白这种设计思想,对结构化设计的具体设计流程和方法由于篇幅有限就不 详细介绍了。由于在系统设计过程中,对模块的组织和和安排始终是需要重点 考虑的问题,后半部分就结构化设计中对模块的处理进行介绍。 1 ) 结构化设计方法介绍 结构化设计方法是一种形式化的方法,是指一些结构化的程序语言和结构 化的分析与设计方法,这些方法使人们对于软件的认识重点从组成程序的语句 序列转移到了构成软件的模块序列。结构化技术的出现和不断发展,提高了软 件设计的可靠性、可维护性和可重用性。 结构化设计方法的主要思想是,认为一个程序、一组程序或组系统无非 是由一组功能操作来构成的。将整个系统看成是若于功能模块的集合,模块可 以利用其它程序已经编好的模块,本身也可以供其它模块使用。模块按一定的 组织层次构造起来形成软件结构。 结构化设计的关键是通过划分独立模块来减少程序的设计复杂性,并增加 软件的可重用性,减少开发和维护程序的费用。结构化设计有如下的优点: 减少设计复杂性:通过将一些大目标的实现转化为一些相对独立的小目标 来实现。 结构独立:将功能性程序划分成多个相对独立的程序模块。独立的模块化 结构,加强了可重用代码的能力。 易于软件的开发、修改、维护:模块化的设计使得软件的修改变得很方便。 结构化设计中所包含的概念在系统设计中是非常有用的。比如,模块化的 概念使程序具有了更好的可改性、灵活性和可利用性,这一概念有利于在系统 设计中产生出灵活、可变的系统。 2 ) 结构化设计中的系统体系结构 在运用结构化设计进行软件设计时,首先是确定系统体系结构,然后通过 模块设计来实现这样的体系结构。常用的软件系统体系结构分为层次结构和客 户机服务器结构。 层次结构表达了这么一种常识:有些事情比较复杂,我们没法口气干完, 就把事情分为好几层,层一层地去做。高层的工作总是建立在低层的工作之 上。在层次型的软件系统中,上层子系统可以使用下层子系统的功能而下层 子系统不能够使用上层予系统的功能。计算机网络的o s i 参考模型就是一种层 次结构。 客户机服务器结构是将程序结构看成是两块儿,分别是客户程序和服务器 程序。它们之间的通讯以请求响应”的方式进行。客户机先向服务器发 第7 页 型堕塑塑型堂墅! ! ! 兰垦壅 茎王塑塑壁塑! :型j ! 兰堡壅堕竺墨墨竺竺堡生堕壅 起“请求”( r e q u e s t ) ,服务器再响应( r e s p o n s e ) 这个请求。如图2 1 2 所 示 图2 一i - - 2 客户机服务器结构图 2 1 2 结构化设计中对模块的处理 2 1 2 1 模块及模块独立性 模块是数据说明、可执行语句等程序元素的集合,是指单独命名的可通过 名字来访问的过程、函数、子程序或宏调用。模块化就是将程序划分成若干个 模块,每个模块完成一个子功能,把这些模块汇总起来组成一个整体,以满足 所要求的整个系统的功能。 模块具有独立性。模块独立的概念是模块化、抽象、信息隐藏和局部化概 念的直接结果。抽象是对事务、状态或过程之间所存在的某些相似的方面集中 或概括起来,而暂时忽略它们之间的差异,也就是说要抽象事务的本质特征而 暂时不考虑它们的细节。信息隐藏是指在设计模块时,使得一个模块内所包含 的信息,对于不需要这些信息的模块来说是不能访问的。局部化是指把一些关 系密切的软件元素在物理位置上彼此靠近。 模块独立性是指通过制定具有单一功能并且和其它子模块没有过多联系的 模块来实现的。也就是使每个模块只涉及该软件要求的一个具体子功能,而且 与软件结构的其它部分接口是简单的。模块独立性好的软件接口简单,易于编 制,独立的模块也比较容易测试和维护,限制了模块之间由于联系紧密而引起 的不易修改的副作用。模块独立性是保证软件质量的重要因素。 2 1 2 2 模块设计准则 1 ) 提高模块独立性,保持适度规模 在得到软件结构之后,就应该首先着眼于改善模块的独立性,考虑是否应 该把一些模块提取或合并,力求降低耦合提高内聚。例如,多个模块共有一个 子功能可以独立成一个模块,由这些模块调用。有时可以通过分解或合并模块 以减少控制信息的传递及对全程数据的引用,并且降低接口的复杂程度。 经验表明,当模块过大时模块的可理解性迅速下降。但是当对过大的模块 分解时也不应降低模块的独立性,因为当对一个大的模块分解时有可能会增加 模块间的依赖。 第8 页 生型坠生垄兰! ! ! 堡垒苎二 兰兰塑塑壁塑:! :型斐兰垡塞堕竺些墨竺塑堡! 竺壅 2 ) 系统深度、宽度,模块扇出、扇入适当 以上参数都是针对系统结构和具体模块的。“深度”是软件结构图中层次结 构的层数,“深度”可以粗略地描述系统的规模和复杂度。宽度是指系统结 构图的宽度,这个参数与模块的扇出参数直接相关。“扇出”是指某个模块的 直接子模块的个数。“扇入”就是一个模块的直接父模块的个数。如图2 1 3 所示,可以知道这些参数的概念_ 深度为三 宽度为四 , 、一一- 、 图2 1 3 系统结构参数示意图 如果深度过大,则说明有的控制模块可能设计简单了,导致系统模块关系 显得特别复杂。如果宽度过大,则说明系统的控制过于集中。而扇出过大则意 味着模块过于复杂,需要控制和协调过多的下级模块,这时应适当增加中间层 次,扇出太小则可以把下级模块进一步分解成若干个子功能模块,或者合并到 上级模块中去。一个模块的扇入是表明有多少个上级直接调用它,扇入越大则 共享该模块的上级模块数目越多,是有好处的。设计很好的软件结构通常顶层 扇出比较大,中间扇出较少,底层则有较大扇入。 3 ) 控制好模块的聚合和耦合特性 结构化设计就是摹使系统结构成为若干个功能模块的有序组合,所以结构 化设计的质量特性体现在模块的自我特性和相互关联特性之上。通常,用模块 聚合度和耦合度来描述模块及模块间的相互关系。耦合度( c o u p h n g ) 是模块 间联系强弱的度量。聚合度( c o h e s i o n ) 是模块所执行任务的整体统一性的度 量。 耦合度控制 当两个模块之间没有直接或间接的联系时,这两个模块是相互独立的。但 通常模块之间总是相互关联的,因为完全独立的模块是不可能构成系统。我们 用耦合度来衡量模块间连接的强度。“紧耦合”就是模块间的连接强,“松耦合” 就是模块间的连接弱,“无耦合”是模块间相互独立。 耦合度描述了模块间的连接度,是个抽象的概念,但表现在我们实现程序 的具体操作中,也就是程序员在编码、调试或修改一个模块时需要考虑另一个 第9 页 厂ii_i、llil 型生型坠! 二茎兰竺壅兰堡兰 茔主墼塑壁塑:! :型韭兰堂壅堕竺些墨竺塑壁生塑壅 模块的概率。如果两个程序是紧耦合的,那程序员修改了个模块,他需要修 改另个模块的概率就高。 耦合度是评价程序结构质量的重要指标,耦合度越低,则每个模块就越容 易独立地被理解、编译和修改,同时每个模块的错误就越不容易扩散到其它模 块。我们在设计程序时,尽量将模块设计成松耦合的,这样易于程序的实现和 维护。 在程序设计过程中,可以按如下因素来区分模块间的耦合度强弱: 按联系方式的类型:模块耦合度由低到高可以分为直接的控制和调用、间 接的通过参数传递和共享公共数据三种方式。 直接的控制和调用是一个模块通过模块名调用另一个模块,彼此间的关 系很明确,是低耦合度的一种方式。间接的通过参数传递是一个模块通过 接收不同的参数来调用其它模块。共享公共数据是指共享模块外部的全局 变量,或外部的公共数据环境,如全局数据结构、共享通信区、内存的公 共覆盖区等。共享公共数据方式耦合度最强。 按模块间接1 3 的复杂性:模块的耦合性和模块间接1 3 传送信息的数量、穿 过接口的数据的次数直接相关。 按联系的作用:分为数据型和控制型。 数据型是指一个模块通过数据参数的设定选择相联系的其它模块。控制 型是指一个模块的执行直接转移到另外一个模块的某一点上,由另外一个模 块判断执行并返回结果。一般来说,控制型的模块耦合度比数据型的要强。 如图2 1 4 所示,分别是控制型和数据型的例子。 模块a l 型选择ih 日期 制l l l 取阳历日期 马k 取阴历日期 胡 图2 - - 1 4 模块数据型和控制型结构示意图 在第一个图中,模块a 通过控制信号的开关量实际上控制模块b 的工作。 如果将开关置错,模块b 将按另一种方式工作,所以这种情况的耦合度高, 模块间的关系也密切。在第二个图中,消除了开关信息,结果是编码更容易。 每个模块有明确的功能要求:取阴历或取阳历。由上可知,数据型的耦合关 系降低了模块间的耦合度,提高了编码的灵活性a 按联系发生的时间:根据执行时间、装入时间、连接时间、编译时间来区 篱1 0 面 型生业! ! ! :壁塑壅皇笙苎 兰墼堡堡塑! :型! ! 兰壁塞堕竺墨墨竺竺墼生婴窒 分a 按联系发生时间的早晚,可以按如下排序:编写程序时、模块编译或 汇编时、程序模块连接时、系统运行时。耦合确定的越晚,模块就越容易 修改,越灵活。 聚合度控制 与耦合度相对应,聚合度是指一个模块本身内部的问题。每个模块的聚合 度是模块独立的程度。模块的独立程度也就是模块内部单元之间的紧密约束和 相关程度。 我们在设计系统时,模块是和需要解决的问题相关联的目的是使整个系 统的结构复杂度较小。通常将高度相关的处理问题单元转换成高度相关的代码, 高度相关的代码组成的模块可能是高效的模块。在设计系统时要尽量减少模块 间的连接数目和耦合程度,提高模块的聚合度。 聚合和耦合是密切相关的。在一个系统中,单个模块的聚合度越高,模块 间的耦合度就越低。在实际设计过程中,根据模块的联系将聚合情况分成了七 类:偶然性聚合、逻辑性聚合、时间性聚合、过程性聚合、通信性聚合、顺序 性聚合、功能性聚合。 偶然性聚合,是设计者随意把无关系的任务组合在一起,构成个集合。 这样的集合可能没有任何意义,也许只为了节省一些存储空间。 逻辑性聚合。把逻辑上功能相似的功能结合到一个模块中。( 比如针对某个 对象的增加操作、删除操作) 增加了参数变量,调用者为了确认是哪个操 作要传递不同的参数变量,会造成高耦合度。 时间性聚合,按任务执行的时间进行模块划分,例如初始化模块、操作模 块、结束模块等。 过程性聚合,模块内的各个单元在一个过程中被相继调用。 通信性聚合,模块中的单元需要相同的输入数据或要产生相同的输出。比 如都要对某个文件操作。 功能性聚合,把要完成一个确定任务的全部功能单元组合在一起。功能聚 合是一种概念,不仅低层次的模块应做到功能性聚合,也适用于所有层次 的模块。 在设计系统时,如果由前三种聚合方式来组成系统,通常认为是不可接受的 聚合度:如果由后三种聚合方式来组成系统,通常认为是可以接受的聚合度。 在设计过程中,尽量达到功能性聚合。 第l l 嚷 三坠型堕坐查兰竺茎兰兰蔓l 一 茔三墼塑塞塑! :型韭兰堂兰堕竺些墨竺塑壁生塑塞 2 2 数据库设计技术 2 2 1 。数据库理论知识介绍 本论文涉及的数据库系统是关系数据库系统。以下就数据库的发展和关系 数据库的特点作一个简要介绍,并以关系数据库为倒,对数据库的设计进行论 述。 数据库技术的出现和发展 数据库,可以理解为存放在计算机文件中有组织的信息集合,是某个企业 或组织所涉及的数据的提取和综合,不仅反映数据本身,而且反映数据之间的 联系,也是事务之间联系的反映。 数据库技术使数据能够按定格式组织、描述和存储,且具有较小的冗余 度、较高的数据独立性和易扩展性,并可为多个用户所共事。过去人们手工管 理和处理数据,现在借助计算机来保存和管理复杂的大量的数据,这样就可能 方便而充分地利用这些宝贵的资源,数据库技术正是由于这一需求而发展起来 的种计算机软件技术。 在计算机中,用于有效地组织和存储数据、获取和管理数据的一类计算机 软件称为数据库管理系统( d b m s ) 。d b m s 既管理数据的物理结构,也管理数据 的逻辑结构;既考虑数据本身,也考虑数据之间以及文件之间的联系,即d b m s 管理的是结构化的数据。 在数据库中是用数据模型对现实世界进行抽象的。数据库领域过去和现在 最常用的数据模型有三种,分别是层次模型、网状模型和关系模型。其中层次 模型和网状模型统称为非关系模型,在关系模型出现之前,它们是常用的数据 模型,当今国内外大多数据库系统都是基于关系模型的。 关系数据库介绍 关系数据库是基于关系模型的数据库系统,关系模型中数据的逻辑结构就 是一张二维表,称为关系表格。关系模型的实例由若干个关系表格组成。下图 是个简单的关系表格 职工号姓名性别职务 0 0 0 1刘明 男厂长 0 0 0 2张红女高工 0 0 0 3王平男工程师 表格中每一列的名称称为“属性”,如“姓名”、“性别”、“职务”等。相当 于记录中的数据项名。属性的取值范围称为域。表格中的一行称为“元组”,相 当于通常的记录值。在每一行中对应于某个属性的值称为分量。 第1 2 页 北京邮电大学研究生论文基于数据库的小型非严格实时处理系统的蛙计研究 关系模型的主要特点是: 关系数据结构简单。在表示复杂信息世界的实体与联系中,无论是实体还 是联系都可以用关系表格表示。而关系表格之间的联系是通过表格与表格 所具有的相同属性,通过关系运算而实现的,用表格表示概念模型的复杂 结构,要比层次和网状的结构简单得多。 关系表格必须是规范化的关系,即关系模型中每一个属性都是不可再分的 数据项。这样的属性使关系模型结构简单易操作。 对关系模型的操作,是通过关系表格中的数据进行运算的结果。因而将关 系模型中的数据存取路径隐藏起来。用户只需要指出查找什么,而无需具 体指明如何查找的路线,从而使关系模型的数据子语言具有较高的独立性 和非过程化,大大减轻用户的编程负担。 关系模型是建立在严格的数学理论基础上。 2 2 2 数据库设计的过程 数据库设计包括结构特性设计和行为特性设计两方面的内容。 结构特性的设计是指确定数据库的数据模型。数据模型反映了现实世界的数 据及数据问的联系,要求满足应用需求的前提下尽可能减少冗余,实现数据共 享。 + 行为特性的设计是指确定数据库应用的行为和动作,应用的行为体现在应用 程序中,所以行为特性设计主要是应用程序的设计。 本部分就关系数据库的结构特性设计按软件工程的开发流程进行介绍,分为 需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、数据库实施阶 段和数据库运行维护阶段。以下就每一个阶段的主要工作进行介绍。有关行为 特性的设计在后面章节结合实际应用程序设计再详细说明。 第1 3 页 些鎏翌堕型塑墅塑鲨塑笙生一 兰三塑塑壁塑! :翌韭兰堂窒堕竺墨墨竺塑堂生竺壅 图2 2 1 数据库设计流程图 敦据库实 阶段 数据库运行, 罐护阶段 需求分析 需求分析阶段,要对系统的整个应用情况进行全面、详细的调查,收集支持 系统总的设计目标的基础数据和对这些数据的处理要求,确定用户的需求。 准确地确定全部用户的信息需求是系统开发中最困难的任务之一。因为:第 一,应用本身的需求是变化的,用户的需求会不断调整使之与这种变化一致; 第二,由于用户还缺少计算机信息系统设计方面的专业知识,而计算机人员又 往往不熟悉业务知识,要确定准确的需求很难,特别是很难表达和描述某些具 体的处理过程。因此,要发挥用户的主动性,使他们能直接参与系统的分析与 设计工作,必须相互沟通,共同探索系统开发的规律。 概念结构设计 在进行数据库设计时,如果将现实中的客观对象直接转换为机器世界中的对 象,就会感到非常不方便,会更多的注意了诸多的限制方面,而忽视了对信息 的组织结构和处理模式的设计上。因此往往将现实世界中的客观对象先抽象为 不依赖任何具体机器的信息结构,称为概念模型,然后再把概念模型转换为具 体机器上的d b m s 支持的数据模型。 概念模型可以看成是现实世界到机器世界的一个过渡的中间层次。概念模型 的表示方法最常用的是实体一联系方法图( e - r 图表示法) ,用图形将实体、实 第j 4 页 百古一下辫。丁 北京邮电大学研究生论文 基于数据库的小型非严格实时处理系统的设计研究 体的属性、实体间的联系关联起来。在将各个子系统的分e r 图设计好后,再 将所有的分e r 图合并起来生成总e - r 图。 数据模型是数据库系统的核心和基础,各种机器上实现的d b m s 软件都是基 于某种数据模型的,因为这些软件是在具体机器上实现的,所以在许多方面都 给出了细致严格的限制。而现实世界中应用环境是复杂多变的,各种事务的表 现形式也与机器世界中相距甚远。 概念结构设计是整个数据库设计的关键。在概念结构设计阶段,借助描述模 型的工具一- - e r 图,自底向上的进行设计。首先定义各局部应用的概念结构, 然后将它们集成得到全局的概念结构。 在进行e r 图集成的时候,要考虑: 消除冲突。冲突类型有属性冲突、命名冲突和结构冲突。 消除不必要的冗余。 在最初设计的e - r 图中,可能存在着一些冗余的数据,或实体间冗余的联 系。下图中,零件本身具有属性“库存数量”,零件与仓库之间多对多的联系“存 放”中也有一个属性:“数量”。根据语义定义,每种零件可以存放在不同的仓 库中,“存放”中的属性则表示某种零件存放在某个仓库中的数量。对于一种零 件来说,将它存放在不同仓库中的数量加起来就等于零件实体中库存数量,因 此零件实体中的库存数量是个冗余数据。 图2 - - 2 - - 2 带冗余的零件一金库e - - r 图 系统中如果存在冗余,会造成数据不一致的情况,破坏数据库的完整性, 给系统的维护增加困难,这样的冗余应该消去。但有时为了要提高查询效率, 希望保留一些冗余数据,这时应该根据需求保留这些数据,同时定义完整性约 束条件,以保证数据更新时数据库的完整性。 逻辑结构设计 逻辑结构设计的任务就是把概念结构设计阶段设计好的基本e - - r 图转换为 与选用的具体机器上的d b m s 产品所支持的数据模型相符合的逻辑结构。 1 ) 将概念模型向一般关系模型转化,再将关系模型结构向特定的d b m s 下支持 的数据模型转换。 第1 5 页 垄型生! :壁竺壅竺堡塞 苎王塾塑壁塑! :型斐兰堡壅堕竺堡墨竺塑壁生堕壅 将卜r 图模型向关系模型转化时要解决的问题是如何将实体间的联系转换 为关系模式,以及如何确定这些关系模式的属性和码。在关系模型确定之后, 再将其向数据模型转化, 2 ) 根据应用的需求和具体的d b m s 特征对数据模型的调整和完善。 修改和调整包括两个方面:一 根据数据字典中记载的对信息查询的响应时间的要求和查询频度要求进行 数据库结构上的调整; a ,增加必要的允余数据 b ,如果经常要做的查询是两个关系的连接,则可以考虑将两个关系合并为 一个关系。 根据局部应用需求结合d b m s 特点设计用户子模式。在关系数据库中,用户 子模式也可以理解为“视图”。通过利用s q l 语句中视图的功能,可以设计更符 合局部用户需要的数据予模式。“视图”可以被看作是一个虚拟表,通过视图访 问的数据不作为独特的对象存储在数据库内。它是由一个或若干个数据库表中 的部分或全部数据提取出来形成一个虚拟的表。 物理结构设计 数据库在实际的物理设备上的存储结构和存取方法称为数据库的物理结构。 对于设计好的逻辑数据模型选择一个最符合应用要求的物理结构就是数据库的 物理设计。数据库的物理设计是完全依赖于给定的硬件环境和数据库产品的。 对于关系数据库其物理设计的内容包括 1 ) 确定数据的存储安排,这个问题主要是从提高系统性能的角度考虑的。 将表和索引分别放在不同的磁盘上,在查询时由于两个磁盘驱动器分别在 工作,因而可以保证物理读写速度比较快。将比较大的表分别放在两个磁盘上, 可以加快存取速度,特别是在多用户的环境下。将日志文件和数据库对象( 表、 索引等) 分别放在不同的磁盘可以改进系统的性能。 由于各个系统所能提供的对数据进行物理安排的手段、方法差异很大,因 此设计人员应仔细了解给定的d b m s 在这方面提供了什么方法,再针对应用环境 的要求,对数据进行适当的物理安排。 2 ) 存取路径的选择与调整。 一般来说,数据库系统是多用户共享系统,对同一数据存储要建立多条存 取路径才能满足多用户的多种应用要求。物理设计的任务之一就是确定建立那 些存取路径。例如,将哪些属性列作为次码建立次索引、根据应用要求还要对 哪些属性建立组合索引、是否还要根据数据库产品提供的功能建立其它类型的 索引等。 3 ) 确定系统配置。 第1 6 页 三生翌竖旦:茎兰里! 壅竺兰壅 苎王墼塑壁堕:! :型j ! 兰壁壅堕丝堡墨竺堕垡! 堕壅 许多d b m s 产品都设置了系统配置变量,例如:控制内存分配的参数,使用 系统的用户数和其它影响系统性能的参数,供设计者和数据库管理者对数据库 进行优化a 初始情况下,系统都为这些变量赋予了合理的缺省值,但这些值不 一定适合每一种应用环境,在进行物理设计时,可以重新对这些变量赋值以改 善系统的性能。 通常情况下,这些配置变量包括:同时使用数据库的用户数,同时打开的 数据库对象数,使用的缓冲区长度、个数、时间片大小,数据库的大小,装填 因子,锁的数目等,这些参数值影响存取时间和存储空间的分配,在物理设计 时就要根据应用环境确定这些参数值,以使系统性能最优。 数据库的实施 在数据库完全设计好之后,就可以组织数据入库了,就是数据库实施阶段。 1 ) 数据的载入和应用程序的调试。 一般数据库系统中数据量都很大,而且数据来源于各个不同的基层单位, 数据的组织方式、结构和格式都与新设计的数据库系统有相当的差距。数据组 织录入就要将各类源数据从各个局部应用中抽取出来,输入计算机,再分类转 换,最后综合成符合新设计的数据库结构的形式,输入数据库。对于大型数据 库的设计和录入工作,必要时可以针对具体的应用环境设计一个数据录入子系 统,由计算机来完成数据入库的任务。 在对数据库结构设计过程中,对数据库应用程序的设计是同时进行的,因 此在组织数据入库的同时还要调试应用程序。 2 ) 数据库的试运行: 在原有系统的数据有- 4 , 部分已输入数据库后,就可以开始对数据库系统 进行联合调试,称为数据库的试运行。 这一阶段要实际运行数据库应用程序、执行对数据库的各种操作,测试应 用程序的功能是否满足设计要求。如果不满足,对应用程序部分要修改、调整, 直到达到设计要求为止。 在数据库试运行时,要测试系统的性能指标,分析其是否达到设计目标。 虽然在对数据库进行物理设计时已初步确定了系统的物理参数值,但一般情况 下设计时的考虑在许多方面只是近似的估计,和实际系统运行总有一定的差距, 因此必须在试运行阶段实施测量和评价系统性能指标。有些参数的最佳值往往 是经过运行调试后找到的。如果测试结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能办公家具定制与配套服务采购合同
- 2025年珠宝设计产业园区入驻企业供应链整合服务合作协议
- 2025年剧毒化学品运输车安全检测与预防性维护服务协议
- 2025年绿色建材生产与供应企业劳动合同模板
- 2025年智慧养老社区法律顾问专项服务合同
- 2025年度高端茶叶品牌代理销售合同(茶艺体验与品牌连锁加盟)
- 2025年现代厂房物业管理服务合同全方位服务体系
- 2025年快递行业绿色物流区域承包及环保责任合作协议
- 2025年智能网联汽车租赁与深度维护服务专项合同
- 2025年智能养老院老人生活辅助设备租赁协议
- 高等院校毕业生转正定级审批表-6
- 贾宁财务讲义:人人都需要的财务思维
- 红星照耀中国选择题及答案50道
- 开放性伤口止血包扎技术课件
- 重症患者中心静脉导管管理中国专家共识(2022版)
- 环境综合应急预案
- 氯甲烷泄露应急预案
- 2.PaleoScan详细操作流程
- PLC西门子S7-1200应用技术完整全套教学课件
- 苏州银行总行信息科技部招聘考试真题2022
- 安装电工电气调试员安全技术操作规程
评论
0/150
提交评论