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

西安工业大学北方信息工程学院

本科毕业设计(论文) 题目:软件开发公司程序员

任务管理系统的设计与实现

系 (部): 计算机信息与技术

专 业:班 级: 学 生:

学 号:指导教师:

2010年 06月

软件开发公司程序员任务管理系统

摘 要

软件产业已经作为一个新兴的高技术产业在我国崛起。但与发达国家相比,无论在开发能力还是在管理水平上都还存在相当大的差距,尤其是落后的软件过程管理制约了开发能力的发挥。作为软件开发公司,日常对于程序员的每日工作安排及验收,以及工作量的考核是一项复杂工作。如何设计一个系统来解决软件项目中存在的分配问题,使项目能够顺利完成,就是本文要解决的问题。

论文进行了软件项目管理系统的设计与实现工作,从软件开发公司程序员任务的划分,分配以及工作量统计等方面,具体的讨论了程序员任务管理系统实现的过程以及可行的方式。在本系统中,主要实现了软件开发任务组织,软件开发任务网上分配,程序员软件开发任务完成提交,软件开发任务完成情况测试与评价,程序员工作量统计等内容。为了达到软件开发公司对于程序员任务的良好管理运作,本论文引用了其他软件的一些运作信息,在任务管理系统之中引用国际化的方式,对本系统的设计理念进行了很好的诠释。

本次毕业设计的内容是从技术角度,通过软件工程的方法进行分析,进行一款基于B/S三层体系结构,主要使用ASP.NET 、C#作为开发语言和SQL Server 2005作为数据库的软件管理系统的开发。本文主要内容是阐述程序员任务管理系统的开发流程。通过对软件进行需求分析、概要设计、详细设计、编码、测试等一系列完整的软件工程开发流程,掌握软件开发中的各个环节。

关键词:软件项目管理;软件工程;任务划分;系统管理;B/S架构

Software programmer task management system development

company

Abstract

Software industry has a new high-tech industry in our country rise. But compared with developed countries in terms of development capacity, or in the management level, there are still considerable gaps, especially behind the software development process management restricted the ability to play. As a software development company, the daily routine of work for the programmer and acceptance, and workload assessment is a complex task. How to design a system to solve the existing software distribution project so the smooth completion of the project is to solve this problem.

Paper for a software project management system design and implementation of work, from software development company programmers task partitioning, allocation and workload statistics, the detailed discussion of the programmers task management system implementation process and practical way. In this system, the main task to achieve a software development organization, software development tasks on-line distribution, completion of the task of the programmer software development, software development, testing and evaluation of task completion, the programmer workload statistics and so on. In order to achieve software development company for the operation of the programmer the task of good management, this paper refers to the operation of other software, some of the information being quoted in the task management system, international approach to the design of this system had a very good interpretation.

The content of graduation from a technical perspective, software engineering methods to analyze, to one based on B / S three-tier architecture, mainly using ASP.NET, C # as development language and SQL Server 2005 as database management software System. This article explained the main contents of the task management system programmer development process. Through the software requirements analysis, outline design, detailed design, coding, testing a full range of software engineering processes and master all aspects of software development.

Key Words: Software project management; software engineering; task partitioning; system management; B / S structure

目 录

1 绪 论 ............................................................................................................................... 1

1.1 前言 ............................................................................................................................ 1

1.2 国内外研究成果 ........................................................................................................ 1

1.3本文主要研究的内容 ................................................................................................. 2

2 核心技术介绍 ................................................................................................................... 4

2.1 B/S ................................................................................................................................ 4

2.1.1 B/S模式的优缺点 ............................................................................................. 4

2.2 ASP.NET . ....................................................................................................................... 5

2.3 SQL Server 2005 ........................................................................................................... 6

2.3.1 S QL Server 2005简介 ............................................................................................ 6

2.3.2 SQL Server 2005的优势和特点 ........................................................................... 6

3 需求分析 ........................................................................................................................... 7

3.1 可行性分析 ................................................................................................................ 7

3.1.1 技术可行性分析 . ................................................................................................. 7

3.1.2 社会可行性分析 . ................................................................................................. 7

3.1.3 经济可行性分析 . ................................................................................................. 8

3.1.4 法律可行性分析 . ................................................................................................. 8

3.2系统功能需求 ............................................................................................................. 8

3.1.1 用户登录 ............................................................................................................... 8

3.1.2 任务提交 ............................................................................................................... 8

3.1.3 用户信息管理 ....................................................................................................... 9

3.1.4 项目功能管理 . ..................................................................................................... 9

3.2系统运行要求 ........................................................................................................... 10

3.2.1 系统硬件环境 . ................................................................................................... 10

3.2.2 系统软件环境 . ................................................................................................... 10

4概要设计 .......................................................................................................................... 11

4.1系统工作原理网络结构图 ....................................................................................... 11

4.2系统的功能结构图 ................................................................................................... 11

4.3 总体框架设计 .......................................................................................................... 12

4.3.1显示层设计 . ........................................................................................................ 13

4.3.2事务逻辑层设计 . ................................................................................................ 14

4.3.3访问层设计 . ........................................................................................................ 14

4.4 数据库设计 .............................................................................................................. 14

4.4.1 系统ER 图设计 . ................................................................................................. 14

4.4.2 数据库表 . ........................................................................................................... 16

4.4.3 数据库的连接 . ................................................................................................... 18

5 详细设计 ......................................................................................................................... 19

5.1 系统功能设计 .......................................................................................................... 19

5.2 界面设计 .................................................................................................................. 19

5.2.1 登录页面设计 . ................................................................................................... 19

5.2.2 系统主页面设计 . ............................................................................................... 20

5.3功能模块设计 ........................................................................................................... 21

5.3.1 任务提交模块 . ................................................................................................... 21

5.3.3 用户信息管理模块 . ........................................................................................... 22

5.3.4 项目功能管理 . ................................................................................................... 23

5.4 公共类说明 .............................................................................................................. 26

6 系统的测试与分析 ......................................................................................................... 28

6.1 系统测试测试策略说明 .......................................................................................... 28

6.2 测试用例 .................................................................................................................. 28

6.2.1 对登录功能进行测试 . ....................................................................................... 28

6.2.2 对任务提交功能进行测试 . ............................................................................... 28

6.2.3 对用户信息管理进行测试 . ............................................................................... 28

6.2.4 对项目功能管理进行测试 . ............................................................................... 28

6.3 测试结果 .................................................................................................................. 29

6.4 测试评价 .................................................................................................................. 30

7 结论 ................................................................................................................................. 31

参考文献 ............................................................................................................................. 32

致 谢 ................................................................................................................................. 33

毕业设计(论文)知识产权声明 ..................................................................................... 34

毕业设计(论文)独创性声明 ......................................................................................... 35

1 绪 论

1.1 前言

信息技术的迅速发展使市场竞争异常激烈,因此给软件企业的发展带来了前所未有的压力。我国软件企业结合自身企业的特点生产出自己的软件项目管理系统来提升对项目的估计与控制能力,在实现自己企业信息化的过程中开发出能满足其他企业信息化的、能为其他企业创造最大价值的优秀的产品,使自己立于不败之地是一个值得研究的重要课题,特别在软件项目工程中对软件开发的任务分配以及进度管理等部分是项目工程管理中的重中之重。软件产业已经作为一个新兴的高技术产业在我国崛起。但与发达国家相比,无论在开发能力还是在管理水平上都还存在相当大的差距,尤其是落后的软件过程管理制约了开发能力的发挥。软件外包是我国软件业发展的一个机会,也是一种挑战,要提高我国软件外包份额比例和利润率,就得要先解决我国软件企业普遍存在的规模小、软件过程能力低的问题,这就要求我们要有一套完整的软件项目管理系统。

开发软件开发公司程序员任务管理系统目的是为了将企业在软件开发过程中的对于程序员的管理进行更进一步的优化和对其的任务完成情况以及质量进行有效的了解和控制。通过内部评估诊断我们发现,程序员其实也很希望能够按照我们的过程规范来开展工作,但我们的过程规范似乎每一步工作都有规程,都有条条框框,工作量的数据、缺陷记录等,但是大部分的研发人员认为大量低层次的沟通和大量的文档浪费了他们很多时间,他们愿意按照过程规范去做,但并不希望成为过程专家。这给软件过程的实施带来了极大的挑战。

1.2 国内外研究成果

国内外技术现状:软件项目管理最早源自于70年代中期。当时美国国防部曾立题专门研究软件项目做不好的原因,发现70%的项目是因为软件过程管理不善引起的,而并不是因为技术实力不够,进而得出一个结论,即软件过程管理师影响软件研发项目全局的因素,而技术只是影响到局部。从那时开始,业内人士就着手软件项目管理的研究,到目前为止,在该领域起着重要作用的管理思想有:软件能力成熟度模型集成 CMMI和1509000系列标准。

我国软件企业起步较晚,从80年代发展至今,经过这20年来的成长,发展了一些具有一定规模的软件企业,但总体来说规模不够、开发成熟度不高,普遍存在软件生产低效性,大多数项目不是延期、成本上升,就是品质低、返工现象严重,软件过程能力低。我国的许多软件企业在发展的过程中,长期忽视了企业的信息化,特别是

软件过程管理信息化,为追求短期的效益而忽略了重要的软件过程控制和开发流程,使得软件的质量很难达到预期的目标。在软件业发达国家的软件企业中,非常重视软件过程管理的信息化,达到要求的成熟度有助于提高公司的软件开发与项目控制能力,提高公司在国际软件业的地位和信誉度。

1.3本文主要研究的内容

程序员管理任务管理系统包括:用户登录模块、文件提交模块、系统管理功能模块和项目管理功能模块。

用户登录模块是为了判定用户的登录用户名和密码的正确性所设定的。

文件提交模块主要是程序员的程序任务进度情况、测试员的测评情况、测试员对程序员的反馈信息、对个人工作的评价信息的提交以及对每天的所有已执行任务的汇总文件提交。

系统管理功能模块主要包括:个人信息管理、部门员工管理。个人信息管理主要为用户密码修改等功能。部门员工管理可以添加,修改,删除员工信息。

项目功能管理模块主要包括:任务划分、工作量统计、项目进度管理、项目质量管理。

任务划分:项目经理可以将项目的每一个任务分配给具体的人,并设定本人任务的时间以及本任务的说明,是进度管理的依据。

工作量统计:根据不同项目的项目系数,软件质量以及任务的完成情况,依据合理的量化计算方式,统计出各程序员的具体工作量情况,以便完成对工作人员的量化管理。

项目进度管理:对任务的执行情况进行跟踪,可以查询任务的执行进度,以便于实行对项目任务的合理分配。

项目质量管理:目的是让上层管理人员对项目完成的实际情况作出明确的了解,以便于去对各自员工的能力比较直观的了解。

设计方案:

应用实现上采用即Browser/Server(浏览器/服务器) 结构,整个系统由Web 浏览器,Web 服务器和数据库服务器三层组成,应用程序存放在Web 服务器上,数据库存储在数据库服务器中,用户可以在Internet 上任意客户端上的浏览器中通过Web 服务器管理,访问数据库中的公司信息。因此系统具有大用户量支持、良好的可伸缩性和可移植性等优点。

