学籍管理系统的MDA的困惑(banq大哥必看,关于我们学校ecust的)

08-05-24 jesse
         

项目需求分析如下:

学生

---选课

---查看课程表

---上课

---查看考试表

---考试

---查成绩

---评教

---管理个人信息

教师

---授课

---输成绩

---管理个人信息

---查看所教学生的信息

教务处

---开课(根据各院上报的所开课程)

---确定学生的课程(筛选,专业计划)

---管理学生/教师信息

参考http://www.jdon.com/mda/mda.html的分析思路,建立如下模型:

Student

------------

id: int

name: String

pwd: String

......(部分省略)

courseTable: Collection(课程表,表示Student与Course的关系是1:n)

examTable: Collection(考试表)

scoreTable: Collection(成绩表)

Course

--------------------

id: int

name: String

classTimes: Collection(上课时间,表示Course与ClassTime的关系是1:n)

....

AbstractClassTime

---------------

startWeek: int(起始周)

endWeek: int(结束周)

ConcreteClassTime

-------------------

frequency: int (0:每周/1:单周/2:双周/....)

startNode: int(开始节)

endNode: int(结束节)

Exam

-----------------

course:Course

time: Date

place: String

type:String

....

Score

-----------------

course:Course

mark: int

credit: double

.......

不知以上设计怎么样?如果有错请赐教......

假如没错,问题来了,MDA带给我的困惑是:假如我还是要用到关系数据库做为持久化策略(目前还很难摆脱它),那么怎么去设计这个数据库schema呢?无从下手了......

[该贴被jesse于2008-05-24 19:28修改过]

         

freebox
2008-05-24 20:18

既然不是改造遗留系统,从头开始是不需要设计DB的,当你建立了对象关系之后,完全可以使用hibernate等等的ddl auto来生成db,换句话说,当你设计一个新系统的时候,是不需要db概念的,你只需要OO关系。

jesse
2008-05-25 11:39

我倒是想看看,生成的Schema是什么样的?你说说看?有这么简单吗?

对象和关系数据库天然阻抗 就通过一个Hibernate OR MAPPING就解决了?

freebox
2008-05-25 15:11

你将Entity建立好,在JPA配置里定义<property name="hibernate.hbm2ddl.auto" value="update" />,自己看看如何生成db,不能连试都没试过就说不行或行,我试过之后认为自己定义的OO关系可以映射到db。

xmuzyu
2008-05-26 00:44

如果是从新开发新系统确实不要先考虑数据库表,因为通过正向工程,可以直接生成数据库schema,而你要是改造遗留系统,那么也可以通过反向工程又数据库schema生成类。

2Go 1 2 下一页