软件项目开发管理系统

软件项目开发管理系统

摘 要

软件项目开发管理系统在相关企业进行生产的管理中有着广泛的应用,它有利于提高企业对软件项目开发过程中的信息管理。系统研究的目的、意义、现状和发展趋势都有所说明。

这里设计的系统所要实现的功能包括测试管理功能、验收管理功能、文档管理功能和用户管理功能。为了实现系统的各项信息管理功能有选择的分析了开发工具Visual Basic 6.0和SQL Server 2000软件及ODBC (开放式数据库互连)技术的不同特点、性能和选择原则。描述了系统的概要设计,包括其结构的分析和功能划分,并在这个基础上进行了详细的设计。最后列出了系统在设计方面所存在的不足及需要改进的思路。

进行软件项目管理有利于将开发人员的个人能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能稳定发展,项目开发风险越小。

关键字: VB 结构化查询语言 开放式数据库互连 对象 软件项目开发

Software project developing and managing system

Abstract

In some related corporations, the Software project developing and managing system is widely used. In corporations the system is good to help managing the information of software project development. the research purport, meaning, present situation and development direction are all introduced.

The system what we design contains testing management function, checking and accepting management function, text management function and users management function. In order to carry out the management functions of this system, we also analyze the different characteristic, capability and choosing principle of the develop tool Visual Basic 6.0, SQL Server 2000 and ODBC technique. Depicting the main design of the system, it contains structural analysis and partition of functions. On this basis, we made detailed design. At last it lists the disadvantage of this system and the method how to improve.

Carrying out the Software project development is better for changing the talent of every worker into the development ability of corporations. The better development ability of software in corporations, the more indicating software’s production being mature. Then corporations can develop more steadily and the risk of project development is smaller.

Key Words: VB SQL ODBC Object Software project development

目 录

摘 要 . ................................................................... (I) Abstract . ................................................................ (II)

第一章 绪 论 . ............................................................ (1)

1.1 系统研究的背景 .................................................... (1)

1.2 系统开发环境及相关技术 ............................................ (2)

1.3 管理系统设计内容及方法 ............................................ (5)

第二章 管理信息系统简介 . .................................................. (7)

2.1 管理信息系统在现代组织管理中的作用 ................................ (7)

2.2 管理信息系统的发展 ................................................ (7)

2.4 管理信息系统的开发 ................................................ (8)

2.4.1 管理信息系统开发的任务和特点 . ................................ (9)

2.4.2 管理信息系统开发的原则 . ...................................... (9)

2.4.3 管理信息系统开发的组织与管理 . ............................... (10)

2.5管理信息系统规划 . ................................................. (10)

第三章 软件系统结构与功能设计 . ........................................... (12)

3.1 系统的结构分析 ................................................... (12)

3.2 系统的结构设计与功能设计 ......................................... (13)

3.2.1 系统的结构设计 . ............................................. (13)

3.2.2 系统的功能设计 . ............................................. (13)

3.3 系统的运行流程图 ................................................. (15)

第四章 项目控制系统模块设计 . ............................................. (16)

4.1系统框架设计 . ..................................................... (16)

4.1.1工程的组建 .................................................. (16)

4.1.2 各类模块的添加 . ............................................. (16)

4.2 系统各个模块设计 ................................................. (23)

4.2.1 测试管理模块与验收管理模块设计及主要代码 . ................... (23)

4.2.2 项目总结管理模块设计 . ....................................... (29)

4.2.3用户管理模块设计 ............................................ (34)

第五章 系统测试与总结 . ................................................... (39)

5.1 系统测试 ......................................................... (39)

5.2 系统设计总结 ..................................................... (40) 参考文献 . ................................................................ (42) 致 谢 . .................................................................. (43)

第一章 绪 论

1.1 系统研究的背景

项目管理是在现代社会发展起来的新管理技术之一, 如今已被广泛应用于许多领域, 如企业新产品开发, 建筑工程建设项目, 网络技术推广计划等, 作为一项管理技术复杂, 需要多学科协作的现代管理技术, 项目管理具有的特殊价值已被各行各业充分认识,随着社会主义市场经济的不断深入, 项目的管理也正在发生变化, 而随之项目管理的体制也发生了变化。项目的管理体制必须符合现代化项目管理的要求。

软件项目管理是指如何在有限的经费、时间、原料、设备或人力等资源条件下, 以最有效的管理和方式来实现软件项目开发计划。一个软件开发项目的成功与否取决于项目进行的目标设定与计划, 以及在项目过程中, 如何对项目的进度、资源分配、成本预算等进行有效的管理、支配和控制。项目的基本特性之一是项目的目标性,软件开发项目的目标主要有进度目标,费用目标和质量目标。为了实现项目的目标,必须对项目全过程指定实施计划。为了使项目实施结果不偏离计划或者一旦偏离能及时修正,必须对项目实施的过程进行连续的,动态的控制。

进行软件项目管理有利于将开发人员的个人能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能稳定发展,项目开发风险越小。

我国在各种项目上的投资以万亿计,几乎涵盖了经济、文化、科教、国防等所有重要领域,遍布各个行业类别,包括IT 项目,银行贷款项目,能源,交通,水利等基础设施项目,房地产项目,农业发展项目,工业企业技改项目以及体育,文化活动项目等。项目的数量,投资额度,资金来源和币种的多元化以及管理上的复杂性都大大超过了以往。尽管改革开放以来我国项目的管理工作有了很大改进,但是拖延时间、超支以及关、停、并、转的情况仍然占相当比例,效益有待提高。当今无论是企事业单位还是政府机构都面临着严峻的竞争压力,几乎都在不断的推出新产品,新技术,新工艺和各种改革措施。实际上任何创新和改革都是项目活动。由于这些任务具有一次性和独特性的共同特征,人们日益认识到采用常规的运行管理是难以应付的,必须组成专门的项目班子,采用项目管理方法。因此,在企事业管理和政府管理机构中也同样出现了项目管理的强烈要求。世界银行是把

每一笔贷款作为一个项目来管理的;美国国防部(DOD )有自己的“防卫系统管理学院”,主要为政府工作人员培训项目管理技术,如今的应用项目管理技术不少是由DOD 研究开发的。项目管理的需求几乎渗透到了任何形式的机构中。在中国,项目管理应用体系建立最早也相对完备的是建筑行业,国内项目管理经验数量大但含金量并不相称,在目前的条件下,任何系统软件都不能完全代替人的工作,这不仅仅是系统本身的问题。

当今社会信息技术飞速发展,软件产品的规模也越来越庞大,个人的小作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。软件项目管理在于将一次性的,不可重复的项目管理过程中可积累、可移植、可操作、有价值的管理经验总结、分析、提炼并且系统化后用于指导现有项目中未完成部分和将来的项目。实现项目管理,发展项目离不开管理思想、管理组织、管理方法和手段的现代化,这是软件项目管理系统发展的必然趋势。

1.2 系统开发环境及相关技术

一.Visual Basic软件

Visual Basic是Microsoft 公司最新推出的Windows 应用程序开发工具。是在BASIC 语言基础上研制而成的,它具有BASIC 语言简单而不贫乏的优点,同时增加了结构化和可视化程序设计语言的功能。

VB 的编程方法是采用面向对象的,即oop 。在oop 中引用了称为方法(Method )特殊过程和函数。虽然在VB 中,不完全是面向对象的计算机语言,但是它为每个对象包括了方法。这些对象如窗体、控件、命令按钮、应用程序剪贴板、调试程序、打印机、屏幕等。在VB 中方法采用“对象. 方法”的形式实现调用的。方法可以与过程和函数一样,可以执行一项任务或只返回一个值。

VB 是使用项目来管理VB 中的应用程序,通常一个应用程序对应一个项目。通过查看。MAK 制作文件(项目文件),发现VB 的应用程序由4种不同类型的文件组成:项目文件(. mak )、自定控制文件(. vbx )、代码模块文件(. frm )。和其他所有高级语言一样,VB 采用过程和函数。过程(Procedure )就是执行特定任务的一组命令通过过程名就可以调用该过程。函数(Function )是能够返回值的过程,VB 中的函数同样分为内部函数和自定义函数。VB 中数据类型和用户自定义的数据类型。其基本数据类型有Integer (整数)、Long (长整数)、String (字符窜)、Sing (单精度数) 、Double (双精度数) 、Current (货币) 和Variant

(变体型)组成。

VB 中和对象相关联的每个过程都对应一个特定的事件(Event )或动作,因此称为事件过程。事件包括动作和改变大小,它只发生在运行时刻,而不会在设计阶段。对于同一个对象,可以出发不同的事件过程。常用的事件有键盘事件、鼠标事件、动态数据交换事件以及其它有关事件。

VB 的过程和其他高级语言一样,通过使用过程来调用,其过程由下列语句来声明: Sub 过程名([参数[AS 类型][,参数AS 类型]„])

En d sub

从句法中可以看出,子过程的区别在于过程用S ub 和End 语句;而函数过程用Function 和End Function 语句。

Visual Basic 的特点非常突出,那就是具有快速的程序开发环境,编制程序界面简单,代码的编写量小,用户可以很方便的直接改动界面,所见即所得。因此对于初学者或从未有过编程经验的读者。VB 在以往版本的VB 基础上增加了许多功能,更有利于程序的编辑开发。综合考虑了VB 的特点,最后选择其来实现系统的应用程序编辑。

二. SQL Server软件

Microsoft 公司的SQL Server 软件是目前应用非常广泛的后端数据库引擎软件,它提供了一个功能强大的客户机—服务器平台,能够在多个环境中有效地提交关键业务应用。它建立于Microsoft Windows 及Microsoft Windows Server 的功能,可伸缩性和可管理性之上,提供了高端客户机—服务器数据库的可靠性和高级功能。

SQL ,即结构化查询语言(Structured Quer y Language ), 是一种支持数据库的简洁而功能又强大的语言。它作为嵌入命令,在FoxPro ,dBase 和Access 之类的数据库产品中出现,则是近几年的事。然而,它的强大功能对用户有极大的用处。在许多情况下,SQL Select 语句将大大减轻程序的开发工作和提高应用程序的性能。人们看一个应用程序的好坏,注重的是它所能提供的信息如何。而信息的来源往往取决于查询技术,因此,查询技术在应用程序中占有举足轻重的地位。但是,近几年来随着FoxPro 的问世,人们发现,无论涉及多少数据库文件,也无论查询多么复杂,如果使用了S Q L ,就能得到令人满意的查询结果。

SQL Select 语句是一种描述基于需要而建立的一组记录和记录存放格式的非过程方法。它具有自动优化查询的功能,可以大大地加快数据地检索。Select 语句有很多组成部分,但只有两部分是必需地,即from 子局和select 子句。from 子局是要给出要查询的表,

Select 语句给出要查询的结果列。同时SQL 是一个面向集合的语言,每次能处理一个记录集(一个SQL 语句通常每次产生一组记录)。这种面向集合数据处理方法的优点在于它为特殊目的创建自定义文件。

基于SQL Server 平台之上开发应用程序会有不同形式。由工作站发出任务进程,通过服务器执行的查询在SQL Server 系统的中心上。这些要处理的查询都是以SQL 语言为基础,通常可以从SQL Server 附带的应用软件ISQL 来执行。

SQL 是关系数据库的标准语言,具有功能丰富、使用方式灵活、语言简洁易学等突出优点。所以本系统选取它来进行信息源的设计。

三. ODBC 技术

