作者:马云冬(xacn)
版权所有:马云冬(xacn)
二、软件项目管理问题:
1、现代的软件开发,技术不是关键:
随着日益增长的软件需求和软件系统功能的增强,过去一个人开发的历史以不复存在。现在单枪匹马写程序也只是一种娱乐。我们一般开发的系统都是一个小组才能完成的。所以管理才是开发出好的软件的前提条件,没有管理一定出不来好的软件,当然有管理也不一定出软件的。一个成功的软件不一定是最好的技术,但在它背后一定有一个好的管理。所以现在的软件开发已不像从前把技术放在第一,而是该把管理放在第一位。我在网上看到一篇关于中国软件和印度软件的比较。我现在记的不是太多,但对我影响最深的是他们会去权衡技术和开发效率问题。如现在开发一个软件,用户要求去在三个月内完成,你在做系统分析时也认为在三个月能完成。但你没有考虑到一些细节,你写完系统的总体设计,在进行详细设计时碰到要建一张不是太大的路由表。这时大多数国内的设计人员就会想用什么算法,去花很多时间去设计研究新的算法和技术,而人家首先考虑的是系统的运行环境,而这个软件设计了是在(cpu:1.1g,内存:512m)中运行,用户也没特意提出其运行效率要求。所以人家就在内存中开一个大数组来对这个路由表进行操作。从这点看,人家注重的是软件的整体,而不像国内大多数据设计员那样,把个体放在首位。其实这方面我觉得我们的开发员应当多向共产党学习(本人不是共产党员,团员也因没交团费被cancel掉了)。把软件设计的整体放在首位,而不去花太多的时间在不一定成功的技术上。如果花太多的时间在技术上去,这将对系统的按时完成带来影响。我也不是说不该研究技术,我只是说开发中应当以全局为重。如果要加入新的技术,必须在分析时就预算其所需要的时间,并设置技术风险管理。如果风险太大就应当取消用这项技术,改用其它的已成功的技术代替。风险管理这是近来才提出的软件管理方法。它对我们的软件项目有着很好的控制作用。对于一些中、大型系统,它是一把走进成功之门的钥匙。这里就不谈了,我将在下面进行说明。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器