文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院精文荟萃名人名家从程序员到软件设计师的过程
精品推荐
特别推荐
·人生成功生涯规划100
·明星赚大钱的奥秘在于名字
·全世界最有钱的9个年轻人(多图)
·瑞典宜家公司的营销理念:与客户一起创造价值
·贩卖男儿本色:北漂女孩经营另类沙龙
·李嘉诚经典大作:企业管理的艺术
·泡泡网总裁李想 放弃高考创亿元财产
·巴菲特:一个有思想的美国大富翁
·有钱人的生活:钱来的太早太容易的代价
·10大美貌智慧财富女性
·走近80后亿万富翁 戴志康 李想 茅侃侃 高燃在校开始创业
·世界顶级创新者的72变
·音乐教父罗大佑:爱音乐也爱钱
·世界成功人士的励志人生
·张瑞敏管理箴言100句
·刘翔VISA信用卡:12秒88后身价暴涨至1200万元
·刘德华的财富人生
·阿里巴巴董事局主席兼首席执行官马云
·原hao123站长 所有网站曝光
·一大学生的往事:我悔恨因为我是黑客
热点TOP10
·十八个绝对经典的人生感悟
·起点小说网推出小说内容联盟
·永不言弃的马云
·走近80后亿万富翁 戴志康 李想 茅侃侃 高燃在校开始创业
·原hao123站长 所有网站曝光
·人生成功生涯规划100
·站长几招防骗技巧,很快识别网络欺骗
·刘延林:从打工仔到总裁的血泪传奇
·国外电信运营商互联网运营模式分析
·机会赢家--汪力成(一)
·独家揭秘:个人网站123cha是如何实现月收入过万元的
·hao123站长李兴平的成功史
·如果穷人有野心
·社区电脑医院商业计划书
·刘德华的财富人生
·中国电子商务网站模式大盘点
·调查中国年轻老板
·全世界最有钱的9个年轻人(多图)
·3年净赚1千万:北大校花发财故事
·一个英国网站成功的故事

从程序员到软件设计师的过程