ODBC (Open Database Connectivity , 开放数据库互连)是Microsoft 公司针对异构数据库之间互操作而提供的一个联接层的接口。它是异构数据库之间实现联接的一个很好的工具。ODBC 为应用程序提供了一组接口, 使得应用程序可以不管数据源属于哪种数据库系统, 而达到对数据源的操作。应用程序不直接对数据源进行操作, 而是通过ODBC 的驱动程序对数据源操作。这样的好处是把应用程序从特定的数据库中独立出来, 增加了应用程序的灵活性, 并且解决了异构数据库管理系统之间不兼容的问题。ODBC 是一个公开的工业标准,也是Microsoft Windows 开放服务体系(Windows Open Service Architecture )的组成部分。他允许用户的应用程序使用基于SQL 语言的数据库管理系统。

此系统设计所使用ODBC 的函数都在它的库中,对于不同的软件,函数库也是不同的。ODBC 之所以能访问不同数据库源是由于通过使用驱动程序来提供数据的独立性。驱动程序与具体数据有关,ODBC DRIVER 提供了不同数据库的Windows 驱动程序,这些驱动程序实际上是一些动态链接库。同时,ODBC 是基于结构化查询语言SQL 的,使用SQL 可以大大简化数据库应用程序编程。

ODBC 体系结构包含以下几个部分:

1. 应用程序:应用程序通过ODBC API 函数,SQL 语句操作数据源。

2. 驱动程序管理器(Driver Manager ):该管理器用于为应用程序种ODBC 函数与DDL 中的函数绑定。

3. 驱动程序(Driver )与数据源:数据源指的是一系列同类的库和表,应用程序中要访问不同的数据源就要将相应的数据源驱动程序动态地链接到应用程序中。通过链接不同驱动程序就可以访问不同地数据源。

利用ODBC API 在VB 下访问数据库基本步骤为:初始化ODBC 环境;建立应用程序与数据库的链接;执行SQL 语句;检索结果;状态与错误信息检测;中断VB 程序和数据源的链接。

如果我们要利用Visual Basic开发能够远程控制SQL Serve r 2000数据库的应用程序,首先要完成对ODBC 数据源的设定。添加ODBC 数据源的工作,可以利用工作站操作系统Windows 控制面板的ODBC 数据源管理器来完成。主要操作方法为在ODBC 对话框中选择用户DSN 或系统DSN 栏,利用ODBC 中含有的S Q L Server 驱动程序创建新数据源。数据源建立好之后就可以利用应用程序通过其来远程访问服务器的SQL Server 引擎了。

1.3 管理系统设计内容及方法

本系统是为了实现软件项目开发的流程管理和控制,属于管理信息系统。本系统从申请立项、审批立项到项目实施和项目总结,其信息管理过程中还包括对实施项目的分配,划分模块,文档管理,测试与验收管理和用户管理等相关内容。

要设计这个系统,首先要了解需要实现什么样的功能以及怎样一步步实现此功能。软件项目开发管理系统要实现软件项目开发过程中的各种数据之间的联系,包括申请项目信息,批准项目信息,分配项目信息,执行项目,验收项目信息,项目总结信息,测试项目信息,文档管理,用户管理等。

在熟知其运行机制后,开始进一步进行程序方面的设计。要建立一个软件项目开发管理系统,首先要建立一个数据库,这里将用SQL Server 2000软件建立数据库,由包含数据的表集合和其他对象(如视图、索引等)组成,目的是为执行与数据有关的活动提供支持。接下来建立最终实现的应用程序,这里选择了一种面向对象的可视化编程工具Visual

Basic 来进行访问数据库信息应用程序的设计。最后使用ODBC 数据库访问技术,实现应用程序对数据库的访问及相关操作。此系统可以在Windows 98 / 2000 / XP 等操作系统下运行。

第二章 管理信息系统简介

随着人类社会向信息时代的迈进,人们越来越清楚地认识到,知识就是力量,信息就是财富。信息是管理上一项极为重要的资源。管理工作的成败取决于能否做出有效的决策,而决策的正确程度则在很大程度上取决于信息的质量。人们越来越重视信息技术对传统产业的改造以及对信息资源的开发和利用,“信息化”已成为一个国家经济和社会发展的关键环节,信息化水平的高低也已成为衡量一个国家、一个地区现代化水平的综合国力的重要标志。

互连网的发展、经济全球化和信息经济的出现,使得以现代计算机科学、信息科学、管理科学和系统科学为基础建立的各种管理信息系统(Management Information System,简称MIS )在现代社会经济生活中,发挥着日益重要的作用。

管理信息系统是20世纪80年代才逐渐形成的一门新科学,是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以企业战略竞争、提高效益和效益为目的,支持企业高层决策、中层控制、基层运作的集成化的人机系统。

2.1 管理信息系统在现代组织管理中的作用

当前,由于信息技术在各行业的应用越来越广泛,因此任何一个管理人员都不能忽视信息系统的应用,因为信息管理系统直接影响着管理人员的决策、规划。大多数组织的生存和发展都离不开管理信息系统的支持,人们已经能够普遍的认识到管理信息系统在现代管理中的重要作用。

作为信息系统核心的计算机技术的不断发展而成本却不断降低,管理信息系统在现代组织管理中的应用越来越广,作用越来越大,使用越来越方便,既可以对大量的数据进行分析,也可以运用多媒体技术模拟复杂的物理和逻辑过程。

2.2 管理信息系统的发展

信息系统和信息处理在人类文明开始就已经存在,但直到电子计算机问世、信息技术的飞跃以及现代社会对信息需求迅速增长之时,才发展起来。自从电子计算机问世以来,信息系统经历了由单机到网络,由低级到高级,由电子数据处理到管理信息系统,再到决策支持系统,由数据处理到智能处理的过程。我们可以把管理信息系统的发展分为三个阶

段:

1. 电子数据处理系统阶段; 2. 管理信息系统阶段; 3. 决策支持系统阶段。

综上所述,管理信息系统是一个不断发展的概念,EDPS ,MIS 和DSS 各自代表了信息系统发展过程中的某一个阶段,但至今它们仍各自不断的发展着,而且是相互交叉的关系。

2.3 管理信息系统技术基础

信息技术是管理信息系统的基础,只有把信息技术与管理结合起来,才能真正发挥管理信息系统的作用。管理信息系统涉及计算机技术、数据库技术、通讯技术和网络技术。 管理信息系统是以计算机技术为主要基础的,离开计算机的人工信息处理系统谈不上是现代意义的管理信息系统。换句话来说,计算机就是管理信息系统的主要实现和应用工具。 当人们需要用数据来帮助做决策和采取行动时,如果这些数据能够在限定的时间内被检索处理,并递交给需求者,那么这些数据就产生了价值,成为信息。为了使数据成为有意义的信息,需要将数据有效地组织起来(即建立数据库),才能对数据进行有效地处理。因此,我们认为对于管理信息系统的建设来说,数据库是管理信息系统的主要技术基础。 通讯系统通常定义为制造、传送、接受电子信息的系统。通讯系统有时也指远程通讯系统或网络系统。简单地说,通讯网就是一组连接一个或多个通讯线路的机器。这些机器能发送又能接受信号,如电话、终端、打印机、主机系统、微机等。这些机器通过编码、解码、中继或控制信号的设备。使其能够传送和接受。

计算机网络是管理信息系统运行的基础。由于一个企业或组织中的信息处理都是分布式的,把分布式信息按其本来面目由分布在不同位置的计算机进行处理,并通过通信网络把分布式信息集成起来,是管理信息系统的主要运行方式,因而,计算机网络是管理信息系统的基本使用技术。

2.4 管理信息系统的开发

管理信息系统的开发是一个庞大的系统工程,它涉及到组织的内部结构、管理模式、计算机技术、经营管理过程各个方面。

2.4.1 管理信息系统开发的任务和特点

管理信息系统开发的任务,就是开发一个能满足用户需要、高效并有力支持管理决策目标的、具有先进技术的管理信息系统。

管理信息系统开发的特点:

(1)管理信息系统的开发动力来自需求牵引。随着国内外市场竞争的加剧,信息必然成为组织的战略资源,组织必须运用先进的手段和方法来获取和利用信息资源,提高组织的竞争力。组织的这种潜在需求,必然推动和加剧管理信息系统的开发。

(2)管理信息系统开发的前提是科学合理的管理。MIS 的开发有“三分技术,七分管理,十二分数据”之称,可见管理重要性。只有在合理的管理体制、完善的规章制度、稳定的生产秩序、配套的科学管理方法和完整的原始数据的基础上,才能有效地开发MIS 。 (3)开发策略要因地制宜。MIS 的开发受到组织经营现状、管理基础、彩礼情况、管理模式、生产组织方式等多个因素的影响,不可能在短期内达到理想化水平,必须根据组织的实际情况,制定符合组织要求的开发策略。

(4)组织的管理模式、组织形式和运行机制决定管理信息系统的结构和功能。不同的组织、不同的时期,其管理信息系统的具体形式、功能需求及运行机制是不同的。 (5)投资巨大。开发一个管理信息系统都必须投入大量的资金。投入费用包括购买计算机、网络通信设备等硬件费用。 2.4.2 管理信息系统开发的原则

根据管理信息系统开发的任务和特点,在管理信息系统开发中应遵循以下原则: (1)四个统一原则

管理信息系统的开发要做到四个统一,即“统一领导、统一规则、统一目标规范、统一软硬件环境”。“四统一”给系统开发人员和系统管理人员提出了共同遵守的准则,加强了系统开发过程的管理和控制,对提高系统开发质量和水平、缩短开发时间、减少开发费用、方便系统管理和维护等,都起到了重要指导作用。 (2)“一把手”参与原则

实践证明,如果组织的“一把手”没有参加MIS 开发,而只是作为一个旁观者,那么管理信息系统蛇开发注定要失败。MIS 的开发与应用是一个技术性、政策性很强的系统工程,诸如系统开发目标、环境改造、管理体制变革、机构重组、设备配置、人员培训等一系列

重大问题均需“一把手”的支持与参与。 (3)面向用户原则

管理信息系统是为用户开发的,最终要交给用户使用的,由用户通过运行并在使用后做

出客观评价。因此,系统开发人员要使用MIS 开发获得成功,必须坚持面向用户,树立一切为了用户的思想。从总体规划到开发过程的每一个环节都必须站在用户的立场上,一切为了用户,一切服务于用户。 (4)阶段性原则

系统开发过程要划分若干个工作阶段,明确规定各个阶段的任务和成果,制定各个阶段的目标和评价标准,由开发领导小组或技术负责人来对阶段性成果进行评审,发现问题及时提出修改方案,保证系统开发质量。 (5)适用性和先进性原则

管理信息系统开发,既不能盲目追求技术的先进性而采取不成熟的技术,造成系 统不能正常运行或运行不可靠、不稳定;也不能起点太低,采用过分落后的技术或简 单的模仿手工,造成系统功能弱、性能差。因此,在MIS 开发中应注重适用性与先 进性相结合。一方面要把适用性放在第一位,满足现行管理的实际需求,尽快解决管管理工作中的实际问题;另一方面要采用先进的管理思想和先进的技术,开发出功能全、

2.4.3 管理信息系统开发的组织与管理

管理信息系统开发周期长、耗费大、参与人员多,并涉及引管理体制、管理方法的变革,为了保证系统开发成功,并取得良好的经济效益和社会效益,必须对系统开发工作进行精,心地组织与管理。

