部门技术培训文档,原来是ppt,无法加附件,所以拷贝出来了。

CRM实施组新员工培训
实施组职责
è     新项目实施
         签单项目的实施
         当前项目:山西2期、山东2
è      老项目维护
          当前项目:天津2 期、集团总部一站、计费
è      积累
          开发方法论,借鉴敏捷方法
          应用框架
我们已有的项目
è      总部项目
          一站(跨省电路的一站式受理业务)
          计费(跨省电路的计费摊分出帐)
          南方集中
è      天津大客户管理系统
è      山西大客户管理系统
è      山东重点客户管理系统
 
è         (代码库统一存放到SVN中,项目文档及pdm等统一放在CRM配置库中,测试系统在ceshi2)
SVN源代码库
è新的配置库的用户名为自己的拼音简写,密码相同。可以使用subclipse插件(TortoiseSVN),地址为:
è应用框架:http://10.8.103.25/crmdev/crmframework4/trunk
è山东1期:http://10.8.103.25/crmdev/sdcrm1/trunk
è山东2期:http://10.8.103.25/crmdev/sdcrm2/trunk
è山西1期:http://10.8.103.25/crmdev/sxcrm1/trunk
è天津2期:http://10.8.103.25/crmdev/tjcrm2/trunk
 
è总部一站:http://10.8.103.25/crmdev/cnccrm2/trunk
è总部计费:http://10.8.103.25/crmdev/cncbill1/trunk
è山西2期:http://10.8.103.25/crmdev/sxcrm2/trunk
我们项目的外部接口
è97营业受理系统
è计费系统
   从计费中取大客户的费用信息
è统计分析系统
    CRM 系统内资料进行分析
我们的软件过程
è需求调研
è需求分析及功能分解
è迭代计划
è迭代过程
    设计、测试设计、开发、测试、代码走查
è上线
è初验
è终验
è总结报告
 
è (最重要的是沟通、总结,沟通是为了高效,总结是为了提高)
团队分工
è      技术经理:
          负责小组实施与积累整体工作,负责人员安排,负责保证部门方法规范在项目中的应用和问题收集解决
è      软件经理:
          协助项目经理,做项目的软件开发管理工作,包括业务分析、系统设计、进度安排、开发跟踪、指导组员开发,保证项目各阶段文档规范等要求
è      开发人员:
          负责分配的任务的自动测试设计开发、详细设计与开发,维护模块的设计思路文档,提交修改说明到VSS
è      数据库管理人员:
          数据库设计pdm、数据库结构、现场数据库环境等的统一管理和同步、部门数据库相关的工作统一管理。
应用框架(以前)
è1.0 jdbc访问数据库(struts+jdbc+jsp)
   (山西项目)
è2.0 hibernate2.1 struts spring jsp
   ( 天津2 期,山东部分模块)
è3.0 hibernate3.0 struts dispatch action
   ( 总部一站项目,总部计费项目)
 
框架4.0核心原理
èModal(开发)
   BO对象(通过hibernate访问数据库)来实现
èView ( 开发)
   Jsp+dojo 来实现,采用ajax 方式
èController (CrmActionServlet.java)
    查询bo 对象,调用指定的方法,处理返回值
èFilter(CrmFrameworkFilter.java)
    身份验证、事务提交、session 关闭
 
应用框架4.0规划
è已完成部分(主要技术:dojo0.4, hibernate3.1, jbpm3.1)
    页面框架、风格、身份验证、事务
    分页支持、COID模式、BaseVOPlusVO
    组织机构、人员、系统管理、日志记录
    参数配置(统一编码)、附件、编号生成、cache支持
    工作流支持(待办工作)
    业务通知(沟通平台)、工作提醒支持、定时器任务支持
    动态树、级连选择selectForm范本支持
    特殊数据权限支持、快捷菜单项定制
    Util类、ExcelCSV文件支持
è以下为规划中,未完成部分:
    流程图、数据变更信息、信息浏览统计、帮助系统、知识库
    销售管理、项目管理、活动管理、个人喜好定制
 
 
设计开发原则
è简单设计,不断重构
    有真正需要时才考虑可扩展性
    每次变更或bug修改都是一个绝好的重构机会
è代码唯一
    不允许拷贝
