《Access 2007开发指南(修订版)》一一1.8 Access应用程序的开发过程

1.8 Access应用程序的开发过程

Access 2007开发指南(修订版)
许多开发人员认为,Access是一个快速的应用程序开发环境,因此在创建应用程序时,没有必要进行系统分析和系统设计。对于这一点,笔者并不赞同。如本章前面所述,Access应用程序看起来比较容易创建,但如果规划不当,也会带来灾难。

1.8.1 任务分析

Access应用程序开发过程的第一步就是进行任务分析,也就是考虑在用户工作的时候会发生的每一个过程,这是一件麻烦而必要的工作。当笔者第一次受聘于一家大型公司在大型机上作编程工作的时候,他们就要求对任务列表进行仔细的任务分析。那时,必须找出系统中的各个用户为了完成日常工作要做些什么,还要描述各个过程,并决定一个任务到另一个任务之间的流向,同时又要将各个用户的各个任务与其他任务,以及系统内其他用户的每一个任务联系起来,并且要将任务与对象挂钩。虽然如今快速的应用程序开发环境和创建技术日益流行,而且在开发过程中这个步骤好像有点过时了,但是,要是这一步完成得不好,或者从某种意义上说根本就没有做,那么将有可能对应用程序进行大规模地返工。

1.8.2 数据分析和设计

在分析和描述了系统中的所有任务之后,就进入了应用程序的数据分析和设计阶段。在这个阶段,用户必须找出要完成各个任务需要的相应信息。这些数据元素必须指定给各个对象,每个对象在数据库中将成为一个唯一的表。例如,一个对象可以就是一个客户。这样,与客户相关联的各个数据元素(名称、地址、信用限额及其他有关系的信息)将成为客户表中的各个字段。

用户应该为每个数据元素指定以下内容:

合适的数据类型;
所要求的大小;
有效性规则。
还要决定各个数据元素是否可以更新,以及它们是通过输入得来还是通过计算得来。然后要确定自己表的结构是否规范化。

规范化的应用
按照一系列规则对表的设计进行测试的过程就叫做规范化,这一系列规则用于确保应用程序进行尽可能有效的操作。这些规则是基于集合理论的,它们最先由Dr.E.F.Codd提出。虽然学习规范化也许要花上几年的时间,但是它的基本思想是一目了然的,那就是以尽可能少的数据操作和编码来实现应用程序的有效运行。第3章会详细介绍规范化和数据库设计。本章只介绍其中的6条基本规范化规则。

(1)字段原子化。也就是数据的各个部分应该尽量分开。比如,不应该泛泛地创建一个叫做“名字”的字段,而应该为其创建两个字段,即一个“名”和一个“姓”。这样处理使得数据的操作变得非常简单。例如,要是想只以名(而不管姓是什么)来排序或搜索,那么做了以上处理之后,就可以节省很多开销。

(2)每个记录应该有一个唯一的标识符,以便能够安全地识别各条记录。例如,如果要改变客户信息,就必须确保所改变的信息与适当的客户发生了正确的联系。这个唯一的标识符叫做主键。

(3)主键是一个字段或几个字段,它用于唯一地标识相应的记录。有时候需要指定原有的字段作为主键。例如,在员工表中,社会保险号码应该用来为系统标识员工。但是在有些时候,又需要创建一个主键。例如,要是两个员工具有相同的名字,那么员工名就不能为系统独立地标识员工。这时就有必要创建一个字段,使它成为员工的一个唯一标识符,比如说可以创建一个客户ID。

(4)主键应该比较短小、稳定而简单。短小是指它的尺寸应该比较小(不应该是50个字符这么大的字段)。长整型数据对于主键是极好的。稳定意味着主键的字段值应该很少变动或者说不变动。例如,客户ID较少改动,而一个公司的名字变化的概率则比较大。简单说就是要让用户容易操作。

(5)表中的每个字段应该提供主键所标识记录的其他信息。例如,客户表中的各个字段应该描述具有特定客户ID的客户。

