1. 网站地图
  2. 设为首页
  3. 关于我们


企业信息管理系统的研究与实现

发布时间:2023-01-03 13:29
目录
第一章 绪论 1
1.1课题的研究背景 1
1.2SaaS模式研究现状 2
1.2.1国外研究现状 2
1.2.2国内研究现状 3
1.3研究内容 4
1.4论文组织结构 5
第二章SaaS相关的理论 6
2.1SaaS 概述 6
2.1.1SaaS 的模式 6
2.1.2SaaS 与 ASP 的异同 7
2.1.3SaaS 的优势 8
2.1.4SaaS 的特点 10
2.1.5SaaS的发展趋势 11
2.2SaaS 服务模式特点 11
2.3基于 SaaS 模式的系统应用架构 13
2.3.1SaaS 模式成熟度模型选择 13
2.3.2SaaS 多租户的数据库选择 16
2.4本章小结 18
第三章 企业信息管理系统的需求分析 19
3.1系统功能性需求分析 19
3.2系统的性能分析 20
3.2.1系统的可扩展性 20
3.2.2系统的可配置性 21
3.2.3系统的可伸缩性 21
3.3本章小结 21
第四章 企业信息管理系统的设计 22
4.1系统设计的原则 22
4.2结构设计 22
4.3总体设计 24
4.4主要功能模块 25
4.4.1系统管理 25
4.4.2人事管理 26
4.4.3合同管理 28
4.4.4客户管理 29
4.4.5项目管理 29
4.4.6工资管理 30
4.4.7公告管理 32
4.5数据库设计 32
4.5.1数据表设计 33
4.5.2各个数据表之间的关系 39
4.6系统安全设计 40
4.6.1应用安全 40
4.6.2数据安全 43
4.6.3网络安全 44
4.7本章小结 45
第五章 企业信息管理系统的实现 46
5.1系统管理功能实现 46
5.2人事管理功能实现 55
5.3合同管理实现 59
5.4客户管理实现 61
5.5项目管理实现 62
5.6工资管理实现 63
5.7公告管理实现 65
5.8本章小结 66
第六章 企业信息管理系统的测试 67
6.1测试原则 67
6.2测试目标 67
6.3系统测试的内容 68
6.3.1UI 测试 68
6.3.2性能测试 68
6.3.3功能测试 69
6.3.4文档测试 72
6.4系统测试结果 72
6.5本章小结 73
第七章 总结与展望 74
7.1总结 74
7.2展望 74
致谢 76
参考文献 77
第一章 绪论
1.1课题的研究背景
近年来,伴随着计算机技术和互联网技术的不断发展和普及,信息技术在企 业的管理中的应用得到不断的推广。企业信息化是我国中小型企业在激烈的市场 竞争中保持竞争力和提高管理水平的重要手段和武器。尤其是随着全球一体化的 不断加剧,企业之间的竞争进一步加剧,越来越多的企业开始构建自己的信息系 统。但是由于中小型企业自身资源和资金的局限性,它们在信息化建设过程中发 展缓慢。虽然 ERP(Enterprise Resource Planning, 企业资源计划)和 SAP(Systems Applications and Products in Data Processing, 企业管理解决方案的软件名称)这些 软件的出现极大地满足了企业信息管理的需求,但是对于中小型企业来说,应用 像 ERP 这类软件的门槛过高,企业信息化的道路异常艰难。首先是这些软件需要 购买才能使用,企业需要一次性地支付所有软件的购买费用。并且企业在购买在 此类软件时面临着巨大的购买风险,一旦购买的产品不能满足企业的需求或者不 能满足企业的管理模式,就将造成巨大的浪费,尤其是对中小型企业来说,这种 打击将是致命的。其次,软件购买以后,需要对软件进行部署和软硬件方面的配 置,由于中小型企业 IT 人才相对缺乏,而安装和配置的过程又较为复杂,如果没 有足够的专业人士参加比可能会导致软件配置和安装进程的失败或者进度减缓, 影响企业信息化建设的进度。最后,软件安装和配置后,在软件的运行阶段,还 需要企业配置一定的人力和财力对软件进行维护。众所周知,软件的安装和实施 只是成功的一半,软件开发后的维护才是是软件保持其功能的重要保障。高额的 软件维护的费用,犹如给给中小企业来背上一个沉重的包袱。
SaaS (Software as a Service)的中文意思是软件即服务,它的出现极大地满足 了中小型企业对信息化的需求[1]。SaaS提供的是服务而不是产品。在SaaS模式下, 企业无需购买相关的软件,用户只需要支付软件相关服务的费用,就可通过浏览 器使用软件的相关服务。这就省去了对软件的安装、软硬件配置和维护的工作, 大大减轻了企业的负担。一般软件从购买到最后完全实施需要几年的时间,而 SaaS 模式下的信息化的整个实施过程不会超过三个月,这就加快了信息化实施的速度, 为中小型企业创造了机会。用户无论在何时何地,只要有互联网,企业就可以使 用软件提供的服务进行管理,克服了软硬件资源的限制。企业只需要购买自己需 求的那部分服务,并且可以依据具需求的动态变化来随时进行服务增订或者停止, 这就满足了企业按需付费的需要,降低了企业购买软件的风险,满足了部分中小 型企业低成本切入、分阶段实施信息化的需求。此外,SaaS软件由软件供应商自 己进行软硬件配置和维护,这就将大部分的风险转移到了软件供应商身上,降低 了企业实施信息化的风险。
1.2SaaS模式研究现状
1.2.1国外研究现状
国外对SaaS的研究始于20世纪末[2]。随着ASP的出现,一种新型的软件托 管外包服务的开始出现和发展,这就是SaaS的雏形。ASP是Application Service Provider的缩写,意思是“应用服务提供商” [3]。这种模式就是将用户需要的软件 统一部署在应用软件提供商的软硬件环境中,软件运行所需的人力、物力资源都 是由供应商维持,用户只需要在自己的办公室使用这些软件即可。ASP的模式是 将软件统一托管到应用服务器提供商的服务器中。ASP模式就是将软件统一托管 到应用服务器提供商的服务器中。这时,软件是一种被托管的应用。但是ASP已 经有了为用户提供服务的初步想法,但是关注的重点在于提供软硬件环境这样的 服务,而不是软件本身。SaaS的目标是将软件彻底服务化。SaaS完全抛弃了软件 产品的概念,并继承了 ASP的形式,但并不拘泥于ASP的形式,而将重点放在软 件本身的服务功能上。目前,SaaS软件在国外已得到广泛的应用,并且随着SaaS 的不断推广和完善,其功能也变得越来越强大。全球提供SaaS服务产品的著名供 应商主要包括 SAP、Oracle、Microsoft、Salesforce.com 和 NetSuite 等一些公司[4], 在这些公司当中Salesforce. com获得了比较大的成功,该公司是最早提出SaaS 模式的一个,同时在众多企业应用软件供应商当中Salesforce. Com是名气最大的 一个。 Salesforce. com 已成为了 SaaS 领域首屈一指的标志性企业。
Salesforce.com 于 1999 年创建[5] , 其著名的产品 Salesforce.com 和 Supportforce.com 功能十分强大,这两款产品能够提供随需应用的客户关系管理, 能够让客户和软件供应商之间合作制定其需要的产品,来同时满足两者的需求。 在市场竞争上,微软也不甘落后,继而推出了 Windows Live战略和以“软件+服 务”为模式的 Dynamic CRM Online 产品计划,想通过这一系列的强力措施在市场 和用户争夺上面打出一场胜仗。Oracle公司在占领SaaS市场上频频做出一些大手 笔,它不断的收购一些知名企业,计划以资本运作来的方式来尽快的争取到SaaS 市场的一席之地。SaaS模式凭借它的优势和特点已经在全世界范围内得到了广泛 的青睐和认可,另外也得到了大范围的普及和良好的发展。
在IT技术比较发达的欧美国家,SaaS模式已经取得了较好的发展,并且得到 了企业的广泛认同。数据显示,在美国有80%的企业正在或者是准备使用 SaaS 的 服务,并且已经有超过60%的企业已经完成了 SaaS模式的企业信息化建设。在SaaS 诞生的 10 年内, SaaS 的模式在不断的成熟,其所涉及的产品、行业越来越多,提 供的服务也更加的丰富和深入。借助SaaS平台,欧美等国家的中小企业完成了信 息化的建设,并且得到了于目共睹的成绩。除了中小型企业以外, SaaS 模式的业 务范围已经扩大到大型的企业,数据显示,约有 25%的大型的企业正在使用 SaaS 提供的服务。据调查,在欧美使用 SaaS 的大型企业中保险、电信服务、高科技产 品三个行业所占到的比例最大[6]。除了欧美市场, SaaS 在亚洲市场也取得了显著 的成功。尤其是在新加坡、日本和香港等地区, SaaS 服务的广度和深度都已非常 的显著,这些地区的 SaaS 提供商已经将 SaaS 看做是增加未来收入的重要领域。
根据相关部门提供的权威数据显示,目前全球各种企业在 SaaS 上投入的资金 不到整个IT投入的5%,另一方面,全世界IT行业资金投入的平均增长率为5%, 但是各企业在SaaS上的投入增长率却在30%左右。根据Gartner提供的数据表明, 在 2011 年全球在 SaaS 上的收入已经达到 121 亿美元,这个数字将在 2013 年底增 长到 140 亿美元,到 2015 年以后其收入将到达一个新的高度 213 亿美元(复合年增 长率为 18%),此时 SaaS 的市场份额将占到软件市场的 14%。
1.2.2国内研究现状
SaaS 进入中国的时间比较晚,直到 2006 年 SaaS 软件才正式地进入中国市场。 SaaS 软件进入中国后,得到了迅速的发展。根据赛迪网发布的《2009 年 SaaS 用 户使用情况调查报告》中,调查中超过 55%以上的用户表示对 SaaS 的产品比较了 解;有 35%的用户从未使用过 SaaS 的产品,但是有听说过 SaaS 技术;只有不到 10%的用户表示不了解SaaS产品。另据统计,目前国内54%的受访者正常使用SaaS 相关的软件,而 73%的大型企业正在或者准备采用 SaaS 技术。上述调查结果显示, 虽然 SaaS 软件进入中国的时间并不长,但是其已经发展已经初具规模,已经占领 了一定的中国软件市场,并且呈现不断上升的趋势。
随着 SaaS 软件进入中国,国内的软件提供商也意识到的危机,纷纷调整自己 的战略,开始进军 SaaS 市场。国内的软件开发商用友、金蝶等也迅速调整自己的 方向,推出了 SaaS 的软件。尤其是阿里巴巴, 2007 年阿里巴巴花费巨资金打造了 AEP平台[7]。目前,阿里巴巴已经在SaaS平台下开发了财务管理、网络营销等领 域的多款企业管理的软件。金算盘公司更是推出了 “ERP+电子商务”的模式,将 电子商务以及其他一些在线的管理软件进行了整合,从而为企业提供功能更加全 面管理系统。而用友和金蝶公司已经成为了国内中小企业以及政府首选的国内软 件提供商,其软件产品更是涉及金融、高科技产业等方面。目前,国内主流的SaaS 服务提供商除了阿里巴巴、金算盘、用友和金蝶以外,还要八百客、天天进账网、 中企开源、CSIP、友商网、伟库网、、CDP、奥斯在线、百会创造者、XTools 等。
2010年在北京召开的第四届中国软件运营服务(SaaS)大会上,多达700多 位的SaaS领域的提供商出席了会议,包括微软、SAP、金蝶、伟库电子商务、百 会、Salesforce、中金数据、网动LiveUC、八百客、财客在线、富基标 商、XTools、 和多友科技等。该会议上发布了《2010年中国软件运营服务市场研究报告》,报 告中指出2009年,中国的SaaS的市场规模以及达到了 354.2亿元人民币,同比增 长了 27.6%[8]。预计在未来三到五年的时间里, SaaS 在中国的市场份额将进一步扩 大,并且面向用户整合型的SaaS服务将得到迅猛的发展。而国内的SaaS软件业 将进一步成熟,从而进一步的占领国内的SaaS市场。
根据Springboard发布的《2010年中国应用软件市场分析及预测》报告,中 国的软件市场规模将由2009年的20.5亿美元上升至2014年的50亿美元,而SaaS 软件市场将继续保持30%的复合增长率,而在未来5年内,SaaS市场的复合增长 率将达到43%,预计到2014年中国SaaS市场规模将达6亿美元,中国的SaaS 市场进入了快速发展的阶段。
种种迹象表明,SaaS在中国已经得到迅速的发展,并且得到了政府的支持。 在2009年的金融风暴中,我国政府拿出了 4万亿人民币来拉动内需,而IT产业 更是成为了重点支持的产业。并且北京、宁波等一些地方政府也纷纷推出“政府 买单”、“免费使用”等政策来大力支持 SaaS 模式在中小企业中的应用[9]。因此, SaaS 产业现已成为继软件外包以后收到政府支持的一个非常重要的产业。随着 SaaS软件的发展,会有更多的软件商参与其中,使得传统的软件提供商转变为SaaS 的软件提供商。
1.3研究内容
本文以 SaaS 模式下企业信息管理系统的开发为背景,主要对 SaaS 模式下 中小企业信息管理系统的研究与实现。本文首先介绍了本课题研究的背景、 SaaS 应用现状及研究的意义,详细介绍了目前国内外企业信息管理系统的研究现状, 其次重点阐述了有关SaaS的概念、SaaS的模式、SaaS平台的优势和特点以及在 SaaS平台下企业信息管理系统的特点,最后在SaaS软件设计方式指导下,使用 SaaS的软件开发工具对企业信息系统进行构建,在实现过程中首先研究了企业信 息化管理系统的特点,在此基础上进行了需求分析,选取了平台实现的架构,完 成了平台的功能模块设计、数据库设计,给出了系统实现的部分流程及界面,对 系统进行了测试。在本文最后就本论文目前的研究情况及后续的研究方向作出了 总结和展望。
1.4论文组织结构
全文共分为七章:
第一章 绪论:阐述论文的研究的项目背景、企业信息管理系统的国内外研究 现状、 SaaS 的应用现状及本文的研究内容。
第二章 相关理论及技术:详细介绍了 SaaS 的概念、 SaaS 的模式的特点、优 点、发展趋势、 SaaS 与 ASP 的区别。
第三章需求分析:SaaS租赁模式的特点、系统的功能需求分析及系统的性能 需求分析。
第四章 系统设计:阐述了系统设计的目标和原则,详细介绍了系统各个功能 模块的设计,进行了数据库设计及系统安全设计。
第五章 系统实现:企业信息管理系统系统管理、项目管理、人事管理、合同 管理、客户管理、工资管理及公告管理主要功能的实现。
第六章系统测试:对系统的性能、UI、功能试和文档进行测试,阐述了系统 测试的结果。
第七章 结束语:对论文的研究内容进行了总结,并指出了下一步的工作的方 向。
第二章 SaaS 相关的理论
2.1SaaS 概述
SaaS 是英文 Softtware as aService 的缩写,中文的意思是软件即服务[10]。 SaaS 的核心概念是软件的服务化,即SaaS将软件看做是一种服务,而非传统意义上的 商品。用户需求要的是软件提供的服务,用户购买软件的实质是消费软件提供的 服务。在SaaS的商业模式下,软件供应商向用户提供软件服务,从而满足用户对 服务的需求,软件商和用户之间从一种软件供需关系转变为一种服务供需关系。 SaaS 的商业模式比以前的软件生产模式更加复杂。在此模式下,用户无需购买软 件和配置软件需要的各种资源,只需要连接互联网,在浏览器上就可以享受所有 的软件提供服务[11]。
2.1.1SaaS 的模式
SaaS以网络为载体,向客户提供服务而非产品的商业模式改变了传统软件的 销售方式。在 SaaS 模式下,客户只需要租赁所需要的服务,不需要购买软件的所 有服务,客户可以根据自己的需求进行租赁[12]。SaaS模式是以客户为中心,它更 加注重能否为客户提供有效的服务,能够及时响应客户的需求,满足客户个性化 定制的需求。在SaaS模式下,客户与供应商的距离拉近了,它们之间形成了一种 相互依赖相互牵制的互利关系。
 
