您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页网上花店系统设计报告

网上花店系统设计报告

来源:意榕旅游网
河北工业大学

课 程 设 计 论 文

基于C#的网上花店系统的设计与实现

THE DESIGN AND REALIZATION OF Online florist SYSTEM ON

THE C#

学生姓名:尚 硕

学 号: 201120212031 年级专业:2011级计算机应用一班 指导老师:顾军华老师

2011年 12月28 日

课程设计报告

目 录

摘 要 ....................................................................................................................... 2 一、需求分析 ............................................................................................................ 2

1.1开发背景和意义 ............................................................................................ 2 1.2功能需求分析 ............................................................................................... 3 1.3性能需求分析 ............................................................................................... 4 1.4数据库需求分析 ............................................................................................ 4

二、概念结构设计 ..................................................................................................... 6 三、逻辑结构设计 ..................................................................................................... 7 四、物理结构设计与实现 .......................................................................................... 7 五、详细功能设计与实现 .......................................................................................... 9

5.1登陆模块设计与实现 ..................................................................................... 9 5.2主菜单模块设计与实现 ...................................................... 错误!未定义书签。 5.3职工基本信息管理模块设计与实现 .................................... 错误!未定义书签。 5.4工资档案模块设计与实现 .................................................. 错误!未定义书签。 5.5奖惩情况模块设计与实现 .................................................. 错误!未定义书签。

5.6工资发放模块设计与实现 .... 错误!未定义书签。5.7考勤信息模块设计与实现 5.8用户管理模块设计与实现 .................................................. 错误!未定义书签。

六、总结 ...................................................................................... 错误!未定义书签。6 参考文献 ............................................................................................................... 197 致 谢 ...................................................................................... 错误!未定义书签。7

《网上花店系统》设计文档

作 者:尚硕

- 2 -

错误!未定《C#》课程设计报告

指导老师:顾军华

摘 要:

现如今,随着经济的不断发展,有越来越多的人喜欢网上购物。有些人把网上购物作为一种时尚,不过更主要的,网上购物可以节约时间且操作方便。这说明随着生活节奏的加快,人们已经把网上购物作为生活的一部分。所以,我做这个系统的目的就是想模拟网上购物系统,不能和现在的网购系统相比,有很大的差距。

关键词:C# SQL Server2000数据库 网上花店系统

一、需求分析

1.开发背景和意义

管理信息系统就是我们常说的MIS(Management InformationSystem),在强调管理,强调信息的现代社会中它变得越来越普及。传统的登记表的做法极大的影响了工作流程效率和数据的正确性、完整性、安全性,已经逐渐落后于时代。利用软件管理系统代替手工的企业工资管理,将会大大提高工作效率。

用户的需求具体体现在各种信息的提供、保存、更新和查询上,这就要求数据库的结构能充分满足各种信息的输出和输入。需求分析阶段主要是收集基本数据,确定数据结构及数据处理的流程,组成一份详尽的数据字典,以便为后面的概念设计和逻辑设计打下基础。 2.功能需求分析

系统主要包括职工,部门的基本信息管理,工资的计算和管理,职工的管理制度,管理员和用户的管理三大功能模块,以下为各部分的详细介绍: 职工,部门的基本信息管理功能包括:

对工作人员基本信息的增、删、改; 按职工编号查询员工信息; 对部门基本信息的增、删、改、查; 按部门名称查询该部门的人员信息; 工资的计算和管理功能包括:

职工工资档案的修改和查询; 职工奖惩情况的修改和查询;

职工的工资由工资档案和奖惩情况计算得出结果,包括修改和查询; 根据职工工资总额查找一定范围工资的职工基本信息等等; 职工制度的管理功能包括:

职工的表现情况的增、删、改;

-19-

《C#》课程设计报告

职工考勤情况的增、删、改等等; 管理员和用户的管理功能包括:

以管理员登录可以对所有的功能模块进行操作;

