小區(qū)物業(yè)管理系統(tǒng)的設計與實現(xiàn)畢業(yè)設計論文_第1頁
小區(qū)物業(yè)管理系統(tǒng)的設計與實現(xiàn)畢業(yè)設計論文_第2頁
小區(qū)物業(yè)管理系統(tǒng)的設計與實現(xiàn)畢業(yè)設計論文_第3頁
小區(qū)物業(yè)管理系統(tǒng)的設計與實現(xiàn)畢業(yè)設計論文_第4頁
小區(qū)物業(yè)管理系統(tǒng)的設計與實現(xiàn)畢業(yè)設計論文_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 摘 要本論文描述了小區(qū)物業(yè)管理系統(tǒng)的設計與實現(xiàn)。本軟件的前臺設計由PowerBuilder 8.0實現(xiàn),后臺管理是由Adaptive Server Enterprise實現(xiàn)。利用Sybase Central用戶界面工具進行數(shù)據庫的創(chuàng)建和管理。整個軟件系統(tǒng)基于客戶端/服務器模式,但現(xiàn)階段只開發(fā)了單機版的軟件。本系統(tǒng)界面設計大方、簡潔、實用,操作簡單方便,是一款完全適合普通小區(qū)物業(yè)日常事務管理的軟件。軟件設計綜合了具有一定代表性的多家物業(yè)管理公司的業(yè)務模式和需求。能實現(xiàn)人事、房產、客戶、會所、設備、倉庫、保安、保潔、綠化、收費等小區(qū)的智能化管理,可以提高物業(yè)管理的效率。關鍵字:小區(qū)物管,物業(yè)管理

2、,物業(yè)管理系統(tǒng),小區(qū)物業(yè)管理系統(tǒng),PowerBuilder,Sybase Central,客戶端/服務器模式AbstractThe paper describes the design and realization of Property Manage System(PMS) .The foreground of the software is carried out by PowerBuilder 8.0 and the background by Adaptive Server Enterprise. Using the Sybase Central customer interface

3、 tool to create and manage the database.The whole software system base on the client/server mode, but the present stage developped the software of the single machine version only.This interface of the system is generous, practical, with simple operational method, and it is also a software complete s

4、uiting the common Property business management.It synthesizes the requirement and business mode of many property management company in designing precess.It can realize the management of personnel, house property, customer, club, equipments, warehouse, public security, cleanliness,virescence, charges

5、 in a small area of inhabitancy. And increase the efficiency of the property management.Key word: Property Manage System, PMS, PowerBuilder, Sybase Central, the client/server mode目 錄引 言1第一章 小區(qū)物業(yè)管理系統(tǒng)的開發(fā)工具21.1、開發(fā)軟件PowerBuilder8.021.2、數(shù)據庫應用初步6第二章 需求分析92.1、小區(qū)管理的要求92.2、本小區(qū)管理系統(tǒng)的目標9第三章 小區(qū)物業(yè)管理系統(tǒng)的設計103.1、小區(qū)物

6、業(yè)管理系統(tǒng)的開發(fā)工具的確定103.2、小區(qū)物業(yè)管理系統(tǒng)的結構圖103.3、小區(qū)物業(yè)管理系統(tǒng)的安全策略103.4、小區(qū)物業(yè)管理系統(tǒng)的功能113.5、小區(qū)物業(yè)管理系統(tǒng)用于存儲對象的庫(Library)的管理113.6、小區(qū)物業(yè)管理系統(tǒng)數(shù)據庫的設計12第四章 小區(qū)物業(yè)管理系統(tǒng)的實現(xiàn)134.1、主界面的建立134.2、程序與數(shù)據庫的連接164.3、系統(tǒng)安全策略的實現(xiàn)174.4、人事管理功能的實現(xiàn)244.5、房產管理功能的實現(xiàn)264.6客戶管理功能的實現(xiàn)264.7、會所管理功能的實現(xiàn)274.8、設備管理功能的實現(xiàn)284.9、倉庫管理功能的實現(xiàn)284.10、保安管理功能的實現(xiàn)294.11、保潔管理功能的實

7、現(xiàn)294.12、綠化管理功能的實現(xiàn)304.13、收費管理功能的實現(xiàn)314.14、程序調試、編譯與發(fā)行314.15、系統(tǒng)的發(fā)展方向32結 論33參考文獻34致 謝34附 錄35引 言現(xiàn)在的小區(qū)物業(yè)管理,大都采用傳統(tǒng)的人工管理的模式,這對于規(guī)模較小的物業(yè)管理公司來說,是可以應付日常的管理需要的。但是,隨著該行業(yè)競爭日益的激烈,提高物管的工作效率、為住戶提供更好的服務,成為了物業(yè)管理公司當前必須考慮的問題。而解決這些問題的途徑之一,就是將計算機引入到管理機制中來。利用本軟件系統(tǒng),可以實現(xiàn)對人事、房產、客戶、會所、設備、倉庫、保安、保潔、綠化、收費等小區(qū)的智能化管理,為住戶提供更好的服務。對于這些資料

