如何进行有效的IT项目管理

如何进行有效的IT项目管理,第1张

想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊的东西,你可以把这些内容写到你的简历中,当然更需要的是你在面试的时候向面试官展示这些专业技能。相信此文对正在寻觅Java程序员(Java工程师)职位的freshman以及希望成为中高级Java开发者的junior都会有所帮助。

专业技能

1熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。

2熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组  件以及MVC架构模式进行Java Web项目开发的经验。

3对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web组件及其依赖关系,熟练的使用Spring进行事务、日志、安全性等的管理,有使用Spring MVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。

4熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。

5熟练的使用HTML、CSS和JavaScript进行Web前端开发,熟悉jQuery和Bootstrap,对Ajax技术在Web项目中的应用有深入理解,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)进行项目开发的经验。

6熟悉常用的关系型数据库产品(MySQL、Oracle),熟练的使用SQL和PL/SQL进行数据库编程。

7熟悉面向对象的设计原则,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验。

8熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。

9熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和Enterprise Architect,熟练的使用Java开发环境Eclipse和IntelliJ,熟练的使用前端开发环境WebStorm,熟练的使用软件版本控制工具SVN和Git,熟练的使用项目构建和管理工具Maven和Gradle。

说明:上面罗列的这些东西并不是每一项你都要烂熟于心,根据企业招聘的具体要求可以做相应的有针对性的准备。我个人觉得前6项应该是最低要求,是作为一个Java开发者必须要具备的专业技能

项目介绍   

本系统是X委托Y开发的用于Z的系统,系统包括A、B、C、D等模块。系统使用了Java企业级开发的开源框架E以及前端技术F。表示层运用了G架构,使用H作为视图I作为控制器并实现了REST风格的请求;业务逻辑层运用了J模式,并通过K实现事务、日志和安全性等功能,通过L实现缓存服务;持久层使用了M封装CRUD *** 作,底层使用N实现数据存取。整个项目采用了P开发模型。

说明:上面的描述中,E通常指Spring(Java企业级开发的一站式选择);F最有可能是jQuery库及其插件或者是Bootstrap框架,当然如果要构建单页应用(SPA)最佳的方案是前端MVC框架(如AngularJS)和JavaScript模板引擎(如HandleBars);G显然是MVC(模型-视图-控制),最有可能的实现框架是Spring MVC,除此之外还有Struts 2、JSF以及Apache为JSF提供的MyFaces实现,可以使用JSP作为MVC中的V,也可使用模板引擎(如Freemarker和Velocity)来生成视图,还可以是各种文档或报表(如Excel和PDF等),而Servlet和自定义的控制器是MVC中的C,当然Spring MVC中提供了作为前端控制器的DispatcherServlet;J通常是事务脚本,K应该是AOP(面向切面编程)技术,L目前广泛使用的有memcached和Redis;M的选择方案很多,最有可能的是Hibernate和MyBatis,也可以两种技术同时运用,但通常是将增删改交给Hibernate来处理,而复杂的查询则由MyBatis完成,此外TopLink、jOOQ也是优秀的持久层解决方案;底层的数据存取传统上是使用关系型数据库,可以是MySQL、Oracle、SQLServer、DB2等,随着大数据时代的来临,也可以采用NoSQL(如MongoDB、MemBase、BigTable等)和其他大数据存取方案(如GFS、HDFS等);项目的开发模型P可以是瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、RAD模型等。

项目开发流程

1可行性分析 >>> 可行性分析报告 / 项目开发计划书

2需求分析 >>> 需求规格说明书

1OOAD(用例图、时序图、活动图)

2界面原型:帮助理解需求、业务层设计时推导事务脚本

3设计 >>> 概要设计说明书/详细设计说明书

1抽取业务实体(领域对象):类图、E-R图(概念设计阶段)

2分层架构:确定各层的技术实现方案(具体到使用的框架、数据库服务器、应用服务器等)。业务层设计:事务脚本模式(事务:用户发送一次请求就是一个事务;脚本:一个方法或一个函数;事务脚本:把一次请求封装为一个方法或一个函数;事务脚本模式:一个事务开始于脚本的打开,终止于脚本的关闭)。业务层涉及的对象本有        三种类型:事务脚本类(封装了业务的流程)、数据访问对象(            DAO,封装了持久化 *** 作)、数据传输对象(DTO,封装了失血/贫血领域对象),三者之间的关系是事务脚本类组合(聚合)数据访问对象,这二者都依赖了数据传输对象

3正向工程(UML类图生成Java代码)和逆向工程(Java代码生成UML类图)

4数据库物理设计(ER图转换成表间关系图、建库和建表、使用工具插入测试数据)

4编码 5测试 >>> 测试报告 / 缺陷报告

