博客园培训OOAD的课程概要

        于众不弃,由我负责博客园培训中OOAD的课程。因涉及内容较多,所以我整理了一个课程概要式的内容提要,希望大家能够给予宝贵的意见和指导。
       

       OOAD课程大纲

 

    概述

    透视OOAD的背后软件学习之道、术、器

    该部分讲述软件学习之路上存在的问题。将软件开发之路所发生的问题分为三篇:道篇、术篇和器篇。该课程曾在IBM2005年度作为RUP讲义的一部分,获得最佳讲师和最佳讲义。参见http://www-900.ibm.com/cn/software/rational/events/rationalgroup.shtml。在本次课程中,将OOAD部分从RUP中提取出来,结合.NET平台的特性,重新整理。整个课程以微软CAB中的一个示例出发,结合OOAD,来说明本次OOAD课程的内容大纲和涉列范围。

 

    面向对象基础

    该部分的内容,将会分为五个部分来进行讲解:对象与UML概述、面向对象的几个常用原则、GRASP原则、设计模式、架构模式。这五个部分的内容是笔者曾经在中科院计算所培训中心以及UML软件工程组织担任讲师时所涉列的课程(可以姜志辉+uml或姜志辉+.Net搜索获知每门课程的详细内容)。在本次下载课程里,计划结合.Net2.0平台,以.Net程序为示例讲述每个主题的相应思想。因为每个主题所涉及的内容较多,所以很难每个部分都概括到,因此只列出每个部分的主题思想,关于具体的课程内容,将会考虑在每个部分开讲前,列出大纲,然后由博客园的朋友共同修改后的最终大纲为基准修订讲义内容。

    对象与UML概述:由面向对象的发展史结合UML讲述面向对象与UML背后的故事。

    面向对象的几个常用原则:以R.C.Martin的《敏捷开发》一书为蓝本,结合.Net实例讲解面向对象设计中的几个常用原则。

        GRASP原则:以Craig Larman的《UML和模式应用》一书为蓝本,结合.Net实例讲解GRASP设计原则

    设计模式:以Alan ShallowayJames R.Trott的《设计模式解析》一书为蓝本,结合.Net实例讲解设计模式

    架构模式:以微软企业库为蓝本,结合当前的主流开源项目,以项目中的实际应用了解架构模式。

 

    面向对象开发方法

    该部分的内容,分为两个部分:用例驱动和测试驱动。

用例驱动:以RationalOOAD指南为蓝本,结合.Net示例(初步想以微软企业库自带的示例为原型),讲述用例驱动的开发方法。

测试驱动:以Kent的《测试驱动开发》结合ICONIX方法,结合.Net示例(初步想以Castle为原型),讲述测试驱动。

事实上,在实际的开发过程中,用例驱动和测试驱动是相辅相承,以笔者的项目组为例,两者的结合最为有效。所以可能在实际的讲解中,会以笔者项目组中遇到的、解决的问题作为案例与大家共同探讨。另外,在这两个部分,笔者虽然一直在使用、摸索,但是尚有很多内容也心存迷惑。同时一家之言,必有纰漏,因此想以沙龙的方式共同呈现给大家。希望此方面的朋友共同与我主持。

    大家有什么意见或者建议,请不吝赐教。以提高我们的课程质量。

posted on 2006-10-28 19:31 姜志辉 阅读(2282) 评论(35)  编辑 收藏 网摘

评论

#1楼  2006-10-28 20:07 Dflying Chen      

辛苦了,我一定要听的!   回复  引用  查看    

#2楼  2006-10-28 20:17 TerryLee      

都这么快啊,我还没顾上写课程大纲:)   回复  引用  查看    

#3楼 [楼主] 2006-10-28 20:20 姜志辉      

我原来写了一个大纲,后来给删了。觉得还是把思路发出来吧。看看大家的意见。   回复  引用  查看    

#4楼  2006-10-28 20:38 天轰穿      

支持!!加油

我也得好好学习!   回复  引用  查看    

#5楼  2006-10-28 20:42 灵风      

课程设置很好,最好能多加上几个项目。附上源代码。

我们进步速度最快。
谢谢姜志辉 老师!!   回复  引用  查看    

#6楼 [楼主] 2006-10-28 20:50 姜志辉      

