IT项目管理系统的设计与实现

IT项目管理系统的设计与实现
IT项目管理系统的设计与实现

3A 学习网---学习的源动力

1

IT 项目管理系统的设计与实现

——培训管理等部分模块

摘要:IT 项目管理系统是典型的信息管理系统(MIS ),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,界面美观,易使用等特点。

想,并对Visual C++6.0、Microsoft SQL Server 2000以及数据库管理系统进行简明的介绍,分析了IT 项目管理系统的应用需求,包括其目的,性能等;进行了系统的总体设计、详细设计及代码实现。 关键字:IT 项目管理;信息管理系统;Visual C++ 开发环境;SQL Server 2000;数据库编程

Design and Implementation of IT Project Management System

——The partial mode of train management etc

3A 学习网---学习的源动力

2

Computer science and technology major Ying Wang Teacher JianxiangFeng JieTao

Abstract : The IT project management system is a typical information management system (MIS), its development mainly includes two aspects: the establishment of the backstage database and the maintenance as well as front end the application procedure development. Regarding the former, it requests establish a data-base which has data uniformity, good integrity and excellent data security; and for the latter, it requires convenient operation and that function mature and interface look good and so on.

This thesis simply narrated the development status in home and abroad, the existing questions and instructional idea of this course and briefly introduced Visual C++6.0, Microsoft SQL Server 2000 as well as the management system of data-base, and also analyzed the application need which includes aim, capability and so forth of IT project management system. It fulfilled the total and particular design, carried out the code maintenance.

Keywords : IT project management; Information management system; Visual C++ development environment; SQL Server 2000; Database programming

3

1 概述

1.1发展背景

项目管理是20世纪40年代后期迅速发展起来的一种计划管理方法。多少年来,项目管理一直被认为是工程项目所涉猎的范畴数十年来,它只被应用在航天航空及工程建筑的等大型的、高度专业化的行业。

当今世界,信息正以前所未有的速度广泛传播着,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。

随着计算机技术的发展,人类步入了信息时代,计算机技术在项目管理中应用十分广泛。项目管理软件应用已经相当的普遍,不仅使用于大型的项目,同时也使用于小型的项目。特别是个人计算机的普及,使得所有的管理者都有机会接触项目管理软件。随着我国改革开放的前面深化和市场经济的迅速发展,项目管理软件在国内各行各业的应用逐渐推广起来。

信息技术的迅速发展正给我们的社会和生活带来了巨大的冲击。现在你甚至可以在互连网上处理你的银行帐号,或者通过网络来采购一些日常生活用品。许多公司则忙于把他们原有的分散系统联结成一体以便实现及时的订单处理和对客户提供更加优质的服务。与此同时,软件公司在不停的推出新产品以帮助我们更好的整合我们的工作,实现更佳的工作业绩。技术正在改变着与我们工作和生活相关的几乎所有的事情。

信息技术的迅猛发展,使IT业的竞争日益激烈,IT项目的管理已由重要转为关键。可以肯定地说,卓越的IT项目管理能力必将成为IT企业的核心竞争力。国际项目管理协会副主席阿什金认为:“中国与印度软件业的差距主要体现在项目管理上,印度的软件业都极为重视项目管理及与之配套的质量保证体系”。著名的创新管理学家汤姆·彼得斯预测,项目管理将站到“管理舞台的中央”。而《财富》杂志也断言“21世纪是项目管理的世纪”。

1.2 面临问题

随着技术的进步,IT行业获得迅猛发展,项目成倍增加。IT项目管理行业的实施存在着许多问题。斯坦迪什公司在的最新研究表明,有26%的信息技术项目成功地实现了范围、成本、和时间的目

3A学习网---学习的源动力

4

