《佐尔企业应用开发平台》 (300分)

龙丹

Unregistered / Unconfirmed
GUEST, unregistred user!
我们在多年开发实践中经过“积累-升华总结-再设计—再应用”的多次迭代过程,逐步完善,开发了一套通用的辅助开发平台,该平台的主要用途是辅助开发以企业管理类软件为主的企业应用软件。
该软件的中文名称,基本上已确定,即《佐尔企业应用开发平台》,现征求英文名及其简称和中文简称。
公司内部的主要意见是在ZuoerEAP、ZuoerEAD、ZuoerEADP、ZuoerERP中选择,相应的中文简称在 佐尔易普、佐尔易得、佐尔易得普、佐尔ERP、佐尔平台中选择。
以下是软件的简介:
......
ZuoerEAD是佐尔企业应用开发平台的简称,是由新疆佐尔软件开发有限公司自主开发的一套功能齐全、可任意定制、快速构造企业应用软件的综合性开发平台。
ZuoerEAD的程序系统分为两大部分:应用系统框架(Application Frame,AF)和开发工具(Aided Development Utilities,ADU)。AF作为最终用户将要运行的应用系统的原型,开发人员使用ADU对AF进行定制和二次开发,形成最终应用系统,维护人员使用ADU对AF进行维护。
一. 软件结构
 模块层次结构
ZuoerEAD是按层次模块化结构实现的,系统包括主控程序、业务模块、基本业务功能模块、应用服务中心、应用服务模块、开发工具和底层支撑模块等类模块,分属四个层次,高层模块建立在低层模块之上,底层支撑模块是整个系统的基础。
各类模块之间的依存关系如下图所示:
(这里的图...)
 系统组成结构
ZuoerEAD的系统组成部件及相互关系如图所示:
(这里的图...)

 应用系统逻辑结构
ZuoerEAD为目标系统设计的逻辑结构如下图所示:
(这里的图...)
 

龙丹

Unregistered / Unconfirmed
GUEST, unregistred user!
二. 功能概览
(一) 底层支撑模块
底层支撑模块是ZuoerEAD的基础和核心部分,物理上包含大约20个包,350个源程序文件,30万行源程序代码。
底层支撑模块建立各种程序控制和数据访问机制,搭建应用系统目标框架,实现多种通用子系统和若干常用构件,融合在整个系统底层模块中,为应用模块实现各种高级功能打下了坚实的基础。
1. 对象库管理子系统
ZuoerEAD是采用OOP方法实现的,系统中存在着了大量对象,为了能够利用文件和数据库等存储设施来存取千差万别的各种软件对象,系统中设计了一套通用的对象存取机制,使得ZuoerEAD的所有软件对象都可以存储到流中。
在对象存取子系统的基础上开发了对象库管理子系统,以树型目录结构管理存储在各种介质中的对象。ZuoerEAD的用户信息库、系统配置信息库和个人配置信息库都是对象库。
对象库管理子系统还建立了对象接口模块(OIM)规范,使ZuoerEAD当前和将来开发的任何对象都可通过提供相应的OIM来纳入对象库管理子系统进行统一管理。
2. 数据存取子系统
系统内建一套通用的数据库访问机制,使得应用系统可以用相同的方式访问不同类型的数据库(Oracle,SQL Server,Sysbase,Interbase,...),同时支持多种不同的连接方式(BDE,ADO,ODAC,DBX,SOAP,...),从而大大地提高了系统的适应范围。
数据存取子系统还包括通用的数据库数据输入输出转换管理器,应用系统可轻松地实现各种不同数据源之间的相互转换,如:数据集-文本文件、数据集-其它数据库中的数据集、数据集-Excel工作表等等。
3. 应用服务器管理子系统
在应用服务器管理子系统中设计了一套灵活、安全的应用服务器协调管理模式,使应用系统可以方便地建立起多层体系结构。在这种管理模式下,多种不同功能的应用服务器可在网络中协调一致地工作,同一功能的应用服务器可在网络中不同的节点上协同工作,从而达到平衡网络负载的目的。
4. 流程控制子系统
流程控制子系统包括流程控制规范,流程脚本语言,支持流程控制规范的流程控制引擎以及解释流程脚本语言的流程语义解释器,是实现高级流程控制的基础。
5. 表达式处理子系统
表达式处理子系统,可以对文本形式的表达式进行翻译和运算,表达式文本的最大长度可达2G,支持宏引用,支持加、减、乘、除、乘方、逻辑乘、逻辑加、子串检测、格式化、变量定义、以及各种关系运算共16种运算符,支持常量、变量、数据库字段和函数等多种类型的操作数。可任意扩充的函数体系目前定义了二百多个功能强劲的函数,通过这些函数可访问报表数据、数据字典、操纵数据库(如执行SQL语句、在数据集中定位等)、存取程序内部对象的属性等。
 

