备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。这是个小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次。所以在经济上是可行的。 3.运行可行性分析
随着科学技术的进步和社会经济的发展,计算机在现实生活、工作中扮演越来越重要的角色,PC 机价格不断的下降,学院从硬件到软件都投入了大量的人力、物力、财力,在教务上,给各个办公室配置了计算机,并能联接到互联网,并且,学院领导对这方面比较重视,在教务上配置了一定数目的能够熟练操作计算机的人员,可以快速、方便地使用计算机进行日常工作。与此同时,我们也己经注意到,在大学校园里,越来越多的计算机已经进入同学们的宿舍,成为他们学习,生活中的一部分。 由上可知,开发学生成绩管理系统在学校中具有可行性。
(二)需求分析
需求分析是进行软件开发的一个重要环节和内容。它是指开发学生成绩学分制管理系统要准确地理解我校的实际情况,并进行细致的市场调查分析研究。然后将用户的需求陈述转化为完整的需求定义,这就需求定义转换到相应的形式功能的过程。需求分析虽然处于系统开发过程的开始阶段,但它对于整个系统开发过程及系统产品质量是有至关重要的。在此,具体表现在对各位学生成绩的添加、更新、删除、等维护和学籍管理上面。
13
四、系统设计
(一)数据库的设计
在前期的对用户需求进行了分析的基础上,整理出来了数据流程图及数据字典,我们可以根据数据流图进行具体的数据的表、视图以及数据库的逻辑结构的设计。不仅对于我们设计的学生成绩管理系统而言,而且对于任何一个完整的系统来说,数据库构设计决定了一个系统的成功与否。 在数据库的设计过程当中,我们主要做了以下的几个工作来保证数据的完整性和一致性,同时也根据用户的需求进行了一些具体的设计。 1、主要根据用户的需求将数据库当中所需要的字段进行了提取,首先根据数据字典进行了核对及整理,同时对要输出的表格、文档的字段同时做了比较,将一些需要的数据或者字段进行收录与整理;
2、对数据库的物理结构进行了整理,根据第三范式的要求对数据库的结构进行了调整,将一些有违于数据统一性及完整性的字段进行了重新设计与划分;
3、对数据库的逻辑结构进行相应的设计,根据业务流程的先后顺序,将各个字段产生的时间及对字段的操作进行理解,同时将各个表单进行关联,在物理结构的基础上进行逻辑结构的设计。
4、同时根据系统的代码编制规范对各个数据进行重新命名,并在数据字典中加入命名原则和规范。务必使数据库的字段命名准确,同时增强数据库代码的可读性和通用性。
14
(二)系统流程图设计
系统的整体流程图如下图 4-1 所示:
图4-1 学生成绩管理系统业务流程图
课程表 课程表 学生成绩表 课程录入 班级设置 数据库 学生录入 成绩录入 学生信息表 管理员 学生用户表 学生成绩表 班级课程表 (三)登录界面设计
系统的登陆界面如图4-2所示:
图4-2 系统登录界面设计图
15
登陆代码如下:
private void btLogin_Click(object sender, EventArgs e) {
userName = tbUserName.Text.Trim(); password = tbPassword.Text.Trim(); if (userName == \ {
MessageBox.Show(\用户名或密码不能为空!\ return; }
string sql = \* from T_User where F_UserName='\+ userName + \
using (SqlDataReader reader = DBHelper.GetReader(sql)) {
if (reader.Read()) {
this.Visible = false; Main main = new Main();
if (main.ShowDialog() == DialogResult.Retry) {
this.Visible = true; tbUserName.Clear(); tbPassword.Clear();
16
tbUserName.Focus(); } } else {
MessageBox.Show(\用户名或密码错误!\ } }
(四)系统主界面设计
系统的主界面如图4-3所示:
图4-3 系统主界面设计图
系统主界面主要代码如下: #region 用户管理
private void miAddUser_Click(object sender, EventArgs e) {
17