在线考试系统实验报告

在线考试系统实验报告
在线考试系统实验报告

河南工程小学院

苏州高博软件技术职业学院毕业设计(论文)报告

系别软件工程系

专业计算机应用

班级0816

姓名******

学号*********

设计题目在线考试系统

指导教师 ******

起迄日期 2011.1.2——2011.4.20

苏州高博软件技术职业学院

毕业设计诚信承诺书

本人慎重承诺和声明:

我承诺在毕业设计过程中严格遵守学校有关规定,在指导教师的安排与指导下完成所规定的毕业设计工作,绝不弄虚作假,不请别人代做毕业设计或抄袭别人的成果。所撰写的毕业论文或毕业设计是在指导老师的指导下自主完成,文中所有引文或引用数据、图表均注明来源,本人愿意为由此引起的后果承担责任。

学生签名:日期:年月日

毕业设计知识产权权属声明

本人在老师指导下所完成的论文及设计成果、知识产权归属学校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权利。

学生签名:日期:年月日

指导教师签名:日期:年月日

在线考试系统

摘要

通过考试系统WebExam是目前市场占有率较高,应用最广泛的远程网络学习考试软件,适合政府、行业及企业的各专业网上考试、作业、练习等应用。它采用Web方式,同时适用于局域网和Internet,无需安装客户端,即可实现网上考试、作业、练习、成绩排行等功能,并能够答卷保存、自动判分、成绩查询和分析等功能

该系统同时拥有最开放的题库管理系统和最灵活的组卷系统,能够自动输出Word试卷,提供Excel题目导入导出、题库和试卷导入导出等设计,提供资源的快速收集和高度共享。

在开发方法上,引入了当今流行的Microsoft .Net Remoting 技术思想,把整个开发程分为需求分析、概要设计、详细设计、系统实现等步骤。该系统通过优化和再造管理流程,使人力资源的管理更为高效和科学,数据更为准确,从而将人事部门从繁重的、耗时的工作中解放出来,把精力集中到更高层的政策性工作中去。

关键词在线考试系统; C#.net编程语言; Visual Studio 2008 ;SQL Server 2005数据库

目录

第1章绪论 (1)

1.1课题研究背景 (1)

1.2课题研究目的和意义 (1)

第2章系统分析概述 (2)

2.1引言 (2)

2.2系统需求分析 (2)

2.3系统概述 (3)

2.4Visual Studio 2008的概述 (4)

2.5SQL Server 2005数据库的概述 (5)

第3章系统方案总体设计 (6)

3.1系统设计思想及相关技术介绍 (6)

3.1.1系统架构设计 (6)

3.1.2系统总体模块功能设计 (6)

第4章数据库的设计 (8)

4.1 引言 (8)

4.2数据库需求分析 (8)

4.3数据库概念结构设计 (8)

4.4数据库逻辑结构设计 (8)

第5章界面设计与实现 (10)

5.1主页设计 (10)

5.1.1 实现目标 (10)

5.1.2 登录窗口 (10)

5.1.3 注册窗口 (12)

5.2主要界面设计—用户登录信息画面 (13)

5.2.1 实现目标 (13)

5.2.2 主界面 (13)

5.3主要界面设计—— ADDQUESTION.ASPX (17)

5.3.1 实现目标 (17)

5.4主要界面设计—— USERMANGEMENT.ASPX (18)

5.4.1 实现目标 (18)

结论 (20)

致谢 (21)

参考文献 (22)

第1章绪论

1.1课题研究背景

近几年来,随着Internet的崛起,远程教育开始发展,普及网络教育的呼声日益高涨,其势头不亚于电子商务。

联合国教科文组织1998年在其一项调查报告中:无论是发达国家还是发展中国家,都不同程度存在教育滞后于现实需要的问题,特别是第三世界国家,而普及远程教育,尤其是网络教育,不仅是解决这一问题的有效途径,而且将成为革新传统教育模式的重要动力。

中国的网络教育也随Internet的发展而同步增长,同时,网络教育也为中国的教育事业开辟了新的天地。

1.2课题研究目的和意义

随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开始设了远程教育。但是,远程教育的软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统到远程教育当中去,这就给软件设计人员提出了更高的设计要求。

远程教育包括很多环节。例如,教学系统、考试系统、和答疑系统等等。其中一个很重要的环节是在线考试系统,同时,它也是最难实现的环节。在我国,远程教育以蓬勃发展起来。但目前学校和社会上的各种考试大都都采用传统的考试方法,在此方式下,组织一次考试,要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。

显然随着考试类型的不断增加和考试要求的不断提高,教师的工作量也越来越大,可以说传统的考试方法已经不能适用于现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切需要这些技术来进行在线考试,以减轻教师的工作的负担以及提高工作效率,与此同时提高了考试的质量,从而使考试更趋于公正、客观,更加激发学生的学习兴趣。

第2章系统分析概述

2.1引言

https://www.360docs.net/doc/a211803743.html,是微软公司最新推出的一种统一Web开发平台,与最新的数据访问技术https://www.360docs.net/doc/a211803743.html,一起可构建出强大、安全和可靠的企业级Web应用程序。https://www.360docs.net/doc/a211803743.html, 的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。

采取了https://www.360docs.net/doc/a211803743.html,技术的系统在性能上有了很大的改善,主要表现在以下几方面:

?由于ASP页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而https://www.360docs.net/doc/a211803743.html,页面只需要一次编译后不需要重新编译,直到该页面被修改或Web应用程序重新启动。这使得在多次访问时速度有了极大的提升;

?由于ASP没有提供任何输出数据为内容的元件,所以在使用ASP撰写数据库页面时只能借助ADO的RecordSet对象逐笔读取记录,而https://www.360docs.net/doc/a211803743.html,通过https://www.360docs.net/doc/a211803743.html,提供的DataGrid等数据库元件可以直接和数据库联系;

?https://www.360docs.net/doc/a211803743.html,支持应用程序的实时更新,管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。应用程序文件永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖,当文件更新后,系统会温和地转换到新的版本;

? https://www.360docs.net/doc/a211803743.html,采取"CodeBehind(代码分离)技术"方式编写代码使得代码更易于编写,结构更清晰,降低了系统开发与维护的复杂度和费用。

2.2系统需求分析

系统开发的总体任务是实现在线考试的系统化、规范化和自动化。

系统功能分析是在系统开发的总体任务的基础上完成的。在线考试系统需要完成的功能主要有:用户的注册和登录;用户在线答题;对科目进行管理;对管理员进行试题的管理;以及个人信息管理功能。在数据库方面,利用关系数据库功能强大的查询语言对企业各类信息入库保存,按要求及时处理。

该系统集录入、维护、查询、审核和各种处理为一体,各种操作可以通过菜

单进行,操作快捷、方便,性能高效、强大;使用易懂、易会,形象增强的数据处理,用户均可根据需要自行使用。

2.3系统概述

本系统是一个在线考试系统,在实施过程中主要实现以下目标:

(1)界面友好、美观,体现在线考试系统的特点,而且操作简便。

(2)各功能模块层次清晰,代码高效易懂。

(3)添加和编辑简便、清晰,提高工作效率。

(4)查询方便,数据存储安全可靠。

(5)功能全面,实用性强。

主要功能有:

1.注册用户模块

注册用户主要实现用户的登录功能和注册功能。

2.在线测试模块

在线测试是本系统的核心模块,不论是管理员还是普通用户都可以进行在线测试。在此页面中,可以选择不同的科目进行科目测试,也可以显示或者隐藏答案提示。

3.科目管理模块

只有管理员权限的用户登录才可以进入科目管理模块,在科目管理模块中,除了显示已有己。

4.试题管理模块

只有管理员权限的用户才可以进入试题管理模块。

5.用户管理模块

在用户管理模块中,管理员可以删除用户和修改用户信息。该页面没有增加用户功能,用户可以自己注册登录。

6.个人信息修改模块

普通用户登陆后可以进入个人信息修改模块,修改个人密码、身份证号码和E-mail等信息。

7.开发环境的选择方法

目前,用于开发数据库管理信息系统的编程语言很多,比如Delphi、

PowerBuilder、Visual C++、Java、Visual Basic6及https://www.360docs.net/doc/a211803743.html,等等,而用于后台数据库管理的DBMS也有很多,比如有Oracle、MS SQL SERVER、SYBASE、INFORMIX、DB2、VISUAL FOXPRO、ACCESS等等。

本人根据秦晓燕老师的布置要求,采用面向对象的软件开发方法来实现此在线考试软件,系统开发工具我们选择了能够跨平台的开发工具Visual Studio 2008。在前台操作与后台数据库处理的连接上,主要采用https://www.360docs.net/doc/a211803743.html,技术和SQL Server2005数据库,运用客户机服务器模式(C/S)配合功能强大的SQL查询语言实现预定的功能需求。

2.4Visual Studio 2008的概述

Visual Studio 2008是一个全面集成的开发环境,用于编写,调试代码,把代码编译为程序集进行发布,实际上,Visual Studio 提供了非常专业的多文档界面应用程序,在该应用程序中可以进行与开发代码相关的任何操作,它提供了:

●文本编辑器:在文本编辑器中,可以编写C#代码(以及VB 2005,J#和

C++代码)。这个文本编辑器相当复杂。

●代码的设计视图编辑器:它可以在项目中可视化的放置用户界面和数据

访问控件。此时Visual Studio会自动在源文件中添加必要的C#代码,

在项目中实例化这些控件。

●支持窗口:它们可以查看修改项目的各个方面。也可以使用这些窗口指

定编译选项。

●在环境中编译:可以只选择一个菜单选项编译项目,而不必在命令行上

运行C#编译器。Visual Studio会调用C#编译器。

●集成的调试程序:编程的本质是代码在第一次运行时,一般不会正确执

行。也许在第二次、第三次才能正确运行。Visual Studio无缝的链接

到一个调试程序上,可以在该调试环境中设置断点,观察变量。

●集成的MSDN帮助:Visual Studio可以在IDE中调用MSDN文档说明。

●访问其他程序:Visual Studio还能调用许多其他工具来查看和修改计

算机或网络的一些内容,而无需退出开发环境。

2.5SQL Server 2005数据库的概述

SQL Sevrer2005是一个C/S体系结构的关系数据库管理系统,它使Transact—SQL语言在客户和SQL Server之间发送处理请求,SQL Server利用C/S体系结构把工作分成两部分:客户端负责逻辑处理把数据呈现给用户,SQL Server管理数据库。SQL Server用Transact—SQL作为它的数据库查询和编程语言,使用Transact—SQL能够方便地存取数据、查询、更新和管理关系数据库。

第3章系统方案总体设计

3.1系统设计思想及相关技术介绍

3.1.1系统架构设计

首先用户登录,如果登陆成功系统检测用户类型,用户类型分为两种:普通用户和管理员。普通用户登录后只能进行在线答题和个人信息管理,在线答题时可以选择科目,可以显示和隐藏答案提示,模块测试后可以重做答错的题。

管理员身份登录功能较多,除了可以在线答题外,还可以进行科目管理、试题管理和用户管理,科目管理包括增加、删除、修改科目,试题管理同样是增、删、改操作;用户管理中只能删除和修改用户信息,增加用户在注册用户功能中完成。

图3-1在线考试系统功能框架

3.1.2系统总体模块功能设计

经过对整个系统的分析,可以得出以下功能模块,如图3-3所示:

登陆者模块:面向登陆者。可以先进行注册,再实现登录功能,进而进行在线考试。

管理员模块:面向管理员。可以对考题进行添加、删除、修改和更新功能;可以进行答题的测试;科目的管理;题库的管理;以及对用户的管理。

图3-3 功能模块图

第4章数据库的设计

4.1 引言

数据库是一个应用系统的核心,数据库设计的好坏直接关系到应用系统的执

行效率,数据的一致性和完整性,设计数据库系统时应该首先充分了解用户各个

方面的需求,包括现有的以及将来可能增加的需求,数据库设计一般包括以下几

个步骤:

●数据库需求分析

●数据库概念结构设计

●数据库逻辑结构设计

4.2数据库需求分析

数据库需求分析就是要了解在这个应用系统中,用户需要查询、更新、删除

和保存哪些数据,收集基本数据、数据结构以及数据处理的流程,组成一份详尽

的数据字典,为后面的具体设计打下基础。

通在线考试系统的数据库管理要进行各种各样的数据输入和导出,提供各类

信息的添加、删除、修改和更新等功能。通过上述对系统的设计分析,根据在线

考试系统的需求,共需设计以下五种信息:

(1)用户注册信息。

(2)科目管理信息。

(3)试题管理信息。

(4)用户管理信息。

(5)个人信息管理。

4.3数据库概念结构设计

等到了上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及实体之间的关系,为后面的数据库逻辑结构设计打下基础。这些实体包括各种具体信息,通过相互之间的作用形成数据流动。

4.4数据库逻辑结构设计

通过调查分析各种资料,根据本管理系统用户需要操作和处理的各种数据,

对数据表进行了分析。确定在数据库中存储的各种数据之间的关系以及数据类

型,列举出部分数据表的关系如下:

1. 用户信息表(User)包括的数据项有: 用户名、密码、性别、身份证号码、电子邮箱、角色编号等。(如表4-1所示)

表4-1用户信息表

2.角色表(Role)中的字段有角色编号、角色名。(如表4-2所示)

表4-2 2. 角色表

3.(Course)中的字段有课程编号和课程名以及两个备用字段。(如图4-3所示)

表4-3 课程表角色表

4.试题表(question)中的字段有题号、课程编号、题干、A答案、B答案、C答案、D答案、正确答案。(如表4-4所示)

表4-4 角色表

第5章界面设计与实现

5.1主页设计

5.1.1 实现目标

程序启动后,进入登陆窗体,用户输入用户名和密码,然后进行登录。同时可以按下取消按钮退出本系统,登录界面模块中主要实现如下功能:(1)可进行选择用户身份,支持鼠标操作。

(2)用户名和密码验证成功后,进入主界面。

(3)用户名错误或密码错误提醒并返回输入有误。

5-1主页面

5.1.2 登录窗口

5-2 登录窗口

在登录过程中,系统会首先根据画面上用户输入的内容进行验证检查,相关代码如下:

string conn = ConfigurationManager.ConnectionStrings["WebTestConnectionString"].ConnectionString;

protected void txtRegist_Click(object sender, EventArgs e)

{

Response.Redirect("Regist.aspx");

}

protected void txtLogin_Click(object sender, EventArgs e)

{

SqlConnection con = new SqlConnection(conn);

string strSql = "select count(*) from [user] where userName = '"

+ txtName.Text + "' and password = '" + this.txtPassword.Text + "'";

SqlCommand com = new SqlCommand(strSql, con);

con.Open();

int num = (int)com.ExecuteScalar();

if (num == 0)

{

Response.Write("");

return;

}

strSql = "select roleID from [user] where userName = '" + txtName.Text + "'";

try

{

https://www.360docs.net/doc/a211803743.html,mandText = strSql;

SqlDataReader sdr = com.ExecuteReader();

if (sdr.Read())

{

string s = sdr["roleID"].ToString();

Session["roleID"] = s;

Session["userName"] = txtName.Text;

Session["userPassword"] = txtPassword.Text;

}

sdr.Close();

}

catch (SqlException ex)

{

Response.Write(ex.ToString());

}

finally

{

con.Close();

}

Response.Redirect("Main.aspx");

如果验证通过,系统会连接数据库,进行数据正确性以及用户权限的检查,以上检查成功的情况下,就会进入本系统的主窗体,如果失败,跳出错误提示框。

5.1.3 注册窗口

图5-3 注册窗口

在注册过程中,系统会自动检查用户注册的信息是否合法,相关代码如下:string conn = ConfigurationManager.ConnectionStrings["WebTestConnectionString"].ConnectionString;

protected void btnOK_Click(object sender, EventArgs e)

{

SqlConnection con = new SqlConnection(conn);

string strSql = "select count(*) from [user] where userName = '" + txtName.Text + "'";

SqlCommand com = new SqlCommand(strSql, con);

con.Open();

int num = (int)com.ExecuteScalar();

if (num > 0)

{

Response.Write("");

}

else

{

string name = txtName.Text;

string password = this.txtPassword.Text;

string sex = "男";

if (this.rbtnFemail.Checked)

{

sex = "女";

}

string identity = txtIdentity.Text.ToString();

string email = this.txtMail.Text.ToString();

strSql = "insert into [user](userName, password, sex, userIdentity, email,roleID) values('" + name + "','" + password + "','" + sex + "','" + identity + "','"

+ email + "',1)";

com = new SqlCommand(strSql, con);

com.ExecuteNonQuery();

con.Close();

Response.Write("");

//返回登陆页面

Response.Redirect("Login.aspx");

}

}

protected void btnCancel_Click(object sender, EventArgs e)

{

Response.Redirect("Login.aspx");

}

5.2主要界面设计—用户登录信息画面

5.2.1 实现目标

程序启动后,登录进入在线答题窗体,在管理模块中主要实现如下功能:(1)检索当前启用的组织结构相关的部门及员工信息。

(2)对登陆者个人信息的管理。

(3)对基本信息进行登录和修改操作。

(4)考试科目即考试内容建立。

(5)对考试信息的查询。

5.2.2 主界面

图5-4 在线考试主界面

本界面为主操作界面。管理员通过登录界面的验证后,方能进入此界面。

此画面可以进行考试各类信息的添加,更新和删除,以及用户信息查询等功能。

点击显示答案后:

图5-5 答题测试界面

相关主代码如下:

protected void Page_Load(object sender, EventArgs e)

{

if (!this.IsPostBack)

{

BindSubjectName();

Bind();

}

}

string conn = ConfigurationManager.ConnectionStrings["WebTestConnectionString"].ConnectionString; private void BindSubjectName()

{

SqlConnection con = new SqlConnection(conn);

SqlDataAdapter sda = new SqlDataAdapter("select * from course", con);

DataSet ds = new DataSet();

sda.Fill(ds, "table");

ddlQuestionName.DataSource = ds.Tables["table"];

ddlQuestionName.DataTextField = "courseName";

ddlQuestionName.DataValueField = "courseID";

ddlQuestionName.DataBind();

}

private void Bind()

{

string str = ddlQuestionName.SelectedItem.Text.ToString();

string sql = "select q.* from question q,course c where q.courseID = c.courseID and c.courseName = '" + str + "'";

SqlConnection con = new SqlConnection(conn);

SqlDataAdapter sda = new SqlDataAdapter(sql, con);

DataSet ds = new DataSet();

sda.Fill(ds, "table");

DataList1.DataKeyField = "questionID";

DataList1.DataSource = ds.Tables["table"];

DataList1.DataBind();

}

protected void btnShowAnswer_Click(object sender, EventArgs e)

{

if (btnShowAnswer.Text == "显示答案")

{

for (int i = 0; i < DataList1.Items.Count; i++)

{

((Label)(DataList1.Items[i].FindControl("lblAnswer"))).Visible = true;

}

btnShowAnswer.Text = "隐藏答案";

}

else

{

for (int i = 0; i < DataList1.Items.Count; i++)

{

((Label)(DataList1.Items[i].FindControl("lblAnswer"))).Visible = false;

}

btnShowAnswer.Text = "显示答案";

}

}

protected void ddlQuestionName_SelectedIndexChanged(object sender, EventArgs e)

{

Bind();

}

protected void btnFinish_Click(object sender, EventArgs e)

{

int count = 0;//答对的数目

for (int index = 0; index < DataList1.Items.Count; index++)

{

string labelStr = ((Label)(DataList1.Items[index].FindControl("lblAnswer"))).Text;

string rightAnswer = labelStr.Substring(labelStr.Length - 1);

string selectedRadioButton = "";

if (((RadioButton)(DataList1.Items[index].FindControl("rbtn1"))).Checked)

{

selectedRadioButton = "A";

}

else if (((RadioButton)(DataList1.Items[index].FindControl("rbtn2"))).Checked)

{

selectedRadioButton = "B";

}

else if (((RadioButton)(DataList1.Items[index].FindControl("rbtn3"))).Checked)

{

selectedRadioButton = "C";

}

else if(((RadioButton)(DataList1.Items[index].FindControl("rbtn4"))).Checked)

{

selectedRadioButton = "D";

}

if (rightAnswer == selectedRadioButton)

{

count += 1;

if (DataList1.Items[index].TabIndex >= 100)

{

DataList1.Items[index].TabIndex -= 100;

}

}

else

{

DataList1.Items[index].TabIndex = (short)(100 + index);

}

this.btnRedoError.Enabled = true;

}

lblResult.Text = "答对"+count+"题,错"+(DataList1.Items.Count-count)+"题";

}

protected void btnRedo_Click(object sender, EventArgs e)

{

Response.Redirect("ShowQuestion.aspx");

}

protected void btnRedoError_Click(object sender, EventArgs e)

{

for (int index = 0; index < DataList1.Items.Count; index++)

{

if (DataList1.Items[index].TabIndex < 100)

管理信息系统实验报告

实验一认识计算机硬件和网络结构 一、实验题目 认识计算机硬件和网络结构。 二、实验课时 2课时。 三、实验目的 认识计算机的主要构成部件、功能、型号、在计算机机箱内的位置、网络结构等。 四、实验内容和要求 1、利用多媒体演示计算机的主要组成部件:机箱、主板、CPU、内存条、硬盘、软驱、光驱、插槽、BUS总线、串行接口、并行接口、USB接口等; 2、打开机箱,实物展示并讲解个部件的功能及其连接; 3、机箱、主板、CPU、CPU风扇、内存条、显卡、网卡等分别如下所示。 机箱主板

内存条显卡网卡无线网卡 CPU CPU风扇硬盘 机箱背面并行接口串行接口USB接口 4、观察每个部件在机箱的位置,并掌握每个部件的功能和基本知识。 5、观察实验室网络结构图。 6、结合某网吧的例子更好地理解网络结构。 Parallel port Serial port USB port Keyboard and mouse ports

7、独立完成上述内容,并提交书面实验报告。 五、实验体会 通过本次实验,我了解了计算机的各种硬件和网络结构。知道了各种硬件的形状、功能、特征等。还知道了网络结构的流程、大体构造。这使我对计算机有了初步的认识,为以后更进一步的学习打下了坚实的基础。也为我以后的学习和生活提供了方便。 1、cpu——中央处理器,是一台计算机的运算核心和控制核心。 2、硬盘——是电脑的主要存储媒介之一。 3、主板——又叫主机板、系统板或母板,安装在机箱内,是微机最基本也是最重要的部件之一。 4、机箱——作为电脑配件的一部分,它起的主要作用是放置和固定各电脑配件,起到一个承托和保护作 用。 5、内存条——是连接CPU和其他设备的通道,起到缓冲和数据交换作用。

《管理信息系统》课程设计实验报告

《管理信息系统》课程设计实验报告 课程名称:管理信息系统 指导老师: ******* 院系:商学院 专业班级: ******** 姓名: ******** 学号: ******** 实验日期: 2011.7.11 实验地点:一机房

《管理信息系统》课程设计任务书 一.课程设计目的及意义: 《管理信息系统》课程设计是在完成《管理信息系统》课程学习之后的一次实践性教 学,是本课程理论知识的一次综合运用。通过本课程设计,能够进一步加深对信息、信息系 统、管理信息系统等基础理论知识的理解,能初步掌握结构化的生命周期法、面向对象法等 系统工程方法,进一步加强熟练应用管理信息系统的操作技能,并能够借助于管理信息系统 解决实际问题。 二.课程设计要求: 1.本课程设计时间为一周。 2.本课程设计以教学班为单位进行上机操作及实验。 3.按照任务要求完成课程设计内容。 三.课程设计任务要求: 1.任务内容:进入山东轻工业学院主页,在“网络资源”区域进入“网络教学平台”,输入各自的用户名和密码(学生学号及密码),进入本网络教学平台系统,在充分熟悉本系统 的前提下,完成下列任务要求。 2.任务要求: ①按照课程讲解的系统分析步骤和理论对本系统进行系统分析。 ②绘制不少于 3 个的主要业务流程图。 ③描述上述主要业务流程图的逻辑处理功能。 ④分析本系统的优缺点,提出改进意见,并描述改进的逻辑处理功能,绘制业务流 程图。 四.课程设计评分标准: 按照《管理信息系统课程设计大纲》的要求,本课程 1 学分,采用百分制计分,其中 任务要求②占30 分,任务要求③占30 分,任务要求④占30 分,考勤及实践表现占10 分。五.本课程设计自2011 年 6 月 27 日至 2011 年 7 月 1 日。

操作系统实验心得

1-1:通过这次小实验,是我更加了解Linux一些常用指令的操作以及其作用,对于一个刚开始接触lniux操作系统的初学者来说非常有用,助于以后能够更进一步学习Linux操作系统。 1-2:在实验过程中,使用VI编辑器虽然不能像window操作系统那样对文本进行熟练度编辑,但是,VI编辑器使用命令来操作,将可以锻炼我的记忆力、对键盘的熟练读,还能帮助我们尽快适应linux操作系统的操作。 1-3:原本对liunx下的编译和调试环境不是很熟悉,但通过这次的实验,让我熟悉了linux 下的编译器和调试器的使用。 实验中使用了gcc命令,gcc首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含(#include)、预编译语句(如宏定义#define等)进行分析。 当所有的目标文件都生成之后,gcc就调用ld来完成最后的关键性工作,这个阶段就是链接。在链接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的库中链接到合适的地方。 1-4:API 接口属于一种操作系统或程序接口。通过实验,我了解了Windows的这种机制,加深了对API函数的理解。 2-1:通过本次实验了解了一些常用进程管理命令的使用,例如ps、kill命令,了解到换个kill与killall的不同,对于linux操作系统下的进程的学习打下基础,更好的学习进程。 2-2:本次实验是熟悉掌握Linux 系统常用进程创建与管理的系统调用,linux下使用fork()创建子进程,与windows下CreateProcess()创建子进程完全不同,通过比较小组更好的理解和掌握了进程的创建,对于进程的管理的理解也有了清晰地认识。 实验中遇到fork函数返回2次结果,经过分析结果如下: 由于在复制时复制了父进程的堆栈段,所以两个进程都停留在fork函数中,等待返回。因为fork函数会返回两次,一次是在父进程中返回,另一次是在子进程中返回,这两次的返回值是不一样的。 调用fork之后,数据、堆栈有两份,代码仍然为一份但是这个代码段成为两个进程的共享代码段都从fork函数中返回,箭头表示各自的执行处。当父子进程有一个想要修改数据或者堆栈时,两个进程真正分裂。 2-3:通过这次实验对熟悉掌握和了解windows平台常用进线程控制API,有了更深刻的认识,认识到API函数对windows编程的重要性,了解进程线程在内存中的执行,特别认识互斥体Mutex对象,API函数一定要多用,才能记得。 3-1:该程序的输入变量具有限制,若输入除0和1的数据,则将视为0处理.改进的方法为修改if 语句中的条件为:1,即只要输入为非零,则有效。即逻辑表达式的值为真。(在逻辑数学里非零则表示为真!) 为了能较好的实现进程的同步,可以另外设一个标志量,标志临界资源是否正被访问,当a,b,c

管理信息系统实验报告97692

《管理信息系统》实验报告 实验项目:教务处排课系统分析 实验学时:18 学时 姓名: 学号: ________________ 专业班级: 实验时间: _______ 实验成绩: __________________________

东北财经大学 《管理信息系统》实验报告实验项目名称:

沟通能力,养成对问题全面分析、思考和严谨认真的态度,增强创新意识五、教师评语 签名: 日期: 管理系统实验报告

实验小组成员: 实验对象:教务处排课信息系统 实验对象背景介绍:教务管理系统是一个庞大而复杂的系统,它包括:学生学籍管理系统、排课 系统、教师管理系统、学生成绩系统、系统设置、班级信息系统、教学培养计划管理系统、教学资源管理系统、招生系统教务信息发布系统和事务处理系统。随着科学技术的进步与相应的管理信息系统的升级,教务系统管理平台充分利用互联网络B/S 管理信息模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统,用一个帐号解决学校教务教学管理,并且学校可以自由选择学校需要的教务管理系统,灵活地定制符合学校自己实际情况的教务系统。教务管理系统内部子系统多样庞杂, 今天我们主要讨论的研究对象是排课管理信息系统。 排课管理系统是每个学校必不可少的内容,它的优劣直接学校教学工作质量和学校的正常教学活动秩序。随着现在生源数量的不断增长以及各行业竞争日益激烈,为了满足中国社会主义事业发展对高素质人才的需求,各大高校都在尽自己努力,以本校现状及需求作为基础,以科技发展进步作为依托,发展完善一个功能完整,操作简单快捷,高效率,与本校其他教务管理系统良好适应的排课系统与之配套,使教师等教学资源利用达到最大化,为学生提供优良的教育环境。因此,东北财经大学作为一个知名的财经类高校, 要达到适应教育现状及 提高自身教育层次的目标,完善教务排课管理系统显得尤为重要。 系统功能简述排课管理系统需要合理调配各个班级专业所需的专业课程选修必修课程,相应教师,教师及上课班级,尽可能全面的考虑到教师的身体状况,工作条件,家庭状况甚至与学校距离,教师及学生时间,各种课程按重要程度以及学生兴奋点和接受能力合理排序,教师的容量用途,学校集体活动或教师会议等多方面因素,以计算机安排为主,手工调整为辅的方式做出各个院系各个专业各个班级的课程安排。 排课管理系统的目标不仅是对于原有系统进行改进提高,还使课程管理科学化系统化准确化,减少手工录入的误差可能性,方便操作者的随时添加、查询、修改,是统计表格格式规范化统一化,提高工作效率,降低人工成本,提高处理数据能力与速度,提高教学质量,优化学校教务管理系统,为学校的进一步发展提供技术支持与可能性。 系统分析(1)系统分析任务:根据系统设计任务书所确定的范围,并在充分认识原有系统的基础上进行详细的调查分析,通过问题识别、可行性分析、详细调查、系统化分析,进而确定新系统的基本目标和逻辑功能结构,最后完成新系统的逻辑方案设计。 (2)可行性分析和详细调查概述:由于实验的限制,假定建立排课管理信息系统在管理上、技术上、经 济上都是可行的。而详细调查采用一定的调查方法发现了现行系统有以下优缺点: 现有系统优缺点分析 1. 选课分为预选、正选、补退选,一定程度上完善了选课系统。 2. 在选课中,按年级差异区分次序,一定程度上缓解短时间内系统压力,保证了高年级学生顺利完成课业。 3. 学生面临选课时,具有多重选择性,使学生有机会挑选感兴趣的课程,更加人性化设置。 4. 正选是以随机抽选的形式来的话,会更具有公平性。 5?学生可以自主跨专业选择自己喜欢的课,使选课更具有自主性。 6?在登录选课系统时,需要学生输入个人账号信息,保证了学生信息隐私,具有一定的安全性。

系统设计实验报告

系统设计实验报告——远程在线考试系统

目录软件需求说明书························1 引言··························· 1.1编写目的······················· 1.2背景························· 1.3定义························· 1.4参考资料······················· 2 程序系统的结构························ 3 程序设计说明·························

1引言 1.1编写目的 本文档的编写目的是为远程在线考试系统项目的设计提供: a.系统的结构、设计说明; b.程序设计说明; c. 程序(标识符)设计说明 1.2背景 随着网络技术的飞速发展,现在很多的大学及社会上其它的培训部门都已经开设了远程教育,并通过计算机网络实现异地教育。但是,远程教育软件的开发,就目前来说,还是处于起步的阶段。因此,构建一个远程在线考试系统,还是有很大的实际意义的。 根据用户提出的需求,本项目组承接该系统的开发工作 a.开发软件系统的名称:远程在线考试系统 b.本项目的任务提出者:福州大学软件学院 c.用户:各类大专院校学校、中小学校。 1.3定义 远程在线考试系统 远程在线考试系统是基于用Browser/Web模式下的,可以实现考试题库管理、多用户在线考试、自动阅卷功能的系统。

1.4参考资料 ?GB 8566 计算机软件开发规范 ?GB 8567 计算机软件产品开发文件编制指南?软件设计标准 ?《ASP与SQL-Server2000》清华大学出版社?《可行性研究报告》 ?《项目计划文档》 ? 2程序系统的结构 3程序1(标识符)设计说明

操作系统实验报告心得体会

操作系统实验报告心得体会 每一次课程设计度让我学到了在平时课堂不可能学到的东西。所以我对每一次课程设计的机会都非常珍惜。不一定我的课程设计能够完成得有多么完美,但是我总是很投入的去研究去学习。所以在这两周的课设中,熬了2个通宵,生物钟也严重错乱了。但是每完成一个任务我都兴奋不已。一开始任务是任务,到后面任务就成了自己的作品了。总体而言我的课设算是达到了老师的基本要求。总结一下有以下体会。 1、网络真的很强大,用在学习上将是一个非常高效的助手。几乎所有的资料都能够在网上找到。从linux虚拟机的安装,到linux的各种基本命令操作,再到gtk的图形函数,最后到文件系统的详细解析。这些都能在网上找到。也因为这样,整个课程设计下来,我浏览的相关网页已经超过了100个(不完全统计)。当然网上的东西很乱很杂,自己要能够学会筛选。 不能决定对或错的,有个很简单的方法就是去尝试。就拿第二个实验来说,编译内核有很多项小操作,这些小操作错了一项就可能会导致编译的失败,而这又是非常要花时间的,我用的虚拟机,编译一次接近3小时。所以要非常的谨慎,尽量少出差错,节省时间。多找个几个参照资料,相互比较,

慢慢研究,最后才能事半功倍。 2、同学间的讨论,这是很重要的。老师毕竟比较忙。对于课程设计最大的讨论伴侣应该是同学了。能和学长学姐讨论当然再好不过了,没有这个机会的话,和自己班上同学讨论也是能够受益匪浅的。大家都在研究同样的问题,讨论起来,更能够把思路理清楚,相互帮助,可以大大提高效率。 3、敢于攻坚,越是难的问题,越是要有挑战的心理。这样就能够达到废寝忘食的境界。当然这也是不提倡熬夜的,毕竟有了精力才能够打持久战。但是做课设一定要有状态,能够在吃饭,睡觉,上厕所都想着要解决的问题,这样你不成功都难。 4、最好在做课设的过程中能够有记录的习惯,这样在写实验报告时能够比较完整的回忆起中间遇到的各种问题。比如当时我遇到我以前从未遇到的段错误的问题,让我都不知道从何下手。在经过大量的资料查阅之后,我对段错误有了一定的了解,并且能够用相应的办法来解决。 在编程中以下几类做法容易导致段错误,基本是是错误地使用指针引起的 1)访问系统数据区,尤其是往系统保护的内存地址写数据,最常见就是给一个指针以0地址 2)内存越界(数组越界,变量类型不一致等) 访问到不属于你的内存区域

操作系统实验报告

操作系统实验报告 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

实验二进程调度1.目的和要求 通过这次实验,理解进程调度的过程,进一步掌握进程状态的转变、进程调度的策略,进一步体会多道程序并发执行的特点,并分析具体的调度算法的特点,掌握对系统性能的评价方法。 2.实验内容 阅读教材《计算机操作系统》第二章和第三章,掌握进程管理及调度相关概念和原理。 编写程序模拟实现进程的轮转法调度过程,模拟程序只对PCB进行相应的调度模拟操作,不需要实际程序。假设初始状态为:有n个进程处于就绪状态,有m个进程处于阻塞状态。采用轮转法进程调度算法进行调度(调度过程中,假设处于执行状态的进程不会阻塞),且每过t个时间片系统释放资源,唤醒处于阻塞队列队首的进程。 程序要求如下: 1)输出系统中进程的调度次序; 2)计算CPU利用率。 3.实验环境 Windows操作系统、VC++6.0 C语言 4设计思想: (1)程序中进程可用PCB表示,其类型描述如下:

structPCB_type { intpid;//进程名 intstate;//进程状态 2——表示“执行”状态 1——表示“就绪”状态 0——表示“阻塞”状态 intcpu_time;//运行需要的CPU时间(需运行的时间片个数) } 用PCB来模拟进程; (2)设置两个队列,将处于“就绪”状态的进程PCB挂在队列ready中;将处于“阻塞”状态的进程PCB挂在队列blocked中。队列类型描述如下: structQueueNode{ structPCB_typePCB; StructQueueNode*next; } 并设全程量: structQueueNode*ready_head=NULL,//ready队列队首指针 *ready_tail=NULL,//ready队列队尾指 针

操作系统实验报告

操作系统实验报告 实验名称: 系统的引导 所在班级: 指导老师: 老师 实验日期: 2014年3 月29 日

一、实验目的 ◆熟悉hit-oslab实验环境; ◆建立对操作系统引导过程的深入认识; ◆掌握操作系统的基本开发过程; ◆能对操作系统代码进行简单的控制,揭开操作系统的神秘面纱。 二、实验容 1. 阅读《Linux核完全注释》的第6章引导启动程序,对计算机和Linux 0.11的引导过程进行初步的了解。 2. 按照下面的要求改写0.11的引导程序bootsect.s。 3. 有兴趣同学可以做做进入保护模式前的设置程序setup.s。 4. 修改build.c,以便可以使用make BootImage命令 5. 改写bootsect.s主要完成如下功能: bootsect.s能在屏幕上打印一段提示信息XXX is booting...,其中XXX是你给自己的操作系统起的名字,例如LZJos、Sunix等。 6. 改写setup.s主要完成如下功能: bootsect.s能完成setup.s的载入,并跳转到setup.s开始地址执行。而setup.s 向屏幕输出一行"Now we are in SETUP"。setup.s能获取至少一个基本的硬件参数(如存参数、显卡参数、硬盘参数等),将其存放在存的特定地址,并输出到屏幕上。setup.s不再加载Linux核,保持上述信息显示在屏幕上即可。 三、实验环境

本实验使用的系统是windows系统或者是Linux系统,需要的材料是osexp。 四、实验步骤 1. 修改bootsect.s中的提示信息及相关代码; 到osexp\Linux-0.11\boot目录下会看到图1所示的三个文件夹,使用UtraEdit 打开该文件。将文档中的98行的mov cx,#24修改为mov cx,#80。同时修改文档中的第246行为图2所示的情形。 图1图2 图3 2. 在目录linux-0.11\boot下,分别用命令as86 -0 -a -o bootsect.obootsect.s和 ld86 -0 -s -obootsectbootsect.o编译和bootsect.s,生成bootsect文件; 在\osexp目录下点击MinGW32.bat依此输入下面的命令: cd linux-0.11 cd boot as86 -0 -a -o bootsect.obootsect.s ld86 -0 -s -o bootsectbootsect.o

操作系统课程设计实验报告

河北大学工商学院 课程设计 题目:操作系统课程设计 学部信息学部 学科门类电气信息 专业计算机 学号2011482370 姓名耿雪涛 指导教师朱亮 2013 年6月19日

主要内容 一、设计目的 通过模拟操作系统的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。 二、设计思想 实现一个模拟操作系统,使用VB、VC、CB等windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。 设计模板如下图: 注:本人主要涉及设备管理模块

三、设计要求 设备管理主要包括设备的分配和回收。 ⑴模拟系统中有A、B、C三种独占型设备,A设备1个,B设备2个,C设备2个。 ⑵采用死锁的预防方法来处理申请独占设备可能造成的死锁。 ⑶屏幕显示 注:屏幕显示要求包括:每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。 设备管理模块详细设计 一、设备管理的任务 I/O设备是按照用户的请求,控制设备的各种操作,用于完成I/O 设备与内存之间的数据交换(包括设备的分配与回收,设备的驱动管理等),最终完成用户的I/O请求,并且I/O设备为用户提供了使用外部设备的接口,可以满足用户的需求。 二、设备管理函数的详细描述 1、检查设备是否可用(主要代码) public bool JudgeDevice(DeviceType type) { bool str = false; switch (type) { case DeviceType.a: {

人事管理系统实验报告

摘要 人事管理是企业管理中的一个重要内容,随着时代的进步,企业也逐渐变得庞大起来。如何管理好企业内部员工的信息,成为企业管理中的一个大问题。在这种情况下,开发一个人事管理系统就显得非常必要。本系统结合公司实际的人事、制度,经过实际的需求分析,采用功能强大的Visual Basic6.0作为开发工具而开发出来的单机版人事管人事理系统。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,本企业人事管理系统具有如下功能:员工基本信息的录入、修改、查询、删除模块,员工假条信息录入、修改、查询、删除模块,员工工资信息的录入,计算,查询,以及系统用户的设置以及系统的维护功能。为企业人事管理提供信息咨询,信息检索,信息存取等服务,基本上能够满足现代企业对人事管理的需要。本文系运用规范研究方法进行的专题研究。全文分六个部分:第一部分,是本课题的来源和课题研究的目的和意义;第二部分,是开发工具的选择,本系统主要运用的是Visual Basic 6.0作为系统前台应用程序开发工具,Access作为后台数据库;第三部分,是系统的需求分析,主要是人事管理系统的需求分析;第四部分,是系统分析与实现,包括系统功能模块的设计和数据库的设计;第五部分,是代码的设计与实现,系统事件运行的主要代码;第六部分,是系统的实现,最后,是软件的测试 关键词:人事管理系统设计SQL Server 2005数据库Visual Basic 6.0 维护测试

第一章绪论 1.1 引言 随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。人力资源管理是结合公司实际的人事、制度,经过实际的需求分析,采用功能强大的Visual Basic6.0作为开发工具而开发出来的单机版人事管人事理系统。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,本企业人事管理系统具有如下功能:员工基本信息的录入、修改、查询、删除模块,员工假条信息录入、修改、查询、删除模块,员工工资信息的录入,计算,查询,以及系统用户的设置以及系统的维护功能。为企业人事管理提供信息咨询,信息检索,信息存取等服务,基本上能够满足现代企业对人事管理的需要。 1.2 项目背景 本课题基于我国企业管理信息化建设现状,结合在实际工作中所遇到的问题和收获,对企业人事管理系统在设计开发等方面进行研究,重点研究系统开发中所采用的软硬件平台规范、数据库结构设计、开发工具的选择与使用,目的是从技术手段的角度阐述如何实现企业从传统经营管理模式向信息化管理模式转变的过程,以及人事管理系统在企业管理信息化中所起到的重要作用。本课题的开发主要是要花费相当多的人力和时间,虽然开发出来的软件可能离具体产生效益还有一定的距离。但是,出于通过毕业设计来丰富自己的专业知识,并从长远利益来考虑,本课题的设计开发还是具有相当大的经济可行性的。 1.3 实现意义 现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,使传统意义上的人事管理的形式和内涵都在发生着根本性的变化。在过去,一支笔和一张绘图桌,可能就是进行办公的全部工具。今天,电脑、扫描仪和打印机等,已基本取代了旧的办公用具。如今,人事管理己完全可以通过电脑进行,并在计算机辅助下准确快速地完成许多复杂的工作。这些都大大地缩短管理的时间。而今天,人事管理的内容己经转变为对更为广泛的系统价值的追求。信息管理,如今已是一个热门话题,它已为许

操作系统实验报告

操作系统实验报告 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

许昌学院 《操作系统》实验报告书学号: 姓名:闫金科 班级:14物联网工程 成绩: 2016年02月

实验一Linux的安装与配置 一、实验目的 1.熟悉Linux系统的基本概念,比如Linux发行版、宏内核、微内核等。 2.掌握Linux系统的安装和配置过程,初步掌握Linux系统的启动和退出方 法。 3.熟悉Linux系统的文件系统结构,了解Linux常用文件夹的作用。 二、实验内容 1.从网络上下载VMware软件和两个不同Linux发行版镜像文件。 2.安装VMware虚拟机软件。 3.在VMware中利用第一个镜像文件完成第一个Linux的安装,期间完成网络 信息、用户信息、文件系统和硬盘分区等配置。 4.在VMware中利用第二个镜像文件完成第二个Linux的安装,并通过LILO或 者GRUB解决两个操作系统选择启动的问题。 5.启动Linux系统,打开文件浏览器查看Linux系统的文件结构,并列举出 Linux常用目录的作用。 三、实验过程及结果 1、启动VMware,点击新建Linux虚拟机,如图所示: 2、点击下一步,选择经典型,点击下一步在选择客户机页面选择 Linux,版本选择RedHatEnterpriseLinux5,如图所示: 3、点击下一步创建虚拟机名称以及所要安装的位置,如图所示: 4、点击下一步,磁盘容量填一个合适大小,此处选择默认值大小 10GB,如图所示: 5、点击完成,点击编辑虚拟机设置,选择硬件选项中的CD-ROM (IDE...)选项,在右侧连接中选择“使用ISO镜像(I)”选项,点 击“浏览”,找到Linux的镜像文件,如图所示:

操作系统实验报告16487

西安邮电大学 (计算机学院) 课实验报告 实验名称:进程管理 专业名称:计算机科学与技术 班级: 学生: 学号(8位): 指导教师: 实验日期:*****年**月**日

一. 实验目的及实验环境 目的:(1)加深对进程概念的理解,明确进程和程序的区别。 (2)进一步认识并发执行的实质。 (3)分析进程竞争资源现象,学习解决进程互斥的方法。 (4)了解Linux系统中进程通信的基本原理。 环境:Linux操作系统环境: 二. 实验容 (1)阅读Linux的sched.h源文件,加深对进程管理概念的理解。 (2)阅读Linux的fork.c源文件,分析进程的创建过程。 三.方案设计 (1)进程的创建 编写一段源程序,使系统调用fork()创建两个子进程,当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。试观察纪录屏幕上的显示结果,并分析原因。(2)进程的控制 修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕出现的现象,并分析原因。 如果在程序中使用调用lockf()来给每一个子进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。 (3)①编写一段程序,使其现实进程的软中断通信。 要求:使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按DEL键);当捕捉到中断信号后,父进程用系统调用Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child Processll is Killed by Parent! Child Processl2 is Killed by Parent! 父进程等待两个子进程终止后,输出如下的信息后终止 Parent Process is Killed! 程序流程图如下:

管理信息系统实验报告答案要点

实验

3、分组讨论并确定小组管理信息系统的题目,并给出题目的具体功能和要求。心得体 会:(可以从以下几个方面来总结:你在上机过程中遇到了哪些难题?你是怎么克服的?你的收获有哪些?你有什么没有解决的问题等) 实验

书E 选脚 ■1. 订盼蔚豆 建立学生表 则剩余不够的部分还须向其他书商订购,同时 在订购信息中添加该教材在另一个书商中订购的信息。 1、请画出上述内容的 E-R 图。 2、把E-R 图转换成合理的关系模式: 学 生(学号,姓名,性别,院系,年龄) 教 材(书号,书名,出版社,出版日期, 书商(商号,电话,联系人,商名) 山膿E 軀 nanie = ^Buy_Booksdb , j filename - J E: \Buy_Bcoksdb* mdf', size = 5j maxsize - 20, f llegrovrth = 1 ) log on ( rtajne-' Buy^Bookslog 1、 f ilenajue~, E:\Buy_Bcakslog. ldf'. size=2_, maxsize! 8, fllegrawth-1 ] Go 口. ■号, 3、在SQL Serve r (或Access )中建立数据库和表(截图) 建立数据库: create database Buy Books on primary 主键为学号 主编) 主键为书号 主键为商号 ' —i r - ! 見意「腿 性别 商号 1 ---------- 戟条人

CREATE TABLE St udent ( Sno char 9- primary key. Sname char (20 i unique, Ssex char (2), Sage smallint. Sdept char (2Q 1 ) f -f 建立教材表 CREATE TABLE Books ( Eno char 9) primary key Btitle char (40), Bauthor char ^20), Bpress char 40 Bdate datetime ): 建立书商表 -CREATE TABLE SSellcr BSno char 9[ priinaty key, BSnane char 201 . Tel char 30;. Person char (201 feedback char '40 1 鼻 /*书号* /車书名*/ 八作者于/ /廉也版社康/ " 由版日期柑

操作系统实验报告

操作系统实验报告 银行家算法 班级:计算机()班 姓名:李君益 学号:(号) 提交日期: 指导老师: 林穗 一、设计题目 加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。 要求编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用银行家算法,有效的防止和避免死锁的发生。 二、设计要求

内容: 编制银行家算法通用程序,并检测思考题中所给状态的安全性。 要求: (1)下列状态是否安全?(三个进程共享个同类资源) 进程已分配资源数最大需求数 (状态) (状态) (2)考虑下列系统状态 分配矩阵最大需求矩阵可用资源矩阵 问系统是否安全?若安全就给出所有的安全序列。若进程请求(),可否立即分配? 三、设计分析 一.关于操作系统的死锁 .死锁的产生 计算机系统中有许多独占资源,他们在任一时刻只能被一个进程使用,如磁带机,绘图仪等独占型外围设备,或进程表,临界区等软件资源。两个进程同时向一台打印机输出将导致一片混乱,两个进程同时进入临界区将导致数据库错误乃至程序崩溃。正因为这些原因,所有操作系统都具有授权一个进程独立访问某一辞源的能力。一个进程需要使用独占型资源必须通过以下的次序: ●申请资源 ●使用资源 ●归还资源 若申请施资源不可用,则申请进程进入等待状态。对于不同的独占资源,进程等待的方式是有差别的,如申请打印机资源、临界区资源时,申请失败将一位这阻塞申请进程;而申请打开文件文件资源时,申请失败将返回一个错误码,由申请进程等待一段时间之后重试。只得指出的是,不同的操作系统对于同一种资源采取的等待方式也是有差异的。 在许多应用中,一个进程需要独占访问多个资源,而操作系统允许多个进程并发执行共享系统资源时,此时可能会出现进程永远被阻塞的现象。这种现象称为“死锁”。 2.死锁的定义 一组进程处于死锁状态是指:如果在一个进程集合中的每个进程都在等待只能由该集合中的其他一个进程才能引发的时间,则称一组进程或系统此时发生了死锁。 .死锁的防止 .死锁产生的条件: ●互斥条件

操作系统实验报告(进程的创建)

实验题目进程的创建小组合作否姓名班级学号 一、实验目的 1、了解进程的创建。 2、了解进程间的调用以及实现。 3、分析进程竞争资源的现象,学习解决互斥的方法。 4、加深对进程概念的理解,认识并发执行的本质。 二.实验环境 Windows 系统的计算机一台,安装了Linux虚拟机 三、实验内容与步骤 1、fork()系统调用的使用例子 程序代码: #include #include #include int glob=3; int main(void) { pid_t pid;int loc=3; printf("before fork();glod=%d,loc=%d.\n",glob,loc); if((pid=fork())<0) { printf("fork() error. \n"); exit(0); } else if(pid==0) { glob++; loc--; printf("child process changes glob and loc: \n"); } else

wait(0); printf("parent process doesn't change the glob and loc:\n"); printf("glob=%d,loc=%d\n",glob,loc); exit(0); } 运行结果: 2、理解vofork()调用: 程序代码: #include #include #include int glob=3; int main(void) { pid_t pid; int loc=3; if((pid=vfork())<0) { printf("vfork() error\n"); exit(0); } else if(pid==0) { glob++; loc--; printf("child process changes the glob and loc\n"); exit(0); } else printf ("parent process doesn't change the glob and loc\n"); printf("glob=%d,val=%d\n",glob,loc);

c#学生信息管理系统实验报告

摘要 本文描述的是基于Windows环境的学生信息管理系统,主要功能模块包括:学生信查询,学生信息管理,学生成绩录入,主要工具Microsoft Visual Studio 2005 设计窗体, SQL server2005建立数据库,实现学校信息管理的各个功能。 本程序提供了管理员权限和用户权限,其中管理员可以对信息进行管理,而用户只可以对信息进行查询,以确保程序的安全性。 本篇报告介绍一个学生信息管理系统的从分析到设计最后到开发的全过程为,给出了学生信息管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。涉及到学生信息管理的基本功能在本报告中都有相应的描述。 一、需求分析 1系统目标 1 学生信息、课程信息、成绩信息的增加、删除、修改、查询 2 分别设置管理员权限和用户权限 2功能需求分析 本系统的功能需求分析如下: (1)学生信息查询:学生可以根据学号、姓名等进行模糊查询. (2)学生信息管理:主要是用于学生信息更新、插入、删除; (3)学生成绩录入:用于学生成绩管理,录入学生成绩,也可以更新;3性能需求分析 (1)登录、用户界面需求:简洁、易懂、易用、友好的用户界面。 (2)安全保密性需求:只有凭借用户名和密码登陆系统,才能进行信息的管 理等。 二总体设计 1设计概述 根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。

把这些模块结合起来组成一个整体。逐一实现各个功能。2系统数据库的设计 1.所用到的数据库中的表信息: adminmsg(管理员表) 列名字段类型长度主/ 外键对应中文名 Userid int4编号Username Nvarchar50姓名Password Nvarchar50密码user(用户表) 列名字段类型长度主/ 外键对应中文名 Userid int4编号Username Nvarchar50姓名Password Nvarchar50密码Studentmsg(学生信息表) 列名字段类型长度主/ 外键对应中文名 Studentid int4Y 学号Studentname Nvarchar 50 姓名Sex Byte 1 性别department Nvarchar 50 所在系speciality Nvarchar50专业Coursemsg(课程信息表) 列名字段类型长度主/ 外键对应中文名 courseid int4Y 课程号coursename Nvarchar 50 课程名称required Nvarchar 10 性质credit int 4 学分Scoremsg(成绩表) 列名字段类型长度主/ 外键对应中文名 Studentno int4Y 学号courseid int 4 Y 课程号score int 4 成绩

操作系统实验报告.

学生学号0121210680225 实验课成绩 武汉理工大学 学生实验报告书 实验课程名称操作系统 开课学院计算机科学与技术学院 指导老师姓名刘军 学生姓名李安福 学生专业班级软件sy1201 2014 — 2015 学年第一学期

《操作系统》实验教学大纲 课程编号: 课程名称:操作系统/Operating System 实验总学时数:12学时 适应专业:计算机科学与技术、软件工程 承担实验室:计算机科学与技术学院实验中心 一、实验教学的目的和任务 通过实验掌握Linux系统下常用键盘命令、系统调用、SHELL编程、后台批处理和C程序开发调试手段等基本用法。 二、实验项目及学时分配 序号实验项目名称实验学时实验类型开出要求 01 Linux键盘命令和vi 2 设计必开 02 Linux下C编程 2 设计必开 03 SHELL编程和后台批处理 2 设计必开 04 Linux系统调用(time) 2 设计必开 05 Linux进程控制(fork) 4 设计必开 三、每项实验的内容和要求: 1、Linux键盘命令和vi 要求:掌握Linux系统键盘命令的使用方法。 内容:见教材p4, p9, p40, p49-53, p89, p100 2、Linux下的C编程 要求:掌握vi编辑器的使用方法;掌握Linux下C程序的源程序编辑方法;编译、连接和运行方法。 内容:设计、编辑、编译、连接以及运行一个C程序,其中包含键盘输入和屏幕输出语句。 3、SHELL编程和后台批处理 要求:掌握Linux系统的SHELL编程方法和后台批处理方法。 内容:(1) 将编译、连接以及运行上述C程序各步骤用SHELL程序批处理完成,前台运行。 (2) 将上面SHELLL程序后台运行。观察原C程序运行时输入输出情况。 (3) 修改调试上面SHELL程序和C程序,使得在后台批处理方式下,原键 盘输入内容可以键盘命令行位置参数方式交互式输入替代原键盘输入内容, 然后输出到屏幕。 4、Linux系统调用使用方法。

软件设计与体系结构实验报告

福建农林大学计算机与信息学院 实验报告 课程名称:软件设计与体系结构 姓名:陈宇翔 系:软件工程系 专业:软件工程 年级:2007 学号:070481024 指导教师:王李进 职称:讲师 2009年12月16日

实验项目列表

福建农林大学计算机与信息学院实验报告 学院:计算机与信息学院专业:软件工程系年级:2007 姓名:陈宇翔 学号:070481024 课程名称:软件设计与体系结构实验时间:2009-10-28 实验室田实验室312、313计算机号024 指导教师签字:成绩: 实验1:ACME软件体系结构描述语言应用 一、实验目的 1)掌握软件体系结构描述的概念 2)掌握应用ACMESTUDIO工具描述软件体系结构的基本操作 二、实验学时 2学时。 三、实验方法 由老师提供软件体系结构图形样板供学生参考,学生在样板的指导下修改图形,在老师的指导下进行软件体系结构描述。 四、实验环境 计算机及ACMESTUDIO。 五、实验内容 利用ACME语言定义软件体系结构风格,修改ACME代码,并进行风格测试。 六、实验操作步骤 一、导入Zip文档 建立的一个Acme Project,并且命名为AcmeLab2。如下图:

接着导入ZIP文档,导入完ZIP文档后显示的如下图: 二、修改风格 在AcmeLab2项目中,打开families下的TieredFam.acme.如下图: 修改组件外观 1. 在组件类型中,双击DataNodeT; 在其右边的编辑器中,将产生预览;选择Modify 按钮,将打开外观编辑器对话框。 2. 首先改变图形:找到Basic shape section,在Stock image dropdown menu中选 择Repository类型. 3. 在Color/Line Properties section修改填充颜色为深蓝色。 4. 在颜色对话框中选择深蓝色,并单击 [OK]. 5. 修改图形的边框颜色为绿色 7. 单击Label tab,在Font Settings section, 设置字体颜色为白色,单击[OK] 产生的图形如下图:

操作系统实验实验总结实验报告

8.1 实验的基本内容 (1) 本学期完成的操作系统实验主要有(根据实际完成的实验情况填写): 1) 实验1.1 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________ 2) 实验1.2 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________ 3) 实验2.1 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________ 4) 实验2.2 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________ 5) 实验2.3 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________ 6) 实验3.1 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________ 7) 实验3.2 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________ 8) 实验4.1 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________ 9) 实验4.2 主要内容:________________________________________________ ________________________________________________________________________ ________________________________________________________________________ 10) 实验4.3 主要内容:_______________________________________________ ________________________________________________________________________ ________________________________________________________________________ 11) 实验5.1 主要内容:_______________________________________________ ________________________________________________________________________ ________________________________________________________________________ 12) 实验5.2 主要内容:_______________________________________________ ________________________________________________________________________ 实验8 实验总结

相关文档
最新文档