房地产信息管理系统的设计与实现

随着计算机及网络技术的迅猛发展和应用,应用软件在诸多应用领域中占据日益重要的地位。管理信息系统(MIS)也被广泛应用到各行各业。政府机构,企事业单位也正加快信息化建设,以提高工作效率和管理水平。工程施工行业是一种分工细致和劳力密集的行业。工程

  第1章绪论

  1.1研究背景

  改革开放30多年以来,我国建筑业蓬勃发展,取得举世瞩目的成就。2001年到2014年十四年间,我国建筑业总产值始终保持快速增长态势,年均增长率高达,产业规模不断扩大。但是,随着全球经济一体化进程的不断加快,我国建筑企业既要面对国内同行竞争,更要面对来自技术和资金均占极大优势的国外同行的挑战。同时,由于建筑施工具有生产周期长、地域分布广、受自然条件制约性强、管理跨度大、信息流量大等特点,建设业整体生产效率和管理水平有赖于良好的计划、组织、指挥、协调和控制等,而这方面国内建筑企业普遍落后于国外同行。面对如此严峻局面,为加强自身管理水平的持续提升,我国建筑业必须寻求有效的建设项目管理手段。
  对此,2001年2月,国家建设部提出“用信息技术等高新技术改造和提升传统建筑行业”;2003年,又提出“全面提高建筑业信息化总体应用水平,实现建筑业跨越式发展”的指导思想和“运用信息技术全面提升建筑业管理水平和核心竞争能力,实现建筑业跨越式发展”的总体目标;2011年5月,住建部明确提出“高度重视信息化对建筑业发展的推动作用,通过统筹规划、政策导向,进一步加强建筑企业信息化建设,不断提高信息技术应用水平,促进建筑业技术进步和管理水平提升。”的指导思想和“‘十二五’期间,基本实现建筑企业信息系统的普及应用……,实现与企业和项目管理等信息系统的集成,提升企业决策水平和集中管控能力。”的总体目标。这些规划和目标的提出,凸显国家在推进建筑业信息化、以信息化带动建筑业项目管理水平的快速提升的决心和信心。
  因此,设计和实现建筑项目信息管理系统,大力推进建筑工程项目管理信息技术应用力度,提升建筑企业项目管理能力,具有非常重要的现实意义。

  1.2研究意义

  在计算机和网络技术快速发展和应用的今天,应用软件占有越来越重要的地位。在此背景下,种类应用程序的稳定、可靠而又高效的创建成为重要课题,特别是网络应用方面的程序。
  .NET是一个未来理想的互联网环境,微软的构想是:“不再关注单个网站和单个设备与因特网相连接的互联网环境,而是要让所有计算机群、相关设备的服务商协同工作”的网络计算环境。其目的就是为互联网提供的服务,能够完成更高程度的自动化处理。
  .NET提供的开发模式和开发工具均为全新的,它对开发人员特别重要,主要体现在:.NET对应用程序功能的拓展表现的极为明显,把软件变成一种服务,使创建出全新的各类应用程序成为一种可能。
  而项目管理信息系统的开发是本论文应用.NET进行开发的一个新领域。
  项目管理是第二次世界大战后期发展起来的重大新管理技术之一,最早起源于美
  国。有代表性的项目管理技术如关键性途径方法(CPM)和项目评估和反思(PERT)技术,它们是两种分别独立发展起来的技术。其中CPM是X杜邦公司和兰德公司于1957年联合研究提出,它假设每项活动的作业时间是确定值,重点在于费用和成本的控制。PERT出现是在1958年,由X海军特种计划局和洛克希德航空公司在规划和研究在核潜艇上发射“北极星”导弹的计划中首先提出。与CPM不同的是,PERT中作业时间是不确定的,是用概率的方法进行估计的估算值,另外它也并不十分关心项目费用和成本,重点在于时间控制,被主要应用于含有大量不确定因素的大规模开发研究项目。随后两者有发展一致的趋势,常常被结合使用,以求得时间和费用的最佳控制。20世纪60年代,项目管理的应用范围也还只是局限于建筑、国防和航天等少数领域,但因为项目管理在X的阿波罗登月项目中取得巨大成功,由此风靡全球。国际上许多人开始对项目管理产生了浓厚的兴趣,并逐渐形成了两大项目管理的研究体系,其一是以欧洲为首的体系——国际项目管理协会(IPMA);另外是以X为首的体系——X项目管理协会(PMI)。在过去的30多年中,他们的工作卓有成效,为推动国际项目管理现代化发挥了积极地作用。项目管理发展史研究专家以20世纪80年代为界把项目管理划分为两个阶段。项目管理(project management PM)是X最早的曼哈顿计划开始的名称。后由华罗庚教授50年代引进中国(由于历史原因叫统筹法和优选法)。项目管理是“管理科学与工程”学科的一个分支,是介于自然科学和社会科学之间的一门边缘学科。
  项目管理,简称(PM)就是项目的管理者在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理。即从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标。项目是指一系列独特的、复杂的并相互关联的活动,这些活动有着一个明确的目标或目的,必须在特定的时间、预算、资源限定内,依据规范完成。项目参数包括项目范围、质量、成本、时间、资源。
  项目管理工作内容主要包括:
  (1)对项目进行前期调查、收集整理相关资料,制定初步的项目可行性研究报告,为决策层提供建议。协同配合制定和申报立项报告材料。
  (2)对项目进行分析和需求策划。
  (3)对项目的组成部分或模块进行完整系统设计。
  (4)制定项目目标及项目计划、项目进度表。
  (5)制定项目执行和控制的基本计划。
  (6)建立项目管理的信息系统。
  (7)项目进程控制,配合上级管理层对项目进行良好的控制。
  (8)跟踪和分析成本。
  (9)记录并向上级管理层传达项目信息。
  (10)管理项目中的问题、风险和变化。
  (11)项目团队建设。
  (12)各部门、各项目组之间的协调并组织项目培训工作。
  (13)项目及项目经理考核。
  (14)理解并贯彻公司长期和短期的方针与政策,用以指导公司所有项目的开展。
  项目管理涉及到28个核心要素和14个附加要素。其中核心要素有项目管理的实施、项目背景、项目阶段与生命周期、项目开发与评估、项目目标与策略、项目成功与失败的标准、项目启动、项目收尾、项目结构、项目的范围与内容、时间进度、资源、项目费用与融资、技术状态与变化、项目风险、效果度量、项目控制、项目组织、团队工作、领导、沟通、冲突与危机、采购与合同、项目质量管理等,这些因素是项目管理的过程控制及项目信息产生的源头,是项目管理信息系统建立的要点。
  项目信息是非常关键的资源,如何管理值得仔细思考。不管用何种方式存储项目数据,要保证所有项目成员能随时获得所需信息。将最新的项目文件存储在方便查找的位置,进行清楚地标记,及时删除过时信息。
  项目管理模式内容包括功能、结构、沟通和控制模式、项目过程和运行模式、资源管理模式、外部的动态联盟模式以及评价指标模式。对应的项目管理工具方法体系体现了多学科知识与技能的融合。主要有要素分层法、方案比较法、资金的时间价值、评价指标体系、项目财务评价、国民经济评价法、不确定性分析、环境影响评价、项目融资、模拟技术、里程碑计划、工作分解结构、责任矩阵、网络计划技术、甘特图、资源费用曲线、质量技术文件、并行工程、数理统计、偏差分析法、决策树、鱼骨刺图、直方图、生命周期成本等工具方法,随着计算机技术的不断发展,项目管理软件技术进步很快,项目管理工具方法体系更直接地体现在具体的项目管理软件当中。
  随着国民经济的高速发展,工程项目的数量和规模日益增大,复杂程度和技术水平迅速提高,项目管理的难度也随之不断增大。虽然项目管理的思想和方法己在我国推广多年、并在各个领域广泛应用,但是,国内当前的项目管理总体水平却并不高。与国外先进企业相比,多数国内企业在管理的理念、技术、方法、手段和工具等方面都还有相当差距。在工程项目的实施过程中,拖期、超支与质量不达标等问题仍占有一定比例,企业的项目管理水平和经营效益都亟待提高。
  信息作为项目执行过程中沟通最基本的前提条件,是进行项目管理的基础,可以说,信息管理的有效性直接影响到项目管理的有效性。在知识经济、网络和信息技术高速发展的今天,信息的收集、传递、储存、加工、维护和使用能够以更高效和更快捷的方式进行,由此实现的信息管理和数据共享技术方式为企业提高工程项目管理水平提供了契机。借助计算机和信息技术对项目进行全过程和集成化的信息管理,己成为今后项目管理的重要手段和发展趋势,项目管理信息系统简称PMIs),作为项目管理思想与信息技术相结合的综合管理应用平台,为企业工程项目实现基于信息流控制的全过程管理提供一个切实可行的解决方案。

  1.3国内外研究现状

  1.3.1工程施工企业信息化现状

  企业管理信息化是企业提竞争力、整合现有信息资源的有效手段。目前我国施工企业信息化的进程参差不齐。一些大型企业已设立了自己的网站或网页,能利用计算机技术进行各项计算作业和辅助管理工作,如办公自动化系统、项目管理系统、合同管理系统、成本管理系统、物资管理系统等,初步实现了企业的信息化管理。但多数施工企业的信息化程度还比较低,很大一部分工作还依靠手工,信息基础平台不健全,应用专业软件的范围较窄,主要集中在财务、预算软件上,且以单机版为主,没能实现信息资源的共享和自动传递。
  为何存在这样的问题:1、企业领导重视不够。普遍建筑企业领导对信息化建设缺乏足够的认识。2、工程施工行业企业信息化建设基础条件差,信息化设备、从业人员素质还较低。3、已经实施信息化的工程施工企业在信息化建设上还不够深入,如工程项目管理系统的集成度较低,不可避免地产生各类信息孤岛。4、工程施工行业信息化的外部环境,如Internet普及率、电子商务、安全机制、法律环境等还没有完全解决。5、工程施工行业信息化建设方案有待提高与优化,同时企业管理不规范也使信息化方案难以见到成效。
  如何改变这些状况?首先要有先进的企业管理思想。要构建一个高效的建筑信息系统框架,必须有先进的信息技术与企业管理思想相结合。在企业需求、企业特点、企业管理方式的基础上,构建先进、统一、通用、共享资源和易于使用的信息系统框架。其次要采用数据库/应用/客户端三层体系结构。数据库层实现一个或多个数据库服务器,用来维护企业数据。应用层与数据库层和顶层客户端通信。应用服务包括资源计划系统(ERP)、财务管理系统(FMS)、人力资源管理系统(HRM)、决策支持系统(DSS)、项目管理系统(PMS)、计算机辅助设计系统(CAD)等。三要使各种应用模块有机集成。通过最新的软件技术,使得工程数据、商务数据及企业数据能够在工程项目范围内到企业范围内得到集成,这将使工程行业极大地现代化,并进一步实现局域网范围内或者远程范围内的多人协同工作。四是企业也要有先进的开发技术。组件技术是开发分布式应用的先进技术。XML技术实现异构网络间的信息交换。Java技术开发可移植性网络应用,提高应用开发效率。这些技术使企业信息系统模块化、功能化,使系统具有灵活性、开放性以及与外界进行数据交换的能力。

  1.3.2工程项目系统现状

  纵观现今的软件开发,.NET和Java基本上平分了企业软件开发方面的任务。实际上,.NET和Java虽有众多不同之处,但其实它们在意图和体系有很多相近之处,特别是在网络模式方面,是它们一致的努力方向,并且试图超越当前Web形式的计算模式,它们的不同仅体现在底层上。
  .NET已经以Microsoft的下一代技术平台身份,责无旁贷的担负了Windows平台的未来,尽管国内外各大论坛上关于.NET前途一直在争论,但不管其结果如何,接下来的一段较长时间内,.NET这项新技术最终我们还必需得面对。由于出现的时间不长,.NET还都处于起步阶段,无论是在软件技术最发达的X还是在我国。
  一直以来,Windows平台的最大优势在于:速度和成本。特别是体现在开发部署能力、设备和人力成本方面。应该相信,它在不远的未来一定会有所作为。
  20世纪90年代开始企业管理信息系统在中国蓬勃发展,管理信息系统是对我国的信息化建设影响最深、应用最为广泛、最具有特色的、产生的效益最为明显的系统软件,己在各个不同的行业得到广泛的应用。经过十几年历尽艰辛的探索,我国信息技术在企业中的应用逐步走向成熟,并取得实效。但是,由于受资金、技术、人才、观念等因素的困扰,MIS在我国企业中的使用还仅限于大型企业或一些知识密集度较高的中小企业。目前许多企业已经意识到建立MIS的迫切性,并己开始付诸实施,已取得明显得效益。
  随着计算机技术与网络技术的迅速发展和普及,MIS也被广泛应用到各行各业。目前MIS系统的类型很多,如ERP、CRM(Customer Relationship Management,客户关系管理)、SCM(Supply Chain Management,供应链管理)、OA(Office Automation,办公自动化)、DSS((Decision Support system,决策支持系统)、BI(Business Intelligence,商业智能)、EIP(Enterprise Information Portal,企业信息门户)、EAI(Enterprise Application Integration,企业应用集成)。
  随着大型主机(一般用作服务器)技术的成熟,尤其是个人电脑(作为工作人员的操作终端)的普及和技术的成熟,从上世纪80年代后期开始,工程项目管理类的软件业开始表现出快速发展的势头。根据管理对象的不同,项目管理软件可分为:①进度管理;②合同管理;③风险管理;④投资管理等复杂程度不同的项目管理类系统。工程项目管理系统,国外的发展先于我国国内的发展。其发展历程可以大致被如下几个阶段初期:仅仅是简单地模拟具体工作的工作流程。
  第2个阶段:对项目管理涉及的主要业务进行管理。
  现代:系统的架构以互联网络(万维网,局域网,虚拟专用网)为核心,这种架构模式是目前被越来越多的项目管理类系统所采用,并且作者相信其为该类系统的发展趋势。
  从项目管理类软件系统的使用状况来分析,项目管理类软件系统在国外经过了从单项功能应用到综合应用的发展,并且已经进入了项目管理系统应用的现代个阶段;而且在国际范围内,项目管理系统类软件还处于较快的发展状态;项目管理专家还提出了一些新的理论和实施策略:比如伙伴关系、系统重组、集成管理等。
  对于我国国内来说,我们是在上世纪80年代末期才开始形成对项目的实施做管理的体制。而且,在较长期的时期内,我国相关企业的项目管理水平不高,导致在工程项目的实施过程中,浪费了不少的资金和人力,降低了项目的质量,延误了项目的实施进度;造成了对相关资源的较大浪费。基于当时的这些情况,有的软件公司在基于当时的项目管理方式的条件下,收集和分析了国内主要项目实施企业对项目管理的需求,从而开发出了一些能够基本满足项目管理需求的项目管理类软件。比如,“多项目管理系统”(易点公司)主要含有项目立项管理、项目招投标管理和对项目合同进行管理等16个主要功能模块;“智能项目动态控制软件”(梦龙科技有限公司)的主要亮点是具备如下功能模块:做项目进度计划编制的模块、分析项目进度的模块、优化进度计划的模块,对项目的进度做跟踪的模块,以及能及时采集反馈信息的模块;因此,“智能项目动态控制软件”在我国工程管理领域内曾经拥有较好的口碑和较多使用者。国外比较著名的项目管理类软件有:X微软公司的“Project Management Software”,该软件实质上是一个项目管理信息系统,其支持多项目操作,各个模块的功能具有较强的独立性,其支持建立时间计划和项目资源库;“IMSI TurboProject Professional”(第4版)同时能够向若干个项目提供对项目的管理,还能做计划的管理、计划活动、资源的管理,以及预算管理。

  1.4研究内容和章节安排

  工程项目系统总体划分为输入、输出、主数据、系统管理和接口集成五大类功能需求。
  (1)输入部分是本系统的业务处理平台。要求实现工程项目施工信息的填报、汇总、审核功能、相关的属性定义和模版管理功能;完成工程项目概况信息、停复工信息、完竣工信息的上报;完成统计项的模版设置功能;完成实物工程量上报及变更、工程项目施工进度上报、桥梁和隧道属性信息的上报;完成每月的人员构成情况和设备概况情况的上报。
  (2)输出部分是本系统的统计与评估平台。对业务处理平台输入的工程项目施工信息进行查询、统计、预警和报告定义功能。综合查询是对各上报数据的直接输出查询。综合统计是对上报数据的汇总统计输出查询和报表;采用表格和图形相结合的方式,按工程(行业)类别、地域、客户(包含铁路局)、单位、时间等维度,展现项目数量、合同金额、已完成产值情况;采用地图的方式是将项目的总体情况进行展示,并可展示具体的项目的概况及进度信息。进度预警是对进度偏差情况进行预警提示;报告定义是允许股份公司的施工业务管理人员在综合统计结果的基础上对统计报表的输出格式自由定义,即对报表的再定义和再输出。本部分功能为高层管理者提供决策支持。
  (3)主数据部分要求在本系统实现主数据编码信息的建立和维护,同时要求实现或预留与主数据系统集成接口,能够接收主数据系统的工程(行业)类别编码、项目编码、地点编码、组织机构编码、客户编码(包含铁路局编码)等信息的推送;实现统一数据标准的管理要求。
  (4)系统管理部分要求实现用户管理、角色管理、授权管理、工作流设置、基础编码设置、短信消息管理和日志管理等功能。
  (5)信息管理要求实现通知公告、突发事件等与施工调度管理相关的管理类信息的发布和查看功能。
  (6)接口集成部分要求实现与经营管理系统的接口集成,能够接收经营管理系统的中标信息和数据;实现与主数据管理系统的接口集成;实现与提供形象进度图的相关软件的接口集成,能够展示单项工程及重要单位工程的形象进度图;实现在移动办公平台上展现公司顶层汇总分析的信息,为高层管理层提供更快捷的决策支持平台。实现与企业中心的接口集成,实现一站式登录,确保帐号的唯一性和合法性。
  本论文主要以.NET台的核心技术为基础,从介绍.NET框架开始,对其核心C#.NET和AOO.NET进行了研究,应用其关键技术,对项目管理信息系统进行了深入研究,并对其编程实现。
  本论文是对.NET开发平台和其核心服务的应用,进行的一次有益的尝试,对开发人员学习和进行.NET开发很有益处。
  本论文分为六章。各个章节的主要内容如下:
  第1章介绍论文的研究背景、研究内容和意义及主要的工作内容。
  第2章从技术准备出发,对本论文涉及的理论和技术进行了深入探讨。重点介绍了.NET平台概述,ADO.NET数据访问以及SQL Server数据库的安全、数据备份和数据恢复。
  第3章从系统需求,系统总体结构,系统功能目标,系统核心业务四个角度对系统进行了详细的分析。根据整个系统的软件体系结构、系统的需求,构建了B/S框架结构的三层应用系统。详细阐述了项目管理信息系统的设计。
  第4章根据分析阶段的功能目标模块为纲,对整个系统的代码实现进行了详细的表述,并且描述了项目中采用的应用技术和设计模式的代码实现。
  第5章首先简单介绍了系统软件的测试方法、测试工具,其次简单介绍了面向对象的测试策略及技术,最后,对本软件系统的安全性进行了测试和分析。
  最后,总结本论文的成果,提出了有待改进之处,对论文的研究方向作了展望。

  第2章相关理论及技术概述

  2.1.NET平台概述

  在微软看来,.NET是未来互联网的一个理想环境,它的构想是建立这样一个网络计算环境:“不再关注单个网站和单个设备与因特网相连接的互联网环境,而是要让所有计算机群和相关设备及服务商协同工作”。这是微软的一种理想,代表了未来互联网的发展趋势。

  2.1.1公共语言运行时及类库

  整个.NETFramework构建是以公共语言运行时CLR(Common Language Runtime)为基础,它是实现.Net跨平台、跨语言、代码安全等核心特性的关键。公共语言运行时可以为多种开发语言提供统一的运行环境。CLR负责为程序运行时提供服务,这些服务能够简化代码和应用程序的开发,同时也能够提高应用程序的可靠性。
  对CLR地理解是理解.NET的关键之处。基本上,Windows操作系统本身就是运行时和库的集合体。运行时和库的二个优势体现在:它们一起为应用程序提供服务,这样就可以极大地节省时间和重用代码。

  2.1.2.NET语言

  .NET语言是编写各种应用程序的基础。无论是基于窗口的C/S程序,还是基于浏览器的B/S程序。他主要包括Visual Basic.NET,Visual C++.NET,C#。
  (1)Visual Basic.NET
  Visual Basic是Windows世界里使用程度最高、最流行的编程语言,而Visual Basic.NET为其带来了彻底的变化。VB.NET的基础是CLR(通用语言运行层),因此其大部分成分被CLR有效界定,也因此,现在的VBNET和原来的VB在语法以外已经看不出相近之处了。
  (2)Visual C++.NET
  C++.NET可以称做是带有受控扩充件(Managed Extensions)的C++。C++己被广泛使用超过10年,然而它的语义同CLR的语义匹配不严格,更大的问题是,微软并不拥有C++,其选择了开发一个扩充集,并正式命名为Managed Extensions for C++。3.C#
  C和C++在商业软件开发方面广泛使用已经超过二十年,它最大的特点是操作灵活,但在效率方面有所牺牲。而现在的情况是,一些语言,为提高效率而牺牲灵活性。
  但是对C/C++程序员而言,灵活性是其所需。C#(C sharp)是微软为解决此问题提出的办法。C#是一种最新的、面向对象的编程语言。它使得程序员可以既提高了开发效率,又不牺牲C/C++原有的强大的功能。因此,C#与C/C++的相似性极大,熟悉这类语言的开发者在使用C#时将很快适应。

  2.1.3Web服务

  Web Services是网格服务的基础。Web Service由于使用标准的XML语言因而是平台无关、语言无关的,这就意味着我们的客户端可以用C++编写在Windows下运行,而Web Service使用Java编写而运行在Linux下。
  大部分Web Service使用HTTP传输消息(像服务请求和响应)。如果你想建立一个Internet范围的程序,这是一个主要的优点,因为大部分Internets的代理和防火墙都不会破坏HTTP的传输(不像Corba会在穿过防火墙时遇到麻烦)。

  2.2ADO.NET数据连接及访问

  在如今的软件开发上,.NET和Java基本上垄断了企业软件开发,且双方份额基本相当。

  2.2.1ADO.NET简介

  数据存取是构成现代软件开发工作量的主要部分,当然它也应在.NET框架中占有很重要的地位。Microsoft在.NET中对数据存取提供的方法是利用ADO.NET,它正是.NET开发平台的核心服务之一。

  2.2.2ADO.NET的体系结构

房地产信息管理系统的设计与实现
  图2.1 ADO.NET体系结构
  Figure 2.1 ADO.NET architecture
  ADO.NET的类由两大部分组成:数据提供程序(Data provident)和数据集
  (Dataset)。数据提供程序负责与物理数据源的连接,它所提供的应用程序编程接口(API),可以轻松地访问各种数据源的数据。数据集代表实际的数据。使用数据集能以特别的方式为对象提供数据。数据集对象还可以独立于.NET数据提供程序,来管理应用程序的本地数据和源自XML的数据。图2.2说明了ADO.NET的体系结构。
  (1)数据提供程序
  ADO.NET依靠NET数据提供程序的服务,而此服务是由Data Provider包含的
  四个主要对象来实现的,它们是:Connection,command,DataReader以及DataAdapter。
  (2)数据集
  ADO.NET引入的一种全新处理数据的方式:DataSet(数据集)。DataSet是一个分离的、用于表示数据集合的独立实体。它不使用连接方式,而使用一种新的类似于消息的机制。DataSet负责把数据读入本地缓存,然后把数据丢弃或同步送回数据源,这样就可以使连接更早地被释放。DataSet的结构如图2.2所示。
房地产信息管理系统的设计与实现
  图2.2数据集结构图
  Figure 2.2 sets of data structure

  2.2.3关系数据库访问

  使用ADO.NET访问关系数据库的方法主要是使用Microsoft在.NET框架中提供的DataProvider整个访问过程的流程如下:
  首先用Connection对象完成与数据库的连接,然后调用函数以打开此数据库连接。完成数据源的连接后一般需要执行数据库系统命令,最简单和直接的方法是通过Command对象。Command对象用来表示和执行一个数据源执行的命令。在为Cmmand指定数据和命令之后,可以调用ExecuteNoQuery执行不返回行集的命令(如删除,插入,更新等命令);也可以调用Execute执行返回行集的命令(如选择命令),此时可以返回一个DataReader对象,此对象可以用来单间顺序地读取返回的行集数据。

  2.3SQL Server数据库安全及备份

  造成数据丢失、破坏等的因素是多方面的,主要有以下几方面:软件故障;硬件故障;人为因素;计算机病毒等。
  灾难恢复技术保证计算机系统在断电及故障发生时持续运行,并可恢复数据,将损失减少到最低限度。
  用户通过灾难恢复或备份软件可设置备份或恢复内容、介质和时间间隔等。

  2.3.1 SQL Server数据库安全

  (1)服务器登录
  SQL Server2000安全结构支持两种安全模式:
  仅用于Windows NT、Windows2000、Windows2003的方法,使用内置的系统用户帐号映射到数据库服务器登陆验证权限。连接SQL Server前,已由系统认证的用户不需要再输入任何信息。
  SQLServer和Windows Windows NT、Windows2000、Windows2003混合模
  式。允许同时使用集成安全和标准用户名、密码,此时用户需要多次输入登录信息以访问数据库资源。
  (2)数据库用户权限
  访问数据库服务器的权限并不能使用户拥有访问信息的权限,用户权限添加到数据库中,用户才能访问数据库中信息。
  (3)角色
  可将SQL Server登录被映射到数据库用户帐号添加到一个或多个角色中。
  (4)对象权限
  SQL Server支持三种类型的权限:语句权限创建和修改数据库;对象权限执行显示和修改数据库对象的查询;预定义权限用来固定角色和对象所有者。
  (5)审核
  可通过Enterprise Manager查看审核信息,设置警报记录特定信息,定期审阅可疑活动的日志。权限管理并不能阻止合法用户对数据库的误操作或故障等对数据的影响,还需要数据库的备份和恢复来加强数据安全。

  2.3.2SQL Server数据库备份

  备份指对SQL Server数据库或事物日志进行拷贝。数据库因意外损坏时可用来恢复数据库。可以通过数据转换服务(DTS)、生成SQL脚本、快照、大容量复制(BCP)等方式进行数据库备份。
  (1)备份类型
  SQL Server2000中有四种备份类型:完全数据库备份(Database Backups)、事物日志备份(Transaction Log Backpu)、差异备份(Differential Database Backup)、文件和文件组备份(File and FileGroup Backup)。几种备份方式比较如图2.3所示。
房地产信息管理系统的设计与实现
  图2.3通过完全、日志和差异备份类型存储数据方式
  Figure 2.3 the differential backup,log and the type of data storage mode
  完全数据库备份对数据库完整备份,包括所有数据及数据库对象。备份时所有未完成或者在备份过程中的事务都不会被备份。从开始备份到恢复时间内发生的任何针对数据库的修改无法恢复。
  事务日志备份对数据库发生的事务进行备份,包括从上次备份之后,所有已经完成的事务。所需要磁盘空间和备份时间比完全备份少。
  差异备份将最近一次数据库备份以来的数据变化备份,实际上是一种增量备份。
  备份数据量较小,备份和恢复所用时间短,但无法恢复数据到失败点。
  文件和文件组备份对数据库文件或文件夹备份,但不进行事务日志备份。
  (2)备份策略
  备份方案选择直接影响备份和恢复产生和数据库遭破坏前后的一致性。建立一个完整的备份策略考虑的因素主要有以下几个方面:
  备份方式备份有静态备份和动态备份,动态备份允许数据库运行时进行备份。静态和动态都可通过手工备份或自动备份完成。
  备份周期根据数据的重要程序,可以选择每周、每日、每时进行备份。
  备份方案仅使用全备份还是使用多种备份方案结合。
  备份设备磁带、磁盘或是网络驱动器
  备份安全存储的空间是否防窃、防电磁干扰、防火,是否指定他人备份,备份人是否享有必要的登录号和口令等。
  (3)备份实现
  首先提取出服务器名,要备份的数据库名及相应策略等,并判断备份方式和策略所设置的备份时间,备份时自动生成相应备份文件路径并保存。
  数据库首次备份时会在此路径下通过函数wf_CreateDirectory自动先创建一个文件夹,以该数据库名命名。每次整体备份时会在该文件夹下自动创建新的子文件夹,以该数据库名命名。每次整体备份时会在该文件夹下自动创建新的子文件夹,以数据库名加子文件夹创建时间(年月日)命名。整体备份保存在此子文件下,文件名为数据库名加后缀名.bak。以后与该整体备份匹配的日志备份也保存到路径下,直到下一次整体备份。日志文件名以它所对应的整体备份数据库名加日志备份时间(年月日分秒)跟后辍名.bak。

  2.3.3 SQL Server数据库恢复

  恢复是把遭受破坏或丢失数据或出现错误的数据库恢复到原来的正常状态。为了维护数据库的一致性,备份中未完成的事务并不进行恢复。SQL Server数据库中有三种恢复模式:简单恢复(Simple Recovery)、完全恢复(Full Recovery)、批日志恢复(Bulk-logged Recovery)。简单恢复仅使用完全数据库备份或差异备份,而不涉及事物日志备份。可恢复到上一次备份状态,但无法恢复到失败点状态。完全恢复用完全数据库备份和事务日志备份将数据库恢复到发生失败的时刻,是对付因存储介质损坏而数据丢失的最佳方法。批日志恢复最大限度减少批装载、批操作所需的存储空间。

  2.4XML数据源访问

  XML是一个极具生命力的新技术,它代表未来网络发展方向,必将成为未来网络的主流技术。

  2.4.1以XML的形式获得数据

  (1)以XML的形式保存DataSet
  Dataset使得处理关系数据以及执行各种类型的操作变得非常容易。然而,许多ASP.NET应用程序要求Dataset内部的数据转换成XML,使得它可以被传递给一个翔L可感知的应用程序,以便它可以用于任何平台之上和任何语言之中。
  (2)使用XML装载DataSet
  Dataset也可以使用XML数据而被装载。因为它使编程变得更加容易。例如,可以用来自一个XML稳当得数据来装载一个Dataset,然后将其绑定到ASP.NET的DataGrid服务器控件。这样做简化了开发,因为数据的遍历和操作都由服务器控件完成了。使用以XML标记的数据来装载Dataset的能力还允许来自各种应用程序或者设备的数据更容易更新到一个数据库中。

  2.4.2 XMLDocument对象

  虽然关系数据模型很有效,但有时候使用XML提供的工具(如XSLT、Xpath)操作一组数据会更方便。Xm1DataDocument允许数据集作为XML结构的数据来操作。XMLDataDocument使用文档对象模型(DOM)提供了一种处理数据的方法。这是一种非常强大的功能,因为它意味着你可以直接对从一个数据源中接收到的数据执行XPath查询或者进行XSLT转换。

  2.5工程项目信息系统与项目管理信息系统

  (1)信息与信息的特点
  X信息管理专家。FW·霍顿给信息下的定义是:信息是按照用户决策的需要经过加工处理的数据[27]。简单说,信息是经过加工的数据,包括声音、文字、数字与图像等,有口头、书面与电子等传输方式。信息具有准确性、时效性、有序性、共享性、可存储性、适用性、系统性等特征。
  (2)工程项目信息与系统
  系统性以及时空上的不一致性。建设项目信息的收集、加工、传递及反馈是一个连续的闭合环路系统,并且建设项目管理的不同阶段、不同地点都将发生、处理和应用大量的信息。
  (3)工程项目信息流与信息管理
  工程项目信息流工程项目实施过程中会产生工作流、物流、资金流、信息流,其中项目实施过程中信息的产生、传递、使用、转化,形成了项目实施过程中的信息流,它反映了各参加单位之间、各实施阶段之间的关系,将各管理组织及环境结合在一起。
  上述几种信息流都有明晰的流线,传统建设项目信息流动形式如下图2.4示。
房地产信息管理系统的设计与实现
  图2.4传统建设项目信息流动形式
  Figure 2.4 the traditional construction project information flow
  这是一种职能型的组织结构信息流,强调的是分工和集权,这种高、尖、的锥型组织结构由于其层层繁复和缺乏横向联系等特点,结果必然导致层层的纵向沟通方式,它不仅影响了信息在各层传递的速度,而且由于经过的层次太多,每次都被各层部门加进了许多自己的理解和认识,有可能造成信息传递的失真。建设项目信息管理。信息管理就是对项目的信息进行收集、整理、储存、传递与应用的总称信息管理的目的是通过有效的信息沟通保证管理系统高效率的运行,使上层决策者能及时准确获得信息、项目实施者之间能高度协调、项目管理者能有效地控制指挥实现信息资源的共享,消除信息“孤岛”现象,保证项目的成功。

  2.6本章小结

  本章主要阐述了在研究和实现.NET环境下项目管理信息系统过程中用到的理论和技术基础。首先介绍了.NET平台的基本概念、公共语言运行时、公用层次类库;然后,对开发过程中用到的ADO.NET进行了重点阐述;其次介绍了保证系统数据的安全性的SQL Server数据库的备份和恢复。最后,对XML数据源访问进行了介绍,包括XMLDocument对象和以XML的形式获得数据。

  第3章系统需求分析与总体设计

  3.1系统现状及需求分析

  3.1.1系统情况介绍

  该企业已经注意到项目管理信息的统一管理,但是项目执行中的各个环节产生的信息相对独立,较为分散、未进行整合,原有体系不能管理项目过程中发生的各种信息,包括从立项、设计、采购、实施、测试、验收、资金往来、进度控制、节点实现的信息,不能统一处理。为了加强公司项目管理信息的处理,特提出如下实现目标:
  (1)实现对现有项目的录入、审批、打印、扫描、财务结算,运行状况跟踪。
  (2)对于任何一个项目,能够使公司领导和业务员随时随地了解项目的运行情况、资金收付款情况。特别说明,由于各个项目实际情况很复杂,实际运行中各种情况都会出现,要求对于项目的管理要方便灵活。
  (3)对于目前公司的库存商品进行管理,以便处理公司内部使用,政采调拨,项目使用等各种情况,可以以公司、部门、业务员为条件建立自己的库存商品信息。以便公司业务员、领导和财务部门随时了解商品库存、以及商品的入出库情况。
  (4)实现对于现在物流系统无法解决的外单位运输项目,包括海运、陆运、空运。
  (5)多条件组合查询,方便灵活的查询统计系统。

  3.1.2系统总体设计要求

  对于项目管理信息系统,从应用实现,实现方式,安全性,性价比等各种形式提出了要求。
  (1)系统采用B/S结构
  客户端采用Aspx形式的Web界面。系统设置方便,操作简单,无需复杂的培训,就可以熟练掌握,系统提供完善的帮助文件。
  (2)经济、实用、高性价比
  平台对内部办公、业务流程重组等各类资源综合管理,充分考虑降低系统对于硬件的要求,提供较高的性价比。
  (3)功能模块化体系结构、标准兼容性、易于扩展
  系统全面采用开放的标准和协议,整个系统所有的组成模块在逻辑上是独立的,彼此有接口又相互独立,各个功能模块可拆分、可选、可定制,可根据需要自己定义,支持将来各模块功能的扩展和定制。
  (4)个性化定制
  根据实际情况,定制合身的解决方案
  (5)支持二次开发,提供系统源代码和数据接口
  可在系统基础上进行定制开发,灵活扩展现有的应用功能。
  (6)开放交互,协作支持各种服务
  在体系上是有机的、开放的,与其他各种应用软件实现无缝挂接,协作支持各种服务。
  (7)完备的数据安全体系和备份体系
  系统应提供包括面向服务、目录、信息的三级安全体系结构,充分安全性的要求,保护历史投资信息,确保数据的完整性和安全性。有完善的数据备份体系
  (8)强大的信息处理能力
  能处理从信息的采集、发布到信息的检索、分析、浏览、维护几乎所有功能,将无序、混乱的信息整合起来,通过分析、归类、检索,将其变为可重用的、宝贵的信息资源。
  (9)可靠的访问安全机制
  操作系统采用WindowsNT/2000/2003,只有合法用户才能访问被授权的数据,配置需要能有效防止网上黑客的非法侵入;数据库采用大型关系数据库系统MS SQL SERVER2000,或文档型数据库domino r系列,其用户和数据的权限设置完备可靠,能为系统安全和性能优化提供可靠保证;系统平台集成有内嵌的、管理与发布紧密集成的权限机制,为信息系统提供安全保证
  (10)简洁、合理的用户界面
  一个好的应用系统必须是直观易用的,一个操作复杂、界面零乱的系统是不能被用户接受的。在应用系统的用户操作方面应遵循人机界面设计的基本原则。
  1)界面必须始终一致;
  2)尽量减少用户的工作量;
  3)具有较强的容错功能。

  3.1.3系统体系结构

  目前最通用的几种软件体系架构模式,包括层次模式、MVC模式、多层分布式模式等。根据项目管理信息系统的现实需求和相关技术支持,本文分析认为采用三层B/S架构模式是合适的。分别由Web用户界面层,业务逻辑层、数据层三层组成。整个项目管理信息系统的逻辑体系结构如图3.1所示。
