zoukankan      html  css  js  c++  java
  • 大道至简第七八章读后感

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

           软件工程体系的发展是由两方面推动的,一是软件的本质力量,二就是商业因素的推动。商业因素的推动把软件工程从原始的自生演进状态,逐渐推进到它激发展的状态上了。虽然它激发展可能会影响到软件工程发展的速度, 然而在各个工程层面上的关注点并不会发生变化。从软件工程层状模型中可以看到,在程序方法层面,是关注于“(具体的)实现的;而在过程工程层面,更首要考虑的是团队问题。从角色的角度上来说:开发经理思考项目的实施方案和管理具体的开发行为; 而项目经理则保障团队的稳定性和一致性。

           过程伴随工程而出现,工程又是如何出现的呢?根本的原因是软件规模的不断增大所导致的。随着软件规模的的增大,仅仅一个人的话花费的时间是巨大的,在现实中不会有软件公司给这样的机会的。项目的“复杂”可能可能需要不同知识领域的角色参与,而“庞大”则要求更多的资源。“团队”作为开发行为的模式,是软件规模和复杂度渐次累积的结果。团队越来越庞大,因为软件规模越来越复杂。没有团队意识的软件公司将在高度过程化,通晓方法理论,拥有大量工具的集团军面前一触即溃。

           方法、过程、工具是软件工程的三个要素,但是这三者并不是孤立的三个层面,而是相互作用的,就像太极图一样,阴阳交汇,所以我们不应该将这三个要素割裂开来,而是应该回归到软件工程的本体思考问题。RUP就像一个杂物箱,里面的东西都是可以利用的,但是,关键在于你怎么看待一件东西的价值。

           语言作为沟通的工具,在开发过程中是非常重要的,简洁易懂的语言可以为开发解决很多问题。虽然说如果你可以理解的话就算是用甲骨文开发也行,但是毕竟软件开发和维护不是你一个人的事情,所以,大家都可以理解的语言才是真正的主流,但是,毕竟语言只是工具,是连接你与计算机之间的桥梁,所以其并没有好坏之分,有的只是适用范围的区别。矛盾是无处不在的,开发中也是如此。实现目标与保障质量之间的矛盾是不可避免的,时间、资源和功能永远是软件开发过程中的矛盾根源,无论在什么时候,这三者都是很难调和的问题。如果有一个好的项目经理,可能会减少矛盾的发生。其实软件开发并不是一成不变的死板的工程,有的细枝末节的问题是可以忽略的,灵活的忽略一些不重要的问题,不会影响软件的质量,相反,还会加快开发的速度,为自己赢得更好的机会。

  • 相关阅读:
    二分图最大匹配的König定理及其证明
    HDOJ 2389 Rain on your Parade
    HDOJ 1083 Courses
    HDOJ 2063 过山车
    POJ 1469 COURSES
    UESTC 1817 Complete Building the Houses
    POJ 3464 ACM Computer Factory
    POJ 1459 Power Network
    HDOJ 1532 Drainage Ditches
    HDU 1017 A Mathematical Curiosity
  • 原文地址:https://www.cnblogs.com/tangjindong/p/4966246.html
Copyright © 2011-2022 走看看