对,我也认为课程是要用案例串的。就怕时间来不及,所以总想扯上开源项目或者企业库。正好TerryLee 做企业库的课程,因此,我俩之前的想法就是合作一下。具体情况得作出一期两期后,大家反馈回来看看。   回复  引用  查看    

#7楼  2006-10-28 21:37 Jeffrey Zhao      

呵呵,轻车熟路了吧。:)   回复  引用  查看    

#8楼  2006-10-28 22:28 ocean2000[匿名] [未注册用户]

请原谅小弟愚昧,见识少,lz所谓用例驱动和测试驱动从字面意思来看应该和程序测试有关系,和开发没关系。各位老大原谅啊   回复  引用    

#9楼  2006-10-28 22:29 ocean2000[匿名] [未注册用户]

另外也决定好好学习你们的课程,个人在开发中的思维最近遇到瓶颈了,盼望通过你们的过程能得到提高。tks
  回复  引用    

#10楼 [楼主] 2006-10-28 22:39 姜志辉      

@ocean2000
用例驱动的思想是以业务作为根本的。即根据用例(需求)获取分析元素(分析类与初始架构),然后再将分析元素落实到设计元素(设计类、包以及子系统),设计元素通过开发完成组件的设计和布署。即用例到用例实现的过程。
测试驱动的思想是以测试为根本的,什么叫测试驱动。打个比方,你要做个Add函数,这个函数接受两个int类型的值,将它们相加返回。那么如果这两个参数分别是4和5,那么返回的结果就应该是9。也就是说Assert.AreEqual(9,obj.Add(4,5))是对的。这么看来实际上单元测试本身不应被看作测试,而是开发的一部分。所谓的重构是建立在单元测试的基础上的。
这两个驱动的方法是当前最为流行的两个面向对象的设计方法。而它们的开发先驱都是我们软件业的巨头。事实上,目前流行的OO思想几乎半数都来自于他们。你所说的开发我猜测可能是指OOP,而开发的过程还要包括诸如OOA、OOD以及OOSD等等内容。我以上的解释存在一定的漏洞。但我想可以帮助到你。   回复  引用  查看    

#11楼  2006-10-28 22:44 ocean2000[匿名] [未注册用户]

对于课程讲授我个人提几个想法:
1毕竟你们二位也有自己的事业,所以你们的时间也很紧张,所以希望教程贵精不求快,把知识点能通过实例讲明白比如以前左光和震予大哥的关于设计模式的讲述通过3国故事讲受死板的模式生动而又方便人理解。
2因为估计课程设计具体操作不多,主要就是注重一个思维方法和方式,那么一段代码是非常实用的。
3建议你们的课程可以适当的加入自己的想法和意见,同时也能及时的和我们交流。
4心态,很多时候有些人可能会对你们的课程提出批评或者其他无礼的举动,2位千万不要因此有退出的想法,反正希望我们大家能在相互理解相互交流一个很好的环境下坚持下去,提高自己帮助别人,从而达到培训的目的。

以上是我自己一点小想法,因为很迫切的学习很可能很多地方是倾向于自己,希望各位不要见怪   回复  引用    

#12楼 [楼主] 2006-10-28 22:50 姜志辉      

@ocean2000
谢谢你的见意和支持。我个人真的希望像你这样的朋友多一些,可以换位思考。你提到的这几点对我非常宝贵,也是我一直希望做到的。事实上,我一直在我的课程里加入自己的想法和看法。因为我认为这会对大家有帮助,效果还是不错的,但也因此经常会遭到网友的批评和漫骂。不过放心,我们一定不会让你失望。
另,关于测试驱动和用例驱动的内容,我曾经有过一小部分文字,可以供你参考:http://www.cnblogs.com/Iverson-Anders/archive/2006/07/25/458867.aspx   回复  引用  查看    

#13楼  2006-10-28 22:56 ocean2000[匿名] [未注册用户]

◎姜老师
其实我所谓的开发就是一个很简单的编码过程不掺杂什么思想在内,你说的oop我知道意思,至于其他的那些简写请原谅我没阅读过相关资料不知道,别笑话o。不过我会努力学习这些东东的。
另外你解释的两种开发方式,我算是明白了意思,也就是驱动不是名词是动词,整个开发是由用例或者测试来控制的。   回复  引用    

#14楼 [楼主] 2006-10-28 23:04 姜志辉      