设计方法:

采用基于C#的数据库访问技术:ASP.NET ,使应用程序具有C#语言的平台无关性,因而系统具有良好的移植性。

使用ASP.NET+C#模型,在C#中实现数据库连接池,提高了连接的使用效率和应

用程序访问数据库的性能,同时利用C#封装了对数据库的增加、查询、删除、更新等操作,提高了代码的重用性,简化ASP.NET 应用程序的编程。

本系统选用B/S结构模式;系统的开发以Windows xp中文版操作系统为服务器网络操作系统,IIS 为Web 服务器 ,SQLSERVER 2005为数据库服务器, Windows xp为客户端操作系统。

2 核心技术介绍

2.1 B/S

传统的软件系统设计都采用的是C/S结构,即客户端/服务器结构。它主要是由两部分组成,一部分是服务器端程序,负责数据的处理和存储;另一部分是客户端,客户端通常是一个安装程序,它在客户机上拥有自己的处理程序,可以独立对用户数据进行处理和存储,并可以和服务器进行直接连接传递数据。

B/S结构的软件是相对传统的C/S结构而言的。C/S结构将程序分为两部分,一部分是由多个用户共享的信息与功能,这部分称为服务器端;另一部分是为每一个用户所专用,称为客户端。C/S结构应该具有这样的特征:客户端、服务器端都安装相应的软件,客户端、服务器端各完成相应的计算工作,服务器端保存数据库。而B/S结构应该具有如下特征:服务器端都安装相应的软件,客户端不安装任何软件(不需要维护) 。客户端运行程序是靠浏览器软件(如IE, Netscape 等)

登陆服务器进行的。客户端在浏览器里完成一定的计算任务。

图2.1基于Web 的浏览器/服务器B/S (Browser/Server)结构示意图

2.1.1 B/S模式的优缺点

1、B/S结构的优点

具有分布性特点,可以随时随地进行查询、浏览等业务处理。

业务扩展简单方便,通过增加网页即可增加服务器功能。

维护简单方便,只需要改变网页,即可实现所有用户的同步更新。

开发简单,共享性强

2、B/S 模式的缺点

个性化特点明显降低,无法实现具有个性化的功能要求。

操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。

依赖网络,响应速度明显降低。

功能弱化,难以实现传统模式下的特殊功能要求。

2.2 ASP.NET

ASP.NET 是基于通用语言的编译运行的程序,它的强大性和适应性,可以使它运行在几乎所有的windows 操作系统的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net 的Web 应用中。ASP.ne t 同时也是language-independent 语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java 的结合体),VB ,Jscript 。

ASP.NET 一般分为两种开发语言,VB.NET 和C#,C#相对比较常用,因为是.NET 独有的语言,VB.NET 则为以前VB 程序设计,适合于以前VB 程序员。

ASP.NET 优点主要表现在:

可管理性:

ASP.NET 使用基于文本的、分级的配置系统,简化了将设置应用于服务器环境和 Web 应用程序的工作。配置文件的任何变化都可以自动检测到并应用于应用程序。

易于部署:

通过简单地将必要的文件复制到服务器上,ASP.NET 应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。

增强的性能:

ASP.NET 是运行在服务器上的已编译代码。与传统的 Active Server Pages (ASP) 不同,ASP.NET 能利用早期绑定、实时 (JIT) 编译、本机优化和全新的缓存服务来提高性能。

扩展性和可用性:

ASP.NET 被设计成可扩展的、具有特别专有的功能来提高群集的、多处理器环境的性能。此外,Internet 信息服务 (IIS) 和 ASP.NET 运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。

与 .NET Framework 集成:

因为 ASP.NET 是 .NET Framework 的一部分,整个平台的功能和灵活性对 Web 应用程序都是可用的。也可从 Web 上流畅地访问 .NET 类库以及消息和数据访问解决方案。ASP.NET 是独立于语言之外的,所以开发人员能选择最适于应用程序的语言。

另外,公共语言运行库的互用性还保存了基于 COM 开发的现有投资。

另外ASP.NET 优点还包括了ASP.NET 启用了分布式应用程序的两个功能:Web 窗体和 XML Web 服务。相同的配置和调试基本结构支持这两种功能。

Web 窗体技术使您建立强大的基于窗体的网页。Web 窗体页面使用可重复使用的内建组件或自定义组件以简化页面中的代码。

使用 ASP.NET 创建的 XML Web 服务可使您远程访问服务器。使用 XML Web 服务,商家可以提供其数据或商业规则的可编程接口,之后可以由客户端和服务器端应用程序获得和操作。通过在客户端/服务器和服务器/服务器方案中的防火墙范围内使用标准(如 XML 消息处理和 HTTP),XML Web 服务可启用数据交换。以任何语言编写的且运行在任何操作系统上的程序都能调用 XML Web 服务。

2.3 SQL Server 2005

2.3.1 SQL Server 2005简介

SQL Server 2005是微软公司的大型数据库服务器,其性能指标在各方面都有赶超Oracle 数据库的趋势。从SQL Server 2000到SQL Server 2005,不仅仅是数据库系统具有更高的性能、处理能力,新版本的系统还带来了许多新的、在旧版本中从未出现的特性。而这些新特性也都是和现代数据库的发展方向一致的。

2.3.2 SQL Server 2005的优势和特点

(1)可编程性:CLR (Common Language Runtime,公共语言运行时)集成。CLR 集成是指你可以使用任何一种.NET 语言编写SQL Server 2005 的存储过程,触发器,函数,自定义类型,甚至是自定义的聚合函数。想想以前的扩展存储过程,编程非常不容易。代码中一不小心就会引起内存泄漏。

(2)安全性:SQL Server 2005 的安全达到了很强大水平,有着很更清晰的安全模型即主体,安全对象和权限。

(3)异步处理能力:Service Broker 提供了一个功能强大的异步编程模型。Broker 的最大好处一是异步执行能力,提高了可伸缩性,二是可靠执行,三是集成于数据库中,备份数据库就备份了broker 的消息队列。

(4)支持通过HTTP SOAP 协议直接访问数据库,增加XML 数据类型,支持Xquery ,使用新的SQL ServerManagement Studio 等等。

以前都是大项目用ORACLE 或者DB2,因为只有ORACLE 和DB2能胜任,现在情况有些变化了。不少在Windows 构架下的大项目还是倾向于用SQL 的,像镜像,高可用性,页面级的恢复,联机索引,多CPU 支持等高级特性,SQL 也不比ORACLE 差。

3 需求分析

在对软件系统进行详细的需求分析之前,首先进行技术可行性分析。通过对现有且成熟的软件系统开发语言进行分析,并结合开发人员自身的业务水平,分析使用各个开发语言所需要的时间、花费等,从而得出此软件系统是否有必要进行开发。当此软件系统值得开发时,才进入下一步,既需求分析。需求分析是通过对软件功能的假象,分析系统在现有的技术下,可以实现的各种功能及相关需求。并将此分析作为日后软件系统开发的重要依据。

3.1 可行性分析

3.1.1 技术可行性分析

程序员任务管理系统采用基于B/S的三层体系结构。用户可以在任意网络环境中使用任意一个流浏览器,即可对系统进行操作管理。B/S结构具有分布性特点,可以随时随地利用浏览器进行查询、浏览等业务处理,不受客户机限制。浏览器于服务器之间使用HTTP 协议进行通讯,服务器得到浏览器服务请求之后,进行数据的相关处理。当数据处理完成之后,将处理结果通过HTTP 协议返回给客户机浏览器。

具体实施办法包括:

由于B/S架构业务扩展简单方便,通过增加相应功能页面即可增加服务器功能。 维护简单方便,只需要改变网页,即可实现所有用户的同步更新。开发简单,共享性强,不同浏览器兼容性良好,不同服务器架构也可无缝移植,无需重新编译代码。因此整个系统开发难度也较低。

服务器端采用Apache 作为Web 服务器,其功能是接受远程用户的访问请求并作出回复。采用SQLServer2005作为数据库,用来存储系统的所有数据。由于ASP.NET 、C#和SQL Server 2005在应用上都是很普遍的,且市面上有很多相关书籍介绍,无论从技术角度还是从适用性角度都没有困难。

在客户端中,通过ASP+SQL Server 2005,实现调用服务器和客户机对数据进行处理,并能实时在网页上显示处理结果。这些技术都是时下非常成熟的技术,且有大量的教程以及示例用来学习,所以从技术角度来分析也是没有困难的。

3.1.2 社会可行性分析

现代社会已经步入信息高速发展的时代,在对于公司项目的任务管理方面,只依靠人为的去操作会出现很多弊端,选择应用任务管理系统不但能更好的对当前项目进行管理,而且能对公司的管理运作形成良好的监管制度,从而达到提升效率的效果。

目前已经成为了软件开发中必须的工具。

3.1.3 经济可行性分析

对于软件公司程序员任务管理系统来说,其应用的技术手段投资很少,并且在管理系统投入使用之后,可以在对软件项目的管理中不再陷入不必要的混乱,能更合理的安排工作到个人,使工作的进度效率得到提升,应用先进的工作量量化管理辅助公司人员管理,能够给公司的员工考核以及员工的竞争力方面都有提升,从另一方面节约了软件开发的成本,避免了多次重复效率不高的工作。

3.1.4 法律可行性分析

本系统的开发是由本人在指导老师的指导下完成,不涉及任何公司任何个人的私有信息,不存在任何侵权和知识产权问题。

3.2系统功能需求

程序员任务管理系统总的目标是:实现软件开发任务的组织,软件开发任务的网上分配,每日的工作安排,每日的工作验收,实时统计程序员日常工作量,程序员软件开发任务完成提交,软件开发任务完成情况测试与评价。

经过前期的可行性研究,结合现有实际情况,程序员任务管理系统采用B/S架构开发,开发语言为C#,数据库采用SQL Server 2005。系统功能主要包括:用户登录,文件提交,系统功能管理,项目功能管理四个方面。

3.1.1 用户登录

用户登录包括不同权限的用户对系统的操作影响。可以通过用户名和密码的验证来判断是否成功登录,并且通过对当前用户的权限判断,来决定到底跳转到哪个页面。当用户名或密码输入错误的时候,提示错误信息。

3.1.2 任务提交

任务提交包括对目前的任务进展情况,任务完成质量情况以及程序员与测试员当天的工作内容进行上传管理。

上传文件:对上传的文件将其存储在服务器端的固定文件夹内,数据库中标示其所有的路径信息。方便对文件的管理,并且在上传文件的同时,在文件前方自动生成真实名称,即上传文件的原有名称前添加文件编号,用于多个相同文件上传时,原有文件不被覆盖。

文件下载:可以通过的文件名称或者上传时间进行对所有文件的模糊查询。并且根据权限的不同,可以选择删除原有文件,或者下载选定文件。

3.1.3 用户信息管理