龙丹

Unregistered / Unconfirmed
GUEST, unregistred user!
佐尔表达式处理子系统是一个解释型语言处理系统,不仅具有上述运算功能,还具有运算流程的控制功能(包括顺序、分支和循环),有了这个子系统,应用系统的灵活配置功能就可轻松实现,使开发人员从频繁的业务规则变更中解脱出来。
6. 宏处理子系统
宏处理子系统,可定义宏变量,可在字符串文本中包含宏引用。宏处理子系统对包含宏引用的字符串或字符串表进行宏扩展,在宏引用中还可包含佐尔表达式。通过使用宏处理子系统,可使应用系统实现一般系统难以实现的灵活处理功能。
7. 扩展SQL脚本处理子系统
ZuoerEAD拟定了一套SQL脚本语法草案,在标准SQL语句的基础上增加许多实用功能,可包含宏定义和宏引用,条件执行和循环执行等。扩展SQL脚本处理子系统包括SQL脚本解释器和SQL脚本生成器。脚本解释器对SQL脚本进行解释,翻译为标准的SQL语句后再发送给数据库服务器执行。SQL脚本生成器协助用户生成SQL脚本。
8. 数据字典管理子系统
佐尔数据字典管理性子系统是一个主动式数据字典管理子系统,数据字典在应用系统的整个生命周期都具有重要的作用:根据数据字典自动创建应用数据库,并可主动地将数据定义的变更反映到应用系统中。ZuoerEAD对应用数据的处理都是以数据字典为基础的。
9. 报表子系统
佐尔的报表子系统是一套功能十分强大的专业报表处理子系统:一个报表中可引用任意多个数据集,数据集的类型可以是表、SQL脚本、多层模式中的客户数据集等。数据的摄取采用了佐尔表达式,可对原始数据进行任意加工。对数据的表现方式包括普通文本、格式文本、表格、图形、图片、OLE对象等,在表格中可根据自定义的条件生成各种附加行,如页计、季度小计、合计等,利用货币格式化函数可实现各种票据的全打和套打,甚至可以根据条件自动设置各个报表对象的字体、颜色、底纹、各边框线型、粗细和颜色等,尤其适合处理格式复杂的报表。
多个报表可有机地结合为组,从而形成完整的报告。
应用系统可通过函数接口调用来打印/预览报表,也可通过模块装配子系统将报表挂接在业务模块界面中。
10. 查询子系统
ZuoerEAD实现了一套简单实用的查询处理子系统。一个查询对象包括一个SQL脚本和一个或多个查询结果数据集浏览器,查询子系统首先执行SQL脚本,然后以设定的浏览器表现查询结果。在SQL脚本中可包含动态输入参数,在执行SQL脚本之前由用户输入。
应用系统可通过函数接口调用来执行查询,也可通过模块装配子系统将查询挂接在业务模块界面中。
 

龙丹