2.5管理信息系统规划

管理信息系统规划就是根据组织的总体发展战略和资源状况,对组织信息系统近、中、长期的使命和目标、实现策略和方法、实施方案等内容做出的统筹安排。

一个组织的信息系统规划可以分为战略性规划和执行性规划两部分。战略性规划是宏观指导性的长远规划,执行性规划是对战略规划的具体化和细化。

在开发系统之前,为了节省信息系统的投资,合理分配和利用信息资源,必须认真地制订MIS 战略规划。通过制订规划,找出存在的问题,正确地识别为实现企业目标MIS 系统必须完成的任务,促进信息系统的应用,带来更多的经济效益。

国防工程管理信息系统的规划是按照“自下而上”的方法来进行,从各个基层业务子系统(如工程数据管理、人员管理、物资器材管理等) 的日常业务处理开始进行分析和设计。完成下层子系统的分析和设计后? 再进行上一层系统的分析和设计。实现一个个具体的功能后,逐步地由低级到高级建立MIS 。这种开发方法的优点是边实施边见效,容易开发,可以避免整体系统可能出现运行不协调的危险。但由于在实施具体子系统时,不能像想象那样完全周密,缺乏从整个系统出发考虑问题,易导致功能和和数据的重复和不一致,随着系统的进展,往往要作许多重大修改,甚至重新规划、设计。

第三章 软件系统结构与功能设计

3.1 系统的结构分析

软件项目关管理系统主要是实现对项目开发复杂过程的管理,以便能够协调好各个流程的相互连通,提高企业的工作效率。为了实现其作用需要对系统进行结构分析和功能划分。

在功能模块示意图的树状结构中,每一个功能模块都需要针对不同的表,完成相同的数据库操作,即添加记录、修改记录、删除记录、以及查询显示记录信息。

Admin 用户可以创建普通系统管理员和普通用户,修改普通系统管理员和普通用户的用户名和密码,删除普通系统管理员和普通用户等。普通“系统管理员”可以对普通用户进行管理。系统管理员只能对工程师类用户进行管理,包括项目组长、开发工程师、测试工程师、质量控制工程师等,对主管用户没有管理权。

Manager 用户在系统中相当于企业的总经理,它可以管理主管用户,包括项目主管用户、业务主管和软件开发主管。

3.2 系统的结构设计与功能设计

系统的设计主要先对其进行结构的设计与功能的设计。 3.2.1 系统的结构设计

系统的总体结构可按照下流程图设计。

3.2.2 系统的功能设计

为了实现软件项目开发管理系统,把该系统划分为7个功能: 1. 项目流程管理功能

项目流程管理是本系统的核心管理部分,可以查阅和管理项目信息。项目管理模块可以实现以下功能:

项目基本信息的录入,修改和删除; 申请立项; 批准立项; 项目工程分配; 中止项目。

2. 项目实施管理功能

项目实施管理是指对项目的实施流程进行管理和控制。项目实施管理模块 以实现以下功能: 成立项目组; 划分功能模块;

书写项目报告。 3.项目文档管理功能

项目文档管理模块可以实现以下功能: 添加或修改文档; 删除文档; 阅读文档。

4. 项目测试管理功能

项目测试管理模块可以实现以下功能: 测试工程师添加或修改报错记录; 开发工程师查看报错信息; 开发工程师解决报错信息; 测试工程师关闭报错记录。

5. 项目验收管理功能

项目验收管理模块可以实现的功能: 提请验收项目; 测试工程师签字; 质量控制工程师签字; 业务主管签字; 项目主管签字。

6. 项目总结管理功能

项目总结管理模块可以实现以下功能: 添加项目总结; 修改项目总结; 删除项目总结。

7. 用户管理功能

用户管理功能模块可以实现以下功能:

系统用户信息的录入,包括用户名,用户类型,密码和员工姓名等信息; 系统用户信息的修改;

系统用户信息的删除。

3.3 系统的运行流程图

第四章 项目控制系统模块设计

前面已经介绍了本系统的总体设计包括其流程构造、所要实现的功能模块和设计此系统所使用的软件介绍,这一章是对整个系统进行的详细设计。

4.1系统框架设计

系统的设计和准备工作已经做好了,接下来将创建工程并设计工程的框架。 4.1.1工程的组建

运行Visual Basic 6.0主程序,并选择新建“标准EXE ”工程。新建工程后,在Visual Basic窗口中有一个缺省的窗体From1,将在此基础上设计系统的主界面。

选择“工程”菜单中的“工程1属性”命令,在“工程属性”对话框中。将工程名设置为SoftManager 。单击“保存”按钮,将工程存储为SoftManager.vbp , 将From1的窗体保存为 FrmMain.frx 。 4.1.2 各类模块的添加

根据Visual Basic功能模块的划分原则,将分别创建以下几个模块: ● Const :用来管理工程中的常量

● DbFunc :用来管理工程中与数据库操作相关的申明、变量和函数 ● GeneralFunc :用来管理工程中一些通用的自定义函数

● Variable :用来管理工程中的全局变量

根据Visual Basic 功能模块的划分原则,为每一个表创建一个类模块,将对此表的所有数据库操作都封装在类中。在通常情况下,类的成员变量与对应的表中的字段名相同。

1. Document 类

Document 类用来管理表Document 的数据库操作,它保存为Document.cls 。Document 类的成员函数如表4.1所示。

表4.1 Document类成员函数

2. Team 类

Team 类用来管理表Team 的数据库操作,保存为Team . cls 。Team 类的成员函数如表

4.2所示。

表4.2 Team 类的成员函数

3. Proj 类

Proj 类用来管理表Proj 的数据库操作,保存为Proj . cls 。Proj 类的成员函数如表4.3所示。

表4.3 Proj类的成员函数

4. Modules 类

Modules 类用来管理表Modules 的数据库操作,它保存为Modules . cls 。Modules 类的成员函数如表4.4

表4.4 Modules 类的成员函数

5. PrTable 类

PrTable 类用来管理表PrTable 的数据库操作,保存为PrTable . cls 。PrTable 类的成员函数如表4.5所示。

表4.5 PrTable 类的成员函数

6. Report 类

Report 类用来管理表Report 的数据库操作,保存为Report . cls 。Report 类的成员函数如表

4.6所示。

表4.6 Report类的成员函数

7. Summary 类

Summary 类用来管理表Summary 的数据库操作,保存为Summary . cls 。Summary 类的成员函数如表4.7所示。

表4.7 Summary类的成员函数

8. Users 类

Users 类用来管理表Users 的数据库操作,保存为Users . cls 。Users 类的成员函数如表4.8

所示。

表4.8 Users类的成员函数

为了能够在程序中访问到数据库Softsys ,需要建立系统数据源。

系统使用ODBC 管理器创建、修改或删除ODBC 数据源。在“控制面板”/“管理工具”中找到“数据源(ODBC )”,双击图标,打开“ODBC 数据源管理器”如图4.1所示。

图4.1 ODBC数据源管理器

单击“系统DSN ”选项卡,然后单击“添加”按钮,打开“创建新数据库”对话框,在驱动程序列表中,选择SQL Server ,然后单击“完成” 按钮,打开向导窗口,如图4.2所示。在“名称”文本档中输入数据源名称Softsys ,“说明”文档添入“数据库”,然后“服务器”组合框中选择需要连接的SQL Server 。

图4.2 创建数据源向导

图4.3 显示数据信息

单击“下一步”,输入用户登录ID 和密码后单击“下一步”,打开培植数据库选项对话框,在这里把默认的master 数据库修改为Softsys 。 单击“下一步”打开其他属性窗口,

选取默认值单击“确定”,将打开数据源的汇总信息窗口,如图4.3所示。可以在此窗口中综合了解数据源各项设置,从而决定是否创建数据库。单击“测试数据源”,可以检查数据源配置是否成功,如图4.4所示。

图4.4 数据测试成功

4.2 系统各个模块设计

在创建系统的过程中,需要对系统的各个功能模块进行具体的设计。这一节将在软件项目开发管理系统中项目管理子系统的基础上进行项目控制子系统的设计,它包含测试管理模块、验收管理模块、项目总结管理模块和用户管理模块的设计思路与过程。

4.2.1 测试管理模块与验收管理模块设计及主要代码

测试管理模块可以实现以下功能:

添加报错问题记录;

修改报错问题记录;

修改报错问题记录;

查看报错问题记录;

一. 设计报错问题编辑窗体。

窗体中各主要控件代码流程概括为:

1. Cmd_OK_Click()过程流程

编辑报错问题的窗体可以用来添加和修改项目报错信息。创建一个新窗体,窗体名称设置为FrmPrEdit . 窗体FrmPrEdit 的布局如图4.7所示。在代码中定义全局变量Modify 、OriId 。变量Modify 用来标记当前的数据库访问状态。当Modify =True 时,表示修改已有的数据;当Modify=False时,表示插入新的数据。变量OriId 用来标记正在编辑工程项目的原有编号。

2. ComboMod _Click ()过程流程及主要程序

Private Sub ComboMod1_Click()

Dim TmpId As Long

' 读取一级模块编号

TmpId = MyMod.GetId(CurProj.ProjId, ComboMod1.Text)

' 根据当前的一级模块名称,读取二级模块的数据

ComboMod2.Clear

Call MyMod.Load_by_Upper(TmpId, CurProj.ProjId)

i = 0

' 把二级模块数据添加到ComboMod2中

Do While Arr_Mod(i) ""

ComboMod2.AddItem Arr_Mod(i)

i = i + 1

Loop

' 设置二级模块的初始值

If ComboMod2.ListCount > 0 Then

ComboMod2.ListIndex = 0

End If

End Sub

图4.7 窗体FrmPrEdit 的布局

二. 设计报错问题管理窗体。

创建一个新窗体,窗体名设置为FrmPrMan 。窗体FrmPrMan 的布局如图4.8所示。

图4.8 窗体FrmPrMan 的布局

窗体各主要控件代码的流程概括为:

1. Refresh _Pr ()事件流程

2. Cmd _Ad d_Click ()事件流程

3. Cmd_Close_Click()事件流程

4. Cmd _Mod i_Click ()事件流程

5. ComboStatus _Click ()事件流程

6. Form _Load ()过事件流程

Private Sub Form _Load ()

'根据用户身份的不同,设置不同的界面

'只有测试工程师和软件工程师可以看到“个人”和“全部”的选项 '其他用户没有个人的报错信息,所以看到的是全部报错信息

If CurUser.UserType = 5 Or CurUser.UserType = 6 Then

Option1.Value = True Else

Option1.Visible = False Option2.Visible = False End If

' 根据用户身份的不同,设置按钮的显示

If CurUser.UserType 6 Then '测试工程师采用默认的按钮设置 Cmd_Add.Visible = False Cmd_Modi.Caption = "查 看"

If CurUser.UserType = 5 Then ' 除开发工程师外,其他用户只能查看 Cmd_Close.Caption = "修 改" Cmd_Modi.Left = 2082 Cmd_Close.Left = 3737 Cmd_Back.Left = 5392 Else

Cmd_Close.Visible = False Cmd_Back.Left = 4796 End If End If

4.2.2 项目总结管理模块设计 项目总结管理模块可以实现以下功能:

设置项目的实际金额、实际利润及实际完成日期等信息; 添加项目总结信息; 修改项目总结信息; 删除项目总结信息。 查看项目总结信息。

一. 设计项目总结信息编辑窗体。

