搜档网
当前位置:搜档网 › C#+员工信息管理系统的设计课程设计

C#+员工信息管理系统的设计课程设计

C#+员工信息管理系统的设计课程设计
C#+员工信息管理系统的设计课程设计

河南理工大学

计算机科学与技术学院

课程设计

2011 — 2012学年第二学期

课程名称C#Windows程序设计课设

设计题目人事管理系统

学生姓名

学号

专业班级软件工程.net

指导教师

2012 年6月7日

目录

封面...........................1 目录...........................2

1.设计任务书.......................4

1.1题目与要求.....................4

1.2本系统涉及的知识点.................4 2.功能设计........................4 3.数据库设计.......................5

3.1数据库概念设计(E-R图) ...............5

3.2数据库逻辑结构设计.................6

3.3数据库物理设计...................6 4.系统实现........................6

4.1界面设计及实现...................6

4.2部门信息管理设计及实现...............11

4.2.1添加部门信息...................11

4.2.2浏览部门信息...................13

4.2.3修改部门信息...................14

4.2.4删除部门信息...................16 5.总结..........................18 致谢...........................18 参考文献.........................18

1 设计任务书

1.1 题目与要求

本人计划(与XXX、XXX合作)编写一个员工管理系统,主要用来管理员工基本信息。此系统使得管理人员对公司的工种进行分类,进而确定各个工种所对应的部门信

息,在已有部门信息的基础上能够对所有的员工信息进行分类管理。本系统的特点是可以对员工的个人信息、所属部门进行全方位的管理,可以实现工种的浏览、添加、删除和修改等操作,同时界面设计简单、操作方便。其具体要求如下:

1、工种种类设置。

?添加工种:添加公司的各种工种信息,包括工种编号、工种名称、工种描述。

?浏览工种:能够按照列表方式快速浏览公司的各种工种。

?修改工种:能够对工种的信息进行修改。

?删除工种:能够对于全部工种的信息进行删除。

2、员工个人信息管理。

?添加员工:添加一个员工的基本信息,包括姓名、性别、专业、籍贯、职称、所在工种、所在部门、学历、员工编号。

?浏览员工:能够对一个职员的信息进行删除按姓名进行删除。

?修改员工:对职员的信息进行修改。

?删除员工:能够对于全部职员的信息进行删除。

3、员工所属部门信息管理。

?添加部门:添加一个部门的基本信息,包括部门编号、部门名称、部门描述。

?浏览部门:能够按照列表方式快速浏览公司所有的部门。

?修改部门:能够对部门的信息进行修改。

?删除部门:能够对于全部部门的信息进行删除。

根据分工,本人的主要工作是完成第三模块,即员工所属部门信息管理,包括添加部门、浏览部门、修改部门、删除部门四个部分。同时,需要对主界面进行设计及实现。

1.2 本系统涉及的知识点

WinForm常用控件、属性、方法,https://www.sodocs.net/doc/1515527660.html,技术。

2 功能设计

本系统选用C#作为开发语言,采用结合后台SQLServer数据库的C/S结构开发模式,优化了程序代码及结构,提高了程序的运行效率。系统在.NET环境中进行开发,该环境提供了大量可选择的数据对象,可以很方便地建立与数据库之间的连接,并在此连接的基础上利用各种常用数据库组件对数据库进行操作。

在本系统中,采用SqlConnection对象与后台数据库创建连接,所有针对数据库的操作都需要利用这个对象作为数据库连接对象。

在系统功能分析的基础上,考虑Microsoft Visual Studio 2008程序编制的特点,得到如图2-1所示的系统功能模块图。

图2-1 功能模块图

3 数据库设计

3.1 数据库概念设计(E —R 图)

根据本系统的需要,可以归纳出一下实体:工种信息实体、部门信息实体、员工信息实体。

为了更好地理解各个实体及其含义,用E-R 图,即实体关系图对实体进行描述。

根据分工,本人任务模块部门信息实体如图3-1所示:

图3-1 部门信息实体图

3.2 数据库逻辑结构设计

系统数据库名称为db_Person,数据库中包括:1.工种信息表(tb_JobInfo );2.部门信息表(tb_DepartInfo );3.员工信息表(tb_PersonInfo )。

下面列出部门信息表的数据结构,如表3-2所示。

图3-2 部门信息表的数据结构

3.3 数据库物理设计

数据库物理设计,即设置表与表之间的关系。员工信息表中的“部门”来源于部门信息表中现有的部门,员工信息表中的“工种”来源于公众信息表中现有的工种。如果数据库中的信息不能满足正常的依赖关系就会破坏数据的完整性和一致性。

根据本系统需要,由E-R图模型进行分析,从而确定出哪些表之间的字段需要进行关联分析如下:

1、员工信息表中的工种字段来源于工种信息表;

2、员工信息表中的部门字段来源于部门信息表;

根据本系统特点,需要依次设置员工信息表与工种信息表、员工信息表与部门信息表之间的关系。

4 系统实现

4.1 界面设计及实现

该界面提供的主菜单,用户可以分别实现对工种信息、员工信息、部门信息等功能的管理。图4-1为员工管理系统的应用程序主界面。

表3-2 部门信息表(tb_DepartInfo)的数据结构

DID int 部门编号(主键,自动编号) Dname varchar 部门名称

Dleader varchar 部门领导

Remark varchar 描述

图4-1 员工管理系统主界面

此界面用于对各模块进行查询及编辑。程序代码如下:

using System;

using System.Collections.Generic;

using https://www.sodocs.net/doc/1515527660.html,ponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using PersonMIS.JobManage; //导入用于工种设置的命名空间using PersonMIS.DepartManage; //导入用于部门设置的命名空间using PersonMIS.IncomeManage; //导入用于员工收入的命名空间using PersonMIS.PersonManage; //导入用于员工个人信息的命名空间

namespace PersonMIS

