文档库 最新最全的文档下载
当前位置:文档库 › OB开发手册中文版

OB开发手册中文版

OB开发手册中文版
OB开发手册中文版

OB开发手册中文版

Contents

[hide]1 简介

? 1 简介

? 1.1 开发概述

? 1.2 开发方法

? 1.3 组织开发工作

? 1.4 标识符命名标准

? 1.4.1 数据库元素

? 1.4.2 MVC目录

? 1.4.3 存储过程语法

? 1.5 目录结构

? 1.6 风格指南

? 1.6.1 逻辑比较

? 1.6.2 逗号分隔列表

? 1.6.3 圆括号中的空格

? 1.6.4 SELECT INTO和INSERT INTO

? 1.6.5 SQL关键字

? 1.7 编译程序

? 1.7.1 命令行编译任务

? 1.7.2 开发环境

? 1.7.3 生产环境

? 1.8 从源代码构建

? 1.8.1 安装Subversion

? 1.8.2 从Subversion中检出源代码

? 1.8.3 快速构建指南

? 1.9 集成开发环境

? 2 Openbravo数据模型

? 2.1 存储的数据库对象

? 2.2 实体-关系(ER)图

? 2.3 创建存储过程

? 2.3.1 AD_PInstance和AD_PInstance_Para表

? 2.3.2 存储过程的输入参数

? 2.3.2.1 从AD_PInstance表中获取有用的信息

? 2.3.2.2 AD_Update_PInstance存储过程

? 2.3.2.3 例外和错误管理

? 2.4 存储过程语法的建议

? 2.4.1 通用规则

? 2.4.1.1 游标

? 2.4.1.2 数组

? 2.4.1.3 ROWNUM

? 2.4.1.4 %ROWCOUNT

? 2.4.1.5 %ISOPEN,%NOTFOUND

? 2.4.2 表

? 2.4.3 函数

? 2.4.4 存储过程

? 2.4.5 视图

? 2.4.6 触发器

? 2.4.7 序列数

? 2.4.8 命令

? 2.4.9 支持PostgreSQL8.3

? 3 修饰名称和描述内容的指南

? 3.1 说明内容的修辞指南

? 3.2 命名的修辞指南

? 4 使用数据字典进行Openbravo的开发

? 4.1 扩展数据模型

? 4.1.1 在数据库中创建新的表

? 4.2 在Openbravo ERP中注册新的表

? 4.3 创建新窗口

? 4.4 编译新窗口

? 4.5 在Openbravo中增加新窗口的菜单

? 4.6 更新数据库的XML文件

? 4.7 用户消息

? 5 使用MVC开发Openbravo

? 5.1 基本工具

? 5.2 创建新的手工窗口(表单和报表)

? 5.3 创建callout

? 5.4 用JasperReport创建报表

? 5.4.1 使用JasperReport的报表模板

? 5.4.1.1 报表模板

? 5.4.1.2 子报表的用法

? 5.4.1.2.1 使用jasper文件

? 5.4.1.2.2 使用jrxml文件

? 5.4.1.3 报表中的JA V A

? 5.4.1.4 应用程序字典中的报表? 5.5 使用JasperReport导出表格

? 6 国际化

?7 安全

?8 升级方法

?9 协同开发

?10 附录

Contents

[hide]1 简介

? 1 简介

? 1.1 开发概述

? 1.2 开发方法

? 1.3 组织开发工作

? 1.4 标识符命名标准

? 1.4.1 数据库元素

? 1.4.2 MVC目录

? 1.4.3 存储过程语法

? 1.5 目录结构

? 1.6 风格指南

? 1.6.1 逻辑比较

? 1.6.2 逗号分隔列表

? 1.6.3 圆括号中的空格

? 1.6.4 SELECT INTO和INSERT INTO

? 1.6.5 SQL关键字

? 1.7 编译程序

? 1.7.1 命令行编译任务

? 1.7.2 开发环境

? 1.7.3 生产环境

? 1.8 从源代码构建

? 1.8.1 安装Subversion

? 1.8.2 从Subversion中检出源代码

? 1.8.3 快速构建指南

? 1.9 集成开发环境

? 2 Openbravo数据模型

? 2.1 存储的数据库对象

? 2.2 实体-关系(ER)图

? 2.3 创建存储过程

? 2.3.1 AD_PInstance和AD_PInstance_Para表

? 2.3.2 存储过程的输入参数

? 2.3.2.1 从AD_PInstance表中获取有用的信息

? 2.3.2.2 AD_Update_PInstance存储过程

? 2.3.2.3 例外和错误管理

? 2.4 存储过程语法的建议

? 2.4.1 通用规则

? 2.4.1.1 游标

? 2.4.1.2 数组

? 2.4.1.3 ROWNUM

? 2.4.1.4 %ROWCOUNT

? 2.4.1.5 %ISOPEN,%NOTFOUND

? 2.4.2 表

? 2.4.3 函数

? 2.4.4 存储过程

? 2.4.5 视图

? 2.4.6 触发器

? 2.4.7 序列数

? 2.4.8 命令

? 2.4.9 支持PostgreSQL8.3

? 3 修饰名称和描述内容的指南

? 3.1 说明内容的修辞指南

? 3.2 命名的修辞指南

? 4 使用数据字典进行Openbravo的开发

? 4.1 扩展数据模型

? 4.1.1 在数据库中创建新的表

? 4.2 在Openbravo ERP中注册新的表

? 4.3 创建新窗口

? 4.4 编译新窗口

? 4.5 在Openbravo中增加新窗口的菜单

? 4.6 更新数据库的XML文件

? 4.7 用户消息

? 5 使用MVC开发Openbravo

? 5.1 基本工具

? 5.2 创建新的手工窗口(表单和报表)

? 5.3 创建callout

? 5.4 用JasperReport创建报表

? 5.4.1 使用JasperReport的报表模板

? 5.4.1.1 报表模板

? 5.4.1.2 子报表的用法

? 5.4.1.2.1 使用jasper文件

? 5.4.1.2.2 使用jrxml文件

? 5.4.1.3 报表中的JA V A

? 5.4.1.4 应用程序字典中的报表

? 5.5 使用JasperReport导出表格

? 6 国际化

?7 安全

?8 升级方法

?9 协同开发

?10 附录

简介

Openbravo是一款面向中小企业的纯WEB方式的可扩展的ERP软件。她包括了基本的CRM (客户关系管理)、BI(商业智能)和一系列如采购、库存、项目、生产销售和财务管理等功能。适用于物流、服务和生产制造等多个行业。

Openbravo可以定制以支持特定行业的功能和业务流程。

Opnebravo的许可证允许合作伙伴和开发者选择是否将自已的工作以开源许可证还是以私有许可证的方式发布。我们鼓励合作伙伴和开发者以开源的方式与别人共享开发成果,也为Openbravo提供新的内容。本手册的目的是给大家为客户定制新的功能提供指导。

开发概述

以下列出了在Openbravo开发中使用的模型驱动开发方法的主要概念:

?应用字典:集中存放了定义的窗口、页签和字段的表。

?应用菜单:程序左边的主菜单。

?Callout(类似于触发器):用户操作一个窗口时系统响应的动作。例如可以增加或减少可见的字段,或者根据输入系统的信息填定订单。

?表单:手工制作的可以输入、修改或删除的窗口。不同于标准窗口,表单允许复杂数

据的输入和在多个位置输入数据。

?MVC(模型-视图-控制器):将应用程序的数据、用户界面和流程分离的一种架构。

在Openbravo中MVC是这样实现的:

?模型部份是用Openbravo的SqlC实现的。通过一个有标准SQL语句和参数的XML文件实现。其中的参数是可选或必须的,可以很容易的生成SQL语句。

?视图部份是用Openbravo开发的XmlEngine实现的。XmlEngine是可以从一个XML/HTML格式的模板生成XML/HTML文档的工具。

?控制器是从HttpBaseServlet继承的子类。这些Servlet处理读取数据,使用SQLC生成的类与数据库交互和使用XmlEngine提供输出。

?报表:显示从表中检索出来的数据或以预定义的格式和可视化的交互方式进行查询。

以pdf或html的方式显示请求的信息是一种简捷的方式。报表可以用户希望的方式进行定制,通常用于展示全局形势或总结。

?标准窗口:可以输入、修改和删除数据的自动生成的窗口。窗口中的信息是由Openbravo按系统中的数据生成的。

?窗口:应用程序用于管理数据的屏幕。可以进行插入、更新或删除数据的操作。

Openbravo中有两种窗口:标准窗口和表单。一个窗口可能会包含多个页签。

开发方法

Openbravo是构建Openbravo ERP的开发平台。正如架构总览中解释的开发可以理解为两层。

应用程序字典。它存储了应用程序的所有窗口、表、列、进程、报表和它们的关系。用户只要可以很方便的通过定义一个窗口、数据元素和报表并在应用程序字典中注册就可以增加一个新的功能,而无需一行代码。大部份的Openbravo代码是从应用程序字典中自动生成的。

模型/视图/控制器。当工作在这个层级时是可以通过Openbravo MVC开发框架完成任何改变的。无论如何一个工具或功能不能通过数据字典调整时,都可以在MVC这个层级实现。这通常意味着要开发一个新的JA V A类。

组织开发工作

在开始开发一个新的功能时必须清楚什么东西必须完成。下面几点对组织你的开发工作会有所帮助:

?应该提供哪些功能。必须清楚哪些功能要实现。

