- 浏览: 1012460 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (826)
- 硬件 (8)
- 软件 (24)
- 软件工程 (34)
- JAVA (229)
- C/C++/C# (77)
- JavaScript (8)
- PHP (1)
- Ruby (3)
- MySQL (14)
- 数据库 (19)
- 心情记事 (12)
- 团队管理 (19)
- Hadoop (1)
- spring (22)
- mybatis(ibatis) (7)
- tomcat (16)
- velocity (0)
- 系统架构 (6)
- JMX (8)
- proxool (1)
- 开发工具 (16)
- python (10)
- JVM (27)
- servlet (5)
- JMS (26)
- ant (2)
- 设计模式 (5)
- 智力题 (2)
- 面试题收集 (1)
- 孙子兵法 (16)
- 测试 (1)
- 数据结构 (7)
- 算法 (22)
- Android (11)
- 汽车驾驶 (1)
- lucene (1)
- memcache (12)
- 技术架构 (7)
- OTP-Erlang (7)
- memcached (17)
- redis (20)
- 浏览器插件 (3)
- sqlite (3)
- Heritrix (9)
- Java线程 (1)
- scala (0)
- Mina (6)
- 汇编 (2)
- Netty (15)
- libevent (0)
- CentOS (12)
- mongod (5)
- mac os (0)
最新评论
-
kingasdfg:
你这里面存在一个错误添加多个任务 应该是这样的 /** * ...
Quartz的任务的临时启动和暂停和恢复【转】 -
kyzeng:
纠正一个错误,long型对应的符号是J,不是L。
Jni中C++和Java的参数传递 -
zhaohaolin:
抱歉,兄弟,只是留下作记录,方便学习,如果觉得资料不好,可以到 ...
netty的个人使用心得【转】 -
cccoooccooco:
谢谢!自己一直以为虚机得使用网线才可以与主机连接呢。。
主机网卡无网线连接与虚拟机通信 -
yuqilin001:
要转别人的东西,请转清楚点嘛,少了这么多类,误人子弟
netty的个人使用心得【转】
前面的章节请参考老系统维护(一)
第三步 理清做事的思路
弄清楚要做的事情很重要,在对自己要做的事情有了明晰的认识之后,接下来就要理清做事的思路。
老系统维护可以看成一个小型的项目,既然是项目,那么就有项目的一些特征,比如有时间要求,有可以交付的成果,有投入产出比的测算等等。对于项目类,我们公司使用五环策划表的方式来协助分析和实施,基本的过程如下:
1. 针对目的提出可以达成目的的目标,只要完成了这些目标我们就认为达到了目的。目标前面已经说过,是量化的目的,要符合SMART原则。举例来说,提高公司 员工身体素质是一个目的,要达成这个目的显得让人无处下手:怎么样才算提高公司员工身体素质?标准是什么?在多长时间内完成等等。我们可以提出一些目标来 量化这个目的,认为达成这些目标就认为完成了这个目的。我们相应的目标可能是利用3个月时间举行全公司羽毛球比赛,参加者达到员工的85%,员工满意度达 到90%以上。这样的目标是具体、可量化、可实现和有时间限制的;
2. 针对目标提出策略。策略就是达成之前提出的目标需要哪些行动来支撑。针对参加者达到员工总数的85%这个目标,我们的策略可能是通过多种途径宣传、提供奖品、取得公司领导和部门经理的支持等等;
3. 对每条策略提出方案。方案就是具体的做事方法,要求执行者拿到方案之后可以直接去执行。接着上面的例子,针对取得部门经理支持,我们可以提供这些方案:9 月1日编写经理联席会大纲;9月3日发送邮件,通知部门经理开会讨论;9月10日举行经理联席会……等等。
4. 划定里程碑。对整个实施过程提供一些检视的时间点。
这些就是五环策划表的要点,其中最重要的一条原则是一致性,也就是说后面的行为要支撑前面的行为。
下面是一个典型的五环策划表:
对于老系统维护来说,我们往往没有那么多的时间做这么全面和漂亮的五环策划表,大家都要忙着埋头看代码,找资料,和需求PK,昏天暗地写代码,哪有这些精力来做Excel表格啊?
五环策划表最重要的是思路,之前说了这么多也是为了说明这点。即是我们没有使用工具来记录,也要经过这个过程,当然,思维导图能做到两全其美:即帮助了分析,也不影响效率。下面是这个羽毛球比赛策划的思维导图分析过程。
刚才提到的都是方法,下面介绍一下我是如何将方法落地:)
老系统维护,一般都是在原有基础上增加或者修改一些功能,几乎不会涉及到架构的改变,因此我们在理清做事的思路的时候,可以着重从功能、流程、要素 三方面来考虑。
在弄清要做的事情 中和需求人员确认的是功能,在这个过程中我们要分析出这个功能是由什 么流程构成,在这个流程中需要哪些要素,要做什么加工,最终数据要保存成什么格式。比如我接手的项目,我花费了大量的精力和业务人员进行沟通和确认,得出 我要做的事情,其中的一个功能是将系统A产生的数据保存到老系统中,使用老系统的功能进行数据加工,最终产生数据供A使用。
分析老系统之后,我发现老系统的流程是使用Excel标准模板产生数据,将Excel数据导入到原系统中,保存到多个MDB文件中,原系统对这些MDB文件进行数据加工后生成一种自定义的文件格式,并将此文件供系统A使用。
对过对功能的对比,我得到两种方案:
1) 将系统A产生的数据按照Excel模板的方式导入到原系统中;
2) 将系统A产生的数据按照原系统使用的MDB文件格式导入成MDB格式,供原系统调用。
通过对比这两种方案,我发现MDB文件是稳定的,Excel模板是可能发生变化的。同时我们除了需要给原系统提供数据来源,还需要对原系统进行数据扩展, 使用Excel作为我们的目标会比较被动。业务人员给我的建议是避开Excel模板的方式,避免陷入因为接口不稳定而造成我们的被动中。
同时我分析了技术难度,两种转换来说,转Excel更加容易一点,只要分析Excel模板的构成规则,甚至不需要原系统的代码支持,我们只需要做一个小工 具即可;转MDB要陷入代码的细节,但是难度不是指数级别的。考虑到之后的功能扩展,以及参考了业务人员和A、B、C部门的技术人员的建议,我决定按照方 案2)来修改。
知道了功能和流程,最终需要确定要素。要素指的是数据流或者字段。确定要素就要弄清楚数据都有哪些?这些数据来源于哪里?如果找不到来源该如何处理?这些数据要保存到哪去?
还是拿之前的例子,我的手头缺少MDB的表定义文档,通过初步的观察,我发现这些表里面有很多表之间存在关系,比如主外键,一对多,多对多,是否聚合等 等。我没有头绪,只能找业务人员给我讲解业务,同时找技术人员给我讲解这些表的定义和相互之间的关系,讲过之后使用思维导图(实际上我开始使用的是 PowerDesigner,后来觉得有些费时费力,就该用MindManager)来建立联系,由于表众多,而且讲解通常只有有限的时间,对于表的细 节,技术和业务上往往存在脱节,这些问题只能自己解决。这时候要发挥一下开发人员常常不具备的两项能力:
1) 脸皮要厚。不懂就问,哪怕一个问题问过多次,也不能因为估计面子而不去问;
2) 借助资源。开发人员常常陷入问题的求解中,认为代码是诚实的,可以从代码中找到答案。这是正确的,代码的确是诚实的,但是时间也是有限的,因此对于难题的求解,要善于找到合适的人,得到准确的答案,而不是全部自己设法去解决。
当功能、流程、要素清楚之后,就几乎可以动手写代码了,这时候,常常对自己对项目做到了心里有底,随之烦躁的情绪也减去了大半。
发表评论
-
eclipse使用SVN创建,合并分支[转]
2011-11-11 17:11 906之前一直使用"小乌龟"进行分支建立与 ... -
持续集成之“依赖管理”
2011-08-04 18:10 802来源: infoq 发布时间: 2011-0 ... -
持续集成理论和实践的新进展
2011-08-04 18:10 983作者: 肖鹏 来源: InfoQ 发布时间 ... -
Maven原理和Maven2新特性
2011-06-30 16:02 1040Maven的基本原理和Maven2的新特性 用Maven做项 ... -
结合Maven2进行J2EE项目构建
2011-06-29 21:13 1199一.背景 Maven2 的基本 ... -
用Maven做项目管理
2011-06-29 21:10 1032用 Maven 做项目管理 在 Java世界中我们 ... -
天生一对"Maven2+Jetty" -- Maven2创建并管理WebApp
2011-06-29 19:21 1292Maven2代比1代改进很多,其中主要强调的是--它不仅仅是个 ... -
Maven实战(四)——基于Maven的持续集成实践
2011-06-28 13:16 959Martin的《持续集成》 ... -
Hudson+Maven+SVN 快速搭建持续集成环境
2011-06-28 13:07 1017hudson 是一个可扩展的持续集成引擎,Hudson非常 ... -
敏捷开发、极限编程
2011-06-27 00:35 875什么是敏捷开发?一种以人为核心、迭代、循序渐进的开发方法。在敏 ... -
敏捷开发简介
2011-06-27 00:34 1186在软件工业界,敏捷开发已成为众多高效开发团队的制胜之道。它不仅 ... -
用SecureCRT连接VMware中的Linux系统
2011-06-16 22:03 1599一、预备知识: Secure: SecureCRT将S ... -
持续集成之路——Maven
2011-06-15 15:04 725写在前面 ... -
持续集成之路——Maven(续)
2011-06-15 15:02 858接上篇)在新创建了项目之后,可以看到目录结构: ... -
持续集成之路——搭建Maven私服
2011-06-15 15:01 1073在开发过程中,有时候会使用到公司内部的一些开发包,显然把这些包 ... -
Maven仓库管理-Nexus(转帖后加强版)
2011-06-15 15:00 2033前面我讲到为什么要使用Maven, Maven的安装,以及如何 ... -
maven下nexus的搭建,jar包上傳等注意事項
2011-06-15 14:58 2485nexus是用來搭建本地jar ... -
解决nexus下载maven索引的问题
2011-06-14 23:23 3166在上个周五在公司的一 ... -
Maven仓库管理-Nexus(转帖后加强版)
2011-06-14 00:50 1105前面我讲到为什么要使用Maven, Maven的安装,以及如何 ... -
Hudson+Maven+SVN 快速搭建持续集成环境
2011-06-08 01:04 848hudson 是一个可扩展的持 ...
相关推荐
《商业编程:老枪二级域名系统朴素版源码解析》 在互联网的世界里,二级域名系统扮演着至关重要的角色,它使得大型网站能够通过子域名有效地管理和组织内容,提高用户体验和可访问性。"老枪二级域名系统朴素版"是一...
遗留系统是企业历史遗留下来的老一代信息系统的统称,它们可能因为技术、业务、市场等多种因素需要进行更新或替换。根据系统的业务价值和技术水平,遗留系统可以分为四种策略: - 改造策略:适用于技术含量高、业务...
### 计算机系统维护之光驱维修详解 #### 光驱故障概述 光驱作为计算机的重要外设之一,在日常使用过程中难免会出现各种故障。针对光驱的常见故障及其维修方法,本文将从机械故障、光学故障以及电子部件故障三个...
总的来说,新老系统迁移及整合是一项复杂的工作,涉及到数据处理、系统设计、接口开发和运行维护等多个技术环节。成功的迁移和整合不仅需要技术上的精确操作,还需要对业务流程的深入理解,以确保系统的稳定性和业务...
二、维护老客户的重要性 1. 增强竞争优势:老客户是公司口碑的重要传播者,他们的满意度直接影响新客户的引入。 2. 降低销售成本:相比获取新客户,维护老客户的成本更低,因为他们对公司的了解和信任减少了营销的...
工程运行管理的关键在于建立一套完善的电子档案系统,从而提高工程图纸的查找、使用效率以及工程的维护和改造设计的便捷性。通过将老图纸数字化,可以有效地减少因图纸磨损、污渍、遗失等问题带来的不便,同时为未来...
磁盘格式转换是一项常见的系统维护任务,特别是在处理不同操作系统之间的兼容性问题时。通过使用Windows自带的`convert`命令或者第三方磁盘管理工具,可以轻松地将FAT32格式转换为NTFS格式。不过,在进行转换前,请...
管理系统中的计算机应用主要涵盖软件开发过程、系统设计、系统测试、系统转换以及系统维护等多个方面。以下是基于题目中提到的知识点进行的详细解释: 1. **概要设计**:概要设计是系统设计阶段的一部分,它发生在...
二、地铁通风空调系统运行管理措施 1. BAS系统(Building Automation System): BAS系统监控并控制通风空调系统的机电设备,根据预设方案、模式和现场条件进行联动控制,实现全线环境和设备的自动化监管,确保...
二、系统开发的背景、必要性和意义 1、系统开发的策划背景 随着数字化转型的推进,企业需要借助信息技术来提升运营效率,客户管理系统能帮助老干妈实时了解市场需求,快速响应客户反馈,提升品牌形象。 2、系统...
【标题】中的“基于ASP的老Y文章系统数据迁移至天人系统工具”表明这是一个用于将使用ASP技术构建的旧版“老Y文章系统”的数据迁移到新的“天人系统”的工具。ASP(Active Server Pages)是微软开发的一种服务器端...
信息管理系统作业涉及到的是系统开发和管理的信息,涵盖了系统设计、模块化、耦合与内聚、系统测试、系统切换以及系统维护等多个方面的知识点。 一、系统设计 系统设计是将系统分析阶段产生的逻辑模型转化为可实施...
在SQL Server 2000中,数据备份与还原是维护数据库完整性和一致性的重要操作,对于系统的稳定运行和数据安全至关重要。以下是对标题和描述中所述知识点的详细说明: 一、备份 1. 集成管理工具备份: SQL Server ...
Base64 UTC时间转换小工具是一款实用的辅助程序,专为IT从业者设计,旨在简化Base64编码和解码过程,同时提供UTC时间的转换功能。...无论是在开发、测试还是日常维护工作中,这个工具都能提供便捷的支持。
如果这是第一次使用此功能,系统可能会提示安装必要的插件。这些插件可从Microsoft官网或其他可信来源下载,例如文章中提供的百度网盘链接。 **3. 下载并安装插件** 若未自动提示安装,可手动下载适用于Word转PDF...
USB转串口驱动程序是计算机技术中用于连接和通信的一种重要工具,特别是在嵌入式系统、工业控制设备以及老式设备的现代化应用中。本文将深入探讨USB转串口驱动程序的工作原理、安装过程以及常见问题,以帮助读者更好...
POI支持多种版本的Office文件,包括较早的二进制格式(如Word 2003的.doc)和较新的XML格式(如Word 2007及以后的.docx)。 2. **Word到HTML的转换原理** 要将Word文档转换为HTML,首先需要解析Word文档的内容,...
老毛桃,全称“老毛桃一键装机”,是由国内团队开发的一款免费的系统维护软件。其主要功能包括系统备份与恢复、硬盘分区管理、U盘启动盘制作等,特别适合对电脑操作不太熟悉的用户使用。此次发布的v9.5 2107版本,...
老毛桃U盘启动盘制作工具是一款功能强大的U盘启动盘制作软件,它能够帮助用户轻松地将普通U盘转换为具有启动能力的设备,从而在没有操作系统的情况下对计算机进行维护、数据恢复、系统安装等操作。本教程将详细介绍...