用户信息管理主要分为两部分。

第一部分是个人信息管理,即所有用户可以对当前自己的密码进行修改操作。 第二部分是部门员工管理,即项目经理可以对所有员工的信息进行修改,删除,添加等操作。针对不同类型的用户,可以设置不同的权限,低权限的用户无法进行高级操作。主要包括对用户名,密码,权限的分配,以及删除,查询功能。

3.1.4 项目功能管理

本功能为程序员任务管理系统的核心功能。主要是对软件项目进行统一的管理,包括任务划分,任务分配,项目进度以及工作量统计。

任务划分:任务划分是产生任务的地方,由项目经理将要完成的项目根据模块或者功能划分成为独立的任务,划分的任务应该尽量保持高内聚,低耦合,以降低对成员之间交流的依赖程度,让大多数成员无需考虑太繁杂、不相干的东西,对于划分好的任务,要仔细分析其难点和工作量,这些都是任务分配所必须的约束条件。

任务分配:任务分配的实施者是项目经理,任务分配的目的是将每一个任务分配给具体的人,并设定本人任务的开始时间、结束时间、参加评审人,是进度管理的依据,任务分配由项目经理根据实际情况做出调整。任务分配的原则是减少对交流的依赖,对于不同的人来说,同一个任务的难度是不相同的,因此要调整分配,让合适的人做合适的工作,减少整体难度,分配过程中,尽量把高耦合的任务分配给一个员工,避免把过多过琐碎的无关任务分配给同一个人。

项目进度:进度管理的目的是对任务的执行情况进行跟踪,可以以多种方式查询任务的执行进度,统计在执行过程中的进度执行状况,是项目经理调整计划,以及实施下一步计划的重要依据。

工作量统计:根据项目系数,软件质量以及任务的完成情况,根据不同公司的规模大小以及管理制度,制定不同的计算规则,可以相对直观的体现出程序员在项目中的工作量等信息,是项目经理对任务分配原则的宏观把握的依据。在人月神话一书中比较深刻的阐述了当前的软件系统问题,并且根据其中的理论验证,工作量的统计方式不论在国际还是在国内都没有一个统一的标准,不同公司的不同标准只是反应了其公司的规模以及其管理层人员对待员工的水平而已,这也是管理层对管理员工方面的一处很头疼的地方,而且,工作量在不同的场合的度量方式也是不相同的。对于需求和设计阶段来说, 量上当然是文档的页数, 质量上应该是复杂度和每页发现的缺陷数是否达到了质量目标; 编码阶段就是代码量+缺陷密度; 测试阶段是每天的用例执行数; 对于此系统,我采用的方式是目前国内中小型企业一般情况下采用的量化方式,即工作量受软件质量,项目系数以及任务的总体完成情况制约。软件质量受当前软件的

BUG 等级和每千行代码的BUG 个数,回归次数。模块的重要系数来决定。项目总体系数的制定,是根据本项目是否应用新技术,是否有过成功的开发经验等条件进行判断。

3.2系统运行要求

3.2.1 系统硬件环境

a. 服务器端

处理器:Inter Core T2450 2.0GHz 或更高

内存:1GB 以上

硬盘空间:80GB

光驱:DVD/CD-RW combo

显卡:ATI HD2300

b . 客户端

因为客户端主要用于浏览和操作数据,所以对客户端的硬件要求不高,不过现在的电脑具有很高的性价比,因此需要的配置应该高于下面的配置:

处理器:Inter Pentium 1.0GHz 或更高

内存:32MB

硬盘空间:40GB

3.2.2 系统软件环境

a. 服务器端

操作系统:Windows XP及其以上版本

网络协议:TCP/IP

web 服务器:Internet Information Server6.0

数据库:Mircrosoft SQLserver2005

浏览器:Internet Explorer 6.0以上

b. 客户端

操作系统:Windows 98/2000/2003/XP/7

网络协议:TCP/IP

浏览器:Internet Explorer 6.0以上

4概要设计

4.1系统工作原理网络结构图

计算机计算机

图4.1 系统工作原理网络结构图

4.2系统的功能结构图

图4.2 系统功能结构图

4.3 总体框架设计

根据.NET 的结构体系,对软件项目管理系统实行层次化处理,使层与层相对独立,每层的变动不会对其它层造成太大的影响,不会引起其它层的太大的变动,而且为增加功能、扩展系统提供方便。本系统采用三层结构为:显示层 (Presentation Layer) 、事务逻辑层 (Business Layer) 、数据访问层 (DataAccess Layer) 。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。系统体系结构图如图4.3。

图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 页面构成,用户的所有输入都由这些页面来完成。同样系统的所有输出也在这里显示。

ASP.NET 页面文件.ASPX 为视图,.ASPX.CS 文件为控制器,模型只与数据库相关,与视图不相关。这样就实现了不懂程序设计的人员避开程序数据,这样在系统具体设计中将1. 减少代码重复;2. 分离职责和问题:通过分离视图和模型,各个领域的专业人员可以并行工作;3. 优化的可能性:将职责分成特定的类可以提高进行优化的可能性。在某些情况下可以对数据进行缓存,这样可以提高应用程序的总体性能。但是,

如果不分离代码,缓存数据就会很难实现,或者不可能;4. 可测试性:通过将模型与视图分离,您可以在ASP.NET 环境以外测试模型。

4.3.2事务逻辑层设计

为了避免用户直接与数据库打交道,减轻数据库的负荷,软件项目管理系统把所有业务逻辑处理放在ASP.NET 页面的后台文件(.ASPX.CS)和业务逻辑处理类中,由其负责响应用户的服务请求,再按需求调用业务逻辑处理类中相关函数,此函数再调用数据库层函数对用户服务请求进行业务处理,处理完后将结果返回给用户。这里用户通过浏览器与Web 服务器进行交互。

4.3.3访问层设计

应用必须永久保存一些对象,因此必须用数据访问层来提供这些服务,数据访问层设计是系统设计中很重要的一部分,设计质量的好坏,数据结构的优劣,直接影响到系统的成败,数据访问层设计是对一个给定的应用环境,构造最优的数据库层模式,建立数据库及其应用系统,使之能够有效地存取数据,满足各种用户的应用需求。程序员任务管理系统数据库确定采用SQL Sever 2005数据库系统。

4.4 数据库设计

4.4.1 系统ER 图设计

ER 图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。

用户(用户名,密码,用户权限,用户说明,已有任务)

图4.4.1 用户ER 图

任务(任务名称,任务内容,任务进展,起始时间,结束时间,任务难易度,任务分配,任务完成质量,任务完成者,工作量)

图4.4.2 任务ER 图

项目(项目名称,项目编号,项目简介,新技术应用,开发经验,总体系数)

图4.4.3 项目ER 图

文件(文件名称,文件路径,文件上传时间,文件真名)

图4.4.4 文件ER 图

存在问题(问题名称,问题信息,发现问题时间,发现问题者)

图4.4.5 存在问题ER 图

4.4.2 数据库表

根据ER 图设计中的内容确定了所有表和字段的属性。本系统的数据库表如下所示:

用户表中记录的是可以登录系统的用户账户信息。 系统用户表tb_user,如表4.1

表4.1 用户表:tb_user

列名 UserID UserName Passwd role Information Have

数据类型 int (主键自增)

Int varchar int Varchar Varchar

长度 32 100 100

说明 用户序号 用户登录名

密码 用户权限 用户说明 已有任务

任务表主要存储的是系统中的任务分配信息。 任务表task ,如表4.2

表4.2 任务表:task

列名 Taskid Taskname Taskprogress

Task Taskdistribution Taskdifficult Taskquailty

数据类型 Int (主键自增)

Varchar Varchar Text Varchar Int Varchar

长度 30 10 10 10

字段说明 任务表中序号 任务名称 任务进展 任务内容 任务分配 任务难易度

Taskstartime Taskfinishtime Taskpname Tasked Taskpingce BUGlevel BUGs Coefficient

Datetime Datetime Varchar Int Varchar Float Float Float

10 10

任务起始时间 任务结束时间 任务完成者 工作量 任务评测者 BUG 等级 千行BUG 数 项目总体系数

项目表主要存储的是各个不同项目之间的信息。 项目表project ,如表4.3

表4.3 项目表:project

列名 projectid Projectname Projectnumber

project newTechnology projectExperience Coefficient

数据类型 Int (主键自增)

Varchar Varchar Text Varchar Varchat Float

长度 30 10 10 10

字段说明 项目表中序号 项目名称 项目编号 项目简介 是否应用新技术 是否有开发经验 项目总体系数

文件上传表主要存储的是经过上传之后的文件路径以及其名称。 文件上传表tb_files,如表4.4

字段名称 fileId Filename Fileupdate Fileload Filetruename

字段类型 Int(主键自增) Varchar Varchar Varchar Varchar

字段长度

50 30 200 50

字段说明 本表中序号 文件名称 文件上传时间 文件上传保存路径

存在问题信息表主要存储的是测试人员对某段代码提出的问题等。 存在问题信息表bug ,如表4.5

表4.5 存在问题信息表:bug

字段名称 bugid bugname Bugtext Feedname Feedtime

字段类型 Int(主键自增) varchar Text varchar Datetime

字段长度

50 10

字段说明 本表中序号 问题名称 问题信息 发现问题人员 发现问题时间

4.4.3 数据库的连接

在整个系统开发过程中,数据库的连接是必不可少的,对于数据库的连接设计将其内容封装在一个类里面,文件名为DB.cs ,在所有与数据库的连接页面调用类中的方法就可以连接和打开数据库。

数据库连接的相关代码如下:

在.NET 项目中一般与数据库的所配置的连接字符串都放在web.config 配置文件里面,如下所示

key="ConnectionString"

value="server=PC-[1**********]3;Uid=sa;pwd=123456;database=biyesheji;"/>

通过ConfigurationManager.AppSettings["ConnectionString"].ToString()(此方法在DB.cs 中)获得字符串A ,当需要连接数据库时,使用A 的一个属性Connection 通过SqlConnection mycon=new Sqlconnection(A.ConnectionString)这样的实例化,创建一个SqlConnection 的对象,

接着创建SqlCommand 执行命令对象,SqlCommand myCmd =new SqlCommand (”SQL 语句”, ”mycon ”)

这样只要执行mycon.open(),数据库的连接算是完成了,并且会得到上面写到得SQL 语句的结果,但这只是开始,接下来将要对数据库的数据进行实际的操作。可以通过SqlCommand 中的方法ExecuteReader()、ExecuteScalar()、ExecuteXmlReader()、ExecuteNonQuery()根据不同的需求得到不同的对象, 从而对数据库进行增删改查的操作。

5 详细设计

5.1 系统功能设计

程序员任务管理系统在功能模块上分为用户登录模块,任务提交模块,用户信息管理模块,项目功能管理模块。

用户登录系统首页后,首先判断用户名密码的正确性,通过后进行其权限的判定,不同权限的账户跳转至不同的页面。用户登录成功后进入各自主页面,可以分别对任务提交、用户信息以及项目功能管理模块进行不同的操作。如果出现对数据对错误操作,则会终止当前动作并且弹出错误提示符,并且恢复至当前页面。