{

public partial class frmMain : Form

{

public frmMain()

{

InitializeComponent();

}

AddJob frmAddJob;

private void meneAddJob_Click(object sender, EventArgs e) {

if (frmAddJob == null || frmAddJob.IsDisposed)

{

frmAddJob = new AddJob();

for (int x = 0; x < this.MdiChildren.Length; x++) {

Form tempChild = (Form)this.MdiChildren[x];

tempChild.Close();

}

frmAddJob.MdiParent = this;

frmAddJob.Show();

}

}

AddDepart frmAddDepart;

private void menuAddDepart_Click(object sender, EventArgs e) {

if (frmAddDepart == null || frmAddDepart.IsDisposed)

{

frmAddDepart = new AddDepart();

for (int x = 0; x < this.MdiChildren.Length; x++)

{

Form tempChild = (Form)this.MdiChildren[x];

tempChild.Close();

}

frmAddDepart.MdiParent = this;

frmAddDepart.Show();

}

}

AddDepart frmAddPerson;

private void menuAddPerson_Click(object sender, EventArgs e) {

if (frmAddPerson == null || frmAddPerson.IsDisposed)

{

frmAddPerson = new AddPerson();

for (int x = 0; x < this.MdiChildren.Length; x++)

{

Form tempChild = (Form)this.MdiChildren[x];

tempChild.Close();

}

frmAddPerson.MdiParent = this;

frmAddPerson.Show();

}

}

AddDepart frmAddIncome;

private void menuAddIncome_Click(object sender, EventArgs e) {

if (frmAddIncome == null || frmAddIncome.IsDisposed)

{

frmAddIncome = new AddIncome();

for (int x = 0; x < this.MdiChildren.Length; x++)

{

Form tempChild = (Form)this.MdiChildren[x];

tempChild.Close();

}

frmAddIncome.MdiParent = this;

frmAddIncome.Show();

}

}

BrowseJob frmBrowseJob;

private void menuBrowseJob_Click(object sender, EventArgs e)

{

if (frmBrowseJob == null || frmBrowseJob.IsDisposed)

{

frmBrowseJob = new BrowseJob();

for (int x = 0; x < this.MdiChildren.Length; x++)

{

Form tempChild = (Form)this.MdiChildren[x];

tempChild.Close();

}

frmBrowseJob.MdiParent = this;

frmBrowseJob.Show();

}

}

BrowseDepart frmBrowseDepart;

private void menuBrowseDepart_Click(object sender, EventArgs e) {

if (frmBrowseDepart == null || frmBrowseDepart.IsDisposed) {

frmBrowseDepart = new BrowseDepart();

for (int x = 0; x < this.MdiChildren.Length; x++)

{

Form tempChild = (Form)this.MdiChildren[x];

tempChild.Close();

}

frmBrowseDepart.MdiParent = this;

frmBrowseDepart.Show();

}

}

BrowsePerson frmBrowsePerson;

private void menuBrowsePerson_Click(object sender, EventArgs e) {

if (frmBrowsePerson == null || frmBrowsePerson.IsDisposed) {

frmBrowsePerson = new BrowsePerson();

for (int x = 0; x < this.MdiChildren.Length; x++)

{

Form tempChild = (Form)this.MdiChildren[x];

tempChild.Close();

}

frmBrowsePerson.MdiParent = this;

frmBrowsePerson.Show();

}

}

BrowseIncome frmBrowseIncome;

private void menuBrowseIncome_Click(object sender, EventArgs e) {

if (frmBrowseIncome == null || frmBrowseIncome.IsDisposed) {

frmBrowseIncome = new BrowseIncome();

for (int x = 0; x < this.MdiChildren.Length; x++)

{

Form tempChild = (Form)this.MdiChildren[x];

tempChild.Close();

}

frmBrowseIncome.MdiParent = this;

frmBrowseIncome.Show();

}

}

private void menuExitSystem_Click(object sender, EventArgs e) {

Application.Exit();

}

About frmAbout;

private void menuAbout_Click(object sender, EventArgs e)

{

if (frmAbout == null || frmAbout.IsDisposed)

{

frmAbout = new About();

for (int x = 0; x < this.MdiChildren.Length; x++)

{

Form tempChild = (Form)this.MdiChildren[x];

tempChild.Close();

}

frmAbout.MdiParent = this;

frmAbout.Show();

}

}

private void timer1_Tick(object sender, EventArgs e)

{

this.ttsTime.Text = "时间为:" + Datatime.Now.ToString();

}

}

}

4.2 部门信息管理设计及实现

4.2.1添加部门信息

添加部门信息界面用于部门基本信息的录入,包括部门名称、部门领导和备注。该界面如图4-2所示。

图4-2 添加部门信息界面

添加部门信息的代码如下:

添加部门信息窗口程序AddDepart.cs

public static string strConn = "Data Source = (local);Initial Catalog = db_Person;Integrated Security = ture";

private void btnOk_Click(object sender, EventArgs e)