标。尽管比以前有些提高,但仍有46%的信息技术项目超出预算和最后期限,另有40%的项目没有成功。这些项目的平均成本每年花费100万美元。另一项调查表明,大约70%的软件开发项目超出了估算的时间,大型项目平均超出计划交付时间20%至50%,90%以上的软件项目开发费用超出预算,并且项目越大,超出项目计划的程度越高。因此,软件开发迫切需要进行项目管理。但是,软件开发不同于其他产品的制造,软件的整个过程都是设计过程(没有制造过程);另外,软件开发不需要使用大量的物质资源,而主要是人力资源;并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。基于上述特点,软件项目管理与其他项目管理相比,有很大的独特性。

虽然项目管理作为一个学科领域已经建立多年了,但作为信息技术的项目管理者来说,许多项目的失败,主要是因为用户的参与,或者缺少一个健壮、清晰的目标,或者缺乏上级强有力的支持而造成的。

在竞争性商业环境日益激烈的今天,项目经理们都在试图研究一种能使项目最大限度获得成功的方法,这个方法能够帮助他了解项目运作中所涉及的方方面面,从成功完成项目目标,到如何提高员工能动性,如何正确防范并规避风险,都是项目管理所涉及的范围。

IT项目管理不仅仅是一套独特的方法和技术,更重要它是提高科研团队工作效率的规范和语言。能够使科研团队有效地避免科研工作中的盲目性、无序性和反复性。然而,令IT业界总裁们苦恼的是,送出去培训的项目经理,回来后,有了理论水平,却仍然没有实际操作能力。项目经理也很苦恼,接受培训的时候,感觉很好,几乎能将IT项目管理中碰到的难题全部解决——可一回到实践中又无从下手。难道是理论方法不对吗?不是,而是这些人没有把理论方法演化成实际操作能力,仍然停留在理论阶段,其实阿什金副主席说的差距就是实战能力上的差距。

当前中国IT培训产业尚没有一个统一而客观的人才培养标准与培养体系。由于认识的误区,软件失败现象普遍存在,许多领导盲目认为软件行业是低成本、高回收的产业,不加考虑,盲目认为软件工程师无所不能。由于很多用户和市场人员的无知,他们的思想观念还没有转变过来,许多用户认为花一大笔钱去买个应用软件简直就是不可思议,许多大型的企业项目,对项目管理的投资都非常少,结果都超过了项目成本的预算,很早就给企业挖下了陷阱;由于管理水平的低下,许多项目的管理没有很好的秩序,管理很混乱,存在着许多的腐败现象,导致最后的亏损;经验不足也是一个很大的问题,有许多的项目在需求调研阶段就没有明确的目的或已经偏离了方向,对时间、成本、资金、工作量的估计严重的不足,直到最后的交付阶段才学会提出需求,从而使项目亏损或不能完成;项目管理本身是个集体性的活动,个人英雄主义的普遍存在,导致很多项目就死在几个人的手里;由于这些很不好的现象,在我国很多软件企业都普遍的亏损,总结起来就是管理知识的不足和经验的缺乏。

3A学习网---学习的源动力

5

在现阶段很多人都有盲目崇拜的观点,他们对国内软件没信心,在他们眼里就美国、韩国等国家的强,对于一个大型的项目,其实在国内也可以做成的,但他们宁愿花费大量的资金去请别人做也不愿意请国内的做,从而造成了大量的资金外流。

鉴于此,众多项目管理企业已经多次尝到了失败的滋味。现在正是个高速发展的信息时代,媒体和网络的传播速度极快,一个大型项目的失败可能在一夜之间就传遍全球,这对承担该项目的人和公司都是灭顶之灾。在我国必须在项目管理方面加强投资,才能满足我国这个庞大的IT市场。

1.3 指导思想

设计开发IT项目管理系统应该包括下面四个部分:

⑴系统分析

