版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、洛 阳 理 工 学 院 信息系统设计实践 报告专 业 计算机科学与技术 班 级 B090501 学 号 B09050112 姓 名 高 旭 瑞 完成日期 2013.01.05 实 训/ 实 验 内 容 与 要 求 根据所学课程(数据库应用、软件工程、面向对象程序设计、Web程序设计),进行针对性的综合设计和实现,主要内容如下:1. 根据功能要求完成需求分析,列出系统的功能模块划分和UI设计;2. 根据功能设计数据库,合理构建相关的数据信息表;3. 编写代码,实现信息系统各个模块的功能;4. 测试软件,完善代码功能;5. 撰写报告,对整个工作进行资料总结指导教师:_ 年 月 日指 导 教 师 评
2、 语 成绩: 指导教师:_ 年 月 日17 / 20文档可自由编辑打印目 录1 系统功能分析11.1 基本功能11.2 系统功能模块图22 数据库设计32.1 概念结构设计(E-R图)32.2 逻辑结构设计32.3 物理结构设计及表结构设计43 功能实现63.1 登录模块的实现63.2 系统用户模块的实现73.3 进货模块的实现93.4 售货模块的实现113.5 库存模块的实现123.6 功能测试及界面显示134 总结171 系统功能分析1.1 基本功能 基本资料管理该模块实现物资进销存管理系统中的用户信息管理。包括两种用户,一种是以管理员的身份登录,一种是以普通用户的身份登录。当用户进入物资
3、进销存管理系统时,应该输入自己的用户名和密码,用户名和密码任意一个输入错误,都不能进入系统用户管理界面,系统会报错误信息。当用户进入之后,方可对里面的信息进行修改,删除。而不能对管理员的信息进行修改、删除。进货管理用于对企业的进货商品的信息进行管理。它包含三个子模块,进货单管理、进货价格和单位调整、进货历史查询。进货单管理是对本月所有的货物名称、进货的数量、价格的统计;进货价格和单位调整,即在不同是时期,商品价格会有一定的幅度变化,在这种情况下,我们就可以在此对话框中对商品的价格和单位进行调整;进货历史查询是对以往所进货物的一个记录,方便企业在年度汇总中得到更准确的信息,来计算年利润。在此进货
4、管理中,当企业需要进入新品种时,方可点击“添加新货物品种“,将出现一个对话框,即可对新商品名、数量、价格等进行添加。销售管理用于对企业的商品销售的信息进行管理。跟进货管理相似,同样具有销售单管理、销售价格调整、销售历史查询三大模块。各大模块的功能与进货管理中的同样。库存管理库存管理下包括商品管理和却货管理,当我们点击商品管理时,便出现一个商品管理对话框,在里面可以看到所有商品的信息。可以对货物编号、货物名称、进价、卖价、库存数量、货物单位、备注等信息一一修改。还可以直接在库存中添加货物。最主要一点是,在我们的货物显示栏中有红色标记,表示缺货。而在我们的却货管理模块当中,我可以对却货警告加以限制
5、,根据对货物数量的设置,可以让系统给企业管理者反馈一个却货信息,让企业能够及时的补充相应的货物,避免存在却货现象。1.2 系统功能模块图进货管理进货订单进货价格调整进货单位调整进货单历史查询 图1“进货管理”功能模块销售管理销售单销售订单调整历史售价历史查询图2“销售管理”功能模块库存管理库存查询上下限设定库存上下限报警历史查询图3“库存管理”功能模块2 数据库设计2.1 概念结构设计(E-R图)因为整个系统涉及的实体和属性较多,限于篇幅,这里不能也没有必要一一列举。图3为进销存管理系统E-R图(即实体-关系图)图3 进销存管理系统ER图 图3-1 进销存管理系统E-R图2.2 逻辑结构设计根
6、据以上需求分析,在确定了各个表主键字段的基础上,依据表与表之间相关字段之间的联系建立了各表之间的关系,对应的关系图如图4.6数据库逻辑图所示: 图4.6数据库逻辑图2.3 物理结构设计及表结构设计根据物资管理进销存系统的需求分析,数据库的设计如下所述:一、管理员信息表:用于存放用户登录系统和用户权限的信息。二、进货表:用于存放进货基本信息。三、售货表:用于存放售货基本信息。四、货物信息表:存放货物的基本信息。管理员信息表管理员信息表用于存放用户登录系统和用户权限的信息。字段名描 述类 型长度是否允许为空是否主键aid 自动编号integer11否是aName用户名varchar20否否aPwd
7、 密码varchar20否否isAdmin是否为管理员bit1否否表4.1管理员信息表货物信息表货物信息表用于存放货物的基本信息。字段名描 述类 型长 度是否允许空是否为键gId货物编号integer11否是goodsName货物名称varchar20否否buyprice进货价格floatr11否否Sellprice售货价格Float11否否Num库存数量Integer11否否danwei货物单位Varchar20否否remark备注varchar255是否表4.2货物信息表进货表进货表用于记录每次进货的记录。字段名描 述类 型长 度是否允许为空是否主键bid自动编号integer11否是bu
8、yId货物编号integer11否否buyNum进货数量integer500否否buyTime进货时间dateTime20否否lestNun最低货物数量Integer11否否remark备注varchar255是否表4.3进货表售货表售货表存放每次售货的记录。字段名描述类型长度是否允许空是否主键sid自动编号Integer11否是sellId货物编号Integer11否否sellNum售货数量Integer500否否sellTime售货时间dateTime20否否remark备注varchar255是否表4.4售货表3 功能实现3.1 登录模块的实现首先获取帐号文本框和密码文本框里的值,然后根
9、据帐号查询管理员信息表,如果查找到一条记录,再把记录当中的密码信息与密码文本框的值做对比。相同时则登录成功,不同时则密码错误。最后,弹出系统的主窗体,并且把登录帐号的信息传到主窗体中。实现以上功能的代码如下:private void button1_Click(object sender, EventArgs e) UserInfo u = new UserInfo(); if (textBox1.Text = | textBox2.Text = ) MessageBox.Show(用户名或密码为空!); else Manger sm = new Manger(); DataSet ds =
10、sm.selyh(textBox1.Text, textBox2.Text); if (ds.Tables0.Rows.Count = 0) MessageBox.Show(用户名或密码错误!); else u.myaccount = textBox1.Text; u.mypwd = textBox2.Text; u.mystatue=Convert.ToInt32(ds.Tables0.Rows0type.ToString(); MessageBox.Show(登录成功!); MainForm f = new MainForm(this); f.myInfo = u; this.Hide()
11、; f.Show(); 3.2 系统用户模块的实现系统用户信息用表格的方式显示出来,可以在文本框输入用户的帐号查找某个用户的信息,提高效率。如果不输入则全部查找。选中表格当中的某一条信息点击修改,弹出修改窗体,并且选中的信息在修改窗体中显示出来。选中表格当中的某一条信息点击删除,则删除该信息。实现的主要代码如下:public void Initshow() string username = ; Manger sm = new Manger(); ds = sm.selyh(username, ); this.dgvData.DataSource = ds.Tables0; private v
12、oid button3_Click_1(object sender, EventArgs e) DialogResult dr = MessageBox.Show(你确定要删除选中记录?, 提示, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr = DialogResult.No) return; if (ds.Tables0.Rowsthis.dgvData.CurrentRow.Index.ItemArray0.ToString() = f.myInfo.myaccount) MessageBox.Show(不能删除自己!
13、); return; if (ds.Tables0.Rowsthis.dgvData.CurrentRow.Index.ItemArray0.ToString() = admin) MessageBox.Show(该用户为最高级别用户,不能被删除!); return; tring sql = Delete from shopUser where userID =userID ; try SqlConnection conn = new SqlConnection(server=.;uid=sa;pwd=;database=shopDB); SqlDataAdapter da = new Sql
14、DataAdapter(); SqlCommand cmd = new SqlCommand(sql, conn);/添加参数 SqlParameter userID = new SqlParameter(UserID, SqlDbType.VarChar, 20, 用户名); userID.SourceVersion = DataRowVersion.Current;cmd.Parameters.Add(userID);da.DeleteCommand = cmd;/手动删除选中的行数据 ds.Tables0.Rowsthis.dgvData.CurrentRow.Index.Delete(
15、);if (ds.HasChanges() da.Update(ds.Tables0); this.Initshow(); /刷新数据 MessageBox.Show(删除成功!); catch (Exception ex) MessageBox.Show(ex.Message); 3.3 进货模块的实现对每次进货保留记录,并且可以根据货物名称和进货时间做组合查询。对于以有货物可以直接从下拉列表中选取,系统会自动显示货物的进货价格,当填写完进货数量时,会自动生成总价。对于当前库存中没有的货物可以先添加新的货物品种,然后再从下拉列表中选取。进货的价格和货物的计算单位也可以做修改。实现主要代码如下
16、:/生成货物名称下拉列表private void buyGoods_Load(object sender, EventArgs e) Manger sm = new Manger(); DataSet ds = sm.selkucun(-1, ); boBox1.Items.Clear(); boBox1.Text = 请选择货物名称; for (int i = 0; i + shijian + ; else sql += and DATEDIFF(m,buyTime,GETDATE() + (shijian - 1) + ; try ds = cDbObject.Search(sql, Go
17、odsInfo); catch (Exception e) throw (e); return ds; 3.4 售货模块的实现对每次进货保留记录,并且可以根据货物名称和进货时间做组合查询。当出售货物后该货物库存数量低于警告数量线时会自动报警。货物的出售价格也可以在此模块中修改。实现主要代码如下: DataAccess cDbObject = new DataAccess();public DataSet selSell (int bid,int shijian)/查询 string sql = select B. sellId,G.goodsName,B. sellNum,B. sellTim
18、e,B.remark from sellInfo as B,GoodsInfo as G + where B.goodsId=G.goodsId DataSet ds = null; if (sid!=-1) sql += and sellId= + sid + ; if (shijian !=-1) if (shijian = 4) sql += and DATEDIFF(m, sellTime,GETDATE() + shijian + ; else sql += and DATEDIFF(m,sellTime,GETDATE() + (shijian - 1) + ; try ds =
19、cDbObject.Search(sql, GoodsInfo); catch (Exception e) throw (e); return ds; 3.5 库存模块的实现库存管理是管理剩余货物的相关信息。并且对低于货物警告数量的货物做警报。警告数量由管理员根据实际情况设置。此模块还可以对以有货物信息做修改、删除或添加新的货物种类。实现功能代码如下:private void button1_Click(object sender, EventArgs e) if (textBox1.Text = | textBox2.Text = | textBox3.Text = | textBox4.T
20、ext = | textBox5.Text = ) MessageBox.Show(有未填写的信息!); else string gName = textBox1.Text; Manger sm = new Manger(); DataSet ds = sm.selkucun(-1, gName); if (ds.Tables0.Rows.Count != 0) MessageBox.Show(此货物名称已存在!); else GoodsInfo gf = new GoodsInfo(); gf.mygoodsName = textBox1.Text; gf.mybuyprice = Conv
21、ert.ToSingle(textBox2.Text); gf.mysellprice = Convert.ToSingle(textBox3.Text); gf.mynum = Convert.ToInt32(textBox4.Text); gf.mydanwei = textBox5.Text; gf.myremark = textBox6.Text; bool flage = sm.addkucun(gf); if (flage = true) MessageBox.Show(添加成功!); initshow(); /设置货物警告数量private void button1_Click(
22、object sender, EventArgs e)/确定按钮 int lestName = Convert.ToInt32(textBox1.Text); string goodsName = boBox1.SelectedItem.ToString(); Manger sm = new Manger(); bool flage = sm.shezhi(goodsName, lestName); if (flage = true) MessageBox.Show(设置成功!); initshow(); 3.6 功能测试及界面显示打开物资进销存管理系统,输入用户名和密码,若输入正确则会显示登录成功对话框,否则会提示错误信息,如图6.1登录界面图6-1登录界面当用户登录成功之后,方可选择一个用户信息点击修改,弹出修改界面,可以修改被选中的用户的信息(除admin最高管理员)。“type”类型下的“1”表示最高管理员和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水果出售合同范本
- 安康买房合同范本
- 门面抵押合同范本
- 修建冷库合同范本
- 精神病学主讲课
- 肥料借款合同范本
- 指导协议合同范本
- 物业抢修合同范本
- 花椒销售合同范本
- 装修预约合同范本
- 六年级家长会家长代表演讲稿-PPT.ppt
- 浅谈以体育游戏促进幼儿体能发展
- 2022年普通高中地理课程标(完整哦)
- 事业单位处分条例2021事业单位工作人员处分条例
- 水泥土搅拌桩施工监理实施细则
- 大班科学活动《认识牙齿》ppt课件
- 市政工程合同与造价管理PPT学习教案
- 水文与水资源工程专业毕业实习周记范文12篇
- 国家级灯具检验报告路灯
- 人教版二年级上册数学全册教案
- 计算材料学实验(燕友果)实验七利用 material studio研究晶体材料性能
评论
0/150
提交评论