房地产信息管理系统的设计与实现
  图3.1逻辑体系结构
  Figure 3.1 structure of logical system
  (1)用户界Web面层是系统与用户的接口部分,负责用户与应用程序的交互。它接受用户输入、请求,并将结果返回给用户,用户界面层根据用户的操作调用相应的业务逻辑,它一般直与中间层交互而不直接访问数据库。
  Web层为客户端提供对应用程序的访问。这一层是作为系统解决方案文件中的Web项目实现的。
  (2)业务逻辑层通常为应用服务器,业务逻辑层是应用逻辑处理的核心,是具体应用的实现,是连接客户和数据库服务器的中介和桥梁。它响应用户发来的请求,执行某种应用逻辑任务,同时业务逻辑层向数据库服务器发送SQL请求,数据库服务器将结果返回给应用服务器,最终将数据和结果返回给客户。应用服务器在物理上可与数据库服务器在同一台机器上,也可以在不同机器上。在本系统中业务逻辑层使用业务逻辑实体类来构建,负责访问数据以及将数据分发到表示层。
  (3)数据层通常是基于SQL的DBMS。数据层实现数据的存储、数据的访问控制、数据完整性约束和并发控制等等。本系统中数据层采用Microsoft SQL Server2000数据库。

  3.1.4系统开发技术平台

  硬件环境:运行本系统,服务端和客户端需要以下硬件设备:
  服务器端:
  CPU:P42.0GHZ以上,3~4个;内存:2GB以上;硬盘:40GB以上;网卡:10/100Mbps自适应以太网卡或10Mbps以太网卡;
  客户端:
  数量:5-100台;CPU:PIII800以上;内存:256MB以上;
  显示器:15”~19”彩显,分辨率800×600、1024×768;
  网卡:10/100Mbps自适应以太网卡、10Mbps以太网卡。
  软件环境:
  本课题运行在内部Intranet网络环境,开发使用.NET平台。要运行本项目管理信息系统,服务端和客户端需安装以下的系统:
  服务器端:
  操作系统:Windows2003Sever或以上平台:dotNetFramework2.0;数据库:SQL Server2000。
  客户端:
  操作系统:Windows2000/XP;平台:dotNetFramework2.0;

  3.2系统具体功能介绍

  本系统具体功能模块包括系统管理、账号管理、基本信息管理,商品信息管理,项目管理,付款管理,收款管理,库存管理,运输管理,文件管理,资料查询修改,信息统计,信息浏览。系统功能流程图如下图3.2,3.3,3.4所示。
房地产信息管理系统的设计与实现
  图3.2系统总体框图
  Fig 3.2 Overall block diagram of the system
房地产信息管理系统的设计与实现
  图3.3系统总体框图(大合同,采购部分)
  Fig 3.3 Block diagram of the whole system(large contracts,procurement section)
房地产信息管理系统的设计与实现
  图3.4系统总体框图(商品基本信息,运输部分)
  Fig 3.4 Block diagram of the whole system(basic information,goods transportation part)

  3.2.1系统登录

  (1)系统固定分配一个Admin系统管理员账号,这个账号是不能被删除的。
  (2)用Admin登录后可以添加操作员,并设置操作员的权限。
  (3)启动系统后,首先是要选择用户名称,输入密码。身份验证通过后,方可进入。系统会自动记录上次本机的登录账号,以方便下次登录。
  (4)密码是经过加密后写入到数据库中的,即使通过后台数据库也无法获知密码,增加了安全性。
  (5)同时还提供密码修改和Admin账号的密码遗忘处理功能。
  3.2.2账号信息管理
  (1)用Admin身份登录,可以添加、修改、删除账号
  (2)帐号基本信息中的账号要求为英文字母和数字,供登录时使用,也是整个系统权限区别标识,不能重复。
  (3)可以动态设定账号权限,设定的权限包括:菜单,权限表,显示。通过设定这三项权限,每个账号登陆后,系统只显示所分配的菜单,然后根据所设置的权限,动态读取数据库信息,将所设置的显示条目显示到主窗口中。对于所有的查询、统计都应用对于相应表所设置的权限。各个权限设定如表3.1所示。
  表3.1系统权限表对应内容
  Table 3.1 the system permissions table contents
  序号权限表名称
  1建立工程项目
  2项目文件扫描
  3工程项目属性
  4项目明细录入
  5项目明细审批
  6项目明细浏览
  7项目明细变化处理
  8项目收款时间更改
  9采购合同录入
  10采购合同审批
  11采购合同浏览
  12采购清单特殊处理
  13其他费用录入
  14其他费用审批
  15其他费用特殊处理
  16其他费用浏览
  17项目财务收款
  18项目财务到帐确认
  19采购合同付款
  20其他费用付款
  21库存商品
  22商品采购入库
  23采购入库审批
  24商品出库申请
  25商品出库核对
  26商品采购付款
  27海运计划书制定
  28海运计划书审批
  29海运计划书浏览
  30海运计划书运输
  31陆运计划书
  32陆运计划书审批
  33陆运计划书浏览
  34陆运计划书运输
  35空运计划书
  36空运计划书审批
  37空运计划书浏览
  38空运计划书运输
  39海运计划书付款
  40海运计划书收款
  41陆运计划书付款
  42陆运计划书收款
  43空运计划书付款
  44空运计划书收款
  3.2.3基本信息维护
  (1)部门信息维护;
  (2)商品品牌维护;
  (3)商品类别维护;
  (4)商品基本信息库;
  (5)运输港口维护;
  这些基本信息数据库的操作均受动态权限制约,并应用到以后的相关模块中。

  3.2.4项目管理

  项目管理包括项目的建立,项目大合同制定、审批、收款,项目大合同增减项的制定、审批,采购合同制定、审批、订购单制定、付款,项目其他费用制定、审批、付款,项目综合分析。

  3.2.5付款管理

  付款管理模块包括采购合同付款结算,项目其他费用付款结算,商品采购入库付款结算,海运付款结算,空运付款结算,陆运付款结算。

  3.2.6收款管理

  收款管理主要是对于项目审批通过的项目达合同进行收款结算。

  3.2.7库存管理

  主要实现公司对于财务司规定的几十种商品进行管理。本系统能够提供对没种商品的精确入库数量、价格,出库数量、价格的跟踪。完成库存成本的核算。

  3.2.8运输管理

  主要实现对于外单位单独运输的内容进行管理,包括海运、陆运、空运。

  3.2.9文件管理

  主要实现对于各个项目的实际发生文档进行扫描,同时引入到项目中,以供各个部门查看,他受动态权限的限定。

  3.2.10资料查询修改

  以上各种模块的查询修改,详见表3.1。

  3.2.11资料信息统计

  以上各种模块的信息统计,详见表3.1。

  3.3系统用例模型

  采用面向对象(OO,Object Oriented)分析方法对企业进销存管理系统进行分析,首先我们使用统一建模语言(UML,Unified Modeling Language)构建系统的用例模型(Usecase Model)。用例模型是从用户的角度来描述系统功能,并指出各功能的操作者,构建用例模型是OO设计的起点。系统要实现的功能由用例(Use Case)来表示,系统的使用者由Actor来表示。

  3.3.1系统级用例图

  本系统主要包括账号管理、基本信息管理、项目管理、付款管理、收款管理、库存管理、运输管理、文件管理等用例,系统总体用例图如图3.4所示。