2.1.2SaaS 与 ASP 的异同
2.1.2.1SaaS 与 ASP 的区别
(1) 看问题的角度不同
SaaS 和 ASP 的根本区别在于两者看问题的角度不同。 ASP 是从软件开发商的 角度来看问题, ASP 致力于通过一种新的方式向用户提供软件,而忽略了软件本 身存在的问题。因而与用户关注的问题不同,难以引起用户的共鸣,获得用户的 支持。相比于ASP,SaaS则是站在用户的角度来看问题,SaaS更多的是关注用户 的需求,以满足用户的需求为目标,其服务宗旨正好迎合了用户的需要,因而获 得用户的支持。
(2) 关注的目标不同
在 ASP 发展的初期,软件开发商关注的重点在为用户提供的软件应用模式上, 如何方便用户的使用,降低用户对软件的维护成本成为 ASP 关注的重点。因此, ASP 提出了一种用来解决用户的软硬件资源维护问题的方案,即应用服务的统一 托管模式。在 ASP 的发展后期,技术本身的不成熟及上用户体验很差的等问题日 益突出,软件开发商调整了 ASP 的重心,软件的易用性和可用性成为 ASP 的新目 标。
而 SaaS 从始至终都将重心放在软件本身上,如何为用户提供有效的功能服务 是其关注的重点。 SaaS 软件从用户本身的需求出发,为用户提供了更实用更强大 的功能服务。因此,相比于 ASP, SaaS 拥有更好的用户体验,用户的接受度也较 高。伴随着软件开发技术的不断发展, SaaS 软件的目标将是将为用户提供更多功 能更加强大的服务。
2.1.2.2SaaS 与 ASP 的联系
SaaS 是在继承 ASP 的基础上,以“软件即服务”的新的理论为指导的一种新 型软件商业模式。因此, SaaS 与 ASP 之间的关系实际上是以形似而神不似。但是 很多人还是难以区分 ASP 和 SaaS。
 
 
2.1.3SaaS 的优势
(1)拿来即用[13]
传统的软件需要用户向软件商购买,然后用户自行进行安装和软硬件的配置。 用户购买软件后并不能立即使用,通常需要一段时间在自己在电脑或者网络服务 器上进行部署和安装。但一般软件的安装和部署过程比较复杂,需要一些专业的 人士参与才能完成。对于一些比较小的企业来说,由于自身人才的匮乏,可能还 会从软件供应商那里聘请专业的人士提供帮助,还需要额外付出一定的时间和金 钱成本。软件安装和部署的时间越久,企业付出的成本也就越高。
对于 SaaS 软件,用户在购买以后就可以直接使用。这是因为软件的安装和部 署都在运营商的机房内,有运营商负责,而与用户无关[14]。用户在使用软件时, 只需要连接到因特网,就可以使用软件提供的服务。无须安装,无须下载,无须 部署,无须配置,十分的快捷和方便。
(2)无须维护 传统软件在用户购买以后,需要用户自己负责软件的运行、维护和升级。因 此,除了购买软件的一次性花费外,每年用户还需要投入一定的维护费用。为了 保证软件的正常工作,企业还需要配备专业的软件维护人员。
而 SaaS 软件主要运行在软件商的机房内,因此,软件的维护是由软件商来承 担[15]。用户端运行的环境主要是浏览器或者其他的工具,用户根本不需要关系 SaaS 软件的升级和维护。一旦在软件运营过程中出现问题,用户只需要通知软件上来 处理,不需要自己花费人力和财力来解决。软件商一般会配备专业的工程师来负 责 SaaS 软件的维护工作,所以软件出问题的几率非常小。
(3) 按需使用 传统软件购需要一次性的购买,并且在用户购买完以后不能进行退货。用户
在购买之前,必须全面预估软件的使用程度和充分考虑企业具体的业务活动。但 当企业的业务活动发生变化时,软件提供的服务就无法继续再支持企业的经营活 动。那么软件的部分功能就会闲置,既无法给用户带来收益,又造成资源和资金 的浪费。
SaaS 软件提供按需租赁的商业模式,用户只需要按照自身的需求购买一定时 限的服务[16]。用户可以根据企业的规模和业务活动的情况进行增订、续订或者退 订。即使是用户停止租赁一段时间后在恢复租赁时,以前的数据还都存在。
(4) 随处可用 传统软件的使用会受到地理位置的限制,这是因为软件的数据资料存放在一
个固定的地方。当客户在外地时就不能使用软件来处理企业的事务。
而 SaaS 软件的所有资料都存储在软件上商的机房内,对于用户来说,它的位 置是虚拟的,用户无须知道它的具体的物理位置,只要连上因特网,用户就可以 通过电脑或者其他终端的浏览器使用 SaaS 软件提供的服务。
(5) 风险减小 在购买传统软件时,用户需要一次性地支付巨额购买费用。引入软件之前,
企业需要对软件的服务和性能进行全面的评估的。若评估不全面,引入的软件在 使用后,不符合企业的管理方式或者与企业的业务活动有出入,软件就不能使用, 这必然将会给企业造成巨大的损失。因此,企业在传统软件时将面临巨大的风险。
SaaS 软件提供的是服务而不是产品,用户不需要一次性地购买软件的所有服 务。只需要按照自己的需求租赁部分的服务,用户可以按需租赁。一旦发现软件 不符合企业的管理模式,企业就可以停止租用。因此,企业需要承担的风险较小。
(6)先天防毒 计算机病毒无时无刻不威胁着企业信息管理系统的安全,企业需要安装各种 反病毒软件来预防病毒的感染。一旦企业的计算机感染上病毒,带给企业的将是 灾难性的后果。企业不得不重新安装软件,以前的数据也要一个一个的恢复,这 将带来繁重的工作量,影响到企业正常的运营活动。
而SaaS软件安装在软件上的网络服务器中,用户只需要通过浏览器进行访问。 为了抵抗计算机病毒的入侵,软件商都会采取专门的安全措施。即使是用户的计 算机感染上计算机病毒,用户也不需要重新安装和恢复应用系统,而只需要重新 安装浏览器即可。
2.1.4SaaS 的特点
(1) 互联网特性
SaaS 的向客户提供的服务,客户只需通过网络的浏览器即可享受到所有的服 务功能[17]。通过互联网,用户可以随时随地使用 SaaS 服务,打破了时间和地域的 限制。
(2) 多重租赁特性
SaaS 通常是把一套标准化的系统提供给多个不同的用户使用,即 SaaS 能够实 现同一套软件的多重租赁[18]。 SaaS 的数据储存在 SaaS 的客户端,由软件供应商来 维护。 SaaS 可以实现多用户的并发使用,多用户可以同时使用系统提供的资源, 但又不会相互造成影响。虽然很多用户使用的是同一套软件,但由于各自的数据 是区分和隔离的,用户只能看到和使用自己的数据和流程。用户在使用软件的过 程中,并不会受到其他用户的影响。 SaaS 还能满足不同客户的个性化需求,可以 在系统的界面、业务的流程等方面提供个性化定制服务,从而满足不同层次客户 的需求。
(3) 可配置性 传统软件模式下,若客户的需求发生变化,就需要通过修改部分代码来实现。
由于 SaaS 采用的是是多重租赁的形式,如果针对某一用户的需求对代码做出一定 的修改就会改变其他用户的使用环境。因此,在 SaaS 的模式下,可配置性将系统 的功能置于黑箱的状态,各个用户之间的数据和业务流程是相对独立的[19]。它保 证了系统在满足客户的个性化需求的同时,又不影响其他租赁用户的系统环境。
2.1.5SaaS的发展趋势
2.1.5.1SaaS 平台化
SaaS 商业模式的关键就是实现服务的低成本和用户数量之间的平衡,因此, 用户是SaaS发展的关键要素[20]。一些互联网企业自身拥有庞大的在线用户,它们 纷纷打造了自己的 SaaS 运营平台。 SaaS 运营平台是集接入、运行、推广、销售、 计量、支付和维护为一体的综合环境,它可以支持多种形式的SaaS应用。任何第 三方的SaaS软件接入到SaaS运营平台,就能理解使用SaaS运营平台上的客户资 源,找到买家。目前,已经有一部分实力雄厚的大企业打造了 SaaS 运营平台。这 些平台各自关注的内容并不相同,尽管它们或多或少都有一些缺点,但是它们的 一个共同的贡献就是为众多的第三方软件商提供了一个SaaS软件的平台。SaaS平 台的出现和发展,必将给整个 SaaS 产业带来新的机遇。
2.1.5.2SaaS 产业链
SaaS产业链是SaaS应用发展的一个重要趋势。为了共同的的经济价值,大量 的 SaaS 开发商等企业广泛地参与,形成关系紧密的供需逻辑结构关系,即 SaaS 的产业链。当大量企业参与SaaS软件的供需环节时,必然会形成一定量的规模经 济效益[21]。SaaS产业链的供需关联关系是以SaaS运营平台为纽带的,在SaaS运 营平台上,SaaS软件开发商和互联网上的所有客户就形成了 SaaS的供需关系。
2.1.5.3SaaS 移动化
伴随着智能手机的普及,手机的功能也越来越强大,手机不在只是一个通讯 工具。随着越来越多的应用软件被移植在手机上,现在的手机已经相当于一个小 电脑了。据调查,手机现已成为用户最大的上网终端,可以说手机在人们生活中 扮演者越来越重要的角色。而SaaS应用无须安装即可使用的特质,也非常适合手 机的环境。目前,已出现针对手机终端的 SaaS 应用,尽管受到手机屏幕小等多方 面的因素的影响,以手机为终端的SaaS应用提供的服务还有限,但是毋庸质疑的 以手机终端为首的移动商业带来的巨大前景。
2.2SaaS 服务模式特点
SaaS 是一种软件服务提供的模式,在该服务模式下,软件的部署和维护全部 由软件开发商负责,软件通过托管服务的形式交予用户使用,用户只需要通过因 特网就可以使用其所有的服务。SaaS的出现减轻了用户在软件购买和部署上的一
次性投入的费用,使得用户可以将一次性投入转化为按照需求和时间的逐步投入 [22]。此外, SaaS 服务模式还使得用户的重心从软件的部署和维护转移到对应用软
件的管理上,提高了管理的效率。
 
