已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
蓝天工作室-为您提供最优秀的计算机毕业设计论文解决方案 客服QQ:599057179软件企业综合事务管理信息系统摘 要WCI(WebEx China Intranet)是Webex China HF Branch设计开发的一套用于综合事务管理的管理信息系统。该系统基于Web开发,采用B/S(Browser/Server)结构,可用于软件公司的日常事务管理,例如雇员管理、组织管理、项目管理、招聘管理、工作报告管理、设备采购、及企业培训等等。 本论文主要在需求分析、总体设计、数据库设计及模块中关键功能的算法设计等方面对WCI系统进行研究。首先作者简要介绍了WCI系统的需求分析。接着,在总体设计方面,作者主要论述了WCI系统作为Web应用程序所具有的层次结构,设计模式选择依据及应用。在数据库设计环节,作者重点介绍了数据库的概要设计过程和设计思路。模块详细设计是本文的重点,在此部分,作者总结出各个模块的共性,对这些共性做统一的设计,以提高代码的可复用率,然后针对各具体模块详细阐述代表主要业务逻辑关键算法设计。例如用户权限管理算法设计、组织结构树视图算法设计、项目工作流算法设计等等,其中突出论述了项目任务的工作流算法设计。作为补充,本文对WCI系统的项目计划开展、测试和质量保证等内容也做了简要介绍,此外,文中给出了一些Web应用程序设计中常见的技术问题的解决方法。 【关键词】 项目管理、Web程序设计、MVC结构Integrated Management Information System of Software CompanyAbstractWCI (WebEx China Intranet) is an integrated management information system developed and used in WebEx China HF branch-a software development company. This web based system adopts B/S (Browser/Server) architecture, which can be used in software companies for business operation management, such as employee management, project management, recruitment, report management, procurement, and enterprise training management.This thesis focuses on the study of requirement analysis, framework design, database design, and algorithm design for major functions of WCI. Firstly, the author briefly introduces the requirement analysis of WCI. Following that, the hierarchy of WCI as a Web application, the ground of selecting the design pattern and the actual implementation of the design pattern are elaborated in the section of framework design. In studying the database design, the author highlights the design process and the course of reasoning for the concept structure design of the database. Detailed module design is the major part of this thesis. In this part, the author summarizes the common character of these modules of WCI, then explores some algorithm designs in various modules, which represent the main business logic, for example, privilege management, organization tree view, project workflow, and etc. The algorithm design highlighted here is project workflow algorithm design.As a complement, this paper also introduces the project plan implementation, testing and quality assurance in the system development process. In addition, it provides some solutions to common technical problems in Web application development to audience.Keywords: Project management, Web programming, MVC目录第一章WCI系统概述51.1 WCI系统的开发背景51.2项目计划61.2.1项目组的人员组成以及职务、交流方式61.2.2项目软件资源61.2.3项目开展计划71.3 基于Web的软件开发和项目管理工具在国内外发展情况91.4 本人在WCI中所做的工作9第二章WCI系统的需求分析102.1 用户提出的需求102.2 需求分析12第三章WCI系统的总体设计163.1 层次结构设计163.1.1 Web应用程序层次结构概述163.1.2 WCI系统结构的三个层次 客户层 中间层 数据库层193.2 WCI的系统组成213.2.1 WCI系统的总体组成213.2.2 各模块的组成 各模块共有的功能组成 用户管理模块.1 用户权限存取.2 用户信息与LDAP集成 组织管理模块应聘者管理模块招聘职位管理模块产品线管理模块项目任务管理模块243.3 WCI所采用的设计模式253.3.1 什么是MVC设计模式253.3.2 为什么要使用MVC273.3.3 MVC的基本实现过程293.3.4 WCI的MVC结构30 模型层的设计30.1 数据库存取模型30.2 对业务逻辑的抽象3 控制层的设计3 视图层的设计353.4 页面框架设计363.4.1 页面分帧363.4.2 页面元素显示风格定义37第四章WCI系统的数据库设计394.1数据库设计概述394.2对实体的描述404.3 实体之间的联系424.4 E-R(Entity-Relationship)图43第五章WCI模块详细设计475.1 WCI各个模块的共性475.1.1 实体信息列表475.1.2 实体详细信息显示495.1.3 实体信息的添加、编辑和删除495.1.4 实体详细信息查询495.2 WCI用户管理模块505.2.1 报告发送关系视图505.2.2 用户权限设计515.2.3 用户信息与LDAP的集成525.3 WCI组织机构管理模块525.3.1 组织结构树视图525.3.2 组织信息汇总在线报表(Organization Summary Online Report)535.4 WCI应聘人员管理模块545.4.1 应聘者的状态变化545.4.2 对应聘者的雇佣545.4.3 对应聘者的评价545.5 WCI招聘职位管理模块555.6 WCI产品线管理模块555.7 WCI项目任务管理模块565.7.1 为一个项目任务添加评注565.7.2 项目任务工作流(Work Flow)565.7.3 项目任务周报635.7.4 项目任务月报65第六章WCI测试与质量保证(QA)概述666.1 测试用例设计666.2 质量保证措施67第七章结束语70参考文献71本人在读研期间所发表的论文和撰写的工程文档72致谢73第一章WCI系统概述网迅(中国)软件有限公司(WebEx China Software Co.,LTD.)于2002年9月在上海成立,目前有苏州、杭州和合肥三个分公司,是一家外商独资的高科技企业,也是美国WebEx公司在国内的产品研发、生产、销售和服务基地,致力于开发基于Internet的多媒体交互平台软件、电子商务应用服务软件、远程客户服务软件以及实时网络会议系统。通过与中国电信、中国联通等基础电信公司的广泛合作,为迅速在中国大陆地区进行市场推广,为客户提供实时交互多媒体通讯打下了坚实的基础。 在短时间内WebEx (China)在中国地区的市场也得到了迅速的推广,客户范围覆盖了各行各业,如上海宝钢集团、青岛海尔集团、胜利油田、深圳发展银行以及Oracle(中国)等都在充分享受webex所提供的各项远程服务。 2003年12月,公司决定开发一个能够覆盖全公司的服务于公司内部的综合事务管理信息系统(WCI),为此组建了WCI项目组。这个时候,我们来网迅公司实习,就参与到这个项目组中。1.1 WCI系统的开发背景针对日常事务管理,公司希望开发出一个基于B/S结构的综合事务管理信息系统站点Webex(China)Intranet,用来实现网迅(中国)的各个分公司的内部信息的共享。网迅(中国)软件有限公司的日常管理包括下面一些内容:l 人事管理和组织机构管理公司的雇员都分配到一定的组织中,组织之间有隶属关系,每个组织中有一个直接领导人。对雇员和组织的信息跟踪和报表是通过人力资源部手工完成。l 产品线管理产品线是公司对业务的划分,每个产品线中拥有一些项目和项目任务,每个产品线下分配有一些雇员和组织。产品线提供了一类产品(公司要开发的软件)的规模和资源分布情况,为决策者提供跟踪项目和项目任务的数据,辅助项目决策。l 应聘人员和招聘职位管理公司的人力资源部要确定那些职位需要招聘新人,通过多种渠道收集应聘者的信息,要管理应聘者的基本信息和应聘者提供的材料(如履历表等)。对合格的应聘者分配职位和组织,进行一个招聘流程,使其成为公司的员工。l 项目管理项目经理日常的项目管理工作是通过Word和Excel或其他成品软件等辅助工具来完成的,每个项目中有大量的数据需要处理,规划项目管理的流程,给相关人员发送电子邮件,还需要手动地完成项目跟踪工作。希望能有一个专门用来管理软件开发项目、管理项目模板和方便用户查看项目资源图的软件。l 项目任务管理网迅公司的项目任务的概念有别于一般意义上的项目任务,这里的项目任务不是某个具体项目的任务,而是产品线下的一个阶段性任务。一个产品线可以有多个项目任务,每个项目任务有一个活动流程。对这些活动流程进行跟踪,控制产品线的进展情况和人力资源分配情况。l 日报周报事务网迅(中国)公司的每一个员工每天要写一份日报,说明今天所作的工作,以及存在的问题和对工作的一些的建议。每周都要写一份周报,说明这一周所作具体工作及工作量以及存在的问题和一些对所作工作的建议。报告是掌握雇员工作进度的一种主要方式。这些报告基本上要遵循一定的格式,项目经理需要对每个人的日报、周报进行分析和统计。l 设备购买流程和设备管理购买设备,需要经过经管人层层审批,对设备的管理也是通过人工表格的方式来进行。l 对雇员的培训培训管理包括课程注册、课程评价、课程管理和培训记录,目前也是人工管理。按照日常管理的习惯,把目标系统分成以下部分(模块):用户管理、组织机构管理、产品线管理、项目管理、项目任务管理、应聘者管理、招聘职位管理、日报和周报事务、设备购买流程和管理以及培训管理。另外,还有对整个站点进行管理的站点设置管理。1.2项目计划1.2.1项目组的人员组成以及职务、交流方式Webex(中国)公司的一般小组是按照需要所开发的项目而组建起来的,为了开发Webex(China)Intranet,公司组建了WCI开发组,Corrine Kong为组长(项目经理),Saily为技术领导,Sherrin和Windy是程序员,我们科大软件学院到网迅的实习生有5个人加入该小组(占小组总人数的1/3),参与整个项目的全过程。另外,还有一个做页面美工。项目设计管理小组(PDM)也将部分加入。项目的小组的成员交流是非常重要的,为了保证项目组成员交流的方便性和经济性,采用下列交流方式:Yahoo Message、E-Mail、电话、工作会议、网络会议。1.2.2项目软件资源公司能够提供开发这套软件的资源是根据公司具体情况加以指定的,所采用服务器操作系统是Linux,Web服务器是Apache。系统所采用的服务器教本编程语言是PHP,系统中某些后台程序用Java编写,例如定时发送Email的Java程序。系统所采用的数据库系统是MySQL,一个非常适合开发中小型信息系统的数据库。1.2.3项目开展计划项目的以项目任务(Task)作为阶段和检验点(Check Point), 在Webex,项目任务以Memo来标识,以下是Webex(China)Intranet系统的第一个项目任务,作者是项目经理Corrine Kong。WCI系统第一季度任务信息如下: 项目任务编号#: 3847 标题: WebEx (China) Intranet项目发布(第一季度)作者:Corrine Kong(项目经理)工程发布所要发布的任务名称:WebEx(China) Intranet发布类型:Major 项目状态任务:Uncommitted - 错误分析标识号:wbx00xxxx(发布后填写)- 发布成果:页面数量xxxx(发布后填写)数据库表数量xxxx(发布后填写)系统环境配置:Web服务器环境: Linux RedHat 7.2+Apache 1.3.28+MySQL 3.23.58+OpenLDAP 2.1.25+GD libary 1.8.4+DBD 4.1.25客户端操作系统: Win98, Win2000, WinNT, WinXP客户浏览器: IE4.0 above项目任务计划(北京时间)Beta 版本发布:产品需求文档 (用例设计):2/4 开发部门环境搭建: 2/13测试部门环境搭建: 2/29开发部门数据库设计 2/17项目框架设计(草稿)2/9PDM 小组界面元素风格定义(草稿) 2/12 项目框架设计和项目框架设计(定稿) 2/19开始编码: 2/24各个模块计划:模块功能需求分析说明书(草稿)功能需求分析说明书(定稿)开发部门编码结束测试部门测试用列完成用户管理和组织管理2/273/43/93/9项目任务管理3/33/53/113/11项目管理3/93/113/183/18日报、周报事务3/93/113/183/18测试部门第一轮测试: 3/24开发部门编码完稿: 3/24测试部门第二轮测试: 3/30工程发布计划:说明书(草稿): 4.4说明书复查:4.6说明书定稿: 4.8编码定稿: 4.14工程发布:4.15演示计划:演示服务器环境搭建:4.7Beta 版本发布演示: 4.8工程发布演示: 4.16部署:Intranet 介绍/培训: 4.18基本数据准备: user|Task|project|roles|template etc. 4.24推出: 4.251.3 基于Web的软件开发和项目管理工具在国内外发展情况 在基于Web的软件开发中,WWW(World Wide Web)是Internet中最受欢迎的一种技术,也是市场竞争最激烈、发展最快的一种技术。WWW也采用CS模式,服务器软件是Web Server软件,客户端软件就是浏览器(Browser)。浏览器正在成为访问Internet的标准界面。浏览器的广为流行推动了浏览器在Intranet中的应用。采用浏览器作为集成的客户界面软件已经成为当前Intranet发展的一个趋势。作为Intranet统一用户界面的浏览器软件,除了可以访问WWW、电子邮件、FTP外,还可以访问网络的数据库等。当今许多大型公司都采用这种技术构建公司的信息系统。目前,国内外已经有较多的软件企业综合事务管理软件,但大多是分散的,也就是说一般事务管理和软件项目管理往往是分开的,但也出现了一些基于web的集成性较强综合事务管理软件如:dotproject、eGroupware、moreGroupware 等,它们都是Open Source的。比较分析这些现有产品,软件企业综合事务管理软件有基于web和有越来越高的集成度的发展趋势。1.4 本人在WCI中所做的工作我在该项目中负责的模块有:用户管理、组织机构管理、应聘者管理、招聘职位管理、产品线管理和项目任务管理。我的职务有:整个站点的页面框架设计,系统总体设计(MVC结构设计),对我所负责的各个模块的用户提出的需求进行需求分析,数据库设计和业务逻辑算法设计,编码和单元测试。第二章WCI系统的需求分析2.1 用户提出的需求 l 用户管理1 查看(浏览)到全部的用户信息列表,该列表中列出的是用户的基本信息(用户英文名,角色,职务,所在分公司,电子邮件地址),可以在列表中点击某用户的电子邮件地址给该用户发邮件;需要一个专门的窗口看所有雇员的报告发送关系。2 在用户基本信息列表中选择一个用户,查看该用户的详细信息(除基本信息外还包括:中文名,日报发送对象,生日,性别,学历,英语水平,加入公司时间,办公电话,私人电话,YahooID,照片,工作状态,工资水平,所在产品线);但是,某些保密信息(工资,家庭电话,生日)只有有权限的用户或用户本人可见。3 添加、编辑、删除一个用户信息;4 用户更改自己的口令;5 通过用户的名称,所在的组织,加入公司的时间段,职务名称查询用户信息。l 组织管理1 查看全部组织的隶属关系(A隶属于B,则B是A的父组织),以组织名称作标识;2 查看到一个组织的详细信息(组织名称,组织名称缩写,父组织,组织类型,所在分公司,组织领导人);3 查看到一个组织下有那些雇员;4 添加、编辑、删除组织;5 生成组织信息统计的日报,包括各个组织中的人数,组织所属的产品线。6 通过组织名称,组织类型查看查看组织(组织分为6个类型:Webex,Center,Site,Department,Group,Team)。l 应聘者管理1 查看应聘者基本信息(姓名,所申请的职位,英语水平,学历,工作经验)列表,可以在列表中选择一个应聘者查看其详细信息(姓名,生日,婚姻状况,毕业学校,联系电话,电子邮件地址,应聘者状态,附加材料文件,用户对该应聘者的评价);2 添加、编辑和删除应聘者的信息(不能直接编辑应聘者的状态);3 改变应聘者的状态;4 雇佣一个合格的应聘者;5 通过应聘者姓名,所申请的职位,英语水平,学历查找应聘者信息。l 招聘职位管理1 查看招聘职位的基本信息(职位名称,已经招聘的人数,所在的分公司,所在的组织,)列表;可以选择一个职位查看其详细信息(该职位的工资范围,拟招聘的人数,该职位的职责,要求专业,要求学历,英语水平,要求工作年限,其他要求);2 添加、编辑、删除招聘职位信息;3 通过职位名称,所在分公司,所在组织查找招聘职位信息。l 产品线管理1 查看产品线的信息列表;2 在为用户选择其隶属的产品线属性时,缺省选择该用户所在的组织的隶属产品线属性;3 统计产品线中下各个分公司的人数,各个项目任务的个数,并对每天的统计结果做记录(日报)。l 项目任务管理1 通过对项目任务的状态过滤,查看项目任务的基本信息(项目任务名称,状态,创建者,所在的分公司)列表,可以可以选择一个任务查看其详细信息(版本号,对项目任务操作的确认人,最终评估人,所属的产品线,所在的组织,要达到的目标,项目任务成功的标准,开始时间,估计结束时间,实际结束时间,所分配的人数,估计需要的人时数,实际所用的人时数,用户对项目任务的评价);2 添加、编辑、删除项目任务(只有项目任务的创建者才有权限进行编辑和删除);3 按照工作流(Work Flow)方式对项目任务进行操作。在创建项目任务时,指定该项目任务的确认人,最终评估人,只有指定的用户才能对项目任务做相应的操作,某些操作有严格的先后顺序,只有前面的操作完成,才能进行后面的操作;要进行的操作有(括号里是此操作的执行者):批准项目任务进入工作状态(确认人), 需要改进(确认人),取消(创建者),同意取消(确认人),不同意取消(确认人),宣布成功(创建者),同意宣布成功(确认人),不同意宣布成功(确认人),宣布失败(创建者),同意宣布失败(确认人),不同意宣布失败(确认人),评价为成功(评估人),评价为失败(评估人);在需要某个用户进行必须的操作时,给该用户发一封通知邮件;4 项目任务工作流的控制过程由项目任务创建者新建一个项目任务,等待确认人来确认,如果确认人不同意(认为该项目任务的信息需要重新修改),则创建任务的用户将对该项目任务进行修改,直到确认人满意为止。确认人批准创建或修改该项目任务后,创建者可以宣布该项目任务成功或失败,在宣布成功的同时需要填写实际的完成时间和实际所用的人时数,然后提交给确认人批准,确认人如不同意该项目任务宣布成功,该项目任务就必须返回到正在处理的状态,如果同意宣布成功,则把该项目任务提交给评估人评估,评估结果有两种,成功或失败;项目任务宣布失败,提交给确认人确认,如果确认人同意宣布失败,则该项目任务就是最终失败的,如果不同意宣布失败,则该项目任务继续回到正在进行的状态。创建者在该任务没有提交到评估人那里评估之前,都可以取消项目任务,宣布取消后提交给确认人,如果确认人同意宣布取消,则该项目任务就被取消掉了(就象从来没有发生过一样),如果不同意宣布取消,则该项目任务就应该回到取消它以前的状态。5 每周对项目任务进行分析,产生以下周报:a. 对于每个分公司,计算参加项目任务(按开始时间在周末以前,估计结束时间在周末以后采样)的参与率,项目任务的成功率(按人时计算,按开始时间在周末以前,估计结束时间在周末以后采样),项目任务的按时完成率(按人时计算,按开始时间在周末以前,估计结束时间在周末以后采样),延时的项目任务人时总数,并计算下两周的项目任务人员参与率(按开始时间在周末以前,估计结束时间在周末以后采样);b. 统计可以进行评估操作,但是实际没有进行评估操作长达一个月以上的项目任务,并给评估人发送提醒邮件;c. 列出三个人时数最大的项目任务和三个人时数最小的项目任务(按开始时间在周末以前,估计结束时间在周末以后采样);d. 列出已经过了估计结束时间但还没宣布成功(失败或取消)的项目任务。6 每月对项目任务进行分析,产生一个月报,该月报统计针对所有的产品线,统计在某一个产品线下所有的项目任务中,所投入的开发部的人时数,和质量保证部的人时数及两者之和,统计这些项目任务中所分配的人数,按照该产品线下的总人数计算雇员利用率。7 根据项目任务的名称,所在的组织,开始时间的范围查询项目任务。除了上诉需求外,要求能够记录用户所作的一些重要操作。2.2 需求分析 按照用户的需求,根据用户提供的信息,对需求进行汇总或提炼,为项目设计人员提供设计所需的充分信息。1 所有的模块都有基本信息列表,以及在列表中选择一项来查看其详细信息。基本信息列表是要求对每一个实体只显示用户最关心的信息,一般都不是很多,列表就是一个实体的集合,在很多情况下,用户只是需要看到这些基本信息就可以了。当用户在浏览列表的过程中,对某一个实体比较关心时,可以通过超链接查看其详细信息,这个详细信息的查看不应该对继续查看列表有太大的影响,我们可以把详细信息显示在列表的下方,从而对继续浏览列表造成的影响最小。这里从列表到查看详细信息是一个选择的过程,而这种选择应该给用户以醒目的导向,我们可以采用在列表中的第一项信息加超链接的方式来完成这种功能。为了方面用户查看列表信息,要求为列表中的每一列(代表一类信息)增加排序功能,对信息量很大的列表可以采用分页显示的办法,也可以根据列表的特点,按照列表中信息的分类,对列表进行过滤。比如,对英文名可以通过字母表来过滤,对项目任务,可以用项目任务状态来过滤。2 所有的模块都有添加、编辑和删除。添加,编辑和删除是用户维护数据的手段,是具有明确目的的操作,而这种操作将引起数据库中数据的变化。应该对需要进行这些操作的用户有一个明确的引导。对此我们定义一些风格统一的按钮来达到这一目的,由于这些操作将引起数据库中数据的改变,应该给用户反馈一些操作进展的提示信息。我们定义“Add”,“Edit”,“Delete”按钮来引导用户开始这三种操作,在进行删除操作时,给用户一个确认信息,避免误删除,且需要进行数据相关性检查,要避免某个实体的数据删除后对系统可能造成的崩溃,在添加和编辑操作中,定义一个“Save”按钮来引导用户保存信息,同时也是进行实际添加、更新数据库的一个触发条件。在完成操作后,给用户一个操作完成的反馈,好让用户放心。在准备数据的过程中,用户有可能改变主意,不想让操作再进行下去,所以我们需要给用户一个取消当前操作的选择:给用户一个“Cancel”按钮。3 除了个别模块,大部分都要求有查询功能。大部分用户在使用该系统时,都会有明确的目的,而这种目的在很多情况下,都表现为针对特定的实体进行操作,所以查询往往是用户进入系统后首先想做的是,在查询中,用户在很多情况下都是希望通过实体最主要的特征来进行,而这很可能就是描述实体的实体名称。比如在查询雇员(用户)信息时,其姓名往往是首先被用户想到的。所以,我们需要在系统模块的入口处,放置快捷查询的接口。这个接口放在模块内部菜单附近应该是不错的选择,因为菜单往往是用户使用系统时的目光首要投入的地方。我们还需要给用户提供一个高级查询的接口,高级查询能够帮助用户找到符合多个给定条件的一组数据。我们安排专门的页面来放置高级查询的接口。对查询结果的显示,我们采用和基本信息列表一致的方式。这样使系统中不同种类的页面数减少,提高系统的易用性。4 除了这些共性,再考虑各个模块中的另外需求。l 用户管理从系统的角度考虑,使用该系统用户的用户名不能重复,用户的电子邮件地址也不能重复。用户通过点击“Change Password”按钮来更改口令,在更改口令时,需要进行确定性检查,即要求用户输入现有口令,在用户输入口令时进行确认检查,要求用户输入2次新口令。l 组织管理在删除一个组织时,以该组织为父组织的组织如何确定新的父组织?根据用户意见,把即将删除组织的父组织作为他们新的父组织,即向上继承;该组织里的雇员将成为该组织的父组织中的雇员。在定义一个组织的父组织时候,不能选择组织本身作为父组织,如果这样,将产生逻辑性的错误,并且在某些应用中,会形成无限递归,这是必须要避免的问题。l 应聘者管理在该模块中,应聘者的状态改变和一般意义上的编辑并没有太大的差别,因为状态的改变没有工作流的限制,这里的状态的主要作用在于对应聘者进行信息分类。在改变状态的时候,一般需要填写改变状态的理由,或者是添加一些评论。在可以选择的状态列表里,应该没有当前应聘者的现有状态。雇佣一个应聘者,实际上就是把该应聘者变成该系统的用户,因为系统的用户信息和公司的雇员信息是一对一的。这需要给进行该操作的用户提供一个接口,把该应聘者的信息继承为雇员的信息,并添加作为应聘者时没有但作为一个雇员必须要有的新信息。l 产品线管理对产品线,主要是能产生日报表,对日报的要求是,用户可以看到当前状态的信息(最新信息),这是所谓的Online Report,用户也可以输入日期,查询该日期下对产品线统计的历史信息。l 项目任务管理对项目任务的管理是按照一个工作流来进行的。这一点在用户提供的需求中已经明确,对有关项目任务的报表,按照用户提供的需求,需要提炼出计算公式。1周报计算公式(1)每个分公司中项目任务的人员参与率 这里选择的项目任务是符合开始时间早于统计时间,估计结束时间晚于统计时 间的所有项目任务。参与率 = 参加到项目任务中的人数 分公司的总人数(2)每个分公司的项目任务成功率 这里选择的项目任务的条件是:评价时间落在统计时间所在的一周中。 EvaluateSuccessManHours = 评价成功的项目任务的实际人时数 EvaluateFailureManHours = 评价失败的项目任务的实际人时数 成功率 = EvaluateSuccessManHours (EvaluateSuccessManHours + EvaluateFailureManHours)(3)每个分公司的项目任务按时完成率这里选择的项目任务的条件是:确认结束时间时间落在统计时间所在的一周中。项目任务按时完成的标准:实际结束时间不晚于估计结束时间按时完成率 = 符合上述条件的按时完成的项目任务的实际人时数 符合上述条件的所有项目任务的实际人时数(4)每个分公司的延期项目任务的人时数总和这里选择的项目任务的条件是:尚未宣布成功或失败的所有项目任务。延期的标准是:估计结束时间晚于统计时间延期总人时数 = 符合上述条件的所有延期的项目任务的人时数总和(5)下两周的项目任务人员参与率计算方法同(1)中所述,但是把统计时间换成统计时间的7天以后的时间和14天以后的时间。(6)未评估超过一个月的项目任务统计所有可以评估但没有评估的项目任务统计时间 - 确认结束时间时间 30。(7)统计三个人时数最大和最小的项目任务 见需求分析的相应部分(8)已经过了估计结束时间但还没宣布成功(失败或取消)的项目任务考虑所有这样的项目任务2月报计算公式 直接参照用户提出的需求。第三章WCI系统的总体设计3.1 层次结构设计3.1.1 Web应用程序层次结构概述 随着Internet越来越广泛的应用,很多企业开始采用Internet技术构筑和改建自己的企业网,即Intranet。于是,一种新兴的体系结构Browser/Server应运而生,并获得飞速发展,成为众多厂家争相采用的新型体系结构。本质上,Browser/Server也是一种Client/Server结构,它是一种由传统的二层Client/Server结构发展而来的三层Client/Server结构在Web上应用的特例。随着Web的发展,通过Web可访问的服务也有着同样的发展。许多新服务是由存储在数据库中的数据驱动的Web站点提供的。Web数据库应用的例子包括对大型数据仓库提供访问的新服务、电子商务应用程序、电子政务及各种各样的网上管理工具。 在Browser/Server的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。Browser/Server结构极大的简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即可, 服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成5。 Web提供了便宜且普片存在的网络互连,它拥有现成的用户基础,这些用户使用标准的Web浏览器软件并运行在各种普通的计算机上。对于Web应用程序开发者,许多Web服务器软件可以免费得到,可以用于相应文档和程序的请求。已有几种脚本编程语言被采纳或设计,来开发可以与Web服务器和Web协议一起使用的程序5。Webex(China)Intranet系统通过三层应用逻辑来实现Web与数据库的整合。底层是DBMS(数据库管理系统)和数据库,顶层是用作应用程序接口的客户端Web浏览器。两层之间是大多数应用逻辑,这些应用逻辑通用Web服务器端脚本语言PHP开发,可以与DBMS交互,并能解码和生成用于客户端Web浏览器显示的HTML。 以下,我介绍一下用于Webex(China)Intranet系统的Web数据库应用程序的三个层次的结构模型,Web的特性及其基础协议,并详细介绍每一层及其组件。3.1.2 WCI系统结构的三个层次Web数据库应用程序的三层结构模型如图3.1.2-1所示。三层体系结构为Web应用程序提供一个整体框架,Web本身提供连接应用程序的客户层和中间层的协议和网络,即提供Web浏览器和Web服务器之间的连接。在客户层中包含较少的应用逻辑,这意味着不必建立、安装和配置客户层。这样,一个Web应用程序可以提供给任意数量不同的、地理位置分散的用户5。应用程序的底层是数据库层,该层由管理数据库的DBMS组成,数据库中包含用户创建、删除、修改和查询的数据。数据库上面是复杂的中间层,其中包含大部分应用逻辑并在其他两层之间进行数据通信。顶层是客户层,通常是与应用程序交互的Web浏览器软件5。将多数Web数据库应用程序描述为三层体系结构的形式掩盖了这样一个事实:应用程序必须将不同的协议和软件整合在一起。作为Webex(China)Intranet系统的开发人员,我主要阐述中间层,以及将客户层和数据库层整合在一起的应用逻辑。图3.1.2-1 Web数据库应用程序的三层结构模型本系统的主要基础是Web,主要涉及到超文本标记语言HTML(Hypertext Markup Language)、超文本传输协议HTTP(Hypertext Transfer Protocol)和TCP/IP联网协议套件。HTML能够使浏览器表现结构化的信息。TCP/IP是一个联网协议,它通过Internet在应用程序之间传输数据,且对Web应用程序的开发没有技术上的影响。开发Webex (China)Intranet系统的大部分工作是使用HTTP将传统的数据库应用程序与Web连接。重点在于理解需求,弄清楚复杂的应用逻辑。 客户层 客户层一般指浏览器,即B/S结构中的B(Browser),其主要任务是处理并显示HTML资源,发布对资源的HTTP请求,并出处理HTTP响应。浏览器的基本特征有:l 浏览器是发送请求并显示来自Web服务器的响应的HTTP客户。浏览器就是整个Webex(China)Intranet系统的用户接口。l 在呈现页面时解释由HTML标记的页面,向用户展示标题、图像、超文本链接、图像、声音或其它类型的对象。l 大多数浏览器可以运行嵌入在页面中的JavaScript程序,使用JavaScript脚本在制作动态网页技术中已经必不可少,在Webex(China)Intranet系统中,我们采用了大量的JavaScript代码来表现网页的动态特征。l 可以运行由Java编程语言开发的组件。l 可以将层叠样式表CSS(Cascading Style Sheet)应用到HTML页面,以控制HTML元素的表示,CSS使得界面风格对象化,很容易实现大量页面的统一风格,在Webex(China)Intranet系统中,整个站点对界面风格的控制通过一个CSS文件来描述。 中间层 在众多三层Web数据库系统中,大部分应用逻辑都在中间层。客户层向用户展示数据,并收集来自用户的数据。数据库层保存并获取数据。中间层完成剩下的大多数功能,将另外两层整合在一起:它驱动显示给用户的数据的结构和内容,并且将来自用户的请求处理为数据库上的查询,以读取或写入数据。它还将状态管理添加到HTTP协议。中间层应用逻辑将Web和DBMS整合在一起5。在Webex(China)Intranet的应用框架中,中间层的组件是Web服务器、Web脚本编程语言和脚本编程语言引擎。Web服务器处理HTTP请求并描述为响应。在Web数据库应用程序中,这些请求通常是针对与基础DBMS交互的程序。Webex(China)Intranet系统所使用的Web服务器是Apache Software Foundation的Apache HTTP服务器,它是被广泛使用的与开放源码的Web服务器。Webex(China)Intranet系统使用PHP脚本编程语言作为中间层脚本编程语言。PHP是Apache Software Foundation的一个开放源代码的项目,同时,它也是Apache HTTP服务器的附加模块,PHP使用Web和数据库环境的整合工具,所以特别适合开发Web数据库应用程序。另外,更为重要的是,在HTML页面中嵌入脚本的灵活性可以和客户层更容易地整合。PHP对数据库层整合的支持也是很优秀的,比如有大量的库可以和绝大多数的DBMS交互。下面,具体地介绍一下在Webex(China)Intranet系统中使用的中间层的各个组件。l Apache HTTP服务器(Web服务器)Web服务器通常指HTTP服务器。术语“HTTP服务器”是对其功能的一个很好的总结:它的基本功能是侦听网络上的HTTP请求、接受由浏览器发出的HTTP请求,并返回包含所请求的资源的HTTP响应。发送给Web服务器的请求分为两个基本类型:一是请求返回一个文件(比如静态Web页面或图像),二是请求运行一个程序并将输出返回到浏览器。Webex(China)Intranet系统中,针对访问数据库的Web脚本的请求是要求服务器运行一个程序。具体讲是针对PHP脚本资源的,这样的请求需要运行PHP Zend引擎、检索并处理一个脚本,以及捕获该脚本输出1。Apache是一个开发源码的Web服务器。它可同时处理来自多个浏览器的多个请求,并可以运行在Linux和Windows这样的多任务操作系统中。另外,它是轻量级的,具有较低的处理条件,可以有效地处理请求加载中的更改,并可以在普通的硬件上快速运行。Apache服务器的运行实际上是几个进程,每个进程都与其它进程协调。它在网络上的侦听和服务请求由其配置文件控制,可以灵活而安全地控制资源需求、响应时间、处理请求1。l PHP(Web脚本编程语言)PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的WEB站点3。PHP是能让你生成动态网页的工具之一。PHP网页文件被当作一般HTML网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP。PHP的含义是超文本预处理器(PHP: Hypertext Preprocessor)。它是完全免费的,你可以从PHP官方站点()自由下载。PHP在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。在Windows环境的PC机器或Unix机器上安装PHP的资料可以在PHP官方站点上找到。安装过程很简单3。 数据库层 数据库层是Web数据库应用程序的基础。理解系统需求,选
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030在线艺术教育平台运营模式分析及增长动力与战略投资研究报告
- 公务员阆中市委组织部关于阆中市2025年考调35人备考题库及答案详解1套
- 二十大安全生产论述课件
- 2025至2030中国征信智能预警系统建设与实施效果研究报告
- 2025至2030中国肉禽行业自媒体营销效果评估与流量变现策略研究报告
- 2026中国气动鼓泵行业未来趋势与投资前景预测报告
- 云南中烟工业有限责任公司2026年毕业生招聘启动备考题库有答案详解
- 2025至2030中国新能源汽车产业链全景解析及投资机会研究报告
- 2026年西安交通大学第一附属医院医学影像科招聘劳务派遣助理护士备考题库带答案详解
- 安徽东新产业服务有限公司2025年招聘备考题库及参考答案详解1套
- 散文系列《补鞋子的人》精-品解读
- 2025国开本科《公共部门人力资源管理》期末历年真题(含答案)
- 养老院对护工规范管理制度
- 农行内控制度汇编
- 2025年企业党支部书记年度述职报告
- 2026年孝昌县供水有限公司公开招聘正式员工备考题库及参考答案详解1套
- 绝经后宫颈上皮内病变处理要点2026
- 2025年校长个人述职报告:凝心聚力抓落实 立德树人开新局
- 沥青混凝土面板全库盆防渗施工质量通病防治手册
- 光伏电站故障处理培训大纲
- 设备维保三级管理制度
评论
0/150
提交评论