假设需求:设计一个学生管理系统,实现如果发现某班级中的一位同学犯错误,则全班同学每个人都扣除一个小红花;
1、设计实体类;如图:
2、映射数据表;
略
3、设计客户端
a)由需求得知这里需要一个公开的惩罚方法:Punish(blunderStudent : Student);
b)由需求得知实现惩罚方法的算法:
i.通过某个学生得到该学生所在的班级:GetClass(classId : Integer) : Class
ii.通过班级得到该班的全部学生: GetStudentList(classId : Integer) : List<Student>
iii.循环所有学生,扣除每个人一个小红花:SubFlower(blunderStudent : Student)
4、设计业务类
a)业务中有两个方法需要学生业务类去实现:GetClass(classId : Integer) : Class、SubFlower(blunderStudent : Student);
b)业务中有一个方法需要班级业务类去实现:GetStudentList(classId : Integer) : List<Student>
5、设计持久层接口
a)学生业务类中的GetClass(classId : Integer) : Class方法需要通过持久层获取对象;SubFlower(blunderStudent : Student)方法需要通过持久层保存对象;
b)班级业务类中的GetStudentList(classId : Integer) : List<Student>方法需要通过持久层获取对象列
6、设计持久层
a)分别实现持久层接口
7、通过ORM工具实现持久层与数据表的关联
略
8、根据不同的部署环境,选择设计Web UI或WinForm UI,或其他用户界面
略
附:整个类图