2.3基于 SaaS 模式的系统应用架构
2.3.1SaaS 模式成熟度模型选择
根据 SaaS 应用是否具有可配置型、高性能性、可伸缩性, SaaS 成熟度模型 分为 4 级[23]:
第一级:定制开发[24]。这一级别的软件开发方式与传统软件开发相似,都是 根据客户化的特征,软件运营商给为每个客户定制一套软件,并负责为其部署。 每个客户都建立独立的数据实例和数据库,可以根据客户的需求对数据库中的数 据结构或者代码进行修改。两者唯一的差别在于商业模式上, SaaS 运营商负责软 硬件资源的配置和维护,用户通过租赁的形式来购买相应的服务,并且按需付费。 对于不同的客户需要独立的开发和部署,随着客户数量的增加,需要进行多次开 发和多次部署,因此,随着客户数量的增加系统开发和软硬件维护的成本很大。
Level:定制开发
 
 
 
多次开发
 
图 2-6 第一级成熟度模型
第二级:可配置。相对于第一级的成熟度模型,第二级成熟度模型增加了系 统的可配置性。但是软件的架构与第一级成熟度相比,并无多大变化,依然是每 个客户都拥有独立的软件实例和数据库,但可以通过一些简单的配置来满足不同 客户的个性化需求。
Leve2:可配置
& & &
 
一次开发多 次部署
 
图 2-7 第二级成熟度模型
第三级:高性能的多租户架构[25]。综上所述,前两级成熟度模型同传统软件 的差别不大,在应用架构上基本上没有差别,只是在商业模式上存在加大的差异。 由于在前两级成熟度模型下,均是给每个客户独立开发一个软件实例和独立部署, 随着客户数量的增加必然会导致软件开发和维护成本的上升,难以形成规模效应。
第三级成熟度的多租户单实例(Multi-Tenant)架构才是符合真正的SaaS应用 架构的定义。多租户单实例架构能够使不同的租户可以共同使用一个软件实体, 并通过一定的措施使得各个租户之间的数据是隔离的,因此,每个租户都能拥有 自己独立的数据空间和应用体验。多租户单实例的应用架构有效地解决了随着用 户数量的增加而不断激增的软件开发和维护费用,能够有效地发挥 SaaS 的规模效 应。
Leve3:多租户下的高性能
6 8 6
 
 
图 2-8 第三级成熟度模型
第四级:可伸缩性的多租户架构[26]。第三级多租户单实例的应用架构在一定 程度上解决了随着用户的增多时成本上升的问题,但是随着用户规模的持续增加, SaaS 应用的性能将受到集中式的数据库性能的制约。若只是单纯地依赖于硬件设 备的扩展,并不采取数据库分区设计的话,当达到单个硬件设备的极限时,将导 致SaaS难以实现低成本的运营要求。SaaS第四级成熟度模型就很好地解决了这样 问题,它并不改变原有的应用架构,只需要在原来的硬件设备上简单的增加设备 即可达到 SaaS 水平扩展的要求。
在第三级成熟度模型的基础上,第四级成熟度模型将Multi-Tenant SingleInstance系统扩展为 Multi-Tenant Multilnstance。用户登录时,首先会接入 Tenant Load Balance 层, Tenant Load Balance 层中存储有租户、租户与对应的 Instance的映射关系。用户登录成功后,系统会根据Tenant Load Balance层中租户 和Instance的映射关系将用户分配到相应的Instance□在SaaS应用中,部署1个 Instance就可实现成千上万个租户的需求,随着租户规模的进一步扩大,SaaS应用 可以增加多个Instance来满足更多租户使用需求。Instance可以实现对用户访问量 的分担,从而实现SaaS应用的无限的水平扩展[27]。
Leve4:可伸缩
& & &
 
图 2-9 第四级成熟度模型
 
综上所述,得出四级模型所具备的特性比较:
 
表 2-1 四个级别成熟度模型的比较
成熟度 可配置 高性能 可伸缩
第一级:定制开发
第二级:可配置
第三级:高性能的多租户架构
第四级:可伸缩性的多租户架构
 
从上表中可看出,第四级可伸缩性的多租户架构是最理想的应用架构,它同 时满足可配置、高性能和可伸缩三方面性能的要求,但是综合考虑到实现的复杂 程度、成本及客户的需求,本系统采用第三级成熟度模型。
2.3.2SaaS 多租户的数据库选择
目前,SaaS Multi-Tenant架构在数据存储方面主要有三种方案,分别是: 方案一:独立数据库。与传统方案一样,独立数据库方案也是为每个客户分 别建立一套独立的数据库,但是与传统方案不同的是 SaaS 软件集中部署在软件开 发商处。
 
 
 
图 2-10 数据库选择方案一
方案二:共享数据库,隔离数据架构[28]。若干个或者所有租户都使用一个共 同的数据库,只是不同用户的数据分别存储在不同的数据表中。
 
方案三:共享数据库,共享数据架构[29]。在这种方案下,多个租户共同使用
一个数据库和同一个架构,通过TenantID (租户ID)来区分不同租户的数据。
 
 
方案一把每个租户的数据分别储存在一个独立的数据库中,各个租户之间的 数据在物理上是隔离的,因此,这种方案的隔离程度最高,安全性最好。数据易 于扩展,数据恢复容易,并且还可以根据客户的个性化需求来进行修改。但是在 数据的隔离性能和安全性能得到保障的同时,数据库的安装数量较大,这增加了 软件投入的成本。因此,用户租用的价格也会比较高,不适用于中小企业客户的 需求,但是可以满足大客户对数据安全方面的需求。
方案二实现了数据的隔离、安全性、成本及共享级别方面的平衡。首先,可 以使多个租户共享一台数据服务器,大大提高了有软硬件设备的共享性能,进一 步降低了成本;其次,各租户的数据实现了逻辑上的隔离,满足了一定的安全性 的需求;最后,不同用户的数据存放于不同的数据表中,数据扩展容易。但是由 于数据存放于不同的数据集中,加大了系统开发和数据恢复的难度。
方案三是把所有租户的数据都储存在相同的数据表中,这种存储方案中数据 的共享性最高,但是隔离性最低。与前两种的方案比较,这个方案的购买和维护 成本最低,它各个数据库支持的用户数量最多。所有租户的数据是存储在一个数 据表中,因此,数据的共享程度高,方便进行跨租户的数据统计。但是这种方案 的隔离性能和安全性能都较低,因此在设计和开发过程中需要加大对数据的隔离 和安全方面的开发量。
综上所述,从方案一到方案三,隔离程度越低,共享水平就越高,成本也就 降低。如何选择数据库取决于租户的对数据安全性的要求和产品的价格定位策略 [30]。
从中小企业信息管理系统的需求出发,本系统在数据库选择方面必须满足以 下3个要求:①能够支持多用户使用,支持的用户规模相对较大;②满足中小企 业按需购买的需求,通过租赁的形式提供给用户使用,租金要低廉,这就要求系 统开放和运营的成本要低;③保证客户数据的安全,要满足一定的安全性需求。
2.4本章小结
本章阐述了 SaaS的相关理论,重点介绍了 SaaS模式、SaaS与ASP的异同、 SaaS 的特点、优势与发展趋势、 SaaS 服务模式的特点以及对 SaaS 多租户的数据 库选择方案进行了对比。
第三章 企业信息管理系统的需求分析
3.1系统功能性需求分析
SaaS 系统主要有三个特征[31]:(1)依托于因特网平台;(2)数据存放在网 络服务器;(3)用户购买后才能使用软件,按照租赁的时间和租赁服务的数量缴 费。本系统是面向中小型企业的信息管理平台,主要有以下的功能需求:
1、 本系统面向的是中小企业,用户的数量庞大,为了保障SaaS平台运行的 安全性、并发性和稳定性,采用负载均衡技术和用户身份认证技术。
2、 本系统采用的是在线租赁的形式,为了降低用户的购买风险,用户可以先 试用,试用结束后在觉得是否需要租赁。租金按照用户租赁的服务数量及时间计 算,按需租赁的方式可以缓解中小企业资金不足带来的压力。
3、 本系统支持包括手机、电脑、PDA等在内的多种终端,用户通过使用这些 终端接入到Internet就可以使用本系统提供的各种服务。本系统的配置、维护及升 级等问题均由软件运营商负责,减少了用户在维护及人员配置方面的费用。
根据我们对诸多中小企业的业务活动的调查,中小企业信息管理平台主要实 现的是对包括企业日常的人事管理、员工工资管理、企业的客户信息的管理、合 同管理、项目管理以及企业日常公告的发布等在内的企业内部信息资源的管理。 因此,本系统主要实现的业务功能如下:
(1)人事管理:人力资源现已成为当今世界上最重要的资源之一,如何实现 人力资源的最佳配置和有效利用已成为企业生存发展的关键因素。因此,人事管 理也是当下企业业务活动的重中之重。本系统将中小企业的人力资源管理活动概 括为对企业内部员工的管理,包括员工档案的管理和部门信息的管理两部分。员 工档案资料的管理中有包含对企业离职员工的管理,企业日常管理过程中员工资 料的变动、员工的培训、员工的考核、员工的调动情况及部门信息等信息均会记 录在系统内,企业领导或者相关负责人可以在线方面快捷的查询,及时了解企业 人力资源的状况。
(2)合同管理:企业与客户的经济往来主要是以合同的形式进行,合同对双 方当事人都有强制的约束力,是保障双方权利的有效手段。从合同的订立、履行 到终止都会保存成合同档案。合同档案中记载了合同双方对合同信息和和履行合 同情况的全部资料,当合同当事人发生纠纷时,合同档案是唯一的依据。因此, 管理好企业合同档案的信息时企业维护自身权利的有效手段。本系统主要是针对 中小企业合同管理业务的流程,主要是对企业与客户之间签订的合同档案信息的 维护和管理,客户与企业相关人员草拟合同,待合同审批通过后,就可录入到数 据库,管理人员可以对合同的信息进行跟踪,实时记录和修改合同的信息。
(3) 客户管理:企业要赢得市场,必须得了解市场的需求。企业和客户之间 是利益互利体,企业可以从客户的需求中捕捉到市场的需求。对于企业来说,了 解客户的需求就是了解市场的需求。本系统的客户管理主要是对客户档案资料的 管理与客户数据的统计和维护,通过对客户数据的分析结果,可以发现企业的核 心客户群、客户的偏好及企业自身产品或服务的缺点,从而更好的满足客户的个 性化需求,全面提升客户的满意度和为企业取得更大的利润。
(4) 项目管理:主要是指对企业的大型项目的管理活动,包括项目的建立、 项目任务的分解、项目进程及项目人员等信息的控制和管理。通过对企业的项目 管理,可以实现对项目的整体规划和实时跟踪,以降低项目实施的风险。
(5) 工资管理:工资与员工有着密切的的联系,它是激励员工的最直接也是 最有效的手段之一。尤其是对于中小企业来说,合理的薪酬体制是防止人员的流 失重要保障。如何制定薪酬制度,如何进行薪酬管理是企业留住人才、保持内部 环境的公平的重要手段。本系统中将工资管理单独拿出来,作为系统主要功能模 块的一部分。本系统中的工资管理主要是对企业内部员工工资的计算方式、公式 及结算情况进行管理。旨在方便财务人员及时调整、查询员工工资的情况。
(6) 公告管理:企业公告的接受对象包括企业内部的员工及社会大众,而公 告的内容直接反映了企业当前的政策及生产经营状况。公告是员工和社会大众了 解企业的最直接的渠道,也是企业内部沟通和较少信息不对称的重要途径。因此, 对企业的公告进行管理就显得十分必要了。考虑到公告的重要性,在所有的公告 发布之前,都要对公告的内容进行严格的审核,只有审核通过的公告才能发布。 本系统的公告管理主要是对公告的审核和发布的过程进行控制,保证公告的正确 性和及时性。
3.2系统的性能分析
3.2.1系统的可扩展性
不同的企业有不同的需求,即使是同一家企业在不同的时期其需求也会改变, 因此为了满足企业动态变化的需求, SaaS 平台下的企业信息管理系统必须具备良 好的可扩展性。在 SaaS 服务模式下,所有的租户都共同使用一个模型,这个模型 能够支持多租户的并发使用及自由扩展[32]。 SaaS 平台自主的扩展能够满足租户的 个性化需求,还不能影响其他租户造成影响。本系统采用的是自定义的扩展表的 形式进行数据的灵活扩展。用户可以根据名称或者值来对自定义的数据进行组合, 并将组合后的数据存于单独的数据表结构中,以实现客户按需扩展的需求。
3.2.2系统的可配置性
所谓的可配置性是指可以实现对传统的信息管理系统的平台进行配置,并可
以实现对平台的二次开发,但是在SaaS模式下,多个租户共同使用一个实例,倘 若修改应用程序,就会对在此应用环境下的奇特其他租户造成影响[33]。为了很好 地解决可配型问题,方便用户使用本系统,本系统通过运用元数据使得终端租户 都能够配置自己界面的具体平台,以及享有一些基本的交互行为,这样,既使得 配置更加方便和容易,又可以为用户节省一定的维护费用。
3.2.3系统的可伸缩性 可伸缩性是指通过增加或者减少服务器对系统性能的影响[34]。可伸缩性可以
从软件和硬件两个方面的实现,通过增加硬件设备的数量、增加实例或者分布式 处理来响应更多的用户。基于SaaS模式的企业信息管理系统的对象是多租户,因 此,一定要保证平台的并发性。当使用平台的用户数量规模较大时,如何在保证 SaaS 应用平台正常工作的情况下,又能有效地降低运营成本是本系统可伸缩性的 要求。
3.3本章小结
在本章中,主要是对基于 SaaS 模式下的企业信息管理系统的需求分析。本章 阐述了本系统的功能性需求和性能需求。功能性需求主要从人事管理、工资管理、 合同管理、客户管理、项目管理、公告管理等几个方面进行了详细地分析。性能 性需求主要从系统的可扩展性、可配置性和可伸缩性三方面展开。
第四章 企业信息管理系统的设计
4.1系统设计的原则
1.整体性原则:系统开发的整体性原则是“总体规划,分布开发”[35]。在系 统开发之初,要先进行系统的总体规划,包括系统的需求分析、总体设计和详细 设计,在以系统的总体规划为指导,进行系统的分布开发。
2.实用性原则:实用性是指系统与企业实际的业务活动的保持一样或者相似 程度,它是决定系统开发成功与否的决定性因素。因此,一切系统的开发要从实 际出发,系统的开发初期要重视对用户需求的分析,全面了解用户的各个需求。 在系统的开发阶段要时刻以用户的需求分析为指导,待系统开发完成后,还要测 试系统是否达到了用户的需求。
3.界面设计原则:界面设计美观、友好、易操作,要符合人性化的设计原则, 不需要懂得太多的计算机知识的用户也可以轻松的使用系统。
4.模块化设计原则:采用模块化的程序设计模式,将系统按照功能划分各个 模块,使得系统具有良好的可伸缩性,可以根据用户的具体需求对各个模块进行 扩展,从而满足用户动态变化的需求。
5.可扩展原则:由于客户的需求是动态变化的,因此在设计的系统应该具有 一定的灵活性,使得系统尽量的组件化和模块化,以方便以后进行扩展。
6.安全性原则:要保障系统的安全,对系统的权限进行设置,防止非法用户 的入侵,还要具有数据备份方案,保障数据库的安全。
7.数据库设计原则:数据库设计减少数据冗余的发生,保证数据的一致性和 完整性。
4.2结构设计
在开发过程中,本系统采用的是B/S三层架构的形式。三层架构分别为:表 现层、业务逻辑层和数据访问层[36]。表现层位于最上层,它主要是面向用户的, 用户通过其提供的人机交互界面,完成数据的输入和读取操作。业务逻辑层处于 表现层和数据访问层之间,主要负责处理来自表现层的用户的请求,并将处理的 结果返回给用户。数据访问层位于最底层,该层主要的功能是实现对数据库中数 据的存、取、删除、修改等操作。
三层架构中表现层、业务逻辑层和数据访问层三个层次中的功能进行了分离,
 
