3. 当“Reorganization completed”消息出现在GeneXus重构窗口中时,点击Close。
Figure 44 GeneXus Reorganization window
自动生成代码
到此为止,我们已经建立了支持原型模型的新数据库。下面我们将用选择的语言为我们的应用程序自动生成源代码。
第十四步:具体和生成代码=====建立命令(Build Command)
在这一步,我们将为我们的原型模型生成代码。要这样我们就要用建立命令。 本步要点 1.具体化:进程在原型和生产模型中为每一个GeneXus对象生成一个具体的文件。这个具体文件在一个中间语言描述了GeneXus对象行为,这种中间语言独立于应用程序目标语言。这种文件有一个“spc”的扩展。对于每个具体文件,GeneXus生成一个描述对象逻辑的具体的报告(在下一步被覆盖)并且显示显示警告或者错误。一旦对象(或者对象的设置)被具体化,分析家总是告诉GeneXus生成应用程序。 2.生成:用在原型或生产模型中选择的语言,进程将会为应用程序生成源代码。它是基于具体文件信息生成的。 1. 在Build菜单上,选择Build All。你也可以在模式工具条上单击Build All。
Figure 45 Model Toolbar
第 36 页 共 77 页
2. 选择我们将要用的具体化类型:Check specification。
3. 选择其它选项:Specify & Generate。
4. 单击OK。
Figure 46 Build All dialog box
第十五步:查看具体化报告 本步要点 具体化报表描述了程序如何执行,哪个表被访问(和方式)和它所要显示的操作符。 事务程序能够使终端用户从数据库中插入,更新,删除记录。他们要确定主键的唯一性,参照完整性和记录锁定时句柄。不用你写任何语句。 保证参照完整性暗示了防止由于更新的原因造成数据冲突,例如: ? 删除父记录一并删除子记录。 ? 不用插入父记录而直接插入子记录。
GeneXus显示了由一系列向导报表所组成的具体报表,每个程序都会生成。
第 37 页 共 77 页
Figure 47 Customer Transaction
Navigation Report
“Referential Integrity controls on delete”意味着当你从顾客事务中删除一个顾客时,程序将检查那个顾客是否有相关联的发票。为了使查询更有效率,发票表的外索引将会被应应用。
Figure 47 Customer
Transaction Navigation Report
在发票事务中的参照完整性:在发票级别的顾客编号外键意味着,当你用发票事务插入或更新发票时,他将自动检测输入值是否则在顾客表里存在,这是通过外键顾客编号检测的。为了使查询更有效率,发票表的外索引将会被应应用。
参照完整性检测输入的属性是否合法(例如在发票中的顾客编号),但是他并不提供在哪里这些值是合法的。为了方便查找合法的值,GeneXus建立了Selection List对象来提供完整的合法值。
第 38 页 共 77 页
添加到你的解决方案里的Selection List对象是:
? Selection List Invoice
? Selection List Level1 ? Selection List Customer
全部功能原型
到目前为止,我们设计了应用程序(第一到第九步)作为一组事务对象,它反映了真正的对象。GeneXus自动生成了支持我们数据环境的最好数据模型。然后我们为原型应用程序建立了一个新的数据库(第十到十二步)。最后,我们具体化和生成了我们原型应用程序的源代码(第十三到十四步)。现在我们开始在我们的原型环境中测试我们的程序。
用GeneXus原型化你的应用程序
你可以定义很多类似于设计的原型模型和生产模型。虽然两个模型类型支持关系的特征是相同的,但仍要强烈建议你为每一个生产模型定义最少一个原型模型。
为什么要顶以生产模型?
设计进程有很多人为交流上的缺陷: 用户忘记必须的事情。 ? 分析家没有注意些问题
? 用户传达一些错误的方法。 ? 分析家曲解了一些用户的说明。
原型模式通过一些方式减少了执行上的一些缺陷:
? 如果没有原型,设计上的一些问题将会在系统的最后测试阶段被检测出来。在这个阶段的解决成本是非常高的。
? 如果实体改变,当系统被执行的话,系统的具体化被冻结是不合理的。
? 在设计阶段被冻结的具体化将会导致不合理的解决方案。 ? 原型化在设计和系统执行阶段的架起了桥梁。
第 39 页 共 77 页
GeneXus原型是一个准备工作的应用程序,它的功能等同于最后的生产应用程序。原型可以在PC环境中运行,可以在任何选择的平台上运行。GeneXus能够生成以下语言的代码:C# ,Java, C/SQL, Cobol for iSeries,RPG for iSeries, Visual Basic, 嵌入式Visual Basic和 Visual Fox Pro。原型模型能够在放到生产模型之前测试应用程序的功能。你的终端用户可以简单的测试屏幕,报告,公式,商业规则和数据结构等。 原型地工作的组成部分: ? 管理和原型模式相联系的数据库。 ? 为了评估执行原型模式。 第十六步:运行你的应用程序 1.在Build菜单上,点击Run。你可以在模式工具条上点击Run快捷键(右边的最后一个按钮),或者直接按F5。
Figure 50 Model toolbar
2.在执行对话框中点击Complie运行你的应用程序。
Figure 51 Execution dialog box
第 40 页 共 77 页