项目开发经验-明细表【整理】

这是在做项目时的明细表。原因是:
(1)新的开发者很快的就能够加快这个项目的进程
(2)用户能够容易的安装你的产品,而且也很容易去维护。

1.版本控制

应该说需要有某种形式的版本控制系统。如今的版本控制系统应该选择Subversion ,您只需要一台服务器主机。开放源代码的项目时,我使用code.google.com ,商业项目时我使用Hosted-Projects 。[url= http://hosted-projects.com]Hosted-Projects[/url],每月只需几美元,你在网上有一个备份。您需要检查你的repository,也包括所有的依赖库。

2.命令行编译脚本

我大部分的时间都在用Eclipse,他可以为我做所有的编译,单元测试和代码覆盖(EclEmma )。不过您需要命令行脚本去不断的build(通常是使用Ant 脚本)。你的脚本应分为:
1. 编译代码
2.编译测试
3.生成javadoc
4.运行测试与代码覆盖:我使用Emma 或cobertura 。
5.生成报告:测试的通过/失败和覆盖
6.建立一个分布的JAR。

3.连续Build

我见过很多项目,由于储存库的头部并没有被编译,导致无休止的生产力损坏。始终有一个规则,无论如何至少要让存储库编译(通过测试更为理想的)。使用持续集成服务器,例如cruisecontrol 或Hudson。我宁愿选择[url= https://hudson.dev.java.net/]Hudson[/url],因为安装它很简单,而且功能非常强大,为您的上层管理提供了很多很好的图形显示。您要连续获得JARs,javadoc ,测试报告,覆盖面的报告它能提供生成的脚本。对于code-base的状态基本上没有疑议,如果你的老板想尝试最新的代码,他可以下载继续Build。

4.自动分级推动

设置连续Build,如果测试通过就自动的将代码转到分级服务器。我通常会使用Tomcat 服务器,只需要更新Web-INF目录与最新的代码,[url= http://tomcat.apache.org]Tomcat[/url] 就会自动的告知新的文件和刷新。这给了人们展示产品的平台。您可以让您的QA使用这个服务器,也可以使用单独的一个。我经常会有很多的自动化测试,所以我将网站直接给客户,并告诉他们这是“Alpha”服务器。这是非常有用的,当您的工作的一项功能完成,客户得到这一部分,对该功能的意见能给你正面的推动,如果到最后客户才能看到,项目就很难进行改变。

5.测试和覆盖

即使您是新的自动化测试和单元测试,我仍建议你还是要按照清单上来做。自动化的测试个给下个阶段带来了整体的进步。您从自动化的测试得到的好处是巨大的,并且关于测试的介绍也出版了书籍,所以我们不在这里详细的讲解。

6.默认的嵌入式Web服务器

如果您正在建设一个Web应用程序,我推荐Jetty 作为您的Web容器。 Jetty 最酷的地方是您可以在您的main函数中新建服务。使用Tomcat 时,你要导入一个war文件,并将它添加到Tomcat 的目录中,然后等待Tomacat “安装” ,这样就会比较麻烦。但使用Jetty 您可以通过一个main函数开始您的应用(就像一个正常的桌面APP )并通过你的main函数来启动Jetty 。您的开发者更容易去开发/调试,您的客户也更容易去部署。

7.默认情况下嵌入式数据库

没有什么比一个复杂的数据库安装说明更复杂。所以我使用一个嵌入式数据库,例如HSQLDB 。 在开发和测试中,我让系统采用一个内存数据库,然后我才使用这个数据库的硬盘版本。 但在这两种情况下客户/开发做的没有不同,这是最重要的。如果生产环境需要大负载,我再提供命令行选项,切换到外部数据库如Oracle数据库。

8.自动安装模式

应用程序启动的第一件事就检查schema是否安装。 如果没有它会自动安装模式。 我通常使用的Hibernate ,如果需要他会为我做所有的事,升级架构,以较新的版本。所以在数据库中我从来没有担心过架构问题。

9.guice 依赖注入

如果您想要一个可维护性,可测性和容易理解的code-base,您需要使用依赖注入 ( DI )作为一个设计模式。一个自动化的DI框架,使您的工作更轻松。我使用guice我想这是最先进的DI投资,同样还有picocontainer 和spring 。

10.易于安装/运行

现在考虑的是让顾客更容易的去尝试你的产品。 我喜欢给我的客户看一个JAR文件,并告诉他们“双击”来启动JVM , Web服务器,数据库,安装架构,并推出网络浏览器(基于本地)。或您的应用通过Java Web Start 开始,这样你就可以在web页面中一键式安装,这样就不需要安装手册了。

a)把主要class放在JAR MANIFAST,这样只要双击就可以加载你的应用。 

b)把所有的JAR依赖放在主要的JAR文件中,使用JarJar   或者One-Jar-Classloader     。 

c)给应用提供:内存数据;安装schema; 加载Web的容器; 安装自动提供一个admin用户等等…… 

这给您带来了什么好处?您将有快乐和富有成效的开发流程和快乐的顾客,而且可以很容易为你的产品吸引到客户。

    致尊敬的导师,朱福喜 教授
本压缩包包括如下数据(绝对的经典,绝对满足日常项目管理的需要): 第一章.IT项目的启动阶段 1.1 可行性研究报告框架 1.2 项目章程 1.3 项目整体风险水平定性分析 1.4 多项目风险情况一览 1.5 质量保证说明书 1.6 采购程序及准购权限 1.7 会议议程安排 1.8 会议预算 1.9 会议申请审批 1.10会议通知 1.11会议签到 1.12会议资料明细表 1.13会议记录 1.14会议内容管理 1.15会议代通讯录 1.16会议纪要 1.17会议决议 1.18会议决议落实通知单 1.19会议决议跟踪 1.20实际会议费用清单 第二章.IT项目的计划阶段 2.1 IT项目综合计划模板(1)——项目整体介绍 2.2 IT项目综合计划模板(2)——项目管理过程 2.3 IT项目综合计划模板(3)——项目组织介绍 2.4 IT项目综合计划模板(4)——工作包、进度和预算 2.5 IT项目综合计划模板(5)——技术过程介绍 2.6 项目范围说明书 2.7 软件需求调查 2.8 需求分析说明书 2.9 系统设计任务书 2.10 工期类比估算 2.11 项目活动计划 2.12 项目进度计划 2.13 里程碑计划及其跟踪 2.14 所需资源清单及费用估算 2.15 成本类比估算 2.16 按模块估计的成本估算 2.17 基于费用科目的成本估算 2.18 项目年度用款计划 2.19 IT项目质量指标框架模板 2.20 IT项目质量保证计划模板 2.21 关键质量活动一览 2.22 项目人员需求申请 2.23 面试记录 2.24 项目成员审核 2.25 项目组工作说明书 2.26 项目成员岗位工作说明书 2.27 岗位说明书一览 2.28 IT项目团队知识地图 2.29 项目成员责任分配矩阵 2.30 项目成员培训需求调查 2.31 项目培训计划 2.32 项目文档分类 2.33 项目干系人的沟通需求分析 2.34 项目信息接收责任明细表 2.35 项目成员联络 2.36 单个风险损失值评估 2.37 项目所有识别风险一览 2.38 单个风险应对计划 2.39 风险应对计划一览 2.40 硬件产品请购单 2.41 软件产品请购单 2.42 项目采购计划明细表 2.43 采购招标书模板 2.44 采购投标书模板 2.45 供应商财务状况调查 2.46 供应商评估 2.47 采购中标通知书 2.48 采购落标通知书 第三章.IT项目的执行控制阶段 3.1 项目管理跟踪报告模板 3.2 项目变更控制 3.3 项目变更动力、阻力分析 3.4 项目范围变更一览 3.5 项目变更状态跟踪一览 3.6 范围/进度/成本/质量/采购变更一览 3.7 工作周报 3.8 项目工作包进展报告 3.9 项目月度进展报告 3.10 项目月进度控制一览 3.11 项目进度偏差控制 3.12 某月/季项目进度汇报 3.13 项目工作包进展抽查 3.14 系统模块安装实施控制 3.15 多项目进展状况一览 3.16 项目费用申请 3.17 项目支出明细单 3.18 基于最低预算的成本控制 3.19 成本偏差控制 3.20 单项目挣值分析 3.21 多项目挣值分析比较 3.22 信息系统缺陷的质量目标 3.23 项目单元测试方案 3.24 系统测试用例 3.25 系统测试问题报告单 3.26 系统缺陷状态跟踪 3.27 软件Bug详细记录 3.28 项目重大缺陷一览 3.29 项目成员工作周报 3.30 临时成员加入项目组申请 3.31 项目成员绩效考核 3.32 360度考核 3.33 培训申请审批 3.34 前十个风险监控一览 3.35 一/二次风险监控一览 3.36 基于挣值分析的风险监控 3.37 采购设备订单状态报告 3.38 采购设备费用状态报告 3.39 设备验收单 3.40 设备检验状态一览 3.41 取消订单损失报告 3.42 退货清单 3.43 公司采购合同执行情况一览 3.44 采购合同验收报告 3.45 采购设备分配 第四章.IT项目的收尾阶段 4.1 用户部门新需求申报单 4.2 IT项目产品质量评审 4.3 软件验收单 4.4 设备验收单 4.5 IT项目内部验收报告模板 4.6 最终项目文件列 4.7 IT项目验收单 4.8 项目成员述职报告模板 4.9 项目成员经验教训报告模板 4.10 项目结束人员安排 4.11 设备回收交付 4.12 项目团队内部经验总结模板 4.13 最终项目内部总结报告模板 4.14 最终项目用户移交报告模板
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值