8、,可以設置不同的權限,以限制不同級別的工作人員所訪問的內容,這在一定的程度上保障了信息的安全性。在此軟件的設計過程中,我們調查了幾家具有代表性的物業(yè)管理公司的管理模式,并參考了多個專門的物業(yè)管理軟件的功能設置。在此基礎上,編制出的軟件,就更具有了可用性和實用性,更貼近于真實的物管的需要。在此,向那些接受我們訪問的物業(yè)管理公司表示感謝。第一章 小區(qū)物業(yè)管理系統(tǒng)的開發(fā)工具1.1、開發(fā)軟件PowerBuilder8.01.1.1、軟件簡介PowerBuilder 是一種可視化的面向對象的快速應用程序開發(fā)環(huán)境,它以其開放的體系結構,簡潔高效的集成開發(fā)環(huán)境,強大的數(shù)據窗口技術,幾乎無所不能的數(shù)據庫訪問能

9、力和友好的用戶界面,已成為client/server模式應用和基于internet模式應用最優(yōu)秀的開發(fā)工具之一。最新推出的8.0版更是通過諸多強大功能、創(chuàng)新特性以及與應用服務器的無縫集成,提供了基于客戶機/服務器、web及多層結構的快速環(huán)境。它已經為許多數(shù)據庫應用開發(fā)人員所熟悉和使用并獲得了廣泛的好評。PowerBuilder 8 全面改進了應用程序開發(fā)環(huán)境,它提供了耳目一新的用戶界面增強了Web 功能數(shù)據窗口與EAServer ,更加緊密的集成功能提供了新的數(shù)據庫連接和訪問能力,進一步提高了易用性。新增的PowerScript 新特性讓開發(fā)人員能夠更加直接方便簡單有效地控制應用程序的錯誤從而

10、開發(fā)出更加健壯的應用程序。1.1.2、PowerBuilder8.0的功能和特點1、專業(yè)的客戶/服務器開發(fā)工具客戶/服務器是一種將任務進行分解,然后協(xié)同解決的計算模式??蛻舳说膽贸绦蜇撠熖岢鋈蝿招枨?,服務器端的應用程序則為客戶提供服務,例如數(shù)據查詢、打印等。用PowerBuilder8.0開發(fā)出的應用程序能夠與數(shù)據庫服務器完美地協(xié)同工作,構成客戶/服務器計算模式2、面向對象的編程在PowerBuilder8.0中創(chuàng)建的窗口、菜單、數(shù)據窗口等都是對象。除了使用系統(tǒng)預先定義的對象外,開發(fā)人員可以自行構造新的對象(稱作用戶對象),擴展系統(tǒng)的預定義對象,將各種對象有機的組合起來就構成了PowerBu

11、ilder應用程序。3、支持多種關系數(shù)據庫管理系統(tǒng)用PowerBuilder8.0開發(fā)的應用程序可以同時訪問多個數(shù)據庫系統(tǒng)(關系見圖1.1),比如說,可以從Oracle中查詢數(shù)據,然后將結果放入到Foxpro中。PowerBuilder8.0支持多種關系數(shù)據庫管理系統(tǒng)(RDBMS),既包括注入Oracle、Sybase、Microsoft SQL Server、IBM DB2、Imformix等大型數(shù)據庫,也包括Xbase、Foxpro、Paradox等個人數(shù)據庫。對大型數(shù)據庫來說,PowerBuilder提供了旨在充分發(fā)揮其性能的專用接口,而小型數(shù)據庫則可通過ODBC接口靈活的訪問。而且,P

12、owerBuilder8.0本身帶有一個功能不凡的數(shù)據庫Sybase SQL Anywhere,利用它可以脫離網絡環(huán)境單機運行應用程序。PowerBuilder8.0應用ODBC接口Oracle接口Sybase接口Informix接口Oracle數(shù)據庫Sybase數(shù)據庫 Informix數(shù)據庫其他大型數(shù)據庫SQLAnywhere 數(shù)據庫 FoxPro數(shù)據庫 其他各種支持ODBC接口的數(shù)據庫其他專用接口圖1.1 PowerBuilder8.0應用程序與數(shù)據庫管理系統(tǒng)的關系4、豐富的數(shù)據表現(xiàn)風格PowerBuilder8.0的數(shù)據窗口為展現(xiàn)數(shù)據的本質提供了豐富的手段,數(shù)據窗口能夠從多種數(shù)據源中提取

13、數(shù)據,然后以多種風格展現(xiàn)在用戶面前,這既包括文本顯示方式,也包括統(tǒng)計圖分析方式。利用數(shù)據窗口,用戶可以直觀的查詢、修改、插入、刪除、打印、瀏覽數(shù)據,而且,PowerBuilder的數(shù)據窗口還提供了組框對象和按鈕對象,開發(fā)人員可以使用他們將數(shù)據窗口中的對象進行分組,并且將用戶對數(shù)據窗口的操作界面集成在數(shù)據窗口內部。5、豐富的數(shù)據表現(xiàn)風格PowerBuilder8.0的數(shù)據窗口為展現(xiàn)數(shù)據的本質提供了豐富的手段,數(shù)據窗口能夠從多種數(shù)據源中提取數(shù)據,然后以多種風格展現(xiàn)在用戶面前,這既包括文本顯示方式,也包括統(tǒng)計圖分析方式。利用數(shù)據窗口,用戶可以直觀的查詢、修改、插入、刪除、打印、瀏覽數(shù)據,而且,Pow