降低了系统间各模块的耦合性,即使是用户的业务需求改变了,只需要改动业务
逻辑层的设计,不需要改代码,从而降低了系统二次开发的成本,提高了系统的 可扩展性。
 
 
 
图 4-2 SaaS 系统结构
本系统采用的是 B/S 三层体系架构,客户端用户将企业的各种办公体系的终 端连接到互联网,通过浏览器访问 SaaS 的服务器[37]。本系统的终端有电脑、手机 等,用户通过这些终端访问SaaS平台。为了保障SaaS服务器的安全,系统设置 了两道防线。第一道防线是位于互联网和 SaaS 平台的防火墙,防火墙通过对出入 平台的数据进行过滤,将网络和平台隔离,从而防止用户的非法入侵。第二道防 线是用户的身份认证, SaaS 服务器通过鉴别用户的身份,判断其是否有访问平台 的权限。 SaaS 通过用户认证系统对用户的身份进行验证,用户认证体系身份认证 模块、系统管理模块、用户中心模块管理三部分[38]。身份认证模块主要是实现对 用户身份的认证,只有通过身份认证模块的信息审核才能访问 SaaS 平台。通过身 份验证后,用户就将通过系统管理模块的审核,系统管理模块的主要功能是对访 问用户权限的验证,当用户进入系统后,并不能访问系统的所有服务,只能访问 用户购买或者租赁的软件服务功能。用户中心模块中存放用户的基本信息、租赁 信息等,功能是集中管理租赁用户的信息。通过用户身份验证后,用户就可以通 过 SaaS 平台使用其购买的相关服务。 SaaS 将整个系统划分为不同的模块功能,每 个模块功能都提供相应的服务,按其提供的服务来收费,用户可以购买自己需要 的服务,而不需要购买整个系统。用户购买了服务就可以访问 SaaS 平台上对应的 软件。本系统是面向中小型企业用户的,若用户过多时,就会给一个服务器造成 过重的负担,为了很好的控制访问量和减轻服务器的负担,系统设置了负载均衡 器,负载均衡器上记录用户的访问量,当一台服务器上的访问量太多时,负载均 衡器通过分流,将用户分流到负载较小的服务器。 SaaS 服务器与数据中心联通, 服务器用于记录和执行用户的所有操作,数据中心中保存所有用户的数据,通过 身份验证的用户可以实时的查询和修改数据中心的数据,经过处理的数据导入到 数据中心中 [39]。
4.3总体设计
本系统是基于 SaaS 平台的单实例多用户的企业信息管理。根据对中小型企业 业务需求的分析,本系统共设计系统管理、人事管理、合同管理、客户管理、项 目管理、工资管理和公告管理七个模块。
系统管理:对用户管理、权限管理和系统的初始化、数据更新等 人事管理:对企业的人员基本档案资料和部门资料的管理 合同管理:对企业合同基本资料的管理和维护。 客户管理:对企业客户信息的维护。 项目管理:对客户项目信息的维护。
工资管理:对企业员工的工资帐套设置和工资帐管理。
公告管理:对企业公告信息的发布和管理。
 
图 4-3 企业信息管理系统的总体结构
 
4.4主要功能模块
4.4.1系统管理
系统管理主要实现的是系统管理员对系统信息的维护、数据库备份、权限控 制等功能。系统管理模块包括用户管理、权限管理和密码修改三个子模块。
1用户管理 用户管理主要实现的是系统管理员对使用该系统的用户信息的管理。主要包
括以下功能:
(1) 新增用户:系统管理员负责增加新用户,并设置用户的基本信息和初始 密码,新用户第一次登录系统时可对初始密码进行修改,重新设置新的登录密码 和用户名(登录名)
(2) 编辑用户:系统管理员对用户的信息进行修改,例如对用户的使用期限 进行修改,延长或者减少用户对该系统的使用期限。
(3) 删除用户:系统管理员对于已经离职或者不具备该系统的用户信息进行 删除。
2权限管理 权限管理的主要任务是对系统角色的分配。在本系统中,只有系统管理员才
能进行权限管理。系统管理员创建多种角色,并授予不同的角色不同的权限。角 色管理的主要功能有:
(1) 设置用户权限角色:系统管理员在创建新用户时,需要对新增用户设置 权限。
(2) 修改权限:包括系统管理员赋予某些用户新的使用权限或者回收某些权 限。
(3) 删除权限:系统管理员在删除用户时,还需要对赋予用户的权限进行处 理,即删除授予其的相关权限。
 
图 4-4 系统管理模块功能分解
 
4.4.2人事管理 人事管理主要包括两个大的子模块:员工管理和部门管理。其中,员工管理 又分为员工档案管理、员工调动管理、员工培训管理、员工奖惩管理和员工考评 管理。主要的功能如下:
1员工档案管理
(1) 增加员工信息:增添新员工的信息,包括员工的姓名、编号、性别、所 在部门、电话、地址、入职时间等信息。
(2) 修改员工信息:人力资源部门的相关人员可以对用户的某些基本信息进 行修改和更新(如工资等),普通员工也可以对自己的基本信息进行修改和维护。
(3) 删除员工信息:对于已经离职的员工,删除其在系统内的信息。
(4) 查看员工信息:企业领导、人力资源主管等具有该模块访问权限的人可 以查看所有员工的信息,而普通员工只能查看自己的个人信息。
除了对企业现有的员工档案资料进行管理外,本系统还设置了离职员工信息 管理,主要包括离职员工信息的查询、删除及复职等操作。
2部门管理
(1) 新增部门:包括设置新部门的名称、部门的编号、优先级、部门负责人 等信息。
(2) 修改部门信息:包括修改部门的名称、编号、负责人等信息。
(3) 删除部门:对于已经撤销的部门,在系统要对该部门原来的信息进行删 除。
(4) 查看部门信息:企业领导和相关部门负责人可以查看该部门的具体信息。
3员工调动管理
(1) 添加:实现对员工调动信息的增加
(2) 编辑:修改员工调动设置。
(3) 删除:删除员工调动信息。
(4)打印:打印员工调动信息表。
(5) 查询:可以自己选择查询条件,查询条件有三种:查询字段(选择)、 查询信息(手动输入)和调动日期,实现对员工调动信息的查询。
4员工培训管理
(1) 添加:添加员工培训的信息
(2) 编辑:修改员工培训的信息。
(3) 删除:删除员工培训的信息。
(4) 打印:打印员工培训的信息表。
(5) 查询:可以自己选择查询条件,查询条件有三种:查询字段(选择)、 查询信息(手动输入)和培训日期,实现对员工培训信息的查询与显示。
5员工奖惩管理
(1) 添加:增加员工的奖惩记录
(2) 编辑:修改员工的奖惩信息
(3) 删除:删除员工的奖惩信息
(4) 打印:打印员工的奖惩信息。
(5) 查询:可以自己选择查询条件,查询条件有三种:查询字段(选择)、 查询信息(手动输入)和奖惩日期,实现对员工奖惩信息的查询和显示。
6员工考评管理
(1) 添加:添加员工考评的信息。
(2) 编辑:修改员工考评的信息。
(3) 删除:删除员工考评的信息。
(4) 打印:打印员工考评信息。
 
(5)查询:可以自己选择查询条件,查询条件有三种:查询字段(选择)、
查询信息(手动输入)和考评日期,实现对员工考评信息的查询和显示。
人事管理
 
 
 
 
图 4-5 人事管理模块功能分解
4.4.3合同管理
主要实现的是对客户合同信息的管理。包括合同的创建、审批、修改、查询 和删除等。
(1)合同的增加: 根据系统已有的模板新增合同信息,包括合同的编号、 合同的类型、合同的名称、合同的负责人等。
2)合同的审批:在合同签订前,合同负责人需要将合同信息单交予企业领
导审批,待审批通过后,才可签署合同。未经审批而签订的合同无效。
(3)合同的修改: 在合同执行过程中,对合同进行跟踪,修改和更新合同 的变动的信息。
(4)合同的查询:实现对不同查询条件的合同信息的查询。
(5)合同的删除: 对于已经解除或者无效的合同,进行删除。
 
 
 
 
图 4-6 合同管理模块功能分解
4.4.4客户管理 主要是对企业所有客户信息的管理,包括对客户信息的增加、修改、查询和 删除等。
(1)客户添加: 录入客户的基本信息,包括客户的名称、公司代码、企业 法人等。
(2)客户修改:对已客户信息进行实时维护,及时修改其变动的信息。
(3)客户查询:实现不同条件下对客户信息的查询。
(4)客户删除:对于不满足资格或者评定不达标的客户,要及时从系统中剔 除。
客户管理
统计
与分
图4-7客户管理模块功能分解
4.4.5项目管理
主要实现的的企业项目的监控和项目信息的管理。
1 项目信息管理
主要是对项目信息的创建、修改和查询等。在该模块,只有特定权限的用户 才能查看和修改该模块的信息。
(1) 创建项目:主要是根据系统中已经定义好的模板创建新项目,并录入新 项目的信息,包括项目的编号、项目的名称等。
(2) 修改项目:对项目信息的内容进行调整和更新,项目主管和企业领导可 以直接修改项目信息,其余的用户(如项目信息维护人员)在修改项目信息时, 必须经过有关部门和领导的审批,才能对项目信息进行修改,若事先未进行审批 则该操作不能生效。对已已经实施的项目,其项目的编号等信息不能再进行修改 在对项目的进度进行监控时,可以实时记录和更新项目的进展情况。
(3) 删除项目:删除项目信息,本系统中只有企业领导能直接删除项目信息,
其余用户必须经过审批才能删除项目。对于已经实施的项目,其项目的信息不能 再进行删除操作。
(4)查看项目信息:项目创建完毕后,只有企业领导、项目总共和项目组成 员才能查看项目信息。
项目管理
 
