程序设计大作业实训报告
实训项目: 学生信息管理系统
系 部: 物流信息系
班 级: 计应0901
小组成员: 孙宇翔
指导老师: 杨立雄
实训时间: 20##年1月2日
湖南现代物流职业技术学院物流信息系
20##年1月
目录
引言 3
第1章. 系统开发环境... 4
1.1. 硬件环境... 4
1.2. 软件环境... 4
1.3. 软件运行方式... 4
1.4. 开发环境及语言的介绍。... 4
第2章. 项目计划安排... 5
2.1. 人员安排... 5
2.2. 项目计划软件... 5
2.3. 进度安排... 5
第3章. 系统需求分析... 6
3.1. 需求目标的分析... 6
3.2. 可行性分析... 6
3.3. 用户与项目管理人员确定最后的需求... 6
3.4. 尚未解决的问题... 7
第4章. 系统设计... 7
4.1. E-R图... 7
4.2. 逻辑数据表... 8
4.3. 部分界面及代码... 10
第5章. 系统测试... 12
5.1. 测试的目的... 12
5.2. 测试的方法... 12
5.3. 测试结果... 12
开发心得 13
引言
学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统 应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另 外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生学籍信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性 好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,开发这样一套管理软件成为很有必要的事情。
第1章. 系统开发环境
1.1. 硬件环境
建议硬盘空间:1GB以上
建议内存:512MB或者更高
建议CPU:1.8GHz以上
1.2. 软件环境
操作系统:Microsoft Windows 2000/NT/XP/vista/ Microsoft Windows 7
数据库系统:SQL Server 2000
开发平台和语言:vs20##、C#
1.3. 软件运行方式
学生信息管理系统为单击版软件(只运行在一台机器上),无需连接网络,可以直接安装使用,不过刚开始需要进行大量的数据录入工作。首次登录时帐号为:admin密码为:123456
用户可以登录系统后修改此账户。
1.4. 开发环境及语言的介绍。
Visual Studio 是微软公司推出的开发环境。是目前最流行的 Windows 平台应用程序开发环境。
Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。
Visual Studio 20## 提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。
Visual Studio 20## 包括各种增强功能,例如可视化设计器(使用 .NET Framework 3.5 加速开发)、对 Web 开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。Visual Studio 20## 为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持 AJAX 的 Web 应用程序。
开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的 Web 应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问 ASP.NET 应用程序服务和 Microsoft 平台。
第2章. 项目计划安排
一项任务的成功完成,必须依靠合理的计划安排以及各种资源的有效利用。有计划、有步骤地进行软件开发,除了可以提高开发进度外,更能明确项目组各成员之间的职责及任务。项目进度表要安排每个成员的任务,并要求成员每天修改自己的进度,保证项目管理人员可以随时查看整个项目的进度,以及时发现问题,调整工作策略。
2.1. 人员安排
因为此项目为学校的作业,所以人员为一个人,有一人完成整个软件项目的开发。担任所有的职责,体会项目各个流程的工作方式。
2.2. 项目计划软件
对于项目计划软件,主要使用的是Microsoft Visual Studio 2008,SQL server 2000.
2.3. 进度安排
a) 制定需求分析计划。
b) 根据需求分析绘制E-R图。
c) 根据E-R图制作数据库。
d) 编写代码。
e) 测试程序。
f) 制作工程文档。
第3章. 系统需求分析
3.1. 需求目标的分析
管理信息系统就是我们常说的MIS(Management Information System ),在强调管理,强调信息的现代社会中它变得越来越普及。学生信息管理系统是一个教育单位不可缺少的部分, 能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段,管理信息系统在教育单位应用中存在三个要素,这就是人、计算机和数据。人是指学校的决策者和管理者。
3.2. 可行性分析
a) 经济的可行性
系统开发仅仅需要一台计算机和开发系统所需要的软件即可,成本费用很低。
b) 技术的可行性
我们已经学过了C#和SQL Server并且也有过类似项目的开发经验,所以技术要求已经达到。
3.3. 用户与项目管理人员确定最后的需求
可以对学生所选的课程进行管理,包括学生的可选课程和个人已选课的信息,并可以进行选课。
可以对课程进行管理,课程管理包括增加课程,该课程包括任课教师和所属专业。
根据学号、身份证号查询学生信息。根据学号查询选课信息。
软件使用权限管理方式。根据工作流程,软件有2种角色:管理员、学生和教师。管理员允许对课程信息、教师信息、学生信息的管理。学生可以进行选课和查看课程信息的操作。教师可以查看本人所授课程的学生信息
3.4. 尚未解决的问题
a) 学生众多,信息量大,在对其进行上录入,修改,删除时需要大量时间。
b) 在对大量数据进行长时间操作时,操作人由于疲劳很容易造成数据误差。
c) 由于系统只记录数据(发生过的事),不可能观察学生平时,对学生进行评秀评先时数据可能会有所偏差。
d) 学生的登录方式以及权限的处理还不完善,需要改进
第4章. 系统设计
4.1. E-R图
学生信息管理E-R图
学生实体E-R图
班级实体E-R图
课程实体E-R图
4.2. 逻辑数据表
Ser_Info数据表
Student_Info数据表
Class_Info数据表
Course_Info数据表
Gradecourse_Info数据表
Result_Info数据表
4.3. 部分界面及代码
public SqlConnection con = new SqlConnection();
public static string str_name = "";
public Boolean flag = false;
public void lj() //连接数据库
{
try
{
string strCon = "";
strCon = "initial catalog=studentDB;Server=127.0.0.1;user id=sa;password=;Connect Timeout=30";
con = new SqlConnection(strCon);
}
catch (Exception ee)
{
}
con.Open();
}
public void cx(string str_table,string str_where)//查询数据库
{
SqlCommand com = new SqlCommand("use studentDB select * from "+str_table+" where "+str_where+"", con);
SqlDataReader dr = com.ExecuteReader();
if (dr.Read())
{
flag = true;
}
else
{
flag = false;
}
}
public void tj(string str_xx)//添加数据库信息
{
SqlCommand com = new SqlCommand("use studentDB insert into ser_Info(user_ID,user_PWD) values('"+str_xx+"')",con);
com.ExecuteNonQuery();
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string str_table="ser_Info";
string str_where="user_ID='"+textBox1.Text+"'and user_PWD='"+textBox2.Text+"'";
lj();
cx(str_table,str_where);
str_name = textBox1.Text;
if (flag == true)
{
MessageBox.Show("欢迎使用!");
Form2 f2 = new Form2();
f2.Show();
this.Hide();
}
else
{
MessageBox.Show("请重新确认密码");
}
}
private void Form1_Load(object sender, EventArgs e)
{
lj();
}
}
第5章. 系统测试
5.1. 测试的目的
测试是为了更好地完成项目的功能,虽然测试并不能完全模拟实际发生的流程,但可以降低错误的发生概率,提高软件项目的稳定性。
软件测试是为了发现错误而执行程序的过程。测试是为了证明程序不够完美,任何程序都不可能有错。一个成功的测试,其实是发现了别人发现不了的错误。软件的测试,从根本上说是为了查找错误,但并不是找不出错误就说明测试没有价值。
5.2. 测试的方法
软件测试的方法和技术是多种多样的,网路上也提供了很多免费的工具。对于软件测试技术,可以从不同的角度加以划分。
(1)从是否需要执行被测软件的角度,可分为静态测试和动态测试。
(2)从是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。
我们采用的测试方法为黑盒测试。
黑盒测试。又叫功能测试,由测试人员在不知道程序如何实现的情况下,输入功能需要的数据,查看输出结果的正确性。所谓“黑盒”,其实就是把程序看成是一个完全密封的盒子,测试人员不考虑程序的内部构造,只是按照需求说明,进行数据的录入操作,并查看结果是否满足需求要完成的功能。
“黑盒”法着眼于程序外部结构,不考虑内部运算,针对界面和功能进行测试。“黑盒”法是穷举测试,只有把所有可能的输入都进行测试,才能查处程序中所有的错误。实际上测试情况有无穷多个,测试人员不仅要测试合法的输入,还要对那些不合法的输入进行测试。
5.3. 测试结果
程序的基本功能都已实现,部分的输入条件未能进行测试,需要对其进行限制。
开发心得
经过一段时间的设计和开发,学生学籍管理系统基本开发完毕。其功能基本符合用户需求,能够完成学生学籍的存储和查询、班级的管理、学生成绩的管理与查询。并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除,对于数据的一致性的问题也通过程序进行了有效的解决。
但是由于设计时间较短,所以该系统还有许多不尽如人意的地方,用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。所以在以后的学习中,我会继续努力,争取有所提高。以上是我对这次设计的一些体会和心得。由于水平有限,错误在所难免,有许多要改进的地方。我想,这也是在以后的学习和工作中激励我不断学习,不断前进的动力。在本次设计中,提供了一个我和老师相学习的好机会。我从指导老师身上学到了很多东西老师教会了我一个从理论走向实际运用的方法老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高。让我熟悉了一个理论与实践相结合的过程,这对于我以后的工作和学习都有一种巨大的帮助,感谢他们的耐心的辅导。在以后的学习中,我将继续努力,争取进一步的提高。
通过此次系统设计开发,使我明白,做任何事都要持之以恒,特别要认真,勇于创新!在做设计之前,我对学籍管理信息系统的认识只是停留在表面,对系统的运作,管理情况知之甚少,缺乏本质和深入地研究调查,以至与在着手设计的过程中,各种意想不到的困难接踵而至。面对种种困难而又不知道怎样解决,后来我对此次的设计做了认真细致的规划和调查,和学校的工作人员面对面的进行交流,对学籍信息系统的基本功能,应用前景,可行性以及新特点重新做了全面的分析,不断完善系统说明书。
我同时认识到了这次设计的重要性,自己亲自动手参与的重要性,整个过程的难忘性。正像辅导老师说的一样,这使得我们对几年来所学的专业课有了更为深刻的认识,使得知识得到了巩固和提高,得到了比以往学习任何一门课程都大的提高和进步。这里也要特别感谢指导老师的帮助和支持,以及在这过程中给予帮助的同学和朋友。特别是我的指导老师,所以我要在这在次谢谢他给我的帮助,我也不会辜负他对我的期望,我将继续努力!