通过对此系统的分析,可以让别人了解到整个系统的大体目标和掌握整个系统的大体内容。首先,对系统做可行性性研究报告,包括开发项目的前提、背景、以及项目要用到的人力、财力、物力的分析。是对整个系统简要概括;其次,是对系统的流量和信息量的分析,是对系统整体优化的关键,对系统的输入、输出的格式和对各文件的保存;对需求进行分析,确定各个模块之间的相互关系,做出流程图和系统分析。再次,是对软件和硬件的分析,设计出来的软件有通用性,能在一般的PC机上都能运行,找出最优化的方案,同时还要考虑到系统的持续性和可扩展性,对系统的使用生命有个具体的分析。

⑵系统设计

系统设计和系统分析是紧密联系的,做出了系统分析后,根据系统分析的结果进行系统设计,做出系统的功能图,根据功能图做出系统的流程图,为程序设计打好基础。系统分几个阶段进行:首先是对系统涉及到的一些相关的知识领域,查阅大量的资料,对系统的大体内容有个比较全面的掌握;其次,对系统做出概要设计,包括做出功能图,画出系统的流程图,系统的输入和输出、信息的分类、文件格式的设计、代码的设计、设计出各子功能模块以及各子模块之间的关系,并找出各几个不同的方案,判断并找出可行性很好的方案;再次,对系统做出详细的设计,把前面所做的工作具体化,包括对系统的美化,以及系统的输入输出的详细设计。最后,写出详细的程序报告和使用的详细说明书。

⑶系统实施

系统实施是系统设计中最重要的环节,它是系统设计的结果,它包括:程序的调试与实施、系统的转换、系统的反应延时、系统的最终运行结果以及系统的评价等。

⑷系统的维护

IT项目管理系统不但要能够保证现在可以很好的运行,随着科学技术的发展和环境的不断变化,

3A学习网---学习的源动力

3A 学习网---学习的源动力

6

系统必须不断的进行升级和维护。

1.4 设计目标

经过设计初期阶段对一些资料的查询,我了解到目前IT 项目管理存在着很多问题,于是我利用ADO 技术和数据库,结合手中有的资料,开发《IT 项目管理系统》这个软件。该系统采用面向对象编程的思想,根据所给要求,从用户调查、系统分析、系统设计、应用程序设计几个阶段进行详细的设计,实现IT 项目管理系统的各种实用功能,并按照软件开发过程的步骤,撰写需求、概要、详细、测试、操作手册等设计文档和用户文档。

该系统要达到功能完善无错,界面美观易操作。

1.5 开发工具

该系统采用的是面向对象设计思想,利用Visual C++ 6.0作为前台开发工具,Microsoft SQL Server 2000作为后台创建数据库,后者要求建立起数据一致性和完整性强、数据安全性好的库。

7

2 系统开发平台

2.1 Visual C++ 6.0 简介

现代的数据库管理系统为了提高数据库系统的开发效率,还提供了各种各样的支持应用开发的工具。

数据库是SQL Server存放数据的地方。只有把与数据库相关的概念弄清楚,才能很好的建立并利用数据库。在应用中,对数据库的操作多数是对数据库对象的操作,数据库对象是数据库的逻辑文件,包括表、视图、角色、索引、存储过程、触发器和约束等。

企业管理器(Enterprise Manager)是SQL Server 的最主要的工具,它用于创建和维护数据库对象,通过它还能调用SQL Server的其他工具向导,以方便地进行数据库和对象的创建、操作及控制等。

在SQL Server中,利用企业管理器不仅可以很方便地定义和修改表的结构,还可以很方便的对表中的数据浏览、增加、删除和修改。

2.2.1 SQL语言

结构化查询语言SQL(Structured Query Language)是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的功能极强的关系数据库标准语言。目前,SQL语言已被确定为关系数据库系统的国际标准,被绝大多数商品化关系数据库系统采用。在SQL 语言中,指定要做什么而不是怎么做,不需要告诉SQL如何访问数据库,只要告诉SQL需要数据库做什么。可以在设计或运行时对数据控件使用SQL语句。使用SQL的常见关系数据库管理系统有:Oracle、Sybase、Microsoft SQL Server、Access、Ingres等等。虽然绝大多数的MIS系统使用SQL,但是它们同样有自立另外的专有扩展功能用于它们的系统。SQL包括了查询(Query)、操纵(Manipulation)、定义(Definitions)和控制(Control)4个方面。因此SQL语言同时集成了数据库DDL(Data Defining Language)语言和DML(Data Manufacturing Language)语言的功能,是一种综合、通用、功能极强的关系数据库语言。