14、erBuilder的數(shù)據窗口還提供了組框對象和按鈕對象,開發(fā)人員可以使用他們將數(shù)據窗口中的對象進行分組,并且將用戶對數(shù)據窗口的操作界面集成在數(shù)據窗口內部。6、靈活快捷的數(shù)據轉移方法利用PowerBuilder8.0的數(shù)據道,開發(fā)人員和應用程序能夠簡單、方便、快捷地把數(shù)據庫表中的數(shù)據從一個表復制到另一個表、從一個數(shù)據庫復制到另一個數(shù)據庫、從一個DBMS復制到另一個DBMS。在復制表的過程中,除了復制表中的數(shù)據和表結構外(當然也可以更改表結構),還可以復制相應表的擴展屬性。7、功能強大的調試器和多種調試方法PowerBuilder8.0提供了一個全新的內置調試器,利用它,開發(fā)人員能夠單步、斷點跟蹤

15、應用程序的執(zhí)行,并在中斷模式下查看或修改變量以及對象屬性的取值。除了常規(guī)的斷點設置方法外,開發(fā)人員還可以設置條件斷點和變量斷點,是應用程序在某種條件下進入中斷模式。除了內置調試器外,開發(fā)人員還可以使用PowerBuilder8.0的PBDEBUG功能跟蹤應用程序,并把執(zhí)行過程記錄到運行日志中。另外,PowerBuilder8.0還提供了專門跟蹤嵌入式SQL語句的功能,從而可以找到與數(shù)據訪問相關的性能瓶頸問題。1.1.3、PowerBuilder8.0的開發(fā)環(huán)境PowerBuilder8.0開發(fā)環(huán)境由一系列集成的畫板(Painter)組成。所謂畫板實際上就是完成一定功能的工具,比如窗口畫板用于定

16、義窗口對象,用戶對象畫板定義用戶對象,數(shù)據窗口畫板定義數(shù)據窗口對象,庫畫板完成應用庫的增、刪、改等,應用開發(fā)人員通過簡單的鼠標操作就能設計、建立、測試客戶/服務器應用程序。PowerBuilder主窗口的界面如圖1.2所示。PowerBuilder8.0各畫板完成的工作是由眾多的畫板工具實現(xiàn)的,而畫板工具又包含了一些小工具。畫板、畫板工具和小工具的有機組工作區(qū)域剪貼(Clip)窗口系統(tǒng)樹(System Tree)窗口Power工具欄輸出(Output)窗口圖1.2 PowerBuilder的主窗口菜單欄合構成了PowerBuilder8.0強大而方便的應用開發(fā)環(huán)境。1.1.4、PowerScr

17、ipt 編程語言雖然可視化編程為開發(fā)人員提供了極大的方便,但無論采用哪種編程工具開發(fā)應用程序,編碼總是其中必不可少的步驟之一。PowerBuilder使用的編程語言為PowerScript,是一種高級的、結構化的編程語言。PowerScript十分簡單易學,它的語言成份與大多數(shù)語言相似。PowerBuilder中事件處理程序、用戶自定義函數(shù)等都是使用PowerScript語言編寫的書寫PowerScript 程序時格式相當自由,每一行中的空格、縮進等均被編譯器忽略,利用這個特性,我們可以編寫出結構清晰、易于閱讀和理解的應用程序。PowerScript 與眾不同之處在于它提供了一套完整的嵌入式S

18、QL 語句,開發(fā)人員能夠像使用其他語言成分比如賦值語句那樣使用它們,而且需要的話也可以使用特定數(shù)據庫管理系統(tǒng)專用的SQL 語句,這就大大增強了程序操縱和訪問數(shù)據庫的能力。需要嵌入式SQL 語句時,無須逐字鍵入,你可以利用PowerBuilder 提供的可視化工具生成嵌入式SQL語句、然后把它粘貼到程序中。豐富的數(shù)據類型和眾多的函數(shù)進一步提高了PowerBuilder 8.0 的適應性和靈活性。PowerScript 不僅支持常規(guī)的數(shù)據類型,同時也支持用于處理多媒體數(shù)據的二進制大對象,當然它也完全支持對象類型,在代碼編寫方面PowerBuilder 8 提供了許多增強功能,比如開發(fā)人員期待已久的

19、自動代碼補充功能,編程窗口中的上下文相關幫助功能,終于在這個版本中實現(xiàn)了。新的例外處理語句給開發(fā)人員提供了處理例外錯誤的新途徑,此外PowerBuilder 8.0 還提供了拖放編寫代碼特性,進一步提高了應用程序的開發(fā)效率??偠灾炀毜卣莆誔owerScript 語言是靈活高效地開發(fā)高質量PowerBuilder 應用程序的基本要求。1.1.5、SQL語言SQL語言英文全稱是Structure Query Language,意為結構化查詢語言。SQL語言的主要功能就是同各種數(shù)據庫建立聯(lián)系,進行溝通用來執(zhí)行各種各樣的操作,例如更新數(shù)據庫中的數(shù)據、從數(shù)據庫中提取數(shù)據等。SQL已被ANSI(美國國

20、家標準協(xié)會)和國際標準化組織(ISO)定為關系型數(shù)據庫語言的標準語言。目前絕大多數(shù)流行的關系型數(shù)據庫管理系統(tǒng),如Oracle、Sybase、MicroSoft Sql Server、DB2等都遵循SQL語言標準。SQL語句有很多,功能齊全,大致可以分為四大類:² 數(shù)據定義:用于創(chuàng)建、刪除、修改數(shù)據中的各類對象,如CREATE、DROP、ALTER。² 數(shù)據查詢:對數(shù)據庫查詢檢索,命令有SELECT。² 數(shù)據更新:插入、更新、刪除數(shù)據庫,如NSERT、UPDATE、DELETE。² 數(shù)據控制:數(shù)據控制管理,如表加鎖、授權、回收授權、提交事務、回滾事務,命令