{

if (this.txtDepName.Text.Trim() == "" || this.txtDepLeader.Text.Trim() == "")

MessageBox.Show("请输入完整信息!","提示",0);

else

{

using(SqlConnection con = new SqlConnection(strConn))

{

if(con.State == ConnectionState.Closed)

{

con.Open();

};

try

{

SqlCommand cmd = new SqlCommand(select * from tb_DepartInfo where DName = '" + txtDepName.Text.Trim() + "'",con);

if(cmd.ExecuteScalar()!= null)

MessageBox.Show("部门名称重复输入,请重新输入!","提示",0);

else

{

String sql = "insert into tb_DepartInfo(DName, Dleader,Remark)values('" + this.txtDepName.Text.Trim() + "','" +

this.txtDepLeader.Text.Trim() + "','" + this.txtRemark.Text.Trim()+ "');

https://www.sodocs.net/doc/1515527660.html,mandText = sql;

cmd.ExecuteNonQuery();

MessageBox.Show("添加部门信息成功!","提示",0);

this.txtDepName.Clear();

this.txtDepLeader.Clear();

this.txtRemark.Clear();

}

}

catch(Exception ex)

{

MessageBox.Show("错误:" + ex.Message,"错误提示",MessageBox Buttons.OKCancel,MessageBoxIcon.Error);

}

finally

{

if(con.State == ConnectionState.Open)

{

con.Close();

con.Dispose();

}

}

}

}

}

4.2.2浏览部门信息

在浏览部门信息界面中,用户可以按照列表的方式快速查看公司所有的部门,并可以在该界面中完成修改和删除操作。浏览部门信息界面如图4-3所示。

图4-3 浏览部门信息界面

浏览部门信息的代码如下:

浏览部门信息窗口程序BrowseDepart.cs

public static string strConn = "Data Source = (local);Initial Catalog = db_Person;Integrated Security = ture";

private void BrowseDepart_Load(object sender, EventArgs e)

{

showinf();

}

///

///在DataGridView控件上显示记录

///

private void showinf()

using(SqlConnection con = new SqlConnection(strConn))

{

if(con.State == ConnectionState.Closed)

{

con.Open();

};

try

{

string sql = "select DID as 编号,Dname as 部门名称,Dleader as 部门领导,Remark as 描述 from tb_DepartInfo order by DID";

SqlDataAdapter adp = new SqlDataAdapter(sql,con);

DataSet ds = new DataSet();

ds.Clear();

adp.Fill(ds,"Depart");

this.dgvDepartInfo.DataSource = ds.Tables[0].DefaultView;

}

catch(Exception ex)

{

MessageBox.Show("错误:" + ex.Message,"错误提示

",MessageBoxButtons.OKCancel,MessageBoxIcon.Error);

}

finally

{

if(con.State == ConnectionState.Open)

{

con.Close();

con.Dispose();

}

}

}

}

4.2.3修改部门信息

修改部门信息界面与添加部门信息界面相似,但在实现方法上有一定的区别,并且在修改部门信息时需要避免部门名称的重复,修改部门信息界面如图4-4所示:

图4-4 修改部门信息界面

作为Update语句的限定条件,程序需要确保部门名称修改后不能与现有部门名称发生重复,如果发生此情况,弹出提示对话框,结束流程。

修改部门信息的代码如下:

修改部门信息窗口程序ModifyDepart.cs

private void btnUpdate_Click(object sender, EventArgs e)

{

if (this.txtDName.Text.Trim() == "" || this.txtDLeader.Text.Trim() == "")

MessageBox.Show("请输入完整信息!","提示",0);

else

{

using(SqlConnection con = new SqlConnection(strConn))

{

if(con.State == ConnectionState.Closed)

{

con.Open();

};

try

{

SqlCommand cmd = new SqlCommand(select * from tb_DepartInfo where DName = '" + txtDepName.Text.Trim() + "'and DID<>" +

this.Tag.ToString().Trim(),con);

if(cmd.ExecuteScalar()!= null)

MessageBox.Show("部门名称发生重复,请重新输入!","提示");

else

{

string sql = "update tb_DepartInfo set DName = '" + txtDName.Text.Trim() + "',Dleader = '" + txtDleader.Text.Trim() + "',Remark = '" + txtRemark.Text.Trim() + "'where DID =" + this.Tag.ToString().Trim();

https://www.sodocs.net/doc/1515527660.html,mandText = sql;

cmd.ExecuteNonQuery();

MessageBox.Show("部门信息修改成功!","提示",0);

}

}

catch(Exception ex)

{

MessageBox.Show("错误:" + ex.Message,"错误提示

",MessageBoxButtons.OKCancel,MessageBoxIcon.Error);

}

finally

{

if(con.State == ConnectionState.Open)

{

con.Close();

con.Dispose();

}

}

}

}

}

4.2.4删除部门信息

删除部门信息之前,应该判定是否存在与当前部门相关的其他记录,如果没有则可以删除部门信息记录,否则给出提示信息。而本系统中存在部门信息表与员工信息表之间的依赖关系,因而不能直接删除掉部门信息,需要判定员工信息表中是否有与该部门相关的信息。

修改部门信息的代码如下:

修改部门信息窗口程序ModifyDepart.cs

private void bntDelete_Click(object sender, EventArgs e)

{

using(SqlConnection con = new SqlConnection(strConn))

{

if(con.State == ConnectionState.Closed)

{

con.Open();

};

try

{

if(this.dgvDepartInfo.CurrentCell ! = null)

{

string sql = "select Dname from tb_DepartInfo where DID = " +

this.dgvDepartInfo[0,this.dgvDepartInfo.CurrentCell.RowIndex].Value.ToStrin

g().Trim() + " and DID not in (select distinct tb_DepartInfo.DID from

tb_PersonInfo inner join tb_DepartInfo on tb_PersonInfo.DID = tb_DepartInfo DID)";

SqlCommand cmd = new SqlCommand(sql,con);

sqlDataReader dr;

dr = cmd.ExecuteReader();

if(!dr.Read())

{

MessageBox.Show("删除部门'" +

this.dgvDepartInfo[0,this.dgvDepartInfo.CurrentCell.RowIndex].Value.ToStrin g().Trim() + "'失败,请先删除与此部门相关的员工!","提示");

dr.Close();

}

else

{

dr.Close();

sql = "delete from tb_DepartInfo where DID = " + this.dgvDepartInfo[0,this.dgvDepartInfo.CurrentCell.RowIndex].Value.ToStrin g().Trim() + " and DID not in (select distinct DID from tb_PersonInfo)";

https://www.sodocs.net/doc/1515527660.html,mandText = sql;

cmd.ExecuteNonQuery();

MessageBox.Show("删除部门'" +

this.dgvDepartInfo[0,this.dgvDepartInfo.CurrentCell.RowIndex].Value.ToStrin g().Trim() +"'成功","提示");

}

}

}

catch(Exception ex)

{

MessageBox.Show("错误:" + ex.Message,"错误提示", MessageBoxButtons.OKCancel,MessageBoxIcon.Error);

}

finally

{

if(con.State == ConnectionState.Open)

{

con.Close();

con.Dispose();

}

}

}

showinf();

}

5 总结

本系统用SQL Server 2000 做为后台数据库创建所需要的数据库和表,用C#语言进行连接,以及对数据库进行检索、添加和删除。从最后设计出的测试结果来看,效果比较明显,检索迅速、查找方便、可靠性高、存储量大、信息利用率高。该系统能够极大地提高员工管理的效率,优化企业的人力、物力,降低企业的管理成本,为企业员工管理提供帮助。当然,要作为实际应用还有一些具体细节问题需要解决,还有一些功能需要改进。例如:没有实现多条记录的连锁删除和添加以及外部数据的导入功能;还没能实现动态生成报表;该系统还不能与企业中其他管理系统共享信息等。在今后的工作、学习中我将认真总结经验教训,努力使自己成为一名技术过硬、工作严谨、思维活跃的工程人员,为提高人们的生活质量做出更大的贡献。

致谢

首先感谢学校和我们计算机学院给我们这个机会和任务做课程设计,因为任何事只有自己亲自投入去做了才能有所得。在我们设计的过程中,学校为我们免费地提供了机房,我们系为我们预约安排好上机时间,为我们创造了一个良好的学习和查阅资料的环境,这些有利的坏境加强了我们做课程设计的责任心,同时就在无形中提醒我们一定要好好把握这次机会,认真做好自己的课程设计。做任何事都不可能一帆风顺的,当然做我们的这项课程设计也不例外。特别在我们程序调试和运行时,我们总会出现这样那样的错误,而有些错误我们自己是很难找出出错原因的,这时我们就要请教老师或者找同学帮忙。老师和同学不管何时都是耐心地帮助我们,所以在此我要感谢姜国权老师及身边的很多同学。是他们在我们有困难时帮助我们解决了困难,是他们给了我们继续下去的决心,否则我们可能会不知所措甚至会迎难而退,所以老师的辛勤指导和同学的热心帮助是我们顺利完成任务的支柱。当然我们对他人的依赖性也不能太强的,因为课程设计目的之一有培养我们的自学能力,锻炼我们对新知识的接受和运用能力,设计所用的一些知识是我们完全没学过的,要想正确理解并运用这些知识,我们就需要自己借相关的图书,从而找到更详细的介绍内容来帮助我们学习,因此这些文献的作者们也为我们学习提供了很大的帮助,我们也应该感谢他们。

参考文献

[1]郑阿奇.SQL Server实用教程(第二版).北京:电子工业出版社.2005

[2]崔淼,陈明非.Visual C# 2005 程序设计教程.北京:机械工业出版社,2007.1

[3]段德亮,余键,张仁才。C#课程设计.北京:清华大学出版社,2008.6

[4]王小铭,管理信息系统及其开发技术,2003,电子工业出版社

[5]李永平,管理信息系统,2004,科学出版社

[6]https://www.sodocs.net/doc/1515527660.html,

SQL图书管理系统课程设计

一、课程设计的内容 一个图书借阅管理数据库要求提供以下服务: (1)可随时查询书库中现有书籍的种类、数量。所有各类书籍均可由书号唯一标识。 (2)可随时查询书籍借还情况。包括借书证号、姓名、性别、学院和专业。任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。 (3)当需要时,可通过数据库中保存的出版社电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。 根据以上的情景假设,进行如下的分析与设计: (1)根据上述语义画出ER图。 (2)将ER模型转换成关系模型,并指出每个关系模式的主关键字。 (3)分析每个关系模式已经达到第几范式。对于不符合第三范式要求的关系模式进行规范化。 (4)根据概念模型设计逻辑模型和保护设计。 (5)在SQLServer中实现。 二、课程设计的要求与数据 根据教师给定的选题,运用课堂中学到的数据库的基本理论与设计的知识,完成数据库概念设计、逻辑设计及部分物理设计的内容。重点是ER图的设计、关系模式的转换与规范化以及如何利用DBMS完成数据表及数据库的创建和操作。具体要求包括:1.开发环境要求:SQL Server 2005 2.提交课程设计报告一份,包括以下内容: ①用户需求:要解决的主要问题,达到的具体指标等。 ②业务流程分析:描述系统的业务流程,画出规范的业务流程图。 ③数据库概念模式设计 写出由基本项相应得出的实体、联系及其属性,并确定主实体的标识特征,画出ERD;对其中复杂的多元联系进行分析,必要则改进。 ④数据库逻辑模式设计 4.1 一般逻辑模型设计:写出由ERD导出一般关系模型的四条原则,列出数据库 初步构思的关系框架,并检查改进之。 4.2 具体逻辑模型设计:按所用的DBMS要求,设计表(文件)的具体结构,在 关系框架下补充字段类型、长度、小数位数等行。 ⑤数据库保护设计 5.1 设计表间关系:列出数据库表间的关联关系。

C语言课程设计报告-游戏2048

东华理工大学C语言课程设计报告 学院:国际教育学院学院专业:电子信息工程 班级:1420606 学号:201420060638 姓名:钟天运

一、课程设计题目:游戏2048 二、课程设计要求: a)使用C语言编写2048这款游戏 b)能够正常运行,拥有游戏界面。 c)能正常进行游戏从开始到结束。 d)用户操作方便 三、设计思路: a)游戏介绍: i.2048是一款简单的数字类游戏,界面是一个 4*4的方形格子。每个格子里可以为空或者有 一个2^n的数值。 ii.用户可以输入4种指令,分别是:上下左右,游戏会根据用户的指定的方向,将格子中 的数值向对应方向进行移动,直至移动到最边 上的格子或者有其他数值占用,如果碰到等大 数值,将会进行合并。此外,成功移动后,会 在一个空格子随机生成一个2或者4 iii.游戏目标是合成2048这个数值或者更大的数值。 b)实现思路: i.可以使用二维数组来保存4*4格子中的数值 ii.指令,可以通过输入字符函数,读取用户