SQL语言有着非常突出的优点,主要是:

⑴非过程化语言;

⑵统一的语言;

⑶是所有关系数据库的公共语言。

非过程化语言:SQL是一个非过程化语言,因为它一次处理一个记录,对数据库提供自动导航。

3A学习网---学习的源动力

8

SQL允许用户在高层的数据库结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL 语句的输入。

SQL不要求用户指定对数据库的存放方法,这种特性使用户集中精力于要得到的结果;所有SQL 语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。

统一的语言:SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。

SQL为许多任务提供命令,其中包括:

⑴查询数据;

⑵在表中插入、修改和删除记录;

⑶建立、修改和删除对象;

⑷控制数据和数据对象的存取;

⑸保证数据库一致性和完整性。

2.2.2数据库管理系统

数据库系统是具有数据库管理功能的计算机系统,它是有关硬件、软件、数据的人员组合起来的为用户提供信心服务的系统。数据库系统是一个由外模式、概念模式和内模式组成的多级系统结构。为了定义各级模式,需要一组软件提供相应的定义工具。数据库为了保证存储在其中的数据的安全和一致,必须由一组软件来完成相应的管理任务,这种软件就是数据库管理系统,简称DBMS。

数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。Microsoft SQL Server2000就是一种关系型数据库管理系统。关系模型主要是用二维表格表达实体集,用外键表示实体间的联系。关系模型是由若干个关系模型组成的集合。关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。

关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单,用户易懂,编程时不涉及存储结构,访问技术等细节。关系模型是数字化模型。SQL语言是关系数据库的标准化语言,已得到广泛的应用。

3A学习网---学习的源动力

9

3系统需求分析

需求分析是项目开发的基础,基础打的牢不牢直接关系到后面所有的工作,是项目实施成败的关键。它是介于系统分析和软件设计阶段之间的重要桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。

需求分析阶段的基本任务是深入描述软件的功能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件其它有效的需求。

3.1 目的简介

项目管理是基于现代管理学基础之上的一种新兴的管理学科,它把企业管理中的成本管理、人力资源管理、风险控制、质量管理、信息技术管理(沟通管理)、采购管理等有效的进行整合,以达到高效、高质、低成本的完成企业内部各项工作或项目的目的。

⑹进度管理:对各阶段时间的安排及每个阶段所需要做的工作统计;

⑺数据的备份与恢复:及时对数据进行备份,有利于保存最新的数据,在执行错误操作或者外部环境改变时,数据都可能被删除或破坏,这时就可以利用备份好的数据还原到备份时的状态,这在系统维护中是很重要的;

⑻添加用户和密码修改:该系统对用户权限作了限制,只有系统管理员才能对用户进行添加,一个一般的用户,只能通过系统管理员才能申请都到用户名和密码才能登录系统,一般的用户可以对自己的密码进行修改,但一般用户只能对系统里的项目进行查询,其余的功能都不能实现。

3.3 性能需求

IT项目管理系统需要具有一些基本的容错能力,在用户访问操作错误时,系统都会有提示信息,在系统设计时几乎都作了异常处理,在提示了错误信息之后系统仍能正常运行,系统具有强大的数据处理能力。

具体表现为:

⑴精度要求:系统在运行时,数据查询结果需要准确而有效;

⑵效率问题:以SQL为数据库,发挥其强大的数据处理能力的优势;三层结构,功能分布清晰,客户端负荷轻,在服务器性能较好的前提下,系统运行速度较快;

3A学习网---学习的源动力

3A 学习网---学习的源动力

10