1单元测试:对软件中的最小可测试单元进行检查和验证,在Java中是对类中的方法进行测试,可以使用JUnit工具来实施。

2集成测试:集成测试也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求组装成为子系统进行测试。

3系统测试:将已经确认的软件、硬件、外设、网络等元素结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。

4验收测试:在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。

5交付和维护 >>> 用户手册 /  *** 作手册

项目管理

版本控制:CVS/SVN/Git

自动构建:Ant/Maven/Ivy/Gradle

持续集成:Hudson/Jenkins

系统架构

负载均衡服务器:F5、A10

应用服务器:

>

Servlet容器:Tomcat、Resin

EJB容器:WildFly(JBoss Application Server)、GlassFish、Weblogic、Websphere 数据库服务器:MySQL、Oracle

第三方工具(插件)应用

图表工具:基于jQuery的图表插件(如jQchart、Flot、Charted等)、Chartjs、Highcharts等。

报表工具:Pentaho Reporting、iReport、DynamicReports等。

文档处理:POI、iText等。

工作流引擎:jBPM、OpenWFE、Snaker、SWAMP等。

作业调度:Quartz、JobServer、Oddjob等。

缓存服务:EhCache、memcached、SwarmCache等。

消息队列:Open-MQ、ZeroMQ等。

安全框架:Shiro、PicketBox等。

搜索引擎:IndexTank、Lucene、ElasticSearch等。

Ajax框架:jQuery、ExtJS、DWR等。

UI插件:EasyUI、MiniUI等。

富文本框:UEditor、CKEditor等。

面试提问

项目是为哪个公司开发的?

项目的投入是多少?

有多少人参与了项目开发?

整个团队中,测试人员、开发人员、项目经理比例是多少?

项目开发了多长时间?

项目总的代码量有多少?

你的代码量有多少?

项目采用了怎样的开发模型或开发流程?

项目的架构是怎样的?

项目的技术选型是怎样的?

你在项目中承担了怎样的职责?

是否经常开会或加班?

项目完成后有哪些收获或是经验教训?

项目中最困难的部分是什么?

如何解决团队开发时遇到的各种冲突?

明:对于没有实际项目经验的,可以在前程无忧、智联招聘、拉勾网等网站上搜索招聘Java程序员的公司,找到他们的官方网站了解他们做的项目,查看项目的详细介绍,然后尝试完成其中一部分功能,最好请教一下高人看看自己的设计和代码是否恰当,这样相当于积累了一定的项目经验。

面试时可以反问面试官的问题

我注意到你们使用了X技术,请问你们是如何解决Y问题的?

为什么你们的产品使用了X技术而不是Y技术?据我所知,X技术虽然有A、B、C等好处,但也存在D和E问题,而Y技术可以解决D和E问题。

我对您说的X技术不是太熟悉,但我感觉它是一个不错的解决方案,您能多讲讲它的工作原理吗?

你们团队是如何进行项目规划的?一周会有几次例会?每周的代码量大概是多少?

就X问题我能想到的解决方案目前就只有Y了,请问您会怎么解决这个问题?

录用谈判

要理直气壮的提出具体的待遇要求

开出比预期稍高的价码

不要只盯着薪水(很多公司更愿意就薪水之外的条件做出让步)

使用最合适的方法(可以尝试在电话或E-mail中谈判待遇)

自我评价

学习能力(搞IT行业的人需要不断的了解新的技术、工具和方法)

团队意识(相比个人英雄主义,IT行业更倡导团队合作)

抗压能力(很多IT企业的工作强度相对来说还是比较大的)

自学编程,免费获取精品IT教程以及资料,搜索:黑马程序员

网页链接

过去的几年,一些公司在信息化建设方面的投入巨大,难免有一些急于上马的项目投入与产出并不十分理想。而且由于市场环境的迅速变化,相应的业务模式也在不断的改变,从而给信息化系统的适应性提出了相当高的要求。

过去的有些项目启动时期没有很好地考虑到这些问题,造成一些项目盲目启动、仓促上马,导致项目的投入产出分析不清,项目重复建设,组织混乱,给后期的项目实施,项目维护,项目使用带来极大的风险,甚至导致系统建成后被用户弃用。最终使业务遭受损失。因此,越来越多的公司对于项目上马的决策已经趋于理性,严格要求做好项目启动前的论证工作。在满足当前紧迫的业务需求和长远的战略需求之间作好平衡。确保项目建设的成功。

相对产品供应商而言,企业在项目建设中处于合同意义上的甲方,其项目的启动过程与乙方的项目管理有很大的不同,是一个较为复杂的过程。它往往需要考虑一系列的问题,如:需求是否合理?是否有必要启动项目?项目可能带来的影响是什么?可能的投入有多大?取得的效益有多大?当前的管理模式是否能支撑?如果不能,可能要在哪些方面做好变革的准备?业界相关的产品有哪些?哪些是真正适合需求的?