房地产信息管理系统的设计与实现
  图3.4项目管理系统用例图
  Figure 3.4 project management system use case diagram

  3.3.2系统用例的细化

  本文列出了比较重要的一个细化案例,如图3.5所示。
房地产信息管理系统的设计与实现
  图3.5项目管理系统用例
  Figure 3.5 project management system use case

  3.4数据库设计

  数据库是现代信息系统的基础与核心部分,数据库设计的优劣将直接影响信息系统的质量和运行效果。数据库设计中,需要根据用户的信息需求、数据处理的规模以及数据库运行环境的特性,采用合适的信息建模方法,选择适合需求的数据库管理系统,确定数据库的安全保密措施和共享机制。

  3.4.1数据需求分析

  需求收集和分析是数据库设计的第一阶段。需求分析的任务是通过详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确使用者的各种需求,并据此确定新系统的功能。新系统必须充分考虑今后的扩充和改变,不能仅仅按当前应用需求来设计数据库。
  调查的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对数据库的如下要求:
  (1)信息要求。指用户需要从数据库中获得信息的内容与性质。
  (2)处理要求。
  (3)安全性与完整性要求。
  对项目管理而言,其管理内容可以涉及:
  (1)项目范围管理:为了实现项目的目标,对项目的工作内容进行控制的管理过程。它包括范围的界定,范围的规划,范围的调整等。
  (2)项目时间管理:为了确保项目最终的按时完成的一系列管理过程。它包括具体活动界定,活动排序,时间估计,进度安排及时间控制等项工作。很多人把GTD时间管理引入其中,大幅提高工作效率。
  (3)项目成本管理:为了保证完成项目的实际成本、费用不超过预算成本、费用的管理过程。它包括资源的配置,成本、费用的预算以及费用的控制等项工作。
  (4)项目质量管理:为了确保项目达到客户所规定的质量要求所实施的一系列管理过程。它包括质量规划,质量控制和质量保证等。
  (5)人力资源管理:为了保证所有项目关系人的能力和积极性都得到最有效地发挥和利用所做的一系列管理措施。它包括组织的规划、团队的建设、人员的选聘和项目的班子建设等一系列工作。
  (6)项目沟通管理:为了确保项目的信息的合理收集和传输所需要实施的一系列措施,它包括沟通规划,信息传输和进度报告等。
  (7)项目风险管理:涉及项目可能遇到各种不确定因素。它包括风险识别,风险量化,制订对策和风险控制等。
  (8)项目采购管理:为了从项目实施组织之外获得所需资源或服务所采取的一系列管理措施。它包括采购计划,采购与征购,资源的选择以及合同的管理等项目工作。
  (9)项目集成管理:指为确保项目各项工作能够有机地协调和配合所展开的综合性和全局性的项目管理工作和过程。它包括项目集成计划的制定,项目集成计划的实施,项目变动的总体控制等。
  由于项目管理涉及的内容极为宽泛,结合公司的实际情况,现阶段并未全面开展项目管理工作,而是先从较重要的几项内容开始展:项目的范围、时间、成本、采购方面是本阶段的研究重点,因此,结合这几方面要求开展项目管理信息的集成,本论文研究的范围也限于此。

  3.4.2概念设计

  概念设计是数据库设计的关键。概念设计也称概念模型设计。概念模型一般用E-R模型来表示。自底向上的策略是概念模型设计最经常采用的策略,即自顶向下地进行需求分析,然后再自底向上地设计概念结构。先从设计局部E-R模型,在此基础上集成得到全局的E-R模型。
  项目信息是非常关键的资源,如何管理值得仔细思考。有的项目使用网站和网络服务器,或信息管理系统,进行项目重要信息的存储。有的项目则使用群件来维护项目文件,并提供电子邮件等服务。不管用何种方式存储项目数据,要保证所有项目成员能随时获得所需信息。将最新的项目文件存储在方便查找的位置,进行清楚地标记,及时删除过时信息。
  项目的信息产生于项目开发的各个阶段,通常比较易区分的有5个阶段:
  (1)项目启动:启动项目,包括发起项目,授权启动项目,任命项目经理,组建项目团队,确定项目利益相关者。
  (2)项目策划:包括制定项目计划,确定项目范围,配置项目人力资源,制定项目风险管理计划,编制项目预算表,确定项目预算表,制定项目质量保证计划,确定项目沟通计划,制定采购计划。
  (3)项目执行:当项目启动和策划中要求的前期条件具备时,项目即开始执行。
  (4)项目监测:实施、跟踪与控制项目,包括实施项目,跟踪项目,控制项目。
  (5)项目完成:也叫收尾项目,包括项目移交评审,项目合同收尾,项目行政收尾。
  不是每个项目都必须经过以上每一个阶段,因为有些项目可能会在达到完成阶段之前被停止。有些项目不需要策划或者监测。有的项目需要重复多次阶段2,3,4。本论文针对项目的一般情况,按照通常的流程和顺序设计项目管理信息的内容,完成现阶段的信息管理目标。

  3.4.3逻辑结构设计

  概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念模型设计阶段设计好的E-R图转换为与选用DB路产品所支持的数据模型相符合的逻辑结构。下面介绍将E-R图向关系模型转换原则与方法。
  (1)E-R图向关系模型转换原则:
  1)把每一个实体转换为一个关系模式
  2)一个1:1的联系可转换为一个关系模式,或与任意一端的关系模式合并。
  3)一个1:n或的联系可转换为一个关系模式,或与n端的关系模式合并。
  4)一个n:m的联系可转换为一个关系模式,那么,两端关系的码及联系的属性为关系的属性,而关系的码为两端实体的码的组合。
  5)三个或三个以上多对多的联系可转换为一个关系模式,那么,诸关系的码及联系的属性为关系的属性,而关系的码为各实体的码的组合。
  6)具有相同码的关系可以合并。
  (2)转换为DBMS支持下的数据模型
  向特定的DBMS支持下的数据模型转换需要熟悉所用的DRB璐的功能与限制,它依赖于机器,所以不加介绍。例如用SQL的DDL定义基本表、视图等。
  (3)对数据模型进行优化
  在本论文的模型设计过程中,根据实际需要对数据库进行了修改和调整了数据模型的结构,以利于数据库应用系统性能的提升,这也是数据模型的优化过程。关系数据模型的优化通常以规范化理论为指导。对数据模型优化步骤如下:
  1)确定数据依赖;
  2)进行极小化处理,消除冗余联系;
  3)确定各关系模式属于几范式,考察是否存在部分、传递、多值函数依赖,并根据需求阶段的处理要求,确定是否要进行合并与分解。
  对项目管理信息系统,在逻辑结构上应考虑到项目管理风险的避免,实际操作过程中,项目管理所面临的风险是其成败的关键,是成功的项目管理的基础。
  一个风险事件指二个不连续发生的事件,被认为是导致某事物发生的原因以及相应的结果。风险事件的发生是有概率的。一个通常用于识别风险的标准是“可能发生,可能不发生。”如果该风险事件发生了,就会导致风险结果。所有这三个因素(风险、事件、结果)是界定一个风险不可或缺的。
  以团队为基础的项目管理的各个步骤都与风险密切相关,为此在项目执行的流程中需做好相关准备,把威胁因素进行优先次序排序,并采用合适的措施有效地回避或减轻风险事件。能够预期项目风险并采取有效措施的团队很有可能获得成功:
  (1)准备:在召集团队成员参加风险管理会议之前实施这一步骤。好的绩效取决于交叉职能部门的贡献。因此,有必要用系统、整体的方式进行风险识别,而不是项目经理运用一对一的模式召开个人会议。在任何一个团队召开会议之前要做大量的准备:查阅基本问题、识别利益相关者、研究以前的项目、沟通目的。
  (2)用共同的语言进行沟通:共同的语言是为好的沟通和行为建立了基础。您应
  该审查并“操纵”团队来研究本章开始介绍的问题和风险,还有回避、缓和、转移以及自留风险——应对战略。
  (3)指定团队“关注点”列表:目标很简单:预测影响成功的危险因素,制作风险事件表和问题表。通过识别困难,团队能够采取预防的措施,更有效、更快速地做出反应,甚至有可能将威胁转变成机会。
  (4)分类:团队根据风险列表和问题列表评估它们的资源,随着团队分析工作的进行,风险和问题分离能够帮助团队成员明白他们对项目的成功要共同承担责任。风险和问题属于团队责任,不能任意妄想。列举风险和问题的过程能够帮助项目经理制定一个有效的包含招标的项目计划:通常,团队仅通过在在工作分解结构和进度计划上增加一个任务来解决问题。
  (5)分析风险:风险事件是离散的事件,需要满足“可能发生,可能不发生”的标准。风险分析是一个团队评估一个风险事件概率和结果的过程。
  (6)区分风险和问题的优先次序:项目有上百个风险和问题,通常比任何一个团队能够管理或者应该管理的还要多。接下来的步骤就是团队应该区分分类后的风险和问题的优先权。有很多技术可以用来区分优先权。权重可能是常见的技术。
  (7)风险应对计划以及问题管理计划:风险应对计划是一个制定战略计划的过程,
  用于减少完成计划项目以及产品成果中的风险。项目团队根据制定好的优先等级风险列表,着手制定最受关注的风险的应对计划。项目问题管理是简单的。团队首先对问题进行排序并进一步分类。团队成员决定个人对问题的责任并制定问题结论的标准。我们发现指派职责对调查和评论很有帮助,且常常由其他人决定问题的解决方法。项目经理要鼓励团队成员不时地提出问题的解决方法,保持项目团队会议的效率,并在会议上做出问题现在已经解决或需要重新开始的决定。经验告诉我们,作为团队项目团队常常要选择20-30个问题进行管理;其余的则留给个人。
  (8)将风险应对综合到项目战略中,并将项目基准承诺归档:项目团队有必要做出某些决策,如,利益相关者的优先权有哪些?项目团队留给项目每个因素的缓冲是多少(时间、范围以及费用)?团队是如何分配风险责任的?最后,注意合同(见第4章)是风险——分配工具。
  (9)实施和控制风险应对战略:这一步骤包括项目团队在风险应对分析和开发之后实施所有的工作。
  (10)从风险管理活动中学习:团队风险程序的最后一步是评审、反思并为将来的项目获取经验。风险为建立组织、加强产品开发学习创造了一个极好的机会。在后期实施审查中,团队成员应该考虑以下问题。
  风险是一个好的、要做的“工具”。因为每个项目都是不同的,它的风险也不同,因此应对措施需要灵活、耐用。在项目管理信息系统的建立中要充分考虑为降低项目的风险做出流程上的优化,对每项风险的提醒和建议的应对手段在软件中给以提示,降低总体的风险概率。

  3.4.4物理设计

  逻辑设计完成后,下一步的任务就是进行系统的物理设计。物理设计是在计算机的物理设备上确定应采取的数据存储结构和存取方法,以及如何分配存储空间等问题。这些确定后,应用系统所选用的DBMS提供的数据定义语言把逻辑设计的结果描述出来,并将源模式变成目标模式。

  3.4.5关系模式规范化理论

  关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同的范式。从1971年起,相继提出了第一范式、第二范式、第三范式、Boyee-Codd范式、第四范式、第五范式。所谓“第几范式”,是表示关系的某一种级别。由于规范化的程度不同,就产生了不同的范式。一个低一级的关系模式,通过模式分解可以转换成若干高一级范式的关系模式的集合,这个过程叫做关系模式的规范化。

  3.4.6系统数据库设计

  通过对本项目管理信息系统的数据全面分析,按照上述介绍的数据库设计方法和规范化理论设计数据库表如下:
  (1)操作员表T_UserAccount
  字段名称字段类型字段长度字段含义备注说明
  PKID
  UserAccount
  UserPassword AuthInfo AuthFlag
  ChineseName DepName
  IsFileSend
  DescriptionA
  DelFlag Int
  Varchar
  binary
  Binary
  binary
  Varchar
  Varchar
  Tinyint
  Varchar
  Tinyint 4
  1020
  200
  20050
  501
  1001标识帐号密码
  菜单权限显示权限
  名称所属部门
  接受文件标志描述
  停用标志主键,自动加1
  (2)部门名称表T_Department
  字段名称字段类型字段长度字段含义备注说明
  DepID
  DepName CodeAB Int
  VarcharVarchar 4
  5020标识
  部门名称部门简码主键,自动加1
  IsYewudep
  IsAuditdep bit
  bit 1
  1是否是业务部门是否是审核部门
  (3)操作权限表T_TableInformation
  字段名称字段类型字段长度字段含义备注说明
  TID
  TableName
  TableChina SqlSelect
  ToDatabase
  IsMainSearch SortID Int
  VarcharVarcharVarchar
  Varchar Bit
  Smallint 4
  38
  700
  1000
  2012标识表名称
  表名称对应文查询该表语句所操作数据库是否主表
  排序主键,自动加1
  (4)工程信息主表AT_Project
  字段名称字段类型字段长度字段含义备注说明
  projID projNo projName projFullName projFlag IsFinish
  IsShowToLeft UserAccount
  ChineseName DepName CreateDate linkF Int
  VarcharVarcharVarchar
  Smallint Bit Bit
  Varchar Varchar Varchar
  Datetime Varchar 4
  20
  100
  200211
  3018
  508
  80标识
  项目编号项目简称项目全称项目标识是否完成是否显示在左侧
  用户账号用户名称部门名称生成时间HTML链接主键,自动加1
  (5)项目大合同表PT_ConOrder
  字段名称字段类型字段长度字段含义备注说明
  PTID
  projID Int
  int 4
  4 ID号
  项目ID号主键,自动加1
  contrNo contrDate contrDanwei WuFileNo contrNote UserAccount
  ChineseName DepName CreateDate projDFlag conShouMoney conFuMoney RealShouMoney ShouKFlag
  RealDaoZhMoney DaoZhFlag delFlag varchar smalldatetime varchar varchar varchar varchar varchar varchar datetime smallint money money money tinyint money tinyint tinyint 304
  10030
  2003018
  20828881811大合同编号大合同日期大合同单位大合同文号备注说明用户账号用户名称部门名称生成时间标识
  大合同收款金额大合同付款金额
  实际收款额收款标志实际到账额到账标志删除标志
  (6)项目大合同子表PT_ConOrder_Child
  字段名称字段类型字段长度字段含义备注说明
  PCTID PTID projID EmNo
  ComID
  CBianHao Cpaiping
  CComName CSpec CUnit
  ComNum int int int smallint int varchar varchar varchar varchar varchar money 44424
  20508060
  208 ID号
  大合同ID号项目ID号序号
  商品ID商品编号商品品牌商品名称商品规格商品单位
  数量主键,自动加1
  ComNumOut contrDNote InPrice
  OutPrice
  UserAccount
  ChineseName DepName projCFlag IsNewAdd money varchar money money varchar varchar varchar tinyint tinyint 8
  20088
  3018
  2011出库数量备注说明进价
  销售价用户账号用户名称部门名称标识
  是否是增补录入
  (7)分批采购表PT_BuyOrder
  字段名称字段类型字段长度字段含义备注说明
  PTID projID buyNum buyNo buyDate buyNote UserAccount
  ChineseName DepName CreateDate projBFlag delFlag FuKMoney
  RealFuKMoney
  RealKaiPiao FKFlag
  KaiPFlag
  CustomerName int int tinyint varchar smalldatetime varchar varchar varchar varchar datetime smallint tinyint money money money tinyint tinyint varchar 441
  304
  2003018
  2082188811
  200 ID号
  项目ID号采购顺序号采购编号采购日期采购备注用户账号用户名称部门名称生成时间标识
  删除标识付款金额
  实际付款金额实际开票额付款标志开票标志供应商名称主键,自动加1
  linkCon varchar 150 HTML链接
  (8)分批采购子表PT_BuyOrder_Child
  字段名称字段类型字段长度字段含义备注说明
  PCTID PTID projID conPCTID EmNo
  ComID
  Cpaiping
  CComName CSpec CUnit ComNum buyDNote InPrice
  UserAccount
  ChineseName DepName projCFlag operFlag IsNewAdd int int int int smallint int varchar varchar varchar varchar smallmoney varchar money varchar varchar varchar tinyint tinyint bit 444424
  508060
  204
  2008
  3018
  20111 ID号
  采购单ID号项目ID号
  对应大合同ID号序号
  商品ID商品品牌商品名称商品规格商品单位数量备注说明进价
  用户账号用户名称部门名称标识
  操作标识
  是否是增补录入主键,自动加1
  以上仅列出了系统中重要的几个表,其他的表详见数据库。

  3.5本章小结

  本章首先介绍了系统现状,并对本系统进行了需求分析,阐述了项目管理信息系统的功能需求,并给出了系统的用例模型。最后简单介绍了数据库设计的方法和规范化理论,并给出了数据库部分表的逻辑结构。

  第4章系统详细设计与实现

  通过上一章对项目管理信息系统的具体分析和设计,对于系统的总体需求、系统流程、功能模块、数据库内容有了全面的了解,本章是对以上项目管理信息系统的分析与设计的详细实现。

  4.1系统开发环境及工具

  (1)服务器端:
  操作系统:Windows2003Sever或以上;
  平台:dotNetFramework2.0;
  数据库:SQL Server2000标准版或更高
  (2)客户端:
  操作系统:Windows2000/XP;
  开发工具:Visual C#.NET

  4.2数据库设计

  本系统选择Microsoft SQL Server2008为系统数据库,数据库表和存储过程的实现是在查询分析器中利用SQL的DDL语言来创建数据表和存储过程。下面给出第3章对应的数据表的DDL语句。
  (1)操作员表T_UserAccount
  CREATE TABLE[dbo].[T_UserAccounts](
  [PkId][smallint]IDENTITY(1,1)NOT NULL,
  [UserAccount][varchar](30)COLLATE Chinese_PRC_CI_AS NOT NULL,[Password][binary](20)NULL,
  [AuthInfo][binary](200)NULL,
  [AuthFlag][binary](200)NOT NULL,
  [ChineseName][varchar](18)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [DepName][varchar](50)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [IsFileSend][bit]NOT NULL,
  [DescriptionA][varchar](100)COLLATE Chinese_PRC_CI_AS NOT NULL,[delFlag][bit]NOT NULL
  )ON[PRIMARY]
  GO
  上面的代码是操作员的数据库表,这个表只是对管理员的一个数据库的操作权限的赋予与限制。
  (2)部门名称表T_Department
  CREATE TABLE[dbo].[T_Department](
  [DepID][int]IDENTITY(1,1)NOT NULL,
  [DepName][varchar](20)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [CodeAB][varchar](10)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [IsYewudep][bit]NOT NULL,[IsAuditdep][bit]NOT NULL
  )ON[PRIMARY]
  GO
  上面的代码是部门的数据库表,这个表是对部门的数据库的操作权限的赋予与限制。
  (3)操作权限表T_TableInformation
  CREATE TABLE[dbo].[T_TableInformation](
  [TID][int]NOT NULL,
  [TableName][varchar](38)COLLATE Chinese_PRC_CI_AS NOT NULL,[TableChina][varchar](70)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [SqlSelect][varchar](1000)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [ToDatabase][varchar](20)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [IsMainSearch][bit]NOT NULL,
  [SortID][int]NOT NULL
  )ON[PRIMARY]
  GO
  上面的代码是部门的操作权限表,这个表是对操作权限的赋予与限制。
  (4)工程信息主表AT_Project
  CREATE TABLE[dbo].[AT_Project](
  [projID][int]IDENTITY(1,1)NOT NULL,
  [projNo][varchar](20)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [projName][varchar](100)COLLATE Chinese_PRC_CI_AS NOT NULL,[projFullName][varchar](200)COLLATE Chinese_PRC_CI_AS NOT NULL,[projFlag][smallint]NOT NULL,
  [IsFinish][bit]NOT NULL,
  [IsShowToLeft][bit]NOT NULL,
  [UserAccount][varchar](30)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [ChineseName][varchar](18)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [DepName][varchar](20)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [CreateDate][datetime]NOT NULL,
  [linkF][varchar](80)COLLATE Chinese_PRC_CI_AS NULL
  )ON[PRIMARY]
  GO
  上面的代码是工程信息主表,具体的数据库编码如上,这个表是对操作权限的赋予与限制。
  (5)项目大合同表PT_ConOrder
  CREATE TABLE[dbo].[PT_ConOrder](
  [PTID][int]IDENTITY(1,1)NOT NULL,
  [projID][int]NOT NULL,
  [contrNo][varchar](30)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [contrDate][smalldatetime]NOT NULL,
  [contrDanwei][varchar](100)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [WuFileNo][varchar](30)COLLATE Chinese_PRC_CI_AS NULL,
  [contrNote][varchar](200)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [UserAccount][varchar](30)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [ChineseName][varchar](18)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [DepName][varchar](20)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [CreateDate][datetime]NOT NULL,
  [projDFlag][smallint]NOT NULL,
  [conShouMoney][money]NOT NULL,[conFuMoney][money]NOT NULL,
  [RealShouMoney][money]NOT NULL,
  [ShouKFlag][tinyint]NOT NULL,
  [RealDaoZhMoney][money]NOT NULL,
  [DaoZhFlag][tinyint]NOT NULL,
  [delFlag][tinyint]NOT NULL
  )ON[PRIMARY]
  GO
  上面的代码是项目大合同表,具体的数据库编码如上,这个表是对项目大合同的相关权限操作的赋予与限制。
  (6)项目大合同子表PT_ConOrder_Child
  CREATE TABLE[dbo].[PT_ConOrder_Child](
  [PCTID][int]IDENTITY(1,1)NOT NULL,
  [PTID][int]NOT NULL,
  [projID][int]NULL,
  [EmNo][smallint]NOT NULL,
  [ComID][int]NOT NULL,
  [CBianHao][varchar](20)COLLATE Chinese_PRC_CI_AS NULL,
  [Cpaiping][varchar](50)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [CComName][varchar](80)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [CSpec][varchar](60)COLLATE Chinese_PRC_CI_AS NULL,
  [CUnit][varchar](20)COLLATE Chinese_PRC_CI_AS NULL,
  [ComNum][money]NOT NULL,
  [ComNumOut][money]NOT NULL,
  [contrDNote][varchar](200)COLLATE Chinese_PRC_CI_AS NULL,
  [InPrice][money]NOT NULL,
  [OutPrice][money]NOT NULL,
  [UserAccount][varchar](30)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [ChineseName][varchar](18)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [DepName][varchar](20)COLLATE Chinese_PRC_CI_AS NULL,
  [projCFlag][tinyint]NOT NULL,
  [IsNewAdd][tinyint]NOT NULL
  )ON[PRIMARY]
  GO
  上面的代码是项目大合同子表的数据库编码,这个表是对项目大合同子表的相关权限操作的赋予与限制。
  (7)分批采购表PT_BuyOrder
  CREATE TABLE[dbo].[PT_BuyOrder](
  [PTID][int]IDENTITY(1,1)NOT NULL,
  [projID][int]NOT NULL,
  [buyNum][tinyint]NOT NULL,
  [buyNo][varchar](30)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [buyDate][smalldatetime]NOT NULL,
  [buyNote][varchar](200)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [UserAccount][varchar](30)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [ChineseName][varchar](18)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [DepName][varchar](20)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [CreateDate][datetime]NOT NULL,
  [projBFlag][smallint]NOT NULL,
  [delFlag][tinyint]NOT NULL,
  [FuKMoney][money]NOT NULL,
  [RealFuKMoney][money]NOT NULL,
  [RealKaiPiao][money]NOT NULL,
  [FKFlag][tinyint]NOT NULL,
  [KaiPFlag][tinyint]NOT NULL,
  [CustomerName][varchar](200)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [linkCon][varchar](150)COLLATE Chinese_PRC_CI_AS NOT NULL
  )ON[PRIMARY]
  GO
  上面的代码是分批采购表的数据库编码,这个表是对分批采购表的相关权限操作的赋予与限制。
  (8)分批采购子表PT_BuyOrder_Child
  CREATE TABLE[dbo].[PT_BuyOrder_Child](
  [PCTID][int]IDENTITY(1,1)NOT NULL,
  [PTID][int]NOT NULL,
  [projID][int]NOT NULL,
  [conPCTID][int]NOT NULL,
  [EmNo][smallint]NOT NULL,
  [ComID][int]NOT NULL,
  [Cpaiping][varchar](50)COLLATE Chinese_PRC_CI_AS NOT NULL,[CComName][varchar](80)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [CSpec][varchar](60)COLLATE Chinese_PRC_CI_AS NULL,
  [CUnit][varchar](20)COLLATE Chinese_PRC_CI_AS NULL,
  [ComNum][smallmoney]NOT NULL,
  [buyDNote][varchar](200)COLLATE Chinese_PRC_CI_AS NULL,
  [InPrice][money]NOT NULL,
  [UserAccount][varchar](30)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [ChineseName][varchar](18)COLLATE Chinese_PRC_CI_AS NOT NULL,
  [DepName][varchar](20)COLLATE Chinese_PRC_CI_AS NULL,
  [projCFlag][tinyint]NOT NULL,
  [operFlag][tinyint]NOT NULL,
  [IsNewAdd][bit]NOT NULL
  )ON[PRIMARY]
  GO
  上面的代码是分批采购子表的数据库编码,这个表是对分批采购子表的相关权限操作的赋予与限制。

  4.3系统界面详细设计

  4.3.1用户登录界面

  用户登录界面如下图4.1所示。本界面中,用户帐号是可以选择的。同时系统会记住用户最近一次登录所使用的帐户名称,并在本界面中自动定位到这个帐户。用户密码存储到数据库中使用的是加密后的二进制数值,采用的是哈希MD5算法,是无法反编译的。能保证用户密码的安全。
  系统采用统一封装类来处理:
  LoginLavel.Account_Login LoginLavel.AccountInfo
  其中包括用户登录验证、用户密码修改以及超户权限范围的用户密码遗忘处理。