21、有:LOCK、GRANT、REVOKE、COMMIT、ROLLBACK。1.2、數(shù)據庫應用初步1.2.1、數(shù)據庫系統(tǒng)的發(fā)展數(shù)據庫系統(tǒng)是在文件系統(tǒng)的基礎上發(fā)展而來的,經歷了層次數(shù)據庫網狀數(shù)據庫關系數(shù)據庫三個階段。由于關系數(shù)據庫采用人們比較容易理解和接受的二維表格來組織數(shù)據,發(fā)展迅速,已成為數(shù)據庫產品的主流。1.2.2、基本概念數(shù)據庫(DataBase,簡稱DB)是按一定組織方式存儲在計算機存儲器中、相互關聯(lián)的數(shù)據集合,數(shù)據庫的建立獨立于程序。所謂關系數(shù)據庫就是將數(shù)據表示為表的集合,通過建立簡單表之間的關系來定義結構的一種數(shù)據庫。數(shù)據庫管理系統(tǒng)(DBMS)是一個管理數(shù)據庫的軟件系統(tǒng),為用戶提供了描

22、述數(shù)據庫,操作數(shù)據庫和維護數(shù)據庫的方法和命令,并且能自動控制數(shù)據庫的安全以及數(shù)據完整。常見數(shù)據庫管理系統(tǒng)有:Oracle、Sybase、MicroSoft SQL Server、IBM DB2等數(shù)據庫系統(tǒng)(DBS)是一個具有管理數(shù)據庫的計算機系統(tǒng),它包括應用軟件、數(shù)據庫、數(shù)據庫管理系統(tǒng)(DBMS)、數(shù)據庫管理人員(DBA)幾部分。如今所講的數(shù)據庫編程一般就是指開發(fā)數(shù)據庫系統(tǒng),即通過編制數(shù)據庫應用程序來操縱數(shù)據庫,實現(xiàn)數(shù)據有效管理。數(shù)據庫應用程序數(shù)據庫DateBase數(shù)據庫管理人員DBA數(shù)據庫管理系統(tǒng)DBMS圖1.3 數(shù)據庫應用的架構以上三者的關系見圖1.3所示。表 一種按行與列排列的相關信息的

23、邏輯組。字段 數(shù)據庫表中的每一列稱為一個字段。表結構是由其包含的各種字段定義的,每個字段描述了它的一個屬性值。字段可包含各種字符、數(shù)字甚至圖形。記錄 存放在表中的行,被稱為記錄。一般說來,數(shù)據表中任意兩個記錄不能相同。鍵 表中的某個(或多個)字段,鍵可以是唯一的,也可以是非唯一的。唯一鍵可以制定為主鍵,用來唯一標識表的每行。例如,在員工表中,員工號是表的主鍵,因為它唯一地標識了一個員工。關系 數(shù)據庫可由多個表組成,表與表之間可以以不同的方式相互關聯(lián)。例如,員工數(shù)據庫還可以有一個包含某個員工其他信息的表,這些表通過員工號與員工表相關聯(lián)。1.2.3、客戶機/服務器結構客戶/服務器(clinet/s

24、erver)是應用非常廣泛的一種結構,主要是指將一個數(shù)據庫應用系統(tǒng)分解為前臺的客戶端(或稱前端,應用程序部分)和后臺的服務器部分,通過網絡連接應用程序和服務器。客戶/服務器結構和一般數(shù)據庫應用的原理基本一致,只不過它將數(shù)據庫部分和應用部分分離開來,并通過網絡連接。這種結構的核心是客戶應用程序發(fā)送服務請求,一切由服務器完成,結果發(fā)回客戶應用程序。而服務器所進行的工作對客戶應用程序是不可見的??蛻舳薱lient客戶端client服務器server數(shù)據庫DatabaseUnix,windows NT等Oracle,SybaseMicrosoft SQL Server等網 絡返 回請 求圖1.4 客戶

25、機/服務器結構圖客戶/服務器的典型結構如圖1.4所示。第二章 需求分析2.1、小區(qū)管理的要求² 有效的管理住戶資料和員工資料,并保證其安全性。² 自動安排日常的管理事務。² 及時處理住戶的意見,并做好記錄備案。² 合理的管理公司財產,以達到更高的利用率。2.2、本小區(qū)管理系統(tǒng)的目標² 確保準確、可靠的小區(qū)管理,保證數(shù)據的安全性,一致性,完整性,提高效率,防止漏洞。² 按照登陸賬號的不同給與用戶不同的權限。如:普通住戶guest對某些資料只有查詢權限,并無資格修改數(shù)據;一般操作員opr能完全操作一部分的管理項目;而最高管理員admin就

26、享有所有的權限。² 所有的管理記錄必須完整、準確、報表及時,滿足普通住戶和管理員管理的要求。第三章 小區(qū)物業(yè)管理系統(tǒng)的設計3.1、小區(qū)物業(yè)管理系統(tǒng)的開發(fā)工具的確定本系統(tǒng)使用Powerbuilder作為系統(tǒng)界面的開發(fā)工具,Sybase作為數(shù)據庫后臺。其原因是:Powerbuilder強大的數(shù)據庫界面開發(fā)功能以及與Sybase天衣無縫的合作,能達到使用方便,穩(wěn)定性、安全性高的目的。3.2、小區(qū)物業(yè)管理系統(tǒng)的結構圖小區(qū)管理者需要建立一個比較完善的系統(tǒng)來解決小區(qū)管理各方面的問題。數(shù)據庫后臺普通用戶前臺程序圖3.1 系統(tǒng)操作結構圖其他權限用戶操作員管理員首先我們使用Sybase建立一個數(shù)據庫,