图 4-8 项目管理模块功能分解
4.4.6工资管理 主要实现的是对员工工资的管理,包括工资帐套管理、员工帐套设置、工资 表管理、计时工资、计件工资及月末处理六个子模块。
1 工资帐套管理
(1)增加项目:设置工资项目、工资类型、初始值和计算公式
(2)修改项目:修改工作项目的初始值和项目类型
(3)删除项目:对选定的工资项目进行删除
2 员工帐套管理
(1)查询:查询员工信息
(2)添加员工:添加员工的个人帐套信息
(3)删除员工:删除员工的个人帐套信息
3工资表管理
(1)查看:对具体的某一年度某一个月的工资表进行查看
(2)查询:对某一个员工或者某一部门的所有员工的工资表进行查询
(3)读取数据:读取某一时间段内员工或部门及时工资和计件工资。
4计时工资
(1)添加:设置计时工资,包括日期、生产单号、部门、员工姓名、工种、 计时单位、计时单价、时间及金额等。
(2)编辑:修改员工的计时工资
(3)删除:删除员工的计时工资
(4)工种设置:增加、修改、删除工种的类型和工种的计时单价。
(5)查询:对用户输入的信息进行查询并显示查询结果。
5计件工资
(1)添加:对员工的工票信息设置,包括生产单号、员工姓名、产品编号、 工序编号、完成数量等。
(2)编辑:对员工的工票信息进行修改。
(3)删除:删除员工的工票信息。
(4)设置:包括增加和删除产品,对操作工序的单价进行设置。
(5)查询:通过选择查询字段和输入查询信息,选择查询日期,对工票信息 进行查询。查询字段包括:员工编号、员工姓名、生产单号、产品名称、工序编 号、工序名称、完成数量。
6月末处理
(1)结账
(2)反结账 结账后就不能对工资表进行修改,选择反结账可对冻结工资表进行重新操作。
工资管理
 
 
4.4.7公告管理
主要实现的是对企业通知公告的发布、修改、查询和删除等。
(1)公告知的发布:发布公告信息。
(2)公告的修改:对公告信息的修改和更新。
(3) 公告的查询:对公告的查询,只要是本系统的用户都可以查询公告信息。
(4) 公告的删除:删除公告。
(5) 公告的审核:企业相关领导对公告进行审核,审核通过后的公告才可发 布。
 
图 4-10 公告管理模块功能分解
 
4.5数据库设计
在 SaaS 平台的开发过程中,数据库的选择和设计是系统成功与否的重要环节。 本系统是针对中小企业设计的信息管理系统,面向的对象是多用户,因此,数据 库中存放的数据表较多,需要处理的数据量也比较大。目前,企业信息管理系统 的开发大多采用的是 SQL 语言,对各个不同的数据库和数据库中的数据表建立联 系。Microsoft SQL Server是一个典型的关系型数据库管理系统,它提供事物的联 机处理、数据分析和数据挖掘等功能。 SQL Server2008 拥有超大容量的数据存储 功能,提供友好的用户接口和数据库导向,除了能提供一些基本的数据处理功能, 还能有效地保障系统的安全性、可用性和集成性。因此,本系统选用的数据库软 件是 SQLServer2008。
SQL Server 2008是微软公司在SQL Server 2005平台上推出的数据库管理系 统。 SQL Server2008 可以帮助用户方便、快捷地使用和管理任何数据用户可以随 时创建和管理自己的数据和应用。相比于SQL Server的其它产品,SQL Server 2008 的性能更好,其在安全性、可靠性和可扩展性更高。它还提供智能化服务,能够 集成任何数据,发送相应的报表。SQL Server 2008是一个非常优秀的数据库软件 和数据分析平台。
4.5.1数据表设计
本系统共有12个数据表,总体的设计如表4-1所示:
表 4-1 数据表列表
序号 数据表名 描述
1 User info 用户信息
2 Staff 员工基本信息
3 Train 员工培训信息
4 Transfer 人员调动表
5 Evaluation 人员考核表
6 Contract 合同信息
7 Client 客户信息
8 Department 部门信息
9 Wage 工资项目信息
10 Wage set 员工账号信息
11 Project 项目信息
12 Announcement 公告信息
 
用户信息表User_infor,主要用于储存系统用户的信息,包含的字段有:Us_id、
Us_name、Us_passord、Us_role、Us_number、Us_realname、Us_code、Us_description。
表 4-2 用户信息 User infor
名称 类型 是否为主键 描述
Us id int 用户编号
Us name varchar 用户名称
Us password varchar 密码
Us role varchar 用户角色
Us number varchar 权限编码
Sta name varchar 用户姓名
Us code varchar 初始密码
Us description varchar 用户描述
 
员工基本信息表Staff,主要用于储存员工的个人资料,包含的字段有Sta_id、
Sta_name、 Sta_sex、 Sta_birth、 Sta_hire、 Sta_marriage、 Sta_political、 Sta_ethnic、
Sta_hometown、Sta_edu、Sta_field、Sta_school、Sta_place、Sta_email、Sta_IDnum、 Sta_phone 、 Sta_telephone 、 Sta_employ 、 Sta_ecall 、 Sta_sdate 、 Sta_edate 、 Sta_department、Sta_post、Sta_title、Sta_bank、Sta_source、Sta_card、Sta_wage、 Sta_remark。
表 4-3 员工基本信息 Staff
名称 类型 是否为主键 描述
Sta id int 员工编号
Sta name varchar 员工名称
Sta sex varchar 性别
Sta birth datetime 生日
Sta hire datetime 录用日期
Sta marriage varchar 婚姻状况
Sta political varchar 政治面貌
Sta ethnic varchar 名族
Sta hometown varchar 籍贯
Sta edu varchar 最高学历
Sta field varchar 所学专业
Sta school varchar 毕业学校
Sta place varchar 地址
Sta email varchar 电子邮件
Sta IDnum varchar 身份证号
Sta phone varchar 手机号码
Sta telephone varchar 电话
Sta employ varchar 平庸形式
Sta ecall varchar 紧急联系方式
Sta sdate datetime 合同签订时期
Sta edate datetime 合同到期时期
Dep name varchar 部门
Sta post varchar 职位
Sta title varchar 职称
Sta bank varchar 银行
Sta source varchar 录用来源
Sta card varchar 银行卡号
Sta wage moneyr 基本工资
Sta remark varchar 备注说明
 
员工培训信息Train,主要用于储存员工的培训信息,包括的字段有Sta_id、
Sta_name、Sta_sex、Sta_department、Sta_post、Tra_date、Tra_content、Tra_remark。
 
表 4-4 员工培训信息 Train
名称 类型 是否为主键 描述
Sta id int 员工编号
Sta name varchar 员工名称
Sta sex varchar 性别
Dep name varchar 名称
Sta post varchar 职位
Tra date datetime 培训日期
Tra content varchar 培训内容
Tra rebank varchar 备注
人员调动表Transfer,主要用于储存员工的调动信息,包括的字段有Sta_id、
Sta_name、 Sta_sex、 Sta_department、 Sta_post、 Tra_date、 Tra_bdepart、 Tra_bpost、 Tra_cause、 Tra_adepart、 Tra_apost、 Tra_remark。
表 4-5 人员调动表 Transfer
名称 类型 是否为主键 描述
Sta id int 员工编号
Sta name varchar 员工名称
Sta sex varchar 性别
Dep name varchar 名称
Sta post varchar 职位
Tra date datetime 调度日期
Tra bedepart varchar 调前部门
Tra bpost varcha 调前职务
Tra cause varcha 调动原因
Tra adepart varcha 调后部门
Tra apost varcha 调后职位
Tra remark varcha 备注
 
人员考评表Evaluation,主要用于储存员工考评的信息,包括的字段有Sta_id、 Sta_name、 Sta_sex、 Sta_department、 Sta_post、 Eva_date、 Eva_content、 Eva_result、 Eva_remark。
 
表 4-6 人员考评表 Evaluation
名称 类型 是否为主键 描述
Sta id Int 员工编号
Sta name Varchar 员工姓名
Sta sex Varchar 性别
Dep name Varchar 部门
Sta post Varchar 职位
Eva date DateTime 考评日期
Eva content Varchar 考评内容
Eva result Varchar 考评结果
Eva remark Varchar 备注
 
合同信息Contract,主要用于存储客户的合同信息,包括的字段有:Con_id、
Con_sort、 Con_name、 Con_project、 Con_money、 Con_Currency、 Con_date、 Con_staff、 Con_depart、 Con_mode、 Con_btime、 Con_etime、 Con_payment、 Con_parta、 Con_partb、 Con_chargea、 Con_chargeb、 Con_time、 Con_person、 Con_remark。
表 4-7 合同信息 Contract
名称 类型 是否为主键 描述
Con id Int 合同编号
Con sort Varchar 合同分类
Con name Varchar 合同名称
Cli id Varchar 客户编号
Pro id Varchar 所属项目
Con money Money 合同金额
Con Currency Varchar 币种
Con date DateTime 签订日期
Con staff Varchar 业务员
Dep id Varchar 责任部门
Con mode Varchar 支付方式
Con btime DateTime 开始时间
Con etime DateTime 截止时间
Con payment Varchar 收付类型
Con parta Varchar 合同甲方
Con partb Varchar 合同乙方
Con chargea Varchar 甲方责任人
Con chargeb Varchar 乙方责任人
Con time DateTime 录入日期
Con person Varchar 录入人
Con remark Varchar 备注
 
 
客户信息Client,主要用于存储客户的基本资料,包括的字段有:Cli_id、 Cli_name、 Cli_area、 Cli_type、 Cli_person、 Cli_group、 Cli_telephone、 Cli_phone、 Cli_tax、 Cli_code、 Cli_email 、 Cli_range、 Cli_address 、 Cli_contact 、 Cli_credit、 Cli_bank、 Cli_account、 Cli_day、 Cli_check、 Cli_time、 Cli_remark。
表 4-8 客户信息 Client
名称 类型 是否为主键 描述
Cli id Int 客户编号
Cli name Varchar 客户名称
Cli area Varchar 区域
Cli type Varchar 类型
Cli person Varchar 业务员
Cli group Varchar 客户组
Cli telephone Varchar 联系电话
Cli phone Varchar 移动电话
Cli tax Varchar 传真电话
Cli code Varchar 邮编
Cli email Varchar 电子邮箱
Cli range Varchar 经营范围
Cli address Varchar 联系地址
Cli contact Varchar 联系人
Cli credit Varchar 信用额度
Cli bank Varchar 开户银行
Cli account DateTime 账期天数
Cli day DateTime 次月结账日期
Cli time DateTime 建档日期
Cli remark Varchar 备注
 
部门信息Department,主要用于存储部门的资料,包括的字段有:Dep_id、 Dep_name、 Dep_time、 Dep_person、 Dep_bewrite、 Dep_part、 Dep_ priority。
表 4-9 部门信息 Department
名称 类型 是否为主键 描述
Dep id Int 部门编号
Dep name Varchar 部门名称
Dep time DateTime 创建时间
Dep person Varchar 部门负责人
Dep bewrite Varchar 职能描述
Dep part Varchar 上级部门
Dep priority Varchar 部门优先级
 
 
工资项目信息Wage,主要用于存储工资项目信息,包括的字段有:Wag_id、 Wag_name、 Wag_type、 Wag_value。
表 4-10 工资项目信息 Wage
名称 类型 是否为主键 描述
Wag id Int 工资项目序号
Wag name Varchar 工资项目名称
Wag type Varchar 项目类型
Wag value Varchar 初始值
 
员工帐套信息Wage_set,主要用于存储员工帐套信息,包括的字段有:Sta_id、
Sta_name、 Sta_sex、 Sta_marriage、 Sta_edu、 Sta_employ、 Sta_department、 Sta_post、 Sta_name。
表 4-11 员工帐套信息 Wage set
名称 类型 是否为主键 描述
Sta id Int 员工编号
Sta name Varchar 员工姓名
Sta sex Varchar 性别
Sta marriage Varchar 婚姻状况
Sta edu Varchar 最高学历
Sta employ Varchar 聘用形式
Dep id Varchar 部门
Sta post Varchar 职位
Sta name Varchar 帐套名称
Sta wage Varchar 工资值
 
