您好,欢迎访问三七文档
中南大学实习报告实习地点:湖南省软件测评中心专业班级:信安1001班姓名:陈鑫学号:0909100727带队老师:段桂华、宋虹一、实习情况概述1、实习目的1.1、锻炼自己的动手能力,将学习的理论知识运用于实践当中,反过来检验书本上理论的正确性。将自己的理论知识与实践融合,进一步巩固、深化已经学过的理论知识,提高综合运用所学过的知识,并且培养自己发现问题、解决问题的能力,2、实习时间20013年8月26日—9月15日3、实习单位湖南省软件测评中心4、实习的内容JavaWeb的开发过程:1.软件的开发周期a.可行性分析(可行性分析报告)b.需求分析(需求规格文档)c.概要设计(概要设计文档,数据库的设计)d.详细设计(详细设计文档,一般改到最后)e.编码(只占很少的一部分)f.测试g.试运行h.部署,运维2.软件的分层–视图层(view:如jsp,html)–控制层(controller)–业务逻辑层(service)–数据访问层(dao)–数据层(bean)3.分层的设计模式modelI:view/controller(jsp)model(javaBean/EJB)modelII:view(jsp)controller(servlet)model(javaBean/EJB)4常用的框架和技术1Hibernate:在基于MVC设计模式的JAVAWEB应用中,Hibernate可以作为模型层/数据访问层。它通过配置文件(hibernate.properties或hibernate.cfg.xml)和映射文件(***.hbm.xml)把JAVA对象或PO(PersistentObject,持久化对象)映射到数据库中的数据库,然后通过操作PO,对数据表中的数据进行增,删,改,查等操作。除配置文件,映射文件和持久化类外,Hibernate的核心组件包括以下几部分:a)Configuration类:用来读取Hibernate配置文件,并生成SessionFactory对象。b)SessionFactory接口:产生Session实例工厂。c)Session接口:用来操作PO。它有get(),load(),save(),update()和delete()等方法用来对PO进行加载,保存,更新及删除等操作。它是Hibernate的核心接口。d)Query接口:用来对PO进行查询操。它可以从Session的createQuery()方法生成。e)Transaction接口:用来管理Hibernate事务,它主要方法有commit()和rollback(),可以从Session的beginTrancation()方法生成。Hibernate的运行过程Hibernate的运行过程如下:A:应用程序先调用Configration类,该类读取Hibernate的配置文件及映射文件中的信息,并用这些信息生成一个SessionFactpry对象。B:然后从SessionFactory对象生成一个Session对象,并用Session对象生成Transaction对象;可通过Session对象的get(),load(),save(),update(),delete()和saveOrUpdate()等方法对PO进行加载,保存,更新,删除等操作;在查询的情况下,可通过Session对象生成一个Query对象,然后利用Query对象执行查询操作;如果没有异常,Transaction对象将提交这些操作结果到数据库中。Hibernate的运行过程如下图:2log4jlog4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIXSyslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。使用步骤:a.将log4j.jar文件加入工程b.编写一个log4j的配置文件(配置文件有两种格式:properties文件或xml文件),放到类路径的根目录c.在要记录日志的类,创建日志记录器示例:privatestaticfinalLoggerLOGGER=Logger.getLogger(LoginAction.class);d.LOGGER调用对应的info,error,warn,debug等方法记录日志A).Logger对象的获得或创建:Logger被指定为实体,由一个String类的名字识别。Logger的名字是大小写敏感的,且名字之间具有继承关系,子名用父名作为前缀,用点“.”分隔,例如x.y是x.y.z的父亲。rootLogger(根Logger)是所有Logger的祖先,它有如下属性:1.它总是存在的。2.它不可以通过名字获得。B)日志级别每个Logger都被了一个日志级别(loglevel),用来控制日志信息的输出。日志级别从高到低分为:A:off最高等级,用于关闭所有日志记录。B:fatal指出每个严重的错误事件将会导致应用程序的退出。C:error指出虽然发生错误事件,但仍然不影响系统的继续运行。D:warm表明会出现潜在的错误情形。E:info一般和在粗粒度级别上,强调应用程序的运行全程。F:debug一般用于细粒度级别上,对调试应用程序非常有帮助。G:all最低等级,用于打开所有日志记录。上面这些级别是定义在org.apache.log4j.Level类中。Log4j只建议使用4个级别,优先级从高到低分别是error,warn,info和debug。通过使用日志级别,可以控制应用程序中相应级别日志信息的输出。例如,如果使用b了info级别,则应用程序中所有低于info级别的日志信息(如debug)将不会被打印出来。3StrutsStruts是WEB程序MVC分层架构中的C,属于控制层,主要进行处理用户的请求,基于请求驱动。获取用户的请求地址并将表单中的数据封装到Form对象后交给Action进行处理。在Action中进行条用业务层处理具体的请求后将结果通过ActionMapping封装跳转地址返回给用户。struts是对servlet的再次封装,使得更加灵活高效。1、在新建的web工程中添加以下struts1.xjar包antlr-2.7.6.jar、commons-beanutils.jar、commons-digester.jar、commons-fileupload.jar、commons-logging-1.0.4.jar、commons-validator.jar、jakarta-oro.jar、struts.jar。2、web.xml进行如下配置3、新建登陆页面login.jsp4、新建登陆成功后的跳转页面loginSucces.jsp5、新建登陆失败后的跳转页面loginError.jsp6、新建LoginActionForm.java7、新建LoginAction.java8、配置struts-config.xml4ajaxAjax,使用它可以构建更为动态和响应更灵敏的Web应用程序。该方法的关键在于对浏览器端的JavaScript、DHTML和与服务器异步通信的组合。本文也演示了启用这种方法是多么简单:利用一个Ajax框架(指DWR)构造一个应用程序,它直接从浏览器与后端服务进行通信。如果使用得当,这种强大的力量可以使应用程序更加自然和响应灵敏,从而提升用户的浏览体验。二实习任务根据客户的要求,完成一个客户关系管理系统,任务分配如下:编号系统模块简述责任人1营销管理销售机会管理(查询,新建,编辑,删除,指派)2客户管理客户开发计划(查询,制定,执行,开发成功,终止开发)3客户信息管理(查询,编辑,删除,管理联系人,管理交往记录)4服务管理服务创建服务分配(查询,分配)服务处理(查询,处理)服务反馈(查询,反馈)服务归档(查询)5统计报表客户构成分析客户服务分析6基础数据数据字典管理(新增,编辑,删除)7系统管理用户登录三实验过程(一)需求分析:(1)概述客户是公司最宝贵的资源,为了更好的发掘老客户的价值,并开发更多新客户,XX公司决定实施客户关系管理系统。希望通过这个系统完成对客户基本信息、联系人信息、交往信息、客户服务信息的充分共享和规范化管理;希望通过对销售机会、客户开发过程的追踪和记录,提高新客户的开发能力;希望在客户将要流失时系统及时预警,以便销售人员及时采取措施,降低损失。并希望系统提供相关报表,以便公司高层随时了解公司客户情况。客户服务是一个涉及多个部门,存在一定流程的工作。客户服务水平的高低决定着公司的核心竞争力。该客户关系管理系统应提供一个客户服务在线平台,使客户服务处理过程中相关人员可以在线完成服务的处理和记录工作。(2)功能需求本系统包括:营销管理、客户管理、服务管理、统计报表和基础数据五个功能模块。另包括权限管理模块用于系统的用户、角色和相关权限。系统功能为本说明书与附件Demo版界面描述中功能的并集。在上述文件未明确描述的情况下,应能满足合同和相关投标书所描述的功能。(二)系统说明(1)概述客户关系管理系统用于管理与客户相关的信息与活动,但不包括产品信息、库存数据与销售活动。这三类数据将由XX公司X销售系统进行管理。但本系统需要提供产品信息查询功能、库存数据查询功能、历史订单查询功能。(2)用户与角色与本系统相关的用户和角色包括:系统管理员:管理系统用户、角色与权限,保证系统正常运行。销售主管:对客户服务进行分配。创建销售机会。对销售机会进行指派。对特定销售机会制定客户开发计划。分析客户贡献、客户构成、客户服务构成和客户流失数据,定期提交客户管理报告。客户经理:维护负责的客户信息。接受客户服务请求,在系统中创建客户服务。处理分派给自己的客户服务。对处理的服务进行反馈。创建销售机会。对特定销售机会制定客户开发计划。执行客户开发计划。对负责的流失客户采取“暂缓流失”或“确定流失”的措施。高管:审查客户贡献数据、客户构成数据、客户服务构成数据和客户流失数据。(3)系统功能系统用例图如图所示:(三)模块设计营销管理模块包含销售机会的管理和对客户开发过程的管理,子用例图如图2所示。营销的过程是开发新客户的过程。对老客户的销售行为不属于营销管理的范畴。客户经理有开发新客户的任务,在客户经理发现销售机会时,应在系统中录入该销售机会的信软件需求规格说明书8/53息。销售主管也可以在系统中创建销售机会。所有的销售机会由销售主管进行分配,每个销售机会分配给一个客户经理。客户经理对分配给自己的销售机会制定客户开发计划,计划好分几步开发,以及每个步骤的时间和具体事项。制定完客户开发计划后,客户经理按实际执行请跨功能填写计划中每个步骤的执行效果。在开发计划结束的时候,根据开发的结果不同,设置该销售机会为“开发失败”或“开发成功”。如果开发客户成功,系统自动创建新的客户记录。营销管理:(1)创建销售机会创建销售机会时需录入以下信息:输入要素在销售机会管理的列表页面列出所有状态为“未分配”的销售机会记录,可选择一条进行编辑。在编辑页面,可以对机会来源、客户名称、成功机率、概要、联系人、联系人电话、机会描述进行编辑。其他信息不可编辑。处理流程在列表页面选择“未分配”的销售机会进行编辑,跳转到编辑页面;在编辑页面填入更新的信息,提交表单,保存新的信息到数据库。提示“保存成功”,或报告相应错误。页面必填项未填时不允许提交表单。状态为“未分配”的销售机会可以删除。删除时需要判断当前登录用户为该销售机会的创建人,否则不可删除。(2)客户开发计划对“已指派”的销售机会制定开发计划,执行开发计划,并记录执行结果。客户开发成功还将创建新的客户记录。对“已指派”的销售机会制定开发计划,执行开发计划,并记录执行结果。客户开发成功还将创建新的客户记录。在制定开发计划时,应显示出销售机会的详细信息。
本文标题:计算机专业实习报告
链接地址:https://www.777doc.com/doc-7331198 .html