Unregistered / Unconfirmed
GUEST, unregistred user!
11. 模块装配子系统
模块动态装配子系统是支持“佐尔开放式柔性软件结构”的核心内容。应用系统的基本业务功能模块可独立开发,通过模块装配子系统可将这些模块任意挂接到主程序或其它模块的操作界面中。ZuoerEAD各个模块的主窗口,天生就具备组装和执行各种模块的功能,可组装的模块类型包括基本业务功能模块(.DLL)、.EXE文件、查询、报表打印/预览、资料或网址、帮助文件和帮助命令等。
12. 用户权限管理子系统
用户权限管理子系统,可控制用户对系统各种资源的访问权限,包括程序模块运行权、程序界面功能操作权和数据访问权。ZuoerEAD的所有模块都只有授权的用户才能运行;通过调整操作权,同一个程序模块对不同的用户可呈现不同的操作界面、具有不同的功能;用户对数据的访问可通过数据访问权实现表、记录和字段级的限定。
13. 数据标识子系统
ZuoerEAD支持分布式数据库,数据标识子系统自动生成和维护数据库记录的唯一标识,可实现在分布式数据库环境下数据标识的全局唯一性,并为跨地区应用系统的“编码重复”难题提供了一套有效的解决方案。同时,数据标识子系统也为分布式数据库之间的数据同步复制提供了基础。
14. 多语言支持子系统
多语言支持子系统包括一套多语言版本开发规范和一套通用的多语言支持引擎。利用这个子系统,只需要进行简单的设置,即可使应用系统具有同时支持多种语言的特性。
15. 加密子系统
加密子系统包含多种低级加密例程、高级加密组件、机器码生成、注册码生成、软件功能/时间/次数限制等功能,是实现共享软件注册的基础。
16. WWW发布控制子系统
WWW发布控制子系统的核心是一套信息发布规范和支持该规范的信息发布引擎,在网站架构中,引入该发布引擎,可实现各类信息的动态发布。配合开发工具中的WWW发布控制台,即可在系统运行期间有效地控制系统发布的信息内容和用户访问权限。
17. 外围数据收发子系统
应用系统不是孤立的系统,通常会与外界进行数据交换。外围数据收发子系统是一套通用的数据交换处理系统,采用多层体系结构可在网上交换数据,也可通过软盘、邮件等其它方式交换数据。要从外围获取的数据或要收集来向外提供的数据,如果数据已经存在,则可自动提取,否则系统自动生成数据录入界面,由数据提供者录入数据。
18. 自动更新子系统
自动更新子系统内建的网上文件同步机制,可向客户端自动发布执行软件所需的所有文件,并使客户端在必要的时候自动下载更新后的文件。
19. 消息处理子系统
消息处理子系统内建局域网消息通讯规范,通过UDP协议在网上传递和响应各种消息,包括人员状态变更通告、数据更新通知等。消息可以手动发送,也可定时发送或在满足条件时自动发送。在应用系统开发过程中,可根据具体需求利用开发工具定制需要发送和响应的消息。
20. 其它常用程序资源
在底层支撑模块中,还包括大量程序资源,如:
环境信息访问、文件处理、数据转换、字符串处理、日志处理等通用常规例程;自动版本检测例程;时间及业务时间支持例程;程序运行轨迹和路径支持例程;多种流对象、字符串链表、INI文件对象、裁剪板对象、语法解析器、打印机对象、屏幕对象、基础窗体对象等多种基础类的功能扩展;栈、集合编辑器、通用目录树、通用对象属性编辑器、通用时间编辑器、通用进度指示框等常用工具;大量界面类、数据感知类和其它实用组件等等。
这些资源大多数都经过反复测试,并在多个应用系统中使用,比较稳定,若在应用系统开发过程中充分利用这些资源,将可在很大程度上提高系统的开发效率,也可增强系统的稳定性。
 

龙丹

Unregistered / Unconfirmed
GUEST, unregistred user!
(二) 应用服务中心
ZuoerEAD中的应用服务中心,主要是指三层架构中的中间层部分,由一个通用的应用服务器(应用服务中心)和若干应用服务功能模块组成。
1. 应用服务器ZRAppServer
应用服务器是采用目前业界最新技术WebService开发的,是一个与具体服务内容无关的通用服务器模块,内建具体服务模块的挂接接口和与其它服务器模块的通讯接口,提供了用户连接管理功能和负载平衡功能。
2. 对象库服务模块ZRAS_OL
这是按照应用服务中心的服务模块接口规范开发的服务模块,主要是提供存取对象库的一系列服务功能。
3. 数据库访问服务功能模块ZRAS_DB
提供数据库访问相关的一系列服务功能。
4. 自动更新服务功能模块ZRAS_AU
提供自动更新的相关服务功能。
5. 数据标识服务模块ZRAS_DID
提供数据标识自动生成相关的服务功能。
6. 消息处理服务功能模块 ZRAS_Msg
提供消息通讯相关的服务功能。
 

龙丹

