《子系统与类的分析与设计.docx》由会员分享,可在线阅读,更多相关《子系统与类的分析与设计.docx(2页珍藏版)》请在第壹文秘上搜索。
1、实验三:子系统与类的分析与设计工程名称:学生成绩管理系统一、类关系图纵览管理系统的类主要分为两个局部:界面类和实体类。图1中主要介绍了系统中出现的主要的类和类与类之间的关系,主要是继承和泛化。单个类图中主要包括了类的属性和操作。具体如图1所示。图1类关系图纵览界面类中主要是登录对话框和主操作界面,登录对话框继承于MFC中的对话框类,对话框中包括了两个输入框课一个选择框,用于登录。主界面主要继承于MFC的菜单类,其中包括了各个人员的的属性和各自可以进行的操作,针对不同的人员身份权限,每种身份的权限对应不同的操作界面,界面中的内容更具人员的不同会显示不同的内容,这种不同界面操作的方式保证了数据的平
2、安性,保证人员的操作的合法性。实体层主要包括了人员类、管理员类、老师类、学生类,其中人员类是其他三个类的基类,其中实体类PerSon的属性含有实体类TeaCher和SlUdent、administrator的公有属性,例如:姓名、年龄、性别、系别等,person中的操作voidVieW()(查询成绩)是实体类TeacherStudent和Administratior都能实现的。所以Teacher或Student和person之间是继承关系。而Teacher或Student和Administratior之间都是关联关系,关联关系的名称是管理。其中TeaCher和Administratior之间是
3、1:n的关系,StUdent和AdminiStratior之间也是1:n的关系。界面和实体之间主要通过操作界面连接,具体通过按钮和编辑框调用各个类中的成员函数来实现各种的操作。界面类和实体类之间联系紧密又清晰的区别开来,-目了然。有利于系统设计时对各种操作功能的划分。二、界面层类关系图系统的界面关系图主要介绍了本系统的界面类之间调用关系、继承关系,设计模式,接口函数。具体如图2所示。图2界面层类关系图系统的界面层主要包括了登录对话框和各身份人员的操作界面,定义了使用人员在登录和使用系统时的操作标准和要求。对话框主要继承MFe的对话框类,其中包括了两个编辑框,一个选择框,两个按钮。使用人员点击按
4、钮是访问数据库进行密码和账号确实认,通过后允许使用者进入相应身份的操作界面进行一系列合法的操作。使用者通过身份验证后,按钮调用显示主菜单,主菜单课显示使用者的根本信息和可以使用操作的事件排列,主菜单项选择用了外观模式进行设计,将操作方法或操作对象相似的一组操作集合在一起,通过主菜单上的一个关键词按钮调用显示这一组操作,这样设计让主菜单看起来更加简洁明了,用户只需要直接与外观角色交互,用户与子系统之间的复杂关系由外观角色来实现,将复杂系统的内部子系统与客户程序之间的依赖解耦,降低了系统的耦合度。使用者可以很方便的就找到自己需要使用的东西,而且让主界面上看起来更加的干净,条理清晰。使用者点击确定按
5、钮后,就像数据库发送使用者输入的账号和密码,数据库检验后返回“输入正确”进入系统或“输入错误,请重新输入!。假设输入正确,那么根据使用者选择的身份调用不同的操作菜单显示给使用者。三、实体层类关系图系统的实体层类关系图主要描述的是类的调用关系、继承关系,设计模式,接口函数。具体如图3所示。图3实体层类关系图学生成绩管理系统的实体类主要包括了person类,teacher、studentsadministrator类,其中person类是基类其他三个类是继承person类而来。宾中实体类person的属性含有实体类Teachor和student,administrator的公有属性,例如:姓名、年
6、龄、性别、系别等,PerSon中的操作Voidview()(查询成绩)是实体类TeacherStudent和Administratior都能实现的。所以Teacher或Student和person之间是继承关系。而TeaCher或StUdCnt和AdminiStratiOr之间都是关联关系,administrtor通过对人员信息的管理来管理teacher和student,通过设置不同的身份使teacher和StUdent具有不同的操作权限,所以administrtor和teacher和student类之间的关联关系是管理。其中Teacher和Administrator之间是1:n的关系,Stu
7、dent和Administrator之间也是1:n的关系。三个类中的ViCWO函数选用了桥接模式的雷设计模式,将人员身份和查询信息分为两段显示,这样系统中类的个数更少,且系统扩展更为方便。桥接模式将继承关系转换为关联关系,从而降低了类与类之间的耦合,减少了代码编写量。但是这样的设计是脆弱的,仔细分析就可以发现,它还是存在很多问题,违背了类的单一职责原那么。教师和管理员都可以通过调用不同的成员函数来实现对学生成绩和人员信息的添加、删除、查看和修改,确定信息的正确性后通过调用后相应的成员函数将数据写入数据库,对数据库中的数据进行修改。三种身份的人员查看信息是都通过VOidview()函数调用显示功能将相应的数据显示在操作界面上供使用者查看。