⑶ 系统灵活性:系统设计小巧,灵活; ⑷ 系统交互性:力求界面简单,操作方便;

⑸ 系统安全性:系统要考虑到各种有可能出现的故障,并预设触发解决程序。

11

4系统总体设计

4.1 简介

项目管理是现代化管理的一个重要方面,它适应了现代企业经营中项目相对独立、开发迅速、更新快、淘汰快的特点。采取了资源集中、管理集中、时间集中等灵活的、简便的管理方式,是一种较适合于当代项目管理方式。

本系统是专门用于IT项目管理的,包含了项目管理的几个方面。项目管理以内部契约式管理的形式,在整合内外部人力资源,实施全过程监控,为用户提供信任。特别适合IT行业高动态、高风添加、修改、删除和查看收付款信息;

添加、修改、删除、查看和审核发票信息;

查看客户收付款信息。

⑷统计汇总

按商品统计采购信息;

按商品类别统计采购信息;

按采购人员统计采购信息。

4.3.2 人力资源管理

人力资源管理系统的主要功能如下:

⑴员工管理模块

添加,修改,删除和查看员工基本状况,包括员工号、员工姓名、学历等信息;

添加,修改,删除和查看员工成绩,包括员工号、课程号上课地点、成绩等信息;

按课程号和课程需求者添加、修改、删除培训需求表;

添加,修改,删除和查看个人培训计划,包括员工号、课程号等信息。

⑵考勤管理

添加、修改、删除和查看考勤信息,包括员工姓名、出勤天数、旷工天数等信息。

⑶员工考评管理

添加、修改、删除和查看员工考评信息包括员工姓名、考勤月份总体评价等信息。

4.3.3 成本管理

⑴资源计划

3A学习网---学习的源动力

12

添加、修改、删除和查看人员组合信息,包括组合序号、程序员、高级软件工程师、软件工程师、文职人员、程序员;

添加、修改、删除和查看设备管理,包括设备序号、存储设备、软件工具等信息;

添加、修改、删除和查看物资管理,包括物资序号、办公桌、办公房子资料书籍等信息;

⑵成本估算

输入人力、物力、财力,对他们进行加总,从而得出总成本。

⑶成本预算

使用控件访问数据库是一种比较简单的访问数据库的方法,因为控件中已经完成了访问数据库的

功能,而且有比较友好的用户界面,只需简单配置就可以使用。

在使用Visual C++开发数据库应用程序的时候,会经常使用数据库访问控件。常用的数据库访问

控件包括:

⑴ADO Data控件;

⑵DataList控件/DataCombo控件;

⑶DataGird控件。

ADO Data控件是使用ADO技术访问数据库的具体实现。其常用属性及说明如下:

①BOF

如果当前记录位于Recordset对象的第一个记录之前,则BOF等于true,否则BOF等于false。

②ConnectionString

指定字符串,用于建立到数据源的连接。

③ConnectionTimeout

指定连接数据库的等待时间,如果超过此时间还没有连接到数据库,则产生一个错误。

④EOF

如果当前记录位于Recordset对象的第一个记录之后,则EOF等于true,否则EOF等于false。

⑤MaxRecords

返回Recordset对象中记录的数量。

⑥Mode

指定对数据源的访问权限。

⑦Password

设置连接到数据源时指定用户的口令。

3A学习网---学习的源动力

13

⑧RecordSource

设置一个数据记录源,可以是表、视图或SELECT语句等。

⑨UserName

设置连接到数据源的用户。

DataList控件和DataCombo控件

DataList控件是数据绑定列表框,它需要指定一个ADO Data数据源,并使用数据源中的一个字段填充。DataCombo控件是数据绑定组合框,它的功能与DataList完全相同。

DataList控件和DataCombo控件的常用属性如下:

①BoundColumn

返回或设置绑定数据源中的一个源字段名称,次字段的值会随着DataList控件或DataCombo控件中当前值的变化而变化。

②BoundTest