房地产信息管理系统的设计与实现
  图4.1用户登录界面
  Figure 4.1 the user login interface
  4.3.2用户主界面
房地产信息管理系统的设计与实现
  图4.2用户主界面
  Figure 4.2 the main user interface
  用户主界面左侧是根据用户所在的部门名称及权限显示相应的项目。上侧是菜单内容,菜单项的显示是由菜单权限设定的。主界面中间部分是用户管理中所设置的显示部分。

  4.3.3部门管理界面

房地产信息管理系统的设计与实现
  图4.3部门信息管理界面
  Figure 4.3 interface information management department
  部门信息管理包括部门名称的添加,修改,删除。同时还可以修改部门的属于业务部门,属于权限部门的两个属性。

  4.3.4用户信息管理界面

房地产信息管理系统的设计与实现
  图4.4用户信息管理界面
  Figure 4.4 the user information management interface
  如上图4.4所示,用户信息管理界面展示了用户的名称,账号,所属部门,职务,并可与进行修改。
房地产信息管理系统的设计与实现
  图4.5用户菜单权限管理界面
  Figure 4.5 the user interface menu permission management
  如上图4.5所示,用户菜单权限修改界面上可以对工程项目的各种信息进行权限方面修改。
房地产信息管理系统的设计与实现
  图4.6用户权限表管理界面
  Figure 4.6 the user authority management interface
  如上图4.6所示,用户权限修改可以针对工程项目,文件扫描,项目明细等各方面的权限进行修改、删除进行操作。
