信息是管理上的一項(xiàng)極為重要的資源,管理工作的成敗取決于能否做出有效的決策,而決策的正確程度則在很大程度上取決于信息得質(zhì)量。所以能否有效的管理信息成為企業(yè)的首要問(wèn)題,管理信息系統(tǒng)MIS在強(qiáng)調(diào)管理、強(qiáng)調(diào)信息的現(xiàn)代社會(huì)中越來(lái)越得到普及。
企業(yè)信息管理通常是比較復(fù)雜,由于各類信息繁多難歸集,利用計(jì)算機(jī)支持企業(yè)高效率完成企業(yè)信息管理,是適應(yīng)現(xiàn)代企業(yè)制度要求,推動(dòng)企業(yè)信息管理走向科學(xué)化、社會(huì)化、規(guī)范化和自動(dòng)化,從而提高企業(yè)信息管理效率。
本系統(tǒng)選用PowerBuilder軟件開(kāi)發(fā)工具,PowerBuilder是一種高效的客戶/服務(wù)器模式以及分布式數(shù)據(jù)庫(kù)應(yīng)用程序的前端開(kāi)發(fā)工具。利用此軟件完成了企業(yè)信息管理系統(tǒng)的物品管理功能、節(jié)目管理功能、客戶信息管理功能,完成了多種查詢模塊、增添模塊、刪除模塊、修改模塊等等。本系統(tǒng)的開(kāi)發(fā)基本滿足企業(yè)信息管理的要求,用戶界面交友好,提供的信息豐富準(zhǔn)確,使管理工作的各環(huán)節(jié)能夠順利而有效的進(jìn)行,具有良好的實(shí)用價(jià)值和可觀的發(fā)展前景,極大的提高了企業(yè)信息管理的效率,是企業(yè)的科學(xué)化、規(guī)范化管理、自動(dòng)化的重要前提條件。
關(guān)鍵詞:管理信息系統(tǒng)MIS , 企業(yè)信息管理系統(tǒng) , PowerBuilder
數(shù)據(jù)庫(kù)
ABSTRACT
The information is an extremely important resources of the management,the success or failure that manages the work is decided by and can do a valid decision,but the right degree of the decision then to a large extent be decided by the information get quantity. So can effectively of management information become initial problem of the business enterprise, the management information system MIS get the universality more and more in emphasize manage, emphasize modern society of information.
The business enterprise information the management is usually more complicated, because each kind of information is numerous difficult return to gather, make use of the calculator support business enterprise high-efficiency complete the business enterprise information management, is to adapt the modern business enterprise system request, push the business enterprise information management alignment scientific, acculturate, the norm turns and automates, thus raising the business enterprise information management efficiency.
This system chooses to use the PowerBuilder software development tool, the PowerBuilder is a kind of efficiently of C/ S's mode and the distribute type database apply the head of the procedure development tool.Make use of this software completed the product management function, program management function, customer information management function of the business enterprise information management system, completing various search mold pieces, increasing the mold piece, deleting the mold piece and modifying an etc. of mold.This system develop basic satisfy the request of the business enterprise information management, the customer interface make friends good, the information for provide is abundant accurate, make each link of manage the work can carry on effectively smoothly, having the good practical worth and considerable development foreground, raising the efficiency of the business enterprise information management biggest, is business enterprise of scientific, the norm turn management, automation of important prior condition.
Keyword: MIS, TheBusinessEnterpriseInformationManagementSystem , PowerBuilder, Database
前 言
管理信息系統(tǒng)就是MIS(Management Information System),在強(qiáng)調(diào)管理,強(qiáng)調(diào)信息的現(xiàn)代社會(huì)中它變得越來(lái)越普及。MIS是一門(mén)新的學(xué)科,它跨越了若干個(gè)領(lǐng)域,比如管理科學(xué)、系統(tǒng)科學(xué),運(yùn)籌學(xué)、統(tǒng)計(jì)學(xué)以及計(jì)算機(jī)科學(xué)。在這些學(xué)科的基礎(chǔ)上,形成信息收集和加工的方法,從而形成一個(gè)縱橫交織的系統(tǒng)。
企業(yè)信息管理系統(tǒng)是一種典型的信息管理系統(tǒng)(MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。
全文共分4章節(jié),第1章“緒論”介紹了管理信息系統(tǒng)的發(fā)展與應(yīng)用,管理信息系統(tǒng)的特點(diǎn)及管理信息系統(tǒng)的開(kāi)發(fā)方法與開(kāi)發(fā)過(guò)程。并且簡(jiǎn)單介紹了軟件開(kāi)發(fā)工具Powerbuilder功能和優(yōu)勢(shì)。第2章“需求分析”通過(guò)對(duì)系統(tǒng)的詳細(xì)調(diào)查,針對(duì)系統(tǒng)的現(xiàn)狀以及系統(tǒng)現(xiàn)存的問(wèn)題提出了系統(tǒng)的設(shè)計(jì)目標(biāo)及設(shè)計(jì)原則。通過(guò)對(duì)系統(tǒng)組織機(jī)構(gòu)的分析,業(yè)務(wù)流程和數(shù)據(jù)流程的分析,相應(yīng)畫(huà)出了組織機(jī)構(gòu)圖,系統(tǒng)業(yè)務(wù)流程圖和數(shù)據(jù)流程圖。第3章“系統(tǒng)設(shè)計(jì)”論述了概要設(shè)計(jì)的方法。按照此方法,在需求分析的基礎(chǔ)上,先設(shè)計(jì)出滿足用戶需求的各種實(shí)體,畫(huà)出各實(shí)體的E-R圖,然后繪制出實(shí)體之間的關(guān)系并對(duì)其優(yōu)化,以及做出界面設(shè)計(jì)。第4章“系統(tǒng)的運(yùn)行”是本文的重點(diǎn)展示了系統(tǒng)的運(yùn)行效果。它包括數(shù)據(jù)庫(kù)結(jié)構(gòu)的設(shè)計(jì)實(shí)現(xiàn);登錄窗口的設(shè)計(jì)實(shí)現(xiàn);主界面的設(shè)計(jì)實(shí)現(xiàn);設(shè)備代碼管理模塊等各功能模塊的設(shè)計(jì)。
本系統(tǒng)的開(kāi)發(fā)基本滿足企業(yè)信息管理的要求,用戶界面交友好,提供的信息豐富準(zhǔn)確,使管理工作的各環(huán)節(jié)能夠順利而有效的進(jìn)行,具有良好的實(shí)用價(jià)值和可觀的發(fā)展前景,極大的提高了企業(yè)信息管理的效率。
第一章 緒 論
1.1 管理信息系統(tǒng)概述
20世紀(jì),隨著全球經(jīng)濟(jì)的蓬勃發(fā)展,眾多經(jīng)濟(jì)學(xué)家紛紛提出了新的管理理論。20世紀(jì)50年代,西蒙提出管理依賴于信息和決策的思想。同時(shí)期的維納發(fā)表了控制論,他認(rèn)為管理是一個(gè)控制過(guò)程。1958年,蓋爾寫(xiě)道:“管理將以較低的成本得到及時(shí)準(zhǔn)確的信息,做到較好的控制。”這個(gè)時(shí)期,計(jì)算機(jī)開(kāi)始用于會(huì)計(jì)工作,出現(xiàn)數(shù)據(jù)處理一詞。1970年,Walter T.Kennevan給剛剛出現(xiàn)的管理信息系統(tǒng)一詞下了一個(gè)定義:“以口頭或書(shū)面的形式,在合適的時(shí)間向經(jīng)理、職員以及外界人員提供過(guò)去的、現(xiàn)在的、預(yù)測(cè)未來(lái)的有關(guān)企業(yè)內(nèi)部及其環(huán)境的信息,以幫助他們進(jìn)行決策。”在這個(gè)定義里強(qiáng)調(diào)了用信息支持決策,但并沒(méi)有強(qiáng)調(diào)用模型,沒(méi)有提到計(jì)算機(jī)的應(yīng)用。
1985年,管理信息系統(tǒng)的創(chuàng)始人,明尼蘇達(dá)大學(xué)的管理學(xué)教授Gordon Bedevils給了管理信息系統(tǒng)一個(gè)較完整的定義,即“管理信息系統(tǒng)是一個(gè)利用計(jì)算機(jī)軟硬件資源,手工作業(yè),分析、計(jì)劃、控制和決策模型以及數(shù)據(jù)庫(kù)的人-機(jī)系統(tǒng)。它能提供信息支持企業(yè)或組織的運(yùn)行、管理和決策功能。”這個(gè)定義全面地說(shuō)明了管理系統(tǒng)的目標(biāo)、功能和組成,而且反映了管理信息系統(tǒng)在當(dāng)時(shí)達(dá)到的水平。
1.1.1管理系統(tǒng)的發(fā)展歷史
管理信息系統(tǒng)在最初級(jí)階段是統(tǒng)計(jì)系統(tǒng),所研究的內(nèi)容是數(shù)量數(shù)據(jù)間表面的規(guī)律,它可以把數(shù)據(jù)分成較相關(guān)和較不相關(guān)的組,然后把數(shù)據(jù)轉(zhuǎn)換為信息。
第二階段是數(shù)據(jù)更新系統(tǒng),其典型代表是美國(guó)航空公司于20世紀(jì)50年代建成的SABRE預(yù)約訂票系統(tǒng)。它設(shè)有1008個(gè)訂票點(diǎn),可以存取600000個(gè)旅客記錄和27000個(gè)飛行段記錄。它的操作比較復(fù)雜,在任何一“點(diǎn)”都可以查到某一航班是否有空座位。但從概念上來(lái)講,它只是一個(gè)數(shù)據(jù)更新系統(tǒng),比如它不能告訴你以現(xiàn)在的售票速度何時(shí)票將售完,從而采取補(bǔ)救措施。因而它也是管理信息系統(tǒng)的低級(jí)階段。
第三階段是狀態(tài)報(bào)告系統(tǒng),它可以分為生產(chǎn)狀態(tài)報(bào)告、服務(wù)狀態(tài)報(bào)告和研究狀態(tài)報(bào)告等系統(tǒng)。比如生產(chǎn)狀態(tài)報(bào)告系統(tǒng),它的典型代表是IBM公司的生產(chǎn)管理系統(tǒng)。眾所周知,IBM公司是世界上最大的計(jì)算機(jī)公司,1964年它生產(chǎn)出中型計(jì)算機(jī)IBM360,使計(jì)算機(jī)的水平提高了一個(gè)臺(tái)階,但同時(shí)組織生產(chǎn)的管理工作卻大大復(fù)雜化了。一臺(tái)計(jì)算機(jī)有超過(guò)15000個(gè)不同的部件,每一個(gè)部件又有若干個(gè)元件,加之IBM的工廠遍及美國(guó)各地,不同的定貨有不同的部件和不同的元件,必須指出什么工廠什么設(shè)備生產(chǎn)什么元件,因此不僅生產(chǎn)復(fù)雜,裝配、安裝和運(yùn)輸都十分復(fù)雜。為了保證生產(chǎn)以及其他環(huán)節(jié)的順利進(jìn)行,必須要有一個(gè)以計(jì)算機(jī)為基礎(chǔ)的生產(chǎn)狀態(tài)報(bào)告系統(tǒng)。因此同年IBM建立了先進(jìn)管理系統(tǒng)AAS,它能進(jìn)行450個(gè)業(yè)務(wù)的操作。1968年,公司又建立了公用制造信息系統(tǒng)CMIS,運(yùn)行很成功,過(guò)去需要15周的工作,該系統(tǒng)只用3周就可以完成。
狀態(tài)報(bào)告系統(tǒng)還有一種形式是數(shù)據(jù)處理系統(tǒng),它用來(lái)處理日常業(yè)務(wù)和生產(chǎn)報(bào)告,重點(diǎn)在于將手工作業(yè)自動(dòng)化,提高效率和節(jié)省人力。數(shù)據(jù)處理系統(tǒng)一般不能提供決策信息。
最后的階段是決策支持系統(tǒng),它是用來(lái)輔助決策的信息系統(tǒng)。該系統(tǒng)可以計(jì)劃、分析方案,審查解答和求解的誤差。它應(yīng)有較好的人機(jī)對(duì)話方式,可以和不怎么熟悉計(jì)算機(jī)的管理人員通話。它一般包括一些模型用以產(chǎn)生決策信息,但不強(qiáng)調(diào)全面的管理功能。
1.1.2管理信息系統(tǒng)的應(yīng)用
管理信息系統(tǒng)起初應(yīng)用于最基礎(chǔ)的工作,如打印報(bào)表、計(jì)算工資、人事管理等,進(jìn)而發(fā)展到企業(yè)財(cái)務(wù)管理、庫(kù)存管理等單項(xiàng)業(yè)務(wù)管理,這屬于電子數(shù)據(jù)處理(EDP,Electronic Data Processing)系統(tǒng)。當(dāng)建立了企業(yè)數(shù)據(jù)庫(kù),有了計(jì)算機(jī)網(wǎng)絡(luò)從而達(dá)到數(shù)據(jù)共享后,從系統(tǒng)觀點(diǎn)出發(fā),實(shí)施全局規(guī)劃和設(shè)計(jì)信息系統(tǒng)時(shí),就達(dá)到管理信息系統(tǒng)的階段。隨著計(jì)算機(jī)技術(shù)的進(jìn)步和人們對(duì)系統(tǒng)的需求進(jìn)一步提高,人們更加強(qiáng)調(diào)管理信息系統(tǒng)能否支持企業(yè)高層領(lǐng)導(dǎo)的決策這一功能,更側(cè)重于企業(yè)外部信息的收集、綜合數(shù)據(jù)庫(kù)、模型庫(kù)、方法庫(kù)和其他人工智能工具能否直接面向決策者,這是決策支持系統(tǒng)(DSS,Decision Support System)的任務(wù)。
我國(guó)20世紀(jì)70年代末有少數(shù)企業(yè)開(kāi)始MIS的局部應(yīng)用。“六五”期間,選擇一些大型企業(yè)進(jìn)行MIS的開(kāi)發(fā)試點(diǎn),其中首都鋼鐵公司、北京第一棉紡廠、湖北第二汽車制造廠、寧江機(jī)床廠等取得了經(jīng)驗(yàn)。20世紀(jì)80年代中后期,在全國(guó)性的計(jì)算機(jī)應(yīng)用熱潮中,許多企業(yè)紛紛從財(cái)務(wù)管理、人事管理等單項(xiàng)應(yīng)用入手,嘗試建立MIS。許多企業(yè),如北京內(nèi)燃機(jī)廠、北京電視機(jī)廠、沈陽(yáng)鼓風(fēng)機(jī)廠、天津渤海無(wú)線電廠的MIS初具規(guī)模,建立了覆蓋全廠的計(jì)算機(jī)網(wǎng)絡(luò)。“八五”期間,企業(yè)逐步走向市場(chǎng),MIS建設(shè)的目標(biāo)和需求日益明確。一些企業(yè)的系統(tǒng),如北京第一機(jī)床廠、山西經(jīng)緯紡織機(jī)械廠、成都飛機(jī)制造公司等都達(dá)到了很高水平,與企業(yè)中其他系統(tǒng)集成,形成了CIMS。目前,我國(guó)MIS已經(jīng)有了相當(dāng)?shù)钠占奥剩瑤缀醺采w了各個(gè)行業(yè)及各個(gè)部門(mén)。
1.1.3管理信息系統(tǒng)的發(fā)展方向
相應(yīng)的MIS開(kāi)發(fā)技術(shù)在20世紀(jì)90年代也有了新的發(fā)展。
1.信息系統(tǒng)的集成
MIS在計(jì)算機(jī)網(wǎng)絡(luò)和分布式數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下,與企業(yè)其他的系統(tǒng),如OA、CAD、CAM、CAPP、在線數(shù)據(jù)采集系統(tǒng)集成,形成制造業(yè)的計(jì)算機(jī)集成制造系統(tǒng),或者一般企事業(yè)單位的綜合信息系統(tǒng)(CIIS,Computer Integrated Information System),實(shí)現(xiàn)辦公、管理、計(jì)算、設(shè)計(jì)、控制、監(jiān)測(cè),以及決策等多功能綜合。
2.Internet/Intranet
因特網(wǎng)(Internet)已經(jīng)被廣大用戶所熟悉,而以因特網(wǎng)技術(shù)為基礎(chǔ)的企業(yè)內(nèi)部信息系統(tǒng)——Intranet既可以通過(guò)接入的方式成為因特網(wǎng)的一部分,也可以自成體系,實(shí)現(xiàn)企業(yè)內(nèi)部的管理。它可以克服傳統(tǒng)MIS存在的系統(tǒng)封閉、用戶界面形式不統(tǒng)一、多種軟件版本并存、維護(hù)移植困難等問(wèn)題,為新一代企業(yè)MIS的開(kāi)發(fā)注入了強(qiáng)勁的活力。
3.先進(jìn)的軟件開(kāi)發(fā)工具
為了縮短軟件開(kāi)發(fā)的周期,提高軟件的質(zhì)量和標(biāo)準(zhǔn)化水平以及軟件的可維護(hù)性,越來(lái)越多的軟件開(kāi)發(fā)公司使用先進(jìn)的軟件開(kāi)發(fā)工具或計(jì)算機(jī)輔助軟件工程工具(CASE,Computer-Aided Software Engineering),如各種可視化建模工具、系統(tǒng)分析和設(shè)計(jì)工具、軟件質(zhì)量測(cè)試工具、軟件文檔建立和管理工具等。還有各種MIS開(kāi)發(fā)平臺(tái)和代碼生成工具,這些工具極大地方便了MIS的開(kāi)發(fā)。
4. 多媒體技術(shù)
隨著計(jì)算機(jī)性能的提高,MIS采用越來(lái)越多的多媒體技術(shù),用圖形、圖像、聲音替代原來(lái)單調(diào)的字符形式,給用戶提供了一個(gè)更加生動(dòng)真實(shí)的應(yīng)用環(huán)境。
1.2管理信息系統(tǒng)的特點(diǎn)
1.2.1 管理信息系統(tǒng)的組成
管理信息系統(tǒng)在企業(yè)中的應(yīng)用存在三個(gè)要素,這就是人、計(jì)算機(jī)和數(shù)據(jù)。
人是指企業(yè)領(lǐng)導(dǎo)者、管理人員、技術(shù)人員,以及MIS建設(shè)的領(lǐng)導(dǎo)機(jī)構(gòu)和實(shí)施機(jī)構(gòu),他們?cè)谙到y(tǒng)中起主導(dǎo)作用。MIS是一項(xiàng)系統(tǒng)工程,不是只靠一些計(jì)算機(jī)開(kāi)發(fā)人員就可以完成的,必須有企業(yè)管理人員,尤其是企業(yè)領(lǐng)導(dǎo)的積極參與。
計(jì)算機(jī)技術(shù)是MIS得以實(shí)施的主要技術(shù)。在這些技術(shù)中,軟件開(kāi)發(fā)是MIS開(kāi)發(fā)的重點(diǎn)。
第三個(gè)因素也不能忽視。企業(yè)的管理數(shù)據(jù)是MIS正常運(yùn)行的基礎(chǔ)。廣義地說(shuō),各項(xiàng)管理制度是MIS建設(shè)成功的基礎(chǔ)。試想要計(jì)算一臺(tái)機(jī)床的成本,需要按時(shí)輸入每個(gè)部件、每個(gè)零件以及每個(gè)螺釘螺帽的費(fèi)用,涉及企業(yè)的生產(chǎn)車間、采購(gòu)、庫(kù)房、工藝設(shè)計(jì)和財(cái)務(wù)等多個(gè)部門(mén),必須有一整套管理制度做保證。
1.3管理信息系統(tǒng)的開(kāi)發(fā)
1.3.1 系統(tǒng)開(kāi)發(fā)的一般方法
管理信息系統(tǒng)的開(kāi)發(fā)是一個(gè)復(fù)雜的系統(tǒng)工程,它涉及到計(jì)算機(jī)處理技術(shù)、系統(tǒng)理論、組織結(jié)構(gòu)、管理功能、管理知識(shí)等各方面的問(wèn)題,至今沒(méi)有一種統(tǒng)一完備的開(kāi)發(fā)方法。但是,每一種開(kāi)發(fā)方法都要遵循相應(yīng)的開(kāi)發(fā)策略。任何一種開(kāi)發(fā)策略都要明確以下問(wèn)題:
l 系統(tǒng)要解決的問(wèn)題:如采取何種方式解決組織管理和信息處理方面的問(wèn)題,對(duì)企業(yè)提出的新的管理需求該如何滿足等。
l 系統(tǒng)可行性研究:確定系統(tǒng)所要實(shí)現(xiàn)的目標(biāo)。通過(guò)對(duì)企業(yè)狀況的初步調(diào)研得出現(xiàn)狀分析的結(jié)果,然后提出可行性方案并進(jìn)行論證。系統(tǒng)可行性的研究包括目標(biāo)和方案可行性、技術(shù)的可行性、經(jīng)濟(jì)方面的可行性和社會(huì)影響方面的考慮。
l 系統(tǒng)開(kāi)發(fā)的原則:在系統(tǒng)開(kāi)發(fā)過(guò)程中,要遵循領(lǐng)導(dǎo)參與、優(yōu)化創(chuàng)新、實(shí)用高效、處理規(guī)范化的原則。
l 系統(tǒng)開(kāi)發(fā)前的準(zhǔn)備工作:作好開(kāi)發(fā)人員的組織準(zhǔn)備和企業(yè)基礎(chǔ)準(zhǔn)備工作。
l 系統(tǒng)開(kāi)發(fā)方法的選擇和開(kāi)發(fā)計(jì)劃的制定:針對(duì)己經(jīng)確定的開(kāi)發(fā)策略選定相應(yīng)的開(kāi)發(fā)方法,是結(jié)構(gòu)化系統(tǒng)分析和設(shè)計(jì)方法,還是選擇原型法或面向?qū)ο蟮姆椒āi_(kāi)發(fā)計(jì)劃的制定是要明確系統(tǒng)開(kāi)發(fā)的工作計(jì)劃、投資計(jì)劃、工程進(jìn)度計(jì)劃和資源利用計(jì)劃。
管理信息系統(tǒng)開(kāi)發(fā)方法主要有:結(jié)構(gòu)化生命周期開(kāi)發(fā)方法、原型法、面向?qū)ο蟮拈_(kāi)發(fā)方法等。
1.結(jié)構(gòu)化生命周期開(kāi)發(fā)方法
目前較為流行的MIS開(kāi)發(fā)方法是結(jié)構(gòu)化生命周期開(kāi)發(fā)方法,其基本思想是:用系統(tǒng)的思想和系統(tǒng)工程的方法,按用戶至上的原則,結(jié)構(gòu)化、模塊化地自上而下對(duì)生命周期進(jìn)行分析與設(shè)計(jì)。
用結(jié)構(gòu)化生命周期開(kāi)發(fā)方法開(kāi)發(fā)一個(gè)系統(tǒng),將整個(gè)開(kāi)發(fā)過(guò)程劃分為5個(gè)依次連接的階段:
l 系統(tǒng)規(guī)劃階段:主要任務(wù)是明確系統(tǒng)開(kāi)發(fā)的請(qǐng)求,并進(jìn)行初步的調(diào)查,通過(guò)可行性研究確定下一階段的實(shí)施。系統(tǒng)規(guī)劃方法有戰(zhàn)略目標(biāo)集轉(zhuǎn)化法(SST,Strategy Set Transformation)、關(guān)鍵成功因素法(CSF,Critical Success Factors)和企業(yè)規(guī)劃法(BSP,Business System Planning)。
l 系統(tǒng)分析階段:主要任務(wù)是對(duì)組織結(jié)構(gòu)與功能進(jìn)行分析,理清企業(yè)業(yè)務(wù)流程和數(shù)據(jù)流程的處理,并且將企業(yè)業(yè)務(wù)流程與數(shù)據(jù)流程抽象化,通過(guò)對(duì)功能數(shù)據(jù)的分析,提出新系統(tǒng)的邏輯方案。
l 系統(tǒng)設(shè)計(jì)階段:主要任務(wù)是確定系統(tǒng)的總體設(shè)計(jì)方案、劃分子系統(tǒng)功能、確定共享數(shù)據(jù)的組織,然后進(jìn)行詳細(xì)設(shè)計(jì),如處理模塊的設(shè)計(jì)、數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)、輸入輸出界面的設(shè)計(jì)和編碼的設(shè)計(jì)等。
l 系統(tǒng)實(shí)施階段:主要任務(wù)是討論確定設(shè)計(jì)方案、對(duì)系統(tǒng)模塊進(jìn)行調(diào)試、進(jìn)行系統(tǒng)運(yùn)行所需數(shù)據(jù)的準(zhǔn)備、對(duì)相關(guān)人員進(jìn)行培訓(xùn)等。
l 系統(tǒng)運(yùn)行階段:主要任務(wù)是進(jìn)行系統(tǒng)的日常運(yùn)行管理,評(píng)價(jià)系統(tǒng)的運(yùn)行效率,對(duì)運(yùn)行費(fèi)用和效果進(jìn)行監(jiān)理審計(jì),如出現(xiàn)問(wèn)題則對(duì)系統(tǒng)進(jìn)行修改、調(diào)整。
這五個(gè)階段共同構(gòu)成了系統(tǒng)開(kāi)發(fā)的生命周期。結(jié)構(gòu)化生命周期開(kāi)發(fā)方法嚴(yán)格區(qū)分了開(kāi)發(fā)階段,非常重視文檔工作,對(duì)于開(kāi)發(fā)過(guò)程中出現(xiàn)的問(wèn)題可以得到及時(shí)的糾正,避免了出現(xiàn)混亂狀態(tài)。但是,該方法不可避免地出現(xiàn)開(kāi)發(fā)周期過(guò)長(zhǎng)、系統(tǒng)預(yù)算超支的情況,而且在開(kāi)發(fā)過(guò)程中用戶的需求一旦發(fā)生變化,系統(tǒng)將很難作出調(diào)整。
2. 原型法
原型法在系統(tǒng)開(kāi)發(fā)過(guò)程中也得到不少應(yīng)用。原型法的基本思想是系統(tǒng)開(kāi)發(fā)人員憑借自己對(duì)用戶需求的理解,通過(guò)強(qiáng)有力的軟件環(huán)境支持,構(gòu)造出一個(gè)實(shí)在的系統(tǒng)原型,然后與用戶協(xié)商,反復(fù)修改原型直至用戶滿意。 原型法的應(yīng)用使人們對(duì)需求有了漸進(jìn)的認(rèn)識(shí),從而使系統(tǒng)開(kāi)發(fā)更有針對(duì)性。另外,原型法的應(yīng)用充分利用了最新的軟件工具,使系統(tǒng)開(kāi)發(fā)效率大為提高。
3.面向?qū)ο笙到y(tǒng)開(kāi)發(fā)方法
面向?qū)ο螅?/span>OO,Object Oriented)的系統(tǒng)開(kāi)發(fā)方法,是近年來(lái)受到關(guān)注的一種系統(tǒng)開(kāi)發(fā)方法。面向?qū)ο蟮南到y(tǒng)開(kāi)發(fā)方法的基本思想是將客觀世界抽象地看成是若干相互聯(lián)系的對(duì)象,然后根據(jù)對(duì)象和方法的特性研制出一套軟件工具,使之能夠映射為計(jì)算機(jī)軟件系統(tǒng)結(jié)構(gòu)模型和進(jìn)程,從而實(shí)現(xiàn)信息系統(tǒng)的開(kāi)發(fā)。
1.3.2 管理信息系統(tǒng)的開(kāi)發(fā)過(guò)程
管理信息系統(tǒng)的開(kāi)發(fā)過(guò)程一般包括系統(tǒng)開(kāi)發(fā)準(zhǔn)備、系統(tǒng)調(diào)查、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、系統(tǒng)轉(zhuǎn)換、系統(tǒng)運(yùn)行與維護(hù)、系統(tǒng)評(píng)價(jià)等步驟。根據(jù)開(kāi)發(fā)系統(tǒng)的大小、復(fù)雜、投入、方式、方法等因素的不同,各步驟的要求和內(nèi)容也不同,用戶需要根據(jù)實(shí)際情況進(jìn)行取舍和計(jì)劃。
1.4 PowerBuilder軟件開(kāi)發(fā)工具
本系統(tǒng)選用Powerbuilder軟件開(kāi)發(fā)工具,PowerBuilder是一種高效的客戶/服務(wù)器模式以及分布式數(shù)據(jù)庫(kù)應(yīng)用程序的前端開(kāi)發(fā)工具。
PowerBuilder是著名的數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)工具生產(chǎn)廠商Sybase Inc.的子公司PowerSoft于1991年6月推出的數(shù)據(jù)應(yīng)用開(kāi)發(fā)工具,歷經(jīng)了多次升級(jí)換代。PowerBuilder除了能夠設(shè)計(jì)傳統(tǒng)的高性能、基于客戶/服務(wù)器體系結(jié)構(gòu)的應(yīng)用系統(tǒng)外,也能夠方便的構(gòu)建和實(shí)現(xiàn)分布式系統(tǒng),還可以開(kāi)發(fā)基于Internet的應(yīng)用系統(tǒng)。
數(shù)據(jù)庫(kù)的開(kāi)發(fā)平臺(tái)有很多種,可以說(shuō),PowerBuilder是其中比較優(yōu)秀的一種,其主要特點(diǎn)歸納如下:專業(yè)的客戶/服務(wù)器開(kāi)發(fā)工具、面向?qū)ο蟮木幊獭⒅С侄喾N關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)、支持多種平臺(tái)的開(kāi)發(fā)環(huán)境.功能強(qiáng)大、使用方便的數(shù)據(jù)窗口對(duì)象、豐富的數(shù)據(jù)表現(xiàn)風(fēng)格等等。
第二章 企業(yè)信息管理系統(tǒng)分析
2.1總體調(diào)查
新系統(tǒng)的系統(tǒng)分析與系統(tǒng)設(shè)計(jì)工作都要建立在對(duì)現(xiàn)行系統(tǒng)調(diào)查的基礎(chǔ)上,即必須調(diào)查現(xiàn)行系統(tǒng)的運(yùn)行情況、問(wèn)題等,明確用戶的需求,特別是合作開(kāi)發(fā)和委托開(kāi)發(fā)方式。
調(diào)查的主要內(nèi)容有:
(1)現(xiàn)行系統(tǒng)概況:該組織的發(fā)展歷史、目前組織的規(guī)模、工作狀況、管理水平、與外界的主要聯(lián)系等。調(diào)查該項(xiàng)內(nèi)容的目的主要是為了劃分系統(tǒng)界限、系統(tǒng)與外界的輸入輸出接口等。
(2)組織機(jī)構(gòu):畫(huà)出組織的組織結(jié)構(gòu)圖,弄清組織的行政關(guān)系、人員編制、工作范圍、地理位置等,發(fā)現(xiàn)不合理問(wèn)題及新系統(tǒng)啟動(dòng)后可能對(duì)現(xiàn)有組織的影響。
(3)業(yè)務(wù)流程:按照業(yè)務(wù)種類的不同和處理時(shí)間的先后不同,深入了解現(xiàn)行系統(tǒng)的業(yè)務(wù)流程,畫(huà)出現(xiàn)行系統(tǒng)業(yè)務(wù)流程圖,并與業(yè)務(wù)人員反復(fù)討論,得到認(rèn)可。調(diào)查中要注意定性與定量相結(jié)合,注意人、財(cái)、物、信息的流向、規(guī)格、頻率、要求以及需要解決的問(wèn)題等。
(4)報(bào)表、數(shù)據(jù)處理:了解各種統(tǒng)計(jì)報(bào)表、數(shù)據(jù)的格式、內(nèi)容、處理時(shí)間及上報(bào)時(shí)間、頻率、規(guī)律,存在的問(wèn)題,對(duì)新系統(tǒng)的要求、希望等并收集各種報(bào)表。
(5)問(wèn)題:現(xiàn)行系統(tǒng)中存在的主要問(wèn)題和薄弱環(huán)節(jié),可以按照嚴(yán)重程度分成不同的等級(jí)。新系統(tǒng)的建立應(yīng)能解決大部分問(wèn)題,并改善薄弱環(huán)節(jié)。
(6)新系統(tǒng)的功能和目標(biāo):了解各級(jí)領(lǐng)導(dǎo)和各類業(yè)務(wù)工作人員對(duì)新系統(tǒng)功能的要求,為進(jìn)一步完善新系統(tǒng)的目標(biāo)做準(zhǔn)備。
(7)其他:如對(duì)新系統(tǒng)的各種約束條件,需要說(shuō)明的其他問(wèn)題等。
2.1.1 本系統(tǒng)的調(diào)查
文化廣告公司,是一種興起時(shí)間不久的廣告行業(yè),它主要的營(yíng)業(yè)項(xiàng)目是作戶外慶典廣告,向客戶提供展覽展示用品舞臺(tái)框架、演員節(jié)目、飄空氣球、拱門(mén)等等。
企業(yè)的信息管理系統(tǒng)提現(xiàn)的一個(gè)企業(yè)總體的信息歸集,往往非常的復(fù)雜繁瑣,系統(tǒng)通常也恨的龐大,它涉及到企業(yè)的客戶信息管理、物品信息管理
和演員節(jié)目信息管理等等。本系統(tǒng)制作主要用于企業(yè)各類信息資源的管理。
最常用的客戶信息管理系統(tǒng),需要記錄客戶的基本信息聯(lián)系方式地址等,要求方便查詢、添加和刪除,客戶訂購(gòu)信息管理要求查詢到公司向客戶提供了哪些服務(wù),如提供了哪些物品和節(jié)目。物品信息管理和節(jié)目信息管理需要查詢到公司有哪些物品可以向客戶提供哪些表演節(jié)目,并且加強(qiáng)它們之間的聯(lián)系,以便公司規(guī)范管理客戶檔案、合理安排現(xiàn)有資源。
2.2系統(tǒng)的可行性分析
系統(tǒng)分析(又稱邏輯設(shè)計(jì))是管理信息系統(tǒng)開(kāi)發(fā)的關(guān)鍵環(huán)節(jié),要求在系統(tǒng)調(diào)查的基礎(chǔ)上,對(duì)新系統(tǒng)的功能進(jìn)行細(xì)致的分析,并建立一個(gè)新系統(tǒng)的邏輯模型。
新系統(tǒng)的邏輯模型由系統(tǒng)數(shù)據(jù)流程圖、概況表、數(shù)據(jù)字典、吃理邏輯表達(dá)式及有關(guān)說(shuō)明組成。最后要完成系統(tǒng)分析報(bào)告(也稱為系統(tǒng)邏輯設(shè)計(jì)說(shuō)明書(shū))。系統(tǒng)邏輯模型就像在根據(jù)需要建設(shè)一座學(xué)校前,按照學(xué)校教育的層次(初等、中等、高等)、規(guī)模、投資、地理環(huán)境、技術(shù)水平等條件的要求和約束,先由建筑設(shè)計(jì)院進(jìn)行設(shè)計(jì),保證學(xué)校建成后的各種功能得以實(shí)現(xiàn),之后才能進(jìn)行工程設(shè)計(jì)和施工一樣。在系統(tǒng)設(shè)計(jì)階段要做認(rèn)真、細(xì)致的分析、研究工作,避免新系統(tǒng)在功能上存在先天不足或缺陷。
因?yàn)樾孪到y(tǒng)模型是建立在對(duì)現(xiàn)行系統(tǒng)的分析及要求的基礎(chǔ)上的,所以系統(tǒng)調(diào)查工作要進(jìn)行得深入、細(xì)致、全面。用戶可以對(duì)新系統(tǒng)的邏輯模型提出意見(jiàn),雙方經(jīng)過(guò)討論、修改,最后達(dá)成共識(shí),并完成系統(tǒng)分析報(bào)告(系統(tǒng)邏輯設(shè)計(jì)說(shuō)明書(shū)),經(jīng)有關(guān)領(lǐng)導(dǎo)審批通過(guò)之后,轉(zhuǎn)入系統(tǒng)設(shè)計(jì)(又稱系統(tǒng)物理設(shè)計(jì))階段。
企業(yè)信息管理系統(tǒng)要完成的功能主要有:
1. 物品管理主要完成物品的查詢、增加、修改或刪除。
2. 節(jié)目管理主要完成節(jié)目的查詢、增加、修改或刪除。
3. 客戶一般信息查詢需要完成客戶一般信息瀏覽、客戶訂購(gòu)信息瀏覽、客戶信息查詢。
4. 客戶訂購(gòu)信息查詢要求完成按客戶查詢出提供服務(wù)的物品和節(jié)目、按物品查詢出需要本物品的客戶名稱、按節(jié)目查詢出需要本節(jié)目的客戶名稱。
經(jīng)調(diào)查按照公司的現(xiàn)狀,本公司非常需要這樣的一個(gè)系統(tǒng)。
2.3詳細(xì)調(diào)查
新系統(tǒng)是在現(xiàn)有系統(tǒng)的基礎(chǔ)上發(fā)展起來(lái)的。為了使新系統(tǒng)比現(xiàn)有系統(tǒng)工作的更加經(jīng)濟(jì)有效,必須首先做好對(duì)現(xiàn)有系統(tǒng)的詳細(xì)調(diào)查。
1.詳細(xì)調(diào)查的目標(biāo)和內(nèi)容
在可行性研究的基礎(chǔ)上進(jìn)一步對(duì)現(xiàn)行全面、深入的調(diào)查和分析,弄清楚現(xiàn)行系統(tǒng)運(yùn)行狀況,發(fā)現(xiàn)其薄弱環(huán)節(jié),找出要解決的問(wèn)題實(shí)質(zhì),確保新系統(tǒng)更有效。
詳細(xì)調(diào)查的主要內(nèi)容包括對(duì)現(xiàn)行系統(tǒng)的目標(biāo)、主要功能、數(shù)據(jù)流程的調(diào)查和分析。
2.詳細(xì)調(diào)查的方法
為了確保調(diào)查工作順利進(jìn)行,系統(tǒng)分析人員要注意工作方法和工作手段。切實(shí)與用戶建立良好的關(guān)系,讓用戶充分地、積極地參與調(diào)查工作。
具體方法有直接面談或?qū)iT(mén)訪問(wèn),發(fā)調(diào)查表征求意見(jiàn),召開(kāi)討論會(huì),閱讀歷史資料和參加業(yè)務(wù)實(shí)踐,其中參加業(yè)務(wù)實(shí)踐,與具體工作人員一起完成最基本的工作程序是最有效的方法。
2.4管理業(yè)務(wù)的調(diào)查
2.4.1 組織機(jī)構(gòu)和職責(zé)的調(diào)查
了解清楚對(duì)象系統(tǒng)內(nèi)部各種組織機(jī)構(gòu)可以向系統(tǒng)分析人員進(jìn)一步明確調(diào)查對(duì)象和方向。調(diào)查結(jié)果可以用組織結(jié)構(gòu)圖表示:
圖2-1
2.4.2管理業(yè)務(wù)流程分析
業(yè)務(wù)流程圖體現(xiàn)了信息的流動(dòng)過(guò)程,顧客和業(yè)務(wù)員簽訂合同書(shū)后,由業(yè)務(wù)員交于外聯(lián)主管統(tǒng)一管理,外聯(lián)主管做好合同檔案,讓財(cái)務(wù)部作費(fèi)用預(yù)算,如發(fā)現(xiàn)無(wú)利潤(rùn)時(shí)向外聯(lián)主管發(fā)放不合格預(yù)算單,再由外聯(lián)主管向客戶發(fā)出取消合同通知書(shū),如項(xiàng)目有一定利潤(rùn)則有外聯(lián)主管向策劃人員發(fā)放編寫(xiě)策劃書(shū)通知單,向演藝人員發(fā)出節(jié)目通知單如演員在這個(gè)時(shí)間段可以演出則向公司發(fā)出節(jié)目執(zhí)行單,再將編寫(xiě)好的策劃書(shū)交由該項(xiàng)目負(fù)責(zé)人,在向工程部發(fā)放施工單,項(xiàng)目扶責(zé)任和工程部一起監(jiān)督項(xiàng)目的實(shí)施過(guò)程。
系統(tǒng)的業(yè)務(wù)流程圖如下:(圖2-2)
-2
圖2-2
2.5數(shù)據(jù)流程的分析
數(shù)據(jù)流程圖描述系統(tǒng)的邏輯模型,圖中沒(méi)有任何具體的物理元素,只是描述信息在系統(tǒng)中流動(dòng)和處理的情況。設(shè)計(jì)數(shù)據(jù)流程圖只需考慮系統(tǒng)必須完成的基本邏輯功能,而不需考慮如何具體的實(shí)現(xiàn)這些功能。
1. 確定系統(tǒng)界面。
2. 自頂向下、逐層分解。
3. 合理布局。
4. 數(shù)據(jù)流程圖只反映數(shù)據(jù)流向、數(shù)據(jù)加工和邏輯意義上的數(shù)據(jù)存儲(chǔ)。
5. 數(shù)據(jù)流程圖繪制過(guò)程就是系統(tǒng)的邏輯模型的形成過(guò)程,必須始終和用戶密切接觸。
在仔細(xì)調(diào)查企業(yè)信息管理過(guò)程的基礎(chǔ)上,得到本系統(tǒng)所處理的數(shù)據(jù)流程圖如下圖所示:
第三章 系統(tǒng)設(shè)計(jì)
系統(tǒng)設(shè)計(jì)又稱系統(tǒng)物理設(shè)計(jì)。系統(tǒng)設(shè)計(jì)要根據(jù)系統(tǒng)分析報(bào)告中的系統(tǒng)邏輯模型綜合考慮各種約束,利用一切可用的技術(shù)手段和方法進(jìn)行各種具體設(shè)計(jì),確定新系統(tǒng)的實(shí)施方案,解決“系統(tǒng)怎么做”的問(wèn)題。
結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)是指利用一組標(biāo)準(zhǔn)的圖表工具和準(zhǔn)則,確定系統(tǒng)有哪些模塊,用什么方法連接,如何構(gòu)成良好的系統(tǒng)結(jié)構(gòu),并進(jìn)行系統(tǒng)輸入、輸出、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)等環(huán)節(jié)的詳細(xì)設(shè)計(jì)。這一階段的重點(diǎn)是設(shè)計(jì)好系統(tǒng)的總體結(jié)構(gòu),選擇最經(jīng)濟(jì)合理的技術(shù)手段。系統(tǒng)設(shè)計(jì)階段的文件是系統(tǒng)設(shè)計(jì)報(bào)告(又稱系統(tǒng)物理設(shè)計(jì)說(shuō)明書(shū))。
管理信息系統(tǒng)的開(kāi)發(fā)是一項(xiàng)系統(tǒng)工程,為了保證系統(tǒng)的質(zhì)量,設(shè)計(jì)人員必須遵守共同的設(shè)計(jì)原則,盡可能地提高系統(tǒng)的各項(xiàng)指標(biāo)(系統(tǒng)可變性、可靠性、工作質(zhì)量、工作效率、經(jīng)濟(jì)性等)。
系統(tǒng)設(shè)計(jì)的任務(wù)是在系統(tǒng)分析的基礎(chǔ)上,按照邏輯模型的要求,科學(xué)的進(jìn)行總體設(shè)計(jì)和具體的物理設(shè)計(jì),系統(tǒng)要求:系統(tǒng)性、靈活性、可靠性、經(jīng)濟(jì)性。
3.1 概要設(shè)計(jì)的必要性
在概念設(shè)計(jì)階段中,從用戶的角度看待數(shù)據(jù)及處理要求和約束,產(chǎn)生一個(gè)反應(yīng)用戶觀點(diǎn)的概念模式。然后再把概念模式轉(zhuǎn)換成邏輯模式。將概念設(shè)計(jì)從設(shè)計(jì)過(guò)程中獨(dú)立開(kāi)來(lái),有以下幾個(gè)好處。
1. 各階段的任務(wù)相對(duì)單一化,設(shè)計(jì)復(fù)雜程度大大降低,便于組織管理。
2. 不受特定的DBMS的限制,也獨(dú)立于存儲(chǔ)安排和效率方面的考慮,因而比邏輯模型更為穩(wěn)定。
3. 概念模式不含具體的DBMS所附加的技術(shù)細(xì)節(jié),更容易為用戶所理解,因而才有可能準(zhǔn)確地反應(yīng)用戶的信息需求
。
3.2 系統(tǒng)設(shè)計(jì)目標(biāo)
系統(tǒng)開(kāi)發(fā)的總體任務(wù)是實(shí)現(xiàn)企業(yè)信息管理的系統(tǒng)化,規(guī)范化和自動(dòng)化,從而達(dá)到提高信息管理效率的目的。在本系統(tǒng)的設(shè)計(jì)過(guò)程中,為了滿足計(jì)算機(jī)管理的需要采取了以下原則:
1. 統(tǒng)一各種原始單據(jù)的格式,統(tǒng)一帳目和報(bào)表的格式。
2. 刪除不必要的管理冗余,實(shí)現(xiàn)管理規(guī)范化,科學(xué)化。
3. 程序代碼標(biāo)準(zhǔn)化,軟件統(tǒng)一化,確保軟件的可維護(hù)性和實(shí)用性。
4. 界面盡量簡(jiǎn)單化,做到實(shí)用,方便,盡量滿足企業(yè)中不同層次員工的需要。
5. 建立操作日志,系統(tǒng)自動(dòng)記錄所進(jìn)行的各種操作。
3.3 概要設(shè)計(jì)的方法
3.3.1 E-R 法
概要設(shè)計(jì)采用的方法:E-R 法
采用E-R 法的步驟:
1. 設(shè)計(jì)局部E-R模式。
2. 設(shè)計(jì)全局E-R模式。
3. 全局E-R模式的優(yōu)化。
3.3.2 E-R圖
圖3-1 物品實(shí)體E-R圖
圖3-2節(jié)目實(shí)體E-R圖
圖3-3客戶物品E-R圖
圖3-4客戶節(jié)目E-R圖
圖3-5客戶實(shí)體E-R圖
圖3-6實(shí)體之間的關(guān)系
3.4系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)的功能結(jié)構(gòu)圖如下:







圖3-1
3.5管理信息系統(tǒng)的界面特點(diǎn)
在計(jì)算機(jī)軟件技術(shù)中,人機(jī)界面已經(jīng)發(fā)展成為一個(gè)重要的分支。
MIS人機(jī)界面設(shè)計(jì)一般遵循以下一些基本原則:
1. 以通信功能作為界面設(shè)計(jì)的核心
人機(jī)界面設(shè)計(jì)的關(guān)鍵是使人與計(jì)算機(jī)之間能夠準(zhǔn)確地交流信息。一方面,人向計(jì)算機(jī)輸入信息時(shí)應(yīng)當(dāng)盡量采取自然的方式;另一方面,計(jì)算機(jī)向人傳遞的信息必須準(zhǔn)確,不致引起誤解或混亂。另外,不要把內(nèi)部的處理、加工與人機(jī)界面混在一起(人機(jī)界面程序只是通信),以免互相干擾,影響速度。
設(shè)計(jì)MIS時(shí),針對(duì)每一個(gè)功能,都要按照“I-P-O”的模塊化思想,使輸入、處理與輸出“涇渭分明”,充分體現(xiàn)人機(jī)界面的通信功能。這樣設(shè)計(jì)出來(lái)的程序不易出錯(cuò),而且易于維護(hù)。
報(bào)表打印是MIS必備的功能之一,而且打印之前常常需要計(jì)算。計(jì)算與打印分開(kāi)設(shè)計(jì),雖然消耗時(shí)間,但易于整個(gè)MIS系統(tǒng)的維護(hù)。
2. 界面必須始終一致
統(tǒng)一的人機(jī)界面不致于會(huì)增加用戶的負(fù)擔(dān),讓用戶始終用同一種方式思考與操作。最忌諱的是每換一個(gè)屏幕用戶就要換一套操作命令與操作方法。
例如在整個(gè)系統(tǒng)可以以問(wèn)號(hào)圖標(biāo)表示幫助,以磁盤(pán)圖標(biāo)表示存盤(pán),以打印機(jī)圖標(biāo)表示打印等。
3. 界面必須使用戶隨時(shí)掌握任務(wù)的進(jìn)展情況
人機(jī)界面應(yīng)該能夠告訴用戶軟件運(yùn)行的進(jìn)度。特別是在需要較長(zhǎng)時(shí)間的等待時(shí),必須讓用戶了解工作進(jìn)展情況,如可以設(shè)計(jì)已經(jīng)完成了百分之幾的任務(wù)進(jìn)度條等。目前,Windows下的應(yīng)用軟件無(wú)論大小,其安裝程序幾乎均做到了這一點(diǎn)。開(kāi)發(fā)MIS軟件時(shí),這一點(diǎn)很值得借鑒。
4. 界面必須能夠提供幫助
一個(gè)優(yōu)秀的MIS軟件應(yīng)該提供在線求助功能,甚至提供使用向?qū)В@將給用戶帶來(lái)極大的方便。在多媒體環(huán)境下,以語(yǔ)音提示作為操作向?qū)В粫?huì)干擾屏幕信息,是一個(gè)極佳的選擇。
5. 界面友好、使用方便
多數(shù)MIS軟件的數(shù)據(jù)輸入量較大。對(duì)于一些相對(duì)固定的數(shù)據(jù),不應(yīng)讓用戶頻頻輸入(特別是漢字),而應(yīng)讓用戶用鼠標(biāo)輕松選擇。例如,人事管理系統(tǒng)中的“文化程度”是相對(duì)固定的數(shù)據(jù),其值一般取“小學(xué)”、“初中”、“高中”、“大專”、“大本”、“碩研”、“博研”等。錄入這類數(shù)據(jù)之前,MIS軟件應(yīng)在相應(yīng)位置彈出一個(gè)列表框,待用戶以鼠標(biāo)點(diǎn)擊,而不應(yīng)讓用戶每次都輸入這些漢字。
另外,開(kāi)發(fā)者應(yīng)編寫(xiě)一個(gè)錯(cuò)誤實(shí)時(shí)記錄程序,自動(dòng)記錄何日、何時(shí)、何程序出了何種錯(cuò)誤。
總之,所開(kāi)發(fā)的MIS在使用過(guò)程中,應(yīng)使用戶的數(shù)據(jù)輸入量降至最低限度,同時(shí)也要減少用戶的干預(yù)量。實(shí)踐證明,用戶干預(yù)愈少,MIS系統(tǒng)的滿意程度愈高。
6.輸入畫(huà)面盡可能接近實(shí)際
如果某個(gè)電算會(huì)計(jì)軟件的憑證錄入畫(huà)面是表格式的,一屏可錄入多條記錄,而且與實(shí)際憑證一模一樣,甚至連顏色都無(wú)異,用戶在終端上錄入憑證,仿佛用筆在紙上填寫(xiě)憑證,以增加人機(jī)親和力。
7. 具有較強(qiáng)的容錯(cuò)功能
誤操作、按鍵連擊等均有可能導(dǎo)致數(shù)據(jù)誤錄。巧妙地進(jìn)行程序設(shè)計(jì),可以避免此類因素造成的錯(cuò)誤。例如,錄入學(xué)生成績(jī)時(shí),我們可以對(duì)其范圍進(jìn)行限定,使用戶無(wú)法輸入0~100以外的數(shù)據(jù);錄入學(xué)生年齡時(shí),不妨根據(jù)實(shí)際情況將范圍限制在15~20之間。
3.6界面設(shè)計(jì)
1.登錄窗口的設(shè)計(jì)
在應(yīng)用程序?qū)ο驩pen事件的程序代碼中有下面一條語(yǔ)句:
Open(w_login)
該語(yǔ)句就是打開(kāi)登錄窗口的語(yǔ)句。登錄窗口如圖所示。
圖3-2登陸窗口設(shè)計(jì)
該窗口放置了2個(gè)靜態(tài)文本框Static Text控件,2個(gè)單行編輯框Single line Edit控件,2個(gè)按鈕,2個(gè)GroupBox控件,各個(gè)控件的屬性設(shè)置如表所示:
表3-1登錄窗口中各個(gè)控件的屬性設(shè)置表
控件
|
屬性
|
屬性取值
|
St_1
|
text
|
用戶:
|
St_2
|
text
|
密碼:
|
St_3
|
text
|
企業(yè)信息管理系統(tǒng)登錄
|
ddlb_1
|
AllowEdit
|
選中
|
Sle_2
|
password
|
選中
|
Cb_1
|
text
|
登錄
|
Cb_2
|
text
|
退出
|
Gb_1
|
text
|
空
|
在Cb_1控件的Click事件中輸入如下的程序代碼:
if sle_1.text<>'ztt' then
messagebox("提示","請(qǐng)輸入正確用戶名!")
return
end if
if sle_2.text<>'12345' then
messagebox("提示","請(qǐng)輸入正確口令!")
return
end if
open(w_main)
close(parent)
在Cb_2控件的Click事件輸入如下的程序代碼:
//終止程序
halt
用于結(jié)束應(yīng)用程序的運(yùn)行。
2.主窗口的設(shè)計(jì)
圖3-3主界面窗口設(shè)計(jì)
表3-2主界面窗口中各個(gè)控件的屬性設(shè)置表
控件名稱
|
屬性
|
屬性值
|
|
Title
|
企業(yè)管理信息系統(tǒng)
|
MeumName
|
m_meum
|
P_1
|
Picturename
|
Main.jpg
|
Cb_1
|
text
|
退出
|
從該窗口的菜單或工具欄可以進(jìn)入,物品管理、節(jié)目管理、客戶信息管理、客戶訂購(gòu)信息管理、客戶信息查詢各窗口。
3.物品窗口的設(shè)計(jì)
圖3-4物品管理窗口設(shè)計(jì)
表3-3 物品管理窗口各個(gè)控件的屬性設(shè)置表
控件
|
屬性
|
屬性取值
|
St_1
|
text
|
物品管理
|
Tabpage_1
|
text
|
瀏覽
|
Tabpage_2
|
text
|
查詢
|
Tabpage_3
|
text
|
添加
|
Tabpage_4
|
text
|
修改與刪除
|
Cb_1
|
text
|
退出
|
表3-4 查詢頁(yè)窗口各個(gè)控件的屬性設(shè)置表
控件
|
屬性
|
屬性取值
|
St_1
|
text
|
請(qǐng)輸入物品名稱:
|
Sle_2
|
text
|
空
|
Cb_1
|
text
|
查詢
|
dw_1
|
Dataobject
|
d_thing1
|
Gb_1
|
text
|
空
|
表3-5 添加頁(yè)窗口各個(gè)控件的屬性設(shè)置表
控件
|
屬性
|
屬性取值
|
St_1
|
text
|
請(qǐng)輸入信息,按確定……
|
Cb_1
|
text
|
確定
|
Cb_2
|
text
|
重置
|
dw_1
|
Dataobject
|
d_thing2
|
Gb_1
|
text
|
空
|
表3-6 修改與刪除頁(yè)窗口各個(gè)控件的屬性設(shè)置表
控件
|
屬性
|
屬性取值
|
St_1
|
text
|
請(qǐng)輸入需處理物品名稱:
|
Sle_2
|
text
|
空
|
Cb_1
|
text
|
查詢
|
Cb_2
|
text
|
確定
|
Cb_3
|
text
|
刪除
|
Cb_4
|
text
|
重置
|
dw_1
|
Dataobject
|
d_thing1
|
Gb_1
|
text
|
空
|
4.客戶數(shù)據(jù)窗口錄入設(shè)計(jì)
圖3-5客戶數(shù)據(jù)錄入窗口設(shè)計(jì)
在“瀏覽”分頁(yè)中,實(shí)現(xiàn)在數(shù)據(jù)窗口中顯示該企業(yè)的各種各樣的物品。
代碼見(jiàn)附錄。
在“查詢”分頁(yè)中,可以模糊查詢?cè)撈髽I(yè)的各種各樣的物品。
代碼見(jiàn)附錄。
在“添加”分頁(yè)中,實(shí)現(xiàn)向該企業(yè)物品表中添加各種各樣的物品。
代碼見(jiàn)附錄。
在“修改與刪除”分頁(yè)中,實(shí)現(xiàn)該企業(yè)的各種各樣的物品修改與刪除。
代碼見(jiàn)附錄。
表3-7 客戶數(shù)據(jù)錄入窗口各個(gè)控件屬性設(shè)置表
控件
|
屬性
|
屬性取值
|
St_1
|
text
|
客戶數(shù)據(jù)錄入
|
Tabpage_1
|
text
|
客戶信息錄入
|
Tabpage_2
|
text
|
客戶物品錄入
|
Tabpage_3
|
text
|
客戶節(jié)目錄入
|
Cb_1
|
text
|
退出
|
在“客戶信息錄入”分頁(yè)中,實(shí)現(xiàn)添加客戶的的信息。
代碼見(jiàn)附錄。
在“客戶物品錄入”分頁(yè)中,實(shí)現(xiàn)添加客戶訂購(gòu)的物品的信息。
代碼見(jiàn)附錄。
在“客戶節(jié)目錄入”分頁(yè)中,實(shí)現(xiàn)添加客戶訂購(gòu)的節(jié)目的信息。
代碼見(jiàn)附錄。
5.客戶訂購(gòu)信息查詢窗口設(shè)計(jì)
圖3-6客戶訂購(gòu)信息查詢?cè)O(shè)計(jì)
表3-8 客戶訂購(gòu)信息查詢窗口各個(gè)控件的屬性設(shè)置表
控件
|
屬性
|
屬性取值
|
St_1
|
text
|
客戶訂購(gòu)信息查詢
|
Tabpage_1
|
text
|
按客戶查詢
|
Tabpage_2
|
text
|
按物品查詢
|
Tabpage_3
|
text
|
按節(jié)目查詢
|
Cb_1
|
text
|
退出
|
表3-9 按客戶查詢頁(yè)窗口各個(gè)控件的屬性設(shè)置表
控件
|
屬性
|
屬性取值
|
St_1
|
text
|
請(qǐng)輸入客戶名稱:
|
ddlb_1
|
text
|
空
|
Cb_1
|
text
|
查詢
|
Gb_2
|
text
|
物品信息
|
Gb_3
|
text
|
節(jié)目信息
|
|
Dataobject
|
d_query1
|
HScrollBar
|
選中
|
VScrollBar
|
選中
|
|
Dataobject
|
d_query2
|
HScrollBar
|
選中
|
VScrollBar
|
選中
|
Gb_1
|
text
|
空
|
在“按客戶信息查詢”分頁(yè)中,可以查到該客戶訂購(gòu)的物品、節(jié)目的信息。
代碼見(jiàn)附錄。
在“按物品查詢”分頁(yè)中,可以查到訂購(gòu)的該物品的客戶信息。
代碼見(jiàn)附錄。
在“按節(jié)目查詢”分頁(yè)中,實(shí)現(xiàn)添加客戶訂購(gòu)的物品的信息。
代碼見(jiàn)附錄。
3.7 菜單設(shè)計(jì)
在菜單畫(huà)面中設(shè)計(jì)應(yīng)用程序主窗口所連接的菜單m_meum.該菜單的結(jié)構(gòu)如下:
圖3-7菜單設(shè)計(jì)
1.“物品節(jié)目管理”菜單下“物品管理”子菜單的clicked事件程序代碼:
Open(w_thing)
其功能打開(kāi)物品窗口。
2.“物品節(jié)目管理”菜單下“節(jié)目管理”子菜單的clicked事件程序代碼:
Open(w_program)
其功能打開(kāi)節(jié)目窗口。
3.“物品節(jié)目管理”菜單下“退出”子菜單的clicked事件程序代碼:
Close(w_main)
其功能關(guān)閉主窗口。
4.“客戶管理”菜單下“客戶訂購(gòu)信息管理”下菜單“客戶訂購(gòu)信息查詢”的clicked事件程序代碼:
Open(w_client)
其功能打開(kāi)物品窗口。
5.“客戶管理”菜單下“物品管理”子菜單的clicked事件程序代碼:
Open(w_query)
其功能打開(kāi)客戶信息窗口。
6.“客戶管理”菜單下“客戶數(shù)據(jù)錄入”的clicked事件程序代碼:
Open(w_input)
其功能打開(kāi)客戶數(shù)據(jù)錄入窗口。
3.8 數(shù)據(jù)窗口的設(shè)計(jì)
數(shù)據(jù)窗口對(duì)象是PowerBuilder編程的精華所在,建立數(shù)據(jù)窗口對(duì)象是程序設(shè)計(jì)中極為重要的一個(gè)部分。針對(duì)不同的情況選擇不同類型的數(shù)據(jù)窗口對(duì)象,會(huì)使程序的實(shí)用性和直觀性大為增強(qiáng)。在本應(yīng)用程序中,完全采用數(shù)據(jù)窗口來(lái)實(shí)現(xiàn)讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù)、修改數(shù)據(jù)庫(kù)中的數(shù)據(jù)、排序等功能。
下面詳細(xì)講述本系統(tǒng)中典型的一個(gè)數(shù)據(jù)窗口對(duì)象。其他的數(shù)據(jù)窗口對(duì)象由于方法相似,在這里不作詳細(xì)講述。
1.d_client數(shù)據(jù)窗口的創(chuàng)建
打開(kāi)“new”對(duì)話框,然后在DataWindow標(biāo)簽頁(yè)選擇數(shù)據(jù)窗口對(duì)象的顯示風(fēng)格,在這里選擇Grid(網(wǎng)格)顯示方式。
單擊“ok”按鈕啟動(dòng)數(shù)據(jù)窗口對(duì)象向?qū)А_x擇SQLSelect數(shù)據(jù)源,然后打單擊“next”按鈕,出現(xiàn)SQL Select窗口。在左上方的表格列表中雙擊要連接的表。
選中該表格后,在列表框中列出了選中表客戶信息表的各個(gè)列。單擊要選中的多個(gè)列,單擊“ok”按鈕,出現(xiàn)“Select Color and Border setting”對(duì)話框。
在其中選擇數(shù)據(jù)窗口的背景顏色、文字顏色和邊框外觀。單擊“next”按鈕,“Ready to Create Grid Datawindow”對(duì)話框。
在其中顯示當(dāng)前數(shù)據(jù)窗口對(duì)象的屬性。單擊其上的“Finish”按鈕。在其中設(shè)置頁(yè)眉區(qū)和細(xì)節(jié)區(qū)的屬性。在數(shù)據(jù)庫(kù)表中各個(gè)列的列名使用英文表示的在列標(biāo)題顯示的時(shí)候我們將它們?cè)O(shè)置為中文。:
通過(guò)上面的操作步驟,一個(gè)完整“Grid”風(fēng)格的數(shù)據(jù)窗口對(duì)象就創(chuàng)建完畢。應(yīng)用程序中窗口上的數(shù)據(jù)窗口控件可以連接和使用這個(gè)創(chuàng)建好的數(shù)據(jù)窗口對(duì)象。
第四章 系統(tǒng)操作簡(jiǎn)介及運(yùn)行
系統(tǒng)維護(hù)與評(píng)價(jià)階段是系統(tǒng)生命周期中的最后一個(gè)階段,也是時(shí)間最長(zhǎng)的一個(gè)重要階段,就像汽車的維護(hù)工作好可以延長(zhǎng)汽車的使用壽命和提高其使用效率一樣,經(jīng)一段時(shí)間的運(yùn)行后,要對(duì)系統(tǒng)目標(biāo)與功能的實(shí)現(xiàn)情況進(jìn)行檢查,并與系統(tǒng)開(kāi)發(fā)中設(shè)立的系統(tǒng)預(yù)期目標(biāo)進(jìn)行對(duì)比,及時(shí)寫(xiě)出系統(tǒng)評(píng)價(jià)報(bào)告,系統(tǒng)維護(hù)工作的好壞可以決定系統(tǒng)的生命周期的長(zhǎng)短和使用效果。
4.1系統(tǒng)的運(yùn)行
至此已經(jīng)完成企業(yè)管理系統(tǒng)程序的編制。運(yùn)行該程序,出現(xiàn)用戶登錄對(duì)話框,如圖所示。
圖4-1系統(tǒng)登錄窗口
輸入正確的用戶名和口令,按“確定”按鈕后進(jìn)入程序的主界面,在菜單或在工具欄中選中“物品管理”進(jìn)入 物品管理窗口。
在本窗口中,tab_1控件中不同的頁(yè)中實(shí)現(xiàn)了瀏覽、查詢、添加、修改與刪除功能。選中“查詢”
頁(yè),在文本框中輸入物品名稱,單擊“查詢”按鈕,相關(guān)的信息顯示在數(shù)據(jù)窗口中。如圖
圖4-2物品管理窗口
在物品窗口中,單擊“修改與刪除”分頁(yè),我們輸入物品先查到我們所要處理的物品,然后在數(shù)據(jù)窗口可以進(jìn)行修改,按“確定”按鈕用來(lái)保存
按“刪除”按鈕可對(duì)數(shù)據(jù)窗口信息直接刪除。如圖所示:
圖4-3物品管理主窗口
在主窗口中,選中“節(jié)目管理”進(jìn)入節(jié)目管理窗口,選擇“添加”分頁(yè),在數(shù)據(jù)窗口中按要求輸入信息后,按“確定”按鈕用來(lái)保存。如圖所示:
圖4-4節(jié)目管理窗口
在主窗口中,選中“客戶信息管理”進(jìn)入客戶信息管理窗口,選擇“客戶訂購(gòu)信息瀏覽”分頁(yè)后,在數(shù)據(jù)窗口中顯示客戶物品、節(jié)目信息。如圖所示:
圖4-5客戶信息管理窗口
在主窗口中,選中“客戶訂購(gòu)信息查詢”進(jìn)入客戶訂購(gòu)信息查詢窗口,按不同的要求進(jìn)行查詢,選擇“按物品查詢”分頁(yè),輸入物品,單擊“查詢”按鈕,定購(gòu)本物品的客戶顯示在數(shù)據(jù)窗口中。
如圖所示:
圖4-6客戶訂購(gòu)信息查詢
在主窗口中,選中“客戶數(shù)據(jù)錄入”進(jìn)入客戶數(shù)據(jù)錄入窗口,選擇“客戶信息錄入”,按要求輸入客戶信息,點(diǎn)擊“確定”按鈕保存。如圖所示:
圖4-7客戶數(shù)據(jù)錄入窗口
4.2系統(tǒng)的編譯
完成了企業(yè)管理信息系統(tǒng)的編程和調(diào)試工作,最后一步就是該系統(tǒng)的編譯和發(fā)行。這涉及到工程項(xiàng)目屬性的設(shè)置、可執(zhí)行應(yīng)用程序的生成。
這涉及到工程對(duì)象的創(chuàng)建、可執(zhí)行應(yīng)用程序的生成以及發(fā)布環(huán)境的配置等多方面的問(wèn)題。一個(gè)系統(tǒng)是否開(kāi)發(fā)成功,歸根結(jié)底是要看用戶對(duì)系統(tǒng)的使用是否滿意。本系統(tǒng)是一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),需要涉及到涉及數(shù)據(jù)庫(kù)環(huán)境配置等問(wèn)題。因此,需要將系統(tǒng)應(yīng)用程序編譯成可執(zhí)行的文件,將應(yīng)用所需要的環(huán)境發(fā)布出去,這樣既可以減少應(yīng)用程序的大小,又可以提高應(yīng)用程序的運(yùn)行速度。
1.創(chuàng)建工程對(duì)象
單擊工具條的“new”圖標(biāo),打開(kāi)“new”對(duì)話框。在該對(duì)話框中選擇“project”標(biāo)簽頁(yè)。選擇“ApplicationWizard”圖標(biāo)。
單擊“ok”按鈕,出現(xiàn)一個(gè)向?qū)дf(shuō)明窗口。單擊其上的“next”按鈕,在對(duì)話框中,指定庫(kù)文件名。在后面出現(xiàn)的對(duì)話框中分別指定生成的工程應(yīng)用的名稱、可執(zhí)行文件名和資源文件名。
在指定完畢,單擊“Finish”按鈕,生成一個(gè)工程對(duì)象。
2.編譯生成和測(cè)試
編譯的步驟如下:1.PowerBuilder的環(huán)境下,打開(kāi)該工程對(duì)象。
2.單擊工程畫(huà)筆工具欄上的Build圖標(biāo)進(jìn)行工程的編譯。PowerBuilder將會(huì)彈出一個(gè)窗口,顯示編譯的工程信息。單擊該窗口上的“Stop”按鈕終止編譯過(guò)程。編譯完成后,即生成了相應(yīng)的可執(zhí)行文件和動(dòng)態(tài)文件。
編譯通過(guò)后,生成可執(zhí)行文件Enterprise.exe。在發(fā)布前還要對(duì)生成的可執(zhí)行文件進(jìn)行測(cè)試,測(cè)試的步驟如下:
1. 離開(kāi)PowerBuilder開(kāi)發(fā)環(huán)境,返回到操作系統(tǒng)環(huán)境下。
2. 將編譯好的文件拷貝到PowerBuilder庫(kù)文件放置的路徑下。
3. 運(yùn)行可執(zhí)行文件。
通過(guò)上面測(cè)試的可執(zhí)行文件,就可以進(jìn)行發(fā)布了。考慮到最終用戶使用機(jī)器的復(fù)雜性,還需要發(fā)布PowerBuilder的環(huán)境文件以及數(shù)據(jù)庫(kù)運(yùn)行的客戶端軟件。
致 謝
在本次畢業(yè)設(shè)計(jì)中,我的導(dǎo)師是××老師,我從××老師身上學(xué)到了很多東西。××老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神都使我受益非淺。××老師無(wú)論在理論上還是在實(shí)踐中都給了我很大的幫助,使我的綜合技能有了很大的提高。××老師耐心細(xì)致的輔導(dǎo),不僅僅教給了我所學(xué)習(xí)的專業(yè)技術(shù)方面的知識(shí),更多的教會(huì)了我獨(dú)立思考,分析問(wèn)題解決問(wèn)題的方法,拓寬了我的思維方式。這對(duì)于我以后的工作和學(xué)習(xí)都是一種莫大的幫助,非常感謝××老師。
限于作者能力有限,在系統(tǒng)開(kāi)發(fā)及論文的撰寫(xiě)過(guò)程中錯(cuò)誤也在所難免,還請(qǐng)各位讀者,指導(dǎo)老師提出寶貴的意見(jiàn),作者將萬(wàn)分感謝!
參考文獻(xiàn)
【1】 鄭阿奇,《PowerBuilder》,電子工業(yè)出版社,2001年。
【2】 薛華誠(chéng),《 管理信息系統(tǒng)》,清華大學(xué)出版社,1993年。
【3】 黃梯云,《管理信息系統(tǒng)導(dǎo)論》,機(jī)械工業(yè)出版社,1995年。
【4】 王珊、薩師煊,《數(shù)據(jù)庫(kù)系統(tǒng)概論》,高等教育出版社,1990年。
【5】 劉魯,《信息系統(tǒng)設(shè)計(jì)原理與引用》,北京航空航天大學(xué)出版社,1995。
畢業(yè)設(shè)計(jì)小結(jié)
經(jīng)過(guò)半年的設(shè)計(jì)和開(kāi)發(fā),一個(gè)完整的企業(yè)信息管理系統(tǒng)已創(chuàng)建完畢了。此系統(tǒng)的功能基本符合用戶的需求,完成了物品管理的瀏覽、查詢、增加、修改與刪除,節(jié)目管理的瀏覽、查詢、增加、修改與刪除。客戶信息管理的一般信息查詢、訂購(gòu)信息瀏覽,客戶訂購(gòu)查詢按物品查詢、按節(jié)目查詢客戶的信息以及客戶數(shù)據(jù)的錄入,但由于設(shè)計(jì)經(jīng)驗(yàn)較少,所以該系統(tǒng)還有許多不盡人意之處,如:用戶界面不夠美觀,功能設(shè)計(jì)不夠完善,人機(jī)交互不夠便敏等,這些都有待進(jìn)一步改善。
下面是對(duì)本文內(nèi)容的簡(jiǎn)要回顧,以及通過(guò)對(duì)該系統(tǒng)的開(kāi)發(fā),本人的一些心得體會(huì)。
第一章“緒論”介紹了管理信息系統(tǒng)的發(fā)展與應(yīng)用,管理信息系統(tǒng)的特點(diǎn)及管理信息系統(tǒng)的開(kāi)發(fā)方法與開(kāi)發(fā)過(guò)程。并且簡(jiǎn)單介紹了軟件開(kāi)發(fā)工具Powerbuilder功能和優(yōu)勢(shì)。
MIS 之所以能夠得到廣泛的應(yīng)用,主要是由于其對(duì)復(fù)雜信息強(qiáng)大的管理功能,能夠輔助用戶管理實(shí)時(shí)數(shù)據(jù)或歷史數(shù)據(jù),甚至可以產(chǎn)生新數(shù)據(jù),或從大量的數(shù)據(jù)中做出統(tǒng)計(jì),也可以根據(jù)用戶的需求做各種類型的查詢,大大方便了用戶的管理工作。但是,正是這些 MIS 所應(yīng)具備的功能,造成了 MIS 設(shè)計(jì)開(kāi)發(fā)的困難。MIS 的管理對(duì)象往往是某一領(lǐng)域中大量的信息,這就要求開(kāi)發(fā)人員首先必須充分調(diào)研,仔細(xì)了解用戶工作的方方面面,熟悉用戶的工作領(lǐng)域,并通過(guò)與用戶的交流,分析用戶提出的各種要求,結(jié)合系統(tǒng)開(kāi)發(fā)的可行性,剔除掉用戶的不可實(shí)現(xiàn)的需求,最后確定系統(tǒng)應(yīng)向用戶提供的功能,并以這些需求為約束來(lái)規(guī)劃應(yīng)用程序的開(kāi)發(fā)。
第二章“需求分析”通過(guò)對(duì)系統(tǒng)的詳細(xì)調(diào)查,針對(duì)系統(tǒng)的現(xiàn)狀以及系統(tǒng)現(xiàn)存的問(wèn)題提出了系統(tǒng)的設(shè)計(jì)目標(biāo)及設(shè)計(jì)原則。通過(guò)對(duì)系統(tǒng)組織機(jī)構(gòu)的分析,業(yè)務(wù)流程和數(shù)據(jù)流程的分析,相應(yīng)畫(huà)出了組織機(jī)構(gòu)圖,系統(tǒng)業(yè)務(wù)流程圖和數(shù)據(jù)流程圖。
需求分析是 MIS 設(shè)計(jì)的第一步,也是 MIS 設(shè)計(jì)過(guò)程中最關(guān)鍵、最困難的一步,需求做得不好,會(huì)使后繼工作大量返工,甚至造成整個(gè)系統(tǒng)的不可用。可見(jiàn)需求分析的重要性。因此,要投入充足的時(shí)間來(lái)做需求分析。
第三章“系統(tǒng)設(shè)計(jì)”論述了概要設(shè)計(jì)的方法。按照此方法,在需求分析的基礎(chǔ)上,先設(shè)計(jì)出滿足用戶需求的各種實(shí)體,畫(huà)出各實(shí)體的E-R圖,然后繪制出實(shí)體之間的關(guān)系并對(duì)其優(yōu)化,以及做出界面設(shè)計(jì)。
第四章“系統(tǒng)的編輯與發(fā)行”是本文的重點(diǎn)展示了系統(tǒng)的運(yùn)行效果。它包括數(shù)據(jù)庫(kù)結(jié)構(gòu)的設(shè)計(jì)實(shí)現(xiàn);登錄窗口的設(shè)計(jì)實(shí)現(xiàn);主界面的設(shè)計(jì)實(shí)現(xiàn);設(shè)備代碼管理模塊等各功能模塊的設(shè)計(jì)。
附 錄
1.物品窗口的代碼。
//瀏覽選項(xiàng)頁(yè)初始化
tab_thing.tabpage_browse.dw_browse.setTransObject(SQLCA)
tab_thing.tabpage_browse.dw_browse.retrieve()
//查詢選項(xiàng)頁(yè)初始化
tab_thing.tabpage_query.dw_query.reset()
tab_thing.tabpage_query.sle_query.text=""
tab_thing.tabpage_query.sle_query.setfocus()
//添加選項(xiàng)頁(yè)初始化
tab_thing.tabpage_append.dw_append.setTransObject(SQLCA)
tab_thing.tabpage_append.dw_append.reset()
tab_thing.tabpage_append.dw_append.insertrow(0)
tab_thing.tabpage_append.dw_append.setfocus()
//修改與刪除選項(xiàng)頁(yè)初始化
tab_thing.tabpage_updatedelete.dw_updatedelete.setTransObject(SQLCA)
tab_thing.tabpage_updatedelete.dw_updatedelete.reset()
tab_thing.tabpage_updatedelete.sle_updatedelete.text=""
tab_thing.tabpage_updatedelete.sle_updatedelete.setfocus()
tab_thing.tabpage_updatedelete.cb_update.enabled=false
tab_thing.tabpage_updatedelete.cb_delete.enabled=false
tab_thing.tabpage_updatedelete.cb_reset1.enabled=false
選擇選項(xiàng)頁(yè)進(jìn)行初始化
//瀏覽選項(xiàng)頁(yè)初始化
tab_thing.tabpage_browse.dw_browse.setTransObject(SQLCA)
tab_thing.tabpage_browse.dw_browse.retrieve()
//查詢選項(xiàng)頁(yè)初始化
tab_thing.tabpage_query.dw_query.reset()
tab_thing.tabpage_query.sle_query.text=""
tab_thing.tabpage_query.sle_query.setfocus()
//添加選項(xiàng)頁(yè)初始化
tab_thing.tabpage_append.dw_append.setTransObject(SQLCA)
tab_thing.tabpage_append.dw_append.reset()
tab_thing.tabpage_append.dw_append.insertrow(0)
tab_thing.tabpage_append.dw_append.setfocus()
//修改與刪除選項(xiàng)頁(yè)初始化
tab_thing.tabpage_updatedelete.dw_updatedelete.setTransObject(SQLCA)
tab_thing.tabpage_updatedelete.dw_updatedelete.reset()
tab_thing.tabpage_updatedelete.st_label2.text=""
tab_thing.tabpage_updatedelete.sle_updatedelete.text=""
tab_thing.tabpage_updatedelete.sle_updatedelete.setfocus()
tab_thing.tabpage_updatedelete.cb_update.enabled=false
tab_thing.tabpage_updatedelete.cb_delete.enabled=false
tab_thing.tabpage_updatedelete.cb_reset1.enabled=false
//
“查詢 ”按鈕click事件代碼 :
string str_query //接受去空格后字符串
int int_retrieve //接受數(shù)據(jù)檢索返回值
//去空格
str_query=trim(tab_thing.tabpage_query.sle_query.text)
//進(jìn)行模糊查詢
str_query="%"+str_query+"%"
if str_query=""or isnull(str_query) then//判斷是否為空
messagebox("提示","請(qǐng)輸入數(shù)據(jù)!")
tab_thing.tabpage_query.sle_query.text=""
tab_thing.tabpage_query.sle_query.setfocus()
return
end if
tab_thing.tabpage_query.dw_query.setTransObject(SQLCA)
int_retrieve=tab_thing.tabpage_query.dw_query.retrieve(str_query)
if int_retrieve=0 then//判斷是否檢索到數(shù)據(jù)
messagebox("提示","本庫(kù)沒(méi)有該數(shù)據(jù)!")
tab_thing.tabpage_query.sle_query.text=""
tab_thing.tabpage_query.sle_query.setfocus()
return
end if
添加頁(yè) “確定”按鈕click事件代碼:
string str_thing //接受編輯控件的文本變量
str_thing=tab_thing.tabpage_append.dw_append.gettext() //接受文本
if str_thing=""or isnull(str_thing) then//判斷是否為空
messagebox("提示","請(qǐng)輸入客戶名!")
return
end if
if tab_thing.tabpage_append.dw_append.update()=1 then//判斷添加是否符合要求
commit using sqlca;
Messagebox("提示","添加成功!")
tab_thing.tabpage_append.dw_append.reset()
tab_thing.tabpage_append.dw_append.insertrow(0)//添加
tab_thing.tabpage_append.dw_append.setfocus()
else
rollback using sqlca;
end if
修改頁(yè)“確定”按鈕click事件代碼:
if tab_thing.tabpage_updatedelete.dw_updatedelete.update()=1 then
commit using sqlca;
Messagebox("修改","修改成功!")
tab_thing.tabpage_updatedelete.sle_updatedelete.text=""
tab_thing.tabpage_updatedelete.sle_updatedelete.setfocus()
else
rollback using sqlca;
end if
“修改 ”按鈕click事件代碼 :
int ret
tab_thing.tabpage_updatedelete.dw_updatedelete.deleterow(0)
ret=messagebox("提示","確定刪除嗎?",question!,yesno!,2)
if ret=1 then
tab_thing.tabpage_updatedelete.dw_updatedelete.update()
commit using sqlca;
Messagebox("刪除","刪除成功!")
tab_thing.tabpage_updatedelete.st_label2.text=""
tab_thing.tabpage_updatedelete.dw_updatedelete.reset()
tab_thing.tabpage_updatedelete.sle_updatedelete.text=""
tab_thing.tabpage_updatedelete.sle_updatedelete.setfocus()
tab_thing.tabpage_updatedelete.cb_update.enabled=false
tab_thing.tabpage_updatedelete.cb_delete.enabled=false
tab_thing.tabpage_updatedelete.cb_reset1.enabled=false
else
if ret=2 then
return
end if
end if
客戶訂購(gòu)信息查詢代碼:
//聲請(qǐng)變量
string ls_client
string str_client
//聲明游標(biāo)
declare thing_cursor cursor for
SELECT 客戶表.client FROM 客戶表;
tab_1.tabpage_1.ddlb_name_1.reset()
//打開(kāi)游標(biāo)
open thing_cursor;
//賦值給下拉列表框
fetch thing_cursor into :ls_client;
do while sqlca.sqlcode=0
tab_1.tabpage_1.ddlb_name_1.additem(ls_client)
fetch thing_cursor into :ls_client;
loop
//關(guān)閉游標(biāo)
close thing_cursor;
2.客戶信息查詢窗口的代碼:
//按客戶名查詢
string str_client
int ret
str_client=trim(tab_1.tabpage_1.ddlb_name_1.text)
if str_client="" then
messagebox("提示","請(qǐng)輸入數(shù)據(jù)!")
return
end if
tab_1.tabpage_1.dw_1.setTransObject(SQLCA)
ret=tab_1.tabpage_1.dw_1.retrieve(str_client)
tab_1.tabpage_1.dw_4.setTransObject(SQLCA)
ret=tab_1.tabpage_1.dw_4.retrieve(str_client)
按物品名查詢代碼:
string str_client
int ret
str_client=trim(tab_1.tabpage_2.sle_2.text)
if str_client="" then
messagebox("提示","請(qǐng)輸入數(shù)據(jù)!")
tab_1.tabpage_2.sle_2.setfocus()
return
end if
tab_1.tabpage_2.dw_2.setTransObject(SQLCA)
ret=tab_1.tabpage_2.dw_2.retrieve(str_client)
if ret=0 then
messagebox("提示","本庫(kù)沒(méi)有該數(shù)據(jù)!")
tab_1.tabpage_2.sle_2.text=""
tab_1.tabpage_2.sle_2.setfocus()
end if
//按節(jié)目名查詢代碼:
string str_client
int ret
str_client=trim(tab_1.tabpage_3.sle_3.text)
if str_client="" then
messagebox("提示","請(qǐng)輸入數(shù)據(jù)!")
tab_1.tabpage_3.sle_3.setfocus()
return
end if
tab_1.tabpage_3.dw_3.setTransObject(SQLCA)
ret=tab_1.tabpage_3.dw_3.retrieve(str_client)
if ret=0 then
messagebox("提示","本庫(kù)沒(méi)有該數(shù)據(jù)!")
tab_1.tabpage_3.sle_3.text=""
tab_1.tabpage_3.sle_3.setfocus()
end if
//添加客戶信息代碼:
string client_name,client_telephone1,client_telephone2
string client_connector,client_address,client_memo,str_name
date client_date
//檢驗(yàn)
if tab_input.tabpage_client.sle_name.text=""or isnull(tab_input.tabpage_client.sle_name.text)then
messagebox("提示","請(qǐng)輸入客戶名!")
tab_input.tabpage_client.sle_name.setfocus()
return
end if
client_name=trim(tab_input.tabpage_client.sle_name.text)
if tab_input.tabpage_client.sle_date.text<>" "ornot isnull(tab_input.tabpage_client.sle_date.text)then
if isDate(trim(tab_input.tabpage_client.sle_date.text)) then
client_date=date(tab_input.tabpage_client.sle_date.text)
else
messagebox("提示","請(qǐng)使用“年/月/日”的日期格式")
tab_input.tabpage_client.sle_name.setfocus()
return
end if
end if
//檢查客戶有沒(méi)有重復(fù)
select 客戶表.client into :str_name from 客戶表 where 客戶表.client=:client_name;
if str_name<>"" then
messagebox("提示","重名,請(qǐng)重新輸入!")
tab_input.tabpage_client.sle_name.setfocus()
return
end if
client_telephone1=trim(tab_input.tabpage_client.sle_telephone1.text)
client_telephone2=trim(tab_input.tabpage_client.sle_telephone2.text)
client_connector=trim(tab_input.tabpage_client.sle_connector.text)
client_address=trim(tab_input.tabpage_client.sle_address.text)
client_memo=trim(tab_input.tabpage_client.sle_memo.text)
//向數(shù)據(jù)庫(kù)寫(xiě)入數(shù)據(jù)
insert into "客戶表"("client","telephone1","telephone2","connector","address","date1","memo")
values(:client_name,:client_telephone1,:client_telephone2,:client_connector,:client_address,:client_date,:client_memo);
messagebox("提示","保存成功!")
tab_input.tabpage_client.sle_name.text=""
tab_input.tabpage_client.sle_telephone1.text=""
tab_input.tabpage_client.sle_telephone2.text=""
tab_input.tabpage_client.sle_connector.text=""
tab_input.tabpage_client.sle_address.text=""
tab_input.tabpage_client.sle_date.text=""
tab_input.tabpage_client.sle_memo.text=""
3.客戶數(shù)據(jù)錄入窗口的代碼
//添加客戶物品信息
//聲請(qǐng)變量
string ls_client
string str_client
//聲明游標(biāo)
// str_client=trim(w_input.tab_input.tabpage_thing.ddlb_name_1.text)
declare thing_cursor cursor for
SELECT 客戶表.client FROM 客戶表;
w_input.tab_input.tabpage_thing.ddlb_name_1.reset()
w_input.tab_input.tabpage_program.ddlb_name_2.reset()
//打開(kāi)游標(biāo)
open thing_cursor;
//賦值給下拉列表框
fetch thing_cursor into :ls_client;
do while sqlca.sqlcode=0
w_input.tab_input.tabpage_thing.ddlb_name_1.additem(ls_client)
w_input.tab_input.tabpage_program.ddlb_name_2.additem(ls_client)
fetch thing_cursor into :ls_client;
loop
//關(guān)閉游標(biāo)
close thing_cursor;
//添加客戶節(jié)目信息
string client_program,client_name_2,client_grade,ls_program,ls_name
int ret,client_count
if tab_input.tabpage_program.sle_program.text=""or isnull(tab_input.tabpage_program.sle_program.text)then
messagebox("提示","請(qǐng)輸入節(jié)目名!")
tab_input.tabpage_program.sle_program.setfocus()
return
end if
client_program=trim(tab_input.tabpage_program.sle_program.text)
client_name_2=trim(tab_input.tabpage_program.ddlb_name_2.text)
client_count=integer(trim(tab_input.tabpage_program.sle_count.text))
client_grade=trim(tab_input.tabpage_program.ddlb_grade.text)
//檢驗(yàn)有沒(méi)有重復(fù)
select 客戶節(jié)目表.program
into :ls_name,:ls_program
from 客戶節(jié)目表
where 客戶節(jié)目表.client=:client_name_2 and 客戶節(jié)目表.program=:client_program;
if ls_program<>"" then
messagebox("提示","重復(fù),請(qǐng)重新輸入!")
return
end if
insert into "客戶節(jié)目表"
("client","program","count1","grade")
values (:client_name_2,:client_program,:client_count,:client_grade);
ret=messagebox("提示","確定保存嗎?",question!,yesno!,2)
if ret=1 then
Messagebox("保存","保存成功!")
else
if ret=2 then
return
end if
end if
tab_input.tabpage_program.sle_program.text=""
tab_input.tabpage_program.sle_count.text=""
posted on 2007-06-24 22:45
星夢(mèng)情緣 閱讀(23003)
評(píng)論(76) 編輯 收藏 引用