@ocean2000
我手边没有准确的定义可供参考,因为我还在“咖啡店”泡妞呢,哈哈。有两个简单的定义,不准确但是或许可以帮你。
OOP,面向对象编程,你知道的
OOA,面向对象分析,如何分析需求,如何获取分析类,如何获得初始架构
OOD,面向对象设计,如何根据需求定义设计元素,如何解决非功能性需求问题,比如性能,比如容量,比如日志的问题,这些内容如何在框架里实现等等。
OOSD,面向方面的用例驱动开发。   回复  引用  查看    

#15楼  2006-10-28 23:09 Justin      

这个主题比较大,也比较杂!很有挑战啊!关注ing...   回复  引用  查看    

#16楼  2006-10-28 23:12 ocean2000[匿名] [未注册用户]

◎姜老师
文章浏览完,你说的很多都是一针见血的。有收获。(对于卫生间谈工作让人觉得有点意外 ;))
另外万分感谢你的帮助,其实上面我想在最后说,让你不用来解释,这些都需要通过自己的学习体会才能更深。没想到最后你还是解答了。感谢的话也不多说了,只能不断的支持你,向你学习。   回复  引用    

#17楼 [楼主] 2006-10-28 23:18 姜志辉      

@Justin
是啊,所以汗如雨注。真的。希望得到你的帮助。
@ocean2000
:)   回复  引用  查看    

#18楼  2006-10-29 07:57 dudu      

支持!辛苦了!   回复  引用  查看    

#19楼  2006-10-29 09:24 布尔      

仅希望能把课程落实到实践中   回复  引用  查看    

#20楼  2006-10-29 10:20 天轰穿      

@布尔
对,结合实践说出来的知识很容易接受!
  回复  引用  查看    

#21楼  2006-10-29 10:48 临风[匿名] [未注册用户]

加油!加油!   回复  引用    

#22楼  2006-10-29 17:46 codefan [未注册用户]

期待。。。   回复  引用    

#23楼  2006-10-29 18:49 yfsun1 [未注册用户]

非常关注,非常期待。。。不知怎么参与?   回复  引用    

#24楼  2006-10-29 22:34 main      

上面提到的书都看了,就盼这么一个交流学习的机会!
非常期待!   回复  引用  查看    

#25楼  2006-10-30 08:42 SKY-GAO      

貌似很难,什么设计模式,还没真正学过.   回复  引用  查看    

#26楼  2006-10-30 09:13 3echo[匿名]      

在此对您的工作表示支持!   回复  引用  查看    

#27楼  2006-10-30 11:21 bugSharp      


非常期待!



  回复  引用  查看    

#28楼  2006-10-30 12:46 stonezhu      

没话说,期待!!!   回复  引用  查看    

#29楼  2006-10-30 16:31 心不在焉      

最重要是结合项目讲设计模式,原子里面脱离项目讲设计模式的文章太泛滥了。经典的我想只要吕老师的就够了。。。
最主要是结合实际情况   回复  引用  查看    

#30楼 [楼主] 2006-10-30 21:59 姜志辉      

谢谢各位,我会尽自己的最大努力的。因为这段时间项目组的事情比较忙,所以回复比较慢。不过我会在本周推出一个DEMO测试一下,看看大家的反馈。   回复  引用  查看    

#31楼  2006-11-03 11:14 ShineStone [未注册用户]

支持!!什么时候开课啊,期待.......   回复  引用    

#32楼  2006-11-09 20:56 King[匿名] [未注册用户]

辛苦了! 多谢!   回复  引用    

#33楼  2006-11-28 16:55 qjsky [未注册用户]

棒极了   回复  引用    

#34楼  2007-05-16 09:30 guhailei [未注册用户]

辛苦了! 多谢! 请问下你那边有《设计模式解析》哪本书的中文译本吗? 电子版的,,有的话能发我一下吗? 谢谢了? guhailei66024441@163.com
  回复  引用    

#35楼  2007-07-28 11:32 44 [未注册用户]

请问下你那边有《设计模式解析》哪本书的中文译本吗? 电子版有的话能发我一下吗?谢谢了?guohuo256@yahoo.com   回复  引用    





标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-10-28 19:34 编辑过
Google站内搜索


China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!

相关文章:

相关链接:
 
<2006年10月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

公告


固步自封

与我联系

搜索

 

常用链接

留言簿(16)

随笔档案(14)

文章分类(21)

文章档案(22)

相册

积分与排名

最新随笔

最新评论

阅读排行榜

评论排行榜