因此,对项目启动管理形成统一的认知,对于实施信息化项目的企业有着非常重要的意义。

一般来说,项目的启动管理可以划分为以下几个阶段:

一、意向提出阶段

在意向提出阶段,业务部门发现需要由信息化手段来实现的业务需求,并提出建设信息化系统的期望。由于信息化项目的意向伴随着业务发展的全过程,因此,对于意向的统筹管理与规划对企业的信息化部门始终是一个难题。

对于有集中业务规划期间的企业,意向的产生经常集中在业务规划期间,比如:财年末,业务对自身的模式进行盘点期间,往往产生业务模式的改进或改革的需求,从而对信息化工具产生需求。在这一时间产生的想法或需求,往往不是很成熟,不确定性很大,后期变化的风险也很高。但这一时期,也是意向最集中,最易于统筹规划的时期。信息化部门通常在这一时期,对所有的意向进行收集,分类整理,初步形成项目建设清单。并考虑公司战略重点与资源投入的约束,对项目进行排序,以确定建设重点。

对于不在集中规划时期提出的项目意向,往往会影响到原有的整体规划与计划,各方面的论证更应谨慎,比如,项目的必要性、投入的合理性、资源到位的可能性,对已建和在建系统的影响等等。

信息化管理部门(或IT项目管理部门)可以通过建立一些制度与流程,对业务需求的意向进行引导, 尽量使意向在集中规划时期提出。

意向提出作为项目启动的一个阶段来管理,其意义就在于:对意向进行统筹规划,保证系统建设的整体合理性。

二、需求分析阶段

在受理了项目的意向以后,就进入对项目需求的分析阶段。这一阶段需要有IT人员与业务人员组成的小组,对业务需求进行详细的调研与分析。采用的方法主要包括各业务层次人员访谈、会议。

在这一阶段,IT人员与业务人员往往会出现矛盾,IT人员可能认为业务的需求不清晰,而业务认为自己的需求已经十分清晰。解决这个矛盾的关键在于,要有详细的管理控制方法,引导业务人员进行需求的细化。如,制定需求分析报告的框架,针对关键点形成文档等。一般来说,需求分析包括以下内容:

当前业务流程分析

未来业务流程分析

当前业务与未来业务的差异分析

信息化功能点需求

对将来系统的非功能需求,如:性能需求,环境需求,安全需求等

需求的优先次序

需求分析报告形成以后,还需要组织对需求的评审,以达成项目关系人对需求的一致认可。这一过程可包括:

制定评审计划:制定评审的工作计划,确定评审小组成员,准备评审资料。

需求预审查:评审小组成员对需求文档进行预审。

召开评审会议:召开评审会议,对需求规格书进行评审。

调整需求文档:根据评审发现的问题,对需求进行重新分析和调整。

重审需求文档:针对评审会议提出的问题,对调整后的需求文档进行重新审查。

三、可行性方案论证阶段

可行性方案的论证是项目启动阶段的关键活动,它的质量直接影响项目的实施效果。论证小组一般由企业内部的业务与IT技术两方面的人员组成,视项目的重要程度、难度与规模,可能还需要企业外部的专业顾问资源。

可行性方案论证的目的是通过确认管理体系和系统技术构架,从而确认未来的管理和技术方案是否有效。它立足于项目从管理上、技术上、实现上的难点进行阐述,逐步理清楚客户的需求。并在需求的基础上,规划总体解决方案,以作为项目投入产出评估的依据、产品选型的依据,以及后续实施方案的约束。

项目投入产出评估的依据:建立在业务需求分析基础上的项目投入与价值分析,往往是比较粗略的宏观感受。业务人员在提出信息化需求时,可能并没有充分考虑它与其它系统之间的关系,这样得出的投入与产出分析也是很粗略的。如果在此基础上,通过设计可行性方案,考虑清楚该项目的定位,与其它系统的关系,相信投入产出的分析将更有说服力。

产品选型的依据:可行性方案的制定是建立在业务需求的基础上,是不受任何产品影响的。因而它是后续产品选型的依据,它使得企业可以在产品选型过程中始终坚持从自身的需求和规划为原则选择产品与方案,而不至于受到供应商解决方案的误导。

实施方案的约束:可行性方案与实施方案是总体设计与详细设计之间的关系。可行性方案描绘了总体的业务方案与技术架构,而实施方案是可行性方案在各方面的细化。

此外,围绕可行性方案从管理上、技术上、实现上对难点进行的阐述,可以有效地开展项目的风险分析,制定项目的风险管理策略,为项目的成功提供保障。

四、产品选型阶段