?尽量简单。保持设计尽量简单并且能很好的与不同组件进行交互。

?定义你的数据模型。需要添加哪些表、列、关系和索引来存储数据以实现想要的功能。

?定义用户界面。用户如何使用新的功能。按工业标准的可用性指南组织可视化的元素。

?定义报表。考虑哪些数据和你的用户有关和如何最好的呈现在报表中。

标识符命名标准

数据字典命名制定一个清晰和固定的标准对于ERP系统是非常关键的。按照这个命名标准

就能保证Openbravo ERP的新版本不会因为与客户开发时使用的数据字典元素同名而产生冲突。

当自定义开发时,在每一个新的数据字典元素前加上CUS_的前缀。例如,当为一个名为ACME的公司进行客户定制时,在数据字典元素名前加上CUS_ACM的前缀。

当开发一个垂直功能时,加上这个市场名前加上VER_的前缀。例如,为房地产市场开发时使用VER_REA的前缀。

数据库元素

命名新的表时加上特定的开发时的前缀。例如你需要为ACME客户定制开发时需要增加一个DOCUMENT的表时你应该将该表命名为CUS_ACM_DOCUMENT。这些表的字段可以按照字段命名转换(AD_CLIENT_ID,IsActive,Name,Descriptioin等)。

当在已有的表中增加新的字段时需要加上特定的开发时的前缀。

其他的数据库对象(存储过程,触发器等)也要加上开发时的前缀。

数据字典的注册IDs是由序列按开发时的顺序生成的,因而不会出现重复的IDs。数据字典中的实体名都应加上一定的前缀。

MVC目录

命名目录时加上特定的前缀。建议建立一个独立的包。

(org\openbravo\erpCommon\cus_myPackage)。

存储过程语法

?作为存储过程参数的变量名前加上p_的前缀

?变量名前加v_的前缀

?游标名前加c_的前缀

目录结构

Openbravo ERP的目录结构从逻辑上区分了核心组件(XmlEngine,SQLC,HttpBaseServlet)和WAD(应用程序字典向导)与ERP本身的结构(表单,报表,call-outs,下拉列表,工作流,流程等)。主树结构

AppsOpenbravo

|-attachment

|-build

|-config

|-database

|-docs

|-legal

|-lib

|-src

|-srcAD

|-srcClient

|-src-core

|-src-db

|-src-trl

|-src-trl

|-src-wad

|-web

|-WebContent

|-src-loc

build编译好的类会被复制到这个目录中

AppsOpenbravo

|-build

|-classes

|-org

|-openbravo

|-authentication

|-basic

|-lam

|-base

|-secureApp

|-erpCommon

|-erpReports

|-erpWindows

|-javasqlc

|-src

|-srcAD

config包含了各种配置和日志文件

AppsOpenbravo

|-config

|-Format.xml

|-log4j.lcf

|-Openbravo.properties

|-setup-properties-linux.bin

|-...

database包含模型数据(结构:表,约束,存储过程和触发器),示例数据(如产品,业务伙伴等)和XML格式的源数据(窗口和页签)。

AppsOpenbravo

|-database

|-lib

|-model

|-functions

|-sequences

|-tables

|-triggers

|-views

|-sampledata

|-sourcedata

docs Openbravo的API文档,由Javadoc生成。

legal许可证文档。

lib编译时需要的库。

AppsOpenbravo

|-lib

|-openbravo-core.jar

|-openbravo-trl.jar

|-openbravo-wad.jar

|-openbravo.war

|-...

openbravo-core.jar,openbravo-trl.jar和openbravo-wad.jar是执行ant https://www.wendangku.net/doc/0f3334323.html,plete时必须的。编译的结果是一个名为openbravo.war的文件,需要将其复制到应用服务器的webapps 目录下。

src Openbravo ERP的源代码:表单,报表,call-outs,combos,工作流,流程等。

AppsOpenbravo

|-src

|-org

|-openbravo

|-base

|-erpCommon

|-ad_actionButton

|-ad_background

|-ad_callouts

|-ad_combos

|-ad_forms

|-ad_help

|-ad_process

|-ad_reports

|-ad_tasks

|-ad_workflow

|-businessUtility

|-info

|-reference

|-security

|-utility

|-ws

|-erpReports

前缀ad_表示应用程序字典。字典名的结尾说明了它的意思。ad_reports和erpReport的区别在于在应用程序中存取报表的方式不同。如果是通过菜单调用的报表应该放在

ad_reports,另一方面,有些窗口在工具栏上有一个打印的按钮,通过这种方式调用的报表应该放在erpReports。

srcAD保存了通过应用程序字典自动生成的代码。

srcClient存放为自已应用程序开发的代码,不是给其他客户。

src-core核心组件的源代码: XmlEngine (视图层), SQLC (模型层), HttpBaseServlet (控制器)和连接池。

AppsOpenbravo

|-src-core

|-src

|-org

|-openbravo

|-base

|-HttpBaseServlet.java

|-HttpBaseUtils.java

|-data

|-Sqlc.java

|-database

|-ConnectionPool.java

|-xmlEngine

src-db创建dbmanager.jar文件需要的源代码。

AppsOpenbravo

|-src-db

|-src

|-org

|-openbravo

|-ddlutils

src-trl翻译器的源代码。

AppsOpenbravo

|-src-db

|-src

|-org

|-openbravo

|-translate

src-wad WAD的源代码。

AppsOpenbravo

|-src-db

|-src

|-org

|-openbravo

|-wad

web CSS,Javascript的代码和图片及弹出窗口。

AppsOpenbravo

|-images

|-js

|-popups

|-skins

src-loc MVC结构中的视图层元素结构:HTML,XML,FO和子报表。它们被放在不同的位置(每一种一个目录)。

AppsOpenbravo

|-WebContent

|-src-loc

|-design

|-org

|-openbravo

|-base

|-erpCommon

|-erpReports

|-erpWindows

|-es_ES

|-xx_XX

|-...

风格指南

为了代码的统一和清晰,我们建议按下面的指南进行编码。这个指南应用于Java,XML,HTML和PL/SQL。

逻辑比较

不要使用空格。

?不正确::

WHERE a = b

WHERE a= b

?正确::

WHERE a=b

逗号分隔列表

?不正确:

SELECT a,b,c

SELECT a ,b ,c

SELECT a , b , c

?正确:

SELECT a, b, c

圆括号中的空格

在函数中使用时:

?不正确:

SELECT max( c1 )

SELECT max (c1)

?正确:

SELECT max(c1)

在比较操作时:

?不正确:

if(i==0)

if( i==0)

?正确:

if (i==0)