在键盘上的方向键,进行判断执行对应的代 码。 iii.游戏界面,可以使用简单的特殊制表符,来实现,并通过清屏函数来进行反复同位置打 印界面。 iv.需要判断游戏结束的函数,以及记录游戏分数和步骤的变量 v.当游戏结束时,能够询问用户是否重新开始。 vi.随机生成一个新数,可以调用随机函数,使用时间做种子。 c)实现难点: i.打印游戏界面,要实现灵活能根据棋盘数组里 面的数据灵活打印。 ii.执行操作时,数值的移动和合并。

四、流程图

五、C语言源代码 // 游戏2048.c #include "windows.h" #include "time.h" #include "stdio.h" #include "conio.h" #include "string.h" //宏定义常量方向键值 //const int LEFT = 75, UP = 72, RIGHT = 77, DOWN = 80; #define LEFT 75 #define UP 72 #define RIGHT 77 #define DOWN 80 const char error_str[] = "您上次输入的指令无法识别,请重新输入。"; struct board { int place[4][4]; long int stepn; long int num; //存储游戏分数 long int time; int dtk; //direction key 记录方向键,及操作方向 int over; int zeronum; }; //该函数为游戏运行函数,当只是玩游戏的时候。进入该函数,游戏控制函数。int main() { //place数组为棋盘,其中为零代表空,-1代表不能合并的牌,其他2的倍数值为本身含义,初始化为全0。 struct board board1, board_backup; int newgame(struct board *, int), show(struct board *), operate(struct board *); char str[100] = "首次运行游戏"; //用于记录系统返回给用户的信息,例如:上一步执行向左合并,按键有误等 newgame(&board1, 0); //调用函数为新局初始化,第二个

