<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://feeds.qzone.qq.com/rss.xsl" version="1.0"?>
<rss version="2.0" xmlns:qz="http://qzone.qq.com">
<channel>
<title><![CDATA[  孙小贰]]></title>
<description><![CDATA[ ]]></description>
<link>http://176300676.qzone.qq.com</link>
<lastBuildDate>Wed, 03 Dec 2008 07:26:46 GMT</lastBuildDate>
<generator>Qzone</generator>
<language>zh-cn</language>
<copyright>Copyright (C), 2005-2008, Tencent Tech. Co., Ltd.</copyright>
<pubDate>Wed, 09 Jul 2008 12:36:30 GMT</pubDate>

<item>
<title><![CDATA[本日志不再更新，转到sunboyu.cn]]></title>
<link>http://176300676.qzone.qq.com/blog/1215606990</link>
<description><![CDATA[日志太多了，全集中在一起的好。<br>以后就到 <a href='http://www.sunboyu.cn' target='_blank'>http://www.sunboyu.cn</a>  就行]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[176300676@qq.com(  孙小贰)]]></author>
<comments>http://176300676.qzone.qq.com/blog/1215606990#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Wed, 09 Jul 2008 12:36:30 GMT</pubDate>
<guid>http://176300676.qzone.qq.com/blog/1215606990</guid>
</item>

<item>
<title><![CDATA[eclipse php插件的在线更新地址]]></title>
<link>http://176300676.qzone.qq.com/blog/1210427485</link>
<description><![CDATA[http://download.eclipse.org/tools/pdt/updates/]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[176300676@qq.com(  孙小贰)]]></author>
<comments>http://176300676.qzone.qq.com/blog/1210427485#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Sat, 10 May 2008 13:51:25 GMT</pubDate>
<guid>http://176300676.qzone.qq.com/blog/1210427485</guid>
</item>

<item>
<title><![CDATA[eclipse svn插件的在线更新地址]]></title>
<link>http://176300676.qzone.qq.com/blog/1210427251</link>
<description><![CDATA[<a href='http://subclipse.tigris.org/update_1.2.x/' target='_blank'>http://subclipse.tigris.org/update_1.2.x/</a>]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[176300676@qq.com(  孙小贰)]]></author>
<comments>http://176300676.qzone.qq.com/blog/1210427251#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Sat, 10 May 2008 13:47:31 GMT</pubDate>
<guid>http://176300676.qzone.qq.com/blog/1210427251</guid>
</item>

<item>
<title><![CDATA[昨天跟同学喝酒，今天跟同事喝酒]]></title>
<link>http://176300676.qzone.qq.com/blog/1210254797</link>
<description><![CDATA[忽忽悠悠得回来，也真爽。生活么，不光是工资多个零少个零。不被忽悠的日子真爽。]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[176300676@qq.com(  孙小贰)]]></author>
<comments>http://176300676.qzone.qq.com/blog/1210254797#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Thu, 08 May 2008 13:53:17 GMT</pubDate>
<guid>http://176300676.qzone.qq.com/blog/1210254797</guid>
</item>

<item>
<title><![CDATA[全方位解析一个软件是如何失败的]]></title>
<link>http://176300676.qzone.qq.com/blog/1208786283</link>
<description><![CDATA[<font face='' color='' size='3'>终于从焦油池里跳出来了，我的一个失败的项目失败了，而且这不是唯一的一个失败的项目。</font><br><font face='' color='' size='3'>痛定思痛，反思一下整个过程，希望对大家有所帮助。</font><br><font face='' color='' size='3'>首先，这个软件是个一句话的要求，为自己和为客户提供服务（鉴于公司机密，暂隐此功能）。软件刚开始以两三个文件几百行的代码完成了此服务，可以算该程序的第一个版本，而后的程序基本都是在此程序上完善扩充，按照开发模型，应该算原型开发，而且开发过程中有实际使用者的随时参与与意见的提供，在硬件上，有开发环境和测试环境，实际部署环境支持，而后又有客户的意见参与，如此优越的条件没有什么理由不完成一个优秀的软件，但失败了。</font><br><font face='' color='' size='3'>底下，我将从开发流程，人员协调，代码方面，以及真实发生在公司里的一些情况来分析软件失败的原因。</font><br><font face='' color='' size='3'><font face='Times' color='' size=''>1   </font></b>软件设计目标和流程。</b></font><br><font face='' color='' size='3'>软件设计目标是很明确的，为客户提供服务<font face='Times' color='' size=''>M</font>，服务<font face='Times' color='' size=''>M</font>需要客户提供文字资料和页面要去，而后美工经过设计后提交给编辑，编辑在软件后台进行任务建立，而后执行，最后把执行的报表反馈给客户。</font><br><font face='' color='' size='3'><font face='Times' color='' size=''>2   </font></b>模块与系统整体的耦合性</b></font><br><font face='' color='' size='3'>在模块与整体系统的耦合上，我采取了比较极端的松散耦合，因公司几个程序员水平参差，风格不一，所以如果紧凑耦合，否则基类或者公用函数的修改会造成不堪设想的结果。基于此模式，该模块没有收到其他人员的影响，一直稳定运行。此方法虽然会造成维护工作的加大，但对于由新手（基本就我这水平的人）做起来的系统，程序不会由于其他模块的调整而影响。</font><br><font face='' color='' size='3'><font face='Times' color='' size=''>3   </font></b>软件<font face='Times' color='' size=''>UI</font></b>的设计</b></font><br><font face='' color='' size='3'>软件完成后，主要工作还是由编辑来做。而此处是整个软件败笔的开始。</font><br><font face='' color='' size='3'>不能算作败笔，因为整个软件从前到后都由一个人来做，代码，页面，基本没有什么美感。而在软件的实现上，基本完成了所有的功能，所有的代码都是可执行的代码，并且整合在了一起。然后软件的灵魂在于应用，整个软件完成后，直接扔给编辑，编辑跳入焦油坑，而编辑只是提出，此软件无法使用，因为没有一个人性的接口，也就是软件很重要的<font face='Times' color='' size=''>UI</font>（<font face='Times' color='' size=''>user interface</font>）。</font><br><font face='' color='' size='3'><font face='Times' color='' size=''>4   </font></b>软件的执行</b></font><br><font face='' color='' size='3'>由于以上原因，软件虽功能齐全，但无优秀用户接口，造成编辑无法执行，而且在执行过程中，发现了不少改良的意见，软件也在此过程中不断修改完善。</font><br><font face='' color='' size='3'><font face='Times' color='' size=''>5   </font></b>面向对象</b></font><br><font face='' color='' size='3'>由于上述开发流程，软件不断增加了新的功能，而软件在设计的时候采用面向过程的开发方式，虽然后将部分功能模块封装，但系统已经错综复杂，整个软件流程已经没有头绪，而且不断由更多的要求提出。</font><br><font face='' color='' size='3'><font face='Times' color='' size=''>6   </font></b>软件部署</b></font><br><font face='' color='' size='3'>由于软件设计的过程中采用面向过程，而一些接口写死到程序中（对公司业务发展没有一个良好的预期），而在后期为了配合部署，程序进行了几次服务器的迁移，而每次迁移，都要修改大量的代码，而更换服务器，有时候也更换了软件执行机制，之后软件基本支离破碎。</font><br><font face='' color='' size='3'><font face='Times' color='' size=''>7   </font></b>文档</b></font><br><font face='' color='' size='3'>到这里，问题已经非常突出了，没有文档。以上所有工作没有记录，只有留下的一堆代码，整个人深陷泥池，业务勉强进行，即将崩溃。</font><br><br><font face='' color='' size='3'>业务崩溃了，总结一下失败经验：文档，流程，需求分析，维护规范。</font>]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[176300676@qq.com(  孙小贰)]]></author>
<comments>http://176300676.qzone.qq.com/blog/1208786283#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Mon, 21 Apr 2008 13:58:03 GMT</pubDate>
<guid>http://176300676.qzone.qq.com/blog/1208786283</guid>
</item>

</channel>
</rss>

