从11月16号到今天在.NET平台上的实践已经一个多月了,回头走过的路,有很多感受,总的说围绕项目实践和管理,有了不少的收获。这里着重总结一下对项目的认识。
教务的项目是我真正实践的第一个项目,但是项目的训练渗透在平时的学习过程当中。而平时的学习主要以视频的学习为主,多数都是集中于某个知识点涉及到的技术的学习,这样的学习与项目之间还是有一定的鸿沟的,因为单纯的某些技术在项目实践中需要灵活运用的,而如何在项目中去用才是好钢用到刀刃上。
今年上半年用了几个月的时间学习B/S的知识,教务则是将这些知识融合到运用的刀刃上。
知识是死的,但是与实践结合后就是活的。刚开始的时候,只是去开发考试系统,大概用了半个月的时间对系统的架构做的差不多了,时序图已经画了一部分。这时候提出了新的需求,要将独立的考试系统、评教系统、选课系统进行融合,用老师的话说就是数据共享,独立开发。
三个小组的人,一起将公共的数据表提取了出来,包括公共字段,用了一天左右的时间,对抽象公共表的工作完成了,但是在实践的时候,就发现了这样设计的问题。针对公共的表中,含有公共的字段,单个的系统根本不知道其他的系统的字段含义,而很多字段往往又都包含有外键约束,如果某个系统要向公共的表中插入数据是无法进行的,怎么办呢?
发现了问题,就解决问题,将问题提出后,改变了数据库的设计方案。将公共的表的外键都抽题出来,在一些基本的表中只保留主键。表和表之间通过关系表来关联。
经过一段时间的磨合,总算是把三个系统的公共的部分抽题出来,形成了一个基础的模块来维护教务中基本的数据。
改革不彻底,对系统缺少全局性的认识,在学校的评教工作中因为某个老师,没有对评教系统进行数据整合,导致了学校某些专业的学生评教工作无法正常进行。通过这个问题,米老师帮我们发现了之前我们在设计中的思路的缺陷。
之前的设计中是按照最最基础的数据基础模块中,但是很多系统共用的数据还是交给某个子系统进行。这样就导致了“信息孤岛”和数据的不一致。
再次推翻了之前的设计,重新再来,在这次的过程中,又融合了课表的安排的问题。学校里学院、教师、课程、学生、班级、学生这些关系虽然是我们在接触数据的时候常用的例子,但是结合到真实的项目中,如果要保证系统的灵活性,跟书本上不一样的架构设计带来的其他的问题就必须解决了。任何一件事情往往有他好的一面,也有不好的一面。系统的灵活性是有了,可是表之间的操作就繁杂了很多。这次整合又费了很大的劲,但新的表最终还是出炉了。
经过四次的推翻重来,这段时间终于开始再次画图、写文档。这么折腾了一个多月,每次都是对实践的深化认识。技术是死的,高手不仅要懂技术,更要精通业务,从业务中提炼架构。我们说架构师往往是很厉害的,经过这一个多月的实践,深刻明白了架构师不是单纯的敲代码炼出来的,而更重要的是从业务中历练而成的,而技术则是一个基本的保障。
最后以毛泽东的一首诗作结,以示对我们教务小组的成员们的鼓舞:
忆秦娥·娄关山
西风烈,长空叫霜晨月;
霜晨月,马蹄声碎,喇叭声咽;
雄关漫道真如铁,而今迈步从头越;
从头越,苍山如海,残阳如血。