科研管理系统 计算机毕业论文.doc
扬 州 市 职 业 大 学毕 业 设 计 说 明 书设计(论文)题目:科研管理系统系 别: 计算机科学系 专 业: 06网(1) 姓 名: 学 号: 0605020110 指导教师: 完成时间: 2009-5 目 录前 言1第一章 方案论证31.1 经济可行性31.2 技术上的可行性31.3 法律可行性31.4 使用方面的可行性31.5 安全性4第二章 需求分析52.1 系统设计思想52.2 系统功能分析5第三章 科研管理系统总体设计73.1系统设计流程图说明73.2 技术总体目标7第四章 科研管理系统实体设计94.1登录窗体设计94.2 科研管理系统设计144.3具体分项设计17第五章. 软硬件调试及结果分析335.1界面测试335.2状态测试技术335.3软件缺陷的原则34结 论35致 辞37参考文献3838摘 要本论文以大学的科研管理系统为背景,运用到的软件有ASP和SQL server。科研管理系统是典型的信息管理系统(MIS),它能够实现整体规划教学资源,评估教学质量,制定教学计划,检查教学进度。给学校的教务人员管理教务工作提供了极大的方便。论文主要论述了信息系统开发的基本原理,结构,方法和过程。本文详细阐述了系统分析、需求分析、概要设计、详细设计、系统实现以及系统维护等软件开发过程。力求将所学到的知识在信息系统开发中得以全面的应用,并使系统在实际的操作中能按照设计的要求安全有效正确的运行。关键词:科研管理,ASP,SQL server前 言信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,但是还有很多人由于对计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,随着信息技术在管理上越来越深入而且广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位都要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。随着Internet的迅猛发展,社会已经进入了网络时代。电子商务、网上购物、网上图书馆、网上调查、网上教学等已经确确实实地存在于我们身边,Internet正在改变着一切,它使世界变得越来越“小”,也使社会竞争更加平等。随着教育的普及,学校也在不断的提高教学质量和学校管理质量,而学校管理就是对教师在校情况的管理,重要的是教师信息的管理以及信息的发布。教师的信息方便学生进一步的了解教师各方面的情况,包括教师的学历、毕业院校、教龄、职称以及其他一些基本信息,并且也有助于学校对教师的统一管理。由于学校和教师是一对多的关系,因此,教师信息管理是一个工作量大又繁杂的工作,以前这些工作都是采用人工管理,这样不仅浪费了大量的劳动力,而且用人工操作很容易产生错误,造成录入信息的不准确。而科研管理系统为学校管理大量而又复杂的学籍数据的工作提供了方便,不仅节约了劳动力,提高了学校工作的效率,而且也由于信息是由电脑进行录入的,增加了录入信息的可靠性。随着教育信息化的不断深入,科研管理系统将会不断的被学校所青睐。科研管理系统不但可以提升学校的工作效率,辅助学校管理者进行日常的教育科研管理工作,而且还可以提升学校整体的管理水平和学校的社会经济效益,因此很多学校将会加入到校园数字化行动中来。第一章 方案论证1.1 经济可行性目标系统开发需求比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。而且,目标系统并不是十分的复杂,开发的周期较短,人员经济支出有限。当系统开发完实际运行后,将很大程度上提高工作效率,在为使用者带来便利的同时,也为系统的进一步推广创造了条件。并且最重要的一点是该软件的开发可以给我们对系统的开发有个全面的认识。从经济角度考虑,此信息系统开发可行。1.2 技术上的可行性本程序采用常规的数据库管理方法,能实现数据管理的基本功能,如对数据的增加、修改、删除。1.3 法律可行性本系统的开发,将不会侵犯他人、集体和国家的利益,不会违反国家政策和法律。1.4 使用方面的可行性整个系统由于是自行开发,自行使用,所以系统本身不存在法律上的版权争议。在开发过程中也充分考虑科研管理的流程和人员的易操作性等。1.5 安全性在科研管理系统的模型中采用网络技术,还应该考虑网络安全方面即主要与涉密科研数据有关的信息安全。项目申报、评审采用网络化的管理,这样容易受到计算机病毒的攻击,一旦入侵网络窃取科研项目的核心技术资料,将会造成技术泄密和知识产权流失。而数据库SQL Server2000提供了对数据安全性的一整套比较完整的管理机制,即对用户的权限验证采用双重验证的机制:登录身份验证、用户帐号角色以及所允许的权限。第二章 需求分析用户的需求具体体现在各种信息的提供,保存,更新,删除和查询,这就要求数据库结构能充分满足各种信息的输出和输入实现科研管理人员对数据的加工、管理、集成等的全部功能。收集基本数据,数据结构处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。2.1 系统设计思想采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。系统应满足学校的需求,例如教学信息的录入、查询、更新等。系统应具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。2.2 系统功能分析权限功能:系统具有动态的权限分配功能,可按用户权限对用户进行分组。可分为一般用户,管理员用户。一般用户只能对自己范围内进行相应修改,查询及删除,管理员用户能查询,修改,删除所有用户信息。 录入功能:为一般用户提供自己的录入功能。 查询功能:为一般用户提供自己的查询功能,可查询自己范围内的所有信息,为管理员用户提供所有用户的查询功能,可查询范围内的所有用户信息。 维护功能:为一般用户提供查询及相应的修改,删除功能,为管理员用户提供对所有用户信息的查询功能。 退出功能:结束并关闭系统。第三章 科研管理系统总体设计3.1系统设计流程图说明用户登录成功首 页添加新项目删除修改修改删除失败科研项目科研论文科研著作专利发明获奖项目成果鉴定组合查询个人信息管理登陆退出系统3.2 技术总体目标科研管理系统的技术总体目标是应用先进的计算机网络与数据技术为教学工作中的管理,提供稳定、安全、可靠的信息化服务,在具体技术上达到如下要求:(1) 先进性采用先进、成熟的计算机软硬件技术,保障系统能够最大限度的适应今后技术和业务发展的需要。软件结构应实现层次化、模块化、平台化的统一规范,同时采用先进的现代管理技术,以保证系统的科学性。(2) 可靠性保证本地备份数据和实时交易数据的一致性。(3) 高效性系统的设计要具有大规模的业务并发处理能力,数据的处理和传送也可采用批量处理的形式。(4) 可用性可用性包括系统正常情况下的可用性和系统发生改变时的可用性。正常情况下应用软件应安装简单、易于操作、界面友好,数据处理工作简单、方便、快捷。业务流程清晰,符合习惯,系统维护方便。(5) 可管理性可管理性包括正常情况下的可管理性和系统发生改变时的可管理性。可管理性指系统应具备对网络、数据库、应用等情况进行监控、管理;对系统自身和流经系统的信息、参数、文件进行统一的管理和控制。(6) 安全性安全性指系统具有数据传输的加密/解密、用户身份认证、权限确认、日志记录等安全控制功能。具体包括:数据保密性、传输安全性、访问安全性、安全审计、网络安全和系统安全等。系统安全性要求包括基于用户的系统操作权限控制、某些数据的加密保护、身份鉴别。第四章 科研管理系统实体设计4.1登录窗体设计用户登录模块功能:用户登录界面是用户运行系统出现的界面,运行index.asp,需要客户输入用户名,然后输入密码,密码显示为“*”。如果用户输入的密码不正确,那么客户将无法登录次系统并显示错误信息。如果客户成功的输入密码,就可以进入系统,自动跳转到主界面。代码:<%LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!-#include file="Connections/conn.asp" -><%Dim teacherDim teacher_numRowsSet teacher = Server.CreateObject("ADODB.Recordset")teacher.ActiveConnection = MM_conn_STRINGteacher.Source = "SELECT * FROM teacher"teacher.CursorType = 0teacher.CursorLocation = 2teacher.LockType = 1teacher.Open()teacher_numRows = 0%><%' * Validate request to log in to this site.MM_LoginAction = Request.ServerVariables("URL")If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode(Request.QueryString)MM_valUsername=CStr(Request.Form("username")If MM_valUsername <> "" Then MM_fldUserAuthorization="" MM_redirectLoginSuccess="indexframe.asp" MM_redirectLoginFailed="loginfail.asp" MM_flag="ADODB.Recordset" set MM_rsUser = Server.CreateObject(MM_flag) MM_rsUser.ActiveConnection = MM_conn_STRING MM_rsUser.Source = "SELECT name, pw" If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization MM_rsUser.Source = MM_rsUser.Source & " FROM teacher WHERE name='" & Replace(MM_valUsername,"'","''") &"' AND pw='" & Replace(Request.Form("userpw"),"'","''") & "'" MM_rsUser.CursorType = 0 MM_rsUser.CursorLocation = 2 MM_rsUser.LockType = 3 MM_rsUser.Open If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then ' username and password match - this is a valid user Session("MM_Username") = MM_valUsername If (MM_fldUserAuthorization <> "") Then Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value) Else Session("MM_UserAuthorization") = "" End If if CStr(Request.QueryString("accessdenied") <> "" And false Then MM_redirectLoginSuccess = Request.QueryString("accessdenied") End If MM_rsUser.Close Response.Redirect(MM_redirectLoginSuccess) End If MM_rsUser.Close Response.Redirect(MM_redirectLoginFailed)End If %><!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Transitional/EN" "http:/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http:/www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>扬州科技学院科研管理系统</title></head><body><form id="form1" name="form1" method="POST" action="<%=MM_LoginAction%>"> <p> </p> <p> </p> <table width="553" height="392" border="0" align="center" cellpadding="0" cellspacing="0" background="images/indexbg.jpg"> <tr> <td width="240" height="175"> </td> <td width="53"> </td> <td width="111"> </td> <td width="149"> </td> </tr> <tr> <td height="25"> </td> <td> </td> <td><label> <input name="username" type="text" id="username" size="12" /> </label></td> <td> </td> </tr> <tr> <td height="50"> </td> <td> </td> <td><label> <input name="userpw" type="password" id="userpw" size="12" /> </label></td> <td> </td> </tr> <tr> <td height="20"> </td> <td colspan="2"><label> <div align="center"> <input type="submit" name="Submit" value="确定" /> <input type="reset" name="Submit2" value="重置" /> </div> </label></td> <td> </td> </tr> <tr> <td height="122"> </td> <td> </td> <td> </td> <td> </td> </tr> </table></form> </body> </html><%teacher.Close()Set teacher = Nothing%>teacher.Close()Set teacher = Nothing%>4.2 科研管理系统设计科研管理系统主界面设计主界面indexframe.asp是科研管理系统的核心界面,插入框架,左侧框架是主界面的重要组成部分,插入一个一行一列的表格输入“欢迎您!”选择“应用程序”“绑定”“记录集(teacher)”里的“teacherid” 和“Session”里的“MM_username”, 拖动到“欢迎您!”下面。插入一个11行1列的表格,分别输入首页,科研项目,科研论文,科技著作,专利发明,获奖项目,成果鉴定,组合查询,个人信息,管理登录,退出系统,用户就可以自由的选择自己需要的服务。在右侧框架输入使用说明,就可以指导用户使用,如图所示。代码如下:<!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Transitional/EN" "http:/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><!- #include file="check.asp" -><html xmlns="http:/www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><style type="text/css"><!-body background-image: url();margin-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;.STYLE1 font-size: 60px.STYLE2 font-size: 12px.STYLE6 font-size: 14px-></style></head><body><table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td colspan="3"><div align="center" class="STYLE1"> <div align="center"><img src="images/logo.jpg" width="652" height="143" /></div> </div></td> </tr> <tr> <td width="8%"> </td> <td width="84%"><p class="STYLE2"> </p> <p class="STYLE6">使用说明:</p> <p class="STYLE6">4.3具体分项设计4.3.1科研项目设计此模块的作用是让教师直观的了解到自己所申报的项目的名称,负责人,所在部门,计划完成时间和科研项目的状态,并且及时根据自身情况对其晚出添加,删除,修改和批量删除。教师可在线申报,“科研项目”起初“状态”为“正申报”。属性:项目编号,项目名称,教师号,项目负责人,所在部门,计划完成时间,状态,修改,删除,批量删除,添加新项目。科研项目主页设计:插入一个一行一列的表格输入“添加新项目”,超链接到item_insert.asp,然后插入一个2行9列的表格,在第一行中分别输入项目编号,项目名称,教师号,项目负责人,所在部门,计划完成时间,状态,修改,删除。在第二行的前7列分别插入“应用程序”“绑定”“记录集(teacher)”里的“Recordset1.itemno”, “Recordset1.itemname”, “item.teacherid”, “Recordset1.name”, “Recordset1.dept”, “Recordset1.enddate”, “Recordset1.state”。 item_list.asp代码:.STYLE4 color: #FF0000</style></head><body><p align="center" class="STYLE3">浏览所有科研项目<span class="STYLE2">(按项目编号降序排列)</span></p><table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><div align="right"><a href="item_insert.asp">添加新项目</a></div></td> </tr></table><form id="form1" name="form1" method="post" action="item_del.asp"> <hr /> <% If Not Recordset1.EOF Or Not Recordset1.BOF Then %> <p align="center"> 记录 <%=(Recordset1_first)%> 到 <%=(Recordset1_last)%> (总共 <%=(Recordset1_total)%>)</p> <table width="94%" border="0" align="center" cellpadding="0" cellspacing="1" class="thin"> <tr bgcolor="#CCCCCC"> <td width="4%"><div align="center">项目<br /> 编号</div></td> <td width="30%"><div align="center">项 目 名 称</div></td> <td width="8%"><div align="center">教师号<br /> </div></td> <td width="8%"><div align="center">项目<br /> 负责人</div></td> <td width="10%"><div align="center">所在部门</div></td> <td width="8%"><div align="center">计划完<br /> 成时间</div></td> <td width="6%"><div align="center">状 态</div></td> <td width="4%"><div align="center">修改</div></td> <td width="4%"><div align="center">删除</div></td> </tr> <% While (Repeat1_numRows <> 0) AND (NOT Recordset1.EOF) %> <tr><tdwidth="4%"><div align="center"><%=(Recordset1.Fields.Item("itemno").Value)%></div></td> <td><divalign="left"><a HREF="admin_item_list_detail.asp?<%= Server.HTMLEncode(MM_keepNone) & MM_joinChar(MM_keepNone) & "item.id=" & Recordset1.Fields.Item("item.id").Value %>"><%=(Recordset1.Fields.Item("itemname").Value)%></a></div></td> <td><div align="center"><%=(Recordset1.Fields.Item("item.teacherid").Value)%></div></td> <td><div align="center"><%=(Recordset1.Fields.Item("name").Value)%></div></td> <td><div align="center"><%=(Recordset1.Fields.Item("dept").Value)%></div></td> <td><div align="center"><%=(Recordset1.Fields.Item("enddate").Value)%></div></td> <td><div align="center"><%=(Recordset1.Fields.Item("state").Value)%></div></td> <td><div align="center"><A HREF="item_update.asp?<%= Server.HTMLEncode(MM_keepNone) & MM_joinChar(MM_keepNone) & "item.id=" & Recordset1.Fields.Item("item.id").Value %>">修改</A></div></td> <td><label> <div align="center"> <input name="itemid" type="checkbox" id="itemid" value="<%=(Recordset1.Fields.Item("item.id").Value)%>" /> </div> </label></td> </tr> <% Repeat1_index=Repeat1_index+1 Repeat1_numRows=Repeat1_numRows-1 Recordset1.MoveNext()Wend%> </table> <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><div align="right"> <input type="submit" name="Submit" value="批量删除" /> </div></td> </tr> </table> <table border="0" width="50%" align="center"> <tr> <td width="23%" align="center"><% If MM_offset <> 0 Then %> <a href="<%=MM_moveFirst%>">第一页</a> <% End If ' end MM_offset <> 0 %> </td> <td width="31%" align="center"><% If MM_offset <> 0 Then %> <a href="<%=MM_movePrev%>">前一页</a> <% End If ' end MM_offset <> 0 %> </td> <td width="23%" align="center"><% If Not MM_atTotal Then %> <a href="<%=MM_moveNext%>">下一页</a> <% End If ' end Not MM_atTotal %> </td> <td width="23%" align="center"><% If Not MM_atTotal Then %> <a href="<%=MM_moveLast%>">最后一页</a> <% End If ' end Not MM_atTotal %> </td> </tr> </table> <p align="center"> </p> <% End If ' end Not Recordset1.EOF Or NOT Recordset1.BOF %> <p align="center"> </p> <p align="center"> </p> <% If Recordset1.EOF And Recordset1.BOF Then %> <p align="center"> </p> <p align="center" class="STYLE4">您还没有此项记录!</p> <p> </p> <% End If ' end Recordset1.EOF And Recordset1.BOF %><p> </p> <p> </p></form><p align="center"> </p></body></html><%Recordset1.Close()Set Recordset1 = Nothing%>item_insert.asp设计:插入一个23行3列的表格,在第一列中分别输入教师号,项目编号,项目委托单位,项目名称,项目来源,密级,项目学科,是否期中检查 ,项目级别,研究类别,项目申报日期,项目开始日期,计划完成日期,实际完成日期, 成果形式,申请经费,批准经费, 追加经费, 项目组其他成员,项目摘要,项目状态。在第二列中输入分别插入对应的文本域和列表菜单。在第三列中输入相对应的注释。4.3.2科研论文此模块的作用是让教师直观的了解到自己所著论文的名称,所在部门,刊物名称,刊物级别,发表日期和审核的状态,并且及时根据自身情况对其晚出添加,删除,修改和批量删除。“是否审核”起初状态为“教师提交”,等待科研处人员审核。属性:论文编号,论文名称,教师号,作者,所在部门,刊物名称,刊物级别,发表日期,是否审核,修改,删除,批量删除,添加新记录。由于设计步骤和代码过多而且与4.3.1相类似所以具体设计步骤和代码请参考4.3.1,这里就不一一列举了。4.3.3.科研著作 此模块的作用是让教师直观的了解到自己科研著作的名称,所在部门,出版社,出版日期和审核的状态,并且及时根据自身情况对其晚出添加,删除,修改和批量删除。“是否审核”起初状态为“教师提交”,等待科研处人员审核。属性:专著编号,专著名称,教师号,作者,所在部门,出版社,出版日期,是否审核,修改,删除,添加新纪录,批量删除。由于设计步骤和代码过多而且与4.3.1相类似所以具体设计步骤和代码请参考4.3.1,这里就不一一列举了。4.3.4专利发明此模块的作用是让教师直观的了解到自己专利发明的名称,所在部门,专利类型,通报时间,专利申请号和审核的状态,并且及时根据自身情况对其晚出添加,删除,修改和批量删除。“是否审核”起初状态为“教师提交”,等待科研处人员审核。属性:专利编号,专利名称,教师号,教师名,所在部门,专利类型,通报时间,专利申请号,是否审核,修改,删除,批量删除,添加新纪录由于设计步骤和代码过多而且与4.3.1相类似所以具体设计步骤和代码请参考4.3.1,这里就不一一列举了。4.3.5获奖项目此模块的作用是让教师直观的了解到自己获奖项目的名称,所在部门,获奖时间,获奖类别,获奖级别,授奖等级,收件单位和审核的状态,并且及时根据自身情况对其晚出添加,删除,修改和批量删除。“是否审核”起初状态为“教师提交”,等待科研处人员审核。属性:获奖编号,获奖名称,教师号,作者,所在部门,获奖时间,获奖类别,获奖级别,授奖级别,授奖单位,是否审核,修改,删除,批量删除,添加新纪录。由于设计步骤和代码过多而且与4.3.1相类似所以具体设计步骤和代码请参考4.3.1,这里就不一一列举了。4.3.6成果鉴定此模块的作用是让教师直观的了解到自己成果鉴定的名称,所在部门,鉴定单位,鉴定日期,鉴定结论和审核的状态,并且及时根据自身情况对其晚出添加,删除,修改和批量删除。“是否审核”起初状态为“教师提交”,等待科研处人员审核。属性:鉴定编号,鉴定名称,教师号,作者,所在部门,鉴定单位,鉴定日期,