资源描述
撰写人:_日 期:_淮阴工学院WEB与数据库项目实习报告系 (院):计算机工程学院专 业: 计算机科学与技术(专转本) 班 级: 计算机3123 题 目: 供求信息管理系统 课 题 组 成 员组长姓名: 景涛涛 学号: 1121321117 组员姓名: 吴 浩 学号: 1121321119 组员姓名: 卞 辉 学号: 1121321107 组员姓名: 张国亮 学号: 1121321105 指导教师: 王红华 赵文东 学年学期: 2014 2015 学年 第 2 学期 2015年 7 月 10 日 精品范文模板 可修改删除目 次目 次11 引言12 供求信息管理系统分析22.1项目开发背景22.2项目开发的意义22.3需求分析22.4系统功能分析32.6 可行性分析3技术可行性4工具可行性4经济可行性4操作可行性4开发工具43 系统设计43.1.系统功能模块设计43.2数据库设计与实现54 系统制作74.1模块的设计与实现74.2设计系统管理模块8首页查询模块8普通用户模块9管理员模块16总 结22个人小结231 引言 在现代,高科技的飞跃发展,计算机的大量普及,使得人们生活节奏越来越快。因此对商业界的多元信息进行有效的管理工作,也成为商贸行业的重中之重。目前,商贸工作繁杂,资料众多,很容易出现供求信息的滞后导致严重的损失,虽然各类管理信息系统已进入市场,但还未普及,而对于各种供求关系管理来说,目前还没有已套完整的、统一的系统。为使供求信息的快速传播,提高交易量,所以制作了供求信息管理系统。 供求信息管理系统依据开发要求主要应用于商贸交易系统,完成对日常的供求关系信息的数字化管理。比较系统的对交易、沟通上的各项服务和信息进行管理,使数据管理更现代化、自动化、智能化、人性化。同时,减轻了从事商业交易管理人员的产品积压的损失和压力,缩小开支,提高工作效率和准确率,使其变得更具有条理性,科学性,为商业交易作出了巨大的贡献,也为今天的民营小企业在未来市场的竞争力有所提高。供求信息管理系统适用了全新的供求管理理念,系统从完善的基础信息管理,和对创建新用户,已创建的供求数据的录入、修改、浏览、统计等功能操作,基本能够满足个大小企业的需要。2 供求信息管理系统分析2.1项目开发背景在任何农村或城市,交易信息的管理都是社会生活的重要环节之一。随着生意往来人数的增加,供求信息管理的任务更加繁重,必须借助现代化的管理工具和手段提高供求信息的管理效率。供求信息管理系统广泛适用于工商管理部门的供求交易管理,其作用和功能也是商人比较熟悉和容易理解的。2.2项目开发的意义 现在我国地方的供求信息管理水平普遍不高,有的还停留在市场的基础上,这种管理手段已经不能适应时代的发展,因为它浪费了太多的人力和物力。在当今的信息时代,这种传统的管理方法必然被计算机为基础的信息管理系统所取代。如果本系统能够被社会所采用,将会改变以往靠市场来管理交易信息的状况,可以树立良好的办学形象,提高工作效率,节省更多的人力和物力。2.3需求分析随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着悦来越重要的作用。现在我国的教育机构对供求信息管理还普遍停留在纸质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代,这种传统的管理发发必然被计算机为基础的信息管理所取代。 2.4系统功能分析 系统功能分析阶段的任务就是确定该系统所要解决的问题及其具体要求。需要通过与用户的交流和沟通明确用户对系统的功能要求,最终列出系统可以实现的功能有用户确认。分为三种不同的角色: 管理员(1)对供应商户基本信息录入和存储,包括姓名、性别、出生日期、备注、地址、电话、密码(原始密码和学号一样)(2)对已经录入的商户基本信息查询和修改,包括商户商品信息的查询但不能修改(3)对需求方基本信息的录入和存储,包括商户姓名、性别、职称、商户所需商品信息、年龄等(4)修改自己的密码并可以查看系统时间 供应商(1)对已经录入的商户的基本信息的查询和修改(2)录入供应商品的规格和数量(3)修改自己的密码和基本信息并保存 需求方(1)查询和修改自己的基本信息并保存加以维护(2)可以修改自己的密码以及查询系统的时间(3)查询供应商的基本信息以及商品信息2.6 可行性分析 所谓可行行分析就是用最小的待机在尽可能短时间内确定问题是否能够解决,这步工作的主要是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以比较抽象的方式进行系统分析和设计的过程,可行性研究的最根本的任务是对以后的行动方针提出建议,以避免时间、资源、人力和金钱的浪费,推荐较好的解决方案,并且为工程制定一个初步的计划。2.6.1技术可行性本系统采用SQL数据库进行数据的管理、操作和维护,用SQL进行设计、数据的录入、修改、删除、更新、查询、浏览等功能,由于SQL强大的数据存储功能,方便快捷的验证功能、使用的灵活,良好的可扩展性,以及广泛的试验应用、充分说明本系统在技术方面的可行性。2.6.2工具可行性软件方面:信息时代对于软件的应用已不是人们的难题,人们在日常办公中用的计算机操作的系统等都属于软件部分。硬件方面:计算机普及到今天,人们对于它的拥有已不少见,它的硬件设备完全能够满足人们的需求,而价格也能被人们所接受。2.6.3经济可行性这是个超小型的管理系统,从投入的人力,财力与物力来将都是非常小的,只要是一台电脑,一台打印机,这个系统就可以建立起来,从节省人力方面,可以让管理人员从复杂的工作中解脱出来,做更多的工作,可以给供求信息管理提高一个层次。2.6.4操作可行性本系统设计清晰,有良好的用户接口,操作简介,符合供求信息管理的工作需要,并达到操作过程中的直观、方便、使用、安全等要求,因此操作方面具有可行行。2.6.6开发工具 本系统前台和后台均采用了开发工具Visual studio 2013及其SQL数据库。3 系统设计3.1.系统功能模块设计 通过对上述各项功能的分析、分类、综合,按照模块化程序设计的要求,得到以下如图3-1功能模块。供求信息管理系统系统管理供应商基本信息管理需求方基本信息管理商品信息管理登录控制用户管理密码修改供应商基本信息维护供应商基本信息更新供应商基本信息查询商品录入商品查询需求方基本信息查询需求方基本信息更新需求方基本信息维护交易信息管理交易信息录入 图3.1系统功能模块3.2数据库设计与实现 数据库在一个管理信息系统中占有非常重要的地位,数据库结构的好坏将直接影响到应用系统的直线效果和数据操作效率以及能否保证数据的一致性、完整性、安全性。(1)数据库设计(2)根据供求管理系统的功能要求,通过分析系统要涉及的相关实体以及要收集、存储和操纵的数据信息,得到如图3.2所示的系统E-R图。Advice_returnAdvice_idUser_idUser_idUser_accountAdvice_addAdvice_fiagAd_id意见收集User_nameAd_accountAd_passwd普通用户User_tel管理员User_addAd_nameUser_passwwd发布信息Inf_telUser_shopAd_telInf_idInt_priceUser_idInf_typeInf_addInf_fiag图3.2系统E-R图(3)根据E-R图得到以下关系模式管理员表(admin-id admin-account admin-passwd admin-name admin-tel)表3-1 管理员表意见收集表(advice_id user_id advice_fiag advice_add advice_return)表3- 2意见收集表发布信息表(inf_id user_id int_type int_flag int_price int_tel)表3-3发布信息表普通用户表(user_id user_account user_name user_tel user_addr user_passwd user_shop)表3-4发布信息表完成数据库和表的创建后,可以在数据库画板中项数据库输入部分数据。4 系统制作4.1模块的设计与实现 本系统包括登陆模块,系统查询模块,系统查询模块,发布信息模块,系统设置。其中,登陆模块实现用户管理,系统查询模块需求方查询商品信息以及浏览功能,系统管理模块实现录入、修改、删除成绩管理等功能,系统设置模块实现修改密码功能。4.2设计系统管理模块 本模块实现首页查询、用户登录控制,用户自己的密码修改和用户管理,其中用户管理包括修改用户信息、添加新用户、删除用户,只有管理员级用户有此权限。首页查询模块(1) 功能:根据用户的需求查询发布的信息,浏览网页现有的资源,了解当前的供求信息。(2) 首页模块展示图4.1首页模块展示(3) 主要程序代码【1】数据准备 function ready_inf_query() args = query_word: query_word, time: new Date, choice: 5 ; $.post(gongqiu_lib.ashx, args, function (data) inf = data.split(|); num = inf0; page_query_last = Math.floor(num / 10) + 1; ); 【2】数据显示function display_inf_query(page) var max; if (page_query_now = page_query_last) max = 6 * num; else max = page * 54; $(#show_query_resule).empty(); if (num != 0) for (var i = (page - 1) * 54 + 1; i max; i = i + 6) var query_inf_type; if (infi + 2 = 0) query_inf_type = 出售; else query_inf_type = 收购; $(#show_query_resule).append( + infi + 1 + 商品价格: + infi + 3 + 元_商品状态: + query_inf_type + + infi + 5 + ); else $(#show_query_resule).append(无相关记录); 4.2.2普通用户模块(1) 功能:实现用户的登录和注册功能以及个人信息的修改和供求信息的发布已经资料密码的修改查看其它用户的信息。(2) 用户模块展示【1】登录界面图4.2登录界面展示【2】注册界面图4.3注册界面展示【3】发布信息界面图4.4发布信息界面【4】商户资料的修改图4.5发布信息界面【5】发布记录的查看图4.6发布记录的查看(3) 主要程序代码【1】登录界面 function login() if (login_check() var account = $(#login_id).val(); var passwd = $(#login_passwd).val().toString(); if (account.substring(0, 1) = a) var args = account: account, passwd: passwd, time: new Date, choice: 3 ; $.post(gongqiu_lib.ashx, args, function (data) var inf = data.split(|); if (inf0 = 1) $(#enter).empty(); flag_id = inf2; $(#enter).append(欢迎登陆, + inf1 + |后台管理平台|注销); window.location.href = Default.aspx?userid= + inf2; login_cancel(); else alert(用户名或密码不正确!) ); else var args = account: account, passwd: passwd, time: new Date, choice: 1 ; $.post(gongqiu_lib.ashx, args, function (data) var info = data.split(|); if (info0 = 1) $(#enter).empty(); flag_id = info2; $(#enter).append(欢迎登陆, + info1 + |供求管理平台|注销); window.location.href = Default.aspx?userid= + info2; login_cancel(); else alert(用户名或密码不正确!) ); function login_check() if ($(#login_id).val() = ) alert(账户名不能为空!); else if ($(#login_passwd).val() = ) alert(密码不能为空!); else return true; 【2】注册界面的主要代码 function user_signUp() if (user_signUp_check() var name = $(#signUp_user_name).val(); var type = $(#signUp_user_type).val(); var tel = $(#signUp_user_tel).val(); var addr = $(#signUp_user_addr).val(); var passwd = $(#signUp_user_passwd).val(); var args = name: name, type: type, tel: tel, addr: addr, passwd: passwd, time: new Date, choice: 0 ; $.post(gongqiu_lib.ashx, args, function (data) alert(data); window.location.href = Default.aspx; ); function user_signUp_check() if ($(#signUp_user_name).val() = ) alert(真实姓名不得为空!); else if ($(#signUp_user_type).val() = ) alert(主营类目不得为空!); else if ($(#signUp_user_tel).val() = ) alert(联系电话不得为空!); else if ($(#signUp_user_addr).val() = ) alert(寄送地址不得为空!); else if ($(#signUp_user_passwd).val() = ) alert(密码不得为空!); else if ($(#signUp_user_passwd_checked).val() = ) alert(确认密码不得为空!); else if ($(#signUp_user_passwd).val() != $(#signUp_user_passwd_checked).val() alert(两次输入的密码不一致!); else if ($(#signUp_user_agree).attr(checked) != checked) alert(请仔细阅读注册协议,并勾选!); else return true; SQL语句:string account = DateTime.Now.ToString(hhmmss); string name = context.Request.Paramsname.ToString(); string type = context.Request.Paramstype.ToString(); string tel = context.Request.Paramstel.ToString(); string addr = context.Request.Paramsaddr.ToString(); string passwd = context.Request.Paramspasswd.ToString(); sql = string.Format(insert into gongxiao_user values(newid(),0,1,2,3,4,5), account, name, tel, addr, passwd, type); if (DAL.ExecuteSql(sql) = -1) result = 注册失败!重新注册; else result = 注册成功,下次登录的账户名为 + account; 【3】信息发布界面的主要代码function inf_user_submit() var url = location.href; var userid = url.substring(url.valueOf(?) + 1, url.length).split(=); var flag = $(#goods_flag).val(); var name = $(#goods_name).val(); var price = $(#goods_price).val(); var tel = $(#goods_tel).val(); var add = $(#goods_add).val(); if (flag != & name != & price != & tel != & add != ) var args = userid: userid1, type: inf_type, flag: flag, name: name, price: price, tel: tel, add: add, time: new Date, choice: 24 ; $.post(gongqiu_lib.ashx, args, function (data) alert(data); ready_message_all(); ); else alert(信息不完整,请填写完整后发布); SQL语句: string userid = context.Request.Paramsuserid.ToString(); string type = context.Request.Paramstype.ToString(); string flag = context.Request.Paramsflag.ToString(); string price = context.Request.Paramsprice.ToString(); string tel = context.Request.Paramstel.ToString(); string add = context.Request.Paramsadd.ToString(); string name = context.Request.Paramsname.ToString(); sql = string.Format(insert into gongqiu_inf values(newid(),0,1,2,3,4,5,6,0), userid, type, flag, price, tel, add, name); if (DAL.ExecuteSql(sql) = -1) result = 发布失败,请重新发布; else result = 发布成功; break; 【4】商户修改资料代码function change_user_inf() var url = location.href; var userid = url.substring(url.valueOf(?) + 1, url.length).split(=); var NName = $(#tb_user_name).val(); var NTel = $(#tb_user_tel).val(); var NAddr = $(#tb_user_addr).val(); var args = userid: userid1, NName: NName, NTel: NTel, NAddr: NAddr, time: new Date, choice: 21 ; $.post(gongqiu_lib.ashx, args, function (data) if (data = 1) $(#inf_change_warn).text(操作成功); else $(#inf_change_warn).text(操作失败); );SQL语句: string userid = context.Request.Paramsuserid.ToString(); string NName = context.Request.ParamsNName.ToString(); string NTel = context.Request.ParamsNTel.ToString(); string NAddr = context.Request.ParamsNAddr.ToString(); sql = update gongxiao_user set user_name = + NName + ,user_tel= + NTel + ,user_addr= + NAddr + where user_id = + userid + ; result = DAL.ExecuteSql(sql).ToString(); break; 【5】发布记录的查看代码function ready_message_all() var url = location.href; var userid = url.substring(url.valueOf(?) + 1, url.length).split(=); var args = userid: userid1, time: new Date, choice: 26 ; $.post(gongqiu_lib.ashx, args, function (data) res = data.split(|););function display_message_all(page) var url = location.href; var userid = url.substring(url.valueOf(?) + 1, url.length).split(=); $(#show_message_all).empty(); var num = res0; page_last = Math.floor(num / 9) + 1; var max; if (page = page_last) max = num * 7; else max = 7 * 8 * page; var j = 1; var color_flag = #3C746B; for (var i = (page - 1) * 56 + 1; i max; i = i + 7) if (resi + 6 = 0) color_flag = orange; else if (resi + 6 = -1) color_flag = red; else color_flag = #3C746B; $(#show_message_all).append( + j + + resi + + resi + 1.substring(0, 10) + 查看); j+; SQL语句: string userid = context.Request.Paramsuserid.ToString(); sql = string.Format(select count(*) from gongqiu_inf where user_id=0, userid); int num = DAL.GetNumber(sql); result = num.ToString(); sql = string.Format(select * from gongqiu_inf where user_id=0, userid); DataSet ds = DAL.Query(sql); for (int i = 0; i num; i+) result += | + ds.Tables0.Rowsiinf_flag.ToString() + | + ds.Tables0.Rowsiinf_add.ToString() + | + ds.Tables0.Rowsiinf_id.ToString() + | + ds.Tables0.Rowsiinf_type.ToString() + | + ds.Tables0.Rowsiinf_price.ToString() + | + ds.Tables0.Rowsiinf_tel.ToString() + | + ds.Tables0.Rowsiinf_ischecked.ToString(); break; 4.2.3管理员模块(1) 功能:实现对系统的后台管理具体有商户信息的审核、对商户意见的回复、对商户信息的增、删、改、查以及增添辅助管理员用户。(2) 管理员模块展示【1】商户信息的管理图4.7商户信息的管理【2】增添辅助管理员图4.8增添辅助管理员【3】商户发布信息的审核图4.9商户发布信息的审核【4】商户意见回复图4.10商户意见回复(3) 主要程序代码【1】商户信息的管理程序var inf_user_del;var num_user_del;function ready_show_lookfor_user_del() args = time: new Date, choice: 31 ; $.post(gongqiu_lib.ashx, args, function (data) inf_user_del = data.split(|); num_user_del = inf_user_del0; page_lookfor_user_del_last = Math.floor(num_user_del / 10) + 1; $(#warn_inf_change).text(检索到所有商户信息,共 + num_user_del + 条); );var page_lookfor_user_del_now;var page_lookfor_user_del_last;function show_show_lookfor_user_del(page) $(#show_lookfor_user_del).empty(); var max; if (page_lookfor_user_del_last = page_lookfor_user_del_now) max = 5 * num_user_del; else max = 5 * 9 * page; for (var i = (page - 1) * 45 + 1; i max; i = i + 5) $(#show_lookfor_user_del).append( + inf_user_deli + + inf_user_deli + 1 + 修改删除); SQL语句: sql = select count(*) from gongxiao_user; int num = DAL.GetNumber(sql); result = num.ToString(); sql = select * from gongxiao_user; DataSet ds = DAL.Query(sql); for (int i = 0; i num; i+) result += | + ds.Tables0.Rowsiuser_id.ToString() + | + ds.Tables0.Rowsiuser_name.ToString() + | + ds.Tables0.Rowsiuser_tel.ToString() + | + ds.Tables0.Rowsiuser_addr.ToString() + | + ds.Tables0.Rowsiuser_shop.ToString(); break;【2】增添辅助管理员程序function admin_account_create() if (admin_account_check() var admin_name = $(#admin_account_name).val(); var admin_tel = $(#admin_account_tel).val(); var admin_passwd = $(#admin_account_passwd).val(); var args = admin_name: admin_name, admin_tel: admin_tel, admin_passwd: admin_passwd, time: new Date, choice: 32 ; $.post(gongqiu_lib.ashx, args, function (data) $(#state_create_admin).text(data); ); SQL语句: string admin_account = a + DateTime.Now.ToString(hhmmss); string admin_name = context.Request.Paramsadmin_name.ToString(); string admin_tel = context.Request.Paramsadmin_tel.ToString(); string admin_passwd = context.Request.Paramsadmin_passwd.ToString(); sql = string.Format(insert into gongqiu_admin values(newid(),0,1,2,3), admin_pas
展开阅读全文