返回或设置由BoundColumn属性指定的字段的值。可以把它看成是DataList控件或DataCombo 控件当前值变化后的输出值。

③Stifled

返回或设置Recordset对象中的字段名,这个对象由Rowsource属性设置指定,用于填充DataList 控件或DataCombo控件的列表部分。

④Rowsource

设置一个指定ADO Data控件的值,DataList控件和DataCombo控件的列表由这个ADO Data控件。

⑤SelectedItem

返回DataList控件和DataCombo控件中选中记录的值。

6.2 使用ADO 访问数据库

Visual C++是一种面向对象的可视化编程工具,它提供了多种访问数据库的工具和方法,因此被越来越多地用作大型公司数据库和客户机/服务器应用程序的前端开发工具。

在Visual C++中,可以通过以下方式访问数据库:

⑴ActiveX数据对象(ADO);

⑵远程数据对象(RDO);

⑶数据访问对象(DAO);

3A学习网---学习的源动力

14

⑷ODBC直接连到数据库。

其中,ADO是最新的数据库访问技术。它是使用更加简单,更加灵活的对象模型。

Microsoft新近推出的UDA(Universal DataAccess,一致数据访问)技术的两层标准接口之一。其中OLEDB是系统级的编程接口,ADO是应用层的编程接口,它对OLEDB进行了封装。应用程序既可以通过ADO访问数据也可以直接通过OLEDB访问数据,而ADO则通过OLEDB访问底层数据. ADO实际上是OLEDB的应用层接口,这种结构也为一致的数据访问接口提供了很好的扩展性,而不再局限于特定的数据源,因此,ADO可以处理各种OLEDB支持的数据源。

ADO集合适宜中可方便地包含其他特殊类型对象的对象类型。使用集合方法可按名称或序号对集合中的对象进行检索。

ADO提供4种类型的集合:

⑴Connection 对象具有Errors集合,包括为响应与数据源有关的单一错误而创建的所有Error 对象;

⑵Command对象具有Parameters集合,包含应用于Command对象;

⑶Recordset对象具有Fields集合,包括Recordset对象中所有列的Field对象;

⑷此外,Connection、Command、Recordset和Field对象都好具有Properties集合,它包含各个对象的Property对象。

下面分别对ADO数据模型中的常用对象进行介绍。

espaces表示不使用ADO的命名空间,并且为了避免常数冲突,将常数EOF改名为adoEOF,BOF 改名为adoBOF,现在不需添加另外的头文件,就可以使用ADO接口了。

这一语句的最终作用同我们熟悉的#include类似,编译的时候系统会为我们生成msado15.tlh和ado15.tli两个C++头文件来定义ADO库。

需注意的是,引入路径应根据实际情况而定。

ADO库包含3个基本接口,即_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。他们分别对应Connection对象、Command对象和Recordset对象。

在应用程序中,专门创建一个类名为ADOConn的类,默认的类文件为ADOConn.cpp,可以在Source Files目录下看到ADOConn.cpp,在Header Files目录下看到ADOConn.h。打开ADOConn.h头文件,在其中添加如下代码:

#import“c:\programfiles\commonfiles\System\ado\msado15.dll”no_namespaces

rename(“BOF”, “adoBOF”)

3A学习网---学习的源动力

15

定义类ADOConn的成员变量和成员函数,代码如下:

class ADOConn

{

// 定义变量

public:

//添加一个指向Connection对象的指针:

_ConnectionPtr m_pConnection;

//添加一个指向Recordset对象的指针:

_RecordsetPtr m_pRecordset;

// 定义方法

public:

ADOConn();

virtual ~ADOConn();

// 初始化—连接数据库

void OnInitADOConn();

OnInitADOConn()函数的代码如下:

UpdateData(TRUE);

//检查数据有效性

if (m_UserName == "")

{

MessageBox("请输入用户名");

return;

}

return;

}

