OOAD课程感想[第一周~第十三周汇总]
写在前面的话~。
2012年因为某些原因重新开了这个博客,原本打算记录一下之后大学走得一点一滴,包括ACM训练的解题报告啊,课程感悟啊,还是一些技术的学习啊。没多久,却还是转回到在电脑上书写,然后保存在硬盘里,不由得感慨自己得毅力还是很弱很弱。给自己找找借口,也给自己一个希望,赶快搞定手头上的事,申请个域名自己写个博客吧,寄人篱下的不舒服。
回归正题,因为这学期选择了面向对象的分析与设计,才在这个沉寂了很久的博客上有了新的印迹,感谢曾老师一个学期的辛苦工作,thanks。
【第一节】:
大学两年半,自己习惯了逃课呆在宿舍做自己的事情,这个学期刚开始也一样。逃了第一节的面向对象分析与设计的课,被老师点名中枪。之后,宿舍的同学回来告诉我这节课的许多与众不同的要求,就包括这里,写周记。不得不承认,其实真的挺有特色,而已可以起到一个复习,或者说检验学习效果的作用。根据一般规律,第一节课应该是课程的简单介绍,听说也是这样的。
【第二节】:
第二节课,其实我是抱着各种各样的好奇心来到的课室。也许是因为周记要求的影响,突然间很想来听听这节课。不过有点囧,确实,中英结合的授课方式,一下子很难接受。英语渣,听了半节课就崩溃了。不过幸好,专业名字还是能看懂一些。我的映像是,貌似是大概对对象,继承,关联,聚类之类的一些介绍吧~~大概大概.....。感觉是Java的一些比较基础的东西。
【第三节】:
这周很特殊,对于一个学期课堂上总共打不到10次照面历来不上课的人来说,很难得的来了,有两个比较大的原因:1)据说这个学期学校改革,平时成绩占50%,对于这个东西,我真的很想“*(……%%……¥%……&……&&*”2)又因为自己打算读研,不得不为绩点奋斗的时候。好吧,上课,认真上课。
观看了StartUML的演示。挺直观的。跟Visio的功能貌似差不多。
【第四节】:
下完课去北门吃完继续上课,手机没电,听课。
这节课讲的是用况图。用以系统开发的确定需求,这里面包括功能需求等等。
要确定系统边界,系统,系统成分,参与者。
还有大概的一些设计的逻辑,貌似就大概这么多。
【第五节】:
8点多,才来到课室。那天是因为2013世界杯乒乓球团体赛志愿者工作的原因,所以迟到了。在信息技术部,布了一天的网线和进行场馆的各种网络配置,有点累,趴着听课。听的不是很多,大致还是在讲用况图。
这次说的是UML把用况归结为三种关系,包含include,扩展extend,继承Generalization。
还可以用矩形来做系统边界。
【第六节】:
第五周的实验课因为是2013世界杯团体赛信息技术部的负责人之一,那边的指导老师要求一定到场错过了,再次被点名中枪。
也是因为如此,第一次跟曾老师有了一次对话,大致是述说了没去原因,感谢老师替我消除了那次点名。
这节课是讲了用例图实验出现的一些问题吧。顺带讲了一下类图。关于继承(单继承,多继承),泛化,类之间的关联关系诸如此类的东西。
内容比较简单,也比较熟悉,类图总感觉话起来像Product Data Management设计数据库,不过多了一些方法罢了。
————————————————华丽的分割线—————————————————
【第七节】~【第十一节】:
从第七周到第十一周,因为2013年ACM/ICPC广东省省赛的训练的缘故,我都没有去上课,去年作为主力,省赛夺不到金,国赛连吃两块铜未曾尝银牌,也许今年再没有夺金的话以后就再也没有机会了,因此,我自己是看得比较重,也算是希望给自己圆一个梦。
很幸运,最后以第九名收获了第一块省赛金牌。感谢老师在最后给我补了两次拖欠的课堂测试和假条。
比赛之前和之后,自己学习了顺序图,通信图,活动图,状态机图,包图各种图,边做实验顺便了解了一下。很惭愧做为OOAD课程设计小组的组长,东西懂得都是最慢的。那段时间基本没有同步跟上学习的节奏,有种因为比赛拆了东墙补西墙的感觉。
做完各种图之后,学习了课本的第六章,关于OOA,OOD的发展和关系。关联的转化啊等等。
以前不知道面向对象分析与设计其实还有这么多条理。几年的ACM,不管是C/C++还是Java也好,都是清一色的简单的编程,以实现算法为目的,而没有关于其他方面的设计。尝试过参加一些工程类的项目,不过也就是简单的做做,对面向对象也不是很了解。
看了下书,对一些概念稍微了解的清晰了一些,还不错。
————————————————华丽的分割线—————————————————
【第十二节】:
回归课堂的第二天,还残存拿奖的兴奋。
这节课讲了第八章人机交互部分的设计人机交互部分是人和计算机之间交互信息的媒介,这个涉及了许多个学科例如计算机科学、心理学、艺术学、认知科学和人机工程学等。人机交互作为OOD模型的组成部分之一,人是作为一个非常重要的部分。需要对人员参与者的客观需求和主管需求进行分析,对人机交互的输入输出进行设计等。
【第十三节】:
最近这几节课都是飘飘忽忽,忙着各种各样的事情,有项目,有课程设计,有期末考复习。有点麻木。
这节课主要讲了控制驱动部分的设计,控制驱动部分是OOD模型的一个组成部分。讲述了一下关于进程和线程的一些东西。一句话,二者的关系大概是:一个程序至少有一个进程,一个进程至少有一个线程.。这个学期因为看身边很多人参与面试,听的好多这些面向对象的东西,什么多态啊,继承啊,多线程啊等等。不懂都听到有概念了。
控制流间的同步,有时候多个控制流访问一个对象,会出现信息不同步的问题。最后导致系统数据不一致,所以需要采取一定的措施阻止这种情况发生。类似于数据库访问一样。解决冲突流的方法有几种,书本给出了三种。
关于控制驱动部分包括:识别控制流、审查、定义控制流、进程间和线程间的通信和控制流的同步。