è质量至上
    考虑可测试性
    借鉴成熟设计模式
è进度可控
    功能分解到1周内可实现
    进度的衡量是靠可见的运行结果,而不是估计
设计模式
èCOID,统一主键:
    classID[NUMBER(4)] + objectID[NUMBER(15)]
è类继承树持续化到一张表,参考jbpm log
è减少存储过程使用,尽量采用java 实现
è关联查询,可采用:
    创建视图,将视图映射到类,采用hibernate单表查
 
常用技术与工具
è   数据库设计、Oraclesql
è   Jdk1.4
è   Hibernate3.1
è   htmljspjs
è   Dojo
è   Jbpm3.1
è   ----下面是常用工具-----------
è   Jdk1.4.2tomcat5.x
è   Eclipse3.2 (wtp插件、svn插件、atf插件)
è   hibernate console代码生成
è   Oracle9i clientpl/sql工具
è   Wordexcelpptproject (2003)
è   Mindjet mind manager 6.0
è   Power designer 9.0
è   UML工具,如Rose 2003magicDraw
沟通与学习
             ---效率为先
èEmail群发
è短会议讨论(30~60分钟)
è面对面交流
è电话
 
è看书、看权威资料
è实践、测试
è总结、讨论交流、共享
è形成积累,放入配置库上
 
è   提醒:有事找辅导员或组长
日常工作方法
                   --- 让每件事情都更有意义
è任务安排
   目的、意义清晰;工作量合理;成果要求明确
è处理
    独立思考;借鉴以前成果。问题不清及时沟通
è反馈
    进展情况,及完成后及时反馈;及时检查成果
è总结积累
    将成果总结,放到VSS 上形成积累,意义更大
新框架应用举例
è后台创新BO类:LogBO.java
è建立BO方法:
    public String query(){
    LogVO log = (LogVO) HtmlUtil.getVo(CrmContexts.getRequest(), LogVO.class);
    //可以使用hibernate session: CrmContexts.getEntityManager()
    PageUtil.queryPage(log);
    return “/hollycrm/log/log_list.jsp”;
    }
è配置bean: <bean id=“log” class=“com.xx.LogBO”/>
è前台写jsp: /hollycrm/log/log_list.jsp
èjsp中提交的url为:/hollycrm/log.bo?cmd=query
è这个分页查询日志模块就写完了,很简单吧
 
测试和调试
è对后台的业务逻辑方法推荐写单元测试,经过测试的代码才放心,才算完成
è打断点跟踪调试。单步执行是快速找到问题的捷径,注意将自己的开发环境配置为简单可调试的。
   Tomcat eclipse 中的启动配置:
    启动main类:org.apache.catalina.startup.Bootstrap
    程序参数:-config "C:/tomcat-5.x/conf/server.xml" start
    VM args: -Dcatalina.home="C:/tomcat-5.x" -Djava.endorsed.dirs="C:/tomcat-5.x/common/endorsed" -Dcatalina.base="C:/tomcat-5.x“
    Classpath里增加:tomcat/bin/bootstrap.jar; jdk/lib/tools.jar
BO进行JUnit测试
è   package com.hollycrm.crmframework.log2db.impl;
è   import junit.framework.TestCase;
è   import com.hollycrm.crmframework.CrmContexts;
è   import com.hollycrm.crmframework.unittest.MockRequest;
 
è   public class LogBOTest extends TestCase { 
è   private LogBO bo = (LogBO) CrmContexts.getBean("log"); //找到BO
 
è   protected void tearDown() throws Exception { 
     CrmContexts.getEntityManager().getTransaction().commit(); //提交事务。
è   }
 
è   public void testAdd() {
     MockRequest request = new MockRequest(); //模拟request
     request.setParameter("operate", "测试操作");
     request.setParameter("log", "一些日志信息");
     CrmContexts.setRequest(request); //放置request
     //测试代码:该方法会从request里取出信息,进行保存
     String ret = bo.add(); //session时启动事务
     System.out.println(ret);
è   }}
常用工具类方法
èHtmlUtil.getVo()HtmlUtil.updateVoFromRequest()
     HttpServletRequest request = CrmContexts.getRequest();
     Session session = CrmContexts.getEntityManager();
     String flowId = CrmContexts.getRequestParam("flowId");
     MoneyVO vo = null;
     if(flowId != null && flowId.length() > 0) { //id有值,修改原记录
           vo = (MoneyVO)session.load(MoneyVO.class, Long.valueOf(flowId));
        HtmlUtil.updateVoFromRequest(request,vo);
           session.update(vo);
     } else {                                                             //id为空,新增记录
           vo = (MoneyVO) HtmlUtil.getVo(request, MoneyVO.class);
           session.save(vo);
     }