编辑项目总结信息的窗体可以用来添加和修改项目的总结信息。创建一个新窗体,窗

体名称设置为FrmSumEdit 。窗体FrmSumEdit 的布局如图4.15所示。

图4.15 FrmSumEdit窗体的布局

定义全局变量Modify 、OriTitle 和OriId 。变量Modify 用来标记当前的数据库访问状态。当Modify =True 时,表示修改已有的数据;当Modify =False 时,表示插入新的数据。变量OriId 用来标记正在编辑工程项目的原有编号。OriTitle 用来标记正在编辑的项目信息标题。

窗体中各主要控件代码的流程概括为: 1. Cmd _OK _Click ()事件流程图及主要代码

' 根据变量Modify 的值,决定是插入新数据,还是更新已有的数据 If Modify = False Then .Insert Else

Call .Update(OriId) End If End With

二. 设计项目总结信息管理窗体。

编辑项目总结信息管理窗体用来管理项目总结信息。创建一个新窗体,窗体名称为FrmSumMan 。窗体FrmSumMan 的布局如图4.20所示。

窗体中各主要控件代码的流程概括为: 1. Refresh _Sum ()事件流程

把项目总结中的“编号”、“标题”、“作者”、“日期”依次录入。 2. Cmd _Add _Click ()事件流程 插入新的项目信息。

3. Cmd _Back _Click ()事件流程

录入信息后关闭窗体。 4. Cmd_Del_Click()事件流程图

5. Cmd_Modi_Click()事件流程图及主要代码

Private Sub Cmd_Modi_Click() If Adodc1.Recordset.EOF = True Then MsgBox "请选择要修改的项目总结" Exit Sub End If

If Cmd_Modi.Caption = "修 改" Then

If Trim(Adodc1.Recordset.Fields(2)) CurUser.Ename Then MsgBox "只有作者才能修改此报告" Exit Sub End If End If

6. Form _Load ()事件流程

4.20 窗体FrmSumMan 的布局

4.2.3用户管理模块设计

根据用户类型的不同,用户管理模块的功能也不同。可以包含以下情形:

Manager 用户可以创建、修改或删除业务主管用户和软件开发主管用户,也可以修改自身的密码;

Admin 用户可以创建、修改或删除开发工程师、测试工程师和质量控制工程师用户,也可以修改自身的密码;

其他用户只能修改自身的用户名和密码。

一. 设计编辑用户信息的窗体。

编辑用户信息的窗体可以用来添加和修改用户信息。创建一个新窗体,窗体名称设置为FrmUserEdit ,窗体布局如4.22所示。

本系统的用户管理中有两个默认的用户:系统管理员Admin 和项目主管Manager 用户管理。

图4.21 用户管理功能模块关系图

定义全局变量Modify 、OriId 。变量Modify 用来标记当前的数据库访问状态。当Modify =True 时,表示修改已有的数据;当Modify =False 时,表示插入新的数据。

图4.22 窗体FrmUserEdit 的布局

窗体中各主要控件代码的流程概括为: 1. Cmd _OK _Click ()事件流程图及主要代码

' 根据变量Modify 的值,决定是插入新数据,还是修改已有的数据 If Modify = False Then .Insert Else

.Update (OriUser)

' 如果修改自身用户名,则更新CurUser 对象

If OriUser = CurUser.UserName And Trim(txtUserName) OriUser Then

CurUser.UserName = Trim(txtUserName)

CurUser.GetInfo (CurUser.UserName)

End If

End If

二. 设计用户管理窗体。

创建一个新窗体,窗体名称设置为FrmUserMan 。窗体FrmUserMan 的布局如图4.24所示。

图4.24 窗体FrmUserMan 的布局

1. Function Right ()事件流程图

2. Sub Cmd _Add _Click ()事件流程图和Function Right()事件流程图相似

3. Cmd _Modi _Click ()事件流程图

4. DataList1_Click ()事件流程图

第五章 系统测试与总结

5.1 系统测试

前面一章是软件项目开发管理系统—项目控制子系统的详细设计。然而必须和项目实施子系统联调起来测试,才能真正实现整个系统的管理功能。

为了更方便的实现两子系统的联调测试,设计了主界面窗体FrmMain 来实现综合管理,其布局如图5.1所示。窗体里面包含有“项目管理”、“项目实施”、“文档管理”、“测试管理”、“项目总结”、“用户管理”。前三个是项目实施子系统要实现的功能,后三个是项目控制子系统要实现的功能。

图5.1 窗体FrmMain 的布局

要实现项目管理在主界面窗体中添加代码

Private Sub lblProj_Click()

End Sub

要实现项目实施在主界面窗体中添加代码

Private Sub lblProjDev_Click()

End Sub

要实现文档管理在主界面窗体中添加代码

Private Sub lblDoc_Click()

End Sub

要实现测试管理在主界面窗体中添加代码

Private Sub lblTest_Click()

End Sub

要实现项目总结在主界面窗体中添加代码

Private Sub lblManager_Click()

End Sub

要实现用户管理在主界面窗体中添加代码

Private Sub lblUsers_Click()

End Sub

测试最终可以看到能够实现系统总体功能

5.2 系统设计总结

通过系统的详细设计与调试连接,已基本实现了对软件项目开发进行管理的系统。不过在系统设计过程中还是存在一些不足。

这里设计的系统是通过VB 访问SQL Server的,将会有隐患产生。在程序代码编写完毕后,应用程序在一定时间范围能够完全实现用户的需求功能(数据采集、数据分析计算、系统查询、报表打印等)但是,经过一段时间的持续运行以后,发现后台数据库服务器处于崩溃状态(此时前台的应用程序除数据库的访问失败以外),其他功能模块功能依然运行良好),从而导致整个系统的数据处理功能失效。这是由于后台数据库服务器中的一个系统库(tempdb )被填满而没有能力再接受新的数据请求,从而使数据库服务器处于崩溃状态,而后依照各种操作手册对数据库服务器进行了各种条件的设置都无济于事。

本系统设计存在的不足是必须手动在SQL Server 2000软件中使用SQL 语句来建立表格等,有时甚至还要使用者在软件中输入数据及相关信息,这样一来使得软件项目开发管理系统对用户来说使用不方便。

前面提及的隐患与tempdb 系统库有着直接的关系。扩大tempdb 系统库的尺寸不是一个根本的解决方法,因为无论怎样增加该库的物理存储容量,它总是存在一个最大极限容量。由于监控系统通常是长时间的持续运行,期间所产生的临时表及临时存储过程在某个时刻总会将tempdb 系统库写满,因此解决改隐患的关键在于如何正常释放tempdb 系统库中被占用的空间。由于后台的数据库服务处理系统对tempdb 系统库的管理对用户是完全

透明的,所以应用系统不可能显示地从tempdb 系统库中删除系统对象。经过反复实践,发现一种正常释放tempdb 系统库中地系统过程对象方法,即:关闭相应的远程连接就可以释放自该连接建立以来tempdb 系统库中为执行SQL 语句而存放所有系统过程对象,从而避免了tempdb 系统库中系统过程对象的累加过程发生。改进后的系统数据库操作流程如图5.2所示。

系统设计存在的这些不足在以后的设计中可以进一步改进,例如可以直接在VB 中编写程序,在VB 运行时同时自动完成实现数据库表格的建立,这样才能方便用户的使用。在应用程序设计完成并发布后,整个系统可供各相关企业使用来管理项目的信息。

参考文献

[1]闪四清著,SQL SERVER 2000数据库管理。北京:北京希望电子出版社,2002.12

[2]李晓黎著,张巍,Visual Basic +SQL Server 数据库应用系统开发与实例。北京:人民

邮电出版社,2003.8

[3]新智工作室著,VB 中文版教程。北京:电子工业出版社,2000.3

[4]洪锦魁著,精通Visual Basic 6.0。西安:世界图书出版社西安公司,2000.5

[5]姚巍著,Visual Basic 数据库开发及工程实例。北京:人民邮电出版社,2003.4

[6]来宾,谭明勇著,数据库原理与应用。北京:冶金工业出版社,2003.6

[7]王金良著,项目控制论。北京:电子工业出版社,1990.8

[8][美]罗伊斯著,周伯生,廖彬山译,软件项目管理:一个统一的框架。北京:机械工

业出版社,2002.8

[9]王珊,陈红著,数据库系统原理教程。北京:清华大学出版社,1998.7

[10]彭林 余艳著,金典教程系列图书 SQL Server 2000金典教程。北京:人民邮电出版社,

2001.8

[11]美国微软公司著,SQL Server 2000开发宝库影印丛书 数据库与数据仓库实用操作大

全。北京:北京大学出版社,2001.3

[12][美]伊斯雷尔著, 邱仲潘,喻文中译,MCSE :SQL Server 2000 Design 学习指南。北

京:电子工业出版社,2002.1

[13]李代平、王昌元著,软件工程习题与解答。北京:冶金工业出版社,2003.6

[14]Matthew Reynlds Richard Blair 等著 康博译, VB.NET入门经典。北京:清华大学出

版社,2002.5

[15]陆昌辉, SQL Server 2000开发人员指南。北京:北京航空航天大学出版社,2002.5

[16]肖桂东,SQL Server 疑难解析。北京:电子工业出版社,2003.12

[17]教育部考试中心,全国计算机等级考试二级教程—Visual Basic 语言程序设计。北京:高等教育出版社,2001.10

致 谢

在整个系统的结构框架以及程序设计过程中,得到了许多人的帮助,十分感谢他们对我的帮助。尤其是程明老师,他在我进行系统的设计时指导我、鼓励我,还为系统的构造提供了许多很好的建议,努力提供了方便的环境。同时还要感谢和我一起进行这个系统设计的×××同学,在和我进行整个设计过程中,一起讨论研究设计方案,最终顺利完成了软件开发项目管理系统的设计

××××年××月

软件项目开发管理系统

摘 要

软件项目开发管理系统在相关企业进行生产的管理中有着广泛的应用,它有利于提高企业对软件项目开发过程中的信息管理。系统研究的目的、意义、现状和发展趋势都有所说明。

这里设计的系统所要实现的功能包括测试管理功能、验收管理功能、文档管理功能和用户管理功能。为了实现系统的各项信息管理功能有选择的分析了开发工具Visual Basic 6.0和SQL Server 2000软件及ODBC (开放式数据库互连)技术的不同特点、性能和选择原则。描述了系统的概要设计,包括其结构的分析和功能划分,并在这个基础上进行了详细的设计。最后列出了系统在设计方面所存在的不足及需要改进的思路。

进行软件项目管理有利于将开发人员的个人能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能稳定发展,项目开发风险越小。

关键字: VB 结构化查询语言 开放式数据库互连 对象 软件项目开发

Software project developing and managing system

Abstract

In some related corporations, the Software project developing and managing system is widely used. In corporations the system is good to help managing the information of software project development. the research purport, meaning, present situation and development direction are all introduced.

The system what we design contains testing management function, checking and accepting management function, text management function and users management function. In order to carry out the management functions of this system, we also analyze the different characteristic, capability and choosing principle of the develop tool Visual Basic 6.0, SQL Server 2000 and ODBC technique. Depicting the main design of the system, it contains structural analysis and partition of functions. On this basis, we made detailed design. At last it lists the disadvantage of this system and the method how to improve.

Carrying out the Software project development is better for changing the talent of every worker into the development ability of corporations. The better development ability of software in corporations, the more indicating software’s production being mature. Then corporations can develop more steadily and the risk of project development is smaller.

