ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>   下é¢ä»¥ä¸€ä¸ªå…·ä½“的实例æ¥å¦ä¹ 如何ä‹É用FineReport调用Oracleå˜å‚¨˜q‡ç¨‹çš„ã€?
  ½W¬ä¸€æ¥ï¼ŒOracel定义å˜å‚¨˜q‡ç¨‹
  StScroe是Oraceleæ•°æ®åº“ä¸çš„å¼ è¡¨ï¼Œå…¶ä¸è®°å½•了å¦ç”Ÿçš„æˆç‡Wä¿¡æ¯åQŒè¡¨¾l“构如下åQ?
  
  定义˜q”回列表的å˜å‚¨è¿‡½E?#8212;—ç”׃ºŽoracleå˜å‚¨˜q‡ç¨‹æ²¡æœ‰˜q”回å€û|¼Œå®ƒçš„æ‰€æœ‰è¿”回值都是通过out傿•°æ¥æ›¿ä»£çš„åQŒåˆ—è¡¨åŒæ ·ä¹Ÿä¸ä¾‹å¤–,但由于是集åˆåQŒæ‰€ä»¥ä¸èƒ½ç”¨ä¸€èˆ¬çš„傿•°åQŒå¿…™å»è¦ç”¨pagkage了,所以定义å˜å‚¨è¿‡½E‹è¦åˆ†ä¸¤éƒ¨åˆ†åQ?
 1.建立一个程åºåŒ…åQŒå¦‚下:
CREATE or REPLACE PACKAGE TESTPACKAGE AS   2.建立å˜å‚¨˜q‡ç¨‹åQŒå˜å‚¨è¿‡½E‹äØ“åQ? CREATE or REPLACE PROCEDURE p_STSCORE(Class in varchar2,p_CURSOR out TESTPACKAGE.Test_CURSOR) IS   ½W¬äºŒæ¥ï¼Œè°ƒç”¨å˜å‚¨˜q‡ç¨‹
  1.å¯åЍFineReport设计器,å›_‡»æ•°æ®æºé¢æ¿ï¼Œé€‰æ‹©¿Uæœ‰æ•°æ®æºï¼Œå¼¹å‡º¿Uæœ‰æ•°æ®æºå¯¹è¯æ¡†ã€?
  2.ç‚¹å‡»å¢žåŠ æŒ‰é’®åQŒæ–°å»ÞZ¸€ä¸ªç§æœ‰æ•°æ®æºåQŒå为ds1åQŒæ•°æ®åº“选择为Oracleæ•°æ®æºï¼ŒæŸ¥è¯¢¾cÕdž‹ä¸ºå˜å‚¨è¿‡½E‹ï¼Œåœ¨sql文本框ä¸å†™å¦‚下è¯å¥è°ƒç”¨å˜å‚¨è¿‡½E‹ï¼š
  
  
  3.点击预览按钮åQŒå¯ä»¥é¢„览查询到的数æ®ï¼Œå¦‚下所½Cºï¼š
  
  è‡Ïx¤åQŒFineReport设计器æˆåŠŸè°ƒç”¨Oracleå˜å‚¨˜q‡ç¨‹åQŒæ‚¨å¯ä»¥æ ÒŽ®æŠ¥è¡¨éœ€æ±‚éšå¿ƒæ‰€‹Æ²åœ°è®¾è®¡æŠ¥è¡¨æ ·å¼äº†ã€?
  