(6)表中的信息不应该在多个位置出现。例如,一个特定客户的名字就不应该出现在多个记录之中。

例如,图1.15所给出的数据表是一个没有规范化的表的例子。请注意,CustInfo字段针对各个订单进行了重复,因此,如果客户地址发生了变化,指定给相应客户的每个订单其地址也会发生改变。换句话说,CustInfo字段没有实现原子化。如果用户想以城市名排序,则行不通,因为城市名处在CustInfo字段的中间。如果订货清单的项目名称发生了改变,则必须对有该订货清单项目的每条记录进行修改。在这个例子中,问题就出现在订购的项目上。在这个设计过程中,可能需要为每个客户订单项创建4个字段,即姓名、供应商、数量和价格。这样设计以后,要想为用户创建他们所需要的销售报表和其他报表是相当困难的。

图1.16所示的是经过规范化的同样的数据。请注意,这时候它们分成了好几个不同的表,即tblCustomers、tblOrders、tblOrderDetails和tblSuppliers。tblCustomers表只包含与特定用户相对应的数据。

每条记录均由所设计的CustomerID字段单独标识,而这个字段又用于将表tblCustomers和表tblOrder联系起来。tblOrders表包含的信息只针对于整个订单,而不针对于客户订购的各个项目。这个表包含了那些具有订单和订单日期的客户的CustomerID,而且它通过OrderID与表tblOrderDetails发生联系。tblOrderDetails表持有针对特定OrderID所订项目的信息。

在这里,可订购项目的数量没有限制。想订购多少项目,就可以订购多少项目,因为这时只须在tblOrderDetails表中多添加一些记录。最后,供应商信息也放在一个唯一的表(tblSuppliers)中,这样,供应商的信息发生改变时,只有一处会变动。

1.8.3 原型开发

与以前使用大型机的时候相比较,虽然应用程序开发的任务分析阶段和数据分析阶段并没有多大改变,但是,原型开发阶段发生了很大的变化。在对大型机进行操作时,用的是基于DOS的语言,那时对各个屏幕和报表开发详细的规范是很重要的。这种情况下,稍作改动,比如说在屏幕上移动一个字段,则意味着一场大的改变,这时往往又得工作几个小时。在用户对屏幕和报表的规范发表看法后,开发人员又得花上几天时间埋头苦干,才能开发出屏幕和报表的规范。而且,当开发人员工作了几个月并把产品交给用户时,用户也许并不完全满意。而这往往意味着开发人员必须回到绘制板前,再花不少时间进行改动,以满足用户对应用程序的要求。

不过,现在这个过程完全不同了。一旦任务描述和数据分析完成之后,开发人员便可以实现对表的设计,并在它们之间建立关系。窗口和报表的原型开发过程便可以随即开始。这时,开发人员不必在与用户交流之前先躲起来开发几周甚至几个月,使用Access向导,只须花上几天时间,便可以快速地开发出窗体的原型。

1.8.4 测试

在没有进行测试以前,用户还不能断定应用程序能做些什么。如果用户的应用程序要在Windows 2000、Windows 2003、Windows XP和Windows Vista的机器上运行,那么应该在所有这些环境下都进行一次测试。测试应用程序应该扩展到最低分辨率的显示器上,因为应用程序可能会在开发人员自己的机器上运行得很好,而在用户的低配置机器上会运行得很慢。

在测试时,既要对应用程序进行部分测试,又要进行集成测试。测试应用程序时,应尽量多组织一些人,并且要确保这些人中有计算机方面的行家,也有对计算机一窍不通的人。这些不同类型的用户可以发现完全不同的问题。千万不要自己独自一人进行测试,因为自己往往找不出自己所开发程序的错误。

1.8.5 程序的实现

到最后,应用程序便可以作为产品发行了,但是,应该先将应用程序发行给少量的用户,并让他们知道这是进行测试。要让他们意识到他们是系统的第一批用户,这自然是一件引以为荣的事,但也要告诉他们问题可能随时发生,而且他们也有责任将遇到的问题反馈回来。如果一开始就大范围地发行应用程序,而结果证明操作不正常,那么将完全失去用户对您的信任。这就是要慢慢发行应用程序的原因。

1.8.6 维护

由于Access是一个快速的应用程序开发环境,因此,它所开发的应用程序要求维护的时间比基于DOS开发的应用程序要求维护的时间要长。用户的要求一般是很高的,开发人员的水平越高,他们的要求就越高。不过,对咨询人员来说,这倒是一件好事。当然,也应该具体情况具体分析,因为应用程序的作用范围在不断改变,不能将自己局限于一种情形,从而走入死胡同。

维护包括3种类型:错误修正、规范改动和问题解答。错误修正必须尽可能快地进行。规范改动的意义应该清楚地解释给用户,在进行所要求的改动时要涉及到时间和费用这两个方面。在对问题进行解答时,应该多召集一些用户,告诉他们如何优化窗体和报表,使他们能更灵活地使用应用程序并对它进行开发。当然,应用程序的最终目标就是给尽可能多的用户带来便利。

时间: 2024-11-08 21:46:48

《Access 2007开发指南(修订版)》一一1.8 Access应用程序的开发过程的相关文章

《Access 2007开发指南(修订版)》一一1.6 对象命名约定

1.6 对象命名约定 Access 2007开发指南(修订版)不管是在Access中,还是在其他编程语言中,都应该遵守一组命名约定,而且要持之以恒,这是成功开发的关键.在确定命名约定时,应该考虑以下3个原则: 容易使用:可读性好:广为开发人员所接受.本书中使用的命名约定来源于Leszynski/Reddick命名约定,它们主要应用于Access的版本1.x和2.0之中.这些标准应用很广,而且被开发领域广为采纳,在前几年流行的大多数开发书籍和杂志当中,均可以找到它们的身影.这些约定为上述环境的对象

《Access 2007开发指南(修订版)》导读

前言 Access 2007开发指南(修订版) 现在,有关Access的好书已经有很多了,我为什么还要写一本呢?这是因为当我在全国各地提供咨询服务时,许多学生都提出下面的看法.现有的Access读本要么针对普通用户群体,要么针对专家级的Access开发人员,而他们需要的则是介于这两者之间的,用于将自己提高为高级开发人员的Access书.他们需要的这种书要从基础讲起,而且要保证与他们的知识相衔接,他们还要求学习Access开发的高级技巧.在这个过程中,他们还想学到实用的代码,以便在编写自己的应用程

《Access 2007开发指南(修订版)》一一1.9 Access 2007的新功能

1.9 Access 2007的新功能 Access 2007开发指南(修订版) Access 2007添加了大量新功能,它们都值得一看.虽然Microsoft将许多这些功能定位于终端用户,但是在产品中还是有许多其他有用的改进.接下来的章节提供了这些新功能的概况.本书的适当章节还会详细介绍每个功能. 1.9.1 用户界面的新功能 Access 2007的用户界面是经过重新设计的.Microsoft公司作出这样的改变,是为了帮助用户在需要某些命令的时候,方便地找到它们.以前许多功能深藏在Acces

《Access 2007开发指南(修订版)》一一2.2 创建新数据库

2.2 创建新数据库 Access 2007开发指南(修订版) 在通常的术语中,数据库是存储信息的集合.Access数据库由表.查询.窗体.报表.数据访问页面.宏和模块构成.数据库中的每个表都应该包含有关某个特殊主题的信息.使用查询可以从一个或更多表中抽取指定的信息.窗体和报表提供了显示数据的方式.最后,利用宏和模块可以生成一个内置的应用程序. 当创建Access应用程序时,必须采取的第1步是执行必要的分析和设计步骤.1.8节介绍了这些初始的步骤.在有了设计文档之后,就可以准备建立数据库了.用户

