




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1医药业务管理系统医药业务管理系统 摘要:摘要:本系统是满足中国医药企业需求的综合信息管理系统,专门应用于医药批发商业和配送、连锁型企业,软件将企业的各方面资源(信息、人力、商品、资金、设备、时间、方法等方面)进行优化、整合,提高资金运营效率、建立企业-供应商-客户之间的供销链,在提高资金周转率、降低成本、减少库存积压、规范企业运作、提高客户服务水平等方面提供强有力的管理;帮助企业按照 GSP 标准进行药品的全面质量控制;帮助高层管理人员对企业中大量的、错综复杂的动态数据和信息进行及时、准确的分析和处理,使企业管理真正由经验管理进入科学管理模式,使企业的管理手段和管理水平产生质的飞跃。通过系统
2、的设计到系统的正式运行,基本上达到了系统的设计要求,实现了医药管理的现代化:根据不同的数据项,打印输出相应明细报表,主要包括药品名称、药品编号、规格型号、数量、单价、金额、最高库存、最低库存等相关内容。并且可以方便的查询进库、出库等相关式象。便于管理,提高效率。关关键词键词: :医药 业务 管理2Pharmaceutical business management systemABSTRACT:This system is to satisfy China pharmaceutical enterprise needs comprehensive management information
3、system, specially used in medicine wholesale business and distribution, chain enterprises, the software will enterprise of all aspects of resources (information, human, commodity, funds, equipment, time, method and etc.), integration, improve optimize capital operation efficiency, establish enterpri
4、se - suppliers - the supply chain between customers, improving capital turnover rate, reduce cost, reduce inventory, standardize enterprise operation, improve customer service level with powerful management; Help enterprise according to the standard for the GSP comprehensive quality control; drug He
5、lp on the senior management enterprise large Numbers of, intricate dynamic data and information in a timely, accurate analysis and processing, make the enterprise management really. Through the design of the system to the formal operation system, basically achieved the design of the system requireme
6、nts, achieving the medicine management modernization: according to different data items, print output corresponding detailed reports, mainly including drug name, drug Numbers, specifications, quantity, unit price, total amount, the supreme inventory, minimum inventory and other related content. And
7、can be convenient inquires the into library, outbound and other related type elephant. Facilitate management, improve efficiency.Keywords: pharmaceutical business management1目录目录1 前言.12 医药业务管理系统的设计思想.22.1 医药业务管理要点.22.2 医药业务管理 .33 软件开发环境.43.1 系统软件开发环境 .43.2 开发数据库应用软件综述 .83.3 数据库系统开发的几个关键技术 .133.4 面向对
8、象的软件设计过程 .194 系统设计与实现 .2224.1 系统结构图.224.2 系统模块划分及数据流程 .235 运行与调试 .36结束语 .37参考文献 .38附录 .38致谢 .4211 1 前言前言在当今这个信息化的社会中,谁能更有效的利用自身资源,掌握更全面、更准确的信息,更快的做出科学的决策,谁就能顺应社会的潮流,在激烈的竞争中站稳脚跟,并同时给企业带来更高的回报。随着科技的不断进步,企业都在不断的注重管理的信息化以完善企业管理,增强企业自身的竞争力。药品销售业也不例外,通过较完善的信息系统实现自身企业对内部管理的方便性、合理性、快捷性、高效性等要求。以前的手工管理效率低使最明显
9、的缺陷,另外,数据的一致性不好维护,如某个药品信息的记录有所改动(如更改编号) ,那么该要品的其他记录就与此不一致,造成查询的费时费力。要把全部数据都更改又相当不方便。对药品库存的盘点也很不方便,而且需要较多的人来进行管理操作,而且容易出错,造成数据的不一致。而药品业是关民生的行业,错误信息可能会造成不可收拾的严重后果。因此,运用高效、准确的信息管理系统来替代手工管理是完善药品销售业管理的有效手段。利用数据库系统可以很好的对数据进行维护,减少由于数据不一致等错误带来的麻烦。方便数据的更新和查询,降低错误率,方便药品信息的维护及库存的盘点。还可以运用较少的人员,高效的完成对药品销售的管理。由于社
10、会的发展不断趋于信息化,各个行业都要加强自身的信息化程度以适应社会的发展。而管理信息化正迎合了这个趋势,数据库系统在药品销售业的应用业实现了药品销售业执行工具、业务管理等的信息化,在这个信息化社会为药品销售业的发展增加了新的动力。相信随着社会的不断发展对该类系统的需求会越来越高。药品销售管理信息系统,即服务于个人,又服务于企业,并最终服务于社会,这是让科技为人类服务的最好例证,其开发意义显而易见。 PowerBuilder 作为一种可视化的、面向对象的快速应用开发工具,是目前最流行的数据库前端开发工具之一。他继承了强大且易于使用的第四代编程语言,内置包括数据窗口在内的多种对象类,能很好地支持并
11、访问当前广泛应用的各种数据库,如 IBM DB2、Oracle、Microsoft SQL Serve、Informix 等。他还具有支持多种平台的优良特性。这些特点使得 PowerBuilder 能够开发出速度更快、质量更高、功能更强的应用系统。特别是 PowerBuilder8.0 的发布,使其在集成开发环境、项目组织上更趋完善,不但能更好的进行基于客户机/服务器(C/S)模式的应用开发,而且在分布式应用和基于 Internet 的 Web 应用的开发(B/S)中也体现了方便、高效的优势。越来越多的开发人员使用 PowerBuilder 作为开发工具,也是PowerBuilder 获得认可
12、的最好证明。 此次论文报告,在使用 PowerBuilder 技术的基础上,提供了有一定技术深度2的具体实例,这些事例都是我从实际开发的项目中总结出来的,极具代表性。通过实践考察,不仅能掌握 PowerBuilder 的使用知识,更重要的是在运用PowerBuilder 开发软件的能力上有较大的提高。2 2 医药业务管理系统的设计思想医药业务管理系统的设计思想2.12.1 医药业务医药业务管理要点管理要点.1医药业务医药业务管理的管理的意义意义GSP 是 Good Supplying Practice 的缩写,直译为良好的药品的供应规范, 在我国称为药品经营质量管理规范,是指在
13、药品流通全过程中,用以保证药品符合质量标准而制定的针对药品计划采购、购进验收、储存、销售几售后服务等环节的管理制度,其核心是通过严格的管理制度来约束企业的行为,对药品经营全过程进行质量控制,保证向用户提供优质的药品的准则。GSP 的实施,增强了员工的质量意识,促进了药品进、销、存、用全过程的质量管理,有利于保证用药安全有效。12 GSP 的形成过程1992 年 3 月 18 日,国家医药管理局发布了医药商品质量管理规范 (GSP) ,字1992 年 10 月 1 日起实行,受国家医药管理局推行 GSP 委员会的委托,中国医药商业协会于 1993 年 6 月组织编写了医药商品质量管理规范实施指南
14、 ,拉开了医药行业实施 GSP 的序幕。国家药品监督管理局成立后,对药品经营质量管理规范进行了修订,并于 2000 年 7 月 1 日起施行新版的 GSP,新版的 GSP 编排更加合理,内容更加具体、科学、丰富、实用。13 实施 GSP 的意义和作用随着我国市场经济的不断发展和完善、我国原有的药品计划经济式的销售模式的瓦解,一种多渠道、少环节,多点购销、相互竞争的药品流通格局已逐步形成,企业处于相对比较完全的市场竞争的环境中,药品经营企业要在激烈竞争的市场中站稳脚跟并得到发展,单纯依靠营销手段是不够的。价格竞争、服务竞争必须以质量竞争为基础。因此,实施 GSP,保证药品质量关系到企业的生命。同
15、时,药品的特殊性决定企业必须实施 GSP,保证药品质量,保证人民的生命健康。其意义在于:(一)实施 GSP 是贯彻执行国家质量管理法规的需要。 (二)事实 GSP 是药品经营企业在市场竞争中求生存的需要。 (三)实施 GSP 是药品国际贸易的要求。 (四)实施 GSP 必将促进 TQC 工作的顺利开展。实施 GSP 的作用:3一促进企业经营理念的变化。在质量与数量关系上,从单纯的追求销售数量达到利润增长转变为既重视销售数量有重视产品质量,提高经济效益和社会效益的目标并重上来,使企业全员参加全过程的质量管理,提高工作质量,改善经营管理,从而达到社会效益和经济同步增长的目的。要实现这一转变首先是企
16、业管理人员观念的转变。二促进企业经营组织结构的优化。质量管理的好坏是企业棉闹的综合反映,在企业组织机构上必须缉拿里强有力的质量保证体系,使质量管理部门和其它部门共同协调,各个部门都要坚持质量第一,明确自己的职责,做好各自的工作,要围绕企业的经济效益,搞好质量管理,要准确地掌握市场需求动态,选择能够满足用户需求的药品,扩大供应,按照药品质量标准,保证各个经营环节的规范操作,维护药品安全,抓好质量悬案,搞好情报搜集,及时提供质量信息。三促进企业运用先进的科学技术保证商品质量的安全可靠长期以来,在医药商品验收中只是靠手模、眼看、耳听、舌舔等外观鉴别方法,这种方法靠感官功能,凭经验,劳动强度大,工作效
17、率低,主观因素大,准确度差,已经越来越不适应发展的需要了。GSP 强调必须用先进的测试仪器和检验装置来取而代之,强调应用科学的检验规程和管理程序,尽可能避免人为因素,以确保医药的质量分析和检验正确可靠.2 医药业务管理的任务医药业务管理的任务(1)实现多点操作的信息共享,相互之间信心传递准确、快捷、顺畅。(2)全面自动化管理,可随时掌握药品的库存、销售的情况。(3)系统页面美观,操作简洁易行,查询灵活方便,数据存储安全。(4)能够快速、准确的处理药品进、销、存、退、盘点、变价、折扣等多种业务模式。(5)供助记码及支持多种结算方式(6)系统维护安全、方便、可靠、并且能够满足实用性
18、,先进性的要求。43 3 软件开发环境软件开发环境3.1 系统软件开发环境医院设备管理系统的开发选择如下软件系统作为平台支持。(1)网络操作系统 windows NT。Windows NT 是目前最流行的网络操作系统,以其功能强大的系统软件构成。本系统的开发选择如下软件系统作为平台支持、操作简便、安全性好及开放的互联协议而被广大用户所采用。(2)大型数据库管理系统 Sybase 或 SQL SERVER7.0。Sybase 是国际上流行的三大数据库之一,其产品既充分吸收 Sybase 是国际上流行的三大数据库之一,其产品既充分吸收了已有的许多 RDBMS 成功的技术,又容进了数据库的最新技术,
19、率先实现了客户/服务器体系结构。支持 SQL 语言,通过触发器、存储过程等多种机制保证数据的安全性和完整性。SQL SERVER7.0 具有Sybase 的所有特点,但它更适用于中小型企、事业数据库的管理。(3)面向对象的数据库开发工具 PowerBuider 8.0PowerBuider 是迄今为止最成功的数据库应用系统的前端开发工具之一,基于客户/服务器体系结构,广泛支持现今各种流行的数据库管理系统,成为数据库管理系统的首选开发平台。(4)工作站端安装 windows2000 客户平台。Windows2000 是目前最实用、最流行的客户端操作系统。一PowerBuilder8.0 基础知识
20、 随着数据库技术在各行各业的广泛应用,作为企业级数据库前端开发工具的PowerBuilder 日益成为开发人员的得力助手。PowerBuilder 以其开放的体系结构简洁高效的集成开发环境、强大的数据窗口技术、几乎无所不能的数据库访问能力和友好的用户界面,越来越受到编程人员的青睐,连续多年被评为美国计算机界的年度风云产品,在数据库开发工具领域占据了高达 44 的市场份额。据 Sybase 统计,目前全球有 60 万程序员和系统分析人员在使用 Powerbuilder 进行各种类型的应用程序开发。近年来,计算机硬件的发展极为迅速,性能/价格比不断提高,硬件的价格愈来愈低,而与之相比,应用软件的开
21、发费用却愈来愈高。我们都知道,计算机的使用5离不开应用软件,而应用软件的开发却是一件很花费时间、人力和物力的事情,其根本原因就是应用软件开发的效率不高,而传统的 3GL 编程方式的开发方法,对应用软件的开发有着很大的限制,其局限性越来越突出。基于以上原因,被称为“工具”的第四代编程语言应运而生。这其中包括 Microsoft 公司的 Visual Basic、Visual C+、Visual FoxPro、Inprise 公司的 Delphi、C+ Builder 和今天要介绍的 PowerSoft 公司的 PowerBuilder。 PowerBuilder 是 Sybase 公司的独资子公
22、司 PowerSoft 推出的应用于客户机/服务器体系结构下的应用程序开发技术,是一种面向对象的图形化交互式开发工具。从 1990 年 6 月 1.0 版本的问世,到最近 8 版本的发行,PowerBuilder 越来越让人感觉到其强大的魅力。 对于数据库应用系统强有力的支持是 PowerBuilder 的一大特色,它提供与当前流行的大型数据库如:Oracle、Informix、Sybase 等的专用接口,并可通过ODBC 与微机数据库连接,具有强大的查询、报表和商业图形功能,可支持跨平台开发。 PowerBuilder 采用真正的面向对象的技术,它将所有的事件、控制、函数和程序都以对象为单位
23、封装起来,具有“封装” “多态” “继承”的属性。PowerBuilder为开发人员提供了各种工具和一个集成的开发环境,创造了应用开发时所需的各种部件,如窗口、菜单、数据库存取、图形和报表;应用的各种成分,包括窗口、菜单、程序、数据库存取、数据库管理、图形、报表、调试、编译等工作全都能在PowerBuilder 的集成开发环境中完成。PowerBuilder 是面向对象的可视化(Visual)编程工具,相对于第三代面向过程编程语言,可让程序员将更多的精力放到功能的实现而不是界面的实现上来。这些不仅能提高程序员的工作效率,同时还能极大地加快开发进程。 值得一提的是,PowerBuilder 提供
24、了一个智能型、功能强大的数据窗口对象(DataWindow),利用它,软件人员无需编写专门的 SQL 语句,就可以实现对后台数据库进行显示、修改、更新、插入、删除和打印等操作。数据窗口(DataWindow)是PowerBuilder 的专利,也是 PowerBuilder 应用程序的核心和精华所在。PowerBuilder 通过数据窗口(DataWindow)建立了用户与数据库间的交互和控制。 随着 PowerBuilder 新的推出,这一功能强大的第四代语言快速开发环境又提供了众多颇受欢迎的改进,增加了平台支持的数量,增强了建立因特网和内部网上分布式应用的能力,扩展了语种支持。显著的变化是
25、,PowerBuilder 已经开始从传统的客户/服务器开发环境转变成完全支持 WWW(World Wide Web)应用的开发环境。新的 Java 代理生成器使 Java 客户机能够直接访问应用逻辑和 PowerBuilder 8.0对象。代理提供了一种插入商用逻辑的方法,从而确保了应用程序的灵活性、可伸6缩性和可重用性,消除了重写和重新分发对象的时间。直接支持 Active X 技术、Server Push 技术,对分布式计算模型的定义更加明确,实现更为简便,并可以利用数据窗口直接生成 HTML 格式文件。 可以说,在现今众多的数据库应用开发工具中,PowerBuilder 是其中的佼佼者
26、。它可以使应用开发的速度更快、成本更低、质量更高、功能更强。PowerBuilder 已成为 Client/Server 模式应用和基于 Internet 模式应用的主要开发工具之一。 从总体上讲, PowerBuilder 是一个图形界面的应用程序开发程序开发环境,之所以说它更像一个开发环境,而不仅是开发工具 ,是因为 PowerBuilder 的功能比工具要强大的多。开发人员不仅能用它来建立各种方便、易用的应用程序,还可以通过它修改后台的数据库,并可以利用内部函数建立能和其他应用程序通信的各种应用程序。由于使用 PowerBuilder 开发的应用程序充分利用了图形用户接口(GUI)的优点
27、,所以它也被认为是一个图形工具。 针对拥护不同需要,PowerBuilder 有三个不同的版本:PowerBuilder 桌面版PowerBuilder 专业版PowerBuilder 企业版PowerBuilder 桌面版视为单个开发人员设计的可在独立开发环境中用的强大工具。它可以使用其内置的 32 位乖习性数据库 Sybase SQL Anywhere 或其他的桌面数据库创建单用户应用,能大大提高开发者的效率。 PowerBuilder 专业版可以为建立部门级应用的小组提供完整的开发环境,并可通过优化的 ODBC 接口与多种桌面系统以及服务器数据库连接。PowerBuilder 企业版除了
28、具有桌面版和专业版的全部功能以外,还提供了可提高开发大型项目效率的许多功能。这三个不同版本的主要差异是:在提供的对大型数据库的专用接口上,企业版最全,专业版次之,而桌面版几乎没有提供。二PowerBuilder 的安装环境PowerBuilder 光盘外,还应检查所使用的平台。这里简单介绍一下基于Windows 平台的计算机软硬件典型配置。 486 以上的 CPU;16MB 以上的内存;CD-ROM 驱动器;VGA 显示器;7至少 45MB 以上的硬盘空间,具体大小依赖所选部件;Windows95/98,或 Windows NT4.0/5.0 操作系统。 三PowerBuilder8.0 的新
29、特性新的用户界面和开发方法PowerBuilder8.0 与以前的版本相比,其界面风格有了很大的变化,增加了许多功能,使用起来也更加方便只管。其主菜单增加了 Run 和 Tools 菜单项,每个菜单业与以前版本有所不同,功能划分更加合。由于引入了许多新的概念(如工作区、目标、系统数等) ,工具条也有了较大变化,增添了对这些新增功能的处理。工作取得引入,改变了以往只能在一个应用下工作的限制。在PowerBuilder8.0 中,一个工作区可以有多个目标,而每个目标又可包含多于一个的应用。新的 Web 特色由于 PowerSite Web 开发工具和 PowerBuilder 的完全集成,使得Po
30、werBuilder8.0 不仅可以创建可执行程序及 EAServer 组件,还可以轻松创建 Web 应用程序。同时PowerBuilder8.0 页增强了 Web 数据窗口的功能。新的数据库连接PowerBuilder8.0 提供了一个新的数据库接口 JDBC(JDB 数据库接口),同时也增强了原有的数据库接口(如增强的 INFORMIX 数据库接口、增强的 ODBC 数据库接口等) 。在 PowerBuilder8.0 中,除了 Oracle 数据库外,所有数据库都提供了对 ANSI SQL-92外连接 SQL 语法支持。PowerBuilder8.0 中所有的数据库信息不再存与 PB.I
31、NI 文件之中,而使用窗口注册。其他的新特性除了上述变化,PowerBuilder8.0 还有其他一些新的特性,其中包括:可以修改可执行文件的版本信息;可以支持更多 Windows 系统提供的颜色;使用 Center 特性可使窗口再打开或是改变大小时自动居中;新增了一个数据窗口函数 LastPos,用来返回目标字符串上一个实例的位置等。83.2 开发数据库应用软件综述 在 20 世纪 60 年代中期爆发了众所周知的软件危机。为了克服这一危机,在1968、1969 年连续召开的两次著名的 NATO 会议上提出了软件工程这一术语,并在以后不断发展、完善了这一技术。许多软件公司和机构都在研究软件开发
32、方法这个概念性的东西,而却也提出了很多实际的开发方法,比如:生命周期法、原型化方法、面向对象方法等。就软件开发模型而言,目前有瀑布模型,螺旋模型,渐增式模型和喷泉模型。 一结构化方法1978 年,E.Yourdon 和 L.L.Constantine 提出了软件开发的结构化方法,即SASD 方法,也成为面向功能的软件开发方法和面向数据流的软件开发方法。1979年 TomDeMarco 对此方法作了进一步完善。 Yourdon 的方法是 80 年代使用最广泛的软件开发方法。他首先用结构化分析(SA)对软件进行需求分析,然后用结构化设计(SD)方法进行总体设计,最后式结构化编程(SP)。结构化分析
33、就是面向数据流自顶向下逐步求精进行分析。其步骤为:(1)按照可行性研究后画号的数据流图,根据输出要求沿数据流图回溯,看输出及运算所得到的信息是否能满足输出要求。(2)请用户复查数据流图,看是否能满足用户要求。(3)细化数据流图,把比较复杂的处理过程分解细化。 编写文档,并进行复查和复审。结构化设计分为总体设计和详细设计。总体设计要确定系统的具体实现方案和软件的具体结构。其步骤为: (1)设想供选择的方案。(2)选取合理的方案 (3)推荐最佳方案。 (4)功能分解,已确定系统由哪些模块组成,以及这些模块之间的关系设计软件结构。根据数据流图的类型(处理型、事务型)采用相应的映射方法映射成相应的模块
34、层次结构,并对其优化。并进行数据库设计,根据数据字典进行数据库的逻辑设计。详细设计则是借助程序流程图,N-S 图或 PAD 图之类的详细设计工具来描述实现具体功能的算法。结构化实现则是采用诸如 PASCAL C、FORTRAN 等结构化语言对详细设计所得到的算法进行编码。二面向数据结构的软件开发方法9Jackson 方法1975 年,M.A.Jackson 提出了一系列至今仍广泛使用的软件开发方法。这一方法从目标系统的输入、输出数据结构入手,到处程序框架结构,在不成其它细节,就可以得到完整的程序结构图。这一方法对输入、输出数据结构明确的中小型系统特别有效,例如医院应用中的文件表格处理该方法也可
35、与其它方法结合,用于模块的详细设计。Jackson 方法有时也称为面向数据结构的软件设计方法。Warnier 方法1974 年,J.D.Warnier 提出的软件开发方法与 Jackson 方法类似。差别有三点:一是他们使用的图形工具不同,分别使用 Warnier 图和 Jackson 图;另一个差别是使用的伪码不同;最主要的差别是在构造程序框架时,Warnier 方法仅考虑出入数据结构,而 Jackson 方法不仅考虑输入数据结构,而且还考虑输出数据结构。三问题分析法PAM(ProblemAnalysisMethod)是 80 年代末由立公司提出的一种软件开发方法。PAM 方法希望能兼顾 Y
36、ourdon 方法、Jackson 方法和自底向上的软件开发方法的优点,而避免他们的缺陷。它的基本思想是:考虑到输入、输出数据结构,并指导系统的分解;在系统分析指导下逐步总和。这一方法的具体步骤是:(1)从输入、输出数据结构导出基本处理框;分析这些处理框之间的先后关系。(2)按先后关系逐步综合处理框,直到画出整个系统的 PAD 图。从上述步骤可以看出,这一方法本质上是综合自底向上的方法,但在逐步综合之前已进行了有目的的分解,其目的就是充分考虑系统的输入、输出数据结构。PAM 方法的另一个优点是使用 PAD 图。这是一种二维树型结构图,使到目前为止最好的详细设计的表示方法之一,远远优于 NS 图
37、和 PDL 语言。这一方法在日本较为流行,软件开发的成功率也很高。但由于在输入、输出数据结构与整个系统之间同样存在着鸿沟,使这一方法仍只是用于中小型问题。四原型化方法产生原型化方法的原因很多,主要是随着系统开发经验的增多,软件开发人员也发现并非所有的需求都能够预先定义,而反复修改是不可避免的。当然能够采用原型化方法还是因为开发工具的快速发展,比如用 VB、PowerBuider,Delphi 等工具,可以迅速的开发出一个可以让用户看的见、摸的着的系统框架。这样,对计算机不是很熟悉的用户就可以根据这个样板提出自己的需求。历史上曾经形成了实现原型法的两种途径:抛弃原型法:其目的是要评价目标系统的某
38、些特性,以便更准切地定义需求,使用之后就把这种原型抛弃掉。演化原型法:演化原型法是一个多次迭代的过程,每次迭代都由以下几个阶段10组成:确定用户需求。开发原始模型征求用户对初始原型的改进意见。修改原型。原型化开发比较适合与用户需求不清楚、业务不确定、需求经常变化的情况。当系统规模不是很大也不太复杂时采用该方法是比较好的。五面向对象的软件开发方法 面向对象技术的产生可称得上是软件技术的一次给革命,在软件开发史上具有里程碑的意义。随着 OOP (面向对象设计)和 OOA(面向对象分析)的发展,最终形成面向对象的软件开发方法 OMT(ObjectModelingTechnique)。这是一种自底向上
39、和自顶向下相结合的方法,而且它以对象建模为基础,不仅考虑了输入输出数据结构,实际上也包含了所有对象的数据结构。所以 OMT 彻底实现了 PAM 没有完全实现的目标。不仅如此面向对象技术在需求分析、可维护性和可靠性这三个软件开发的关键环节和质量指标上有了实质性的突破,解决了在这些方面长期存在的严重问题。自底向上的归纳OMT 的第一步是从问题的陈述入手,构造系统模型。从真是系统导出类的体系,即对象模型包括类的属性,与子类、类的继承关系,已积类之间的关联。类是具有相似属性和行为的一族具体实例(客观对象)的抽象,父类是若干子类的归纳。因此这是一种自底向上的归纳过程。在自底向上的归纳过程中,为使自类能更
40、合理地继承父类的属性和行为,可能需要自顶向下的修改,从而使整个系统体系更加合理。由于这种类体系的构造是从具体到抽象,再从抽象到具体,符合人类的思维规律,因此能更快、更方便地完成任务。这与自顶向下的 Yourdon 方法构成鲜明的对照。在 Yourdon 方法中,构造系统模型是最困难的一步。因此需要开发人员有丰富的软件开发经验。而在 OTM 中这一工作可由一般开发人员较快地完成。在对象模型建立后,很容易在这一基础上再导出动态模型和功能模型。这三个模型一起构成要求解的系统模型。自顶向下的分解系统模型建立后的工作就是分解。与 Yourdon 方法按功能分解不同,在 OMT 中通常按服务(Servic
41、e)来分解。服务具有共同目标的相关功能的集合,如 I/O 处理、图形处理等。这一步的分解通常很明确,而这些子系统的进一步分解因有较具体的系统模型为依据,也相对容易。所以 OMT 也具有自顶乡下方法的优点,即能有效地控制模块的复杂性,同时避免了 Yourdon 方法中功能分解的困难和不确定性。11OMT 的基础是对象模型每个对象类由数据具结构(属性)和操作(行为)组成,有关的所有数据结构(包括输入、输出数据结构)都是软件开发的依据。因此 Jackson 方法和 PAM 中输入、输出数据结构与整个系统之间的鸿沟在 OMT 不再存在。OMT 不仅具有 Jackson方法和 PAM 方法中,当他们的出
42、发点输入、输出数据结构(即系统的边界)发生变化时整个软件必须推倒重来。但在 OMT 中系统边界的改变只是增加或减少一些对象而已,整个系统改动及小。需求分析彻底需求分析不彻底常常是软件失败的主要原因之一。传统的软件开发方法不允许在开发过程中用户的需求发生变化,从而导致种种问题。正是由于这一原因,人们提出了原型化方法,推出探索原型、试验原型和进化原型,积极鼓励用户改进需求。在每次改进需求后又形成新的进化原型供用户使用,直到用户满意,从而大大提高了软件的成功率。但是它要求软件开发人员能迅速生成这些原型,这就要求有自动生成代码的工具支持。OMT 彻底解决了这一问题。因为需求分析过程与系统模型的形成过程
43、一致,开发人员与用户的讨论是从用户熟悉的具体实例(实体)开始的。开发人员必须搞清现实系统才能导出系统模型,这就使用户与开发人员之间有了共同的语言,避免了传统需求分析中可能产生的种种问题。可维护性大大改善在 OMT 之前的软件开发方法都是基于功能分解的。尽管软件工程技术在可维护方面做出了极大的努力,使软件的可维护性有较大的改进,但从本质上讲,基于功能分解的软件是不易维护的。因为功能一旦有变化都会使开发的软件系统产生较大的变化,甚至推倒重来。更严重的是,在这种软件系统中,修改是困难的。由于种种原因,即使是微小的修改也可能引入新的错误。所以传统开发方法很可能会引起软件成本增长失控,软件质量得不到保证
44、等一系列严重问题。正是 OMT 才是软件的可维护性有了质的改善。 OMT 的基础是目标系统的对象模型,而不是功能分解。功能是对象的使用,它依赖于应用的细节,并在开发过程中不断变化。由于对象室可按存在的,因此当需求变化是对象的性质要比对象的使用更为稳定,从而使建立在对象结构上的软件系统也更为稳定。更重要的是 OMT 彻底解决了软件的可维护性。在面向对象语言中,子类不仅可以继承父类的属性和行为,而也可以重载父类的某个行为(虚函数)。利用这一特点,就可以方便地进行功能修改:引入某类的一个子类,对要修改的一些行为(即虚函数或虚方法)进行重载,也就是对他们重新定义。由于不再在原来的程序模块中引入修改,所
45、以彻底解决了软件的可修改性的问题,从而也彻底实现了12软件的可维护性。面向对象技术还提高了软件的可靠性和健壮型。六可视化开发方法可视化开发方法是 90 年代软件界最大的两个热点之一。其实可视化开发并不能单独的作为一种开发方法,更加贴切的说可以认为它是一种辅助工具。比如用过SYBASE 的 S-Design 的人都知道,用这个工具可以进行显示图型化的数据库模式的建立,并可以被导入到不同的数据库中去。随着图形用户界面的兴起,用户界面在软件系统中所占的比例也越来越大,有的甚至高达 60%70%。产生着一问题的原因是图形界面元素的生成很不方便。为此 Windows 提供了应用程序设计接口。API(Ap
46、plicationProgrammingInterface),它包含了 600 多个函数,极大地方便了图形用户界面的开发。但是在这批函数中,大量的函数参数使用了数量更多的有关常量,使基于 WindowsAPI 的开发变得相当困难。为此 Borland C+退出了ObjectWindows 编程。它将 API 的各部分用对象类进行封装,提供了大量预定义的类,并为这些类定义了许多成员函数。利用子类对父类的继承性,以及实例对类函数的引用,使应用程序的开发省却大量类的定义,以及成员函数的定义,或只需要做少量修改以定义子类。 ObjectWindows 还提供了许多标准的缺省处理,大大减少了应用程序开发
47、的工作量。但要掌握他们,对非专业人员来说仍是一个沉重的负担。为此人们利用WindowsAPI 或 Borland C+的 ObjectWindows 开发了一批可视开发工具。可视化开发就是在可视开发工具提供的图形用户界面上,通过操作界面元素,诸如菜单、按钮、对话框、编辑框、单选矿、复选框、列表框和滚动条等,由可视开发工具自动生成应用软件。这类应用软件的工作方式是事件驱动。对每一时间,由系统产生相应的消息,在传递给相应的消息像因函数。这些消息响应函数是由可视开发工具在生成软件时自动装入的。 可视化开发工具提供了两大类服务。一类是生成图形用户界面及相关的消息响应函数。通常的方法实现生成基本窗口,并
48、在它的外面以图标形式列出所有其它的界面元素,让开发人员挑选后放入窗口指定位置。在注意安排界面元素的同时,还可以用鼠标拖动,以使窗口的布局更趋合理。另一类服务是为各种具体的子应用的各个常规执行步骤提供规范窗口,它包括对话框、菜单、列表框、组合框、按钮和编辑框等,以供用户挑选。开发工具还为所有的选择(事件)提供消息响应函数。由于要生成与各种应用相关的消息响应函数,因此,可视化开发只能用于相当成熟的应用领域,如目前流行的可视化开发工具基本上用于关系数据的开发。对一般的应用,目前的可视化开发工具只能提供用户界面的可视化开发。至于消息响应函数(或称脚本) ,则仍需用通常的高级语言(3GL)编写。只有在数
49、据库领域才提供 4GL,使消息响应函数的开发大大简化。可视化开发是我们把注意力集中在业务13逻辑和业务流程上,用户界面可以用可视化工具方便地构成。通过操作界面元素,诸如菜单、按钮、对话框,编辑框、单选框、复选框、列表框和滚动条等,由可视开发工具自动生成应用软件。七基于组件的软件开发组件的概念有关组件,目前还没有严格的定义。但是我们可以大致描述如下:组件是一种能够提供某种服务的自包含的软件模块,他封装了一定的数据(属性)和方法,并提供特定的借口,开发人员利用这以特定的接口来使用组件,并使其与其它组件交互通讯,以此来构造应用程序。组建和对象的区别在于:对象封装了一组相关的函数,而组件择封装了一组相
50、关的对象。组件的特点从广义上来说,构件由如下几个基本属性:组件视可独立配置的单元,组件的概念视独立于编程语言的,这也就是说,用不同语言编写的组件应能在一起协同工作,或者说用一种语言编写的应用程序中很好地工作。因此构件必须自包容。构件强调与环境和其他构件的分离,因此构件的实现是严格封装的,外界没机会或没必要指导构件内部的实现细节,就能利用组件方便地构筑应用程序。这种特点还使得组件开发人员可以对组件单独进行升级,改进原来的功能,却不影响整个应用系统的运行,只要保证组件对外界的接口保持不变即可。可以在适当的环境中被复合使用,因此构件需要提供清楚的接口规范,与环境交互。组件还能跨网络而运行。也就是说,
51、组件能被部署到联网的各个计算机上,它们之间可以通过某中通讯机制相交互。从而构筑基于网络环境的分布式应用程序,实现分布式计算。构件不应当是持续的,即构件没有个体特有的属性。这可理解为构件不应当与自身副本区别。从以上四个属性可以看出,构件沿袭了对象的封装特性,但同时并不局限在一个对象,其内部可以封装一个或多个类、原型对象,甚至过程,结构是灵活的。构件突出了自包容和被包容的特性,这是在软件工厂的软件开发生产线上作为零件的必要特征。通过以上分析,可以看到组件可以被重复的使用,而且不受到操作平台、开发环境,甚至是物理计算机的限制。用组件开发应用程序的意义组件的出现改变了传统的软件开发方法,我们可以把应用
52、程序的需求分解成明确定义的服务,然后进一步创建具体的物理组件来实现他们。事实上,目前已有许14多专门的组件开发商开发出了大量的能完成特定任务的组件。例如 Microsoft 公司的 COM/DCOM,由 OMG 集团定义的 CORBA 等。在 COM 库中就可提供如下 4 类可执行代码:提供 COM 的应用程序接口函数(API) ,例如在客户方提供声称基本对象的函数,在服务器方提供对外公布其接口的函数等.从类标识符寻找生成该类对象的服务器,在服务器的系统注册表中存有他所支持的类标识符及生成该类对象所需的有关数据,可支持此类服务。提供远程过程调用服务。提示进程内的内存分配管理。用户可以首先考虑购
53、买合适的组件,其次再考虑自行开发,然后将这些组件按照一定的要求组装起来就能构建自己的应用系统,从而大大提高了工作效率,又便于日后的修改,从整体上来说降低了开发成本。数据库 数 开发人员 设计工具、表生成工具数据库包括: 据 窗体生成工具、 用户数据 查询生成工具 元数据 库 报表生成工具、 应用程序 索引和其他系统数据 过程语言编译器用英元数据 引擎 执行时间、 应用程序窗体处理器 查询处理器、 报表书写器 过程语言编译器 用户图 3.1 数据库组件3.33.3 数据库系统开发的几个关键技术数据库系统开发的几个关键技术15一数据库系统的组成数据库系统的主要组件包含 4 个要素,他们分别是:用户
54、数据:用户希望此系统保存和使用的数据。元数据:数据库自身结构描述的数据。索引:为了改变数据库的性能和可访问性所增加的一组辅助性数据。应用元数据:用来存放用户表格,保存,查询和其他形式界面的数据。数据库管理系统(DBMS)按其特点和功能可以划分为三个子系统:设计工具子系统:他有一个方便数据库及其应用产生的工具箱集,典型的工具箱包含产生表、窗体、查询和报表的工具,DBMS 还提供编程语言和对编程语言的接口。此部分功能通常由数据定义语言(DDL)实现,用来完成数据库定义功能。运行子程序:它处理用设计工具开发的应用组件,此外还有一种运行组件,有它处理应用程序读写数据库数据的请求。此部分功能通常由数据操
55、纵语言(DML)实现他完成数据库存取功能。DBMS 引擎:他介于设计工具子系统及运行子系统和数据库本身之间,DBMS 引擎从其他两个组件接受请求,并把他们翻译成对操作系统的命令,从而读写物理介质上的数据。DBMS 引擎还涉及事务管理、锁定、备份和恢复。此部分功能通常由数据控制语言(DCL)实现,它提供数据库例行程序。二开发策略数据库是用户关于他们的业务活动的模型的模型。因此为了建一个有效的数据库及其相关应用,开发人员首先应该完全熟悉用户模型。为此要建立数据模型,以此来标识需要在数据库中存储的内容,并定义它们的结构和关系。这些工作应该在需求调查中完成。 开发数据库的策略有两种:自顶向下和自底向上
56、。自顶向下是从一般到特殊,它开始于对组织战略目标、完成这些目标的方法、达到这些目标必须完成的工作和需要提供这些信息的系统进行研究,从这些研究可以构造抽象数据模型。使用这个高层模型,开发人员逐步构造越来越详细的描述以获得中层模型。对重层模型不断的扩展细化,直到构造出能识别特定的数据库及其应用的低层模型为止。接下来就可以按项目的重要性,选择这些应用中比较重要的一个或一些来开发。随着时间的推移,整个高层数据模型都转换成了低层模型,所有指定的系统、数据库和应用就产生了。自底向上方法采用与上相反的方式进行。始于开发特定系统,逐步构成较大系统乃至最终构成整个系统。 自顶向下优点是,数据模型是用全局观点建立
57、的,这种系统相互之间的接口好,一致性强。数据共享及完整性约束性都比较好。 自底向上方式风险小,避免了自顶向下方式可能导致的许多难以实现的结果。16自底向上方式尽管不一定能产生最好的系统,但却能很快的产生一个有用的系统。在实际工作中常常把这两种方法结合起来使用,全局上使用自顶向下的方式,而在局部中采用自底向上的方式。三数据建模 数据建模是通过一个从用户的陈述出发进行推理的过程而建立的。开发人员收集表格、报表和查询需求,反复来推断用户设想的结构,这一过程是必须的,因为大多数用户不能直接描述他们的数据模型。传统的数据模型有层次模型、网状模型和关系模型。其中关系模型应用最广,目前绝大多数数据库均采用关
58、系模型。在概念级描述数据模型的方法有:实体-联系模型和语义对象模型以及类模型。1实体-联系模型 它又被称为 E-R 模型。实体是可以从用户工作环境中标识的事物。实体可归结为实体类或同一类型的实体集合。实体类是一个事物的一般形式或描述。而实体类的一个实例则表示一个特定实体。实体与实体类的关系类似于面向对象关系中对象与类的关系。实体具有属性,有时也称为性质,是用来描述实体特征的。实体可以通过联系相互关联。E-R 模型包含联系和联系类,联系类是实体类之间的联系,联系是实例之间的联系,联系也可拥有属性。两实体之间的联系有三种类型:一对一联系、一对多联系和多对多联系。2语义对象模型语义对象的概念是在数据
59、库处理一书中的第三版中提出的。在 E-R 模型中称为实体的事物在语义对象模型中被称为语义对象,语义对象是用来部分的对用户数据的含义建模的。语义对象模型比 E-R 模型更接近用户的感觉。语义对象(有时简称为对象)代表明确的本体,是足以描述一个确切本体属性的命名集合。他们被认为是独立的和分离的事物,是用户需要跟踪和报告的事物。对象也有一个属性集合,每个属性代表所表示对象的一个特征。属性有三种类型,简单属性是单值的,例如姓名、性别等。属性组是其他属性的组合例如地址等。第三种属性是语义对象属性,它是在一个语义对象和另一个语义对象之间建立关系的属性。3类模型在采用面向对象方法开发软件时则可采用类模型。面
60、向对象中类概念与语义对象相似又不同。他们的相似之处是都是用来为数据及其关系建模,都包含封装结构的构件,都有对象继承。他们的区别在于面向对象中的类提供方法定义、方法继承及多态性,而语义对象则没有方法及有关的结构。四数据规范化 在分析问题的过程中,通常把问题分解,按子系统建模,然后再把子模型集成17起来形成完整系统模型。在集成的过程中会产生数据冗余,有时会发生冲突,冲突体现在以下三个方面:属性冲突:包括属性值的类型、取值范围和取值集合不同。结构冲突:同一属性组的外延不同,不同 E-R 图中实体与属性存在冲突。命名冲突同名异义、异名同义。冲突可通过复查并制定统一规范来消除。冗余数据指可由基本数据导出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 协助起草合同范本简易模板
- 公司用房出售合同范本
- 个体手机租赁合同范本
- 劳动仲裁执行合同范本
- 医疗设备补充合同范例
- 农家民房出售合同范本
- 模板拼装承揽合同范本
- 厂家挂车租赁合同范本
- 个人施工装修合同范本
- 养护设备采购合同范本
- 2025年江苏南京技师学院招聘工作人员19人高频重点模拟试卷提升(共500题附带答案详解)
- 华东师大版七年级数学下册“第1周周考”
- DBJ50-T-385-2023半柔性复合路面技术标准
- 职业院校教师人工智能素养:内涵流变、框架构建与生成路径
- 如何在初中数学教学中提升学生的核心素养
- (完整版)小学一年级数学20以内进退位加减法(1600道题)计算卡
- 2025年包头铁道职业技术学院高职单招语文2018-2024历年参考题库频考点含答案解析
- 北京2024年北京市测绘设计研究院面向应届生招聘笔试历年参考题库附带答案详解
- 2025年减速机齿轮项目投资可行性研究分析报告
- 走进李白校本 课程设计
- 2025新人教版英语七年级下单词默写单(小学部分)
评论
0/150
提交评论