5.2 界面设计

网页结构和框架的合理性可以提高网站的可操作性,从而提高客户访问网站的效率,让客户更快的了解公司。不仅如此,好的网站结构还能够帮助网页在搜索引擎中占据理想的位置。设计网站的整体结构不仅能够规范网站的风格,而且能够方便以后的开发工作,具有很重要的意义。依据需求分析中的系统相关功能要求,设计各个功能页面。要求是各个功能页面应在完整实现系统全部功能的前提下尽量简洁直观,整个界面不宜复杂纷乱。 5.2.1 登录页面设计

登录界面主要由用户名输入框、密码输入框、提交按钮等几部分组成。用户如果有自己的用户名和密码就可直接在登录界面输入用户名和密码,如果都输入正确即登录成功,进入到主界面,否则,会提示相应的错误信息。如图5.2:

图5.2 登录页面

5.2.2 系统主页面设计

网页的框架在网页的设计中是非常重要的一个环节,有了良好和简洁的页面框架,会使用户在使用页面时更加简洁,网页设计的整体结构不但能使用户方便,而且能方便以后开发工作等,有很重要的意义。为了能使系统界面看起来更加美观和简便,系统主页面的框架图如下图5.2.1,5.2.2所示:

图5.2.1 系统框架图

图5.2.2 系统主页面

5.3功能模块设计

5.3.1 任务提交模块

任务提交模块包括对文件的上传,下载,管理等内容。在fileup.aspx 文件中实现了文件的上传管理,点击增加上传文件可以用来实现多文件的同时上传功能。如图5.3.1

图5.3.1 文件上传页面

文件的管理实现是在FilesManageList.aspx 中,通过文件名称关键字或者文件创建时间,可以对数据库列表中的文件进行模糊查询,点击文件下载,跳出文件下载提示框,选定要存放的路径等信息,可以实现文件下载的功能。点击永久删除,则当前文件被删除。如图5.3.2

图5.3.2 文件下载页面

5.3.3 用户信息管理模块

用户信息管理模块主要实现对个人信息的管理以及对部门员工的管理操作。包括个人对密码的修改,以及项目经理对部门员工信息的增删等操作。

部门员工管理:在项目经理主页面页面点击管理用户之后,跳转至此页面。在此页面,项目经理可以对所有员工进行添加、编辑、删除等功能。点击编辑按钮,项目经理可以直接修改所有员工账号所对应的密码,如果想要删除该用户,点击删除按钮,

并且在弹出的提示框中点击确定或者取消来完成对用户的删除功能。如图5.3.3

图5.3.3 部门员工管理页面

个人密码修改:在用户主页点击修改密码跳转至用户管理页面,并且根据当前Session 中存储的UserID 在数据库中自动查询与当前UserID 符合的条目,并且加以显示,点击编辑,在输入旧密码和新密码等信息的基础上,点击修改密码。则修改完

成。如图5.3.4

图5.3.4 个人密码修改页面

5.3.4 项目功能管理

项目功能管理模块主要包括项目分配,任务划分,任务分配,项目进度和工作量统计。

新建项目页面主要完成不同项目之间的信息管理,对应有是否应用新技术和是否有类似的项目开发经验,是工作量统计中的一个量化标准,如图5.3.5.

5.3.5 新建项目界面

在项目经理页面单击任务划分。在此页面下输入要划分的任务名称,任务困难度,任务内容等信息,如果输入框中的内容为空,提示提交失败。如图5.3.6

图5.3.6任务划分页面

任务分配页面的主要元素为任务名称,程序员名称,指定测试员名称,起始时间和结束时间,用户可以根据在页面右侧的数据库查询来合理安排工作,如图5.3.7所示,任务分配时,首先会将所有未分配的任务显示出来,选择程序员和测试人员时,会将其个人说明内容显示出来,以便于了解个人情况,使任务分配更加合理化。

5.3.7

任务分配页面

在项目经理页面点击任务进度管理,通过输入要查询的结束时间,可以查询在结束时间之前的所有任务情况统计,包括任务的进展信息,任务的困难度,任务完成质

量等,方便项目经理对整个程序的整体把握。如图5.3.8

图5.3.8 项目进度查询页面

通过要查询的项目成员,根据项目的总体系数,软件质量和任务的进展信息得到当前员工的工作量,依据公司规模的大小以及管理制度,制定合适的计算规则,完成工作量的量化,工作量的情况查询,是项目经理的计划修改以及任务分配的把握依据。如图5.3.9

图5.3.9 工作量统计

5.4 公共类说明

本系统公共类名为DB.cs ,存放在App_Code下,主要实现了连接数据库等各方

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,查询条件:未完成。

(3)任务查询,当前用户1101,查询条件:空。

(4)任务进度,查询日期:2010-5-4。

(5)任务质量,查询目标用户:1101。

6.3 测试结果

根据制定好的测试策略已经测试用例,对本系统的测试结果如下表6.3所示。

6.4 测试评价

通过调试测试,系统能正常运行,基本完成了需求分析中的相关功能,但是

由于测试条件有限,应该还有一些小问题需要改进。总体来说,达到了预期效果。

7 结论

经过约三个多月的设计和开发,软件公司程序员任务管理系统基本开发完毕。本

系统能够完成基本的任务划分,分配以及对项目的进度查询等方面的内容。, 基本实

现开题报告中所陈述的功能。但由于本人技术和经验所限,该系统还有许多不尽如人

意的地方,还有待在以后的学习过程中逐步改善。

在整个毕业设计过程中,我也出现过很多的问题。在不断的学习和和翻阅资料解

决问题的过程中,我深刻体会到学习的重要性。毕业设计作为我们自己动手完成的一

个项目,为我们创造了很好的机会去锻炼自己的能力,使我了解到只有在不断的虚心

学习中才能不断进步。毕业设计的完成除了给了我成就感和自豪感之外,也让我明白

自己的不足之处,正所谓学无止境,人的一生都必须时刻虚心学习。

对于软件开发来讲,前期的准备工作往往占据了很大的工作量。只有对系统进行

了详细具体的需求分析和设计,才能在日后的编码过程中事半功倍。最初我也正是因

为没有充分的重视前期的准备工作,导致我最后阶段的很不顺利。这个过程也让我明

白一个道理:任何工作都需要在前期的准备工作中彻底细致,这样才不至于在以后付

出额外的功夫却得不到应有的回报。

在本次毕业设计过程中,经过不断查阅书籍和上网检索,让我克服了摆在我面前

的非常多的难题,使我少走了很多弯路。知识是一代一代人的智慧结晶所累积起来的,

只有承前,充分的学习到更多的东西,才能够无往而不利。

通过这次毕业设计,我深刻体会到要做好一件事情,需要有系统的思维方式和方

法。同时我也深刻的认识到,在对待一个新事物时,一定要从整体考虑,完成一步之

后再作下一步,这样对于接受和认识他而言才能更加有效。

参考文献

参考文献

[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].科学出版社,2003 12

[10]李严, 于亚芳, 王国辉等. 《ASP.Net 数据库开发实例解析》[M] .机械工业出版

社 ,2004 12

[11]王国辉、牛强、李南南等. 《ASP.Net 工程应用与项目实践》[M] . 机械工业出版

社,2005 4

[12]高峰霞 .《ASP.Net 动态网站开发教程》[M] .清华大学出版社,2000 6

[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.GuidelinesforImprovingtheSoftwar

e Proeess.Addison一Wesley ,1995

[19] 姚慧广,赵岳松.WEB 编程中MVC 模型的应用. 微机发展.2002

致 谢

感谢导师乔奎贤老师的关心、指导和教诲。在我完成本次毕业设计的过程中,乔奎贤老师给予我细心的指导,一起讨论系统的需求和实现,耐心的给我讲解在设计上的我的欠缺,这些渗透在生活和学习中的点点滴滴都让我受益匪浅,在此我由衷的对乔奎贤老师表示感谢。

同时,我还要感谢我的同学,是他们在我遇到困难的时候陪我一起寻找解决的方案,在克服掉眼前困难的时候勉励我继续奋斗,正因为有了大家的支持,我的毕业设计才能顺利的按时完成。

感谢我的导师、学友和朋友们对我的关心和帮助。

毕业设计(论文)知识产权声明

本人完全了解西安工业大学北方信息工程学院有关保护知识产权的规定,即:本科学生在校攻读学士学位期间毕业设计(论文)工作的知识产权属于西安工业大学信息工程学院。本人保证毕业离校后,使用毕业设计(论文)工作成果或用毕业设计(论文)工作成果发表论文时署名单位仍然为西安工业大学信息工程学院。学校有权保留送交的毕业设计(论文)的原文或复印件,允许毕业设计(论文)被查阅和借阅;学校可以公布毕业设计(论文)的全部或部分内容,可以采用影印、缩印或其他复制手段保存毕业设计(论文)。

(保密的毕业设计(论文)在解密后应遵守此规定)

毕业设计(论文)作者签名:

指导教师签名:

日期:2010年5月4日

毕业设计(论文)独创性声明

秉承学校严谨的学风与优良的科学道德,本人声明所呈交的毕业设计(论文)是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经发表或撰写过的成果,不包含他人已申请学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了致谢。

毕业设计(论文)与资料若有不实之处,本人承担一切相关责任。

毕业设计(论文)作者签名:

指导教师签名:

日期:2010年5月4日

西安工业大学北方信息工程学院

本科毕业设计(论文) 题目:软件开发公司程序员

任务管理系统的设计与实现

系 (部): 计算机信息与技术

专 业:班 级: 学 生:

学 号:指导教师:

2010年 06月

软件开发公司程序员任务管理系统

摘 要

软件产业已经作为一个新兴的高技术产业在我国崛起。但与发达国家相比,无论在开发能力还是在管理水平上都还存在相当大的差距,尤其是落后的软件过程管理制约了开发能力的发挥。作为软件开发公司,日常对于程序员的每日工作安排及验收,以及工作量的考核是一项复杂工作。如何设计一个系统来解决软件项目中存在的分配问题,使项目能够顺利完成,就是本文要解决的问题。

论文进行了软件项目管理系统的设计与实现工作,从软件开发公司程序员任务的划分,分配以及工作量统计等方面,具体的讨论了程序员任务管理系统实现的过程以及可行的方式。在本系统中,主要实现了软件开发任务组织,软件开发任务网上分配,程序员软件开发任务完成提交,软件开发任务完成情况测试与评价,程序员工作量统计等内容。为了达到软件开发公司对于程序员任务的良好管理运作,本论文引用了其他软件的一些运作信息,在任务管理系统之中引用国际化的方式,对本系统的设计理念进行了很好的诠释。

本次毕业设计的内容是从技术角度,通过软件工程的方法进行分析,进行一款基于B/S三层体系结构,主要使用ASP.NET 、C#作为开发语言和SQL Server 2005作为数据库的软件管理系统的开发。本文主要内容是阐述程序员任务管理系统的开发流程。通过对软件进行需求分析、概要设计、详细设计、编码、测试等一系列完整的软件工程开发流程,掌握软件开发中的各个环节。

关键词:软件项目管理;软件工程;任务划分;系统管理;B/S架构

Software programmer task management system development

company

Abstract

Software industry has a new high-tech industry in our country rise. But compared with developed countries in terms of development capacity, or in the management level, there are still considerable gaps, especially behind the software development process management restricted the ability to play. As a software development company, the daily routine of work for the programmer and acceptance, and workload assessment is a complex task. How to design a system to solve the existing software distribution project so the smooth completion of the project is to solve this problem.

Paper for a software project management system design and implementation of work, from software development company programmers task partitioning, allocation and workload statistics, the detailed discussion of the programmers task management system implementation process and practical way. In this system, the main task to achieve a software development organization, software development tasks on-line distribution, completion of the task of the programmer software development, software development, testing and evaluation of task completion, the programmer workload statistics and so on. In order to achieve software development company for the operation of the programmer the task of good management, this paper refers to the operation of other software, some of the information being quoted in the task management system, international approach to the design of this system had a very good interpretation.

The content of graduation from a technical perspective, software engineering methods to analyze, to one based on B / S three-tier architecture, mainly using ASP.NET, C # as development language and SQL Server 2005 as database management software System. This article explained the main contents of the task management system programmer development process. Through the software requirements analysis, outline design, detailed design, coding, testing a full range of software engineering processes and master all aspects of software development.

Key Words: Software project management; software engineering; task partitioning; system management; B / S structure

目 录

1 绪 论 ............................................................................................................................... 1

1.1 前言 ............................................................................................................................ 1

1.2 国内外研究成果 ........................................................................................................ 1

1.3本文主要研究的内容 ................................................................................................. 2

2 核心技术介绍 ................................................................................................................... 4

2.1 B/S ................................................................................................................................ 4

2.1.1 B/S模式的优缺点 ............................................................................................. 4

2.2 ASP.NET . ....................................................................................................................... 5

2.3 SQL Server 2005 ........................................................................................................... 6

2.3.1 S QL Server 2005简介 ............................................................................................ 6

2.3.2 SQL Server 2005的优势和特点 ........................................................................... 6

3 需求分析 ........................................................................................................................... 7

3.1 可行性分析 ................................................................................................................ 7

3.1.1 技术可行性分析 . ................................................................................................. 7

3.1.2 社会可行性分析 . ................................................................................................. 7

3.1.3 经济可行性分析 . ................................................................................................. 8

3.1.4 法律可行性分析 . ................................................................................................. 8

3.2系统功能需求 ............................................................................................................. 8

3.1.1 用户登录 ............................................................................................................... 8

3.1.2 任务提交 ............................................................................................................... 8

3.1.3 用户信息管理 ....................................................................................................... 9

3.1.4 项目功能管理 . ..................................................................................................... 9

3.2系统运行要求 ........................................................................................................... 10

3.2.1 系统硬件环境 . ................................................................................................... 10

3.2.2 系统软件环境 . ................................................................................................... 10

4概要设计 .......................................................................................................................... 11

4.1系统工作原理网络结构图 ....................................................................................... 11

4.2系统的功能结构图 ................................................................................................... 11

4.3 总体框架设计 .......................................................................................................... 12

4.3.1显示层设计 . ........................................................................................................ 13

4.3.2事务逻辑层设计 . ................................................................................................ 14

4.3.3访问层设计 . ........................................................................................................ 14

4.4 数据库设计 .............................................................................................................. 14

4.4.1 系统ER 图设计 . ................................................................................................. 14

4.4.2 数据库表 . ........................................................................................................... 16

4.4.3 数据库的连接 . ................................................................................................... 18

5 详细设计 ......................................................................................................................... 19

5.1 系统功能设计 .......................................................................................................... 19

5.2 界面设计 .................................................................................................................. 19

5.2.1 登录页面设计 . ................................................................................................... 19

5.2.2 系统主页面设计 . ............................................................................................... 20

5.3功能模块设计 ........................................................................................................... 21

5.3.1 任务提交模块 . ................................................................................................... 21

5.3.3 用户信息管理模块 . ........................................................................................... 22

5.3.4 项目功能管理 . ................................................................................................... 23

5.4 公共类说明 .............................................................................................................. 26

6 系统的测试与分析 ......................................................................................................... 28

6.1 系统测试测试策略说明 .......................................................................................... 28

6.2 测试用例 .................................................................................................................. 28

6.2.1 对登录功能进行测试 . ....................................................................................... 28

6.2.2 对任务提交功能进行测试 . ............................................................................... 28

6.2.3 对用户信息管理进行测试 . ............................................................................... 28

6.2.4 对项目功能管理进行测试 . ............................................................................... 28

6.3 测试结果 .................................................................................................................. 29

6.4 测试评价 .................................................................................................................. 30

7 结论 ................................................................................................................................. 31

参考文献 ............................................................................................................................. 32

致 谢 ................................................................................................................................. 33

毕业设计(论文)知识产权声明 ..................................................................................... 34

毕业设计(论文)独创性声明 ......................................................................................... 35

1 绪 论

1.1 前言

信息技术的迅速发展使市场竞争异常激烈,因此给软件企业的发展带来了前所未有的压力。我国软件企业结合自身企业的特点生产出自己的软件项目管理系统来提升对项目的估计与控制能力,在实现自己企业信息化的过程中开发出能满足其他企业信息化的、能为其他企业创造最大价值的优秀的产品,使自己立于不败之地是一个值得研究的重要课题,特别在软件项目工程中对软件开发的任务分配以及进度管理等部分是项目工程管理中的重中之重。软件产业已经作为一个新兴的高技术产业在我国崛起。但与发达国家相比,无论在开发能力还是在管理水平上都还存在相当大的差距,尤其是落后的软件过程管理制约了开发能力的发挥。软件外包是我国软件业发展的一个机会,也是一种挑战,要提高我国软件外包份额比例和利润率,就得要先解决我国软件企业普遍存在的规模小、软件过程能力低的问题,这就要求我们要有一套完整的软件项目管理系统。

开发软件开发公司程序员任务管理系统目的是为了将企业在软件开发过程中的对于程序员的管理进行更进一步的优化和对其的任务完成情况以及质量进行有效的了解和控制。通过内部评估诊断我们发现,程序员其实也很希望能够按照我们的过程规范来开展工作,但我们的过程规范似乎每一步工作都有规程,都有条条框框,工作量的数据、缺陷记录等,但是大部分的研发人员认为大量低层次的沟通和大量的文档浪费了他们很多时间,他们愿意按照过程规范去做,但并不希望成为过程专家。这给软件过程的实施带来了极大的挑战。

1.2 国内外研究成果

国内外技术现状:软件项目管理最早源自于70年代中期。当时美国国防部曾立题专门研究软件项目做不好的原因,发现70%的项目是因为软件过程管理不善引起的,而并不是因为技术实力不够,进而得出一个结论,即软件过程管理师影响软件研发项目全局的因素,而技术只是影响到局部。从那时开始,业内人士就着手软件项目管理的研究,到目前为止,在该领域起着重要作用的管理思想有:软件能力成熟度模型集成 CMMI和1509000系列标准。

我国软件企业起步较晚,从80年代发展至今,经过这20年来的成长,发展了一些具有一定规模的软件企业,但总体来说规模不够、开发成熟度不高,普遍存在软件生产低效性,大多数项目不是延期、成本上升,就是品质低、返工现象严重,软件过程能力低。我国的许多软件企业在发展的过程中,长期忽视了企业的信息化,特别是

软件过程管理信息化,为追求短期的效益而忽略了重要的软件过程控制和开发流程,使得软件的质量很难达到预期的目标。在软件业发达国家的软件企业中,非常重视软件过程管理的信息化,达到要求的成熟度有助于提高公司的软件开发与项目控制能力,提高公司在国际软件业的地位和信誉度。

1.3本文主要研究的内容

程序员管理任务管理系统包括:用户登录模块、文件提交模块、系统管理功能模块和项目管理功能模块。

用户登录模块是为了判定用户的登录用户名和密码的正确性所设定的。

文件提交模块主要是程序员的程序任务进度情况、测试员的测评情况、测试员对程序员的反馈信息、对个人工作的评价信息的提交以及对每天的所有已执行任务的汇总文件提交。

系统管理功能模块主要包括:个人信息管理、部门员工管理。个人信息管理主要为用户密码修改等功能。部门员工管理可以添加,修改,删除员工信息。

项目功能管理模块主要包括:任务划分、工作量统计、项目进度管理、项目质量管理。

任务划分:项目经理可以将项目的每一个任务分配给具体的人,并设定本人任务的时间以及本任务的说明,是进度管理的依据。

工作量统计:根据不同项目的项目系数,软件质量以及任务的完成情况,依据合理的量化计算方式,统计出各程序员的具体工作量情况,以便完成对工作人员的量化管理。

项目进度管理:对任务的执行情况进行跟踪,可以查询任务的执行进度,以便于实行对项目任务的合理分配。

项目质量管理:目的是让上层管理人员对项目完成的实际情况作出明确的了解,以便于去对各自员工的能力比较直观的了解。

设计方案:

应用实现上采用即Browser/Server(浏览器/服务器) 结构,整个系统由Web 浏览器,Web 服务器和数据库服务器三层组成,应用程序存放在Web 服务器上,数据库存储在数据库服务器中,用户可以在Internet 上任意客户端上的浏览器中通过Web 服务器管理,访问数据库中的公司信息。因此系统具有大用户量支持、良好的可伸缩性和可移植性等优点。

设计方法:

采用基于C#的数据库访问技术:ASP.NET ,使应用程序具有C#语言的平台无关性,因而系统具有良好的移植性。

使用ASP.NET+C#模型,在C#中实现数据库连接池,提高了连接的使用效率和应

用程序访问数据库的性能,同时利用C#封装了对数据库的增加、查询、删除、更新等操作,提高了代码的重用性,简化ASP.NET 应用程序的编程。

本系统选用B/S结构模式;系统的开发以Windows xp中文版操作系统为服务器网络操作系统,IIS 为Web 服务器 ,SQLSERVER 2005为数据库服务器, Windows xp为客户端操作系统。

2 核心技术介绍

2.1 B/S

传统的软件系统设计都采用的是C/S结构,即客户端/服务器结构。它主要是由两部分组成,一部分是服务器端程序,负责数据的处理和存储;另一部分是客户端,客户端通常是一个安装程序,它在客户机上拥有自己的处理程序,可以独立对用户数据进行处理和存储,并可以和服务器进行直接连接传递数据。

B/S结构的软件是相对传统的C/S结构而言的。C/S结构将程序分为两部分,一部分是由多个用户共享的信息与功能,这部分称为服务器端;另一部分是为每一个用户所专用,称为客户端。C/S结构应该具有这样的特征:客户端、服务器端都安装相应的软件,客户端、服务器端各完成相应的计算工作,服务器端保存数据库。而B/S结构应该具有如下特征:服务器端都安装相应的软件,客户端不安装任何软件(不需要维护) 。客户端运行程序是靠浏览器软件(如IE, Netscape 等)

登陆服务器进行的。客户端在浏览器里完成一定的计算任务。

图2.1基于Web 的浏览器/服务器B/S (Browser/Server)结构示意图

2.1.1 B/S模式的优缺点

1、B/S结构的优点

具有分布性特点,可以随时随地进行查询、浏览等业务处理。

业务扩展简单方便,通过增加网页即可增加服务器功能。

维护简单方便,只需要改变网页,即可实现所有用户的同步更新。

开发简单,共享性强

2、B/S 模式的缺点

个性化特点明显降低,无法实现具有个性化的功能要求。

操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。

依赖网络,响应速度明显降低。

功能弱化,难以实现传统模式下的特殊功能要求。

2.2 ASP.NET

ASP.NET 是基于通用语言的编译运行的程序,它的强大性和适应性,可以使它运行在几乎所有的windows 操作系统的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net 的Web 应用中。ASP.ne t 同时也是language-independent 语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java 的结合体),VB ,Jscript 。