房地产信息管理系统的设计与实现
  图4.7用户权限管理设置子界面
  Figure 4.7 the management of user authority setting interface
  如上图4.7所示,用户权限管理设置可以设置部门与业务员的各自的相关信息。
房地产信息管理系统的设计与实现
  图4.8用户主界面显示权限设置界面
  Figure 4.8 shows the main user interface permission settings interface
  如上图4.8所示,用户主界面显示权限设置界面对设置好的各种功能。
  4.3.5商品基本信息管理界面
房地产信息管理系统的设计与实现
  图4.9商品基本信息管理界面
  Figure 4.9 Commodity basic information management interface
  如上图4.9所示,商品的基本信息都在该界面有详细的罗列、显示,通过数据的填写录了,可以把各种商品录入进去。
  4.3.6项目信息管理界面
房地产信息管理系统的设计与实现
  图4.10新建工程界面
  Figure 4.10 new engineering interface
  如上图4.10所示,新建工程界面可以对项目的编号、简称及全称进行录入,并且需要对操作员及生产日期录入。
房地产信息管理系统的设计与实现
  图4.11项目主界面信息
  Figure 4.11 the main interface information
  如上图4.11所示,项目主界面信息可以详细的看到合同的各种信息,项目的各种情况。
房地产信息管理系统的设计与实现
  图4.12项目分批采购界面
  Figure 4.12 batch purchasing interface
  如上图4.12所示,项目分批采购界面可以将采购单的如付款额、付款时间、支票号、时间等相关信息详细的展示。