Unregistered / Unconfirmed
GUEST, unregistred user!
(三) 基本业务功能模块
ZuoerEAD中的业务模块,一般都是由基本功能模块通过模块装配子系统组装而成。ZuoerEAD提供了若干通用的基本业务功能模块,利用这些通用基本业务功能模块可装配出多种业务模块,可满足一般的管理系统应用需求。只有当基本功能模块及其组装的业务模块不能满足特殊的业务需求时才需要开发专用的业务功能模块。
ZuoerEAD提供了以下通用基本功能模块:
1. 数据记录编辑器 ZRDBRE.DLL
编辑数据记录的通用基本功能模块。根据参数设置,可同时编辑/显示多个表的当前记录的内容,编辑格式根据数据字典的描述信息动态地生成。可与宿主窗口实现无缝连接:可直接编辑宿主窗口打开的表的当前记录。对于“编码引用”类字段,可跟踪进入相应的编码表。
2. 表格数据编辑器 ZRTabGrid.DLL
以表格形式显示数据库表的内容,并提供常规数据维护功能,适用于处理单个数据表。
通过参数设置可限定操作功能、限定可显示和可编辑的字段和记录,根据数据字典中的设置,可从记录编辑器嵌套进入相关编码表(跟踪参考链),新增记录时可自动初始化字段数据,窗口标题和功能按钮的提示信息都可通过参数设置使之与操作对象更贴切。
3. 树型数据编辑器 ZRTabTree.DLL
以树状形式显示数据库表的内容,并提供常规数据维护功能,适用于处理按树形结构建立的数据表,如组织机构数据表等。
可处理单表、双表和三表的树结构,同时具备表格数据编辑器的各种特性。
4. 数据库文档编辑器 ZRDBDOC.DLL
可以编辑存储在数据库中的多种不同格式的文档资料,包括普通文本文档、格式文档、图片、HTML等。
5. 组合式数据处理窗口 ZRDBW.DLL
组合多种数据表现形式,在一个窗口中显示一个或多个表的数据,并提供常规数据处理功能。这个模块可将表格数据编辑器、树型数据编辑器和记录编辑器等多种数据处理模块组合到一个窗口中,这是系统中最实用的一种数据处理模块。
6. 数据输入输出转换模块 ZRDBIO.DLL
将数据库中的数据导出存入文本文件、其它数据表、Excel工作簿等,或者从文本文件、其它数据表、Excel工作簿等导入数据存储到数据库中。
7. 内部即时通讯模块 ZR_ICQ.DLL
凡是登录到系统的用户可以使用该模块互相交谈,也可以留言给没有在线的用户。
8. 报表打印模块
打印输出预先定制的报表,报表中可以引用宿主窗口中当前打开的数据集、定义的变量和宏。
9. 报表预览模块
在屏幕上显示预先定制的报表,报表中可以使用宿主窗口中当前打开的数据集中的数据、定义的变量和宏。
10. 查询执行模块
执行预先定义的查询,以多种形式输出查询结果。查询的SQL脚本中可通过宏引用来使用宿主窗口当前打开的数据集中的数据、定义的表达式变量和宏。
11. 网页和资料显示模块
用系统缺省浏览器打开指定地址的网页或用文档的缺省打开方式打开指定的文档。通过这个模块可从应用系统中打开浏览器浏览网页或打开WORD浏览/编辑文档。
12. 帮助命令执行模块
打开帮助文件、执行帮助命令等。
13. 外部程序执行模块
执行任意的可执行程序。
14. 内部命令执行模块
执行ZuoerEAD定义的多种内部命令,包括模块装配、用户登录等。
 

龙丹

