VB小区物业管理系统ER图+流程图+功能模块图课程设计小区物业管理系统任务书内容设计要求:(1)信息要求本系统应该包含住户管理的相关信息,如住户、设备基本信息等,其中住户的基本信息应该包括:姓名、年龄、出生年月、地址、身份证号、邮编等信息;设备信息应该包括:名称,购买日期、编号、买主姓名等。(2)功能要求本系统的基本功能要求如下:住户基本信息录入、修改及查询;收费基本信息录入、修改及查询设备基本信息录入、修改及查询维修基本信息录入、修改及查询用户管理(含用户权限的设置)。目 录第一章 系统概述 11.1系统名称 11.2系统研究的目标和应用背景 11.2.1系统研究的目标 11.2.2系统研究的应用背景 11.3系统研究的设计要求 21.4系统的运行环境 21.4.1硬件环境 21.4.2软件环境 3第二章 系统的可行性研究 42.1可行性研究 42.1.1技术可行性: 42.1.2经济可行性: 42.1.3操作可行性: 42.2需求分析 52.2.1需求分析的任务 52.2.2需求分析的方法 62.2.3数据流图 62.2.4数据字典 8第三章 项目设计的基本原理和采用的主要方法与技术 93.1项目设计的基本原理 93.2项目设计采用的主要技术 93.3 数据访问技术 113.4 数据库系统设计及范式分析 11第四章 总体设计 144.1总体设计原理 144.2 运行环境与系统结构 144.3系统流程图 154.4功能模块图 164.5系统功能分析 174.6关系模型 174.7系统安全与维护措施 17第五章 详细设计 195.1数据库的概念结构设计 195.1.1局部E-R模型 195.1.2 全局E-R模型 225.2数据库的逻辑结构设计 225.2.1数据库表设计 235.3程序流程图 24第六章 系统的编码实现 266.1系统的实现 266.1.1用户登陆 266.1.2设备维修管理 286.1.3收费管理 306.1.4房屋及住户管理 336.1.5用户维护 36第七章 测试用例设计、测试与运行记录 387.1测试计划 387.1.1单元测试: 387.1.2组合测试 387.1.3确认测试 387.1.4系统测试 397.1.5用户验收测试 397.2测试目的 397.3 测试目标 397.4 测试方法 397.5测试项目 397.6测试步骤 40第八章 个人遇到的困难与获得的主要成果 428.1遇到的困难 428.2获得的成果 42第九章 课程设计完成结果分析与个人小结 43参考文献 324
VB小区物业管理系统ER图+流程图+功能模块图 系统概述
1.1系统名称 系统名称:小区物业管理系统1.2系统研究的目标和应用背景1.2.1系统研究的目标本系统介绍了小区物业管理系统的实现。它是小区现代化的管理手段。智能小区开始建设的同时应该遵循"管理是保障"的原则,没有高质量的住宅小区智能化管理,就不可能充分发挥住宅小区智能化的功能效果。科学高效的管理是智能化的真正内涵,简单的硬件拼凑对于智能小区的实际应用是缺少实际意义的。为此,作为小区的实际管理者-物业管理公司应该运用现代化的计算机管理手段,使物业的硬件管理结合软件管理,为物业管理走向现代化、制度化与规范化创造条件。在本系统中,我对整个系统模型的分析与设计,以及整个数据库模型的分析与设计有了一定的了解。物业管理软件的设计从低到高有三个层次: 第一个层次为单项数据处理,模仿手工管理方式,多用于简单的事物性工作,这是目前国内大多数物业管理公司所处计算机应用水平; 第二个层次是数据综合处理,此时计算机应用呈现网络化和实时处理特点,已经具备部分提高物业管理效率的特点; 第三个层次则是管理信息系统,此时信息论、控制论、系统工程等优化理论在软件程序中得以运用,计算机网络和数据库的建立,使计算机有管理某个单一系统发展成全面的管理系统。系统集成能力的高低和决策分析功能成为衡量此阶段物业管理软件水平的依据。我们下文讨论的物业管理软件的设计就是第三个层次的软件设计。1.2.2系统研究的应用背景(1)近年来,随着人民生活水平的提高,人们对住宅质量提出更高的要求。(2)在此前提下,我国各地涌现出了一些运用现代的计算机、控制与通信技术的智能化住宅小区。(3)但是许多智能小区都存在搭好了平台却没有智能化的软体在上面运行的情况,或者说缺少现代化的管理手段。1.3系统研究的设计要求①对小区所有房屋资料的录入和增,删,改,查询等功能的实现,这是一个小区管理的基础,小区管理都是基于该小区的房产资源而产生的。②对本小区内住户的详细资料的管理,包括增,删,改,查询等功能的实现,这也是物业管理产生的基础,物业管理都是相对该小区的所有住户而言的。③有了上述资料后,需要实现实质性的物业管理,本系统主要实现物业设备管理,仪表包括水,电,气表数据管理,收费管理,住户投诉管理,住户报修管理,设备维修管理,停车场管理,这些基本的物业管理功能构成了小区物业管理的主体,其中与住户密切的是仪表数据和收费管理,仪表数据管理模块管理每个住户的水,电,气表的资料,统计住户每月的用量以及需要交纳的费用,收费管理记录物业公司对住户的每一笔收费,包括水,电,气等使用费用和物业管理费用,物业维修费用等费用。住户投诉管理和住户维修管理分别记录住户对物业公司的不满的投诉和针对各种设施向物业公司的报修,物业设备和设备维修管理则是对一些整个小区的公共设施的管理和维修记录,比如小区大门和小区里户外的健身器材。1.4 系统的运行环境1.4.1 硬件环境AMD Athlon 3200+80GB硬盘512mb内存D-Link DE-528 PCI Ethernet 10M网卡七彩虹 X550 双128B 显卡联想鼠键套装1.4.2 软件环境数据库技术是计算机应用技术中的一个重要组成部分,对于大量的数据,使用数据库来存储管理将比通过文件来存储管理有更高的效率。本系统的设计采用的是Microsoft公司 的MS SQL Server2000、以及采用Visual Basic来处理图像数据。Mcrosoft SQL Server 2000是一个可缩放、高性能的数据库管理系统,它提供了与Windows NT 线程和调度服务、性能监视器和事件浏览器的集成,基于Windows 管理界面并提供对多个服务器上的远程数据复制管理、服务器管理、诊断和调整的可视化拖放控制。MS SQL Server2000是当今社会的主流数据库管理系统,它的稳定性和易用性是为世人所称道的,最重要的一点它是当今世界最大的软件设计厂商-Microsoft数据的产品。因此,他同Windows NT,Windows2000等操作系统的结合是最完美的。所以,在数据管理系统上,我们采用了MS SQL Server2000。Visual Basic提供了强有力的数据库存取能力,将Windows的各种先进特性与强大的数据库管理功能有机地结合在一起。1991年Microsoft公司推出Windows应用程序开发工具——Visual Basic,在VB中,既继承了其先辈Basic所具有的程序设计语言简单易用的特点,其编程系统又采用了面向对象,事件驱动的编程机制,用一种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见即所得的可视界面设计方法,给广大非计算机专业人员学习、使用、研究和开发Windows环境下的应用程序带来了福音。在Visual Basic中,有两种常用的处理图像数据的方法。1.数据绑定。可以使用Image或者Picture的DataField、DataMember和DataSource的属性来对数据进行捆绑。这种方法类似与对于普通数据类型的绑定。2.直接读写。也可以使用ADO对图像数据进行读写。
小区物业管理系统|课程设计 系统的可行性研究
2.1可行性研究可行性研究的目的不是解决问题,而是确定问题是否值得去解决,如果问题没有可行的解,那么花费在这项工程上的任何时间、人力、软件资源和经费,都是无谓的浪费。本系统介绍了小区物业管理系统的实现,它是小区物业管理的一个主要组成部分,其作用是对所有住户,住房,设备情况以及各种维修,收费进行有效的管理。基于以上情况主要从以下三方面研究本系统的可行性:2.1.1技术可行性: 使用VB和成熟的sql server2000系统,没有技术上的难点。2.1.2经济可行性:主要从投资和收益方面来考虑,这个系统的经济效益必须要超过它的开发成本,一般这种软件的生成都是由使用单位请专门的软件公司或开发人员进行设计开发来实现的,这同样也存在一个后期维护的问题。而对于一个规模较大的物业公司来说,这样一个管理软件所需的功能并不是很多,但是可以带来管理效率肯定可以大幅度提高,经济效益肯定能超过它的开发成本。2.1.3操作可行性:随着计算机的普及,物业管理人员水平的提高,有能力使用计算机进行日常的管理。所以本系统的操作方式在这个用户组织内行得通。必要时还应该从法律社会效益等更广泛的方面研究系统的可行性。通过从以上三方面研究了系统的可行性,在考虑了种种因素后,我自己制定了一个较好的解决方案,并且为该系统软件制定了一个初步的计划。2.2需求分析为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。虽然在可行性研究阶段已经粗略了解用户的需求,甚至还提出了一些可行性的方案,但是,可行性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行的解法,因此许多细节被忽略了。然而在最终的系统鲜中却不能遗漏任何一个微小的部分细节,所以可行性研究并不能代替需求分析,它实际上并没有准确地回“答系统必须做什么?”这个问题。2.2.1需求分析的任务需求分析是软件工程开发设计的一个重要的环节,是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么,要解决的问题是什么?”,应该对整个应用情况作全面的,详细的调查,确定特定数据库应用环境下的设计目标,收集该应用环境下针对系统设计所需要的基本数据以及对这些数据的具体处理要求,从而确定用户的需求,从“数据”与“处理”,通过调查,收集,分析获得用户对数据库的需求。1)信息需求: 物业管理(系统):实现用户注册、登录、密码修改,等功能并对其权限进行控制以方便不同用户对其信息进行操作,便于归档查询统计,也保障了系统的安全性。其中包括的注册/登录信息有(登录名,登陆密码,用户描述等)。 住户信息管理: 业主信息管理包括(业主ID,业主姓名,出生年月,籍贯,性别,工作单位及地址,邮编,身份证号码,联系电话,开户银行,银行帐号,入住时间,迁出时间等) 房产信息管理:房产信息管理包括(房间编号,物业地址,建筑面积,使用面积,转修情况,单价,总价,是否已经售出,买主编号,买主姓名,备注等) 物业设备管理:物业设备管理包括(设备编号,设备名称,型号,品牌,所属部门,购买日期,事故记录等) 收费管理:收费管理主要包括(收费编号,住户姓名,物业地址,年份,月份,收费项目,收费方式,应收总额,已交金额,欠款金额,交费日期,办理人,备注等)。 物业设备维修管理:物业设备维修管理主要包括(维修编号,设备编号,设备名称,维修日期等)。 2)处理需求:用户可以维护,查询,修改, 基本信息数据,操作人员可以修改密码等个人信息。3)安全性与完整性要求: 用户进入系统前必须登陆,输入密码,经服务器确认后方可进入系统。本系统的主要任务是物业管理系统的系统化.规范化以及自动化。 系统的功能:1)实现对入住业主信息的录入,管理和查询的功能。2)实现对小区房产信息的录入,管理和查询的功能3)实现对小区物业设备的录入,管理和查询的功能。4)实现对小区物业管理收费,仪表使用情况收费的录入,管理和查询的功能。5)实现对小区物业设备维修的录入,管理和查询的功能。2.2.2需求分析的方法 进行需求分析首先是调查清楚用户的实际需求,与用户达成共认识,然后分析与表达这些需求。调查了解了用户需求分析以后,还需要进一步分析和表达用户的需求,在众多的分析方法中结构化分析方法是一种简单实用的方法。用数据流图和数据字典来表达需求分析。2.2.3 数据流图1.数据流程图当数据在软件系统中移动时,它将被一系列“变换”所修改。数据流图(DFD)是一种图形化技术,数据流图是系统逻辑功能的图形表示。
VB小区物业管理系统ER图+流程图+功能模块图数据字典 数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位。数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。 任何字典最主要的用途是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。 第三章 项目设计的基本原理和采用的主要方法与技术
3.1项目设计的基本原理 软件工程是一门从技术和组织管理两个角度研究如何用系统化、规范化和数量化等工程原理与方法去进行软件开发和维护的学科。软件工程学研究的范围非常广泛,包括技术方法、工具、和管理等许多方面。软件生命周期的各个阶段可分为:问题定义: 确定系统的基本功能可行性研究: 确定系统是否能够实现及是否值得实现需求分析: 确定系统必须完成的各种功能总体设计: 确定如何实现软件详细设计: 详细设计实现系统编码和单元测试: 写出正确的容易理解和维护的程序模块综合测试:通过各种类型的测试及调试使软件达到预定的要求软件维护:通过各种必要的维护活动使系统持久地满足用户需要采用软件工程的技术方法开发本系统,通过以上八个阶段组成软件的生存期。它是指从提出开发要求开始直到该软件报废为止的整个时期。分阶段进行,就把规模庞大、结构复杂和管理复杂的软件变得容易控制和管理。正是基于此思想,本系统开发实际可行的软件,方便毕业生信息的管理。3.2项目设计采用的主要技术本系统主要利用Visual Basic作为前端的应用开发工具 ,利用SQL Server作为后台的数据库,利用Windows XP作为系统平台。Windows XP以其友好的图形界面、易学易用的操作方法、强大的多任务功能、健全的内在管理以及先进的程序设计方法为广大数据库软件开发人员所熟悉。对它的操作环境的熟悉,使得我们在其上开发数据库应用程序更加方便、可靠。1) MS SQL Server2000SQL Server 是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。SQL Server 是一个关系数据库管理系统,它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的。于1988 年推出了第一个OS/2 版本,在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。MSSQL Server不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。事实上,SQL Server数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQL Server的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,SQL Server的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。SQL Server 企业管理器是 SQL Server 的主要管理工具,它提供了一个遵从 MMC 标准的用户界面,使用户得以: 定义 SQL Server 实例组。 将个别服务器注册到组中。 为每个已注册的服务器配置所有 SQL Server 选项。 在每个已注册的服务器中创建并管理所有 SQL Server 数据库、对象、登录、用户和权限。 在每个已注册的服务器上定义并执行所有 SQL Server 管理任务。 通过唤醒调用 SQL 查询分析器,交互地设计并测试 SQL 语句、批处理本。 唤醒调用为 SQL Server 定义的各种向导。2)Visual Basic语言Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。Visual Basic的特点:可视化编程:最直观的编程方法,程序人员只需绘制界面,无需编程, VB自动产生界面代码,就可以完成许多步骤。这样大大的提高了程序设计的效率。这些在以前的编程语言下是要经过相当复杂的工作的。面向对象的程序设计思想:对象:现实世界中的实体,如汽车。属性:描述对象的特征,如车的颜色。方法:向对象实施的动作,如启动车。事件:动作所触发的操作,如红灯亮。事件驱动的编程机制:由事件来引发程序的运行。结构化的程序设计语言。支持多种数据库系统的访问。3.3 数据访问技术ADO.NET 提供对 Microsoft SQL Server 等数据源以及通过 OLE DB 和 XML 公开的数据源的一致访问。数据共享使用者应用程序可以使用 ADO.NET 来连接到这些数据源,并检索、操作和更新数据。ADO.NET有效地从数据操作中将数据访问分解为多个可以单独使用或一前一后使用的不连续组件。ADO.NET 包含用于连接到数据库、执行命令和检索结果的 .NET Framework 数据提供程序。您可以直接处理检索到的结果,或将其放入ADO.NET DataSet 对象,以便与来自多个源的数据或在层之间进行远程处理的数据组合在一起,以特殊方式向用户公开。ADO.NET DataSet 对象也可以独立于 .NET Framework 数据提供程序使用,以管理应用程序本地的数据或源自 XML 的数据。3.4 数据库系统设计及范式分析数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数
VB小区物业管理系统据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。数据库设计的步骤是:(1) 数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机事务处理CLTP(负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据库。针对选择的DBMS,进行数据库结构定义。(2) 数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。 (3) 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。 (4) 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。 (5) 数据字典设计:用数据字典描述数据库的设计,便于维护和修改。为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:规范化地重组数据结构:对数据进行规范化表达,这在后面将会具体讨论。关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了。 建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构。(1)链接关系的确定 在进行了上述数据规范化重组后,已经可以确保每一个基本数据表(我们简称为表)是规范的,但是这些单独的表并不能完整地反映事物,通常需要通过指标体系整体指标数据才能完整全面地反映问题。也就是说在这些基本表的各宇段中,所存储的是同一事物不同侧面的属性。那么计算机系统如何能知道哪些表中的哪些记录应与其它表中的哪些记录相对应,它们表示的是同一个事物呢?这就需要在设计数据结构时将这种各表之间的数据记录关系确定下来。这种表与表之间的数据关系一般都是通过主或辅关键词之间的连接来实现的。因为在每个表中只有主关键词才能唯一地标识表中的这一个记录值(因为根据第三范式的要求,表中其它数据字段函数都依赖于主关键词),所以将表通过关键词连接就能够唯一地标识出某一事物不同属性在不同表中的存放位置。(2)确定单一的父子关系结构 所谓确定单一的父系关系结构就是要在所建立的各种表中消除多对多(以下用M:N来表示)的现象,即设法使得所有表中记录之间的关系呈树状结构(只能由一个主干发出若干条分支,而不能有若干条主干交错发出若干条分支状况)。 所谓的“父系”就是指表的上一级关系表。消除多对多关系可以借助于E-R图的方法来解决,也可以在系统分析时予以注意,避免这种情况的发生。消除这种M:N情况的办法也很简单,只需在二表之间增加一个表,则原来M:N的关系就改成了M:1,1:N的关系了。 第四章 总体设计
4.1总体设计原理总体设计的基本目的就是回答“概括的说,系统应该如何实现?”这个问题。因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互之间的关系。总体设计工程通常有两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计确定软件结构,也就是要确定系统中每个程序拥有哪些模块组成的,以及这些模块之间的关系。在详细设计之前进行总体设计可以站在全局的高度上,花较少的成本,从中选出最佳方案和最合理的软件结构,从而用较低的成本开发出高质量的软件系统。采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。因为程序的错误通常局限在有关的模块及它们之间的接口中,所以模块化使软件容易测试和调试。应而有助于提高系统的可靠性。并且模块化还能够提高软件的可修改性,也有助于软件开发工程的组织管理。因此,在进行软件结构设计时应该遵循的最主要的原理就是模块化独立原理。
4.2 运行环境与系统结构 为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛用于内部的局域网。其运行要求如下:软件环境:客户端: Windows98/NT/XP,Internet Explorer(IE)等服务器端:Windows NT/Windows2000,Internet Information Server (IIS)4.0及其以上版本,IE等;或者Windows98,Personal Web Server(PWS),IE等。数据库:采用SQL Server,运行于服务器端。4.3系统流程图系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。
VB小区物业管理系统ER图+流程图+功能模块图功能模块图 模块化就是把程序划分成独立命名且可独立访问的的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。 采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。因为程序错误常局限在有关的模块及它们之间的接口中,所以模块化使软件容易测试和调试,因而有助于提高软件的可靠性。一个好的电子系统要有一些必要的模块组成,若缺少了某些模块那么这个系统就会有缺陷。
抓住了总的功能目标,然后逐层分解,即先确定上层模块的功能,再确定下层模块的功能,遵守自顶向下的原则和面向用户的原则。 图 4.2功能模块图 功能模块能清晰直观的用层次图描述该系统的总体结构,本系统主要分为:基本信息管理 住户收费管理 住户维修管理 住户设备管理 系统用户管理 五个模块。基本信息管理包括住户管理和房屋管理,住户收费管理包括收费项目管理和收费记账管理,住户维修管理包括维修项目管理,住户设备管理包括设备项目管理 ,系统用户管理包括用户信息管理和修该自身密码4.5系统功能分析权限功能:为用户设置权限功能,可分为普通用户,管理员。普通用户只是查询修改业务数据,管理员能查询、修改、删除所有业务数据和普通用户信息。录入功能:为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能。查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。 维护功能:为一般用户提供查询及相应的修改,删除功能,为超级用户提供对所有信息的修改删除功能。退出功能:结束并关闭系统。4.6关系模型住户(业主ID、业主姓名、出生年月、籍贯、性别、工作单位及地址、邮编)住户住房信息(买主编号、买主姓名、房间编号、入住时间、迁出时间)设备信息(设备编号、设备名称、型号、品牌、所属部门、购买日期)收费信息(收费编号、住户姓名、月份、收费项目、收费方式,应收总额、已交金额、欠款金额)维修信息(维修编号、设备编号、设备名称、维修日期、完成日期、维修费用)4.7系统安全与维护措施本系统采用直接方式添加记录,该方法直接而简单,为了避免输入有错误,该功能界面对用户容易出错的地方都给出了输入提示,同时也使用了更新和取消按钮来确认数据的取消输入,如果输入数据与实际数据不相复,则系统会给出提示信息,让你重新输入正确的数值。安全策略:此管理系统也为系统用户提供了一定的安全性,该系统可以多人使用,每人使用不同的用户名和密码进入系统,但只有系统管理员的权限可以进行用户的管理(如:用户的添加、用户的修改、用户的删除等),其它用户都不能对用户进行操作。系统数据维护:一个好的信息管理系统,应该为系统提供处理系统故障,恢复系统数据的功能。该系统也同样提供了数据维护(包括对数据的备份、恢复)两项功能。建议用户定期备份系统数据,这样在系统出现问题时,可以进行有效地恢复
VB小区物业管理系统ER图+流程图+功能模块图系统的编码实现
6.1系统的实现6.1.1用户登陆运行效果: 图6.1系统登陆界面程序代码:Private Sub Command1_Click()If Text1.Text = "" And Text2.Text = "" Then MsgBox "请输入用户名和密码!" Else If Text1.Text = "" Then MsgBox "你还没有输入用户名!" Text1.SetFocus Else If Text2.Text = "" Then MsgBox "你还没有输入密码!" Text2.SetFocus Else Dim user As String user = "用户名=" & "'" & Trim(Text1.Text) & "' and " + "密码=" & "'" & Trim(Text2.Text) & "'" Data1.Recordset.FindFirst user If Data1.Recordset.NoMatch Then MsgBox "没有该用户,或密码错误!" Exit Sub Else MDIForm1.Show Form3.Show Form19.Label3.Caption = Text1.Text Unload Me End If End If End IfEnd IfEnd Sub主界面: 图6.2系统主界面正确登陆后进入主界面,说明该小区物业管理系统的五大功能模块:基本信息管理 住户收费管理 住户维修管理 住户设备管理 系统用户管理。
6.1.2设备维修管理运行效果: 图6.3设备维修管理界面代码:Private Sub Command1_Click()If Command1.Caption = "添 加" Then Command1.Caption = "保 存" Data1.Recordset.AddNew Text1.SetFocus Exit Sub Else Text1.Locked = True Data1.Recordset.Update Data1.Recordset.MoveLast Command1.Caption = "添 加" Data1.RefreshEnd IfEnd SubPrivate Sub Command2_Click()Dim dd = MsgBox("是否真的删除吗?", vbYesNo + vbQuestion, "删除")If d = vbYes Then Data1.Recordset.Delete Data1.Recordset.MoveNext If Data1.Recordset.EOF = True Then Command4.Enabled = False Data1.Recordset.MovePrevious If Data1.Recordset.BOF = True Then Command3.Enabled = False Command2.Enabled = False End If End IfEnd IfData1.RefreshEnd SubPrivate Sub Command3_Click()Data1.Recordset.MovePreviousIf Data1.Recordset.BOF Then Command3.Enabled = False Data1.Recordset.MoveNextElse Command3.Enabled = TrueEnd IfCommand4.Enabled = TrueEnd SubPrivate Sub Form_Load()Data1.DatabaseName = App.Path & "\db.mdb"Data1.RefreshMe.Width = 10560Me.Height = 7650If Data1.Recordset.EOF Then Command2.Enabled = False Command3.Enabled = False Command4.Enabled = FalseEnd IfEnd SubPrivate Sub Command5_Click()If Text1.Locked = True Or Text2.Locked = True Or Text3.Locked = True Or Text4.Locked = True Or Text5.Locked = True Then MsgBox "请输入查找编号" Text1.SetFocus Else Dim a a = "单据编号=" & "'" & Text1.Text & "'" Data1.Recordset.FindFirst a If Data1.Recordset.NoMatch Then MsgBox "没有此记录" Else End IfEnd IfEnd Sub
小区物业管理系统|课程设计图6.4物业收费管理界面代码:Private Sub Command1_Click()If Command1.Caption = "添 加" Then Command1.Caption = "保 存"Data1.Recordset.AddNew Text1.Locked = False Text1.SetFocus Command2.Enabled = False Exit Sub Else Text1.Locked = True Data1.Recordset.Update Data1.Recordset.MoveLast Command1.Caption = "添 加"
Data1.Refresh Command2.Enabled = TrueEnd IfEnd SubPrivate Sub Command2_Click()Dim dd = MsgBox("是否真的删除吗?", vbYesNo + vbQuestion, "删除")If d = vbYes Then Data1.Recordset.Delete Data1.Recordset.MoveNext If Data1.Recordset.EOF = True Then Command4.Enabled = False Data1.Recordset.MovePrevious If Data1.Recordset.BOF = True Then Command3.Enabled = False End If End IfEnd IfData1.RefreshEnd SubPrivate Sub Command3_Click()Data1.Recordset.MovePreviousIf Data1.Recordset.BOF Then Command3.Enabled = False Data1.Recordset.MoveNextElse Command3.Enabled = TrueEnd IfCommand4.Enabled = TrueEnd SubPrivate Sub Command4_Click()Data1.Recordset.MoveNextIf Data1.Recordset.EOF Then Command4.Enabled = False Data1.Recordset.MovePreviousElse Command4.Enabled = TrueEnd IfCommand3.Enabled = TrueEnd SubPrivate Sub Command5_Click()If Text1.Locked = True Or Text2.Locked = True Or Text3.Locked = True Or Text4.Locked = True Or Text5.Locked = True Then Text1.Locked = False MsgBox "请输入查找编号" Text1.Text = "" Text1.SetFocus Else Dim a a = "单据编号=" & "'" & Text1.Text & "'" Data1.Recordset.FindFirst a If Data1.Recordset.NoMatch Then MsgBox "没有此记录" Else Text1.Locked = True End IfEnd IfEnd SubPrivate Sub Form_Load()Data1.DatabaseName = App.Path & "\db.mdb"Data1.RefreshMe.Width = 10560Me.Height = 7650If Data1.Recordset.EOF Then Command2.Enabled = FalseEnd IfEnd Sub 6.1.4房屋及住户管理运行效果: 图6.5房屋及住户资料管理界面代码:Private Sub Command1_Click()If Command1.Caption = "添 加" Then Command1.Caption = "保 存" Data1.Recordset.AddNew Text1.Locked = False Text1.SetFocus Command2.Enabled = False Exit Sub Else
Text1.Locked = True Data1.Recordset.Update Data1.Recordset.MoveLast Command1.Caption = "添 加"
Data1.Refresh Command2.Enabled = True End IfEnd Sub
Private Sub Command2_Click()Dim dd = MsgBox("是否真的删除吗?", vbYesNo + vbQuestion, "删除")If d = vbYes Then Data1.Recordset.Delete Data1.Recordset.MoveNext If Data1.Recordset.EOF = True Then Command4.Enabled = False Data1.Recordset.MovePrevious If Data1.Recordset.BOF = True Then Command3.Enabled = False Command2.Enabled = False End If End IfEnd IfData1.RefreshEnd SubPrivate Sub Command3_Click()Data1.Recordset.MovePreviousIf Data1.Recordset.BOF Then Command3.Enabled = False Data1.Recordset.MoveNextElse Command3.Enabled = TrueEnd If
Command4.Enabled = TrueEnd Sub
Private Sub Command4_Click()
Data1.Recordset.MoveNextIf Data1.Recordset.EOF Then
Command4.Enabled = False Data1.Recordset.MovePreviousElse Command4.Enabled = TrueEnd IfCommand3.Enabled = TrueEnd Sub
Private Sub Command5_Click()If Text1.Locked = True Or Text2.Locked = True Or Text3.Locked = True Or Text4.Locked = True Or Text5.Locked = True Then Text1.Locked = False Text5.Locked = False MsgBox "请输入查找编号" Text1.Text = "" Text1.SetFocus Else Dim a a = "楼宇单元=" & "'" & Text1.Text & "'" Data1.Recordset.FindFirst a If Data1.Recordset.NoMatch Then MsgBox "没有此记录" Else Text1.Locked = True End IfEnd IfEnd SubPrivate Sub Form_Load()Data1.DatabaseName = App.Path & "\db.mdb"Data1.RefreshMe.Width = 10935Me.Height = 7830If Data1.Recordset.EOF Then Command2.Enabled = False Command3.Enabled = False Command4.Enabled = FalseEnd If Text1.Locked = TrueEnd Sub
VB小区物业管理系统图6.7用户口令修改界面
口令修改代码:Private Sub Command2_Click()Unload MeEnd Sub
Private Sub Form_Load()Data1.DatabaseName = App.Path + "\db.mdb"Data1.RecordSource = "用户管理"Me.Height = 3945Me.Width = 5475End Sub
Private Sub Command1_Click()If Text1.Text = "" And Text2.Text = "" And Text3.Text = "" Then MsgBox "你没有输入更新信息!" Else If Text1.Text = "" Then MsgBox "请输入原密码!" Else If Text2.Text = "" Then MsgBox "你没有输入新密码!" Else If Text3.Text = "" Then MsgBox "请确认你的新密码!" Else If Text2.Text <> Text3.Text Then MsgBox "你两次输入的密码不同,请重新输入新密码!" Text2.Text = "" Text3. lwfree.cn Data1.Recordset.FindFirst password If Data1.Recordset.NoMatch Then MsgBox "你输入的原密码有误!" Else Data1.Recordset.AddNew Data1.Recordset.Fields("用户名") = Label3.Caption Data1.Recordset.Fields("用户编号") = Label3.Caption Data1.Recordset.Fields("密码") = Text2.Text Data1.Recordset.Update Data1.Recordset.Delete MsgBox "你已经成功的更换了新密码,请使用新密码!" End If End If End If End If End IfEnd IfEnd Sub
VB小区物业管理系统ER图+流程图+功能模块图测试用例设计、测试与运行记录
7.1测试计划7.1.1单元测试:单元测试也称模块测试或程序测试,单元测试是对每个模块单独进行的,验证模块接口与设计说明书是否一致,对模块的所有主要处理路径进行测试且与预期的结构进行对照,还要对所有错误处理路径进行测试。对源码进行审查,对照设计说明书,表态地检查源程序是否符合功能的逻辑要求,是进行单元测试前的重要工作工。单元测试一般是由程序员完成,也称程序调试。7.1.2组合测试组合测试也称集成测试或子系统测试,通常采用自顶向下测试和自底向上测试两种测试方法。组合测试的对象是指已经通过单元测试的模块,不是对零散模块进行单个测试,而是用系统化的方法装配和测试软件系统,是一个严格的过程,必须认真地进行,其计划的产生和单元模块测试的完成日期要协调起来,这种测试应在系统目标机上进行,造成系统应用的环境条件,除了开发部分项目负责人参加以外,还应该有相应系统的用户参加,给评审员进行演示。7.1.3确认测试确认测试是对通过组合测试的软件进行的,这些软件已经存于系统目标设备的介质上,确认测试的目的是对表明软件是可以工作的,并且符合“软件需求说明书”中规定的全部功能和性能要求。确认测试是按照这些要求定出的“确认测试计划”进行的。测试工作是由一个独立的组织进行,而且测试要从用户的角度出发。7.1.4系统测试系统测试是对整体性能的测试,主要解决各子系统之间的数据通信和数据共享问题以及检测系统不否达到用户的实际要求,系统测试的依据是系统分析报告。系统测试应在系统的整个范围内进行,这种测试不只对软件进行,而是对构成系统的硬、软件一起进行。系统测试与建构同时进行或略慢。系统测试需要确认从头到尾的功能正常才算完成,应当尽量避免系统测试延到项目末尾进行。7.1.5用户验收测试在系统测试完成后,进行用户的验收测试,它是用户在实际应用环境中所进行的真实数据测试。在具体的测试中,一般应遵循以下原则:由程序设计者之外的人进行测试;测试用例应由两部分组成:输入数据和预期输出结果;应选用不合理的输入数据与非法输入测试;不仅要检验程序是否实现预期功能,还应检查程序是否做了不应该做的工作;集中测试容易出错的程序模块;对程序修改以后,必须重新进行测试。7.2测试目的在软件的开发过程中存在许多复杂的问题,为了保证软件在投入运行中;保证软件的质量和运行的安全行,测试过程是必不可少的,同时也是关键的。测试是为了发现软件在运行过程中所出现的问题,并在出现问题时能够及时的做出相应的修改。7.3 测试目标测试的目标是保证软件在投入运行中的安全性和稳定行。7.4 测试方法 测试方法是测试过程中至关重要的环节,采用的测试方法不同所产生的效果和所用的测试经费也是不同的。一个好的测试方法能够提高测试的效率,缩短测试的时间,也能够减少测试的经费。7.5测试项目1)基本的用户和管理员登陆测试2)基本的输入和输出操作测试3)输入错误时系统的正确反应7.6测试步骤1)当输入的密码或用户名错误时提示如下信息 图7.1用户登陆失败界面
2)当输入的密码或用户名为空时提示如下信息 图7.2用户名或密码为空时的提醒界面
3)维修查询时输入的编号为空时提示如下信息 图7.3维修查询时输入的编号为空时提示界面
4)系统用户密码修改验证
VB小区物业管理系统ER图+流程图+功能模块图个人遇到的困难与获得的主要成果
8.1遇到的困难 在需求分析阶段与总体设计阶段对各图形所代表含义有些模糊,导致经常出现使用错误,并多次修改。在需求分析阶段,由于对过程的不熟悉和对软件需求理解不深,在画数据流图和编写数据字典时出现大量错误。在软件程序编写阶段,对数据库和VB中调用及存储图片资料的方法不了解,导致功能无法实现。8.2获得的成果对各种图形在各阶段流程图中的具体含义有了进一步的理解,并发现原来记忆中的不少错误认识。在软件开发前要深入了解类似软件的具体功能要求,并认真听取客户要求及意见,并在开发过程中及时与客户进行交流。这将会节省大量的时间及人力物力,提高开发效率,并使软件更符合客户要求。在本次课程设计过程中还学会了在VB和数据库中存储图片资料的方法。通过本次课程设计发现自己在各方面还有很多不足,在今后的学习实践中,还需不断学习,努力充实自己,开拓眼界,转换思维,不断提升自身能力。 第九章 课程设计完成结果分析与个人小结
二十一世纪是人类走向信息社会的世纪,是网络的时代,是超高速信息公路建设取得实质性进展并进入应用的年代。在世纪之交的今天,信息技术的发展将在芯片技术、并行处理技术、分布式客户/服务器模式、千兆位网络、网络计算、企业网络技术的发展多媒体技术等方面有着广阔的发展领域。计算机将向着巨型化、微型化、网络化、智能化发展,前途一片光明。通过软件工程课程设计让我们把学到的课本知识用到实践中,充分运用所学编程语言,数据库,计算机网络维护等知识,培养了我们实践动手能力和理论联系实际能力,通过这次课程设计,我进行了有目的的调查研究,运用所学知识,分析和解决实际问题,以获得有关的实际知识和技能,从而为我们走向社会奠定初步基础。在小区物业管理系统的设计过程中,我遇到了不少的难题。其中一些是因为缺少编程经验而出现的简单错误。而其中也有较为复杂的,通过自己的钻研和同学的帮助得到绝大部分的解决,这对我在编程有一定的帮助和积累经验作用。在小区物业管理系统的完成过程中,首先遇到的就是数据库的建立问题。怎样合理地建表,设定几个字段名称,数据类型以及其他属性需要根据运行功能不断修改完善。第二个问题时由于时间的仓促,很多信息的输入没有做好有效字符的限定设置,就显得没有那么地正规。这些问题虽然解决了不少,但我也发现了自身存在的很多问题:首先就是一个系统的需求分析阶段时,数据库的设计占有很重要的位置,要考虑地详细周全就要作好充分的调查,一个设计比较好的数据库可以减少数据的冗余,简化查询的过程和代码,方便查询,还可以提供较好的维护手段。这些在我以后的工作中都很有启发的价值。其次,就是程序设计的模块化的问题,一个好的软件,都将一些较为常用的功能模块化,使用于整个工程,很方便地实现调用,不但减少了代码的重复性,还使程序简洁易懂。这些都是我的程序中有待改善的地方本次数据库课程设计让我弥补了许多以前的不足和知识遗漏点,并对已经掌握的知识点进一步实践了一次。理解了软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程,可行性分析也是如此。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,计算机的应用在生活中可以说得是无处不在。因此作为二十一世纪的计算机专业毕业的大学生来说是十分重要的。在整个设计过程中,遇到我们不能解决的问题时,张继福老师和赵旭俊老师给予了我们很大的指导与帮助,从对系统的深刻分析,总体设计和详细设计的分析,使得我整个设计得以有了一个总体的完整框架。加深了我对软件工程理论和基础知识的理解。在这里再次表示深深感谢!我将该系统大体分为五个模块:用基本信息管理 住户收费管理 住户维修管理 住户设备管理 系统用户管理 五个模块,设计了一个简单完整的小区物业管理系统。首先我们分析出该系统设计部分包括功能模块设计和数据库结构设计等。接下来我们分析出该系统所包含的主体有住户收费管理 住户维修管理 住户设备管理。同时我通过它们的联系将其对应起来。然后要明确它们在数据库中所应有的功能权限。最后根据其功能画出数据流程图,列出数据字典,构造出E-R图。在三个星期的时间里,我在张继福,赵旭俊等老师的指导下进行了有关数据库课程设计项目。通过这次的课程设计,我们对数据库有了进一步的了解。加深了我们对数据库基础理论和基础知识的理解。使我们初步掌握了软件系统设计的全过程及使用数据库进行软件设计的基本方法,特别是对简单数据库设计所涉及的问题。 总之 ,通过这次的课程设计 ,使我了解到一个完整的信息系统需要投入很大的精力,同时也要掌握好各门基础知识,这样才能在整体设计时把握好设计的每一步环节。同时更重要的是,要做好前期的准备工作 ,如进行系统的策划,需求分析,要认清其要实现的功能等等。所以说,作为一个计算机专业的学生学好专业知识与计算机语言(如 VB ,SQL)是很重要的 。 我在这次设计中也颇得感受:由于初步的学习和有限的经验,我不可能将设计想的很周全,更不可能一步到位。但是,我在这次设计中积极发挥自己的能力,积极思考,跟同学讨论,以求在有限的基础上将系统作好。最后,恳切希望老师给予理解与批评。 参考文献
[1] 萨师煊. 王珊编.数据库系统概论. 北京:高等教育出版社,2003年[2] 杨志强. Visual Basic程序设计教程.北京:高等教育出版社,2003年[3] 范立南. SQL Server 2000 实用教程.北京:清华大学出版社,2004年[4] 张海藩.软件工程导轮.北京:清华大学出版社,2004年[5] 徐士良.常用算法程序集.北京:清华大学出版社 2004年[6] 周志刚. 软件工程. 北京:机械工业出版社 2001年9月