您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > java项目开发心得
2005年度专业技术工作成果与经验交流会JAVA项目开发心得江宣2006.4.242005年度专业技术工作成果与经验交流会《陕西省企事业信用信息查询发布系统》是基于互联网的具有互动功能的企业信用信息系统,涉及众多企事业单位近200项信用指标的查询、管理,统计分析。该项目系统中包含多个子系统,子系统相互交叉,关系较为复杂。一期工程涉及数据表25个。一期工程的主要目的是实现系统的总体框架开发和基本功能实现。目前己完成65个类的编码工作。一、项目概述2005年度专业技术工作成果与经验交流会一、项目概述《陕西省企事业信用信息查询发布系统》企事业信用指标用户管理监管信息发布内部留言板系统公告及信息发布2005年度专业技术工作成果与经验交流会二、开发过程及心得1、需要开发者具有更广泛的知识技术储备在该项目之前我和部门的同事也各自进行了一些较为简单的java系统的开发,在开发中学习相关知识,积累开发经验。在这个过程中深刻感到java系统开发需要学习积累更多的知识。2005年度专业技术工作成果与经验交流会java基础JSP数据库ServletEJB开发环境发布环境面向对象思想UML设计模式项目开发及运行环境操作系统:windows\unix\linux开发环境:JBuilder2006发布环境:Tomcat5.5.9数据库:MYSQL5.0二、开发过程及心得2005年度专业技术工作成果与经验交流会2、基于小组的程序开发方式(同等合作小组、首席开发者小组、协作专家小组)二、开发过程及心得由于项目较为复杂实现功能较多,因此个人要完成这个项目在时间上、要求上是不可行的,为此部门成立了以我为首的项目开发小组来完成这个项目。实际上部门过去开发的一些项目基本上是由某个人独立完成或几个人完成不太相关的各个部分来实现项目的开发。2005年度专业技术工作成果与经验交流会二、开发过程及心得这次的项目开发和过去有很大的不同,需要项目组成员更为紧密的合作。根据小组成员具有大体相同的技术和经验,尽管分配的任务不完全相同,但是在项目开发中都被视为平等的。这样我们确定项目组以同等合作小组方式来运作。项目开发中的决策需要大多数人同意才能通过,我们也经常交换信息以形成决策意见。2005年度专业技术工作成果与经验交流会二、开发过程及心得这种方式在后面的项目开发中起到了很好的作用。通过讨论可以统一开发方法和思路,保证项目不同部分的一致性;通过讨论可以采取最适合的解决方案;明确不同方法的异同和优劣,使项目组成员水平不断进步、共同提高。2005年度专业技术工作成果与经验交流会二、开发过程及心得在系统分析和设计采用UML方法。UML(统一建模语言)是一种从软件分析、设计到编写程序规范的标准化建模语言。UML是当今软件设计的标准图标式设计语言。对软件系统而言UML具有可视化功能、说明功能、建造功能、建文档功能。3、系统分析和设计2005年度专业技术工作成果与经验交流会二、开发过程及心得这一部分完成了系统的用例图、静态结构图和活动图。在进行更深层次的建模时遇到了一些问题,主要是新的建模思想和过去开发方法产生冲突,感觉无法对未确定的细节进行建模。现在回过来看还是理论和实际项目的结合运用有些脱节,在UML的实际运用上缺少经验。需要系统分析和设计人员更具有前瞻性、更强的分析能力。例如:在设计类图时需要在系统编码前确定有哪些类、方法、属性、类之间的关系等。2005年度专业技术工作成果与经验交流会二、开发过程及心得完成了数据结构分析,根据系统的实现功能及模块确定了25个数据表,表名称、字段名称、类型都进行了统一规范及确定。对java包名称及类名进行了规范和确定,对系统的文件结构进行了确定。这些工作的确认为项目组后续开发打下了良好的基础。建议加强系统分析和设计这方面的培训力度。2005年度专业技术工作成果与经验交流会二、开发过程及心得信息查询者企事业单位监管部门系统管理员用户注册查询信息维护单位信息维护监管信息查询监管信息用户留言回复留言发布系统信息管理单位信息统计分析账户管理基础信息管理系统userorganization0..*1Archive11信用报告信用等级合作交流基本信息法人及高管组织管理经营状况荣誉奖励财务报告资质认证金融投资信用单位监管机构系统管理查询用户documentpicture输入注册基本信息选择注册类型输入单位信息打开注册窗口提示信息等待审核显示错误信息注册信息入库用户注册账号审核打开审核窗口查看未审核账号审核通过显示未通过原因激活账号创建用户单位信息并关链账号检查用户权限显示禁止信息用例图静态结构图活动图2005年度专业技术工作成果与经验交流会二、开发过程及心得User类类图Manager类类图2005年度专业技术工作成果与经验交流会二、开发过程及心得由于系统分析存在的困难:很少有人能在第一次(在设计工作之前就完成分析)就能得到正确的结果。所以在不知道实现如何工作之前要完成设计是非常困难的。因此,我们采用首先完成一些设计工作,然后再做一些实现工作。进行更多分析、更多的设计以及更多的实现。4、系统开发生命周期的思考2005年度专业技术工作成果与经验交流会二、开发过程及心得这是一个迭代过程,迭代的次数理取决于项目的复杂程度。通过这种迭代使结果得到修正,并且越来越靠近目标。在这个项目的开发就采取了这样的方法,先进行小部分的基础性结构和功能的开发以及功能实现方法的分析和测试,如:数据库连接池、文件上传、下载、用户权限机制、类的结构层次定义等。经过项目组讨论分析充实完善这些内容、进一步的分析和开发。2005年度专业技术工作成果与经验交流会一些分析一些设计一些实施更多的分析更多的设计更多的实施进一步分析进一步设计进一步实施生命周期各阶段的迭代2005年度专业技术工作成果与经验交流会二、开发过程及心得在项目开发中感到,java项目的开发需要花费更多的时间,尤其在前期花费的时间更多。这主要是因为前期的工作主要是庞大的基础框架及大量的基础类需要构建,对于任何一个java项目来说都是至关重要不可缺少的部分。5、需要较长的开发时间2005年度专业技术工作成果与经验交流会二、开发过程及心得一个好的系统肯定有一个完善的基础架构来支撑的。所以系统开发在这方面投入的更多,而这部分工作很难在系统开发完成前表现出来。Java项目就像是一个上小下大的沙漏。前面的投入也是有回报的,由于有较好的架构体系,因此项目的变动、功能的变化或增加就比较容易实现。2005年度专业技术工作成果与经验交流会二、开发过程及心得构建一个大型的面向对象系统时,通常的做法是建立一个对象框架(或一系列的基类)它包括大多数或全部的应用程序中所包含的特定的类。基类可以在系统的许多部分和不同的应用程序中被重用。正因为这样,它们是系统的关键组成部分,基类中的错误将会影响到系统的每一个程序,另外,后期对基类的更改将会使整个系统发生重大变化。6、采用框架开发方式2005年度专业技术工作成果与经验交流会二、开发过程及心得我们在项目的开发中先构建最基本的类,对这些类进行调试、分析、完善,形成样本代码,再将项目分解。各个开发人员按照样本代码进行基础编码。这样做的好处是保证了代码的一致性,减少了编码的盲目性,减少出错率,出现问题可以统一处理。2005年度专业技术工作成果与经验交流会二、开发过程及心得在项目开发中部门有两位同事参加的专门的java培训课程。在这之前部门的技术人员都是通过自学完成各项技术的掌握。对于新知识的理解完全靠自己的领悟和经验。这中间对一些概念的理解有可能会有偏差,另外程序的编写是否符合规范以及和当前通行做法是什么也不是很清楚。7、人员培训在项目开发中起到很好的作用2005年度专业技术工作成果与经验交流会二、开发过程及心得通过项目组人员的培训及时纠正了一些概念理解上的偏差,明确了面向对象开发的真正含意,对项目中的类有了更明确的定义。例如:类和对象的理解对照到数据库中可以理解为:类相当于数据库中的表,而对象则是表中的记录,表中的增、删、改相当于类中的方法等等。2005年度专业技术工作成果与经验交流会二、开发过程及心得我们还把项目中的基础类的代码结构和培训班的老师共同探讨,使项目中的类更符合java程序的编写规范和习惯。2005年度专业技术工作成果与经验交流会二、开发过程及心得java资源的积累和借鉴在项目的开发中也起到很大的作用。互联网上有许多优秀的java应用可以,并且可获得相关的源代码。这些源代码一方面是我们学习的很好教材,另一方面也可成为我们项目中的一部分,或者经过一些修改就能实现项目中的一些功能。8、资源积累和借鉴2005年度专业技术工作成果与经验交流会二、开发过程及心得这样不仅提高了开发效率,而且能保证代码的质量。另外一些专业的共享组件也可以成为项目中重要的一环。这些积累不是一下能完成的,而是在不断的学习和实践中得到的。这样才了解积累的资源有如何用、用到哪、起到什么好的作用。可以说如果没有这方面的积累就不可能做出好的系统。2005年度专业技术工作成果与经验交流会二、开发过程及心得在这个项目中使用了:Proxool连接池工具,它不仅实现了连接池的功能,而且有一个后端统计接口,可以很方便的了解连接池的使用情况,可以作为项目开发时测试使用,也可以为项目实际运行后为管理员提供访问情、连接情况等信息。2005年度专业技术工作成果与经验交流会二、开发过程及心得Javazoom的uploadbean文件上传组件,项目中要求文件上传功能,如果要我们项目开发一个功能完善的文件上传组件,确实不是一件容易的事情。该组件不仅能将文件上传到服务器上也可将文件上传到数据库中,同时可对上传文件大小、类型进行控制。使用了JdonJive中的一些类型转换、表单接收等工具类。2005年度专业技术工作成果与经验交流会二、开发过程及心得CVS是ConcurrentVersionSystem(并行版本系统)的缩写,用于版本管理。这个项目是由我们项目小组共同开发完成的,每个人都承担了程序开发任务,程序之间相互重叠交叉,使程序源代码很容易产生混乱。如:由于多个人同时修改同一个文件,自己辛辛苦苦修改的程序被别人彻底删除。项目组尝试采用版本管理软件来防止这种情况发生。9、项目开发的版本管理2005年度专业技术工作成果与经验交流会二、开发过程及心得CVS的基本工作思路是这样的:在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序.由仓库管理员统一管理这些源程序.这样,就好像只有一个人在修改文件一样.避免了冲突.每个用户在使用仓库之前,首先要把仓库里的项目文件下载到本地.用户做的任何修改首先都是在本地进行,然后用cvs命令进行提交。2005年度专业技术工作成果与经验交流会二、开发过程及心得首先是MicrosoftVisualSourceSafe,使用和配置比较容易,但是它是以共享目录的形式进行存储和管理的,安全性不高。2005年度专业技术工作成果与经验交流会二、开发过程及心得后来经过多次尝试使用Borland公司的StarTeam2005实现了对项目的版本管理。Starteam是通过数据库来存储代码程序的各种改变的。小组中每个成员都可通过StarTeam服务器取得最新的程序版本,同时可以锁定正在借改程序。StarTeam的使用为项目的正常开发起到了很好的保障。2005年度专业技术工作成果与经验交流会2005年度专业技术工作成果与经验交流会二、开发过程及心得通过这个项目的实施部门在短时间内有了一支很好JAVA项目开发团队,团队的每个成员在此期间都有很大的收获和提高,随着项目的进一步深入,我认为我们的团队可以的接受更艰巨的挑战。10、最大的收获完2005年度专业技术工作成果与经验交流会谢谢大家!
本文标题:java项目开发心得
链接地址:https://www.777doc.com/doc-4867436 .html