Unregistered / Unconfirmed
GUEST, unregistred user!
(四) 开发工具
开发工具是提供给开发人员的一套高效的工具软件,使开发人员在开发过程中能减小工作量,提高工作效率。以下是本系统提供的主要的开发工具:
1. 佐尔对象库管理器 ZROLM
佐尔对象库是ZuoerEAD专用的一种面向对象的数据存储设施,以操作系统的文件为存储介质,用来存储系统中定义的各种软件对象。佐尔对象库按树型分组方式管理对象,存储了对象分组目录树(对象结构树)、树中各节点(对象组)的对象清单和对象实体(对象的内部属性数据)。
ZROLM是为建立并维护佐尔对象库而专门开发的维护工具。这是一个高度开放的模块化软件,对于各种具体的对象,其定义、属性编辑以及其它任何处理功能,都可由外挂的对象接口模块(OIM)来实现。
系统实现了大约20个对象接口模块,如用户权限、系统配置、模块描述、流程定义信息、报表、查询等诸多对象的设置工具都在这些OIM中提供。
2. 佐尔数据字典管理器 ZRDDM
佐尔数据字典管理器是维护应用系统数据字典的工具,系统开发人员和系统维护人员使用此工具为应用系统创建数据字典,在数据字典中对应用系统的数据进行定义,并在DBMS中创建数据库对象,这是利用ZuoerEAD开发目标系统不可缺少的重要工具。
3. 佐尔SQL脚本测试程序 ZRSQL
这是一个可执行标准SQL和佐尔SQL脚本以及对佐尔表达式进行翻译、计算的工具,这个程序既可以C/S方式直接与数据库服务器连接,也可通过中间层的应用服务器与数据库连接,是开发人员和维护人员的常用工具。
4. 佐尔帮助文号标注程序 ZRHCM
这是在程序外部对可执行文件和源程序文件直接标注帮助上下文号的实用工具,使用这个工具可最大限度地降低帮助系统与源程序的耦合度,提高开发效率。
5. 表达式资源显示模块 ZRExpForm
这是显示应用系统当前可用表达式资源的可装配模块,可将这个模块同时挂接在应用系统的任何模块中,开发人员和系统维护人员可通过此模块准确了解系统运行在各种状态下的可用资源,包括变量、函数、宏、打开的数据集及其字段等信息,是调试业务模块、设计/修改报表和查询的得力助手。
6. 可执行文件资源浏览程序 ZRVRSC
这是查看/修改可执行文件资源工具,可显示NE/PE文件中的各种资源,并可对某些资源进行修改。
7. 其它小工具
还有若干小工具也在应用系统的日常开发工作中常常使用,如:佐尔更新拷贝程序 ZRCopy等。
 

龙丹

Unregistered / Unconfirmed
GUEST, unregistred user!
三. 技术特点
 独创的“佐尔开放式柔性软件结构”使目标系统在整个生命周期都可以随时对软件结构做出调整,确保系统满足业务需求的不断变更,尤其适宜于企业体制和部门功能的多变性;
 先进实用的流程控制系统支持复杂业务逻辑的定制,既可用于单个界面内的流程控制,也可用于企业各部门网上的协同工作流程的控制。
 采用两层及多层C/S、B/S混合体系结构,充分发回C/S结构的灵活性和B/S结构的易用性;
 企业应用服务中心为不同的应用提供不同的服务,协调网络负载;
 简单实用的业务模块接口标准,开发人员可以充分利用已有的软件资源,编写特殊的业务处理模块,以满足特殊的业务需求,并与ZuoerEAD有机地融合为一体;
 主动式数据字典允许数据库在系统整个生命周期中随时灵活地变更结构;
 通用的数据库访问机制让应用系统可以轻易地连接和访问不同的数据库系统,亦可以多种不同的连接方式(BDE、ADO、ODAC等)访问数据库,应用系统将不再局限于使用某一特定数据库或连接方式。
 功能强劲的报表及查询设计满足严厉上司的苛刻要求;
 用户权限的控制灵活实用,是企业级软件必备功能;
 外围数据收发系统轻松实现企业数据的上传下达;
 WEB页面的浏览可集成为系统查询模块之一;
 软件分层实现(底层支撑模 块、中间层业务模块、顶层系统控制和实用工具模块),开发人员易于酌情切入;
 强劲的表达式处理系统可在系统外部解释复杂的业务逻辑;
 模块装配、流程控制、数据字典、报表、查询的底层支撑、对象属性的枚举机制、通用对象库管理、通用数据编辑界面自动生成、业务时间支持、树型表企业级组件、SQL脚本解释、宏扩展、票据数据格式化、NE/PE资源访问、程序运行路径跟踪、程序运行日志等等,使普通程序员轻易实现梦寐以求的软件高级功能。
 
Y

yyanghhong

Unregistered / Unconfirmed
GUEST, unregistred user!
我见过太多新公司一上来就做这种东西, 但结局都不理想, 在中国, 对于小公司来说拿到项目是最重要的.技术架构可以等有资本后慢慢完善.
 

龙丹