新框架web目录规划
è1hollycrm 目录存放各项目的业务模块。各项目的模块主要放在此目录下面。其它目录由应用框架控制,各项目不要修改
è2framework 目录存放应用框架中的各模块使用的jsp代码
è3public 公用的jsp,需要嵌入到各模块的页面中,比如附件,选择用户。
è4image 图片
è5css 样式
è6js 脚本文件目录
è7index.jsp 登录页面
è8main.jsp 主框架文件
è9main 主框架里面使用到的文件
采用dojo进行页面数据有效性验证
ècommon.js中增加了新方法validateFormUsingDojo
è举例:
    必填TEXT<input type="text" widgetId="foo"  
            dojoType="ValidationTextbox" required="true"
            missingMessage="必填" name="foo" maxlength="40" />
    整数校验:<input type="text" name="position" maxlength="3"
            widgetId="position" dojoType="IntegerTextbox"
            min="0" max="999"    invalidMessage="输入有误"/>
    验:if (validateFormUsingDojo(formToBeCheck)){ //common.js
          formToBeCheck.submit();
          return true;
    }   
分页
è包:com.hollycrm.crmframework.util.
èPageUtil.queryPage()
è/public/turn_page.jsp
参数配置(统一编码)
è通过parent_id,组成树形结构
è可存储各种配置信息
   比如function、系统参数、任务处理url
è前台维护页面已由申楠开发完成,在新框架下
èTBL_CODE
ècom.hollycrm.crmframework.generalcode. CodeHelper. getCode()
 
附件管理
è不需要各个业务表有attach_id字段,而是在附件表里保存业务VOid
è可统一保存位置,也可定制(配置在tbl_code)
è添加、修改、和查看的可嵌入页面已由暴林超完成
è1.可嵌入的jsp
   attach_edit.jspattach_view.jsp
è2. 可调用AttachHelper 的方法:
      addFiles(BaseVO) delAllFile(BaseVO)
 
编号生成
è定义编号生成规则
   $date_,$cur_,$arg1_, $arg2_, $arg3_其它常量
è能应付各种复杂的编号生成,威力无比
    比如合同号,按地市、年、业务类型重新编号等
è包:com.hollycrm.crmframework.sequence.
èNoUtil.getNext()
cache支持
è包:com.hollycrm.crmframework.cache.
èCacheUtil. put(String type, Serializable key, Object value)
èCacheUtil. get(String type, Serializable key)
工作流支持(待办工作)
è工作流定义、部署。ProcessHelper.deployProcessDefinition()
è启动工作流实例。ProcessHelper.startProcess()
è根据任务分派规则产生任务。规则配置在wf_task_rule
è待办工作台,查询任务。已完成
è开始任务处理。任务处理url配置在tbl_code
è任务处理,应包含通用页面。这个需要各业务模块开发
è任务处理结束。调用TaskBO.endTask()推动流程
è所有任务结束,流程结束。
工作提醒支持、定时器任务支持
   包:com.hollycrm.crmframework.remind.
   RemindTaskHelper. addOrUpdateRemindTask()
   可支持各种提醒,按天、月等循环,或一次性
   合同到期
   联系人生日(可按阴历提醒)
   大事记
   使用:业务模块调用上述方法增加提醒任务
   实际的提醒可采用:消息、邮件等
Ajax --js
è   var params = {
è          cmd: 'getConjOptions',
è          initValue: p_initValue,
è   };
è  
è   dojo.io.bind({
è          url: 'ajaxUtil.ajax',
è          content: params,
è          load: function(type, data, evt){
è              //采用js处理返回的数据data;
è          }
è   });
 
