版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计名称:学校:系别:班级:学号:学生姓名:指导老师:软件项目开发管理系统xxxxxx计算机科学系xxxxxxxxxxxxxxxxxx软件项目开发管理系统摘要软件项目开发管理系统是基于VB+SQL技术开发的用于管理软件项目开发的系统。其主要功能是管理软件项目开发的全过程,从申请立项、审批立项、项目实施、人员管理、开发文档管理和项目总结。其中软件开发过程中人员的管理是整个系统的核心部分,软件开发管理的真正任务是团队成员的智能充分而适宜地发挥,并有效地投注在创造软件的活动中。也就是说,只有合理配置各种资源(管理人员、工程师、设备、软件、制度、时间)才能确保软件开发的有效进行。系统通过人员管理模块设置参与软件项目开发人员不同的权限,实现系统安全性。系统采用ADO连接VB和SQLServer数据源,通过SQL数据库的一致性、完整性、数据安全性和可维护性来实现本系统数据库的安全性[1』关键词:软件工程;VB;MSSQLServer;ADOThesoftwaredevelopmentmanagementsystemABSTRACT:ThesoftwaredevelopmentmanagementsystemisaccordingtoVB+thetechniqueofSQLdevelopofusedformanagementandcontrolthesoftwareitemdevelopmentofmanagementsystem.Itsmainfunctionisawholeprocessofmanagementandthecontrolsoftwareitemdevelopment,signingtheitemfromtheapplication,theexaminationandapprovalsignstheitemtoitemtocarryout,personnelmanagement,developmentthetextfilemanagementanditemsummary.Amongthem,thesoftwaredevelopmentprocesspersonnel'smanagementisthewholecoreofsystempart.thesoftwaredevelopmentmanagementofrealmissionistheteammember'sintelligencefullbutfeatlyexertive,andputintoavailablyinactivityofcreatethesoftware.Alsoistosay:Onlythereasonableinstallsvariousresources(manager,engineer,equipments,software,system,time),thencaninsurethesoftwaredevelopmenttocarryoneffectively.Thesystempassesthedifferentlegalpowerofthedifferentpersonnelwhothemanagementmoldafunctionofpersonnelgivestoparticipatethesoftwareitemtodevelop,fromfacetoattaintoassigntodevelopthepersonneltheusagesystemlegalpowermanagement.Thesoftwaredevelopsotherpersonnelswithinprocesses,suchasthebusinesssupervisor,,thesoftwaredevelopmentsupervisor,developtheengineer,testtheengineer,thequantitycontrolstheengineer,theitemsupervisorrespectivelyfromsystemthemanagingpersonandthesoftwareitemdevelopsthemanagertopassthemoldafunctionofthecustomermanagementcreation.SystemmanagingpersonAdinandthesoftwareitemdevelopsmanagerManagetopasstolandafterthesystem,canlookintoandmodifythedatathatleadstodevelopsthepersonnelwithother,buttheotherdevelopthepersonnelandcanlookintoowndataonly,amongthemsystemthemanagingpersonandthesoftwareitemdevelopsthedatathatthemanagercan'tmodifytheotherparty,onlyinghavetheitemsupervisortohavethepowerofexaminationandapproval,canlookintothebasicinformationofitem,andgranttosigntheitem,beingresponsiblefortheconcreteitemimplement,alsohavingthepowerabeyanceitem.Thesoftwaredevelopmentsupervisoracceptstheitemoftheallotment,canbegintoestablishtheitemset,pointingtosendtheitemseniorclerkandmember[9lThissystemadoptionADOcontrolsaconjunctionVBandSQLtothuscarryouttheVBinterviewSQLdatabase,passingthedatabaseoftheSQLdataconsistency,integrityandthedatasafetytocarryoutthesafetyofthissystemandcansupportsex.Adoptionoriginallythesystemcarryonthesoftwareitemdevelopment'scaninsureandraisethesoftwaredevelopmenttocarryoneffectively.Keywords:VB;languageofSQL;theMSSQLServer;ADO;SoftwareengineeringTOC\o"1-5"\h\z\o"CurrentDocument"引言6\o"CurrentDocument"1概述71.1开发背景71.2系统说明71.3模块划分7\o"CurrentDocument"2软件工程8\o"CurrentDocument"2.1软件工程基本知识8\o"CurrentDocument"2.2软件工程的总体内容8\o"CurrentDocument"VisualBasic.10\o"CurrentDocument"VisualBasic基本知识10\o"CurrentDocument"VisualBasic的工程管理10\o"CurrentDocument"VisualBasic数据库工程开发过程10\o"CurrentDocument"SQLServer2000111\o"CurrentDocument"SQLServer2000的基本知识11\o"CurrentDocument"T-SQL.11\o"CurrentDocument"5可行性分析13\o"CurrentDocument"6需求分析14\o"CurrentDocument"6.1系统结构图14\o"CurrentDocument"6.2用户管理功能模块关系图146.3系统流程156.4系统功能157关键技术18\o"CurrentDocument"VB访问SQLServer数据库18\o"CurrentDocument"7.2系统数据的安全性22\o"CurrentDocument"Word文档的管理23\o"CurrentDocument"8数据库逻辑结构设计24\o"CurrentDocument"8.1创建数据库SoftSys和创建数据库SoftSys的日志文件24\o"CurrentDocument"8.2系统中数据表25\o"CurrentDocument"9系统具体实现319.1登录界面的设计319.2主界面的设计319.3系统安全及权限的实现329.4系统中各模块功能的实现33\o"CurrentDocument"10调试分析与测试结果4410.1调试分析4410.2测试结果44\o"CurrentDocument"11系统环境与软件安装45\o"CurrentDocument"11.1硬件环境要求45\o"CurrentDocument"11.2软件环境要求45\o"CurrentDocument"结论语46参考文献47致谢48引言随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对软件开发项目进行管理,具有手工管理所无法比拟的优点.例如:人员管理,权限控制,文档管理;检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等优点。这些优点能够极大地提高软件项目开发管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。软件项目开发管理系统是一个软件开发企业不可缺少的得力工具。目前的软件开发管理还没有做到真正的程序化,特别是国内的一些软件公司,对项目的管理仅仅是对任务或程序员的管理,没有能够对管理人员、工程师、设备、软件、制度、时间等资源进行合理的分配。软件开发管理系统的管理功能对于软件开发企业的决策者和管理者来说都至关重要。文档管理也是软件开发项目的一个重要组成部分,也是一个进行具体实施不易实现的部分。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间的增长,将产生大量的文件和数据,同时开发过程中开发人员变动频繁,这些给软件项目开发管理者带来了不少的困难。本系统试图对上述资源进行模块化的、程序化的管理,从而做到严格意义上的软件开发管理。因此,开发这套管理软件是很有必要的,在下面的各章中我将以开发一套软件项目开发系统为例,谈谈其开发过程和所涉及到的问题及解决方法。1概述1.1开发背景软件项目开发本来是一件非常复杂的工作,软件开发管理的真正任务是团队成员的智能充分而适宜地发挥,并有效地投注在创造软件的活动中。也就是说:合理配置各种资源(管理人员、工程师、设备、软件、制度、时间)确保软件开发的有效进行。目前的软件开发管理还没有做到真正的程序化,特别是国内的一些软件公司,对项目的管理仅仅是对任务或程序员的管理,没有能够对上述资源进行合理的分配。另外文档管理也是软件开发项目的一个重要组成部分,也是一个进行具体实施不易实现的部分。但国内的一些软件公司一直以来使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间的增长,将产生大量的文件和数据,同时开发过程中开发人员变动频繁,和文档的修改频繁等,这些给软件项目开发管理者带来了不少的困难。本系统试图对上述资源进行模块化的、程序化的管理,从而做到严格意义上的软件开发管理。本系统可以让参与软件项目开发者明确各自的工作和权限,管理自己的开发文档,更好地协调配合工作,更加有效地管理和控制软件项目开发。1.2系统说明软件项目开发管理系统是基于VB+SQL技术开发的一个对软件项目开发进行管理的系统。系统采用ADO实现VB与数据源的连接,从而实现VB对数据库的访问[1]本系统由项目流程管理、项目实施管理、项目文档管理、项目测试管理、项目总结管理、系统用户管理、帮助、关于共有8大功能模块组成。1.3模块划分本系统一共包含八大模块,分别如下:•项目流程管理模块•项目实施管理模块项目文档管理模块软件项目测试管理模块项目总结模块•用户管理模块•关于系统模块帮助模块2软件工程2.1软件工程基本知识在近代技术发展的历史上,工程学科的进步一直是产业发展的巨大动力。传统的工程学科走过的道路已为人们所熟悉。但人们将工程的概念引入计算机软件领域是从六七十年代才开始的。“软件工程”的概念要求人们采用“工程”的方法来开发,维护和管理软件,这对软件产业的形成和发展起着决定性的推动作用,与此同一时期出现的结构化和设计在一定程度上缓解了“软件危机”。但随着人们对软件提出的要求越来越高以及计算机的更新换代,传统的软件分析和设计方法已经无法胜任快速高效地开发当今复杂并具有人性化的软件系统。因此采用工程化的思想开发软件非常重要[2]。软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及相关文档的完整的集合。软件工程过程包含四种基本的过程活动:软件规格说明、软件开发、软件确认、软件演进。软件工程是运用工程化的思想开发,运行,维护和修复软件的系统方法组织实施软件工程项目,从技术上和管理上采取了多项措施以后,最终希望得到项目的成功,成功指的是达到以下几个主要的目标:•付出较低的开发成本;•达到要求的软件功能•取得较好的软件性能;•开发的软件易于移植;•需要的较低的维护费用;•能按时完成开发工作,及时交付使用。2.2软件工程的总体内容软件工程的过程分为需求分析、可行性分析、总体设计、详细设计、编码、测试、运行、维护。系统分析包括系统需求分析、可行性分析、成本效益分析、技术分析、系统结构的模型化,系统定义与评审。2.2.1软件需要分析软件需要分析包括软件需求分析的任务、需求分析的过程、软件需要分析的原则、分析员和用户的原则、软件需求分析的方法、原形化方法、结构化方法,系统动态分析,数据及数据库需求、软件需求分析工具。2.2.2软件设计软件设计包括软件设计的目标和任务、软件设计基础、模块的独立性、数据设计及文件设计、过程设计。2.2.3用户界面的设计用户界面的设计包括应具备的特性、用户界面设计的任务分析、用户界面任务和工作设计、界面设计的基本类型、数据输入界面设计、数据显示界面设计、控制界的设计。2.2.4程序编码程序编码包括对源程序的质量要求、结构式化程序设计、程序设计风格、程序效率、程序设计语言、程序复杂性度量。2.2.5软件测试软件测试包括测试用例设计、白盒测试的测试用例设计、黑盒测试的测试用例设计、软件测试的策略、调试。2.2.6软件质量保证软件质量保证包括软件质量的度量和评价、软件质量保证体系、质量保证的实施、软件的质量设计、技术评审、软件可靠性、软件的容错技术。2.2.7软件维护软件维护包括软件维护活动、程序修改的步骤及修改的副作用、软件的可维护性、提高可维护性的方法、维护“老化代码”逆向工程和再工程、软件配置管理。2.2.8软件工程标准化与软件文档软件工程标准化与软件文档软件开发包括工程标准化的意义、软件工程标准的层次、文档的作用与分析及分类。2.2.9软件项目管理与计划软件项目管理与计划包括项目管理过程、软件生产率和质量的度量、软件项目估算、软件开发成本估算、风险分析、进度安排、软件项目的组织等。3VisualBasicVisualBasic基本知识VisualBasic是Windows开发语言,所以它在某些方面与Windows环境有一定的相似性。它具有交互式开发、窗口、事件和消息、属性、方法和事件、事件驱动特点。VisualBasic的窗体是控件界面的基本构造模块。窗体是一种对象,由属性定义外观,由方法定义其行为,由事件与其用户的交互⑶。VisualBasic的工程管理VisualBasic使用工程来管理开发应用系统的程序代码,工程是用来创建应用程序的文档的集合。工程的文件组成和管理,一个工程可以包括以下内容:•管理所有部件的工程文件;•每个窗体的文件;•每个窗体的二进制数据文件,它含有窗体上控件的属性。对含有二进制代码(例如图片或图标)的任何.frm文件都是不可编辑的,这些文件是自动产生的;•每个类模块的文件,该文件是可选项;•每个标准模块的文件,该文件是可选项;一个或多个包含ActiveX控件的文件,该文件也是可选项。VisualBasic使用资源管理器来管理以上资源,资源管理器窗口在主界面的左上方囹。窗体,模块和类模块是VisualBasic的重要资源。模块可以用来管理全局变量、变量和用户自定义函数等。用户可以在类模块中创建自已的定义类。VisualBasic数据库工程开发过程数据库准备、工程管理、添加类模块、添加模块、添加并编辑窗体⑹。4SQLServer2000SQLServer2000的基本知识SQLServer2000,是基于客户端/服务器模式(Client/Server模式,简称C/S模式)的新一代大型关系型数据库管理系统(DBMS)。它在电子商务,数据仓库和数据库解决方案等应用中起着重要的核心作用,为企业的数据管理提供强大的支持,对数据库中的数据提供有效的管理,并采用有效的措施实现数据的完整性及数据的安全性。T-SQLSQL语言最早是用于数据库查询的结构化语言,由Boyce和Chambedin在1974年提出,称为SEQUELo1976年,IBM公司的SanJose研究所在研制关系数据库管理系统System时修改为SEQUEL2,即目前的SQL语言。1976年,SQL语言开始在商品化关系数据库管理系统中应用。1982年,美国国家标准化组织ANSI确认SQL为数据库系统的工业标准。T-SQL(Transact-SQL)是微软公司在SYBASE的基础上发展起来的一种结构化查询语言,是应用程序和存储过程与SQLSERVER通讯和访问的工具。包涵了ANSI89和ANSI99标准[2]在SQLServer数据库中,T-SQL语言主要由以下几部分组成:•数据定义语言(DDL)。用于执行数据库任务,对数据库及数据库中的各种对象进行创建、删除、修改等操作°DDL包括的主要语句及功能如表2.1所示。表2.1DDL主要语句及功能语句功能说明CREATE创建数据库或数据库对象不同数据库对象,其CREATE语句的语法形式不同ALTER对数据库或数据库对象进行修改不同数据库对象,其ALTER语句的语法形式不同DROP删除数据库或数据库对象不同数据库对象,其DROP语句的语法形式不同•数据操纵语言(DML)用于操纵数据库中各种对象,检索和修改数据。DML
包括的主要语句及功能如表2.2所示。表2.2DML主要语句及功能语句功能说明SELECT从表或视图中检索数据很重要的SQL语句INSERT将数据插入到表或视图中插入数据时应注意数据完整性UPDATE修改表或视图中的数据既可修改表或视图的一行或一组数据DELETE从表或视图中删除数据可根据条件删除指定的数据数据控制语言(DCL)。用于安全管理,确定哪些用户可以查看或修改数据库中的数据,DCL包括的主要语句及功能如表2.3所示。表2.3DCL主要语句及功能语句功能说明GRANT授予权限可把语句许可或对象许可的权限授予其它用户REMOVE收回权限与GRANT的功能相反,但不影响该用户或角色从其它角色中作为成员继承许可权限DENY拒绝权限,并禁止从其它角色继承许可权限功能与REMOVE相似,不同之处,除收回权限外,还禁止继承许可权限5可行性分析•数据库的安全性借助SQLServer2000来实现,本系统对项目中的各个参与者在登陆时就进行权限管理和控制,因此安全性比较高。VisualBasic数据库访问控件ADO是VisualBasic开发数据库应用程序的常用工具,使用数据库访问控件可以简化开发过程式,减少代码量,从而提高工作效率,常用的数据库访问控件包括Data控件,ADDData控件,DataList控件/DataCombo控件,DataGrid控件,MSChart控件,系统就是利用这些方法访问数据库的。本系统使用其中的ADD控件,CommonDialog控件,DataList控件,DataCombo控件,DataGrid等控件实现了软件项目开发管理系统中的各模块的相关功能。登陆到本系统的用户账号和密码由系统管理员Admin和软件项目开发经理Manager授权,也随时对其它用户的信息进行修改和删除,其它用户也可以随时对自己的密码进行修改。系统也有对非法用户的识别功能,当非法用户输入三次错误密码时,系统会自己关闭。因此增强了系统的安全性。CommonDialog控件和SQL数据库结合起来可以实现对系统中的文档进行管理。•由一个人开发,开发成本较低。易于移植,可以在Windows2000和WindowsXP上运行。•系统结构简单,能按时完成开发工作,及时交付使用。6需求分析6.1系统结构图系统结构图如图1所示:软件项目开发管理系统针对各个模块不同的表实现添加记录、修改记录、以及查询显示记图1系统结构图6.2用户管理功能模块关系图用户管理功能模块关系图如图2所示:系院胄信息管理图2用户管理功能模块关系图
系院胄信息管理6.3系统流程系统流程图如图3所示:图3系统流程图6.4系统功能6.4.1项目流程管理功能项目流程管理是本系统的核心管理部分,可以查阅和管理项目信息,项目管理模块可以实现以下功能:•项目基本信息的录入,修改和删除•申请立项•批准立项项目工程分配中止项目6.4.2项目实施管理功能项目实施管理是对项目的实施流程进行管理,项目实施管理模块可以实施以下功能:•成立项目组•划分功能模块•书写项目报告6.4.3项目文档管理功能在软件开发项目中,文档是必不可少的,包括项目的需求设计文档,总体设计文档,每个模块的详细设计文档,代码分析文档,测试案例文档,质量控制文档等。项目文档管理模块可以实现以下功能:•添加或修改文档•删除文档•阅读文档6.4.4项目测试管理功能软件测试在软件开发过程中起着非常重要的作用。测试工程师需要针对发布的软件版本进行测试,将发现的错误添加到报错表中。项目测试管理模块可以实现以下功能:•测试工程师添加或修改报错记录•开发工程师查看报错记录•开发工程师解决报错记录•测试工程师关闭报错记录6.4.5项目验收管理功能软件项目实施完成后,由软件开发主管用户提请验收项目,软件项目需要经过测试工程师,质量控制工程师,业务主管和项目主管同意,才能通过验收。项目验收管理模块可以实现以下功能:•提请验收项目•测试工程师签字•质量控制工程师签字•业务主管签字•项目主管签字6.4.6用户管理功能为了实现权限的管理,将系统用户划分为项目主管,业务主管,软件开发主管,开发工程师,测试工程师,质量控制工程师和系统管理员等7类用户。用户管理模块可以实现以下功能:•系统用户信息的录入,包括用户名,用户类型,密码和员工姓名信息•系统用户信息的修改•系统用户信息的删除7关键技术VB访问SQLServer数据库在目前的数据库开发过程中,客户/服务器体系结构占这个领域的主体地位,利用VisualBasic进行客户/服务器应用程序的开发是非常流行的做法,同时,在程序开发过程中,还可以利用面向对象技术,提高程序逻辑的可重用性和可维护性,VisualBasic在数据库应用程序中开发领域中,提供了方便,强大的技术,协助设计人员轻松地连接数据库,并访问数据库[7]。VB数据访问技术VB使用的数据访问技术的示意图如图12所示客户端类模块用户控件数据环境ADORecordset对象ADOData控件图12VB访问数据库示意图可以看到,VisualBasic访问数据库技术分为以下部分:Microsoft可视化数据工具(MicrosoftVisualDataTools)使用VisualBasic6.0可以创建将每个步骤封闭封装在数据访问系统中的部件.从数据库开始,Microsoft可视化数据工具(可以通过“数据视图”窗口访问)提供了在SQLServer和Oracle系统中查看操作表、视图、存储过程和数据库结构描述的功能[10』中间层部件和MicrosoftTransactionServer。在生成自己的ActiveXDLL和EXE时,还可以在应用程序中使用VisualBasic创建中间层部件[7]°VisualBasic现在的增强功能允许自定义应用程序,以便同MicrosoftTransactionServer一起使用;ActiveXDataObjects(ADO)。数据库提供程序和数据库使用者之间的桥梁就是数据库,数据源是使用ActiveXDataObjects(ADO)创建的,而MicrosoftActiveXDataObjects是VisualBasic在任何数据库中访问数据的主要方法。为了向后兼容和工程维护方便,它仍然支持远程数据对象(RemoteDataObjects)(RDO)和数据访问对象(DataAccessObjects)(DAO)[11]。数据源和数据控件。在客户端,有几种新的数据源是可用的,其中包括数据环境,它是一种图形设计器,允许快速创建ADOConnection和Command来访问数据。数据环境设计器为工程中的数据访问对象提供了动态可编程界面。此外,数据环境还提供了高级的数据定型服务,即创建相关数据的层次结构、合计以及自动分组等功能,所有这些都不需要代码。除了使用ADO访问数据以外,新的ADO数据控件与内部数据控件和RemoteData控件非常相似。在VisualBasic中,可以使用ADO记录集作为控件和对象的数据源。ADO数据访问技术VisualBasic可以通过3种接口访问数据库;ActiveX数据对象(DAO)、远程数据对象(RemoteDataObjects)和数据访问对象(DataAccessObjects)(DAO),数据访问接口是一具对象模型,它代表了访问数据的各个方面。使用VisualBasic可以在任何应用程序中通过编程控制连接、语句生成器和供使用的返回数据。在这3种数据访问接口中,每一种接口的方法都代表着该技术的各自发展阶段,随着数据访问技术的进步而不断改进。其中,ADO接口是最新的技术,它是比RDO和DAO更加简单,而又更加灵活的对象模型,它包含了较少的对象,更多的属性和方法。以及事件[1。]。ADO编程模型是由8个对象组成。连接对象包含了某个数据提供程序的信息,这样就可以从应用程序访问数据源,连接是交换数据所必需的环境。通过如(MicrosoftInformationServer作为媒介,应用程序可直接(有时称为双层系统)或间接(有时称为三层系统)地访问数据源。对象模型使用Connection对象使连接概念得到具体化。•命令对象包含了某个命令,通过已建立的连接发出的“命令”可以某种方式来操作数据源。例如可以在数据源中执行查询字符串、参数定义、添加、删除或更新数据,或者在表中以行的格式检索数据等命令。对象模型用Command对象来体现命令概念。•参数对象包含参数化的命令对象的某个参数信息。在命令发布之前可以更改命令需要的变量部分即“参数”。例如,可有条理地重复发出相同的数据检索命令,但每一次均可更改指定的检索信息。对象模型用其所长Parameter对象来体现参数概念。•记录集对象包含某个查询返回的记录,并且将表中按信息行返回数据的查询(行返回查询),存储在本地。通常记录集可以在不用显示式地打开连接对象的情况下,打开一个记录集(例如,执行一个查询)。不过,如果选择创建一个连接对象,就可以在同一个连接上打开多个记录集对象。对象模型将该存储体现为Recordset对象。记录集是在行中检查和修改数据最主要的方法。Recordset对象用于:指定可以检查的行;移动行;指定移动行的顺序;添加、更改或删除行;通过更改行更新数据源;管理全部Recordset状态•字段对象包含记录集中数据的某单个列的信息,每一字段(列)都分别包含有名称、数据类型和值的属性,正是在该值中包含了来自数据源的真实数据。对象模型以Field对象体现字段。要修改数据源中的数据,可在记录集的行中修改Filed对象的值,对记录集的更改最终被传送给数据源。作为选项,Connection对象的事务管理的事务管理方法能够可靠地保证更改要么全部成功,要么全部失败。•错误对象包含数据提供程序出错的扩展信息。在应用程序中错误随时可了解,通常是由于无法建立连接、执行命令或对某些状态(例如,试图使用没有初始化的记录集)的对象进行操作。对象模型以Error对象体现错误。任意给定的错误都会产生一个或多个Error对象,随后产生的错误将会放弃先前的Error对象组。•属性对象每个ADO对象都有一组惟一的“属性”来描述或控制对象的行为。属性有内置和动态两种类型。内置属性是ADO对象的一部分并且随时可用,也称为“本地”属性。动态属性则由特别的数据提供添加到ADO对象的属性集合中,公在提供者被使用时才能存在,也称为“非本地”属性。对象模型以Property对象体现的集合。•集合对象ADO提供“集合”,这是一种可方便地包含其它特殊类型对象的对象类型。使用集合方法可按名称(文本字符串)或(序号整型数)对象合中的对象进行检索。ADO提供的4种类型的集合:Connection对象具有Error集合,包含为响应与数据源有关的单一错误而创建的所有Error对象;Command对象具有Parameters集合,包含应用于Command对象的所有Parameter对象;Recordset对象具有Fields集合包含所有定义Recordset对象列的Field对象;此外,Connection、Command、Recordset和Field对象都不得具有Prorerties集合。它包含所有属于各个包含对象的Property对象。•事件ADO2.0将“事件”的概念引入编程模型。事件是对将要发生或一经发生的某些操作的通知。一般情况下可用事件高效地编写包含几个异步任务的应用程序。对象模型无法显示地体现事件,只能在调用事件处理程序例程时表现出来。在操作开始之前调用的事件处理程序在异步操作完成后进行通知。ADO2.0引入一些增强的异步操作并可以有选择地执行。例如,用于启动异步Recordset.Open操作的应用程序将在操作结束时得到执行完成事件的通知。ADO支持两种事件:ConnectionEvents当连接中的事务开始,被提交或被返回时,当Commands执行时,和当地时间Connections开始或结束时产生的事件:RecordsetEvents当在Recordset对象的行中进行定位,更改记录集行中的字段,更改记录集中的行,或在整个记录上进行更改时,所产生的用于报告数据检索进程的事件。VisualBasic数据库访问控件数据访问控件是VisualBasic开发数据库应用程序的常用工具,使用数据库访问控件可以简化开发过程,减少代码量,从而提高工作效率。常用的数据库访问控件包括:Data控件;ADOData控件;DataList控件/DataCombo控件;DataGrid控件;MsChart控件;7.2系统数据的安全性系统通过人员管理模块功能赋予参与软件项目开发的不同的人员不同的权限,从面达到分配给开发人员使用系统的权限,同时达到系统安全性的实现。系统首先产生两个超级用户,分别为系统管理员Admin和软件项目开发经理Manager.软件开发过程中的其它人员如业务主管,软件开发主管,开发工程师,测试工程师,质量控制工程师,项目主管分别由系统管理员和软件项目开发经理通过用户管理模块功能产生。系统管理员Admin和软件项目开发经理Manage通过登陆到系统中后,可以查看和修改个人和其它开发人员的资料,而其它开发人员只能查看自己的资料,其中系统管理员与软件项目开发经理不能修改对方的资料,只有项目主管具有审批权,可以查看项目基本信息,并批准立项,负责具体项目实施,同时也有权中止项目。软件开发主管接受到分配的项目后,可以着手成立项目组,指派项目组长和成员。软件项目实施完成后,由软件开发主管用户提请验收项目,软件项目需要经过测试工程师,质量工程师业务主管和项目主管同意,才能通过验收。只有软件开发主管才能进行项目总结Word文档的管理文档管理是本系统的一个特色,也是设计此系统的难点,在文档管理模块中,此模块可以将Word文档存入数据库中。在需要阅读文档内容时,再把文档导出到本地,并以打开Word软件显示文档内容。在软件开发项目中,文档是必不可少的。包括项目的需求设计文档、总体设计文档、每个模块的详细设计文档、代码分析文档、测试案例文档、质量控制文档等。8数据库逻辑结构设计8.1创建数据库SoftSys和创建数据库SoftSys的日志文件使用SQL语句创建数据库SoftSys和日志文件,SQL语句如下:USEmasterGOCREATEDATABASESoftSysONPRIMARY(NAME=Soft1,FILENAME='c:\programfiles\microsoft\sql\server\mssql\data\SoftData1.ndf,SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Soft2,FILENAME='c:\programfiles\microsoft\sql\server\mssql\data\SoftData2.ndf,SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Soft3,FILENAME='c:\programfiles\microsoft\sql\server\mssql\data\SoftData3.ndf,SIZE=100MB,MAXSIZE=200,FILEGROWTH=20)LOGON(NAME=SoftLog1,FILENAME='c:\programfiles\microsoft\sql\server\mssql\data\SoftData1.ndf,SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=SoftLog2,FILENAME=c:\programfiles\microsoft\sql\server\mssql\data\SoftData2.ndf,SIZE=100MB,MAXSIZE=200,FILEGROWTH=20)GO8.2系统中数据表数据库SoftSys包含以下9个表:项目信息表Proj,项目组信息表Team,功能模块信息表Modules,项目进展及软件开发报告表Report,项目文档管理表Document,测试案例表TestCase,项目报错表PrTable,项目总结表Summary,用户信息表Users。下面分别介绍这些表的结构8.2.项目信息表Proj•项目信息表Proj用来保存项目的基本信息,表Proj的结构如图4所示:列名数据类型长度允许空2ProjIdint4FrujN:dJTievarchar50Statustinyint1Clientvarchar50WCuntactvarchar50WCteli:h:±f50WApplyDatevarchar10WApplyEmpvarchar50WSt:±ftDatech:±r10WSi:iftm:iTLagerwarehar300WAlTlUllTltOderimal9WBenefitOdeaimal9WFiniEhiHateOch:±r10/AlTlullTitdecimal9WBenetitdecimal9WFinishillatech:±r10/THsterSignvarchar50WSQASignvarchar50WApplyerSi印i:h:±f50V►图4项目信息表Proj的结构图•创建项目信息表Proj的SQL语句如下:CREATETABLEProj(ProjIdIntPrimaryKeyIDENTITY,ProjNameVarchar(50)NOTNULL,StatusTinyint,ClientVarchar(50),ContactVarchar(50),CtelVarchar(50),ApplyDateVarchar(10),ApplyEmpVarchar(50),StartDateChar(10),SoftmanagerVarchar(300),Amount0Decimal(15,2),Benefit0Decimal(15,2),FinishDate0Char(10),AmountDecimal(15,2),BenefitDecimal(15,2),FinishDateChar(10),TesterSignVarchar(50),SQASignVarchar(50),ApplyerSignVarchar(50))8.2.颂目组信息表Team•项目组信息表Team用来保存项目组的组成信息,表Team的结构如图5所示:图5表Team的结构图•创建项目信息表Team的SQL语句如下:CREATETABLETeam(ProjIdIntNOTNULL,EnameVarchar(50)NOTNULL,TitleVarchar(50))8.2.3功能模块信息表Modules•功能模块信息表Modules用来保存工程的模块信息,这个表只由负责工程师填写,表Modules的结构如图6所示:列名数形类型长度允许空|Modidint4Modnamewarehar50ProjIdint4[Deeeribe]v:±fi:h:±r400UpperIdint4►En缅』varchar50图6表Modules的结构图•创建功能模块信息表Modules的SQL语句如下:CREATETABLEModules(ModidIntPrimaryKeyIDENTITY,ModnameVarchar(50)NOTNULL,ProjIdIntNOTNULL,DescribeVarchar(400),UpperIdInt,EnameVarchar(50))8.2.4项目进展及软件开发报告表Report•项目进展及软件开发报告表Report用来保存软件项目开发主管或项目组长的工作报告,表Report的结构如图7所示:图7表Report的结构图•创建项目进展及软件开发报告表Report的SQL语句如下:CREATETABLEReport(ReportIdIntPrimaryKeyIDENTITY,ProjIdIntNOTNULL,TitleVarchar(100),BodyVarchar(1000),AuthorVarchar(50),CreateDateChar(10))8.2.5项目文档管理表Document•项目文档管理表Document用来保存项目文档信息,表Document的结构如图8所示:列名数据类型长度允许空Ducldint4ProjIdint4IiucTj^ev^rch:±r40Titlevarehar100fNamech:±r50HucFi1eimage16Authorvarchar505图8表Document的结构•创建项目文档管理表Document的SQL语句如下:CREATETABLEDocument(DocIdIntPrimaryKeyIDENTITY,ProjIdIntNOTNULL,DocTypeVarchar(40),TitleVarchar(100),fNameVarchar(50),DocFileImage,AuthorVarchar(50),SaveTimeVarchar(30))
8.2.6测试案例表TestCase测试案例表TestCase由软件项目开发管理系统运行后,在测试完成后产生。它用来保存测试案例。•项目报错表PrTable用来保存报错信息,表PrTable的结构如图9所示:列名数据类型长度允许空Frld|int4Frojldint4FrLeveltinyint1Titlev:±fi:h:±r40Bodywarchar600Modialeewarchar50StatusV:=Lfch:=Lt_10图9表PrTable的结构图•创建项目信息表PrTable的SQL语句如下:CREATETABLEPrTable(PrIdIntPrimaryKeyIDENTITY,ProjIdIntNOTNULL,PrLevelTinyint,TitleVarchar(40),BodyVarchar(600),ModulesVarchar(50),StatusVarchar(10),SoftEngVarchar(50),AuthorVarchar(50),CreateDateVarchar(10))8.2.7项目总结表Summary•项目总结表Summary用来保存项目的结果信息,表Summary的结构如图10所示:图10表Summary的结构图•创建项目信息表Summary的SQL语句如下:CREATETABLESummary(SumIdIntPrimaryKeyIDENTITY,ProjIdIntNOTNULL,TitleVarchar(40),BodyVarchar(600),AuthorVarchar(50),CreateDateChar(10))8.2.8用户信息表Users•用户信息表Users用来保存系统用户的信息,表Users的结构如图11所示:列名数据类型长度允许空|UEerlT:dirie|I:h:±f40Fwdvarchar40图11表Users的结构图•创建用户信息表Users的SQL语句如下:CREATETABLEUsers(UserNameVarchar(20)PrimaryKey,UserPwdVarchar(20),UserTypeTinyint,EnameVarchar(50))INSERTINTOUsersValues('Admin','Admin',1,'Admin')INSERTINTOUsersValues('Manager','Manager',2,'Manager')9系统具体实现9.1登录界面的设计用户要使用本系统,首先要通过系统的身份认证,登录过程需要完成以下任务:•根据用户名和密码来判断是否可能进入系统;•根据用户类型决定用户拥有的权限;设计登录窗体,创建一个新窗体,设置窗体名为FrmLogin,登录窗体的布局如图13所示:图13登录窗体图实现该功能的代码见附录9.2主界面的设计主窗体的属性设置如表8-1表9-1主窗体的属性表窗体属性设置值具体说明名称FrmMain设置窗体名称BorderStyle1-FixedSingle设置窗体的边框属性Caption软件项目开发管理系统窗体的标题条文本MaxButtonTure激活最大化按纽MinButtionTure激活最小化按纽PictureImg\Main.jpg设置窗体背景StartUpPostion2-屏幕中心设置窗体弹出时,位置在屏幕中心主界面包含的按纽及属性设置如表9-2
表9-2主界面包含的按纽及属性表对象名属性属性值ImaglPictureImg\Dot.jpgImag2PictureImg\Dot.jpgImag3PictureImg\Dot.jpgImag4PictureImg\Dot.jpgImag5PictureImg\Dot.jpgImag6PictureImg\Dot.jpgLblProjCaption项目管理LblProjDevCaption项目实施LblDocCaption文档管理LblTextCaption测试管理LblManagerCaption项目总结LblUsersCaption用户管理LblExitCaption退出系统主界面中添加的代码见附录系统主界面如图14所示:9.3系统安全及权限的实现系统管理员Admin和软件项目开发经理Manager通过登陆到系统中后,可以查看和修改个人和其它开发人员的资料,而其它开发人员只能查看自己的资料,其中系统管理员与软件项目开发经理不能修改对方的资料,只有项目主管具有审批权,可以查看项目基本信息,并批准立项,负责具体项目实施,同时也有权中止项目。软件开发主管接受到分配的项目后,可以着手成立项目组,指派项目组长和成员。软件项目实施完成后,由软件开发主管用户提请验收项目,软件项目需要经过测试工程师,质量工程师业务主管和项目主管同意,才能通过验收。只有软件开发主管才能进行项目总结。9.4系统中各模块功能的实现9.4.1用户管理模块功能的实现根据用户类型的不同,用户管理模块的功能也不相同,可以包含以下情形:Manager用户可以创建,修改或删除业务主管用户和软件开发主管用户,也修改自身的密码;Admin用户可以创建,修改或删除开发工程师、测试工程师或质量控制工程师用户,也修改自身的密码;•其它用户只能修改自身的用户名和密码。设计编辑用户信息的窗体编辑用户信息的窗体可以用来添加和修改用户信息。创建一个新窗体,窗体名称设置为FrmUserEdit,窗体的布局如图15所示:图15编辑用户信息的界面图实现该功能的代码见附录。设计用户管理窗体创建一个新窗体,窗体名称设置为FrmUserMan,窗体的布局如图16所示:
实现该功能的代码见附录。9.4.2项目管理模块功能的实现创建一个新窗体,窗体的名称设置为FrmProjMan.在该窗体中使用ADO控件和DataGridl控件来显示信息,在该窗体中添加并设置控件的属性如表9-3.表9-3窗体中添加并设置控件的属性表对象名属性属性值AdodclConnectionStringqDSN=SoftsysPasswordSaUserNameSaRecordSouceSELECT*FROMProjVisibleFalseDataGridlDataSourceAdodclComboStatusStyle2-DropdowmListCmd_AddCaption添加Cmd_ModiCaption修改Cmd_DelCaption删除Cmd_BackCaption返回该模块具有以下功能:•添加项目记录•修改项目记录•查看项目信息该窗体还包括另外两个窗体,分别FrmProjEdit和FrmProjDes窗体,FrmProjEdit
窗体编辑问题信息,FrmProjDes窗体用来编辑项目分配信息。项目管理窗体如图17项目管理项目编号►1413项目状态:-实中申完目目K目AM项项验项籍施止话成吝户单陞联系人联系申里系统芋感学院汪瘫131973(dd54申请项目数星:2批准项目数星:3实施项目数量:3中止项目数星:项目编号►1413项目状态:-实中申完目目K目AM项项验项籍施止话成吝户单陞联系人联系申里系统芋感学院汪瘫131973(dd54申请项目数星:2批准项目数星:3实施项目数量:3中止项目数星:0验收项目数星:1完成项目数量:1图17项目管理窗体图■加项目—修改项目|删除项目|返回添加项目信息窗体图如节'客户单位联系人联系电话预算金额预管利润完成日期录入人申请项目数:验收项目数量:项目貌号1项目名称1客户单位1联系人1联系电►13idIdId54I敦件项目开发管理系统I孝感学院录入日确定1图18添加项中止项目数量:0实现以上该功能的代码见附录。9.4.3项目实施管理•显示所选择项目的具体信息;•编辑项目组成员,包括添加项目组长,添加开发工程师,添加测试工程师,添加质量工程师和删除成员功能;•编辑功能模块,包括添加,修改,删除和查看等功能;•编辑开发报告,包括添加,修改,删除和查看等功能。选择要进行实施的项目的窗体如图19
图19选择要进行实施的项目项目实施窗体FrmProjDev的布局如图20所示:图20项目实施界面该模块还包括另外三个功能模块分别为添加项目组成员信息的窗体FrmAddteam,编辑出版功能模块信息的窗体FrmModeEdit和编辑工作报告信息的窗体FrmPepMan,实现以上功能的代码见附录。9.4.4文档模块功能的实现文档管理模块可以实现以下功能:•添加文档;•修改文档;•删除文档;•查看文档;文档管理模块是本系统要重点要解决的问题也是本系统的特点的具体实现。在SQLServer2000中,可以使用Image类型的字段存储二进制数据,创建DocFunc模块,用来管理与数据库读写图像(二进制数据)字段相关的变量和函数。其中包含两个用户自定义过程:ShoDoc()和SaveDoc()。因为SQLServer2000的图像字段不能够使用Insert和Update等语句插入和更新,所以本系统中使用GetChunk和AppendChunk方法读取和填写图像字段。GetChunk方法用来返回大型文本二进制数据对象的全部分或部分内容,AppendChunk则将数据对象追加到大型文本二进制数据Field对象中。ShowDoc()包含两个参数,Image1用来显示图像的Image控件,Adodc1用来提供图像字段的ADOData控件。ShowDoc过程的代码如下:PublicSubShowDoc(TmpAddodc1AsAdodc)〃定义一个字符串,用来保存要查看的文档的文件名DimTempFileAsString〃定义一个Word对象DimwdocAsObject〃初始化byteChunk()函数ErasebyteChunk()〃获取要打开发的文档的大小fieldsize=TmpAdodc1.Recordset.fiels(5).Actualsize〃初始化源文件SourceFile=FreeFile〃获取要打开发的文档的路径TempFile=App.Path+"\temp.doc"〃以二进制存取源文件OpenTempFileForBinaryAccessWriteAsSourceFile〃获取文件中整块的个数NumBlocks=fieldsize\BlockSize〃获取文件中剩余的那个块的大小LeftOver=fieldsizeModBlockSizeIfLeftOver<>0ThenReDimbyteChunk(BlockSize)byteChunk()=TmpAdodc1.Recordset.fiels(5).GetChunk(LeftOver)PutSourceFile,,byteChunk()EndIf〃循环地以二进制读块并显示源文件Fori=1ToNumBlocksReDimbyteChunk(BlockSize)byteChunk()=TmpAdodc1.Recordset.fiels(5).GetChunk(BlockSize)PutSourceFile,,byteChunk()NextI〃关闭源文件CloseSourceFile〃调用WondowsAPI对象并创建Word对象Setwdoc=creatObject("Word.Application")〃使Word显示属性为可显示wdoc.Visible=True〃打开Wordwdoc.Documents.Open(TempFile)EndSubEndSubSaveDoc也包含两个参数,ImageFile表示图像的文件名,Adodcl表用来存储图像字段的ADOData控件。SaveDoc过程的代码如下:PublicSubSaveDoc(ByValDocfileAsString,TmpAddodc1AsAdodc,vFileAsInteger)//判断记录集是不是为空ifTmpAdodc1.Recordset.EOF二truethenexitsubendif//判断当前保存过Word文档过没有ifDocFile=〃〃thenexitSubendif〃初始化源文件SourceFile=FreeFileOpenDocFileForBinaryAccessReadAsSourceFileFileLenth二LOF(SourceFile)//判断源文件是否读完ifFileLenth=0thencloseSourceFileMsgBoxDiskFile&〃无内容或不存在〃Else〃获取文件中整块的个数NumBlocks=fieldJength\BlockSize〃获取文件中剩余的那个块的大小LeftOver二fieldJengthModBlockSizeTmpAdodc1.Recordset.fiels(vFile).Value二NullReDimbyteDate(BlockSize)〃循环地以二进制读块并保存源文件Fori=1ToNumBlocksGetSourceFile,,byteData()TmpAdodc1.Recordset.fiels(vFile).AppendChunkbyteData()NextiReDimbyteDate(LeftOver)GetSourceFile,,byteData()TmpAdodc1.Recordset.fiels(vFile).AppendChunkbyteData()TmpAdodc1.Recordset.Updateendifendsub
对于项目文档管理的模式与其它的信息不同,需要单独处理,创建一个新窗体,窗体名称为FrmDocMan.文档管理的窗体如图21所示项目文档管理交档类型:文档编号349质量交档交档类型:文档编号349质量交档需求文档设计文档开发文档测试交档作者保存时间cl2005-06-05yi2005-05-29图21文档管理界面图追加Word文档的窗体如图追加Word文档的窗体如图21图22追加Word文档的窗体图设计文档管理功能的控件属性如图23它包括另外一个窗体项目文档基本信息编辑窗体FrmDocEdit,它的作用有两个,一是对文档的基本信息的管理,二是把二进制数据保存到数据库中。实现以上功能的代码见附录。9.4.5测试模块功能的实现测试模块功能模块可以实现以下功能:•添加报错问题记录;•修改报错问题记录;•删除报错问题记录;•查看报错问题记录;报错问题管理FrmPrMan的布局如图24所示:该窗体还包括一个报错问题编辑窗体FrmPrEdit,编辑报错问题的窗体可以用来添加和修改项目报错问题信息。实现以上功能的代码见附录。9.4.6项目总结管理模块功能的实现项目总结管理模块可以实现以下功能:设置项目的实际金额,实际利润及实际完成日期等信息;•添加项目总结信息;修改项目总结信息;•删除项目总结信息;查看项目总结信息。设计项目总结信息编辑窗体。创建一个窗体,窗体名称设置为FrmSunMan.窗体包含的控件及其属性如表9-4:表9-4窗体包含的控件及其属性表对象名属性属性值AdodclConnectionStringqDSN=SoftsysPasswordSaUserNameSaRecordSouceSELECT*FROMSummaryVisibleFalseDataGridlDataSourceAdodcltxtAmountl用来编辑实际金额txtBenefitl用来编辑实际利润txtFinishDatel用来编辑实际完成日期Cmd_AddCaption添加Cmd_ModiCaption修改Cmd_DelCaption删除Cmd_BackCaption返回该窗体还包括一个项目总结信息编辑窗体FrmSumEdit,项目总结信息编辑窗体FrmSumEd
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 26年老年患者生理隐患学习
- 慢性血栓栓塞性肺动脉高压(CTEPH)规范化诊疗科室业务学习资料
- 2026年甘肃省临夏州中考语文一模试卷(含详细答案解析)
- 2025年官方兽医考试题库及答案
- 2025年监理工程师考试案例分析(土建)真题及答案
- 农林牧渔企业经费使用管理工作自查整改措施报告
- 防震减灾知识题库含答案
- 全院服务礼仪培训
- 子痫前期并发心功能不全的诊治总结2026
- 2025-2026学年辽宁省本溪市高三第六次模拟考试历史试卷含解析
- 小学科学教学仪器配备标准
- 中考语文一轮专题复习:非连续性文本阅读
- 城市智慧路灯(5G综合灯杆)建设工程项目(含方案设计及项目实施方案)
- 营养学第六章 矿物质
- SWITCH暗黑破坏神3超级金手指修改 版本号:2.7.4.84040
- 浙江省消防技术规范难点问题操作技术指南(2020版)
- 建筑公司生产安全事故风险评估报告
- 《青蛙卖泥塘》课本剧
- GB/T 3179-2009期刊编排格式
- GB/T 28730-2012固体生物质燃料样品制备方法
- GB/T 24283-2018蜂胶
评论
0/150
提交评论