UML课程设计在线考试系统

《UML建模技术课程设计》 课题名称: 专业: 班级: 学号: 姓名: 指导教师: 成绩: 第一章需求分析 1.1、系统的性能需求 为了保证考试系统能长期、稳定、安全、可靠、高效地运行,系统应满足以下的一些性能需求: ①系统处理的准确性和及时性:准确性和及时性是考试系统的必要性能。在系统设计和开发过程中,要充分考虑系统目前和将来可能承受的工作量,使系统的处理能力和响应时间能满足用户要求。 ②系统的开放和系统可扩充性:考试系统在开发过程中,应充分考虑以后的可扩充性。例如,系统要能够承载课程的题库、试卷库等来实现课程考试。题库、试卷库或单套试卷可以随时进行增加、删除和修改等维护。要求系统提供足够的手段进行功能的调整和扩充。可以实现简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。 ③系统的易用性和易维护性:要求系统应该尽量使用用户熟悉的

术语和中文信息的界面。系统界面应友好易用,应有详细的系统使用说明,对一些容易出现的误操作应该有相应的提示以及处理办法。考试系统要具有易用性、友好性,系统安装方便、维护简单。 ④系统的安全性:充分考虑用户、题库、服务器等的安全。系统对系统不同等级的用户分别设置不同的权限。考试期间由于机器死机重新启动机器后,计时器应合理进行计时。考试期间由于机器原因需要更换考试用机,学生重新登录考试系统后应能继续做题,考试服务器应能及时保存学生的操作结果。 1.2、系统主要功能 系统主要功能包括学生管理、试卷管理、教师管理、学生在线考试等等,下面就系统的主要功能做简要分析: ①用户信息管理学生可以登录系统,登录以后可以参加考试和查询成绩。管理员可以添加、修改、删除学生和教师信息。教师登录后可以添加、修改、删除试题,并且可以不同类型题目组合试卷,也可以按照试卷专业或者试卷名称查询试卷。 ③在线考试学生登录以后出现学生信息包括学号、姓名、考试课程等,学生确认信息后开始考试,考试结束后需要提交试卷。 ④题库管理教师或者管理员可以在题库里面增加、修改、删除试卷。 ⑤成绩管理管理员可以查询学生的成绩,也可以删除学生的成绩,但是不能对学生的成绩做出修改。 1.3 功能模块需求分析 系统的用户包括考生用户、教师用户以及系统管理员用户。用

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

java课程设计报告 标准化考试系统

甘肃政法学院计算机科学学院Java程序设计课程设计 题目标准化考试系统 计算机科学学院计算科学与技术专业11级专升本班 学号:201181210115 姓名:刘昆明 指导教师:李瑞生 成绩:____________ 完成时间:2011年 11月

目录 1.设计内容及要求 (1) 1.1 标准化考试系统的基本要求 (1) 1.2 需实现的主要功能 (1) 2.需求分析 (2) 2.1数据库设计 (2) 2.2服务器端和客户端的数据传输方式 (2) 2.3 服务器端功能设计 (2) 2.4客户端功能设计 (3) 3.总体设计 (4) 3.1 总体功能图 (4) 3.2 总体流程图 (6) 4.数据库设计 (7) 4.1 数据库及表结构的建立 (7) 4.2 JAVA 数据库的连接 (8) 5. 主要功能设计流程 (8) 5.1服务器端设计流程图 (8) 5.2客户端设计流程图 (9) 6.代码实现 (10) 6.1类之间关系图 (10) 6.2 运行效果图 (11) 6.3 程序打包发布过程 (17) 7. 总结与说明 (18) 8. 参考文献 (18)

标准化考试系统设计与实现 【摘要】:在现今知识爆炸的年代里,教学的质量和怎样提高教师的工作效率成了各大院校的首要任务。找题、选题和出卷就成为一项非常重要的工作。每学期教师都要为各类考试付出大量的精力和工作,尤其是一位教师教授多门学科的时候,工作量将成倍增加。因此开发此考试系统,对各专业课程的问卷进行整理入库,以便在需要的时候能够及时、方便、快速的对学生进行各级测试,从而使考试过程趋于简单化,减少教师在这方面的工作负担。 因此,使用现在的新技术,开发出适应新的需求的新系统刻不容缓。 四年的大学生活转瞬既逝,在这四年中,我系统的学习了计算机科学与技术专业的所有课程。深入的学习了各个科目的理论知识,对专业知识有了整体的掌握。在即将毕业之际,为了理论联系实际,检验自己的学习成果,我选择了这个题目作为课程设计。在此毕业设计的完成过程中,我严格遵循软件开发的过程,将理论知识与具体问题相结合。在应用程序开发中我一方面学习了软件编程思想,另一方面具体的运用了JAVA语言。体会了他的诸多功能和特色。熟悉了数据库应用程序的开发原理。确实达到了学校和辅导教师对我们应届毕业生的各种要求。 【关键词】:J2ME;标准化考试;设计与实现 1

图书管理系统课程设计

软件工程导论实验报告 一、实验题目: 学生成绩管理系统、图书借阅管理系统、工资管理系统、网络订餐系统、招聘考试成绩管理系统 二、实验目标 通过独立完成项目开发,加深对软件开发分析过程的流程和方法的理解,建立软件工程的思想,同时,明确软件开发的成本和时间管理的相关概念。

实验一 实验要求: ①. 在实验题目列出的几个系统中选择一个作为自己要开发的软件系统,要求该系统有明确的功能需求,并建立系统的分析模型。 ②. 对系统进行需求分析,掌握ER图、DFD、DD的设计与编写 ③. 熟悉Visio环境和基本操作,制作一个简单的系统流程图和数据流图、主要数据项的数据字典描述及主要加工的逻辑说明(自己选择结构语言、判定树、判定表等)。 ④.撰写需求分析规格说明书 用户需求分析 作为图书管理系统,其主要的需求人员是借阅者,借阅者对其的要求可以大体概括如下: 1)能按各种方式,比如书名、编号、作者等查询图书馆的藏书情况; 2)能熟悉使用图书管理系统; 3)能方便地借阅图书、续借图书、归还图书; 4)能查询自己的基本资料、借阅图书情况; 5)能方便图书管理员对图书的录入登记、注销; 6)能方便对新生的登记或注销已经毕业学生的信息; 7)能及时发布一些学院学生借阅图书超期情况、馆内藏书情况等。 功能说明 1)、读者管理系统 (1)未注册者可以进入注册系统进行注册; (2)已注册借阅者可按姓名、编号或身份证号登陆进入借阅者检索系统查询借阅者

