这段时间一直在做作业批复系统的需求,也是第一次有了跟用户交流的感觉。事实上,教我们Web程序设计的Mrs吴就是我们的用户。当初想得很简单,只要保持跟Mrs吴的沟通,需求应该能很快确定下来。而且,作业批复嘛,流程我们也了解,不就是那么回事嘛~于是,在简单的交流之后,我们提交了用例图和用例文档,并附上了概念模型(CDM)。
唉,这里还是要抛出那句至理名言――“现实总会给自以为是的人一记响亮的耳光~”我们的需求到现在还没有搞定。
按理,系统涉及的人员不多,教务员、教师、学生,如此而已。只不过这个系统的直接用户是师大,而师大的教学方式是:学生属于一个自然班级,所学习的课程均是通过选修的方式。也就是说,A班的学生甲和B班的学生乙若选修同一门课,且选择同一个授课老师(同一门课可由多个老师教授),那么他们是在一起上课的。换言之,同在一个自然班级中的学生并不一定在一起上课。
另外,系统还要提供角色权限管理的功能。
于是,我们对CDM进行了修改:
我们还没来得及将CDM给老师看,老师又提出一个新的需求:学生和老师可以针对该学生的某次作业进行讨论,于是,我们再次改进了CDM,添加了一个讨论帖对象:
老师在看了上图所示的概念模型后,立即指出了两处关系逻辑上的错误。
a. 讨论帖应该是直接与某个作业关联的;
b. 操作表应该是与权限表关联的,例:给角色赋予用户管理的权限,但限制他的操作是添加和更新……
当即晕倒,怎么当初设计CDM时,一切都那么理所当然呢?
于是,改改改:
OK,关系差不多理顺了,可是由于之前我们没有考虑历史数据的处理,其次,老师又提出一个在线测试的需求,所以概念模型和用例文档还需要整改。
下个星期就要进行概要设计了,这几天要把需求文档搞定。本想把Linq和MemberShip深入了解下,对系统的设计和实现应该有很大帮助,But Now,把握需求是第一位的。
Wo~This is going to be fun.
==============================================
后记:这篇总结是我在4月15日写的,我们小组目前已经进入了概要设计阶段。概念模型暂时定为: