论坛登陆 用户名:  密 码:
设为首页  加入收藏
08年北京名校秋季招生
名牌院校免试入学宽进严出,突破考分限制,名校与你零距离,以下院校按报名先后顺序录取,24小时网上报名覆盖全国
  您现在的位置: 中国教育招生在线 >> IT >> JAVA认证 >> IT正文
怎样成为优秀的软件模型设计者?
 作者:佚名     2007-3-14 16:56:50        来源:不详  浏览次数:

 

 

 

 

 

 

 

 

我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢? 

将下列原则应用到你的软件工程中,你会获得立杆见影的成果。 

1. 人远比技术重要 

你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们那时侯将主要精力都集中在技术上。显然,构件(components),EJB(Enterprise Java Beans)和代理(agent)是很有趣的东西。但是对于用户来说,如果你设计的软件很难使用或者不能满足他们的需求,后台用再好的技术也于事无补。多花点时间到软件需求和设计一个使用户能很容易理解的界面上。 

2. 理解你要实现的东西 

好的软件设计人员把大多数时间花费在建立系统模型上,偶尔写一些源代码,但那只不过是为了验证设计过程中所遇到的问题。这将使他们的设计方案更加可行。 

3. 谦虚是必须的品格 

你不可能知道一切,你甚至要很努力才能获得足够用的知识。软件开发是一项复杂而艰巨的工作,因为软件开发所用到的工具和技术是在不断更新的。而且,一个人也不可能了解软件开发的所有过程。在日常生活中你每天接触到的新鲜事物可能不会太多。但是对于从事软件开发的人来说,每天可以学习很多新东西(如果愿意的话)。 

4. 需求就是需求 

如果你没有任何需求,你就不要动手开发任何软件。成功的软件取决于时间(在用户要求的时间内完成)、预算和是否满足用户的需求。如果你不能确切知道用户需要的是什么,或者软件的需求定义,那么你的工程注定会失败。 

5. 需求其实很少改变,改变的是你对需求的理解 

Object ToolSmiths公司(objecttoolsmiths.com)的Doug Smith常喜欢说:“分析是一门科学,设计是一门艺术”。他的意思是说在众多的“正确”分析模型中只存在一个最“正确”分析模型可以完全满足解决某个具体问题的需要(我理解的意思是需求分析需要一丝不苟、精确的完成,而设计的时候反而可以发挥创造力和想象力 - 译者注)。 

如果需求经常改动,很可能是你没有作好需求分析,并不是需求真的改变了。 

你可以抱怨用户不能告诉你他们想得到什么,但是不要忘记,收集需求信息是你工作。 

你可以说是新来的开发人员把事情搞得一团糟,但是,你应该确定在工程的第一天就告诉他们应该做什么和怎样去做。 

如果你觉得公司不让你与用户充分接触,那只能说明公司的管理层并不是真正支持你的项目。 

你可以抱怨公司有关软件工程的管理制度不合理,但你必须了解大多同行公司是怎么做的。 

你可以借口说你们的竞争对手的成功是因为他们有了一个新的理念,但是为什么你没先想到呢? 

需求真正改变的情况很少,但是没有做好需求分析工作的理由却很多。 

6. 经常阅读 

在这个每日都在发生变化的产业中,你不可能在已取得的成就上陶醉太久。 

每个月至少读2、3本专业杂志或者1本专业书籍。保持不落伍需要付出很多的时间和金钱,但会使你成为一个很有实力的竞争者。 

7. 降低软件模块间的耦合度 

高耦合度的系统是很难维护的。一处的修改引起另一处甚至更多处的变动。 

你可以通过以下方法降低程序的耦合度:隐藏实现细节,强制构件接口定义,不使用公用数据结构,不让应用程序直接操作数据库(我的经验法则是:当应用程序员在写SQL代码的时候,你的程序的耦合度就已经很高了)。 

耦合度低的软件可以很容易被重用、维护和扩充。 

8. 提高软件的内聚性 

如果一个软件的模块只实现一个功能,那么该模块具有高内聚性。高内聚性的软件更容易维护和改进。 

判断一个模块是否有高的内聚性,看一看你是否能够用一个简单的句子描述它的功能就行了。如果你用了一段话或者你需要使用类似“和”、“或”等连词,则说明你需要将该模块细化。 

只有高内聚性的模块才可能被重用。 

9. 考虑软件的移植性 

移植是软件开发中一项具体而又实际的工作,不要相信某些软件工具的广告宣传(比如java 的宣传口号write once run many ? 译者注)。 

即使仅仅对软件进行常规升级,也要把这看得和向另一个操作系统或数据库移植一样重要。 

记得从16位Windows移植到32位windows的“乐趣”吗 ?当你使用了某个操作系统的特性,如它的进程间通信(IPC)策略,或用某数据库专有语言写了存储过程。你的软件和那个特定的产品结合度就已经很高了。 

好的软件设计者把那些特有的实现细节打包隐藏起来,所以,当那些特性该变的时候,你的仅仅需要更新那个包就可以了。


1 2 3 下一页>>

责任编辑:lss
  相关新闻
怎样学习C语言
为什么要学习Java,成为Java程序员
CCIE是怎样炼成的—我到北京考试的经历
带着我的认证上路:五步成为网络专家
获得CCIEBS认证,成为IEBS证书持有者有什么利益
带着我的认证上路:五步成为网络专家
怎样才能阻止用户打开加密信息?
由“电脑盲”成为高级程序员的语文教师
怎样配置具有SSL保护的FTP服务器
成为一个成功Jsp程序员的过程
怎样学习C语言
为什么要学习Java,成为Java程序员
由“电脑盲”成为高级程序员的语文教师
获得CCIEBS认证,成为IEBS证书持有者有什么利益
CCIE是怎样炼成的—我到北京考试的经历
带着我的认证上路:五步成为网络专家
带着我的认证上路:五步成为网络专家
教您怎样部署基于WebSphere的J2EE应用
教您怎样在Web应用中动态创建PDF文件
详解怎样使用Axis开发Web Service的实例
  评论
现在有100人对本文发表评论
查看所有评论
 
推  荐
 
100本成功必读热销书
热门招生
  北京文理研修学院   前进大学
  北京明园大学   北京建设大学
  北京邮电大学世纪学院   北方工商管理学院
  联想软件定向委培班   香港数码动画学院
  青年企业管理研修学院   北京华夏管理学院
热门培训
网络化办公专家培训认证 电子科技大学软件学院
软件测试工程师培训认证 北大青鸟十大授权培训
IT硬件工程师培训认证班 北京环球雅思荷兰预科
JAVA开发工程师培训 潜能时代IT服务管理培训
网络信息化工程师培训 清华大学继续教育学院
论坛精选
 
有些细节是男人也该注意的风度!最容易读错的字
某强人手机里保存的30条短信 中国十大高薪职业
最感人的十大韩剧经典台词 嫁给工程师的N个理由
爆强!只有一句话的鬼故事 转贴教你如何做妖精
 女人一定要記住的話 女人最好别嫁给最爱的男人
城市联盟
 大连 上海 天津 广州 西安 深圳  天津  青岛  大连  福州  沈阳  青海  连云港  南京  吉林  厦门  威海  辽宁  呼和浩特
Copyright © 2006   www.edu999.com   All rights reserved. 中国教育招生在线  版权所有
北京市通信管理局[2004]字第552号函    京ICP证040442号