27、用來存儲所有的管理信息,包括:樓盤樓宇信息,工作人員信息,住戶信息,各種其他管理信息等。當運行由Powerbuilder建立的數(shù)據庫前臺程序的時候,就會自動連接上后臺的數(shù)據庫。用戶就能通過前臺工具對后臺進行相應的操作,其關系如圖3.1所示。3.3、小區(qū)物業(yè)管理系統(tǒng)的安全策略3.3.1、權限的分配登陸時,系統(tǒng)會根據不同的權限組給予用戶不同的權限,這個過程是通過功能的屏蔽來實現(xiàn)的,即使對應帳號不能使用的功能的菜單不顯示。例如普通用戶登陸后,系統(tǒng)自動屏蔽管理功能,使之只有查詢的功能。而在使用中,能動態(tài)、快速的實現(xiàn)用戶的更改。3.3.2、系統(tǒng)用戶的劃分在本系統(tǒng)中,初始狀態(tài)只有一個管理員權限組,管理員可

28、以任意設置不同的權限組,并給予不同的權限,使之具有不同的功能。在一個權限組下,可以添加多個具有相同功能,但不同名字的帳號。這樣,就可以實現(xiàn)系統(tǒng)的多人的安全訪問。3.4、小區(qū)物業(yè)管理系統(tǒng)的功能小區(qū)物業(yè)管理系統(tǒng)大致上需要系統(tǒng)管理、人事管理、房產管理、客戶管理、會所管理、設備管理、倉庫管理、保安管理、保潔管理、綠化管理、收費管理等幾個主要的功能。故本系統(tǒng)的模塊的劃分及功能如下:1、系統(tǒng)管理:對于帳號的管理,給予不同的帳號不同的權限,保證系統(tǒng)的安全性,并可由高權限的用戶隨意增加、刪除低一級的權限組或用戶。2、人事管理:詳細管理公司員工的情況。3、房產管理:記錄房產的詳細信息,包括樓盤、區(qū)域等各方面。4

29、、客戶管理:管理具體的客戶信息,如客戶資料,客戶所擁有房產的相關資料,客戶要求等。5、會所管理:管理小區(qū)的會員服務。6、設備管理:詳細記錄公司設備的情況,包括設備數(shù)目、種類,工作情況,維修情況等。7、倉庫管理:管理小區(qū)倉庫的庫存數(shù)量、出入庫狀況等。8、保安管理:記錄并隨時查詢小區(qū)保安的安排,包括人手分配、保安設備的情況、班次等等。9、保潔管理:安排小區(qū)的保潔工作,并提供工作質量和用具情況的查詢。10、綠化管理:包括小區(qū)住戶的戶外與室內綠化工作的安排和實現(xiàn)情況。11、收費管理:小區(qū)的各種費用,如保潔費等的收費管理。3.5、小區(qū)物業(yè)管理系統(tǒng)用于存儲對象的庫(Library)的管理在PowerScr

30、ipt目標下工作時,建立的對象被存儲在與當前應用關聯(lián)的庫(*.pbl)里面。為了便于管理、使用和查找這些對象,我們將具有相關功能的對象保存在一個庫文件中。根據3.5中的本管理系統(tǒng)的功能劃分,我們共建立了13個庫,具體庫名與功能的對應關系,見表3.1所示。功能名稱對應的庫名(*.pbl)主界面:Pms系統(tǒng):system人事管理:personnel房產管理:house客戶管理:customer會所管理:club設備管理:equipment倉庫管理:storage保安管理:bodyguard保潔管理:clear綠化管理:green收費管理:charge幫助:help表3.1 庫的劃分 3.6、小區(qū)物

31、業(yè)管理系統(tǒng)數(shù)據庫的設計在建立數(shù)據庫的時候,我們選用了Sybase ASE數(shù)據庫系統(tǒng),以方便以后軟件向網絡版的移植。為了維護Sybase系統(tǒng)的安全性和穩(wěn)定性,應避免在master、model等系統(tǒng)默認的系統(tǒng)數(shù)據庫(Database)上進行讀寫的操作。所以,我們新建了本軟件的專用數(shù)據庫PMSRUN,在建立此數(shù)據庫之前,應先建立這一數(shù)據庫所使用的數(shù)據庫設備(Database Devices),這里,我們將新建立的設備也命名為PMSRUN。在編制程序的時候,所創(chuàng)建的表格(table)都將建立在數(shù)據庫PMSRUN中。第四章 小區(qū)物業(yè)管理系統(tǒng)的實現(xiàn)圖4.1 系統(tǒng)主界面4.1、主界面的建立4.1.1、建立主