以用户身份登录只能查看自己的基本信息,修改自己的密码; 系统功能图如下:

工资管理系统 职工信息管理 部门信息管理 工资管理制度 管理制度 系统职工基本信息 职工信息查询 部门信息操作 部门信息查询 部门变动情况 工资档案 职工奖惩情况 工资发放情况 职工考勤 职工调动 退出系统

系统功能图

3. 性能需求分析

安全性:设立口令号和密码验证方式,防止非法用户登录进行操作,用户凭口令号和密码进入此系统,可以更改密码。 4.数据库需求分析

登录信息 寻找信息 用 户 信息错误 登 录 操 作 返回信息 数据库

图1.2 数据库需求分析——数据流图

-19-

《C#》课程设计报告

生成数据字典: 1).数据项描述 数据项名称:职工编号 别名:zgbh

含义说明:惟一标识一个职工的代号 类型:varchar 长度:50 其它数据项略 2).数据结构描述 名称:部门 含义说明:定义了一个部门的有关信息 组成结构:部门编号、部门名称、部门人数、负责人、联系电话 名称:工资 含义说明:定义了一个职工的工资信息 组成结构:编号、姓名、岗位工资、部门、基本工资、补贴、公积金、备注 名称:考勤 含义说明:定义了一个职工考勤的有关信息 组成结构:编号、姓名、部门、加班、请假、旷班、备注 名称:职工 含义说明:定义了一个职工的有关信息 组成结构:编号、姓名、部门、性别、出生日期、民族、婚否、职称、政治面貌、身份证号、学历、入职时间、家庭住址、联系电话、简历、备注 名称:奖惩 含义说明:定义了一个职工奖惩的有关信息 组成结构:编号、姓名、部门、奖惩说明、奖惩类型、奖惩日期,、备注 3).数据流(非数据项)说明

-19-

《C#》课程设计报告

数据流名称:新职工登记表 含义:新职工入职时填写的数据表格 来源:管理人员 去向:录入职工档案 数据流量:不定 组成:编号、姓名、部门、性别、出生日期、民族、婚否、职称、政治面貌、身份证号、学历、入职时间、家庭住址、联系电话、简历、备注 数据流名称:工资档案表 含义:管理部门对员工工资的记录的工资数据 来源:管理人员 去向:录入工资档案表 数据流量:不定 组成:编号、姓名、岗位工资、基本工资、津贴、补贴、公积金、备注 数据流名称:查询结果 含义:领导、管理人员、员工需要了解自己工资的情况等原始数据及统计信息 来源:查询处理 去向:领导、管理人员、职工 数据流量:不定 组成:工资发放信息和考勤信息等原始数据及统计信息

4)数据存储说明 (以其中的三个表为例说明)

数据存储名称:职工基本档案表 含义说明:存放职工档案信息 存储方式:一条记录存储一个职工的档案信息,整个表存储所有职工的档案信息 -19-

《C#》课程设计报告

处理要求:增、删、改和查询、排序 说明:编号用来唯一标识一个职工 数据存储名称:工资档案表 含义说明:存放工资的基本信息 存储方式:一条记录存储一个职工的基本信息,整个表存储所有职工的工资信息 处理要求:增、删、改和查询、排序 说明:编号用来唯一标识一个职工工资 数据存储名称:考勤信息 含义说明:存放职工考勤的信息 存储方式:一条记录存储一个职工某年某月的考勤信息,整个表存储所有职工的考勤信息 处理要求:增、删、改和查询、排序以及统计 说明:姓名和考勤日期和用来唯一标识某个职工某年某月的的考勤信息 二、概念结构设计

姓 名 职 称 性 别 年 龄 -19- 电话号码 职工基本信息 家庭住址 政治面貌 《C#》课程设计报告

民 族 婚 否 姓 名 备 注 固定工资 工资发放表 发放日期 奖惩金额 工资总额 其它加 其它扣 职工编号 备 注 姓 名 公积金 工资档案表 基本工资 五 险 津 贴 岗位工资

