我国唯一的项目管理信息化门户网站,国内项目管理软件资讯服务提供商

登录 注册
当前位置:首页 > 科研信息化 > 正文

浅谈基于B/S架构下的科技项目管理系统

2018-12-17 来源:《青海科技》 作者:西部矿业股份有限公司 马坚
       摘要:本文分析了青海科技项目管理系统的模式,利用SQLServer和ASP技术设计并实现了一个基于Http协议的网上项目申报系统,重点阐述了系统的结构特点和关键技术。
       关键词:B/S架构;科技项目;管理系统
         1引言
       传统的项目申报流程是项目申报者手工填写项目申请书,然后送交管理部门,再由管理部门将数据录入计算机。由于申请者与管理部门往往不在同一个地方,这种模式不可避免地会带来人力资源的浪费。后来青海科技项目经过改进使用了C/S模式系统进行申报,但C/S模式只能在局域网环境下使用,所以没有从根本上解决人力资源浪费的问题,因此开发一套基于B/S模式的项目申报系统十分必要。
       2模式的比较与选择
       2.1B/S模式
       B/S模式具有一些优点,比如用户无须安装即可使用等,但对于网上项目申报系统来说也有其缺点。
       (1)B/S模式的安全性太差。用户所有输入的信息在互联网上都以明文的形式传输,容易造成信息泄露等安全问题。
       (2)B/S模式必须在线工作。也就是说,申报者必须在能上网的计算机上才能够填写申报数据,不支持脱机工作方式,而实际情况是申报者往往是脱机填写数据,只有在上报的时候才联网传送数据。
       2.2传统的C/S模式
       C/S模式在局域网环境下具有一些优势,比如安全问题等,但是对于项目申报系统也有一些无法弥补的缺点。
       (1)C/S模式只能在局域网环境下使用,人力资源浪费太大。
       (2)C/S模式下客户端运行时直接对数据库进行操作,当客户端较多时会影响系统的运行效率,因此只适合小规模用户。经分析可以得出结论,不管采用传统的C/S模式还是B/S模式都无法满足网上项目申报系统的需求。但是B/S模式下的缺点可通过技术手段解决。因此本文设计了基于B/S模式的、符合青海科技项目申报流程的管理系统。
       3系统设计与实现
       3.1总体设计
       结合青海省科技项目申报的具体情况,对其进行分析,得出以下几个设计要素。
         3.1.1实施目标
       (1)信息共享、开放透明。
       (2)提供“多级”科技项目管理模式。
       (3)用各种文档记录科技项目管理过程中的全部活动。
       (4)实现领导的辅助决策功能。
       3.1.2主要功能主要功能有项目申报、项目评审、审批流程、合同管理、进度跟踪、经费管理、项目验收、后评估以及专家管理、用户管理、档案管理等。
       3.1.3主要技术难点主要技术难点有数据安全、在线Office编辑、多用户操作、下载打印文档为不可编辑并带安全条码的PDF格式文件等。
       根据以上要素设计出系统结构图如下:
       3.2主要功能模块的设计与实现
       3.2.1系统数据模块数据主要分为单位基本信息、项目基础信息、项目详细内容(Word版)等。其中单位基本信息与项目基础信息的数据保存比较简单,即通过Web存储方法由申报人员填写保存到SQLServer数据库中,而项目详细内容是通过在线版的Word将文档保存到服务器。其优点有:
       (1)对应多个科技项目无需开发多套模板,减少开发用时。
       (2)数据格式统一,实现了数据编辑的简便、准确。
       (3)可防止SQL恶意攻击,即便是数据库遭受攻击,项目内容也不会丢失更不会被窃取。
       (4)可在无网络条件下在单机的Word中编辑,有网络时只需复制粘贴到在线版的Word中即可。
Word数据上报的部分代码如下:
function saveFileToUrl () {
var fName = trim(document.all ("filename") .value);
var filetitle = trim(document.all ("filetitle") .value);
if(filetitle.length == 0) { alert (“请输入标题!”);
document.all ("filetitle") .focus(); return false; }
var result, filedot;
if(IsFileOpened) {
switch(TANGER_OCX_OBJ.doctype) {
case 1:
fileType = "Word.Document";
filedot = ".doc";
break;
case 2:
fileType = "Excel.Sheet";
filedot = ".xls";
break;
case 3:
fileType = "PowerPoint.Show";
filedot = ".ppt";
break;
default:
fileType = "unkownfiletype";
filedot = ".doc";
}
var nNamne ;
if (fName == "") { var testDate = new Date(); var
fName = testDate.format ("YYYY- MM- dd hh.mm.ss") +
filedot; nNamne=fName; }
retHTML = TANGER_OCX_OBJ.saveToURL(savecode,
"EDITFILE", <input type=file id=upLoadFile 中的 id
"savet=1&fileT=" + fileType
setFileSaved(true);
opener.window.location.href = opener.window.location.
href;
alert (“保存成功”);
if(window.opener) {window.opener.location=window.
opener.location+nNamne};
}
else {
alert (“不能保存,文档为空!”);
}
}
       3.2.2 项目审批及管理模块 该模块包括县 / 区、州/ 市、项目受理中心、专家模块等。审核人员通过用户名、密码进行身份识别进入系统后,由系统自动搜索定位到管理权限内的模块及数据。审批简单、易操作,界面如下:
       3.2.3 项目查询统计管理模块 该模块主要是为项目管理者开发的,同时也便于申报单位对项目进行管理。用户进入系统并填写项目的相关信息后,可通过输入系统所设置的关键信息来查询该项目的基本信息,通过基本的 SELECT 语句实现相关的查询。界面如下图:
       3.2.4 下载打印模块 该模块可将数据库信息转换为不可修改的 PDF 文档,同时加入了具有唯一性的识别条形码,确保存档的纸制数据真实可靠。
       转 PDF 部分代码如下:
public void WordConvert (string _docFilePath, stringpdfSavePath)
{
string fileStr = _docFilePath;
string filename = System.IO.Path.GetFileName
(fileStr );
string extension = System.IO.Path.GetExtension
(fileStr );
string fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension (fileStr );
string docFilePath = _docFilePath;
string _psFilePath = ReplaceFileSuffix (_docFilePath,"ps");
string _pdfFilePath = ReplaceFileSuffix ( _doc FilePath, "pdf");
string _pdfFilePath = pdfSavePath;
string _strJobOptions = "";
string logFilePath = _pdfFilePath.Substring (0,_pdfFilePath.Length - 3) + "log";
Microsoft.Office.Interop.Word.ApplicationClass word =
newMicrosoft.Office.Interop.Word.ApplicationClass ();
Type wordType = word.GetType ();
Microsoft.Office.Interop.Word.Documents docs =word.Documents;
Type docsType = docs.GetType ();
object objDocName = docFilePath;
Microsoft.Office.Interop.Word.Document doc =
( Microsoft.Office.Interop.Word.Document ) docsType.In vokeMember ( "Open", System.Reflection.BindingFlags.
InvokeMethod, null, docs, new Object[] {objDocName, true,
true } );
try
{
Type docType = doc.GetType ();
object printFileName = _psFilePath;
docType.InvokeMember ("PrintOut", System.
Reflection.BindingFlags.InvokeMethod, null, doc, new ob ject 〔〕 { false, false, Microsoft.Office.Interop.Word.Wd PrintOutRange.wdPrintAllDocument, printFileName } );
ACRODISTXLib.PdfDistillerClass pdf = new
ACRODISTXLib.PdfDistillerClass ();
string psFilePath = _psFilePath;
string pdfFilePath = _pdfFilePath;
string strJobOptions = _strJobOptions;
pdf.FileToPDF ( psFilePath, pdfFilePath,strJobOptions);
}
catch (Exception ex)
{
this.DoError ( "Messageex:" + ex.Message + "StackTrace:" + ex.StackTrace);
}
finally
{
if (doc != null )
{
((_Document) doc) .Close(ref doNotSaveChanges,ref Missing, ref Missing);
doc = null;
}
if (word != null )
{
((_Application) word) .Quit (ref Missing, refMissing, ref Missing);
word = null;
}
}
       4 结论
       本设计以 ASP、C#、.NET 为主要工具,结合青海科技项目申报的实际情况,针对传统 C/S 结构科技项目管理系统效率低、代价高、可移植性差且管理难度大的缺陷使用 ASP 数据存取技术实现对 SQL 数据库的操作,实现了基于 B/S 架构的青海科技项目申报系统的研发。该系统基本实现了项目申报、项目统计、数据管理、报表生成及输出 PDF 等主要功能,实现了青海省科技项目申报的信息化管理,大大提高了科技项目管理、申报等工作环节的运行效率。(本文2011年发表于《青海科技》) 
       参考文献:
       [1] 庞杰. 基于 B/S 体系结构的 web 数据库技术及应用[D]. 北京:石油大学, 2001.
       [2] 陈永强,谢维成,李茜. ASP 数据库开发经典实例精解[M].北京:机械工业出版社, 2006.
       [3] 微软公司. ASP. NET 安全应用程序开发[M]. 詹文军,王新程,
译.北京:清华大学出版社, 2003.
 
分享到:

免责声明:
  1、项目管理信息化网发布的所有资讯与文章是出于为业界传递更多信息之目的,并不意味着赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请浏览者仅作参考,并请自行核实相关内容。
  2、本站部分内容转载于其他网站和媒体,版权归原作者或原发布媒体所有。如文章涉及版权等问题,请联系本站,我们将在两个工作日内进行删除或修改处理。敬请谅解!

延伸阅读:

more>

会议活动

more>

公开课

more>

PMO

Copyright © 2021 项目管理信息化网 版权所有 京ICP备17062359号-9 如转载本站文章,请注明原作者和原发布媒体

本着互联网分享精神,本站部分内容转载于其他网站和媒体,如内容涉及版权等问题,请联系本站进行删除或修改处理

客服电话:010-89506650 89504891 非工作时间可联系:18701278071(微信) QQ在线:574888227

新闻与原创文章投稿:tougao#cpmta.com 客服邮箱:info#cpmta.com(请将#换成@)

我国唯一的项目管理信息化门户网站,国内项目管理软件资讯服务提供商,隶属卓橡公司

项目管理信息化微信公众号

PMO大会微信公众号