电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

C#课程设计_简单人事管理系统的设计与实现

来源:漫步者作者:开心麻花2025-10-101

C#课程设计_简单人事管理系统的设计与实现(精选8篇)

C#课程设计_简单人事管理系统的设计与实现 第1篇

仲恺农业工程学院

为LINUX 设计一个简单的二级文件系统

菜鸟程序员

院(系)

计算机科学与工程学院 专业班级 学

指导教师

课程设计日期 2011年 6月2 日至7月1日

目 录

1题目分析..........................................................1 2算法设计..........................................................1 2.1 用户登录模块..................................................1 2.2 新建目录模块..................................................2 2.3新建文件模块..................................................3 2.4 删除文件模块..................................................4 2.5 读取文件模块..................................................5 3 设计实现..........................................................6 3.1登录界面外观布局..............................................6 3.2树状显示目录..................................................7 3.3新建目录实现主要代码:.......................................10 3.4新建文件实现.................................................12 3.5删除文件实现.................................................14 3.6读取文件实现.................................................16 4设计总结.........................................................17 5参考文献.........................................................18

1题目分析

为Linux设计一个简单的二级文件系统,可以实现用户登录、列出文件目录、创建目录、创建文件、删除目录、删除文件、读取文件的功能。本次设计采用的开发语言是Java,通过Java来实现整体布局和实现相关的功能。

2算法设计

本次二级文件系统主要分为五大模块,分别是用户登录模块、新建目录模块、新建文件模块、删除文件模块和读取文件模块。用户登录成功后才可以进行其他模块的操作。

2.1 用户登录模块

用户登录模块要求用户输入账号与密码,当输入正确后进入主视图并能进行其他模块操作,否则提示账号密码错误并要求用户重新输入(默认的账号和密码都是“123”)。用户登录模块流程图如图1所示。

开始输入账号和密码账号和密码都正确?否是显示默认目录的所有文件与目录提示输入错误结束 图1 用户登录模块流程图

2.2 新建目录模块

新建目录模块是根据用户鼠标右击时选择到的节点来确定节点的名字与路径,然后判断该节点是否可以拥有子节点,若拥有则根据用户输入的目录名称新建一个目录,否则提示不能新增目录。新建目录模块流程图如图2所示。

开始获得右击时选择到的节点的路径与名字被选择的节点是否可以拥有子节点?否是用户输入新建目录的名字提示不能创建目录在本地硬盘新建一文件夹,在树型视图新增一节点结束 图2 新建目录流程图

2.3新建文件模块

新建文件模块是根据用户鼠标右击时选择到的节点来确定节点的名字与路径,然后判断该节点是否可以拥有子节点,若拥有则根据用户输入的文件名称新建一个文件,否则提示不能新增文件。新建文件模块流程图如图3所示。

开始获得右击时选择到的节点的路径与名字被选择的节点是否可以拥有子节点?否是用户输入新建文件的名字提示不能创建文件在本地硬盘新建改文件,在树型视图新增一节点结束 图3 新建文件流程图

2.4 删除文件模块

删除文件模块是根据用户鼠标右击时选择到的节点来确定要删除节点的名字与路径,然后判断该节点是目录还是文件。若是文件则直接删除文件,若是目录则进入该目录再删除其全部文件。删除文件模块流程图如图4所示。

开始获得右击时选择到的节点的路径与名字在树状视图上删除该节点否该节点是一目录?是进入该目录并遍历所有文件删除该文件删除所有被遍历的文件结束 图4 删除文件模块流程图

2.5 读取文件模块

读取文件模块是根据FileDialog类中事先设定的默认路径而打开一个选择对话框,然后根据用户选择的文件而获取文件的名字与路径。最后通过输入流而把读取到的数据显示在一个文本域中。读取文件流程图如图5所示。

开始新建一个空的文本区域生成FileDialog选择框根据用户的选择而获得文件的路径和名字运用输入输出流读取文件的数据把读取到的数据显示到文本域中结束 图5 读取文件模块流程图 设计实现

3.1登录界面外观布局

登录界面主要代码:

JLabel labelID=null,labelPassword=null,title=null;JTextField id,password;JButton conform=new JButton(“确认”);JButton cancle=new JButton(“取消”);LoginWindow(){ init();this.setTitle(“登录界面”);this.setBounds(400,200,550,400);this.setResizable(false);

this.setVisible(true);

}

void init(){

this.setLayout(null);

labelID=new JLabel(“请输入账号:”);labelID.setBounds(50, 100, 100, 30);this.add(labelID);

labelPassword=new JLabel(“请输入密码:”);labelPassword.setBounds(50, 200, 100, 30);this.add(labelPassword);

id=new JTextField(20);id.setBounds(170, 100, 300,30);this.add(id);

password=new JTextField(20);password.setBounds(170, 200, 300, 30);this.add(password);title=new JLabel(“登录界面”);conform.setBounds(100, 280, 80, 30);cancle.setBounds(250, 280, 80, 30);

conform.addActionListener(new LoginListener());cancle.addActionListener(new LoginListener());

this.add(conform);this.add(cancle);} 登录界面如图6所示

图6 登录界面

3.2树状显示目录

登录成功后显示默认路径的树状文件目录的主要代码:

void getRoot(DefaultMutableTreeNode superroot, File f){

File files[] = f.listFiles();

for(int i = 0;i < files.length;i++){

DefaultMutableTreeNode de = new DefaultMutableTreeNode(files[i].getName());

if(files[i].isDirectory()){

de.setAllowsChildren(true);

} else {

de.setAllowsChildren(false);

System.out.println(“不是目录的有:” + de.toString());

}

superroot.add(de);

} }

private class TreeListener implements TreeExpansionListener { // 重写两个方法

public void treeCollapsed(TreeExpansionEvent event){

}

public void treeExpanded(TreeExpansionEvent event){

DefaultMutableTreeNode node =(DefaultMutableTreeNode)(event

.getPath()).getLastPathComponent();

if(node.getChildCount()== 0){

DefaultMutableTreeNode originalNode = node;

String fileName = node.toString();

while(node.getParent()!= null){

node =(DefaultMutableTreeNode)node.getParent();

fileName = node.toString()+ “" + fileName;System.out.println(”当前展开路径名“ + fileName);

} if(originalNode!= null){

File f = new File(fileName);

if(f.isDirectory()){

File files[] = f.listFiles();

if(files!= null)

for(int i = 0;i < files.length;i++){

DefaultMutableTreeNode dmtn = new DefaultMutableTreeNode(files[i].getName());

if(files[i].isDirectory())

dmtn.setAllowsChildren(true);

else

dmtn.setAllowsChildren(false);

dtm.insertNodeInto(dmtn, originalNode,originalNode.getChildCount());

}

}

}

} }

树状目录显示如图7所示:

图7 树状显示目录

3.3新建目录实现主要代码:

private class NewMenuAction implements ActionListener {

public void actionPerformed(ActionEvent e){

TreePath path = tree.getSelectionPath();

MutableTreeNode node =(MutableTreeNode)path

.getLastPathComponent();

DefaultTreeModel model =(DefaultTreeModel)tree.getModel();

if(node.getAllowsChildren()){

String Name = JOptionPane.showInputDialog(null, ”创建目录名称:“);

if(!Name.equals(”“)){ MutableTreeNode newNode = new

DefaultMutableTreeNode(Name);// 建立新节点

1);

+ Name);

tree.fireTreeExpanded(path);model.insertNodeInto(newNode, node, 0);String fullPath = ”“;

for(Object obj : path.getPath()){ String str = obj.toString();if(str.endsWith(”“))

str = str.substring(0, str.length()1);if(fullPath.equals(”“))

fullPath += str;else

fullPath += ”“ + str;} String FileName = JOptionPane.showInputDialog(null, ”创建文件名称:“);

if(!FileName.equals(null)){ File f = new File(fullPath + ”“ + FileName);try {

f.createNewFile();} catch(IOException e1){

e1.printStackTrace();} } else { JOptionPane.showMessageDialog(null, ”不能添加文件!“);return;

}

}

} }

新建文件如图9所示,图9 新建文件

3.5删除文件实现

删除文件主要代码:

private class DeleteAction implements ActionListener{

public void actionPerformed(ActionEvent e){

TreePath tp = tree.getSelectionPath();

DefaultMutableTreeNode node =(DefaultMutableTreeNode)tp.getLastPathComponent();

DefaultTreeModel dtm =(DefaultTreeModel)tree.getModel();

dtm.removeNodeFromParent(node);

String fullPath = ”“;

for(Object obj : tp.getPath()){

String str = obj.toString();

if(str.endsWith(”“))

str = str.substring(0, str.length()-1);

if(fullPath.equals(”“))

fullPath += str;

else

fullPath += ”“ + str;

}

File currentFile = new File(fullPath);

if(currentFile.isFile())

currentFile.delete();

else

deleteDir(currentFile);

} } public static boolean deleteDir(File dir){

if(dir.isDirectory()){

String[] subDir = dir.list();

for(String s : subDir){

deleteDir(new File(dir, s));

}

}

return dir.delete();}