图2.1 部分概念结构图

三、逻辑结构设计

四、物理结构设计与实现 物理结构设计的原则如下:

(1) 尽可能的减少数据冗余和重复。 (2) 结构设计与操作设计相结合。 (3) 数据结构具有相对的稳定性。

-19-

《C#》课程设计报告

基于以上设计原则,本系统设计了一个数据库,包含职工基本信息表、部门信息表、工资档案、奖惩表、工资发放表、考勤表、职工调动表、用户表等表。本系统中相关数据库表结构设计举例如下:

职工基本信息表

字段名 职工编号 姓 名 职 称 性 别 年 龄 民 族 婚 否 政治面貌 家庭住址 电话号码 部门名称 部门信息表 字段名 部门编号 部门名称 数据类型 int Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 长度 4 50 50 50 50 50 50 50 50 50 50 字段值约束 Not null Not null 主外键 p 数据类型 char char 长度 10 10 -19-

字段值约束 主外键 Not null p 《C#》课程设计报告

部门人数 负责人 电 话 工资档案

char char char 10 10 10 字段名 职工编号 姓 名 基本工资 岗位工资 津 贴 五 险 公积金 备 注 奖惩表

数据类型 int Varchar2 float float float float float Varchar2 长度 4 50 8 8 8 8 8 50 字段值约束 Not null Not null 主外键 p 字段名 职工编号 姓 名 奖励金额 惩罚金额 奖惩日期 数据类型 int Varchar2 float float Varchar2 长度 4 50 8 8 50 字段值约束 Not null Not null 主外键 p -19-

《C#》课程设计报告

备 注 工资发放表

Varchar2 50 字段名 职工编号 姓 名 固定工资 奖惩金额 其它加 其它扣 工资总额 备 注 用户表 字段名 用户名 口 令 密 码 数据类型 int Varchar2 float float float float float Varchar2 长度 4 50 8 8 8 8 8 50 字段值约束 Not null Not null 主外键 p 数据类型 int Varchar2 Varchar2 长度 4 50 50 字段约束值 主外键 Not null p 五、部分详细设计及功能实现 用户登录窗口

-19-

《C#》课程设计报告

核心代码如下:

if (oper.LoginSystem(userName.Text, Pwd.Text,Indentify.Text).Tables[0].Rows.Count > 0)