32、界面窗口本系統(tǒng)主界面作為其他所有打開窗口的父窗口,其類型應該是多文檔的窗口(MDI)。其建立過程為:新建一個空白窗口,命名為w_main,將其WindowType屬性設置為mdihelp?。淮翱诘纳室詡€人的喜好來定義;再建立主窗口的菜單m_main;將菜單與窗口關聯(lián),即設置主窗口w_main的menuname屬性為m_main。主窗口的界面如圖4.1所示,主窗體的設計我也是參考別人的設計進行的主要就是對我的協(xié)助。4.1.2、主菜單的設計根據“3.5 小區(qū)物業(yè)管理系統(tǒng)功能”的劃分,我們設計的主菜單m_main包括了十二個菜單項,名稱分別為:系統(tǒng)、人事管理、房產管理、客戶管理、會所管理、設備管理

33、、倉庫管理、保安管理、保潔管理、綠化管理、收費管理、窗口、幫助。每個菜單項下又包括自己的子菜單項,詳細的設置見表4.1。I. 系統(tǒng): 1.權限組維護2.系統(tǒng)用戶管理3.權限分配4.參數(shù)設置:1)裝修情況設置2)員工狀態(tài)設置3)學歷設置4)職務設置5)客戶類型設置6)客戶服務類型設置7)報修狀態(tài)維護8)設備類型設置9)設備故障類型設置10)倉庫物品類型設置11)保安時間類型設置12)保潔巡視結果設置13)綠化檢查結果設置14)單元設備類型設置5.顯示工具欄6.更改用戶7.修改密碼8.備份數(shù)據庫9.還原數(shù)據庫10.退出系統(tǒng)II.人事管理:1.部門配置2.人事資料管理3.人事規(guī)章制度管理III. 房

34、產管理:1.樓盤資料管理2.區(qū)域管理3.樓宇資料管理4.房型管理5.單元資料管理6.單元戶主管理7.租賃管理8.單元設備管理IV.客戶管理: 1.客戶資料管理2.客戶服務內容管理3.客戶服務管理4.一對一私人助理管理5.裝修管理6.客戶單元報修管理7.客戶投訴建議處理8.小區(qū)公告V.會所管理: 1.會所服務內容管理2.會員資料管理VI.設備管理: 1.設備管理2.設備維修管理3.設備維護管理4.設備維護保養(yǎng)計劃管理VII.倉庫管理: 1.出入庫管理2.庫存數(shù)量管理3.倉庫歷史記錄查詢4.倉庫變動情況統(tǒng)計VIII.保安管理: 1.保安崗位設置2.值班班次設置3.保安排班管理4.保安事件管理5.保

35、安用具管理6.保安用具維修管理7.保安用具使用記錄查詢IIX保潔管理: 1.保潔區(qū)域管理2.保潔工作安排3.日常保潔巡視管理4.保潔用具管理5.保潔用具維修管理6.保潔用具使用記錄查詢7.保潔計劃管理IX綠化管理: 1.室內綠化管理:1)室內綠化區(qū)域管理2)室內綠化計劃管理3)室內綠化巡視管理2.室外綠化管理:1)室外綠化區(qū)域管理2)室外綠化計劃管理3)室外綠化巡視管理X收費管理: 1.收費項目管理2.單元收費管理3.繳費管理4.繳費記錄查詢XI. 窗口: 1.層疊窗口2.按名稱排列3.排列圖標XII. 幫助: 1.軟件幫助2.關于3.注冊為表4.1 主菜單的詳細設置為了實現(xiàn)菜單相應的功能(打

36、開相應的子窗口),我們在對應的菜單的單擊事件中寫入如下代碼:opensheet(windowname,w_main,0)其中,windowname為將要打開的窗口,w_main為主窗口的名稱。如,為了打開“權限組維護”窗口w_group_of_popedom,我們在菜單m_main.m_01.m_0101的單擊(clicked)事件中寫下如下代碼:opensheet(w_group_of_popedom,w_main,0)其余的窗口的打開,以此類推,不再贅述。為了管理已經打開的窗口,在菜單項“窗口”中,有三個子菜單:“層疊窗口”、“按名稱排列”、“排列圖標”;它們的功能分別為:層疊所有已經打開

37、的窗口、按名字排列已經打開的窗口、重新排列最小化的窗口圖標;它們實現(xiàn)功能的單擊(clicked)事件代碼依次為:w_main.ArrangeSheets(Cascade! )w_main.ArrangeSheets(Tile!)w_main.ArrangeSheets(Icons!)如需SQL沒地方下載可以去計算機畢業(yè)設計門戶網站下載。4.2、程序與數(shù)據庫的連接4.2.1、數(shù)據庫中表格的建立根據本小區(qū)管理系統(tǒng)的功能劃分,共建立了44個表格,具體的數(shù)據字典因篇幅較大,將在附錄中詳細列出。4.2.2、程序與數(shù)據庫的連接在應用程序啟動之前,應先打開數(shù)據庫PMSRUN,其做法,可以手動在Sybase

38、Central中啟動,也可以設置為開機自動運行。為了使應用程序能操作數(shù)據庫中的表(table),應該在應用程序的初始化階段建立與后臺數(shù)據庫的連接。連接的方法可以是使用數(shù)據庫描述文件,也可以直接在程序中編寫連接參數(shù)。在此程序中,因為只是用到一個數(shù)據庫,不會出現(xiàn)在運行過程中連接另外的數(shù)據庫的情況,隨意我們使用了在程序中直接編寫連接參數(shù)的方法。本小區(qū)物業(yè)管理系統(tǒng)與數(shù)據庫的連接參數(shù),寫在程序的open時間中,其代碼是:SQLCA.DBMS = "SYC Adaptive Server Enterprise"SQLCA.Database = "PMSRUN" /說