删除文件如图10所示:

图10 删除文件

3.6读取文件实现

读取文件主要代码: void readFile(){

fileDialog = new JFileChooser(”F:“);

int state = fileDialog.showOpenDialog(null);

if(state == JFileChooser.APPROVE_OPTION){

try {

File dir = fileDialog.getCurrentDirectory();

String name = fileDialog.getSelectedFile().getName();File file = new File(dir, name);// 创建一新文件

fw = new FileReader(file);

br = new BufferedReader(fw);

String s = null;

this.setTitle(name);

jta.setText(” “);// 清空文本区的内容

while((s = br.readLine())!= null){

jta.append(s + ”n");

}

br.close();

} catch(Exception e1){

e1.printStackTrace();

}

} } 读取文件如图11所示:

图11 读取文件

4设计总结

对于本次操作系统课程设,由于对树状显示目录这样面的内容比较陌生,刚起步阶段花了很大时间去查阅各种资料。当完成设计时,感觉掌握了以前学到的知识,并且还对操作系统应用有了更深入的认识。比如对树的展示有了很好的学习,对二级文件系统也有了很好的了解,熟练Java布局的使用,如何解决实现里面功能的各种问题。本次设计集树、监听器、布局、输入输出流、文件系统这几方面的知识而成,具有一定挑战性。

5参考文献

[1] 李刚.疯狂Java讲义.电子工业出版社出版社,2008.[2] 耿祥义,张跃平.Java面向对象程序设计.清华大学出版社出版社,2009.

C#课程设计_简单人事管理系统的设计与实现 第2篇

目 录

前 言....1 1 需求分析....2 1.1 系统需求...2 1.1 功能需求...2 1.3 可靠性要求...3 1.4 性能需求...3 2 开发环境简介....4 2.1 Delphi简介...4

2.1.1 Delphi7的集成开发环境(IDE)...5 2.1.2 Pascal简介...9

2.2 SQL Server 2000 简介...10 2.2.1 SQL Server 数据平台...10 2.3 TQuery部件在SQL编程中的运用...12 3 总体设计....14 3.1 基本设计...14 3.1.1 设计概念...14 3.1.2 功能分析...14 3.1.3 数据流图...14 3.1.4 系统模块...16 3.2 用例图...18 4 数据库设计....21 4.1 数据库概念设计...21 4.2 数据库逻辑结构设计...23 5 详细设计....30 5.1 系统主窗体...30 5.2 数据库连接...31 5.3 用户登陆界面...32 5.4 用户功能选择...34 5.5 用户信息录入...34 5.6 查询功能窗体...36 5.7 数据备份和还原窗体...37 5.8 工作日记及工作日记管理...39 5.9 用户管理及用户密码修改...41 5.10 打印报表模块...43 5.11 数据公用模块...45 5.12 其它模块...46 6 总 结....47 参考文献....49 致谢....50

人事管理系统

网络工程 雷灵明 指导老师:曹步青

摘要:随着企业自身人力资源的日益庞大、复杂程度逐渐增强,人机作坊再也无法适应如今企业的人事管理了,取代的是运用各种领域的知识,结合计算机科学而开发的人事管理系统。人事管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。人事管理系统是对工作人员进行统一的管理,可以方便的进行录入,查询,修改,删除,退出。经过以上分析,本系统使用Delphi 7.0作为界面和功能开发工具和SQL Sever 2000作为后台数据库,利用其提供的各种面向对象的开发工具进行界面和数据库开发。软件过程结合了快速原型模型与增量模型的优点:首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成可行系统。关键词:人事管理;DEPHI;ADO;SQL server 2000

Personnel Management System Network engineering Lei Lingming Teacher:Cao Buqing

Abstract: Along with their own human resources increasing, complexity growing, the man-machine workshop also is unable adapt the present enterprise’s personnel management again, but the personnel management system that make use of knowledge in different fields and computer science and technology.Personnel management system is a typical management information system(MIS), including the establishment and maintenance of the background-database and front-end application development.To the former, the request for the data which is powerful in consistency and integrity, database which is good in security.For the latter, the request for the applications program which is integrity and easy to easy, Personnel management system can manage the staff and admit input, enquiries, modify, delete, and exit.Through such analysis, the system use Delphi 7.0 as the interface and functions of development tools and take SQL Sever 2000 database as background-database, the development of the interface and database which made use of its object-oriented tools, the software process is formed which is combine the advantage of rapid prototype models and incremental model, as follows: At first application prototype of system is built in a short time, Secondly, the initial prototype system needs to be revised and improved, Finally, it is feasible that the system is built.Key words: human resource management;DEPHI;ADO;SQL server 2000

前 言 背景

在竞争越来越激烈的社会里,企业人事管理就越显示出其不可缺性,成为企业一个非常重要的模块。企业人事管理系统主要是用于员工个人相关信息的管理。使用人事管理系统,便于公司领导掌握人员的动向和人员的综合素质,及时调整人才的分配,使用计算机对人事劳资信息进行管理,具有检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等优点,能够极大地提高人事资源管理的效率,也是企业科学化、正规化管理的重要条件。目标

设计一个企业人事信息管理系统,此系统要以人为中心,为企业提供全面的人事管理解决方案;

a)为企业建立规范化、实时化人事管理机制;

b)提高企业人事管理的效率、节约相关的管理成本,增强人事管理的安全性;

c)满足企业管理层,人事业务操作层和全体员工的不同层次和不同方面的需要;

d)对企业将来的整体信息化建设提供必要的支持。需求分析

需求分析是系统开发必要环节,也是重中之重。作为该过程的结果,需求规格说明书是对系统的功能和行为完整的描述。系统设计将来自于需求分析的抽象规格说明转变为面向真实世界的设计。一旦构建完成,该系统就会投入使用,同时会不可避免地产生更多的新需求。同时,需求过程与分析活动之间有相当程度的重叠,分析建模对于设定工作的范围和其他一些事来说是必要的,所以我们利用分析模型来描述需求过程,随着开发工作的继续,分析活动在工作中占的比例将变得越来越大,直到所有需求都已知。[1]

1.1 系统需求

企业的人事管理职能主要分为人事档案信息管理、人事变动管理、员工培训管理、奖惩管理等内容。

a)在人事系统开发时应考虑以下需求: b)满足人事管理职能的基本要求;

c)进行多层次数据汇总,为各层次管理者的决策分析提供数据; d)具有完整的系统接口,满足灵活的数据导入与导出; e)对操作人员的技能要求比较低,操作方便; f)能够实现方便的扩展,满足企业发展的需要; g)能够保障人事管理数据的安全、准确。

1.1 功能需求

基于系统需求分析,该系统需要实现以下基本功能:

a)用户管理:管理系统操作人员,设置操作人员口令和权限。在满足不同系统用户的操作需求的基础上,提高系统的安全性。

b)人事档案管理:完成企业对员工个人档案(包括员工的基本档案和在职信息)的管理及相关操作。操作员进行员工档案信息录入及更改,其中包括员工的基本信息、工作经历、家庭关系、奖惩记录和培训经历,要求对这些员工档案信息进行新增、修改、删除操作,同时可以进行查询和浏览操作。该模块是本系统的重点,用户可以通过该模块为单位建立一个比较完整的人事档案系统,同时可以对档案进行查看。

c)基础数据管理:维护人事管理相关的一些基础数据。主要包括以下功能:

(a)民族档案设置:维护职工中民族档案信息;

(b)职工类型设置:维护当前企业职工与企业的关系的类别信息;(c)文化程度设置:维护企业职工的文化程度类别信息;(d)政治面貌设置:维护企业职工的政治面貌类别信息;(e)部门类别设置:维护企业中设立的部门类别信息;(f)职务类别设置:维护企业中设立的职务类别信息;(h)职称类别设置:维护企业职工的职称类别信息;

d)人事变动管理:对于人事上的变动调整进行管理,对人员档案的信息进行更新(如:员工职务、员工职称、员工性质等的变动)。

e)工作日志管理:记录部门或系统用户的一些备忘信息,包括日常的一些事件记录,以及工作日记的管理维护。

f)数据库管理:对现有的数据库进行管理,包括数据备份和恢复,以方便用户对数据库的管理和维护工作,提高系统的数据安全性。1.3 可靠性要求

a)计算机稳定可靠,网络服务和数据库服务稳定可靠;

b)网络通畅、稳定;软件运行稳定;数据计算及数据传输无误;提供数据备份和数据恢复方案。1.4 性能需求 1)硬件环境

在最低配置的情况下,系统的性能往往不尽如人意,现在的硬件性能已经相当出色,且

价格也很便宜,因此通常给服务器端配置高性能硬件。推荐配置为: ·处理器:Intel 奔腾Ⅲ 或更高 ·内存:128MB ·硬盘空间:40GB ·显卡:Geforce系列显示适配器或更高。2)软件环境

·操作系统:windows 98/ME/2000/N ·数据库:Microsoft SQL server 2000 开发环境简介 2.1 Delphi简介

Delphi这个名字源于古希腊的城市名。它集中了第三代语言的优点。以Object Pascal为基础,扩充了面向对象的能力,并且完美地结合了可视化的开发手段。Delphi自1995年3月一推出就受到了人们的关注,并在当年一举夺得了多项大奖。

Delphi的出现打破了Visual系列可视化编程领域一统天下的局面。并且Delphi使用了本地编译器直接生成技术,使程序的执行性能远远高于其它产品生成的程序。它还是真正的面向对象的编程语言。PASCAL语言的严谨加上可视化的优势和强大的数据库功能使得它有充分的资本和微软的VB叫板。许多人当时都认为Pascal 是最有前途的程序设计语言,并预测Delphi将会成为可视化编程的主流环境。

Delphi在你编好程序后自动转换成。EXE文件它运行时速度比VB快,而且编译后不需要其他的支持库就能运行。它的数据库功能也挺强的,是开发中型数据库软件理想的编程工具。Delphi适用于应用软件、数据库系统、系统软件等类型的开发。而且它拥有和VB差不多一样的功能,而且一样能应用API函数,这在控制Windows很有用。

Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。

Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。

Delphi已经为您做好了一切基础工作——程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。在空白窗口的背后,应用程序的框架正在等待用户的输入。由于您并未告诉它接收到用户输入后作何反应,窗口除了响应所有Windows的基本操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。Delphi把Windows编程的回调、句柄处理等繁复过程都放在一个不可见的Romulam覆盖物下面,这样您可以不为它们所困扰,轻松从容地对可视部件进行编程。

面向对象的程序设计(Object-Oriented Programming,简记为OOP)是Delphi诞生的基础。OOP立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进Windows编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。

说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼

其中多媒体音频视频播放器是通过TMediaPlayer组件来实现的,支持的格式与系统已安装的解码器有关。

总 结

6.1 程序设计风格

在设计的时候采用了增量模型的思想:把软件作为一系列的构件来设计,编码,集成和测试。

用户管理,密码修改,用户登陆,万年历,这些模块都有高度的独立性,因此他们的可重用性比较高,基本上是一个单元完成一个功能,模块规模也比较小,模块的作用域在控制域之内,只使用了两个全局变量来存储用户名和用户权限。[1] 在人机界面设计方面,本系统做到了以下几点: a)保持一致性(界面,背景的致性);

b)提供有意义的反馈(用户验证和用户管理,提供了比较精确的反馈信息);

c)在执行有较大破坏性的动作之前要求用户确认(数据备份与还原); d)允许大多数取消操作(大多数单元有取消操作功能);

e)允许犯错误(由于权限的限制,系统能保护自己不受严重错误的破坏);

f)按功能对动作分类(在主窗口就是按动作类型组织菜单的); 6.2 有待加强项

a)帮助的制作 一个完整的应用程序必须具有完整的帮助系统;帮助系统可以在必要的时候给用户信息提示和一些系统相关服务。

b)声音制作在这里主要是对声音的加载,我们可以加载一些一般的声音;主要来源有:音频CD盘;波形音频文件;MP3文件等等。其中波形音频文件以WAV作为文件的后缀,我们可以播放现成的,也可以播放自己录制的文件。c)我们还可以使用各种组件和ActiveX控件等技术来完善系统。利用一些做好的activeX组件,会缩短开发周期。

由于在开发工程方面缺少经验,所以这个系统还存在着许多不足之处,在测试过程中总结如下:

a)数据表的设计还不是很合理;

b)数据异常处理要更加人性化,错误信息的反馈要更加精确; 6.3 心得

经过一个月的设计和开发,人事管理系统基本开发完毕,其基本功能符合用户需求,能够完成基础数据录入,数据查询等基本功能,以及相关报表的打印。在这次毕业设计中,我获益良多。首先我明白了需求分析对于一个系统的开发的重要性。其次我还学到了如何把一个软件作为一个工程来做,在真正的软件开发中,一个软件系统的开发不是一个人来做,而是很多人合作来完成的,另外还有软件的后期维护等等,这时就显现出了把软件作为一个工程来做的优越性,而这些都离不开数据流图和模块的分解。

Delphi是一个非常强大的开发工具,它具有运行速度快、易于学习和使用以及开发效率高的特点,使用起来真的是很顺手。学习好一门编程语言以后可以为今后的学习和工作带来很大的便利。

虽然本系统实现了基本的用户需求功能,但是还有待于完善和加强,总之通过这次设计和开发过程,我对软件开发有了进一步的了解。

参考文献

[1] 张海藩编著.软件工程导论[M].清华大学出版社出版,2003,1-173. [2] 宋一兵,赵景波,李春艳著.Delphi 7.0基础教程[M].机械工业出版社,2003,2-30.

[3] 刘瑶儒著.新概念SQL Server2000教程[M].北京科海集团公司出,2001,12-23.

[4] 韩强编著.SQL SERVER 2000 程序员手册[M].机械工业出版社出版,2000,4-35.

[5] 萨师煊著.数据库系统概论(第二版)[M].高等教育出版社,1991,8-40. [6] 施伯乐,丁宝康,汪卫著.数据库系统教程[M].高等教育出版社,2002,1-202.

[7] 肖健著.SQL Server2000实践与提高[M].中国电子出版社,2002,13-53. [8] 林金霖著.Delphi6 实务经典[M].中国铁道出版社,2002年5月,6-110. [9] 黄超,王志伟著.Delphi企业经营管理系统开发实例导航[M].人民邮电出版社,2003,20-90.

[10] 程文刚主编.Delphi数据库实用编程100例[M].中国铁道出版社,2004,8-63.

[11] 王晟,万科著.Delphi数据库开发经典案例解析[M].清华大学出版社,2005,85-89.

[12] 王惠刚,唐晨光彭为著.delphi7/8程序设计[M].清华大学出版社, 2002,42-63.

[13] 潇湘工作室,邢增平著.Delphi 6.0最佳专辑[M].人民邮电出版社,2003,1-404.

[14] 心铃.Delphi问答.软件报[N],2004-07-5.

[15] 高永惠.浅谈Delphi中的异常处理方法[J].湖南轻工业高等专科学校学报,2002-04,9-10.

[16] 徐萌飞.在Delphi中使用ADO技术对数据库操作[J].中国学术期刊(光盘版)电子杂志社,2001,12-13.

[17] 陈建兵.Delphi中基于安全灵活的动态连接远程数据库SQL的实现[J].福建电脑,2005,12-13.

[18] 孙育红.关于地方法院管理信息系统分析设计与实施[D].中国学术期刊电子杂志社,2001,8-9. [19] 岳冰.南部引嫩工程信息管理系统开发[D].中国学术期刊电子杂志社,2003,20-21.

[20] 庞芳,王丽玫.南宁市自动气象站业务服务数据库系统[D].中国学术期刊电子杂志社,2004,21-23.

[21] 徐军.研究生院综合管理信息系统的研究与实现[D].中国学术期刊)电子杂志社,2004,32-33.

C#课程设计_简单人事管理系统的设计与实现 第3篇

排序是编程中最常用的算法之一, 能够将一组杂乱无章的数据按照大小顺序排列。排序的方法有很多种, 常用的算法有插入排序、冒泡排序、选择排序、快速排序、堆排序、归并排序、基数排序及希尔排序等等。本项目中将使用选择排序、冒泡排序、插入排序这三种简单排序算法实现排序的功能。

2 简单排序演示项目的功能需求

本项目是随机生成待排序数据的简单排序演示程序, 能够用选择排序、冒泡排序、插入排序3种方法进行排序并显示排序的动态过程。功能结构如图1所示。

3 简单排序演示项目的实现

3.1 排序数据的准备

本项目中待排序的10个数值, 利用Random产生随机数字, 通过循环给每一个元素赋值, 再由标签控件数组显示内容, 代码如下:

3.2 动态过程的实现

3.2.1 选择排序

在选择排序的过程中, 动态的效果包括2个元素的比较、2个元素位置的移动及这2个元素下标的交换。