日期:2007年5月16日 作者: 查看:[大字体 中字体 小字体]



    对于软件设计,廖恒毅有自己的观点。他认为软件设计师如果面对很复杂的设计,即便将架构设计出来,别人如何去实现也是很困难的。既然自然语言不如程序语言表达的清晰,他喜欢先用代码的方式把整个框架架构好,并编写基本的组件和接口代码。这样其他的程序员就可以很方便的复用自己的基础组件,并利用预留的接口添写完整的代码。做为软件设计师,他能够提供一个平台性的开发环境,让其他的程序员方便的进行扩展开发。这不仅降低了开发难度,而且节省了大量的重复劳动。复用模块也可以提高系统的稳定性,因为这是经过多次测试的代码。

    软件设计师的周围也有很多角色,应用专家对应用需求分析了解的更深。还有技术平台的专家,因为尽管设计师对技术平台有一定的了解,但对于细节的内容还要请教技术平台专家的,还需要程序员做出原型并进行验证,通过反馈和评估不断完善。最终用户的反馈也是软件设计师非常重视的。

    软件设计师的要求

    做为应用软件开发中最顶层的角色,软件设计师的能力要求更强,除了具备更强的编程技巧能力外,还需要了解系统结构、主流软件技术和软件趋势,同时要具备相当的专业知识。

    多年编程经验:既包括在专业领域的经验,也包括在软件工程领域的经验。对于一个构架团队,这些素质要求可由各团队成员来分别承担,但其中至少要有一名构架设计师能够把握项目的全局。和任何行业一样,经验是最重要的。软件设计不是纸上谈兵,一个软件设计师首先要是非常好的程序员。软件设计师在编程的时候,用的工具和普通程序员没有任何差别,但使用深度是绝对不一样的。廖恒毅花了三天写了个处理表格的程序,因为考虑的很巧妙,代码不到一千行左右,但有人写只是画表格单元的代码就有二千多行,这就是经验的差距。做软件设计的时候,肯定要求是可实施和可测试的,如果没有做过程序员,就无法保证这个设计是可实施并进行测试。

    抽象能力:一个程序员刚写程序的时候,无非就是为了解决某个功能而进行代码编写。随着程序编写越来越多,他对自己所做的应用方面的理解也越来越多。不同的企业有不同的需求,但把这些企业放在一起来看的话,就会发现他们的一些共性。将这些共性提炼出来,这就是抽象的过程。抽象出来的共性形成的模型可以把这些企业的需求都包含进去,这是做通用软件必须要走的一步。

    哪些东西是可以抽象的呢?邓适宜举例说:企业管理软件内部有很多内部票据流程,票据传递有自己的规则,要把他们内部的关系比较灵活的组织起来,只能把流程做为管理对象,而不能把票据做为管理对象,因为票据只是一个载体。这样做,整个系统的柔性会更强,产品才能适合不同的企业,让企业可以灵活的控制,取得最好的效益。。

    廖恒毅更是将抽象发挥的淋漓尽致。他整个管理流程抽象成不断矩阵运算的过程,软件本身就是做矩阵运算的乘法器和分解器。其他程序员只需要将具体的业务抽象为以XML表达的矩阵,放入到这个矩阵中,利用乘法器做运算就可以了。

    面向对象的思想:面向对象是软件开发出现以来最伟大的创新之一,这是每个程序员都追求的,但是否真正掌握了面向对象的思想,这是需要探讨的。面向对象并不受开发工具和语言的限制。很多程序员在用C++写面向对象的代码时候,实际上还是在写C代码。甚至使用C#这种完全面向对象的语言写出来的还是流程化的程序。

    很多时候学习面向对象用屏幕上画图的方法,新的形状可以从标准的形状中转化而来,用来学习继承的概念。但廖恒毅认为这远远不够,因为屏幕上对象相互之间是独立的,是没有作用的离散关系。要真正学习面向对象,就要去学画表格。表格是由行组成的,同时也是由列组成的,行中又有独立的单元格组成。作为一个行,要整体去操作这些格,做为列,也要去操作这些格,到底是以行为单位还是以列为单位去操作单元格。如果能把这个搞清楚,那才表明你对面向对象理解的够深刻。廖恒毅笑着说:“有的程序员在程序中把所有的东西都继承到一起,爷爷动的时候,孙子跟着跳,孙子动的时候,爷爷跟着晃。实际上,写面向对象的代码,一定不要用太多的继承。最关键的是如何传递消息和产生动作,以及考虑各个模块之间通过什么接口来联系,而不是再继承。”



    面向对象可以应用的领域非常广泛。不仅在写代码的过程中要考虑到面向对象,实际上在设计和分析阶段也可以用面向对象的方法。

    舍得抛弃:软件设计是一个渐进过程,是通过不断碰壁,不断调整提高的。要想取得突破,就需要舍得抛弃。廖恒毅说:“通常情况下,我写的第一版程序是要被扔掉的。对于一个功能,我上来就写,也不做设计,什么都不想,写到最后,自己都烦了,然后就把这些代码删除掉再重新写,这些脑中有了很多体会和印象,写完第二版之后,也会扔掉,继续写第三版的代码。这时程序逻辑架构和关系自然就很清晰了。只有用这种不断消灭自己以前的东西方面才能够成长的特别快,这就像相当于脱壳,不过这需要自己对自己要求很严格,否则又会回到原来的老路子上了。”很多人舍得扔掉自己的代码的,往往是不断的修改,最后进入一个恶性的循环。当然,这种抛弃也是有继承的抛弃,不同时期产品的架构之间也有连续性,不是一个架构就会完全取代前面的架构,好的东西还是可以继承的,像微软的.NET架构就是从DNA架构上发展来的。

上一页 [1] [2] [3] [4] 下一页 




上一篇:走访美国中央情报局纪实照片[转]

下一篇:到处是疲惫的大小站长们 怎么了?

从程序员到软件设计师的过程 相关文章:
·vista分区软件
·无线攻防:破解WEP密钥过程全解
·用SOFTICE破解WINZIP的过程
·EasyRecovery 604硬盘数据恢复软件技巧
·不用任何软件(木马程序)盗取账号密码
·大智慧股票软件Level-2入门手册
·asp.net(C#)海量数据表高效率分页算法(易懂,不使用存储过程)
·软件狗[Dongles]的加密与解密技术
·用客户端软件收发Hotmail Yahoo邮件
·Windows2000/XP启动过程详解
从程序员到软件设计师的过程 相关软件:
·手机SIM卡备份一卡多号(手机魔卡)万能读写软件V9.0
·诺顿杀毒软件+诺顿防火墙免费破解版 免注册永远自动升级
·Photoshop CS中文版平面设计师标准案例教程
·诺顿杀毒软件+诺顿防火墙免费破解版 免注册
·瑞星杀毒软件2008下载版(完全免费)V20.36.32
·PRO/E野火2.0 绿色版 RAR 珍贵的软件
·大众翻译软件(时代翻译通)V7.0
·整形模拟软件_非常face V1.0
·江民杀毒软件 KV2008 正式版(30天免费版)
·统计软件SAS教程

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot