
软件产品架构师手记
huxw2000
这个作者很懒,什么都没留下…
展开
-
CMM与企业成熟度 - 纪念Watts Humphrey
本想总结一下这些年软件开发的经验. 但又是忙. 只能草草成文. 希望以后能有机会整理.CMM背景以史为镜可以知兴替. October 28, 2010 CMM的创始人Watts Humphrey去世. 借此机会回顾软件工程的历史对我们的理解软件开发理论与实践的关系,提高企业软件产品开发水平有很大意义.人月神话一书以IBM开发360操作系统为例描述了大型软件开发初期的困难状况.正是通过通过这个项目IBM总结了软件开发的经验和教训,成功开发了登月计划原创 2010-12-14 11:00:00 · 624 阅读 · 0 评论 -
产品架构师与知识产权
软件产品专利日益成为竞争的重要手段。很多企业对此重视不足或者不知道如何应对,最终在竞争中失败。产品架构师是软件产品知识产权的核心人物。但很多产品架构师缺乏这方面知识和实践。希望本文能帮助大家入门。 软件产品知识产权由于软件技术的本质, 企业花费大量资源, 开发改进的优秀产品可以很容易地的被复制和模仿. 为了进入市场, 一般软件产品都需要提供与市场上已有产品类似的功能. 软件原创 2011-12-20 20:55:11 · 1194 阅读 · 0 评论 -
从PSVITA问题看产品平台与产品的关系
PSVITA发布后很快发现在游戏时出现很多问题。 其中很多象是SONY的平台与游戏开发商的集成问题。平台化是很多软件开发者的目标。成功的平台与成功的软件产品是相辅相成的如MS Windows与MS Office. 成功的平台设计需要考虑平台上软件的需求,成功的平台上的软件需要充分利用平台的强劲之处,躲开脆弱和陷阱。大一些的软件团队都分成低层平台和上层应用部分。相对这种设计和开发考虑不周的问题,更原创 2011-12-24 11:07:14 · 817 阅读 · 0 评论 -
在战争中,计划是没用的,做计划是必须的“ - Dwight David Eisenhower
计划在系统,产品开发,个人职业发展和日常生活中有重要意义。 做计划比计划本身更重要。 做计划,要分析判断目标的重要,合理,可行性。 实现目标的各个步骤,相关人员,资金,设备的准备,运作。在执行计划中,要随时注意事态的变化,根据新的问题,新的发现,修改计划甚至目标。 http://en.wikiquote.org/wiki/Dwight_D._Eisenhower原创 2012-08-15 12:26:06 · 729 阅读 · 0 评论 -
软件产品架构师手记 出版了
这本书比较全面地列出软件产品架构师的任务,需要的各方面能力,技术。可以帮助软件技术人员发现需要提高的方面,使技术能力得到不断提高, 有清晰的职业路线。 看了这本书就不会有学C还是Java, 30或者40岁就没有竞争力, 该学什么,为什么挣这么少之类的问题。 本书属于框架和指导性的书籍。 限于篇幅,对各个方面只能提纲性地介绍。有些读者可能觉得有些题目难以理解,当水平有所提高后会有新原创 2012-08-02 09:36:01 · 6817 阅读 · 0 评论 -
软件产品的形态如何决定其成功与否
现在很多人在吹捧软件服务化。 软件服务化改变软件产品形态从套装软件形态到访问性. 听起来用户不需要安装,方便试用,可以按使用付费。但这种形态的改变也造成用户对产品没有全面掌控,需要长期付费, 软件出问题时感觉无从解决等等。 很多传统软件提供商会因为服务化策略使用户失去信心,丢失传统用户和收入。 用友金蝶等企业的目前问题很大程度是对软件形态没有战略考虑所造成的。产品架构师应该对各种软件形态(原创 2012-11-09 00:53:58 · 2319 阅读 · 0 评论 -
软件开发的功夫在诗外 ,‘外’在哪里?
功夫在诗外是写诗的经验。 功夫在代码外是成功软件产品开发的经验。‘诗外’是与诗有关的外。 ”软件外“也是与软件代码相关的“外”,而不是泛泛的素质之谈。”软件产品架构师手记“就是关于这些具体的“外” 的介绍。有些人评论说书里没有具体技术内容,比较虚。 这本书是为已经有很多编码实践的软件开发人员进一步提升软件开发水平提出努力的方向和活动。 例如在开发和设计的软件中提取专利, 将软件设计成开放或者原创 2013-01-01 20:50:19 · 702 阅读 · 0 评论 -
技术政治之借壳孵蛋
由于企业结构的限制,软件产品架构师的某些设计由于涉及相关部件或者产品而不能实现。 这时需要推动对应产品的改变。一个方法是宣传自己控制的产品得到认可的功能是是基于相关产品的某个希望但不完全的功能,促使相关产品适合自己的产品。这样一方面为自己产品的发展打开通道,同时加强对相关产品的影响力。 例如:办公产品架构师可以强调新版本快速编辑特别受欢迎是由于采用了新操作系统界面控制API。 假设办公软件未来试图原创 2013-04-27 17:09:38 · 746 阅读 · 0 评论 -
技术政治之肿瘤还是异形
肿瘤的发展造成母体死亡,但肿瘤自身也失去环境而灭亡。 异形孕育于现有机体,当足够成熟时,就会杀死母体而自己生存。 在产品发展过程中,各个组成部分相关技术发展会不平衡。 经常有某个部件的技术发展超越其他部件技术。 其结果可能暴露产品缺陷,使产品失去竞争力而死亡。 也有可能这个部件发展壮大成为新产品的核心。 如操作系统界面看起来很时尚,但与内部应用功能对接不好。会影响操作系统的销售。原创 2013-05-09 12:31:25 · 597 阅读 · 0 评论 -
技术政治之完美的奴隶
完全按照主人说的做,和不按主人说的做的都不是好奴隶。 完美的奴隶替主人着想,理解主人的意愿,想方设法在不违抗主人命令前体下,实现主人的要求。 如果主人让他杀人,他可能不去亲自杀而使自己脱身,但不去质疑杀人是否正确。 每个技术人员都面临是否做完美奴隶的选择。 特别在外企中,初始技术路线和产品往往由外国架构师设计, 国内团队往往试图在现有的框架中实现任何新的功能,而不去挑战更深层的设计。 提原创 2013-05-15 12:00:06 · 2445 阅读 · 0 评论 -
技术政治之自己准备B计划
资深技术人员经常可以根据经验看到某个产品的按照现有技术方案不能按时完成。 经常会自己设计后备方案。 如觉得9寸屏幕的成品率会达不到要求,考虑7寸屏幕作为后备方案。 政治正确的做法是私下考虑后备方案。 在所有人同意当前方案不可行之前不要提出后备方案。如果不是所有人都同意当前方案是死路,很多领导认为提出后备方案会动摇军心,而不是有远见。 当大家都认为无路可走时提出后备方案容易得到各方面原创 2013-06-07 10:37:26 · 776 阅读 · 0 评论 -
技术政治之分拆与合并
企业内部和外部重组对相关人员可能是发展的大好机会或者是灾难。 技术人员在引发对自己有利的分拆和合并中有独特的影响力。 由于公认的原则是企业结构与产品结构对应, 技术人员可以从技术角度提出对产品的分拆和合并,引发对自己有利的团队变化。 在别人引发的重组中,也可以通过适当的设计,通过负责相关产品和部件的工作,进入相关部门和职位。〈软件产品架构师手记〉介绍了产品分拆和合并的架构设原创 2013-07-12 10:50:14 · 667 阅读 · 0 评论 -
技术政治之出难题
很多技术人员觉得上级经理和技术人员经常出技术难题。如把不同来源的数据显示在一起还不能显示来源。处理重名问题是个难题。出难题可能有各种原因,可能是考察技术人员技术水平,可能是为不长工资找借口,也有可能是为了提高其他人的形象。 下级人员一般不能问”你到底是什么意思?“。 作为技术人员一般应该尽自己能力解决。甚至可以借题发挥提出更高的功能,设计更大的方案,扩大自己的工作影响范围。 如:分析不同数据属性原创 2013-08-09 11:13:49 · 802 阅读 · 0 评论 -
技术政治之开放接口与选边站
跟谁一边是政治上基本问题。如果站错队不管做的多好也没好作用。 不同团体往往以某种技术区别于对方。 政治风云变换快,不知哪天领导就换了。采用开放接口可以在保持自己内部实力情况下,比较灵活地改换门庭。原创 2013-09-04 12:41:48 · 725 阅读 · 0 评论 -
技术政治之选择
常言说选择是强者给弱者的幻象。 软件产品架构师经常需要设计多种可能的方案,供自己,开发部门和上级选择实施。 选择的设计需要考虑各方要求和自己的目的。选择的设计需要和目标结合。选择的结果和后果有时会出乎意料。需要在设计选择项时有所估计。但也不要太在意。 索菲可以选择杀她的儿子或者女儿,也可以选择自杀。 苹果公司从非拟物化界面到简洁界面的选择也许是成功,也许是败笔。 取决于是否有其他公司选择其他方原创 2013-11-02 09:55:57 · 904 阅读 · 0 评论 -
灯泡,PC 与 云
2001年用友进行了一次千字千元的征文。比现在30万字才一万多元的稿费效用高很多。笔者精心撰写的文章有幸获奖。 用友也许认可文章中软件服务的远见,但没能去实施和实现。 重新翻出旧作是想说明对个人计算机的发展预测。 虽然目前各大PC厂家在转型,但大部分没有看到信息市场的发展方向。转型的成功只能靠运气。在信息服务成为现实并不断扩展的现实下,个人计算机将成为重要的信息终端。就像电力服务的灯泡,煤气服务的原创 2014-02-07 19:42:45 · 878 阅读 · 0 评论 -
四年培养的大学生和四个月培养的开发人员应该有什么不同 ?
任何工业领域的知识和技能可以分为理论,技术和工具。 四年大学应该在各个方面有全面地培训。毕业生能够根据需要在理论,技术和工具方面做出需要的贡献。不仅能够用现有工具完成该领域复杂任务,更应该能根据需要发展,理论,技术和工具。4个月的培训目标是用现有工具,完成该领域的某种工作。 以编程为例,理论是离散数学,有限自动机,语言定义,关系代数;技术是编译原理,算法,关系数据库查询语言,工具是MS Studi原创 2011-11-18 15:18:45 · 1245 阅读 · 3 评论 -
界面设计三个层次
界面设计发展概述 用户通过人机界面使用信息系统功能。随着信息系统和界面技术的发展,界面设计思想也不断发展。概况可以分为工具箱式,面向任务,面向目的三个阶段。 三种界面设计可以用任何界面实现技术。新的技术为实现更高层面的设计提供了更好的方法和工具。 工具箱式界面原创 2011-10-17 13:15:00 · 2382 阅读 · 0 评论 -
软件产品服务化
服务化产品的特征相对实体化产品. 软件产品或者硬件化软件产品与传统实物产品一样需要购买, 取得所有权或者独占使用权,准备环境,安装,使用. 服务化产品的特征相对实体化产品. 软件产品或者硬件化软件产品与传统实物产品一样需要购买, 取得所有权或者独占使用权,准备环境,安装,使用. 服务化产品的特征相对实体化产品. 软件产品或者硬件化软件产品与传统实物产品一样需要购买, 取得所有权或者独占使用权,准备环境,原创 2011-02-28 16:29:00 · 3786 阅读 · 0 评论 -
产品文档
产品文档的需求文档是提供信息的基本手段. 软件产品文档帮助相关人员进行产品的销售, 使用和服务.销售人员需要文档了解产品功能,找到更好的方法向客户说明和表现产品的价值.用户需要文档了解产品的功能,然后决定是否值得更深入的了解以决定是否购买.当使用中出现问题时希望能方便地查询文档快速解决.产品支持人员需要文档能快速找到问题原因,帮助用户及时解决问题.产品文档的需求文档是提供信息的基本手段. 软件产品文档帮助相关人员进行产品的销售, 使原创 2011-03-07 12:36:00 · 926 阅读 · 0 评论 -
产品危机处理
<br /><br />产品危机的发生,应对和产品架构师的责任<br />软件产品正在成为个人, 企业和社会运转日常工作必不可少的工具和系统的组成部分. 软件产品问题可能引起各种抱怨,事故和灾难.给用户和企业带来巨大损失.这些问题可能是产品本身的问题,也可能是用户由于各种原因使用不当,也可能由于相关软件和系统的连锁错误反应. <br />原创 2011-02-18 13:01:00 · 407 阅读 · 0 评论 -
架构师的知识能力体系
<br /><br />知识能力体系<br />体系是把某些实体或者非实体(知识, 技术,能力)按照某种标准或者规则分类.包括分类的标准和分类的结果.体系对于科学技术发展和个人的学习有重要作用.同样的内容可以按不同体系分类.不同分类体系在分类的目的,方法,使用和揭示的内容关系方面有很大不同.下面介绍几种常用体系.实际工作中需要联合使用多个体系.<br />原创 2011-02-18 13:07:00 · 807 阅读 · 0 评论 -
问题与解决
<br /><br />问题是复杂的<br />问题是对现实世界需要改变的一种看法. 同样的事实可以有不断的看法.也就是不同的问题.对解决的成果也有不同的看法.对问题本质,严重性,紧迫性及其解决成功与否,由于不同人员的地位,立场,利益不同,会有不同看法.<br />原创 2011-03-09 12:05:00 · 447 阅读 · 0 评论 -
产品的作用
<br /><br /> <br /> 实现企业价值<br />许多国内的软件企业从事系统项目开发,或者外包其他公司的开发任务. 实现产品是软件企业发展的方向. 产品是实现企业价值, 保持技术发展,建立和发展企业形象和文化,凝聚团队的重要手段.<br />原创 2011-03-12 10:04:00 · 1055 阅读 · 0 评论 -
多平台架构
<br /><br /><br />产品需要支持多平台<br />平台是软件产品的运行环境. 不同类型软件产品其平台含义不同. 常见的软件产品平台可能指:硬件环境,操作系统,流览器,中间件等等.如:操作系统产品的平台是硬件.J2EE应用的平台是J2EE应用服务器.每种平台都有多个厂商.厂商及其提供平台的技术和市场占有率都在不断发展变化.因此软件产品需要支持的平台也在不断变化.<br />原创 2011-03-14 13:01:00 · 612 阅读 · 0 评论 -
产品生命力
<br /><br />产品生命力的意义<br />生命力是软件产品能够在市场上生存并不断发展的能力, 包括其功能对客户的价值和满意度,技术的先进和流行,支持和服务能力等等.有生命力的软件能够吸引用户购买,不断扩大市场份额和商业成功.没有生命力的软件产品会逐渐失去客户,最终退出市场. <br />原创 2011-05-11 21:34:00 · 1194 阅读 · 0 评论 -
与研究部门的关系
<br /><br />研究部门的重要性<br />大型企业都有独立的研究部门. 中小型企业一般有研究小组. 很多企业与大学或者其他研究部门有一定关系,资助相关研究.各种研究部门从事新技术和新功能的研究和探索,比产品开发部门更了解技术发展前沿.可以对产品的功能和技术发展提供很好的建议. <br />原创 2011-03-23 21:40:00 · 609 阅读 · 0 评论 -
软件的质量和发现
<br /><br />质量和发现的意义<br />产品质量指产品能够不出问题地完成设计功能的能力. 产品中含有的问题代表产品的绝对质量.问题数与产品的功能数的比值代表产品的相对质量.产品中的问题总数或者单位功能中的问题数越少,产品质量就越高.<br />原创 2011-05-19 16:17:00 · 371 阅读 · 0 评论 -
兼容性设计
<br /><br />兼容性的意义<br />产品兼容性指产品与其他产品具有类似的操作, 能够处理其他产品产生的数据,处理结果能够被其他产品继续处理.从兼容的产品角度包括与竞争产品兼容,与相关产品兼容,与以前产品兼容,与以后产品兼容.兼容性是产品市场战略的重要部分.严重影响产品的市场发展和开发成本.产品架构师需要设计兼容性方案,以合理的成本实现市场要求的产品兼容性.<br />原创 2011-04-27 12:53:00 · 1491 阅读 · 0 评论 -
如何做世界的领导者
作为美国公司的子公司,大家一直在努力得到美国高层的认可。已经取得很大成果。 在最近的工作中,我们部门开始设定目标,领导印度团队和合作伙伴完成任务,遇到很多问题,引发很多感想。作为世界领导者,应该能够领导其他国家的团队完成产品和项目。到目前为止,主要领导都是美国团队。 我们只是试图原创 2011-08-22 21:29:22 · 407 阅读 · 0 评论 -
如何设计封闭的产品架构
技术是为业务服务的。产品架构师应该能够根据业务要求,设计满足市场需要的开放或者封闭架构的产品。在开放或者封闭架构中灵活使用各种技术,而不应拘泥于某些口号。 封闭架构的意义封闭架构的软件产品指不宣称符合公开标准和架构, 产品具有独特的功能, 操作界面, API和工具.原创 2011-10-11 13:24:47 · 1086 阅读 · 0 评论 -
如何在产品中采用开放架构 ?
开放架构的意义采用开放架构的软件产品指宣称,使用并符合各种开放技术, 标准, 提供各种开放接口, 能够与符合同样开放标准的产品互操作的产品. 有些产品直接采用开源软件实现各种开放接口. 开放架构和标准的出现是软件业对大型企业垄断市场的一种反应. 采用开放架构对树立企业和产品市原创 2011-10-15 23:43:23 · 1897 阅读 · 0 评论 -
软件产品和开发的节奏
音乐上节奏包括多个小节的节拍长短,轻重和整个乐曲的节奏模式。软件设计和开发工作也可以分成小节和节拍。从这个角度看,节奏控制是软件设计和开发管理的重要方面。 软件设计中各个模块复杂度和相互关系应该均衡,有一些重点模块和关键点。 开发工作应该有很多阶段成果,前后期工作应该相互呼应。 在现在快速变化的市场和技术状况下,快节奏是软件设计开发的要点。 不是紧张工作,而是在设计多个独立小模块,通过简单接口相连原创 2015-05-01 13:57:49 · 870 阅读 · 0 评论