情况; (3)已注册借阅者可按书名、出版社或作者对图书信息进行检索查询或提出预约请 求; 2)、图书管理员管理系统 (1)图书管理员通过图书管理员身份认证进入图书管理员管理系统; (2)读者可借阅在库图书; (3)在规定期限内借阅者归还借阅图书; (4)读者在不违规情况下可继续借阅已借阅图书; (5)读者可以预约图书。 3)、系统管理员管理系统 (1)系统管理员通过系统管理员身份认证进入系统管理员管理系统; (2)系统管理员可以对图书进行图书管理(如:查询、删除、修改图书资料或图书 分类查询修改、删除管理); (3)系统管理员可以对借阅者进行学生管理(如:查询、删除、修改借阅者信息或 借阅者类别修改、删除管理,查询浏览借阅者详细资料,包括借阅次数,登陆次数, 最后登陆时间); 4)、罚款管理系统 (1)罚款管理员通过罚款管理员身份认证进入罚款管理系统; (2)罚款处理可以读取借阅信息表再生成超时罚款信息表,通过超时罚款信息表可 以生成罚款单给罚款管理员; (3)图书管理员告知罚款系统图书超时未还,经罚款管理员鉴定后,对图书进行注销处理且罚款管理员对借阅者进行罚款处理。

c语言课程设计报告

C语言程序设计B 课程设计报告 设计题目:学生成绩管理系统年级班级: 学号: 姓名: 指导教师: 2020 年 6 月 18 日

目录 一、设计目的 (3) 二、课程设计内容和要求 (4) 三、总体设计 (5) 四、主要步骤 (12) 五、功能实现 (13) 六、功能测试 (64) 七、评价程序 (83) 八、课程设计体会 (84)

一、设计目的 程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。 程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。 主要目的为以下几点: 1、熟练掌握面向过程(结构化)程序设计基本知识; 2、综合运用所学知识解决实际问题; 3、受到面向过程(结构化)程序设计的基本训练; 4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求 1.课程设计内容: 学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。 2.课程设计要求 1)具有菜单,可以在菜单上进行选择; 2)能实现学生数据录入、修改、删除、查询; 3)能实现数据排序; 4)有数据输出功能; 5)有数据读取与存储功能; 6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数 学、英语、总分、名次等信息; 7)以结构方式存储每条记录; 8)多条记录以链表方式存储到内存; 9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

在线考试系统课程设计

一、需求分析 计算机技术没有应用到考试上时,组织一次考试只是要经过五步:人工出 题,考生考试,人工阅卷,成绩评估和试卷分析,这是一项十分繁琐和容易出错的工作,教师的工作量非常的大。很明显,传统的考试方式已经不再适应现代考试的需要。如今,信息技术的迅猛发展,应用不断扩大,教学和虚拟大学等相继出现,这些应用正逐步深入到千家万户,人们迫切要求利用这些技术来进行在线考试,以减少教师的工作负担并提高工作效率,同时提高考试的质量,从而使考试更趋于公正,客观,更加激发学生的兴趣。例如,目前许多国际著名的计算机公司所举办的各种认证考试绝大部分是采用这种形式。 二、数据库设计 1, 概念模型设计(E —R 图) 用户信息 是否已经登录 用户姓名 用户账号 用户密码 是否参加了考试 用户类型 试题题库 选项C 选项D 选项E 选项F 选项B 选项A 试题类型 试题编号 试题答案 试题题目

学生考试试卷 试卷类型 题库中的编号 题目在试卷中的编号 题目答案 选项A 选项C 选项B 选项D 选项E 考生答案 学生成绩 考生编号 考生成绩 选择题成绩 判断题成绩 填空题成绩 系统参数 考试时间 参数编号 选项F

2、E-R图转为逻辑模型的方法及过程 在sql中创建一个新的数据库CET6,以E—R图中的实体的名称创建表。设计表时,以该E—R图中的属性为列名,根据实际情况确定其数据类型和长度,在必须唯一的列名处设计主键。在sql中一共建立七个表来实现CET6模拟考试系统应用程序数据的连接。其中,UserType表示数据类型,0表示学生,1表示管理员。UserId表示用户账号,UserName表示用户姓名,UserPsw表示用户密码。HaveIn,HaveTest分别表示用户是否登录和参加考试。TypeId,TypeName分别表示试题类型和试题类型名。XZT_BL,XZT_FZ分别表示选择题的分值和比例。判断题和填空题类推。StudentId表示考生考号,TopicId、PaperTopId分别表示试题在题库和试卷中的编号。TopicName、TopicAnswer表示试题题目和答案。 3、逻辑模型 TB_User(用户信息表) TB_TestType(试题类型表) TB_Param(系统参数表) TB_StuTest(学生考试试卷表) TB_Grade(学生分数表)

数据结构图书管理系统课程设计报告

一、设计题目与要求 【问题描述】 设计一个计算机管理系统完成图书管理基本业务。 【基本要求】 (1) 每种书的登记内容包括书号、书名、著作者、现存量和库存量; (2) 对书号建立索引表(线性表)以提高查找效率; (3) 系统主要功能如下: ①采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加; ②借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量; ③归还:注销对借阅者的登记,改变该书的现存量。 二、小组分工 小组成员: 小组分工:图书初始化、新书入库、登记读者信息、文件保存 借书系统、还书系统 图书信息查询、读者信息查询 三、需求分析 图书管理系统共需要八个模块,分别是1图书初始化、2新书入库、3添加读者信息、4借书模块、5还书模块、6查询图书信息、7查询读者信息、8退出。 我负责其中的四个模块,如下所示: 1)图书初始化 输入图书的一些信息,编号、作者、书名、数量,使有一定的库存。 2)新书入库 新书采编入库,输入编号后如果有次数只需输入数量,没有则继续输入书名、作者、数量。 3)添加读者信息 读者信息初始化,输入读书证号和姓名,只有输入书证号和姓名才能进行借书还书 4)退出和文件保存 退出读书管理系统并保存读者和图书信息。