创建方法compare, 用于2个元素的比较。代码如下:public void compare (Label l1, Label l2)

创建方法move, 用于实现2个元素位置的移动。主要代码如下:

上述move方法只是实现了2个元素位置的交换, 元素的下标没有发生相应变化。继续在dynamic类定义体中创建方法swap, 用于实现2个元素下标的调整。代码如下://实现2个元素下标的交换

3.2.2 冒泡算法

在冒泡排序的过程中, 动态的效果同样包括2个元素的比较、2个元素位置的移动及这2个元素下标的交换。可直接使用定义的三个方法:compare、move和swap。

3.2.3 插入排序

在插入排序的过程中, 动态的效果较之前两种排序算法比较特殊, 包括待排序元素的移动、2个元素的比较、有序元素向后移动及待排序元素的插入4部分。其中2个元素的比较已经在之前的算法中作了创建与说明, 这里可以直接使用compare方法实现比较效果。

创建方法moveleft, 用于实现待排序元素的移动效果, 主要代码如下:

创建方法moveback, 用于实现元素向右移动, 覆盖后一个元素。主要代码如下:

将确定的待排序元素插入到有序序列中, 用moveto方法实现。代码如下:

4 简单排序演示项目演示界面

程序运行时, 由“随机生成数列”按钮生成10个待排序的数值, 再通过选择相应的排序算法, 将排序的过程动态地、直观地演示出来。

参考文献

[1]田军, 李丰军.基于VB程序的冒泡排序算法演示[J].电脑知识与技术, 2011.

[2]罗国明.冒泡排序动态演示算法设计[J].福建电脑, 2013.

C#课程设计_简单人事管理系统的设计与实现 第4篇

关键词:进销存;销售管理;进货管理

中图分类号:TP315 文献标识码:A 文章编号:1674-7712 (2012) 10-0133-01

一、概述

随着企业的发展,客户的增多,企业的各项管理工作也变得繁杂,给企业的经营带来了困扰。信息化经营管理观念使中小企业经营者逐渐认识到转变企业经营管理理念,使企业经营管理模式适应时代的发展。进销存管理系统便是此时的产物,它是建立在真实、有效的数据信息基础之上,是一种科学的、理性的管理体制,它是以货物流为基础,以票据流为主线,以资金流为补充的3种数据流关于进货、库存、销售和财务的管理系统,可以降低企业的库存,提高资金利用率和结算速度,实现仓库管理工作系统化、规范化、自动化,正确的进货和库存控制及发货,减少管理费用,实现高效、实时、科学和智能的管理,是全面提高企业竞争力的有效途径。

二、系统设计

(一)系统功能结构设计。进销存管理的任务是进、销、存、退、换等的管理、相应款项流通的管理和票据的管理。所以本系统主要有一下的一些功能模块:信息管理、进货管理、销售管理、库存管理、应收款、应付款的管理、账务管理、统计分析、零售管理、账务管理、系统管理。销售管理模块由销售订单、销售单、销售退货单、调整历史售价、历史查询四个子模块组成。库存管理模块由库存查询、库存转库、库存盘点、报损报溢、上下限设定、库存上下限报警、历史查询七个模块组成。为了减少篇幅,文章只对销售管理、库存管理等模块进行分析。

(二)数据库设计。根据系统具体要求,设计如下的表格:用户清单,权限清单,商品清单,供货商清单,客户清单,仓库清单,业务员单,进货单,进货单明细,进货单历史,进货单明细历史,销售单,销售单明细,销售单历史,销售单明细历史,库存单。这里数据库名为:My_Data。根据实际需要来建立数据表,如供货商清单表包括的属性有:供货商号、拼音编码、名称、地址、邮编、区号、地区、类型、电话、传真、电报、开户行、开户行、邮编、银行帐号、税号、库房地址、库房电话、业务员、业务部门,用脚本创建数据表。

三、主要功能模块设计

(一)数据库类。为了方便的实现对数据库实现统一的操作,我们将对数据库的操作封装在一个类中,该类中实现方法SelectDataBase(),用来根据输入的SQL语句检索数据库数据,并返回数据集DataSet。方法UpdateDataBase()用来对数据库数据更新和检索数据库数据,此方法返回的是DataTable,前面的重载函数返回的是DataSet。一般根据个人的习惯来使用这两个函数中的一个。方法UpdateDataBase(string tempStrSQL)数据库数据更新(传字符串,直接操作数据库),前面的重载函数是通过数据集来操作数据库。

(二)销售管理。销售管理用于管理企业的销售业务,包括如下功能模块:销售订单--用于录入公司的销售订单。其属性的内容包括编号、客户编号、销售日期、业务员、制单人等。销售单—用于录入企业的销售单,其属性的内容包括编号、客户编号、销售日期、业务员、制单人、保管员等。销售退货单--用于录入企业销售退货申,内容包括编号、销售单编号、货号、退货数量、销售价等。调整历史售价--用于调整历史销售单的价格,内容包括内部编号、编号量、原销价、新销进价、调整日期、制单人等。历史查询=--用于查询商品销售朗历史。一般情况下用户可以按照条件进行查询。

(三)库存管理。库存管理用于管理企业的库存信息,包括如下的功能模块:库存查询--用于查询企业商品的库存,可以查询总库存和分仓库查询。库存盘点--用于管理企业的库存盘点工作,将实际盘存的商品数量输入计算机,系统自动与数据库中的库存数量进行核对并产中盘盈盘亏统计信息。报损报溢--用于管理企业商品库存的损益。其内容包括编号、货号、仓库、数量、库存单价、金额、日期、责任人、制单人等。上下限设定--用于设置库存的上限和下限,当商品库存的数量超出指定的范围时系统可以自动报警,内容包括序号、仓库号、货号、上限、下限、最佳存量、备注等。历史查询--用于查询各种转库、盘点、损溢的历史数据。

四、主要功能模块的实现

(一)数据库和开发工具。根据系统的要求,数据库采用SQL Server2005或MySQL5.0,开发工具选择visual studio 2010,开发语言用C#。

(二)库存管理。1.在项目中添加一个窗体,并在窗体上添加TextBox、ComBox、Button、DataGrid控件,用于设置查询条件、执行查询和显示查询结果。2.添加窗体初始化代码和控件事件处理代码,主要实现如下功能:显示库存查询窗口、构建查询语句、执行查询、将查询得到的仓库信息添加到下拉列表框中根据输入查询库存中商品信息等操作,代码略。

(三)权限管理。1.在项目中添加一个窗体,并在窗体上添加CheckedListBox和DataGrid控件,用于权限设置和显示,并对其上的控件进行设置。2.添加窗体初始化代码和控件事件处理代码。主要处理代码有权限管理窗口,数据库连接和适配器,用户权限数据的读入并显示,设置显示用户信息的表,改变用户的权限,并向数据库中提交等操作,代码略。

五、小结

文章介绍的是一个具体项目实例的从分析到设计再到实现的开发过程,首先是架构设计,然后是数据库的建立,创建表以及存储过程。然后,是项目的主要模块的设计,其中包括数据库类的的设计。最后是对主要的功能模块的实现进行了介绍,由于限于篇幅,本实例没有实现该项目的全面功能模块,只实现了代表性的功能模块。

参考文献:

[1]郭静.基于JSP的通用信息发布管理系统[J].重庆工学院学报,2005,11

[2]高家全.面向家纺企业的进销存系统设计与实现[J].微计算机应用,2007,01

人事管理系统设计与实现—管理 第5篇

二实验目的:通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose中建模。三实验要求:

(1)员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等。(2)员工各种信息的修改;

(3)对于转出、辞职、辞退、退休员工信息的删除;

(4)按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询、按婚姻状况查询、按学历查询、按工作岗位查询等,至少应该包括按学历、婚姻状况、岗位、参加工作时间等统计各自的员工信息;

(5)对查询、统计的结果打印输出。(6)熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类图)、Object diagram(对象图,Rose中没有)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)、datamodel diagram(数据模型图)(7)完成对系统的建模。

四实验内容:

根据要求画出相应的图形

人事管理用例图

登录管理基本信息管理管理员普通职员查询管理信息输出管理

基本信息管理子用例图

总经理批复信息输入管理员信息修改总经理信息删除

查询管理活动图

经理登录按员工信息查询按员工婚姻状况查询按员工学历查询按员工工作岗位查询统计结果 人事管理活动图

用户登录员工基本信息查询高级权限高级权限删除输入修改员工基本信息输入员工基本信息修改员工基本休息删除统计结果打印输出总经理批复取消编辑批复未通过批复已通过载入文档

登录管理活动图

显示登录界面输入用户名和密码信息检验设置进入权限进入主界面

基本信息管理状态图

员工基本信息录入待编辑管理员输入`修改`删除信息已编辑总经理批复批复已通过总经理批复总经理审批批复未通过未编辑

人事管理状态图

基本信息输入基本信息删除基本信息修改基本信息查询

人事管理实体类图

人事管理系统边界类图

登录人事管理系统主界面员工信息管理员工信息查询管理员工基本信息输入员工基本信息删除员工基本信息修改编辑信息批复员工基本休息修改

人事系统序列图

用户 : 管理员 : 登录验证用户和...打开登录正确打开 : 员工信息查询管理 : 人事管理系统主界面 : 员工信息管理员工基本信息查询基本...编辑员工基本...显示员工基本...显示员工基本...人事管理协作图

4: 正确2: 打开3: 登录1: 验证用户和密码用户 : 管理员 : 登录8: 显示员工基本信息5: 打开6: 7: 查询基本信息员工基本信息 : 员工信息管理9: 编辑员工基本信息 : 人事管理系统主界面10: 11: 显示员工基本信息 : 员工信息查询管理

人事管理组件图

登录主页面身份验证登录系统主页服务器运算编辑主页并提交服务器管理员编辑主页服务器运算出等待经理批复经理批复主页服务器运算批复存入数据库并返回主页面

人事管理数据模型图

人事管理部署图

主机数据库服务器打印机

C#课程设计_简单人事管理系统的设计与实现 第6篇

中图分类号:C962 文献标识:A 文章编号:1674-1145(2017)11-000-02

摘 要 随着社会经济的迅猛发展,企业?炔抗芾矸⑸?了很大变革,作为企业管理关键组成部分的人事管理也不例外。传统的人事管理方式已经不能很好地适应当前的形势,许多问题逐渐暴露出来。因此,在信息化技术迅速发展的时代,人事管理系统的出现是必然趋势,同时也发挥着巨大作用。基于此,本文在对企业人事管理进行研究的基础上,利用Java技术设计和实现了一套人事管理系统。

关键词 企业 人事管理 系统 设计 实现

当今时代,市场竞争日益激烈,而企业的竞争力很大程度上取决于人才的竞争。因此,企业人事管理的作用就尤为凸显,为了促进企业的健康发展,加强人事管理已经迫在眉睫。人事部门工作内容相当繁琐,传统的管理方式显然难以提升工作效率。因此,随着计算机技术在各行各业的普及,建立一套现代化的企业人事管理系统是一个难以避免的重要课题,也是一项新的机遇,其必将促进企业人事管理工作不断取得新的进展。

一、人事管理系统概念

人事管理系统是ERP的一个组成部分。它是指集合了企业先进的管理理念、实践以及信息化系统建设的成功经验,运用信息化的管理手段来实现对企业员工的高效、科学化管理。其优势就是能够将人事管理工作者从繁重的事务性工作中解放出来,使其能够将更多精力用于工作规划以及重要的管理决策上,以此实现对企业员工的高效管理,提升企业人事管理的科技含量以及管理效率。

二、系统的需求分析

(一)性能需求

所设计的系统需要满足以下性能需求:整个企业人事管理系统可以在本单位的局域网中正常、高效运行;通过应用该系统能够减轻人事管理人员工作量、提高管理效率;该系统可以实现良好的人机交互,操作简便、快捷,并且针对不同级别的操作人,设置有不同的操作权限;操作界面能够将查询结果以图表形式清晰地展现给用户并方便用户查询;系统数据安全性较强,同时便于维护,当用户出现错误操作时,系统能给出相应的提示。

(二)功能需求

系统正式开发后,必须满足用户的实际需求。因此,本套系统具有如下几个功能模块:第一,人事管理:管理人员可以将企业员工的姓名、职位等基本信息资料、家庭情况、工作及学习经历、所掌握的技能、获得的证书等信息录入到该模块中;第二,调动管理:该模块就是对企业关公人员的入职、调动、离职等情况进行记录与保存;第三,合同管理:在该模块中,管理人员可以实现对合同的增加、删除、修改与查询等相关操作;第四,培训管理:该模块还分为培训课程以及培训记录两个子模块。该模块能够合理安排培训课程并进行培训记录,帮助管理人员对培训效果进行检测;第五,辅助功能管理:该模块又可划分为日常事务、通讯录、会议管理等子模块,其主要是对管理人员的会议记录、通讯录管理等日常事务进行辅助管理;第六,工资、考核、奖惩管理:该模块能够实现对企业员工工资计算、考核以及惩奖措施等的有效管理。功能模块示意图如图1所示。

图1功能模块示意图

三、企业人事管理系统的设计

(一)系统构架设计

该套系统的主要结构框架由数据层、业务层、界面层三个层次建立而成,只有三者互相协调配合工作,才能实现系统的有效运行。数据层主要是人事管理系统与数据库之间的数据交互,从而为业务层提供数据支持;业务层负责人事管理系统与各管理者工作业务的实现,其是应用实体类和实体方法的技术组合,能够为界面层提供业务处理和处理结果的传输;界面层就是将各层次工作过程以可视化的界面展现出来,供用户使用[2]。人事管理系统的构架示意图如图2所示。

图2人事管理系统构架示意图

(二)数据库设计

数据库是按照数据结构来对数据进行组织、存储以及管理的仓库,换而言之,数据库就是电子化的文件柜,用来对电子文件进行存储。该系统采用关系型数据库My SQL,该种数据库具有应用广泛、操作简便、并且免费的特点,同时,其本身携带一套简便易用的图形化系统,而且具有较高的安全性。因此,该数据库的应用能够有效降低错误及冲突发生的概率,保证资源的高效分配。

四、企业人事管理系统的实现

(一)系统构架的实现

整个人事管理系统的系统架构采用的是MVC三层架构开发模式,它属于Java EE当中的一种,数据层为Model,通过hibernate来实现;业务层为Entity Control,通过Service和Action(Struts)对应生成,通过Spring来实现Service与Action的关联;界面层为View,通过Action将业务层处理的结果显示在界面上,反馈给用户[3]。

(二)界面的实现

1.登陆界面

登陆界面包括用户名、密码、验证码三个输入框,同时还会给予信息不能为空的提示。用户输入相应的信息后,系统对这些信息进行验证,如果信息正确则通过数据库进行查询;如果信息输入有误,将会给出登陆失败的提示,并通过Java API来调取本地方法,以确保相应的安全权限[4]。

2.主界面

根据不同的用户类型,可以分为主界面和个人主界面,页面左侧为树状程序菜单,其余部分为各子菜单的对应页面,系统通过Tab页管理方式来实现对界面的管理。

3.个人页面

通过登录验证的员工可以在个人页面对基本信息、考勤记录等信息进行查询。另外,用户还可以在该页面对自己的登录密码进行修改。

五、结语

综上所述,企业人事管理系统在企业管理中发挥着越来越重要的作用。因此,笔者结合自己的工作经验,并在不断的探索中,应用相关的技术设计了一套企业人事管理系统。当然,该套系统还有很多不完善之处,需要更多的实践探索,并且还需要随着技术的进步不断进行调整。当然,系统的设计还需要结合企业的实际情况,只有这样才能保证系统的有效运用,进而促进企业的健康、长久发展。

参考文献:

C#课程设计_简单人事管理系统的设计与实现 第7篇

专业:软件工程 姓名: 指导教师:

摘要随着科技的迅速发展,在经济领域的网络技术应用最突出的一个例子就是电子商务。电子商务在根本上改变了传统的商品买卖的模式,使买卖双方的交易更加便捷并且降低了彼此间交易成本。网上购物系统,一种具备交互功用的物品买卖系统,它在网上创建虚构的购物商场,让购物变得轻松、快捷、方便。

本系统分为两个大的模块。前台包括用户注册登录、浏览商品、查询商品、商品评价、订购商品、购物车等;后台包括对商品及其种类的管理、对用户信息查看、订单详情、评论管理等功能。

本系统前台主要用JSP语言开发,后台数据库为MySQL,使用MyEclipse实现,JSP引擎为tomcat7.0.6,展现给用户的是一款以Web技术为基础、B/S架构的网上购物系统。

关键字SSH,Tomcat,MySQL,商城

Abstract With the rapid development of science and technology, in the economic fieldof network technology application of the most prominent example is e-commerce.E-commerce fundamentally changed the traditional pattern of commodity trading, so that buyers and sellers of the transaction more convenient and reduce the transaction costs between each other.An online shopping system, an interactive trading system, which creates fictional shopping malls on the web, making shopping easier, quick and easy.The system is divided into two large modules.The front desk includes the registration of the user and its type, the user information view, order details, comment management and other functions.The front of the system using JSP language development, the background database for MySQL, the use of MyEclipse implementation, JSP engine for tomcat7.0.6, and show to the user is a Web technology-based, B / S architecture online shopping system.Key Words:SSH,Tomcat,MySQL,Mall

目录

1.绪论.............................................................................................................................................................1 1.1 课题背景...........................................................................................................................................1 1.2 目的和意义.......................................................................................................................................1 2.相关技术介绍................................................................................................................................................2 2.1 SSH框架............................................................................................................................................2 2.2 MySQL数据库....................................................................................................................................3 2.3 B/S结构............................................................................................................................................4 2.4 JSP.....................................................................................................................................................5 3.需求分析........................................................................................................................................................6 3.1 可行性分析.......................................................................................................................................6 3.1.1 技术的可行性.......................................................................................................................6 3.1.2 操作可行性...........................................................................................................................6 3.1.3 法律的可行性.......................................................................................................................7 3.2 用户用例图.......................................................................................................................................7 3.2.1 标准用户用例图...................................................................................................................7 3.2.2 管理员用例图.......................................................................................................................7 3.3 系统功能需求...................................................................................................................................8 4.系统设计........................................................................................................................................................9 4.1 系统总体架构设计...........................................................................................................................9 4.2 功能模块划分.................................................................................................................................10 4.3 数据库设计.....................................................................................................................................11 4.3.1 数据分析.............................................................................................................................11 4.3.2 数据库的详细设计.............................................................................................................12 5.系统实现......................................................................................................................................................14 5.1 开发环境的搭建.............................................................................................................................14 5.1.1 Windows8系统下所用软件..............................................................................................14 5.1.2 环境搭建.............................................................................................................................14 5.3 前台基本功能的设计.....................................................................................................................16 5.3.1 用户维护.............................................................................................................................16 5.3.2 商品展示.............................................................................................................................20 5.3.3 购物车.................................................................................................................................21 5.4 后台管理的设计.............................................................................................................................22 5.4.1 订单管理.............................................................................................................................22 5.4.2 商品管理.............................................................................................................................23 5.4.3 公告管理.............................................................................................................................24 5.4.4 评论管理.............................................................................................................................25 6.系统测试......................................................................................................................................................25 6.1 前台首页的测试.............................................................................................................................25 6.2 用户注册模块的测试.....................................................................................................................26 6.3 商品管理模块的测试.....................................................................................................................26 7.结束语.........................................................................................................................................................27

I 参考文献.........................................................................................................................................................28

II

1.绪论

1.1课题背景

计算机Internet的兴起改变这个社会的商品贸易性质,我国一些企业从上世纪崛起。但是,因为电子商务前进的制度环境欠缺,对此制约的法律不完善,信用体系待加强引起的一系列问题,对电子商务的前进有了一定程度的阻碍。从2000年以后,社会的一步步的前进,网络交易中各种瓶颈的制约因素一个接一个地被打破,企业的扩散也增加了对电子商务的影响。

自2006年以来,我国的电子商务发展很快,其市场的交易规模从2006年的1.5亿元突增到2013年的9.7亿元,达到30%的年均复合增长率。网上交易和实体经济越来越密切的结合,不断渗透在我国工业、农业、商务贸流、旅游和零售消费等多个范畴。其支撑体系,例如:物流配送、电子支付也在逐步扩大。

按照iResarch中国网购市场数据可知,2016年第三季度中国网购市场交易额达1.15万亿元,与上一年相比,企业规模有了很大幅度的增长,并且继续保持平稳增长态势。国家统计局发布的数据显示,同年第三季度我国消费品零售总额达到8.2万亿元,网上购物在总额中所占的比例比去年同期增长13.9%,涨幅为1.5个百分点。

概言之,中国电子商务发展势头良好,呈上升趋势,设计本系统是有必要且明智之举。

1.2 目的和意义

网上购物和传统购物相比有许多优点: 1.方便搜索 在线销售可使用各种检索方式,从分类、销售排名、新货等准确。2.海量信息

较传统购物而言,网上购物系统拥有大量商品信息供买家选择。3.成本低,风险小,无地域限制

对商家而言,在线购物打破了传统购物的时间局限性,使客户群更加壮大,增加了商品的销路和销量,并省去了实际店铺所产生的花销。对买家而言,可随时随地购物,足不出户收揽世界各地美食美物。

2.相关技术介绍

2.1 SSH框架

SSH是用于构建灵便,易于扩展的多层Web应用程序的多个框架(struts + spring + hibernate)的集成。在组合SSH框架中,三者各司其职:

Struts是一个非常流行的MVC框架,缩短了应用程序开发所需要的时间,拥有很强大的拦截机制,Servlet和JSP是它的主要核心。当使用Struts 的MVC模式,就可以有一个清晰的逻辑,并可以削弱业务逻辑接口和数据接口的结合,视图层丰富的变化,使程序结构化;

Spring在框架中充当着一个容器的角色,维护着各层次之间的关系。Spring具有IoC容器、轻量、AOP、促进其他框架、面向接口等特性。这些特征避免了每次都要手动开启事务,提交事务的重复代码,使开发逻辑更加清晰、更容易管理。

Hibernate是开放源码的对象关系映射框架。JDBC访问数据库的代码被其封装,数据访问层复杂的重复性代码因为Hibernate而被强有力的简化了。具有较强的移植性,适合各类数据库,不会改变繁琐的代码,只需变换配置就可以继续使用。

在SSH框架中,其架构图如图2-1所示,对象间的调用流程如图2-2所示:

图2-1 SSH架构图

图2-2对象调用流程图

2.2 MySQL数据库

MySQL是一种开源的关系型DBMS,在所有的数据库管理语言中SQL语言是它使用比较频繁的一种。MySQL是一个中小型数据库,与其他数据库相比,它因所占的内存空间较小,速度快、可靠性较高、拥有较好的适应性而备受关注。本系统对数据库的要求不是特别高所以使用MySQL数据库绰绰有余。在本系统设计过程中,运用了MySQL-Front这一款优秀的MySQL 管理工具,能够在任何地点对我们的数据库有效而轻松的进行管理。

2.3 B/S结构

B/S结构即浏览器/服务器模式,该模式具体是这样的:得到用户在浏览器上向服务器发出的请求消息,服务器需要处理相关信息并且发送回服务器。B/S结构源自Web网络结构模型的开发。在B/S模式下,所谓的Web服务软件和Web应用是至关重要的,Web服务软件主要是处理用户对Web应用的请求,并对web应用运行且进行管理,让客户的信息请求得到满足。因此,系统的开发需要安装JSP引擎,在这里用到的是由Apache和Sun公司联合开发的Tomcat服务器。

B/S结构的优点

1.具有分布式特点,打破时间空间限制,业务可以更加方便的被查询与浏览。

2.业务易拓展,服务器功能的多少取决于增加页面的多少。3.易维护,只需要更改页面,即可实现数据更新的同步。4.开发简单,共享性很好。B/S架构图如图2-3所示:

图2-3 B/S架构图 2.4 JSP 现如今信息快速发展,Java已经无处不在。手机软件、手机游戏、电脑软件都多多少少的涉及到Java,只要你使用手机、电脑等电子产品,你就会用到跟Java有关的东西。很多涉及到Java的技术都被普遍应用和认可,JSP就是其中的一个。

JSP(Java Server Pages)是在服务器上运行的Java视图技术,可以使用HTML,CSS,JavaScript等客户端语言编写模板文本。JSP支持所谓的taglib,它们由Java代码支持,我们可以通过该代码动态控制页面流或输出动态,一个著名的标签是jstl。JSP还具有内置的servlet代码,不需要任何外部编译可以直接运行。

JSP的执行过程如下: 1.客户端访问JSP页面;

2.JSP文件被转变成Servlet源码; 3.Servlet源码被进行了编译; 4.JSP容器加载编译后的代码并运行; 5.把执行过程响应到客户端。执行过程如图2-4所示:

图2-4 JSP执行过程

3.需求分析

3.1 可行性分析

3.1.1 技术的可行性

MyEclipse和MySQL数据库实现本系统的主要工具,Java语言由于跨平台、容易掌握被广泛使用。大三时对Java有了一定程度的学习,大四上学期进行了实习实训对SSH架构也有了一些认识和掌握,对系统数据库的实现是主要要做的工作。在校学习期间对软件分析、测试等也有一定的经历,实现了本系统在技术上的可行性。3.1.2 操作可行性

本系统只需要一台PC就可以对其进行操作,而且操作方便,不需要太多的专业计算机方面的知识。根据具体提示就可以容易的执行自己想要做的事情,在日期输入方面采用下拉式日历,不用再对日期的格式纠结,操作方面具有可行性。3.1.3 法律的可行性

