客戶管理系統論文8篇
客戶管理系統論文(1)
【摘要】
在信息時代的今天,計算機參與企業日常業務管理以成為企業現代化建設的當務之急。該合同管理系統的設計開發正是適應了這種要求。
本文論述一種適合于中小企業、基于單層結構模型的合同管理計算機信息管理系統的設計與開發。介紹了系統的實現及軟硬件配置。該系統采用VB6.0作為開發工具,MS Access作為數據庫管理系統。簡單介紹了VB6.0的編程環境和其數據庫編程技術。在可行性研究和需求分析的基礎上,對系統的設計方案、功能模塊、接口設計、數據庫系統設計和安全設計等進行了較詳細的論述。
該系統遵循先進、經濟、安全、高效、可靠、易操作、易維護和開放的設計原則。
最后,作者對課題設計作出客觀評價和總結,并對系統的不足之處提出其改進方案和新的構想方案。在論文末,將列出有關的參考文獻。
【關鍵字】 合同管理信息系統, Visual Basic, 數據庫技術
【ABSTRACT】During this information times, combining computers with enterprise usual events management has become an emergent task that every enterprise must accomplish as soon as possible.
The MIS (management information system) of Contracts based on Single-Layer structure mode, which is suitable for medium and small enterprises is developed and designed in this article. Then introduces software and hardware configuration and implement of the system . The system adopts VB6.0 as developing tool, MS Access 2000 as DBMS (Database Management System). Then makes a concise description of programmable environment and database technique of VB6.0. Based on feasibility analyzing and system demand analyzing, emphatically expounds design-project、 functional model、interface designing database system designing、 security design in this paper.
The MIS of Contracts strictly follows the design principle of security, economy, efficiency reliability, and easy operating, maintaining and expanding.
Finally, the author makes a subjective estimate of his design, and puts forward improving methods and new plans to overcome the shortcomings of the existing system .At the end of this article, references are listed.
【key words】 MIS of Contracts, Visual Basic, Database Technique
目 錄摘 要
ABSTRACT
第1章 緒 論
1.1 項目背景
1.2實行合同管理的企業的業務特點
1.3 計算機管理合同的必要性
1.4 合同管理工作分析
第2章 可行性研究
2.1 管理可行性
2.2 技術可行性
第3章Visual Basic 6.0編程環境簡介及數據庫編程
3.1 VB編程環境簡介
3.2 VB數據庫編程
第4章 合同管理系統需求分析說明
4.1 引言
4.1.1 編寫目的
4.1.2 參考資料
4.2 任務概述
4.2.1 開發目標
4.2.2 運行環境
4.2.3 條件與限制
4.3 功能需求
4.3.1 功能劃分
4.3.2 功能描述
4.3.3 詳細功能需求
4.4 性能需求
4.4.1 數據精確度
4.4.2 時間特性
4.4.3 適應性
4.5 運行需求
4.5.1 用戶界面
4.5.2 硬件接口
4.5.3 軟件接口
4.5.4 故障處理
4.6 其它需求
4.6.1 安全保密性
客戶管理系統論文(2)
摘 要本論文主要討論的是數據挖掘在客戶關系管理系統中的應用,運用數據挖掘的相關技術(如粗糙集、關聯規則、決策樹、遺傳算法等),結合銷售行業的市場經營分析及CRM系統開發,建立基于數據挖掘的客戶關系管理系統---客戶服務的解決方案,并進行了部分實現。
數據挖掘技術在客戶關系管理領域中的應用主要有:
(1)通過數據挖掘判斷客戶的價值,即客戶細分;
(2)通過數據挖掘發掘潛在客戶,從而實現交叉銷售,提高現有客戶的價值;
(3)通過數據挖掘分析客戶的流失,預防潛在的客戶流失;
(4)通過數據挖掘保留忠實客戶,優化客戶關系。
我的主要工作就是界面的設計、集成,數據庫設計以及數據的預處理, 建立基于數據挖掘的客戶關系管理系統。
在當今競爭激烈的市場環境中,CRM 是企業增加生存能力、擴大競爭優勢不可或缺的支持。只有能夠更好的利用客戶信息、滿足客戶需求,一個企業才能夠獲得更大的利益。數據挖掘正是指導企業更好地理解客戶以及滿足客戶需求的工具,為用戶進行客戶關系管理提供決策的參考依據。論文研究具有一定的理論意義和實際應用價值,為客戶關系管理提供了一種研究思路和分析方法。
關鍵詞:客戶關系管理(CRM);數據挖掘(Data Mining);界面設計;數據庫設計;數據處理
ABSTRACT
This text mainly discusses the application of data mining in the system of customer relationship management, which applies the related techniques of data mining (such as rough set, association rule, decision tree, genetic algorithms, etc.), and combines the market management analysis and the CRM system’s development of sale business, and builds up the system of customer relationship management based on data mining—customer service, and makes part of functions come true.
The techniques of data mining can be mainly applied in the field of customer relationship management:
(1) Judge customers’ value through data mining, customer classification.
(2)Find potential clients through data mining, and then carry out cross selling to improve the value of clients.
(3)Analyze the drain of clients through data mining, to prevent the drain of potential clients.
(4)Reserve the faithful clients through data mining, to optimize the relationship between clients.
My task is mainly to design and integrate the interface of the software, to do data preprocessing, and to set up the system of customer relationship management based on data mining.
In today’s environment of competitive market, CRM is such a necessary support for enterprises that it can increase the survival ability, and widen competition edge. Only by meeting the demands of clients and making good use of clients’ information can the enterprise gain more profit. And data mining is that tool which can guide companies to understand the clients and meet their demands, and finally, provide reference for the decision of customer relationship management. The discussion of this paper has certain theory meaning and actual application value, and also provides a kind of thinking and analyzing method.
Keywords: data mining;customer relationship management;design of interface; database design;data processing
目 錄前 言 0
摘 要 I
ABSTRACT II
第一章 可行性研究報告 1
1.1項目開發的背景 1
1.2系統設計相關的原理 1
1.2.1 VC ++6.0編程語言的介紹[2] 1
1.2.2 SQL Sever語句介紹[3] 2
1.2.3 數據挖掘 (Data Mining)[4] 4
1.2.4 客戶關系管理 (CRM)[5] 4
1.2.5 數據挖掘在CRM中的應用[6] 5
1.3項目可行性評估[7] 6
1.3.1技術可行性評估 6
1.3.2經濟可行性評估 6
1.3.3操作可行性評估 6
1.4項目可行性研究報告 6
第二章 系統需求分析 7
2.1系統需要解決的主要問題 7
2.1.1粗糙集 7
2.1.2關聯規則 7
2.1.3決策樹 8
2.1.4遺傳算法 8
2.2系統應該具備的基本功能 8
2.3數據收集及預處理[4] 9
2.3.1對各算法中的數據進行預處理 10
2.3.2數據倉庫的定義和特性[5] 14
2.4數據字典 14
第三章 系統設計 16
3.1前言 16
3.2基本簡介 16
3.3系統功能模塊結構圖 16
3.4運行環境 16
3.5詳細分析 18
3.5.1 用戶的權限限制 18
3.5.2 數據庫中表的設計 18
3.5.3 功能模塊的詳細設計 21
第四章 系統編碼 23
4.1系統流程圖設計 23
4.2系統頁面顯示 24
4.2.1登入界面 24
4.2.2進入客戶資料管理界面 26
4.2.3進入客戶信息分析界面 31
4.2.4用戶信息管理界面 33
第五章 系統測試 35
5.1軟件測試[7] 35
5.2軟件測試的目標與方法 35
5.3模塊測試 35
5.4集成測試 36
5.5 系統測試及實現 36
第六章 開發難點與解決技巧 37
6.1開發的難點 37
6.1.1各個算法模塊間建立 37
6.1.2界面與數據庫的連接 37
6.1.3兩種不同用戶的鑒別 37
6.2系統的安全性 37
6.3系統的發布與維護 38
參考文獻 39
致 謝 40
附 錄 一 41
調研報告 41
Research Report 43
附錄二 46
操作手冊 46
前 言隨著Internet 時代的到來,電子商務、企業信息化得到飛速發展,全球市場競爭的加劇和客戶需求多元化的要求,給傳統的商業經濟模式帶來了巨大的沖擊。傳統企業基于4P (product 產品,place 渠道,price 價格,promotion 促銷) 的競爭模式已逐漸被基于客戶關系的經營理念所取代,未來市場的競爭已演變成為服務手段的競爭,建立和發展長期的客戶關系是企業成功的關鍵,因此在客戶關系管理中運用數據挖掘與其相關的技術已成為企業贏得核心競爭優勢的重要手段。它是強調以“客戶關系一對一理論”為基礎,旨在改善企業與客戶之間的新型管理機制,同時也是包括一個組織機構判斷、選擇、爭取、發展和保持客戶所要實施的全部商業過程。[1]
面對當今社會信息化數據的迅速增長,“數據的爆長性增長與知識的相對貧乏”已成為現在人類最大的問題,人類分析數據和從中提取有用信息的能力已遠遠不能滿足實際需要,所以我們要用數據挖掘技術來解決這些問題。數據挖掘就是從數據中發現趨勢或模式的過程,其目的就是通過對大量數據的分析從中發現人們先前不知道的、但又非常有用的新的信息。數據挖掘的應用領域非常廣泛,包括商務管理、生產控制、市場分析、工程設計和科學探索等,在CRM系統中也發揮著十分重要的作用。數據挖掘從大量的客戶數據中挖掘出隱含的、先前未知的、對決策有極大價值的知識和規則,并能夠根據已有的信息對未發生行為做出結果預測,為企業經營決策、市場策劃提供依據。
因為在現實中存在了多種因素(如縮短的交易周期、增加的交易成本、新增的商品和物流方式、貪婪的競爭對手等)共同作用增加了客戶關系的復雜性,所以成功企業必須對每一個因素做出及時反映。此外,大家都知道市場不等人,今天的客戶到了明天也許就不再是你的,與客戶的交互也不想過去那樣簡單,客戶和潛在客戶希望用他們習慣的方式進行交互,因此這就要求人們在做決策時注意以下規則:
(1)提供恰當的服務。
(2)給合適的人。
(3)在正確的時間。
(4)通過正確的渠道。
提供恰當的服務要求商家同客戶進行多種交互,了解客戶需求,投其所好,并把不相關的商品的數目降到最少。給合適的人意味著客戶的需求各不相同。交互活動要在一個高度細化的市場上進行,以滿足不同的需要。要在正確的時間是因為同客戶的交互是一個連續的過程。最后,通過正確的渠道是因為商家可以通過各種途徑(如郵寄、Email、電話購物等)與客戶交互。對于不同的客戶,商家必須保持選擇最有效的方式,這樣才有助于客戶交互。
我們所要做的就是,使用數據挖掘工具運用在客戶關系管理 (CRM) 中,利用數據挖掘技術來幫助商家解決同客戶交互遇到的各種問題,通過對客戶的深入了解,可以確切地估算出利潤和投資回報率,可以避免一些不必要的損失,給商家帶來了贏利。
第一章 可行性研究報告
1.1項目開發背景本系統主要實現數據挖掘技術(如粗糙集、關聯規則、決策樹、遺傳算法)在客戶關系管理中的具體應用,其中粗糙集、關聯規則算法由我們組的陳彩琴負責完成實現,決策樹、遺傳算法由吳海海負責完成實現,而我主要負責實現是界面的設計、數據庫設計、數據預處理,把他們幾個算法集成起來,建立一個基于數據挖掘的客戶關系管理系統。
1.2系統設計相關原理該客戶關系管理系統使用VC++ 6.0作為前臺開發工具,SQL Sever 2000 作為后臺數據庫,開發客戶機/服務器(Client/ Sever ,縮寫為 C/ S )的應用程序,此外還運用了Photoshop 7.0進行了圖片處理。整體設計工程遵循軟件工程的原理、技術和方法,經過需求分析、總體設計、文檔和代碼的編制、模塊測試和系統實現幾個階段。下面就對這幾中技術和方法做一個概述。
1.2.1 VC ++6.0編程語言的介紹[2]
Visual C ++ 是一個功能強大的可視化軟件開發工具。它不僅是一個C++編譯器,而且是一個基于Windows操作系統的可視化集成開發環境(integrated development environment, IDE)。Visual C ++ 6.0由許多組件組成,包括編輯器、編譯器、調試器、以及程序向導AppWizard、類向導Class Wizard 等開發工具。這些組件通過一個名為Developer Studio 的組件集成為和諧的開發環境。
客戶管理系統論文(3)
摘 要
隨著我國的高等教育事業的蓬勃發展,高校的教務改革也在全面的推行,學分制在各校全面啟動,高校信息的自動處理以及網絡式的信息交互方式越來越被認可也應用,讓計算機來管理學生的信息是現在各個高校夠在積極進行的的工作之一,也是高校教務管理工作的重要美容之一。本系統以貴陽學院物電系的教務管理工作的工作內容為實際背景,主要實現用戶信息管理、信息的發布和學生成績的管理等功能。
本文首先介紹了高校教務管理系統的研究背景,簡單的介紹常用的數據庫技術,主要是SQL Server數據庫技術;具體分析了高校教務管理系統的功能需求、角色分析、業務流程和系統目標;本系統分析了高校教務管理信息系統的相關實體,主要包括學生、教師、信息和課程等。
關鍵詞:教務管理系統;SQL Server數據庫技術;
Abstract
Along with our country"s higher education career of booming development, college educational reform in comprehensive, the implementation of credit system in the schools in full swing, and university of automatic processing and information of the information network interactive way more and more recognized also application, let the computer to manage students" information is now various colleges and universities in the positive enough work, and also one of the important work of college educational administration management one of beauty. This system to guiyang college educational administration of the department of electrical things work content for the actual background, mainly realizes user information management, information release and student performance management etc. Function.
This paper first introduced the college educational administration management system the research background, the introduction of the commonly used database technology, mainly is the SQL Server database technology; Detailed analysis of the function of the college educational administration management system requirements, the role of analysis, the business process and system target; This system were analyzed in the teaching management information system related entities, mainly including students, teachers, and information and course, etc.
Keywords: educational administration management system; SQL Server database technology;
目 錄
前 言 1
第一章 開發技術介紹 2
1.1 SQL Server簡介 2
1.2 JAVA簡介 2
第二章 系統分析 3
2.1需求分析 3
2.1.1 管理員功能的需求 3
2.1.2教師功能的需求 4
2.1.3學生功能的需求 5
2.2實體屬性表 6
第三章 數據庫的初步實現 7
3.1系統邏輯結構的設計 7
3.2數據庫關系圖 8
3.3 SQL 語句的實現 8
3.3.1數據表的創建 8
3.3.2 視圖的創建 10
3.3.3 成績排名的創建 10
第四章 系統界面的設計 12
4.1 登錄界面的設計 12
4.2 學生信息添加界面 12
4.3 學生信息查詢界面 13
4.4 學生成績添加界面 14
設計總結及心得 16
致謝 17
參考文獻 18
附錄 19
前 言當今社會是一個信息時代,計算機技術發展迅速,同時信息的自動處理以及網絡式的信息交互方式越來越被人們認可和應用,讓計算機來管理高校信息是現在各個高校都在積極進行的工作之一,也是高校管理工作的重要內容之一。高校的教務管理主要包括信息的發布和學生成績的公開。
運用教務管理系統可以減輕學院教學人員的工作量,縮小開支,提高工作效率與準確率,能夠合理安排時間,能夠盡快的知道自己的考試成績,投入新的課程的學習或復習這次沒有考過的課程。而教務管理系統的應用也為今天的民辦教育在未來市場的競爭力有所提高。從大的方向說,就是為了加速我國四化建設的發展,實現全部的自動化,使我國發展成為通訊網絡化,決策科學化,辦公自動化的國家。
教務管理的重要性概括起來主要有以下幾點:
它是學校教學正常運行的基礎。現代學校的教學活動是建立在一系列教務管理活動基礎之上的。教學場所的安排、教學設施的提供、教學人員的組織、學生班級的編制以及課表的編排均是教學工作不可缺少的條件,也是教務管理的內容。沒有教務管理這一基礎,就會影響正常的教學秩序,使教學工作遭到破壞。
1、它有助于帶動其他各項工作的開展。教學工作在學校各項工作中處于中心地位,教學工作組織協調得好,不僅有助于建立穩定正常的教學秩序,而且有助于帶動其他各項工作。如果學校工作中心經常轉移,教學管理時緊時松、時抓時放,學校就會處于紊亂無序的狀態,教學上不去,其他工作也不會搞好。
2、它能夠促進教師不斷發展提高。教師專業素質和教學水平的發展提高,雖離不開科研,但更有賴于教學工作中的鍛煉和提高。在學校中,教師的主要活動是教學,進行科研的目的是為了促進教學,不能本末倒置。科學、合理的教務管理能保證教師在教學活動中獲得有益的鍛煉,加速其專業素質、教學水平的發展和提高。
3、它是教學質量提高的有效途徑。這表現在三個方面:首先,教學質量的高低,固然與教師學術水平高低有關,但它主要取決于教師的專業素質和教學技能技巧。只有加強教務管理,促進教師專業素質和教學技能技巧的發展提高,才能有效地提高教學質量。其次,學校教學質量的好壞固然與教師的個體素質有關,但更重要的是與整個教師集體所發揮的能量大小有關。每個教師的能量只有在合理的組合之下,才能得以充分發揮,而教學人員的排列組合正是教學管理的內容之一。再次,通過教務管理手段推廣成功的教學經驗和科學的教學方法,可以促使教學質量的提高。
4、它直接影響著學生的質量和育人目標的實現。教學過程決不是單向的知識傳授過程,而是在教師指導下學生德、智、體諸方面全面發展的過程。良好的教學管理,有助于引導教師全面認識教學工作,正確處理教與學的關系,從而保證學校育人目標的實現。
因此,提高教務管理的科學性、規范化和效率對于一個學校的發展有著非常重要的作用。
第一章 開發技術介紹1.1 SQL Server簡介SQL Server是大中型關系數據庫管理系統,最初由Microsoft、Sybase和Ashton-Tate三家公司共同開發的,2000年Microsoft公司推出SQL Server 2000,后來其他的版本。
SQL Server 具有高可用性,具有一套集成的工具和管理應用編程接口;通過數據庫加密、更加安全的默認設置。加強的密碼政策和細化許可控制、以及加強的安全模式等特性;具有可伸縮性,可伸縮性的先進性包括表格分區、復制能力的增強。具有數據轉換服務和報表服務,數據挖掘的功能得以加強,具有改進的數據模型和處理工具。
1.2 JAVA簡介Java是一種簡單的,跨平臺的,面向對象的,分布式的,解釋的,健壯的安全的,結構的中立的,可移植的,性能很優異的多線程的,動態的語言。
它最初被命名為Oak,目標設定在家用電器等小型系統的編程語言,來解決諸如電視機、電話、鬧鐘、烤面包機等家用電器的控制和通訊問題。由于這些智能化家電的市場需求沒有預期的高,Sun放棄了該項計劃。就在Oak幾近失敗之時,隨著互聯網的發展,Sun看到了Oak在計算機網絡上的廣闊應用前景,于是改造了Oak,以“Java”的名稱正式發布。
Java 編程語言的風格十分接近C,C++語言。Java是一個純的面向對象的程序設計語言,它繼承了 C++語言的面向對象技術的核心,Java舍棄了C ++語言中容易引起錯誤的指針(以引用取代)、運算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對象所占據的內存空間,使得程序員不用再為內存管理而擔憂。在 Java SE 1.5 版本中,Java 又引入了泛型編程(Generic Programming)、類型安全的枚舉不定長參數和自動裝/拆箱等語言特性。 Java 不同于一般的編譯執行計算機語言和解釋執行計算機語言。它首先將源代碼編譯成二進制字節碼(bytecode),然后依賴各種不同平臺上的虛擬機來解釋執行字節碼,從而實現了“一次編譯、到處執行”的跨平臺特性。不過,每次的編譯執行需要消耗一定的時間,這同時也在一定程度上降低了 Java 程序的運行效率。但在 J2SE 1.4.2 發布后,Java 的執行速度有了大幅提升。 與傳統程序不同,Sun 公司在推出 Java 之際就將其作為一種開放的技術。全球數以萬計的 Java 開發公司被要求所設計的 Java 軟件必須相互兼容。“Java 語言靠群體的力量而非公司的力量”是 Sun 公司的口號之一,并獲得了廣大軟件開發商的認同。這與微軟公司所倡導的注重精英和封閉式的模式完全不同。 Sun 公司對 Java 編程語言的解釋是:Java 編程語言是個簡單、面向對象、分布式、解釋性、健壯、安全與系統無關、可移植、高性能、多線程和動態的語言。 Java 平臺是基于 Java 語言的平臺。這樣的平臺目前非常流行,因此微軟公司推出了與之競爭的.NET平臺以及模仿 Java 的C#語言。
第二章 系統分析2.1需求分析需求分析是數據庫信息管理系統開發的第一步也是最重要的一步。需求分析就是描述系統的需求,通過定義系統中的關鍵域類來建立模型。
教學系統主要任務是能夠改進和完善教務管理。在教學模塊中,有兩三種用戶角色:管理員,教師,學生。該系統的功能需求包括管理員對功能的需求,教師對功能的需求和學生對功能需求三個部分。
2.1.1 管理員功能的需求
管理員權限最大,可以對教師、學生、課程、成績情況進行統一的管理,管理員對功能的需求如下:
1)系統管理:包括添加教務人員及管理員自己的密碼修改,添加教務人員,完成新教務人員的基本信息,輸入教務人員的編號,密碼,確認密碼及姓名密碼修改,完成管理員本身的密碼更新,輸入密碼,確認密碼。
2)學生信息管理:包括學生查詢及添加學生。
學生查詢,完成學生基本信息的查詢,可根據類型,匹配模式,關鍵值查看指定的學生信息,也可完成學生信息的修改及刪除。
添加學生,完成學生的添加,輸入對應學生的基本信息。
3)教師信息管理:包括教師查詢及添加教師。
教師查詢,完成老師基本信息的查詢,可根據類型,匹配模式,關鍵值查看指定的教師信息,也可完成教師信息的修改及刪除。
添加教師,完成教師的添加,輸入對應教師的基本信息。
4)課程信息管理:包括課程查詢,添加課程,成績錄入。
課程查詢,完成課程基本信息的查詢,可根據類型,匹配模式,關鍵值查看指定的課程信息,也可完成課程信息的修改及刪除。
添加課程,完成課程的添加,輸入對應課程的編號,課程名,學分等相關信息。
成績錄入,對學生的各個課程的考試成績進行錄入。
5)平均成績管理:完成各個課程的平均成績統計。
6)重新登錄系統與退出:退出管理界面的時候,只是退出管理界面,顯示登錄界面,便于重新登錄,以及完全退出本系統。
圖3.1 管理員功能圖
2.1.2教師功能的需求
教師主要是對自己信息的查詢,課程成績的查詢。教師功能的需求如下:
1)教師信息設置:包括個人信息的查看,密碼修改,重新登入及退出。
個人信息,完成個人信息的查看。
密碼修改,完成個人的密碼修改,輸入密碼,確認密碼。
重新登入,退出本界面,顯示登錄界面重新登錄。
退出,退出本系統。
2)學生信息管理:完成學生基本信息的查詢,可根據類型,匹配模式,關鍵值查詢指定的學生。
3)課程信息管理:包括課程信息的查詢,課程表的查詢。
課程信息的查詢,完成課程基本信息的查詢,可根據類型,匹配模式,關鍵值查詢指定的課程。
4)平均成績的查詢:對課程的平均成績進行查詢。
5)成績查詢:對學生的指定課程或某個課程的指定學生的成績進行查詢。
圖3.2 教師功能圖
2.1.3學生功能的需求
學生主要是對自己信息的查詢,課程信息的查詢。學生功能的需求如下:
1)學生信息的設置:包括學籍信息,修改密碼,重新登入及退出
學籍信息,完成本學生基本信息的查詢
修改密碼,完成個人的密碼修改,輸入密碼,確認密碼
重新登入,退出本界面,顯示登錄界面重新登錄
退出,退出本系統。
2)學生信息的查詢:主要是對個人信息的查看。
3)課程信息管理:主要是對課程信息的查詢。
4)成績查詢:對學生個人的課程成績的查詢。
圖3.3 學生功能圖
2.2實體屬性表 第三章 數據庫的初步實現3.1系統邏輯結構的設計教師信息表:
課程信息表:
班級信息表:
管理員信息表:
成績信息表:
學籍信息表:
3.2數據庫關系圖圖3.2.1 數據庫關系圖
3.3 SQL 語句的實現3.3.1數據表的創建
(1)教師信息表創建:
create table 教師信息表(
教師ID varchar(8) primary key ,
教師姓名varchar(8) not null unique,
登錄密碼varchar(8) not null,
)
(2)課程信息表創建:
create table 課程信息表(
課程號varchar(8) primary key,
課程名稱varchar(12) not null,
教師ID varchar(8) not null
foreign key(教師ID) references 教師信息表(教師ID)
)
(3)班級信息表創建:
create table 班級信息表(
班級號varchar(8) not null primary key,
班級名稱varchar(8) not null unique,
所屬學院varchar(8) ,
班級人數 nchar(4)
)
(4)學籍信息表創建:
create table 學籍信息表(
學號varchar(15) primary key,
姓名varchar(8) not null ,
性別varchar(4) ,
班級號varchar(8) not null ,
籍貫varchar(5) ,
登錄密碼varchar(6) not null
foreign key (班級號) references 班級信息表(班級號)
)
(5)成績信息表創建:
create table 成績信息表(
學號varchar(15),
課程號varchar(8),
成績smallint
primary key(學號,課程號)
foreign key (學號) references 學籍信息表(學號),
foreign key (課程號) references 課程信息表(課程號)
)
(6)管理員信息表創建:
create table 課程信息表(
管理員ID varchar(8) primary key,
登錄密碼 varchar(12) not null
)
3.3.2 視圖的創建
(1)“教師課程詳細信息”視圖創建:
create view 教師課程詳細信息
as
SELECT 教師信息表.教師ID,教師信息表.教師姓名,課程信息表.課程號,課程信息表.課程名稱,
教師信息表.登錄密碼
FROM 教師信息表
JOIN 課程信息表 ON 教師信息表.教師ID =課程信息表.教師ID
(2) “學生成績信息”視圖創建:
create view 學生成績信息
as
SELECT 學籍信息表.學號,學籍信息表.姓名,學籍信息表.性別,
課程信息表.課程名稱,成績信息表.成績
FROM 成績信息表
JOIN 學籍信息表 ON 成績信息表.學號 = 學籍信息表.學號
JOIN 班級信息表 ON 班級信息表.班級號 = 學籍信息表.班級號
JOIN 課程信息表 ON 課程信息表.課程號 = 成績信息表.課程號
3.3.3 成績排名的創建
(1)“單科成績排名”創建:
create proc [dbo].[單科成績排名]
@kechenname char(8),
@classname char(8)
as
select 學籍信息表.學號,姓名,成績
from 成績信息表
join 課程信息表on 課程信息表.課程號=成績信息表.課程號
join 學籍信息表on 學籍信息表.學號=成績信息表.學號
join 班級信息表on 班級信息表.班級號=學籍信息表.班級號
where 課程名稱=@kechenname and 班級名稱=@classname
order by 成績desc
(2)“全班排名”創建:
create proc [dbo].[全班排名]
@class char(8)
as
select 學籍信息表.學號,姓名, avg(成績) as 平均分,sum(成績) as 總分
from 成績信息表
join 學籍信息表 on 成績信息表.學號=學籍信息表.學號
join 班級信息表 on 班級信息表.班級號=學籍信息表.班級號
where 班級信息表.班級名稱=@class
group by 學籍信息表.姓名,學籍信息表.學號
order by avg(成績) desc,學籍信息表.學號
第四章 系統界面的設計4.1 登錄界面的設計在登錄模塊中,主要實現的功能是用戶進入系統,并且分為不同的登錄模式,其中包括學生,教師以及管理員三種不同的登錄模式。
實現的界面如下圖:
圖 4.1 登錄模塊
4.2 學生信息添加界面在本界面中,主要實現的是學生自己添加個人的信息。其中包括學生的學號,姓名,性別,班級,學籍等。
實現的界面如下圖:
圖4.2 學生信息添加界面
4.3 學生信息查詢界面在該界面中,主要實現的是學生查看自己的個人信息。
圖4.3 學生信息查詢界面
4.4 學生成績添加界面在該界面中,主要是管理員控制,管理員添加學生每個課程的信息,同時,學生,教師都可以查詢成績。
學生成績添加界面如下圖:
圖4.4 學生添加界面
各界面的主要實現代碼見附錄。
設計總結及心得本次的系統設計,完成了對各個部分的模塊,有Java語言實現系統界面,用SQL Server2005實現數據庫的結構實現,但是,在連接過程中出現了問題,最終沒有實現兩者的連接。
在這次的設計過程中,進一步了解了Java和數據庫的結構以及用SQL語言實現相關的功能。
本次實驗設計使我深刻理解了在《教務管理系統》中所學的軟件開發方法與開發技術,也使我懂得了一些軟件文檔資料寫法的規范性。開發一個系統首先進行用戶的調查、進行可行性研究,然后對系統進行的分析、進行系統設計、系統的實現,最后進行系統的測試并形成各種文檔。
在本次畢業設計中遇到了許多的問題,帶著這些問題,自己去尋找相應的資料,與同學相互討論,最終問題得以解決,為自己以后進一步開發系統做了很好的示范。在這次實驗設計和文檔的寫作過程中得到了指導老師大力幫助,在此深表謝意。
在以后的學習或工作的道路中,我會以最好的狀態去面對每一個問題,以畢業設計的態度及方式來分析及解決相應的問題,把每件事都做到最好,同時也給自己留下寶貴的經驗。
致謝本論文是在我的導師歐萍老師的親切關懷和悉心指導下完成的。他嚴肅的科學態度,嚴謹的治學精神,精益求精的工作作風,深深地感染和激勵著我。從課題的選擇到項目的最終完成,歐平老師都始終給予我細心的指導和不懈的支持。在此謹向歐平老師致以誠摯的謝意和崇高的敬意。
在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!
參考文獻[1]劉偉.山東司法警院教務管理系統設計與實現[D].山東:山東大學,2009.
[2]詹茂森,劉彬. 高校教務管理信息系統信息編碼問題的研究[J]科技信息 .2011年22期
[3]段杰.淺析高校教務管理信息化建設[J] 石家莊理工職業學院學術研究.2011.02
[4]劉建清. 高等學校教務管理要素探析[J]. 中國大學教學.2011.06
[5]劉強,高校教務管理系統的設計與構建[J] 產業與科技論壇.2011.06
[6]刁成嘉,刁奕.UML系統建模與分析設計課程設計.機械工業出版社.2008
[7]孫更新,賓晟,呂婕.Java畢業設計指南與項目實踐.科學出版社.2008
附錄篇幅有限,僅附上主要代碼,
登錄模塊的實現代碼如下:
public class systems extends JFrame implements ActionListener
{
static systems ss;
JPanel panel = new JPanel();
JLabel label1 = new JLabel("輸入姓名:");
JTextField name = new JTextField();
JLabel label2 = new JLabel("密 碼:");
JPasswordField pwd = new JPasswordField();
JButton Enter = new JButton("登錄");
JButton Exit = new JButton("退出");
ButtonGroup bgp = new ButtonGroup();
JRadioButton stu = new JRadioButton("學生");
JRadioButton tch = new JRadioButton("教師");
JRadioButton mag = new JRadioButton("管理員");
public systems()
{
super("登錄系統");
this.setResizable(false);
stu.setBounds(110,210,80,20);
tch.setBounds(220,210,80,20);
mag.setBounds(330,210,80,20);
bgp.add(stu);
bgp.add(tch);
bgp.add(mag);
panel.add(stu);
panel.add(tch);
panel.add(mag);
Enter.setBounds(150,250,80,20);
Exit.setBounds(270,250,80,20);
Enter.addActionListener(this);
Exit.addActionListener(this);
panel.add(Enter);
panel.add(Exit);
panel.setLayout(null);
this.add(panel);
label1.setBounds(135,130,100,25);
panel.add(label1);
name.setBounds(265,130,100,25);
panel.add(name);
label2.setBounds(135,165,100,25);
panel.add(label2);
pwd.setBounds(265,165,100,25);
panel.add(pwd);
this.setBounds(100,100,500,350);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==Enter)
{
String username , password;
username = name.getText();
password = pwd.getText();
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException ce)
{
JOptionPane.showMessageDialog(ss,ce.getMessage());
}
if(stu.isSelected())
{
try
{
Connection con = DriverManager.getConnection("jdbc:odbc:sysdb","sa","");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from STU");
while(rs.next())
{
if((rs.getString("ID").equals(username))&&(rs.getString("Pwd").equals(password)))
{
JOptionPane.showMessageDialog(ss,"登陸成功");
Students stu = new Students();
}
else
{
JOptionPane.showMessageDialog(ss,"登錄失敗");
}
}
rs.close();
stmt.close();
}
catch (SQLException se)
{
JOptionPane.showMessageDialog(ss,se.getMessage());
}
}
else if(tch.isSelected())
{
try
{
Connection con = DriverManager.getConnection("jdbc:odbc:systchdb","sa","");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from TCH");
while(rs.next())
{
if((rs.getString("ID").equals(username))&&(rs.getString("Pwd").equals(password)))
{
JOptionPane.showMessageDialog(ss,"登陸成功");
}
else
{
JOptionPane.showMessageDialog(ss,"登錄失敗");
}
}
}
catch (SQLException se)
{
JOptionPane.showMessageDialog(ss,se.getMessage());
}
}
}
else
{
System.exit(0);
}
}
public static void main(String[] args)
{
systems sys = new systems();
}
}
學生信息添加程序實現代碼如下:
public class AddMsg extends JFrame implements ActionListener
{
static AddMsg s;
/*添加學生信息控件*/
JPanel jpl = new JPanel();
JLabel label1 = new JLabel("添加基本信息",JLabel.CENTER);
JLabel label2 = new JLabel("學號:",JLabel.CENTER);
JLabel label3 = new JLabel("姓名:",JLabel.CENTER);
JLabel label4 = new JLabel("性別:",JLabel.CENTER);
JLabel label5 = new JLabel("班級:",JLabel.CENTER);
JLabel label6 = new JLabel("籍貫:",JLabel.CENTER);
JTextField num = new JTextField(2);
JTextField nam = new JTextField(4);
ButtonGroup bgp = new ButtonGroup();
JRadioButton man = new JRadioButton("男");
JRadioButton women = new JRadioButton("女");
JTextField clas = new JTextField();
JTextField scl = new JTextField();
JButton reset = new JButton("重置");
JButton addmsg = new JButton("添加");
public AddMsg()
{
super("添加學生信息");
this.setResizable(false);
this.setSize(500,400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(jpl);
jpl.setLayout(null);
addmsg.addActionListener(this);
reset.addActionListener(this);
/*插入面板*/
label1.setBounds(100,20,300,20);
jpl.add(label1);
label2.setBounds(100,50,70,20);
jpl.add(label2);
num.setBounds(190,50,140,20);
jpl.add(num);
label3.setBounds(100,90,70,20);
jpl.add(label3);
nam.setBounds(190,90,140,20);
jpl.add(nam);
label4.setBounds(100,130,70,20);
jpl.add(label4);
man.setBounds(190,130,60,20);
women.setBounds(270,130,60,20);
jpl.add(man);
jpl.add(women);
bgp.add(man);
bgp.add(women);
label5.setBounds(100,170,70,20);
jpl.add(label5);
clas.setBounds(190,170,140,20);
jpl.add(clas);
label6.setBounds(100,210,70,20);
jpl.add(label6);
scl.setBounds(190,210,140,20);
jpl.add(scl);
reset.setBounds(120,250,90,20);
addmsg.setBounds(240,250,90,20);
jpl.add(reset);
jpl.add(addmsg);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==addmsg)
{
String sex;
if(man.isSelected())
{
sex="男";
}
else
{
sex="女";
}
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException ce)
{
JOptionPane.showMessageDialog(s,ce.getMessage());
}
try
{
Connection con = DriverManager.getConnection("jdbc:odbc:sysdb","sa","");
Statement stmt = con.createStatement();
int a = stmt.executeUpdate("insert into STU(ID , Pwd , Name , Sex , Class , Collage)values(""+num.getText()+"",""+"12345678",""+nam.getText()+"",""+sex+"",""+clas.getText()+"",""+scl.getText()+"")");
if(a==1)
{
JOptionPane.showMessageDialog(s,"已成功添加");
}
else
{
JOptionPane.showMessageDialog(s,"添加失敗");
}
stmt.close();
}
catch (SQLException se)
{
JOptionPane.showMessageDialog(s,se.getMessage());
}
}
else
{
num.setText("");
nam.setText("");
clas.setText("");
scl.setText("");
num.requestFocus();
}
}
public static void main(String[] args)
{
AddMsg amg = new AddMsg();
}
}
學生成績模塊實現代碼如下:
public class Addscore extends JFrame implements ActionListener
{
static Addscore ss;
JLabel[] label = {new JLabel("學號:") , new JLabel("數據結構:") , new JLabel("數據庫:") , new JLabel("數字電路:") , new JLabel("模擬電路:") , new JLabel("Java程序設計:") , new JLabel("C語言程序設計:") , new JLabel("高等數學(上):") , new JLabel("高等數學(下):")};
JTextField[] txt = {new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField() ,new JTextField() ,new JTextField() };
JButton add = new JButton("添加");
JButton reset = new JButton("重置");
JPanel jpl = new JPanel();
JLabel title = new JLabel("添加學生成績" , JLabel.CENTER);
Font f = new Font("黑體" , Font.BOLD , 16 );
int s = 100;
public Addscore()
{
super("添加學生信息");
this.setResizable(false);
this.setSize(500,600);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
this.add(jpl);
add.addActionListener(this);
reset.addActionListener(this);
jpl.setLayout(null);
title.setBounds(150,40,200,20);
title.setFont(f);
title.setForeground(Color.red);
jpl.setBackground(Color.LIGHT_GRAY);
jpl.add(title);
for(int i = 0 ; i
客戶管理系統論文(4)
南京工程學院
課程設計說明書(論文)
題 目 車票管理系統的程序設計
課 程 名 稱 C語言程序設計
院(系、部、中心) 電力工程學院
專 業 電氣工程及其自動化(電網監控技術)
班 級
學 生 姓 名
學 號
設 計 地 點 工程實踐中心9-229
指 導 教 師 陳錦濤
設計起止時間: 2009 年 6 月 8 日至2009 年 6 月12日
一、任務書 1
二、設計概要說明 5
⒈功能綜述 5
⒉功能設計要求 5
三、代碼詳解 6
⒈頭文件,及主函數 6
⑴包含頭文件、函數聲明等 6
⑵主函數: 7
⒉各模塊主要代碼 7
⑴菜單函數: 7
⑵錄入函數: 8
⑶顯示所有班次: 9
⑷查找函數: 9
⑸增加班次函數: 10
⑹售票函數: 11
⑺退票函數: 12
⑻修改函數: 13
⑼刪除函數: 13
⑽退出函數: 14
⒊各模塊分函數: 15
⑴打印表頭: 15
⑵打印表尾: 15
⑶查詢函數: 15
⑷按班次查詢函數: 16
⑸保存函數: 16
⑹打開文件函數 17
⑺判斷時間是否超出函數: 17
⑻定位函數: 17
⑼修改及增加錄入: 18
四、運行結果及存在問題 19
⒈運行結果 19
⑴主界面: 19
⑵錄入信息界面 19
⑶顯示所有班次信息界面 20
⑷查詢界面 20
⑸增加班次界面 21
⑹售票界面 22
⑺退票界面 23
⑻修改班次界面 24
⑼刪除班次 25
⒉存在問題 26
四、心得 26
五、參考資料 26
一、任務書南京工程學院
課程設計任務書
課 程 名 稱 C語言程序設計
院(系、部、中心) 電力工程學院
專 業 電氣工程及其自動化(電網監控技術)
班 級
起 止 日 期 2009 年6月 8 日至12日
指 導 教 師 陳錦濤
二、設計概要說明功能綜述
本程序采用結構化、模塊化的設計方法,共分為九個模塊實現錄入班次、顯示班次、查詢班次、售票、退票、修改、刪除、增加班次八個對車票管理功能,能夠較好的解決運行時的異常(如圖):
功能設計要求錄入模塊
首次使用時錄入班次信息,亦可重新錄入班次。
顯示模塊
瀏覽班次信息,可顯示出所有班次當前狀況(已發車,未發車)。
查詢班次
可以按班次號查詢,也可按終點站查詢。
增加班次
用于新增班次信息。
售票
用于售票(只有當系統時間未超過發車時間時方可售票)。
退票
用于退票(只有當系統時間未超過發車時間時方可退票)。
修改班次
當班次信息有誤或需更改時用用于改正。
刪除班次
當班次不在發車時可用此命令刪除班次。
退出
退出系統命令
三、代碼詳解頭文件,及主函數⑴包含頭文件、函數聲明等#include
#include
#include
#include
#include
#include
#define N 20
typedef struct cl
{
char num[10];
char hour[3]; /*小時、分鐘為char型可輸出時間時輸出xx:00*/
char min[3];
char from[10];
char to[10];
float hours;
int max;
int now;
}CLASS;
int class_num=0;
CLASS records[N];
void NewMessage(); /*錄入班次*/
void ShowTable1(); /*打印表頭*/
void ShowTable2(i); /*打印表尾*/
void Display(); /*顯示所有班次*/
void add(); /*增加班次*/
void save(); /*保存班次*/
void load(); /*打開文件信息*/
void gotoxy(); /*定位光標*/
void search(); /*查詢班次*/
void change(); /*修改班次*/
void quit(); /*退出*/
void Ticketorder(); /*售票*/
void Ticketdelete(); /*退票*/
int menu_select(); /*菜單函數*/
int whether(int); /*判斷系統時間與發車時間*/
void find(char s1[],char s2[]); /*查找函數*/
void deletemessage(); /*刪除函數*/
int findnum(char s1[]); /*按班次查詢*/
void get(int,int); /*修改或增加班次錄入函數*/
char *menu[]={"***************MENU***************","1. 錄入班次","2. 顯示所有班次","3. 查詢班次","4. 增加班次","5. 售票","6. 退票","7. 修改班次","8. 刪除班次","9. 退出"};
⑵主函數:void main()
{
system("cls");
for(;;)
{
switch(menu_select())
{
case 1: NewMessage();break;
case 2: Display();break;
case 3: search();break;
case 4: add();break;
case 5: Ticketorder();break;
case 6: Ticketdelete();break;
case 7: change();break;
case 8: deletemessage();break;
case 9: quit();break;
}
}
}
各模塊主要代碼菜單函數:用于打印主界面及供用戶選擇命令
int menu_select()
{
char s[5];
int c,i;
system("cls");
system("color 06");
gotoxy(10,2); /*輸出邊框*/
for(i=0;itm_hourtm_hour==atoi(records[i].hour)&&local->tm_min
客戶管理系統論文(5)
庫存管理系統的設計與開發
06070315 2006級計算機3班 宋娟
【摘 要】庫存管理系統是典型的信息管理系統(MIS),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起一個數據一致性和完整性強、數據安全性好的庫;而對于后者則要求應用程序具有功能完備、易使用等特點。
經過分析以上情況,我采用微軟公司的Visual C#.NET作為前端應用程序開發工具,SQL Server 2000建立后臺數據庫,在本次畢業設計中開發了這套庫存管理系統。本系統利用Visual C#.NET提供的各種面向對象的開發工具,尤其是ADO,能方便而簡潔地實現應用程序和數據庫的互訪,是一款能讓用戶滿意的可行系統。
【關鍵詞】庫存管理;ADO;面向對象;數據庫
Abstract:Inventory management system is a typical management information system (MIS) , Which mainly includes database creation and maintenance, and front-end application development aspects. The former requires a strong consistency and integrity of data, and data with good security; while the latter requires the application functional, easy to use and so on.
After analyzing of the above, I use Microsoft"s Visual C #. NET as a front-end application development tool, SQL Server 2000 establishing the background database, to develop the inventory management system in this graduation project. The system uses a variety of object-oriented development tools which Visual C #. NET Provides, especially the ADO, which can be simple and easy to manipulate the database, so it is a viable system which allows the user’s satisfaction.
Key words: Inventory Management; ADO; Object-oriented; Database
目 錄
引言 1
一、系統分析 1
(一)選題的背景 1
(二)系統需求分析 1
(三)可行性分析 2
(四)系統的開發及功能描述 4
(五)系統邏輯模型 5
二、系統設計 7
(一)系統總體結構設計 7
(二)數據庫設計 8
(三)系統功能模塊的詳細設計 9
三、系統實現 15
四、系統開發總結 25
參考文獻 26
附 錄 28
致 謝 30
引言隨著我國市場經濟的蓬勃發展和人們對物質水平需求的增加,各行各業都處于一個飛速發展的時期,行業的快速發展必然導致各企業之間的競爭更加激烈,為了使自己的企業在競爭中能夠站穩腳跟,不被激烈的競爭環境所壓倒,必然要求企業加強對自身的管理,提高企業的經營效率。
本庫存管理系統的開發主要包括前端應用程序以及后臺數據庫的建立和維護兩個方面。經過分析,我選用微軟公司的Visual C#.NET來開發系統,利用其提供的各種面向對象的開發工具,來操縱數據庫。
本論文正文分為五部分。第一部分介紹了開發庫存管理系統的必要性以及如何開發,并簡要概述了Visual C#.NET 和SQL Server 2000。第二部分介紹系統開發前的準備,包括系統的需求說明及系統總體結構設計和詳細設計。第三部分并著重闡述了系統主要功能模塊的具體實現。第四部分是系統開發的后期工作,講到了該系統的不完善之處及本次系統開發過程中一些切身的感受與想法,是我做這次畢業設計的心得體會。
一、系統分析(一)選題的背景企業的庫存物資管理往往是很復雜、很繁瑣的。由于所掌握的物資種類眾多,訂貨、管理、發放的渠道各有差異,各個企業之間的管理體制不盡相同,各類統計報表繁多,因此倉庫的庫存管理必須編制一套庫存管理信息系統,實現計算機化操作,而且必須根據企業的具體情況制定相應的方案。
由于超市的行業特殊性,產品種類繁多,業務量巨大,若仍然采用人工記賬的方式,必然不能滿足企業的需求,企業需要利用計算機來進行庫存管理,因此需要構造一個庫存管理系統。
一個完整的企業物資供應管理系統應包括采購計劃管理,合同收托管理、倉庫庫存管理、定額管理、統計管理、財務管理等模塊。其中倉庫的庫存管理是整個物資供應管理系統的核心。因此有必要開發一套獨立的庫存管理系統來提高企業工作效率, 而所使用的這套庫存管理系統是企業生產經營管理活動中的核心,此系統必須可以用來控制合理的庫存費用、適時適量的庫存數量,使企業生產活動效率最大化。通過對這些情況的仔細調查,我開發了下面的倉庫庫存管理系統。
(二)系統需求分析系統需求分析就是在用戶需求調研的基礎上,確定系統的總體結構方案,完成相應的需求分析報告。在確定系統的總體結構方案過程中,包括確定應用程序的結構、系統開發環境和開發工具的選擇。
1.應用程序結構確定
從用戶應用角度來看,可把應用程序系統的組成部分分成數據存儲層、業務處理層和界面表示層等3個層次,而應用程序結構可歸納為:集中式應用程序結構、單機板應用程序結構、多層服務器應用程序結構、瀏覽器/服務器應用程序結構、客戶機/服務器應用程序結構等5種類型。
本庫存管理系統就采用了單機版應用程序結構,將數據庫和應用程序置于一臺機器上,這樣更加節約成本,適合中小規模的超市使用。用戶可以輕松將其拷貝到其他計算機上,可以同時運行程序。
2.確定系統開發環境
由于大多數公司內部使用的計算機平臺都是基于Windows環境的。為了降低系統成本,應最大程度地利用現有的資源、兼容現有的環境,可確定使用下面的開發環境:
★數據庫:Microsoft SQL Server 2000;
★前端開發工具:Visual C#.NET;
★數據訪問對象:ADO。
3.開發工具的選擇
可視化(visual)程序設計是一種全新的程序設計方法,全面采用面向對象的程序設計技術,使用事件驅動機制進行程序設計。利用可視化開發工具可以快速、高效地開發應用程序。可視化的開發工具很多,如Microsoft公司推出的Visual Studio軟件系列,Borland公司的Delphi、C++ Builder系列等。
Visual Studio 是微軟公司推出的集成開發環境,是目前最流行的 Windows 平臺應用程序開發環境。它是把代碼的編寫、程序的調試、編譯、運行以及其他的相關操作都集成在一起的“編程工具”。 作用是程序員通過它這個平臺,利用編程語言來寫程序,調試,運行。
SQL Server 2000 是Microsoft 公司推出的SQL Server 數據庫管理系統。該版本繼承了SQL Server 7.0 版本的優點同時又比它增加了許多更先進的功能,具有使用方便,可伸縮性好與相關軟件集成程度高等優點,可跨越從運行Microsoft Windows 98 的膝上型電腦到運行Microsoft Windows 2000 的大型多處理器的服務器等多種平臺使用。
經分析,本庫存管理系統選用Visual C#.NET來設計界面,選用SQL Server 2000來建立后臺數據庫。
(三)可行性分析可行性研究的目的,就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。要達到這個目的,必須分析幾種主要的可能解法的利弊,從而判斷原定的系統規模和目標是否現實,系統完成后所能帶來的效益是否大到值得投資開發這個系統的程度。因此,可行性研究實質上是要進行一次大大壓縮簡化了的系統分析和設計的過程,也就是在較高層次上以較抽象的方式進行的系統分析和設計的過程。
一般來說,可行性分析應從經濟可行性、技術可行性、操作可行性等方面進行研究。本系統的可行性分析如下:
1. 經濟可行性分析
由于本庫存管理系統所要求的硬件(計算機及相關硬件)和軟件環境(Visual C#.NET+SQL Server 2000),市場上都容易購買到或從相關網站下載,系統成本主要集中在本管理系統的開發與維護上,對用戶不造成過重的經濟負擔。而一旦此系統投入使用,不僅可以減少庫存的工作強度,提高工作效率,而且方便了庫存對信息的管理,延續了傳統的管理模式,極大限度地方便了庫存管理人員,而且,目標系統不是很復雜,開發的周期較短,人員經濟支出不大,所節省的大量人力、財力產生的效益將遠遠大于本系統的開發成本,所以從經濟方面講開發此系統是可行的。
2.技術可行性分析
技術上的可行性分析要考慮現有技術條件能否順利完成開發工作及將來要采用的硬件和軟件技術能否滿足用戶提出的要求(如計算機的容量、速度等)。
本系統采用Visual C#.NET作為系統前臺應用程序開發工具,采用SQL Server 2000工具建立數據庫,并通過Visual C#.NET中的ADO控件使兩者進行連接從而進行系統軟件開發。Visual C#.NET不僅能幫助軟件開發者提高軟件開發的質量和效率,縮短開發周期,而且還具備強大的數據庫管理功能,完全能夠滿足本系統的開發需求。 此外,從開發人員的水平考慮,作為計算機科學與技術專業畢業的學生,大學四年所積累的專業知識使我們從一定程度上具備了開發一個小型系統的能力,而且學校現有的計算機設備也完全能夠滿足開發的需要。
3.操作可行性分析
傳統的庫存管理系統,一般有兩種方式:一是手工管理,這種方式應用最傳統的“筆紙操作系統”,將庫存的貨物信息、銷售信息、廠商信息管理及單據管理等均以純手工的形式進行,將信息以表格文件的表現形式記錄在紙上,再進行統一保存。這種方式雖然在簡單信息查詢時會有一定的方便,但是存在著更多的不便:信息保存時間和條件很受限制、容易被損壞、信息查詢不便、信息傳達容易造成失誤等。
另一種常見的信息管理方法是應用單機版的管理系統,本系統就是一款做的相對到位的單機版的庫存管理系統,在庫存信息處理方面做得很精準規范。
因為庫存管理人員已經有豐富的信息管理經驗,加之有相當的計算機應用經驗,所以對于此系統一定很容易就可操作熟練。
綜上所述,本庫存管理系統投資少、收益大,且其運行操作簡單易學,具備了開發的可行性。
(四)系統的開發及功能描述1.開發方法的選擇
信息系統的開發是一項比較復雜的工作,因此我們必須選用科學有效的開發方法。本系統的開發采用了生命周期法。在系統設計時遵循系統調查研究、系統分析、系統設計和系統實施四個主要階段進行設計,而在具體的設計上,則通過在系統的使用及對系統了解的不斷加深中,對某一部分或幾部分進行重新分析、設計、實施,使系統逐步完善。
2.系統功能描述及系統安全性
本庫存管理系統是一套對貨品入庫、出庫、庫存進行全面管理的系統。
在管理內容上,它的主要功能包括:
進貨管理:進行填寫貨品信息,貨品采購入庫,入庫單據的填寫和修改最低庫存量。
出貨管理:進行貨品出庫,出貨單據的填寫和獲取采購員信息。
信息查詢:貨品信息查詢,庫存信息查詢,入庫、出庫單據查詢,日報表、月報表查詢。
統計報表:完整的日報表、月報表統計查詢功能,每張單據每次業務金額都可以清楚地反映。
系統管理:身份驗證,修改本人密碼,注冊用戶,修改刪除用戶。
由于庫存管理系統包含比較重要的信息,因此,在系統設計時除了注重用戶的需求,還要保證系統的安全性和一致性,體現如下:
(1)安全性:本系統中共分為三類不同的用戶,分別具有不同的權限。
(2)一致性:系統的數據要保證一致性、準確性,當某一數據庫中記錄發生改變時,與之相關聯的數據庫也隨之變化。
(五)系統邏輯模型本系統的邏輯模型以系統的數據流圖為主要描述工具。
數據流圖是組織中信息運動的抽象,是在調研的基礎上,從系統的科學性、管理的合理性、實際運動的可行性角度出發,將信息處理功能和彼此之間的聯系自頂向下,逐層分解,從邏輯上精確地描述系統應具有的數據加工功能、數據輸入、數據輸出、數據存儲及數據來源和去向(外部實體)等項目,它表達了數據和處理的關系。
為了敘述方便,我們用不同的符號代表這四個元素:
→表示數據流;
=表示文件(數據存儲);
○表示加工;
□表示數據流的源點和終點。
通過分析調查有關庫存管理需要,并針對一般庫存管理系統的功能需求,設計出庫存管理系統頂層數據流程圖如圖1-1所示:
圖1-1 庫存管理系統頂層DFD
根據系統的頂層數據流圖,進一步分析,畫出系統的第二層數據流圖如圖1-2所示:
圖1-2 庫存管理系統的第二層DFD圖
二、系統設計(一)系統總體結構設計1.系統功能分析
系統開發的總體任務是實現企業物資設備管理的系統化、規范化和自動化,從而達到企業倉庫庫存管理效率的目的。系統功能分析是在系統開發總體任務的基礎上完成的。本庫存管理系統需要完成的功能有:
(1)庫存管理的各種信息的輸入,包括入庫、出庫、貨品信息的輸入等。
(2)庫存管理的各種信息的查詢、修改和維護。
(3)入庫單、出庫單的生成,日報表、月報表的生成。
(4)在貨品庫存中加入所允許的最低庫存字段,對所有庫存物資實現監控和報警。
2.系統功能模塊圖
根據系統功能分析,畫出系統功能模塊圖如下:
圖2-1 系統總體功能模塊圖
(二)數據庫設計數據庫在一個信息管理系統中占有非常重要的地位,數據庫結構設計的好壞將直接對應用系統的效率以及實現的效果產生影響。合理的數據庫結構設計可以提高數據存儲的效率,保證數據的完整和一致。同時,合理的數據庫結構也將有利于程序的實現。設計數據庫時應該首先充分了解用戶各個方面的需求,包括現有的以及將來可能增加的需求。
1. 數據庫概念結構設計
本系統將貨品分類,每類貨品都有一名采購員負責采購,每名采購員只負責采購一類貨品,每類貨品都放在一個倉庫中,一個倉庫中可以放不同種類的貨品,每個客戶可以訂購不同的貨品,每種貨品可以賣給不同的客戶。
圖2-2 庫存管理系統E-R圖
2.數據庫邏輯結構設計
根據系統功能需求與數據流程圖,本數據庫管理系統需要11個數據表,分別是操作員個人信息表、登錄表、倉庫信息表、貨品信息表、庫存信息表、入庫單、出庫單、采購員表、客戶信息表、日報表、月報表。11個表的數據庫邏輯結構如下:
操作員個人信息表(UID, Uname, Sex, Tel);
登錄表(UID ,PWD, Limit);
倉庫信息表(倉庫名稱,負責人,聯系電話,聯系地址,備注);
貨品信息表(貨品編號,貨品名稱,貨品類別,單位,規格型號,顏色);
庫存信息表(庫別,貨品編號,最低庫存,數量,進貨單價,出貨單價);
入庫單(憑證編號,庫別,貨品編號,數量,進貨單價,合計,入庫時間,制單人,采購人編號);
出庫單(憑證編號,庫別,貨品編號,數量,出貨單價,合計,出庫時間,制單人,客戶編號);
采購員表(UID, Uname, 采購的貨品類別,Tel);
客戶信息表(客戶編號,客戶名稱,聯系人,聯系電話,聯系地址,備注);
日報表(日期,貨品編號,本日入庫數量,本日入庫金額,本日出庫數量,本日出庫金額,本日出庫利潤);
月報表(月初日期,月末日期,貨品編號,本月入庫金額,本月出庫金額,本月出庫利潤);
3.設置引用完整性
為了防止用戶不小心刪除有用的數據,或者輸入錯誤的數據,就需要設置引用完整性 (Referential Integrity)。
例如本系統用到的數據庫中,入庫單中輸入的貨品編號必須現存在于貨品信息表中。通過設置引用完整性對數據庫進行約束,能夠幫助程序員和用戶確保使用的數據是合法的。
4.數據庫鏈接的實現
為了充分展現對象編程的思想,系統中利用ADO.NET中的組件SqlConnection實現數據庫和前臺應用程序之間的連接,利用connection對象和command對象實現隨時訪問數據庫的功能。
ADO控件較靈活,它使用SQL表達式,通過SQL屬性來和數據庫文件相連并顯示要顯示的字段,可以方便地對一個或多個數據表中的記錄進行訪問。
(三)系統功能模塊的詳細設計本庫存管理系統是本著用戶操作界面友好、清晰、易學易用的原則進行設計的。
1.身份驗證模塊的設計
在進入系統主界面之前,會出現一個身份驗證對話框,要驗證用戶的身份。本系統中用戶分為管理員、倉庫管理員和經理三種。不同用戶其權限也不同。
圖2-3 用戶登錄模塊界面設計
該模塊的流程圖如圖2-4所示:
圖2-4 用戶登錄模塊流程圖
此外,對一個完整的系統而言,用戶是應該可以修改自己的密碼的,因此系統中應該具有修改密碼的功能,提高數據的安全性,用戶可以在進入系統主界面后可以修改自己的密碼。當用戶輸入完成之后,按“確定”按鈕來關閉對話框,系統會自動檢查用戶兩次輸入的密碼是否一致,如果不一致,會出現出錯提示并建議用戶重新輸入。
圖2-5 修改密碼界面設計
2.系統主界面的實現
系統主界面分為三個,根據用戶的權限不同進入不同的主界面,分別是系統管理員界面、倉庫管理員界面、經理界面。各自主界面自然有不同的功能。
圖2-6 主界面(admin)設計
圖2-7 主界面(倉管)設計
圖2-8 主界面(經理)設計
3.進貨管理模塊的實現
進貨管理模塊包括填寫貨品信息、入庫單、修改最低庫存三個子模塊。
(1)填寫貨品信息
圖2-9 填寫貨品信息設計
(2)入庫單
圖2-10 入庫單設計
(3)修改最低庫存
圖2-11 修改最低庫存設計
4.出庫管理模塊的實現
出庫管理包括填寫出庫單,獲取采購員信息兩個子模塊。
(1)出庫單
圖2-12 出庫單設計
(2)獲取采購員信息
圖2-13 獲取采購員信息的設計
5.報表統計模塊的實現
本系統的報表分為日報表和月報表,日報表在添加入庫單和出庫單時就已經自動添加進數據庫中的日報表了,所以在此只需再手動添加月報表。
圖2-14 月報表的設計
6.信息查詢模塊的實現
該模塊三種用戶都會用到,用戶根據不同的權限分別可以查詢不同的內容,如系統管理員為了修改倉庫信息表、采購員信息表、客戶信息表而查詢相關信息,倉庫管理員為了通知采購員及時采購而查詢采購員信息,經理查詢倉庫管理的各種信息等。
三、系統實現系統實現包括用戶需求實現,系統界面實現和數據庫實現三方面。
1.用戶登錄界面
用戶通過該界面登錄進入系統。在其輸入用戶編號與密碼之后,單擊“確定”按鈕登錄數據庫(為了方便用戶,本系統允許用戶在輸入密碼之后直接按回車鍵登錄數據庫,而無須使用鼠標單擊“確定”按鈕)。此時觸發“確定”按鈕的Click事件相應函數。
圖3-1 系統登錄界面
在這個事件響應函數中,需要首先判斷用戶,因為他們具有不同的權限。如果權限是0,則進入系統管理員界面;權限是1,則進入經理界面;權限是2,則進入倉庫管理員界面。
2. 系統主界面
由于用戶權限的差異,他們所能進入的系統主界面也相應的不同。如圖3-3:
圖3-2 系統主界面一(系統管理員身份進入)
圖3-3 系統主界面二(經理身份進入)
圖3-4 系統主界面三(倉庫管理員身份進入)
3. 系統子界面
3.1 系統管理
圖3-5 修改密碼界面
用戶只能通過此界面修改自己的密碼,如果試圖修改別人的密碼,則提示如下圖:
圖3-6 修改密碼界面
修改密碼成功則顯示重新登錄界面,圖如下:
圖3-7 重新登錄界面
以下是注冊用戶界面:
圖3-8 系統管理員注冊用戶界面
注冊前數據庫中操作員個人信息表如圖3-7:
圖3-9 注冊前的操作員個人信息表數據庫
注冊用戶成功界面:
圖3-10 注冊用戶成功界面
注冊用戶成功數據庫:
圖3-11 注冊后的操作員個人信息表數據庫
修改刪除用戶界面如下:
圖3-12 系統管理員修改刪除用戶界面
刪除報表界面如下圖:
圖3-13 系統管理員刪除報表界面
3.2 進貨管理
倉庫管理員填寫入庫單界面如下圖:
圖3-14 倉庫管理員填寫入庫單界面
入庫單中涉及數據一致性,貨品編號為“1”開頭的庫別自動為飲料庫,貨品編號為“2”開頭的庫別自動為主倉庫,貨品編號為“3”開頭的庫別自動為酒庫。數量和進貨單價設置只能輸入數字類型。其中貨品編號如果在庫存信息表中不存在,那么提示先輸入貨品信息,點擊確定后界面自動跳轉到如下圖:
圖3-15 倉庫管理員填寫入庫單界面
圖3-15 倉庫管理員填寫貨品信息界面
入庫單填寫的信息會自動加入入庫單數據庫,并且更改庫存信息表和日報表中的相
關信息。
圖3-16 未添加信息前的入庫單
圖3-17 入庫單未添加前的庫存信息表
圖3-18 入庫單未添加前的日報表
填寫完入庫單的圖如下:
圖3-19 添加信息后的入庫單
圖3-20 入庫單填寫后的庫存信息表
圖3-21 入庫單填寫后的日報表
3.3 出貨管理
出庫時如果出庫數量低于庫存信息表中的最低庫存時報警,提醒倉庫管理員及時通知采購員采購,如果不清楚此貨品的采購員是誰可以根據貨品編號查詢采購員信息,報警顯示如下圖:
圖3-22 填寫出庫單
3.4 報表統計
圖3-23 月報表統計
3.5 信息查詢
圖3-24 庫存信息查詢
四、系統開發總結本次畢業設計接近尾聲了,它對我所產生的影響卻是巨大的。作為計算機科學與技術專業的學生,四年的學習過程讓我們學到了很多知識,然而真正運用于實踐的并不多,畢業前的這次畢業設計恰是對我們大學四年所學的一次總結,我們可以在老師的幫助下自己來嘗試開發一個小型項目,把所學的單純的理論知識變成為實際的操作經驗,而不再是眼高手低。
此次庫存管理系統開發讓我學習到很多知識,現總結如下:
◆ 系統開發的過程中,我深刻體會到了以前上課老師經常提起的一個問題,那就是:一個系統開發的過程中編碼不是最重要的,重要的是對系統進行分析以及建立恰當的系統模型。有了一個好的系統模型之后,我們再將其劃分成幾個模塊,那樣做起來就會容易得多。本系統中采用了生命周期法進行系統的開發,就體現了該模塊化設計思想。
◆ 在該庫存管理系統設計中,從系統的實用性出發,我能夠在開發該系統時站在用戶的角度看問題,本著用戶操作界面友好、清晰、易學易用的原則進行設計。如開發過程中我盡可能地設想記錄為空,輸入為空,輸入出錯等邊界條件,然后在這些邊界上,設置出錯檢測,使系統能自動捕獲出錯點,給出提示,允許用戶重新進行操作,使系統能夠安全的運行下去,而不是退出系統。
◆ 文章的前面講到了本系統數據庫是使用SQL Server 2000進行設置的,也講到了它的優點,這里就不多說了,但是在本次設計中,我發現了Visual C#.NET的一種應用編程接口—ADO(ActiveX Data Objects)。它是一種面向對象的、與語言無關的應用編程接口,具有易于使用、高速度、低內存支出和占用磁盤較少,可以使用所有支持ODBC的數據庫等優點;使用ADO可以實現動態數據庫的鏈接,從而避免以往靜態方式連接數據庫的一些缺點。這些知識對我本次的系統開發有著很大的幫助。
開發期間,我學會了有目的的去學習一些將要用到的東西,仔細地考慮工作流程的規律和步驟,充分利用手中的開發工具,利用其所具備的功能,盡量使自己的開發在代碼上實現少而精確、讓用戶能夠盡量簡單地進行操作。但是在檢測過程中,還是出現了很多的不足之處,這些都是要在今后的工作中需要努力改進和完善的。
在這次畢業設計中,我遇到了很多困難,這主要是由于我開發軟件的經驗不足,工具的應用也不夠熟練,雖然Visual C#.NET用的語言是C#,但是由于以前基礎不夠扎實,對我來說可以算是一個全新的嘗試,整個開發過程并不是很順利,卻使我從中充分體會到學習的快樂,系統也在從理論到實踐,再從實踐到理論的反復中一步步得到完善。
雖然,這次系統開發由于個人水平及時間有限等原因,只能完成一些基本的功能,程序代碼不夠簡練,好多設想也未能得到實現,這不能不說是個很大的遺憾。現有系統還存在著以下問題:第一點,不能實現界面動態轉換功能。由于技術原因,我只能用Panel控件實現靜態的界面轉換;第二點,功能模塊不夠全面。作為庫存管理系統,系統設計中還能加上備品備件管理和系統維護等功能模塊,可是由于時間比較緊迫,該想法未能實施。由于我第一次開發一個完整的數據庫管理系統,不足之處在所難免,敬請各位老師、領導批評指正,我會在以后的工作中加以完善和改進。
總之,這次的系統開發,實現了我自己動手完成一個系統開發的目標,也學習到很多東西,不只是實踐經驗,還有一些做事的道理:在工作時,要盡量把要遇到的問題考慮周全,提前做好準備,那樣就不會在遇到問題時有措手不及的感覺;做事一定要不斷地去嘗試,然后盡自己最大的努力去完成它,人的發展潛力是巨大的,不要一開始就否定自己,低估自己,雖然不能說只要努力就會取得成功,但是如果不努力,就永遠不會成功。
參考文獻:[1] 梅玫: 《物資庫存的計算機管理》,黑龍江科技信息,2009年7月25日.
[2] 申冠楠,郭宗義: 《百貨店商品的庫存管理系統的設計與實現》,現代商業,2010年1月18日.
[3] 劉志堅: 《中小制造企業庫存管理系統的開發與設計》,中北大學,2009年4月25日.
[4] [美]c.j.date:《數據庫系統導論(英文版第七版)》,機械工業出版社,2002年.
[5] 鄧良松:《軟件工程》,西安電子科技大學出版社,2004年.
[6] 鄧遠志:《數據庫設計方法》,《南昌教育學院學報》,2005年第20卷第4期.
[7]薩師煊等編著 ,《數據庫系統概論》 , 高等教育出版社, 2000年.
[8]東方人華主編,《Visual C#.NET范例入門與提高》, 清華大學出版社, 2003年.
[9]李佳, 付強, 丁寧等編著,《C#開發技術大全》, 清華大學出版社, 2009年.
[10]歐立奇,康祥順,馬煜編著,《Visual C#. NET案例開發集錦》 , 電子工業出版社 ,2005年.
[11] 鄺孔武,王曉敏編著,《信息系統分析與設計》,清華大學出版社,1999年.
[12] 史濟民:《軟件工程-原理、方法與應用》,高等教育出版社,2002年.
[13] 薛華成:《管理信息系統》,清華大學出版社,1999年. [14] 張金城:《管理信息系統》,北京大學出版社,2004年.
[15]馬士華:《供應鏈管理》,機械工業出版社,2000年.
[16]李玉良,邵新宇:《CPFR——供應鏈庫存管理技術的新趨勢》,機械設計與制造工程,2001年第30卷第3期.
[17]潘瑋,董平軍:《基于供應鏈管理的制造業庫存管理系統研究》,東華大學學報.自然科學版,2002年第28卷第1期.
[18]劉永勝:《供應鏈庫存管理面臨的挑戰與對策》,經濟問題,2003年第3 卷.
[19]符光輝,趙啟蘭,王耀球:《零庫存— —制造業的思考》,中國儲運,2005年第4卷.
[20]朱樹人,李偉琴:《EEP體系結構研究.系統工程》,2005年第3卷.
[21]宋華,胡左浩:《現代物流與供應鏈管理》,經濟管理出版社,2000年.
[22]盧耀如:《西北地區地質生態環境與可持續發展》,西安工業大學學報,2002年第33卷第1期.
[23] 李爽:《基于multi-Agent的連鎖企業物流配送》,集團經濟研究,2007年第7卷.
附 錄一、系統開發環境
電腦配置:CPU:Inter Pentium 4處理器 內存:DDR 512MB 硬盤:80G
操作系統:Microsoft Windows XP professional 中文版
開發環境:Visual Studio 2005
二、系統操作步驟
開機,運行系統,具體操作流程如下圖所示:
圖附錄-1 系統操作流程圖
致 謝在本次畢業設計中,我要特別感謝我的指導老師王瑜,從她身上我學到了很多東西。王老師認真負責的工作態度,嚴謹的治學精神都使我受益匪淺。她無論在理論上還是在實踐中,都給予我很大的幫助,幫助我解決了不少的難點,使得系統能夠逐步完善,我也從中得到不少提高,對我以后的工作和學習都有著巨大的幫助,感謝她耐心的輔導并表示衷心的感謝!
此外,還要對那些在我系統開發過程中幫助過我的同學一并表示衷心的感謝!
客戶管理系統論文(6)
數據庫課程設計任務書
題 目 醫藥管理系統數據庫的設計
起訖日期 2007年12月24日 至 2008年 1月 4 日
學生姓名 。。。。 專業班級 英語+軟件工程04-3
所在院系 軟件學院
指導教師 。。。 職稱 講師
所在單位 軟件開發與測試教研室
2010年 12月 21日
摘要
設計目的 意義前言當今時代是飛速發展的時代信息時代。在各得各業中都離不開信息的處理,這
正是計算機被廣泛用于信息管理系統的原因。計算機的最大好處在于利用它能
夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大
的提高了其安全性。尤其對于復雜的信息管理,計算機能夠充分的發揮它的優
越性。計算機進行信息管理與信息管理系統的開發密切相關,系統的開發是系
統管理的前提。本系統就是為了管理好藥房信息而設計的。以前的數據處理要用手工操作,工作量大,出錯率高,出錯后也不易更改。而
這一款的藥房管理系統使用起來,效率高,速度快,也方便使用和修改。本系統是Window 2000 professional 操作系統下,以中文版VB6.0為前臺開發
工具,用中文版的Access 2000為后臺數據庫來實現的。一個好的藥房管理系
統首先要能夠輸入和存儲一些基本的數據資料,例如本系統中的藥品資料和入
庫資料、客戶信息,對于這些資料和數據能方便地進行更新、修改和刪除。其次,藥房管理系統要求能夠進行方便的藥房管理。需要能夠藥品銷售,這是
最基本的藥房功能,還可以進行制定藥品采購計劃等。為了方便管理者管理數據,還要能實現對各種數據的統計,如統計已過期藥品
的信息,銷售藥品的信息和庫存信息等。
主要工作
關鍵字:SQL語言;IBM DB2;數據庫設計;xx系統
目 錄 前 言 ……………………………………………………………………………… 5 第一章 系統需求分析…………………………………………………………… 7 一 概述 ……………………………………………………………………… 7 二 現有系統描述 …………………………………………………………… 9 三 目標系統功能需求 ……………………………………………………… 12 四 目標系統界面與接口需求 ……………………………………………… 13 五 目標系統其它要求 ……………………………………………………… 13 第二章 系統概要設計 ………………………………………………………… 14 一 概述 ……………………………………………………………………… 14 二 總體設計 ………………………………………………………………… 16 三 功能模塊分配 …………………………………………………………… 17 四 目標系統ER圖 …………………………………………………………… 18 五 數據結構設計 …………………………………………………………… 19 第三章 系統邏輯結構設計 …………………………………………………26 一 概述 ……………………………………………………………………… 26 二 ER圖向關系模型的的轉換 ……………………………………………… 27 三 數據模型的優化 ………………………………………………………… 27 四 在設計中遇到的問題 …………………………………………………… 28 第四章 數據庫的物理設計與實施 …………………………………………29 一 概述 …………………………………………………………………………29 二 存取方法 ……………………………………………………………………29 三 數據庫的實施 ………………………………………………………………30 第五章 數據庫設計經驗總結 …………………………………………………31 一 需求分析階段 ………………………………………………………………31 二 表設計原則 …………………………………………………………………32 三 字段設計原則 ………………………………………………………………32 四 選擇鍵和索引 ………………………………………………………………33 五 數據完整性設計 ……………………………………………………………34 六 數據庫命名規范 ……………………………………………………………35 結束語 …………………………………………………………………………………36 謝辭 ……………………………………………………………………………………38 參考文獻 ………………………………………………………………………………39 附錄 ………………………………………………………………………………… 40
第一章 緒 論1.1 軟件簡介1.1. 1 開發背景隨著我國市場經濟的蓬勃發展和人們對醫藥產品需求的迅速增加,醫藥行業正處于一個高速發展的時期。行業的快速發展必然導致競爭的加劇,要想在激烈的市場競 爭中謀求發展,客觀上要求企業必須加強內部管理,提高運營效率。另外,由于醫藥產品種類繁多,銷售模式特殊,業務量大,單憑手工記賬已很難適應工作的需 要。醫藥作為一個關系人們健康的特殊行業,國家對醫藥行業又有一些不同與其他行業的管理政策,這些都加大了管理的難度。如何盡快建立和完善現代企業的信息 化管理機制問題,已成為醫藥企業發展的關鍵所在。目前市場上流行較多的醫藥管理軟件,在處理采購,銷售,財務管理等方面都具有比較強的應用價值,也就是說這些軟件的設計主要的針對對象是醫藥公司的中下層 實際操作人員和管理人員。同時如果公司的上層高級管理人員需要用計算機對公司狀況進行分析,管理,決策時,則需要另外的相關軟件,這樣就會增加開支。我們 就是在這樣的形式環境下,開發一種同時兼有以上兩種功能的軟件,以適應市場發展的需要。
簡單介紹 本論文是一篇主要關于醫藥批發管理系統軟件的整個開發設計的論文。它詳細的介紹了如何針對軟件的開發背景及用戶的設計目標或功能要求,來設計系統軟件。從 任何進行需求分析,到數據庫模型方案的分析,比較,刷選,直到最后完整的數據庫結構及其基本表的建立。同時也包括作者所從事的應用程序整體框架設計部分的 工作。這里包含從需求分析和業務流程分析中如何組織整個程序的信息流程,各個程序模塊的功能分配,以及程序界面和數據庫的連接等問題。1.1.2 實現目標
1系統操作簡單易行。
2全面自動化信息管理,可隨時帳務藥品的進銷存信息。
3靈活準確的收費,提高工作效率。
4查詢靈活方便,數據存儲安全可靠。
5從用戶需求到售后服務,形成了一套嚴密,科學,完善的管理系統。
6功能全面,實用性強。
第二章 需求分析
2.1 需求分析的任務此系統能集中處理藥品的進銷存業務,管理好企業的賬目,為企業的高速發展創造了一個新的條件。此軟件系統的主要是兩個主要用途:1.為醫藥公司高層管理人員分析公司的運營狀況,管理公司內外事務,及員工績效考核提供必要的科學參考依據。2.為各部門中下層人員實現計算機操作,管理提供相應的工具。
2.2 需求分析的過程
在實際開發中,系統功能分析要開發小組的設計人員與用戶進行全面,深入地交流,以切實了解用戶對整個系統功能的凄婉,并分析用戶行業運營的特點,與用戶共同決定系統應該具有哪些功能。
藥房管理系統主要具有的基本功能:1銷售管理:包括銷售等級,銷售退貨,銷售報表
2.進貨管理:包括入庫等級,入庫退貨,入庫報表 3.庫房管理:包括庫存查詢,庫存盤點,庫存修改,庫存報表
4 基礎信息管理:包括藥品信息,員工信息,客戶信息,供應商信息,倉庫基本信息
2.3 數據字典經過可行性分析和初步需求調查,抽象出該子系統業務流程圖,如圖2.1所示。下面,結合該實例具體情況,給出銷售進貨等功能模塊的具體需求。
醫藥管理系統流程圖2-1
⑴ 調查用戶需求
① 銷售管理
● 銷售登記功能:對每件銷售出去的藥品都有相應的記錄顯示。
● 銷售退貨功能:若客戶不滿意退貨時,存儲客戶退貨的藥品信息。
● 銷售報表功能:用來存儲銷售藥品的結賬記錄信息
② 進貨管理
● 入庫登記功能:用來存儲藥品信息
● 入庫退貨功能:存儲進貨藥品退貨反廠的記錄信息
● 入庫查詢功能:查詢入庫的藥品信息
③ 庫房管理
● 庫存查詢功能:查詢庫存容量,及所放藥品位置
● 庫存盤點功能:記錄藥品數量及相關情況
● 庫存修改功能:對存入的藥品進行修改
● 庫存報表功能:存入的藥品結賬記錄
④ 基礎信息管理
● 藥品信息:生產日期,主治功能等
● 員工信息:姓名,性別,聯系電話,職務等
● 客戶信息:姓名,單位,地址,聯系電話,所需藥品等
● 供應商信息:姓名,單位,地址,聯系電話
● 倉庫信息:容量,相應藥品存放位置等
⑵ 分析用戶需求
在調查完了用戶需求之后,就要開始分析用戶需求。在此,我們采用自頂向下的結構化分析方法(SA方法)。首先,定義全局概念結構的框架,如圖2.2所示。
圖2.2醫藥管理系統總框架圖
各子系統需要進一步細化。以各銷售管理系統為例進一步細化,如圖2.3所示。
銷售管理子系統結構圖
基礎信息管理子系統結構圖
參考資料 參考文獻:1.《需求工程》 Requirement Engineering (英)Ian Somerville, Pete Sawyer 著 趙文耘 葉思等譯 機械工業出版社2. 《SQL Server 2000 數據庫設計權威指南》 (美) Louis Davidson 鄺勁筠 葉乃文譯 中國電力出版社3.《軟件工程》Software Engineering (英) Ian Somerville 著 程成 陳霞等譯 機械工業出版社4.《Visual Basic 數據庫開發實例解析》 劉志銘 孫健鵬等編著 機械工業出版社5.《Visual FoxPro 數據庫開發實例解析》 劉志銘 孫健鵬等編著 機械工業出版社6. 《Visual Basic 編程指南》田文勝 劉陽 學勤等編著 清華大學出版社7.《Visual Basic 編程精選集錦》 《電腦編程技巧與維護》雜志社主編 科學出版社8.《SQL Server 2000 數據庫管理》 閃四清 編寫 北京希望電子出版社
客戶管理系統論文(7)
--------------摘要--------------
運輸管理系統管理系統是典型的信息管理系統,其開發的功能主要包括:通過計算機管理客運公司管理信息,日常辦公,實現無紙化辦公,通過工時計算,統計出各項數據,分析出客運現狀和車輛現狀,提高辦事效率。 經過分析,我們決定使用 MICROSOFT公司的 ACCESS作為后臺數據庫,設計出功能庫, 使用 MICROSOFT公司的 VISUAL BASIC開發工具,利用其提供的各種面向對象的開發工具,尤其是ADO控件這一能方便而簡潔操縱數據庫的智能化對象,連接數據庫,開發出產品。關鍵字:ADO、窗體、數據庫。
目錄
摘要 前言第一章 為什么要開發一個運輸管理系統
1.1用計算機管理客運公司管理的意義1.2 運輸管理系統的設計分析第二章 怎樣開發一個運輸管理系統管理系統?2.1 編程環境的選擇2.2 關系型數據庫的實現2.3 二者的結合(DBA)第三章 Windows下的Visual Basic 編程環境簡介3.1 VB連接數據庫的各種方法++第四章 使用Access2000 實現關系型數據庫4.1 數據庫的概念4.2 新建一個數據庫4.3 修改已建的數據庫4.4 實現數據庫之間的聯系第五章 系統總體規劃5.1 系統功能第六章 系統具體實現6.1 用戶界面的實現6.1.1 登陸界面6.1.2 主界面 6.2 數據庫的實現6.2.1 用戶庫6.2.2 各個功能數據庫 第8章 結束語主要參考文獻
-------------前言--------------
發展客運無論對客運公司發展還是對人民生活需求都具有十分重要的意義;發展客運是增強客運公司實力、改善客運服務質量的需要,是完善運輸體系、提高整體效益的需要,是實現兩個根本性轉變、走集約化發展道路的必然趨勢,是發揮道路運輸優勢的拳頭產品;建立客運系統可以提升道路運輸競爭力,提高車輛運用效率,降低運輸成本,減少交通事故;發展客運可以改善投資環境,促進地域經濟國際化的進程;促進沿線經濟開發、房地產升值;促進形成網絡型公路產業,高新技術產業及商貿開發區;促進產業結構化,加快物流速度;促進地區經濟的繁榮。我國加入世界貿易組織后,必然要加快改革和經濟結構調整的速度,加大市場開放的力度,而全國性的客運系統正是開放市場、促進交流的良好載體。
第一章
用計算機管理運輸管理系統的意義 運輸管理系統管理的定義為,組織中運輸管理系統的管理,意指一個組織對運輸管理系統的獲取、維護、激勵與運用與發展的全部管理過程與活動。 一般而言,良好的運輸管理系統管理,有助于為客運公司達到以下的目標:一、協助組織達成發展目標與遠景。二、有效地運用人員的能力與技術專才。三、促使組織成員的工作士氣高昂且激發潛能。四、滿足組織成員的自我實現感與增加成員的工作成就感。五、發起且落實組織變革。六、提高組織成員的工作生活品質。七、協助客運公司負責人做出正確決策。 運輸管理系統的設計分析 根據實際情況,我們使用ADO控件少量代價快速地構造一個可執行的軟件系統模型。使用戶和開發人員可以較快地確定需求,然后采用循環進化的開發方式,對系統模型作連續的精化,將系統需具備的性質逐漸增加上去,直到所有的性質全部滿足。此時模塊也發展成為最終產品了。
第二章
怎樣開發一個運輸管理系統管理系統? 編程環境的選擇 微軟公司的Visual Basic 6.0是Windows應用程序開發工具,使目前最為廣泛的、易學易用的面向對象的開發工具。Visual Basic提供了大量的控件,這些控件可用于設計界面和實現各種功能,減少了編程人員的工作量,也簡化了界面設計過程,從而有效的提高了應用程序的運行效率和可靠性。故而,實現本系統VB是一個相對較好的選擇。 關系型數據庫的實現 Access2000 就是關系數據庫開發工具,數據庫能匯集各種信息以供查詢、存儲和檢索。Access 的優點在于它能使用數據表示圖或自定義窗體收集信息。數據表示圖提供了一種類似于 Excel 的電子表格,可以使數據庫一目了然。另外,Access 允許創建自定義報表用于打印或輸出數據庫中的信息。Access也提供了數據存儲庫,可以使用桌面數據庫文件把數據庫文件置于網絡文件服務器,與其他網絡用戶共享數據庫。Access 是一種關系數據庫工具,關系數據庫是已開發的最通用的數據庫之一。如上所述,Access 作為關系數據庫開發具備了許多優點,可以在一個數據包中同時擁有桌面數據庫的便利和關系數據庫的強大功能。 二者的結合(ADO) 微軟的JET數據庫引擎提供了與數據庫打交道的途徑,我們是通過它以及Visual Basic 來訪問數據庫并對其進行各種操作。Visual Basic、Access以及其他微軟的軟件產品都是通過共用JET數據庫引擎,從而給用戶提供了豐富的數據類型。 ADO 控件在數據庫中的信息與將信息顯示給用戶看的Visual Basic程序之間架起了一座橋梁。我們可以設置ADO控件的各個屬性,告訴它要調用那個數據庫的哪個部分。缺省情況下,ADO控件根據數據庫中的一個或多個數據表建立一個dynaset-type(動態集合)類型的記錄集合。一個記錄集合是動態的也就意味著,當原來的數據表中的容改變了以后,該記錄集合中的記錄也會隨之改變。ADO控件還提供了用來瀏覽不同記錄的各種跳轉按鈕。將ADO控件放置在窗體中之后,我們還必須在該控件與要處理的數據庫之間建立聯系。 ADO(ActiveX Data Objects)是基于組件的數據庫編程接口,它是一個和編程語言無關的COM組件系統。本文主要介紹用ADO編程所需要注意的技巧和在VC下進行ADO編程的模式,并對C++Extensions進行了簡單的討論,希望對ADO開發人員有一定的幫助作用。因為ADO是一個和編程語言無關的COM組件系統,所以這里討論的要點適用于所有的編程語言和編程環境,比如:VB、VBScript、VC、Java等等。
ADO定義了一個可編程的對象集合.ADO對象模型如圖所示:
????對于ADO其中對象來說,我覺得比較重要的是:Command,Connection,Recordset對象.
????雖然嚴格的說這是不準確的,但根據我的實際經驗確實如此.下面就分別來談一下.
????(1) Connection對象????Connection對象用于建立與數據庫的連接.通過連接可從應用程序訪問數據源.它保存諸如指針類型,連接字符串,查詢超時,連接超時和缺省數據庫這樣的連接信息.
????(2) Command對象????在建立Connection后,可以發出命令操作數據源.一般情況下,Command對象可以在數據庫中添加,刪除或更新數據,或者在表中進行數據查詢.Command對象在定義查詢參數或執行一個有輸出參數的存儲過程時非常有用.
????(3) Recordset對象????Recordset對象只代表一個記錄集,這個記錄集是一個連接的數據庫中的表,或者是Command對象的執行結果返回的記錄集.在ADO對象模型中,是在行中檢查和修改數據的最主要的方法,所有對數據的操作幾乎都是在Recordset對象中完成的.Record對象用于指定行,移動行,添加,更改,刪除記錄.
????下面就具體地說說如何用ADO存取數據:
????在實際編程過程中使用ADO的一個典型的存取數據的步驟為: (1) 連接數據源 (2) 打開記錄集對象 (3) 使用記錄集 (4) 斷開連接
????那么具體怎么是用呢?分別來看.(我在最后將給出一個完整的使用ADO的實例給大家參考.)
????(1) 如何連接數據源????利用Connection對象可以創建一個數據源的連接.應用的方法是Connection對象的Open方法.????語法:????Connection對象.Open ConnectionString, UserID, PassWord, OpenOptions????其中:????Connection對象為你定義的Connection對象的實例;????ConnectionString為可選項,包含了連接的數據庫的信息;????UserID 可選項,包含建立連接的用戶名;????PassWord為可選項,包含建立連接的用戶密碼;????OpenOptions為可選項,假如設置為adConnectAsync,則連接將異步打開.
????(2)打開記錄集對象????實際上記錄集返回的是一個從數據庫取回的查詢結果集.因此他有兩種打開方法:一種使用記錄集的Open方法,另一種是用Connection對象的Execute方法.
????(a)記錄集的Open方法????語法:????Recordset.Open Source, ActiveConnection, CursorType, LockType, Options????其中:????Recordset為所定義的記錄集對象的實例.????Source可選項,指明了所打開的記錄源信息.可以是合法的命令,對象變量名,SQL語句,表名,存儲過程調用,或保存記錄集的文件名.????ActiveConnection可選項,合法的已打開的Connection對象的變量名,或者是包含ConnectionString參數的字符串.????CursorType可選項,確定打開記錄集對象使用的指針類型.????LockType可選項 確定打開記錄集對象使用的鎖定類型.
????(b)Connection對象的Execute方法????語法:????Set recordset=Connection.Execute(CommandText,RecordsAffected,Options)????參數說明:????CommandText 一個字符串,返回要執行的SQL命令,表名,存儲過程或指定文本.????RecordsAffected 可選項,Long類型的值,返回操作影響的記錄數.????Options 可選項,Long類型值,指明如何處理CommandText參數.????介紹完了如何打開數據庫下面說說怎么使用吧.
????(3)使用記錄集
????(a)添加新的記錄:????在ADO中添加新的記錄用的方法為:AddNew 它的語法為:????Recordset.AddNew FieldList, Values????Recordset為記錄集對象實例????FieldList為一個字段名,或者是一個字段數組.????Values為給要加信息的字段賦的值,如果FiledList為一個字段名,那么Values應為一個單個的數值,假如FiledList為一個字段數組,那么Values必須也為一個個數,類型與????FieldList相同的數組.????再用完AddNew方法為記錄集添加新的記錄后,應使用UpDate將所添加的的數據存儲在數據庫中.不過你最好在用UpDate方法之前使用CancelUpdate方法來取消該項操作.
客戶管理系統論文(8)
目錄:
一.系統的總體設計………………………………………………………… 3
1.1系統概述…………………………………………………………3
1.2系統功及模塊……………………………………………………3
1.3系統實現方案……………………………………………………4
二.數據庫設計 ………………………………………………………………4
2.1數據庫需求分析……………………………………………………4
2.2數據庫設計…………………………………………………………4
三. 詳細設計 …………………………………………………………………5
3.1系統基本框架…………………………………………………………5
3.2系統各功能模塊設計與實現…………………………………………6
3.2.1公共模塊設計 …………………………………………………6
3.2.2新聞瀏覽界面…………………………………………………6
3.2.3管理員登陸系統………………………………………………7
3.2.4系統管理界面…………………………………………………7
3.2.5發布新聞模塊…………………………………………………8
3.2.6修改新聞模塊…………………………………………………8
3.2.7刪除新聞模塊…………………………………………………8
四.運行效果發布 …………………………………………………………… 8
4.1登陸界面………………………………………………………………8
4.2登陸后界面……………………………………………………………9
4.3發布新聞界面…………………………………………………………9
4.4發布后界面……………………………………………………………9
4.5修改新聞模塊…………………………………………………………10
4.6刪除新聞模塊…………………………………………………………10
4.7新聞瀏覽主界面………………………………………………………11
4.8新聞瀏覽最終界面……………………………………………………11
五.參考文獻……………………………………………………………………12
1、系統總體設計
1.1 系統概述
本系統為是應用JSP和SQL2000開發的網站新聞管理系統,用戶可以通過瀏覽器訪問本系統,查看新聞,管理員可以登錄本系統進行新聞的添加,刪除和修改。對于本系統的管理也是通過瀏覽器來完成的,它具有操作方便快捷等有點。
1.2 系統功能及模塊
1. 瀏覽新聞:用戶通過瀏覽器查看新聞,如果是多條新聞,可以分頁顯示。
2. 新聞錄入:通過瀏覽器來完成,可以改變格式。
3. 新聞修改:通過瀏覽器來完成。
4. 刪除新聞:根據需要可以刪除新聞。
5. 系統管理員驗證:在對系統管理之前,必須通過登錄系統驗證。用戶不必登陸即可查看所有新聞,管理員必須進行身份驗證才能管理系統。
圖1 系統功能模塊
1.3 系統實現方案
本系統采用B/S結構,使用jsp技術,jsp服務器采用Tomcat5.0后臺數據庫管理系統采用SQL Server 2000,開發環境為 eclipse3.2+myeclipse5.0。
2、數據庫設計
2.1數據庫需求分析
根據本系統功能要求,新聞管理系統需要以下數據項。
(1) 新聞資料
新聞標題、新聞內容、發布日期、發布人。
(2) 用戶密碼資料
用戶名、密碼、是否為管理員、姓名。
2.2數據庫表設計
根據需求分析,共設計兩個表,分別為新聞文章表和用戶表。
列名
數據類型
是否可為空
說明
ID
int
否
紀錄編號,標識屬性,主鍵
TITLE
varchar(100)
否
文章標題
BODY
varchar(8000)
否
文章內容
ADDDATE
varchar(30)
否
發布日期
ADDUSER
varchar(10)
是
發布人
表1 新聞文章表
列名
數據類型
是否可為空
說明
ID
int
否
紀錄編號,標識屬性,主鍵
USER-ID
varchar(15)
否
用戶名
USER-PASSWORD
varchar(15)
否
用戶密碼
ISMASTER
varchar(1)
否
是否為管理員
USER-NAME
varchar(10)
是
用戶姓名
表2 用戶表
3.詳細設計
3.1系統基本框架
圖2 系統基本結構圖
公共模塊中一共有4個JSP文件和一個CSS文件:“common.jsp”包含其他JSP文件中需要導入的Java類和包,這樣其他JSP文件就可以只需要將“common.jsp”文件包含進來,而不必逐一包含Java類和包。“connectdb.jsp”文件主要用來連接數據庫,由于這段代碼在大部分頁面中會出現,屬于重復代碼所以可以將他作為一個單獨的JSP文件“codefilter.jsp”文件用于對新聞文章的內容進行轉換,將一般格式于HTML格式之間轉換,如一般格式的回車換行,在HTML格式中就是一個標記等。“check.jsp”文件用來判斷是否可以系統管理員的身份登陸了系統,防止非法用戶直接進入系統管理后太對系統進行破壞。
一般用戶不需要登陸就可以打開新聞瀏覽最終頁面“index.jsp”查看新聞列表,單擊其中某一條新聞的標題,就可以打開新聞瀏覽最終頁面“article.jsp”。查看新聞。由于新聞的標題和內容都存放在數據庫中,所以最終的新聞頁面是根據數據庫中的記錄動態生成的。
只有管理員才能輸入正確的用戶名和密碼,通過登陸系統“login.jsp”和“chklogin.jsp”,才能登陸到系統管理主頁面“mian.jsp”。在這個主頁面中,管理員可以發布新聞、修改新聞以及刪除新聞。
3.2各功能模塊的設計與實現
3.2.1公共模塊設計
公共模塊中一共有4個JSP文件和一個CSS文件:
common.jsp: 包含其他JSP文件中需要導入的JAVA類和包。
connectdb.jsp:用來連接數據庫以及聲明相關變量,連接數據庫時首先裝載驅動,然后建立Connection對象與指定的數據庫進行連接。代碼中聲明了ResultSet的實例rs用來返回查詢結構。還定義全局變量Title供以后的文件使用。
check.jsp: 用來判斷是否以系統管理員的身份登陸系統,防止非法用戶登陸到系統管理后臺對系統進行破壞,程序中使用了會話(session)對象。會話對象類似與普遍應用程序中的全局變量。在一個WEB應用程序中,當一個用戶訪問該應用程序時,這個會話對象使這個用戶在該WEB應用的所有頁面共享數據。
可以使用?putValue()和getValue()方法來保存和讀取會話對象中的數據。上段代碼中通過讀取會話對象中的數據Enter是否為True來判斷系統管理員是否登陸。系統管理員在成功登陸后會將Enter數據保存為True。
codefilter.jsp:用于對新聞文章的內容進行格式轉換,即在一般格式與HTML格式之間的轉換,如一般格式的回車換行,在HTML格式中就是一個標記等。程序中定義了3個方法,其中的Replace()方法是內部方法,是供其他兩個方法調用的。其他程序中只調用toHtml()和unHtml()方法。
3.2.2新聞瀏覽界面
index.jsp:用戶瀏覽新聞的主頁面,該頁面的作用是將所有的新聞標題以列表形式顯出來,
article.jsp:讀者在新聞瀏覽主頁面“index,jsp ”中單擊感興趣的新聞標題時,就會打開新聞瀏覽最終頁面“artcle.jsp”,查看新聞內容。“artcle.jsp”的任務就是接受主頁面傳入的新聞ID,然后以此ID在數據庫新聞文章表article中查找符合條件的記錄,然后取出新聞標題、新聞內容等信息,并顯示在“artcle.jsp”頁面上。
3.2.3管理員登錄系統
新聞管理系統的后臺管理用來發布、修改、刪除新聞。擁有相應權限的管理員才能管理系統,所以新聞管理系統需要管理員登陸系統。登陸系統主要包括兩個JSP文件:“login.jsp”和“chklogin.jsp”。
login.jsp:主要用來讓管理員輸入用戶名和密碼
(1) 程序開頭使用語句將“common.jsp”和“connectdb.jsp”包含進來。
(2) 使用Javascript編寫函數checkdata()用來判斷管理員是否輸入了用戶名和密碼,如果沒有輸入,則給出提示。當用戶單擊登陸按鈕,提交表單時,就會執行這個函數。
(3) 程序中設置Steing類型的變量errmsg,它一共有兩個值:“error1”和“error2”,如果取“error1”,表示輸入的用戶名和密碼不正確,如果為“error2”,表示用戶沒有登陸而企圖直接進入管理頁面。
(4) 用戶輸入用戶名和密碼,或者沒有登陸,直接在瀏覽器地址欄中輸入地址,企圖進入管理頁面時,他們都會由相應的JSP文件重定向到本頁面,并傳入變量errmsg的值。
(5) 出現錯誤時,程序首先取出變量errmsg的值,并設置session對象,將session判斷是哪種錯誤,并打印出來。
(6) 代碼中定義了一個表單,action問“chklogin.jsp”用戶單擊登陸按鈕,提交表單,打開“chklogin.jsp”頁面,判斷用戶名和密碼是否正確。
chklogin.jsp:在數據庫的表中查詢,驗證用戶名和密碼的正確性。
3.2.4系統管理主界面
當管理員輸入正確的用戶名和密碼后就進入到了main.jsp,在該頁面可以發布,修改,刪除新聞。
3.2.5發布新聞模塊
如果想發布新聞。單擊發布新聞,就進入了發布新聞模塊。發布新聞模塊有兩個文件組成:“addarticle.jsp”和“saveatricle.jsp”。
addarticle.jsp:負責在頁面中添加新聞,然后提出表單。
saveatricle.jsp:頁面將添加的新聞保存到數據庫news的數據表article中。
3.2.6修改新聞模塊
新聞發布后,如果發現輸入的標題或者內容出現錯誤,可以使用修改新聞模塊,對新聞進行修改。就修改新聞模塊共有兩個JSP文件:“editarticle.jsp”和“editarticleover.jsp”。
editarticle.jsp:將待修改的新聞和內容顯示出來,供管理員修改。
editarticleover.jsp:將修改后的新聞保存到數據庫中。
3.2.7刪除新聞模塊
根據需要還可以刪除新聞,delarticle.jsp文件就負責這種功能。
4.運行效果發布
4.1登陸界面
4.2登陸后的界面
4.3發布新聞界面
4.4發布后的界面
4.5修改新聞模塊
4.6刪除新聞模塊
4.7新聞瀏覽主界面
4.8新聞瀏覽最終界面
1.
2.
5.參考文獻
【1】張琴 張千帆. 從零開始—JSP動態網頁制作基礎培訓教程 人民郵電出版社 2005
【2】孫衛琴 李洪成.Tomcat與Java.Web開發技術詳解 電子工業出版社 2004
附:
文件名稱
位置
說明
common.jsp
news\incoming
公共包含文件
connectdb.jsp
news\incoming
用來連接數據庫的JSP文件
check.jsp
news\incoming
用來判斷是否以管理員登錄系統的JSP文件
codefilter.jsp
news\incoming
用來將新聞文章格式進行轉換的JSP文件
style.css
news\incoming
樣式表文件
index.jsp
news
新聞瀏覽的主界面文件
article.jsp
news
新聞瀏覽的最終界面文件
login.jsp
news\admin
管理員登錄頁面文件
chklogin.jsp
news\admin
判斷該用戶是否為管理員的JSP文件
main.jsp
news\admin
系統管理主頁面文件
addarticle.jsp
news\admin
添加新聞頁面文件
savearticle.jsp
news\admin
將添加新聞保存的JSP文件
editarticle.jsp
news\admin
修改新聞頁面文件
editarticleover.jsp
news\admin
將修改新聞保存的JSP文件
delarticle.jsp
news\admin
將新聞刪除的JSP文件
index_new.jsp
news
完善美化后的主頁面文件
web.xml
news\WEB-INF
程序應用的描述文件
msbase
news\WEB-INF\lib
SQL Server 2000 JDBC驅動程序包
mssqlserver
news\WEB-INF\lib
SQL Server 2000 JDBC驅動程序包
msutil
news\WEB-INF\lib
SQL Server 2000 JDBC驅動程序包