房地产信息管理系统的设计与实现
  图4.13项目采购付款界面
  Figure 4.13 purchasing payment interface
  如上图4.13所示,项目采购付款界面中信息详尽,能清楚的看到采购的总金额、供应商等详细信息。

  4.5本章小结

  本章首先介绍了系统的开发环境和工具,然后给出了系统对应得数据库表DDL语句,.NET环境下C#语言下数据库通用操作封装类库,最后介绍了部分功能模块的详细设计和实现界面。

  第5章系统测试

  5.1软件测试方法和工具

  信息技术的飞速发展,面向对象技术是目前最为流行的软件开发技术。为了保证顺利完成业务,选用优质的软件越来越重要。自顶向下和自底向上的传统的集成测试策略变化较大。测试用例设计的目标是面向对象的类,由于属性、操作是被封装的,对类之外的操作的测试是徒劳的。并且封装也使得这些信息在某种程度上难于获得。
  软件测试是在软件开发各阶段,根据程序的规格说明、程序的内部结构精心设计一组或一系列测试数据,程序利用这些测试数据运行,在运行中发现程序错误的过程。根据测试数据设计方法,软件测试分为结构测试和功能测试。

  5.1.1软件测试方法

  软件测试是一项极具条理、逻辑性强的工作,同样具有风险性的行为。软件测试的对象包括程序测试,同时包括整个软件开发期间各不同阶段产生的文档,包括如概要设计文档、需求规格说明书、详细设计文档等。
  软件测试的对象主要是软件编写的源程序。由于编写软件产品没有客观的标准,同样的问题,可以对应不同的解决方法、不同的编写程序,即使同一条件下,不同的程序员实现的源程序代码也是不完全相同的,总之,由于软件实现途径很多,要想实现对软件的完全测试是比较困难的,软件测试存在局限性。软件测试与软件开发过程的关系如图5.1所示。