四、概要设计 图书信息和读者信息都采用结构体类型保存。 图书信息里面包括:图书编号、图书名称、作者、现有量、库存量、指向下一节点的指针。 读者信息里面包括:读者编号、读者姓名、借书数量、可借图书数量、指向下一节点的指针。 所有图书和读者都分别以链表的形式存储,并以编号为唯一主键。采用链表形式便于数据的添加与删改。 主要的操作为:系统初始化,图书入库,读者信息登记,图书信息和读者信息文件的保存。 五、详细设计 数据结构的定义: 图书信息: typedef struct book {

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

java在线考试系统课程设计_

目录 第一章引言 (2) 1.1 目的 (2) 1.2 名词解释 (3) 1.3 参考资料 (3) 1.4 文档结构 (3) 第2章远景 (4) 2.1 项目概述 (4) 2.1.1 项目功能结构 (4) 2.1.2 功能摘要 (7) 2.1.3 用户特点 (8) 2.1.4 业务模型 (8) 第3章需求分析 (8) 3.1 功能需求 (8) 3.1.1 系统管理 (8) 3.1.2 题库管理 (8) 3.1.3 组卷管理 (9) 3.1.4 试卷管理 (9) 3.1.5 在线考试 (9) 3.1.6 批卷 (9) 3.1.7 信息统计 (9) 3.2 非功能需求 (9) 3.2.1 访问控制 (9) 第4章体系结构 (10) 4.1 逻辑视图 (10) 4.2 流程视图............................................ 错误!未定义书签。 4.3 数据库结构.......................................... 错误!未定义书签。第5章设计实现 .. (11) 5.1 5.1系统管理 (11) 5.2 5.2试题题型........................................ 错误!未定义书签。 5.2.1 单选题........................................ 错误!未定义书签。 5.2.2 多选题........................................ 错误!未定义书签。 5.2.3 判断题........................................ 错误!未定义书签。 5.2.4 填空题........................................ 错误!未定义书签。 5.2.5 问答题........................................ 错误!未定义书签。 5.3 试卷管理............................................ 错误!未定义书签。 5.4 组卷管理............................................ 错误!未定义书签。

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

java在线考试系统课程设计

目录 第一章引言.............................................. 1.1目的 ............................................... 1.2名词解释 ........................................... 1.3参考资料 ........................................... 1.4文档结构 ...........................................第2章 ............................................................................................... 远景 2.1项目概述 ........................................... 2.1.1................................................................... 项目功能结构 2.1.2........................................................................... 功能摘要 2.1. 3........................................................................... 用户特点 2.1.4........................................................................... 业务模型第3章 ........................................................................................ 需求分析 3.1功能需求 ........................................... 3.1.1........................................................................... 系统管理 3.1.2........................................................................... 题库管理 3.1.3........................................................................... 组卷管理 3.1. 4........................................................................... 试卷管理 3.1.5........................................................................... 在线考试 3.1.6.................................................................................. 批卷

图书管理信息系统课程设计

Vfp系统登陆 用户名:管理员一 密码:123456 图书管理信息系统 课程设计 班级: 信管 C081 组员: (087267)齐琪 (087264)龙泉江 (087290)李邦 指导老师:张建军 2011/1/7 目录

一、问题分析...................................... 错误!未定义书签。 1.问题分析 (3) 2.信息分析 (3) 3.可行性分析............................... 错误!未定义书签。 二、信息分析与系统分析 (5) 1.组织结构调查 (5) 2.业务调查 (5) 3.系统模型 (6) 三、系统设计 (6) 四、输入/输出设计 (8) 1.输入设计 (8) 2.输出设计 (9) 五、模块设计 (10) 六、编程 (13) 七、系统测试 (14) 1.分调 (15) 2.数据跟踪 (15) 3.总调 (15) 八、参考文献 (15)

一、问题分析 1.问题描述 当今世界正处于科技高速发展,信息量剧增的时代,伴随科学技术的不断发展进步,人们对图书的需求越来越大,馆存图书也不断增加,各系统对各门类图书的需求也越来越具体。 目前大部分图书馆的图书管理都处于一种馆藏图书量大,各书馆所存图书相类似,专业性图书所占比例较小,管理方法简单,图书利用率低,管理成本又高。这就要求我们在信息技术高速发展的今天,图书馆管理运用网络技术,通过信息系统的开发,提高管理效率。 2.系统主要功能需求 “图书管理信息系统”的主要功能有:登陆、图书借还、查询统计、图书操作和系统维护。 系统功能如下图:

在线考试系统设计与开发(课程设计)

课程设计 题目:在线考试系统设计与开发

1 引言 现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即出卷、考生考试、阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分繁琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,从而提高了考试的质量,使考试更趋于公证、客观、激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。 为了适应新形势的发展,目前国内有很多公司团体研究开发了基于Web的考试系统。而我们知道网络应用软件运行的模式主要有二类:Client/Server模式、Browser/Server模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展而应运而生的一种技术,在这种模式下,客户端需要一个浏览器,服务器端是Web Server ,而Web Server是与数据库和应用服务器的紧密结合,可见,这种模式是瘦客户端,即对客户端的要求不高.如今,很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。然而,随着技术的发展,更先进的模式纷纷被提出并时兴起来,其中J2EE就是比较成熟的一种。 2 在线考试系统构架 2.1 在线考试系统一般需求分析 在线考试系统应具有以下要求: 1)由于考试对应的是特定的对象,所以系统需要经过有效的身份验证才可以登陆。并且系统需要有可以管理会话的功能。以便在考试过程中全程跟踪考试状态。 2)系统的权限一般分为两种:管理员和学生。不同的身份使用不同的权限和功能。 3)管理员需要对试题和考生进行有效的管理,负责试题的录入及更新和修改,对试题的分类,每次考试前,需要对试场环境和考生状态进行考前初始化工作。要注意的是,鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的,但试题并不相同。 4)系统要有良好的试卷上传和回收功能,确保信息传送的正确性。 5)系统要有一个友善的界面,确保考生考试的顺利进行。 6)因为试卷中的主观题需要老师批改,可能需要一段时间才能查询到成绩。但如果试卷是由客观题型组成的,考生就可以在考试结束后查询到自己的成绩了。 7)系统提供对考生成绩的统计和查询等管理功能。 8)系统应具有良好的安全性管理。