动态树
è 采用ajax方式,dojo的树实现前台
è 后台实现ITreeFactory接口即可。
      <div dojoType="TreeSelector" widgetId="treeSelector"
                               eventNames="select:nodeSelected"></div>
     <div dojoType="TreeRPCController"
                         RPCUrl="/tree/treeUtil.ajax?cmd=initNode&treeId=orgTree"
                         widgetId="treeController" DNDController="create"></div>
     <div dojoType="Tree" selector="treeSelector" toggle="fade"
                                                                             controller="treeController">
               <%=TreeUtil.getRoots("orgTree")%>
     </div>
     dojo.addOnLoad(function() {
              dojo.event.topic.subscribe("nodeSelected",
                        function(message) {
                               dojo.debug(message.node.title+“ selected, id:“
                                                                                  +message.node.objectId);
      });});
 
级连选择select
è<select name="type" id='type'
è     οnchange="updateConjOption (xx..);" >
è在第一级<select>改变时,
   无提交方式调用后台的级连选择支持类,
   刷新第二级<select>的选项。
   同理,可以实现三级、四级
è后台包:com.hollycrm.crmframework.util
èAjaxUtil. getConjOptions()
 
常用Form数据保留(查询条件等)
è包:com.hollycrm.crmframework.personal
è页面嵌入:public/query/condition_manage.jsp
特殊数据权限支持
è包:com.hollycrm.crmframework.purview
è普通的数据权限:
    根据用户的机构权限,对他所在的机构的数据有相应的权限,包括本人、本组、及下级
è特殊数据权限:
    特殊权限是与用户所在组织无关的权限设置
    所以权限设置里增加了资源类型目标信息权限的属性
    包括:某信息、某人的、某组织的、某组织及下级的
 
业务通知(沟通平台)
è包:com.hollycrm.crmframework.message
è包括:消息、公告、通知、新闻、竞争快报、通报等。分为3类:
è1是完全公开信息
    不需要设置受众和处理,采用完全公开的权限
è2是普通信息
    不需要设置受众和处理,采用普通数据权限查
è3是有特殊受众信息
    采用特殊数据权限实现受众人
è支持转发和回复。
è有专门的维护模块。另外,提供接口方便其它模块添加消息
项目与活动管理
è活动管理是较小的概念,是动态的。
   包括计划、和总结。
   可扩展类型:里程碑活动等
è项目的概念很广,包括活动和静态内容
    包括项目文档、成员、风险、沟通信息等
    可扩展类型:技术支持项目、一站项目、招投标项目等
è包:com.hollycrm.crmframework.activity
è        com.hollycrm.crmframework.project
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
城市应急指挥系统是智慧城市建设的重要组成部分,旨在提高城市对突发事件的预防和处置能力。系统背景源于自然灾害和事故灾难频发,如汶川地震和日本大地震等,这些事件造成了巨大的人员伤亡和财产损失。随着城市化进程的快,应急信息化建设面临信息资源分散、管理标准不统一等问题,需要通过统筹管理和技术创新来解决。 系统的设计思路是通过先进的技术手段,如物联网、射频识别、卫星定位等,构建一个具有强大信息感知和通信能力的网络和平台。这将促进不同部门和层次之间的信息共享、交流和整合,提高城市资源的利用效率,满足城市对各种信息的获取和使用需求。在“十二五”期间,应急信息化工作将依托这些技术,实现动态监控、风险管理、预警以及统一指挥调度。 应急指挥系统的建设目标是实现快速有效的应对各种突发事件,保障人民生命财产安全,减少社会危害和经济损失。系统将包括预测预警、模拟演练、辅助决策、态势分析等功能,以及应急值守、预案管理、GIS应用等基本应用。此外,还包括支撑平台的建设,如接警中心、视频会议、统一通信等基础设施。 系统的实施将涉及到应急网络建设、应急指挥、视频监控、卫星通信等多个方面。通过高度集成的系统,建立统一的信息接收和处理平台,实现多渠道接入和融合指挥调度。此外,还包括应急指挥中心基础平台建设、固定和移动应急指挥通信系统建设,以及应急队伍建设,确保能够迅速响应并有效处置各类突发事件。 项目的意义在于,它不仅是提升灾害监测预报水平和预警能力的重要科技支撑,也是实现预防和减轻重大灾害和事故损失的关键。通过实施城市应急指挥系统,可以强社会管理和公共服务,构建和谐社会,为打造平安城市提供坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值