{

if (Indentify.Text == \"管理员\")

{

frMain main = new frMain();

main.Show();

this.Visible = false; } else {

用户使用

useruse= new 用户使用(userName.Text,Indentify.Text);

useruse.Show(); this.Visible = false; } } else {

MessageBox.Show(\"操作员用户名称或密码错误,请重新输入!\", \"系统提示\", MessageBoxButtons.OK, MessageBoxIcon.Information);

userName.Focus(); } }

主窗体设计

-19-

《C#》课程设计报告

核心代码如下:

private

void

treeView_NodeMouseClick(object

case \"职工信息\": ds oper.GetDataSetWorkersIn(); break; case \"部门信息\": ds oper.GetDataSetDepartIn(); break; case \"调动信息\": ds oper.GetDataSetChangeIn(); break; case \"用户信息\": ds oper.GetDataSetUsers();

break; case \"考勤信息\": ds oper.GetDataSetKaoQin(); break; case \"工资档案\": ds oper.GetDataSetWageRecord();

=

break; case \"工资管理\": ds

= = = = = = =

sender, TreeNodeMouseClickEventArgs e) {

DataSet ds = null; txtCount.Visible = false;

if (e.Node.Text == \"工资管理系统 yi\")

{

MessageBox.Show(\"欢迎使用本工资管理系统!\", \"系统提示\", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); }

else if (e.Node.Text == \"工资计算\") {

txtCount.Visible = true; } else {

switch (e.Node.Text) {

case \"基本信息\": ds oper.GetDataSetWorkersIn(); break;

-19-

《C#》课程设计报告

oper.GetDataSetSendWage(); break; case \"工资发放\": ds oper.GetDataSetSendWage(); break; case \"奖惩制度\": ds

= =

oper.GetDataSetReward(); break; }

WageView.DataSource ds.Tables[0].DefaultView; } }

=

职工基本信息

核心代码如下:

private void workerInfo_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) {

txtId.Text g();

txtName.Text g();

txtZhicheng.Text g();

txtXingbie.Text

=

workerInfo.SelectedRows[0].Cells[3].Value.ToStrin

=

workerInfo.SelectedRows[0].Cells[2].Value.ToStrin

=

workerInfo.SelectedRows[0].Cells[1].Value.ToStrin

=

workerInfo.SelectedRows[0].Cells[0].Value.ToStrin

g();

txtNianling.Text g();

txtHunfou.Text g();

txtMinzu.Text g();

txtMianmao.Text g();

txtZhuzhi.Text

= =

workerInfo.SelectedRows[0].Cells[7].Value.ToStrin

=

workerInfo.SelectedRows[0].Cells[6].Value.ToStrin

=

workerInfo.SelectedRows[0].Cells[5].Value.ToStrin

=

workerInfo.SelectedRows[0].Cells[4].Value.ToStrin

-19-

《C#》课程设计报告

workerInfo.SelectedRows[0].Cells[8].Value.ToString();

txtDianhua.Text g();

txtBumen.Text =

=

workerInfo.SelectedRows[0].Cells[9].Value.ToStrin

txtHunfou.Text = \"\"; txtMianmao.Text = \"\"; txtZhuzhi.Text = \"\"; txtDianhua.Text = \"\"; txtBumen.Text = \"\"; txtMinzu.Text = \"\";

workerInfo.SelectedRows[0].Cells[10].Value.ToStri

ng(); }

private void

btnDelete_Click(object

sender, EventArgs e)

{

DataSet ds = null; if (txtId.Text != \"\") { int

i=

oper.DeleteWorkersIn(txtId.Text.ToString()); ds = oper.GetDataSetWorkersIn();

workerInfo.DataSource = ds.Tables[0].DefaultView; } else { int i

=

oper.DeleteWorkersIn(workerInfo.SelectedCells[0].

Value.ToString()); ds =

oper.GetDataSetWorkersIn();

workerInfo.DataSource = ds.Tables[0].DefaultView; }

txtId.Text = \"\"; txtName.Text = \"\"; txtZhicheng.Text = \"\"; txtXingbie.Text = \"\"; txtNianling.Text = \"\";

工资发放情况设计

MessageBox.Show(\"数据删除成功!\", \"系统提示\", MessageBoxButtons.OK, MessageBoxIcon.Information); }

private void btnAdd_Click(object sender, EventArgs e) {

DataSet ds = null; if(txtId.Text==\"\")

MessageBox.Show(\"职工编号不能为空!\", \"系统提示\", MessageBoxButtons.OK, MessageBoxIcon.Information);

else if (txtName.Text == \"\") MessageBox.Show(\"职工姓名不能为空!\", \"系统提示\", MessageBoxButtons.OK, MessageBoxIcon.Information); else { int i

=

oper.InsertWorkersIn(txtId.Text,

txtName.Text,

txtZhicheng.Text, txtXingbie.Text, txtNianling.Text, txtHunfou.Text, txtMinzu.Text, txtMianmao.Text, txtZhuzhi.Text, txtDianhua.Text, txtBumen.Text); ds =

oper.GetDataSetWorkersIn();

workerInfo.DataSource = ds.Tables[0].DefaultView; }

MessageBox.Show(\"数据添加成功!\", \"系统提示\", MessageBoxButtons.OK, MessageBoxIcon.Information); }

-19-

《C#》课程设计报告

核心代码如下:

private

void

id_SelectedIndexChanged(object

private void Exit_Click(object sender, EventArgs e) {

new frMain().Show();

= = = = = = = = =

this.Visible = false; }

private

Wagefafang_CellMouseClick(object DataGridViewCellMouseEventArgs e) {

id.Text ng();

name.Text ng();

Gdgz.Text ng();

Jcje.Text ng();

Qtj.Text

= =

Wagefafang.SelectedRows[0].Cells[3].Value.ToStri

=

Wagefafang.SelectedRows[0].Cells[2].Value.ToStri

=

Wagefafang.SelectedRows[0].Cells[1].Value.ToStri

=

Wagefafang.SelectedRows[0].Cells[0].Value.ToStri

void sender,

sender, EventArgs e) {

DataSet ds = new DataSet(); ds

oper.GetDataSetSendWage(id.Text); name.Text

ds.Tables[0].Rows[0][1].ToString(); Gdgz.Text

ds.Tables[0].Rows[0][2].ToString(); Jcje.Text

ds.Tables[0].Rows[0][3].ToString(); Qtj.Text

ds.Tables[0].Rows[0][4].ToString(); Qtk.Text

ds.Tables[0].Rows[0][5].ToString(); Gzze.Text

ds.Tables[0].Rows[0][6].ToString(); Ffrq.Text

ds.Tables[0].Rows[0][7].ToString(); Beizhu.Text ds.Tables[0].Rows[0][8].ToString(); }

-19-

《C#》课程设计报告

Wagefafang.SelectedRows[0].Cells[4].Value.ToString();

Qtk.Text ng();

Gzze.Text ng();

Ffrq.Text =

=

Wagefafang.SelectedRows[0].Cells[6].Value.ToStri

=

Wagefafang.SelectedRows[0].Cells[5].Value.ToStri

}

private void Modify_Click(object sender, EventArgs e) {

DataSet ds = null; if (id.Text == \"\")

MessageBox.Show(\"职工编号不能为空!\", \"系统提示\", MessageBoxButtons.OK, Wagefafang.SelectedRows[0].Cells[7].Value.ToStri

ng();

Beizhu.Text =

Wagefafang.SelectedRows[0].Cells[8].Value.ToStri

ng(); }

private void Qtk_TextChanged(object sender, EventArgs e) {

Int Gdgz1

= Convert.ToInt16(Gdgz.Text); int Jcje1

=

Convert.ToInt16(Jcje.Text); int Qtj1

=

Convert.ToInt16(Qtj.Text); int Qtk1

=

Convert.ToInt16(Qtk.Text);

int Gzze1 = Gdgz1 + Jcje1 - Qtk1 + Qtj1;

Gzze.Text=Gzze1.ToString();

用户修改密码窗体设计

MessageBoxIcon.Information); else { int i

=

oper.UpdateSendWage(id.Text, name.Text,

Gdgz.Text, Jcje.Text, Qtj.Text, Qtk.Text, Gzze.Text,

Ffrq.Text, Beizhu.Text); ds =

oper.GetDataSetSendWage();

Wagefafang.DataSource = ds.Tables[0].DefaultView;

MessageBox.Show(\"数据修改成功!\", \"系统提示\", MessageBoxButtons.OK, MessageBoxIcon.Information); } ReFresh(); }

-19-

《C#》课程设计报告

核心代码如下:

private void Modify_Click(object sender, EventArgs e) {

string mima = Test(); // Shenfen.Text = mima; if (Username.Text == \"\")

MessageBox.Show(\"用户名不能为空\"); else if (mima==\"\")

MessageBox.Show(\"该用户不存在!\"); else if(mima!=Jmm.Text.ToString())

MessageBox.Show(\"输入的密码不正确!\");

else if (Xmm.Text != Cxmm.Text||Xmm.Text==\"\"||Cxmm.Text==\"\") MessageBox.Show(\"修改的密码不确定,请重新修改!\"); else {

int i = oper.UpdateUsers(Username.Text,Xmm.Text,Shenfen.Text); MessageBox.Show(\"修改成功!\"); Refresh(); } }

普通用户使用窗体设计

-19-

《C#》课程设计报告

核心代码如下:

private void button1_Click(object

EventArgs e) {

DataSet ds = new DataSet(); ds

oper.GetDataSetWorkersIn_Gzff(id.Text); name.Text = ds.Tables[0].Rows[0][\"姓名\"].ToString();

Zhicheng.Text

ds.Tables[0].Rows[0][\"职称\"].ToString(); Bmmc.Text

ds.Tables[0].Rows[0][\"部门名称\"].ToString(); Nianling.Text

ds.Tables[0].Rows[0][\"年龄\"].ToString(); Xingbie.Text

ds.Tables[0].Rows[0][\"性别\"].ToString(); Minzu.Text

ds.Tables[0].Rows[0][\"民族\"].ToString(); Zzmm.Text

ds.Tables[0].Rows[0][\"政治面貌\"].ToString(); Jtzz.Text = ds.Tables[0].Rows[0][\"家庭住址\"].ToString(); Hunfou.Text

= = = = = = = =

sender, ds.Tables[0].Rows[0][\"婚否\"].ToString();

ds

oper.GetDataSetChangeIn(id.Text);

Ybm.Text = ds.Tables[0].Rows[0][\"原部门\"].ToString();

Xbm.Text = ds.Tables[0].Rows[0][\"现部门\"].ToString();

Ddrq.Text = ds.Tables[0].Rows[0][\"调动日期\"].ToString();

ds

oper.GetDataSetKaoQin(id.Text); Qingjia.Text

ds.Tables[0].Rows[0][\"请假\"].ToString(); Kuanggong.Text

ds.Tables[0].Rows[0][\"旷工\"].ToString();

Jiaban.Text = ds.Tables[0].Rows[0][\"加班\"].ToString();

Kqrq.Text = ds.Tables[0].Rows[0][\"考勤日期\"].ToString();

ds

= = = = =

-19-

《C#》课程设计报告

oper.GetDataSetSendWage(id.Text);

Gdgz.Text=ds.Tables[0].Rows[0][\"固定工资\"].ToString();

Jcje.Text=ds.Tables[0].Rows[0][\"奖惩金额\"].ToString();

Qtj.Text=ds.Tables[0].Rows[0][\"其它加\"].ToString();

Qtk.Text=ds.Tables[0].Rows[0][\"其它扣\"].ToString();

Gzze.Text=ds.Tables[0].Rows[0][\"工资总额\"].ToString();

Ffrq.Text = ds.Tables[0].Rows[0][\"发放日期\"].ToString(); }

六、总结

虽然到目前为止做了几个MIS了,但这次给我的体会和感悟比前几次都要深刻。首先,sql数据库让我感到了数据库的作用之大,功能之强,使用方便。以前总以为数据库没什么大作用,因为根本除了建表外也没什么关键作用,但是通过这次做工资管理系统,深深地领悟到了数据库的作用。一个好的MIS系统,首先要看数据库设计的是否合理,是否能保证数据的一致性,完整性和安全性等等诸多方面。其次,C#,通过本次课程设计,明白了C#能“驰骋江湖”的原因,作为一种面向对象的编程工具,它的确有着无人能比的强大功能和方便性。它给编程者带来了超强的编程便捷性,使他们能不用面对复杂的代码和杂乱的命令也能做出非常好的软件。

参考文献

[1] C#编程及应用程序开发教程 清华大学出版社 2007.5 [2] 数据库系统原理及应用教程 机械工业出版社 2008.4

致谢

每一次做完课程设计都有许多要感谢的人,因为一个人的力量是有限的,集体的力量才是伟大的。感谢朱老师这半学期的教导,感谢同学的不耐其烦的

-19-

《C#》课程设计报告

帮助,也感谢一直默默支持我们学习的辛劳的父母,我们虽然还有很多不完善的地方,但是我们会好好学习,一定发挥自己最大的水平。

-19-

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务