中学教务管理软件本科毕业论文(编辑修改稿)内容摘要:
M 设置 考试 N 学生 课程 学习 N 成绩 M 班 管理 N 老师 1 图 实体联系图 学生 课程 班 学习 分数 组成 N 1 N M 考试 P 图 全局 ER 图 高等教育自学考试计算机应用专业本科生毕业论文 第 9 页 167。 数据库关系模式 由于概念设计的结果是与 DBMS无关的 ER 图,在设计本系统时选用的是关系型数据库,因此有必要将数据库转化为关系模式。 将 ER 图转化为关系模式有几点原则: 对于实体类型,将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体的标识符即为关系模式的键。 对于联系类型有以下原则: 如果联系是 1: 1 的联系型,可以在两个实体类型转换成的两个关系模式之中的任意一个加入另一个关系模式 的键和联系类型的属性。 如果联系是 1: N,则在 N 端加入 1 端实体关系模式的键和联系类型的属性。 如果联系是 M: N,则将联系也转换成关系模式,其属性为两端实体的键加上联系的属性,所组成的关系模式的键则为两端实体键的组合。 按照上面的原则和前面设计的 ER 图设计的教务助理系统数据库关系模式如下表 (下划线标记的属性为主键) : 表 32 班 ( 班代号 ,别名,班主任,可容纳人数,成立时间,所属年级,文 /理科) 学生 ( 学号 ,班号,姓名,性别,民族,家庭住址,电话) 成绩 ( 学号 , 课程号#,考试名, 分数) 课程 ( 课程代号 ,课 程名称,课程性质,场地要求) 老师 ( 老师 编号 ,姓名,性别,民族,职务,职称,专业,联系电话) 考试 ( 考试名 ,名称,性质,建立时间,满分,优秀分,及格分) 167。 数据库的物理设计 在设计该系统时选用的是 Microsoft Access2020。 设计的方法是,首先按照关系模式生成基本数据库表,然后根据全局 ER 图,建立各个表之间的联系。 下面是用 Microsoft Access2020 设计的物理数据库: 图 课程信息表结构 高等教育自学考试计算机应用专业本科生毕业论文 第 10 页 图 班信息表结构 图 考试设置信息表结构 图 3..7 老师信息表结构 图 学习成绩信息表结构 图 学生信息表结构 高等教育自学考试计算机应用专业本科生毕业论文 第 11 页 图 各表间联系 高等教育自学考试计算机应用专业本科生毕业论文 第 12 页 第四章 软件系统的具体设计 167。 软件结构图 通过已得出的需求分析绘制的软件结构图如下: 图 软件结构图 中学教务管理软件 学生资料管理 教师资料管理 考试管理 班级信息管理 课程设置 系统管理 成绩查询 增加删除修改资料 查询 \浏览 修改用户密码 用户权限授予与撤消 增加删除用户 录入学生资料 浏 览 增加删除修改班信息 考试设置 浏览 \分析 \打印成绩 增加删除改修成绩 高等教育自学考试计算机应用专业本科生毕业论文 第 13 页 167。 数据库访问的组织 DAO对象 系统设置了三个全局 DAO 对象,它们的命名及作用见表 41,其中前缀 g_表示是全局变量,以后系统中所有全局变量都遵循这一命名规则。 表 41 // 全局数据库对象 CDaoDatabaseg_Db。 // 用于执行除 Select 之外的 所有 SQL 语句 CDaoQueryDef g_Qd。 // 用于执行只涉及多个表的 Select 语句 CDaoRecordset g_Qd(amp。 g_Db)。 // 用于收集 Select 语句的结果 系统中除了这三个全局数据库对象外,还设置了只与每一张表相关的专用记录集。 这些专用记录集可以执行只涉及一张表的查询以及收集查询结果。 实际上,设置专用记录集最重要的原因不在此,而在于让它完成与表相关的其它任务。 也就是说专用记录集已不再只是收集数据的简单对象了,设计时对它进行了扩展,具体的扩展方法在下一节中讨论。 数据库已经有全局记录集对象了,它可以执行所有查询,不管是涉及一张表的还是多张表的查询。 但是,仍有必要为每一张表设计一个专用记录集,这是因为,表间有联系,必须维护它们之间的参照完整性,而且记录集中的数据最终要显示给用户。 这些任务如果留给每一个模块自己解决,势必会增加编程量,并且在编写与业务相关的模块时还要分一部分精力来编写与显示和维护完整性有关代码。 其中,由记录集维护参照完整性是指由记录集负责删除或更新有参照完整性要求的字段的细节。 而在安排显示任务的时候并没有将显示的底层操作安排在记录集, 因为显示的底层与记录集不相关,实际上记录集只是组织显示。 这就要求记录集知道它的数据应该显示在什么地方以及显示哪些字段,并给负责显示的其它类发送显示请求完成实际的显示。 显示的底层是由列表控件和组合框控件完成的,在后面的设计中也对它们进行了扩展,扩展后它们能与记录集结合在一起很方便地完成显示任务,这在后面的章节中会提到。 具体扩展记录集的做法是使用 C++语言的继承,从 CdaoRecordset类派生专用记录集类,扩展的记录集对象的类结构如下: 扩展的记录集类 方法: 显示所有字段的值 显示指定字段的值 删除特定 字段 更新特定字段 获取字段中文名与英文名的映射 其中,“获取字段中文名与英文名的映射”的方法是为了完成显示任务而设计的。 因为数据库中的字段名是英文而显示给用户的字段名要求是中文,所以必需要知道它们之间的映射关系,很显然,这个映射由记录集来维护最合适。 这个方法主要是在设置列表表头时被调用。 高等教育自学考试计算机应用专业本科生毕业论文 第 14 页 如图 ,学生信息列表的表头文字就是调用这个方法获得的。 图 列表表头样式 系统定义了扩展的记录集共六个。 它们类名与对应的数据表如表 42 所示,其中前缀 Rs表示该类是记录集,以后系统中所有记录集类都遵照该命名 规则。 表 42 六个专用记录集 类名 对应的表 RsClass Class RsStudent Students RsTeacher Teachers RsExam Exam RsCourses Courses RsScore Score 当记录集知道怎样显示自已的数据后,其它模块要显示数据时只要向上面 6 个记录集之一发送消息即可,如上图中学生列表中的数据是由删除学生模块向 rsStudent 记录集发送“显示 C025 班学生”消息( rsStudent::ShowStudent(m_ctlStudentList,”C025”))的运行结果。 同样,因为每个记录集都知道怎样维护参照完整性,所以当要删除有参照完整性要求的字段时,也只要向上面 6 个记录集之一发送消息即可,记录集会维护其参照完整性,例如: 要删除一个班就要考虑到参照完整性,通过分析数据库关系模式可以发现在“学生表”中有一个外键 班代号,所以不能只作简单的删除,这类操作是一类特殊的删除操作, 将这类删除操作设计到记录集类中可以简化编程,也易于维护,若关系发生变化只要修改一处代码而且不会影响其它模块。 对记录集进行这样扩展的好处是:很多与业务无关的 细节被封装起来了,设计查询时可以将主要精力放在 SQL 语句的设计上,至于如何与数据库交互和如何显示查询结果以及维护参照完整性,都完全由记录集实现。 同时封装还具有很强的适应性,只要不改变方法名、参数个数及类型、返回值类型,修改方法内部实现细节是不会影响到其它模块的,并且随时可以添加新的方法而不影响其它模块。 高等教育自学考试计算机应用专业本科生毕业论文 第 15 页 167。 用户界面的设计 为了方便用户输入,查询,浏览。 系统为用户收集已存在的数据和系统生成周期中固定不变的数据,并将其放在组合框中供用户选择, 这样做的好处还可以减少输入错误,特别是日期,它是只能是数字并 且还有取值范围 ,如果日期格式不正确,写入数据库时程序会发生异常,虽然不会导致系统崩溃但会影响用户界面。 还有一类数据,它要满足参照完整性要求。 例如:在其它地方要引用老师姓名,那么这个老师姓名就必须已经以存在,如果老师姓名不存系统也会发生异常。 另外,查询结果的显示、数据的浏览以及系统自动为用户收集的供参考的数据都是由列表控件完成。 其中,浏览数据时用户可能还想删除或修改某一些数据。 除了显示数据外,如果列表还具有单击列表表头就能对相应的列进行排序的功能,那将为界面增色不少并且更具实用价值。 下图就是一个界面实例。 图 界面实例 当用户在年级组合框中选择了某个年级之后,在列表框中会自动列出该年级已有的班,供用户参考,当用户输入一个新班后列表框中的内容也会变化以反应更新情况。 并且组合框中的数据改变会影响到列表控件的内容,也就是说数据是动态的。 实际上组合框的改变也会影响其它组合框的内容,如:班级组合框中列出的班应该只是属于某一年级的班,而不是全校所有的班(列出全校所有的班级由于班可能很多反而还不利用户操作),那么年级组合框的改变则班级组合框中的内容也要改变。 另外在列表控件中可进行选择操作,并且可进行多项选择,主要是 考虑到用户删除数据时的方便性。 图 就是一个完成删除操作的对话框,其中的列表是可进行多项选择的。 高等教育自学考试计算机应用专业本科生毕业论文 第 16 页 图 删除班对话框 167。 对列表控件和组合框控件的扩展 列表控件和组合框控件不仅是主要的界面元素之一,而且还是主要的数据容器。 他的功能强大与否将影响到以后的编程效率,所以有必要对其进行扩展使其能适合本系统的要求。 扩展的做法是使用 C++的继承。 系统所用的列表控件和组合框控件样式如下: 图 列表控件样式 图 组合框样式 列表控件在系统中使用频率相当高, 扩展的重点是要使它操作方便、界面美观、每一列都可按升 /降序排序。 操作方便的具体要求是:只要发一个方法就能完成数据的显示,同时要高等教育自学考试计算机应用专业本科生毕业论文 第 17 页 能方便地获取用户双击的列中任意单元格的内容;界面美观具体要求是:要与原始控件有较大的区别;排序的具体要求是:单击列表表头能对相应的列进行升 /降序排列。 对列表控件扩展了三个方法和一个处理单击列表表头事件的函数,由于双击事件与具体的应用有关所以不由列表控件负责,这里只扩展了获取用户双击的行中某一单元格(列)的内容的方法。 事件的处理函数的源程序在附件中,源程序中有详细注释,这里不作详细介绍。 为列表控件扩展的三个方法是: void SetListStyle(DWORD s = 0)。 CString GetSelectedStr( CString strCol )。 void FillList(CDaoRecordset amp。 rDbSet, char *pField)。 三个方法完成的功能是: FillList方法 :在列表中填充 rDbSet 所指记录集中的数据, pField 指示要填充哪些字段。 GetSelectedStr方法: 获取用户双击的行中某一单元格(列)的内容,单元格由参数指出,如果不封 装就只能使用无意义的数字访问单元格,封装后就可以用行号和列名来访问单元格。 SetListSytle 方法: 设置列表控件风格,设置的风格有:显示表格网格、整行选中等。 修改该方法将影响所有列表控件风格 这三个方法在程序中使用频度很高。 其中,这里的 FillList 方法与组合框控件中的 FillList方法几乎完成所有的具体显示任务,实际上有三个 FillList 方法,因为在组合框控件中有一个重载版。 下面对列表控件的三个方法进行具体编程,编程思路在代码中作了详细解释。 Void ListCtrlEx::FillList(CDaoRecordset amp。 rDbSet, char *pField) { /*rDbSet 是数据库记录集,是要显示数据的来源。 其中可能有多个字段,但并不一定都要显出来,这要看具体应用。 究竟要显示哪些字段。 由 *pField 指定, *pField 包含有字段名信息,如果有多个字段则用|分 隔 ,由于数数据库中的字段名是英文,而要显示给用户看的字段名要求是中文,解决的办法就是在 pField 中加入中文信息,也用一个符号分开,这里选择的符号是 39。 amp。 39。 号 ,因此, pField中的内容的格式是: 英文字段名 amp。 中文 字段名 |英文字段名 amp。 中文字段名| ....。 下面举一个系统中的实例来说明该方法的使用:系统要在列表中显示学生的信息,于是传递的pField=Codeamp。 学 号 |Nameamp。 姓 名 |Sexamp。 性别 |C。中学教务管理软件本科毕业论文(编辑修改稿)
相关推荐
有许多心理学家对网络成瘾的原因进行了 解释,提出了各种模型。 对网络成瘾的解释最具代表性的是 Young 的 ACE 模型、 Davis 的认知一行为模型和 Grohol 的阶段模型。 Young 提出的 ACE 模型中的 A、 C、 E 是指 Anonymity(匿名性 )、Convenience(便利性 )和 Escape(逃避现实 )。 她认为这是网络导致用户成瘾的 3 个特点。
砂浆严禁加水后在用。 ②、人工搅拌: 人工搅拌时必须搅拌均匀,并严格控制加水量,不能使水泥膨胀珍珠岩保温砂浆过稀,同时要求在铁板或灰槽中搅拌,严禁在铺设面或室内地面搅拌。 ⑶ 、铺设保温层: ①、首先将屋面各控制点的高度用水泥膨胀珍珠岩保温砂浆或普通砂浆做好,然后根据已做好的控制点拉线,将水泥膨胀珍珠岩保温砂浆按照压缩比(压缩比是指屋面上松散的保温层厚度 与压实后的厚度之比)为
13 ㎜ ,跑道局部加厚区塑胶面厚度为 20㎜ ,铅球区塑胶面厚度为 53㎜。 二、 100m直跑道 直跑道共有 8条跑 道,每道宽 ,局部位于 300M跑道中,塑胶面层厚 13mm,基层做法同主跑道。 三、人工草皮 人工草皮位于环行跑道的中间,其长为 100 米,宽 64米,采用 50 ㎜ 8800dtex 14000 针进口人造草丝,分为双色。 四、排水沟 垫层为 100 厚碎石垫层和
和五金件安装完毕后,以及框、扇最后一遍涂料前进行。 玻璃的运输和存放应符合下列规定: 玻璃的运输和存放应符合现行《普通平板玻璃》( GB4871)的有关规定; 玻璃不应搁置和倚靠在可能损伤玻璃边缘的玻璃面的物体上; 应防止玻璃被风吹倒。 玻璃宜集中裁割,边缘不得有缺口和斜曲。 塑钢框、扇玻璃的裁割尺寸应符合现行国家标准对玻璃与玻璃槽之间配合尺寸的规定,并满足设计和安装的要求。
,并过滤加明矾静置后的井水。 学生回答: 过滤后的水 较澄清。 当山泉水通过山上的小石块、沙层时,小石块、沙层起到了过滤的作用。 学生回答: 仍有臭味、仍显黄色。 动手制作简易活性炭净水器,互相评价,取长补短。 把过滤后的玉带河水通过简易净水器净化处理。 学生回答: 基本无气味,无颜色。 课后讨论探究,解答。 学生回答:长江水,东城河水„„ 欣赏观看。 看后简要说出自来水厂的净水过程。
........................................ 31 目录 VI 前瞻性指引很可能难以在现实中 实现 ............................................................... 31 第五章 各国央行前瞻性指引的实践 ...............................................