当可行性方案需要通过选择新的产品来完成时,进入项目启动管理的产品选型阶段。在该阶段,对供应商进行初步的筛选以后,根据需求与方案要求,制定招标文档,接收供应商的项目解决方案,并根据评估标准,组织相关人员对供应商进行评估,选出2个以上的供应商进入商务谈判。并在立项报告审批通过以后,与供应商签署合同。该阶段又可细分为以下几个步骤:

创建RFP:根据需求阶段与可行性方案阶段分析的结果,制定向供应商招标的文档。

解决方案评估:制定产品选型评估的标准是该活动的核心,它包括:应用软件评估:对产品本身的功能、性能、体系架构、用户友好性、市场评价、费用等方面进行考察;

软件运行环境评估:对系统运行所需要的服务器、客户机的软硬件配置进行评估。这是很容易被忽略的一部分,又是有可能对后续实施投入影响最大的一部分,尤其是在客户端数量大,环境复杂的情况下。

项目实施评估:在信息系统的建设中,项目实施方法与能力已经成为项目成败的重要环节,因此对服务商实施能力的评估显得尤为重要。评估内容主要包括:实施方法、实施费用、实施周期、实施顾问经验以及对相似实施案例的考察。

培训与售后服务评估:包括考察培训方式、费用、售后服务方式、费用、响应时间等。

供应商评价评估:对供应商的基本面进行评估,如供应商的规模、业绩、合同语言和仲裁地、与客户的合作策略等方面。

效益风险评估:即项目的投入与产出的评估。这是最难评估的一项,当前在信息化项目中尚没有形成较完备的投入产出的量化评估指标,多是采用一些定性的分析与比较。

商务谈判

关于商务谈判的组织与技巧,有许多专门的论述。从信息化项目管理角度上具体来看,商务谈判是在一定的策略指导下,与产品及服务实施商进行的,确定合同条款的过程,目的是最大化的维护公司利益,确定最优的价格和服务条款。

商务谈判的依据是评估通过的解决方案,其过程通常包括:组织谈判小组、制定谈判方案、实施谈判、签署合同。值得注意的是,商务谈判与后续的立项报告审批并没有严格的先后关系,是可以同时进行的。但合同签署必须在立项报告审批完成后才可进行。

从普遍角度上说,一个有效的项目管理要从几方面入手。

1 项目范围

明确定义好项目管理范围,才能有效配置相应资源。

2 项目计划

根据项目要求,制定切实可行的项目计划。国内大部分项目经理都是根据上级指示做事,没有仔细做过项目评估,这就导致在项目执行过程中,经常出现不可控因素,影响了项目的执行结果。

3 项目资源

包括设备,材料,资金,人力资源等。关键是资金和人力资源,一个是保持适当的现金流,一个是保证有足够的人去做该做的事。

4 风险预估

包括对用户及对自身评估两部分。对用户主要涉及其信用度,财务状况,技术能力/经验等方面;对自身主要包括足够的项目管理人员,技术人员配置是否足够,经验是否丰富,有否做过同类项目,用户的付款条件对项目管理造成的风险是否可控?

以上是针对工程类项目,针对软件开发项目,在项目范围/风险中,还需要特别关注用户对项目的具体及特殊要求。

内容来源于ITSS符合性评估落地工具-云雀运维!!!

运营可行性的评估主要包括四个方面:

一是市场营销方面,包括自身渠道和第三方渠道是拥有丰富的合格投资者,能否为信托计划提供充分资金来源并完成足额及时的销售任务;

二是后台运营方面,包括持续管理、资金运用、定期报告、监督检查、信息披露、结算清算等具体事项能够在现有的人力物力条件下作出妥善安排,不会影响计划运行的进度和质量;

三是IT支持方面,即估值清算、账户管理、支付结算等需要信息技术予以支持的环节,计划能够在现有技术条件下全面完成或略作改进后可以完成;

四是风险控制方面,即公司能够为管理计划而实施必要且有效的风险控制措施,包括有效的风险识别、风险监督和风险预警,特别是计划出现相关风险隐患或风险事项时,公司应当能够及时高效地进行处理,如开展信用增级、资产保全、抵质押物处置、法律诉讼等。

我就是做IT行业的,软件这行业,目前来说是比其他行业有较大优势,IT行业我感觉以后会发展越来越好吧,国家现在对IT行业的支持也比较大,出的相关政策也比较多,由此可见,该行业会越做越大,当然刚刚转行你的待遇也不会太高,如果你干上二年,干的好的话,你的待遇大概会有5K以上吧,你可以先去大一点的城市去发展,那样进步快点,转行业的人很多,相信你会成功

以上就是关于简历上的项目描述(JAVA)怎么写全部的内容,包括:简历上的项目描述(JAVA)怎么写、IT项目文案范文、如何进行有效的IT项目管理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/8877694.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-22
下一篇2023-04-22

发表评论

登录后才能评论

评论列表(0条)

    保存