需求说明书åQšæ˜¯æ ÒŽ®ä¸ŽçŽ°åœºå®žé™…å®¢æˆ¯‚¿›è¡Œæ²Ÿé€šï¼ŒæŠŠå®¢æˆïLš„需求进行整ç†ï¼ŒCMMI䏿œ‰æ ‡å‡†çš„æ¨¡æ¿ï¼Œæˆ‘å°±ä¸ç»†è¯´äº†åQŒé‡ç‚ÒŽ˜¯ç«™åœ¨å®¢æˆ·çš„角度讲产å“功能ã€?
éœ€æ±‚è§„æ ÆD¯´æ˜Žä¹¦åQšæ˜¯ä»Žä¸šåŠ¡è§„åˆ™è®²èµïLš„åQŒç»†ä¸€ç‚¹åå‘于软äšg的概è¦è®¾è®¡ã€‚是从开å‘ã€æµ‹è¯•的角度去讲产å“功能åQŒé‡Œé¢è¦åŒ…å«åŽŸåž‹ç•Œé¢ã€ä¸šåŠ¡æŽ¥å£ã€æ´»åЍ图½{?
TYPE Test_CURSOR IS REF CURSOR;
END TESTPACKAGE;
BEGIN
OPEN p_CURSOR FOR select * FROM FR.STSCORE where STSCORE.ClassNo=Class;
END p_STSCORE;
clientY 讄¡½®æˆ–获å–é¼ æ ‡æŒ‡é’ˆä½¾|®ç›¸å¯¹äºŽ½H—å£å®¢æˆ·åŒºåŸŸçš?y åæ ‡åQŒå…¶ä¸å®¢æˆ·åŒºåŸŸä¸åŒ…括½H—å£è‡ªèín的控件和滚动æ¡ã€?
offsetX 讄¡½®æˆ–获å–é¼ æ ‡æŒ‡é’ˆä½¾|®ç›¸å¯¹äºŽè§¦å‘事äšg的对象的 x åæ ‡ã€?
offsetY 讄¡½®æˆ–获å–é¼ æ ‡æŒ‡é’ˆä½¾|®ç›¸å¯¹äºŽè§¦å‘事äšg的对象的 y åæ ‡ã€?
screenX 讄¡½®æˆ–获å–获å–é¼ æ ‡æŒ‡é’ˆä½¾|®ç›¸å¯¹äºŽç”¨æˆ·å±å¹•çš?x åæ ‡ã€?
screenY 讄¡½®æˆ–获å–é¼ æ ‡æŒ‡é’ˆä½¾|®ç›¸å¯¹äºŽç”¨æˆ·å±å¹•çš?y åæ ‡ã€?
x 讄¡½®æˆ–获å–é¼ æ ‡æŒ‡é’ˆä½¾|®ç›¸å¯¹äºŽçˆ¶æ–‡æ¡£çš„ x åƒç´ åæ ‡ã€?
y 讄¡½®æˆ–获å–é¼ æ ‡æŒ‡é’ˆä½¾|®ç›¸å¯¹äºŽçˆ¶æ–‡æ¡£çš„ y åƒç´ åæ ‡
实验实例åQˆæ¥æºäºŽ¾|‘络åQŒä¿®æ”¹è¿‡åQ‰ï¼š
view plaincopy to clipboardprint?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<BODY onclick='test()' style="margin:0 0 0 0" mce_style="margin:0 0 0 0">
<font color=green>讄¡½®æˆ–获å–é¼ æ ‡æŒ‡é’ˆä½¾|®ç›¸å¯¹äºŽ½H—å£å®¢æˆ·åŒºåŸŸçš?x,y åæ ‡åQŒå…¶ä¸å®¢æˆ·åŒºåŸŸä¸åŒ…括½H—å£è‡ªèín的控件和滚动æ¡ã€?lt;/font>
<br/>
clientX=<INPUT TYPE="text" NAME="x1">
clientY=<INPUT TYPE="text" NAME="x2">
<br/>
<br/>
<font color=blue>讄¡½®æˆ–获å–é¼ æ ‡æŒ‡é’ˆä½¾|®ç›¸å¯¹äºŽè§¦å‘事äšg的对象的 x,y åæ ‡ã€?</font>
<br/>
offsetX =<INPUT TYPE="text" NAME="x3">
offsetY =<INPUT TYPE="text" NAME="x4">
<br/>
<br/>
<font color=green>讄¡½®æˆ–获å–获å–é¼ æ ‡æŒ‡é’ˆä½¾|®ç›¸å¯¹äºŽç”¨æˆ·å±å¹•çš?x,y åæ ‡ </font>
<br/>
screenX =<INPUT TYPE="text" NAME="x5">
screenY =<INPUT TYPE="text" NAME="x6">
<br/>
<br/>
<font color=blue>讄¡½®æˆ–获å–é¼ æ ‡æŒ‡é’ˆä½¾|®ç›¸å¯¹äºŽçˆ¶æ–‡æ¡£çš„ x,y åƒç´ åæ ‡ã€?lt;/font>
<br/>
x=<INPUT TYPE="text" NAME="x7">
y=<INPUT TYPE="text" NAME="x8">
<br/>
<br/>
<TABLE align="center" width=400 height=500 border=1 style="border-style:none" mce_style="border-style:none" CELLPADDING=0 CELLSPACING=0 onclick='test()'>
<TR>
<TD>a</TD>
<TD>b</TD>
</TR>
<TR>
<TD>c</TD>
<TD>d</TD>
</TR>
</TABLE>
</body>
</html>
<SCRIPT LANGUAGE="JavaScript">
<!--
function test(){
document.all.x1.value=event.clientX;
document.all.x2.value=event.clientY;
document.all.x3.value=event.offsetX;
document.all.x4.value=event.offsetY;
document.all.x5.value=event.screenX;
document.all.x6.value=event.screenY;
document.all.x7.value=event.x;
document.all.x8.value=event.y;
}
//-->
</SCRIPT>
实验¾l“果分æžåQ?
clientX å’Œx值在实验˜q‡ç¨‹ä¸ï¼Œæ²¡æœ‰å‘现å€ég¸ä¸€æ ïLš„例ååQŒæ‰€ä»¥æˆ‘è®¤äØ“å®ƒä»¬åœ¨æ•ˆæžœä¸Šæ˜¯ä¸€æ ïLš„åQ?
offsetX 是相对于当剽H—å£å†…,本触å‘事件对象(或者是æŸä¸€åŒºåŸŸåQ‰è€Œè¨€åQŒå¦‚本例ä¸ä½ å•击a区域åQŒå€¼æ˜¯ç›¸å¯¹äºŽa所åœ?lt;td>区域而言åQŒåŒç†båQŒcåQŒdéƒ½ä¸€æ øP¼
clientX åQŒxåQŒoffsetXå…±åŒç‚¹ï¼šå®ƒä»¬éƒ½æ˜¯æƒ›_¯¹äºŽç›¸å¯¹ä½¾|®ï¼Œåªæ˜¯offsetX是相对于触å‘对象的父容器而言åQ?
screenX是相对与客户端显½Cºå™¨è€Œè¨€åQŒæ˜¯¾l对ä½ç½®åQ?
¾l§æ‰¿
指的是一个类åQˆç§°ä¸ºå¾c…R€å接å£åQ‰ç‘ô承å¦å¤–的一个类åQˆç§°ä¸ºçˆ¶¾c…R€çˆ¶æŽ¥å£åQ‰çš„功能åQŒåƈå¯ä»¥å¢žåŠ å®ƒè‡ªå·Þqš„æ–°åŠŸèƒ½çš„èƒ½åŠ›åQŒç‘ô承是¾cÖM¸Ž¾cÀLˆ–者接å£ä¸ŽæŽ¥å£ä¹‹é—´æœ€å¸¸è§çš„å…³¾p»ï¼›åœ¨Java䏿¤¾cÕd…³¾p»é€šè¿‡å…³é”®å—extendsæ˜Žç¡®æ ‡è¯†åQŒåœ¨è®¾è®¡æ—¶ä¸€èˆ¬æ²¡æœ‰äº‰è®®æ€§ï¼›
实现
指的是一个class¾cÕd®žçްinterface接å£åQˆå¯ä»¥æ˜¯å¤šä¸ªåQ‰çš„功能åQ›å®žçŽ°æ˜¯¾cÖM¸ŽæŽ¥å£ä¹‹é—´æœ€å¸¸è§çš„å…³¾p»ï¼›åœ¨Java䏿¤¾cÕd…³¾p»é€šè¿‡å…³é”®å—implementsæ˜Žç¡®æ ‡è¯†åQŒåœ¨è®¾è®¡æ—¶ä¸€èˆ¬æ²¡æœ‰äº‰è®®æ€§ï¼›
ä¾èµ–
å¯ä»¥½Ž€å•çš„ç†è§£åQŒå°±æ˜¯ä¸€ä¸ªç±»A使用åˆîCº†å¦ä¸€ä¸ªç±»BåQŒè€Œè¿™¿Uä‹É用关¾pÀL˜¯å…ähœ‰å¶ç„¶æ€§çš„ã€ã€äÍæ—¶æ€§çš„ã€éžå¸¸å¼±çš„,但是B¾cÈš„å˜åŒ–会媄å“到AåQ›æ¯”如æŸäºø™¦˜q‡æ²³åQŒéœ€è¦å€Ÿç”¨ä¸€æ¡èˆ¹åQŒæ¤æ—¶äh与船之间的关¾pÕd°±æ˜¯ä¾èµ–;表现在代ç 层é¢ï¼Œä¸ºç±»Bä½œäØ“å‚æ•°è¢«ç±»A在æŸä¸ªmethodæ–ÒŽ³•ä¸ä‹É用;
å…Œ™”
ä»–ä½“çŽ°çš„æ˜¯ä¸¤ä¸ªç±»ã€æˆ–者类与接å£ä¹‹é—´è¯ä¹‰çñ”别的一¿U强ä¾èµ–关系åQŒæ¯”如我和我的朋å‹ï¼›˜q™ç§å…³ç³»æ¯”ä¾èµ–更强ã€ä¸å˜åœ¨ä¾èµ–关系的å¶ç„¶æ€§ã€å…³¾pÖM¹Ÿä¸æ˜¯ä¸´æ—¶æ€§çš„åQŒä¸€èˆ¬æ˜¯é•¿æœŸæ€§çš„åQŒè€Œä¸”åŒæ–¹çš„å…³¾pÖM¸€èˆ¬æ˜¯òq³ç‰çš„ã€å…³è”å¯ä»¥æ˜¯å•å‘ã€åŒå‘çš„åQ›è¡¨çŽ°åœ¨ä»£ç 层é¢åQŒäؓ被关è”ç±»B以类属性的形å¼å‡ºçŽ°åœ¨å…³è”ç±»Aä¸ï¼Œä¹Ÿå¯èƒ½æ˜¯å…Œ™”¾c»Aå¼•ç”¨äº†ä¸€ä¸ªç±»åž‹äØ“è¢«å…³è”ç±»B的全局å˜é‡åQ?/p>
èšåˆ
èšåˆæ˜¯å…³è”å…³¾pÈš„一¿Uç‰¹ä¾‹ï¼Œä»–ä½“çŽ°çš„æ˜¯æ•´ä½“ä¸Žéƒ¨åˆ†ã€æ‹¥æœ‰çš„关系åQŒå³has-a的关¾p»ï¼Œæ¤æ—¶æ•´ä½“与部分之间是å¯åˆ†¼›Èš„åQŒä»–们å¯ä»¥å…·æœ‰å„自的生命周期åQŒéƒ¨åˆ†å¯ä»¥å±žäºŽå¤šä¸ªæ•´ä½“对象,也å¯ä»¥äؓ多个整体对象å…׃ínåQ›æ¯”如计½Ž—机与CPUã€å…¬å怸Žå‘˜å·¥çš„å…³¾pȉåQ›è¡¨çŽ°åœ¨ä»£ç 层é¢åQŒå’Œå…Œ™”关系是一致的åQŒåªèƒ½ä»Žè¯ä¹‰¾U§åˆ«æ¥åŒºåˆ†ï¼›
¾l„åˆ
¾l„åˆä¹Ÿæ˜¯å…Œ™”关系的一¿U特例,他体现的是一¿Ucontains-a的关¾p»ï¼Œ˜q™ç§å…³ç³»æ¯”èšåˆæ›´å¼ºï¼Œä¹Ÿç§°ä¸ºå¼ºèšåˆåQ›ä»–åŒæ ·ä½“现整体与部分间的关¾p»ï¼Œä½†æ¤æ—¶æ•´ä½“与部分是ä¸å¯åˆ†çš„,整体的生命周期结æŸä¹Ÿž®±æ„味ç€éƒ¨åˆ†çš„生命周期结æŸï¼›æ¯”å¦‚ä½ å’Œä½ çš„å¤§è„‘åQ›è¡¨çŽ°åœ¨ä»£ç 层é¢åQŒå’Œå…Œ™”关系是一致的åQŒåªèƒ½ä»Žè¯ä¹‰¾U§åˆ«æ¥åŒºåˆ†ï¼›
对于¾l§æ‰¿ã€å®žçŽ°è¿™ä¸¤ç§å…³ç³»æ²¡å¤šž®‘疑问,他们体现的是一¿Uç±»ä¸Žç±»ã€æˆ–者类与接å£é—´çš„纵å‘å…³¾p»ï¼›å…¶ä»–的四者关¾pÕdˆ™ä½“现的是¾cÖM¸Ž¾c…R€æˆ–者类与接å£é—´çš„å¼•ç”¨ã€æ¨ªå‘å…³¾p»ï¼Œæ˜¯æ¯”较难区分的,有很多事物间的关¾p»è¦æƒ›_‡†å¤‡å®šä½æ˜¯å¾ˆéš¾çš„,å‰é¢ä¹ŸæåˆŽÍ¼Œ˜q™å‡ ¿Uå…³¾p»éƒ½æ˜¯è¯ä¹‰çñ”别的åQŒæ‰€ä»¥ä»Žä»£ç 层é¢òq¶ä¸èƒ½å®Œå…¨åŒºåˆ†å„¿Uå…³¾p»ï¼›ä½†æ€Èš„æ¥è¯´åQŒåŽå‡ ç§å…³ç³»æ‰€è¡¨çŽ°çš„å¼ºå¼Þq¨‹åº¦ä¾‹Æ¡äØ“åQšç»„å?gt;èšåˆ>å…Œ™”>ä¾èµ–
CRPåQšCapacity Requirment Planning 能力需求计åˆ?/p>
MRPåQšMaterials Requirement Planning 物料需求计åˆ?/p>
CRMåQšCustomer Relationship Management 客户关系½Ž¡ç†
ERMåQšEnterprise Relationship Management ä¼ä¸šå…³ç³»½Ž¡ç†
SCMåQšSupply Chain Management 供应铄¡®¡ç?/p>
ESBåQšEnterprise Services Bus ä¼ä¸šæœåŠ¡æ€Èº¿
  class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName"
  value="com.mysql.jdbc.Driver">
  </property>
  <property name="url"
  value="jdbc:mysql://localhost:3306/mysql">
  </property>
  <property name="username" value="root"></property>
  <property name="password" value="root"></property>
  </bean>
ã€€ã€€å¦‚æžœæ”¹äØ“C3P0åˆ™äØ“åQ?/p>
  <bean id="propertyConfigurer"
  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="location">
  <value>classpath:jdbc.properties</value>
  </property>
  </bean>
  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
  <property name="driverClass" value="com.mysql.jdbc.Driver" />
  <property name="jdbcUrl" value="${jdbc.url}" />
  <property name="user" value="${jdbc.username}" />
  <property name="password" value="${jdbc.password}" />
  <property name="autoCommitOnClose" value="true"/>
  <property name="checkoutTimeout" value="${cpool.checkoutTimeout}"/>
  <property name="initialPoolSize" value="${cpool.minPoolSize}"/>
  <property name="minPoolSize" value="${cpool.minPoolSize}"/>
  <property name="maxPoolSize" value="${cpool.maxPoolSize}"/>
  <property name="maxIdleTime" value="${cpool.maxIdleTime}"/>
  <property name="acquireIncrement" value="${cpool.acquireIncrement}"/>
  <property name="maxIdleTimeExcessConnections" value="${cpool.maxIdleTimeExcessConnections}"/>
  </bean>
  jdbc.propertiesåQ?/p>
  # Database URL
  jdbc.url=jdbc:mysql://192.168.0.25"3306/db
  # Database login information
  jdbc.username=root
  jdbc.password=
  # Time to wait for an open connection before timing out
  # (in milliseconds)
  cpool.checkoutTimeout=5000
  # Connection pool size
  cpool.minPoolSize=5
  cpool.maxPoolSize=40
  # How long to keep unused connections around(in seconds)
  # Note: MySQL times out idle connections after 8 hours(28,800 seconds)
  # so ensure this value is below MySQL idle timeout
  cpool.maxIdleTime=25200
  # How long to hang on to excess unused connections after traffic spike
  # (in seconds)
  cpool.maxIdleTimeExcessConnections=1800
  # Acquiring new connections is slow, so eagerly retrieve extra connections
  # when current pool size is reached
  cpool.acquireIncrement=5
  或者将上é¢çš?部分写æˆä¸€ä¸ªï¼š
  <bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
  <property name="driverClass">
  <value>${jdbc.driverClassName}</value>
  </property>
  <property name="jdbcUrl">
  <value>${jdbc.url}</value>
  </property>
  <property name="user">
  <value>${jdbc.username}</value>
  </property>
  <property name="password">
  <value>${jdbc.password}</value>
  </property>
  <property name="initialPoolSize"><value>10</value></property>
  <property name="minPoolSize"><value>5</value></property>
  <property name="maxPoolSize"><value>30</value></property>
  <property name="acquireIncrement"><value>5</value></property>
  <property name="maxIdleTime"><value>10</value></property>
  <property name="maxStatements"><value>0</value></property>
  </bean>
  <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
  <property name="jndiName">
  <value>java:comp/env/jndi/xxx</value>
  </property>
  </bean>
  如果在应用里有独自ä‹É用hibernateåQŒåˆ™åœ¨springä¸é…¾|®hibernate˜qžæŽ¥æ± ,使用C3P0如下åQ?/p>
  <bean id="DataSource"
  class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName">
  <value>oracle.jdbc.driver.OracleDriver</value>
  </property>
  <property name="url">
  <value>jdbc:oracle:thin:@172.16.20.241:1521:dbsvr</value>
  </property>
  <property name="username">
  <value>hl3000</value>
  </property>
  <property name="password">
  <value>hldw3101</value>
  </property>
  </bean>
  <bean id="SessionFactory"
  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource">
  <ref bean="DataSource" />
  </property>
  <property name="hibernateProperties">
  <props>
  <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
  <prop key="hibernate.show_sql">true</prop>
  <!-- C3P0˜qžæŽ¥æ± é…¾|?nbsp; -->
  <prop key="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</prop>
  <prop key="hibernate.c3p0.max_size">20</prop>
  <prop key="hibernate.c3p0.min_size">5</prop>
  <prop key="hibernate.c3p0.timeout">120</prop>
  <prop key="hibernate.c3p0.max_statements">100</prop>
  <prop key="hibernate.c3p0.idle_test_period">120</prop>
  <prop key="hibernate.c3p0.acquire_increment">2</prop>
  <prop key="myeclipse.connection.profile">hl3000</prop>
  </props>
  </property>
  <property name="mappingResources">
  <list>
  <value>com/hl3000/DBLogic/POJO/PermUserAccount.hbm.xml</value>
  </list>
  </property>
  </bean>
  springä¸é…¾|®ç‹¬ç«‹ä‹É用hibernateæ—¶ä‹É用jndi的酾|®ï¼š
  hibernate.dialect = net.sf.hibernate.dialect.MySQLDialect
  hibernate.connection.datasource=java:comp/env/jdbc/SAMPLEDB
  hibernate.show_sql=true
  如果是ä‹É用ä¸å—管ç†çš„Servlet容器如TomcatåQŒä¹Ÿå¯ä»¥ä½¿ç”¨jndi的方å¼é…¾|®ï¼Œéœ€è¦åœ¨tomcatä¸é…¾|®æ•°æ®æºåQŒåœ¨server.xmlä¸å¢žæ”¹å¤§è‡´å¦‚下:
  <Resource name="jdbc/testDb" auth="Container"
  type="javax.sql.DataSource"/>
  <ResourceParams name="jdbc/testDB">\\æ•°æ®æºçš„åç§°
  <parameter><name>username</name><value>root</value></parameter>æ•°æ®åº“çš„åç§°
  <parameter><name>password</name><value>password</value></parameter>æ•°æ®åº“密ç ?/p>
  <parameter><name>driverClassName</name>
  <value>org.gjt.mm.mysql.Driver</value></parameter>\\è¦åŠ è½½çš„é©±åŠ¨
  <parameter><name>url</name>
  <value>jdbc:mysql://172.20.0.73/rk?</value></parameter>\\è¦è¿žæŽ¥çš„URL
  </ResourceParams>
开呿–‡æ¡£åŒ…æ‹¬ï¼šã€ŠåŠŸèƒ½è¦æ±‚》ã€ã€ŠæŠ•æ ‡æ–¹æ¡ˆã€‹ã€ã€Šéœ€æ±‚分æžã€‹ã€ã€ŠæŠ€æœ¯åˆ†æžã€‹ã€ã€Šç³»¾lŸåˆ†æžã€‹ã€ã€Šæ•°æ®åº“文档》ã€ã€ŠåŠŸèƒ½å‡½æ•°æ–‡æ¡£ã€‹ã€ã€Šç•Œé¢æ–‡æ¡£ã€‹ã€ã€Šç¼–译手册》ã€ã€?QA 文档》ã€ã€Šé¡¹ç›®æ€È»“》ç‰ã€?
äº§å“æ–‡æ¡£åŒ…括åQšã€Šäñ”å“简介》ã€ã€Šäñ”哿¼”½Cºã€‹ã€ã€Šç–‘问解½{”》ã€ã€ŠåŠŸèƒ½ä»‹¾l》ã€?《技术白皮书》ã€ã€Šè¯„‹¹‹æŠ¥å‘Šã€‹ã€ã€Šå®‰è£…手册》ã€ã€Šä‹É用手册》ã€ã€Šç»´æŠ¤æ‰‹å†Œã€‹ã€?《用æˆähŠ¥å‘Šã€‹ã€ã€Šé”€å”®åŸ¹è®ã€‹ç‰ã€?
一ã€å¼€å‘æ–‡æ¡?
1. ã€ŠåŠŸèƒ½è¦æ±‚ã€?-- æ¥æºäºŽå®¢æˆ¯‚¦æ±‚和市场调查åQŒæ˜¯è½¯äšgå¼€å‘䏿œ€æ—©æœŸçš„一个环节。客æˆähå‡ÞZ¸€ä¸ªæ¨¡¾pŠçš„功能概念åQŒæˆ–è€…è¦æ±‚解决一个实际问题,或者å‚照匾c»èÊY件的一个功能。有软äšg¾l验的客戯‚¿˜ä¼šæä¾›æ¯”较详¾l†çš„æŠ€æœ¯è§„范书åQŒæŠŠä»–ä»¬çš„è¦æ±‚全部列表书写在文档ä¸ï¼Œå¿…è¦æ—¶åŠ ä»¥å›¾è¡¨è§£è¯´ã€‚è¿™ä»½æ–‡æ¡£æ˜¯éœ€æ±‚åˆ†æžçš„基础ã€?
2. ã€ŠæŠ•æ ‡æ–¹æ¡ˆã€?-- æ ÒŽ®ç”¨æˆ·çš„åŠŸèƒ½è¦æ±‚,¾lè¿‡ä¸Žæ‹›æ ‡æ–¹æ²Ÿé€šå’Œ¼‹®è®¤åQŒæŠ€æœ¯ähå‘˜å¼€å§‹ä¹¦å†™ã€ŠæŠ•æ ‡æ–¹æ¡ˆã€‹ï¼Œæ–ÒŽ¡ˆä¹¦ä¸€èˆ¬åŒ…æ‹¬ä»¥ä¸‹å‡ ä¸ªé‡è¦çš„ç« èŠ‚åQ?
å‰è¨€ -- ™å¹ç›®èƒŒæ™¯ã€å…¬å¸èƒŒæ™¯å’Œä¸šåŠ¡ã€æŠ€æœ¯äh员结构ã€å…¬å¸çš„æˆåŠŸæ¡ˆä¾‹ä»‹ç»½{‰ã€?
需求分æž?-- ™å¹ç›®è¦æ±‚ã€èÊY件结构ã€åŠŸèƒ½åˆ—è¡¨ã€åŠŸèƒ½æ˜q°ã€æ³¨æ„事™å¹ç‰ã€?
技术方æ¡?-- æ€ÖM½“è¦æ±‚å’ŒæŒ‡å¯¼æ€æƒ³ã€æŠ€æœ¯è§£å†Ïx–¹æ¡ˆã€èÊYä»¶å¼€å‘åã^å°ã€ç½‘¾lœç»“构体¾pȉã€?
™å¹ç›®½Ž¡ç† -- æè¿°å…¬å¸çš„èÊY件开呿µ½E‹ã€å·¥½E‹å®žæ–½æœåŠ¡ã€ç»„¾l‡å’Œäººå‘˜åˆ†å·¥ã€å¼€å‘进度控制ã€èÊYä»¶è´¨é‡ä¿è¯ã€é¡¹ç›®éªŒæ”¶å’Œäººå‘˜åŸ¹è®ã€èÊY件资料文档ç‰ã€?
技术支æŒ?-- å…¬å¸çš„æŠ€æœ¯æ”¯æŒå’ŒæœåС介ç»ã€æœåŠ¡å®—æ—¨å’Œç›®æ ‡ã€æœåŠ¡çñ”别和å“应旉™—´ã€æŠ€æœ¯æœåŠ¡åŒºåŸŸã€æŠ€æœ¯æœåŠ¡æœŸé™ã€æŽˆæƒç”¨æˆ¯‚”¾pÖMh½{‰ã€?
¾pÈ»ŸæŠ¥äh -- 软ã€ç¡¬ä»¶åã^å°æŠ¥ä»·åˆ—è¡¨ã€èÊYä»¶å¼€å‘费用ã€ç³»¾lŸç»´æŠ¤è´¹ç”¨ç‰ã€?
™å¹ç›®˜q›åº¦ -- 整个™å¹ç›®çš„进度计划,包括½{„¡ÖvåˆåŒã€é¡¹ç›®å¯åЍã€éœ€æ±‚分æžã€ç³»¾lŸåˆ†æžã€ç¨‹åºå¼€å‘ã€æµ‹è¯•维护ã€ç³»¾lŸé›†æˆã€ç”¨æˆ·éªŒæ”¶ã€ç”¨æˆ·åŸ¹è®ç‰æ¥éª¤çš„æ—¶é—´è§„划ã€?
3. 《需求分æžã€?-- åŒ…æ‹¬äº§å“æ¦‚è¿°ã€ä¸»è¦æ¦‚å¿üc€æ“作浽E‹ã€åŠŸèƒ½åˆ—è¡¨å’Œè§£è¯´ã€æ³¨æ„事™åV€ç³»¾lŸçŽ¯å¢ƒç‰ã€‚ä»¥ã€ŠåŠŸèƒ½è¦æ±‚ã€‹äØ“åŸºç¡€åQŒè¿›è¡Œè¯¦¾l†çš„åŠŸèƒ½åˆ†æž ( 包括客户æå‡ºçš„è¦æ±‚å’Œæ ÒŽ®å¼€å‘ç»éªŒå¾è®®çš„功能 ) åQŒåˆ—å‡ºæœ¬äº§å“æ˜¯ä»€ä¹ˆï¼Œæœ‰ä»€ä¹ˆç‰¹ŒDŠçš„æ¦‚念åQŒåŒ…括那些功能分¾c»ï¼Œéœ€è¦å…·å¤‡ä»€ä¹ˆåŠŸèƒ½ï¼Œè¯¥åŠŸèƒ½çš„æ“作如何åQŒå®žçŽ°çš„æ—¶å€™è¯¥æ³¨æ„ä»€ä¹ˆç»†èŠ‚ï¼Œå®¢æˆ·æœ‰ä»€ä¹ˆè¦æ±‚,¾pÈ»Ÿ˜qè¡ŒçŽ¯å¢ƒçš„è¦æ±‚ç‰ã€‚这里的功能æè¿°è·Ÿä»¥åŽçš„使用手册是一致的ã€?/p>
4. 《技术分æžã€?-- åŒ…æ‹¬æŠ€æœ¯é€‰åž‹ã€æŠ€æœ¯æ¯”è¾ƒã€å¼€å‘äh员ã€å…³é”®æŠ€æœ¯é—®é¢˜çš„è§£å†³ã€æŠ€æœ¯é£Žé™©ã€æŠ€æœ¯å‡¾U§æ–¹å‘ã€æŠ€æœ¯æ–¹æ¡ˆè¯„ä»øP¼Œç«žäº‰å¯Òމ‹æŠ€æœ¯åˆ†æžç‰ã€‚以《需求分æžã€‹äؓ基础åQŒè¿›è¡Œè¯¦¾l†çš„æŠ€æœ¯åˆ†æž?( 产å“的性能和实现方æ³?) åQŒåˆ—出本™å¹ç›®éœ€è¦ä‹É用什么技术方案,ä¸ÞZ»€ä¹ˆï¼Œæœ‰å“ªäº›æŠ€æœ¯é—®é¢˜è¦è§£å†³ åQŒä¼°è®¡å¼€å‘期间会¼„°åˆ°ä»€ä¹ˆå›°éš¾ï¼ŒæŠ€æœ¯æ–¹æ¡ˆä»¥åŽå¦‚何凾U§ï¼Œå¯ÒŽœ¬™å¹ç›®çš„æŠ€æœ¯æœ‰ä»€ä¹ˆè¯„ä»ïL‰ã€?/p>
5. 《系¾lŸåˆ†æžã€?-- åŒ…æ‹¬åŠŸèƒ½å®žçŽ°ã€æ¨¡å—组æˆã€åŠŸèƒ½æµ½E‹å›¾ã€å‡½æ•°æŽ¥å£ã€æ•°æ®å—å…¸ã€èÊYä»¶å¼€å‘需è¦è€ƒè™‘的儿U问题ç‰ã€‚以《需求分æžã€‹äؓ基础åQŒè¿›è¡Œè¯¦¾l†çš„¾pÈ»Ÿåˆ†æž ( 产å“的开å‘和实现æ–ÒŽ³• ) åQŒä¼°è®¡å¼€å‘æœŸé—´éœ€è¦æŠŠä»€ä¹ˆé—®é¢˜è¯´æ˜Žç™½åQŒç¨‹åºå‘˜æ ÒŽ®ã€Šç³»¾lŸåˆ†æžã€‹ï¼Œå¼€å§‹åœ¨™å¹ç›®ä¸È®¡çš„带领下˜q›è¡Œ¾~–ç ã€?/p>
6. 《数æ®åº“文档ã€?-- 包括数æ®åº“å¿U°ã€è¡¨åã€å—ŒDµåã€å—ŒD늱»åž‹ã€å—ŒDµè¯´æ˜Žã€å¤‡æ³¨ã€å—ŒD‰|•°å€ÆD®¡½Ž—å…¬å¼ç‰ã€‚以《系¾lŸåˆ†æžã€‹äؓ基础åQŒè¿›è¡Œè¯¦¾l†çš„æ•°æ®åº“è®¾è®¡ã€‚å¿…è¦æ—¶å¯ä»¥ç”¨å›¾è¡¨è§£è¯ß_¼Œç‰¹åˆ«æ˜¯å…³¾pÀL•°æ®åº“ã€?/p>
7. 《功能函数文档ã€?-- 包括å˜é‡åã€å˜é‡åˆæ¤ã€åŠŸèƒ½ï¼Œå‡½æ•°åï¼Œå‚æ•°åQŒå¦‚何调用ã€å¤‡æ³¨ã€æ³¨æ„事™å¹ç‰ã€‚以《系¾lŸåˆ†æžã€‹äؓ基础åQŒè¿›è¡Œè¯¦¾l†çš„说明åQŒåˆ—出哪个功能涉åŠå¤šž®‘个函数åQŒä»¥ä¾¿ä»¥åŽç¨‹åºå‘˜ä¿®æ”¹ã€æŽ¥æ‰‹å’Œæ‰©å±•ã€?
8. ã€Šç•Œé¢æ–‡æ¡£ã€?-- 包括软äšg外观ã€ç•Œé¢ç´ æã€ç¼–辑工兗÷€æ–‡ä»¶åã€èœå•ã€æŒ‰é’®å’Œå…¶å®ƒç•Œé¢éƒ¨äšgçš„è¦æ±‚,˜q™é‡Œä¸ŽèÊY件完æˆåŽçš„è¿è¡Œç•Œé¢æ˜¯ä¸€è‡´çš„ã€?
9. 《编译手册ã€?-- 包括æœåŠ¡å™¨ç¼–è¯‘çŽ¯å¢ƒã€æ“作系¾lŸã€ç¼–译工兗÷€?GNU çš?C++ ¾~–译器版本信æ¯ã€ç›®å½•说明ã€ç¨‹åºç”Ÿæˆã€æº½E‹åºæ–‡äšg列表ã€?Makefile é…ç½®åŠå…¶ç›¸å…³½E‹åºçš„对应关¾pÕdˆ—表。客æˆïL«¯çš„编译过½E‹ã€ç¼–译结果ã€ç¼–译示例ã€ç¼–è¯‘çŽ¯å¢ƒã€æ“作系¾lŸã€ç¼–译工兗÷€æºæ–‡äšg列表和制作安装程åºçš„˜q‡ç¨‹ã€?
10. ã€?QA 文档ã€?-- åŒ…æ‹¬äº§å“½Ž€ä»‹ã€äñ”å“原ç†ã€äñ”å“功能列表ã€åŠŸèƒ½æ˜q°ã€åŠŸèƒ½æµ½E‹ã€æ‰§è¡Œç»“æžœã€æ•°æ®åº“¾l“æž„ã€æµ‹è¯•è¦æ±‚ç‰åQŒæä¾›ç»™è½¯äšg‹¹‹è¯•人员使用ã€?
11. 《项目æ€È»“ã€?-- 包括™å¹ç›®½Ž€ä»‹ã€é¡¹ç›®å‚与ähå‘˜å’Œå¼€å‘æ—¶é—´ã€é¡¹ç›®é£Žé™©ç®¡ç†è¿‡½E‹ã€é¡¹ç›®åŠŸèƒ½åˆ—è¡¨ã€é¡¹ç›®ç»“构特ç‚V€æŠ€æœ¯ç‰¹ç‚V€å¯¹™å¹ç›®çš„凾U§å¾è®®ã€å¯¹ä»¥åŽçš„é¡¹ç›®çš„å»ø™®®ã€ähå‘˜ç´ è´¨æƒ…å†ëЉã€?
二ã€äñ”哿–‡æ¡?
1. 《äñ”å“简介ã€?-- 包括公å¸èƒŒæ™¯ã€äñ”哿¦‚å¿üc€é€‚用范围ã€äñ”å“功能ã€åŠŸèƒ½ç‰¹ç‚V€è¿è¡Œè¦æ±‚和公å¸è”系地å€ã€?
2. 《äñ”哿¼”½Cºã€?-- åŒ…æ‹¬å…¬å¸½Ž€ä»‹ã€äñ”å“背景ã€äñ”哿˜q°ã€äñ”å“特ç‚V€äñ”å“作用ã€é€‚用范围ã€ä‹É用分æžã€åŠŸèƒ½æ¨¡å—ã€è§£å†³é—®é¢˜ã€åˆä½œä¼™ä¼´ã€æˆåŠŸæ¡ˆä¾‹ç‰ã€‚一般用 Power
point 或è€?VCD 录制软äšg实现ã€?
3. 《疑问解½{”ã€?-- 列出用户兛_¿ƒçš„é—®é¢˜å’Œå¤„ç†æ–ÒŽ³•。用于解½{”èÊYä»¶çš„æ“作功能和解决用æˆïLš„疑难问题ã€?
4. 《功能介¾lã€?-- 以《需求分æžã€‹äؓ书写基础åQŒåŒ…括èÊY件介¾lã€èÊY件结构ã€åŠŸèƒ½åˆ—è¡¨ã€åŠŸèƒ½æ˜q°å’Œå…¬å¸è”系地å€ã€?
5. 《技术白皮书ã€?-- 以《技术分æžã€‹äؓ书写基础åQŒåŒ…æ‹¬åŠŸèƒ½å®žçŽ°ã€æŠ€æœ¯é€‰åž‹ã€å…³é”®æŠ€æœ¯é—®é¢˜çš„è§£å†³ã€æŠ€æœ¯æ–¹æ¡ˆç‰¹ç‚V€æŠ€æœ¯å‡¾U§æ–¹å‘ç‰ã€?
6. 《评‹¹‹æŠ¥å‘Šã€?-- ½W¬ä¸‰æ–ÒŽƒå¨è¯„‹¹‹æŠ¥å‘Šã€‚包括评‹¹‹ç›®çš„ã€è¯„‹¹‹èŒƒå›´ã€è¯„‹¹‹çŽ¯å¢ƒã€è¯„‹¹‹å†…å®V€å®ž‹¹‹æ•°æ®ã€æ€§èƒ½è¡¨çްã€ç»“果分æžå’Œè¯„测æ€È»“½{‰ã€?
7. 《安装手册ã€?-- 包括¾pÈ»ŸçŽ¯å¢ƒã€è¿è¡Œåã^å°ã€äñ”å“安装过½E‹ã€åˆå§‹çŽ¯å¢ƒè®¾¾|®ã€å®‰è£…记录ç‰ã€?
8. 《ä‹É用手册ã€?-- åŒ…æ‹¬äº§å“½Ž€ä»‹ã€åŠŸèƒ½åˆ—è¡¨ã€åŠŸèƒ½æ˜q°å’Œè§£é‡Šã€åŠŸèƒ½æ“作ã€å®¢æˆähœåŠ¡å’Œè”系方弽{‰ã€?
9. 《维护手册ã€?-- åŒ…æ‹¬äº§å“½Ž€ä»‹ã€ç³»¾lŸé¡»çŸ¥ã€åˆå§‹çŽ¯å¢ƒè®¾¾|®ã€ç³»¾lŸé…¾|®ã€æ•°æ®ç®¡ç†å’Œå¤‡ä†¾ã€æŠ€æœ¯é—®é¢˜è§£½{”å’Œè”系方弽{‰ã€?
10. 《用æˆähŠ¥å‘Šã€?-- åŒ…æ‹¬äº§å“½Ž€ä»‹ã€è´ä¹°æ—¶é—´ã€ä‹É用目的ã€ä‹É用时间ã€ä‹É用地ç‚V€å®žæ–½è¿‡½E‹ã€å‡ºçŽ°é—®é¢˜å’Œè§£å†³ã€äñ”哿€È»“å’Œå¾è®®ç‰ã€?
11. 《销售培è®ã€?-- 包括™å¹ç›®½Ž€ä»‹ã€äñ”å“功能ã€äñ”å“特ç‚V€å•†ä¸šä¼˜åŠÑ€ç³»¾lŸè¿è¡ŒçŽ¯å¢ƒã€é€‚用范围ã€ç›®æ ‡å®¢æˆïL‰ã€?/p>