ASP.NET 一般分为两种开发语言,VB.NET 和C#,C#相对比较常用,因为是.NET 独有的语言,VB.NET 则为以前VB 程序设计,适合于以前VB 程序员。

ASP.NET 优点主要表现在:

可管理性:

ASP.NET 使用基于文本的、分级的配置系统,简化了将设置应用于服务器环境和 Web 应用程序的工作。配置文件的任何变化都可以自动检测到并应用于应用程序。

易于部署:

通过简单地将必要的文件复制到服务器上,ASP.NET 应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。

增强的性能:

ASP.NET 是运行在服务器上的已编译代码。与传统的 Active Server Pages (ASP) 不同,ASP.NET 能利用早期绑定、实时 (JIT) 编译、本机优化和全新的缓存服务来提高性能。

扩展性和可用性:

ASP.NET 被设计成可扩展的、具有特别专有的功能来提高群集的、多处理器环境的性能。此外,Internet 信息服务 (IIS) 和 ASP.NET 运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。

与 .NET Framework 集成:

因为 ASP.NET 是 .NET Framework 的一部分,整个平台的功能和灵活性对 Web 应用程序都是可用的。也可从 Web 上流畅地访问 .NET 类库以及消息和数据访问解决方案。ASP.NET 是独立于语言之外的,所以开发人员能选择最适于应用程序的语言。

另外,公共语言运行库的互用性还保存了基于 COM 开发的现有投资。

另外ASP.NET 优点还包括了ASP.NET 启用了分布式应用程序的两个功能:Web 窗体和 XML Web 服务。相同的配置和调试基本结构支持这两种功能。

Web 窗体技术使您建立强大的基于窗体的网页。Web 窗体页面使用可重复使用的内建组件或自定义组件以简化页面中的代码。

使用 ASP.NET 创建的 XML Web 服务可使您远程访问服务器。使用 XML Web 服务,商家可以提供其数据或商业规则的可编程接口,之后可以由客户端和服务器端应用程序获得和操作。通过在客户端/服务器和服务器/服务器方案中的防火墙范围内使用标准(如 XML 消息处理和 HTTP),XML Web 服务可启用数据交换。以任何语言编写的且运行在任何操作系统上的程序都能调用 XML Web 服务。

2.3 SQL Server 2005

2.3.1 SQL Server 2005简介

SQL Server 2005是微软公司的大型数据库服务器,其性能指标在各方面都有赶超Oracle 数据库的趋势。从SQL Server 2000到SQL Server 2005,不仅仅是数据库系统具有更高的性能、处理能力,新版本的系统还带来了许多新的、在旧版本中从未出现的特性。而这些新特性也都是和现代数据库的发展方向一致的。

2.3.2 SQL Server 2005的优势和特点

(1)可编程性:CLR (Common Language Runtime,公共语言运行时)集成。CLR 集成是指你可以使用任何一种.NET 语言编写SQL Server 2005 的存储过程,触发器,函数,自定义类型,甚至是自定义的聚合函数。想想以前的扩展存储过程,编程非常不容易。代码中一不小心就会引起内存泄漏。

(2)安全性:SQL Server 2005 的安全达到了很强大水平,有着很更清晰的安全模型即主体,安全对象和权限。

(3)异步处理能力:Service Broker 提供了一个功能强大的异步编程模型。Broker 的最大好处一是异步执行能力,提高了可伸缩性,二是可靠执行,三是集成于数据库中,备份数据库就备份了broker 的消息队列。

(4)支持通过HTTP SOAP 协议直接访问数据库,增加XML 数据类型,支持Xquery ,使用新的SQL ServerManagement Studio 等等。

以前都是大项目用ORACLE 或者DB2,因为只有ORACLE 和DB2能胜任,现在情况有些变化了。不少在Windows 构架下的大项目还是倾向于用SQL 的,像镜像,高可用性,页面级的恢复,联机索引,多CPU 支持等高级特性,SQL 也不比ORACLE 差。

3 需求分析

在对软件系统进行详细的需求分析之前,首先进行技术可行性分析。通过对现有且成熟的软件系统开发语言进行分析,并结合开发人员自身的业务水平,分析使用各个开发语言所需要的时间、花费等,从而得出此软件系统是否有必要进行开发。当此软件系统值得开发时,才进入下一步,既需求分析。需求分析是通过对软件功能的假象,分析系统在现有的技术下,可以实现的各种功能及相关需求。并将此分析作为日后软件系统开发的重要依据。

3.1 可行性分析

3.1.1 技术可行性分析

程序员任务管理系统采用基于B/S的三层体系结构。用户可以在任意网络环境中使用任意一个流浏览器,即可对系统进行操作管理。B/S结构具有分布性特点,可以随时随地利用浏览器进行查询、浏览等业务处理,不受客户机限制。浏览器于服务器之间使用HTTP 协议进行通讯,服务器得到浏览器服务请求之后,进行数据的相关处理。当数据处理完成之后,将处理结果通过HTTP 协议返回给客户机浏览器。

具体实施办法包括:

由于B/S架构业务扩展简单方便,通过增加相应功能页面即可增加服务器功能。 维护简单方便,只需要改变网页,即可实现所有用户的同步更新。开发简单,共享性强,不同浏览器兼容性良好,不同服务器架构也可无缝移植,无需重新编译代码。因此整个系统开发难度也较低。

服务器端采用Apache 作为Web 服务器,其功能是接受远程用户的访问请求并作出回复。采用SQLServer2005作为数据库,用来存储系统的所有数据。由于ASP.NET 、C#和SQL Server 2005在应用上都是很普遍的,且市面上有很多相关书籍介绍,无论从技术角度还是从适用性角度都没有困难。

在客户端中,通过ASP+SQL Server 2005,实现调用服务器和客户机对数据进行处理,并能实时在网页上显示处理结果。这些技术都是时下非常成熟的技术,且有大量的教程以及示例用来学习,所以从技术角度来分析也是没有困难的。

3.1.2 社会可行性分析

现代社会已经步入信息高速发展的时代,在对于公司项目的任务管理方面,只依靠人为的去操作会出现很多弊端,选择应用任务管理系统不但能更好的对当前项目进行管理,而且能对公司的管理运作形成良好的监管制度,从而达到提升效率的效果。

目前已经成为了软件开发中必须的工具。

3.1.3 经济可行性分析

对于软件公司程序员任务管理系统来说,其应用的技术手段投资很少,并且在管理系统投入使用之后,可以在对软件项目的管理中不再陷入不必要的混乱,能更合理的安排工作到个人,使工作的进度效率得到提升,应用先进的工作量量化管理辅助公司人员管理,能够给公司的员工考核以及员工的竞争力方面都有提升,从另一方面节约了软件开发的成本,避免了多次重复效率不高的工作。

3.1.4 法律可行性分析

本系统的开发是由本人在指导老师的指导下完成,不涉及任何公司任何个人的私有信息,不存在任何侵权和知识产权问题。

3.2系统功能需求

程序员任务管理系统总的目标是:实现软件开发任务的组织,软件开发任务的网上分配,每日的工作安排,每日的工作验收,实时统计程序员日常工作量,程序员软件开发任务完成提交,软件开发任务完成情况测试与评价。

经过前期的可行性研究,结合现有实际情况,程序员任务管理系统采用B/S架构开发,开发语言为C#,数据库采用SQL Server 2005。系统功能主要包括:用户登录,文件提交,系统功能管理,项目功能管理四个方面。

3.1.1 用户登录

用户登录包括不同权限的用户对系统的操作影响。可以通过用户名和密码的验证来判断是否成功登录,并且通过对当前用户的权限判断,来决定到底跳转到哪个页面。当用户名或密码输入错误的时候,提示错误信息。

3.1.2 任务提交

任务提交包括对目前的任务进展情况,任务完成质量情况以及程序员与测试员当天的工作内容进行上传管理。

上传文件:对上传的文件将其存储在服务器端的固定文件夹内,数据库中标示其所有的路径信息。方便对文件的管理,并且在上传文件的同时,在文件前方自动生成真实名称,即上传文件的原有名称前添加文件编号,用于多个相同文件上传时,原有文件不被覆盖。

文件下载:可以通过的文件名称或者上传时间进行对所有文件的模糊查询。并且根据权限的不同,可以选择删除原有文件,或者下载选定文件。

3.1.3 用户信息管理

用户信息管理主要分为两部分。

第一部分是个人信息管理,即所有用户可以对当前自己的密码进行修改操作。 第二部分是部门员工管理,即项目经理可以对所有员工的信息进行修改,删除,添加等操作。针对不同类型的用户,可以设置不同的权限,低权限的用户无法进行高级操作。主要包括对用户名,密码,权限的分配,以及删除,查询功能。

3.1.4 项目功能管理

本功能为程序员任务管理系统的核心功能。主要是对软件项目进行统一的管理,包括任务划分,任务分配,项目进度以及工作量统计。

任务划分:任务划分是产生任务的地方,由项目经理将要完成的项目根据模块或者功能划分成为独立的任务,划分的任务应该尽量保持高内聚,低耦合,以降低对成员之间交流的依赖程度,让大多数成员无需考虑太繁杂、不相干的东西,对于划分好的任务,要仔细分析其难点和工作量,这些都是任务分配所必须的约束条件。

任务分配:任务分配的实施者是项目经理,任务分配的目的是将每一个任务分配给具体的人,并设定本人任务的开始时间、结束时间、参加评审人,是进度管理的依据,任务分配由项目经理根据实际情况做出调整。任务分配的原则是减少对交流的依赖,对于不同的人来说,同一个任务的难度是不相同的,因此要调整分配,让合适的人做合适的工作,减少整体难度,分配过程中,尽量把高耦合的任务分配给一个员工,避免把过多过琐碎的无关任务分配给同一个人。

项目进度:进度管理的目的是对任务的执行情况进行跟踪,可以以多种方式查询任务的执行进度,统计在执行过程中的进度执行状况,是项目经理调整计划,以及实施下一步计划的重要依据。