本系统是自主设计的购物系统,很有现实意义。大部分用到的开发工具都是开源的,实现该系统没有侵权,这在法律上是可行的。

概言之,开发本系统是完全可以的。

3.2 用户用例图

3.2.1 标准用户用例图

对普通用户而言使用该系统具体流程如下:

未注册的用户可以浏览商品,查看公告。当需要购买时进行注册,注册完成进行登录。完成上述操作,想变更个人信息很容易,只需进去个人信息就可以对其进行所需的更新。登录后可选择商品并进行订购,把商品加入购物车后去收银台结算,提交订单后获得订单后,等待商品的到达。

其用例图如图3-1所示:

图 3-1 普通用户用例图

3.2.2 管理员用例图

管理员在这个系统中充当了主要的角色,涉及到的功能模块主要有以下 六部分:

如图3-2所示:

图 3-2 管理员用例图

3.3 系统功能需求

1.前台系统功能模块分为

(1)商品展示模块:通过新货上架、销量排名、焦点商品、特价商品等;

(2)商品查询模块:商品可按类别查询也可以再搜索框输入具体名称;(3)购物车模块:将商品加入购物车后可以选择删除、数目、更新价格、返回继续购物、结算等操作;

(4)用户维护模块:允许使用者注册、登录、更改个人消息等;(5)订单查询模块:可以看到历史订单以及各个订单的状态、支付金额、时间等信息;

(6)公告浏览模块:用户可及时了解店铺的活动;(7)评论模块:对心仪商品进行评价。2.后台系统功能模块分为

(1)商品管理模块:可查询商品并对其进行编辑以及添加商品;(2)会员管理模块:管理员查看注册用户信息并对其进行操作;(3)商品类别管理模块:对商品类别以及其子类做一些所需更改;(4)订单管理模块:特权用户对订单有关情况进行了解并安排发货或者拒绝该交易;

(5)公告管理模块:管理员添加或者发布有关商城的消息;(6)评论模块:对买家的评价进行浏览并选择删除或保留。

4.系统设计

4.1 系统总体架构设计

在设计本系统的时候,要尽量让人们看清楚,严格依照三层构造。JSP主要应用到了表现层,Servlet应用到了中间层,数据的储存主要运用到了MySQL数据库。

具体的总体构架如图4-1所示:

图 4-1 系统总体架构

4.2 功能模块划分

根据所描述的功能需求,本系统能够完成以下的功能。系统的功能模块,如图4-2所示:

图 4-2 功能模块图

在本系统中用户管理模块涉及到的功能较而言之有些容易。系统使用初期,用户“b”被设置为系统管理员,是由设计者手动连接到数据库中的。“b”可以创建另外的管理者信息,标准用户自己处理自己所要处理的信息。

主要功能如图4-3所示:

图 4-3 用户管理功能模块关系图

4.3 数据库设计

本系统对数据库的要求不是特别高所以使用MySQL数据库绰绰有余。在本系统设计过程中,运用了MySQL-Front这一款优秀的MySQL管理工具,让我们的数据库可以在任何地方被方便的维护和管理。4.3.1 数据分析

1.用户注册、登录,建立用户信息数据表是必不可少的,数据项包括用户联系方式、用户名、密码、地址等;

2.查询商品信息和详情,不但要对类别进行管理,而且还需对每个商品进行管理,2个数据表是其下限;

3.下单完成以后要进行订单管理,包括基本信息和订单详情等; 4.系统需要被管理,管理员信息数据表示需要被建立的,包括管理员信息、密码等数据项。

5.买家对商品要给出评价,在该系统建立消息形式是一定要的,包括所要评价信息名称、日期等。

主要创建的数据项与结构如下:  用户信息:买家ID,买家名等;  管理员信息:管理员ID,密码等;  商品信息:商品ID,商品名称、单价等;  商品类别信息:商品类别ID,类别名称等;  订单信息:订单ID,用户编号,订货地址等;  订单明细信息:订单ID,商品ID,订货时间等;  评价信息:评价标题,评价日期,评价内容等。4.3.2 数据库的详细设计

对数据进行分析后,将该购物系统的数据库命名为db_snaokshop,使用以下几张表来存储所需要的数据。

1.商品信息表

在该表中收录了所有商品的一些信息。如表4-1所示:

表4-1 商品信息表

2.商品类别信息表

对商品进行归类存放,让买家更容易找到所需要的货品,卖家对商品也方便管理。如表4-2所示:

表4-2 商品类别表

3.订单信息表 此表用于记录用户下单情况,让用户便于查看商品订单情况也为admin发货给了一定的数据支持。如表4-3所示:

表4-3 订单表

4.订单明细信息表

买家购买商品后,形成一个商品独有的订单号,在这订单中包含买家购买商品的具体数量和规格等内容,卖家主要根据订单信息为买家安排发货的。如表4-4所示:

表4-4 订单详情表

5.用户信息表

表中主要记录了用户的ID、名称、住址等信息,方便买家对自己的信 息进行修改,卖家对购物者的具体信息进行管理。如表4-5所示:

表4-5 用户信息

5.系统实现

5.1 开发环境的搭建

5.1.1 Windows8系统下所用软件

(1)jdk1.7.0_17(2)mysql-5-winx64(3)MySQL-Front(4)apache-tomcat-7.0.6(5)MyEclipse 8.5 5.1.2 环境搭建

(1)JDK环境变量配置

第一、在Sun官网免费获取JDK安装程序,并点击安装。第二,JDK安装完成,配置环境变量。点击“设置”—>“电脑信息”—> “高级系统设置”,选择“高级”,点击“环境变量”的按钮。

打开系统变量,点击“新建”,添加名为Java_Home的变量名;变量值输入C:Program FilesJavajdk1.7.0_17,点击确定。同上新建一个变量名为:classpath,值为:.;%Java_Home%lib;%Java_Home%libtools.jar的变量,点击确定。点击Path变量,点击“编辑”,在变量值中添加:%Java-home%bin;%Java_Home%jre7bin;,点击确定。

(2)安装myeclipse8.5。双击exe文件,选择路径,根据提示逐步安装。(3)添加Struts和Hibernate。右击“工程”---->“Build Path”---->“Configure Build Path”找到所需要的Struts2和Hibernate包进行添加。

(4)安装mysql-5-winx64。点击exe文件行安装,安装完毕后,需要如下操作来测试是否安装成功。在命令行输入mysql-uroot –p123(-u后面为用户名,-p后为数据库密码),若显示如图5-1所示效果,则MySQL安装成功。

图5-1 测试MySQL安装成功

(5)安装MySQL-Front软件。该软件是一款优秀的MySQL数据库的管理工具,在MySQL-Front官网或者华军软件园下载后,双击下载的exe 文件,按照相应提示安装即可。

5.2 系统首页设计

本购物商城的主界面设计如图5-2所示,进入该页面可了解到网站主要功能,左上部分为用户注册、登录;公告浏览、商品查询、销量排行处于右部分,主要是为方便用户了解和购买商品。

图5-2 系统首页

5.3 前台基本功能的设计

5.3.1 用户维护

使用本系统的用户提供的信息要可靠并且需要安全管理,所以用户管理在网购系统设计中具有重要的意义。

该模块涉及到的功能如下: 1.注册(1)实现目标 用户注册需要对密码进行输入、确认并填写真实的个人信息如:姓名、地址、邮箱等。用户只需按照所需填写即可。邮箱虽然不是必不可少的,但是设置这样一个东西有以下好处:第一,用户的邮箱很大程度比其他联系方式固定并且是唯一的;第二,通过用户的e-mail可以更方便的联系。在注册时,提示不符合规矩,则需重新填写。成功注册后的信息会在后台数据库中存储。界面的设计如图5-3所示。

图5-3 用户注册模块

表5-1 用户注册表

2.登录

(1)对用户登录主要流程描述

用户登录要对其输入的信息进行校验,如果之前有注册,登录成功。相反,如果用户未注册,提示相应导致无法登入的信息。用户登录过程的流程图如图5-4所示。

开始输入用户名密码登录否身份验证是否成功? 是成功登录结束 图5-4 用户登录流程图

用户登录界面如图5-5所示:

图5-5 用户登录模块

表5-2 用户登录表

3.用户修改(1)实现目标

登入系统后,主界面会有“个人信息”模块,点击此处查看个人信息。在该界面可以对自己所注册信息进行查看,若要进行更改,点击“修改个人信息”就可以对不满意信息进行更改,若不需要做任何变动,点击“返回主页”就可以继续购物。修改个人信息界面如图5-6所示:

图5-6 用户修改模块

表5-3 修改个人信息表

5.3.2 商品展示

1.实现目标

货品在界面上以不同的方式展现给买家。第一:将所有产品进行分类,每一类中又有其子类,将产品详细的划分,让买家更加方面的找到自己的所需;第二:分别从销量、评价、价格、上架时间四个角度把产品划分为热销商品、焦点商品、特价商品及新品上架,让买家从另一个角度了解到产品的好坏以及是否值得入手。其界面设计如图5-7所示:

图 5-7 商品展示界面

2.实现过程

所在页面名称:index.jsp 通过查询相应表,按销售额字段升序排列实现。5.3.3 购物车

1.购物车程序流程描述

用户将商品添加到购物车,点击进入购物车后,可对商品进行数量的修改,满意后更新价格,进入结算中心结账或者返回继续购物,最后一起结算。当用户决定不买商品时,对购物车清空后继续返回购物。其流程图如图5-8所示:

图5-8 购物车程序流程图

界面的设计如图5-9所示:

图5-9 购物车模块

5.4 后台管理的设计

5.4.1 订单管理

1.实现目标 在该模块中管理员可以了解用户下单的具体情况。在与仓库核实后若有库存,根据详细信息联系仓库进行发货,发货后点击“发货”告知用户;如果仓库没货,及时联系买家并删除订单。该界面如图5-10所示的设计:

图5-10 订单管理模块

5.4.2 商品管理

1.实现目标

商品可以被管理员进行删除、修改等操作,在搜索框查询具体要编辑的商品后点击“修改”就可以进行上述操作,根据相应商品对其添加图片。如图5-11所示的设计:

图5-11商品管理模块

5.4.3 公告管理

1.实现目标

建立该模块让商家可以在自己的系统平台上为所销售的物品打广告,买家进入商城主页后也可以第一时间了解商品的实时资讯。该界面如图5-12所示的设计:

图5-12 公告管理模块 5.4.4 评论管理

1.实现目标

用户对商品以及商城的建议和意见在后台显示,让管理员查看,对自家服务和商品的优劣有所了解,根据用户的评价规划商城以后的发展以及商品的更替。该界面如图5-13所示:

图5-13 评论管理模块

6.系统测试

6.1 前台首页的测试

1.查询模块测试

点开系统首页,然后在搜索框的右上方输入查询的全名,搜索货物将单独显示,通过对系统进行大量测试,模块成功。

2.商品分类模块测试

测试过程是点击左边的页面的商品类别,鼠标移动到一个商品类别,会弹出其子类别,选择不同的子类别会显示不同种类的商品,反复测试后该模 块无误。

6.2 用户注册模块的测试

在用户注册界面所有前面加“*”的都是必须填写的,“出生年月”、“联系方式”等无法知晓真假的不加入测试中。

必要的测试准备的数据有:

打开注册页面,输入第一组数据,单击注册按钮,系统提示表单信息不能为空,这组数据中真实姓名为Null。然后测试第二组数据,因为密码前后不一致而无法注册。把第三组数据输入后,可以注册成功,故通过。

6.3 商品管理模块的测试

1.商品添加

点击“商品管理”,接着点击“添加商品”会出现所属子类别、名称、单价、库存、商品简介等需要填写的部分图片,类别是通过下拉列表框选择。所有内容填写成功后点击“提交”就可以在上一层界面看见所添加商品的详情(此时没有商品图片)。点击“上传图片”,就可以传对应物品图片,经多次商品的添加均成功。

2.商品删除

通过点击“删除”对商品进行删除操作,检查表中是否还有此记录,若无则删除信息成功。

3.商品修改

点击“修改”,在跳出的页面对一些商品的产品编号、所属类别、名称、单价、库存、内容简介进行修改,经多次修改,“商品管理”中均出现修改后商品的信息。

经过多次多方面的测试,均无误,该系统已经正确地实现了用户的需求,可以投入使用中。

7.结束语

通过长时间的学习和探索,完成了本科毕业设计以及论文的撰写,本系统需要实现的功能都已实现。实现的功能包括用户注册登录、商品浏览、商品查询、公告浏览、购物车、订单查询、商品管理、商品类别管理、公告管理等。

在系统的设计开发过程中,由于以前学习过程中动手操作的不多,给自己带来了很多的麻烦。对一些开发工具不太了解,在查阅课本以及浏览网上的一些讲解,对需要用到的工具有了一定的了解并且可以很好的操作,为系统开发前期做好了准备。在设计过程中遇到的一些问题,指导老师都会悉心的讲解和指导,给予了我很大的帮助。虽然设计已经完成,但不免有些小的瑕疵,例如:商品检索时输入完整名称才可以弹出对应商品。不过在往后的学习和努力下我一定可以把这个系统做的比现在更好。

在设计本系统的几个月里,自己的知识不足之处比比皆是。相信以后慢慢的积累,扩充自己的知识,一步一个脚印,不断努力拼搏,就一定会实现自己的目标。

基于C#的考试系统的设计与实现 第8篇

1 随机抽取试题的设计思路

1.1 随机抽取试题的技术障碍分析

在程序设计中,试题的随机抽提及试题的随机分配的是技术难点。尤其是在考试系统的设计中,显得尤为重要。要做到以下两点:1)在不超过题库数量的情况下做到试题的随机抽取,即考生之间的试题是随机的。2)试题是随机分配个每个试卷的。只有克服以上技术难点,才能是考试系统具有一定的实际应用价值。

1.2 随机抽取试题的设计思路

在本技术障碍的解决过程中,通过使用SQL Server中的newid()函数实现随机抽取试题,此函数可以动态的创建uniqueidentifier类型的值,即随机数[1]。newid函数用于创建uniqueidentifier类型的唯一值。

在本系统中,通过使用newid()函数随机抽取一定数量的试题,代码如下:

2 保存试卷的设计思路

2.1 保存试卷的技术障碍分析

大多数的考试系统并没有保存考生试卷的功能,或只能保存考生的分数。这样虽然能起到测验的效果,但不能对以往的电子试卷进行重复的查询。如果可以保存考生每次的考试卷子,像纸质的试卷的那然,电子试卷被保存在数据库中。这样的技术难点在于,数据库的建模。因为前面已经介绍过随机抽取试题的问题,所以,每个考生的试卷都不同,这样需要保存每个考生每次考试的所有细节,包括:试题在随机抽取后的题号,及随机分配的题号;每道试题所对应的正确答案,该道试题考生做出的答案;本次考试的试卷代码号;考生的学号等信息。这样才能使考生在日后的试卷查询中可以轻松的找到想要看得那套试卷,以及当时自己做的答案,标准答案,分数等信息。这要求对数据库中的表进行精细的设计。

2.2 保存学生试卷的设计思路

本考试系统采用SQL Server 2005数据库作为后台数据库,为考生创建db_StuExam的数据库,下面详细介绍本考试系统的重要数据表的功能及结构[2]。

2.2.1 tb_StuTest表

tb_StuTest表用于存储所有类型的考试,其中包括试卷名称、试题类型、题目、试题选项、正确答案等信息。tb_StuTest表的结构如表1所示。

2.2.2 tb_StuExamResult表

Tb_StuExamResult表用于存储考生考试结果[3],其中包括不同类型试题的考试分数、试卷名称、试题序号、标准答案、考生答案等信息,tb_StuExamResult表的结构如表2所示。

2.3 考试系统业务流程的总体设计

在考试系统中,首先要选择登录身份,然后验证登录用户是否正确。如果是考生登录则验证成功后进入考试系统进行答题或者查询分数。如果是管理员登录则登录成功后会进入考试管理界面,在此界面中可以对试题和考生进行管理,考试系统的业务流程图如图1所示。

3 结束语

随着计算机编程语言的不断发展,使得系统程序设计变得越来越简便。本系统通过解决考试系统的设计过程的技术障碍,使得本考试系统能够成功的应用。在以后的调试与改进过程中,系统可以衍生出access版本学生考试系统、单机版学生考试系统、网络版学生考试系统。最后通过Windows应用程序的打包与部署,使该系统成为可以安装与卸载的Windows应用软件。

摘要:该文在参考了相关系统设计的基础上,提出基于C#的考试系统设计方案。通过分析考试系统的实际需求及技术障碍,成功解决了随机抽取试题、保存学生试卷这两方面技术难点。

关键词:C#,考试系统,随机抽取

参考文献

[1]张跃廷,顾彦玲.ASP.NET从入门到精通[M].北京:清华大学出版社,2009,153-168.

[2]周绪.SQL Server数据库基础教程与上机指导[M].北京:清华大学出版社,2004:149-154.

C#课程设计_简单人事管理系统的设计与实现

C#课程设计_简单人事管理系统的设计与实现(精选8篇)C#课程设计_简单人事管理系统的设计与实现 第1篇仲恺农业工程学院课程设计为LINUX ...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部