for (i=0; i

SELECT INTO和INSERT INTO

如果超过8个字段:将其分为4个一组(为了易读性)。一行80个字符。这是比较灵活的规则。

SQL关键字

SQL的关键字要大写。

?不正确:

select * from AD_FIELD

?正确:

SELECT * FROM AD_FIELD (SELECT, UPDATE, 等)

编译程序

命令行编译任务

ant core.lib编译MVC框架的核心组件。它会生成openbravo-core.jar文件。

AppsOpenbravo

|-lib

|-openbravo-core.jar

ant wad.lib编译。它不会生成窗口,只是生成WAD本身而已。它会生成openbravo-wad.jar 文件。

AppsOpenbravo

|-lib

|-openbravo-wad.jar

ant trl.lib编译翻译器。它会生成openbravo-trl.jar。

AppsOpenbravo

|-lib

|-openbravo-wad.jar

ant https://www.wendangku.net/doc/0f3334323.html,plete编译整个程序。它会生成WAD的窗口和编译应用程序的源代码。它依赖于core.lib,wad.lib和trl.lib。

ant https://www.wendangku.net/doc/0f3334323.html,plete.development编译整个应用程序并复制到tomcat的容器中。它会生成WAD的窗口和编译应用程序源代码。它依赖于core.lib,wad.lib和trl.lib。

ant compile -Dtab="xx,yy"生成指定的窗口(名称中包含xx或yy),编译修改过的源代码并且更新web.xml中的servlet-mapping。

ant compile.development -Dtab="xx,yy"生成指定的窗口(名称中包含xx或yy),编译修改过的源代码并且更新web.xml中的servlet-mapping。最后会将所有生成的类复制到tomcat的容器中。

ant setup调用设置数据库连接和应用程序路径的界面(是build.xml中的默认任务)。

ant war在lib目录下生成一个war文件:

AppsOpenbravo

|-lib

|-openbravo.war

ant deploy复制war文件到tomcat的webapps目录下。

ant installWebService安装Web Service到应用服务器的目录。

ant install.source会执行ant core.lib,ant wad.lib,ant trl.lib,ant https://www.wendangku.net/doc/0f3334323.html,plete,ant installWebService和ant war任务。这个任务只用于安装。

开发环境

在开发环境中内容中手工拷贝的。我们不会生成war文件因为这比较耗时。

第一次编译过程是这样的:

ant core.lib

ant wad.lib

ant trl.lib

ant https://www.wendangku.net/doc/0f3334323.html,plete.development

然后编译整个应用程序:

ant https://www.wendangku.net/doc/0f3334323.html,plete.development

编译特定的窗口:

ant compile.development -Dtab="window name"

编译手工代码:

ant compile.development -Dtab=xx

为了编译时避免执行翻译的任务(对于这个阶段将时间花在这上面是没有必要的),可以在命令中添加一个参数:-Dtr=no。

ant compile.development -Dtab="window name" -Dtr=no

ant compile.development -Dtab=xx -Dtr=no

生产环境

在生产环境下应用程序会打包在war文件中。这可以让我们对每一个应用程序设置正确的权限,但是我们必须将war文件发布到tomcat中,以使它能运行起来。

第一次编译的过程如下:

ant core.lib

ant wad.lib

ant trl.lib

编译整个应用程序:

ant https://www.wendangku.net/doc/0f3334323.html,plete

ant war

ant deploy

编译指定的窗口:

ant compile -Dtab="window name"

ant war

ant deploy

编译手工代码:

ant compile -Dtab=xx

ant war

ant deploy

从源代码构建

这一节是如何从源代码构建的快速指南。你可以在Build Openbravo from Sources看到完整的步骤。

安装Subversion

Subversion是一个源码控制工具,可以让开发者控制文件的版本。

构建前必须先安装Subverion。可以从这里下载:

https://www.wendangku.net/doc/0f3334323.html, *

必须同时安装OpenSSL。

现在的源代码还不支持PostgreSQL只支持Oracle。Openbravo 2.3将会支持PostgreSQL。

从Subversion中检出源代码

安装好Subverion后运行如下代码:

svn co https://https://www.wendangku.net/doc/0f3334323.html,/svnroot/openbravo/trunk AppsOpenbravo

将会创建AppsOpenbravo的目录,源代码保存的目录。

快速构建指南

从创建的subversion文件的目录运行如下命令:

ant -f build.xml.template setup

这个过程会配置安装参数。

?build.xml被创建

?在config目录下创建dbCon5.xml, XmlPool.xml, log4j.lcf和userconfig.xml

?在src目录下创建deploy.wsdd

使用Oracle数据库时所有这些文件都会被创建。如果使用PostgreSQL需要将dbCon5.xml和XmlPool.xml文件名修改为dbCon5_PostrgreSQL.xml和XmlPostgreSQL.xml。

当参数按上面的方式配置好后,再运行下面的命令。

ant install.source

这个过程编译并生成应用程序的jar文件并在lib目录下生成openbravo.war文件。需要将些文件复制到$CATALINA_HOME/webapps目录以发布应用。

集成开发环境

一些快速入门以Eclipse来开发Openbravo ERP,可以参考以下链接:

Openbravo数据模型

存储的数据库对象

某些情况不在Openbravo中的数据库对象(存储过程,函数和触发器)必须符合指定的规则才能使用。应用程序中存储过程时只能通过对应的AD_PInstance_ID来调用。存储过程也必须正确的管理AD_PInstance,设置返回值、设置有用的输出信息。在创建存储过程这一节会更详细的介绍如何开发一个存储过程。

实体-关系(ER)图

Openbravo的实体-关系数据库图展示了Openbravo整个的数据模型。它包括了Openbravo ERP的功能所使用的所有表和字段。

根据应用程序字典中的数据生成了文档。这些图按不同的主功能模块分成了几个章节。同一个表可能在不同的章节中出现但具体的描述只出现一次。这样做是为了强调某一个章节中主要的表与其他章节中表的关系。例子中展现了所有的关系但没有代表性的表不会出现在章节中。

创建存储过程

AD_PInstance和AD_PInstance_Para表

应用程序中调用存储过程都需要在表AD_PInstance中注册。表AD_PInstance_Para中存放了报表和流程窗口中相应的存储过程的参数的值。

表AD_PInstance:

?AD_PInstance_ID:表的标识符。

?AD_Process_ID:与在应用程序字典中存放存储过程信息的表AD_Process相关联的外键。

?Record_ID:如果在窗口中调用存储过程,这一列存放当前记录的ID。

?IsProcessing:存储过程在执行中时这一列为“Y”。有些存储过程会检查相关的存储过程是否正在运行。

?AD_User_ID:调用存储过程的用户ID。

?Result:存放存储过程运行的结果。

?ErrorMsg:存放存储过程输出的信息。

表AD_PInstance_Para:

?Parametername:对应于数据库列名的参数名称。

?P_String和P_String_TO:当字段是文本框或列表框时插入的值。

?P_Number和P_Number_TO:当字段是数字框或外键时插入的值。

?P_Date和P_Date_TO:当字段是日期型时插入的值。

?Info和Info_TO:

当参数定义为一个范围内的值而不是指定的一个值时用_TO的后缀。使用这个参数生成的弹

出窗口会有两个标签为From和To的字段。之后可以按其中的值来过滤查询结果。

存储过程的输入参数

应用程序调用存储过程时仅传递一个参数到数据库,就是对应的AD_PInstance_ID。

我们需要一个中介存储过程来从应用程序或一个不同的存储过程来调用另一个存储过程。因为从一个存储过程调用另一个存储过程时是不知道AD_PInstance_ID的。可以参考

C_Order_Post和C_Order_Post1。主存储过程调用时需要有足够的参数,包括

AD_PInstance_ID。被调用的中介存储过程仅有一个关于AD_PInstance的参数。这个存储过程仅有一个到主存储过程的调用,其中除了AD_PInstance其余参数都是空的。在主存储过程中必须区分AD_PInstance是否为空来管理调用的结果和输出信息。

从AD_PInstance表中获取有用的信息

在存储过程的开始我们也许会想要从AD_PInstance和AD_PInstance_Para两个表中知道一些必须的信息保存到变量中。如果没有参数那么用SELECT就可以了。如果有多个参数那么可能需要使用游标。参见C_Debt_Payment_Create。

Record_ID存放窗口中当前的活动记录的ID(如当处理Order时的C_Order_ID)。如果存储过程中有Update或Insert子句,AD_User_ID可以用于验证用户权限。

AD_Update_PInstance存储过程

该存储过程用于更新AD_PInstance的状态。其他存储过程必须在开始和结束时调用该存储过程。

参数:

?p_PInstance_ID:将要被更新的AD_PInstance_ID。

?p_AD_User_ID:执行更新的AD_User_ID。

?p_IsProcessing:存储过程的状态。

?p_Result:存储过程的结果。

?p_Message:存储过程的输出信息。

在开始调用时设置Processing='Y':

AD_UPDATE_PINSTANCE(p_PInstance,NULL,'Y',NULL,NULL);

在结整调用或引发例外时需要设置Processing='N'和相应的执行结果和输出信息:

AD_UPDATE_PINSTANCE(p_PInstance_ID,v_User,'N',v_Result,v_Message);

存储过程执行的结果有3种。按不同的结果会显示不同的包含输出信息的对话框。结果为0表示错误(红色对话框),1表示成功(绿色对话框)和2表示警告(黄色对话框)。如果输出信息是NULL将作为成功来处理。

例外和错误管理

存储过程的错误信息只能依靠对应的AD_PInstance的结果来管理。所以所有的例外必须被正确的处理。

当在存储过程中触发了RAISE_APPLICATION_ERROR的例外时,错误号被设置为-20000。同时你可以加上对该问题的错误描述。描述信息中可以使用存储在AD_Message表中的信

息,只要将它的值放在@之间。也可以将多个字符串连接在一起。

例外块中必须能够区分两种不同情况:存储过程是被应用程序直接调用还是被其他存储过程调用的。通常这可以通过AD_PInstance_ID是否为NULL来区分。

如果是由其他存储过程调用时引发的例外是由存在于AD_PInstance中的父存储过程处理的。但是这不适用于以上介绍的中介存储过程。因为中介存储过程中没有处理例外的块,所以还是由相应的AD_PInstance_ID的主存储过程来处理。在RAISE 之前可以使用

DBMS_OUTPUT.PUT_LINE()用于调试。下面是被另外一个存储过程调用的存储过程中的例个块的例子:

EXCEPTION

WHEN OTHERS THEN

DBMS_OUTPUT.PUT_LINE('ERROR MA_Standard_Cost_Sequence, sequence_ID '|| p_Sequence_ID || ', date ' || p_CalcDate || ' at ' ||v_ResultStr);

RAISE;

END Ma_Standard_Cost_Sequence;

如果存在AD_PInstance时例外必须要在AD_PInstance表中设置对应的信息。这条信息是由@ERROR=SQLERRM组成的,SQLERRM中是在RAISE_APPLICATION_ERROR或数据库抛出的的例外中的错误信息。然后是调用ROLLBACK,最后在AD_PInstance中更新错误信息并返回结果为0、显示错误信息的对话框。同时也可以使用

DBMS_OUTPUT.PUT_LINE()用于测试。

EXCEPTION

WHEN OTHERS THEN

DBMS_OUTPUT.PUT_LINE(v_ResultStr) ;

v_ResultStr:= '@ERROR=' || SQLERRM;

DBMS_OUTPUT.PUT_LINE(v_ResultStr) ;

ROLLBACK;

AD_UPDATE_PINSTANCE(p_PInstance_ID, NULL, 'N', 0, v_ResultStr) ;

RETURN;

END MA_ProductionRun_Standard;

存储过程语法的建议

Openbravo支持Oracle和PostgreSQL数据库。

以下的一些建议可以使你的存储过程能同时在这两个数据库上运行或能够很容易的转换。这里假设你已经为Oracle与了代码但同时想让这些代码能在PostgreSQL上运行。

通用规则

以下一些内容能确保PL代码能正确地在其他数据库后台运行。

?JOIN语句。用LEFT JOIN或RIGHT JOIN代替(+)

?在XSQL中使用问号(?)作为参数据占位符。如果参数时数值型使用

TO_NUMBER(?),日期型使用TO_DATE(?)。

?不要使用GOTO语句,因为PostgreSQL不支持GOTO。

?使用COALESCE代替NVL

?使用CASE代替DECODE。如果CASE 表达式为NULL,如:

CASE WHEN variable IS NULL THEN X ELSE Y END

?如果变量的值是几个字符串连接起来的要用括号括起来

?用NOW()代替SYSDATE

?PostgreSQL区分""和NULL,在检查空变量的时候要注意这一点

?使用子查询时要加上别名。

SELECT * FROM (SELECT 'X' FROM DUAL) A

?使用SELECT语句时总是使用AS

SELECT field AS field_name FROM DUAL

?PostgreSQL中UPATE,INSERT,和DELETE语句中不支持别名。

?PostgreSQL8.1不支持这样的UPDATE语句(但8.2已支持了)

UPDATE TABLE_NAME SET (A,B,C) = (SELECT X, Y, Z FROM ..

但下面的语句是可以的:

UPDATE TABLE_NAME SET A = (SELECT X FROM ..), B = (SELECT Y FROM .),C = (SELECT Z FROM ..) ?PostgreSQL不支持在更新的字段中加上表名。

?PostgreSQL不支持DELETE TABLE,可以使作DELETE FROM

?PostgreSQL不支持在ORDER BY或GROUP BY中使用参数,如‘1’。而没有引号的数字是可以的。

?PostgreSQL不支持CURRENT OF语句。

?PostgreSQL不支持COMMIT。它会在BEGIN和END块间自动显示的提交。抛出例外时会产生ROLLBACK。

?PostgreSQL不支持SA VEPOINT。可以用BEGIN,END和ROLLBACK完成同样的功能。

?PostgreSQL不支持CONNECT。

?PostgreSQL和Oracle都不支持用变量来指定表的字段名称。如使用v_IsProcessing替代IsProcessing。

?PostgreSQL不支持EXECUTE https://www.wendangku.net/doc/0f3334323.html,ING。可以使用SELECT和参数来完成相同的功能。

?PostgreSQL在调用没有参数据函数时要加上括号。

?DBMS.OUTPUT应该在一行内,以使自动翻译可用。

?在PostgreSQL中任何字符串与NULL连接都会产生一个NULL的字符串。建议用COALESCE或将变量初始化为‘’。

?注意:在Oracle中null||'a'结果是'a',而在PostgreSQL中结果是NULL,所以应使用coalesce(null,)||'a'。但时如果变量是Oracle的NVarchar类型时会引发

ORA-12704:字符集不匹配的错误,这时可以这样做

coalesce(to_char(myNVarCharVariable),)||'a'。

将以下语法

COALESCE(variable_integer, '')

COALESCE(variable_integer, 0)

来代替,以保证可以在PostgreSQL中也可以运行。

?PostgreSQL执行SELECT FOR UPDATE是在表级而Oracle是在列级别。

?PostgreSQL不支持带有三个参数的INSTR命令,可以使用SUBSTR。

?在Oracle中SUBSTR(text,0,Y)和SUBSTR(text,1,Y)的结果是相同的,但是PostgreSQL中不同。所以要使用SUBSTR(text,1,Y)。

?PostgreSQL不支持这样<

?在日期比较中默认的日期是1900.1.1或9999.12.31。

?如要将日期类型转换为文本型时要使用to_date函数和相应的掩码。

如:

COALESCE(movementdate, TO_DATE('01-01-1900', 'DD-MM-YYYY'))

游标

有两种使用游标的方法:FETCH子句和FOR循环。

Oracle中FETCH游标的声明:

CURSOR Cur_SR IS

PostgreSQL中:

DECLARE Cur_SR CURSOR FOR

FOR循环中的游标格式:

TYPE RECORD IS REF CURSOR;

Cur_Name RECORD;

这在Oracle和PostgreSQL中都可以使用。

数组

在Oracle中数组是这样定义的:

TYPE ArrayPesos IS VARRAY(10) OF INTEGER;

v_pesos ArrayPesos;

v_dc2 := v_dc2 + v_pesos(v_contador)*v_digito;

但在PostgreSQL中是这样定义的:

v_pesos integer[];

v_dc2 := v_dc2 + v_pesos[v_contador]*v_digito;

ROWNUM

为了限制SELECT语句返回的行数,需要创建游标来读取记录。代码如下:

--Initialize counter

v_counter := initial_value;

--Create the cursor

FOR CUR_ROWNUM IN (SELECT CLAUSE)

LOOP

-- Some sentences

--Increment the counter

v_counter := v_counter + 1;

--Validate condition

IF (v_counter = condition_value) THEN

EXIT;

END IF;

END LOOP;

%ROWCOUNT

SQL%ROWCOUNT不能直接在PostgreSQL中使用,而需要定义一个变量。如:

GET DIAGNOSTICS rowcount := ROW_COUNT;

用上面定义的变量来替换SQL%ROWCOUNT。

%ISOPEN,%NOTFOUND

PostgreSQL不支持%ISOPEN和%NOTFOUND,但可以在存储过程内部定义一个boolean变量,然后当游标打开或关闭时手工去更新这个变量的值。

当定义表时,如果列名是关键字要用用引号引起来。如:

CREATE TABLE AD_TRACE

(

"WHEN" TIMESTAMP NOT NULL,

NO NUMERIC DEFAULT 0 NOT NULL,

WHAT VARCHAR(2000) NOT NULL

);

列WHEN用引号引起来以避免转到PostgreSQL后出现问题。

同样在约束、解发器、存储过程、视图和函数中也要这样处理。

函数

可以使用PERFORM和SELECT调用函数。因为PostgreSQL不支持默认参数,可以定义一个带有默认参数的重载函数。

另外如果要使自动翻译能正常工作,你应该遵循以下的建议:

?AS和IS的左边不能有空格

?函数名不能用引号

?函数中,END前不能有空格。

存储过程

在PostgreSQL中有两种方法调用存储过程:

?变量名:=存储过程名(...)

?使用SELECT。这种方法用于存储过程返回多个参数时使用。

视图

PostgreSQL不支持可更新视图。如果要通过视图更新要创建一系列的规则。

技术开发部管理手册1

目录 第1章概述 (1) 1.1 技术开发部管理权限 (1) 1.2 技术开发部管理职能 (1) 1.3 技术开发部主要职责 (1) 1.4 日常管理制度 (2) 第2章产品开发设计控制程序 (4) 2.1 目的 (4) 2.2 范围 (5) 2.3 引用文件及术语 (5) 2.4 职责 (5) 2.5 工作程序 (6) 2.6 支持文件 (9) 2.7 表格清单 (9) 2.8 附表 (9) 第3章产品实现的策划程序 (17) 3.1 目的 (17) 3.2 适应范围 (17) 3.3 引用文件及术语 (18) 3.4 职责 (18) 3.5 工作程序 (18) 3.6 支持性文件 (19) 第4章内部质量审核控制程序 (20) 4.1 目的 (20) 4.2 适用范围 (20) 4.3 引用文件及术语 (20) 4.4 职责 (20) 4.5 工作程序 (21) 4.6 支持文件 (23) 4.7 质量记录 (23) 附录 (25) 附录1 (25) 附录2 (26) 附录3 (27) 附录5 (29) 附录6 (30) 附件7 (31) 附件8 (32)

第1章概述 技术开发部的工作主要是从事电表、水表、煤气表及其远程自动抄系统的研发和产品的优化,以及为生产部和工程部提供技术支持等。 1.1 技术开发部管理权限 受总经理和技术总监委托,行使对公司技术引进、新产品开发研究、新技术推广应用、技术指导与监督等全过程听管理权限,并承担执行公司规章制度、管理规程及工作指令的义务; 1.2 技术开发部管理职能 负责对公司产品实行技术指导、规范工艺流程、制定技术标准、抓好技术管理、实施技术监督和协调的专职管理部门,对所承担的工作负责。 1.3 技术开发部主要职责: 1.坚决服从总经理和技术总监的统一指挥,认真执行其工作指令,一切管理行为向总经理和技术总监负责; 2.严格遵守公司规章制度,认真履行其工作职责; 3.负责制定公司技术管理制度。负责建立和完善产品设计、新产品的试制、标准化技术规程、技术情报管理制度,组织、协调、督促有关部门建立和完善设备、质量、能源等管理标准及制度; 4.组织和编制公司技术发展规划。编制近期技术提高工作计划,编制长远技术发展和技术措施规划,并组织对计划、规划的拟定、修改、补充、实施等一系列技术组织和管理工作; 5.负责制订和修改技术规程。编制产品的使用、维修和技术安全等有关的技术规定; 6.负责公司新技术引进和产品开发工作的计划、实施,确保产品品种不断更新和扩大; 7.合理编制技术文件,改进和规范工艺流程; 8.研究和摸索科学的流水作业规律,认真做好各类技术信息和资料收集、整理、分析、研究汇总、归档保管工作,为逐步实现公司现代化销售的目标,提供可靠的指导依据; 9.负责制定公司产品的企业统一标准,实现产品的规范化管理; 10.编制公司产品标准,按年度审核、补充、修订定额内容;

图书管理系统用户手册

目录 1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2用途 (2) 2.1功能 (2) 2.2性能 (3) 2.2.1精度 (3) 2.2.2时间特性 (3) 2.2.3灵活性 (3) 2.3安全保密 (3) 3运行环境 (3) 3.1硬设备 (3) 3.2支持软件 (3) 3.3数据结构 (4) 4使用过程 (5) 4.1安装与初始化 (5) 4.2输入 (6) 4.2.1输入数据的现实背景 (6) 4.2.2输入格式 (6) 4.2.3输入举例 (6) 4.3输出对每项输出作出说明 (6) 4.3.1输出数据的现实背景 (6) 4.3.2输出格式 (7) 4.3.3输出举例 (7) 4.4文卷查询 (7) 4.5出错处理和恢复 (7) 4.6终端操作 (7)

用户手册 1引言 1.1编写目的 编写用户手册的主要目的是为了给使用者提供一个使用指南,以便为首次使用该系统的用户说明使用方法,以及给已经使用过或者正在使用的用户在使用过程中遇到问题时提供解决问题的方法。 1.2背景 a.本项目的名称:中小学图书管理系统 b.本项目的提出者:河北省任丘市教育体育局电教站 c.本项目的开发者:由张德轩本人独立设计、开发 d.本项目的使用者:中小学图书室、图书管理员 1.3定义 图书模板:为了能使用户批量导入图书信息,系统内置的储存有部分图书信息的Excel文档。超级用户:系统内置的管理员帐号,初始密码为admin。 1.4参考资料 《Visual C++开发技术大全》(第二版),刘锐宁梁水宋坤编著,人民邮电出版社,2009年10月第2版 《实战突击Visual C++项目开发案例整合》(第四版),孙秀梅李鑫等著,电子工业出版社,2011年9月第1版 2用途 2.1功能 该系统主要有三个大的模块:图书借阅管理、读者信息管理、图书信息查询,其中每个模块的主要功能如下: 图书借阅管理:根据读者提供的借书证号或借书卡号进行图书的借阅、图书归还操作。 读者信息管理:对读者进行注册登记、注销读者、查阅借阅记录等操作。

软件开发十钟关键技术

软件开发十钟关键技术 本文列出了当今计算机软件开发和应用领域最重要十种关键技术排名,如果你想保证你现在以及未来的几年不失业,那么你最好跟上这些技术的发展。虽然你不必对这十种技术样样精通,但至少应该对它们非常熟悉。 一、XML 在十种技术中,最重要的一种技术我想应该非XML 莫属。这里不仅仅指XML 规范本身,还包括一系列有关的基于XML 的语言:主要有XHTML ,XSLT ,XSL ,DTDs ,XML Schema (XSD), XPath, XQuery和SOAP。如果你现在还对XML 一无所知,那么赶快狂补吧。XML 是包含类似于HTML 标签的一个文本文件,在这个文件中定义了一个树型结构来描述它所保存的数据。 XML 最大的优点是你既可以在这个文本文件中存储结构化数据,也可以在其中存储非结构化数据——也就是说,它能包含和描述“粗糙的”文档数据,就像它描述“规则的”表格数据一样。 XHTML 是目前编写HTML 的首选方法;因为XHTML 本身就是格式良好的XML ,与通常畸形的HTML 文档相比,XHTML 格式文档更容易处理。 XSLT 和XSL 是对XML 文档进行转换的语言。它们可以将XML 文档转换成各种格式,比如另一个文本文件、PDF文件、HTML文件、逗号分割的文件,或者转换成其它的XML 文档。 DTDs和XML Schema用来描述XML文件所包含的数据内容的类型,使你不用编写定制的代码就能对XML 文档的内容进行“有效性”检查,使内容强行遵守给出的规则。 XPath 和XQuery 是查询语言,用它们可以从XML 文档中吸取单个的数据项或者数据项列表。XQuery的功能特别强大,因为它对XPath查询进行了扩展。实际上,XQuery和XML 的关系就像SQL 之于关系数据库一样。 SOAP是Web services间进行通讯的标准协议。你不必知道SOAP协议的所有细节,但 是你应该熟悉其常用规则及其工作原理,这样你才能使用它。 二、Web Services Web 服务是XML 流行后的直接产物。因为XML 可以描述数据和对象,XML 大纲可以保证XML 文档数据的有效性,因为XML 的基于文本的规范,因而XML 文档极其适合于作为一种跨平台通讯标准的基本格式。如果你还没有接触过Web服务,那么过不了多久 你肯定会碰到它,所以必须熟练掌握Web服务,最好是精通它,因为它是迄今为止应用程 序间跨不同种类机器、语言、平台和位置通讯的最简单的一种方式。不管你需不需要它,Web 服务都会是将来互用性的主要趋势。 XML工作组的John Bosak曾说过:“XML使得Java有事可做”,么/那们也可以说我eb 服务使得所有语言都有事可做。Web 服务让运行在大型机上的COBOL 应用程序与运行在 手持设备上的应用程序相互沟通;让Java小应用与。NET服务器相互通讯,让桌面应用与Web 服务器

软件项目集成开发流程及文档

软件项目集成开发 一、项目组织架构 A 项目经理 负责分析、设计和协调工作。随时监控各开发人员的工作,包括内容是否与要求发生偏差,进度是否滞后等等,同时给每个开发人员明确的任务书。 在项目周期内项目经理最好不要更换。大项目需要配备专门的系统分析师和系统设计师。 B 开发人员 熟悉针对软件开发的编程工具,并具有丰富的编程经验,负责完成不同层与模块的编程工作。 开发人员数量视系统模块数量和开发难度而定。 C 业务需求人员 熟悉业务工作流程,有丰富的业务经验。 业务需求人员的选择应覆盖系统所服务的业务部门。 D 文档整理人员 随时整理系统开发过程中相关的技术文档。 作为业务支撑,文档整理人员需熟悉软件开发的流程、文档管理、文档模板。 项目组织架构 项目经理 开发人员 业务需求人员 文档整理人员 测试工程师

E测试工程师 专门进行代码的测试工作,并且计划和执行源代码复审,负责有关返工的任何反馈意见(有条件可配置)。

二、项目流程管理 系统开发的过程必须符合IT 项目开发流程的规律,整个过程应包含但不仅限于以下环节: 需求调研是软件开发的最初阶段。需求调研的结果确立了软件开发的方向。软件设计是后续开发步骤及软件维护工作的基础。 在项目实施的过程中,项目实施者大多把精力放在了编码阶段,而需求调研和系统设计往往不被重视。没有严格的需求调研和分析,最终的软件产品会偏离用户的真正需求。如果没有设计,只能建立一个不稳定的系统结构。如下图所示:

在项目实施过程中,以上各个流程都不应该被忽略(重大项目更是如此),任何一个环节的遗失都可能引起项目方向的偏差,甚至失败。项目管理者可以在此基础上,完善项目管理流程,以降低项目实施的风险。 三、项目文档管理 项目管理者必须在系统开发过程中做好项目文档管理。项目文档是项目实施的依据,也是项目设计、编码、测试、修正、培训和验收的依据。 根据以上项目流程,项目实施过程中应包含以下所必须的文档:

详解仿制药研发具体流程

详解仿制药研发具体流程 目录 一、综述2 二、仿制药研发项目汇总3 三、仿制药的研发具体步骤:5 (一)产品信息调研5 (二)前期准备(约一个月完成):5 1、参比制剂的采购5 2、原料采购5 3、色谱柱及对照品采购5 4、辅料采购:6 5、包材的采购:6 (三)处方工艺研究6 1、原辅料及参比制剂的检验6 2、处方工艺摸索6 3、初步验证工艺8 4、中试生产及工艺验证8 (四)质量研究9 1、质量研究项目的选择及方法初步确定9 2、质量标准的方法学验证10 3、质量对比研究12 4、质量标准的制定14 (五)稳定性研究(中试产品)14

(六)药理毒理研究16 (七)申报资料的撰写、整理16 (八)申报临床及申报现场核查17 (九)临床研究17 (十)申报生产17 一、综述 根据药品注册管理办法附件二的规定,仿制药即是已有国家药品标准的原料药或者制剂,该类药物国内已批准生产或上市销售,经过国内外广泛使用,其安全性、有效性已经得到较充分证实。 如今的新法规对仿制药提出了新的要求,主要是以下几点: 1、规范对被仿制药品的选择原则,即参比制剂的选择问题。 2、增加批准前生产现场的检查。 3、按照CTD格式要求提供申报资料,使申报规范,统一。 4、强调了对比研究,是判断两者质量是否一致的重要方法之一。 5、强化了工艺验证,目的是确保大生产时能始终如一地按照申报工艺生产出质量恒定的产品。 6、提出了晶型的要求,晶型的不同,溶解度和稳定性不同。 分析上述新要求和参考指导原则,从而得出结论: 仿制药研发的目的是做到规模化生产,强调本地化,以实现“替代性”。要求是做到“同”。方法为对比研究。 1.安全性“同”: 对于安全性,口服固体制剂控制的主要为有关物质,而液体制剂除控制有关物质外,还需对防腐剂、氧化剂等对人体有影响的物质进行控制。因此,必须要将防腐剂含量测定定入质量标准。 研究的内容:静态上应包括杂质谱的对比,单个杂质的对比,杂质总量的对比。动态上的对比为影响因素试验、加速试验的对比,即稳定性对比研究。

软件开发者需要掌握的技能

软件开发者需要掌握的技能 现在,有这样一种主流观念,压垮了很多新手软件开发者,那就是你需要学习很多东西才能成为软件开发人员,并且很多人不知道从哪里开始起步。这里我会尝试着具体说明那些在你追求成为软件开发人员的路上将让你受益的必要技术技能。一篇文章当然不能详尽说明作为软件开发者,你可能需要掌握的所有技术技能,但是我会列出最关键的一些技术技能。一、编程语言我认为从这一条开始说起是最合适的。不懂编程语言,怎么能成为一个真正的程序员?不过,关于选择哪种编程语言去学习可能并没有我们想得那么重要这一点,请允许我一笔带过。相反,让我们谈一谈为什么我们要从一种编程语言开始,而不是试图去学习所有的东西。许多新手程序员会试图一次性或在第一份工作之前学习几种编程语言,以便于有备无患。虽然我认为你最终应该学会一种以上编程语言,但我不建议提前这样做,因为这只会导致混乱,并且会分散你需要学习的其他技能的精力。相反,我建议你应该深入研究,重点学习单一编程语言的来龙去脉,这样你才能对用这种编码语言来写代码信心十足。那么在你决定想要成为什么样的开发人员的时候,怎么样才能尽可能地独树一帜呢?二、如何构造代码在学习了一门编程语言之后

——或者最好是在学习的同时——我坚信,你需要知道的下一件事就是如何正确地构造你的代码。有一个很好的资源来帮助你学习这个非常宝贵的技能:Steven McConnell的《Code Complete 》。我所说的构造代码是什么意思呢?我的意思是,要写出好的,清晰的,易于理解的代码,不需要大量注释,因为代码本身就是一种表达方式。很多软件开发者在他们整个职业生涯都不曾去学习这个技能,这是不幸的,因为这是我——以及其他许多人——判断一个软件开发人员技术和能力的主要方式。良好的代码结构展示了对这种技艺的热衷,而不仅仅是为了完成工作。构建代码是软件开发真正的艺术部分,但它也是至关重要的,因为你和你的同事得花费相当多的时间来维护现有的代码,而不是编写新的代码。具体应该如何正确地组织代码我就不说了,因为我已经给出了一个很好的资源,但是要努力学习如何从一开始就写出好的、干净的代码,而不是事后学习这个技能。我只能保证,即使你是个新手,如果你可以写出好的、干净又简洁的、易懂的,本身就可以表达意思的代码,那么任何面试官看到你的代码都会觉得你是一个有经验的专业人士。并且在一定程度上,或者至少在这条道路上,因为你会将这个职业当作一种专业,而不是一份工作。 三、面向对象的设计这一条是有争议的,特别是如果你正在学习的编程语言并不面向对象,但是有大量的软件开发

开发文档介绍

开发文档介绍 软件开发文档是软件开发使用和维护过程中的必备资料。它能提高软件开发的效率,保证软件的质量,而且在软件的使用过程中有指导,帮助,解惑的作用,尤其在维护工作中,文档是不可或缺的资料。 软件文档可以分为开发文档和产品文档两大类。 开发文档包括:《功能要求》、《投标方案》、《需求分析》、《技术分析》、《系统分析》、《数据库文档》、《功能函数文档》、《界面文档》、《编译手册》、《QA 文档》、《项目总结》等。产品文档包括:《产品简介》、《产品演示》、《疑问解答》、《功能介绍》、《技术白皮书》、《评测报告》。用户文档《安装手册》、《使用手册》、《维护手册》、《用户报告》、《销售培训》等。 开发文档 1. 《功能要求》-- 来源于客户要求和市场调查,是软件开发中最早期的一个环节。 客户提出一个模糊的功能概念,或者要求解决一个实际问题,或者参照同类软件的一个功能。有软件经验的客户还会提供比较详细的技术规范书,把他们的要求全部列表书写在文档中,必要时加以图表解说。这份文档是需求分析的基础。 2. 《投标方案》-- 根据用户的功能要求,经过与招标方沟通和确认,技术人员开 始书写《投标方案》,方案书一般包括以下几个重要的章节:前言-- 项目背景、公司背景和业务、技术人员结构、公司的成功案例介绍等。需求分析-- 项目要求、软件结构、功能列表、功能描述、注意事项等。技术方案-- 总体要求和指导思想、技术解决方案、软件开发平台、网络结构体系等。项目管理-- 描述公司的软件开发流程、工程实施服务、组织和人员分工、开发进度控制、软件质量保证、项目验收和人员培训、软件资料文档等。技术支持-- 公司的技术支持和服务介绍、服务宗旨和目标、服务级别和响应时间、技术服务区域、技术服务期限、授权用户联系人等。系统报价-- 软、硬件平台报价列表、软件开发费用、系统维护费用等。项目进度-- 整个项目的进度计划,包括签署合同、项目启动、需求分析、系统分析、程序开发、测试维护、系统集成、用户验收、用户培训等步骤的时间规划。 3. 《需求分析》-- 包括产品概述、主要概念、操作流程、功能列表和解说、注意 事项、系统环境等。以《功能要求》为基础,进行详细的功能分析( 包括客户提出的要求和根据开发经验建议的功能) ,列出本产品是什么,有什么特殊的概念,包括哪些功能分类,需要具备什么功能,该功能的操作如何,实现的时候该注意什么细节,客户有什么要求,系统运行环境的要求等。这里的功能描述跟以后的使用手册是一致的。 4. 《技术分析》-- 包括技术选型、技术比较、开发人员、关键技术问题的解决、 技术风险、技术升级方向、技术方案评价,竞争对手技术分析等。以《需求分析》为基础,进行详细的技术分析( 产品的性能和实现方法) ,列出本项目需要使用什么技术方案,为什么,有哪些技术问题要解决,估计开发期间会碰到什么困难,技术方案以后如何升级,对本项目的技术有什么评价等。 5. 《系统分析》-- 包括功能实现、模块组成、功能流程图、函数接口、数据字典、 软件开发需要考虑的各种问题等。以《需求分析》为基础,进行详细的系统分析( 产

详解仿制药研发具体经过流程

详解仿制药研发具体流程目录 一、综述2 二、仿制药研发项目汇总3 三、仿制药的研发具体步骤:5 (一)产品信息调研5 (二)前期准备(约一个月完成):5 1、参比制剂的采购5 2、原料采购5 3、色谱柱及对照品采购5 4、辅料采购:6 5、包材的采购:6 (三)处方工艺研究6 1、原辅料及参比制剂的检验6 2、处方工艺摸索6

3、初步验证工艺8 4、中试生产及工艺验证8 (四)质量研究9 1、质量研究项目的选择及方法初步确定9 2、质量标准的方法学验证10 3、质量对比研究12 4、质量标准的制定14 (五)稳定性研究(中试产品)14 (六)药理毒理研究16 (七)申报资料的撰写、整理16 (八)申报临床及申报现场核查17 (九)临床研究17 (十)申报生产17 一、综述

根据药品注册管理办法附件二的规定,仿制药即是已有国家药品标准的原料药或者制剂,该类药物国内已批准生产或上市销售,经过国内外广泛使用,其安全性、有效性已经得到较充分证实。 如今的新法规对仿制药提出了新的要求,主要是以下几点: 1、规范对被仿制药品的选择原则,即参比制剂的选择问题。 2、增加批准前生产现场的检查。 3、按照CTD格式要求提供申报资料,使申报规范,统一。 4、强调了对比研究,是判断两者质量是否一致的重要方法之一。 5、强化了工艺验证,目的是确保大生产时能始终如一地按照申报工艺生产出质量恒定的产品。 6、提出了晶型的要求,晶型的不同,溶解度和稳定性不同。 分析上述新要求和参考指导原则,从而得出结论: 仿制药研发的目的是做到规模化生产,强调本地化,以实现“替代性”。要求是做到“同”。方法为对比研究。 1.安全性“同”:

网站管理系统使用手册

网站管理系统使用 手册

前言: 本手册适用于师友网站群管理系统V3.0版本,根据客户需求,各模块的功能略有不同,所提供的界面图片仅供参考。 第一部分:常见操作 一、系统登录 从网站前台点击“管理登录”进入后台登录页面或直接从前台登录窗口,输入帐号和密码,点击“登录”进入系统。后台登录界面如下图示(图片仅供参考): Web方式登录窗口 二、系统界面

三、修改密码和个人资料 从系统操作主界面顶部右侧导航区点击“修改密码”和“个人资料”,打开修改密码窗口和修改个人资料的窗口。修改密码必须提供正确的原始密码。 修改登录密码界面 五、退出登录 从系统操作主界面顶部右侧的导航区点击“退出”,即可注销用户的登录信息并返回登录界面。 第二部分网站管理 一、站点管理

站点管理主要包括站点的创立、修改、删除、审核和站点的栏目管理。站点管理的主界面如下图所示: 1、创立新站点 从“站点管理”模块,点击“创立新网站”,打开创立新站点的编辑窗口。如下图所示: 站点包括“主站”和“班级”网站两种类型,创立“班级”网站前,必须事先在系统管理的“班级设置”模块设置好学校的班级。 创立新站点需要指定网站的名称、网址、网站目录,选择该网站的管理员。各项目指定的内容及说明详见窗口的“使用说明”。

“本站是系统门户”只有系统管理员能够指定,而且整个系统中只能指定一个网站为“门户”,被指定为门户的网站能够接受其它网站的投稿。 “管理员”能够管理本站点下的所有栏目内容,而且能够进行站点栏目的管理。 2、修改站点信息 参见“创立新站点”功能。 3、发布与取消发布 只有发布的站点才能够接受投稿和管理。管理员能够根据需要对网站进行开通与关闭。 4、站点的删除 删除某一个站点,该站点下面的所有栏目及所有内容都将同时被删除,而且不能够恢复。请慎用此功能。对于已经有内容的站点,在不需要的时候能够先设置为“不发布”。 二、栏目管理 普通用户能够从导航菜单“网站管理”—“栏目管理”进入栏目管理主界面,在该界面会列出当前用户有管理权限的所有站点(在“站点管理”模块被指定为“管理员”的站点)。栏目管理主界面如下图所示:

软件开发技术常用术语

软件开发技术常用术语 A.I. 人工智能 A2A integration A2A整合 abstract 抽象的 abstract base class (ABC)抽象基类 abstract class 抽象类 abstraction 抽象、抽象物、抽象性 access 存取、访问 access function 访问函数 access level访问级别 account 账户 action 动作 activate 激活 active 活动的 actual parameter 实参 adapter 适配器 add-in 插件 address 地址 address space 地址空间 address-of operator 取地址操作符 ADL (argument-dependent lookup) ADO(ActiveX Data Object)ActiveX数据对象 advanced 高级的 aggregation 聚合、聚集 algorithm 算法 alias 别名 align 排列、对齐 allocate 分配、配置 allocator分配器、配置器 angle bracket 尖括号 annotation 注解、评注 API (Application Programming Interface) 应用(程序)编程接口 app domain (application domain)应用域 appearance 外观 append 附加 application 应用、应用程序 application framework 应用程序框架 Approximate String Matching 模糊匹配 Arbitrary Precision Arithmetic 高精度计算 architecture 架构、体系结构 archive file 归档文件、存档文件

软件开发技术文档

病案无纸化管理系统 目录: 一、系统简介 二、组织框架 三、物流与功能流程 、系统简介 二、组织框架 1. 机构

1.1、层次 共分三级:公司级、分店部门级和班组织。如图1-1 1.2、现有机构组成 公司级:总经理室; 部门级:分布在具体地区的连锁店(加盟店、特许店),公司各职能部门(人事行政部,财务部、信息管理部、市场营销采购部、企划管理部等)、配送中心班组级:分店和配送中心的管理班组; 1.3、职能与权限 下面我只对与系统开发有关的机构职能进行阐述(按层次说明): 公司级: 1.3.1、总经理室 1.3.1.1、制定公司整体发展策略; 131.2、批准销售计划;协调公司内各部门的工作; 131.3、管理监督和指导下属各分店(部门)的工作; 131.4、决定公司高层人事的变动; 1.3.1.5、分析公司的销售、库存、采购、付款等情况;

1.3.1.6、批准各分店和配送中心的盘点、损益报告及价格政策公司部门级: 1.3.2、人事行政部 1.3. 2.1、负责人员的工资考勤、招聘、培训、建档、考核、晋级、定级、奖惩和解聘; 1.3. 2.2、管理全公司的固定资产以及办公用品 1.3.3、财务部 1.3.3.1、处理公司日常财务事宜; 1.3.3.2、根据销售数据和总经理室或市场营销采购部的要求支付货款,并记录货款流水; 1.3.3.3、根据合同(协议)制定出财务付款计划;对进出发票进行管理; 1.3.3.4、根据分店和配送中心提供的销售、进货、配送、退货、退厂、调价、优惠、损益、报残、盘点数据,对公司进、销、存按进价和售价进行核算; 1.3.4、财务部市场营销采购部 1.3.4.1、实施商品的引进、退货、更新、定位和淘汰; 1.342、制定价格政策(调价和优惠)和促销计划(方案)并付诸实施; 1.3.4.3、为总经理室和其他部门提供相关报表和数据; 1.344、制定付款计划报总经理批准后交财务部实施;

后台管理系统使用手册

新疆勇成信息科技有限公司 易缴通办公系统使用手册 易缴通后台管理系统 1、系统组成:交易查询、交易管理、财务管理、商户系 统、系统维护、系统管理 1.1操作方法:输入网址 http://192.168.102.5:9527/EasyToPayServ/client/loginAction_showmain. action进入程序,输入工号、密码、点击登录。 输入工号 输入密码

1.2易缴通后台管理系统——交易查询模块:分为成功交易、商品成功交易两个子模块 1.2.1成功交易:查询用户的成功缴费明细,输入用户号码,查询用户缴费金额,缴费时间及其缴费终端号码。 例如:在付费号处输入“182*****268”点击查询,即可显示此用户的缴费时间,地点,及交易金额。

1.2.2商品成功交易:查询用户购买商品的成功记录。输入付费手机号、订单号码、或是终端机号码,查询用户购买业务、交易金额、及其交易时间。 例如:输入终端号码“B9910179001 ”点击查询,就会显示在此终端机上成 功交易的商品信息记录。 终端号码输入

1.3易缴通后台管理系统——交易管理模块:分为失败交易、交易监控两个子模块 1.3.1失败交易:是对系统中由于各种原因未能成功的交易记录。 输入号码即可查询用户缴费类型,缴费失败时间、缴费地点及其缴费失败原因。

1.3.2交易监控:显示当前系统中的待发和正在发送的联通、移动、腾讯业务交易信息 1.4易缴通后台管理系统——财务管理模块:终端结账模块 1.4.1终端结账:分为四种状态: 未结账:对终端内资金的反映。在未收取状态下均显示未结账。在此查看结账信息 由此查看正在交易的数据

软件研发部岗位职责

技术部门岗位职责2 软件研发部 2.1 部门职责 1.应用软件开发方向规划; 2.应用软件开发工具选购; 3.软件系统整体方案规划; 4.应用软件系统开发设计; 5.软件系统测试规划实施; 6.应用软件系统项目评审; 7.应用软件项目疑难问题处理; 8.应用软件疑难故障分析处理; 9.软件人力资源组织/考评; 10.应用软件开发团队组织; 11.应用软件工程师集训学习; 12.应用软件体系框架设计与定制; 13.应用软件技术积累与探索; 14.应用软件开发技术规范编制; 15.应用软件的技术资料管理; 16.应用软件知识产权等相关文档编制; 17.应用软件的鉴定、认证; 18.应用软件的质量体系认证。

2.2 部门经理职责 1.全面负责软件研发部日常管理工作; 2.规范软件体系设计,监督相应的设计开发过程; 3.负责建立软件系统资源库,实现资源重用; 4.负责软件研发团队建设和技术人员的招聘、培养与考评; 5.制定和落实部门项目研发开发计划,总体掌握研发进度。 6.确定软件部技术研究方向,组织人员对关键技术进行攻关和积累; 7.指导/评审/公司项目软件部分的开发活动; 8.解决公司产品线中相关的技术难题,提供技术支持; 9.统筹协调软件研发部与其它部门的关系; 10.负责相关技术资料的整理; 11.负责相关知识产权等技术文档编制; 12.完成公司交办的其它工作。 2.3 部门副经理职责 1.协助经理完成日常管理工作; 2.完成分管的方面技术工作; 3.经理不在时,代经理处理部门事务; 4.按计划推进自己负责项目的实施; 5.参与指导/评审/公司项目应用软件部分的开发活动; 6.协助经理进行团队建设、人员培养和考评; 7.负责相关技术领域的技术积累和整理;

BST3.0应用软件开发平台技术手册范本

B S T3.0应用软件开发平台 用户技术手册 南天电子信息产业股份 FED软件中心

目录 概述 第一部分 BST3.0应用软件开发平台基本功能 第一章BST3.0软件开发平台的结构和流程控制第二章系统命令 第三章变量操作命令 第四章字符串操作命令 第五章文件操作命令 第六章屏幕(SCREEN)表配置和命令 第七章存折打印机(PR2) 配置和命令 第八章刷卡器(BP) 配置和命令 第九章FIT表配置和命令 第十章流水打印机配置和命令 第十一章读卡机命令 第十二章IC卡命令和配置表 第十三章辅助模块命令和配置 第十四章通信命令 第十五章添加设备的命令接口 第二部分 BST3.0应用软件二次开发 第一章用户自定义命令的开发 第二章通信动态库的开发 第三章调试 第三部分 BST3.0 SCRIPT使用手册

概述 BST3.0应用软件开发平台是在BST2.0应用软件开发平台的基础上,根据BST 应用需求,增加了屏幕部分对WEB和FLASH的支持,增加了嵌的解释器,支持SCRIPT 编程模式,以及单步和屏幕重试功能。BST3.0应用软件开发平台更稳定,具有更好的扩展性,更容易完成BST 应用系统的开发。为熟练使用BST3.0应用系统软件开发平台进行二次开发,对此平台结构及功能模块应有充分了解,为缩短二次开发周期,请有关人员仔细阅读本手册。 因时间仓促,有不足之处,请使用者谅解,并将需要改善的意见反馈给FED 软件中心,帮助BST3.0应用系统软件开发平台的完善。

第一部分 BST3.0应用软件开发平台基本功能 第一章 BST3.0开发平台的结构和基本功能 1.1 BST3.0软件开发平台的组成部分 BST3.0软件开发平台功能完善、定制灵活、便于二次开发及其测试维护,它是由接口清晰且相互独立的子功能模块有机地结合在一起而行成的。 BST3.0软件开发平台由以下几个大的部分组成: 1.系统主控模块 协调平台部各功能模块的工作。 2.设备控制模块 由一系列与具体设备相应的设备控制模块组成,每一个设备控制模块对应于一个相应的硬件设备模块,在BST应用系统中,设备是一个广义上的设备,除传统上的外部设备如打印机、BP、读卡机等设备外,还有一些特殊的设备,如屏幕设备,在系统中称之为“screen”,它实际上包括了显示器、键盘和鼠标的输入输出,这三个设备是在“screen”设备中统一处理的。另外,还有通信设备(实际上是通信子系统,它被当作一个设备操作)和时间设备(“time”,用于检测退出时间是否到达)等。 3.设备接口模块 负责屏蔽BST应用系统中设备的硬件特性,使用统一的方式(统一的接口)对设备进行操作。应用系统使用设备时通过设备接口模块操作设备,可保证以同样方式操作所有设备。 4.流程控制模块 负责应用系统的流程控制,完成特定交易控制,接受主机命令,保存程序运行状态的文件等。 5.通信处理子系统 以操作设备的方式完成BST应用系统与主机间的通信。

仿制药研发具体流程

仿制药研发具体流程 一、综述 根据药品注册管理办法附件二的规定,仿制药即是已有国家药品标准的原料 药或者制剂,该类药物国内已批准生产或上市销售,经过国内外广泛使用,其安 全性、有效性已经得到较充分证实。 如今的新法规对仿制药提出了新的要求,主要是以下几点: 1、规范对被仿制药品的选择原则,即参比制剂的选择问题。 2、增加批准前生产现场的检查。 3、按照CTD格式要求提供申报资料,使申报规范,统一。 4、强调了对比研究,是判断两者质量是否一致的重要方法之一。 5、强化了工艺验证,目的是确保大生产时能始终如一地按照申报工艺生产 出质量恒定的产品。 6、提出了晶型的要求,晶型的不同,溶解度和稳定性不同。 分析上述新要求和参考指导原则,从而得出结论: 仿制药研发的目的是做到规模化生产,强调本地化,以实现“替代性”。要 求是做到“同”。方法为对比研究。 1.安全性“同”: 对于安全性,口服固体制剂控制的主要为有关物质,而液体制剂除控制有关 物质外,还需对防腐剂、氧化剂等对人体有影响的物质进行控制。因此,必须要 将防腐剂含量测定定入质量标准。 研究的内容:静态上应包括杂质谱的对比,单个杂质的对比,杂质总量的对比。动态上的对比为影响因素试验、加速试验的对比,即稳定性对比研究。 2.有效性“同”: 对于口服固体制剂,口服混悬剂(包括干混悬剂),溶出曲线是主要的控制 指标[1];对于口服溶液剂,防腐剂、矫味剂、氧化剂、增溶剂及稳定剂的选用 非常重要,控制点为口感、渗透压、PH及有无絮凝现象;对于局部用制剂(如 鼻喷雾剂),粒度分布、渗透压及黏度是主要控制指标。 研究的内容:分别进行溶出曲线对比;粒度分布对比;渗透压及黏度对比。 3.晶型: 晶型的不同,药物的溶解度及稳定性有可能不相同,从而导致生物利用度不 尽相同。而某个药物的晶型,文献资料很少;制剂中原料的晶型测定有一定的难度;在做成制剂的过程中,又不能保证晶型不产生变化。 但是,鉴于仿制药研究的特点,溶解度方面可通过溶出曲线对比来说明;稳 定性方面可通过影响因素试验和加速试验的对比来说明。 二、仿制药研发项目汇总(从立项到申报,时间为10—12个月) 项目项目内容所需时间一产品信息调研质量标准、工艺处方等一周二前期准备1、参比制剂的采购:一个月

(完整版)CRM会员管理系统用户手册定稿

CRM会员管理系统用户手册 一、系统简介 CRM会员管理系统用于客户关系管理,利用相应的信息技术以及互联网技术来协调企业与顾客间在销售、营销和服务上的交互,从而提升其管理方式,向客户提供创新式的个性化的客户交互和服务的过程。系统完整记录客户历史信息,随时可以进行调用、查询;通过短信群发、邮件群发等功能,大幅度提升工作效率。 二、开发背景 随着市场的开放,各个企业之间的竞争逐渐加剧,并且也从独立的企业与企业之间的竞争发展成为了一个个群集之间的竞争。企业的客户资源才会是最重要的资源。在21世纪,会员管理得到了网络技术的充分支持。此时客户也有条件要求企业尊重他们,并对服务的质量和及时性等方面提出更高要求。网络时代到来,使得顾客可以有更大的选择权,市场由原来的供方主导转变为顾客主导。企业在处理与客户的关系时,被动地处理顾客的抱怨、解答顾客的问题,顾客服务并未成为整体服务产品的核心。在这种情况下,企业越来越感觉到没有信息技术支持的会员关系管理系统(CRM)力不从心。于是CRM 系统便应运而生。并将成为21世纪企业竞争获胜的通行证。何谓会员关系管理,会员关系管理是企业赢得顾客的高度满意,建立起与客户的长期良好关系所开展的工作。

三、系统概述 在全球一体化、企业互动和以INTERNET为核心的时代,企业面临着如何发展潜在客户,如何将社会关系资源变为企业的销售和发展资源的一系列方法策略。在上述背景下,客户关系管理系统应运而生,系统以客户为中心,实现市场、销售、服务协同工作的管理平台。系统旨在改善企业与客户之间关系的新型运作机制,服务于企业的市场、销售、服务与技术支持等与客户有关的环节。本系统符合中小企业客户管理的实际需求,能快速有效管理公司客户,巩固客户关系,监督管理营销进程,推动企业的快速成长。系统使用了全新的客户关系管理理念,系统从完善的基础信息到客户信息维护,强大的数据查询,基本能够满足中小型企业的需要。提高客户忠诚度和保有率,实现缩短销售周期、降低销售成本、增加收入、扩展市场,从而全面提升企业的赢利能力和竞争力。 四、基本操作部分 1、系统的登录及主界面 如下图:

软件开发常用技术介绍

软件开发技术实现要点介绍 一、OpenStack OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。 OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为基础设施即服务(IaaS)资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用OpenStack前端来设置及管理自己的公共云或私有云。 1.简介 OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。 OpenStack旗下包含了一组由社区维护的开源项目,他们分别是OpenStackCompute(Nova),OpenStackObjectStorage(Swift),以及OpenStackImageService(Glance)。 OpenStackCompute,为云组织的控制器,它提供一个工具来部署云,包括运行实例、管理网络以及控制用户和其他项目对云的访问 (thecloudthroughusersandprojects)。它底层的开源项目名称是Nova,其提供的软件能控制IaaS云计算平台,类似于 AmazonEC2和RackspaceCloudServers。实际上它定义的是,与运行在主机操作系统上潜在的虚拟化机制交互的驱动,暴露基于 WebAPI的功能。 OpenStackObjectStorage,是一个可扩展的对象存储系统。对象存储支持多种应用,比如复制和存档数据,图像或视频服务,存储次级静态数据,开发数据存储整合的新应用,存储容量难以估计的数据,为Web应用创建基于云的弹性存储。

软件开发技术文档编写规范

软件开发技术文档编写规范 在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性。 ◇可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。 ◇项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。 ◇软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。 ◇概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。 ◇详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。 ◇用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。 ◇测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。 ◇测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。 ◇开发进度月报:该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。 ◇项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训。 ◇软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。 ◇软件问题报告:指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软件修改提供准备文档。 ◇软件修改报告:软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。 1可行性分析报告 1 引言 1.1 编写目的:阐明编写可行性研究报告的目的,提出读者对象。

水电表管理系统用户手册教学内容

水电表管理系统 用 户 手 册

目录 第一章运行环境 (2) 第二章水电表管理系统安装、卸载及登陆 (2) 一、安装前的准备工作 (2) 二、安装 (2) 三、卸载 (2) 四、登陆 (3) 第三章各模块功能详解 (4) 一、系统维护 (4) 1.部门设置 (5) 2.用户组定义 (5) 3.用户定义 (6) 二、房间信息管理 (10) 2. 房间管理 (13) 3.购水电管理 (14) 4.现金购水电管理 (14) 5.补水电管理 (15) 6.退水电管理 (15) 7.信息修正 (16) 8.换表管理 (17) 三、制作功能卡 (17) 1.制作授权卡 (17) 2.制作功能卡 (18) 3.读授权卡信息 (19) 4.读功能卡信息 (19) 5.读写卡模式设置 (20) 四、综合查询 (20)

第一章运行环境 运行平台:Windows 2000 第二章水电表管理系统安装、卸载及登陆 一、安装前的准备工作 (1)SQL SERVER 2000光盘、水电表管理软件、读卡器。 (2)将读卡器连接到PC机上。 (3)本系统可以配合[综合收费系统]、[两层一卡通系统]、[三层一卡通系统]使用,也可脱离以上环境运行。根据系统环境的不同,系统会自动在原有系统上创建本系统所需的数据库结构。与[综合收费系统]和[两层一卡通系统]配合时,直接连接主数据库“Accdb”;与[三层一卡通系统]配合时,连接到第三方本地库“LocalCost”(注意:必须先创建第三方本地库LocalCost,然后再运行电控系统)。 二、安装 安装盘为自解压文件,双击后如下图,点击“接受”进行下一步,选择某磁盘根目录后,点击“安装”,即可安装电控软件。安装完成后将在桌面和开始菜单建立“水电表管理系统”的快捷方式。 三、卸载 本系统为绿色软件,将安装目录和快捷方式删除即可完全卸载。

相关文档