(电路与系统专业论文)基于UML开发科研会计核算系统[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)基于UML开发科研会计核算系统[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)基于UML开发科研会计核算系统[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)基于UML开发科研会计核算系统[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)基于UML开发科研会计核算系统[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 面向对象技术是软件工程和过程工程领域中的重要技术,统一建 模语言u m l 则是近几年国际上比较流行的面向对象的标准建模语言。 本文阐述了基于u m l 建模的m i s 系统中的重要组成部分一会计核 算系统的开发。 建模是开发优秀软件所有活动的核心部分,也是本文工作的重点 所在。本文首先对系统需求进行用例图分析,用例图是从用户的角度 对系统功能的描述;之后划分出各个系统模块,抽象出类,画出类图 及对象图,建立起系统的静态模型;最后用顺序图、活动图等表示出 各对象之间的交互和协作关系,即系统的动态模型。建模本身独立于 开发过程,但它贯串于整个开发过程。在开发中我们采用了r u p 迭代 式开发,u m l 是其中完整的一部分。 在具体实现部分本文着重阐述了数据库的隔离备份方案, v s f l e x g r i dp r o7 0a c t i v e x 控件和c r y s t a lr e p o r t s 9 设计器。关于数据库 隔离和备份本文提出了一种比较新颖的解决方案,利用了u s b 数据传输 线使数据库的隔离与备份同时兼顾。v s f l e x g r i dp r o7 0 是一个第三方 a c t i v e x 表格控件,c r y s t a lr e p o r t s 9 是第三方报表设计器,二者功能都很 强大,在本系统中都有着重要的应用。 关键字:面向彩u 澎r i 影7 会哥户;磊系统,u 影 a b s t r a c t o oi sa n i m p o r t a n tt e c h n o l o g y f o rs o f t w a r e e n g i n e e r i n g a n d p r o c e s s i n ge n g i n e e r i n g ,a n dt h eu n i f i e dm o d e l i n gl a n g u a g e ( u m l ) i sa i n t e r n a t i o n a lp o p u l a r0 0 m o d e l i n gl a n g u a g ei nr e c e n ty e a r s t h i sa r t i c l e e x p a t i a t et h ed e v e l o p m e n to fa c c o u n t i n gs y s t e ma sa ni m p o r t a n tp a r to f m i sb a s e do ni m i , m o d e l i n gi st h ek e yp o r t i o nf o ra ne x c e l l e n ts o f t w a r ed e v e l o p m e n t , a n dm o d e l i n gi sa l s ot h ek e yw o r kf o rt h e a r t i c l e f i r s t l y ,t h i s a r t i c l e d e s c r i b e st h e m o d e l i n g o fr e q u i r e m e n to ft h e s y s t e m w i t l lu s ec a s e d i a g r a m ,w h i c hi st h ed e s c r i p t i o nf o ru s e r s e c o n d l y ,t h ed e s i g n i n go f t h e s t a t i cs t r u c t u r ew i t hc l a s sd i a g r a ma n d0 b j e c td i a g r a mi sn a r r a t e d ,a f t e r m a r k i n go f fs u b s y s t e m s a n da b s t r a c t i n gt h ec l a s s e s a tl a s t ,s e q u e n c e d i a g r a ma n da c t i v i t yd i a g r a md e s c r i p tt h ed y n a m i cs t r u c t u r eo fs y s t e m , w h i c hd e s c r i b et h ec o l l a b o r a t i o na n di n t e m c t i o no fo b j e c t s m o d e l i n gi s i n d e p e n d e n tt od e v e l o p m e n tp r o c e s s ,a tt h es a m et i m e i t p e r m e a t e st h e w h o l ed e v e l o p m e n tp r o c e s s w ea d o p tr u p ,a n du m lw h i c hi sap a r to f r u p i na d d i t i o ns o m ei d i o g r a p h i ct e c h n i q u e si na c t u a l i z a t i o na r en a r r a t e d i n c l u d i n gt h ei s o l a t i o n c o p y i n gs c h e m et od a t a b a s e ,v s f l e x g r i dp r o7 0 a c t i v e xc o n t r o la n dc r y s t a lr e p o r t s 9d e s i g n e r v s f l e x g r i dp r o7 0a n d c r y s t a lr e p o r t s 9a r ea l lt h et h i r dc o n t r o l s ,w h i c ha r ev e r yi m p o r t a n t t ot h i s s y s t e m k e yw o r d s :0 0 ,u m l ,r u p ,a c c o u n t i n gs y s t e m ,u s b i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得东北师范大学或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 学位论文作者签名:查叠 日期: 迦圭:z 学位论文版权使用授权书 本学位论文作者完全了解东北师范大学有关保留、使用学位论文 的规定,即:东北师范大学有权保留并向国家有关部门或机构送交学 位论文的复印件和磁盘,允许论文被查阅和借阅。本人授权东北师范 大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可 以采用影印、缩印或其它复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名座盏指导教师签名:学位论文作者签名缝整指导教师签名: 日 期:逊i :l :妒日 期: 学位论文作者毕业后去向 工作单位: 通讯地址: 勿渺易 电话: 邮编: 引言 1 u m l 背景 f 12 0 世纪7 0 年代面向对象技术出现以后,面向对象技术在计算机 界得到了广泛的应用,并成为当前软件领域的主流技术。为了解决复 杂系统的开发,各种面向对象的软件工程方法被不断推出。从1 9 9 5 年 起,著名的软件工程学家g r a d y b o o c h 、i v a rj a c o b s o n 、j i n r u m b a u g h 携手合作共同努力,综合了他们各自的面向对象的分析和设计方法, 并加以扩充和改进,汲取其他同类方法的优点,提出了u m l ( 统一建 模语言) 。美国工业标准化组织o m g 于1 9 9 7 年1 1 月正式采纳u m l1 1 作为建模语言的规范。经过不断使用、修改、补充和完善,u m l 又推 出了1 2 、1 3 和1 4 版本,其中u m l1 3 是较为重要的修订版。目前u m l 正处于的重大修订阶段,预推出u m l2 0 ,作为向i s o 提交的标准提案。 u m l 是一种定义良好、易于表达、功能强大且普遍适用的建模语 言。它溶入了软件工程领域的新思想、新方法和新技术。它可以对复杂 软件系统的各种成分进行可视化,进行说明和构造系统模型,以及建立 软件文档。 从u m l 的早期版本开始,u m l 便受到了计算机产业界的重视, o m g 的采纳和大公司的支持实际上把它推上了工业标准的地位,使其 拥有越来越多的用户。u m l 被广泛地用于应用领域和多种类型的系统 建模,如管理信息系统、通信与控制系统、嵌入式实时系统、分布式系 统、系统软件等,近几年还被运用于软件再工程、质量管理、过程管理、 配置管理等方面。另外,它的应用不仅仅限于计算机软件,还可用于非 软件系统,如硬件设计、业务处理流程、企业或事业单位的结构与行为 建模。 目前,随着u m l 的提出与应用的成功,面向对象方法己趋于成熟, 大有取代结构化方法的趋势。其中,基于u m l 的面向对象的系统分析 与设计方法解决了传统结构化方法中问题空间和解决空间在结构上不 一致的问题,避免了从分析、设计到软件模块结构间的多次转换过程, 同时又有效地结束了以前方法和模型语言之间不合理的差异,统一了许 多信息系统的开发过程和内部概念,使信息系统开发变得简单、高效、 合理,己成为当前进行信息系统开发的主流分析和设计方法。 r a t i o n a lr o s e 是u m l 主要设计者所在的公司美国r a t i o n a l 开发 的产品之一,是分析和设计面向对象软件系统的强大工具。如果说u m l 是一种思想和方法,那么r o s e n 是这种思想和方法的精妙的实现工具。 在国内r o s e 己逐渐开始应用,目前的最新版本是r a t i o n a lr o s e 2 0 0 3 。 2 问题的提出 管理信息系统( m i s ) 近些年取得了相当大的发展并在世界范围 内得到了广泛的应用,作为m i s 重要组成部分的会计信息管理系统也 已趋于成熟。但不同行业的会计管理存在着很大差别,其相应的会计 管理系统差异也较大。我们常见的通用财务管理软件功能很强通用性 也不错,但某些特别的行业在其会计核算比较特殊时,这些软件就显 得有些考虑的不够。 中科院长春精密机械与物理研究所是中科院下属的大型科学事业 单位,其采用的是科学事业单位会计制度,它的科研项目核算部分有 较强的特殊性。该所也曾与一些软件公司共同探讨过,但问题一直未 得到解决,以致仍在使用原来的老系统。中科院有一些单位采用通用 软件的,但往往某些特殊环节的处理上须将数据导出,经过其自编的 补丁程序( 例如项目核算的期末结帐) 处理后,再导回系统中。这一 过程不但繁琐、不严密还容易出错。更为严重的是一旦会计人员发生 变动,补丁程序不能使用,将影响到日常的会计工作。为了解决这问 题,中科院发行了一套m i s ,但遗憾的是其中的财务管理系统不适合 该所的具体情况,于是我们开发了其中的会计核算系统。 该系统在会计一般程序处理方面与通用软件大同小异,但在特殊 问题的处理上满足了专项核算的要求。同时因为是专用程序,运行速 度也快了许多。 3 本文主要工作 本系统首先采用了u 】l 工具r o s e 2 0 0 0 进行建模,以此蓝图为依据 进行程序设计并实现系统的功能。由于采用了原系统的统一数据库 工作主要集中在系统的前端设计与实现,以及数据的双机备份。 4 系统功能 会计核算系统是财务系统中非常重要的一部分,主要实现了以下功 能: a 系统管理( 权限管理,系统参数设置) b 初始化( 项目、科目的初始化及相应期初余额设置) c 凭证处理( 录入、修改、审核、查询、分册、汇总) d 账簿( 现金日记帐、银行日记帐、总帐、多栏帐、明细帐) e 综合查询 月末处理( 记帐、结帐) g 往来帐管理 h 项目管理 第一章面向对象u m l 建模 1 1 面向对象方法 1 1 1 面向对象基本思想 面向对象方法是当今软件开发的主流方法,它的基本思想是从现 实世界客观存在的事物( 即对象) 出发来构建系统,并且在构建系统 时尽可能运用人类的自然思维方式。 软件开发是对问题求解的过程,从认识论的角度看整个软件的开 发可以归结为两个主要的活动:人们对所要解决问题及其相关事物的 认识和基于这种认识所进行的描述。认识指通过人的思维正确认识和 理解系统所要处理的问题域中客观存在事物和所要解决问题:弄清事 物的属性、行为和彼此的关系,找出解决问题的方法。描述指用一种 语言说明人们对问题域中事物和问题及其解决方法的认识。最终的描 述必须使用一种能够被机器读懂的语言及编程语言。“1 1 1 2 面向对象基本概念 对象( o b j e c t ) 是系统中用来描述客观事物的一个实体,它是构成 系统的一个基本单位。对象由一组属性和一组行为组成。任何客 观事物或实体都是对象,复杂的对象可以由简单的对象组成。 类( c l a s s ) 是具有相同属性和服务的一组对象的集合。对象是类 一个实例,从一个类可以产生出许多对象。类可以派生子类,子 类继承父类的全部特性( 数据和操作) ,又可以有自己的新特性, 子类和父类形成类的层次结构。 消息( m e s s a g e ) 是面向对象发出的请求,它包含了如下信息:提 供服务的对象标识、服务标识、输入信息和应答信息。对象之间 通过消息传递相互的联系。类具有封装性,它的数据、操作等对 于外界是不可见的,外界只能通过消息请求某些操作,提供所需 要的服务。 结构和连接表现了对象之间的联系。通常表现为如下几种方式: 4 a 分类结构表现的是事物一般与特殊的关系,即泛化 ( g e n e r a l i z a t i o n ) 与特化( s p e c i a l i z a t i o n ) 的关系。 b 组装结构表示对象类之间的组成关系,即部分与整体的关 系,在面向对象方法中称为聚合( a g g r e g a t i o n ) 。 c 实例连接表现了对象之间的静态联系,它是通过对象的属性 来表现对象之间依赖联系。在面向对象的术语中常把对象之间 的实例连接称为链接( l i n k ) ,而把实例连接的类之间的联系 称为关联( a s s o c i a t i o n ) 。 d 消息连接指对象之间的通信联系。它表现了对象行为的动态 联系。 封装( e n c a p s u l a t i o n ) 是把对象的属性和服务结合成一个独立的系 统单位,并尽可能地隐蔽对象的内部细节。对于对象的外界而言, 只需要知道对象所表现的外部行为,而不必了解对象的内部实现 细节。封装是面向对象一个重要原则。 继承( i n h e r i t a n c e ) 特殊类的对象拥有其一般类的全部属性与服务, 称作特殊类对一般类的继承。继承简化了人们对事务的认识和描 述,对软件复用有着重要的意义。它是面向对象技术能够提高软 件开发效率的重要原因之一。 多态性( p o l y m o r p h i s m ) 是指一般类中定义的属性和行为,被特殊 类继承后,可以具有不同数据类型或表现出不同的行为。多态性 机制不但为软件的结构设计提供了灵活性,减少了信息冗余,而 且显著提高了软件的可复用性和可扩充性。重载是实现多态性的 方法之一。“6 1 1 1 3 面向对象的软件开发 面向对象的软件开发是指用面向对象的方法来开发软件。它包括 面向对象分析( o o a ) 、面向对象设计( o o d ) 、面向对象编程( o o p ) 、 面向对象测试( o o t ) 和面向对象软件维护( o o s m ) 等主要内容。 o o a 它的主要任务是运用面相对象的方法,对问题域和系统责 任进行分析和理解,最终得到构成应用的类和对象及其关系,产 生一个符合用户需求的分析模型和说明。“1 o o a 的基本过程如下: a 问题论域分析分析应用领域,确定系统的责任、范围和边界, 确定系统的需求。 b 发现和定义对象与类 c 识别对象的外部联系 d 建立系统的静态结构模型 e 建立系统的动态结构模型 o o d 是一种设计方法,它包括两方面,一是面向对象的分解过 程,二是使用面向对象表示方法描述所设计系统的逻辑和物理模 型。o o d 针对实现的有关因素对问题域,人机交互、任务交互和 数据管理四部分进行设计。“1 o o d 的基本过程如下: 乱设计对象与类 b 设计系统结构 c 设计问题论域子系统 d 设计人机交互子系统 e 设计数据管理子系统 设计任务管理子系统 g 设计优化,提高系统的性能 o o p 是一种系统实施方法,在o o a 和o o d 的基础上,利用面 向对象编程语言和工具实现软件系统,也就是把o o d 的结果代码 化。 o o t 和o o s m 发现并纠正软件中的错误,改进系统以适应新的 要求等。 1 2 统一建模语言u m l 在软件工程中经常使用术语“模型”。所谓模型指是对现实世界的 一个简化,软件系统模型提供一个系统的蓝图。通过对未来系统建立 模型,可以帮助系统开发人员深刻地理解系统,抽取业务过程,管理 6 系统复杂性,并方便人员的交流。因此,系统建模是软件开发中极其 重要的环节。 u m l ( t h eu n i f i e dm o d e l i n g l a n g u a g e ) 是一种定义良好、易于表 达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思 想、新方法和新技术,可以对复杂软件系统的各种成分进行可视化, 说明和构造系统模型,以及建立软件文档。 1 2 1u m l 的主要内容 作为一种建模语言,u m l 的定义包括语义和表示法两个部分。 u m l 语义是描述基于u m l 精确元模型的定义。元模型为u m l 的 所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使 开发者能在语义上取得一致,消除了因人而异的表达方法所造成的影 响。此外u m l 还支持元模型的扩展定义。 u m l 表示法定义了u m l 符号的表示法,它为开发者或开发工具使 用这些图形符号和文本语法提供了标准。这些图形符号和文字所表达 的是应用级的模型,在语义上它是u m l 元模型的实例。 标准建模语言u m l 的重要内容可以由下列五类图( 共9 种图形) 来 定义: 用例图( u s e c a s e d i a g r a m ) 从用户角度描述系统功能,并指出各 功能的操作者。 静态图( s t a t i cd i a g r a m ) 包括类图( c l a s sd i a g r a m ) 、对象图( o b j e c t d i a g r a m ) 和包图( p a c k a g ed i a g r a m ) 。其中类图描述了系统中类 的静态结构,它不仅定义了系统中的类,并表示出类之间的联系 如关联、依赖、聚合等,还包括类的内部结构( 类的属性和操作) 。 类图描述的是一种静态关系,在系统的整个生命周期都是有效的。 对象图是类图的实例,几乎使用与类图完全相同的标识。他 们的不同点在于对象图显示类的多个对象实例,而不是实际的类。 一个对象图是类图的一个实例。另外,由于对象存在生命周期, 因此对象图只能在系统某一时间段存在。 包由包或类组成,表示包与包之间的关系。包图用于描述系 统的分层结构。 行为图( b e h a v i o rd i a g r a m ) 描述系统的动态模型和组成对象间的 交互关系。其中状态图( s t a t e c h a r t d i a g r a m ) 描述类的对象所有可 能的状态以及事件发生时状态的转移条件。通常状态图是对类图 的补充。但在实用上并不需要为所有的类画状态图,仅为那些有 多个状态其行为受外界环境的影响并且发生改变的类画状态图。 活动图描述满足用例要求的所要进行的活动以及活动阃的约 束关系。它有利于识别并行活动。 交互图( i n t e r a c t i v ed i a g r a m ) 描述对象间的交互关系。其中顺序图 ( s e q u e n c ed i a g r a m ) 显示对象之间的动态合作关系,强调对象之 间消息发送的顺序,同时显示对象之间的交互。合作图 ( c o l l a b o r a t i o nd i a g r a m ) 描述对象间的协作关系,合作图和顺序 图相似,显示对象间的动态合作关系。除显示信息交换外,合作 图还显示对象以及它们之间的关系。如果想强调时间和顺序,就 使用顺序图;如果想强调上下级关系,则选择合作图,这两种图 合称为交互图。 实现图( i m p l e m e n t a t i o nd i a g r a m ) 其中构件图( c o m p o n e n t d i a g r a m ) 描述代码部件的物理结构及各部件之间的依赖关系。一 个部件可能是一个资源代码部件、一个二进制部件或一个可执行 部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和 理解部件之间的相互影响程度。配置图( d e p l o y m e n td i a g r a m ) 定 义系统中软硬件的物理体系结构。它可以显示实际的计算机和设 备( 用节点表示) 以及它们之间的连接关系,也可显示连接的类 型及部件之间的依赖性。在节点内部,放置可执行部件和对象以 显示节点和可执行软件单元的对应关系。 1 2 2 u m l 建模步骤 从应用的角度看,当采用面向对象技术设计系统时,首先是描述 需求;其次根据需求建立系统的静态模型,以构造系统的结构;第三 步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静 态的,包括用例图、类图( 包含包图) 、对象图、组件图和配置图等五个 图形,是标准建模语言u m l 的静态建模机制。其中第三步中所建立的 模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括 状态图、活动图、顺序图和合作图等四个图形,是标准建模语言u m l 的动态建模机制。因此,标准建模语言u m l 的主要内容也可以归纳为 静态建模机制和动态建模机制两大类。 1 2 3u m l 的应用领域 u m l 的目标是以面向对象图的方式来描述任何类型的系统,具有 很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可 以用于描述非软件领域的系统,如机械系统、企业机构或业务过程, 以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程 等。总之,u m l 是一个通用的标准建模语言,可以对任何具有静态结 构和动态行为的系统进行建模,而且适用于在系统开发过程中从需求 规格描述到系统完成后测试的不同阶段。“1 1 3r a t i o n a l 统一过程 u m l 是一种建模语言,是系统开发方法的一个组成部分,本身并 没有开发过程概念的定义和表示符号。u m l 的创始人在创建u m l 的同 时,在r a t i o n a l 公司的支持下综合了多种软件开发的长处,提出了一种 新的面向对象的软件开发过程,称之为r a t i o n a l 统一过程( r a t i o n a l u n i f i e dp r o c e s s ,r u p ) 。在此,u m l 是r u p 的一个完整部分,且贯彻 r u p 始终。 1 3 1r u p - - 维空间描述 在r u p 中,软件开发生命周期根据时间和核心工作流被划分为二 维空间,其中一维是时间,另一维是过程成分。如图1 1 示。 从时间序列而言,r u p 把软件周期划分为若干阶段和一系列的循 环重复。 从管理角度来讲,r u p 把软件项目的开发过程划分为四个阶段:开 9 端阶段、精化阶段、构建阶段和过渡阶段。开端阶段主要是给出项目 的初步轮廓,理解问题领域的各种业务过程和关系,了解系统需求, 明确系统的范围和职责,构思未来系统的概貌;精化阶段主要任务是, 收集更详细的系统需求,进行高层次的系统分析和设计,确定系统的 特征和基本系统架构,确定开发所要的活动和资源:构建阶段是通过 循环重复的工作具体建造软件系统。每一次的循环都包含了分析、设 计、实现、测试等过程:过渡阶段的主要工作有系统的b e t a ;顷u 试、系 统性能调整等。“, 图1 1r a t i o n a l 统一过程 从技术角度讲,r u p 规定了六个过程成分:业务建模、需求分析、 系统分析与设计、实现、测试、系统配置。它们是r u p 过程的核心工 作流,即软件系统开发的主要活动。 从图1 1 中我们可以看出r u p 是一个螺旋上升的开发过程,它由一 连串的循环组成,本次循环结果是下一次循环的输入,下一次循环是 本次循环的精化和扩展,是一个迭代与增量的过程。 1 3 2 r u p 特点 统一过程是用例驱动的 l o 系统开发从建立领域业务的用例模型开始,用例模型表达了系 统的需求,以后的各项工作都围绕这个用例模型展开。 统一过程是以构架为中心的 在系统的开发过程中,系统的体系结构用作开发的基本产物, 系统的概念化、构造和管理都是围绕着系统的体系结构进行。 统一过程是迭代与增量的过程。1 第二章科研会计核算系统需求分析 需求分析就是通过与用户的广泛交流,得到未来系统必须具备的 功能,即了解未来系统必须做什么,定义系统功能和用户界面,使客 户了解系统,开发人员了解系统需求,同时作为制定项目计划的基础。 通常一般用户对计算机技术了解不多,计算机工程人员对用户的 专业也不了解,这就阻碍了用户与计算机工程人员的交流,传统的数 据流法和功能分析法等不能有效地解决这个问题。面向对象建模方法 为此提供了一个较好的解决方案,引入用例的概念来描述用户需求。 需求阶段产生用例模型,用例模型是计算机工程人员从用户角度运用 简单的图示描述的系统模型,同时它也是获取需求、规划和控制项目 迭代过程的基本工具。 2 1用例图基本概念 在本系统中主要用到的基本概念有: 角色( a c t o r ) 是与系统和子系统发生交互的外部用户、进程或子 系统。 用例( u s ec a s e ) 是外部可见的一个系统功能单元,描述角色与系 统一次交互作用。 关联( a s s o c i a t i o n ) 指模块之间的结构联系,两者存在结构性的连 接。图形表示为二者的连线。 泛化( g e n e r a l i z a t i o n ) 是一般事物( 称为超类或父类) 和较特殊的 事物( 称为子类或孩子类) 之间的关系,也就是继承关系。图形 表示为带空心三角箭头的实箭线。 聚合( a g g r e g a t i o n ) 表示结构的部分和整体的关系a 图形表示为 关联线端加一个空心菱形。 依赖( d e p e n d e n c y ) 指一个( 独立事物) 发生改变将影响另一个( 依 赖事物) 的语义。图形表示为虚箭线。 2 2 会计核算系统需求的用例模型 会计核算系统需求的用例模型由如下两个子系统用例图组成 系统管理与初始化子系统用例图 会计核算子系统用例图 2 3 系统管理与初始化子系统用例图 2 3 1 a b 2 3 2 a b 科目期初余额设置 图2 1 系统管理与初始化子系统用例图 角色分析 超级用户是一种特殊的角色,不同其他角色之处在于他既可以 执行系统管理与初始化子系统部分功能又可以执行会计核算子 系统的部分功能。在本子系统中主要执行项目设置、项目期初 余额设置、科目设置、科目期初余额设置四个模块功能,由于 这四个模块的结果要输出,所以均与外部设备打印机有交互。 系统管理员的主要职能是人员的权限设置和系统参数设置。 用例分析 项目设置的主要功能是对项目进行初始化设置,包括项目号、 名称、单位代码、类型、负责人等。 项目期初余额设置对各项目下设的各科目的期初金额进行填 是徽u 一獭 器受 写,此功能必须在“项目设置”之后进行。 c 科目设置的主要功能是对各科目进行初始化设置,包括对科目 代码、科目名称、单位代码、银行科目标记、科目类别、科目 性质、帐簿类别、往来款项、核算对象等项进行设置。 d 科目期初余额设置对各科目的期初金额进行设置,同样此功能 也是在“科目设置”之后进行。 e 权限设置是指对所有应用会计核算系统的人员应用各级子系统 的权限进行设置。基本权限是系统管理员、超级用户以及会计 核算子系统中的录入员和审核员,可以针对不同人员在基本权 限中减少功能,但不可以超越基本权限。比如:张三和李四同 为超级用户,“科目设置”功能可以让张三执行或李四执行, 或都执行,但不可以超越超级用户的功能让他们中的任何一个 人去执行“系统参数设置”的功能。 f 系统参数设置对会计核算系统的许多固定参数进行设置,如单 位名称、会计年度、上线月份等。 以上用例中的a 、b 、c 、d 划归为初始化子系统;e 、f 划归为系统管 理子系统。 系统管理与初始化子系统的大部分工作是在初次应用该系统软件 时进行的,在平时的应用中也可以进行,这时要求系统具有实时性。 2 4 会计核算子系统用例图 图2 2 是会计核算子系统的用例图。 2 4 1角色分析 a 财务人员与录入员、超级用户、审核员是一种泛化的关系。财务 人员具有的职责是对凭证查询、账簿、项目处理和综合查询模块 的行使。 b 录入员除了具有财务人员的职能外,还能执行“凭证录入”和“凭 证修改”,因为对同一张凭单来说录入人和修改人必须同为一人。 c 审核员除了具有财务人员的职能外,还能对凭证进行审核。 1 4 d 超级用户在本子系统中除了具有财务人员的职能外,还可以执行 “月末处理”、“凭证分册”、“凭证汇总”。 结帐 图2 2 会计核算子系统用例图 2 4 2 用例分析 a 凭证录入是指录入员对原始凭证进行归纳整理填写会计凭证的过 程,在本系统中会计凭证都是记帐凭证。“凭证录入”是大部分财 务数据的入口,也是日常会计工作使用最多的模块。录入的凭单 数据要按一定格式打印出来。 b 凭证修改是指当某一张凭证已填写完并保存后( 即已存入数据库 中) 发现有错误,须对其进行修改时执行的模块,要求此凭单的 录入人和修改人必须同为一人。 c 凭证查询指对已经填写并保存完的凭单进行查阅,不能进行任何 改动。 d 凭证审核对已经填写并保存完的凭单进行审核,同时签署审核标 记和审核人姓名。 e 凭证分册是当凭证积累到一定数量时把凭证整理成册。如6 0 张凭 单为一册。 凭证汇总在分册之后对每册中的金额按借贷方和一级科目进行累 加,同时打印出结果。 以上的六个用例合称为凭证处理子系统。 g 账簿是会计核算体系的一个重要组成部分,它是用来序时、分类 记录和反映各项经济业务的会计簿籍。要求各账簿根据不同的会 计期间自动生成,同时可按会计要求的统一相应格式打印。这里 的帐簿分为如下五种: 1 ) 现金日记帐是每天对现金类科目进行登记汇总的账簿。反映 库存现金收入、支出和结存情况。 2 ) 银行日记帐是每天对银行类科目进行登记汇总的账簿。反映 银行存款的增加、支出和结存情况。 3 ) 总帐是对总帐科目( 一级科目) 按月进行分类汇总的账簿。 反映了各会计要素的总体情况。 4 ) 明细帐是对明细科目按月进行分类汇总的账簿。反映了各会 计要素的具体情况。要求各明细科目的汇总金额要与总帐中 其相应的一级科目金额相符。 5 ) 多栏帐是在一张账页上的借方和贷方下面按明细项目分设专 栏,以提供该科目的详细资料。 h 项目处理是以项目为单位,反映各项目的收支情况。包括项目计 算和项目查询两部分。项目计算是对项目所属各科目进行汇总, 要求打印出结果;同时要求对项目的收支余情况可随时进行查询。 i 综合查询主要是针对凭证的查询,不同于凭证处理中的查询在于 此模块的查询方式很多,反应的是满足一定条件的所有凭单情况, 而不是针对某一张凭单。 j 月末处理是指在月末进行记帐和结帐的过程。 1 6 k 往来帐管理指对借款、对冲等往来账目的管理。 会计核算子系统是本系统的核心部分,也是工作的重点所在。同 时由于会计工作的特殊性,要求本系统必须遵循合法性、正确性、完 整性、真实性、及时性、强制性的原则,同时要符合用户单位的要求 与习惯。 1 7 第三章科研会计核算系统模型 3 1 系统总体结构设计 我们对该系统总体结构设计如图3 1 示: 图3 1 会计核算系统总体结构 3 2 系统的静态结构分析 静态图指对应用领域中的概念及与系统有关的内部概念建模,不 描述与时间有关的系统行为。静态图主要由类及类间关系构成。类有 属性、操作等其他成分,属性描述类性质的实例所能具有的值;操作 实现类的服务功能,它可以被类的对象请求执行,从而发生某种行为。 下面列出本系统中的部分类图。图3 3 为初始化的类图。科目期初 余额设置依赖于科目设置,它使用了科目设置中的代码、名称和科目 性质;项目期初余额设置分别使用了项目设置中的项目号、名称、单 位代码以及科目设置中的科目。这种依赖的使用关系是依赖中最常用 的关系,在此图中所有的依赖关系均是一对一的关系。图中的各类均 标出了属性和操作,上层为类名,中间为类属性,底层为类的操作。 另外图中有五个边界类( 图标为圆、一竖线和一横线的组合) ,边界类 位于系统与外界的交界处,包括所有窗体、报表、打印机和扫描仪等 硬件的接口以及与其他系统的接口。 丽i 耵丽系预 审科目( 科目设置) 奄名称( 科目设置) 参借贷( 科目设置) 奄金额 科目期初金额宙体保存f 1 删除f ) 科目设置 岛舵码 簇暮科目标记 如科目类别 蓑瓣 劳p 0 q , 蓁蓁q薹二二一一 项目期栩余额 卑帐号( 项目设置) 岛名称( 项目设置) 岛单位代码( 项目设置) 岛科目( 科目设置) 岛期韧余额 保存( ) 保存0 删除( ) 删除0 打印 ) 打印( ) 1 9 体 蹲 凭证分册窗体 凭证e 总窗体 图3 2凭证处理类图 图3 2 是凭证处理的类图,为了便于展示和理解类之间的关系,图 3 2 中大部分类没有显示属性和方法,用的是类的简式显示方式。“录 入”类是一个基类,它包含了凭证的基本属性和操作。“查询”类依赖 于“录入”类,由于“查询”可以同时查阅许多张,所以在依赖关系 上用l $ f l n 来表示。“修改”类是“查询”类和“录入”类的子类,它继 承了“查询”类和“录入”类的所有功能,但继承“录入”父类的条 件是凭证修改的登录人和录入的制单人为同一个人。“审核”类单项依 赖于“录入”类,依赖的条件是审核的登录人不等于录入人。“审核” 2 0 类继承了“查询”类的所有功能,同时又扩展了签字、反签字、批审 和跳转这四项操作。“分册”类和“审核”类是单项的多对多依赖关系; “汇总”类和“分册”类是一对的依赖关系。 3 3 系统的动态结构分析 静态结构能够说明系统中包含些什么以及它们之间的关系,但不 能说明系统中的各个对象是如何协作来实现系统的功能的。对象通过 通信的方式相互协作,以及系统中的对象在系统生命周期中改变状态 的方式是系统的动态行为。通过动态模型的分析和设计,可以对静态 模型进行回溯和分析,从中找到遗漏的地方或是不合理的地方;同理, 在静态模型中也可以得到一些启发从而改进动态模型,也就是改进现 有的系统流程。 本节将从动态角度对系统建模,用到的视图主要是活动图和顺序 图。图3 4 从系统总体的角度表示了系统的流程,其中每一项活动内部 都有各自流程;图3 5 是凭证处理的顺序图:图3 6 是账簿的活动图。 在本系统中,所有运行的开始都是“登录”。登录时系统判断登录 人是否在线,以及拥有那些权限,展现出相应的功能界面。 专 一一i 磊售i 、 藤薄品 。、。,+ 。 。1 鱼j 毋7 图3 4 系统总体流程活动图 - ,往来帐管理、 耄一 j , 7 l 、 l j 7 【j i t i l l 图3 5 凭证处理顺序图 图3 6 账簿活动图 第四章系统主要实现技术 4 1 数据库的物理隔离备份 对一个财务软件来讲,备份、物理隔离通常是一个不可缺少的部 分。财务部门是一个单位的关键部门,尤其像光机所这样的大型科研 院所,许多项目都是国家的重点项目,其数据库的安全性是至关重要 的。如果数据库遭到损坏,其后果往往不堪设想。 现有的数据库物理隔离,备份方案( 例如口磁盘阵列口双机实时冗 余口软件双机备份) 通常是备份、隔离不能兼顾。因为它们大多是基 于网络备份的,采用了通用的协议( t c p i p ) ,生产机与备份机必须 通过网络连接才能实现备份,这样就难免给某些恶意攻击以机会,对 系统的安全造成威胁。中科院要求下辖的研究所都要将数据库放到网 上,使得科学院可以随时通过i n t e m e t 查询下辖各所的情况。于是就产 生了这样一个问题:如何保证i n t e m e t 上数据库的安全。 4 1 1u s b 通信的数据库双机备份概述 图4 1 隔离备份子系统的结构 2 3 在实际应用中我们采取t u s b 通信的数据库双机备份方法。这种方 法将生产机和备份机的连接由网线替代为u s b 数据传输线,通用的 t c p i p 协议替代为自定义协议。这样就可以( 而且必须) 不通过网络 连接做到备份,而且是单向数据流的备份,也就是说数据只能由生产 机流向备份机,反之则不能。即便是放到外网的备份机遭到了攻击数 据损坏,也不能影响生产机的正常工作,而且还会通过备份软件很快 地恢复备份机的数据。图4 1 表明了这种结构。这样隔离了生产机与备 份机,有效地防止了网络攻击,做到了备份、隔离兼顾,既满足了中 科院的要求又保证了数据的安全。 4 1 2u s b 传输 u s b 优点 以往隔离方案中的通讯通常采用串口标准,串行通讯有速率低, 可靠性差等缺点。而现在u s b 设备之所以被目前的微机系统所采用, 是因为u s b 不仅传输速率比传统的串口有很大的提高( 1 5 m b p s 和 1 2 m b p s ) ,而且还可以升级蛰j u s b2 o ,从而以4 8 0 m 的速度传输。 另外针对传统串口通讯不能保证数据可靠传输,u s b 在健壮性上 采取了如下措施: a 采用数据管道和控制管道结构,以保证功能之间的独立性; b 使用差分驱动器和接收器以及屏蔽保护,以保证信号的完整性; c 控制域和数据域的c r c 保护校验; d 连接和断开检测及系统级资源配置; e 协议的自我修复,对丢失包或毁坏包执行超时( t i m e o u t s ) 处理; f 对流数据进行流量控制,以保证对等步和硬件缓冲器维持正常的 管理。 正是由于u s b 通讯有诸多优点,所以我们采用u s b 通讯作为我们 的备份子系统的数据通讯链路,这样不仅能提高备份的效率,而且 还能最大地保证数据传输的安全可靠,从而虽大限度减少损失。 u s b 传输 u s b 通信在主机和位于外设内的端点之间产生。端点是作为数据源 2 4 秘接瞧嚣麓设唯一熟可静壤熬努。4 位定义了毅镶熬端患遮缝,代疆墩 措汜了健输方向和潦务感否为“控制”傣输。端点o 绦鼢蝓控制健输, 簿转设餐漆寄多遮1 5 令鞭淹毅瓣霞翁蘸和滚。联鸯终输遴避连接终蔽 端点籽主机的攫揿管道产生。建立避信辩,每个端点邋翻一个描述符, 告翻主枫裔美端点豁琵邋和鬻糟。赫遗符镪括礴输类溅、数据包的最 大蕊模、数爨传赣麓罨髓鬻麓菠舞纛繁蜜,有了这个数据,主撼壤煞 邋澄攫躲饕建建立与勰患戆连接。 烬8 支潦莲枣数攥健羧癸壁:控嚣l 、等聪、块羰爱孛隧方戏。 a 。羟裁蒋输程设餐与主撼瘸变换溅置、焱装黎愈令罄惫。登港要豫 证识陶正确髓时,c r c 便稳聋数攥并开始重传。 魏莓辩传辕楚蘧寒鑫蓊籁或褪频竣蚕懿滋式数攥,它翥j 楚游闽皴惑 信蕊,在限怒时桶肉能保e 访阀u s b ,系统滋梭钱枫测,必籁容忍 镐承条蕊酶字繁。 o ,姿逮露铸瓣琴紧要辫,块接辕穆凌丈攮数援。典越蹙鼹瞧攮糕印 槛秘孝蔓撼驶。当没谢慰重溪的撩务要进行时,壤传输趋填靛者, 使掰不麓国瞒b 带蠢,积0 豫轳这嫠毽。 d 。孛蘩襞辕翡耱谗设露了辩英是嚣蓦要缀势。交换少爨数据并港立 粼萼l 麓芙注( 辩鬣豁潮键盘) 瓣雉设旋掰串鞭健输。检镑税涮确 认数据。 黉为我稻瀑黪撩鼹蹙大量戆数摄,舜基豁簇爨迸鼗攒辩正确,掰 辨我们慕麒丁牲s 8 搬传辘方式。 4 1 3 具鐾翁遵遇燃议 虽然t c p i p 协议中的s o c k e t 联接为邋讯提供了可靠的数据链路, 爨荐在潜在鲍胃靛逶垂捺秽疽p 海滚获螽翁撬主游闯蓟垒产撬,凌予套 磐谂隔离予系缝巾我靛要求邋诫为攀商传输,所戳铸份黼离耧痔不 蘸蓰爝t c p i p 协淡。弱瓣虽然u s b 酌赢篷游谖串宥鲥诺静瀚畿,偿爰淹 了徐诋数器撩旅酌襄藏赛垒霹靠,还鼹隶在u 瓣簧毓海谈懿基张上蠹是 蛊一辨逶添镑谈,强缳避豢蠢滚可嚣辨遴抒攀国转虢。 这个协议的纠错算法我们采用了标准的c c i t t 生成多项式的c r c 算 法。1 6 位的c r c 算法理论上可以保证发现的错误的概率为:单个位错误 1 0 0 :双位错误1 0 0 ;奇数个错误1 0 0 ;比1 6 位短的突发性错误 1 0 0 ;恰好1 7 位的突发性错误9 9 9 9 6 9 ;其他所有的突发性错误 9 9 9 9 8 4 。这样就基本上能保证我们的传输能可靠地进行,以及数据 的完整性,使两个数据库能保持数据的一致性。 整个隔离备份程序分为两部分,一个是工作在生产机上的数据读 出程序,另一个是工作在备份机上的数据写入程序。生产机与备份机 通过u s b 传输线进行联接,除此之外两台机器无其他联接。数据读出程 序在定时地读出数据通过我们的协议传输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论