if(https://www.360docs.net/doc/6e5201895.html,erType.Find("项目管理员") < 0)

{

3A学习网---学习的源动力

16

MessageBox("您没有使用此系统的权限");

return;

}

//关闭对话框

CDialog::OnOK();

}

6.4.2 主窗体实现

在用户输入用户名和密码按确定后,首先进入的就是主界面。在主对话框中添加代码,使对话框在启动时首先打开登陆对话框。在ClassWizard窗口中添加CPurchaseManDlg::OnInitDialog() // TODO: Add extra initialization here

void CPurchaseManDlg::OnChangepwd()

{

CLoginDlg dlg;

if(dlg.DoModal() == IDOK)

//读取用户信息到curUser对象中

curUser.GetData(dlg.m_UserName);

}

void CPurchaseManDlg::OnChangeuser()

{

CLoginDlg dlg;

dlg.DoModal();

;

if(m_dcoPro.GetBoundText()!="")

csql += " AND q.ProId=" + m_dcoPro.GetBoundText();

if(m_dcoCust.GetBoundText()!="")

csql += " AND q.CustId=" + m_dcoCust.GetBoundText();

csql += " ORDER BY q.ProId,q.CustId";

//设置记录源

m_Adodc.SetRecordSource(csql);

3A学习网---学习的源动力

17

m_Adodc.Refresh();

//设置列宽度

_variant_t vIndex;

vIndex = long(0); // 客户名称

m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(120);

vIndex = long(1); // 客户报价

m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);

vIndex = long(2);//报价日期

m_DataGrid.GetColumns().GetItem(vIndex).SetWidth(80);

}

6.4.5 员工考勤管理模块实现

员工考勤管理模块的关键代码如下:

void CCheckManDlg::OnAddButton()

emp.sql_delete(m_datagrid.GetItem(1));

RefreshData();

}

}

void CCheckManDlg::OnMomiButton()

{

// TODO: Add your control notification handler code here

if (m_adodc.GetRecordset().GetEof())

{

MessageBox("请选择员工记录");

return;

}

CCheckEditDlg dlg;

dlg.m_date = m_datagrid.GetItem(0); //考勤日期

dlg.cEmpId = m_datagrid.GetItem(1); //考勤员工编号

dlg.m_qq = atof(m_datagrid.GetItem(2)); //全勤天数

3A学习网---学习的源动力

18

dlg.m_cc = atof(m_datagrid.GetItem(3)); //出差天数

dlg.m_bj = atof(m_datagrid.GetItem(4)); //病假天数

dlg.m_sj = atof(m_datagrid.GetItem(5)); //事假天数

dlg.m_kj = atof(m_datagrid.GetItem(6)); //旷工天数

dlg.m_fdxj = atof(m_datagrid.GetItem(7)); //法定休假天数

dlg.m_nxj = atof(m_datagrid.GetItem(8)); //年休假天数

dlg.m_dxj = atof(m_datagrid.GetItem(9)); //倒休假天数

dlg.m_cd = atof(m_datagrid.GetItem(10)); //迟到时间

dlg.m_zt = atof(m_datagrid.GetItem(11)); //早退时间

dlg.m_ot1 = atof(m_datagrid.GetItem(12)); //一类加班天数

dlg.m_ot2 = atof(m_datagrid.GetItem(13)); //二类加班天数

dlg.m_ot3 = atof(m_datagrid.GetItem(14)); //三类加班天数

dlg.m_memo = m_datagrid.GetItem(15); //备注

if (dlg.DoModal() == IDOK)

RefreshData();

}

RefreshData();函数是考勤信息管理对话框的重要部分,它决定了DataGird控件中显示的数据。其代码如下所示:

void CCheckManDlg::RefreshData()