项目信息Project,主要用于储存项目信息,包括的字段有:Pro_id、Pro_name、 Pro_charge、 Pro_creat、 Pro_Schedule、 Pro_bewrite、 Pro_fufil、 Pro_btime。
表 4-12 项目信息 Project
名称 类型 是否为主键 描述
Pro id Int 项目编号
Pro name Varchar 项目名称
Pro charge Varchar 项目负责人
Pro creat Datetime 项目创建时间
Pro schedule Varchar 项目进度
Pro bewrite Varchar 项目描述
Pro fufil Datetime 项目完成时间
Pro btime Datetime 项目开始时间
 
 
公告信息Announcement,主要用于存储公告信息,包括的字段有:Ann_id、 Ann_content、 Ann_title、 Ann_time、 Ann_audit。
表 4-13 公告信息 Announcement
名称 类型 是否为主键 描述
Ann id Int 公告编号
Ann content Varchar 公告内容
Ann title Varchar 公告标题
Ann time Datetime 公告发布时间
Ann audit Varchar 审核人
 
4.5.2各个数据表之间的关系
 
 
 
图 4-11 数据库表之间的关系
4.6系统安全设计
4.6.1应用安全
为了保障 SaaS 系统的应用安全,本系统将从租户的身份认证、权限管理两个 层面采取相应的措施[40]。
1. 身份认证
身份认证是保证 SaaS 系统安全的最基础的应用,实现的是对使用 SaaS 系统 的用户的身份验证和识别。严格的身份认证体系,可以防止非法用户使用系统或 伪装成其他用户使用系统。实现身份认证的方式有三种:集中式认证、非集中式 认证和混合认证[41]。
(1)集中式认证
集中式认证,由SaaS系统为用户提供一个统一的身份认证中心。所有用户都 通过这个身份认证中心来管理各自的身份数据,而 SaaS 可以通过统一的身份认证 中心对用户的身份进行验证。
 
 
集中式认证的优点是能够更好地保障用户身份的安全,但不足之处在于需要 用户在身份认证中心管理自己的身份信息,不可以使用已有系统的身份信息,也 不能同其他系统一起维护。
(2)非集中式认证 非集中式认证,各个用户通过自己的身份认证系统对身份进行验证,并向 SaaS 身份认证中心发布自己的安全令牌,用户身份认证中心通过接受用户的安全令牌, 从而获取用户的身份信息,用户通过身份认证后,即可使用系统。
 
 
非集中式认证不仅能对用户的身份信息进行统一的维护,还能复用用户原有 系统的身份信息,能够实现各个租户的系统之间的单点登录。
(3)混合认证方式
混合认证方式是既支持集中身份认证又支持非集中身份认证的形式,它常见 于多租户的 SaaS 应用中。对于大多数中小企业来说,它们并没有自己的身份认证 中心,这就需要 SaaS 应用提供统一的用户身份认证中心,来对用户的身份信息进 行管理和维护。但对于一些比较大型的企业来说,它们已经建立了自己的身份认 证中心, SaaS 应用只需要通过接收安全令牌来获取用户的身份信息,用户也不需 要到 SaaS 的身份认证中心去维护自己的身份信息。因此, SaaS 应用提供混合认证 方式,既能实现统一的身份认证,又能支持用户自己的身份认证系统。
 
 
 
2. 权限管理
权限管理主要实现的是对用户访问系统功能的权限进行管理,保证合法授权 的用户可以安全和正常地使用系统,从而防止未经授权和无权限的用户使用系统 的功能。 SaaS 应用的权限管理与传统应用的权限管理不同, SaaS 应用是基于多租 户的授权模式,它需要对租户的使用权限进行管理。权限管理的内容包括权限模 式、权限分配和权限校验。
(1)权限模式
对于权限模式,传统系统广泛采用RBAC模型体系。RBAC模型由美国国家 标准与技术研究院制定。标准的 RBAC 模型包括 4 种:分别是基本模型 RBAC0、 角色分级模型RBAC1、角色限制模型RBAC2和统一模型RBAC3。
 
图 4-15 RBAC0 模型图
 