39、明數(shù)據庫的名稱SQLCA.ServerName = "PMS" /說明運行數(shù)據庫后臺的計算機名SQLCA.LogId = "sa" /登陸數(shù)據庫的用戶名SQLCA.AutoCommit = False /關閉自動提交功能connect; /連接數(shù)據庫if SQLCA.sqlCode<>0 thenMessageBox("連接數(shù)據庫失敗!",SQLCA.sqlerrtext)Halt /若數(shù)據庫連接失敗,就中止程序的運行else open(w_log) /若數(shù)據庫連接成功,就打開登陸界面end if4.3、系統(tǒng)安全策略的實現(xiàn)

40、4.3.1、登陸界面的設定4.3.1.1、界面的布局為了區(qū)分不同的用戶,并賦予不同的權限,應建立完善的登陸機制。在本系統(tǒng)中,登陸界面w_log是最先啟動的頁面,其窗口類型(windowtype)為響應式窗口(response!)。它包含一個圖片控件(picture)p_back,用于顯示背景畫面;兩個用于顯示用戶名和密碼字樣的靜態(tài)文本控件(staticText)st_ogin_user、st_password;兩個用于編輯用戶名和密碼的單行編輯框控件(singlelineedit)sle_login_user、sle_password;為了美觀,在這里使用了兩個靜態(tài)文本控件(staticTex

41、t)st_ok、st_cancel來作為實現(xiàn)按鈕的作用,分別用于最輸入的確定和取消。登陸界面的布局可以參看圖4.2。這是一個無邊框的頁面,是從美觀的角度來考慮的,為了實現(xiàn)這一目標,首先定義局部外部函數(shù)(Local External Functions):FUNCTION ulong SetWindowRgn(ulong hWnd,ulong hRgn,boolean bRedraw)LIBRARY "user32.dll"靜態(tài)文本控件st_ogin_user單行編輯框控件(singlelineedit)sle_cancel圖片控件(picture)p_back單行編輯框控件

42、sle_login_user靜態(tài)文本控件st_password單行編輯框控件sle_password單行編輯框控件(singlelineedit)sle_ok圖4.2 登陸界面布局FUNCTION ulong CreateRoundRectRgn( int nLeftRect, int nTopRect,int nRightRect, int nBottomRect, int nWidthEllipse,int nHeightEllipse)LIBRARY "gdi32.dll"再在w_log的open事件中添加以下代碼:long hrgnlong lreshrgn=Cre

43、ateRoundRectRgn(3,3,505,312,0,0)lres=SetWindowRgn(handle(this),hrgn,true)4.3.1.2、功能的實現(xiàn)為了傳遞參數(shù),定義了一個全局變量(Global Variables)gs_password用于保存登陸密碼,類型為字符串類型(String);還有一個實例變量(Instance Variables)Log_time用于保存輸入密碼錯誤的次數(shù),為整數(shù)類型(Integer),初始值是1。靜態(tài)文本控件(staticText)st_ok的單擊(clicked)代碼為:string ls_login_user,ls_password

44、/定義變量ls_login_user=sle_login_user.text /傳輸給變量ls_password=sle_password.textSELECT password /用SQL語句讀取用戶密碼 INTO :gs_password FROM tb_user WHERE login_user=:ls_login_user;if SQLCA.SQLCode<>0 thenif Log_time=3 then messagebox('警告','登錄帳號錯誤,你無權使用本系統(tǒng),本系統(tǒng)將關閉!',Exclamation!)HALT closeels

45、eLog_time+messagebox('物業(yè)管理系統(tǒng)','登錄帳號錯誤,請重新輸入帳號',StopSign!) /若帳號錯誤,則計數(shù)器加1end ifsle_login_user.setfocus()elseif gs_password=ls_password then open(w_main)close(w_log) elseif Log_time=3 then messagebox('警告','登錄密碼錯誤,你無權使用本系統(tǒng),本系統(tǒng)將關閉!',Exclamation!) /若計數(shù)器值為3,將強制關閉系統(tǒng) HALT clos

46、e else Log_time+ messagebox('物業(yè)管理系統(tǒng)','登錄密碼錯誤,請重新輸入密碼',StopSign!) /若帳密碼錯誤,則計數(shù)器加1 end ifsle_Password.setfocus() end ifend if靜態(tài)文本控件(staticText)st_ok被鼠標單擊后,觸發(fā)clicked事件。其響應過程是:1. 首先,將單行編輯框控件(singlelineedit)sle_login_user、sle_password中的text值分別傳遞給變量ls_login_user,ls_password。2. 然后在表格(table)t

47、b_user中查找與ls_login_user的值相同的login_user字段對應的同一條中的password字段的值,并將之傳遞給全局變量gs_password。3. 若第2步的查找不成功,即SQLCA.SQLCode不等于0,則說明登陸用戶名不存在,就顯示出錯提示“登錄帳號錯誤,請重新輸入帳號!”,并將計數(shù)器Log_time的值加1。4. 若第2步的查找成功,再比較gs_password的值與ls_password的值是否相同,若不相同,也顯示出錯提示“登錄密碼錯誤,請重新輸入密碼!”,并將計數(shù)器Log_time的值加1。5. 若第4步的比較相同的話,就生成主界面,啟動過程完畢。6. 在

48、啟動過程中,一旦Log_time的值等于3,就強制關閉系統(tǒng)的啟動過程,并依據條件,給出提示“登錄帳號錯誤,你無權使用本系統(tǒng),本系統(tǒng)將關閉!”或者“登錄密碼錯誤,你無權使用本系統(tǒng),本系統(tǒng)將關閉!”,以防止未經授權的人員通過不斷的重試進入系統(tǒng)。圖4.3 系統(tǒng)的錯誤提示系統(tǒng)的錯誤提示可參考圖4.3。為了實現(xiàn)按下回車鍵時,也觸發(fā)st_ok的單擊(clicked)事件,在sle_password的keydown事件中寫下以下代碼:if keyDown(KeyEnter!) thenst_ok.triggerevent(clicked!)end if /若按下的鍵是Enter鍵的話,就觸發(fā)st_ok的單擊

49、事件靜態(tài)文本控件(statictext)st_cancel的作用是關閉登陸界面,放棄進入系統(tǒng),其單擊事件為:close(w_log),其中計算機畢業(yè)論文輔導網為我們提供了設計的相關控件。4.3.2、權限組的維護圖4.4 權限組維護頁面為了便于管理具有相同權限的不同帳號,特建立了權限組的維護這一功能頁面。其頁面布局見圖4.4所示。該界面的控件包括:一個數(shù)據窗口(datawindow)dw_1,五個按鈕(commandbutton)cb_1、cb_2、cb_3、cb_4、cb_5。數(shù)據窗口控件(datawindow)dw_1的數(shù)據源是表格(table)tb_group,使用Grid表現(xiàn)風格,色彩以

50、個人喜好來設定。其中窗口的open事件定義為:this.width=1550this.height=1500 /定義窗口的大小dw_1.SetTrans(SQLCA) dw_1.Retrieve( ) /數(shù)據窗口讀取數(shù)據cb_1.Setfocus( ) /設置cb_1(增加)按鈕為默認按鈕cb_1(增加)的click事件定義為:long ll_rowinteger li_idString ls_temp /定義變量li_id=0DOli_id=li_id+1 SELECT groupname INTO :ls_temp FROM tb_group WHERE id=:li_id; LOOP U

51、NTIL SQLCA.SQLCode<>0 /找一個不存在的ID號ll_row=dw_1.Insertrow(0) /添加一條記錄dw_1.Scrolltorow(ll_row) /滾到新建的行dw_1.setitem( ll_row,'id',li_id) /設置ID流水號dw_1.Setfocus() /設置焦點在數(shù)據窗口cb_2(刪除)的click事件定義為:long ll_rowlong ll_ReturnString ls_name /定義變量if dw_1.rowcount()=0 thenreturn;end if /若數(shù)據窗口中數(shù)據行數(shù)為0,就返回b

52、eep(1)ll_row=dw_1.Getrow( ) /返回當前行號ls_name=dw_1.GetItemString(ll_row, "Groupname"); /讀取權限組名稱,并保存在ls_name中l(wèi)l_Return=messagebox('提示!','確認刪除 “'+ls_name+'” 權限組嗎?',Question!,YesNo!,1)if ll_Return=1 then dw_1.deleterow(0) dw_1.update()end ifcb_3(保存)的click事件定義為:if update(d

53、w_1,true,false)=1 thendw_1.resetupdate() /若保存成功,就提交commit;elserollback; /保存修改失敗,取消所有的修改messagebox("錯誤!","數(shù)據保存失敗!")end ifdw_1.settrans(SQLCA)dw_1.Retrieve() /重新讀入數(shù)據cb_4(取消)的click事件定義為:dw_1.settrans(SQLCA)dw_1.Retrieve() /重新讀入數(shù)據cb_5(退出)的click事件定義為:int MCount /定義變量,用于記錄修改后沒有保存的行數(shù)int

54、 UpdateOrNot /定義變量,用于記錄是否修改MCount=dw_1.Modifiedcount() /讀取修改后沒有保存的行數(shù)if MCount<>0 thenUpdateOrNot=MessageBox("提示!","權限組名稱修改后未保存,是否保存?",Question!,YesNoCancel!) /若行數(shù)不是1,就給出選擇提示if UpdateOrNot=1 thencb_3.event clicked() /若選擇保存,就觸發(fā)cb_3的單擊事件Close(parent) /并關閉窗口elseif UpdateOrNot=2

55、 thenClose(parent) /若選擇不保存,就直接關閉窗口end ifelseClose(parent) /若沒有修改過的數(shù)據,直接關閉窗口end if4.3.3、權限的分配圖4.5 權限分配頁面的布局數(shù)據窗口dw_1樹視圖tv_1權限分配是針對于權限組來設定的,“權限分配”頁面的建立,就是為了實現(xiàn)這一功能。頁面布局詳見圖4.5。該界面的控件包括:一個數(shù)據窗口(datawindow)dw_1,三個按鈕(commandbutton)cb_1、cb_2、cb_3,一個樹視圖(TreeView)tv_1。數(shù)據窗口控件(datawindow)dw_1的數(shù)據源是表格(table)tb_group。為了生成樹視圖tv_1中的選項,數(shù)據窗口dw_1中讀入權限組列表,權限分配窗口w_popedom的open事件代碼為:this.width=2500 /初始化窗口的大小this.height=1500dw_1.Settrans(SQLCA) dw_1.Retrieve( ) /從表格tb_group中讀入權限組列表integer li_idString ls_text /定義變量FOR li_id=1 to 7

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論