
软件开发
文章平均质量分 68
elimago
aa
展开
-
软件开发,代码是核心
在一个有效的组织中,必定拥有杰出的一线人才。软件设计也是一样的,一线人才的素质决定了软件的质量。从敏捷的观点来看,代码是检验软件过程是否有效的最终标准。目前为止,以及在短时间的未来,我们都不太可能完全脱离代码进行软件设计。所以,软件过程中的任何一个活动都是为了能够产出优秀的代码。所以,代码才是核心。1. 代码是软件开发的基础 编码是软件开发过程中最基本、最底层的技艺,然而也是最重要的技艺。任何一转载 2007-08-26 19:41:00 · 1239 阅读 · 0 评论 -
国际:十个习惯让你精通新的开发技术
这篇文章,是从我的《高效开发人员的五个特征》一文中抽出的一个观点。从我自身的事业和习惯中,我考虑了很多方式怎么样才能有效地学习。1. 要看书。在成千上万的编程图书中,可能很大一部分根本毫无用处。但是仍然有很多图书对你的(编程)能力有很大的提升。我一直坚持,相比在网络上查找很多有用信息,在同类图书中查找要来得更容易更快捷。阅读技术图书可心更好地抓住核心内容。对于理论,架构和设计等方面来说,图书也转载 2008-04-10 14:42:00 · 787 阅读 · 0 评论 -
当前Java软件开发中几种认识误区
上面是谈过分依赖持久层的一个现象,还有一个正好相反现象,持久层散发出来,开始挤占业务层,腐蚀业务层,整个业务层到处看见的是数据表的影子(包括数据表的字段),而不是业务对象。Hibernate是一个基于对象模型持久化的技术,因此,关键是我们需要设计出高质量的对象模型,遵循DDD领域建模原则,减少降低关联,通过分层等有效办法处理关联。越来越多人开始使用Java,但是他们大多数人没有做好足够转载 2008-01-17 11:18:00 · 569 阅读 · 0 评论 -
理解复杂性
软件系统中的复杂性是不可避免的,但并不意味着不可处理。请看 IBM 杰出工程师如何从体系结构和团队组织的角度出发,处理复杂性问题。来自 The Rational Edge. 对于我们大多数人来说,复杂性是一种“当我看到它时就明白它了”的事物。在软件开发和交付的过程中,我们经常不加以任何达成协议的、技术上的定义来使用术语“复杂性”。这是可以理解的,因为复杂性是难以定义的。它所涉及的不同领域的技术转载 2008-01-16 10:17:00 · 1731 阅读 · 0 评论 -
项目开发心得之人力资源配置
从2007年11月开始第一次负责一个网站(www.ywt100.com)的开发,到目前大致的框架及主体功能已基本完成,虽然自己感觉不是很满意,但第一次当项目经理能完成自己也算还过得去,现将自己项目开发过程中的一些心得陆续在总结出来与大家一起分享,希望能对大家在项目管理及项目开发的过程中有所帮助。 一个B/S项目从立项开发就需要根据项目的规模、经费的预算、应用的技术、项目开发的模转载 2008-04-10 17:17:00 · 1014 阅读 · 0 评论 -
写Java程序最容易犯的21种错误实例分析
1.Duplicated Code 代码重复几乎是最常见的异味了。他也是Refactoring的主要目标之一。代码重复往往来自于copy-and-paste的编程风格。与他相对应OAOO是一个好系统的重要标志。 2.Long method 它是传统结构化的“遗毒”。一个方法应当具有自我独立的意图,不要把几个意图放在一起。 3.Large Class 大类就是你把太多转载 2008-01-17 11:54:00 · 575 阅读 · 0 评论 -
用汽车售票系统谈数据库结构设计
上周参加了高级数据库的培训,觉得主讲人水平很高,我受益颇多。数据库设计的工具采用PowerDesigner,这个工具以前没有怎么用过,不是很熟悉,这次结合实例来学习,对我帮助很大。现在我把这部分资料整理到网上,以便像我一样的初学者学习。售票系统的需求分析如下:简介 售票系统主要用于车站日常的票务处理。售票系统是车站信息管理系统数据的主要来源,它的业务直接影响财务、检票、调度系统。售票系转载 2008-04-16 09:45:00 · 1784 阅读 · 1 评论 -
软件工程师不可不知的10个概念
show_ads_zone(13); 出色的软件工程师善用设计模式,勤于代码重构,编写单元测试,并对简单有宗教般的追求。除了这些,优秀的软件工程师还要通晓10个概念,这10个概念超越了编程语言与设计模式,软件工程师应当从更广的范围内明白这些道理。10. 关系数据库 (Relational Databases) 关系数据库因为在大规模 Web 服务上缺乏可扩充性而转载 2008-07-28 10:56:00 · 512 阅读 · 0 评论 -
Code Review与CheckStyle
Code Review与CheckStyle 本文向大家介绍Code Review的主要内容,以及流行的检查Code Conventions的工具。同时,对于目前应用最为广泛的CheckStyle的应用给出详细的介绍,同时,也列举了很多使用CheckStyle的最佳实践。 1. Code Review & Code Conventions 质量是衡量一个软件是否成功的关键要素。而对于商业软件系统转载 2008-08-28 13:56:00 · 1002 阅读 · 0 评论 -
国际观点:有助于你编程而立即要做的10件事
我们一直努力又努力去掌握那些对于我们来说是全新的东西。那么,我们做什么来帮助学习?下面是一个关于如何使你编程更迅速合理的10件事情的列表。我更习惯与使用Ruby on Rails,但下面的观点也适用于其他环境。1.升级单元测试你的编程没有测试?你应当随时进行测试,即TATFT ( testing all the fucking time )。当然你应当选择比仅是单元测试更好的方式。RSpec和S转载 2008-09-19 18:06:00 · 580 阅读 · 0 评论 -
跌跌撞撞的持续集成之路
“天下事头绪纠缠,兴一利必也生一弊。”一句话,道破了改进难点所在。最近在项目中围绕持续集成做改进的时候,对这一点感受颇深。跌跌撞撞的一路走来。我们的持续集成的过程已经变得有些“个性化”,反过头来看我们一路的变化,非常有意思。 从项目的技术架构说起,我们的项目是采用的J2EE+Flex的方式进行开发的。在我进入项目组转载 2008-12-30 11:16:00 · 865 阅读 · 0 评论 -
四个开放源代码审查工具【图文】
大多数开发者对代码审查的概念并不陌生,其他开发者或小组成员检查你编写的源代码是最常见的方式。代码审查(Code Review)是软件开发过程的一个阶段,在这个阶段中,代码创造者和审查人员,可能还有质量保证(QA)测试人员,一起进行代码审查。审查的内容包括代码规范性检查、代码质量评估和对重点代码进行代码实现的评审三部分。代码规范性检查是较简单的部分,可以通过工具来实现,不需要召开专门的审查转载 2008-11-13 17:49:00 · 1802 阅读 · 0 评论 -
怎样给下属分配工作?
1,把合适的工作分给合适的人 显然,每个人都不是全能选手,每个人都有所长和所短。领导应该了解自己的下属,包括他们的特长和所好,让每个人做其最擅长和喜欢的工作。下发工作最好不要是强制性的,先征求他们的意见和建议,问一下他们的看法,一定对完成工作有很大的帮助。因为不是所有的领导其脑子都比下属聪明,相反,在具体的微观的细节上,下属往往比领导更有发言权。让工作在下属的愿望和控制内进展,转载 2009-01-06 10:03:00 · 720 阅读 · 0 评论 -
软件开发者需做代码复查的五大原因
做代码复查的好处远远不止提高代码质量。如果您的团队中有人不愿花时间进行代码审查,叫他读读这篇文章吧。document.write(""); 每个人都承认代码审查的花销大,而且又耗时,特别是当大家忙完成软件项目又把它送去软件测试部门时。对一些开发人员来说,它更是会引发更多的办公室政治和流言蜚语。 一次代码审查可能会使代码逐渐得到改进。如果你认为你从有效的代码转载 2009-02-12 20:33:00 · 891 阅读 · 0 评论 -
软件的开发效率、优秀结构和运行性能的关系和取舍
软件设计确有好坏之分,但好坏的标准却很难制定,大多时候各人各看法,难以统一。项目经理们追求开发效率,他们大多时候只关心什么时候能把东西做完;技术员中有很多人更关注程序结构、复用性这样的东西,希望程序结构好看,而另一些人则是程序性能的狂热追求者,他们舍不得多花费哪怕一丁点的CPU。提高这些指标当然都是好事,但正如俗话说的,好事难两全,很多时候这些指标会产生冲突,而软件设计师必须在冲突产转载 2009-02-26 13:20:00 · 840 阅读 · 0 评论 -
写出漂亮代码的七种方法
首先我想说明我本文阐述的是纯粹从美学的角度来写出代码,而非技术、逻辑等。以下为写出漂亮代码的七种方法:1, 尽快结束 if语句例如下面这个JavaScript语句,看起来就很恐怖:1 function findShape(flags, point, attribute, list) {2 if(!findShapePoints(flags, point, attri转载 2008-12-18 10:05:00 · 667 阅读 · 0 评论 -
Google的九条创新原则
Innovation, not instant perfection/创新不会马上就完美 Start rough, learn and iterate./开始粗糙,学习和迭代Ideas come from everywhere/点子来自任何地方 Ideas can come from the engineers, managers, users even the fin转载 2009-05-30 21:25:00 · 457 阅读 · 0 评论 -
怎样才算熟练掌握数据结构、常用算法
不可能都完全记住那么多的算法. 常用算法,拿过来就可以写出来 不常用的,拿起书来,看10分钟,就能理解算法(因为以前记过). 对以前没有记过的算法,就不好说了,难的可能要研究好几天. 这样就可以了. 应该熟练掌握的常用的算法应该有: 各种排序算法(插入排序、冒泡排序、选择排序,快速排序,堆排序,归并排序) 线性表(一般的线性表,栈,队列)的插入和删转载 2009-08-16 13:53:00 · 1173 阅读 · 0 评论 -
浅析软件项目进度管理中的积习流弊
软件项目的危机时时被人提及,似乎已经引起了足够多的、足够重要的人物的重视,但是时至今日许多软件项目就一个“进度”都始终无法保证,更不论谈其他的“范围”、“成本”、“质量”了。 软件项目的 进度是国内企业普遍最重视的项目要素,之所以如此收到关注无非有以下几点: 1. 与客户的协约中或者项目计划中,最明确的,客户最关心的要求是进度。对许多客户而言如期拿到成功,完成项目,向上面交差,转载 2008-01-07 17:43:00 · 705 阅读 · 0 评论 -
浅析软件项目管理中十个误区
随着计算机硬件水平的不断提高,计算机软件的规模和复杂度也随之增加。计算机软件开发从“个人英雄”时代向团队时代迈进,计算机软件项目的管理也从“作坊式”管理向“软件工厂式”管理迈进。这就要求软件开发人员特别是软件项目管理人员更深一步地理解和掌握现代软件工程的理论方法,完成思想观念上的转变。笔者在此分析了10个在现代项目管理中思想观念上容易陷入的误区,希望能够抛砖引玉,引发大家更多的思索和讨论。 误转载 2007-09-04 13:46:00 · 547 阅读 · 0 评论 -
CMM在对日软件开发中的应用
CMM在对日软件开发中的应用作者:王海龙 来源:网络 摘 要 本文提出了一个基于CMM的对日软件过程管理解决方案,并通过对一个典型的对日软件开发项目的实施,验证了本方案在提升对日软件过程管理能力方面的成效。 关键词 CMM; KPA; 软件外包; 对日软件开发; 解决方案 附:SP(System Planning)->SA(System Analysis)->UI(User In转载 2007-09-12 17:00:00 · 1261 阅读 · 0 评论 -
论项目管理中的邮件管理
邮件作为项目日常交流的一个工具,在我们的开发过程中,并没有受到足够的重视。cnblogs中关于邮件的讨论也非常的少可见一斑了。目前很多公司开发过程中没有能就邮件的主题格式,内容要求等等做详细的规定,以为邮件作为工作中一个辅助的手段可有可无。 存在的问题: 项目任务口头传达: 口头传达是一个项目不够严谨的表现。尤其是比较大项目,几十人参与的情况下,口头传达不够清晰,也不能很明确确定工作范围转载 2007-09-27 13:39:00 · 1741 阅读 · 0 评论 -
团队成员的五种需求及其满足方式
加入项目团队中的成员,无疑需要从全局出发,为团队的共同目标而努力。但在项目的建设过程中,每个团队成员可能都存在自己的个性化需求,只要这些需求是合理的、是有利于或不影响团队目标实现的,项目经理就应该尽可能采取必要的措施予以满足。 笔者结合自己的实践经验,总结出团队成员的五种个性化需求:“物质和精神需求”、“学习需求”、“能力锻炼需求”、“交友需求”和“自我展现需求”,并对如何满足这五种需求进行转载 2007-10-30 16:51:00 · 1019 阅读 · 0 评论 -
项目管理的20条锦囊妙计
即使在最完美的条件下,管理一个软件项目也是很困难的。不幸的是,许多新项目经理实质上没有受到任何就职培训。这里有20个成功的管理经验供项目经理参考。不过,只依靠某一两条“妙计”,是无法顺利完成项目的。? 1.定义项目成功的标准? 在项目的开始,要保证各方对于判断项目是否成功有统一的认识。通常,跟紧预定的进度是唯一明显的成功要素,但是肯定还有其他的因素存在,比如,增加市场占有率、获得指定的转载 2007-10-30 16:54:00 · 503 阅读 · 0 评论 -
成功管理的根基 团队项目管理101招
了解团队运作 团队合作是所有成功管理的根基。无论你是新手还是资深管理人,对你而言,管理好团队都是重要且具激励性的挑战。 1. 切记:每位成员都能为团队作出一些贡献。 2. 谨慎地设定团队目标,且认真严肃地对待它们。 3. 切记成员间要彼此扶持。 4. 将长程目标打散成许多短程计划。 5. 为每个计划设定明确的期限。 6. 尽早决定何种形态的团队适合你的目标。 7.转载 2007-10-30 16:41:00 · 627 阅读 · 0 评论 -
软件研发人员考核的十项基本原则
◆要体现公司的价值观 公司的价值观体现了公司认可什么类型的人员?要挽留哪些人?提倡做什么?对这些人员的认可可以通过具体的考核办法落实下来。比如企业鼓励在某一个业务领域内积累丰富的领域经验,鼓励在某个技术方向上进行深入钻研等,对于提倡的这些行为,要有具体的奖励措施。所以在定义考核办法时,需要首先考虑清楚要体现企业的哪些价值观。 ◆要体现多劳多得,质与量并重 不能让那些完成转载 2007-10-30 16:47:00 · 524 阅读 · 0 评论 -
微软资深经理人的项目管理经验
第一章.有效团队的基础 1、专心改善产品公司付工资给设计师,要他们在合理的时间开发出品质精良的网站,但是设计师们的时间却经常被其它事情占用了。 典型的情况是设计师要花大量的时间准备会议,参加会议,读写开会记录和进度报告,还有回复email等等,这些事情都不能改善网站的工作,虽然其中一些是设计师自己主动做的,但更大一部分是项目经理下的命令。虽然项目经理的本意是好的,但是却违背了项目经转载 2007-10-30 17:02:00 · 584 阅读 · 0 评论 -
IT项目管理中的团队沟通
问题所在 一旦交流出现了问题,项目的成功就会遇到阻碍。那么问题通常出现在那些方面呢?期望值不同 项目经理要努力让与项目有关的每一个人建立起同样的期望值,包括项目应该何时完成、带来什么样的结果,成本如何。这些期望值最初在对项目进行计划时就应该在计划书中明确下来。但是,很多项目经理没有能够让关键股东及时了解期望值的变化。人们在做出决策时通常要依据当时所掌握的最佳信息,如果项目经理不能让所有转载 2007-10-30 17:04:00 · 738 阅读 · 0 评论 -
软件行业为什么需要最佳实践
与许多古老的职业相比,人们从事软件开发的时间并不长。但就在这短短的几十年中,人们根据软件行业的经验,并从其他行业(如建筑业、制造业)借鉴,总结了不少“最佳实践”。特别是最近十年以来,这些最佳实践似乎分裂成为两大阵营:重型方法学和敏捷方法学。这两大阵营的拥护者都不少,并且领军人物都是德高望重。 软件项目的目标 在讨论这些最佳实践之前,先明确一下软件项目的目标,因为所有的最佳实践都是为实现项目目标转载 2008-02-19 09:47:00 · 853 阅读 · 0 评论 -
Java开发者需坚守的十大基本准则
有许多标准和实践准则可适用于Java开发者,但此处要说的,是每个Java开发者需坚守的基本原则。 一、为代码加注释。虽然每个人都知道这点,但有时却不自觉忘了履行,今天你“忘了”加注释了吗?虽然注释对程序的功能没什么“贡献”,但过一段时间,比如说两星期之后或者更长,回过头来看看自己的代码,说不定已经记不住它是干什么的了。如果这些代码是你个人的,那还算是走运了,不幸的是,当然了,大多数时候都是别人的转载 2007-11-29 10:24:00 · 491 阅读 · 0 评论 -
基于测试概念进行代码设计的七条基本原则
当设计大型程序的时候,您必须时刻留心不同设计选项对诸如性能和可扩展性这样的特征的影响。随着软件产品的日渐复杂及其无所不在的部署,软件的“可测试性”也成了更重要的考虑事项。彻底测试代码的重要性是显然的。花在编写测试和测试代码上的时间和精力给您带来的回报是维护成本的大幅降低。然而,除非您很小心,否则您花在测试代码上的精力可能会首先达到花在编写代码上的精力的几倍!我曾看到程序员们齐心协力地对他们转载 2007-11-30 09:29:00 · 741 阅读 · 0 评论 -
敏捷实施步骤与价值观
敏捷的首要价值观: 拥抱变化。一、分析需求为用户故事。方法:做为(用户角色),我可以(做什么),以便(业务价值)。后面的业务价值在比较简单或者大家都比较明确的时候刻意不需要注明。价值观:1、让需求独立,方便理解,分析以及实现 2、明确需求的业务价值 3、快捷增加,删除,变更用户故事二、对用户故事估计方法:在估计会议上,主持人拿出一个用户故事,大家对这个用户故事分转载 2008-03-04 10:35:00 · 709 阅读 · 0 评论 -
模型驱动软件开发实战步骤
有人说:今年是AJAX年,AJAX作为软件系统表现层实现技术,怎么能和改变软件开发方式的模型驱动开发模式相比呢?DSM、Together 2006等都在2006不断亮相,因此,说2006年是领域模型年一点也不过分,因为这是一个软件新旧时代的开始之年,数据库时代已经过去。领域模型时代已经来临! 过去,当我们面对一个新的业务需求时,我们总是从先建立数据表结构开始,这种面向数据表的原创 2008-03-09 16:40:00 · 1063 阅读 · 0 评论 -
关于提高自己JAVA水平的十大技术讨论
因为XML可以描述数据和对象,XML大纲可以保证XML文档数据的有效性,因为XML的基于文本的规范,因而XML文档极其适合于作为一种跨平台通讯标准的基本格式。 本文列出了当今计算机软件开发和应用领域最重要十种关键技术排名,如果你想保证你现在以及未来的几年不失业,那么你最好跟上这些技术的发展。虽然你不必对这十种技术样样精通,但至少应该对它们非常熟悉。 一、XML 在十种技术转载 2007-12-14 09:55:00 · 723 阅读 · 0 评论 -
初学入门:如何有效编写软件的75条建议
1. 你们的项目组使用源代码管理工具了么? 应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。2. 你们的项目组使用缺陷管理系统了么? 应该用。ClearQuest太复杂,我的推荐是BugZilla。 3. 你们的测试组还在用Word写测试用例么? 不要用Word写测试用例(Test Case)。应该用一个专门的系统,可以转载 2007-12-29 13:19:00 · 1086 阅读 · 0 评论 -
七种场景下的软件工作量估算步骤
场景一:合同前的工作量估算场景描述:(1)没有实施过CMMI2级(2)合同未签,需要给客户报价(3)有客户的概要需求,有类似的项目数据可供参考(4)需要估计整个项目的总工作量,以便于估算总成本,给客户报价估算步骤:(1)寻找类似的历史项目,进行项目的类比分析,根据历史项目的工作量凭经验估计本项目的总工作量;(2)进行WBS分解,力所能及地将整个项目的任务进行分解;(3)参考类似项目的数据,采用转载 2008-01-04 11:09:00 · 818 阅读 · 0 评论 -
代码大全2读书笔记
作者写这本书的首要目的,就是希望缩小本行业中一般商用实践与大师级人物及专家们之间的知识差距。许多强大的编程技术在被编程领域的大众接触之前,都已在学术论文和期刊里尘封了多年。成功学大师拿破仑希尔说过:什么思想决定什么样行为;什么样行为决定什么样的习惯,什么样的习惯决定什么样性格,而什么性格决定什么样的命运。本书给我印象较深刻的章节有:前期准备、软件构建中的设计、防转载 2009-09-07 11:59:00 · 1011 阅读 · 0 评论