{

UpdateData(TRUE);

//设置ADO Data控件的数据源

m_adodc.SetRecordSource("SELECT

CheckDate ,Emp_Id,qqDays,ccDays,bjDays,sjDays,kgDays,fdxjDays,nxjDays,dxjDays,cdMinutes, ztMinutes,ot1Days,ot2Days,ot3Days,Memo FROM Checkin ");

m_datagrid.GetColumns().GetItem(vIndex).SetWidth(45);

vIndex = long(15);

m_datagrid.GetColumns().GetItem(vIndex).SetWidth(45);

}

3A学习网---学习的源动力

19

7 结束语

此次的毕业设计对我来说是个很大的挑战,我做的论文题目是“I T项目管理系统”。IT项目管理是一门新兴的学科,我对这方面的知识了解不多,我花了很多的时间阅读了大量的资料,使我对项目管理有了进一步的认识,但是始终觉得这个课题过于笼统,在设计初期总感到设计无从下手,之后看了以前的一本教材《IT软件项目管理》,才渐渐的对此课题有了更深入的了解,在头脑中也慢慢形成了该怎么做这个设计。论文设计中我用到了Visual C++ 6.0和SQL Server 2000作为开发平台,Visual C++ 6.0是我以前学过的,但是那时的我只懂的一点很肤浅的东西,从没有深入了解它,于是我买了几本Visual C++ +SQL Server方面的书籍,并且花了很多时间在网上,学习许多关于以及Visual C++的知识。我真正认识到用Visual C++ 6.0确实是很方便的开发工具。

通过本次的论文设计,使我在大学四年间学习的专业知识有了质的飞跃,以前的学习都是停留在理论上,而这一次实现了理论与实际的联系,完成了系统的设计与实现。不仅使我对开发工具和数据库有了进一步的认识,更培养了自己软件工程的思想和实际的动手能力。总之,本次的毕业设计使我受益非浅,我相信这会给我以后走上工作岗位打下良好的基础。

3A学习网---学习的源动力

20

参考文献

[1]王强,草汉平,贾素玲等.IT软件项目管理[M].清华大学出版社,2004

[2]马君.什么是IT项目管理[J].软件工程师,2005,1:26-28

[3]印鉴,曹王华,杨敏.科研项目管理系统的设计与实现[J].计算机应用研究,2005, 1:214-216

[4]叶心敏.计算机软件研发工程中的项目管理[J].陕西建筑,2005,122:44-45

[5]徐卫,胡守忠,张民辉.高校科研项目管理机制的研究[J].成都理工大学学报,2003,30:91-92

[6]韩闰萍,韩福华,张昊等.科研项目管理系统的设计与实现[J].北京服装学院报,2000,20(2):56-60

[7]林海,杨尊琦.IT项目管理中应该注意的几个问题[C].第七届全国青年管理科学与系统科学学术会议论文集,247-251

[8]张晨辉.项目管理中的影响因素分析与对策[J].石油大学学报,2005,21(3):29-30

[9]刘浩.Visual C++ +SQL Server数据库应用系统开发与实例[M].人民邮电出版社,2004,120-147

[10]赵法信.ADO技术及其在VisualC++环境下数据库编程中的应用[J].通化师范学院报,2004,25(3):29-32

[11]黄陇,陈致明,于洪敏.基于MFC的Visual C++数据库访问机制研究[J].计算机与网络,2003,15:56-57

[12]李晓黎,李树有,刘熙芳等.Viusal C+++SQL Server 数据库应用系统开发与实例[M].人民邮电出版社,2004,144-218

[13]李闽溟,吴继刚,周学明.Viusal C++6.0数据库系统开发实例导航[M].人民邮电出版社,2001,90-126

[14]卢颖琦,叶桦,吴宝刚.一个基于VisualC++6.0的小型企业管理信息系统的开发[J].自动化与仪器仪表,2004,4:43-44

[15]沈金.IT项目进度管理[J].台声.新视角,2005,10:36

[16]张慧,段万春.如何实行有效的软件项目管理[J].商业研究,2004,292:81-82

[17]周虹.在Visual C++中用活动数据对象(ADO)操纵数据库[J].苏州城建环保学院学报,2001,14(4):71-76

3A学习网---学习的源动力

相关主题
相关文档
最新文档