• 读《大道至简》第七八章有感


         今天我读了《大道至简》的第七章——现实中的软件工程和第八章——是思考还是思想。其中第七章主要讲了现实中的软件工程一些需要注意的地方。而第八章作者则分享了一些他自己在编程过程中的思考和思想。

         在第七章的开头,作者便引用了IBM的事例,大公司是如何在软件工程中进行运作。Rational 被 IBM 购并的真实原因在于 IBM 需要构建一个完整的软件工程体系,对于 IBM 来说,Rational 有着 UML 语言的非常丰富的实践经验, 还有着 RUP 作为理论框架的创立者和领导者的地位,这些对 IBM 在确立大型软件工程应用方案提供商的行业形象,都是极大的支持。而另一个开发商:Borland 没有在 ALM 作为工程理论方面的任何优势。于是 Borland 开始购并与实现 ALM 体系相关的公司,其中收购过程改进咨询公司 TeraQuest 并组建流程优化实部,以及收购 TogetherSoft 为开发工具来强化模型构建能力,都是相当大的一些举措。通过这些努力,Borland 快速地补全了 ALM 作为一个工程体系在理论方面的不足。而处于风口浪尖的Microsoft 与 Borland 和 IBM 通购并来达到目的的方式并不相同,Microsoft 有足够的力量全方位出击。所以如今的软件界是大公司之间相互制约的结果。大公司们在标准、理论、语言上的争来夺去,未必全然出于“软件实现”的考虑。对统一理论、统一工具、统一过程的企图,其最终目的是在整个软件工程体系中的全面胜出。

        除了软件本质力量的推动之外,商业因素也推动着软件工程体系的发展。文中所画软件工程层状模型可以看出,作者将软件工程划分为实现,团队和经营三部分。从这个模型中可以看到,在“程序”与“方法”层面,是关注于“(具体的)实现”的;而在“过程”和“工程”层面,更首要考虑的是团队问题。从角色的角度上来说:开发经理思考项目的实施方案和管理具体的开发行为; 而项目经理则保障团队的稳定性和一致性。然而这只是基本模式,或者说,是理想模式。

        大道至简第八章:刚才说到目标和质量的问题时,提及“平衡时间、资 源和功能三者的关系”。这其实是一个实施过程中的细节。 或者说,它是一个具体的方法,而不是目的。 所以我们通常所说的细节,其实是对实施方法的一些 有限量的描绘。比如“软件工艺”这个概念本身的提出, 就是考究“细节问题”的。从这个角度上来说,我并不反 对“细节决定成败”这样的观点。但请注意一个前提:这 是技术或方法的细部。 

        软件工程是灵活的,在软件开发中很多常见的问题,一些人不知究竟地使用着技巧和方法,而一旦出了问题,则归究于这些技巧和方法的不好。只能说这些人不会变通,不会灵活的运用,所以如作者所说:死读一本《软件工程》的人不会做真正的软件工程。

  • 相关阅读:
    等待队列设备[置顶] Linux设备驱动,等待队列
    宠物功能[置顶] QQ宠物保姆
    选中拖动Unity3D系列教程–使用免费工具在Unity3D中开发2D游戏 第二节(下)
    序列化对象java中为什么要实现序列化,什么时候实现序列化?
    函数表达式[置顶] 母函数详解
    文件问题cocos2dx&cocosbuilder折腾记
    模块functionJavaScript学习笔记(二十五) 沙箱模式
    nullnullflume ng配置拓扑图
    对象序列化对象的序列化和反序列化
    扩展编程PHP自学之路PHP数据库编程
  • 原文地址:https://www.cnblogs.com/ygl888/p/4967635.html
Copyright © 2020-2023  润新知