机房收费系统,第一做是在去年暑假,米老师说,无论你用什么方法,做出来就可以。当时还没有学习面向对象,语言是vb6。现在回想起来,做之前迷茫心慌,做进去之后那是蓦然回首,等到做完的时候,那就是“谈笑间樯橹灰飞烟灭”了。感慨颇多。
现在该第二次做机房收费系统了。
前一段时间,应该说,好长一段时间了,从软件工程开始,不理解面向对象,不知道怎么画UML图,不知道怎么运用三层架构。那些对我来说,缈若仙山,远远望着,却怎么也不可及。
到第二次做系统,开始画UML图,之前也迷茫了一个多星期,用例了事之后,就在三层行行复行行。
昨天开会讨论,米老师请师姐给我们解答对三层架构的疑问。理解如下:
表现层(UI)
业务逻辑层(BLL)
数据访问层(DAL)
- - - - - - - - -
实体层(Entity)
接口层(Interface)
其关系如下图所示:
建模过程如下:
1.首先是用例图,大致为按角色划分和按功能划分两种。各有利弊。
(1)对于系统需求明确的,两者皆可。按角色划分更为清晰明朗;按功能划分稍显凌乱,却更容易进行下一步——抽象类,尤其是数据库。
(2)对于系统需求不明确的,可能就要两者相辅而行了。
2.包图,这是最容易画的,就是上面那张图。难的是包内部需要建立哪些类。哎,我就在这条路上起了又倒,倒了再起。
(1)实体层(Entity)
以数据库为基础,在数据库表的基础上,建立实体层。数据库的字段为类的属性。
(2)数据访问层(DAL)
以数据库为基础,建立数据访问层。针对每一张表的操作。可增?可删?可改?可查?四者兼备,还是择其一二。
(3)表现层(UI)
即需要的WindowsForms窗体。
(4)业务逻辑层(BLL)
提到了两种方法,一种是依照UI层,建立BLL层,BLL层里面是对DAL层操作的业务封装;还有一种,是依照DAL层,建立BLL层。第二种方法我目前还没有见到过,只闻其名,不解其意。
3.时序图,正在进行中。。。