工作量统计:根据项目系数,软件质量以及任务的完成情况,根据不同公司的规模大小以及管理制度,制定不同的计算规则,可以相对直观的体现出程序员在项目中的工作量等信息,是项目经理对任务分配原则的宏观把握的依据。在人月神话一书中比较深刻的阐述了当前的软件系统问题,并且根据其中的理论验证,工作量的统计方式不论在国际还是在国内都没有一个统一的标准,不同公司的不同标准只是反应了其公司的规模以及其管理层人员对待员工的水平而已,这也是管理层对管理员工方面的一处很头疼的地方,而且,工作量在不同的场合的度量方式也是不相同的。对于需求和设计阶段来说, 量上当然是文档的页数, 质量上应该是复杂度和每页发现的缺陷数是否达到了质量目标; 编码阶段就是代码量+缺陷密度; 测试阶段是每天的用例执行数; 对于此系统,我采用的方式是目前国内中小型企业一般情况下采用的量化方式,即工作量受软件质量,项目系数以及任务的总体完成情况制约。软件质量受当前软件的

BUG 等级和每千行代码的BUG 个数,回归次数。模块的重要系数来决定。项目总体系数的制定,是根据本项目是否应用新技术,是否有过成功的开发经验等条件进行判断。

3.2系统运行要求

3.2.1 系统硬件环境

a. 服务器端

处理器:Inter Core T2450 2.0GHz 或更高

内存:1GB 以上

硬盘空间:80GB

光驱:DVD/CD-RW combo

显卡:ATI HD2300

b . 客户端

因为客户端主要用于浏览和操作数据,所以对客户端的硬件要求不高,不过现在的电脑具有很高的性价比,因此需要的配置应该高于下面的配置:

处理器:Inter Pentium 1.0GHz 或更高

内存:32MB

硬盘空间:40GB

3.2.2 系统软件环境

a. 服务器端

操作系统:Windows XP及其以上版本

网络协议:TCP/IP

web 服务器:Internet Information Server6.0

数据库:Mircrosoft SQLserver2005

浏览器:Internet Explorer 6.0以上

b. 客户端

操作系统:Windows 98/2000/2003/XP/7

网络协议:TCP/IP

浏览器:Internet Explorer 6.0以上

4概要设计

4.1系统工作原理网络结构图

计算机计算机

图4.1 系统工作原理网络结构图

4.2系统的功能结构图

图4.2 系统功能结构图

4.3 总体框架设计

根据.NET 的结构体系,对软件项目管理系统实行层次化处理,使层与层相对独立,每层的变动不会对其它层造成太大的影响,不会引起其它层的太大的变动,而且为增加功能、扩展系统提供方便。本系统采用三层结构为:显示层 (Presentation Layer) 、事务逻辑层 (Business Layer) 、数据访问层 (DataAccess Layer) 。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。系统体系结构图如图4.3。

图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 页面构成,用户的所有输入都由这些页面来完成。同样系统的所有输出也在这里显示。

ASP.NET 页面文件.ASPX 为视图,.ASPX.CS 文件为控制器,模型只与数据库相关,与视图不相关。这样就实现了不懂程序设计的人员避开程序数据,这样在系统具体设计中将1. 减少代码重复;2. 分离职责和问题:通过分离视图和模型,各个领域的专业人员可以并行工作;3. 优化的可能性:将职责分成特定的类可以提高进行优化的可能性。在某些情况下可以对数据进行缓存,这样可以提高应用程序的总体性能。但是,

如果不分离代码,缓存数据就会很难实现,或者不可能;4. 可测试性:通过将模型与视图分离,您可以在ASP.NET 环境以外测试模型。

4.3.2事务逻辑层设计

为了避免用户直接与数据库打交道,减轻数据库的负荷,软件项目管理系统把所有业务逻辑处理放在ASP.NET 页面的后台文件(.ASPX.CS)和业务逻辑处理类中,由其负责响应用户的服务请求,再按需求调用业务逻辑处理类中相关函数,此函数再调用数据库层函数对用户服务请求进行业务处理,处理完后将结果返回给用户。这里用户通过浏览器与Web 服务器进行交互。

4.3.3访问层设计

应用必须永久保存一些对象,因此必须用数据访问层来提供这些服务,数据访问层设计是系统设计中很重要的一部分,设计质量的好坏,数据结构的优劣,直接影响到系统的成败,数据访问层设计是对一个给定的应用环境,构造最优的数据库层模式,建立数据库及其应用系统,使之能够有效地存取数据,满足各种用户的应用需求。程序员任务管理系统数据库确定采用SQL Sever 2005数据库系统。

4.4 数据库设计

4.4.1 系统ER 图设计

ER 图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。

用户(用户名,密码,用户权限,用户说明,已有任务)

图4.4.1 用户ER 图

任务(任务名称,任务内容,任务进展,起始时间,结束时间,任务难易度,任务分配,任务完成质量,任务完成者,工作量)

图4.4.2 任务ER 图

项目(项目名称,项目编号,项目简介,新技术应用,开发经验,总体系数)

图4.4.3 项目ER 图

文件(文件名称,文件路径,文件上传时间,文件真名)

图4.4.4 文件ER 图

存在问题(问题名称,问题信息,发现问题时间,发现问题者)

图4.4.5 存在问题ER 图

4.4.2 数据库表

根据ER 图设计中的内容确定了所有表和字段的属性。本系统的数据库表如下所示:

用户表中记录的是可以登录系统的用户账户信息。 系统用户表tb_user,如表4.1

表4.1 用户表:tb_user

列名 UserID UserName Passwd role Information Have

数据类型 int (主键自增)

Int varchar int Varchar Varchar

长度 32 100 100

说明 用户序号 用户登录名

密码 用户权限 用户说明 已有任务

任务表主要存储的是系统中的任务分配信息。 任务表task ,如表4.2

表4.2 任务表:task

列名 Taskid Taskname Taskprogress

Task Taskdistribution Taskdifficult Taskquailty

数据类型 Int (主键自增)

Varchar Varchar Text Varchar Int Varchar

长度 30 10 10 10

字段说明 任务表中序号 任务名称 任务进展 任务内容 任务分配 任务难易度

Taskstartime Taskfinishtime Taskpname Tasked Taskpingce BUGlevel BUGs Coefficient

Datetime Datetime Varchar Int Varchar Float Float Float

10 10

任务起始时间 任务结束时间 任务完成者 工作量 任务评测者 BUG 等级 千行BUG 数 项目总体系数

项目表主要存储的是各个不同项目之间的信息。 项目表project ,如表4.3

表4.3 项目表:project

列名 projectid Projectname Projectnumber

project newTechnology projectExperience Coefficient

数据类型 Int (主键自增)

Varchar Varchar Text Varchar Varchat Float

长度 30 10 10 10

字段说明 项目表中序号 项目名称 项目编号 项目简介 是否应用新技术 是否有开发经验 项目总体系数

文件上传表主要存储的是经过上传之后的文件路径以及其名称。 文件上传表tb_files,如表4.4

字段名称 fileId Filename Fileupdate Fileload Filetruename

字段类型 Int(主键自增) Varchar Varchar Varchar Varchar

字段长度

50 30 200 50

字段说明 本表中序号 文件名称 文件上传时间 文件上传保存路径

存在问题信息表主要存储的是测试人员对某段代码提出的问题等。 存在问题信息表bug ,如表4.5

表4.5 存在问题信息表:bug

字段名称 bugid bugname Bugtext Feedname Feedtime

字段类型 Int(主键自增) varchar Text varchar Datetime

字段长度

50 10

字段说明 本表中序号 问题名称 问题信息 发现问题人员 发现问题时间

4.4.3 数据库的连接

在整个系统开发过程中,数据库的连接是必不可少的,对于数据库的连接设计将其内容封装在一个类里面,文件名为DB.cs ,在所有与数据库的连接页面调用类中的方法就可以连接和打开数据库。

数据库连接的相关代码如下:

在.NET 项目中一般与数据库的所配置的连接字符串都放在web.config 配置文件里面,如下所示

key="ConnectionString"

value="server=PC-[1**********]3;Uid=sa;pwd=123456;database=biyesheji;"/>

通过ConfigurationManager.AppSettings["ConnectionString"].ToString()(此方法在DB.cs 中)获得字符串A ,当需要连接数据库时,使用A 的一个属性Connection 通过SqlConnection mycon=new Sqlconnection(A.ConnectionString)这样的实例化,创建一个SqlConnection 的对象,

接着创建SqlCommand 执行命令对象,SqlCommand myCmd =new SqlCommand (”SQL 语句”, ”mycon ”)

这样只要执行mycon.open(),数据库的连接算是完成了,并且会得到上面写到得SQL 语句的结果,但这只是开始,接下来将要对数据库的数据进行实际的操作。可以通过SqlCommand 中的方法ExecuteReader()、ExecuteScalar()、ExecuteXmlReader()、ExecuteNonQuery()根据不同的需求得到不同的对象, 从而对数据库进行增删改查的操作。

5 详细设计

5.1 系统功能设计

程序员任务管理系统在功能模块上分为用户登录模块,任务提交模块,用户信息管理模块,项目功能管理模块。

用户登录系统首页后,首先判断用户名密码的正确性,通过后进行其权限的判定,不同权限的账户跳转至不同的页面。用户登录成功后进入各自主页面,可以分别对任务提交、用户信息以及项目功能管理模块进行不同的操作。如果出现对数据对错误操作,则会终止当前动作并且弹出错误提示符,并且恢复至当前页面。

5.2 界面设计

网页结构和框架的合理性可以提高网站的可操作性,从而提高客户访问网站的效率,让客户更快的了解公司。不仅如此,好的网站结构还能够帮助网页在搜索引擎中占据理想的位置。设计网站的整体结构不仅能够规范网站的风格,而且能够方便以后的开发工作,具有很重要的意义。依据需求分析中的系统相关功能要求,设计各个功能页面。要求是各个功能页面应在完整实现系统全部功能的前提下尽量简洁直观,整个界面不宜复杂纷乱。 5.2.1 登录页面设计

登录界面主要由用户名输入框、密码输入框、提交按钮等几部分组成。用户如果有自己的用户名和密码就可直接在登录界面输入用户名和密码,如果都输入正确即登录成功,进入到主界面,否则,会提示相应的错误信息。如图5.2:

图5.2 登录页面

5.2.2 系统主页面设计

网页的框架在网页的设计中是非常重要的一个环节,有了良好和简洁的页面框架,会使用户在使用页面时更加简洁,网页设计的整体结构不但能使用户方便,而且能方便以后开发工作等,有很重要的意义。为了能使系统界面看起来更加美观和简便,系统主页面的框架图如下图5.2.1,5.2.2所示:

图5.2.1 系统框架图

图5.2.2 系统主页面

5.3功能模块设计

5.3.1 任务提交模块