Unregistered / Unconfirmed
GUEST, unregistred user!
四. 应用概况
ZuoerEAD并非一蹴而就,而是在多年开发实践中经过“积累-升华总结-再设计—再应用”的多次迭代过程逐步完善的结果。在上述迭代过程中,以下项目使用了ZuoerEAD在当时的开发成果:
新疆石油局采油工程管理信息系统,1996
克拉玛依住房公积金管理系统,1997
新疆油田采油二厂日生产管理系统,1998
新疆油田采油二厂工资管理系统,1998
新疆油田采用二厂计划管理系统,1998
新疆石油局计划统计综合管理信息系统,1999
新疆油田勘探公司行政管理系统,2000
新疆质检所质检机构管理信息系统(金泰隆质检机构综合管理信息系统),2001
新疆医科大学人力资源管理信息系统,2003
乌鲁木齐民航管理局障碍物评估器,2003
乌鲁木齐民航管理局航行情报整合系统,2003
佐尔小型软件企业综合管理系统(本公司自用的管理系统),2002
以上内容是从简介文档中拷贝过来的部分内容,部分特性还在开发中。
请各位发表意见,英文名及其简称、汉语简称。
 

龙丹

Unregistered / Unconfirmed
GUEST, unregistred user!
yyanghhong:
不要泼冷水嘛!
不过你说的也有道理,如果我们没有基础的话,恐怕想都不敢想。
我估算过,如果完全是在自己开公司以后才从头做起的话,投入至少在200万元以上,而我们现在只要再投入30万左右就可以了。
从另一个方面来说,如果没有本事拿到项目,不做这种东西仍然拿不到,做了还有助于拿到项目。
 
B

bdj

Unregistered / Unconfirmed
GUEST, unregistred user!
不知道这些东东用了多少人、多少时间完成。功能上似乎太过学究气,性能上显然会大打折扣。bug将大量的存在,没有商业价值啊。
 
Y

yyanghhong

Unregistered / Unconfirmed
GUEST, unregistred user!
不知道你是打算卖这套系统给软件公司或程序员, 还是用这个去拉项目.
如果是第一种, 就别想了, 没人肯花这个钱的.
如果是第二种, 就别着急招程序员了, 先弄一本手册和一个很简单的demo, 然后招一堆市场人员, 最好是拿效益工资的. 让他们去找项目. 只招几个兼职的程序员, 或用招聘来做一些人才资料储备.等市场人员拉到项目后, 再动手招程序员也不晚, 用户关心的是功能, 架构什么的他们不在乎.
 
Z

zys1975117

Unregistered / Unconfirmed
GUEST, unregistred user!
有没有试用版呀?
 
J

jopi

Unregistered / Unconfirmed
GUEST, unregistred user!
看来楼主做足了功夫。
就叫佐尔易普吧。
为什么叫佐尔呢?听进来让人不知所云。
 

龙丹

Unregistered / Unconfirmed
GUEST, unregistred user!
yyanghhong:
你的建议很好,非常感谢。
我们目前招程序员是因为手上有项目要做,平台也需要继续开发。
 

龙丹

Unregistered / Unconfirmed
GUEST, unregistred user!
zys1975117:
因为项目一开始的主要定位是作为公司自己的基础平台,所以,没有准备做演示版,不过,政府部门和一些软件公司对此都比较有兴趣,所以,也在考虑与其它软件公司合作的方式,可能会出一些更详细的介绍资料,如屏幕录像等。
 
J

jsxs

Unregistered / Unconfirmed
GUEST, unregistred user!
什麼佐尔呀?
 

龙丹

Unregistered / Unconfirmed
GUEST, unregistred user!
bdj:
这些东东从95年开始到现在,其间陆续不断,最多的时候9人,最少的时候2人。
可能是因为系统过于繁杂,单从几页简介让人无法感知具体内容的缘故,让你感到学究气太重。
实际上,所有的功能都是依据实际应用项目开发中的需求而开发的,实用性是开发的第一准则,应该不会太过于学究气。至于性能方面,从实际应用的情况来看,似乎没有明显感觉。
你说的没错,bug的确大量存在,不过已知的bug绝大部分都已经杀掉了,应用系统每天都在转,系统已日趋稳定。当然,还会出现新的bug,但是,我想,所有的软件都是这样吧。
这个软件的商业价值主要从两个方面来体现:经济效益(即开发应用系统节约的开发成本和维护成本)和社会效益。
 

龙丹

Unregistered / Unconfirmed
GUEST, unregistred user!
jopi,jsxs:
“佐尔”是本公司的名字,新疆佐尔软件开发有限公司,字面意思很好理解啊:助你。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
753
DelphiTeacher的专栏
D
顶部