您好,欢迎访问三七文档
本文档包括CRM项目代码编写规范、进程安排、具体需求分析一:CRM项目代码编写规范使用范围:CRM项目开发此文档包含包名、类名、方法名、数据库字段名、注释规范.jsp页面命名规范包命名规范:servlet类所在包命名规范:com.项目名称.servlet例如:com.crm.servlet自定义标签类所在包命名规范:com.项目名称.tags例如:com.crm.tags过滤器类所在包命名规范:com.项目名称.filter例如:com.crm.filterAction类所在包命名规范:com.项目名称.struts.action例如:com.crm.struts.actionActionForm类所在包命名规范:com.项目名称.struts.form例如:com.crm.struts.formentity所在包命名规范:com.项目名称.entity例如:com.crm.entityDAO类所在包命名规范:com.项目名称.dao例如:com.crm.daoDAO实现类命名规范:com.项目名称.service例如:com.crm.servicePOJO类与hbm文件所在包命名规范:com.项目名称.hbm例如:com.crm.hbm全局公共类、接口类所在包命名规范:com.项目名称.global例如:com.crm.global全局工具类所在包命名规范:com.项目名称.util例如:com.crm.util类命名规范:类、接口命名命名规范:以大写字母开头,如果有多个单词,每个单词头字母大写例如:StudentInfo接口命名命名规范:以大写字母I开头,如果有多个单词,每个单词头字母大写例如:IStudentInfo接口实现类命名:命名规范:将实现的接口名称的首字母I去掉,以Impl作为结尾,如果有多个单词,每个单词头字母大写例如:StudentInfoImpSTRUTS+HIBERNATE框架命名规范servlet类命名:命名规范:以Servlet单词结尾例如:LoginServletPOJO命名:使用hibernate自动生成的类即可(即为hibernate反转生成的名字)例如:student.hbm.xmlDAO类命名:命名规范:以Dao单词结尾例如:LoginDaoAction类命名:命名规范:Action的命名以POJO名称来制定,POJO名称Action例如:一个POJO名称为Login,其对应的action为DiaryActionActionForm类命名:命名规范:ActionForm的命名以POJO名称来制定,POJO名称Form例如:一个POJO名称为Login,其对应的actioForm为LoginForm业务逻辑实现类命名:命名规范:业务逻辑接口的命名以POJO名称来制定,IPOJO名称Service例如:一个POJO名称为Login,其对应的业务逻辑接口为LoginService变量命名:命名规范:变量名首字母必须小写,如果该变量名有多个单词组成,后面的单词首字母大写,单词与单词之间不要使用_做连接,变量名访问控制必须为私有,可以对其增加setter与getter方法。常量命名:命名规范:所有字母大写,如果有多个单词组成,单词与单词之间以”_“隔开。而且该变量必须是公共、静态、final类型例如:publicstaticfinalStringUSER_NAME=”userName“变量、常量注释:作用:简单描述该变量的意义。书写规范:变量注释必须写在变量定义之前,简单描述其代表的意义。格式:/***功能描述:(大致描述的功能)*/方法命名命名规范:首字母必须小写,如果该变量名有多个单词组成,后面的单词首字母大写,单词与单词之间不要使用_做连接。单词不要使用名词。例如:publicintcheckLogin(Stringname,Stringpwd){}注释规范:注释规范是整个开发规范中最为重要的组成部分,必须严格执行。方法注释:作用:对该方法功能简单描述,其参数、返回值意义的注解。书写规范:方法注释必须写在方法定义之前。该注释包括:方法其功能的简单描述,方法的参数、返回值类型、返回值意义简单的描述。格式如下/***方法功能说明*@paramargs(参数类型可以写在参数后,也可以省*@xx每个参数占一行)*@return输出参数(多种情况写在同一行*/jsp页面命名:命名规范:jsp页面名称要以小写字母开头,如果有多个单词组成,后面的单词以大写字母开头。名称要体现出该页面的意义,最好能够与模块名称联系在一起。例如:login.jsp--登录页面register.jsp--注册页面J2EE项目工程文件夹组织规范:项目的目录结构为:src----存放java文件WebRoot|--images--存放web程序所需的公共图片|--css--存放web程序所需的公共样式表|--js--存放web程序所需的公共js文件|--commons--存放web程序所需的公共文件|--功能模块文件夹(存放与某个功能模块相关的资源)|--images--存放与该功能模块相关的图片|--css--存放与该模块相关的样式表文件|--js--存放与该模块相关的js文件|--jsp、html页面|--WEB-INF|--classes|--lib|--tld文件二:进度大致安排初稿12号:每个组员把需求文档跟业务逻辑文档以及个人完成计划交到组长,大家进行讨论.这将是动工之前的一个讨论和正式开工前的会议.三:总项目需求结合营销管理模块1.1营销管理营销管理模块包含销售机会的管理和对客户开发过程的管理,子用例图如图2所示。图2营销的过程是开发新客户的过程。对老客户的销售行为不属于营销管理的范畴。客户经理有开发新客户的任务,在客户经理发现销售机会时,应在系统中录入该销售机会的信息。销售主管也可以在系统中创建销售机会。所有的销售机会由销售主管进行分配,每个销售机会分配给一个客户经理。客户经理对分配给自己的销售机会制定客户开发计划,计划好分几步开发,以及每个步骤的时间和具体事项。制定完客户开发计划后,客户经理按实际执行请跨功能填写计划中每个步骤的执行效果。在开发计划结束的时候,根据开发的结果不同,设置该销售机会为“开发失败”或“开发成功”。如果开发客户成功,系统自动创建新的客户记录。1.1.1销售机会管理1.1.1.1创建销售机会1.1.1.1.1业务概述见3.1节的描述。1.1.1.1.2使用者销售主管、客户经理1.1.1.1.3输入要素创建销售机会的系统界面如图3所示。图3创建销售机会时需录入以下信息:表1数据项说明输入格式是否必填编号系统自动生成输入框只读机会来源文本客户名称文本是成功机率从0到100的数字数字是概要对销售机会的简要描述文本是联系人文本联系人电话文本机会描述文本是创建人自动填入当前登录用户,用户不可更改输入框只读是创建时间当前系统时间输入框只读是1.1.1.1.4处理流程从页面获取输入信息,在数据库中创建新记录。1.1.1.1.5输出要素提示“保存成功”,或报告相应错误。页面必填项未填时不允许提交表单。1.1.1.2修改销售机会1.1.1.2.1业务概述对未分配的销售机会记录可以编辑。1.1.1.2.2使用者销售主管、客户经理1.1.1.2.3输入要素在销售机会管理的列表页面列出所有状态为“未分配”的销售机会记录,可选择一条进行编辑。图4在编辑页面,可以对机会来源、客户名称、成功机率、概要、联系人、联系人电话、机会描述进行编辑。其他信息不可编辑。图51.1.1.2.4处理流程在列表页面选择“未分配”的销售机会进行编辑,跳转到编辑页面;在编辑页面填入更新的信息,提交表单,保存新的信息到数据库。1.1.1.2.5输出要素提示“保存成功”,或报告相应错误。页面必填项未填时不允许提交表单。1.1.1.3删除销售机会1.1.1.3.1业务概述状态为“未分配”的销售机会可以删除。删除时需要判断当前登录用户为该销售机会的创建人,否则不可删除。1.1.1.3.2使用者销售主管、客户经理1.1.1.3.3输入要素如图4所示,在“未指派”的销售机会列表中选择一项删除。1.1.1.3.4处理流程点选删除操作后应提示“确认删除?”,用户选“确定”则执行删除操作,否则不执行。1.1.1.3.5输出要素删除成功后提示“删除成功”。1.1.1.4指派销售机会1.1.1.4.1业务概述销售主管根据各客户经理的负责分区、行业特长等对销售机会进行指派。每个销售机会指派给一个客户经理,专事专人。指派成功后,销售机会状态改为“已指派”。1.1.1.4.2使用者销售主管1.1.1.4.3输入要素进行指派时需要选择输入客户经理,系统自动输入指派时间。两相皆未必输项。图61.1.1.4.4处理流程选择要指派的销售机会,察看销售机会的详细信息并选择客户经理进行指派。1.1.1.4.5输出要素指派成功后提示“指派成功”,该销售机会状态改为“已指派”(即“开发中”)。1.1.2客户开发计划对“已指派”的销售机会制定开发计划,执行开发计划,并记录执行结果。客户开发成功还将创建新的客户记录。1.1.2.1制定开发计划1.1.2.1.1业务概述客户经理对分配给自己的销售机会制定开发计划。1.1.2.1.2使用者客户经理1.1.2.1.3输入要素在制定开发计划时,应显示出销售机会的详细信息。客户经理可以通过新建计划项,编辑已经有的计划项,即删除计划项来针对一个销售机会来制定客户开发计划。每个计划项包括两个输入要素:日期和计划内容,都是必输项。日期的输入格式为“2007-12-13”。编辑计划项时,日期不可以编辑。图71.1.2.1.4处理流程首先选择一“已指派”的销售机会进行指定计划的操作,然后制定计划。1.1.2.1.5输出要素提交并更新当前页面时在计划项列表中显示新建的计划项。1.1.2.2执行开发计划1.1.2.2.1业务概述完成客户开发计划的制定后,客户经理开始按照计划内容执行客户开发计划,并按时记录执行结果。1.1.2.2.2使用者客户经理1.1.2.2.3输入要素对每个计划项填写执行效果,并保存。图81.1.2.3开发成功1.1.2.3.1业务概述某个客户开发计划执行过程中或执行结束后如果客户同意购买公司产品,已经下订单或者签订销售合同,则标志客户开发成功。客户开发成功时,需修改销售机会的状态为“开发成功”。并根据销售机会中相应信息自动创建客户记录。1.1.2.3.2使用者客户经理1.1.2.3.3输入要素从列表中选择一个状态为“已指派”的销售机会,点选“开发成功”操作。或者在执行计划页面点选“开发成功”操作。1.1.2.3.4处理流程修改销售机会的状态为“开发成功”。根据销售机会中相应信息(包括客户名称、联系人和联系人电话)自动创建客户记录。1.1.2.3.5输出要素操作成功后提示“操作成功”。1.1.2.4开发失败1.1.2.4.1业务概述某销售机会在确认客户的确没有采购需求后,或不具备开发价值时可认为“开发失败”。1.1.2.4.2使用者客户经理1.1.2.4.3输入要素从列表中选择一个状态为“已指派”的销售机会,点选“终止开发”操作。或者在执行计划页面点选“终止开发”操作。1.1.2.4.4处理流程修改销售机会的状态为“开发失败”。1.1.2.4.5输出要素操作成功后提示“操作成功”。数据库表之间的关系:User与Chanc:多对一:chc_create_id到usr_id一个销售机会只能有一个创建人,一个用户可以创建多个销售机会plane与Chance多对一pla_chc_id到chc_id一个销售计划只能是一个销售机会的,一个销售机会有多个销售计划Usere与Customer:一对多cust_manager_id到usr_id一个客户只能有一个经管人,一个用户可以管理多个客户表名:chance销售机会字段名数据类型描述是否允许为空Chc_idbigint自动分配Id否Chc_sourceNcarchar(50)销售机会来源是Ch
本文标题:CRM需求文档整合
链接地址:https://www.777doc.com/doc-3737 .html