<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>一树博客 &#187; 一树</title>
	<atom:link href="http://www.onono.org/author/admin/feed" rel="self" type="application/rss+xml" />
	<link>http://www.onono.org</link>
	<description>一树的随想、生活与资料存档。</description>
	<lastBuildDate>Thu, 02 Sep 2010 00:13:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>鸭子的随想</title>
		<link>http://www.onono.org/2010/09/495.htm</link>
		<comments>http://www.onono.org/2010/09/495.htm#comments</comments>
		<pubDate>Wed, 01 Sep 2010 15:17:11 +0000</pubDate>
		<dc:creator>一树</dc:creator>
				<category><![CDATA[随想]]></category>
		<category><![CDATA[专注工作]]></category>

		<guid isPermaLink="false">http://www.onono.org/?p=495</guid>
		<description><![CDATA[应同事要求，今天要写一篇关于鸭子的博文。 鸭子，又可称为MB、坐台，一天之内要应付很多很多人，渐渐的就会有被轮奸的感觉，据说久而久之就麻木了，题图为家乡名菜甜皮鸭。 转入正题，今天第一次接听电话，无法像CPU一样娴熟的控制进程中断和阻塞，差点神经错乱。我是单线程处理，在遇到优先级更高的请求，会像CPU一样挂起当前的任务，将当前任务状态压入栈中，执行完其他的任务，然后恢复现场（出栈）继续执行。电话不断，反复的出栈入栈操作犹如抽插般的火辣，以至于忘了到底要做什么。 我喜欢专注于做一件事，以便集中精力解决当前的问题，别人可以同时控制好几个英雄，而我始终只能控制一个。]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.onono.org/wp-content/uploads/2010/09/duck.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignnone size-medium wp-image-496" title="甜皮鸭" src="http://www.onono.org/wp-content/uploads/2010/09/duck-300x237.jpg" alt="" width="300" height="237" /></a><br />
应同事要求，今天要写一篇关于鸭子的博文。<br />
鸭子，又可称为MB、坐台，一天之内要应付很多很多人，渐渐的就会有被轮奸的感觉，据说久而久之就麻木了，题图为家乡名菜甜皮鸭。<br />
<span id="more-495"></span><br />
转入正题，今天第一次接听电话，无法像CPU一样娴熟的控制进程中断和阻塞，差点神经错乱。我是单线程处理，在遇到优先级更高的请求，会像CPU一样挂起当前的任务，将当前任务状态压入栈中，执行完其他的任务，然后恢复现场（出栈）继续执行。电话不断，反复的出栈入栈操作犹如抽插般的火辣，以至于忘了到底要做什么。<br />
我喜欢专注于做一件事，以便集中精力解决当前的问题，别人可以同时控制好几个英雄，而我始终只能控制一个。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onono.org/2010/09/495.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一个微笑就够了</title>
		<link>http://www.onono.org/2010/08/488.htm</link>
		<comments>http://www.onono.org/2010/08/488.htm#comments</comments>
		<pubDate>Sun, 22 Aug 2010 02:11:43 +0000</pubDate>
		<dc:creator>一树</dc:creator>
				<category><![CDATA[随想]]></category>
		<category><![CDATA[微笑]]></category>

		<guid isPermaLink="false">http://www.onono.org/?p=488</guid>
		<description><![CDATA[图：香港南华早报，2010年8月6日，“它低调而且温和，具有中国特色。” 我一般都是写关于自己的事，很少写别人，写别人不就成了软文么？ 但是今天发生的事，将来会对我乃至整个群体都会产生影响，将从中受益，将这个事件记录下来也是很有意义的。 我很佩服侯同学，有这样的胆识和创新的想法，那些思维僵化的中年人是做不到的，这也是为什么我们要寄希望于青年一代。 侯同学的活动获得了很多支持，我虽然没直接帮上什么忙，但是利用一年前获得的便利，暗中理直气壮的推了一把。]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.onono.org/wp-content/uploads/2010/08/smile.jpeg" class="highslide-image" onclick="return hs.expand(this);"><img src="http://www.onono.org/wp-content/uploads/2010/08/smile-273x300.jpg" alt="" title="smile" width="273" height="300" class="alignnone size-medium wp-image-489" /></a><br />
图：香港南华早报，2010年8月6日，“它低调而且温和，具有中国特色。”<br />
<span id="more-488"></span><br />
我一般都是写关于自己的事，很少写别人，写别人不就成了软文么？<br />
但是今天发生的事，将来会对我乃至整个群体都会产生影响，将从中受益，将这个事件记录下来也是很有意义的。</p>
<p>我很佩服侯同学，有这样的胆识和创新的想法，那些思维僵化的中年人是做不到的，这也是为什么我们要寄希望于青年一代。</p>
<p>侯同学的活动获得了很多支持，我虽然没直接帮上什么忙，但是利用一年前获得的便利，暗中理直气壮的推了一把。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onono.org/2010/08/488.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>二叔的定律</title>
		<link>http://www.onono.org/2010/08/481.htm</link>
		<comments>http://www.onono.org/2010/08/481.htm#comments</comments>
		<pubDate>Wed, 11 Aug 2010 12:07:26 +0000</pubDate>
		<dc:creator>一树</dc:creator>
				<category><![CDATA[随想]]></category>
		<category><![CDATA[无理纠缠]]></category>

		<guid isPermaLink="false">http://www.onono.org/?p=481</guid>
		<description><![CDATA[以前我没明白二叔一番话的深意，一个朋友的服务器出问题了，我向二叔和Kris求援。 非常意外，二叔邮件直接回绝了，大意是如果这次他出手无偿帮忙，他下次服务器出了问题还会找到你头上，我感到很不可理解。Kris相比就慷慨多了，直接给了一个微软网站的链接。后来想想，那台服务器的拥有者也太不争气了，据说他以前就是被二叔扶植起来的，后来他服务器欠费停机，二叔说了一句“窝囊”，看来真的帮不了他一世啊。 后来也忘了是怎么解决这个问题的，直到今天这条定律在我身上应验了，尝到了被无理纠缠的滋味，我才回想起二叔这事，也好给自己提个醒，将来避免不必要的麻烦。 再后来，Kris提议购买国外的虚拟主机，也是考虑到独立机器的维护成本，我们大家都少些麻烦。]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.onono.org/wp-content/uploads/2010/08/dedicated-server.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignnone size-medium wp-image-482" title="dedicated-server" src="http://www.onono.org/wp-content/uploads/2010/08/dedicated-server-300x225.jpg" alt="" width="300" height="225" /></a><br />
以前我没明白二叔一番话的深意，一个朋友的服务器出问题了，我向二叔和Kris求援。<br />
<span id="more-481"></span><br />
非常意外，二叔邮件直接回绝了，大意是如果这次他出手无偿帮忙，他下次服务器出了问题还会找到你头上，我感到很不可理解。Kris相比就慷慨多了，直接给了一个微软网站的链接。后来想想，那台服务器的拥有者也太不争气了，据说他以前就是被二叔扶植起来的，后来他服务器欠费停机，二叔说了一句“窝囊”，看来真的帮不了他一世啊。</p>
<p>后来也忘了是怎么解决这个问题的，直到今天这条定律在我身上应验了，尝到了被无理纠缠的滋味，我才回想起二叔这事，也好给自己提个醒，将来避免不必要的麻烦。</p>
<p>再后来，Kris提议购买国外的虚拟主机，也是考虑到独立机器的维护成本，我们大家都少些麻烦。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onono.org/2010/08/481.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>瞬 失落</title>
		<link>http://www.onono.org/2010/07/477.htm</link>
		<comments>http://www.onono.org/2010/07/477.htm#comments</comments>
		<pubDate>Wed, 28 Jul 2010 16:31:48 +0000</pubDate>
		<dc:creator>一树</dc:creator>
				<category><![CDATA[乱写]]></category>

		<guid isPermaLink="false">http://www.onono.org/?p=477</guid>
		<description><![CDATA[最近特别有成就感，而且以前的狂想也近乎现实了，不得不说这是一种享受。 但是瞬间又会有一些不愉快，这段回忆真的不愉快么？冷漠啊，都冷漠了……什么上流小丝丝，什么秋香，什么群主，什么……都远去了 如果要找原因，可能还要找自己的原因吧，习惯了。 先清理一下。]]></description>
			<content:encoded><![CDATA[<p>最近特别有成就感，而且以前的狂想也近乎现实了，不得不说这是一种享受。</p>
<p>但是瞬间又会有一些不愉快，这段回忆真的不愉快么？冷漠啊，都冷漠了……什么上流小丝丝，什么秋香，什么群主，什么……都远去了<br />
如果要找原因，可能还要找自己的原因吧，习惯了。</p>
<p>先清理一下。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onono.org/2010/07/477.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD下SNMP协议简单配置</title>
		<link>http://www.onono.org/2010/07/467.htm</link>
		<comments>http://www.onono.org/2010/07/467.htm#comments</comments>
		<pubDate>Mon, 19 Jul 2010 05:06:19 +0000</pubDate>
		<dc:creator>一树</dc:creator>
				<category><![CDATA[技术文档]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[SNMP]]></category>

		<guid isPermaLink="false">http://www.onono.org/?p=467</guid>
		<description><![CDATA[cd /usr/ports/net-mgmt/net-snmp make config make install clean 样例文件位于/usr/local/share/snmp/snmpd.conf.example 使用snmpconf命令生成配置文件snmpd.conf $ /usr/local/bin/snmpconf -i -g basic_setup The following installed configuration files were found: //如果之前有过配置文件，会提示，可忽略 1:  /usr/local/share/snmp/snmpd.conf Would you like me to read them in?  Their content will be merged with the output files created by this session. Valid answer examples: &#8220;all&#8221;, &#8220;none&#8221;,&#8221;3&#8243;,&#8221;1,2,5&#8243; Read in which (default =]]></description>
			<content:encoded><![CDATA[<p><code><br />
cd /usr/ports/net-mgmt/net-snmp<br />
make config<br />
make install clean<br />
</code><br />
样例文件位于/usr/local/share/snmp/snmpd.conf.example</p>
<p>使用snmpconf命令生成配置文件snmpd.conf</p>
<p>$ /usr/local/bin/snmpconf -i -g basic_setup<span id="more-467"></span></p>
<p>The following installed configuration files were found:</p>
<p>//如果之前有过配置文件，会提示，可忽略</p>
<p>1:  /usr/local/share/snmp/snmpd.conf</p>
<p>Would you like me to read them in?  Their content will be merged with the</p>
<p>output files created by this session.</p>
<p>Valid answer examples: &#8220;all&#8221;, &#8220;none&#8221;,&#8221;3&#8243;,&#8221;1,2,5&#8243;</p>
<p>Read in which (default = all): //可选择none，忽略之前的配置</p>
<p>************************************************</p>
<p>*** Beginning basic system information setup ***</p>
<p>************************************************</p>
<p>Do you want to configure the information returned in the system MIB group (contact info, etc)? (default = y): y</p>
<p>//选择y</p>
<p>Configuring: syslocation</p>
<p>Description:</p>
<p>The [typically physical] location of the system.</p>
<p>Note that setting this value here means that when trying to</p>
<p>perform an snmp SET operation to the sysLocation.0 variable will make</p>
<p>the agent return the &#8220;notWritable&#8221; error code.  IE, including</p>
<p>this token in the snmpd.conf file will disable write access to</p>
<p>the variable.</p>
<p>arguments:  location_string</p>
<p>The location of the system: Chengdu</p>
<p>//syslocation，填写这台被监控机的地理位置信息，方便查阅</p>
<p>Finished Output: syslocation  Chengdu</p>
<p>Configuring: syscontact</p>
<p>Description:</p>
<p>The contact information for the administrator</p>
<p>Note that setting this value here means that when trying to</p>
<p>perform an snmp SET operation to the sysContact.0 variable will make</p>
<p>the agent return the &#8220;notWritable&#8221; error code.  IE, including</p>
<p>this token in the snmpd.conf file will disable write access to</p>
<p>the variable.</p>
<p>arguments:  contact_string</p>
<p>The contact information: orz（at）onono.org</p>
<p>//该服务器的管理员联系方式，最好填一个电子邮箱，服务器不可用的时候，可通知管理员</p>
<p>Finished Output: syscontact  orz（at）onono.org</p>
<p>Do you want to properly set the value of the sysServices.0 OID (if you don&#8217;t know, just say no)? (default = y): y</p>
<p>//选择y</p>
<p>Configuring: sysservices</p>
<p>Description:</p>
<p>The proper value for the sysServices object.</p>
<p>arguments:  sysservices_number</p>
<p>does this host offer physical services (eg, like a repeater) [answer 0 or 1]: 0</p>
<p>does this host offer datalink/subnetwork services (eg, like a bridge): 0</p>
<p>does this host offer internet services (eg, supports IP): 1</p>
<p>does this host offer end-to-end services (eg, supports TCP): 1</p>
<p>does this host offer application services (eg, supports SMTP): 1</p>
<p>//依次选择0、0、1、1、1，由于主机不充当网桥等角色，前两项填0</p>
<p>Finished Output: sysservices 76</p>
<p>**************************************</p>
<p>*** BEGINNING ACCESS CONTROL SETUP ***</p>
<p>**************************************</p>
<p>Do you want to configure the agent&#8217;s access control? (default = y): n</p>
<p>****************************************</p>
<p>*** Beginning trap destination setup ***</p>
<p>****************************************</p>
<p>Do you want to configure where and if the agent will send traps? (default = y): n</p>
<p>****************************************</p>
<p>*** Beginning monitoring setup ***</p>
<p>****************************************</p>
<p>Do you want to configure the agent&#8217;s ability to monitor various aspects of your system? (default = y): n</p>
<p>The following files were created:</p>
<p>接下来，使用net-snmp-config &#8211;create-snmpv3-user -ro命令配置权限，先确认snmpd已停止：</p>
<p># /usr/local/etc/rc.d/snmpd stop</p>
<p>然后运行：</p>
<p># net-snmp-config &#8211;create-snmpv3-user -ro</p>
<p>Enter a SNMPv3 user name to create:</p>
<p>myusername     //用户名</p>
<p>Enter authentication pass-phrase:</p>
<p>pass1234       //密码，长度大于8位</p>
<p>Enter encryption pass-phrase:</p>
<p>[press return to reuse the authentication pass-phrase]</p>
<p>phrase1234     //phrase，长度大于8位</p>
<p>adding the following line to /var/net-snmp/snmpd.conf:</p>
<p>createUser myusername MD5 &#8220;pass1234&#8243; DES phrase1234</p>
<p>adding the following line to /usr/local/share/snmp/snmpd.conf:</p>
<p>rouser myusername</p>
<p>启动snmpd：/usr/local/etc/rc.d/snmpd start</p>
<p>用snmpwalk测试一下刚才的设置是否生效：</p>
<p>/usr/local/bin/snmpwalk -v 3 -l authPriv -u myusername -a MD5 -A 12345678 -x DES -X 87654321 localhost</p>
<p>SNMPv2-MIB::sysDescr.0 = STRING: FreeBSD ys-bsd.onono.org 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:48:17 UTC 2009     root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386<br />
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::org<br />
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (86606) 0:14:26.06<br />
SNMPv2-MIB::sysContact.0 = STRING: Me &lt;orz（at）onono.org&gt;</p>
<p>……</p>
<p>……</p>
<p>NOTIFICATION-LOG-MIB::nlmLogDateAndTime.&#8221;default&#8221;.1 = STRING: 2010-7-19,12:49:39.0,-8:0<br />
NOTIFICATION-LOG-MIB::nlmLogDateAndTime.&#8221;default&#8221;.2 = STRING: 2010-7-19,12:49:39.0,-8:0<br />
NOTIFICATION-LOG-MIB::nlmLogDateAndTime.&#8221;default&#8221;.3 = STRING: 2010-7-19,12:49:39.0,-8:0<br />
NOTIFICATION-LOG-MIB::nlmLogDateAndTime.&#8221;default&#8221;.4 = STRING: 2010-7-19,12:49:39.0,-8:0</p>
<p>确认snmpd已侦听UDP161端口</p>
<p># sockstat -l4</p>
<p>USER   COMMAND  PID   FD PROTO LOCAL ADDRESS FOREIGN ADDRESS</p>
<p><span style="color: #ff0000;">root     snmpd      47043 9  udp4   *:161                 *:*</span></p>
<p>www      httpd      41173 3  tcp4   *:80                  *:*</p>
<p>www      httpd      41172 3  tcp4   *:80                  *:*</p>
<p>www      httpd      41171 3  tcp4   *:80                  *:*</p>
<p>root     httpd      92407 3  tcp4   *:80                  *:*</p>
<p>root     sshd       5388  4  tcp4   *:22                  *:*</p>
<p>mysql    mysqld     82716 5  tcp4   *:3306                *:*</p>
<p>root     sendmail   831   4  tcp4   127.0.0.1:25          *:*</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onono.org/2010/07/467.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>毕业设计（论文）——公司人事管理系统</title>
		<link>http://www.onono.org/2010/07/453.htm</link>
		<comments>http://www.onono.org/2010/07/453.htm#comments</comments>
		<pubDate>Sun, 18 Jul 2010 07:40:00 +0000</pubDate>
		<dc:creator>一树</dc:creator>
				<category><![CDATA[技术文档]]></category>
		<category><![CDATA[公司人事管理系统]]></category>
		<category><![CDATA[毕业论文]]></category>

		<guid isPermaLink="false">http://www.onono.org/?p=453</guid>
		<description><![CDATA[前不久本科的毕业论文，马马虎虎的答辩了一番。数据库和程序是自己写的，我文采不好，文字的部分参考了其他论文，粘贴在此供分享，转载请注明出处，谢谢。 摘 要 以C#技术、SQLServer技术为基础的公司人事管理系统将帮助企业科学、正规且高效运转。使用“三层架构”的整体概念设计的企业人事管理系统，包含人事管理、工资管理、综合管理、系统管理、用户管理等功能。 关键字：C#，SQL Server 2005，软件工程 Abstract A C-sharp and SQL Server technology-based personnel management system will help the company run their business in a scientific, formal and effective way. The 3-tier architecture build system including personnel management, payroll management, general management, system management, user management and many other functions. Key words: C# ,]]></description>
			<content:encoded><![CDATA[<p>前不久本科的毕业论文，马马虎虎的答辩了一番。数据库和程序是自己写的，我文采不好，文字的部分参考了其他论文，粘贴在此供分享，转载请注明出处，谢谢。<br />
<span id="more-453"></span></p>
<p style="text-align: center;">摘 要</p>
<p>以C#技术、SQLServer技术为基础的公司人事管理系统将帮助企业科学、正规且高效运转。使用“三层架构”的整体概念设计的企业人事管理系统，包含人事管理、工资管理、综合管理、系统管理、用户管理等功能。</p>
<p>关键字：C#，SQL Server 2005，软件工程</p>
<p style="text-align: center;">Abstract</p>
<p>A C-sharp and SQL Server technology-based personnel management system will help the company run their business in a scientific, formal and effective way.</p>
<p>The 3-tier architecture build system including personnel management, payroll management, general management, system management, user management and many other functions.</p>
<p>Key words: C# , SQL Server 2005 , software engineering</p>
<p><strong>目</strong> <strong>录</strong></p>
<p>第一章 绪 言&#8230; 1</p>
<p style="padding-left: 30px;">第一节  项目开发的背景&#8230; 1</p>
<p style="padding-left: 30px;">第二节  项目开发的目的&#8230; 1</p>
<p style="padding-left: 30px;">第三节  项目提出的意义&#8230; 1</p>
<p style="padding-left: 30px;">第四节  可行性分析&#8230; 1</p>
<p style="padding-left: 60px;">一、经济上可行性&#8230; 1</p>
<p style="padding-left: 60px;">二、技术上可行性&#8230; 2</p>
<p style="padding-left: 60px;">三、时机上可行性&#8230; 2</p>
<p style="padding-left: 60px;">四、管理上的可行性&#8230; 2</p>
<p>第二章 开发工具&#8230; 3</p>
<p style="padding-left: 30px;">第一节  C#语言简介&#8230; 3</p>
<p style="padding-left: 30px;">第二节  .NET简介&#8230; 3</p>
<p style="padding-left: 30px;">第三节  SQLSever 数据库简介&#8230; 4</p>
<p>第三章 数据流程&#8230; 5</p>
<p style="padding-left: 30px;">第一节  数据流程图&#8230; 5</p>
<p style="padding-left: 30px;">第二节  数据字典&#8230; 5</p>
<p style="padding-left: 60px;">一、职员信息表&#8230; 5</p>
<p style="padding-left: 60px;">二、职员薪资表&#8230; 6</p>
<p style="padding-left: 60px;">三、职务变更表&#8230; 6</p>
<p style="padding-left: 60px;">四、职务名称表&#8230; 6</p>
<p style="padding-left: 60px;">五、职员职位表&#8230; 7</p>
<p style="padding-left: 60px;">六、考勤记录表&#8230; 7</p>
<p style="padding-left: 60px;">七、部门名称表&#8230; 7</p>
<p style="padding-left: 60px;">八、考评记录表&#8230; 7</p>
<p>第四章 项目实施&#8230; 9</p>
<p style="padding-left: 30px;">第一节  系统总体结构设计&#8230; 9</p>
<p style="padding-left: 60px;">一、人事工作流程&#8230; 9</p>
<p style="padding-left: 60px;">二、系统设计思想&#8230; 9</p>
<p style="padding-left: 60px;">三、功能分析&#8230; 9</p>
<p style="padding-left: 30px;">第二节  代码设计&#8230; 9</p>
<p style="padding-left: 60px;">一、编码简述&#8230; 9</p>
<p style="padding-left: 60px;">二、详细编码&#8230; 10</p>
<p>结束语&#8230; 12</p>
<p>谢词&#8230; 13</p>
<p>参考文献&#8230; 14</p>
<p>第一章 绪 言</p>
<p>第一节  项目开发的背景</p>
<p>近年来，随着计算机技术的发展和互联网时代的到来，我们已经进入了信息时代，也有人称为数字化时代，在这数字化的时代里，企业的人事需要高效率的管理。信息技术持续迅猛的发展，给传统的人事管理提出了更高的要求。怎样让繁杂的人事管理变得轻松？如何应对人事变动频繁的挑战？</p>
<p>以C#技术、SQLServer技术为基础的公司人事管理系统就是一个很好的解决方案，它们将帮助这个企业科学、正规且高效运转。</p>
<p>第二节  项目开发的目的</p>
<p>使用“三层架构”的整体概念来设计企业的人事管理系统。在这个概念下，开发出来的系统功能包括人事管理、工资管理、综合管理、系统管理、用户管理。</p>
<p>在此开发的公司人事管理系统，旨在适应信息时代，提高企业人事管理的效率，帮助企业科学正规运转，减轻管理者的压力和负担，企业的管理人员无需经过特殊的训练就可以使用这个系统，降低管理成本，最大程度的满足企业人事管理需求。</p>
<p>升级、改造现有的纸质档案，重建员工档案，以符合数字化的标准。</p>
<p>第三节  项目提出的意义</p>
<p>企业在人事管理中实现数字化、信息化、智能化，和传统的纸质档案管理相比，是一个全新的革命，能够给企业带来先进的现代化的人事管理思想方法和模式，提高管理的有效性。</p>
<p>数字化的人事管理系统有助于促进人事管理正规化，而且还大大降低了管理的成本。</p>
<p>第四节  可行性分析</p>
<p>一、经济上可行性</p>
<p>现在,计算机的价格已经十分低廉，性能却有了长足的进步。而本系统的开发。为企业的工作和经济效率带来了一个质的飞跃，主要表现有以下几个方面：</p>
<p>第一、本系统的运行可以代替人工进行许多繁杂的劳动；</p>
<p>第二、本系统的运行可以节省许多资源，例如纸质和笔墨；</p>
<p>第三、本系统的运行可以大大的提高企业的工作效率；</p>
<p>所以，本系统在经济上是可行的。</p>
<p>二、技术上可行性</p>
<p>技术上的可行性分析，主要分析技术条件能否顺利完成开发工作，硬、软件能否满足开发者的需要等。该管理系统采用了当前流行的Client/Server模式进行开发，引入了数据访问层、业务逻辑层、表现层——三层的架构体系，是技术发展的大势所趋，它把应用系统带入了一个崭新的发展时代。数据库服务器选用微软的SQLServer数据库，它能够处理大量数据，同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此，系统的软件开发平台已成熟可行。硬件方面，科技飞速发展的今天，硬件更新的速度越来越快，容量越来越大，可靠性越来越高，价格越来越低，其硬件平台完全能满足此系统的需要。</p>
<p>三、时机上可行性</p>
<p>目前，企业内部大多都实现了数字化办公，办公室的有线无线网路覆盖了情况也相当理想，企业良好的硬件设施为公司人事管理系统提供了坚实的基础。</p>
<p>四、管理上的可行性</p>
<p>企业的管理人员是否支持数字化管理，现有的管理制度和方法是否科学，规章制度是否齐全，原始数据是否正确等问题，需要企业高层人员作出进一步肯定。规章制度和管理方法是该系统的制度保障。</p>
<p>综上所述，此系统开发目标已明确，在技术和经济等方面都可行，并且投入少、见效快。因此系统的开发是完全可行的。</p>
<p><strong><br />
</strong></p>
<p>第二章 开发工具</p>
<p>第一节  C#语言简介</p>
<p>C#(读作“c－sharp”)作为微软的下一代面向对象的语言产品，能够让开发人员在．NET平台上快速地建立大量的应用程序。按照微软给出的定义，C#是一种源自于C和C++的，简单的、现代的、面向对象的和类型安全的程序设计语言。C#为程序员提供了开发飞速发展的Web应用程序所需的强大而灵活的功能。C#和Java的核心与C++比较有着相同的优势和局限，比起C++，C#将更容易被人们理解和接受，未来大量．NET平台的应用将由 C#开发。</p>
<p>例如，我们可以使用C#开发任何古典风格的Windows程序。不仅如此，不管是控制序、图形程序、NT服务程序，还是普通组件，乃至Web页面，都可以用C#开发出来。可以相信，不论是企业的决策者、管理者或员工，都将欣赏C#为企业所带来的一切。</p>
<p>C#语言需要．NET框架的支持。我们所说的很多C#语言的新特点和功能，如类型安全、垃圾收集、版本制、兼容性以及跨语言的异常处理和继承，这些都是依赖于底层的．NET框架来完成的。</p>
<p>第二节  .NET简介</p>
<p>．NET是Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据，而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。</p>
<p>．NET的最终目的就是让用户在任何地方、任何时间，以及利用任何设备都能访问他们所需要的信息、文件和程序。而用户不需要知道这些东西存在什么地方，甚至连如何获得等具体细节都不知道。他们只需发出请求，然后只管接收就是了，而所有后台的复杂性是完全屏蔽起来的。所以对于企业的IT人员来说，他们也不需要管理复杂的平台以及各种分布应用之间的工作是如何协调的。</p>
<p>．NET包括4个重要特点，一是软件变服务，二是基于XML的共同语言，三是融合多种设备和平台，四是新一代的人机界面。这四个特点基本上覆盖了．NET的技术特征。</p>
<p>融合多种设备和平台，随着Internet逐渐成为一个信息和数据的中心，各种设备和服务已经或正在接入和融入Internet，成为其中的一部分。．NET谋求与各种Internet接入设备和平台的一体化，主要关注在无线设备和家庭网络设备及相关软件、平台方面。</p>
<p>新一代的人机界面，新一代人机界面主要体现在“智能与互动”两个方面。．NET包括通过自然语音、视觉、手写等多种模式的输入和表现方法；基于XML的可编辑复合信息架构——通用画布；个性化的信息代理服务；使机器能够更好地进行自动处理的智能标记等技术。</p>
<p>第三节  SQLSever 数据库简介</p>
<p>Microsoft SQL Server 2000 是Microsoft 公司继SQL Server 6.5和SQL Server 7.0以后，在新千年推出的又一改进的新版关系型数据管理系统。它能使用户快捷地管理数据库和开发应用程序。SQL Server 2000 使用了了先进的数据库结构，与Windows DNA紧密集成，具有强大的Web 功能，它可以利用高端硬件平台以及最新网络和 存储技术，可以为最大的Web站点和企业应用提供优良的扩展性和可靠性，使用户能够在Internet 领域快速建立服务系统，为占领市场赢得宝贵的时间。同时，SQL Server 2000 还为用户提供了重要的安全性功能的增强，为用户的数据安全提供了可靠的保证。另外，SQL Server 2000还为用户提供了重要的安全性功能的增强，为用户的数据安全提供了可靠的保证。另外,SQL Server 2000 在数据库服务器自动管理技术方面处于数据库领域的领先地位，它可以使用户免去繁琐复杂的工作量，从而有精力处理更重要的问题，使用系统在商业战略上占得先机。</p>
<p>关系型数据库系统是当前最流行的数据库软件系统。它是一个非常复杂的软件系统，对数据库的所有操作，包括定义、查询、更新和各种运行控制最终都通过它来实现的，因它是使数据库系统具有资料共享、并发访问、资料独立等特性的根本保证。</p>
<p>就关系数据库管理系统(RDBMS)而言，它是位于用与操作系统之间的一层数据管理软件，它主要负责强化数据库的结构，简单来说包括如下功能：</p>
<p>1．维持数据库中资料的关系。</p>
<p>2．保障资料的正确存储，即保障定义资料之间的关系的种种规则不会被违背。</p>
<p>3．在系统出错时，把资料恢复到一个能保证一致性的状态。</p>
<p><strong><br />
</strong></p>
<p>第三章 数据流程</p>
<p>第一节  数据流程图</p>
<p><a href="http://www.onono.org/wp-content/uploads/2010/07/clip_image002.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignnone size-medium wp-image-456" title="论文插图" src="http://www.onono.org/wp-content/uploads/2010/07/clip_image002-300x166.jpg" alt="" width="300" height="166" /></a></p>
<p>图1.数据流程图</p>
<p>第二节  数据字典</p>
<p>一、职员信息表</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="142" valign="top">列名</td>
<td width="142" valign="top">说明</td>
<td width="142" valign="top">数据类型</td>
<td width="142" valign="top">可为空值</td>
</tr>
<tr>
<td width="142" valign="top">user_id</td>
<td width="142" valign="top">用户ID</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（主键）</td>
</tr>
<tr>
<td width="142" valign="top">user_pass</td>
<td width="142" valign="top">密码</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">否</td>
</tr>
<tr>
<td width="142" valign="top">user_privilege</td>
<td width="142" valign="top">权限级别</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">否</td>
</tr>
<tr>
<td width="142" valign="top">user_name</td>
<td width="142" valign="top">用户名</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">否</td>
</tr>
<tr>
<td width="142" valign="top">user_sex</td>
<td width="142" valign="top">性别</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">birthplace</td>
<td width="142" valign="top">出生地</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">birthday</td>
<td width="142" valign="top">生日</td>
<td width="142" valign="top">datetime</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">education</td>
<td width="142" valign="top">教育程度</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">professional</td>
<td width="142" valign="top">专业</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">idcard</td>
<td width="142" valign="top">身份证</td>
<td width="142" valign="top">nchar(19)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">marriage</td>
<td width="142" valign="top">婚姻状况</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">political</td>
<td width="142" valign="top">政治面貌</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">tel</td>
<td width="142" valign="top">电话</td>
<td width="142" valign="top">nchar(13)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">zip_code</td>
<td width="142" valign="top">邮编</td>
<td width="142" valign="top">nchar(6)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">email</td>
<td width="142" valign="top">Email</td>
<td width="142" valign="top">nchar(20)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">home_place</td>
<td width="142" valign="top">住址</td>
<td width="142" valign="top">nchar(30)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">date_in</td>
<td width="142" valign="top">入公司时间</td>
<td width="142" valign="top">datetime</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">date_salary</td>
<td width="142" valign="top">起薪时间</td>
<td width="142" valign="top">datetime</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">depart_id</td>
<td width="142" valign="top">所在部门</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">work_title</td>
<td width="142" valign="top">职称</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">old_identity</td>
<td width="142" valign="top">原身份</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">old_job</td>
<td width="142" valign="top">原职务</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">old_company</td>
<td width="142" valign="top">原工作单位</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">date_beginwork</td>
<td width="142" valign="top">入职时间</td>
<td width="142" valign="top">datetime</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">exp</td>
<td width="142" valign="top">工作经验</td>
<td width="142" valign="top">varchar(50)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">job_id</td>
<td width="142" valign="top">职位</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否</td>
</tr>
<tr>
<td width="142" valign="top">etc</td>
<td width="142" valign="top">备注</td>
<td width="142" valign="top">varchar(50)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">avatar</td>
<td width="142" valign="top">头像</td>
<td width="142" valign="top">image</td>
<td width="142" valign="top">是</td>
</tr>
</tbody>
</table>
<p>图2.职员信息表</p>
<p>二、职员薪资表</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="142" valign="top">列名</td>
<td width="142" valign="top">说明</td>
<td width="142" valign="top">数据类型</td>
<td width="142" valign="top">可为空值</td>
</tr>
<tr>
<td width="142" valign="top">salary_id</td>
<td width="142" valign="top">薪水流水ID</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（主键）</td>
</tr>
<tr>
<td width="142" valign="top">user_id</td>
<td width="142" valign="top">用户</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（外键）</td>
</tr>
<tr>
<td width="142" valign="top">base_sa</td>
<td width="142" valign="top">底薪</td>
<td width="142" valign="top">smallmoney</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">overtime</td>
<td width="142" valign="top">加班费</td>
<td width="142" valign="top">smallmoney</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">subsidy</td>
<td width="142" valign="top">补贴</td>
<td width="142" valign="top">smallmoney</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">housing</td>
<td width="142" valign="top">房贴</td>
<td width="142" valign="top">smallmoney</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">bonus</td>
<td width="142" valign="top">奖金</td>
<td width="142" valign="top">smallmoney</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">other</td>
<td width="142" valign="top">其他</td>
<td width="142" valign="top">smallmoney</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">pension</td>
<td width="142" valign="top">养老金</td>
<td width="142" valign="top">smallmoney</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">health</td>
<td width="142" valign="top">医疗保险</td>
<td width="142" valign="top">smallmoney</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">actual</td>
<td width="142" valign="top">实际发放工资</td>
<td width="142" valign="top">smallmoney</td>
<td width="142" valign="top">否</td>
</tr>
<tr>
<td width="142" valign="top">post_datetime</td>
<td width="142" valign="top">计发时间</td>
<td width="142" valign="top">datetime</td>
<td width="142" valign="top">是</td>
</tr>
</tbody>
</table>
<p>图3.职员薪资表</p>
<p>三、职务变更表</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="142" valign="top">列名</td>
<td width="142" valign="top">说明</td>
<td width="142" valign="top">数据类型</td>
<td width="142" valign="top">可为空值</td>
</tr>
<tr>
<td width="142" valign="top">move_id</td>
<td width="142" valign="top">调令ID</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（主键）</td>
</tr>
<tr>
<td width="142" valign="top">user_id</td>
<td width="142" valign="top">用户</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（外键）</td>
</tr>
<tr>
<td width="142" valign="top">depart_old</td>
<td width="142" valign="top">旧部门</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（外键）</td>
</tr>
<tr>
<td width="142" valign="top">depart_new</td>
<td width="142" valign="top">新部门</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（外键）</td>
</tr>
<tr>
<td width="142" valign="top">job_old</td>
<td width="142" valign="top">旧职务</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（外键）</td>
</tr>
<tr>
<td width="142" valign="top">job_new</td>
<td width="142" valign="top">新职务</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（外键）</td>
</tr>
<tr>
<td width="142" valign="top">time_checkout</td>
<td width="142" valign="top">调出时间</td>
<td width="142" valign="top">datetime</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">time_checkin</td>
<td width="142" valign="top">调入时间</td>
<td width="142" valign="top">datetime</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">etc</td>
<td width="142" valign="top">备注</td>
<td width="142" valign="top">varchar(50)</td>
<td width="142" valign="top">是</td>
</tr>
</tbody>
</table>
<p>图4.职务变更表</p>
<p>四、职务名称表</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="142" valign="top">列名</td>
<td width="142" valign="top">说明</td>
<td width="142" valign="top">数据类型</td>
<td width="142" valign="top">可为空值</td>
</tr>
<tr>
<td width="142" valign="top">job_id</td>
<td width="142" valign="top">职务ID</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（主键）</td>
</tr>
<tr>
<td width="142" valign="top">job_name</td>
<td width="142" valign="top">职务名称</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">否</td>
</tr>
</tbody>
</table>
<p>图5.职务名称表</p>
<p>五、职员职位表</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="142" valign="top">列名</td>
<td width="142" valign="top">说明</td>
<td width="142" valign="top">数据类型</td>
<td width="142" valign="top">可为空值</td>
</tr>
<tr>
<td width="142" valign="top">job_id</td>
<td width="142" valign="top">职务ID</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（主键）（外键）</td>
</tr>
<tr>
<td width="142" valign="top">user_id</td>
<td width="142" valign="top">用户</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（主键）（外键）</td>
</tr>
</tbody>
</table>
<p>图6.职员职位表</p>
<p>六、考勤记录表</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="142" valign="top">列名</td>
<td width="142" valign="top">说明</td>
<td width="142" valign="top">数据类型</td>
<td width="142" valign="top">可为空值</td>
</tr>
<tr>
<td width="142" valign="top">att_id</td>
<td width="142" valign="top">考勤记录ID</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（主键）</td>
</tr>
<tr>
<td width="142" valign="top">user_id</td>
<td width="142" valign="top">用户</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（外键）</td>
</tr>
<tr>
<td width="142" valign="top">depart_id</td>
<td width="142" valign="top">部门</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">是（外键）</td>
</tr>
<tr>
<td width="142" valign="top">days_all</td>
<td width="142" valign="top">全勤天数</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">days_should</td>
<td width="142" valign="top">应出勤天数</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">years</td>
<td width="142" valign="top">年度</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">months</td>
<td width="142" valign="top">月份</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">datetime_begin</td>
<td width="142" valign="top">起始日期</td>
<td width="142" valign="top">datetime</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">datetime_end</td>
<td width="142" valign="top">截止日期</td>
<td width="142" valign="top">datetime</td>
<td width="142" valign="top">是</td>
</tr>
</tbody>
</table>
<p>图7.考勤记录表</p>
<p>七、部门名称表</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="142" valign="top">列名</td>
<td width="142" valign="top">说明</td>
<td width="142" valign="top">数据类型</td>
<td width="142" valign="top">可为空值</td>
</tr>
<tr>
<td width="142" valign="top">depart_id</td>
<td width="142" valign="top">部门ID</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（主键）</td>
</tr>
<tr>
<td width="142" valign="top">depart_name</td>
<td width="142" valign="top">部门名称</td>
<td width="142" valign="top">nchar(10)</td>
<td width="142" valign="top">否</td>
</tr>
</tbody>
</table>
<p>图8.部门名称表</p>
<p>八、考评记录表</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="142" valign="top">列名</td>
<td width="142" valign="top">说明</td>
<td width="142" valign="top">数据类型</td>
<td width="142" valign="top">可为空值</td>
</tr>
<tr>
<td width="142" valign="top">evaluate_id</td>
<td width="142" valign="top">考评流水ID</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（主键）</td>
</tr>
<tr>
<td width="142" valign="top">user_id</td>
<td width="142" valign="top">用户</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">否（外键）</td>
</tr>
<tr>
<td width="142" valign="top">depart_id</td>
<td width="142" valign="top">部门</td>
<td width="142" valign="top">int</td>
<td width="142" valign="top">是（外键）</td>
</tr>
<tr>
<td width="142" valign="top">evaluate_date</td>
<td width="142" valign="top">评价日期</td>
<td width="142" valign="top">datetime</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">results</td>
<td width="142" valign="top">业绩</td>
<td width="142" valign="top">varchar(20)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">results_desc</td>
<td width="142" valign="top">业绩说明</td>
<td width="142" valign="top">varchar(50)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">attitude</td>
<td width="142" valign="top">工作态度</td>
<td width="142" valign="top">varchar(20)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">attitude_desc</td>
<td width="142" valign="top">工作态度详情</td>
<td width="142" valign="top">varchar(50)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">lev</td>
<td width="142" valign="top">工作水平</td>
<td width="142" valign="top">varchar(20)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">lev_desc</td>
<td width="142" valign="top">工作水平详情</td>
<td width="142" valign="top">varchar(50)</td>
<td width="142" valign="top">是</td>
</tr>
<tr>
<td width="142" valign="top">etc</td>
<td width="142" valign="top">备注</td>
<td width="142" valign="top">varchar(50)</td>
<td width="142" valign="top">是</td>
</tr>
</tbody>
</table>
<p>图9.考评记录表</p>
<p>第四章 项目实施</p>
<p>第一节  系统总体结构设计</p>
<p>一、人事工作流程</p>
<p>企业人事管理部门在此系统中完成各项管理事务。</p>
<p>由档案管理人员录入初始信息，包括职务名称、部门名称、员工的资料，生产基本工资信息。</p>
<p>当职位变动时，由人事主管修改相关信息，并重新生成基本工资信息。</p>
<p>每日考勤情、病休假等情况记录在案，月末录入考勤与评价情况，自动计算出该月工资。</p>
<p>二、系统设计思想</p>
<p>利用企业现有的计算机平台资源，减少消耗人力、物力、财力，提高企业人事管理水平。最大程度满足企业的人事管理需求，轻松应对人事变动频繁的挑战，更方便快捷的查找、更新、删除人事资料。</p>
<p>三、功能分析</p>
<p>（一）人事管理：人事档案管理、考勤管理、考核管理、调动管理、职称评定、奖惩管理和人事统计。</p>
<p>（二）工资管理：职务设定、基本工资设定、工资表生成、工资表查询、工资奖惩、月末工资处理。</p>
<p>（三）综合管理：部门管理、假期与出差管理、员工聘用合同与通知。</p>
<p>（四）系统管理：数据备份与还原、系统初始化。</p>
<p>（五）用户管理：用户管理、权限设置。</p>
<p>第二节  代码设计</p>
<p>一、编码简述</p>
<p>（一）为了代码的规范要求代码风格统一，这具有重要的意义：</p>
<p>1.增加开发过程代码的强壮性、可读性、易维护性。</p>
<p>2.减少有经验和无经验开发人员编程所需的脑力工作。</p>
<p>3.为软件的良好维护性打下好的基础。</p>
<p>4.通过人为以及自动的方式对最终软件应用质量标准。</p>
<p>5.使新的开发人员快速适应项目氛围。</p>
<p>6.支持项目资源的复用：允许开发人员从一个项目区域（或子项目团队）移动到另一个，而不需要重新适应新的子项目团队的氛围。</p>
<p>（二）代码优化的意义：</p>
<p>1.仅仅对符合功能说明书的要求、能正确运行的代码进行优化是有意义的。</p>
<p>2.代码优化能减少冗余代码的数量，用更少的代码来实现同样的功能。</p>
<p>3.提高代码的内聚程度，减少耦合程度。</p>
<p>4.对代码的抽象能提高代码的重用度，对今后其他项目的进度有非常重要的意义。</p>
<p>二、详细编码</p>
<p>（一）数据访问层(DAL)</p>
<p>数据访问层（Data Access Layer）简称为DAL，它是程序中和数据库进行交互的层。该层直接操作数据库，针对数据的增添、删除、修改、更新、查找等。对每一个数据表，都有一个类来完成一些方法，以满足对数据表的各种操作。</p>
<p>一个名为DbHelperSQL的类用于维护与SQLServer数据库的连接、可调用存储过程，所有的T-SQL查询语句均由这个类来执行，最后将数据集返回给业务逻辑层。</p>
<p>（二）业务逻辑层(BLL)</p>
<p>业务逻辑层（Business Logic Layer）是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计。</p>
<p>业务逻辑层在体系架构中的位置很关键，它处于数据访问层与表示层中间，起到了数据交换中承上启下的作用。由于层是一种弱耦合结构，层与层之间的依赖是向下的，底层对于上层而言是“无知”的，改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时，遵循了面向接口设计的思想，那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下，理想的分层式架构，应该是一个支持可抽取、可替换的“抽屉”式架构。对于数据访问层而言，它是调用者；对于表示层而言，它却是被调用者。</p>
<p>数据的有效性验证的工作在这个层完成，以更好的保证程序运行的健壮性。如不允许将必填的选项留空、数据格式是否正确以及数据类型验证、用户权限的合法性判断等。通过以上的诸多判断以决定是否将操作继续向后传递，尽量保证程序的正常运行。</p>
<p>（三）表示层（UI）</p>
<p>表示层位于最外层（User Interface），离用户最近。用于显示数据和接收用户输入的数据，为用户提供一种交互式操作的界面。合理的摆放各类控件，整齐的排列，给用户以良好的视觉体验。</p>
<p>（四）Model层</p>
<p>Model层里面的一个类对应数据库里面的一张表，类里面的每一个属性对应表里面的一个字段，每个属性都有自己的GET和SET方法，项目中的数据存取都要依靠GET和SET方法来实现。它不属于纵向的某一个层，而是所有层都要用到的业务实体层。</p>
<p><strong><br />
</strong></p>
<p>结束语</p>
<p>在本系统的开发过程中，在知识、经验方面都存在着不足。另外，在整个开发的过程中，时间也比较仓促。因此，该系统必然会存在一些缺陷和不足。因为对企业人事管理的整个流程不够熟悉，在做需求分析的时候可能没有完全满足用户的需求。</p>
<p>尽管本管理系统存在着很多漏洞，但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点，仍不失为企业人事管理的一个强大工具。通过开发这个系统，我掌握了软件开发的流程，巩固了基本知识，让我更熟练的使用Visual Studio 2005开发软件。在这次毕业设计论文中的收获并不仅仅是掌握开发工具的应用，更是学会了设计系统的思维方法，以及与同学们之间相互帮助的精神。</p>
<p>经过长时间的构思与设计，在指导老师的精心指导和安排下，本系统已经设计完毕。其使用功能基本符合公司在实际工作的需要，具有一定的实用性。但是由于时间比较仓促，加上本人软件设计经验的不足。因此，在分析问题、解决问题时显得不够严密、完善，还需要在以后的工作中不断地改进和完善。</p>
<p>在这次的毕业设计中，让我深深地体现到进行软件开发不是一件简单的事情，它需要设计者具有全面的专业知识、缜密的思维、严谨的工作态度以及较高的分析问题、解决问题的能力，而我在很多方面还有欠缺。</p>
<p>谢词（略）</p>
<p>参考文献</p>
<p>[1] 程志云，张帆，崔翔，《数据库原理与SQL Server 2005》，机械工业出版社，2009</p>
<p>[2] 崔淼，陈明非，《Visual C# 2005程序设计教程》，机械工业出版社，2008</p>
<p>附图：</p>
<p><a href="http://www.onono.org/wp-content/uploads/2010/07/界面展示-人事档案.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignnone size-medium wp-image-462" title="界面展示-人事档案" src="http://www.onono.org/wp-content/uploads/2010/07/界面展示-人事档案-300x192.jpg" alt="" width="300" height="192" /></a></p>
<p><a href="http://www.onono.org/wp-content/uploads/2010/07/界面展示-三层架构.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignnone size-medium wp-image-463" title="界面展示-三层架构" src="http://www.onono.org/wp-content/uploads/2010/07/界面展示-三层架构-300x191.jpg" alt="" width="300" height="191" /></a></p>
<p><a href="http://www.onono.org/wp-content/uploads/2010/07/界面展示-数据库展示.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignnone size-medium wp-image-464" title="界面展示-数据库展示" src="http://www.onono.org/wp-content/uploads/2010/07/界面展示-数据库展示-300x207.jpg" alt="" width="300" height="207" /></a></p>
<p><a href="http://www.onono.org/wp-content/uploads/2010/07/数据流程图.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignnone size-medium wp-image-465" title="数据流程图" src="http://www.onono.org/wp-content/uploads/2010/07/数据流程图-300x168.jpg" alt="" width="300" height="168" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.onono.org/2010/07/453.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>愁眉苦脸</title>
		<link>http://www.onono.org/2010/07/450.htm</link>
		<comments>http://www.onono.org/2010/07/450.htm#comments</comments>
		<pubDate>Sun, 18 Jul 2010 07:03:54 +0000</pubDate>
		<dc:creator>一树</dc:creator>
				<category><![CDATA[随想]]></category>
		<category><![CDATA[不高兴]]></category>

		<guid isPermaLink="false">http://www.onono.org/?p=450</guid>
		<description><![CDATA[前几天和hang同学一起吃晚饭，我们好像已经半年没见过面了，一番察言观色之后，他问我是不是不高兴和他一起吃饭，我连忙说不是，可能我这几年来都是以这幅表情示人的吧，习惯就好了。 最近确实没有什么让我特别开心的事，唯一不爽的事情就是现在仍然在问妈要钱，可能下个月发了工资会高兴起来，我开始自我安慰…… 接下来他说的一句话，让我有了一点危机感。 以前父母也说过我“表情过于严肃”，他们说我的那会儿，我是真不高兴，是正常的表情，但是到后来发现我仍然保留着这份严肃。 忽然又想起一个特例，在学校见某老师的时候，我演技突然爆发，满脸微笑，赠彩色蜡笔，彰显群主风范…… 也许，我可以伪装表情，化解这个小小的危机，也许，我要的人不在跟前。]]></description>
			<content:encoded><![CDATA[<p>前几天和hang同学一起吃晚饭，我们好像已经半年没见过面了，一番察言观色之后，他问我是不是不高兴和他一起吃饭，我连忙说不是，可能我这几年来都是以这幅表情示人的吧，习惯就好了。<br />
最近确实没有什么让我特别开心的事，唯一不爽的事情就是现在仍然在问妈要钱，可能下个月发了工资会高兴起来，我开始自我安慰……<span id="more-450"></span><br />
接下来他说的一句话，让我有了一点危机感。</p>
<p>以前父母也说过我“表情过于严肃”，他们说我的那会儿，我是真不高兴，是正常的表情，但是到后来发现我仍然保留着这份严肃。</p>
<p>忽然又想起一个特例，在学校见某老师的时候，我演技突然爆发，满脸微笑，赠彩色蜡笔，彰显群主风范……</p>
<p>也许，我可以伪装表情，化解这个小小的危机，也许，我要的人不在跟前。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onono.org/2010/07/450.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>重见天日</title>
		<link>http://www.onono.org/2010/07/443.htm</link>
		<comments>http://www.onono.org/2010/07/443.htm#comments</comments>
		<pubDate>Sat, 17 Jul 2010 16:26:14 +0000</pubDate>
		<dc:creator>一树</dc:creator>
				<category><![CDATA[乱写]]></category>
		<category><![CDATA[博客]]></category>

		<guid isPermaLink="false">http://www.onono.org/?p=443</guid>
		<description><![CDATA[前段时间因为被办理离校手续而飘忽不定的缘故，加上空间到期，博客暂时关闭了，好在我有继续写下去的愿望，备份了所有数据，今天终于重见天日。 生活和工作暂时安顿下来了，工作压力不大，会经常有时间来更新博客。 离开了学校，感觉少了很多保护伞，但是离开了也好，再也不用面对一大群学生娃娃了，开始我的新生活。]]></description>
			<content:encoded><![CDATA[<p>前段时间因为被办理离校手续而飘忽不定的缘故，加上空间到期，博客暂时关闭了，好在我有继续写下去的愿望，备份了所有数据，今天终于重见天日。<br />
<span id="more-443"></span><br />
生活和工作暂时安顿下来了，工作压力不大，会经常有时间来更新博客。<br />
离开了学校，感觉少了很多保护伞，但是离开了也好，再也不用面对一大群学生娃娃了，开始我的新生活。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onono.org/2010/07/443.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>儿时的记忆</title>
		<link>http://www.onono.org/2010/04/431.htm</link>
		<comments>http://www.onono.org/2010/04/431.htm#comments</comments>
		<pubDate>Thu, 22 Apr 2010 06:25:15 +0000</pubDate>
		<dc:creator>一树</dc:creator>
				<category><![CDATA[回忆]]></category>

		<guid isPermaLink="false">http://www.onono.org/?p=431</guid>
		<description><![CDATA[不知道是什么时候有的记忆，好像是3岁吧，4岁那年的记忆比较深刻，爷爷第一次抱我看门上的日历，上面写着1991年X月X日，也就是说，有记忆的时候，应该是90年。 小孩子都爱哭闹，爷爷就用电警棍吓唬我，在黑暗的地方，电光闪闪伴随噼啪声，这招看上去可能适得其反，但也有一定效果。 小时候有幸看到了真的子弹，听爷爷说，子弹的屁股不能乱磕，以前有人因为这个把耳垂打掉了。子弹拿在手上沉甸甸的，和普通的塑料玩具差别很大。 门口有一辆吉普车，绿色的外壳，启动的时候需要一大帮人在后面助推，这也是为数不多的可以看热闹的机会。一年冬天下了大雪，记得守门大爷拿着扫帚大把大把的把车顶棚上的雪扫下来。后来大一点的时候，又看到人们在助推那辆车，我也跑到车后面去推，推不动，正转悠的时候，车子轰的一声开动了，路边的脏水溅了一身。 楼下进门的玻璃墙上最开始的时候贴有爷爷的照片，也不知道什么时候就退休了，后来上面的照片换了又换，直到一个都不认识了。 刚进幼儿园的时候，听他们议论说我是某某所长的孙子，特别优待我，但时间长了以后就变得很自然了。但是在之前的那个幼儿园里待过的一段时间里，待遇不是很好，街边的一间门市改装的幼儿园，玩具都不给我玩，而且我没有睡午觉的习惯，他们都要午觉。 幼儿园放学回家，在楼下很受叔叔阿姨的欢迎，据他们说我又是唱歌又是跳舞，小时候特乖，长大了以后都变了。 再大一点的时候，和临街一个小女孩玩耍，我说我住在里面，要不要一起进去玩？她不敢，于是我“示范”了一次，若无其事的走进去，过一会儿再走出来，她看了还是不敢和我一起进去，当时我百思不得其解。也许她认为只有坏人才会走进那道门吧，进那道门往里走，左边的角落里就是牢房，我平时是从右边的楼梯走上去回家，一楼的每个办公室我都串过门，唯独那个牢房没进去过。有时候会有人被抓进去，我上楼梯的时候可以看到这一景象，牢房里没有灯，房门比普通的门矮很多，里面依稀能看到人影，四川盆地的底楼一般很潮湿，也不知道里面关了几个人。后来上初中高中就很少回爷爷家了，也不知道那个牢房是什么时候被拆掉的，一楼和二楼办公室都装修一新，二楼仍然是所长副所长的办公室。]]></description>
			<content:encoded><![CDATA[<p>不知道是什么时候有的记忆，好像是3岁吧，4岁那年的记忆比较深刻，爷爷第一次抱我看门上的日历，上面写着1991年X月X日，也就是说，有记忆的时候，应该是90年。<span id="more-431"></span></p>
<p>小孩子都爱哭闹，爷爷就用电警棍吓唬我，在黑暗的地方，电光闪闪伴随噼啪声，这招看上去可能适得其反，但也有一定效果。</p>
<p>小时候有幸看到了真的子弹，听爷爷说，子弹的屁股不能乱磕，以前有人因为这个把耳垂打掉了。子弹拿在手上沉甸甸的，和普通的塑料玩具差别很大。</p>
<p>门口有一辆吉普车，绿色的外壳，启动的时候需要一大帮人在后面助推，这也是为数不多的可以看热闹的机会。一年冬天下了大雪，记得守门大爷拿着扫帚大把大把的把车顶棚上的雪扫下来。后来大一点的时候，又看到人们在助推那辆车，我也跑到车后面去推，推不动，正转悠的时候，车子轰的一声开动了，路边的脏水溅了一身。</p>
<p>楼下进门的玻璃墙上最开始的时候贴有爷爷的照片，也不知道什么时候就退休了，后来上面的照片换了又换，直到一个都不认识了。</p>
<p>刚进幼儿园的时候，听他们议论说我是某某所长的孙子，特别优待我，但时间长了以后就变得很自然了。但是在之前的那个幼儿园里待过的一段时间里，待遇不是很好，街边的一间门市改装的幼儿园，玩具都不给我玩，而且我没有睡午觉的习惯，他们都要午觉。</p>
<p>幼儿园放学回家，在楼下很受叔叔阿姨的欢迎，据他们说我又是唱歌又是跳舞，小时候特乖，长大了以后都变了。</p>
<p>再大一点的时候，和临街一个小女孩玩耍，我说我住在里面，要不要一起进去玩？她不敢，于是我“示范”了一次，若无其事的走进去，过一会儿再走出来，她看了还是不敢和我一起进去，当时我百思不得其解。也许她认为只有坏人才会走进那道门吧，进那道门往里走，左边的角落里就是牢房，我平时是从右边的楼梯走上去回家，一楼的每个办公室我都串过门，唯独那个牢房没进去过。有时候会有人被抓进去，我上楼梯的时候可以看到这一景象，牢房里没有灯，房门比普通的门矮很多，里面依稀能看到人影，四川盆地的底楼一般很潮湿，也不知道里面关了几个人。后来上初中高中就很少回爷爷家了，也不知道那个牢房是什么时候被拆掉的，一楼和二楼办公室都装修一新，二楼仍然是所长副所长的办公室。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onono.org/2010/04/431.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nginx相关参数配置备忘</title>
		<link>http://www.onono.org/2010/03/424.htm</link>
		<comments>http://www.onono.org/2010/03/424.htm#comments</comments>
		<pubDate>Sun, 28 Mar 2010 16:31:19 +0000</pubDate>
		<dc:creator>一树</dc:creator>
				<category><![CDATA[技术文档]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://www.onono.org/?p=424</guid>
		<description><![CDATA[（暂未验证正确性） discuz论坛重写参数 location / { if (!-e $request_filename) { rewrite ^/archiver/((fid&#124;tid)-[\w\-]+\.html)$ /archiver/index.php?$1 last; rewrite ^/forum-([0-9]+)-([0-9]+)\.html$ /forumdisplay.php?fid=$1&#38;page=$2 last; rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /viewthread.php?tid=$1&#38;extra=page%3D$3&#38;page=$2 last; rewrite ^/space-(username&#124;uid)-(.+)\.html$ /space.php?$1=$2 last; rewrite ^/tag-(.+)\.html$ /tag.php?name=$1 last; break; } } 防盗链 location ~* ^.+\.(gif&#124;jpg&#124;png&#124;swf&#124;flv&#124;rar&#124;zip)$ { valid_referers none blocked server_names *.onono.org http://localhost; if ($invalid_referer) { rewrite ^/ http://error.org/images/error.gif; return 403; } } WordPress #]]></description>
			<content:encoded><![CDATA[<p>（暂未验证正确性）<br />
<span id="more-424"></span><br />
discuz论坛重写参数<br />
<code><br />
location / {<br />
if (!-e $request_filename) {<br />
rewrite ^/archiver/((fid|tid)-[\w\-]+\.html)$   /archiver/index.php?$1 last;<br />
rewrite ^/forum-([0-9]+)-([0-9]+)\.html$   /forumdisplay.php?fid=$1&amp;page=$2 last;<br />
rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$  /viewthread.php?tid=$1&amp;extra=page%3D$3&amp;page=$2 last;<br />
rewrite ^/space-(username|uid)-(.+)\.html$   /space.php?$1=$2 last;<br />
rewrite ^/tag-(.+)\.html$ /tag.php?name=$1 last;<br />
break;<br />
}<br />
}</code></p>
<p>防盗链<br />
<code><br />
location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip)$ {<br />
valid_referers none blocked server_names *.onono.org http://localhost;<br />
if ($invalid_referer) {<br />
rewrite   ^/   http://error.org/images/error.gif;<br />
return   403;<br />
}<br />
}<br />
</code></p>
<p>WordPress<br />
<code><br />
# SEO friendly URLs for WordPress<br />
#<br />
location / {<br />
  root /path/to/YOURDIRECTORY/public_html/forums;<br />
  index index.php;<br />
  if (!-e $request_filename) {<br />
    rewrite ^(.*)$ /index.php?q=$1 last;<br />
  }<br />
}<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.onono.org/2010/03/424.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
