项目管理资源网

您的位置:项目管理资源网 >> IT通信项目管理

软件工程中的哲学思想

2011/1/19 12:00:25 |  3269次阅读 |  来源:万方数据   【已有0条评论】发表评论

能力成熟度模型(CMM)是美国卡内基梅隆大学软件工程研究所建立的、用于评价软件机构的软件过程能力成熟度的模型,它将能力成熟度定义为5个等级:初始级、可重复级、已定义级、已管理级、优化级[3]。建立CMM的目的在于:通过改进软件过程管理,帮助软件开发机构建立一个有规律的、成熟的软件过程,使其软件过程能力得到循序渐进的提高。不能不提的是统一建模语言(UML)[4],它是一种图形化了的语言,是一种构建模型的工具,它随着面向对象技术的发展而发展, 1997年11月OMG (ObjectManagementGroup)接纳UML1·1为基于面向对象技术的标准建模语言,从那时开始, UML得到广泛应用,成为软件工程的重要内容之一。由此可以看出构建模型思想在软件工程中的重要地位。

先设计全局,后设计局部的思想,当你开始设计一个比较大的问题解决方案时,一般来说,先进行全局设计、后进行局部设计。先进行全局设计,就是先从宏观上把握这个问题,构建好解决问题的总体框架结构,将大问题分解为局部性小问题,暂时不考虑局部性小问题如何设计。在解决问题的总体框架结构已经构建好的前提下,再去考虑局部性小问题如何设计,详细研究每个局部性小问题的解决方案。软件工程中介绍的结构化软件设计方法,就是“先设计全局,后设计局部”思想的典型体现,结构化软件设计方法将设计分“总体设计”和“详细设计”两个阶段,先进行“总体设计”,后进行“详细设计”。总体设计将被开发的软件系统划分成若干个模块,每个模块具有一定功能,各模块间具有一定的联系,这样就将软件的总体宏观结构搭建好了。详细设计是根据每个模块应该具有的功能,设计实现其功能的算法和数据结构,这样就将每个局部问题(每个模块)设计好了。

分层次进行分解与合成的思想,大而复杂的问题不好处理,但如果将问题分解为一个一个的小问题,就好处理了。这种分解一般是分层次进行的,先进行第一层分解,将大问题分解成几个稍小的问题,再进行第二层分解,将上一层的每个问题分解为更小的问题,直到不需要分解为止。合成是由若干个小的部分组合成一个大的整体。这种合成一般也是分层次进行的,从最底层开始,先进行第一层合成,将所有小的部分合成为若干个稍大的部分,再进行第二层合成,得到几个更大的部分,直到所有的各部分合成为一个整体。在软件工程中,有多处知识中蕴涵了这种思想。在画软件系统的数据流图[5]时,就是通过分层次分解来画的。先画顶层数据流图,这时只有一个“处理框”;然后进行第一层分解,将顶层数据流图中的“处理框”分解成几个“处理框”和其它部分,得到第二层数据流图;然后进行第二层分解,将第二层数据流图中的“处理框”再进行分解;如此下去,直到得到不必再分解的详细的数据流图。在进行软件体系结构设计时采用的模块化结构,也是通过分层次分解来构建的,根据系统应该实现的功能,将系统分层次分解成若干个模块,形成一个层次化的模块结构图,每个模块负责实现系统的某部分功能。详细设计所用的几种工具[6],也体现出分层次进行分解与合成来处理问题的思想。例如PAD图,对于复杂问题的设计,可以通过分层次画PAD图来完成,分层次所画的各个PAD图,体现出分解与合成相结合的思想。例如判定树,非常直观地体现出分层次进行分解与合成的思想。

借鉴其它领域成功经验的思想,他山之石,可以攻玉。借鉴其它领域的经验,来解决本领域问题,是通向成功的快捷之路。从软件工程概念提出到现在,还不到50年的时间,而软件工程理论发展如此之快,在很大程度上是得益于借鉴其它领域的成功经验来解决问题。许多工业产品是通过使用零部件组装方式生产的,各种零部件按

    项目经理胜任力免费测评PMQ上线啦!快来测测你排多少名吧~

    http://www.leadge.com/pmqhd/index.html

“项目管理生根计划”
企业项目经理能力培养和落地发展方案下载>>

分享道


网站文章版权归原作者所有,如有认为侵权请联系我们,将于1个工作日内作出处理!
网友评论【 发表评论 0条 】
网友评论(共0 条评论)..
验证码: 点击刷新

请您注意护互联网安全的决定》及中华人民共和国其他各项有关法律法规或间接导致的民事或刑事法律责任
·您在项目管理资源网新闻评论发表的作品,项目管理资源网有权在网站内保留、转载、引用或者删除
·参与本评论即表明您已经阅读并接受上述条款