《Access 2007开发指南(修订版)》一一1.10 Access 2007中的其他新特性

1.10 Access 2007中的其他新特性 Access 2007开发指南(修订版) Access 2007极大地增强了导入和导出功能.例如,现在可以导出到PDF和XPS字段:也可以保存导入和导出的具体规范,这样用户以后就可以重复使用它.在第20章中将介绍这些功能. Access 2007和Outlook 2007是紧密地结合在一起的.可以使用Outlook 2007收集和更新数据.当使用新的"数据收集"功能时,Access 2007会自动创建一个Microsoft Office

《Access 2007开发指南(修订版)》一一2.5 字段属性操作

2.5 字段属性操作 Access 2007开发指南(修订版) 在表中添加了字段之后,就应该自定义它们的属性.可以使用字段属性来控制数据的存储方式,以及什么样的数据可以输入到字段当中.根据所选定字段类型的不同,字段的属性也会有所不同."文本"字段类型的字段属性列表具有一定的代表性(如图2.8所示).以下各节就专门讨论各个字段属性. 2.5.1 字段大小:限制对字段的输入 第1个属性是字段大小,它只适用于文本和数字字段.如前所述,应该使字段大小尽可能小.对数字字段来说,字段越小,对存储空

《Access 2007开发指南(修订版)》一一1.7 硬件要求

1.7 硬件要求 Access 2007开发指南(修订版) Aceess的一个不足之处就在于它对硬件资源的要求太高.这种要求对开发人员和最终用户来说是不一样的,因此,将系统要求分成两个部分来讨论.当用户在接触到这些要求时,请注意实际要求和推荐要求之间的区别. 开发人员的系统硬件要求 根据文档说明,以下是运行Aceess 2007所要求的最低配置: 主频大于500MHz的处理器: 带有Service Pack 2的Windows XP.带有Service Pack 1的Windows 2003或者

《Access 2007开发指南(修订版)》一一1.5 什么是数据库对象

1.5 什么是数据库对象 Access 2007开发指南(修订版) 正如前面所提及,Access的数据库由表.查询.窗体.报表.宏和模块组成.这些对象都有自己特定的功能.Access环境还包括好几个杂项对象,包括关系.数据库属性和导入/导出规格.有了这些对象,就可以创建功能强大的.用户友好的集成应用程序.图1.1所示的是Access的应用程序窗口.请注意,在"导航窗格"中列出的对象类别.以下各节对Access数据库的各个对象进行解释. 1.5.1 表:数据的仓库 表是应用程序的起点.不

《Access 2007开发指南(修订版)》一一2.4 为数据选择适当的字段类型

2.4 为数据选择适当的字段类型 Access 2007开发指南(修订版) 为各个字段选择的数据类型对应用程序的性能及其功能有很大影响.以下几个因素会影响到对表中各个字段数据类型的选择: 字段中所存储的数据类型: 字段的内容是否需要包含在算式中: 是否需要按字段的数据进行排序: 按字段的数据进行排序的方式: 存储空间对用户来说是否特别重要. 需要在字段中存储的数据类型对数据类型的选择影响最大.例如,如果要存储以0起始的数字,那么就不应该选择"数字"字段,因为输入到"数字&qu

《Access 2007开发指南(修订版)》一一1.11 额外的提示和技巧

1.11 额外的提示和技巧 Access 2007开发指南(修订版) 在操作Access 2007时,有一些额外的提示和技巧值得用户注意.例如高级"导航窗格"技巧和操作多值字段的过程.下面一小节将详细讨论这些话题. 1.11.1 高级导航窗格技巧 Access 2007具备一些值得注意的极好的"导航窗格"技巧,包括创建自定义类别和组的能力,在类别中显示或隐藏组或对象,以及在自定义组中移除和保存对象.下面以创建自定义类别开始介绍,具体操作步骤如下所述: (1)右键单击