Key Words: VB SQL ODBC Object Software project development

目 录

摘 要 . ................................................................... (I) Abstract . ................................................................ (II)

第一章 绪 论 . ............................................................ (1)

1.1 系统研究的背景 .................................................... (1)

1.2 系统开发环境及相关技术 ............................................ (2)

1.3 管理系统设计内容及方法 ............................................ (5)

第二章 管理信息系统简介 . .................................................. (7)

2.1 管理信息系统在现代组织管理中的作用 ................................ (7)

2.2 管理信息系统的发展 ................................................ (7)

2.4 管理信息系统的开发 ................................................ (8)

2.4.1 管理信息系统开发的任务和特点 . ................................ (9)

2.4.2 管理信息系统开发的原则 . ...................................... (9)

2.4.3 管理信息系统开发的组织与管理 . ............................... (10)

2.5管理信息系统规划 . ................................................. (10)

第三章 软件系统结构与功能设计 . ........................................... (12)

3.1 系统的结构分析 ................................................... (12)

3.2 系统的结构设计与功能设计 ......................................... (13)

3.2.1 系统的结构设计 . ............................................. (13)

3.2.2 系统的功能设计 . ............................................. (13)

3.3 系统的运行流程图 ................................................. (15)

第四章 项目控制系统模块设计 . ............................................. (16)

4.1系统框架设计 . ..................................................... (16)

4.1.1工程的组建 .................................................. (16)

4.1.2 各类模块的添加 . ............................................. (16)

4.2 系统各个模块设计 ................................................. (23)

4.2.1 测试管理模块与验收管理模块设计及主要代码 . ................... (23)

4.2.2 项目总结管理模块设计 . ....................................... (29)

4.2.3用户管理模块设计 ............................................ (34)

第五章 系统测试与总结 . ................................................... (39)

5.1 系统测试 ......................................................... (39)

5.2 系统设计总结 ..................................................... (40) 参考文献 . ................................................................ (42) 致 谢 . .................................................................. (43)

第一章 绪 论

1.1 系统研究的背景

项目管理是在现代社会发展起来的新管理技术之一, 如今已被广泛应用于许多领域, 如企业新产品开发, 建筑工程建设项目, 网络技术推广计划等, 作为一项管理技术复杂, 需要多学科协作的现代管理技术, 项目管理具有的特殊价值已被各行各业充分认识,随着社会主义市场经济的不断深入, 项目的管理也正在发生变化, 而随之项目管理的体制也发生了变化。项目的管理体制必须符合现代化项目管理的要求。

软件项目管理是指如何在有限的经费、时间、原料、设备或人力等资源条件下, 以最有效的管理和方式来实现软件项目开发计划。一个软件开发项目的成功与否取决于项目进行的目标设定与计划, 以及在项目过程中, 如何对项目的进度、资源分配、成本预算等进行有效的管理、支配和控制。项目的基本特性之一是项目的目标性,软件开发项目的目标主要有进度目标,费用目标和质量目标。为了实现项目的目标,必须对项目全过程指定实施计划。为了使项目实施结果不偏离计划或者一旦偏离能及时修正,必须对项目实施的过程进行连续的,动态的控制。

进行软件项目管理有利于将开发人员的个人能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能稳定发展,项目开发风险越小。

我国在各种项目上的投资以万亿计,几乎涵盖了经济、文化、科教、国防等所有重要领域,遍布各个行业类别,包括IT 项目,银行贷款项目,能源,交通,水利等基础设施项目,房地产项目,农业发展项目,工业企业技改项目以及体育,文化活动项目等。项目的数量,投资额度,资金来源和币种的多元化以及管理上的复杂性都大大超过了以往。尽管改革开放以来我国项目的管理工作有了很大改进,但是拖延时间、超支以及关、停、并、转的情况仍然占相当比例,效益有待提高。当今无论是企事业单位还是政府机构都面临着严峻的竞争压力,几乎都在不断的推出新产品,新技术,新工艺和各种改革措施。实际上任何创新和改革都是项目活动。由于这些任务具有一次性和独特性的共同特征,人们日益认识到采用常规的运行管理是难以应付的,必须组成专门的项目班子,采用项目管理方法。因此,在企事业管理和政府管理机构中也同样出现了项目管理的强烈要求。世界银行是把

每一笔贷款作为一个项目来管理的;美国国防部(DOD )有自己的“防卫系统管理学院”,主要为政府工作人员培训项目管理技术,如今的应用项目管理技术不少是由DOD 研究开发的。项目管理的需求几乎渗透到了任何形式的机构中。在中国,项目管理应用体系建立最早也相对完备的是建筑行业,国内项目管理经验数量大但含金量并不相称,在目前的条件下,任何系统软件都不能完全代替人的工作,这不仅仅是系统本身的问题。

当今社会信息技术飞速发展,软件产品的规模也越来越庞大,个人的小作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。软件项目管理在于将一次性的,不可重复的项目管理过程中可积累、可移植、可操作、有价值的管理经验总结、分析、提炼并且系统化后用于指导现有项目中未完成部分和将来的项目。实现项目管理,发展项目离不开管理思想、管理组织、管理方法和手段的现代化,这是软件项目管理系统发展的必然趋势。

1.2 系统开发环境及相关技术

一.Visual Basic软件

Visual Basic是Microsoft 公司最新推出的Windows 应用程序开发工具。是在BASIC 语言基础上研制而成的,它具有BASIC 语言简单而不贫乏的优点,同时增加了结构化和可视化程序设计语言的功能。

VB 的编程方法是采用面向对象的,即oop 。在oop 中引用了称为方法(Method )特殊过程和函数。虽然在VB 中,不完全是面向对象的计算机语言,但是它为每个对象包括了方法。这些对象如窗体、控件、命令按钮、应用程序剪贴板、调试程序、打印机、屏幕等。在VB 中方法采用“对象. 方法”的形式实现调用的。方法可以与过程和函数一样,可以执行一项任务或只返回一个值。

VB 是使用项目来管理VB 中的应用程序,通常一个应用程序对应一个项目。通过查看。MAK 制作文件(项目文件),发现VB 的应用程序由4种不同类型的文件组成:项目文件(. mak )、自定控制文件(. vbx )、代码模块文件(. frm )。和其他所有高级语言一样,VB 采用过程和函数。过程(Procedure )就是执行特定任务的一组命令通过过程名就可以调用该过程。函数(Function )是能够返回值的过程,VB 中的函数同样分为内部函数和自定义函数。VB 中数据类型和用户自定义的数据类型。其基本数据类型有Integer (整数)、Long (长整数)、String (字符窜)、Sing (单精度数) 、Double (双精度数) 、Current (货币) 和Variant

(变体型)组成。

VB 中和对象相关联的每个过程都对应一个特定的事件(Event )或动作,因此称为事件过程。事件包括动作和改变大小,它只发生在运行时刻,而不会在设计阶段。对于同一个对象,可以出发不同的事件过程。常用的事件有键盘事件、鼠标事件、动态数据交换事件以及其它有关事件。

VB 的过程和其他高级语言一样,通过使用过程来调用,其过程由下列语句来声明: Sub 过程名([参数[AS 类型][,参数AS 类型]„])

En d sub

从句法中可以看出,子过程的区别在于过程用S ub 和End 语句;而函数过程用Function 和End Function 语句。

Visual Basic 的特点非常突出,那就是具有快速的程序开发环境,编制程序界面简单,代码的编写量小,用户可以很方便的直接改动界面,所见即所得。因此对于初学者或从未有过编程经验的读者。VB 在以往版本的VB 基础上增加了许多功能,更有利于程序的编辑开发。综合考虑了VB 的特点,最后选择其来实现系统的应用程序编辑。

二. SQL Server软件

Microsoft 公司的SQL Server 软件是目前应用非常广泛的后端数据库引擎软件,它提供了一个功能强大的客户机—服务器平台,能够在多个环境中有效地提交关键业务应用。它建立于Microsoft Windows 及Microsoft Windows Server 的功能,可伸缩性和可管理性之上,提供了高端客户机—服务器数据库的可靠性和高级功能。

SQL ,即结构化查询语言(Structured Quer y Language ), 是一种支持数据库的简洁而功能又强大的语言。它作为嵌入命令,在FoxPro ,dBase 和Access 之类的数据库产品中出现,则是近几年的事。然而,它的强大功能对用户有极大的用处。在许多情况下,SQL Select 语句将大大减轻程序的开发工作和提高应用程序的性能。人们看一个应用程序的好坏,注重的是它所能提供的信息如何。而信息的来源往往取决于查询技术,因此,查询技术在应用程序中占有举足轻重的地位。但是,近几年来随着FoxPro 的问世,人们发现,无论涉及多少数据库文件,也无论查询多么复杂,如果使用了S Q L ,就能得到令人满意的查询结果。

SQL Select 语句是一种描述基于需要而建立的一组记录和记录存放格式的非过程方法。它具有自动优化查询的功能,可以大大地加快数据地检索。Select 语句有很多组成部分,但只有两部分是必需地,即from 子局和select 子句。from 子局是要给出要查询的表,

Select 语句给出要查询的结果列。同时SQL 是一个面向集合的语言,每次能处理一个记录集(一个SQL 语句通常每次产生一组记录)。这种面向集合数据处理方法的优点在于它为特殊目的创建自定义文件。

基于SQL Server 平台之上开发应用程序会有不同形式。由工作站发出任务进程,通过服务器执行的查询在SQL Server 系统的中心上。这些要处理的查询都是以SQL 语言为基础,通常可以从SQL Server 附带的应用软件ISQL 来执行。

SQL 是关系数据库的标准语言,具有功能丰富、使用方式灵活、语言简洁易学等突出优点。所以本系统选取它来进行信息源的设计。

三. ODBC 技术

ODBC (Open Database Connectivity , 开放数据库互连)是Microsoft 公司针对异构数据库之间互操作而提供的一个联接层的接口。它是异构数据库之间实现联接的一个很好的工具。ODBC 为应用程序提供了一组接口, 使得应用程序可以不管数据源属于哪种数据库系统, 而达到对数据源的操作。应用程序不直接对数据源进行操作, 而是通过ODBC 的驱动程序对数据源操作。这样的好处是把应用程序从特定的数据库中独立出来, 增加了应用程序的灵活性, 并且解决了异构数据库管理系统之间不兼容的问题。ODBC 是一个公开的工业标准,也是Microsoft Windows 开放服务体系(Windows Open Service Architecture )的组成部分。他允许用户的应用程序使用基于SQL 语言的数据库管理系统。

此系统设计所使用ODBC 的函数都在它的库中,对于不同的软件,函数库也是不同的。ODBC 之所以能访问不同数据库源是由于通过使用驱动程序来提供数据的独立性。驱动程序与具体数据有关,ODBC DRIVER 提供了不同数据库的Windows 驱动程序,这些驱动程序实际上是一些动态链接库。同时,ODBC 是基于结构化查询语言SQL 的,使用SQL 可以大大简化数据库应用程序编程。

ODBC 体系结构包含以下几个部分:

1. 应用程序:应用程序通过ODBC API 函数,SQL 语句操作数据源。

2. 驱动程序管理器(Driver Manager ):该管理器用于为应用程序种ODBC 函数与DDL 中的函数绑定。

3. 驱动程序(Driver )与数据源:数据源指的是一系列同类的库和表,应用程序中要访问不同的数据源就要将相应的数据源驱动程序动态地链接到应用程序中。通过链接不同驱动程序就可以访问不同地数据源。

利用ODBC API 在VB 下访问数据库基本步骤为:初始化ODBC 环境;建立应用程序与数据库的链接;执行SQL 语句;检索结果;状态与错误信息检测;中断VB 程序和数据源的链接。

如果我们要利用Visual Basic开发能够远程控制SQL Serve r 2000数据库的应用程序,首先要完成对ODBC 数据源的设定。添加ODBC 数据源的工作,可以利用工作站操作系统Windows 控制面板的ODBC 数据源管理器来完成。主要操作方法为在ODBC 对话框中选择用户DSN 或系统DSN 栏,利用ODBC 中含有的S Q L Server 驱动程序创建新数据源。数据源建立好之后就可以利用应用程序通过其来远程访问服务器的SQL Server 引擎了。

1.3 管理系统设计内容及方法

本系统是为了实现软件项目开发的流程管理和控制,属于管理信息系统。本系统从申请立项、审批立项到项目实施和项目总结,其信息管理过程中还包括对实施项目的分配,划分模块,文档管理,测试与验收管理和用户管理等相关内容。

要设计这个系统,首先要了解需要实现什么样的功能以及怎样一步步实现此功能。软件项目开发管理系统要实现软件项目开发过程中的各种数据之间的联系,包括申请项目信息,批准项目信息,分配项目信息,执行项目,验收项目信息,项目总结信息,测试项目信息,文档管理,用户管理等。

在熟知其运行机制后,开始进一步进行程序方面的设计。要建立一个软件项目开发管理系统,首先要建立一个数据库,这里将用SQL Server 2000软件建立数据库,由包含数据的表集合和其他对象(如视图、索引等)组成,目的是为执行与数据有关的活动提供支持。接下来建立最终实现的应用程序,这里选择了一种面向对象的可视化编程工具Visual

Basic 来进行访问数据库信息应用程序的设计。最后使用ODBC 数据库访问技术,实现应用程序对数据库的访问及相关操作。此系统可以在Windows 98 / 2000 / XP 等操作系统下运行。

第二章 管理信息系统简介

随着人类社会向信息时代的迈进,人们越来越清楚地认识到,知识就是力量,信息就是财富。信息是管理上一项极为重要的资源。管理工作的成败取决于能否做出有效的决策,而决策的正确程度则在很大程度上取决于信息的质量。人们越来越重视信息技术对传统产业的改造以及对信息资源的开发和利用,“信息化”已成为一个国家经济和社会发展的关键环节,信息化水平的高低也已成为衡量一个国家、一个地区现代化水平的综合国力的重要标志。

互连网的发展、经济全球化和信息经济的出现,使得以现代计算机科学、信息科学、管理科学和系统科学为基础建立的各种管理信息系统(Management Information System,简称MIS )在现代社会经济生活中,发挥着日益重要的作用。

管理信息系统是20世纪80年代才逐渐形成的一门新科学,是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以企业战略竞争、提高效益和效益为目的,支持企业高层决策、中层控制、基层运作的集成化的人机系统。

2.1 管理信息系统在现代组织管理中的作用

当前,由于信息技术在各行业的应用越来越广泛,因此任何一个管理人员都不能忽视信息系统的应用,因为信息管理系统直接影响着管理人员的决策、规划。大多数组织的生存和发展都离不开管理信息系统的支持,人们已经能够普遍的认识到管理信息系统在现代管理中的重要作用。

作为信息系统核心的计算机技术的不断发展而成本却不断降低,管理信息系统在现代组织管理中的应用越来越广,作用越来越大,使用越来越方便,既可以对大量的数据进行分析,也可以运用多媒体技术模拟复杂的物理和逻辑过程。

2.2 管理信息系统的发展

信息系统和信息处理在人类文明开始就已经存在,但直到电子计算机问世、信息技术的飞跃以及现代社会对信息需求迅速增长之时,才发展起来。自从电子计算机问世以来,信息系统经历了由单机到网络,由低级到高级,由电子数据处理到管理信息系统,再到决策支持系统,由数据处理到智能处理的过程。我们可以把管理信息系统的发展分为三个阶

段:

1. 电子数据处理系统阶段; 2. 管理信息系统阶段; 3. 决策支持系统阶段。

综上所述,管理信息系统是一个不断发展的概念,EDPS ,MIS 和DSS 各自代表了信息系统发展过程中的某一个阶段,但至今它们仍各自不断的发展着,而且是相互交叉的关系。

2.3 管理信息系统技术基础

信息技术是管理信息系统的基础,只有把信息技术与管理结合起来,才能真正发挥管理信息系统的作用。管理信息系统涉及计算机技术、数据库技术、通讯技术和网络技术。 管理信息系统是以计算机技术为主要基础的,离开计算机的人工信息处理系统谈不上是现代意义的管理信息系统。换句话来说,计算机就是管理信息系统的主要实现和应用工具。 当人们需要用数据来帮助做决策和采取行动时,如果这些数据能够在限定的时间内被检索处理,并递交给需求者,那么这些数据就产生了价值,成为信息。为了使数据成为有意义的信息,需要将数据有效地组织起来(即建立数据库),才能对数据进行有效地处理。因此,我们认为对于管理信息系统的建设来说,数据库是管理信息系统的主要技术基础。 通讯系统通常定义为制造、传送、接受电子信息的系统。通讯系统有时也指远程通讯系统或网络系统。简单地说,通讯网就是一组连接一个或多个通讯线路的机器。这些机器能发送又能接受信号,如电话、终端、打印机、主机系统、微机等。这些机器通过编码、解码、中继或控制信号的设备。使其能够传送和接受。

计算机网络是管理信息系统运行的基础。由于一个企业或组织中的信息处理都是分布式的,把分布式信息按其本来面目由分布在不同位置的计算机进行处理,并通过通信网络把分布式信息集成起来,是管理信息系统的主要运行方式,因而,计算机网络是管理信息系统的基本使用技术。

2.4 管理信息系统的开发

管理信息系统的开发是一个庞大的系统工程,它涉及到组织的内部结构、管理模式、计算机技术、经营管理过程各个方面。

2.4.1 管理信息系统开发的任务和特点

管理信息系统开发的任务,就是开发一个能满足用户需要、高效并有力支持管理决策目标的、具有先进技术的管理信息系统。

管理信息系统开发的特点:

(1)管理信息系统的开发动力来自需求牵引。随着国内外市场竞争的加剧,信息必然成为组织的战略资源,组织必须运用先进的手段和方法来获取和利用信息资源,提高组织的竞争力。组织的这种潜在需求,必然推动和加剧管理信息系统的开发。

(2)管理信息系统开发的前提是科学合理的管理。MIS 的开发有“三分技术,七分管理,十二分数据”之称,可见管理重要性。只有在合理的管理体制、完善的规章制度、稳定的生产秩序、配套的科学管理方法和完整的原始数据的基础上,才能有效地开发MIS 。 (3)开发策略要因地制宜。MIS 的开发受到组织经营现状、管理基础、彩礼情况、管理模式、生产组织方式等多个因素的影响,不可能在短期内达到理想化水平,必须根据组织的实际情况,制定符合组织要求的开发策略。

(4)组织的管理模式、组织形式和运行机制决定管理信息系统的结构和功能。不同的组织、不同的时期,其管理信息系统的具体形式、功能需求及运行机制是不同的。 (5)投资巨大。开发一个管理信息系统都必须投入大量的资金。投入费用包括购买计算机、网络通信设备等硬件费用。 2.4.2 管理信息系统开发的原则

根据管理信息系统开发的任务和特点,在管理信息系统开发中应遵循以下原则: (1)四个统一原则

管理信息系统的开发要做到四个统一,即“统一领导、统一规则、统一目标规范、统一软硬件环境”。“四统一”给系统开发人员和系统管理人员提出了共同遵守的准则,加强了系统开发过程的管理和控制,对提高系统开发质量和水平、缩短开发时间、减少开发费用、方便系统管理和维护等,都起到了重要指导作用。 (2)“一把手”参与原则

实践证明,如果组织的“一把手”没有参加MIS 开发,而只是作为一个旁观者,那么管理信息系统蛇开发注定要失败。MIS 的开发与应用是一个技术性、政策性很强的系统工程,诸如系统开发目标、环境改造、管理体制变革、机构重组、设备配置、人员培训等一系列

重大问题均需“一把手”的支持与参与。 (3)面向用户原则

管理信息系统是为用户开发的,最终要交给用户使用的,由用户通过运行并在使用后做

出客观评价。因此,系统开发人员要使用MIS 开发获得成功,必须坚持面向用户,树立一切为了用户的思想。从总体规划到开发过程的每一个环节都必须站在用户的立场上,一切为了用户,一切服务于用户。 (4)阶段性原则

系统开发过程要划分若干个工作阶段,明确规定各个阶段的任务和成果,制定各个阶段的目标和评价标准,由开发领导小组或技术负责人来对阶段性成果进行评审,发现问题及时提出修改方案,保证系统开发质量。 (5)适用性和先进性原则

管理信息系统开发,既不能盲目追求技术的先进性而采取不成熟的技术,造成系 统不能正常运行或运行不可靠、不稳定;也不能起点太低,采用过分落后的技术或简 单的模仿手工,造成系统功能弱、性能差。因此,在MIS 开发中应注重适用性与先 进性相结合。一方面要把适用性放在第一位,满足现行管理的实际需求,尽快解决管管理工作中的实际问题;另一方面要采用先进的管理思想和先进的技术,开发出功能全、

2.4.3 管理信息系统开发的组织与管理

管理信息系统开发周期长、耗费大、参与人员多,并涉及引管理体制、管理方法的变革,为了保证系统开发成功,并取得良好的经济效益和社会效益,必须对系统开发工作进行精,心地组织与管理。

2.5管理信息系统规划

管理信息系统规划就是根据组织的总体发展战略和资源状况,对组织信息系统近、中、长期的使命和目标、实现策略和方法、实施方案等内容做出的统筹安排。

一个组织的信息系统规划可以分为战略性规划和执行性规划两部分。战略性规划是宏观指导性的长远规划,执行性规划是对战略规划的具体化和细化。

在开发系统之前,为了节省信息系统的投资,合理分配和利用信息资源,必须认真地制订MIS 战略规划。通过制订规划,找出存在的问题,正确地识别为实现企业目标MIS 系统必须完成的任务,促进信息系统的应用,带来更多的经济效益。

国防工程管理信息系统的规划是按照“自下而上”的方法来进行,从各个基层业务子系统(如工程数据管理、人员管理、物资器材管理等) 的日常业务处理开始进行分析和设计。完成下层子系统的分析和设计后? 再进行上一层系统的分析和设计。实现一个个具体的功能后,逐步地由低级到高级建立MIS 。这种开发方法的优点是边实施边见效,容易开发,可以避免整体系统可能出现运行不协调的危险。但由于在实施具体子系统时,不能像想象那样完全周密,缺乏从整个系统出发考虑问题,易导致功能和和数据的重复和不一致,随着系统的进展,往往要作许多重大修改,甚至重新规划、设计。

第三章 软件系统结构与功能设计

3.1 系统的结构分析

软件项目关管理系统主要是实现对项目开发复杂过程的管理,以便能够协调好各个流程的相互连通,提高企业的工作效率。为了实现其作用需要对系统进行结构分析和功能划分。

在功能模块示意图的树状结构中,每一个功能模块都需要针对不同的表,完成相同的数据库操作,即添加记录、修改记录、删除记录、以及查询显示记录信息。

Admin 用户可以创建普通系统管理员和普通用户,修改普通系统管理员和普通用户的用户名和密码,删除普通系统管理员和普通用户等。普通“系统管理员”可以对普通用户进行管理。系统管理员只能对工程师类用户进行管理,包括项目组长、开发工程师、测试工程师、质量控制工程师等,对主管用户没有管理权。

Manager 用户在系统中相当于企业的总经理,它可以管理主管用户,包括项目主管用户、业务主管和软件开发主管。

3.2 系统的结构设计与功能设计

系统的设计主要先对其进行结构的设计与功能的设计。 3.2.1 系统的结构设计

系统的总体结构可按照下流程图设计。

3.2.2 系统的功能设计

为了实现软件项目开发管理系统,把该系统划分为7个功能: 1. 项目流程管理功能

项目流程管理是本系统的核心管理部分,可以查阅和管理项目信息。项目管理模块可以实现以下功能:

项目基本信息的录入,修改和删除; 申请立项; 批准立项; 项目工程分配; 中止项目。

2. 项目实施管理功能

项目实施管理是指对项目的实施流程进行管理和控制。项目实施管理模块 以实现以下功能: 成立项目组; 划分功能模块;

书写项目报告。 3.项目文档管理功能

项目文档管理模块可以实现以下功能: 添加或修改文档; 删除文档; 阅读文档。

4. 项目测试管理功能

项目测试管理模块可以实现以下功能: 测试工程师添加或修改报错记录; 开发工程师查看报错信息; 开发工程师解决报错信息; 测试工程师关闭报错记录。

5. 项目验收管理功能

项目验收管理模块可以实现的功能: 提请验收项目; 测试工程师签字; 质量控制工程师签字; 业务主管签字; 项目主管签字。

6. 项目总结管理功能

项目总结管理模块可以实现以下功能: 添加项目总结; 修改项目总结; 删除项目总结。

7. 用户管理功能

用户管理功能模块可以实现以下功能:

系统用户信息的录入,包括用户名,用户类型,密码和员工姓名等信息; 系统用户信息的修改;

系统用户信息的删除。

3.3 系统的运行流程图

第四章 项目控制系统模块设计

前面已经介绍了本系统的总体设计包括其流程构造、所要实现的功能模块和设计此系统所使用的软件介绍,这一章是对整个系统进行的详细设计。

4.1系统框架设计

系统的设计和准备工作已经做好了,接下来将创建工程并设计工程的框架。 4.1.1工程的组建

运行Visual Basic 6.0主程序,并选择新建“标准EXE ”工程。新建工程后,在Visual Basic窗口中有一个缺省的窗体From1,将在此基础上设计系统的主界面。

选择“工程”菜单中的“工程1属性”命令,在“工程属性”对话框中。将工程名设置为SoftManager 。单击“保存”按钮,将工程存储为SoftManager.vbp , 将From1的窗体保存为 FrmMain.frx 。 4.1.2 各类模块的添加

根据Visual Basic功能模块的划分原则,将分别创建以下几个模块: ● Const :用来管理工程中的常量

● DbFunc :用来管理工程中与数据库操作相关的申明、变量和函数 ● GeneralFunc :用来管理工程中一些通用的自定义函数

● Variable :用来管理工程中的全局变量

根据Visual Basic 功能模块的划分原则,为每一个表创建一个类模块,将对此表的所有数据库操作都封装在类中。在通常情况下,类的成员变量与对应的表中的字段名相同。

1. Document 类

Document 类用来管理表Document 的数据库操作,它保存为Document.cls 。Document 类的成员函数如表4.1所示。

表4.1 Document类成员函数

2. Team 类

Team 类用来管理表Team 的数据库操作,保存为Team . cls 。Team 类的成员函数如表

4.2所示。

表4.2 Team 类的成员函数

3. Proj 类

Proj 类用来管理表Proj 的数据库操作,保存为Proj . cls 。Proj 类的成员函数如表4.3所示。

表4.3 Proj类的成员函数

4. Modules 类

Modules 类用来管理表Modules 的数据库操作,它保存为Modules . cls 。Modules 类的成员函数如表4.4

表4.4 Modules 类的成员函数

5. PrTable 类

PrTable 类用来管理表PrTable 的数据库操作,保存为PrTable . cls 。PrTable 类的成员函数如表4.5所示。

表4.5 PrTable 类的成员函数

6. Report 类

Report 类用来管理表Report 的数据库操作,保存为Report . cls 。Report 类的成员函数如表

4.6所示。

表4.6 Report类的成员函数

7. Summary 类

Summary 类用来管理表Summary 的数据库操作,保存为Summary . cls 。Summary 类的成员函数如表4.7所示。

表4.7 Summary类的成员函数

8. Users 类

Users 类用来管理表Users 的数据库操作,保存为Users . cls 。Users 类的成员函数如表4.8

所示。

表4.8 Users类的成员函数

为了能够在程序中访问到数据库Softsys ,需要建立系统数据源。

系统使用ODBC 管理器创建、修改或删除ODBC 数据源。在“控制面板”/“管理工具”中找到“数据源(ODBC )”,双击图标,打开“ODBC 数据源管理器”如图4.1所示。

图4.1 ODBC数据源管理器

单击“系统DSN ”选项卡,然后单击“添加”按钮,打开“创建新数据库”对话框,在驱动程序列表中,选择SQL Server ,然后单击“完成” 按钮,打开向导窗口,如图4.2所示。在“名称”文本档中输入数据源名称Softsys ,“说明”文档添入“数据库”,然后“服务器”组合框中选择需要连接的SQL Server 。

图4.2 创建数据源向导

图4.3 显示数据信息

单击“下一步”,输入用户登录ID 和密码后单击“下一步”,打开培植数据库选项对话框,在这里把默认的master 数据库修改为Softsys 。 单击“下一步”打开其他属性窗口,

选取默认值单击“确定”,将打开数据源的汇总信息窗口,如图4.3所示。可以在此窗口中综合了解数据源各项设置,从而决定是否创建数据库。单击“测试数据源”,可以检查数据源配置是否成功,如图4.4所示。

图4.4 数据测试成功

4.2 系统各个模块设计

在创建系统的过程中,需要对系统的各个功能模块进行具体的设计。这一节将在软件项目开发管理系统中项目管理子系统的基础上进行项目控制子系统的设计,它包含测试管理模块、验收管理模块、项目总结管理模块和用户管理模块的设计思路与过程。

4.2.1 测试管理模块与验收管理模块设计及主要代码

测试管理模块可以实现以下功能:

添加报错问题记录;

修改报错问题记录;

修改报错问题记录;

查看报错问题记录;

一. 设计报错问题编辑窗体。

窗体中各主要控件代码流程概括为:

1. Cmd_OK_Click()过程流程

编辑报错问题的窗体可以用来添加和修改项目报错信息。创建一个新窗体,窗体名称设置为FrmPrEdit . 窗体FrmPrEdit 的布局如图4.7所示。在代码中定义全局变量Modify 、OriId 。变量Modify 用来标记当前的数据库访问状态。当Modify =True 时,表示修改已有的数据;当Modify=False时,表示插入新的数据。变量OriId 用来标记正在编辑工程项目的原有编号。

2. ComboMod _Click ()过程流程及主要程序

Private Sub ComboMod1_Click()

Dim TmpId As Long

' 读取一级模块编号

TmpId = MyMod.GetId(CurProj.ProjId, ComboMod1.Text)

' 根据当前的一级模块名称,读取二级模块的数据

ComboMod2.Clear

Call MyMod.Load_by_Upper(TmpId, CurProj.ProjId)

i = 0

' 把二级模块数据添加到ComboMod2中

Do While Arr_Mod(i) ""

ComboMod2.AddItem Arr_Mod(i)

i = i + 1

Loop

' 设置二级模块的初始值

If ComboMod2.ListCount > 0 Then

ComboMod2.ListIndex = 0

End If

End Sub

图4.7 窗体FrmPrEdit 的布局

二. 设计报错问题管理窗体。

创建一个新窗体,窗体名设置为FrmPrMan 。窗体FrmPrMan 的布局如图4.8所示。

图4.8 窗体FrmPrMan 的布局

窗体各主要控件代码的流程概括为:

1. Refresh _Pr ()事件流程

2. Cmd _Ad d_Click ()事件流程

3. Cmd_Close_Click()事件流程

4. Cmd _Mod i_Click ()事件流程

5. ComboStatus _Click ()事件流程

6. Form _Load ()过事件流程

Private Sub Form _Load ()

'根据用户身份的不同,设置不同的界面

'只有测试工程师和软件工程师可以看到“个人”和“全部”的选项 '其他用户没有个人的报错信息,所以看到的是全部报错信息

If CurUser.UserType = 5 Or CurUser.UserType = 6 Then

Option1.Value = True Else

Option1.Visible = False Option2.Visible = False End If

' 根据用户身份的不同,设置按钮的显示

If CurUser.UserType 6 Then '测试工程师采用默认的按钮设置 Cmd_Add.Visible = False Cmd_Modi.Caption = "查 看"

If CurUser.UserType = 5 Then ' 除开发工程师外,其他用户只能查看 Cmd_Close.Caption = "修 改" Cmd_Modi.Left = 2082 Cmd_Close.Left = 3737 Cmd_Back.Left = 5392 Else

Cmd_Close.Visible = False Cmd_Back.Left = 4796 End If End If

4.2.2 项目总结管理模块设计 项目总结管理模块可以实现以下功能:

设置项目的实际金额、实际利润及实际完成日期等信息; 添加项目总结信息; 修改项目总结信息; 删除项目总结信息。 查看项目总结信息。

一. 设计项目总结信息编辑窗体。

编辑项目总结信息的窗体可以用来添加和修改项目的总结信息。创建一个新窗体,窗

体名称设置为FrmSumEdit 。窗体FrmSumEdit 的布局如图4.15所示。

图4.15 FrmSumEdit窗体的布局

定义全局变量Modify 、OriTitle 和OriId 。变量Modify 用来标记当前的数据库访问状态。当Modify =True 时,表示修改已有的数据;当Modify =False 时,表示插入新的数据。变量OriId 用来标记正在编辑工程项目的原有编号。OriTitle 用来标记正在编辑的项目信息标题。

窗体中各主要控件代码的流程概括为: 1. Cmd _OK _Click ()事件流程图及主要代码

' 根据变量Modify 的值,决定是插入新数据,还是更新已有的数据 If Modify = False Then .Insert Else

Call .Update(OriId) End If End With

二. 设计项目总结信息管理窗体。

编辑项目总结信息管理窗体用来管理项目总结信息。创建一个新窗体,窗体名称为FrmSumMan 。窗体FrmSumMan 的布局如图4.20所示。

窗体中各主要控件代码的流程概括为: 1. Refresh _Sum ()事件流程

把项目总结中的“编号”、“标题”、“作者”、“日期”依次录入。 2. Cmd _Add _Click ()事件流程 插入新的项目信息。

3. Cmd _Back _Click ()事件流程

录入信息后关闭窗体。 4. Cmd_Del_Click()事件流程图

5. Cmd_Modi_Click()事件流程图及主要代码

Private Sub Cmd_Modi_Click() If Adodc1.Recordset.EOF = True Then MsgBox "请选择要修改的项目总结" Exit Sub End If

If Cmd_Modi.Caption = "修 改" Then

If Trim(Adodc1.Recordset.Fields(2)) CurUser.Ename Then MsgBox "只有作者才能修改此报告" Exit Sub End If End If

6. Form _Load ()事件流程

4.20 窗体FrmSumMan 的布局

4.2.3用户管理模块设计

根据用户类型的不同,用户管理模块的功能也不同。可以包含以下情形:

Manager 用户可以创建、修改或删除业务主管用户和软件开发主管用户,也可以修改自身的密码;

Admin 用户可以创建、修改或删除开发工程师、测试工程师和质量控制工程师用户,也可以修改自身的密码;

其他用户只能修改自身的用户名和密码。

一. 设计编辑用户信息的窗体。

编辑用户信息的窗体可以用来添加和修改用户信息。创建一个新窗体,窗体名称设置为FrmUserEdit ,窗体布局如4.22所示。

本系统的用户管理中有两个默认的用户:系统管理员Admin 和项目主管Manager 用户管理。

图4.21 用户管理功能模块关系图

定义全局变量Modify 、OriId 。变量Modify 用来标记当前的数据库访问状态。当Modify =True 时,表示修改已有的数据;当Modify =False 时,表示插入新的数据。

图4.22 窗体FrmUserEdit 的布局

窗体中各主要控件代码的流程概括为: 1. Cmd _OK _Click ()事件流程图及主要代码

' 根据变量Modify 的值,决定是插入新数据,还是修改已有的数据 If Modify = False Then .Insert Else

.Update (OriUser)

' 如果修改自身用户名,则更新CurUser 对象

If OriUser = CurUser.UserName And Trim(txtUserName) OriUser Then

CurUser.UserName = Trim(txtUserName)

CurUser.GetInfo (CurUser.UserName)

End If

End If

二. 设计用户管理窗体。

创建一个新窗体,窗体名称设置为FrmUserMan 。窗体FrmUserMan 的布局如图4.24所示。

图4.24 窗体FrmUserMan 的布局

1. Function Right ()事件流程图

2. Sub Cmd _Add _Click ()事件流程图和Function Right()事件流程图相似

3. Cmd _Modi _Click ()事件流程图

4. DataList1_Click ()事件流程图

第五章 系统测试与总结

5.1 系统测试

前面一章是软件项目开发管理系统—项目控制子系统的详细设计。然而必须和项目实施子系统联调起来测试,才能真正实现整个系统的管理功能。

为了更方便的实现两子系统的联调测试,设计了主界面窗体FrmMain 来实现综合管理,其布局如图5.1所示。窗体里面包含有“项目管理”、“项目实施”、“文档管理”、“测试管理”、“项目总结”、“用户管理”。前三个是项目实施子系统要实现的功能,后三个是项目控制子系统要实现的功能。

图5.1 窗体FrmMain 的布局

要实现项目管理在主界面窗体中添加代码

Private Sub lblProj_Click()

End Sub

要实现项目实施在主界面窗体中添加代码

Private Sub lblProjDev_Click()

End Sub

要实现文档管理在主界面窗体中添加代码

Private Sub lblDoc_Click()

End Sub

要实现测试管理在主界面窗体中添加代码

Private Sub lblTest_Click()

End Sub

要实现项目总结在主界面窗体中添加代码

Private Sub lblManager_Click()

End Sub

要实现用户管理在主界面窗体中添加代码

Private Sub lblUsers_Click()

End Sub

测试最终可以看到能够实现系统总体功能

5.2 系统设计总结

通过系统的详细设计与调试连接,已基本实现了对软件项目开发进行管理的系统。不过在系统设计过程中还是存在一些不足。

这里设计的系统是通过VB 访问SQL Server的,将会有隐患产生。在程序代码编写完毕后,应用程序在一定时间范围能够完全实现用户的需求功能(数据采集、数据分析计算、系统查询、报表打印等)但是,经过一段时间的持续运行以后,发现后台数据库服务器处于崩溃状态(此时前台的应用程序除数据库的访问失败以外),其他功能模块功能依然运行良好),从而导致整个系统的数据处理功能失效。这是由于后台数据库服务器中的一个系统库(tempdb )被填满而没有能力再接受新的数据请求,从而使数据库服务器处于崩溃状态,而后依照各种操作手册对数据库服务器进行了各种条件的设置都无济于事。

本系统设计存在的不足是必须手动在SQL Server 2000软件中使用SQL 语句来建立表格等,有时甚至还要使用者在软件中输入数据及相关信息,这样一来使得软件项目开发管理系统对用户来说使用不方便。

前面提及的隐患与tempdb 系统库有着直接的关系。扩大tempdb 系统库的尺寸不是一个根本的解决方法,因为无论怎样增加该库的物理存储容量,它总是存在一个最大极限容量。由于监控系统通常是长时间的持续运行,期间所产生的临时表及临时存储过程在某个时刻总会将tempdb 系统库写满,因此解决改隐患的关键在于如何正常释放tempdb 系统库中被占用的空间。由于后台的数据库服务处理系统对tempdb 系统库的管理对用户是完全

透明的,所以应用系统不可能显示地从tempdb 系统库中删除系统对象。经过反复实践,发现一种正常释放tempdb 系统库中地系统过程对象方法,即:关闭相应的远程连接就可以释放自该连接建立以来tempdb 系统库中为执行SQL 语句而存放所有系统过程对象,从而避免了tempdb 系统库中系统过程对象的累加过程发生。改进后的系统数据库操作流程如图5.2所示。

系统设计存在的这些不足在以后的设计中可以进一步改进,例如可以直接在VB 中编写程序,在VB 运行时同时自动完成实现数据库表格的建立,这样才能方便用户的使用。在应用程序设计完成并发布后,整个系统可供各相关企业使用来管理项目的信息。

参考文献

[1]闪四清著,SQL SERVER 2000数据库管理。北京:北京希望电子出版社,2002.12

[2]李晓黎著,张巍,Visual Basic +SQL Server 数据库应用系统开发与实例。北京:人民

邮电出版社,2003.8

[3]新智工作室著,VB 中文版教程。北京:电子工业出版社,2000.3

[4]洪锦魁著,精通Visual Basic 6.0。西安:世界图书出版社西安公司,2000.5

[5]姚巍著,Visual Basic 数据库开发及工程实例。北京:人民邮电出版社,2003.4

[6]来宾,谭明勇著,数据库原理与应用。北京:冶金工业出版社,2003.6

[7]王金良著,项目控制论。北京:电子工业出版社,1990.8

[8][美]罗伊斯著,周伯生,廖彬山译,软件项目管理:一个统一的框架。北京:机械工

业出版社,2002.8

[9]王珊,陈红著,数据库系统原理教程。北京:清华大学出版社,1998.7

[10]彭林 余艳著,金典教程系列图书 SQL Server 2000金典教程。北京:人民邮电出版社,

2001.8

[11]美国微软公司著,SQL Server 2000开发宝库影印丛书 数据库与数据仓库实用操作大

全。北京:北京大学出版社,2001.3

[12][美]伊斯雷尔著, 邱仲潘,喻文中译,MCSE :SQL Server 2000 Design 学习指南。北

京:电子工业出版社,2002.1

[13]李代平、王昌元著,软件工程习题与解答。北京:冶金工业出版社,2003.6

[14]Matthew Reynlds Richard Blair 等著 康博译, VB.NET入门经典。北京:清华大学出

版社,2002.5

[15]陆昌辉, SQL Server 2000开发人员指南。北京:北京航空航天大学出版社,2002.5

[16]肖桂东,SQL Server 疑难解析。北京:电子工业出版社,2003.12

[17]教育部考试中心,全国计算机等级考试二级教程—Visual Basic 语言程序设计。北京:高等教育出版社,2001.10

致 谢

在整个系统的结构框架以及程序设计过程中,得到了许多人的帮助,十分感谢他们对我的帮助。尤其是程明老师,他在我进行系统的设计时指导我、鼓励我,还为系统的构造提供了许多很好的建议,努力提供了方便的环境。同时还要感谢和我一起进行这个系统设计的×××同学,在和我进行整个设计过程中,一起讨论研究设计方案,最终顺利完成了软件开发项目管理系统的设计

××××年××月


相关内容

  • 第八章软件工程环境与工具
  • 本文由01小景01贡献 ppt1. 21世纪高职高专计算机专业教材 21世纪高职高专计算机专业教材 软件工程 主讲教师:宫明明 主讲教师: 13854278403 gongmm@qtc.edu.cn 1 现代建筑业中,为了提高生产率.改进建 提高生产率. 现代建筑业中,为了提高生产率 筑质量,会不断 ...

  • 软件项目管理报告
  • 软件项目管理 课程设计 设计(论文)题目 软件项目管理的具体内容 学院名称 信息科学与技术学院 专业名称 软件工程 学生姓名 学生学号 任课教师 设计(论文)成绩 教务处 制 2015年 07月04日 目录 1. 2. 摘要...................................... ...

  • Chp+1+软件工程学概论
  • 第1章 软件工程学概论 1 2015/9/17 本章内容 软件危机 软件工程 软件生命周期 软件过程     2 2015/9/17 学习重点    1.软件危机.软件工程产生的原因 2.软件工程过程和软件生命周期 3.软件生命周期模型 软件危机 软件工程 软件生命周期 软件过程 软件 ...

  • 软件工程发展趋势
  • 软 件 工 程 发 展 趋 势 姓名: 班级: - 1 - 2011年12月4日 目录 1. 内容摘要﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍3 2. 论文关键词﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍3 3. 引言﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍3 4. 软件工程发展趋 ...

  • 软件项目管理考试重点及课后答案
  • 1. 需求分析团队中最主要的人员:项目经理.系统分析人员.设计人员.用户方业务人员. 2. 提高软件开发效率的方法:架构设计.软件包(成熟的).开源软件.CASE工具.面向 对象代码重用方法.制定编码规范.代码生成工具.好的软件开发工具.平台. 3. 软件项目的属性:(1)惟一性.(2)一次性(3) ...

  • 第一章软件工程的基本概念
  • 第一章 软件工程的基本概念....................................................................................... 1 1.1 计算机发展简史 ................................... ...

  • 软件工程简答题及答案
  • 软件工程试题整理_简答题 1.可行性研究的任务是什么? 首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来.然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型.从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法,对每种解 ...

  • 软件工程期末
  • 第一章概述 1.解决软件危机的措施p3(不定项) (1)技术方法.(2)开发工具.(3)组织管理. 2.软件工程的发展过程p3(解答或不定项) 软件工程的发展经历了4个重要阶段: (1).传统软件工程:软件工程产生的初期,也成为第一代软件工程.20世纪60年代末到70年代,软件主要采用"生 ...

  • 软件工程资料
  • 一. 1. 2. 3. 4. 5. 6. 7. 8. 9. 选择题 在软件危机中表现出来的软件质量差的问题,其原因是___没有软件质量标准____. 在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的___健壮性__. 在下列测试技术中,___逻辑覆盖___不属于黑盒测试技术. ___封装_ ...

  • 软件工程实用教程2版课后答案
  • 第1章软件工程引论 1.什么是软件危机?它和软件工程有什么关系? 答案要点: 由于软件规模的扩大.功能的增强和复杂性的增加,使得在一定时间内仅依靠少数人开发一个软件变得越来越困难.在软件开发中经常会出现时间延迟.预算超支.质量得不到保证.移植性差等问题,甚至有的项目在耗费了大量人力.财力后,由于离目 ...