• 1.60 MB
  • 2022-04-22 13:33:54 发布

任务管理系统的设计与实现毕业论文.doc

  • 37页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'西安工业大学北方信息工程学院毕业设计(论文)任务管理系统的设计与实现毕业论文目录1绪论11.1前言11.2国内外研究成果11.3本文主要研究的内容22核心技术介绍42.1B/S42.1.1B/S模式的优缺点42.2ASP.NET52.3SQLServer200562.3.1SQLServer2005简介62.3.2SQLServer2005的优势和特点63需求分析73.1可行性分析73.1.1技术可行性分析73.1.2社会可行性分析73.1.3经济可行性分析83.1.4法律可行性分析83.2系统功能需求83.1.1用户登录83.1.2任务提交83.1.3用户信息管理93.1.4项目功能管理93.2系统运行要求1012 西安工业大学北方信息工程学院毕业设计(论文)3.2.1系统硬件环境103.2.2系统软件环境104概要设计114.1系统工作原理网络结构图114.2系统的功能结构图114.3总体框架设计124.3.1显示层设计134.3.2事务逻辑层设计144.3.3访问层设计144.4数据库设计144.4.1系统ER图设计144.4.2数据库表164.4.3数据库的连接185详细设计195.1系统功能设计195.2界面设计195.2.1登录页面设计195.2.2系统主页面设计205.3功能模块设计215.3.1任务提交模块215.3.3用户信息管理模块225.3.4项目功能管理235.4公共类说明266系统的测试与分析286.1系统测试测试策略说明286.2测试用例286.2.1对登录功能进行测试286.2.2对任务提交功能进行测试286.2.3对用户信息管理进行测试286.2.4对项目功能管理进行测试286.3测试结果2912 西安工业大学北方信息工程学院毕业设计(论文)6.4测试评价307结论31参考文献32致谢33毕业设计(论文)知识产权声明34毕业设计(论文)独创性声明351绪论1.1前言信息技术的迅速发展使市场竞争异常激烈,因此给软件企业的发展带来了前所未有的压力。我国软件企业结合自身企业的特点生产出自己的软件项目管理系统来提升对项目的估计与控制能力,在实现自己企业信息化的过程中开发出能满足其他企业信息化的、能为其他企业创造最大价值的优秀的产品,使自己立于不败之地是一个值得研究的重要课题,特别在软件项目工程中对软件开发的任务分配以及进度管理等部分是项目工程管理中的重中之重。软件产业已经作为一个新兴的高技术产业在我国崛起。但与发达国家相比,无论在开发能力还是在管理水平上都还存在相当大的差距,尤其是落后的软件过程管理制约了开发能力的发挥。软件外包是我国软件业发展的一个机会,也是一种挑战,要提高我国软件外包份额比例和利润率,就得要先解决我国软件企业普遍存在的规模小、软件过程能力低的问题,这就要求我们要有一套完整的软件项目管理系统。开发软件开发公司程序员任务管理系统目的是为了将企业在软件开发过程中的对于程序员的管理进行更进一步的优化和对其的任务完成情况以及质量进行有效的了解和控制。通过内部评估诊断我们发现,程序员其实也很希望能够按照我们的过程规范来开展工作,但我们的过程规范似乎每一步工作都有规程,都有条条框框,工作量的数据、缺陷记录等,但是大部分的研发人员认为大量低层次的沟通和大量的文档浪费了他们很多时间,他们愿意按照过程规范去做,但并不希望成为过程专家。这给软件过程的实施带来了极大的挑战。1.2国内外研究成果12 西安工业大学北方信息工程学院毕业设计(论文)国内外技术现状:软件项目管理最早源自于70年代中期。当时美国国防部曾立题专门研究软件项目做不好的原因,发现70%的项目是因为软件过程管理不善引起的,而并不是因为技术实力不够,进而得出一个结论,即软件过程管理师影响软件研发项目全局的因素,而技术只是影响到局部。从那时开始,业内人士就着手软件项目管理的研究,到目前为止,在该领域起着重要作用的管理思想有:软件能力成熟度模型集成CMMI和1509000系列标准。我国软件企业起步较晚,从80年代发展至今,经过这20年来的成长,发展了一些具有一定规模的软件企业,但总体来说规模不够、开发成熟度不高,普遍存在软件生产低效性,大多数项目不是延期、成本上升,就是品质低、返工现象严重,软件过程能力低。我国的许多软件企业在发展的过程中,长期忽视了企业的信息化,特别是软件过程管理信息化,为追求短期的效益而忽略了重要的软件过程控制和开发流程,使得软件的质量很难达到预期的目标。在软件业发达国家的软件企业中,非常重视软件过程管理的信息化,达到要求的成熟度有助于提高公司的软件开发与项目控制能力,提高公司在国际软件业的地位和信誉度。1.3本文主要研究的内容程序员管理任务管理系统包括:用户登录模块、文件提交模块、系统管理功能模块和项目管理功能模块。用户登录模块是为了判定用户的登录用户名和密码的正确性所设定的。文件提交模块主要是程序员的程序任务进度情况、测试员的测评情况、测试员对程序员的反馈信息、对个人工作的评价信息的提交以及对每天的所有已执行任务的汇总文件提交。系统管理功能模块主要包括:个人信息管理、部门员工管理。个人信息管理主要为用户密码修改等功能。部门员工管理可以添加,修改,删除员工信息。项目功能管理模块主要包括:任务划分、工作量统计、项目进度管理、项目质量管理。任务划分:项目经理可以将项目的每一个任务分配给具体的人,并设定本人任务的时间以及本任务的说明,是进度管理的依据。工作量统计:根据不同项目的项目系数,软件质量以及任务的完成情况,依据合理的量化计算方式,统计出各程序员的具体工作量情况,以便完成对工作人员的量化管理。项目进度管理:对任务的执行情况进行跟踪,可以查询任务的执行进度,以便于实行对项目任务的合理分配。项目质量管理:目的是让上层管理人员对项目完成的实际情况作出明确的了解,以便于去对各自员工的能力比较直观的了解。设计方案:12 西安工业大学北方信息工程学院毕业设计(论文)应用实现上采用即Browser/Server(浏览器/服务器)结构,整个系统由Web浏览器,Web服务器和数据库服务器三层组成,应用程序存放在Web服务器上,数据库存储在数据库服务器中,用户可以在Internet上任意客户端上的浏览器中通过Web服务器管理,访问数据库中的公司信息。因此系统具有大用户量支持、良好的可伸缩性和可移植性等优点。设计方法:采用基于C#的数据库访问技术:ASP.NET,使应用程序具有C#语言的平台无关性,因而系统具有良好的移植性。使用ASP.NET+C#模型,在C#中实现数据库连接池,提高了连接的使用效率和应用程序访问数据库的性能,同时利用C#封装了对数据库的增加、查询、删除、更新等操作,提高了代码的重用性,简化ASP.NET应用程序的编程。本系统选用B/S结构模式;系统的开发以Windowsxp中文版操作系统为服务器网络操作系统,IIS为Web服务器,SQLSERVER2005为数据库服务器,Windowsxp为客户端操作系统。2核心技术介绍2.1B/S传统的软件系统设计都采用的是C/S结构,即客户端/服务器结构。它主要是由两部分组成,一部分是服务器端程序,负责数据的处理和存储;另一部分是客户端,客户端通常是一个安装程序,它在客户机上拥有自己的处理程序,可以独立对用户数据进行处理和存储,并可以和服务器进行直接连接传递数据。B/S结构的软件是相对传统的C/S结构而言的。C/S结构将程序分为两部分,一部分是由多个用户共享的信息与功能,这部分称为服务器端;另一部分是为每一个用户所专用,称为客户端。C/S结构应该具有这样的特征:客户端、服务器端都安装相应的软件,客户端、服务器端各完成相应的计算工作,服务器端保存数据库。而B/S结构应该具有如下特征:服务器端都安装相应的软件,客户端不安装任何软件(不需要维护)。客户端运行程序是靠浏览器软件(如IE,Netscape等)登陆服务器进行的。客户端在浏览器里完成一定的计算任务。12 西安工业大学北方信息工程学院毕业设计(论文)图2.1基于Web的浏览器/服务器B/S(Browser/Server)结构示意图2.1.1B/S模式的优缺点1、B/S结构的优点Ø具有分布性特点,可以随时随地进行查询、浏览等业务处理。Ø业务扩展简单方便,通过增加网页即可增加服务器功能。Ø维护简单方便,只需要改变网页,即可实现所有用户的同步更新。Ø开发简单,共享性强2、B/S模式的缺点Ø个性化特点明显降低,无法实现具有个性化的功能要求。Ø操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。Ø依赖网络,响应速度明显降低。Ø功能弱化,难以实现传统模式下的特殊功能要求。2.2ASP.NETASP.NET是基于通用语言的编译运行的程序,它的强大性和适应性,可以使它运行在几乎所有的windows操作系统的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。  ASP.NET一般分为两种开发语言,VB.NET和C#,C#相对比较常用,因为是.NET独有的语言,VB.NET则为以前VB程序设计,适合于以前VB程序员。ASP.NET优点主要表现在:可管理性:12 西安工业大学北方信息工程学院毕业设计(论文)ASP.NET使用基于文本的、分级的配置系统,简化了将设置应用于服务器环境和Web应用程序的工作。配置文件的任何变化都可以自动检测到并应用于应用程序。易于部署:通过简单地将必要的文件复制到服务器上,ASP.NET应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。增强的性能:ASP.NET是运行在服务器上的已编译代码。与传统的ActiveServerPages(ASP)不同,ASP.NET能利用早期绑定、实时(JIT)编译、本机优化和全新的缓存服务来提高性能。扩展性和可用性:ASP.NET被设计成可扩展的、具有特别专有的功能来提高群集的、多处理器环境的性能。此外,Internet信息服务(IIS)和ASP.NET运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。与.NETFramework集成:因为ASP.NET是.NETFramework的一部分,整个平台的功能和灵活性对Web应用程序都是可用的。也可从Web上流畅地访问.NET类库以及消息和数据访问解决方案。ASP.NET是独立于语言之外的,所以开发人员能选择最适于应用程序的语言。另外,公共语言运行库的互用性还保存了基于COM开发的现有投资。另外ASP.NET优点还包括了ASP.NET启用了分布式应用程序的两个功能:Web窗体和XMLWeb服务。相同的配置和调试基本结构支持这两种功能。Web窗体技术使您建立强大的基于窗体的网页。Web窗体页面使用可重复使用的内建组件或自定义组件以简化页面中的代码。使用ASP.NET创建的XMLWeb服务可使您远程访问服务器。使用XMLWeb服务,商家可以提供其数据或商业规则的可编程接口,之后可以由客户端和服务器端应用程序获得和操作。通过在客户端/服务器和服务器/服务器方案中的防火墙范围内使用标准(如XML消息处理和HTTP),XMLWeb服务可启用数据交换。以任何语言编写的且运行在任何操作系统上的程序都能调用XMLWeb服务。2.3SQLServer20052.3.1SQLServer2005简介SQLServer2005是微软公司的大型数据库服务器,其性能指标在各方面都有赶超Oracle数据库的趋势。从SQLServer2000到SQLServer2005,不仅仅是数据库系统具有更高的性能、处理能力,新版本的系统还带来了许多新的、在旧版本中从未出现的特性。而这些新特性也都是和现代数据库的发展方向一致的。12 西安工业大学北方信息工程学院毕业设计(论文)2.3.2SQLServer2005的优势和特点(1)可编程性:CLR(CommonLanguageRuntime,公共语言运行时)集成。CLR集成是指你可以使用任何一种.NET语言编写SQLServer2005的存储过程,触发器,函数,自定义类型,甚至是自定义的聚合函数。想想以前的扩展存储过程,编程非常不容易。代码中一不小心就会引起内存泄漏。(2)安全性:SQLServer2005的安全达到了很强大水平,有着很更清晰的安全模型即主体,安全对象和权限。(3)异步处理能力:ServiceBroker提供了一个功能强大的异步编程模型。Broker的最大好处一是异步执行能力,提高了可伸缩性,二是可靠执行,三是集成于数据库中,备份数据库就备份了broker的消息队列。(4)支持通过HTTPSOAP协议直接访问数据库,增加XML数据类型,支持Xquery,使用新的SQLServerManagementStudio等等。以前都是大项目用ORACLE或者DB2,因为只有ORACLE和DB2能胜任,现在情况有些变化了。不少在Windows构架下的大项目还是倾向于用SQL的,像镜像,高可用性,页面级的恢复,联机索引,多CPU支持等高级特性,SQL也不比ORACLE差。12 西安工业大学北方信息工程学院毕业设计(论文)3需求分析在对软件系统进行详细的需求分析之前,首先进行技术可行性分析。通过对现有且成熟的软件系统开发语言进行分析,并结合开发人员自身的业务水平,分析使用各个开发语言所需要的时间、花费等,从而得出此软件系统是否有必要进行开发。当此软件系统值得开发时,才进入下一步,既需求分析。需求分析是通过对软件功能的假象,分析系统在现有的技术下,可以实现的各种功能及相关需求。并将此分析作为日后软件系统开发的重要依据。3.1可行性分析3.1.1技术可行性分析程序员任务管理系统采用基于B/S的三层体系结构。用户可以在任意网络环境中使用任意一个流浏览器,即可对系统进行操作管理。B/S结构具有分布性特点,可以随时随地利用浏览器进行查询、浏览等业务处理,不受客户机限制。浏览器于服务器之间使用HTTP协议进行通讯,服务器得到浏览器服务请求之后,进行数据的相关处理。当数据处理完成之后,将处理结果通过HTTP协议返回给客户机浏览器。具体实施办法包括:由于B/S架构业务扩展简单方便,通过增加相应功能页面即可增加服务器功能。维护简单方便,只需要改变网页,即可实现所有用户的同步更新。开发简单,共享性强,不同浏览器兼容性良好,不同服务器架构也可无缝移植,无需重新编译代码。因此整个系统开发难度也较低。服务器端采用Apache作为Web服务器,其功能是接受远程用户的访问请求并作出回复。采用SQLServer2005作为数据库,用来存储系统的所有数据。由于ASP.NET、C#和SQLServer2005在应用上都是很普遍的,且市面上有很多相关书籍介绍,无论从技术角度还是从适用性角度都没有困难。在客户端中,通过ASP+SQLServer2005,实现调用服务器和客户机对数据进行处理,并能实时在网页上显示处理结果。这些技术都是时下非常成熟的技术,且有大量的教程以及示例用来学习,所以从技术角度来分析也是没有困难的。3.1.2社会可行性分析12 西安工业大学北方信息工程学院毕业设计(论文)现代社会已经步入信息高速发展的时代,在对于公司项目的任务管理方面,只依靠人为的去操作会出现很多弊端,选择应用任务管理系统不但能更好的对当前项目进行管理,而且能对公司的管理运作形成良好的监管制度,从而达到提升效率的效果。目前已经成为了软件开发中必须的工具。3.1.3经济可行性分析对于软件公司程序员任务管理系统来说,其应用的技术手段投资很少,并且在管理系统投入使用之后,可以在对软件项目的管理中不再陷入不必要的混乱,能更合理的安排工作到个人,使工作的进度效率得到提升,应用先进的工作量量化管理辅助公司人员管理,能够给公司的员工考核以及员工的竞争力方面都有提升,从另一方面节约了软件开发的成本,避免了多次重复效率不高的工作。3.1.4法律可行性分析本系统的开发是由本人在指导老师的指导下完成,不涉及任何公司任何个人的私有信息,不存在任何侵权和知识产权问题。3.2系统功能需求程序员任务管理系统总的目标是:实现软件开发任务的组织,软件开发任务的网上分配,每日的工作安排,每日的工作验收,实时统计程序员日常工作量,程序员软件开发任务完成提交,软件开发任务完成情况测试与评价。经过前期的可行性研究,结合现有实际情况,程序员任务管理系统采用B/S架构开发,开发语言为C#,数据库采用SQLServer2005。系统功能主要包括:用户登录,文件提交,系统功能管理,项目功能管理四个方面。3.1.1用户登录用户登录包括不同权限的用户对系统的操作影响。可以通过用户名和密码的验证来判断是否成功登录,并且通过对当前用户的权限判断,来决定到底跳转到哪个页面。当用户名或密码输入错误的时候,提示错误信息。3.1.2任务提交任务提交包括对目前的任务进展情况,任务完成质量情况以及程序员与测试员当天的工作内容进行上传管理。上传文件:对上传的文件将其存储在服务器端的固定文件夹内,数据库中标示其所有的路径信息。方便对文件的管理,并且在上传文件的同时,在文件前方自动生成真实名称,即上传文件的原有名称前添加文件编号,用于多个相同文件上传时,原有文件不被覆盖。文件下载:可以通过的文件名称或者上传时间进行对所有文件的模糊查询。并且根据权限的不同,可以选择删除原有文件,或者下载选定文件。12 西安工业大学北方信息工程学院毕业设计(论文)3.1.3用户信息管理用户信息管理主要分为两部分。第一部分是个人信息管理,即所有用户可以对当前自己的密码进行修改操作。第二部分是部门员工管理,即项目经理可以对所有员工的信息进行修改,删除,添加等操作。针对不同类型的用户,可以设置不同的权限,低权限的用户无法进行高级操作。主要包括对用户名,密码,权限的分配,以及删除,查询功能。3.1.4项目功能管理本功能为程序员任务管理系统的核心功能。主要是对软件项目进行统一的管理,包括任务划分,任务分配,项目进度以及工作量统计。任务划分:任务划分是产生任务的地方,由项目经理将要完成的项目根据模块或者功能划分成为独立的任务,划分的任务应该尽量保持高内聚,低耦合,以降低对成员之间交流的依赖程度,让大多数成员无需考虑太繁杂、不相干的东西,对于划分好的任务,要仔细分析其难点和工作量,这些都是任务分配所必须的约束条件。任务分配:任务分配的实施者是项目经理,任务分配的目的是将每一个任务分配给具体的人,并设定本人任务的开始时间、结束时间、参加评审人,是进度管理的依据,任务分配由项目经理根据实际情况做出调整。任务分配的原则是减少对交流的依赖,对于不同的人来说,同一个任务的难度是不相同的,因此要调整分配,让合适的人做合适的工作,减少整体难度,分配过程中,尽量把高耦合的任务分配给一个员工,避免把过多过琐碎的无关任务分配给同一个人。项目进度:进度管理的目的是对任务的执行情况进行跟踪,可以以多种方式查询任务的执行进度,统计在执行过程中的进度执行状况,是项目经理调整计划,以及实施下一步计划的重要依据。工作量统计:根据项目系数,软件质量以及任务的完成情况,根据不同公司的规模大小以及管理制度,制定不同的计算规则,可以相对直观的体现出程序员在项目中的工作量等信息,是项目经理对任务分配原则的宏观把握的依据。在人月神话一书中比较深刻的阐述了当前的软件系统问题,并且根据其中的理论验证,工作量的统计方式不论在国际还是在国内都没有一个统一的标准,不同公司的不同标准只是反应了其公司的规模以及其管理层人员对待员工的水平而已,这也是管理层对管理员工方面的一处很头疼的地方,而且,工作量在不同的场合的度量方式也是不相同的。对于需求和设计阶段来说,量上当然是文档的页数,质量上应该是复杂度和每页发现的缺陷数是否达到了质量目标;编码阶段就是代码量+缺陷密度;测试阶段是每天的用例执行数;对于此系统,我采用的方式是目前国内中小型企业一般情况下采用的量化方式,即工作量受软件质量,项目系数以及任务的总体完成情况制约。软件质量受当前软件的12 西安工业大学北方信息工程学院毕业设计(论文)BUG等级和每千行代码的BUG个数,回归次数。模块的重要系数来决定。项目总体系数的制定,是根据本项目是否应用新技术,是否有过成功的开发经验等条件进行判断。3.2系统运行要求3.2.1系统硬件环境a.服务器端处理器:InterCoreT24502.0GHz或更高内存:1GB以上硬盘空间:80GB光驱:DVD/CD-RWcombo显卡:ATIHD2300b.客户端因为客户端主要用于浏览和操作数据,所以对客户端的硬件要求不高,不过现在的电脑具有很高的性价比,因此需要的配置应该高于下面的配置:处理器:InterPentium1.0GHz或更高内存:32MB硬盘空间:40GB3.2.2系统软件环境a.服务器端操作系统:WindowsXP及其以上版本网络协议:TCP/IPweb服务器:InternetInformationServer6.0数据库:MircrosoftSQLserver2005浏览器:InternetExplorer6.0以上b.客户端操作系统:Windows98/2000/2003/XP/7网络协议:TCP/IP浏览器:InternetExplorer6.0以上12 西安工业大学北方信息工程学院毕业设计(论文)4概要设计4.1系统工作原理网络结构图图4.1系统工作原理网络结构图4.2系统的功能结构图34 西安工业大学北方信息工程学院毕业设计(论文)程序员任务管理系统用户登录任务提交用户信息管理项目功能管理登录控制任务进展提交任务质量提交文件管理个人信息管理部门员工管理任务划分任务分配项目进度工作量统计图4.2系统功能结构图4.3总体框架设计根据.NET的结构体系,对软件项目管理系统实行层次化处理,使层与层相对独立,每层的变动不会对其它层造成太大的影响,不会引起其它层的太大的变动,而且为增加功能、扩展系统提供方便。本系统采用三层结构为:显示层(PresentationLayer)、事务逻辑层(BusinessLayer)、数据访问层(DataAccessLayer)。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。系统体系结构图如图4.3。34 西安工业大学北方信息工程学院毕业设计(论文)图4.3系统体系结构图第一层(显示层):负责系统与用户的交互工作。显示层由两部分组成:即Web客户端和Web服务器。Web客户端驻留在用户计算机中,通常用来接受Web浏览器的表格。Web服务器位于Web主机地址上,用来生成动态Web页面和组成系统的表格。web客户端与Web服务器端通过“请求—回应”的方式来相互通信。web客户端向Web服务器发出请求,Web服务器根据请求作出回应。HTML嵌入了Web服务器发出的回应,该回应用来指示浏览器显示什么内容。第二层(事务逻辑层):事务逻辑层从显示层获取数据,访问(获取和保存)数据库层的数据并执行必要的运算并且/或者处理数据,然后将结果返回显示层。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。第三层(数据访问层):数据库服务器。在数据库层中包含系统的数据处理逻辑,位于数据库服务器端。它的任务是接受事务逻辑层对数据库操作的请求,实现对数据库查询、修改、更新等功能,把运行结果返回给事务逻辑层。4.3.1显示层设计软件项目管理系统的显示层采用ASP.NET页面。用户的浏览器在客户端运行,并从一个WEB服务器上下载WEB层中的静态HTML页面或由ASP.NET生成动态的HTML页面,客户端用户的界面由一系列ASP.NET页面构成,用户的所有输入都由这些页面来完成。同样系统的所有输出也在这里显示。34 西安工业大学北方信息工程学院毕业设计(论文)ASP.NET页面文件.ASPX为视图,.ASPX.CS文件为控制器,模型只与数据库相关,与视图不相关。这样就实现了不懂程序设计的人员避开程序数据,这样在系统具体设计中将1.减少代码重复;2.分离职责和问题:通过分离视图和模型,各个领域的专业人员可以并行工作;3.优化的可能性:将职责分成特定的类可以提高进行优化的可能性。在某些情况下可以对数据进行缓存,这样可以提高应用程序的总体性能。但是,如果不分离代码,缓存数据就会很难实现,或者不可能;4.可测试性:通过将模型与视图分离,您可以在ASP.NET环境以外测试模型。4.3.2事务逻辑层设计为了避免用户直接与数据库打交道,减轻数据库的负荷,软件项目管理系统把所有业务逻辑处理放在ASP.NET页面的后台文件(.ASPX.CS)和业务逻辑处理类中,由其负责响应用户的服务请求,再按需求调用业务逻辑处理类中相关函数,此函数再调用数据库层函数对用户服务请求进行业务处理,处理完后将结果返回给用户。这里用户通过浏览器与Web服务器进行交互。4.3.3访问层设计应用必须永久保存一些对象,因此必须用数据访问层来提供这些服务,数据访问层设计是系统设计中很重要的一部分,设计质量的好坏,数据结构的优劣,直接影响到系统的成败,数据访问层设计是对一个给定的应用环境,构造最优的数据库层模式,建立数据库及其应用系统,使之能够有效地存取数据,满足各种用户的应用需求。程序员任务管理系统数据库确定采用SQLSever2005数据库系统。4.4数据库设计4.4.1系统ER图设计ER图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。用户(用户名,密码,用户权限,用户说明,已有任务)用户名密码权限用户用户说明已有任务图4.4.1用户ER图任务(任务名称,任务内容,任务进展,起始时间,结束时间,任务难易度,任务分配,任务完成质量,任务完成者,工作量)34 西安工业大学北方信息工程学院毕业设计(论文)任务难易结束时间起始时间任务进展任务任务完成质量任务分配任务完成者工作量任务名称任务内容图4.4.2任务ER图项目(项目名称,项目编号,项目简介,新技术应用,开发经验,总体系数)图4.4.3项目ER图文件(文件名称,文件路径,文件上传时间,文件真名)图4.4.4文件ER图存在问题(问题名称,问题信息,发现问题时间,发现问题者)34 西安工业大学北方信息工程学院毕业设计(论文)图4.4.5存在问题ER图4.4.2数据库表根据ER图设计中的内容确定了所有表和字段的属性。本系统的数据库表如下所示:用户表中记录的是可以登录系统的用户账户信息。系统用户表tb_user,如表4.1表4.1用户表:tb_user列名数据类型长度说明UserIDint(主键自增)用户序号UserNameInt用户登录名Passwdvarchar32密码roleint用户权限InformationVarchar100用户说明HaveVarchar100已有任务任务表主要存储的是系统中的任务分配信息。任务表task,如表4.2表4.2任务表:task列名数据类型长度字段说明TaskidInt(主键自增)任务表中序号TasknameVarchar30任务名称TaskprogressVarchar10任务进展TaskText任务内容TaskdistributionVarchar10任务分配TaskdifficultInt任务难易度TaskquailtyVarchar10任务质量TaskstartimeDatetime任务起始时间34 西安工业大学北方信息工程学院毕业设计(论文)TaskfinishtimeDatetime任务结束时间TaskpnameVarchar10任务完成者TaskedInt工作量TaskpingceVarchar10任务评测者BUGlevelFloatBUG等级BUGsFloat千行BUG数CoefficientFloat项目总体系数项目表主要存储的是各个不同项目之间的信息。项目表project,如表4.3表4.3项目表:project列名数据类型长度字段说明projectidInt(主键自增)项目表中序号ProjectnameVarchar30项目名称ProjectnumberVarchar10项目编号projectText项目简介newTechnologyVarchar10是否应用新技术projectExperienceVarchat10是否有开发经验CoefficientFloat项目总体系数文件上传表主要存储的是经过上传之后的文件路径以及其名称。文件上传表tb_files,如表4.4表4.4文件上传表:tb_files字段名称字段类型字段长度字段说明fileIdInt(主键自增)本表中序号FilenameVarchar50文件名称FileupdateVarchar30文件上传时间FileloadVarchar200文件上传保存路径FiletruenameVarchar50文件真名存在问题信息表主要存储的是测试人员对某段代码提出的问题等。存在问题信息表bug,如表4.5表4.5存在问题信息表:bug34 西安工业大学北方信息工程学院毕业设计(论文)字段名称字段类型字段长度字段说明bugidInt(主键自增)本表中序号bugnamevarchar50问题名称BugtextText问题信息Feednamevarchar10发现问题人员FeedtimeDatetime发现问题时间4.4.3数据库的连接在整个系统开发过程中,数据库的连接是必不可少的,对于数据库的连接设计将其内容封装在一个类里面,文件名为DB.cs,在所有与数据库的连接页面调用类中的方法就可以连接和打开数据库。数据库连接的相关代码如下:在.NET项目中一般与数据库的所配置的连接字符串都放在web.config配置文件里面,如下所示通过ConfigurationManager.AppSettings["ConnectionString"].ToString()(此方法在DB.cs中)获得字符串A,当需要连接数据库时,使用A的一个属性Connection通过SqlConnectionmycon=newSqlconnection(A.ConnectionString)这样的实例化,创建一个SqlConnection的对象,接着创建SqlCommand执行命令对象,SqlCommandmyCmd=newSqlCommand(”SQL语句”,”mycon”)这样只要执行mycon.open(),数据库的连接算是完成了,并且会得到上面写到得SQL语句的结果,但这只是开始,接下来将要对数据库的数据进行实际的操作。可以通过SqlCommand中的方法ExecuteReader()、ExecuteScalar()、ExecuteXmlReader()、ExecuteNonQuery()根据不同的需求得到不同的对象,从而对数据库进行增删改查的操作。34 西安工业大学北方信息工程学院毕业设计(论文)5详细设计5.1系统功能设计程序员任务管理系统在功能模块上分为用户登录模块,任务提交模块,用户信息管理模块,项目功能管理模块。用户登录系统首页后,首先判断用户名密码的正确性,通过后进行其权限的判定,不同权限的账户跳转至不同的页面。用户登录成功后进入各自主页面,可以分别对任务提交、用户信息以及项目功能管理模块进行不同的操作。如果出现对数据对错误操作,则会终止当前动作并且弹出错误提示符,并且恢复至当前页面。5.2界面设计网页结构和框架的合理性可以提高网站的可操作性,从而提高客户访问网站的效率,让客户更快的了解公司。不仅如此,好的网站结构还能够帮助网页在搜索引擎中占据理想的位置。设计网站的整体结构不仅能够规范网站的风格,而且能够方便以后的开发工作,具有很重要的意义。依据需求分析中的系统相关功能要求,设计各个功能页面。要求是各个功能页面应在完整实现系统全部功能的前提下尽量简洁直观,整个界面不宜复杂纷乱。5.2.1登录页面设计登录界面主要由用户名输入框、密码输入框、提交按钮等几部分组成。用户如果有自己的用户名和密码就可直接在登录界面输入用户名和密码,如果都输入正确即登录成功,进入到主界面,否则,会提示相应的错误信息。如图5.2:34 西安工业大学北方信息工程学院毕业设计(论文)图5.2登录页面5.2.2系统主页面设计网页的框架在网页的设计中是非常重要的一个环节,有了良好和简洁的页面框架,会使用户在使用页面时更加简洁,网页设计的整体结构不但能使用户方便,而且能方便以后开发工作等,有很重要的意义。为了能使系统界面看起来更加美观和简便,系统主页面的框架图如下图5.2.1,5.2.2所示:首部菜单栏主体图5.2.1系统框架图34 西安工业大学北方信息工程学院毕业设计(论文)图5.2.2系统主页面5.3功能模块设计5.3.1任务提交模块任务提交模块包括对文件的上传,下载,管理等内容。在fileup.aspx文件中实现了文件的上传管理,点击增加上传文件可以用来实现多文件的同时上传功能。如图5.3.1:图5.3.1文件上传页面文件的管理实现是在FilesManageList.aspx中,通过文件名称关键字或者文件创建时间,可以对数据库列表中的文件进行模糊查询,点击文件下载,跳出文件下载提示框,选定要存放的路径等信息,可以实现文件下载的功能。点击永久删除,则当前文件被删除。如图5.3.234 西安工业大学北方信息工程学院毕业设计(论文)图5.3.2文件下载页面5.3.3用户信息管理模块用户信息管理模块主要实现对个人信息的管理以及对部门员工的管理操作。包括个人对密码的修改,以及项目经理对部门员工信息的增删等操作。部门员工管理:在项目经理主页面页面点击管理用户之后,跳转至此页面。在此页面,项目经理可以对所有员工进行添加、编辑、删除等功能。点击编辑按钮,项目经理可以直接修改所有员工账号所对应的密码,如果想要删除该用户,点击删除按钮,并且在弹出的提示框中点击确定或者取消来完成对用户的删除功能。如图5.3.3图5.3.3部门员工管理页面34 西安工业大学北方信息工程学院毕业设计(论文)个人密码修改:在用户主页点击修改密码跳转至用户管理页面,并且根据当前Session中存储的UserID在数据库中自动查询与当前UserID符合的条目,并且加以显示,点击编辑,在输入旧密码和新密码等信息的基础上,点击修改密码。则修改完成。如图5.3.4图5.3.4个人密码修改页面5.3.4项目功能管理项目功能管理模块主要包括项目分配,任务划分,任务分配,项目进度和工作量统计。新建项目页面主要完成不同项目之间的信息管理,对应有是否应用新技术和是否有类似的项目开发经验,是工作量统计中的一个量化标准,如图5.3.5.图5.3.5新建项目界面34 西安工业大学北方信息工程学院毕业设计(论文)在项目经理页面单击任务划分。在此页面下输入要划分的任务名称,任务困难度,任务内容等信息,如果输入框中的内容为空,提示提交失败。如图5.3.6图5.3.6任务划分页面任务分配页面的主要元素为任务名称,程序员名称,指定测试员名称,起始时间和结束时间,用户可以根据在页面右侧的数据库查询来合理安排工作,如图5.3.7所示,任务分配时,首先会将所有未分配的任务显示出来,选择程序员和测试人员时,会将其个人说明内容显示出来,以便于了解个人情况,使任务分配更加合理化。图5.3.7任务分配页面34 西安工业大学北方信息工程学院毕业设计(论文)在项目经理页面点击任务进度管理,通过输入要查询的结束时间,可以查询在结束时间之前的所有任务情况统计,包括任务的进展信息,任务的困难度,任务完成质量等,方便项目经理对整个程序的整体把握。如图5.3.8图5.3.8项目进度查询页面通过要查询的项目成员,根据项目的总体系数,软件质量和任务的进展信息得到当前员工的工作量,依据公司规模的大小以及管理制度,制定合适的计算规则,完成工作量的量化,工作量的情况查询,是项目经理的计划修改以及任务分配的把握依据。如图5.3.934 西安工业大学北方信息工程学院毕业设计(论文)图5.3.9工作量统计5.4公共类说明本系统公共类名为DB.cs,存放在App_Code下,主要实现了连接数据库等各方面的功能。publicclassDB{publicDB(){////TODO:在此处添加构造函数逻辑//}///连接数据库///返回SqlConnection对象publicSqlConnectionGetCon(){returnnewSqlConnection(ConfigurationManager.AppSettings["ConnectionString"].ToString());}///执行SQL语句///SQL语句///返回值为int型:成功返1,失败返回0publicintsqlEx(stringcmdstr){SqlConnectioncon=GetCon();//连接数据库con.Open();//打开连接SqlCommandcmd=newSqlCommand(cmdstr,con);34 西安工业大学北方信息工程学院毕业设计(论文)try{cmd.ExecuteNonQuery();//执行SQL语句并返回受影响的行数return1;//成功返回1}catch(Exceptione){return0;//失败返回0}finally{con.Dispose();//释放连接对象资源}}///执行SQL查询语句///查询语句///返回DataTable数据表publicDataTablereDt(stringcmdstr){SqlConnectioncon=GetCon();SqlDataAdapterda=newSqlDataAdapter(cmdstr,con);DataSetds=newDataSet();da.Fill(ds);return(ds.Tables[0]);}///执行SQL查询语句///查询语句///返回SqlDataReader对象drpublicSqlDataReaderreDr(stringstr){SqlConnectionconn=GetCon();//连接数据库conn.Open();//并打开了连接SqlCommandcom=newSqlCommand(str,conn);SqlDataReaderdr=com.ExecuteReader(CommandBehavior.CloseConnection);returndr;//返回SqlDataReader对象dr}}34 西安工业大学北方信息工程学院毕业设计(论文)6系统的测试与分析6.1系统测试测试策略说明C#语言是一种支持面向对象的语言,通常情况下,我们可以将程序的一个单元看成一个独立的类。因此进行单元测试的重点就是针对这些类进行测试。最佳的方法就是测试类中定义的方法。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。6.2测试用例6.2.1对登录功能进行测试(1)登录验证,用户名为1001,密码为123123。(2)权限验证,用户名为1101,密码为123456。6.2.2对任务提交功能进行测试(1)文件上传,上传的文件名为123.TXT的文件。(2)文件搜索,搜索文件名为1的文件。(3)文件删除,删除文件名为123.TXT的文件。(4)任务进度,上传任务名称:hhh进度情况:50%当前用户:1101。(5)任务评测,上传任务名称:hhh评测情况:良当前用户:1201。6.2.3对用户信息管理进行测试(1)员工密码修改,用户名:1101新密码:111111。(2)员工删除,删除用户名为1201的用户。(3)员工添加,添加用户名为1202,密码为123456,权限为3的用户。(4)用户密码修改,用户名:1101旧密码:123123新密码:111111。6.2.4对项目功能管理进行测试(1)任务分配,起始日期:2010-5-1结束日期:2010-5-3指定任务人:1101任务名称:xyz指定测试:1201。(2)任务查询,当前用户1201,查询条件:未完成。34 西安工业大学北方信息工程学院毕业设计(论文)(3)任务查询,当前用户1101,查询条件:空。(4)任务进度,查询日期:2010-5-4。(5)任务质量,查询目标用户:1101。6.3测试结果根据制定好的测试策略已经测试用例,对本系统的测试结果如下表6.3所示。表6.3测试结果测试项目测试数据预期测试结果登录用户名:1001密码:123123密码错误,登录失败权限验证用户名:1101密码:123456成功登录至程序员主页文件上传上传文件名为123.TXT的文件上传成功文件搜索搜索文件名为1的文件查询结果为123.TXT文件删除删除文件名为123.TXT的文件删除成功员工密码修改用户名:1101新密码:111111修改成功员工删除删除用户名为1201的用户删除成功员工添加添加用户名为1202,密码为123456,权限为3的用户添加成功用户密码修改用户名:1101旧密码:123123新密码:111111修改失败,旧密码不正确任务分配起始日期:2010-5-1结束日期:2010-5-3指定任务人:1101任务名称:xyz指定测试:1201添加成功任务查询当前用户1201,查询条件:未完成显示所有1201未完成的任务任务查询当前用户1101,查询条件:空显示所有1101任务情况任务进度上传任务名称:hhh进度情况:50%当前用户:1101上传成功任务评测上传任务名称:hhh评测情况:良当前用户:1201上传成功任务进度查询查询日期:2010-5-4显示任务结束时间在5-4以前的所有任务完成情况任务质量查询查询目标用户:1101显示1101在此项目中做过的任务难度、完成情况以及完成质量。34 西安工业大学北方信息工程学院毕业设计(论文)6.4测试评价通过调试测试,系统能正常运行,基本完成了需求分析中的相关功能,但是由于测试条件有限,应该还有一些小问题需要改进。总体来说,达到了预期效果。34 西安工业大学北方信息工程学院毕业设计(论文)7结论经过约三个多月的设计和开发,软件公司程序员任务管理系统基本开发完毕。本系统能够完成基本的任务划分,分配以及对项目的进度查询等方面的内容。,基本实现开题报告中所陈述的功能。但由于本人技术和经验所限,该系统还有许多不尽如人意的地方,还有待在以后的学习过程中逐步改善。在整个毕业设计过程中,我也出现过很多的问题。在不断的学习和和翻阅资料解决问题的过程中,我深刻体会到学习的重要性。毕业设计作为我们自己动手完成的一个项目,为我们创造了很好的机会去锻炼自己的能力,使我了解到只有在不断的虚心学习中才能不断进步。毕业设计的完成除了给了我成就感和自豪感之外,也让我明白自己的不足之处,正所谓学无止境,人的一生都必须时刻虚心学习。对于软件开发来讲,前期的准备工作往往占据了很大的工作量。只有对系统进行了详细具体的需求分析和设计,才能在日后的编码过程中事半功倍。最初我也正是因为没有充分的重视前期的准备工作,导致我最后阶段的很不顺利。这个过程也让我明白一个道理:任何工作都需要在前期的准备工作中彻底细致,这样才不至于在以后付出额外的功夫却得不到应有的回报。在本次毕业设计过程中,经过不断查阅书籍和上网检索,让我克服了摆在我面前的非常多的难题,使我少走了很多弯路。知识是一代一代人的智慧结晶所累积起来的,只有承前,充分的学习到更多的东西,才能够无往而不利。通过这次毕业设计,我深刻体会到要做好一件事情,需要有系统的思维方式和方法。同时我也深刻的认识到,在对待一个新事物时,一定要从整体考虑,完成一步之后再作下一步,这样对于接受和认识他而言才能更加有效。34 参考文献参考文献[1]朱崇湘,陈斌,龚洪泉等.小型软件企业的项目管理方法研究.计算机应用与软件.2005[2]耿赛,袁名敦,肖明.信息系统分析与设计.北京:高等教育出版社,2000.[3]凯西·施瓦尔贝.IT项目管理.王金玉等译.北京:机械工业出版社,2003.[4]刘积仁.软件开发项目管理.北京:人民邮电出版社,2002.[5]王勇,张发勇,周顺平.CMM软件配置管理的理论与实践.计算机工程与应用.2004[6]廖志英,董安邦.基于C/S和B/S混合结构的管理系统运行模式.计算机工程与应用.2002[7]Highsmith,Jim.AgileProjeetManagement.Pearson,2003.[8]李虎,史晓华.软件质量测评系统的系统集成与用户界面设计.计算机工程与应用.2001[9]刘晓华等.《毕业论文写作指导》[S].科学出版社,200312[10]李严,于亚芳,王国辉等.《ASP.Net数据库开发实例解析》[M].机械工业出版社,200412[11]王国辉、牛强、李南南等.《ASP.Net工程应用与项目实践》[M].机械工业出版社,20054[12]高峰霞.《ASP.Net动态网站开发教程》[M].清华大学出版社,20006[13]王志强,秦光里.基于ASP模式的企业信息化建设.世界标准化与质量管理.2002.6[14]郭燕冰.ASP的发展概况.世界电信.2001.6[15]王玉,薛四新,黄海清.基于CIMS应用集成系统的企业信息化解决方案.计算机辅助设计与制造一CAD/CAM.2001,(6)[16]张景元.高校科研管理信息系统的设计与实现.科研管理.2000,(21):16~18[17]任中方,门明松,陈世福.MVC模式研究的综述.计算机应用研究.2004[18]M.C.Paulk.TheCapabilityMaturityModel.GuidelinesforImprovingtheSoftwareProeess.Addison一Wesley,1995[19]姚慧广,赵岳松.WEB编程中MVC模型的应用.微机发展.200234 毕业设计(论文)独创性声明致谢感谢导师乔奎贤老师的关心、指导和教诲。在我完成本次毕业设计的过程中,乔奎贤老师给予我细心的指导,一起讨论系统的需求和实现,耐心的给我讲解在设计上的我的欠缺,这些渗透在生活和学习中的点点滴滴都让我受益匪浅,在此我由衷的对乔奎贤老师表示感谢。同时,我还要感谢我的同学,是他们在我遇到困难的时候陪我一起寻找解决的方案,在克服掉眼前困难的时候勉励我继续奋斗,正因为有了大家的支持,我的毕业设计才能顺利的按时完成。感谢我的导师、学友和朋友们对我的关心和帮助。37 毕业设计(论文)独创性声明毕业设计(论文)知识产权声明本人完全了解西安工业大学北方信息工程学院有关保护知识产权的规定,即:本科学生在校攻读学士学位期间毕业设计(论文)工作的知识产权属于西安工业大学信息工程学院。本人保证毕业离校后,使用毕业设计(论文)工作成果或用毕业设计(论文)工作成果发表论文时署名单位仍然为西安工业大学信息工程学院。学校有权保留送交的毕业设计(论文)的原文或复印件,允许毕业设计(论文)被查阅和借阅;学校可以公布毕业设计(论文)的全部或部分内容,可以采用影印、缩印或其他复制手段保存毕业设计(论文)。(保密的毕业设计(论文)在解密后应遵守此规定)毕业设计(论文)作者签名:指导教师签名:日期:2010年5月4日37 毕业设计(论文)独创性声明毕业设计(论文)独创性声明秉承学校严谨的学风与优良的科学道德,本人声明所呈交的毕业设计(论文)是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经发表或撰写过的成果,不包含他人已申请学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了致谢。毕业设计(论文)与资料若有不实之处,本人承担一切相关责任。毕业设计(论文)作者签名:指导教师签名:日期:2010年5月4日37'