在多租户的 SaaS 应用中,
在 SaaS 的多租户架构设计中, RBAC 模型体系任然适用。但是,模型中涉及 的用户、角色、操作及操作对象,在传统应用中都属于系统全局的,而在 SaaS 应 用中,情况比较复杂。其中,用户都是按租户隔离的;而角色既会有全局的,又 会有租户自身的,而租户的角色是需要进行隔离的。
(2)权限分配 权限分配包括三部分,即角色管理、用户到角色的分配和角色许可的分配。 在传统的应用中,角色都是全局的,管理员的角色只有一个,有但在SaaS应用中, 有两个管理员,即系统管理员和租户管理员。在 SaaS 应用中,角色分为两类,全 局角色和租户角色。全局角色又包括系统管理员和系统通用角色。系统管理员的 主要责任是对系统的日常维护和租户信息的管理。系统通用角色即系统操作员的 角色,它的主要作用是简化系统的用户的操作。租户角色包括租户管理员和租户 自定义角色。租户管理员主要负责租户角色的分配、租户系统的设置和租户自定 义角色的管理。
 
 
在 SaaS 应用中用户角色的分配和用户的管理都是租户来负责。租户管理员的 主要职责是负责租户角色的分配,租户可以使用系统中的通用角色,也可以自己 定义角色。租户可以把系统的通用角色或者租户自定义角色分配给用户使用。
角色许可的分配包括系统通用角色的许可分配和租户自定义角色的许可分配 两部分。系统通用角色的分配由系统管理员来完成,而租户管理员主要负责租户 自定义角色的分配。
(3)权限校验
在进行权限验证时,SaaS应用会首先验证用户是否购买了系统的相应的功能。 若用户购买了相应的功能,然后再来验证该用户是否被授权使用该功能。
由于系统内有些角色是系统全局的,这些全局的角色,可能被授予了比较多 的功能权限,但是并不是每个租户都能购买了这些功能。因此,在权限校验时, 应该首先校验租户是否已经购买了相应的功能。
尽管在系统内对用户进行授权时,已经对租户是否购买功能进行了校验。但 是,租户购买的功能是有使用期限的,一旦过了使用期,租户就不再有使用该功 能的权限了。所以,要实时地校验租户是否具备相应的功能权限。
4.6.2数据安全
对于 SaaS 的租户来说,他们最关心的就是数据的安全。本系统主要通过对租 户的数据进行隔离和对敏感数据进行加密的技术,来保证数据库的安全。
(1) 数据隔离 在传统的应用中,每个客户的设备是独立的,因此他们的数据也是完全隔离 的。而SaaS应用中用户的设备和数据都不是独立的,为了保证数据的安全,需要 对数据进行隔离。数据隔离是指对租户之间的数据进行隔离,以保证各个租户数 据的安全性。对于数据隔离的方法,本文中数据库选择部分已详细介绍过。
(2) 数据连接安全
为了保证数据库连接的安全,本系统分别为不同的用户设置了相应的数据库 身份。由于相应的数据库身份是和把系统的相应功能匹配的,因此,用户只能使 用自己的身份去连接相应的数据库和进行相应的数据操作。
(3) 数据加密
SaaS 应用的数据库是由软件运营商来负责维护,为了保证用户数据的安全, 防止用户的数据被非法使用,需要对客户的一些敏感数据进行加密。加密算法可 以分为不可逆加密和可逆加密两种,可逆加密又分为对称加密和公开加密两种。 不可逆加密算法对数据加密后,是不能解密的,不能得到明文,因此适合于对租 户的校验数据进行加密。由于数据在经过不可逆加密后,是不可以被解密的,因 此针对本系统中租户的敏感业务数据采用可逆加密算法,具体是采用对称加密或 者公开加密均可。对称加密只需要一个密钥就可以把明文加密成密文或者密文解 密成明文。而非对称式加密需要一个公钥和一个私钥,公钥用来将明文加密成密 文,私钥用来将密文解码成明文。
4.6.3网络安全
由于 SaaS 应用依托于互联网,因此在数据的传输过程中更容易受到网络的攻 击,网络的安全是保证 SaaS 应用正常运行的关键。
(1 ) 安全传输
SaaS 需要完全依托于互联网,因此如采用明文传输的形式,将很容易受到网 络的冲击。HTTPS与HTTP不同,它更能保证数据的安全,它有一个默认的端口 和一个加密/身份验证层。因此,本系统将采用安全超文本传输协议 HTTPS 进行传 输。
(2) 网络攻击防范
SaaS 应用是基于互联网进行使用的,由于用户需要通过互联网来使用该应用, 因此, SaaS 需要将部分内容部署在网上,而部署在网上的部分很容易受到攻击。 为了减少网络攻击的概率,需要把暴露在网上的内容减少到最少。本系统采用分 层部署的形式,将系统的部分界面层部署在网上,而应用服务器和数据库服务器 则部署在防火墙内。
(3) 网络监控
通过使用网络监控系统,可以实现对网络 7*24 小时的实时监控,当网络出现 故障时,能够及时报警。
4.7本章小结
本章主要包括四方面的内容:系统的结构设计、功能模块设计、数据库设计 及安全设计。在本章的开始,首先阐述了本系统设计的基本原则;其次在此基础 上详细阐述了本系统的三层架构模式,然后重点介绍了系统的各个功能模块的具 体设计,本系统总共设计包括系统管理、人事管理、合同管理等7 个功能模块。 在SQL SERVER 2008软件平台上设计了系统中的各个数据表。最后从身份认证、 权限管理和数据安全三个层面进行了系统安全的设计。
第五章 企业信息管理系统的实现
本系统的开发环境是采用了 Microsoft.NET平台并利用ASP.NET 4.Web开发工 具,通过C#作为后台开发语言用以实现整个系统。
5.1系统管理功能实现
系统会根据用户输入的用户名和密码判断用户的角色,不同的角色拥有不同的 权限。如果是用户是系统管理员,则进入系统后台进行界面的管理,若只是普通 的员工,则根据不同员工的权限进入不同的功能界面。
登录流程的核心代码如下:
public loginIn (String tenantCode, String userCode, String password)
throws Exception, RemoteException
{
try
{
ISecTenantSV tenaSv = (ISecTenantSV) ServiceFactory.getService (ISecTenantSV.class);
IBOSecTenantValue loginTenant
=tenaSv.getTenantByCode {tenantCode, false);
ISecOperatorSV operSv = (ISecOperatorSV) ServiceFactory getService ^ISecOperatorSV.class);
IBOSecOperatorValue loginOperator
= operS v.getOperatorByCode (userCode, false) ;
//校验租户存不存在
if (null == loginTenant)
{
throw new LoginExceptio(AppframeLocaleFactory getResource
("i18n.secframe _ resource", sec.secloginsvimpl.nouser "));
}
else if (0 == loginTenant.getState())
{
throw new LoginExceptio(AppframeLocaleFactory getResource
("i18a.secframe _ resource", " sec.secloginsvimpl.userinvalid "));
}
//校验用户存不存在
if (null == loginOperator )
{
throw ne^w
LoginException(AppframeLocaleFactory.getResource("i18n.secframe _ resource", "sec.secloginsvimpl.nouser"));
}
else if (0 == loginOperator. getState())
{
LoginException(AppframeLocaleFactory.getResource(" i18n.secframe _ resource ", "sec .secloginsvimpl .userinvalid"));
}
//校验用户密码
String loginPwd = loginOperator.getPassword();
/ / System.out .printin (d 5 .getMD5ofStr ("password"));
IPassword ipass = (Password) Class fovName .
(SecframePropertislnfo.PASSWORD_IMPL ).new/nstance();
if [null == loginPwd || !ipass.getPassword(assWord) .equals (oginPwd))
{
throw ne^w
LoginException(AppframeLocaleFactory.getResource(" i18n.secframe _ resource ", "sec.secloginsvimpl. psderror"));
}
//验证最近使用密码登录次数是否达到最大登录次数,达到了锁定该账号 if (curLoginNum > loginOperator.getTryTimes())
{
//锁定该用户
operSv.lockOperator (loginOperator .getOperatorld (), true);
throw ne^w LoginException(AppframeLocaleFactory.getResource("i18n.secframe _ resource", "sec.secloginsvimpl .acclock"));
}
//验证密码是否过期
ISecOpSecurityDAO opSecurityDAO = (ecOpSecurityDAO)ServiceFactory getService (iSecOpSecurityDAO .class);
IBOSecOpSecurityValue opSecurityValue = opSecurityDAO.getOpSecurityByld (loginOperator.getSecurityId());
long nowDateLong - Util.getSysDate().getTime();
long psw _ valid _ days = opSecurityValue.getPasswdValid (); if (psw _ valid _ days ! = — 1 )
{
//判断是否过期 if(psw_valid_days <- 0 )
{
psw _ valid _ days = 90;
}
if( nowDateLong > (loginOperator. getPasswordValidDate(). getTime()
+ psw _ valid _ days * 24 * 60 * 60 * 1000))
{
throw new
LoginException(AppframeLocaleFactory.getResource('i1 Wn.secframe _ resource",
" sec.secloginsvimpl.passwordvalidate "));
}
}
//获取员工归属组织信息
ISecOperatorDAO operDao — (ecOperatorDAO) ServiceFactory getService (ISecOperatorDAO.class );
IQBOSecOrgStaffOperValue orgStaffOperValue
 
//塞登录组织和登录岗位信息
ISecOpStationDAO opStationDAO = (ecOpStationDAO) ServiceFactory getService ^ISecOpStationDAO .class );
long districtOrganizeld = 一 1;
IBOSecOpStationValue baseSecOpStation = opStationDAO.getBaseOpStationByOperId (orgStaffOperValue .getOperato rid ())
if (null = baseSecOpStation )
{
throw new
LoginException(AppframeLocaleFactory.getResource("i18n.secframe _ resource",
"sec.secloginsvimpl.noOpStation"));
}
long stationKey = baseSecOpStation.getOpStationid();
user.set (Constants.LOGIN _ STATION _ ID, baseSecOpStation.getStationid ()); user.set (Constants .LOGIN _ STATION _ KEY, stationKey );
districtOrganizeId = baseSecOpStation.getOrganizeId ();
user.set {Constants .DEFAULT _ ORG _ ID, districtOrganizeId );
if (districtOrganizeId == Constants.PROVINCE _ ORG _ ID)
{
//省公司和地市工号判断条件
user.set ( Constants.IS _ PROVINCE _ CODE, Boolean .TRUE );//是省级工号
}
else
{
user.set ( Constants.IS _PROVINCE_CODE, Boolean.FALSE);// 是地市工号
//塞入角色信息
ISecRoleSV sv = (ISecRoleSV) )erviceFactory getService (SecRoleSV class) IBOSecRoleValue[] secRoles = sv.getSecRoleValues( orgStaffOperValue.getOperatorId(), orgStaffOperValue.getOrganizeId());
List roleList = new ArrayList ();
if (null!= secRoles && secRoles.length >0)
{
for (int i =0; i < secRoles.length; i ++)
{
roleList.add(secRoles[i].getRoleId());
}
}
user.set ( Constants.ROLE _ LIST, roleList);
 
系统管理实现的主要功能有三个:用户管理、权限管理和密码修改。其中只 有系统管理员才有用户管理和权限管理的权力,所有的用户都能进行密码修改。 如图 5-1所示:
 
图 5-1 系统管理
 
用户权限管理的核心代码:
//加载角色详细信息
function loadRoleDetail()
{
document.getElementById (" ppdateBtn " .disabled — false;
document.getElementById p addBtn "disabled — false;
document.getElementByIdS" saveBtn ").disabled - false;
document.getElementById (" delBtn ".disabled — false;
var secRoleSearchResultTable -
g _ TableRowSetManager .get (" secRoleSearchResultTable");
var roleDetailForm — g_FormRowSetManager.get("secRoleDetailForm");
var selRoleId — secRoleSearchResultTable getValue(secRoleSearchResultTable getRow((
"ROLE _ID");
if (null == selRoleId || selRoleId =="")
{
//alert ("请在列表中选择一条角色! ”);
alert (g _ I18NMessage (" secframe _ role" , " sec _ role _ sel _ one _ role"));
return;
}
var cond — " roleId —" + selRoleId;
roleDetailForm.refresh (cond); / /刷新
}
用户管理主要实现的功能是是对用户的查看、新增、修改和删除操作。系统管 理员首先点击系统管理导航界面,点击【用户管理】就进入到图5-2所示的用户管 理界面,系统管理员可以对系统里所有的用户及用户的权限进行查看。点击【修 改】或者【删除】按钮,就可以完成对所选择用户的修改和删除操作。点击【新 建】按钮,即进入到图5-3的用户新增界面。在该界面系统管理员可以新增用户, 并设置新增用户的初始密码和权限。如图5-4所示的权限设置界面,系统管理员可 以通过该界面实现对新增用户权限的设置或者已有用户权限的修改。
 
 
图 5-2 用户查看
 
 
 
图 5-3 新增用户
 
 
图 5-4 权限设置
 
//更新角色
function updateRoleQ
{
document.getElementById ( addBtn "disabled = true;
document.getElementById (" saveBtn " .disabled = false; document.getElementById("delBtn").disabled = true;
varroleDetailForm = g _ FormRowSetManager.get (" secRoleDetailForm "); / /通过 g _ FormRowSetManager方法获得DBFrom数据集对象句柄.
roleDetailForm.setColEditSts (" ROLE _ NAME", true );//setColEditStsQ 为
Js对象FormRowSet提供的方法
roleDetailForm.setColEditSts (" ROLE _ TYPE", true );//根据列名设置列 的可编辑属性value = true(可编辑),false(不可编辑) roleDetailForm.setColEditSts (" REGION _ CODE", true); roleDetailForm.setColEditSts (" DOMAIN _ ID", true);
}
//新增角色
function addRole()
{
document .getElementById (" gpdateBtn ".disabled = true; document .getElementById (" iddBtn ".disabled = true; document.getElementById (" saveBtn ''.disabled = false; document.getElementById (" delBtn ".disabled = true;
var roleDetailForm = g _ FormRowSetManager.getS" secRoleDetailForm "); roleDetailForm.setEditSts (true^);
roleDetailForm.setValue ("ROLE _ ID","-1"); roleDetailForm.setValue (" ROLE _ NAME",""); roleDetailForm.setValue("ROLE_TYPE","");
roleDetailForm.setValue (" REGION _ CODE",""); roleDetailForm.setValue ("DOMAIN _ ID","");
}
//删除角色 function delRole() {
var list = new Array();
var roleDetailForm = g _ FormRowSetManager.get ("secRoleDetailForm"); var delRoleId = roleDetailForm.getValue ("(OLE _ ID");
list. push ( roleDetailForm );
var msg = saveRowSet( < = request getCont"xfPath( .
% > /business / com.ai.seqframe.sysmgrweb.SecRoleAction ? action = delRole & delRoleId ="+ delRoleId, list);
var retVal = msg.getValueByName("(etVal");if ( retVal == "0")
{
II alert (”角色信息删除成功!");
alert (g _ (18 NMessage (" secframe _ role" , " sec _ role _ del _ ok")); roleDetailForm.setEditSts ( (alse );
roleDetailForm.newRow();
g _TableRowSetManager.get("secRoleSearchResultTable").refresh(condition); }
else
{
alert (msg.getValueByName (" retMsg "));
}
}
 
5.2人事管理功能实现
人事管理实现的主要功能有六个:人员档案管理、部门管理、人员考评管理、 人员调动管理、人员培训管理和人员奖惩管理。人事管理的导航界面如图5-5所示
 
 
图 5-5 人事管理
点击导航页中的【人员档案管理】即进入到图 5-6 所示的界面,在该界面上用 户可以实现对员工信息的查看、查询、添加、编辑及删除等操作。单价选中的某 一员工的信息,就可实现对该员工信息的查看。比如,单击员工“王小丫”的信 息,则可对员工“王小丫”的详细信息进行查询,如图 5-7 所示。在该界面用户卡 可以查看“王小丫”的所有个人资料,包括所在部门、员工编号、民族等信息。
 
 
图 5-6 人员档案管理
 
 
 
图 5-7 员工信息查看
 
单击图5-6 界面的【添加员工】,可以实现对员工信息的新增。如图5-8 所示的 员工新增界面,用户需要手动录入员工的个人信息,包括员工的姓名、性别、出 生日期、录用日期等详细的档案资料,员工的编号系统会自动生成。录入完毕后 点击【保存】,即可完成对员工信息的新增。
 
 
图 5-8 员工新增
 
本系统除了能对公司现有的员工进行管理外,还设置了离职员工管理的功能。 用户可以对已经离职的员工信息进行查询,或者彻底删除离职员工的信息或者恢 复复职员工的信息。如图 5-9 所示。
 
 
图 5-9 离职员工管理
 
员工调动信息界面如图 5-10 所示。在该界面,用户可以实现对调动员工的增加、 编辑、删除等操作。还可以对员工的信息进行查询。选择查询的条件,输入查询 的关键字,即可对员工的信息进行查询。单击【添加】,即可实现对员工的调动, 如图 5-14 所示。
 
图 5-10 员工调动
 
在员工调动管理的新增界面,用户可以通过查询查找到需要调动的员工的信 息,再设置该员工工作调动的具体的细节。点击【新增】即可进入下一个员工调
动的部署。
 
图 5-11 新增员工调动信息
 
5.3合同管理实现
合同管理主要实现功能有三个:合同信息的管理、合同的审批和统计与分析 如图5-12 所示。
 
 
图 5-12 合同管理
单击【合同信息】,进入到图5-13所受的合同信息管理界面。在合同信息管理 界面可以查看合同的详细信息,如合同编号、合同分类、合同甲方、合同乙方等。
 
在该界面还可实现对合同信息的新建等操作。
 
 
图 5-13 合同信息管理
合同统计与分析主要实现的功能是对合同信息的汇总,如图 5-14 所示。用户可 按照应收款、应付款信息进行分类汇总,还可将汇总的信息打印或导入到EXCEL 中。
 
 
图 5-14 合同信息汇总
 
5.4客户管理实现
客户管理主要实现的功能有两个:客户基础信息的管理和客户数据的统计与分 析。如图5-15 所示。
 
 
图 5-15 客户管理导航
单击【客户基础资料】,进入到5-16所示的客户信息管理主界面。在该界面用 户可以查看客户的信息,还可以修改、删除客户的信息。点击【新建】,即可以完 成对客户的新增。如图5-17 所示,用户需要对新增用户的信息进行录入,包括客
户的编号、名称、银行账号等基本信息。
 
图 5-16 客户管理
 
 
 
图 5-17 客户信息新增
 
5.5项目管理实现
项目管理实现的主要功能是对项目信息的管理和项目进度的监控。如图 5-18 所示:
 
 
 
图 5-18 项目管理导航页
单击【项目信息管理】,进入如图 5-19 所示的项目信息管理主界面,在该界面 用户可以查看项目信息、新增项目信息、修改或者删除项目信息。
 
图 5-19 项目管理
 
5.6工资管理实现
工资管理主要实现的功能有六个:工资帐套管理、员工帐套设置、工资表管理 计时工资、计件工资及月末处理,如图5-20所示。
 
图 5-20 工资管理导航页
如图5-21所示,在工资帐套管理中,用户可以查看系统中已有的帐套工资项目 也可以新增、编辑或者删除帐套的工资项目。
<2011±> >帐套的壬竇
帶増加项目© 風编辑项目©)旦刪赊项目⑤ 吐退出铠址)
 
图 5-21 工资帐套管理
点击【增加项目】,则进入到5-22所示的工资帐套设置界面。用户需要对新增 加的工资套帐项目进行设置。
 
5.7公告管理实现
公告管理主要实现三个功能:公告的发布、审核和查看。只有相关的公告维护 人员才能发布公告,公告发布前需要相关的 领导进行审核,待审核通过后方可发 布出来。系统的所有用户都可以查看公告信息。如图 5-23 所示:
 
用户可以添加公告的标题及内容,如图 5-24 所示。
 
图 5-24 公告管理
 
5.8本章小结
本章主要是对系统的主要模块的实现,阐述了系统管理、人事管理、合同管理、 客户管理、项目管理、工资管理的核心程序及其运行结果,验证了系统各部分功 能。
第六章 企业信息管理系统的测试
系统测试是软件投入运行前最重要的一个环节,它是保证软件的质量,提高 软件的性能和效能的重要途径。测试人员根据用户的需求分析、开发的规格说明、 业务流程等设计一批测试用例,再使用这些测试用例去测试程序,以便发现软件 运行过程中的问题,以便能及时发现软件的缺陷,减少系统缺陷发生的概率。系 统测试的最直接的目的是尽可能的发现软件的错误,通过有限的时间和测试次数 尽可能错误,分析产生错误的原因和趋势,以便更好的解决这些错误。但是系统 测试不仅仅是发现错误,测试最重要的任务是发现软件和用户需求的匹配度,及 时处理发现的问题提供软件的可用性。
6.1测试原则
1.系统测试的数据应该尽可能多样化,包括正确合理的数据和不合理的数据, 以及各种特殊的、边界情况。
2.系统测试应该对输入数据的结果做出预估,并对输出的结果做出全面的检 查,既要检查它是否做了应该做的事情,还要检查它是否做了不应该做的事情。
3.长时间保存测试的各个用例、测试文档。
4.测试要严格按照测试的计划 ,避免由于随意性引发的错误。
5.要充分重视测试过程的错误集群现象,出错率较高的模块,就可能发现更多 的错误,应该进行重点和反复的测试。
6.测试用例要精心设计,用例要包括输入数据的描述、测试的步骤和预期的 输出结果。
7.软件测试的时间越晚发现系统缺陷所需要付出的成本就越大,因此软件测 试要尽早而且不断地进行。
8.测试用例要不断的更新,以保证测试用例的有用性。
6.2测试目标
1.测试的目的不仅仅是发现问题,而是为了更好的分析和解决问题。
2.尽可能发现更多的错误,降低系统的风险。
6.3系统测试的内容
本系统测试的内容包括 UI 测试、性能测试、功能测试和文档测试。
631 UI测试
UI测试又称为界面测试,主要是指系统中与用户交互的界面部分,如菜单、 控件等进行测试。界面测试的主要内容包括;
1.用户界面的风格是否统一
2.界面的色彩搭配是否合理
3.界面中文字描述是否准确,字体类型和大小是否合理
4.控件的设置是否符合用户的使用习惯
5.界面中是否存在错别字
6.界面上的按钮是否能完成正常功能,是否有出错提醒
7.图片是否能正确显示
6.3.2性能测试
性能测试的目的是为了验证系统是否达到了用户的需求,是否有较高的性能。 测试的主要内容包括系统的响应时间、系统的并发性等。本系统性能测试的指标 有:CPU利用率、内存消耗、磁盘、并发最大用户量、内存使用、数据库指标、 响应时间、并发查询响应时间。
业务指标
表 6-1 业务指标
指标 用户数
CPU使用率 100
平均响应时间 20
平均响应时间 350
并发查询 20
并发最大用户查询 350
 
数据库指标
表 6-2 数据库指标
指标
数据库数据缓存命中率 >90%
库缓存命中率 >95%
磁盘排序 <10%
数据库热点块等待 <15%
数据库锁等待 <15%
每次数据文件读的时间 <30ms
 
主机性能指标
表 6-3 主机性能指标
指标
CPU利用率 30%-80%
内存消耗 0.08
磁盘 0.3
并发最大用户量 350
内存使用 300MB-650MB
 
6.3.3功能测试 功能测试的内容涉及本系统七个主要模块的主要功能,具体的内容如下: 1.系统中的输入功能,包括正确的输入和错误的输入,检验当输入不合理时, 系统是否有提醒 2.系统的查询功能,各种查询条件是否能正确完成查询功能,能否正确的显示 查询结果,对于未查询到的数据是否有提示
3.系统的删除功能,是否有删除提示,删除数据后是否会对系统其它模块的功 能产生影响
4.系统的按钮和控件是否正常工作
5.系统的登录功能,当用户登录成功后能否验证用户的角色,者用户名、密码 输入不全或者有误时,是否有提示。
功能测试的部分页面如下:
(1)用户登录功能的测试
 
 
 
图 6-1 登录界面
(2)密码修改功能的测试
所有用户都可以对自己的密码进行修改。用户点击导航页的【密码修改】即进 入到如图6-2所示的密码修改界面。用户输入用户名、当前密码及新密码后,按【保 存】按钮,即可完成密码的修改。
 
 
图 6-2 密码修改
(3)部门管理功能的测试 部门管理如图6-3所示,用户可以实现对部门信息饿查询、新增、修改和删除 等操作。
 
 
图 6-3 部门管理
(4)工资管理功能的测试
如图 6-4所示,在员工的工资帐套管理界面,用户可以实现对员工工资的查询 新增、删除等操作。
 
总计:
图 6-4 员工帐套设置 在工资表管理模块,用户可以实现对具体的某一年某一个月的工资情况进行查 询,如图 6-5 所示。
 
-选择要打开哪个月的工资-
年 I月I 是否结帐
 
 
 
6.3.4文档测试
文档测试的主要任务是系统开发过程中的文件进行检查,检验文档的正确性。 文档测试的主要内容是对系统开发阶段的各种文档和用户的产品说明书等进行测 试,例如测试开发阶段的各种文档的内容是否准确、完整,语言描述是否清晰; 用户的产品说明书表达是否简洁、易懂,语言是否规范,是否符合用户的阅读逻 辑,系统是否达到了用户的需求。
6.4系统测试结果
UI 测试结果:用户界面友好、易操作,达到了节目设计的目标。
性能测试结果:系统的性能良好,能够实现多用户的并发使用,达到了性能 测试的要求。
功能测试结果:系统的各个功能模块均能正常使用,当输入和输出有误时, 系统都会有正确的提示,系统的按钮和各个控件都能正常工作,达到了功能测试 的要求。
文档测试结果:系统的各个文档正确、完整,语言描述及逻辑均符合用户的 需求,达到了文档测试的要求。
测试结果表明,系统界面友好、易操作,系统的性能稳定,与用户的需求基 本吻合,达到了本次系统的设计目标。
6.5本章小结
在本章中,首先介绍了系统测试的相关理论,然后对系统进行了 UI 测试、性 能测试、功能测试和文档测试,最后给出了系统测试的结果。系统测试的结果表 明本系统达到了设计的目标。
第七章 总结与展望
7.1总结
本文以 SaaS 模式下企业信息管理系统的开发为背景,主要对 SaaS 模式下 中小企业信息管理系统的研究与实现。本文首先介绍了本课题研究的背景、意义 及研究的意义SaaS的应用现状,详细介绍了目前国内外企业信息管理系统的研究 现状,其次重点阐述了有关SaaS的概念、SaaS的模式、SaaS平台的优势和特点 以及在SaaS平台下企业信息管理系统的特点,然后在SaaS软件设计方式指导下, 使用 SaaS 的软件开发工具对企业信息系统进行构建,在实现过程中首先研究了企 业信息化管理系统的需求,在此基础上,设计了 SaaS 多租户单实例的应用架构, 完成了对平台的功能模块设计和数据库的设计,给出了系统实现的部分界面及系 统测试的结果。
本文的内容如下:
(1) 探索在 SaaS 服务模式下企业信息管理系统的特点。介绍了 SaaS 概念、 模式、特点等基础知识,重点阐述了 SaaS 服务模式的特点以及在该模式下的企业 信息管理系统应当具有什么样的特点、能够提供什么样的服务。
(2) 根据 SaaS 租赁模式的特点,分析了本系统的功能性需求需求、性能需 求及安全需求。
(3) 阐述了系统设计的原则和目标,完成了对系统的总体架构的设计、功能 模块设计、数据库设计以及系统安全的设计。重点阐述了系统在应用安全、数据 安全及网络安全上的具体设计。
(4) 完成对SaaS平台下企业信息系统的界面的设计及实现,本系统主要实 现了系统管理、人事管理、项目管理、合同管理、客户管控、工资管理和公告管 理等功能。
(5) 阐述了平台测试的相关理论,完成对开发的企业信息系统的界面测试、 平台测试和性能测试,给出了测试的结果。
7.2展望
本文还需要进一步探讨的问题:
(1) SaaS 平台最重要的问题就是如何保障平台的安全性问题, SaaS 的租赁 用户通过互联网来访问 SaaS 平台,互联网是连接用户和软件的介质,如何更好地 保障互联网的安全是本文还需进一步研究的领域。
(2)数据库有待进一步优化,以解决大量并发用户访问的问题。
(3) SaaS应用的关键就是实现多用户并发使用和平台运营低成本之间的平 衡,随着SaaS用户数量的不断扩大,如何保证系统在扩展的同时保持运营的低成 本是本文还需进一步研究的问题。
致谢
历时一年我终于完成了毕业论文,在整个论文写作的过程中遇到了很多的障 碍和困难,在此我要感谢所有在我完成论文的过程中给予过我帮助的人。首先, 我要感谢我的导师杨元杰老师,他不厌其烦地解答我的疑问、帮助我修改论文, 正是在杨元杰老师的细心指导下,我才得以顺利完成毕业论文。其次我要感谢我 的同伴,他们在初期给我提供了大量的资料和素材,同时在论文后期编辑和排版 过程中,给我提供了技术支持。再其次,感谢论文中引用文献的各位学者,没有 他们的启发和参考,就不可能有这样一篇毕业论文。最后,我要感谢一直在身边 支持我的家人和其他所有帮助过我的朋友们。
参考文献
[1]张雷,扈飞.软件即服务应用框架中配置的设计与实现J].计算机系统应用,2009,6: 27-32.
[2]许四平.SaaS软件即服务模型研究[J].硅谷,2009,(04).
⑶洪志,舒轲,林冬捷.中小企业ERP的SaaS解决方案研究[J].商场现代化,2009,17: 019.
[4]李新明,廖貅武,刘洋.基于SaaS模式的服务供应链协调研究J].中国管理科学,2013, 21(002): 98-106.
[5]Davis J. Teach Yourself VISUALLY Salesforce. com[M]. Wiley. com, 2013.
[6]莫展宏.国内外SaaS模式的发展现状分析[J].商场现代化,2012,7:010.
[7]方东.SAAS与中国中小企业信息化J].科技信息(科学教研),2007,14:28-29.
[8]赵树璋.SaaS架构现状及发展趋势[J].湖北省通信学会,武汉通信学会2009年学术年 会论文集, 2009.
叨 庄胡蝶.SaaS模式下的中小企业信息化应用研究J].中国科技纵横,2013 (17):71-72.
[10]马立林,李红.基于RBAC的SaaS系统的权限模型[J].计算机应用与软件,2010,27(4):
[11]张立双. 什么是 SaaS[J]. 信息系统工程, 2006, 10: 24-28.
[12]叶伟等著.互联网时代的软件革命SaaS架构设计[M].北京:电子工业出版社.2009.1:26-12&
[13]Dan Ma,Abraham Seidmann.The Pricing Strategy Analysis for the “Software-as-a-Serviee”, Business Model[J].Grid Economics and Business Models,2008(8): 103-1 12
[14]耿冰,于修理.SaaS与传统软件的比较研究[J].沈阳师范大学学报,2009,27(1): 84-86.
[15]Hall Thomas W.Is SOA superior? Evidence from SaaS finaneial statements[J].Joumal of Software,2008(3):l-10.
[16]董明霞.一种新的竞争情报服务模式[J].现代情报,2009,29(8).
[17]Gene K Landy.SaaS Custome rAgreement[J].The IT Digital Legal Companion.2008(8) : 905-924
[18]Wang Bin,Huang HeYuan,Liu Xiao Xi,Xu Jing Min.Open Identity Management Framework for SaaS Ecosystem[C].Intemational Conferenece on e-Business Engineering,2009:512-518.
[19]吴孟.真实的SaaS: SaaS与ASP在本质上没有多大的区别[J].经理人,2007(10):98-98.
[20]边散.未来十年属于SaaS[M].网络世界.2007.8.13:1.
[21]Thomas Kwok,Ajay Mohindra.Resource Caleulations with Constraints,and Plaeement of Tenants and Instanees for Multi-tenant SaaS Applications[J].Leeture Notes in Computer
Seienee,2008(5):133-136.
[22]叶伟.互联网时代的软件革命—— SaaS架构设计[M].电子工业出版社,2009:63-65.
[23]赵进.SaaS成熟度模型浅析[J].程序员,2008 (8): 52-54.
[24]赵斌.SaaS架构成熟度模型Level3在进销存系统中的应用研究[D].电子科技大学, 2009.
[25]昌中作, 徐悦, 戴钢. 基于 SaaS 模式公共服务平台多用户数据结构的研究 [J]. 计算机 系统应用, 2008, 2(7).
[26]焦玉昌.SaaS应用中的服务集成方法研究[D].山东大学,2008.
[27]管永明. 多租户软件中动态个性化配置与定制技术研究 [D][J]. 山东: 山东大学, 2009.
[28]邓伟华.SAAS应用的数据模型研究与设计[J].电脑编程技巧与维护,2009, 8: 5-6.
[29]昌中作, 徐悦, 戴钢. 基于 SaaS 模式公共服务平台多用户数据结构的研究 [J][J]. 计算 机系统应用, 2008, 2(7). .
[30]黄桂梅.SaaS的运营模式和定价策略研究[D].西安电子科技大学,2010.
[31]张水坤.SaaS模式的设计与研究[J].科技创业月刊,2007, 11: 188-192.
[32]周相兵, 佘堃, 马洪江, 等. 一种基于云计算的 SaaS 组装方法研究 [J][J]. 小型微型计算 机系统, 2010, 31(10): 1942-1953.
[33]Li Qin,Bing Li,Wei-Feng Pan,Tao Peng.A Novel Method for Mining SaaS Software Tag via Community Detection in Software Serviees Network[J].CloudComputing,2009(11):312-321.
[34]曹薇,张乃洲.企业SaaS应用分析[J].计算机时代,2010,2:63-67.
[35]童恒庆,梅清.基于.NET平台的B/S系统开发框架的研究[J].微机发展,2004,14(8):
61-66.
[36]温昱.软件架构设计[M].电子工业出版社,2007.
[37]袁志俊,夏红霞.基于SaaS模式在线软件系统开发方案的研究[J].计算机工程与设计, 2009, 30(11): 2714-2717.
[38]Yong Zhang, Shijun Liu, Xiangxu Meng. GridSaaS: A Grid-enabled and SOA-based SaaS Application Platform. 2009 IEEE International Conference on Services Computing.
[39]A. Konary, S. Graham, and L. Seymour, “The future of soft-ware licensing: Software licensing under siege,” International Data Corporation, White Thesis, Mar. 2004: 89~90.
【本文地址:https://www.xueshulunwenwang.com//guanlilei/gongshangguanli/xixinguanli/5919.html

上一篇:某电力公司电网工程信息管理系统的设计与实现

下一篇:涉密文件信息管理系统研究

相关标签: