1 引言
1.1 研究背景
在当今社会的进步和高科技技术迅猛发展的情况下,知识正在逐步走向主导地位,市场上的竞争大多数是个人才能的竞争。从而,找到一个合适的人才,是企业能够立足于市场之上并且能够不断与同行企业竞争的一项关键性的任务。同时,当今市场环境变化非常之快,导致市场的需求也在不断地变化,那么相应的对人才的需求也在不断的变化。怎样快速适应这种变化,提高人才招聘的效率,对企业所需求的人才进行快速定位,也就自然而然成为企业需要考虑的重要因素。
不管是企业的招聘部门,还是中介跨地域提供信息进行介绍,亦或是中介对外的人力资源输出等。在近年来的服务行业中,被服务者即广大用户也应有这方面的需求才行,这样才能达到本系所存在的价值体现。作为中介的另一个服务对象。即供方,也就是求职者,也关注能否迅速获得职位信息以及所要求的条件等。所有的这一切,都展现出了对本系统开发与设计的需求。在当今这个信息时代也只能通过该类型的系统才能实现对人才的合理并且快速的招聘[1]。
1.2 研究意义
高校毕业生的就业市场,可以分为有形和无形两种市场。有形市场主要的表现形式是定时定点的举办毕业生招聘会,即在一个开放的时间段内,将用人单位和毕业生组织起来在一个固定的场所进行的就业招聘和谈话活动。无形市场的表现形式则是通过电话、邮件、报刊、网络等现代化的通讯工具以及传播手段而完成的供方与需求方的联系、沟通、甚至签合同的过程,其中最主要的就是毕业生就业网。
近年来高校招生的扩大,毕业生数量的激增,其就业所涉及的工作层面和社会影响逐步加大,想要推动就业形式,就不能局限于有形市场所具有的规模,而是要从长远的发展方向去看无形市场的高效率、便捷的优点,它会逐步成为毕业生就业市场发展的主流方向。由于“人才招聘管理信息系统”是一个存在于无形市场的网站,在如今信息网络化的时代,只要存在网络,即能连入Internet,就可以进入无形市场的人才招聘网站。这就给了用人单位和毕业生可以随时随地
.
.
进入无形市场进行交流、信息资料的发布和查询,所提供的个人或者企业信息则会由网络上的服务器进行处理并通过网络上的服务器进行快速传送。在迅速提高工作效率的同时也能对传统的面对面的招聘形式的很好地补充。
“人才招聘管理信息系统”实现了用户和企业双方均可根据自身需要查询相关信息,并能通过网络进行实时的交流,运用时下最先进的媒体和宽带技术,供需双方还能进行视频交流。这些都有利于增加企业与毕业生之间的了解,从技术层面上克服了空间和时间的,很好地为企业和毕业生节省了时间、精力、资金,同时又能达到双方相互沟通了解对方的目的。这样“人才招聘管理信息系统”才会吸引更多的企业与毕业生来使用,形成一个良性循环,从而扩展毕业生就业市场,使得企业与毕业生之间的双向选择更具实际意义。
1.3 系统设计思想
一个成功的网站只有经过详细的规划,才能避免在做网站的过程中出现不必要的问题,才能保证网站设计的进度。同时,作为一个完整的网站系统,是必须要有正确的设计思想,合理的数据、网络结构以及操作系统和开发环境,从而构成一个完善的体系,最终才能保证充分发挥网络信息管理的长处。根据如今毕业生的需求,本系统按照下述原则进行设计。
(1) 有效性:包括两个方面:有用性和可用性。即能满足用户需求的功能称为有用性,而能通过一系列操作实现特定的目标则称为可用性。一个网站若是不能按照用户的需求进行运行操作,那这就不是一个成功的网站。效益高的网站一定是可用网站,而且容易学习,能毫无错误地实现用户目标。
(2) 高可靠性:可靠的网站一定也是实用的,本网站合理的优化了网络设计以及软件和硬件,能保证可靠性。
(3) 高安全性:在设计网站过程中会有效的利用网络上的安全措施,既保证了资源的共享,又考虑到了后期数据的恢复和备份的需求。在系统的操作权限分级上,网站还设置了不同的角色来确保权限的分级,都是由管理员进行管理的。
(4) 先进性:网站使用了ASP.NET开发工具,SQL Server 2005作为网站后台数据库,都是目前国际上最先进的网站开发技术。这些基于微软平台进行开发的技术,在降低了系统的成本的同时也提高了系统的易维护性和稳定性[2]。
(5) 采用标准技术:为了提高系统对广大用户的适应性,本网站的设计与规划都是按照国际上标准进行。
.
.
(6) 外观和用户体验需求平衡:网站风格的系统界面,大气、美观,便捷,容易学方便用。该网站的关键问题是外观呈现和用户体验需求之间的平衡。不美观的网站会让人没有去使用的欲望,网站运行没有问题,但是却带动不了用户的积极性;反之,当网站的外观很有吸引力,但用户体验需求不达标,那么用户会很失望。在外观与用户体验需求之间需要确定明确的关系,即外观和网站的设计目的有关,类型不一样的网站处理方法也是不一样的。
.
.
2 系统开发环境
2.1 ASP.NET概述
ASP.Net是把基于通用语言的程序在服务器上运行。并不是以前的ASP那种即时解释的程序,而是程序在服务器端首次运行时就会进行编译工作。ASP.Net构架是可以用微软公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅仅只是ASP.Net软件支持的一小部分。
因为ASP.Net的适应性和强大性,可以使其在Web应用软件几乎全部的平台上运行。通用语言的基本库,数据接口,消息机制的处理都能整合到ASP.Net的Web应用中。ASP.Net同时也是语言化的,因此,能选择其中最适合的语言来编写程序,或者用很多种语言来写程序。已经支持的语言包括C#(C++和Java的结合体),VB,JavaScript。以后,多种程序语言协同工作的能力可以保护现在的基于COM+开发的程序,能够更加完整的移植向ASP.Net。
ASP.Net是一种以字符为基础而分级的配置系统,能使你的应用程序和服务器环境变得更加简单。因为简单文本中都保留着配置信息,而新的设置也可以不启动本地的系统工具就能实现。这种\"Zero Local Administration\"的哲学观念使ASP.Net的应用开发更加具体便捷。ASP.Net的应用程序在安装过程中只需简单的复制一些必要文件,不需要重启系统,就是这么简单。
ASP.Net已经被设计成了可以用于多处理器的开发工具,在多处理器的环境下用特殊的无缝连接技术,将大大提高运行速度。即使当前的ASP.Net应用软件只是为一个处理器而开发的,将来也能够适用多处理器运行,并且不需要任何改变就能提高效率,但现在的ASP就做不到这一点[3]。
ASP.NET优越性体现在以下几个方面[4]:
(1) 效率,ASP.NET是建立在.NET Framework之上的,可使用Visual Basic ,C#这样的模块化程序设计语言,在执行一次后不须再重新编译就能直接运行,所以在效率方面比ASP这种只能用VBScript或JavaScript这样的语言提高很多。
(2) 可重用性,ASP.NET不像ASP那样将ASP的代码和HTML混合在一起,而是实现了内容和代码的完全分离,可重用性较强。
(3) 代码量,ASP通过编写代码来实现所有的功能,而ASP.NET只需要先说
.
.
明,就能自动实现,所以,同样的功能,ASP.NET要比ASP少很多代码。
2.2动态网站技术介绍
由于系统的操作界面都是Web页面形式,而且需要对各种用户的具体请求进行动态处理并返回结果,这是一般静态Web页面技术所无法实现的,所以使用动态网页技术。如今的动态网页技术层出不穷,比如CGI,JSP,ASP,ASP.NET等,本系统采用的是ASP.NET技术[5]。
ASP.NET可以说是ASP的新版本,其并不仅仅是ASP,而是用于开发Web的全新框架,许多新的特性包含其中。ASP.NET完全基于模块与组件,具有非常好的可扩展性和可定制性,在数据处理方面更是引入了许多新技术,这些新特性,让ASP.NET远远超越了ASP,在给Web开发人员提供了更好的灵活性的同时也有效减少了Web应用程序的开发周期。ASP.NET与Windows SQL 2005 Server/Advanced Server的完美组合,提供了一个更为稳定,高效,安全的运行环境给中小型企业[6]。
2.3 数据库技术
SQL2005的主要任务是管理数据库及其对象。任何一个数据库都是由表、触发器、存储过程等对象组成的。
包含数据库中所有数据的数据库对象的是数据表,设计完数据库后就能创建数据表了。SQL2005提供了两种创建数据库表的方式:一种是利用表设计器直接创建,另外一种则是用SQL语句中的creat命令创建。创建完表之后,最为重要的就是向表中插入数据。假如有需要删除表,则可以利用企业管理器或者用DROP TABLE语句删除表。
SQL2005数据存储过程是将一些固定的数据操作集中起来处理,解决了数据库使用时系统的速度和效率问题。打开SQL Server 企业管理器,选中数据库中“存储过程”,单击鼠标右键选择“新建存储过程”命令,即可往文本显示处添加命令语句。存储过程是保存起来的可以接受和返回用户提供的参数的Transact-SQL语句的集合。可以用ALTER PROCEDURE语句更改存储过程,也可以使用DROP PROCEDURE命令删除存储过程。
由于该系统涉及大量数据的处理,这就要有一个强大的后台数据库管理系统的支持。目前主要有:SQL2005,FoxPro,Excel,Sybase,Oracle等,其中网
.
.
络型的SQL Server,Oracle产品的安全性是远远高于桌面型的SQL2005,FoxPro等数据库的。
本系统采用的是微软公司的SQL2005.原因如下:第一,SQL Server与Windows 2005 Server的服务器紧密集成,而Windows 2005 Server的服务器具有很好的安全性,能够排除所有未经授权的非法用户的访问,大大确保了SQL2005服务器的安全性,符合对系统安全性的要求;第二,用户可以使用Web浏览器查询在SQL2005数据库中的数据,符合系统远程访问数据库的要求。第三,容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数只受服务器硬盘空间的,符合系统的考题数目较多的要求。
本网站使用VS2010作为开发环境, ASP.NET嵌套的C#语言作为编程语言,SQL Server 2005是数据库环境[7][8]。
2.4 ADO.NET连接数据库
ADO.NET为用户提供了一种全新的数据库访问机制,其将数据库编程变得非常的简单。ADO.NET为用户提供两种数据访问的模式:一是连接模式(connected),是一种传统的数据库访问技术,利用ADO技术进行数据连接编程;还有一种提供了更大的升级性和灵活性,是非连接模式(disconnected),ADO.NET才具有的。在非连接模式下的 数据访问,应用程序从数据源中获得所需的数据,然后断开与原数据源的连接并完成数据的更新工作。
ADO.NET中非连接模式的核心是DataSet类,数据集对象以XML的形势存放数据。数据集对象既可以从数据库中获得,也可以从XML数据流中获取,所以用户不需要考虑数据源所在的位置。在ADO.NET体系结构中数据提供者对象也是非常重要的部分,通过其可以访问数据库,产生数据集对象,同时其还支持数据连接模式下的数据库访问。
ADO.NET提供了OleDb和SQL Server两种编程接口访问数据库。如果用户使用SQL Server作为数据库,最好使用SQL Server接口,比使用OleDb效率高。
.
.
3 需求分析
3.1可行性分析
技术可行性:计算机配置要求比较高,能够有足够的空间可以安装并且运行平台、数据库和各类编程工具,能给编程环境提供可靠的支持;在编程人员方面,可以运用之前所学的各种关于计算机的相关知识,加上后期不断的探索和学习,为该系统的开发提供必要的保障。
社会可行性:目前网络上已经有很多人才招聘管理信息系统。该系统的开发和运行必须不能和国家的法规存在任何冲突。另外,该系统所采用的操作方式必须符合工作人员的日常操作习惯,而且使用起来方便灵活,容易管理,具有一定的可行性。
经济可行性:本系统采用ASP.NET开发,免费,开源,进入系统即可进行操作,使用方便快捷。 3.1.1 技术可行性
技术可行性是最关键的问题。根据用户提出的系统功能、系统的性能以及为了实现该系统的各项条件的约束,从技术研究该系统实现的可行性。本系统采用的是.NET家族的ASP.NET技术和ADO.NET 技术。如今,.NET现在已经逐步成熟、稳定进而被认定为是计算机领域最有前途的技术之一。同时数据库采用的是SQL2005。将ASP.NET,ADO.NET以及SQL2005结合起来做出一个人才招聘管理信息系统网站,一定是可行的,也会是高效率的。 3.1.2 经济可行性
经济可行性研究主要是进行该系统的成本效益分析,包括估计整个完整项目的开发所需要的成本,估算成本是否会大于项目预期的全部利润[9]。看该系统网站所能带来的经济效益与开发设计所需要的投资效益相比,是否值得去开发与设计,与此同时还要看该系统能否真正的给广大用户带来经济效益,这套系统的开发与实现正是考虑了当下用户为了提高工作效率,节省工作时间,方便操作与管理。该系统的开发在经济可行性分析之后确定是完全可行的。开发该系统网站并不需要大量的经费,可以节省许多不必要的费用,同时也是提高个人的实际动手能力的一个很好地项目。
估计项目开发的成本和今后的运行、维护费用,估计完整的系统将带来的效
.
.
益,估算开发成本是否会大于项目预期的全部经费是估算新系统的成本效益分析。
3.1.3 操作可行性
由于科技的迅猛发展,计算机早已普及,在这方便的科技条件下,提升了人们工作环境的档次,同时这也使人们对工作效率有了更高的要求。因此,以管理形式出现的系统网站更是社会发展的必然趋势,加上各种智能化的软件层出不穷,都在一定方面减少了人们原来的那种既费时又费力的状况,从而变相地提高了人们的工作效率和工作要求准确度。该系统用户平台直接面向个人、企业和系统的管理人员,界面简单、明了,采用可视化界面,普通用户只登录系统就可以查看信息。由于该系统的操作简单、易懂,对于初次使用该系统的用户,是不需要培训和学习就可以掌握该系统的操作流程。由此可见,开发该系统网站在操作上也是可行的[10][11]。
3.2系统流程和逻辑
3.2.1登录流程图
系统登录流程图如下图所示,首先进入本系统之后,用户可以看见最新的招聘信息,然后可以根据用户本身需求进行投递简历进行求职。若用户没有登录则会提示用户需要登录才能进行下一步的操作,在登录的时候,本系统会自动检测用户名,若为空则提示用户名不能为空,在用户名不为空的情况下,本系统会继续检测密码是否为空,若密码为空,则同样会提示密码不能为空。在用户名和密码都不为空的情况下,该系统会进一步检测,用户名和密码是否正确,若正确,则登录成功,反之失败。
.
.
开始输入用户名密码提示用户名不能为空是判断用户名是否为空否判断密码是否为空是提示密码不能为空否检测用户名密码是否正确否提示用户名密码错误是登录成功结束
图3.1 登录流程图
3.2.2添加信息流程图
系统的添加信息流程图如下图所示,用户在登录成功之后可以进行自身的需求提交求职信息,与此同时,本系统会自行将用户输入的信息与该系统设计时所规定的信息格式进行对比,在符合要求的情况下用户才能添加并提交成功。
.
.
开始输入信息否是否输入正确是添加成功结束
图3.2 添加信息流程图
3.2.3注册信息流程图
本系统的注册信息流程图如下所示,用户在注册个人信息时,系统会检测用户名是否已经存在,若检测已经存在的用户名,那么该用户需要重新填写用户名,若是一个新的用户名,在用户设置密码的同时,本系统也会自行检测两次输入的密码是否一致,若不一致,系统会提示用户两次输入不一致,请用户重新输入,若用户输入两次密码一致,系统检测没有问题之后,该系统会将这条用户信息添加到数据库用户表中,然后提示用户注册成功,接下来用户就可以进行提交个人简历等操作了。
.
.
开始填写用户信息提示用户名已存在是判断用户名是否存在否判断两次密码是否一致否提示密码不一致是在数据库中添加用户信息注册成功结束 图3.3 注册信息流程图
3.3.1编程环境与工具
本管理信息系统采用Microsoft Windows 7作为操作系统平台。
本系统在开发时选用了Windows 7系统和ASP.NET的C#作为开发语言,同时选用了SQL2005作为后台的数据库,由于这些软件产品都是Microsoft公司的产品,因此彼此之间的兼容性较好,开发出的应用系统稳定性会比较高。
VS2010是可视化的开发环境,可以快速完成系统的开发,由于是内部集成的数据访问通道,所有可以轻松方便的对数据库进行管理。
.
.
数据库选用的是Microsoft SQL2005,根据对系统的要求,采用完全可适合广大用户的开发工具,并且其能支持的类型十分丰富,维护便捷,费用较低,操作简便。
.
.
4系统概要设计
4.1 概述
本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是适用于Internet环境下的一个模型结构。只要用户能连上网络,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:
浏览器 Web服务器 数据库 图4.1 系统工作原理图
4.2 系统结构
该系统是基于B/S架构的网站系统,该系统的具体功能如下:所有的用户都可以浏览网站基本的就业新闻和就业信息,了解当前的就业形势和动向。 4.2.1用户权限管理模块:
登录,如果想要求职或者招聘某个人,系统会自动提示其需要登录进入到网站。如果用户输入了不正确的用户名或密码,系统就会要求他们重新登录。如果用户没有帐号,系统就会提示其注册一个新的帐号。每个帐号都有相应的权限,权限分级不同,所能执行的命令也就不同。权限分为以下4种:未注册用户、个人用户、企业用户、管理员。 4.2.2用户信息管理模块:
登录之后进入到网站系统,或者注册新的帐号之后,用户就可以管理自己的帐号信息,根据权限分级不同,可以查看的内容和可以修改的内容也不同。未注册用户可以浏览网站基本的就业信息和资讯,注册用户(包括企业和个人)可以在通过输入验证信息进入功能模块进入后随时随地修改个人或企业的信息和资料,管理员可以通过验证功能模块后进入后台管理系统,随时更新和发布网站的各种信息。
4.2.3信息查询模块
用户能够通过网站中的各类搜索找到自己所需要的信息,包括系统网站信息、个人信息和企业信息。用户能够输入各种条件,与搜索条件相匹配的信息将得到显示。
.
.
4.2.4功能模块
本系统包括用户个人信息、企业信息、和管理员的后台操作,管理员可以通过验证功能模块后进入后台管理系统,随时更新网站的各种信息,前台可以进行的操作主要是用户个人的登录,用户的求职信息注册和用户可以投递简历,同时用户还可以查看管理员发布的公告和企业发布的招聘信息。还包括企业的注册登录以及企业可以发布招聘信息,也可以对用户的个人简历进行查看,选择适合的求职者进行招聘。管理员则可以对用户和企业所有的信息进行审核和删除操作,也可以发布最新的公告到系统网站以提供给用户和企业进行查询。系统的总功能模块图如下图4.2所示。
人才招聘管理信息系统前台后台用户登录用户中心企业登录我要招聘我要求职新闻中心本站公告企业注册求职注册资讯管理公司管理 职位管理 用户管理公告管理图4.2 系统功能模块图
4.2.5系统用例图
(1) 用户用例图所展示的是用户所具有的功能,包括注册,注册成功之后登陆,用户查看企业发布的招聘信息之后,若有符合自己需求的职位则用户自身可以提交个人的简历信息,之后还可进行个人简历信息的查询,若简历有错误则可以进行个人简历修改甚至可以删除个人简历信息。
.
.
注册 登录 提交简历 查询个人简历 用户 修改简历 删除个人信息
查询招聘信息 图4.3 用户用例图
(2) 企业用例图包括企业在注册成功并且登录之后可以发布企业招聘信息,企业也可以对用户的个人简历信息进行查看,企业也可以针对合适的用户,并对其进行招聘,企业也可以对其信息进行管理,若是企业已经招聘到职工,那么企业可以将其企业的信息删除。
发布企业信息
发布招聘信息
查询个人简历
查询企业信息
修改企业信息
删除企业信息
图4.4 企业用例图
(3) 管理员用例图是可以清楚看出在权限分级上具有最高权限的是管理员,
.
.
管理员可以自行登录后台系统,发布最新新闻和公告,这些新闻和公告是可以被个人用户以及企业查看到的。与此同时,个人用户或是企业在浏览该网站系统后,若是注册账户则需要通过管理员的审核操作才能注册成功,因此,管理员可以对个人用户以及企业的信息进行修改和删除操作。
登录后台系统
查询用户信息
查询企业信息 发布新闻
发布公告 审核企业信息
审核用户信息
图4.5 管理员用例图
4.3数据库设计
4.3.1 系统概念结构设计
(1) 用户信息,是用户属性的集合,其中包括用户名、密码、性别、年龄、出生年月、学历、联系方式等,用户可以在该系统网站上面进行信息的浏览,若有需要进行求职则可以注册用户名,成功注册并且登录之后可以根据自己的需求填写个人资料即简历,然后可以向用户本身所有意愿去的企业进行简历的投递。如图4.5所示。
密码 性别 年龄 学历 用户名 联系方式 用户 出生年月 图4.5 用户信息
.
.
(2) 企业信息,是企业属性的集合,包括企业名、企业地址、企业邮箱、企业薪资等,企业注册成功并且登录后可以向广大用户发布招聘信息,这些招聘信息包含企业的基本信息,即企业的名称、企业地址、企业的邮箱以及企业的招聘薪资。如图4.6所示。
企业地址 企业邮箱 企业 企业名 企业薪资 图4.6 企业信息
(3) 管理员信息,是管理员属性的集合,包括管理员用户名、管理员密码、企业、用户、公告发布等,管理员可以对用户以及企业的注册好的信息进行审核操作,审核通过则保留信息,不通过则可以删除信息,管理员也可以发布最新公告提供给用户和企业查询,同时管理员也有自己默认的用户名和密码。如图4.7所示。
企业 用户 图4.7 管理员信息
密码 用户名 管理员 公告发布 (4) 根据上面的实体图,可以得出如图4.8的E-R图。管理员可以通过该系统发布最新公告,用户和企业均可以在登录成功后,对该最新公告进行查询;同时,管理员还可以对企业的已经注册的信息以及企业发布的招聘信息进行管理审核;也可以对用户注册的信息以及其个人简历信息进行管理审核操作;而企业在被管理员管理的同时还可对个人信息简历进行查看,对于求职者递交的简历信息可以进行查看挑选出最合适的求职者。个人用户作为求职者,也能查看系统网站上面的最新公告,包括企业发布的招聘信息等,个人用户可以在那么多的招聘信息中选择自己有意愿的职位进行个人求职简历的递交操作。
.
.
管理员 1 1 发布 n 管理 企业信息 n 审核 n 简历 n 查看 发布 1 n n 企业 1 1 公告 1 n 查看 1 提交信息 1 用户 n
1 管理 图4.8 E-R图
n 4.3.2 数据库逻辑设计
根据概念设计,得到实体图和E-R图,再有实体图和E-R,进行数据库逻辑设计。逻辑设计很重要,本系统实体关系模式如下:
(1) 用户实体可以转换为如下关系模式,其中用户名为主键。 用户(用户名、密码、性别、年龄、出生年月、学历、联系方式) (2) 企业实体可以转换为如下关系模式,其中企业名为主键。 企业(企业名、企业地址、企业邮箱、企业薪资)
(3) 管理员实体可以转换为如下关系模式,其中管理员用户名为主键。 管理员(管理员用户名、管理员密码、企业、用户、公告发布) 4.3.3 数据库表的设计
此系统需要后台数据库,下面介绍数据库中的各个表的详细信息, 在本系统中,涉及到的数据项和表结构如下:
(1) Admin管理员表表存放的是管理员的基本信息,如表4.1所示。
表4.1 Admin管理员表
.
.
列名 id adminName Pwd
数据类型 int char char
长度 4 50 100
允许为空 否 否 否
(2) Company公司信息表存放的是公司的基本信息,如表4.2所示。
表4.2 Company公司信息表
列名 Id Pwd RealName Addtime Tel Address emal companyname description privince station mony impont account
数据类型 int varchar varchar datetime varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar
长度 16 16 50 50 50 50 50 50 50 50 50 50 50 50
允许为空 否 否
(3) Job工作信息表存放的是职位的基本信息,如表4.3所示。
表4.3 Job工作信息表
列名 Id account jobname jobnum addtime
数据类型 Int verchar varchar varchar varchar
长度 4 16 50 50 50
允许为空 否 否
.
.
descriptions jobclass sealarytpe sealary privances Address
varchar varchar varchar varchar varchar varchar
50 50 50 50 50 50
(4) Gonggao公告信息表存放的是公告的基本信息,如表4.4所示。
表4.4 Gonggao公告信息表
列名 Id Tittle Content AddTime Froms Addperson
数据类型 int varchar text varchar varchar varchar
长度 4 16 16 30 50 50
允许为空 否 否 否 否
(5) JobUser求职人员信息表存放的是求职人员的基本信息,如表4.5所示。
表4.5 JobUser求职人员信息表
列名 Id Num pwd RealName addtime myheigh xueli UserName Tel address age
数据类型 int varchar varchar text datetime varchar varchar Varchar Varchar Varchar Varchar
长度 4 16 16 16 30 50 50 50 50 50 50
允许为空 否 否 否 否 否
.
.
agedate Marry CardType CardNUm Jobyear zhuanye emal appreciation jobpurpose jobexp schoolexp goodat other school sex
Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar varchar
50 50 50 50 50 50 50 500 500 500 500 500 500
(6) NewsContent新闻内容表存放的是新闻信息,如表4.6所示。
表4.6 NewsContent新闻内容表
列名 Id ClassName NewTittle NewContent AddTime Froms Addperson NewsImg Imp
数据类型 int varchar varchar varchar varchar varchar varchar varchar varchar
长度 4 16 16 16 50 50 50 50 50
允许为空 否 否 否 否
(7) UserJob人员工作关联表存放的是投职信息,如表4.7所示。
表4.7 UserJob人员工作关联表
.
.
列名 Id Username Jobid JobName
数据类型 int varchar Int varchar
长度 4 16 4 16
允许为空 否 否 否 否
.
.
5系统界面设计
5.1 系统首页
用户打开网站的时候首先是看到系统首页,在系统首页,用户可以看见最新的职位信息,企业也可以看见最新的人才推荐信息,在最上面是则系统的标志性图片,下面是导航栏,导航栏是提供给广大用户和企业所使用的,如是注册成功的企业或是用户,可以分别进行招聘信息的发布或用户自身求职信息的发布即简历的投递。如图5.1所示。
图5.1 系统首页
首页代码如下:
public partial class Default : System.Web.UI.Page { DB db = new DB();
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { TodayNews(); getuser();
getjob(); } } private void TodayNews()
{ SqlConnection con = new
SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[\"ConStr\"].ToString()); con.Open();
SqlCommand cmd = new SqlCommand(\"select top 35 * from NewsContent order by Id desc ,AddTime desc \
SqlDataReader sdr = cmd.ExecuteReader(); this.dllTodayNews.DataSource = sdr; this.dllTodayNews.DataBind(); con.Close();
.
.
}
private void getuser() { SqlDataReader da;
da = db.GetDataReader(\"select top 15 id, sex,RealName,xueli,zhuanye,school,Tel from JobUser order by addtime desc\"); this.dluser.DataSource = da; this.dluser.DataBind(); }
private void getjob() { SqlDataReader da;
da = db.GetDataReader(\"select top 15 * from Job order by addtime desc\"); this.dljob.DataSource = da; this.dljob.DataBind(); }
public string SubTittle(string Tittle) { string NewsTittle = Tittle; if (Tittle.Length > 13)
{ NewsTittle = Tittle.Substring(0, 13); return NewsTittle; } else
{ NewsTittle = Tittle; return NewsTittle; } } }
5.2 求职注册
作为求职者的用户可以在该网站系统进行注册账户,在注册的时候输入规范的用户名,密码,之后用户可以填写与自身相对应的简历信息用于投递给企业以达到求职的目的,该系统会自行通过检测后注册成功,界面如图5.2所示。
图5.2 用户注册
.
.
注册代码如下:
public partial class Reg : System.Web.UI.Page { js js = new js (); DB db = new DB ();
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack)
{ this.btnnext.Attributes.Add(\"onclick\
this.lkjiance.Attributes.Add(\"onclick\ } }
protected void btnnext_Click(object sender, ImageClickEventArgs e) { if (Session[\"RandCode\"].ToString() != txtcode.Text.ToString()) { js.Alert(\"验证码输入错误!\");} else
{ if (db.GetDataReader(\"select * from JobUser where Username='\" + txtname.Text + \"' \").Read())
{ regname.InnerHtml = \"对不起该帐号已经存在\"; js.Alert(\"帐号已经存在!\"); }else
{ regname.InnerHtml = \"恭喜该用户名可以使用!\"; db.RunSql(\"insert into JobUser
(Username,pwd,emal,RealName,addtime,myheigh,xueli,Tel,address,age,agedate,Marry,CardType,CardNUm,Jobyear,zhuanye,school,appreciation,jobpurpose,jobexp,schoolexp,goodat,other,sex)values('\" + txtname.Text.Trim() + \"','\" + txtpwd.Text.Trim() + \"','\" + txtEmal.Text.Trim() + \"','\" + txtRealName.Text + \"','\" + DateTime.Now + \"','\" + txtheigth.Text + \"','\" +
ddpxueli.SelectedItem.Text + \"','\" + txttel.Text + \"','\" + txtaddress.Text + \"','\" + txtage.Text + \"','\" + txtyear.Text + \"','\" + ddpmeary.SelectedItem.Text + \"','\" + ddpidcard.SelectedItem.Text + \"','\" + txtidcard.Text + \"','\" + txtwork.Text + \"','\" + txtzhuanye.Text + \"','\" + txtschool.Text + \"','\" + txtpingjia.Text + \"','\" + txtyixiang.Text + \"','\" + txtworkjingyan.Text + \"','\" + txtjiaoyu.Text + \"','\" + txttechang.Text + \"','\" + txtother.Text + \"','\"+drsex.SelectedItem.Text+\"')\"); Session[\"username\"] = txtname.Text.Trim();
js.AlertAndRedirect(\"恭喜您注册并发布简历成功!!\\"userhome.aspx\"); } } }
protected void lkjiance_Click(object sender, EventArgs e) { if (txtname.Text == \"\") {
js.Alert(\"请填写帐号!\"); }
if (db.GetDataReader(\"select * from JobUser where Username='\" + txtname.Text + \"' \").Read()) {
regname.InnerHtml = \"对不起该帐号已经存在\"; } else {
regname.InnerHtml = \"恭喜该用户名可以使用!\"; } } }
.
.
5.3用户登录
用户在注册成功之后可以进行登录操作,输入正确的用户名及密码进行登录系统,如果输入错误,则会提示登录失败即非法登录,用户登录界面如图5.3所示。
图5.3 用户登录
用户登录代码如下:
public partial class UserLogin : System.Web.UI.Page {
js jd = new js(); DB db = new DB();
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e) {
if (txtname.Text == \"\" || txtpwd.Text == \"\") {
jd.Alert(\"请输入帐号!和密码!\"); }
else if (db.GetDataReader(\"select UserName,pwd from JobUser where pwd='\" + txtpwd.Text.Trim() + \"'and UserName='\" + txtname.Text.Trim() + \"' \").Read()) {
Session[\"username\"] = txtname.Text;
js.AlertAndRedirect(\"恭喜新登录成功!\ } else {
js.AlertAndRedirect(\"用户名或帐号错误!请重新输入\ } } }
.
.
5.4简历管理
用户在登录成功后可以对自己的信息进行管理,包括现有职位的搜索,用户已经关注的职位和自己的简历信息等,用户同样可以通过点击网站系统的我要修改进行个人简历的修改操作,在修改过程中需要遵守系统设计所规定的格式。用户简历修改界面如图5.4所示。
图5.4 简历信息
简历信息代码如下:
public partial class userhome : System.Web.UI.Page {
DB db=new DB(); js js=new js();
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
if (Session[\"username\"] == null) {
js.AlertAndRedirect(\"对不起你还没有登录\ } else {
getNum();
GetMyJoblist(); }
this.linkup.Attributes.Add(\"onclick\ this.ddpidcard.Visible = false; this.ddpmeary.Visible = false; this.ddpxueli.Visible = false;
.
.
txtRealName.Enabled = false; txtheigth.Enabled = false; txttel.Enabled = false; txtaddress.Enabled =false; txtxueli.Enabled = false; txtage.Enabled = false; txtyear.Enabled = false; txtmearry.Enabled = false; txtcardtype.Enabled = false; txtidcard.Enabled = false; txtwork.Enabled = false; txtzhuanye.Enabled =false; txtschool.Enabled = false; txtpingjia.Enabled = false; txtyixiang.Enabled = false;
txtworkjingyan.Enabled = false; txtjiaoyu.Enabled = false; txttechang.Enabled = false; txtother.Enabled = false;
drsex.Visible = false; } }
private void getNum() {
SqlDataReader dr;
dr = db.GetDataReader(\"select * from JobUser where UserName='\" + Session[\"username\"] + \"'\"); dr.Read();
Label1.Text = dr[\"id\"].ToString();
lblcount.Text = Session[\"username\"].ToString(); txtRealName.Text=dr[\"RealName\"].ToString(); txtheigth.Text=dr[\"myheigh\"].ToString(); txttel.Text=dr[\"Tel\"].ToString();
txtaddress.Text=dr[\"address\"].ToString(); txtxueli.Text=dr[\"xueli\"].ToString(); txtage.Text=dr[\"age\"].ToString(); txtyear.Text=dr[\"agedate\"].ToString(); txtmearry.Text=dr[\"Marry\"].ToString();
txtcardtype.Text=dr[\"CardType\"].ToString(); txtidcard.Text=dr[\"CardNUm\"].ToString(); txtwork.Text=dr[\"Jobyear\"].ToString(); txtzhuanye.Text=dr[\"zhuanye\"].ToString(); txtschool.Text=dr[\"school\"].ToString();
txtpingjia.Text=dr[\"appreciation\"].ToString(); txtyixiang.Text=dr[\"jobpurpose\"].ToString(); txtworkjingyan.Text=dr[\"jobexp\"].ToString(); txtjiaoyu.Text=dr[\"schoolexp\"].ToString(); txttechang.Text=dr[\"goodat\"].ToString(); txtother.Text=dr[\"other\"].ToString(); txtsex.Text = dr[\"sex\"].ToString(); }
protected void linkupdate1_Click(object sender, EventArgs e) { this.ddpidcard.Visible = true; this.ddpmeary.Visible = true; this.ddpxueli.Visible = true; txtRealName.Enabled = true; txtheigth.Enabled = true;
.
.
txttel.Enabled = true;
txtaddress.Enabled = true; txtxueli.Enabled = true; txtage.Enabled = true; txtyear.Enabled = true; txtmearry.Enabled = true; txtcardtype.Enabled = true; txtidcard.Enabled = true; txtwork.Enabled = true; txtzhuanye.Enabled = true; txtschool.Enabled = true; txtpingjia.Enabled = true; txtyixiang.Enabled = true;
txtworkjingyan.Enabled = true; txtjiaoyu.Enabled = true; txttechang.Enabled = true; txtother.Enabled = true; txtxueli.Visible = false; txtcardtype.Visible = false; txtmearry.Visible = false;
drsex.Visible = true; txtsex.Visible = false; }
protected void linkup_Click(object sender, EventArgs e) {
db.RunSql(\"update JobUser set RealName='\" + txtRealName.Text + \"',addtime='\" + DateTime.Now + \"',myheigh='\" + txtheigth.Text + \"',xueli='\" + ddpxueli.SelectedItem.Text + \"',Tel='\" + txttel.Text + \"',address='\" + txtaddress.Text + \"',age='\" + txtage.Text + \"',agedate='\" + txtyear.Text + \"',Marry='\" + ddpmeary.SelectedItem.Text + \"',CardType='\" +
ddpidcard.SelectedItem.Text + \"',CardNUm='\" + txtidcard.Text + \"',Jobyear='\" + txtwork.Text + \"',zhuanye='\" + txtzhuanye.Text + \"',school='\" + txtschool.Text + \"', appreciation='\" +
txtpingjia.Text + \"',jobpurpose='\" + txtyixiang.Text + \"',jobexp='\" + txtworkjingyan.Text +
\"',schoolexp='\" + txtjiaoyu.Text + \"', goodat='\" + txttechang.Text + \"', other='\" + txtother.Text + \"',sex='\"+drsex.SelectedItem.Text+\"' where UserName='\" + Session[\"username\"] + \"'\"); js.Alert(\"恭喜您修改成功!\"); this.ddpidcard.Visible = false; this.ddpmeary.Visible = false; this.ddpxueli.Visible = false; txtRealName.Enabled = false; txtheigth.Enabled = false; txttel.Enabled = false; txtaddress.Enabled = false; txtxueli.Enabled = false; txtage.Enabled = false; txtyear.Enabled = false; txtmearry.Enabled = false; txtcardtype.Enabled = false; txtidcard.Enabled = false; txtwork.Enabled = false; txtzhuanye.Enabled = false; txtschool.Enabled = false; txtpingjia.Enabled = false; txtyixiang.Enabled = false;
txtworkjingyan.Enabled = false; txtjiaoyu.Enabled = false; txttechang.Enabled = false;
.
.
txtother.Enabled = false; txtxueli.Visible = true; txtcardtype.Visible = true; txtmearry.Visible = true; drsex.Visible = false; txtsex.Visible = true; txtsex.Enabled = false; getNum();
SqlDataReader dr;
dr = db.GetDataReader(\"select * from JobUser where UserName='\" + Session[\"username\"] + \"'\"); dr.Read();
txtmearry.Text = dr[\"Marry\"].ToString();
txtcardtype.Text = dr[\"CardType\"].ToString(); txtxueli.Text = dr[\"xueli\"].ToString(); }
private void GetMyJoblist() {
SqlDataReader da;
da = db.GetDataReader(\"select * from UserJob where Username='\"+ Session[\"username\"]+\"'\");
dljoblist.DataSource = da; dljoblist.DataBind(); } }
5.5投递简历管理
用户在登录成功后还可以搜寻自己喜欢的职位信息,若是看到有用户个人觉得合适的职位的时候,用户就可以当即投递与自己对应的求职简历,可搜寻界面如图5.5所示。
图5.5 职位信息
职位信息代码如下:
public partial class joblist : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
SqlConnection con = new
SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[\"ConStr\"].ToString()); con.Open();
SqlDataAdapter sda = new SqlDataAdapter(\"select A.id as id,B.id as jobid,A.jobclass as jobclass,B.companyname as companyname,A.privances as
.
.
privances,A.jobname as jobname,A.jobnum as jobnum,A.sealarytpe as sealarytpe,A.sealary as sealary ,A.account as jobname,B.account as username,A.addtime as addtime from Job A left join Company B ON A.account=B.account \ DataSet ds = new DataSet(); sda.Fill(ds);
PagedDataSource objPds = new PagedDataSource(); objPds.DataSource = ds.Tables[0].DefaultView; objPds.AllowPaging = true; objPds.PageSize = 60; int CurPage;
if (Request.QueryString[\"Page\"] != null)
CurPage = Convert.ToInt32(Request.QueryString[\"Page\"]); else
CurPage = 1;
objPds.CurrentPageIndex = CurPage - 1; lblCurrentPage.Text = CurPage.ToString();
lblSumPage.Text = objPds.PageCount.ToString(); if (!objPds.IsFirstPage) {
this.hyfirst.NavigateUrl = Request.CurrentExecutionFilePath + \"?Page=\" + 1;
lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + \"?Page=\" + Convert.ToString(CurPage - 1); }
if (!objPds.IsLastPage) {
hylastpage.NavigateUrl = Request.CurrentExecutionFilePath + \"?Page=\" + objPds.PageCount;
lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + \"?Page=\" + Convert.ToString(CurPage + 1); }
this.dljoblist.DataSource = objPds; this.dljoblist.DataBind(); con.Close(); } }
public string SubTittle(string Tittle) {
string NewsTittle = Tittle; if (Tittle.Length > 11) {
NewsTittle = Tittle.Substring(0, 11); return NewsTittle; } else {
NewsTittle = Tittle; return NewsTittle; } } }
点击对的职位信息,可以看到对应的详细信息,如果是自己合适的职位,可以进行简历投递,这部分简历代码与上面简历信息的代码是同样的道理。如图5.6所示。
.
.
图5.6 简历投递
5.6用户登录
系统后台管理模块需要登入后才能使用,用户分为管理员,普通游客和求职者和公司几种角色,管理员有管理所有功能的权限,普通游客在注册后变成普通用户,管理员用户登录的用户名:Admin,密码Admin。后台登入界面如图5.7所示,登入后后台首页管理界面,以简洁大方、方便操作为设计思路。
图5.7 系统登录页面
管理员登录代码如下:
public partial class admin_AdminLogin : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
this.LoginBtn.Attributes.Add(\"onclick\ }
protected void LoginBtn_Click(object sender, EventArgs e) {
try {
SqlConnection con = new
SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[\"ConStr\"].ToString()); con.Open();
SqlCommand cmd = new SqlCommand(\"select * from admin where
.
.
adminName='\" + this.AdminNameTxt.Text + \"'and pwd='\" + this.AdminPwdTxt.Text + \"'\ SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.Read()) {
Session[\"adminName\"] = sdr[\"adminName\"].ToString(); Response.Redirect(\"Index.htm\"); } else {
if (Session[\"adminName\"] == null) {
js.AlertAndRedirect(\"非法登录!\ } }
con.Close(); }
catch (Exception ex) {
Response.Write(ex.Message); } } }
5.7公告管理
管理员可以管理对应的新闻信息,在新闻信息的添加页面中输入对应的标题来源和内容后点击确定添加数据到数据库中,如图5.8所示。
图5.8 新闻添加页面
新闻添加代码如下:
public partial class admin_Addnews : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
if (Session[\"adminName\"] == null)
.
.
{
js.AlertAndRedirect(\"对不起你还没有登录!\ } } }
protected void btnaddNews_Click(object sender, EventArgs e) {
try {
SqlConnection con = new
SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[\"ConStr\"].ToString()); con.Open();
SqlCommand cmd = new SqlCommand(\"insert into
NewsContent(ClassName,NewTittle,NewContent,AddTime,Froms,Addperson,Imp)
values(@ClassName,@NewTittle,@NewContent,@AddTime,@Froms,@Addperson,@Imp)\con);
cmd.Parameters.Add(\"@ClassName\ cmd.Parameters.Add(\"@NewTittle\ cmd.Parameters.Add(\"@NewContent\ cmd.Parameters.Add(\"@AddTime\ cmd.Parameters.Add(\"@Froms\ cmd.Parameters.Add(\"@Addperson\ cmd.Parameters.Add(\"@Imp\ cmd.Parameters[\"@ClassName\"].Value =\"新闻\";
cmd.Parameters[\"@NewTittle\"].Value = txtNewsTittle.Text.Trim(); cmd.Parameters[\"@AddTime\"].Value = DateTime.Now;
cmd.Parameters[\"@NewContent\"].Value = FreeTextBox1.Text; cmd.Parameters[\"@Froms\"].Value = txtFrom.Text.Trim();
cmd.Parameters[\"@Addperson\"].Value = Session[\"adminName\"].ToString(); cmd.Parameters[\"@Imp\"].Value =\"1\"; cmd.ExecuteNonQuery(); con.Close();
js.AlertAndRedirect(\"添加成功!\ }
catch (Exception ex) {
Response.Write(ex.Message);
js.AlertAndRedirect(\"添加失败!\ } }
protected void btnClear_Click(object sender, EventArgs e) {
txtFrom.Text = \"\";
txtNewsTittle.Text = \"\"; FreeTextBox1.Text = \"\"; } }
在添加完新闻信息后可以选择新闻管理,即可对已经添加过的新闻信息进行编辑和删除操作,如图5.9所示。
图5.9 新闻管理页面
.
.
5.8新闻管理
管理员可以管理最新公告,在这些公告管理中输入要闻的标题以及内容后点击确定按钮,在系统检测输入的数据合法后会将这些最新要闻添加公告信息到数据库中,这部分代码与上面的新闻添加的页面代码同样的道理。如图5.10所示。
图5.10 公告添加页面
在添加完公告信息后可以选择公告管理,对已经添加过的公告信息进行编辑和删除操作,如图5.11所示。
图5.11 公告管理管理页面
.
.
6总结
本文研究的是一个人才招聘管理信息系统,文章开头先介绍的该系统的设计意义和背景,之后通过本人的分析,规划出需要完成该系统的计划,即在什么时间段需要完成相对应的事情。
文中对ASP.NET、SQL2005数据库的简单介绍,说明了该人才招聘管理信息系统的技术可行性[12]。在导师的悉心指导下本人将该系统巧妙地用ASP.NET和SQL2005相结合,从而开发出一个合格的且具有使用价值系统。经过很长一段时间的研究学习,感受到要想完成一个合格并且成功的系统,最重要的莫过于手动实践操作,在如今这个信息网络化的时代,要开发完成系统,基础知识是尤为重要的,这里就体现出了网络的方便快捷,可以通过上网查询各种资料来帮助自己完成该系统[13]。系统的设计想要吸引到用户和企业,就必须要在页面布局上面花一番功夫。但由于本人经验不足,所以设计的界面还是比较简单的,但是相对的那些所需要的基础功能是可以实现的。
本次开发,我在网上搜索了很多关于该系统的实例,通过对先前人们完成该系统所设计的模块、功能、数据库等方面的进一步学习。本人感觉到该系统网站有着很好的开发意义[14]。该系统是个人在导师的指导下完成的,所以肯定会有一些缺陷。但是系统能给用户提供实用价值才是开发该系统的终极目的。在系统体验方面,运用了时下很多先进的技术,这些都是提高系统的用户体验分的关键[15]。
由于本人是第一次设计与实现一个完整的系统,并且不是太难熟练的运用C#语言,所以在设计和实现的过程中遇到过许多困难,原本以为正确的程序缺在运行过程中出错,有的时候花上几天时间还是不能找出错误的原因。但经过自己的努力,最终还是解决了。而这些问题有时候仅仅是因为没注意一些简单的语法,比如中英文输入法不注意,括号,引号的使用等问题。
本系统是基于ASP.Net的开发平台进行的设计,采用C#语言进行开发,这些虽然都是以前学过的知识,但是还是第一次把这些知识进行融合使用。因此,这次毕业设计,为今后走向社会打下了坚实的基础,总之,这次毕业设计受益匪浅[16]。经过理论与实践的相结合,完成了该人才招聘管理信息系统所预期的功能,虽然如此,但由于本人的水平有限,缺乏对这种大型系统的设计经验,所以存在对系统需求分析不够透彻、功能实现不够完美等问题[17]。
.
.
致 谢
经过这么长的时间,在李丛老师的耐心指导下完成了人才招聘管理信息系统。此次毕业设计给我的最大的印象是基本知识是一切的基础架构,同时感受到了动手操作的能力也是很重要的。从做这个毕业设计开始,总会遇到一些很困难的问题,但这些并不是放弃的理由,经过自己仔细的思考以及和同学之间的探讨,最终还是解决了这些问题。深深体会到了在设计过程中一定要慎重仔细来不得半点马虎,否则会功亏一篑。页面的布局和时间的规划都是整个毕业设计过程中所要重视的环节。只有清晰的知道要在什么时间段完成什么样的事情,才能完成一个完善的毕业设计系统网站。
在毕业设计过程中本人也学到了很多,尤其是分析问题、动手操作的能力得到了许多提升,而这些正是对于不久之后即将走上工作岗位的我们最实用的。在毕业设计过程中虽然遇到了很多问题,但经过大量的查阅资料以及同学之间互相研究都能将这些问题给解决掉,这种情况恰恰反应了本人在这方面的知识欠缺和明显的经验不足。
最后,本人要感谢自己的指导老师:李丛老师。正是李丛老师的细心和耐心指导,本人才能更加巧妙的将已经学到的知识与实际状况相结合,最终完成人才招聘管理信息系统,这些都将是今后在工作方面的宝贵经验,真的给了本人很好地锻炼和影响,再次感谢李丛老师。
.
.
参考文献
[1]张海藩.软件工程导论[M].清华大学出版社,2003 [2]丁宝康 汪卫.数据库系统教程[M].高等教育出版社,2003
[3]孙印杰 杨滔 吕书琴.ASP.NET+SQL Server动态网站设计实例精解[M].电子工业出版社,2005
[4]石峰科技.ASP.NET网站开发四酷全书电子[M].工业出版社,2005 [5]求是科技.ASP.NET信息管理系统开发实例导航[M].人民邮店出版社.2005 [6]杨宗志.ASP.NET入门与实作[M].科学出版社,2003
[7]曹锰 舒新峰.C#与ASP.NET程序设计[M].西安交通大学出版社,2005 [8]虞益诚.SQL Server 2000[M].中国铁道出版社,2004
[9]董征宇.我国中小企业电子商务盈利策略探析[J].中国商贸,2010,22:94-95 [10]张爱军.电子商务技术的创新发展趋势[J].电脑知识与技术,2011,26:61-67 [11]马桂林.中小音乐企业经销商电子商务管理系统的设计[J].价值工程,2010,23:148-149
[12]蔡翔宇.电子商务与计算机网络应用[J].计算机应用研究,2011,2:366 [13]程少丽.浅谈国内电子商务的现状及发展[J].电脑与电信,2010,77:73 [14] 周文艳,夏丽丽.电子商务中的数据库技术[J].科技创新导报,2010,32,:30 2010,5:112-114 [16]WANG Yu.The Design and Implementation of a Shopping Cart in E-commerce Sites Based on ASP Technology[J].Computer Knowledge and Technology,2011,21:20-21
[17]DING Xiao-ping.The Design Plan of BBS System Based on ASP Technology[J].Journal of HeBei Energy Institute of Vocation and Technology,2011:62-
.
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务