图书管理系统(软件工程课程设计)

图书管理系统 系别:计算机科学与技术系网络工程方向班级:xxxx班 分组:第9组 成员:xxxxx

目录 一、问题定义 (3) 二、可行性研究 (3) 1.系统建设目标 (3) 2.可行性分析 (3) 三、系统的需求分析 (4) 1.图书管理系统的需求陈述 (4) 2.图书管理系统的DFD (5) 3.图书管理系统的E-R图 (7) 四、系统的概要设计 (13) 1.软件体系结构图 (13) 2.数据库设计 (14) 五、系统的详细设计及其实现 (15) 1.模块功能介绍 (15) 2.课程设计总结 (15)

一、问题定义 图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。因此需要对读者资源、书籍资源、借书信息、还书信息进行管理。及时了解各个环节的信息变更,有利于提高管理效率。管理图书采用传统的管理方法:图书管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个个去查找,而要找到借书记录并删除该记录是件很麻烦的事情每当新书入库时,图书管理员既要填写新书入库卡片,又要填写新书入库账目,不仅工作量大,而且,在新书入库后要经历较长时间方能借出。 所以,为提高图书馆管理的效率,减少图书管理员的工作负担,有必要开发一个小型图书管理软件来对图书实施有效管理。现代图书馆的图书管理早就进入信息化阶段了,但是从软件市场购买的一些信息管理系统软件通常是通用版的,不可能适应所以图书馆管理中的情况,功能不能扩充,这样不仅工作效率低下,浪费人力,财力,而且在一些中间环节造成信息丢失,出错。所以建立图书管理系统,能够大大提高图书馆图书借阅的效率,还可以推进社会文化生活的进步。 二、可行性研究 1.系统建设目标 (1)要解决的问题:(以某学校为参照)随着办公自动化水平的不断提高,现在学校管理学生信息也逐步从手工转到计算机自动化信息处理阶段。设计一个功能完整、操作简便、界面友好的学生信息管理系统已经是势在必行的了。 (2)系统开发的目的:提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。立足于当今社会信息的发达,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资源的共享。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。 (3)系统名称:图书管理系统 2.可行性分析 1)技术可行性 所建的图书馆管理系统使用基于C/S架构的web应用程序,使用了先进的数

c语言标准化考试系统课程设计解读

课程报告 课程名称:标准化考试系统 专业班级: 学生姓名: 学号: 任课教师: 学期:

课程报告任务书 成绩评定教师:

1 需求分析 设计一个标准化考试系统,让学生和老师都能登录。老师可以输入试题、修改试题,学生可以答题、查分,实现不同功能。 2 概要设计 int main() Int jiao_deng(struct jiaoshi su) /*教师登录验证*/ void jiao_xin(struct jiaoshi su) /*将教师的用户信息存入文件*/ void jiao_xin(struct jiaoshi su) /*将教师的用户信息存入文件*/ void jiao_xun(struct tiku tm) /*教师验证通过后,可对题目进行修改*/ void jiao_zeng(struct tiku tm) /*在原有文件基础上,进行新增题目*/ Voidxiu_gai(struct tiku tm,int n) /*修改函数*/ int xue_deng(struct xuesheng sb) /*学生登录验证*/ void xue_xin(struct xuesheng sb) /*将学生的用户信息存入文件*/

3 详细设计 #include #include #include int count=0; struct jiaoshi{ //教师用户信息结构体 char username[20]; //用户名 char password[12]; //用户密码 }su; struct xuesheng{ //学生用户信息结构体 char username1[20]; //用户名 char password1[12]; //用户密码 }sb; struct tiku{ //题库结构体 int nb; //题号 char tigan[100]; //题目内容 char option1[80]; //选项 char option2[80]; char option3[80]; char option4[80]; char daan[10]; //答案 }tm; struct chaxun{ int num; char name[20]; int chengji;

oracle图书管理系统课程设计

《oracle数据库》 课程设计 题目: 作者: 所在学院: 专业年级: 指导教师: 职称: 年月日 cc 目录 一........................................... 系统需求分析错误!未指定书 签。 二............................................. 数据库分析错误!未指定书 签。 三......................................... 数据库设计部分错误!未指定书 签。 (1)........................ 实体、联系、属性及E_R图。错误!未指定书签。 2,图书管理系统E-R图模型........... 错误!未指定书签。

错误!未指定书签。 3,关系模式 ........................ 错误!未指定书签。 (2).................................... 表设计及表结构错误!未指定书签。 四.设计问题及解决方法 ............ 错误!未指定书签。 五.实训心得 ..................... 错误!未指定书签。 五,实训心得… 一.系统需求分析

图书管理工作繁琐,借阅频繁,包含大量的信息数据,因此 就需要一个完善的图书管理系统来实现对这些数据的有效管理。 本系统主要任务就是对图书、读者,借阅信息、查询进行 统一管理,满足各类用户的需求。本系统在功能上要实现借阅图 书、续借图书、归还图书、信息查询等功能。 二.数据库分析 图书管理系统就是要求图书管理人员通过该系统对图书、读 者、员工、借阅信息等进行统一管理,从而实现功能上的借阅图书、 续借图书、归还图书、以及基本信息查询。这就要求管理人员能够 对数据库进行熟练操作而简单的表查询、触发器的建立、存储过程 的建立以及用户自定义函数的建立等等这些管理数据库的方法都能 对图书馆里系统的管理起到事半功倍的效果。 三.数据库设计部分 (1)实体、联系、属性及E_R图。 根据数据库分析,确定实体及实体间联系,及各个实体和联系的属性并设计出E-R图。 1.实体、联系 实体:图书信息,借阅书籍,归还书籍,借阅人, 联系:借阅信息,管理信息 图书信息与借阅书籍、归还书籍及借阅人之间的联系是借阅信息。 图书信息与员工之间的联系是管理信息。 ,图书管理系统E-R图模型 图书管理系统E_R图模型 ,关系模式 个人信息(ID,ismi,jinsi,millat,yax,kimlik,okuxtarihi,adris)

相关主题