科学网

 找回密码
  注册

tag 标签: 部件

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

“面向对象软件工程”讨论题
求新 2010-12-23 20:47
请结合以下各个方面比较传统软件工程与面向对象软件工程的异同,说明面向对象软件工程的特点是什么。 传统软件工程 面向对象软件工程 技术可行性认证 考虑已有的面向对象模型及程序部件、构件、中间件的可应用性、待扩展与待适应问题;分析需要新开发的部件、构件、中间件的难点与技术可行性 经济可行性认证 在考虑已有的面向对象模型及程序部件、构件、中间件、框架等可复用软件的情况下分析新系统成本构成;分析新扩展或新开发的部件、构件、中间件在今后软件开发中的意义、作用与经济价值。 瀑布模型、原型法 面向复用的开发方法 用部件系统搭建系统原型的意义与方法 项目计划与项目进度的主要时间与成本在程序代码设计与系统正确性、完善性维护 项目计划与项目进度的主要时间与成本在需求分析、建模、建库与建表及系统扩展性维护 同类系统比较与分析 工作流程图、数据流程图、 IPO 图 用例图、类图及说明文档 需求管理重点在数据需求变更、界面变更、代码表变更、接口与环境变更 需求管理重点在复用软件需求、界面变更、接口与环境变更 模块结构图与模块描述, U/C 矩阵 组件图与部署图与组件、网络等环境描述, U/C 矩阵 程序流程图,判定树与判定表 类图、时序图、协作图、活动图、状态图、判定树与判定表 用户界面设计 按对数据库处理类型区分系统并进行界面分析与设计(以部件库单表数据维护部件的设计过程、多表数据维护部件的设计过程、表格式数据维护部件的设计过程、查询类部件的设计过程、统计与报表等部件的设计过程、数据传送部件的设计过程、工作流控制部件的设计过程、系统维护部件的设计过程、系统控制类部件的设计过程为例总结说明 代码表的应用 代码表与历史数据的使用 子程序、宏、函数设计,强调模块化 类、继承、聚合、泛化及其他关联、多态的分析与设计,参数、属性选择与设定 集中式控制,水平下拉菜单与弹出式菜单控制,显式命令调用 集中式控制,水平下拉菜单、与弹出式菜单、图标、按钮、目录树等控制,工作流控制,事件驱动 通过代码改进追求易操作性、易维护性、易理解性、高安全性、高可靠性,运行高效 通过软件复用、软件分层等实现易扩展性、易维护性、高安全性、高可靠性。强调软件进化、开发过程高效率 结构化测试方法 面向对象测试方法 测试开发工具 各类面向对象开发工具,正向工程、反向工程
个人分类: 生活点滴|4163 次阅读|0 个评论
[转载]年轻女人不是整体而是部件
shxzhang 2010-9-7 14:49
赏芝堂 几天前,与朋友聚会时,看到媒体报道,湖南开女性胸模评选先例。 赏某甚为不解,说:模特就是模特儿,怎么分部件地评选? 朋友批评说:你这老头,退休久了,悠闲久了,跟不上时代了,现在流行部件模,手模、腿模、臀模、等等,花样百出。 赏某不信,回头上网一查,果然如此;部件模,条目多,图片多。随机取来若干张,请诸位评鉴。 图一:指模 图二:腿模 图三:臀模 图四:胸模 图五:胸模 图六:胸模 赏某人老眼拙,从这些部件模中,实在看不出什么美。 如图一中那双手,手指骨暴露,如同竹节,按相术说法,是苦劳手,是奔波手。 再如图二中那些腿,从比例判断,普遍脚掌过长,按相术说法,是苦劳脚,是奔波脚。 再如图三、图四、图五、图六中诸位女性,从比例看,普遍存在两大相病,一是肩过平过宽,二是摆甩不对称。女性肩过平并且宽于臀者,按相术说法,必然肩挑苦劳,肩挑奔波,肩挑打拼,只有肩圆并且不宽于臀者,才是旺夫相子之福肩。女性有摆而无甩者,子女不旺,有乳亦多乳他人之子;有甩而无摆者,子女旺,但可能童年清苦;唯前有摆后有甩者, 方能旺子女并且使他们一生多福 。 胸模,实为乳房模,或者用通俗词语说,是奶子模。而对于女性奶子,中国民间有一种特殊分类:金奶子、银奶子、泥奶子(或狗奶子)。金奶子,是没有出嫁的少女的奶子,珍贵如金,必须密封紧藏,任何时候、任何场所都不可让人窥见端倪。银奶子,是还没有生育的少妇的奶子,珍贵如银,也必须紧藏,仅房内生活中夫君可以得见。泥奶子,是已经生育并且已经喂养过孩子的妇女的奶子,喂孩子可以不拘场合,可以不避人眼,因此,大街上、公车上经常可以看到妇女掏出奶子来喂孩子,骄傲地喂孩子。不知那些部分地或全部地露出来给看客看的奶子,是金奶子,是银奶子,还是泥奶子? 媒体报告说,部件模在保护部件上,要花很多功夫。如手模保护手,有这样一篇文章或报道,《葱姜蒜生肉洗发水都不能碰,手模睡觉都要戴手套》 ( http://longhoo.net/gb/longhoo/news/nanjing/shehui/userobject1ai762710.html )。不知手模能不能执筷扒饭,不知手模能不能如厕并清理下谷之道?不知其它各种部件模,在护腿、护臀或护胸上,要花什么样的功夫? 还是媒体报道,每有部件模评选,都有很多看客。如湖南胸模评选,网上有许多报道,并附有图片,如《湖南首選最美胸模,市民冒雨觀戰》( http://news.wenweipo.com/ 2010/09/05 /IN1009050059.htm )、《湖南雨中选最美胸模》( http://www.ycwb.com/ePaper/xkb/html/2010-09/06/content_917699.htm )、等等。 不知年轻女性,还有一些什么样的部件可以作模,可以拿出来评选与展示? 不过,从部件模评选与展示中,可以看出,(这些)年轻女人不是灵与肉的整体,而是纯粹的肉体;而作为肉体,并不是完整的肉体,而是分散的部件,因此,有的是手,有的是胸,有的是臀,有的是腿。 其实 ,年轻女人,对于他人,对于自己,都 应该是人。人作为肉体,应该是整体;作为动物灵长,应该是肉与灵的整体。 转载自:中国网专家博客, 退休教师赏芝堂如是说 原文地址: http://blog.china.com.cn/shangzhitang/art/4697104.html
个人分类: 趣文轉載|4846 次阅读|1 个评论
《数据库原理与技术》课件特色
求新 2009-12-10 20:14
我们按照精品课程要求设计了《数据库原理与技术》课件,已交出版社,将向教师赠送。以下介绍该课件特色。 本课件为教师教学辅助型课件,任务是( 1 )辅助课堂教学,使内容精要、方便记忆、突出重点与难点、吸引学生注意力。( 2 )提供教学辅助材料,方便学生复习,深入教学内容,扩展学生知识面,为提高素质服务。( 3 )提供各种辅助教学手段,帮助理解所学知识,巩固所学内容。( 4 )向学生提供学习工具,提供设计与综合应用手段,帮助学生学以致用,理论联系实际。通过实践既验证所学,又加强对基本理论与基本概念的理解,弄清所学知识的用途及应用方法,鼓励与帮助学生开展创新研究,全面提高学生能力。 本课件总的特色是将理论与实践有机地结合在一起,向学生提供了远超过其他课件的素材与工具,内容之丰富已不只是为某一本书服务,而是成为服务于一切数据库课程教学的课件。 1 、 PPT 幻灯片特色 ( 1 )内容完整 包括数据库原理基本内容:数据库基本概念、存储结构、数据模型(包括采用 Rose 的面向对象建模与建库技术)、关系理论、 SQL 语言、数据库控制与管理、 SQL Server 、 Oracle 、数据库知识扩展等。还介绍了数据库应用系统知识、借部件库最小系统介绍了应用系统结构、功能与性能、设计方法,介绍了利用部件库设计系统原型的方法及基于 JAVA 开放应用系统的入门知识。 内容精练,重点突出。在幻灯片中通过加色、图片、动画( 40 余幅)、视频等突出重点与难点问题,并吸引学生注意力。 ( 2 )求实 在讲述时尽可能从实例入手,使教学落到实处,避免抽象。例如,数据库是什么?所有教材都是抽象地说是具有意义的数据的存储(集成)库,然后抽象地介绍三层模式与二级映像,再借三个世界的概念或举一张表格说明关系数据库的结构,说明模型与模式的概念。我们的讲述先从大家都已经学过而且还比较熟悉的 Excel 的操作,例如成绩单及有关学生管理的表格入手,说明存在的问题;再介绍 C 语言与一般数据库数据管理的有关语句与程序,说明数据库具有优越性,再破解了 SQL Server 的库文件结构(由于 SQL Server 中数据字典的特殊结构,对 SQL Server 数据库文件的破解具有难度,我们目前尚未看到其他教材与课件对 SQL Server 数据库文件破解的报告),通过动画说明 SQL Server 与 VFP 数据库是如何存放与表示有关数据库与表的逻辑结构的,又是如何存放数据的,与建表、 SQL 录入语句进行对比。最后,总结并介绍数据库的结构、特点与工作情况,介绍三层模式与二级映像的概念。所有内容都落到实处,一切都十分自然与简单,概念不再抽象。 关于三层模式与二级映像,我们设计了一个动画描写从需求分析到系统设计到数据库应用全过程内容,清晰明了,建立了对数据库有关内容全局性的认识,三层模式与二级映像也就容易理解了。 目前随着计算机应用的深入,效率问题已经再次成为设计实际应用系统时需要关心的问题。解决办法主要是索引与查询优化。关于索引,目前我们见到的国外教材都有介绍,但国内相当多的教材都不再介绍了,这是不利于学生学习的。至于介绍了索引的教材,都提到索引的目的是提高查询效率,但是索引为什么可以提高查询效率,例如 Michael Kifer 等著、陈立军等译的《数据库系统 面向应用的方法(第二版)》说到它类似书的条目,索引条目包括一个术语和一个指向这个术语在本书中出现位置的指针。可以方便对术语的查找。 Abraham Silberschatz 等所著、杨冬青等译《数据库系统概念》中也提到索引工作方式类似于书的索引,由于索引中的词是按顺序排列的,因此要找到所需要的词很容易。而且,索引比书小得多,从而进一步减少我们查找内容所需的精力。 Hector Garcia-Molina 等所著、岳丽华等译《数据库系统全书》对之介绍十分全面,也比较清楚,明确说明了索引对提高查找速度起作用的三个主要原因。但关于为什么索引文件可以足够小,表述也不十分清楚。在开始的介绍里,说索引是一种数据结构,以记录的特征为输入,。又说到,索引文件由键 - 指针对组成。 其他一些介绍还有说索引是索引项的排序文件,索引项类似于表的记录,由查找字及记录地址构成等。 我们破解了 vfp 的索引文件( vfp 的速度高是大家公认的)。结果发现,其设计比较巧妙,索引文件中实际存在二个表,一个存放的是各记录的记录号,根据索引字顺序排列;另一个是索引字的表,也按索引字顺序排列,而且,索引字除了以二进制形式存放的数据是按原值存放外,其他则是经过一个函数处理后,再将处理后计算值存放。因此,查找时是先根据欲查内容计算出索引值,再在索引文件中索引字的表中查到相关内容,再到对应的记录号表中查出相应的记录号,计算出记录的存放位置,再取出有关记录。这样一个方案,可以使索引字表变得最小,能有效减少访盘次数,甚至总是直接放在内存中(必须强调这是索引能提高查找速度的最主要原因,其他原因相对于这一原因都是不重要的,只有当索引文件能全部放到内存中,二分法等查找方法才能有效实施),达到提高查找速度的目的。我们在 PPT 中用动画形式说明了这样的结构,一切都清楚明了,毫无悬念,为介绍 B 树也打下好的基础。不难得出结论,我们的表现内容具有创新性而且是有意义的。 关于关系代数、 SQL 语言等内容,有的课件从理论的侧面分解各有关概念,并用动画表现,帮助学生理解并吸引注意。我们也在这一部分,设计了许多动画,但特别注意理论与与实际操作相结合,强调实际操作过程,使理论与实践、与练习有机地结合在一起。 例如关于数据库系统,我们的脚本是: ①系统分析员 基于手工操作或 Excel 文本操作或单机操作进行需求分析,分析对数据与对数据处理的操作需求。 ② DBA 安装数据库服务器,安装 DBMS 。 ③ DBA 根据数据需求设计数据模式。 ④程序员 根据各部门(人事部、财务部、供应部、销售部、仓储部、办公室或经理室、计划或策划处、信息部、计算机中心、其他专业部门)分别定义管理子系统(人力资源系统、财务管理或财会系统、供应系统、商务系统与客服系统、物流管理系统、办公自动化系统、决策支持与调度系统、系统管理系统、批处理系统与系统维护程序)。 ⑤ DBA 定义数据模式并与程序员定义子模式、设计索引结构、定义存储模式。 ⑥ 程序员完成各子系统设计,建立网络。 ⑦ 系统联调。 ⑧ 抽象出三层结构与二级映像概念。 又例如关于笛卡尔积,我们的脚本是: ① 介绍笛卡尔积的概念。 ② 显示二个表的例子。 ③ 将二表结构组合在一起,建立新表。 ④ 取第一表一条记录到新表中。 ⑤ 根据第二表记录条数复制这一条记录。 ⑥ 取第二表全部记录接到新表中第一条记录之后。 ⑦ 再取第一表第二条记录,重复操作 3 。 ⑧ 重复操作 4 、 5 。最后一页总结与回顾笛卡尔积的概念。 又例如求关系的投影,我们的脚本是: ① 给出一个表。 ② 给出求关系投影的关系表达式。 ③ 在表中找到指定的各列。 ④ 删除无关各列。 ⑤ 找出重复记录。 ⑥ 删除重复记录得到结果。 ( 3 )纳新 计算机科学与技术是目前发展最快的专业与行业,要求教学必须紧跟发展,国外的教育给我们启示很多,其中强调创新与发展是特别重要的内容。反观国内教育,差距甚大,其中数据库课程尤其是反面的典范,走进书店,可以发现国内数据库教材和上世纪 80 年代萨 师煊 老师等著《数据库系统概论》等各类数据库课程教材内容并无根本性变化,无非将一些稍难的内容进行了删节,增加一些扩展性内容等!近年有少数教材增加了 XML ,但这在数据库技术中也还在研究之中。作为计算机专业,培养程序设计能力无论从那个角度看都是必须的,数据库课程应当在其中取重要位置,但许多应用类型学校在 90 年代以来的数据库课程中加入了 FoxPro 的内容,对于培养程序设计能力很有帮助,那个时代的学生许多到目前还能自编程序辅助自己的工作。但近年来,随着 VFP 退出教学内容,许多学校的数据库课程已经只讲概念,不再对程序设计能力提出要求。还有一些学校改讲 VB ,但要求不高,学生普遍不再接受开发应用系统的训练。这样的状况是必须改变也到了应当改变的时候了。 我们的课件在教学内容上进行了调整。首先,目前社会上开发系统,都离不开 UML ,数据库建模都利用 UML 工具画图。国外的较新教材也都必讲面向对象建模技术,唯独我国数据库课程教材中难找一本介绍 UML 的书。考虑到教学内容必须改革,我们在介绍 E-R 模型后,介绍了 UML 与数据库建模有关的内容,还讨论了实际应用时如何应用 Rose 表现 E-R 模型,绘制 UML 模型及转换建立数据库表的方法。在 PPT 中,也添加了与 Rose 链接的按钮及相关操作的截图,学生可以直接学习相关的操作并上机实践。 许多 老师认为 UML 难讲难学,但是我们的实践证明,只要有好的方法,能突出重点,能将有关内容清晰明确的表达出来, UML 不仅不难入门,而且对数据库建模技术更能加深理解,应用能力会有明显提高。 由于我们开发了部件库系统,与大、中型数据库连接操作变得十分容易,我们的课件中介绍了 Oracle 、 SQL Server 、 Access 三个数据库的应用方法,详细介绍了 Oracle 、 SQL Server 的基本知识。学生可以在原来学习时间内联系实际数据库深入领会数据库的基本理论与基本概念,联系应用、联系实际了解数据库是如何工作的,了解实际数据库是怎样的,通过对它们细微之处的比较,对数据库的基本内容会更加深印象、加深理解,而且应用能力会更进一步提高。 目前大量应用基于 C++ 与 JAVA ,这二种语言都是计算机专业的学生需要掌握的,我们的教学内容中加入了 JAVA 开发应用系统的内容,在课件中加入了我们设计的快速入门的实验内容。 从上面介绍可以看出,我们课件中包括了数据库从实际到理论再到应用各方面的内容,将理论与实践有机地结合在一起,如此大量的教学工具与实验设计使得在不多的学时内完成这么多教学任务成为可能(对于二本学生,建议 64 学时;对于三本及以下学生建议 90 学时,其中理论 54 学时,实验 36 学时)。 ( 4 )链接实验内容 有些内容仅仅靠动画、板书仍不能让学生真正理解,尤其是细微之处更难以接受,更谈不上联系实际与培养动手能力。我们设计了 20 余个专用实验,在 PPT 中做了对这些实验程序的链接,使得学生可以边学习理论,边进行实验,进行验证、甚至动手设计与操作。在关系代数、 SQL 语言中,一方面用动画表现,一方面链接有关专用程序,学生可以参考动画中的操作,也可以自己随意操作; PPT 中还链接了 Access 数据库文件,学生可以实际修改数据库中的数据,再运行程序,观察其变化,从中深入理解有关知识内容。 又关于 ODBC 与 JDBC ,是应用数据库必须掌握的内容,但是,学习 JDBC 存在难度,经常看到有许多学生在经历毕业设计几十天后仍连不上数据库,无法进入设计。有一些教材介绍了相关内容,但是内容多不全,或设计复杂难懂,无法上机验证。我们为此设计了 11 个相关最简程序,包括 JDBC-ODBC 桥驱动(仅用 10 行语句表现)(给出了 Oracle 驱动、 SQL Server 驱动、 MySQL 驱动、 DB2 驱动、 Sybase 驱动、 Access 驱动等六个数据库 JDBC-ODBC 驱动语句)、链接数据源、显示数据、数据维护操作、界面设计、简单应用等内容,能帮助学生将该难点问题变成一个普通的基础性问题。 在 PPT 中多个位置加入链接源程序、链接数据库与链接执行程序等三个按钮,使既可以进入数据库修改程序,又可以修改源程序、进行编译,再运行程序,程序容易理解,正确性与可操作性强。老师可以边讲理论,边演示实验;如果在有投影的机房上课,学生可以边听边操作,当场验证,更容易理解与接受。 以上设计不仅帮助深入认识与理解基本概念与理论知识,而且使理论与实际相联系,提高动手能力,提高运用所学知识于实践的能力,对于教学是有意义的。这一做法是具有创新性的。 2 、试题库系统 试题可以帮助学生重点识记、加深理解。试题库包括 776 道题, 629 道题附有答案。这一规模是其它课件中少见的。 对试题库,提供浏览测试题与答案、自我检查、自我测试、模拟试卷等程序,使更充分发挥其作用,更能让学生加深对有关概念与知识的理解与掌握。 浏览测试题与答案是查出有关章节、类型题集后,一题题查看题目与答案。 自我检查是先看题目,当思考后需要看答案的,再按有关按钮查看答案。 自我测试只对选择题,随机出卷后,可以一题题选择答案,最后打分并对照查看结果。 模拟试卷使可以随意选定章节、类型及各类型题量,自动出综合试卷,可以保证连出 4 套卷无重复题,大量出卷无重复卷。可以帮助学生进行自我测试,客观评价自己的学习情况,也可供教师辅助出考试卷与标准答案,几分钟出一卷可以大大减少出卷劳动强度,而且使试卷更具有客观性,能更科学地评价教学情况。 系统还提供了试题库管理系统程序,教师可以根据自己的教学需要灵活设置与使用,可以补充、删减、修改试题库,使更符合各位老师教学需要。 3 、数据库原理与应用全书检索系统 试题库帮助学生深入了解有关知识与概念,要求语言精练、简明扼要、概念准确、表述清晰,这是从点上去学习与理解,缺少知识之间连贯性;要答疑解惑,解决对有关理论与概念全面理解的问题只靠几个题是不够的。一些概念需要从不同侧面去理解、互相印证,才能真正掌握,要求有内容全面、包罗万象、带上下文、容易检索的百科全书,这对答疑解惑才是有帮助的。我们设计的数据库原理与应用全书检索系统就希望达到这样的效果,利用数据库查询功能,容易使用,方便查询。本系统含 1700 条条文与图片(包括动画)。对同一知识点可以同时查到多个相关内容,使对同一问题,可以找到多方面的说明,从多方面对比描述,能帮助学生全面地掌握知识,从面上融汇贯通,使知识不再支离破碎,对启发创新思维具有意义。 4 、部件库最小系统 部件库最小系统使 能不写代码就针对任何可在 windous 系统中建立 ODBC 数据源的数据库建立基本应用系统, 05 年就经鉴定达到 世界先进水平的部件技术研究的一个成果,但到 目前还未见任何类似项目的报道(实际是世界首创),颇具特色。只要先装一个数据库,建立基本数据表,建立 ODBC 数据源,安装 VFP6.0 (不要求知道 VFP 的任何知识),再进入本系统,定义环境,通过选择参数建立系统驱动菜单,系统就能建立与使用,系统可以拥有多种数据录入、修改、删除、查询、导入、导出、关系运算、交叉表等多种统计计算与报表、一般的单记录形式报表、表格式报表、标签类报表、直线拟合线性回归分析与绘图、各种统计图、多种财务统计计算等程序模块;可以自动加入代码表使用、字典表使用、完整性控制、安全性控制、派生数据计算与录入、异构数据自动变换等功能。所有这些都无需编码,无需编译,只填写不多的几个参数就能完成。在教学中,我们首先要求学生了解其使用方法,了解一般管理信息系统的需求与常见功能、性能要求,再要求设计实际应用系统,并用它搭建原型系统,再用 JAVA 最终实现。学生反映这软件太傻瓜、太简单,但真要他们建立原型系统,又没有几人能建。一般在校学生,没有社会实践经验,对管理完全没概念,关于实际管理信息系统的界面要求,他们理解都难,更不谈设计了,而这一实验平台将给他们以启迪,逼使他们去思考更深的东西,能在管理信息系统开发中快速入门。 学生可以联系实际设计具体、有应用价值的应用系统,可以实地了解数据库的意义与作用,可以真正深入了解数据库的基本概念:数据共享、数据完整性(包括运用代码表实现的域完整性)、数据安全性、数据一致性、数据库模式、数据库范式、派生数据、各种查询(包括模糊查询)、数据处理的基本内容等等。还可以联系后续课程:软件工程与管理信息系统,了解一般应用系统的结构、界面设计的要求、变化及界面设计的内容。学生在毕业设计中可以应用它设计自己作品的原型系统,保证毕业设计质量。学生还可以从中理解软件复用技术及其意义。对于理论联系实际、扩展学生知识面、培养动手能力极具有意义。 5 、课件内容全面完整 本课件按照精品课程课件的标准设计,包括了一般精品课程课件的全部内容。视频重点表现实际操作的一些问题,讲述了如何使用与操作部件库最小系统;结合关系代数一章,介绍关系代数的基本理论、基本概念与基本方法,同时,通过链接运行实际程序的操作,说明了在 PPT 中转接实验的操作方法,也展示了如何发挥链接实验对教学的辅助作用,清楚地表现本课件的特色。 对于教学重点与难点问题,( 1 )在幻灯片中通过加色、图片、动画( 40 余幅)突出表现;( 2 )通过试题库( 776 道题, 629 道带答案)重点识记;( 3 )通过数据库概念全书检索系统(含 1700 条条文与图片(包括动画))从多方面对比描述,从面上融汇贯通;( 4 )基于具有世界先进水平的部件库技术特别设计了一个实验平台(包括 20 余专门设计的程序),使理论联系实际;( 5 )通过视频,细腻地帮助解决重难点问题。 本课件部分内容从 02 起与水利水电出版社出版、我们所写《数据库原理与技术》一书作为随书光盘发行,发行 3 万册以上,湖北省自考委指定本书为数据库原理与技术课程教材,目前是第 2 版,内容具有科学性、正确性。 部件库最小系统已 3 次通过出版社发行的光盘发行,并 2 次在网上公开发布 全课件按精品课程课件要求设计并实现,课程内容完整:内容从介绍我们破解的 SQL Server 等数据库存储文件与索引文件结构起、到数据库基本理论与基本概念、到 Access 、 SQL Server 、 Oracle 三种数据库;从 E-R 模型到 Rose 面向对象建模到部件库建立实际系统原型到 J2EE 连接数据库与基本程序设计;从理论基础到实际应用系统开发全面覆盖。经实践证明,能提高教学效果,提高学生素质,可以在有限学时内完成更多的教学工作量,效果良好。
个人分类: 生活点滴|7780 次阅读|3 个评论
VFP部件库最小系统网络版使用说明书
求新 2009-10-15 22:00
前言 软部件是为了复用而设计的由一个到多个对象或构件组合而成、面向最终系统集成的程序模块,属于系统级构件。它通过动态定义子模式的方法进一步提高数据逻辑独立性,实现数据操作界面对数据结构的独立,程序有更强的共享性、复用性与自适应性,一个部件模块可同时为多个应用服务,使用它们构建系统时常常无须编写代码或只需编写少量代码;数据在表一级的结构改变可以不要求改变程序,甚至无须再编译!它们也是一种开发平台或模板,可以帮助我们通过各种裁剪与拼装,通过各种适应性修改、扩展性修改、装饰性修改快速设计更有实际应用系统特色的领域构件。将极有利于提高系统设计效率与软件质量,降低软件开发、维护与扩展的成本。非计算机专业的专业技术人员也能很容易的设计、使用与维护管理信息系统。 部件库最小系统是按照如上思想设计的试验产品。使用该软件可以无需进入具体开发语言的命令窗口、无须知道具体开发语言的基本知识就能使用各种可以在Windows系统中使用的数据库,设计相应的应用系统。由于建立系统时一般不需要编码,也不需要编译,只要先装一个数据库,建立基本数据表,建立ODBC数据源,安装VFP6.0,再进入本最小系统,定义环境,通过选择参数建立系统驱动菜单,系统就能建立与使用,系统可以拥有多种数据录入、修改、删除、查询、导入、导出、关系运算、交叉表等多种统计计算与报表、一般的单记录形式报表、表格式报表、标签类报表、直线拟合线性回归分析与绘图、各种统计图、多种财务统计计算等程序模块;可以自动加入代码表使用、字典表使用、完整性控制、安全性控制、派生数据计算与录入等功能。建成系统只需要配置数量极少的十几个参数(只当需要使用代码、要求完整性控制与安全性控制、要求派生数据自动计算填入及对控件位置大小有特殊要求时才需要按系统提供的辅助程序生成或填入其他一些附加内容的数据)就能完成,因此效率高,易学易用。 如果构成系统的模块都具有即插即用特性,当需求在一定范围内改变时,不需要修改程序,甚至不需要重新编译,更进而在更特殊情况下不需要修改参数就能自动适应环境与需求的变化,那么系统将极易维护、极易扩展,有极强适应性,软件维护费用将大大减少,软件可用性大大提高,软件生命会大大延长,会促使管理信息系统的使用更加普及。也将有利于真正进入软件生产工业化的时代。 由于得不到国家支持,本套软件还很不完备,还不具备商业价值,还没有全面推广的基础。但是,我们希望的是能有一套软件极大地覆盖应用需求,使得软件生产工业化的目标真正得以实现,那就要求对于社会目前已有的各种应用系统都能利用部件搭建。显然,那是需要一个十分庞大的部件库才有可能实现的。但如果部件库过于庞大,将很不好用,很不好学习,甚至无法实现。我们的试验是希望找到一系列方法,使得这个部件库尽可能小。小到可以让人接受,既能满足绝大部分应用需求,又易学易用使用方便。我们的部件基于对数据库的操作展开,结合分析社会上各种应用中界面的需求与实现情况,使得一个部件能包含多种功能,并且易于通过参数设置实现性能的改变,能比较容易地派生成多种不同应用的模块,可以使部件总量减少,具有一定的理论研究价值。 该系统也是数据库等信息类课程优秀实验平台,学生如果能联系多个实际应用系统设计与操作去学习,可以在三个以上大型数据库平台上操作,可以顺应实践-理论-实践的认识模式,将使理论不再抽象,学习目的性更强,有效提高学习效果;并且使视野开阔,克服社会生活知识贫乏的先天缺陷,在活生生的应用实际中认识实际管理系统的构成,对实际系统的功能、性能、界面会建立感性认识,是很有意义的。如果学生在课程设计或毕业设计时能运用部件搭建原型系统,再用其他语言实现,会大大提高作品质量。这些都对提高教学质量,强化学生素质具有意义。 考虑到教学需要,本系统作为与《数据库原理与技术》、《管理信息系统及其开发》等书教学配套的实验平台,增加了部分辅助工具,例如可以从工具类部件8、9、查询部件7中看到实际运行过程中的SQL语句的构成,可以直接书写SQL语句传到远程数据库执行等。 目前,本系统已在武汉大学东湖分校计算机学院试用,教学时首先介绍使用方法,介绍建模知识,结合理论教学内容实际建立应用系统,了解有关理论在实践中的意义,在课程设计中要求学生结合需求分析建模并用本系统构建原型系统证明,在全体讨论通过后再用其他语言实现。这一教学过程大大提高了教学效果,证明该软件对教学有极好促进作用,学生一下接触3个数据库操作,了解各种数据库的共性与个性,促进了对数据库与软件工程、管理系统概念与理论的深入理解与真正掌握,极大强化动手能力。学生反映这软件太傻瓜、太简单;许多问题是他们无论如何想不到的,他们不知道,一些实际应用系统还需要考虑这么多的问题。工必良于器,实践证明优秀的教学工具是提高教学质量所必须的,而且是其他方法无法取代的。 目录 一、利用该套部件快速设计应用系统步骤 1.设计数据表结构,在远程数据库中建表 2. 建立文件夹 3.修改环境参数 4.设计系统的模块结构 5.设定参数建立系统 6.接口参数设计一例 7. 运行系统 二、部分接口参数的意义 1.主要接口参数的意义 2.关于某些问题的说明 三、主要部件功能与使用方法 1. 单表单记录维护部件 2. 表格式维护部件 3. 一对多数据维护部件 4. 查询部件 5. 关系运算部件 6. 数据处理与统计类部件 7.数据通信与导入导出部件 8.打印格式文件生成辅助工具 9.其他工具类部件 10.系统管理与维护类部件 结束语 一、利用该套部件快速设计应用系统步骤 1.设计数据表结构,在远程数据库中建表 首先需要安装所需要的数据库,如果安装SQL Server,身份验证设置选混合模式,不必设置密码。在数据库中建立一个数据库实例。利用操作系统(在Windows系统中通过我的电脑控制面板管理工具数据源)设置ODBC数据源。注意连接所建立的数据库实例, 在数据库中试建数据表。因为使用VFP操作,VFP中要求字段名宽度不超过10个字符,只能以汉字或英文字符打头,字段名只能由汉字或英文字符或数字或下划线构成,因此使用本系统时,远程表中字段起名也必须遵从上述规定(字段名宽度不超过10个字符,只能以汉字或英文字符打头,字段名只能由汉字或英文字符或数字或下划线构成)。如果不便,可以建立字典表进行变换处理(本系统中大多数部件都提供了借字典表变换标识的功能)。 需要注意的是,有些数据库有些数据类型不能使用。例如SQL Server中不得有uniqueidenti、timestamp,在Access、Oracle等数据库中不得使用自动编号类型等,因此在使用某些数据库系统时需要发现这样的数据类型,并回避使用这些类型。为减少摸索的时间消耗,建议只使用与VFP中允许的数据类型相容的数据类型:字符类型、数值类型(包括浮点类型)、货币类型、整型、双精度类型、日期时间型、日期型、逻辑类型、文本类型、图形类型。 2. 建立文件夹 建立自己的工作文件夹,并将部件库最小系统网络版内的全部文件拷贝到该文件夹中。 例如:建立名为chen的文件夹,再将部件库最小系统网络版文件夹中全部文件拷贝到该文件夹中(操作步骤为: 1)进入部件库最小系统网络版文件夹、选全部、复制。2)进入你的文件夹(例如chen),将贴在剪切板上的前述文件粘贴到你的文件夹中)。 3.修改环境参数 双击0环境设置.EXE程序,可以填写的内容意义如下: 标题1 指系统运行时封面中欲显示的应用系统的名字 单位名1 指系统运行时封面中欲显示的应用单位的名字或作者单位名字,可以不填 著作者名 指系统运行时封面中欲显示的著作者名字,可以不填 封面画名 指系统运行时封面上的背景画的文件名,应当为BMP文件,在当前文件夹中必须存在该文件。 数据库系统 指应用系统所基于的DBMS名称,目前供选的有Oracle9i或Oracle10g或更高版本;SQL Server2000或更高版本、Access2003或更高版本。 数据源名 指ODBC数据源名称,必须先在所安装的数据库系统中建立一个数据库实例,再利用操作系统(在Windows系统中通过我的电脑控制面板管理工具数据源)进行设置。 用户标识 指在安装远程数据库时定义的用户标识。对于Oracle数据库必须设置(例如SYSTEM),对于其他数据库,根据情况设置或不设置 连接口令 指在安装远程数据库时定义的用户密码。对于Oracle数据库必须设置,对于其他数据库,根据情况设置或不设置 例如: 标题1 工资管理系统 著作者名 王 平 封面画名 gongzi.bmp 数据库系统 选择 SQL Server 数据源名 SQL1 (假设已经通过我的电脑控制面板管理工具数据源建立了名为SQL1的数据源) 4.设计系统的模块结构 如果采用水平下拉菜单控制,执行程序(系统模块)的菜单项只能处在叶节点位置上,在该位置应选择具体部件名称;如果采用目录树控制结构,所有节点都可以兼做控制节点与操作程序模块。在设计时,最好能确定充当该模块的部件所需要的参数名字与参数内容。 5.设定参数建立系统 双击0部件驱动菜单生成.EXE程序,按设计好的系统的模块结构建立菜单的目录树结构。方法是:先在左上角新节点名栏中输入主菜单项名称,按建立第一级菜单按钮,将发现在左边菜单框内新生了一个主节点;再在新节点名栏输入第二个主菜单项名称,按建立第一级菜单按钮;,建立顶级菜单框架(如果是水平下拉菜单,建立的是水平下拉菜单的水平菜单部分)。 再在新节点名栏输入第二级某个子菜单项名称,点第一级菜单中某一项,将见到提问:是否在该菜单项下建下一级菜单,回答是后,将见到已建立下一级菜单。以同样方法建立所有水平菜单项下的下一级菜单框架。 如果采用水平下拉菜单控制,选第二级菜单的某一项的名字,再类似于接口参数输入界面中的输入输入有关参数,对于第二级菜单的每一项,都必须输入一个部件的名字和一个远程表的名字。如果熟悉VFP,也可以另建VFP的程序,在部件名称中可以填写一句以DO打头的命令,例如DO A1(注意限填一句且必须是DO打头)。另外,如果是PRG文件,在设计完毕时要选择VFP主菜单中的菜单项程序中的编译,生成FXP文件,否则不被执行。 6.接口参数设计一例 在数据表名称中输入:工资 。工资应当是远程数据库中某数据表的名字,该表必须存在,该数据不可省缺! 在关键字中保持空,不输入 。变量关键字所填内容在修改与删除操作中起作用,一般必须输入,并且应当与数据库中定义的关键字相容。如果在参数中没有给定关键字,部件程序将默认第一个字段为关键字。 本系统中除单记录数据维护部件1、单记录数据维护部件5、表格式数据维护部件1外的其他数据维护部件做录入程序使用时,要求远程数据库中不设关键字,否则录入操作将失败。前面所提三个部件对于是否在数据库中定义关键字没有要求。当做修改、删除、查询等使用时,对是否在数据库中定义关键字没有要求。 在接口参数表序号中输入:1 。接口参数表序号中填的表名默认为接口参数表1,该表中接口序号与这里定义的号数相同的那些项在本次调用中起作用。该表将影响代码表的使用、影响数据完整性控制、影响数据安全性控制、影响数据的互操作、影响文本字段与通用字段等字段表现形式。该项可以为空,意味不使用代码表及其他控制。对于不同调用,这个号可以不同,不同序号中的参数记录在本次调用中不起作用。 在打印格式文件名称中保持空,不输入 。许多部件中都集成了打印功能,如果需要打印报表的功能且已经设计了打印格式文件,可在该参数中填写预先设计好的打印格式文件的名称。对于某些数据维护部件,也可以不填打印格式文件名称,只选留相关打印按钮,也可以打印报表,将自动生成与表名同名的一个表格格式的打印格式文件并控制打印。 在字段号表中输入:1,3,5,7,11,15,19,20 。对于不同操作,需要不同的视图,这不仅是为了操作的方便,也是达到安全性控制的一个手段。本部件系统中的部件允许定义视图中涉及的字段的字段号来实现对视图的要求。所输入的数字串中每一个数字表示一个字段在数据表中的顺序号,程序将只对该视图中有关字段的数据进行操作。该参数中如果不填数据、保持为空,意味对全部字段操作。但是正确的设计应当对每一次调用都按需要选择字段,不要令其为空。 在留下按钮号中保持空,不输入 。一个部件包含多种功能,在应用时再根据需要保留部分功能,使既可以满足不同用户对界面的需求,也可以减少部件库中部件总量。本系统中所有部件都设计了多个按钮,使集成多项功能,可以通过选择按钮实现不同功能组合,满足不同应用需求。在留下按钮号中填的数据就用来选择在使用该部件时提供给用户的按钮,也就是提供给用户的功能。该参数中如果不填数据、保持为空,意味保留全部按钮。但正确的设计应当对每一次调用都按需要选择按钮,不要令其为空。 在相关表名中保持空,不输入 。如果操作涉及二个以上的表,例如选择一对多表的数据维护或查询,在主表外还要定义子表名称。可以在该栏中定义子表名称。如果是查询、统计、打印等程序,子表可能为多个,其名字也皆在此填入,注意名与名之间用逗号分隔。特别注意,本系统中部件都是对远程表操作的,因此所有相关表都必须是远程表,不能填入本地表名。在下一个版本中将允许同时使用远程表与本地表。 在外关键字中保持空,不输入 。外关键字中填的数据为主表与第一子表相连接的字段名,可以为一个或多个,通常字段名称应当相同。如果填了相关表名,该项必须填,不得令其为空。 说明:以上只对部分参数进行了说明,详细内容见本帮助程序文件的其他部分。以上。前内容为操作说明,。后的内容为注释。 7. 运行系统 退出0部件驱动菜单生成.EXE程序。在退出时将自动进行水平下拉菜单的编译操作,并试运行。注意点选退出菜单项退出试运行。 在以上操作完成后,应用系统已经自动建立。双击0项目.exe,可以进入水平下拉菜单控制的应用系统运行程序。双击0项目3.exe,进入目录树菜单控制的应用系统运行程序。 注意水平下拉菜单控制的系统的菜单程序是在运行0部件驱动菜单生成.EXE程序的退出程序时自动建立的,因此,建议不要通过对部件库驱动菜单表.DBF表自行在VFP环境中作直接修改,一定要利用0部件驱动菜单生成.EXE程序修改系统结构,否则不能修改水平下拉菜单控制的应用系统。 在运行时需要注意二个问题:如果运行出现异常,会出现无法从VFP退出的故障,这时要用ctre+alt+del进入任务管理器,强迫结束有关VFP的进程。 在运行时常常进入数据表浏览界面,有时只能按esc键才能退出该界面。 使用本系统,无论是运行最小系统还是自己组建系统、书写菜单程序,都要设置接口参数,其中最主要的参变量及其意义再特别说明如下: 二、部分接口参数的意义 1.主要接口参数的意义 (1)表名:表示本程序当前要维护的表的表的名字。 (2)接口参数表序号:在不同调用或调用不同部件时可能有不同接口设置要求,用该序号区分不同的设置。接口参数表记录你关于使用代码的要求、关于数据域完整性控制要求、安全性控制要求、派生数据的计算公式、在数据维护部件与多表数据维护部件中文本框等控件的位置与字号与字体与控件大小等数据。 (3)打印报表格式文件名:如果预先准备了打印格式文件,在这一句中说明打印报表格式文件的名字。在使用各种数据维护部件、某些查询部件时,如果在接口参数中给定了打印格式文件名,可以在进行查询(或不进行查询而对全表)按格式打印报表。如果接口参数中未给定打印格式文件名,将进入表格式报表格式生成程序,自动建立打印格式文件并打印报表,这样建立的打印报表将和主数据表同名。 (4)字段号表:给不同人或为不同用途调用同一部件时需要建立各不相同的视图、显示与操作不同字段的数据,主要目的是方便操作,也表现安全性。如果只要求显示一个表中部分字段的数据,该句说明拟在屏幕上显示的各个字段在设计结构时的顺序号。号与号之间要求用英文逗号分隔。如果为空表示选全部字段。采用字段号而不采用字段名是加强数据逻辑独立性,也为了一条语句总长度不超过254个字符。 数据维护部件1到4在界面中使用了组合框,其字段号表的字段号之前可以加a、b、c、d字样,表示该字段用组合框显示。其中,a表示只显示代码表,只能选择不能接受键盘的输入。b表示可以显示代码表,如果未登记代码表也可以显示已经输入到表中的该字段的数据(我们称之为历史数据),只能选择不能接受键盘的输入。c表示只显示代码表,可以利用鼠标选择也能接受键盘的输入。d表示可以显示代码表,如果未登记代码表也可以历史数据,可以利用鼠标选择也能选择不能接受键盘的输入。 在使用查询类部件时表示要求提供给用户选择的供组成条件表达式的那些字段的字段号列表。在使用查询类部件1与3时,只允许也必须输入1个字段的号或名(也可以是表达式或函数),后面可以加关系符(、=、、=、=、、$等)(可以不加)。 例如: 2= 学号 学号 SUM(平均成绩)= 这四个都是允许的输入方法。 查询类部件3是二条件查询程序,使用时还要求在变量字段号表0中设置另一个条件的1个字段的号或名或表达式,可以加也可以不加。使用查询类部件3也可以各输入多个字段号的表或空着不输,那么将提供组合框让用户选择字段名。 (5)留下按钮号表:许多工作都要求多个功能互相补充才能进行,也为了满足不同人不同应用的口味或需要,为了减少部件总数量,每个部件都设计了许多功能,各功能主要通过按钮体现,每次调用如果只需要其中部分功能、只要求使用部分按钮,可以在其后引号内输入拟在屏幕上显示的各个按钮的顺序号。如果为空表示选全部按钮。 (6)相关表名:如果涉及查询统计或多表维护的表单,除主表外还有其他表称为从表。使用一对多数据维护程序填且只允许填一个从表。使用多表组合查询、数据传送、统计图、生成打印格式文件等可以填0到多个从表,要求填多个从表时表名间以英文逗号分隔,且后面的表与前面的各表间至少有一个字段名相同,作为连接的字段名在设计表结构时要尽量放在各字段前面。 (7)外关键字:主从二表共有的字段、一般同时是主表的关键字。 (8)关键字1:从表关键字。只在使用一对多数据维护表单之前,且有一个关键字是数字类型,要求在添加新记录时自动按最大值加1后自动填入。在有此要求时应设置。在使用按关键字维护与多层次数据维护部件时需要填入关键字与分层字段名称。 (9)字段号表1:在查询类部件1到4、6、7和数据传送部件4到7中可以送入输出要求。可以是字段号表,中间可以加字段名,可以是表达式,可以使用如avg(字段名)、max(字段名)、min(字段名)、count(字段名)这样的函数(其中字段名表示要填具体的一个字段名称)。如果有上面五种函数之一,必须给分组字段,给的方法是在最后加一个冒号,后面跟分组字段。 例如: 学号,姓名,班级,7,sum(平均成绩):专业,班级 意义是按条件查询的记录中显示学号,姓名,班级,第7个字段及按专业与班级分组之后每组平均成绩之和。 2.关于某些问题的说明 (1)接口参数中用接口参数表序号区分不同调用,一个系统内所有调用所需要的不同的参数的数据放到一个表内,目的的方便管理。 (2)几乎所有部件内按钮都可以供选择与组合,使满足不同人、不同工作的口味与需要。在设置接口参数时,为方便操作与设计,如果选定了部件,点上按钮号表文本框,就可发现在列表框中列出了该部件所使用的所有按钮名称及序号,用鼠标点击就能按名字选择按钮,得到按钮号表。 (3)数据维护部件界面一般都由程序按固定的算法计算与安排,不需要用户考虑。但准备了数据维护部件2允许全部字段位置由用户安排。用户可以利用0最小系统.exe程序中接口参数表维护中定义字段位置程序辅助设置接口参数,之后再运行时就按接口参数表中设置安排排版。 (4)在数据域完整性控制中有时要求数据只在一个值域中选定,管理信息系统为了实现规范化与标准化也要求某些数据只能从预先选定的值域中选择输入,其实现方法普遍采用代码表。界面中则主要依靠组合框或列表框作为字段的显示控件。本系统中数据维护部件普遍加有该项功能。使用的方法是首先建立代码表(均为VFP本地表),再在参数表中注册,就可以使用了。一般使用时是界面中有一个共用的列表框,当某一个字段控件获得焦点(鼠标点中该控件)时,如果该字段存在代码表且已注册,列表框中就显示代码表内容供点选。如果未注册代码表,则显示历史数据供点选。单记录数据维护部件1到4及表格式数据维护部件1采用组合框实现该功能,定义方法是在字段号表中有关字段的字段号数字前加a或b或c或d,就表示用组合框表现字段,具体意义见下面有关内容。 (5)考虑到与数据库中设定相适应使提高运行效率,也考虑到局部要求不一定与全局要求一致,所有维护部件需要在入口参数中指定关键字,使实现实体完整性保护。 (6)查询1、查询3为使用较多但变化较大的部件。查询的内容可能涉及一个字段或二个字段、也可能是与字段相关的表达式,甚至涉及聚集函数,允许在字段号表中定义一个字段名或一个函数式或一个表达式。例如查询1的字段号表的写法中学号=、学号$、3=、学号、3,SUM(平均成绩)=、SUM(平均成绩)等都是允许的(如果是表达式或函数,必须用字段名,不能用字段号)。 查询2为二条件查询,需要在字段号表、字段号表0中分别如上给定一个条件。 查询的输出要求与分组字段(如果涉及聚集函数,必须定义分组字段)在字段号表1中设定。输出要求可以是字段号表,也可以是Select语句中能操作的表达式或函数,用逗号分隔。输出要求与分组字段名(如果需要设分组字段名称)间用冒号分隔。 格式例如:1,3,平均成绩,SUM(平均成绩):学号 意义是:输出第一、三字段、平均成绩字段内容和按学号分组分组后每组平均成绩之和等数据。其中冒号后是分组字段名称,只要有统计要求的都必须给分组字段名称。 (7)为了使界面风格可变,所有按钮的显示标签可设定。方法是在留下按钮号表中数字后都可加冒号再加新标签内容。注意该句总长不超过254个字符。 (8)为了实现进行数据处理的需求,设计了一个数据处理部件,允许在接口参数中规定所选择的处理公式或处理函数,允许用户自定义处理函数。 三、主要部件功能与使用方法 1. 单表单记录维护部件 单表单记录维护部件每次在桌面上仅显示一条记录的有关数据,可用于对数据表完成数据添加、修改、删除、对任意单个字段作等值查询、对任意单个字段作某一种条件查询、如果事先设计了打印格式文件将提供按固定格式打印报表、按任意字段索引排序等等操作。界面构成除文本框、编辑框、按钮外可以使用组合框。如果要求使用组合框,要在接口参数中字段号表的字段号前加a、b、c或d,详细内容见关于各参数意义的说明。本程序可以施加域完整性与实体完整性控制、安全性控制、可以要求使用代码表,提供从代码表或历史数据用鼠标点选录入的手段,可以要求自动进行派生数据的计算与录入。以上都通过填写接口参数表1来进行。可以执行最小系统,利用其中接口参数表维护有关程序填写或修改其内容。使用前一般要予定数据表名称与接口参数表序号。其全体显示的字体与字号、备注字段与通用字段显示大小与位置均可以设置,于上面一样设置接口参数表1中相关内容实现。这类部件用途: 可以作为数据输入模块、修改程序、删除程序、综合数据维护模块、条件查询程序、排序、批处理、打印程序模块等使用。对于有备注字段或通用字段或界面中字段较多总面积较大或希望一条条对记录进行处理的需求比较适合。 一般作为数据输入模块使用时常选择:之前录入、之后录入、清屏、浏览等按钮协同工作。 作为修改程序、删除程序等使用时常选择:第一条、上一条、下一条、末一条、查询、条件查询、浏览、浏览存盘、第?条、索引、再次索引及各种修改或删除按钮协同工作。 作综合数据维护模块则综合选择以上按钮协同工作。 作查询程序时常选择:第一条、上一条、下一条、末一条、查询、条件查询、浏览、第?条等按钮协同工作。 作排序时可只选择排序按钮,也可以选择索引、再次索引等协同工作。 作批处理模块时类似于修改使用。 作打印程序模块等使用类似于查询。加转EXCEL或打印予览或打印按钮。 如果未给定打印格式文件,当按各部件的打印予览按钮时,将首先帮你建立与数据表名加格式文件为名的打印格式文件,并进入打印予览操作。在建立过程中,提供选择需要打印的字段及定义每一拦宽度的方便。 单表单记录维护部件功能: 数据维护部件1到4使用组合框提供代码或历史数据辅助录入帮助,其他部件利用统一的列表框完成该功能,统一使用列表框可以更充分地发挥鼠标的作用。 数据维护部件1可以定义全部字段的字体、字号,定义备注字段与通用字段的字体、字号、宽度、高度、距左边距离与到顶距离,排版时尽量按接口参数给定的字段顺序排列。其中宽度、高度、距左边距离与到顶距离都按5号字标准给定数据,排版时再根据所要求的字体字号变化。 数据维护部件2可以定义全部字段的字体、字号、宽度、高度、距左边距离与到顶距离,排版时完全按接口参数给定的字段顺序排列。可以在第一次运行前给定部分字段的字体、字号、宽度、高度、距左边距离与到顶距离,运行时程序会自动安排其他字段的位置,然后,程序员可以修改接口参数表1相应序号下的这些位置与表现的参数,定稿后再运行就会按修改好后的数据排版。这样操作会比较麻烦,但界面变化的余地要大得多。 数据维护部件3直接对数据表操作,修改数据无需按存盘按钮即可完成,用作修改数据的程序模块操作比较快捷,但要注意操作时不要出错。 数据维护部件4排版方式简单,按数据表字段顺序排版,可以定义备注字段与通用字段的宽度、高度。 数据维护部件5到10排版方式与数据维护部件4相同,都采用统一的列表框提供代码数据或历史数据选择录入的方便。 数据维护部件6为直接对数据表操作。 数据维护部件7允许对接口参数中关键字中给定的关键字进行按位模糊查找到有关记录后点击选中该记录再进入维护操作。注意一定要定义关键字! 数据维护部件8允许对接口参数中关键字1中给定的二个字段名用列表框提供全部数值供选择,用户选中其中一个后,该记录会显示出来供修改。注意一定要定义关键字1! 数据维护部件9允许对接口参数中关键字1中给定的带有层次特性的多个字段名用目录树形式提供全部数值供选择,用户选中其中一个后,该记录会显示出来供修改。 注意一定要定义关键字1! 数据维护部件10为简单接口部件,不提供按钮选择功能。 如果要求使用代码表,要首先设计并生成代码表,然后在接口参数表1中加入有关说明,包括:代码表名(包含路径)、代码表别名(不包含路径)、代码字段名、内容字段名、加入字段名(目前程序中要求加入字段名与代码字段名及内容字段名中的某一个相同),而且要很实际数据表中相关字段的名称相同。 数据维护部件1与数据维护部件5进行数据录入的方式和其他部件不同,采取将SQL语句发送到远程执行的方法,使得在数据库中定义了关键字的表也能进行录入操作(其他部件许多未能解决这一问题)。但在远程数据库中关于日期类型字段常量的表示方法各不相同,目前只设计了部分方法,使得这二个部件在作录入模块时不能适应各种数据库的要求。目前已通过测试的有Oracle9i系统、Oracle10g系统、SQL Server2000系统、SQL Server2003系统、与Access2003系统。将在下一版中解决该问题。 2. 表格式维护部件 表格式维护部件以表格形式显示表中数据并提供数据维护手段。 调用时在菜单项的过程中写入的程序的格式与数据维护部件相同,只是部件名称不同。 其用途:可以作为数据输入模块、修改程序、删除程序、综合数据维护模块、条件查询程序、排序、打印程序模块等使用。对于有备注字段或通用字段或界面中字段较多总面积较大的情况不适合。如果希望次显示多条记录供处理,选择本类部件比较适合。 一般作为数据输入模块使用时常选择:之前录入、之后录入等按钮协同工作。 作为修改程序、删除程序等使用时常选择:查询、条件查询、索引、再次索引及各种存盘或删除按钮协同工作。 作查询程序时常选择:查询、条件查询等按钮协同工作。 作排序时可只选择排序按钮,也可以选择索引、再次索引等协同工作。 作打印程序模块等使用类似于查询。加转EXCEL或打印予览或打印按钮。 有关部件概况:本系统提供了6个表格式数据维护部件。都可以提供三种显示界面,通过按钮操作变换。 表格式数据维护部件1与2具有自适应功能,每写最后一条数据时会自动产生新行,因此无须添加按钮就能不断进行录入操作。在数据输入到表格中后立即自动存盘,因此也不用存盘按钮。可以用鼠标拖动使对连续一片的记录加删除记号。其他完整性保护、安全性保护、派生数据处理和单记录方式的数据维护部件相同。1和2的区别在于关于代码数据与历史数据帮助录入功能的实现方法不同,1是靠弹出的组合框,2是靠所有字段共用的列表框。当有了代码表,并且在接口参数表中进行了登记(利用最小系统的接口参数表维护菜单项下代码表登记进行操作)的情况下,如果在变量字段号表中列出了要显示的字段号,在要求有代码的字段的字段号前加a或b或c或d,然后运行表格式数据维护部件1,当焦点落到有代码字段上时,将弹出组合框,用户可以用鼠标选择合适的代码录入。当误操作使表内出现关键字重复记录时,表格式数据维护部件1往往可以用来删除这样的记录。 特别注意:为了避免录入数据中有空值,使之后操作出现不便甚至错误,建议做录入用时,选择表的全部字段,即在留下按钮号一栏中保持空白。需要将录入调用与修改、删除调用区分开来。 如果未给定打印格式文件,当按以上二部件的打印予览按钮时,将首先帮你建立与数据表名加格式文件为名的打印格式文件,并进入打印予览操作。在建立过程中,提供选择需要打印的字段及定义每一拦宽度的方便。 表格式数据维护部件3在修改完一条记录后必须按存盘按钮才能保存,是唯一可以用来修改关键字值的部件,其用途一般不做录入用,主要用来做可能要求修改关键字值的操作,但速度较慢,且要求操作存盘后退出运行,需要重新进入系统。 表格式数据维护部件4数据源直接绑定数据表,因此也无须存盘按钮,但与1和2不同,1,2设计有临时表,因此功能可以设计得强一些,便于实施实体完整性控制。该部件使用时要先按添加按钮产生一个空行后才能录入。 表格式数据维护部件5未使用接口参数表,其他与4相同。 表格式数据维护部件6允许对接口参数中关键字1中给定的带有层次特性的多个字段名用目录树形式提供全部数值供选择,用户选中其中一个后,该记录会显示出来供修改。 注意一定要定义关键字1! 表格式数据维护部件7是对本地表数据维护程序,无需入口参数,数据表名称在运行时通过按钮在本地表目录中选择给定。 3. 一对多数据维护部件 一对多数据维护部件在界面上同时显示具有一对多关系的二个数据表的数据,可以对二个表进行录入、修改、删除、查询等操作。 在操作时提供参照完整性保护。方法是:先在主表中选定一条记录,当在子表中添加一条新记录时,会自动将主表中与子表中也有的同名字段的数据取出,填写到主表中;如果在主表中删除一条记录,回提问是否同时删除字表中外关键字值相同的记录,如果回答是,将删除字表中相关记录;如果修改主表中和子表外关键字同名字段的数据,将同时按同样数据修改子表中的数据。 提供关联操作:当在主表中选择一条记录时,子表中将显示外关键字值相同的所有记录,提供修改操作方便。 其用途:在提供参照完整性保护和关联操作的情况下对主表、子表进行数据维护操作与查询操作。与单表操作的不同点在于:1、当在主表中选择一条记录时。子表中应当只显示外关键字值相同的相关记录数据供修改操作。2、当子表中录入新记录时,其外关键字数据应当等于主表中当前记录中外关键字的数据。3、当从主表中删除一条记录时,应当提示是否同时删除子表中相关联的数据,以保证参照完整性。当用户确认后,应将子表中相关联的记录一并删除。4、当修改主表中数据且修改了外关键字的值时应当将子表中外关键字的值修改为同一值。但是,一般外关键字多为子表关键字的一部分,当远程表不允许修改关键字的情况下,这一操作无法完成,因此本系统多表维护部件普遍未加该功能,统一规定不得修改关键字与外关键字的值。如果用户有特别需要,可以另外设计。 对主表的操作一般提供录入、修改、删除、查询、指针移动等功能。 对子表的操作一般提供录入、修改、删除、查询、索引、打印、转EXCEL、浏览等功能。 如果主表字段较少,需要较大子表空间,而且子表字段也不多,希望能一次显示多条记录,采用多表数据维护部件1与2较好。如果有比较多的字段需要代码表或历史数据支持,或希望多采用鼠标帮助操作,以多表数据维护部件2较好。 如果子表中存在文本、图片等内容,以选择多表数据维护部件3比较好。 多表数据维护部件4能直观看到二个数据表之间关联情况,当需要展示的二个表的字段数都不多时,可以选择使用多表数据维护部件4。该部件未附对主表作数据维护操作的功能。 如果不要求对主表作维护操作,主表数据只是子表数据的引导,使用多表数据维护部件5也比较方便。 有关部件功能性能概况:多表数据维护部件1以单记录式界面显示主表数据并允许对之做维护操作。以表格形式提供对子表数据维护的界面。某些数据需要采用组合框显示其代码表,让用户通过鼠标点击从代码表中选择代码或代码代表的内容录入到数据表中,可以保证数据的规范性、标准性、一致性,为统计操作的准确性打下基础,也可以加快录入速度。同时,某些数据可以从已经录入过的数据(称为历史数据)中选择录入,也用组合框显示去掉重复值的这些数据供用户选择。 多表数据维护部件2以类似于多表数据维护部件1,但是不采用组合框,而是采用统一的列表框显示相关字段的代码表或历史记录,以单记录式界面显示主表数据并允许对之做维护操作。以表格形式提供对子表数据维护的界面。 多表数据维护部件3以单记录式界面显示主表数据并允许对之做维护操作。同样以单记录式界面提供对子表数据维护的操作。主表与子表各采用统一的列表框显示相关字段的代码表或历史记录中的数据供选择录入。 多表数据维护部件4同时用表格形式提供对主表显示与对子表数据维护的界面,不提供对主表的维护操作。在主表数据指针改变时从表中数据相应改变。当从表添加新记录时从主表中取出当前记录中同名字段的数据自动添加到从表中,使加快录入速度。 多表数据维护部件5以列表框显示主表部分属性数据,不提供对主表的维护操作。同时以表格形式显示从表中数据并提供数据维护手段。在主表数据指针改变时从表中数据相应改变。当从表添加新记录时从主表中取出当前记录中同名字段的数据自动添加到从表中,使加快录入速度。如果预定了关键字1,将自动在添加新记录时将该字段最大值加1后填入表中,即自动编写关键字,如果未定义变量关键字1,将不做此操作,对运行无影响。 多表数据维护部件6的目的是为了某些快速录入的实现,可以根据二个表的数据先生成一个空表,在其中只填少数字段的数据,在其他表中能找到的数据自动录入到新表中,再转录入远程表。例如填写某门课的成绩,成绩表中有字段:学号、课号、分数等字段。需要根据学生表中的班级与课程表中的课名建立一个包括学号、课号与分数的空表,其中学号从主表(学生表)中根据班级查到该班级全部学生后取出学号录入新表、课号要根据课名从课程表中查到后填入新表,只留下分数数据需要用户录入,用户根据成绩单向新生成的这个临时表录入分数数据,再转录入到成绩表中,能提高操作速度。调用方法:输入的参数有:数据表名称、相关表名称、外关键字、关键字1、字段号表、字段号表1、字段号表0。其中,数据表名称、相关表名称、外关键字、关键字1、字段号表1 等的意义与输入格式与其他部件保持一致,只是相关表名称可以输入二个表的名称,之间用逗号分隔。前一个是接受最终输入的子表名(例如成绩表),后一个是另一相关子表名,例如课程表或课程代码表。要求在主表中必须有一到多个字段与第一子表中1到多个字段同名,这些字段的数据以后可以自动放到新表中。在第2子表中也必须有一到多个字段与第一子表中1到多个字段同名,这些字段的数据以后也将被自动放到新表中。在字段号表中填写主表中的字段号或字段名,可以是1个,也可以是2个,最多2个,之间用逗号分隔。填生成新表的某一字段数据的依据,例如班级,将根据这1或2个字段所选值查主表中满足匹配条件的1或多个字段的所有数据(例如学号)自动填到新表中。字段号表0中填写第2子表中的字段名,可以是1个,也可以是2个,最多2个,之间用逗号分隔。用户选择这些字段的值作为生成新表的例外一些字段数据的依据,例如课名,将根据这1或2个字段所选值((本部件规定只取一个值)例如课号)填入新表,上述自动填入的数据在之后录入过程中不可修改,这样可以加快录入速度。只有非上述数据的数据需要用户手工录入(例如分数数据),用户可以只填写分数数据及其他另外二表中非同名字段的数据。最后按添加式存盘再全部加到远程表(例如成绩表)中。 多表数据维护部件7的目的是为了快速修改子表中的数据,可以根据主表部分字段与子表部分字段建立索引目录树,当用户选择某目录时,程序自动调出相关子表中的记录在窗口中显示,用户可直接在窗口中修改,完成数据维护的工作。输入的参数有:数据表名称、相关表名称、外关键字、关键字1、字段号表、字段号表1、字段号表0等。要求将列入目录树的主表字段的字段号写到字段号表中(可以为空,那么和单表目录树结构部件功能相同),将列入目录树的子表字段的字段号写到字段号表0中,其他参数意义与填入内容与其他部件相同。构成目录项的标识的是有关字段的值,该值不得以数字打头,如果实际数据以数字打头,本程序叫自动在数字前按层次 加A、B、C等;在不同主枝上的子枝名字如果相同,之后会合并到稍前的主枝中,使搜索路径出现改变,本程序为解决此问题,将自动在相同值后面加数字区分;构成目录树的字段类型要求为字符类型,本程序将自动将整型、数值型、日期时间型改为字符型数据放入目录树,因此,本程序允许构建目录树的字段限4种类型:字符型、整型、数值型、日期时间型。 4. 查询部件 查询是对数据各类操作都需要进行的操作,其效率对系统工作效率影响极大,需要提供各种方便用户查找的界面。本系统提供了可以由程序员预先定义一个查询表达式的单条件查询、由程序员预先定义二个查询表达式的二条件查询,有关条件如果是一个,写到变量字段号表中,如果是二个,另一个写到变量字段号表0中。(以上一个到二个条件可以是字段名的条件,例如: 学号 或 学号= (如果后面有关系符,界面中将不出现供选择关系符的组合框。以下同)。 也可以是表达式,例如: 固资+活资 或 固资+活资= 可以是聚集函数,例如: sum(应发工资) 或 sum(应发工资)= 。注意如果有聚集函数,必须要给定分组字段,方法是在字段号表1中以冒号加字段名的形式给出。例如 :部门号 表示按部门号分组,再根据各组应发工资的和形成查询条件。 注意,对于单条件的情况,在字段号表中只能写一个字段名,或一个表达式。对于二条件的情况,在字段号表与字段号表0中可以写一个字段名或一个表达式,也可以写多个字段名(用逗号分隔,但其中不得有表达式),否则出错。 提供单查询部件则需要用户先选择字段,再选择关系符,再进行查询。可以设定对输出内容的要求,方法是在变量字段号表1中以字段号、字段名、表达式形式列出要求。例如 1,3,4,固资,7,10,固资+活资 字段号、字段名、表达式可以混用,也可以有聚集函数,但其后必须给出分组字段。 例如: 姓名,部门名,SUM(固资),SUM(应发):部门号 为了满足预先难以确定的查询要求,设计了从简单到复杂的多个组合查询程序,使用这些程序时,要求用户选择字段、选择关系符,再输入查询值,一个一个条件放到专门准备的编辑框中,用户可以自行修改,再进行查询。 查询部件用途:按用户需要根据各种各样的条件对数据库中数据进行查询,对文本进行检索,并按用户要求输出结果。 提供对数据库中数据按照单条件、二条件、多条件的查询,可以根据字段值、表达式、函数式、字段的子项、分组统计数据等构成条件式再进行查询,并将查询结果输出出来。查询结果可以是字段、表达式、函数式,也可以是分组统计结果。有些部件可以用于对文本的检索。有些部件可以对数据表中数据做统计操作。 一般都以列表方式显示结果,还提供打印、转存文件、转EXCEL等功能。有些部件可以转单记录维护程序,通过比较复杂的查询找到有关数据再转入数据维护操作。 有关查询部件功能与性能:查询部件1为由程序员预先定义查询表达式的单条件查询,有关条件写到变量字段号表中,可以是一个字段名,也可以是一个表达式;后面都可以加 、、=、=、、=、$、!$ 等符号。输出要求写到字段号表1中。 查询部件2为单条件查询。用户先选择字段,再选关系符,再进行查询。输出要求写到字段号表1中。 查询部件3由程序员预先定义查询表达式的二条件查询,有关条件写到变量字段号表和字段号表0中,各可以是一个字段名或一个表达式;后面都可以加 、、=、=、、=、$、!$ 等符号。也可以是由逗号分隔的多个字段号,后面不得有关系符。二个条件间可以组合成与或或的关系。输出要求写到字段号表1中。 查询部件4为简单的多条件组合查询。用户先选择字段,再选关系符,输入查询值,按加入条件的按钮,再选下一个条件,条件组合完成后,可以修改条件,再进行查询。可以将输出要求写到字段号表1中,如果不给要求,表示按全部字段输出。 查询部件5为较复杂的多条件组合查询。用户先选择字段,再选关系符,输入查询值,按加入条件的按钮,再选下一个条件,条件组合完成后,可以修改条件,再选择输出内容,包括生成涉及聚集函数的条件(一定要选分组字段),再进行查询。输出要求不能预先在接口中给出。 查询部件6到9为多表查询,将首先将列在数据表名称中的表、写到相关表名称中的各个表及在接口参数表中登记了的代码表关联到一起,在如前面类似的界面中提供查询操作。其中查询部件6为单条件查询。 查询部件7为完全SQL语句组合查询程序,也可以作SQL语言SELECT语句练习工具使用,输出为一到多个原数据表经连接之后的表的子集,输出要求与分组条件写到字段号表中,其中输出要求可以用字段号、可以用字段名、也可以用函数式(函数式与表达式中只能用字段名表示字段,不能用字段号),如果输出内容中有聚集函数或有分组条件时,必须给分组字段名,分组字段名放在输出要求之后,用冒号与前面分开。分组字段也可以有多个,由逗号分开。可以预给查询条件表达式,条件表达式要求写在字段号表1中。还可以预给分组后按组值构成的条件表达式,分组条件表达式要求写在字段号表0中。在执行程序过程中可以临时修改输出要求、分组字段、各条件表达式,再执行,程序中给了相应的帮助,使达到学习SQL语言的目的。注意,中间所使用的表名只能是远程表的视图或本地表名,远程表视图名由远程表名加视图二字构成。还要注意,表与表之间必须有一个同名字段,将根据该字段建立连接,在条件语句中必须有连接子句。如果在输出要求、条件子句等中出现同名字段名,之前必须加表或视图名,且与字段名间用逗号分隔。本程序不能使用代码表,不能根据非数据表中的字段进行查询。 查询部件8为与查询部件5类似的组合查询。 查询部件9为较复杂的查询,可以设置分组后的分组条件(条件式列在Having子句中)。关于分组条件的操作是:先选定字段,再选聚集函数,写入分组数据,加入到右下角编辑框中,再选择与加入下一条件。 查询部件10、11对备注类字段中文本进行检索式查询。在文本框中,按目前各搜索网站同样方法输入检索关键字,再进行查询。 查询部件11是简单的检索式查询,在接口参数中不给接口参数表序号,不涉及接口参数表的使用。 查询部件4到9的操作虽然麻烦,但可以适应各中查询需要,使用更灵活。不过,对操作者有较高的要求。 5. 关系运算部件 关系运算部件计算二个表之间的并集、差、交集、商,结果一般放在本地表中,有些存在转加到远程表的需求。除关系运算部件1只需要数据表名称外,其他四个部件要求定义的参数都是数据表名称(第1表名称)与相关表名称(第2表名称),此外,可以选择字段号与按钮号。 求二个表之间的并集、差、交集时要求二表字段结构相同,包括字段数量一样、字段名相同,字段的属性也要相同。本系统部件考虑到处理异构数据的需要,允许存在不同,将对本地临时表经过变换后再运算,但结果一般限存放到本地表中。 求二个表之间的商时要求二表有一到多个字段结构相同,包括字段名相同,字段的属性也要相同。作为除数的表就由这些字段构成(假如用Z代表),要求没有重复值。作为被除数的表除了有这些字段外(假如用Y代表),还有一到多个字段(假如用X代表)。在表1中X的数据存在重复,可以按其值分组,二表的商就由这些字段构成。求商的方法:对表1按X部分一组组进行分析,如果X的某一组记录的Y部分的数据全部包含Z部分的数据,就将该组X部分的字段或字段组的值加入到商表之中。 本系统包括5个关系运算部件。关系运算部件1处理比较常见的一类求交问题:在一个数据表中查找并去掉记录值完全重复的记录。本部件也允许选择一部分字段,查找这部分字段值相重复的记录。操作时先要求做查找操作,查找成功后再按物理删除按钮删除。 关系运算部件2求二表并集,实际是将二表中不重复的记录合并到一个表中,为统计操作服务。操作时可以指定一个存放结果集的本地新表,便于进一步处理。 关系运算部件3求二表商。主要运算按钮包括表1除以表2结果到本地新表按钮和按选中分组字段求商到本地新表按钮,前者自动求二表中同名同类型字段为求商字段(Y部分),表1中其余字段为分组字段(X部分)。表1中每组分组字段的值在满足除法条件时取做商的值。因此当使用该按钮求商时可以不选择分组字段与求商字段。但是,当选择了分组与求商字段后,按选择的字段求商。第二个按钮可以处理求商字段(Y部分)字段名相同但类型和其他属性不相同的求商问题,处理时会自动找出二表中(或二表选定的字段中)同名字段,如果发现其中存在字段属性不同,将自动按表1的字段属性修改表2相关字段的属性,再进行求商运算。考虑到还可能有字段名不相同的问题及只取表中部分记录进行运算的问题,提供了修改表1与表2结构的二个按钮,可以临时修改二个表的结构及按条件修改记录数据后再行操作。可以通过选择查询按钮及浏览按钮临时对表进行选择操作,注意如果既要修改字段属性又要选择记录,应先作前一操作,再将结构变换完毕后再作选择操作。以上提到的修改字段名或字段属性、选择记录等均只修改本地临时表,不影响远程表结构,可以借远程视图及一个恢复按钮将本地临时表结构恢复到开始状态。 关系运算部件4求二表差,实际是将第1表中存在而第2表中不存在的记录取出到一个本地新表中,或将第2表中存在而第1表中不存在的记录取出追加到远程第1表中。 关系运算部件5求二表交集,实际是将二表中相同的记录取出到一个本地新表中,可以选择部分字段求交。 关系运算部件2、4、5允许将某些结果传送到远程新表中,传送前需要建立新表。其中对于不同数据库,系统中设计了一个数据类型.dbf表,如果是Oracle、SQL Server、Access之外的数据库,需要选择其上某一种结构,如果皆不合适,可以修改数据类型.dbf表的内容使相适应。 该组部件可以提供数据库关系代数辅助教学工具之用。 6. 数据处理与统计类部件 关于数据表中数据的处理,除了查询与比较规范的报表外,还常有一些涉及数据统计的操作。本系统提供的本系列部件用于数据统计及打印操作。可对数据表中若干列进行求和、求平均、求最大、求最小、求记录条数或分组求和、求平均、求最大、求最小、求记录条数等操作;按某一列或某二列数据分组后求各组统计数据的操作。对统计结果显示打印或形成统计图形输出。调用多表产生的打印格式文件进行打印操作。 具体而言:数据处理部件完成记录横向数据各种处理操作,提供120多种处理程序,包括统计计算、数据预置、批处理、求函数值等。还可以自己添加新的程序,借助选择与投影界面进行数据处理。操作时首先选择记录筛选条件与定义输出要求,再选择输出结果保存位置,选择计算公式或程序,在进行处理并观察结果。用户可以在foxuser1.dbf中添加新程序,其程序名用V打头,就可以将新的处理加入到系统中,可以不断补充,使系统功能日益加强。 统计打印部件1生成交叉表及表现交叉表的柱面图、圆饼图、折线图、金三角图等。操作时,先选择记录筛选条件,不做选择意味全部记录。再选择字段,要求选择三个字段,第一个字段数据决定交叉表的纵向分组,第二个字段数据决定交叉表的横向分组,第三个字段要求为数值类型字段,按纵向分组与横向分组决定其位置(也可以为字符类型,但其中数据必须全为十进制数据)。每一组只取一个数据,如果纵向分组与横向分组数据相同的记录有多个,将只取最后一个列入表中。选择字段后,按统计按钮,将产生交叉统计表;如果按统计图按钮,先显示交叉表,再进入统计图界面,可以用柱面图、圆饼图、折线图、金三角图等表现第二个字段与第三个字段间数据关系,在图的左边列出了第一个字段各大组数据,当选某一组,再选择图形种类,就更换显示该大组的一个统计图。也可以选择全表柱面图、圆饼图、折线图,将显示所有各大组统计图。统计表可以转EXCEL再处理,也允许根据交叉统计表自动生成打印格式文件,并组织打印。 统计打印部件6允许先对每一大组中各组数据求和、求平均值、求最大值、求最小值、求记录条数之后再进行类似与统计打印部件1相同的操作。操作时需要选择统计类型,另外,第三个数据只能是数值类型。 统计打印部件2用来产生一元线性回归图形。操作时同样先选定记录选择条件,不做选择意味全部记录。再选择字段,要求选择二个字段,第一个为纵向字段,对应二维图形的纵坐标,要求必须是数值类型数据,也允许是字符类型数据,但要求其内容全由十进制数据构成,即能通过字符到数值的转换变成数值类型。第二个为横向字段,对应二维图形的横坐标,要求必须是数值类型数据或日期类型数据,也允许是字符类型数据,同样要求其内容全由十进制数据构成,即能通过字符到数值的转换变成数值类型。有些数值数据太大或太小,需要将之乘上10 的负N次方才能比较清楚地得到图形,在选择字段后,可以输入N的值。然后,按显示折线图按钮可以显示折线图;按一元线性回归按钮可以显示原数据点的分布、显示所得到的一元线性回归直线、显示一元线性回归直线方程及方均误差数。如果全是数值类型数据,允许输入横坐标数据,进而计算并显示予测的纵坐标值。 统计打印部件3在已经设计了打印格式文件的情况下,调用打印格式文件,执行打印予览或打印操作。可以将打印内容转文件保存。可以查看与临时修改欲打印的数据。可以进入修改打印格式文件的界面,对格式文件进行修改。 统计打印部件4对数据列进行求小计、分组平均、分组最大、分组最小、分组记录条数、分组方差、分组标准偏差及算术平均值的标准偏差,同时可以计算各相应总计等值。可以一次对多个字段处理。最多可按三个字段数据分组。可以输出明细带小计,也可以只输出小计与总计。可以输出最后一组的小计,也可以输出关于三级分组每组的小计。可以将输出结果转EXCEL或产生一个格式文件后进入打印程序。操作时首先选择分组字段,再选择记录筛选条件,再选择显示字段与统计字段。当用鼠标在表中点某一行时,有关行号会自动列入显示字段与统计字段框中(请注意将不需要的字段删除)。最后选择公式,再按相应按钮就可以完成统计操作。 统计打印部件5同样是对数据列进行求小计、分组平均、分组最大、分组最小、分组记录条数,同时可以计算各相应总计等值。可以一次对多个字段处理。最多可按三个字段数据分组。与统计打印部件4不同之处第1是没加入记录筛选程序,第2是不同统计类可以在一个表内显示。可以将输出结果转EXCEL或产生一个格式文件后进入打印程序或转存另一个数据表中。操作时分别选择分组字段、求和字段、求平均字段、求最大字段、求最小字段、求记录条数字段,之后按相应按钮就可以完成统计操作。 统计打印部件7类似于统计打印部件6,根据横、纵二个字段数据进行多层次分组,分析第三个数值字段数据与它们的关系,得到交叉表。 统计打印部件均具有打印报表功能,其中统计打印部件4与6具有根据模板建立打印格式文件的功能,可以预先设计字典表,表名要求以统计类字典表打头。统计打印部件6要求字段有:字段原数据、新数据二个字段。统计打印部件4要求有:字段原数据、新数据、字段名、类型等4个字段。其中,统计打印部件6的字段原数据一列填原数据表中将转为字段名的分组字段各组的值,新数据填新的对应变化的字段名,长度不超过10个字符。统计打印部件4中字段名中填当前变化的数据的字段名,必须是某个分组字段中的字段名,字段原数据填该字段原数据值,新数据填新的对应变化的数据,类型中填统计类型,例如:小计、平均、最大、最小、记录数、总计、总平均、总最大、总最小、总条数等。采用模板方式使打印格式固定,使类似于财务的损益表的报表可以容易地建立。 7.数据通信与导入导出部件 应用系统常常需要和其他系统、其他程序交换数据,本系列部件完成这项工作,包括从其他文件或数据表中导入数据,或将本系统数据表中数据导出到文件或数据表中。数据传送时,常常需要对多表预先联接、限定数据范围(包括按某条件选择记录及按某条件选择列),某些操作还要求改变数据属性(例如字段名称、数据类型与数据宽度等,有些要求按预先设计的字典表导入或导出)。文件的数据格式常见的有SDF、DELIMITED、EXCEL、HTML与自定义格式。 SDF 文件是一种 ASCII 文本文件,记录有固定长度(根据所定义的数据表格式),并且以回车和换行符结尾,各字段不分隔开。文件的默认扩展名为 .TXT。 DELIMITED文件是 ASCII 文本文件,文件中每条记录以回车和换行符结尾。各字段内容默认地由逗号分开,字符字段值还需要用引号括上。例如:Smith, 9999999, TELEPHONE。 自定义格式也是 ASCII 文本文件,文件中每条记录以回车和换行符结尾。各记录起始符与结束符及各字段内容分隔符可以由用户指定。 数据导入时常有:添加方式(原有记录保持不变,再增加导入的记录)、复盖方式(原有记录删除后增加导入的记录)与替换方式(根据关键字相同的条件用导入数据去修改原表数据)。 数据传送部件1实现从EXCEL文件导入数据,处理时要求先将原EXCEL文件中数据转到记事本中再导入,当数据类型较多时,这是一种可靠的方法。 数据传送部件2实现从一个数据表或视图中取出数据再导入到另外一表中,要区分传送的是否包括备注类型字段数据。字段名与数据类型如果一致,可以简单地实现导入,否则要先设计好字典表,再利用字典表完成逻辑异构数据的导入。操作时先选择源数据表与目的数据表,再定义字段的对应关系(字段名相同的可以按查相同字段名字段按钮自动列入)。再规定记录筛选条件,选择导入方式(添加方式、复盖方式与替换方式),再按相应按钮实现导入。 数据传送部件3从TXT文件或EXCEL文件导入数据,TXT文件格式可以为SDF、DELIMITED、或自定义格式。首先选择TXT或EXCEL文件名及目的文件名,再选择对应字段名称,选择导入方式,如果是自定义格式,要输入记录开始符、结束符与字段间分隔符,然后按相应按钮实现导入。如果从EXCEL文件导入,要求EXCEL文件为EXCEL95格式,而且最好全是字符类型数据(如果有非字符类型数据,常需要先按字符类型导入后再变换)。 数据传送部件4实现将当前系统中数据导出到另一个数据表中。可以按原结构导出,也可以改变字段名后导出,还可以改变数据类型与属性后导出。 数据传送部件5将当前系统中数据导出到文件中,文件类型包括TXT结构的SDF、DELIMITED、HTML与自定义格式及生成EXCEL文件。可以规定导出记录筛选条件。 数据传送部件6实现将当前系统中一到多个表联接数据导出到另一个数据表中。可以按原结构导出,也可以通过一个字典表改变字段名后导出,还可以改变数据类型与属性后导出。程序中提供关于字典表维护的方便。 数据传送部件7将当前系统中一到多个表联接数据导出到文件中,文件类型包括TXT结构的SDF、DELIMITED、HTML与自定义格式及生成EXCEL文件。可以规定导出记录筛选条件。 8.打印格式文件生成辅助工具 开发工具类部件提供打印格式文件生成程序,用于生成各种格式的打印报表的格式文件,其特点是提供了修改元素位置参数、通过数字调整生成界面与通过可视化环境手工修改界面等二种格式生成方式。功能包括:自动生成供生成打印格式文件的打印格式数据表、修改打印格式数据表、生成打印格式文件、进入可视化格式文件修改界面、重生成打印格式文件,多表组合查询与按格式打印等。 单记录式报表部件名为工具类部件6。 有三种格式:1、打印表每页一条记录,所有字段分为若干列,格式例如: 学号 20001220姓名王平性别男 出生日期1980/03/23班级200001电话88120302 操作时先输入标题、选字体字号,选输出的字段名,再定列数,列数以字段(标签加字段值)为单位。例如上例中列数为三。选完后按不加线条《生成表格式格式》按钮或加线条《生成表格式格式》按钮。按后要求选:打印一页或打印所有记录,但每次只打印一条记录,再下面会告知一个打印页的宽度,并显示当前各列的宽度。可以在表中修改各列宽度。最后产生打印用格式文件,该文件名为所定打印格式文件名加扩展名frx。在资源管理器的文件目录树中双击该文件名,可以进入格式文件修改程序。用户可以对初步成型的打印格式文件进一步修改,再正式加入到系统中。 2、生成整齐但不规范的表,每行总宽度相同,但列数不相同。操作时无需定列数,直接按生成非规则格式按钮就可以生成。 3、生成自定义单记录打印格式文件,每行总宽度与列数都由用户修改确定。选择相应按钮后将列出当前每一行每一列宽度,用户可以修改,然后生成。 自动生成打印格式初步格式数据表文件,该文件将有关字段及其位置简单分布在格式文件中以备修改。其内容包括:1、行号:每一个控件在打印格式文件中排在第几行。2、列号:每一个控件在打印格式文件中排在某行内第几列。3、左边距:该控件距离打印区左边的距离,以英寸为单位,1英寸等于2.52厘米,在打印格式文件生成器中标尺的单位为英寸。4、到顶距离:该控件距离打印区顶部的距离。5、长度或宽度:该控件的宽度,对于线条指线的长度。6、高度:该控件的高度。7、字号:字的大小,对于线条指线的宽度。8、上下有线条:填有或无,说明该控件上下是否加线条。9、横线纵线:对于线条用于表示其方向。10、内容:对于标签,填标签的内容;对字段变量或内存变量填变量的名字。11、所在带区:填该控件排布的位置在那一带区。A、标题带区每页打印一次;B、细节带区每条记录打印一次;C、注脚各带区在有分组情况下每组打印一次;D、总结带区全表完时打印一次。12、公式:A、对于标签,保持为空;B、对字段变量或内存变量填变量的名字,也可以填由字段或常量构成的表达式。 通常以上生成的界面都很不令人满意,可以先手工将过宽的元素宽度人为地减少。程序将自动按设定宽度决定宽度,注意在修改每列宽度时兼顾全列、全行的宽度。 表格式报表格式文件生成部件部件名为工具类部件5。 功能是根据输出的字段的要求生成表格式的报表格式文件,提供三种格式:1、明细表格:每条记录占据一行,打印满足组合查询条件的全部记录。(如果未定查询条件,将打印表中的全部记录)2、包括明细,并对部分字段总计的表格式报表,作总计的字段允许是内容由数字字符构成的字符类型数据。操作时必须选择作总计的字段并利用加入求总计字段按钮加到文本框中。3、包括明细,并对部分字段求小计或总计的表格式报表,作小计或总计的字段允许是内容由数字字符构成的字符类型数据。操作时必须选择作小计与总计的字段并利用加入求小计字段、加入求总计字段按钮加到文本框中。还必须选择分组统计的字段(最多三个,彼此用英文逗号分隔)。 例如:先在接口参数输入表单中利用打开查找并选定主表名(例:生源)、从表名(例:成绩)、代码登记表按默认值不变、从键盘输入打印格式文件名(例:AAA1),按退出或回车。 选按菜单项生成表格形式格式文件,对于问题是否生成新格式表回答是。(注:默认描述打印格式的数据表文件名是打印格式文件名加表,本例是AAA1表。如果对已有表修改,按否)。 先设计并预设标题及字体、字号。 选输出字段(例:姓名,院校名称、学号、课名、分数)、分组字段(例:姓名)、小计字段(例:分数)、总计字段(例:分数)。按 明细、小计与总计按钮就可以生成格式文件。 标签式报表生成部件部件名为工具类部件7。 根据输出的字段的要求生成标签式的报表格式文件,提供三种方式:1、一个单记录表格形式的表重复多次:先建立一个单记录表格,再复制成多个表格,这些表格中的数据可以是数据表中同样一组数据,也可以分别来自不同记录的数据。2、、一个单记录非规则格式的表重复多次:先建立一个单记录非规则格式的表,再复制成多个表,这些表中的数据可以是数据表中同样一组数据,也可以分别来自不同记录的数据。3、与2类似,但进行中会显示有关字段的位置,允许先修改后再建立标签。 操作时先选择字段,如果是表格形式,要输入每一小块的列数;如果是非规则格式,要输入一小块的宽度。然后,输入一行有多少块以及纵向一列又分多少块(构成多少块的行)。再输入行内块间距离与纵向块行之间距离。再按生成一块的按钮(有三个按钮,分别产生表格式、非规则式与可调整式单块结构)。如果需要,再按加线条的按钮。最后,如果生成不同块数据相同的标签,就按同条记录重复标签按钮,否则,按不同记录标签按钮。 9.其他工具类部件 目录树帮助系统生成部件用于生成目录树控制的有语音、图形的帮助程序的数据表,也可以用于设计音、像盒、名片、产品广告、企业介绍等。 以目录树结构形式显示帮助生成时输入的内容。本部件名为工具类部件18。 本程序默认的数据表名是目录树帮助表,如果要用其他表名,要求结构必须一致(通过复制本库提供的目录树帮助表得到),同时在调用时要写明表的名字(如果不改变表名,可以保持变量数据表名称为空格)。 使用时首先进入最小系统,运行开发工具中目录树帮助生成,建立帮助文件。操作时,如果要增加节点(不论是根节点还是枝与叶节点),先在新节点名中输入一个标签内容,如果是根节点,按建第一级节点按钮,就可以见到增加了一个根节点;如果不是根节点,是挂在某一节点个子之下的节点,就用鼠标去点这一节点,将发现该节点下新增加了一个子节点。如果要在某节点下填入帮助内容,先清干净新节点名中的内容,再点该节点,之后在右边填入帮助内容就可以了。每一个节点可以有一个文本与最多二个画面(可以专有文本或专有画面),画面中可以填画片、WORD文件、EXCEL文件与WAV声音文件。 调用帮助类部件2.EXE可以显示帮助内容。 目录树控制部件可用于工作流系统。目录树形式的菜单具有纵向分布、层次鲜明,信息量大等特点,现在越来越受欢迎。本部件用于建立目录树形式的菜单。本程序部件名为工具类部件19。默认的数据表名是目录树菜单表,如果要用其他表名,要求结构必须一致(通过复制本库提供的目录树菜单表得到),同时在调用时要写明表的名字(如果不改变表名,可以保持变量数据表名称为空格)。 使用时首先进入最小系统,运行开发工具中目录树菜单生成,建立菜单文件。操作时,与目录树帮助一样,先建立目录结构,如果要增加节点(不论是根节点还是枝与叶节点),先在新节点名中输入一个标签内容,如果是根节点,按建第一级节点按钮,就可以见到增加了一个根节点;如果不是根节点,是挂在某一节点个子之下的节点,就用鼠标去点这一节点,将发现该节点下新增加了一个子节点。如果要在某节点下填入执行程序的内容,先清干净新节点名中的内容,再点该节点,之后在右边填入程序语句内容就可以了,如果需要,还可以给定安全控制的条件。 执行系统控制类部件2可以调用该目录树菜单,控制与驱动程序工作。 为了加强系统性能,更充分发挥本系列部件的作用,许多要通过预设参数实现。本系统提供了对接口参数表1中数据维护操作的部件。 工具类部件10用于登记注册代码表。在维护程序、查询程序、数据导出程序、统计程序中如果要使用代码表,除要建立代码表外,还要进行登记才能使用。这样做的目的是希望应用更灵活。登记时要写名代码表名字、代码字段名字、内容字段名字,及准备填入(对于维护程序而言)的字段的名字。目前我们规定,这一名字(数据表中某一个字段名)要和代码表中一个字段同名。 工具类部件11用于填写数据域完整性约束条件(对于维护程序而言),可以填最大值、最小值、值集及条件表达式。 工具类部件12用于填写计算派生数据的公式(对于维护程序而言)。使当焦点离开某字段时,自动计算派生数据的值,并填入数据表中。 工具类部件13用于填写安全性约束条件(对于维护程序而言),先输入用户们注册名(相同约束的用户填到同一个框中),再输入安全性规定,可以规定某些字段对他们隐蔽,也可以用i,u,d分别表示录入许可、修改许可与删除许可。如果每填某用户的约束,则不约束其任何操作。 工具类部件14用于定义单记录维护界面中字段的外观属性,包括高、宽、距窗口左边距离、距窗口顶部距离、字号、字体。在数据维护部件1与2中全部可以起作用,在其他单记录维护部件中,只有备注与通用字段的大小设定可以起作用。注意,在定义高度时,目前程序是按行数为单位计算的,例如高5字,实际是5行,越8个字高。请在设置时进行总结调整。 工具类部件15提供对接口参数表1中全部数据的维护。 10.系统管理与维护类部件 工具类部件2提供建立新数据表功能。 工具类部件3提供修改数据表结构功能。 工具类部件4提供建立字典表功能。 工具类部件8提供建立远程数据表功能。该部件可以用于SQL语言辅助教学。 工具类部件9提供对远程表结构维护的功能。该部件可以用于SQL语言辅助教学。 以上二部件的工作需要数据类型.dbf表中数据的支持,如果是Oracle、SQL Server、Access2003之外的数据库,需要选择其上某一种结构,如果皆不合适,可以修改数据类型.dbf表的内容使相适应。 系统管理部件1为用户密码修改程序。 系统管理部件2为公用的代码表维护程序,对在接口参数表1中所给定序号组中登记了的代码表进行数据维护操作。 系统管理部件3为公用的清库程序,清库包括清空数据表或清空表的部分字段二种操作。 系统管理部件4为公用的排序程序。 结束语 本套部件库中的部件只是一个尝试,其全部完成与成熟还需要软件复用技术的爱好者及广大科技人员的共同努力。我们愿和大家一起共同为管理信息系统部件技术的发展而继续努力。 本系统由程学先、程传庆、程传慧研制。本系统的研制得到龚晓明、王富强、陈义、郑秋华、史涵、周金松、叶品菊、曾玲、陈永辉、杨晓艳、刘伟、冯昭昭、王嘉、赵岚、童亚拉、张军、刘玲玲、赵普、张继等的支持与帮助;得到湖北工业大学、武汉大学东湖分校的关心、支持与帮助;还得到许多专家支持与鼓励,特在此一并表示感谢。 需要本软件的同行可以函寄湖北省武汉市江夏区武汉大学东湖分校计科学院程学先,邮编430212,信中说明收邮件的Email地址,我们见信即发。关于这套部件的意见可以在我们在科学网上的博客中刊登,欢迎光临并发表宝贵意见!博客本主题地址: http://www.sciencetimes.com.cn/m/user_content.aspx?id=3853
个人分类: 生活点滴|8029 次阅读|1 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-29 17:14

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部