房地产信息管理系统的设计与实现
  图5.1软件测试与软件开发过程的关系
  Fig.5.1 the relationship between software testing and software development process
  根据测试是针对具体实现算法的角度还是针对系统的内部结构,可分为黑盒测试和白盒测试。

  5.1.2软件测试工具

  目前,流行多种软件测试工具。为软件开发人员提供了强大的支持。这里主要介绍LoadRunner7.8和Winrunner7.6这两种测试工具。它们都是Mecury公司的产品,相互之间兼容性很好,可以实现接口的无缝衔接。
  (1)LoadRunner7.8
  Load Runner是预测系统行为,预测系统性能的负载测试工具。该软件在软件业具有领先地位。通过模拟多用户访问,该软件可以对被测系统实施实时性能监测。Load Runner可以对整个系统架构进行问题查找和性能测试。通过使用Load Runner,能优化性能,最大限度地缩短测试时间,加速应用系统的实施周期。
  Load Runner可以方便测试人员创建虚拟用户,模拟被测系统的负载量,可大大地
  减少负载测试所需的人力资源,同时硬件使用也大大减少。同时,使用了其Turbo Load专利技术,能获得高规模的适应性的水平。Rendezvous功能可提供一个互动的既能管理和驱动负载测试方案,又能建立起持续且循环负载的环境。通过对日程控制服务来定义用户在系统以何种速度运行会产生负载。用Virtual User Generator建立测试脚本后,可以对其进行参数化操作,通过模拟不同的数据来测试软件程序,进而反映出系统的工作负载。Virtual users建立后,需要确定业务流程组合,确定实际数量的用户。负载方案建立后,则可在负载服务器上运行。通过以上设置,整个测试过程就能够实现自动化。
  Load Runner内含实时监测器,在负载测试过程中,可以随时观察系统的运行情况及程序性能。利用Content Check TM,可以判断负载下的系统程序功能是否正常工作并给出显示。测试完毕后,Load Runner将所有测试数据收集并汇总,提供高级分析和汇总,以便迅速查找到性能问题,追溯缘由,将信息反馈给系统开发者。
  (2)Winrunner7.6
  WinRunner是功能测试工具,用于自动化回归,检验应用程序是否如期运行。可自动捕获,自动检测以及重新回放用户的交互操作。WinRunner能够发现系统设计缺陷,能够避免出现故障,并能够保持长期稳定地运行。
  WinRunner能够直接创建并记录操作流程,任何人可以在GUI上建立测试。同时也可以通过直接编辑脚本来测试不同的需求。在录制测试的过程中,可以插入检查点,通过此方法,可自动执行测试,并在此过程中进行相关验证。本测试工具支持文本、位图、GUI和数据库等多种类型的检查。WinRunner即能创建并运行测试,还可以通过验证数据库的数值,来保证执行结果的准确性。
  WinRunner的另一个重要工具是FunctionGenerator。它是一种可视工具,可加强测试质量的特征,可快速地提高测试能力。Virtual Object Wizard能识别以前的对象,无须特别编写代码。此特性可加强测试的质量,又可提高被测文件的可读性。
  WinRunner在执行测试时,能够自动操作被测程序,模拟真实用户,根据记录流程执行每一步操作,特别是意外处理功能,能为测试排除干扰。WinRunner还能够创立应用周期内可重复使用的测试,这样大大地节省时间和资源,使我们能够充分利用所做测试投资。测试运行后,WinRunner的报告工具能够列出在测试中发现的错误以及出错的位置,同时,提供详尽、易读的测试报告,帮助并解释所得的结果。

  5.2系统安全性测试分析

  项目管理信息系统需要重点考虑两个方面的安全性:对于审核通过的项目大合同,分批采购合同不能再更改。如果更改,需要有详细的日志记录。另一方面是对于付款单和收款单必须严格控制以保证财务数据的安全性;

  5.2.1登录操作员身份信息确认

  本系统采用Web服务的应用程序,用户登录身份的验证都在服务器上进行。进入系统后,首先是要选择用户名称,输入密码。身份验证通过后,方可进入。系统会自动记录上次本机的登录账号,以方便下次登录。密码是经过加密后写入到数据库中的,即使通过后台数据库也无法获知密码,增加了安全性。

  5.2.2数据信息多用户并发访问测试

  应用测试软件,系统模拟了几个用户同时访问同一个信息窗口,同时对项目管理内容进行操作。经过测试,系统稳定,可靠。

  5.2.3数据的安全性及审批流程的测试

  对于本系统,根据用户要求的系统流程,结合实际工程数据,对于项目的每个步骤,都进行了测试,经过测试和改进后,对于系统各个流程控制满足了客户的需求。

  5.2.4本系统实际测试用例举例

  名称大合同审批
  内容测试大合同录入完成后,下达审批。包含部门经理审批和处领导审批,审批后,进入到财务付款阶段。
  操作员大合同信息录入员,部门经理,处领导
  问题摘要用法及要求1.录入员录入大合同后,提交审批完成后,只能查看程
  序状态,无法对其经行修改、删除操作。
  2.审批中,不允许越级审批。不能部门经理还没有审批,处领导就可直接审批。
  3.任何一级的不同意均返回到大合同录入处。
  4.4.返回后的大合同可以直接修改,删除。
  用户界面1.显示大合同信息是否完整?
  2.同意,不同意的意见是否能够录入,支持多少字符?
  3.是否支持快速审批?
  遇到问题1.测试后,未经过部门经理审批,就可以处领导审批。
  2.提交审批后,在录入员处,无法看到系统处于哪种审批状态下,如果着急工作,还要打电话询问。
  补充说明本审批的测试,适合于销售合同审批的测试。

  5.3本章小结

  本章首先介绍了系统的开发的测试方法和工具,然后给出了本系统测试的主要项目内容和测试方法。

  第6章结论与展望

  6.1结论

  本文结合计算机软件理论知识和工程实际,在导师的指导下完成了这篇论文。本文主要有以下几个方面的特点:
  (1)围绕.NET平台的核心技术,对其核心C#.NET和AOO.NET进行深入研究。
  (2)对Micirosoft SQL Server数据库理论知识,数据库设计原则和方法,数据库权限,数据库备份和恢复进行了系统学习和深入研究。
  (3)对项目管理信息系统进行了实际调研,由系统需求分析开始,结合工程实际需求,对项目管理信息系统进行了详细的数据库设计和实现,界面设计和实现。
  (4)对软件系统测试方法、测试工具及其涉及的技术进行了深入研究,并应用到本系统的开发、调试过程中。保证了系统的安全性,可靠性,实用性。

  6.2展望

  本系统由于在开发初期,在编写的程序和实际应用情况之间难免会存在差异。基于前面的一些研究,对后续工作的展望如下:
  (1)对应用中的程序进行更进一步测试和调试,找出程序中的错误。
  (2)进一步学习研究C#语言、.NET技术。
  (3)进一步改造和封装数据库操作类,使其支持Oracle,Foxpro,Access数据库。
  (4)完善和改进基于Internet条件下的打印,这个在实际应用中有很重要的实用性。
  (5)将项目管理的全过程信息全部纳入到本系统中。

  参考文献

  [1]Microsoft.Microsoft.NET最佳实践,2002
  [2]Microsoft.Microsoft.NET Framework程序设计,2002
  [3]刘遵仁编.SQL Server中文版基础培训教程.北京:人民邮电出版社,2002
  [4]曹砚.基于三级C/S模式高校管理信息系统原设计.管理信息系统,1999
  [5]张奇,Visua1C#数据库项目案例导航.北京:清华大学出版社,2005
  [6]Standard Guide for Documentation of Chinical Computerized Laboratory Systems,E1029-84,ASTM Standards,1986
  [7]卢开澄著计算机算法导引设计与分析.清华大学出版社,2004
  [8]Rod Johnson,JuergenHoeller.expert one-on-one J2EE Development without EJB中文版[M].JavaEye译.北京:电子工业出版社,2005
  [9]黄荔.基于客户/中间服务器/数据库服务器的三层结构.兵器自动化,2000
  [10]Microsoft Corporation.SQL Server2000Architecture and XML/Internet Support[M].Washington:Microsoft Press,2001
  [11]Hausman,K.managing.a Windows2000Networks Environment[M].Stamford:
  Thomson publisher,2002
  [12]Curry,Adrienne,Stancich,Lara.The Intranet—an intrinsic component of strategic information management.International journal of Information Management,Vol:20,Issue:4,August,2000
  [13]胡伦骏,徐兰芳,刘建农.编译原理[M].北京:电子工业出版社,2002:49.
  [14]Lippis,Nick.Intranet:living in your own private internet.Computers&Security,Vol:15,Issue:2,1996
  [15]严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,2002
  [16](美)狄今森等,张晓明等译.ADO.NET高级编程.北京:中国电力出版社,2002
  [17]David M.Dikel,David Kane,James R.Wilson.SOFTWARE ARCHITECTURE Organizational Principles and Patterns.Beijing:Higher Education Press Pearson
  Education,2002
  [18]Benny Johansen,Matthew Reynolds等著张哲峰译,Windows应用高级编程-C#编程篇.北京:清华大学出版社,2003
  [19]唐学忠等.SQLServer2000数据库教程北京:清华大学出版社,2005
  [20].Standard Generic Guide for Computerized Laboratory Systems,E622-84,ASTM Standards,1986
  [21]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2000:247.
  [22]Santokhsingh“Developing.NET Webservice-based Applications with Aspect-Oriented Component Engineering”
  [23]白思俊,现代项目管理.北京:机械工业出版社,2005.
  [24]尹宗臣等编著,建设项目管理的系统工程方法[J],哈尔滨建筑大学学报,2002.04(vol.35No.2)
  [25]贾广社编著,项目总控(Projectcontrolling)建设工程的新型管理模式〔Ml,上海:同济大学出版社,2003.1第一版
  [26]常晋义等编著,管理信息系统[M],北京:中国电力出版社,2002.8第一版
  [27]白思俊主编,现代项目管理[M],北京:机械工业出版社,2002.4
  [28]邱苑华等编著,现代项目管理导论LMI,北京:机械工业出版社,2003.1
  [29]中国项目管理研究委员会编,中国项目管理知识体系与国际项目管理专业资质认证标准[M],北京:机械工业出版社,2001.7
  [30]邵丽编著,项目管理信息系统的质量保障策略[J],计算机系统应用,2011.13
  [31]王广斌编著,项目管理信息系统开发目标与开发策略分析z1[,计算机工程,2011.04
  [32]ww.wAMTeam.ogr
  [33]薛华成主编,管理信息系统[M],北京:清华大学出版社,2012第3版
  [34]肖伟等著,全寿命周期的项目管理信息系统功能模型研究1J[,西安邮电学院学报,2012.10
  [35](德)奥古斯特一威廉.希尔著,李清等译,集成的信息系统体系结构(A犯S):经营过程建模[Ml,北京:机械工业出版社,2003.2
  [36]刘国靖等编著,21世纪新项目管理—理念、体系、流程、方法、实践[M],北京:清华大学出版社,2013.09
  [37]贾广社等编著,大型建设工程项日总控模式的研究[J],土木工程学报,2010.303
  [38]罗护等编著,面向流程企业的维修工程项目管理系统[J],工业工程,2012.03
  [39]马桂芳等编著,异构环境下的B/S模式信息系统的设计与实现J[],昆明理工大学学报,2011.13
  [40]邱岩等编著,基于web的建设工程招标计算机管理系统的研究与开发[J],土木工程学报(建设工程与管理分册),2012.08

  致谢

  本论文是在指导老师的谆谆教诲和指导下完成的,论文从选题、构思到定稿无不渗透着导师的心血和汗水;教授渊博的知识和严谨的学风使我受益终身,在此表示深深的敬意和感谢。
  我还要感谢含辛茹苦、任劳任怨、望子成龙、不图回报的父母的养育之恩,他们给予我的爱和支持让我顺利地完成了自己的学业。
  最后,因本人水平有限,在文中难免有不足之处,恳请各位老师批评指正。

下载提示:

1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。

2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。

3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。

原创文章,作者:写文章小能手,如若转载,请注明出处:https://www.447766.cn/chachong/9634.html,

Like (0)
写文章小能手的头像写文章小能手游客
Previous 2021年1月10日
Next 2021年1月10日

相关推荐

My title page contents