任务提交模块包括对文件的上传,下载,管理等内容。在fileup.aspx 文件中实现了文件的上传管理,点击增加上传文件可以用来实现多文件的同时上传功能。如图5.3.1

图5.3.1 文件上传页面

文件的管理实现是在FilesManageList.aspx 中,通过文件名称关键字或者文件创建时间,可以对数据库列表中的文件进行模糊查询,点击文件下载,跳出文件下载提示框,选定要存放的路径等信息,可以实现文件下载的功能。点击永久删除,则当前文件被删除。如图5.3.2

图5.3.2 文件下载页面

5.3.3 用户信息管理模块

用户信息管理模块主要实现对个人信息的管理以及对部门员工的管理操作。包括个人对密码的修改,以及项目经理对部门员工信息的增删等操作。

部门员工管理:在项目经理主页面页面点击管理用户之后,跳转至此页面。在此页面,项目经理可以对所有员工进行添加、编辑、删除等功能。点击编辑按钮,项目经理可以直接修改所有员工账号所对应的密码,如果想要删除该用户,点击删除按钮,

并且在弹出的提示框中点击确定或者取消来完成对用户的删除功能。如图5.3.3

图5.3.3 部门员工管理页面

个人密码修改:在用户主页点击修改密码跳转至用户管理页面,并且根据当前Session 中存储的UserID 在数据库中自动查询与当前UserID 符合的条目,并且加以显示,点击编辑,在输入旧密码和新密码等信息的基础上,点击修改密码。则修改完

成。如图5.3.4

图5.3.4 个人密码修改页面

5.3.4 项目功能管理

项目功能管理模块主要包括项目分配,任务划分,任务分配,项目进度和工作量统计。

新建项目页面主要完成不同项目之间的信息管理,对应有是否应用新技术和是否有类似的项目开发经验,是工作量统计中的一个量化标准,如图5.3.5.

5.3.5 新建项目界面

在项目经理页面单击任务划分。在此页面下输入要划分的任务名称,任务困难度,任务内容等信息,如果输入框中的内容为空,提示提交失败。如图5.3.6

图5.3.6任务划分页面

任务分配页面的主要元素为任务名称,程序员名称,指定测试员名称,起始时间和结束时间,用户可以根据在页面右侧的数据库查询来合理安排工作,如图5.3.7所示,任务分配时,首先会将所有未分配的任务显示出来,选择程序员和测试人员时,会将其个人说明内容显示出来,以便于了解个人情况,使任务分配更加合理化。

5.3.7

任务分配页面

在项目经理页面点击任务进度管理,通过输入要查询的结束时间,可以查询在结束时间之前的所有任务情况统计,包括任务的进展信息,任务的困难度,任务完成质

量等,方便项目经理对整个程序的整体把握。如图5.3.8

图5.3.8 项目进度查询页面

通过要查询的项目成员,根据项目的总体系数,软件质量和任务的进展信息得到当前员工的工作量,依据公司规模的大小以及管理制度,制定合适的计算规则,完成工作量的量化,工作量的情况查询,是项目经理的计划修改以及任务分配的把握依据。如图5.3.9

图5.3.9 工作量统计

5.4 公共类说明

本系统公共类名为DB.cs ,存放在App_Code下,主要实现了连接数据库等各方

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,查询条件:未完成。

(3)任务查询,当前用户1101,查询条件:空。

(4)任务进度,查询日期:2010-5-4。

(5)任务质量,查询目标用户:1101。

6.3 测试结果

根据制定好的测试策略已经测试用例,对本系统的测试结果如下表6.3所示。

6.4 测试评价

通过调试测试,系统能正常运行,基本完成了需求分析中的相关功能,但是

由于测试条件有限,应该还有一些小问题需要改进。总体来说,达到了预期效果。

7 结论

经过约三个多月的设计和开发,软件公司程序员任务管理系统基本开发完毕。本

系统能够完成基本的任务划分,分配以及对项目的进度查询等方面的内容。, 基本实

现开题报告中所陈述的功能。但由于本人技术和经验所限,该系统还有许多不尽如人

意的地方,还有待在以后的学习过程中逐步改善。

在整个毕业设计过程中,我也出现过很多的问题。在不断的学习和和翻阅资料解

决问题的过程中,我深刻体会到学习的重要性。毕业设计作为我们自己动手完成的一

个项目,为我们创造了很好的机会去锻炼自己的能力,使我了解到只有在不断的虚心

学习中才能不断进步。毕业设计的完成除了给了我成就感和自豪感之外,也让我明白

自己的不足之处,正所谓学无止境,人的一生都必须时刻虚心学习。

对于软件开发来讲,前期的准备工作往往占据了很大的工作量。只有对系统进行

了详细具体的需求分析和设计,才能在日后的编码过程中事半功倍。最初我也正是因

为没有充分的重视前期的准备工作,导致我最后阶段的很不顺利。这个过程也让我明

白一个道理:任何工作都需要在前期的准备工作中彻底细致,这样才不至于在以后付

出额外的功夫却得不到应有的回报。

在本次毕业设计过程中,经过不断查阅书籍和上网检索,让我克服了摆在我面前

的非常多的难题,使我少走了很多弯路。知识是一代一代人的智慧结晶所累积起来的,

只有承前,充分的学习到更多的东西,才能够无往而不利。

通过这次毕业设计,我深刻体会到要做好一件事情,需要有系统的思维方式和方

法。同时我也深刻的认识到,在对待一个新事物时,一定要从整体考虑,完成一步之

后再作下一步,这样对于接受和认识他而言才能更加有效。

参考文献

参考文献

[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].科学出版社,2003 12

[10]李严, 于亚芳, 王国辉等. 《ASP.Net 数据库开发实例解析》[M] .机械工业出版

社 ,2004 12

[11]王国辉、牛强、李南南等. 《ASP.Net 工程应用与项目实践》[M] . 机械工业出版

社,2005 4

[12]高峰霞 .《ASP.Net 动态网站开发教程》[M] .清华大学出版社,2000 6

[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.GuidelinesforImprovingtheSoftwar

e Proeess.Addison一Wesley ,1995

[19] 姚慧广,赵岳松.WEB 编程中MVC 模型的应用. 微机发展.2002

致 谢

感谢导师乔奎贤老师的关心、指导和教诲。在我完成本次毕业设计的过程中,乔奎贤老师给予我细心的指导,一起讨论系统的需求和实现,耐心的给我讲解在设计上的我的欠缺,这些渗透在生活和学习中的点点滴滴都让我受益匪浅,在此我由衷的对乔奎贤老师表示感谢。

同时,我还要感谢我的同学,是他们在我遇到困难的时候陪我一起寻找解决的方案,在克服掉眼前困难的时候勉励我继续奋斗,正因为有了大家的支持,我的毕业设计才能顺利的按时完成。

感谢我的导师、学友和朋友们对我的关心和帮助。

毕业设计(论文)知识产权声明

本人完全了解西安工业大学北方信息工程学院有关保护知识产权的规定,即:本科学生在校攻读学士学位期间毕业设计(论文)工作的知识产权属于西安工业大学信息工程学院。本人保证毕业离校后,使用毕业设计(论文)工作成果或用毕业设计(论文)工作成果发表论文时署名单位仍然为西安工业大学信息工程学院。学校有权保留送交的毕业设计(论文)的原文或复印件,允许毕业设计(论文)被查阅和借阅;学校可以公布毕业设计(论文)的全部或部分内容,可以采用影印、缩印或其他复制手段保存毕业设计(论文)。

(保密的毕业设计(论文)在解密后应遵守此规定)

毕业设计(论文)作者签名:

指导教师签名:

日期:2010年5月4日

毕业设计(论文)独创性声明

秉承学校严谨的学风与优良的科学道德,本人声明所呈交的毕业设计(论文)是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经发表或撰写过的成果,不包含他人已申请学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了致谢。

毕业设计(论文)与资料若有不实之处,本人承担一切相关责任。

毕业设计(论文)作者签名:

指导教师签名:

日期:2010年5月4日


相关文章

  • 毕业设计选题与任务书的填写
  • 毕业设计专题讲座-- 毕业设计(论文)的步骤.选题与任务书的填写 本讲座就毕业设计(论文)(以下简称毕业设计)的目的与要求.具体步骤.选题要求.毕业设计任务书填写要求等内容进行讲解. 一.毕业设计的目的与要求 1.目的 (1) 培养考生对工 ...查看


  • 太原理工大学毕业设计题目及任务书
  • 毕业设计(论文)任务书-1 设计(论文)题目:温度调节仪表设计(液晶显示) 题目性质:一般设计 指导教师:牛昱光 毕业设计(论文)要求及原始数据(资料): 本题目属单片机应用开发类型.选题学生需自行购置一款带有液晶显示模块的单片机开发板和测 ...查看


  • 创意计算机应用系毕业设计选题等资料
  • 太湖创意职业技术学院计算机应用系 毕业设计(论文)指导 第一部份 毕业设计(论文)工作思路 一.选题 选择与自己能力相匹配的合适选题是论文是否成功的关键.应把握以下原则: 1. 选题应完全根据自己的专业爱好.将来的工作理想自由选择. 2. ...查看


  • 毕业设计信息管理系统任务书
  • 信息与计算科学本科专业 数据库课程设计任务书 (2011级) 题目: 毕业设计管理系统 学生姓名: 班级: 学号: 题目类型: 软件开发 指导教师: 一. 设计的目的和意义 该设计要求学生以毕业设计管理业务为背景,设计.开发一套" ...查看


  • 毕业设计目的和任务
  • 一.毕业设计目的和任务 1.目的 毕业设计是带有研究性质的专题研究分析.设计报告,是完成教学任务.培养合格人才的一个重要实践性教学环节.通过毕业设计,可以培养学生的开发和设计能力,提高综合运用所学知识和技能去分析.解决实际问题的能力,检验学 ...查看


  • 毕业设计管理信息系统毕业设计论文
  • 目 录 1 绪论 ................................................................. 1 1.1课题背景及目的................................. ...查看


  • 毕业设计课题和基本要求
  • 1. 毕业设计课题共有4个,每个学生可以任选其一.建议应用电子技术专业选择课题一或二,电气自动控制专业选择课题三,机电一体化专业选择课题四.具体课题任务见附件1. 2. 确定课题后及时报给我. 3. 毕业设计要撰写毕业设计论文(报告)并答辩 ...查看


  • 中期报告范文
  • 北京航空航天大学软件学院 硕士论文中期检查报告 论 文 名 称:水电总院科技项目管理系统设计与实现 姓 名:曾嵘辉 学 号:GS1221340 专 业:国防军工信息化管理专业 所 属 院 系:北京航空航天大学软件学院 学院指导老师:邓莹莹 ...查看


  • 软件_技术部门员工职务说明书
  • 系统分析师职务说明书 岗位名称:系统分析师 所属部门:技术研发部 直接上级:技术研发部总监 岗位设置目的:根据产品需求和设计模型,构建软件产品功能的实现算法.逻辑和数据结构. 岗位要求:在软件技术领域有较强的软件设计编程能力,逻辑分析能力强 ...查看


热门内容