

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)</b></p><p> 基于PHP技術(shù)的小型企業(yè)網(wǎng)站開發(fā)</p><p> The Developent of Small Enterprise Website Based on PHP Technology</p><p> 學(xué) 院:
2、 </p><p> 項(xiàng)目組成員: </p><p> 指導(dǎo)教師 : </p><p> 專 業(yè):
3、 </p><p> 年級(jí)(班級(jí)) : </p><p> 起止日期 : 2011年9月1日~2011年11月30日 </p><p> 制表日期: 2011年 8月25日</p><p><
4、b> 摘 要</b></p><p> 該網(wǎng)站是一個(gè)基于PHP技術(shù)的小型企業(yè)網(wǎng)站,MySQL作為后臺(tái)數(shù)據(jù)庫(kù),Apache2.0作為Web服務(wù)器。通過該網(wǎng)站的設(shè)計(jì),能夠很好地展示企業(yè)的形象,能夠很清晰的向用戶展示企業(yè)的產(chǎn)品,企業(yè)管理人員能方便的更改網(wǎng)站對(duì)外展示的內(nèi)容。對(duì)此企業(yè)網(wǎng)站的網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)技術(shù)、安全技術(shù)、網(wǎng)站管理與維護(hù)等整體規(guī)劃與方案設(shè)計(jì)。</p><p>
5、這個(gè)畢業(yè)設(shè)計(jì)主要研究方向是企業(yè)網(wǎng)站后臺(tái)數(shù)據(jù)庫(kù)的設(shè)計(jì)以及整體架構(gòu)的設(shè)計(jì)與代碼編寫,在這個(gè)研究方向上,主要是對(duì)網(wǎng)站后臺(tái)架構(gòu)的設(shè)計(jì),包括此企業(yè)網(wǎng)站的頁(yè)面制作、后臺(tái)數(shù)據(jù)緩存、模板分離、網(wǎng)站安全等</p><p> 關(guān)鍵詞:PHP;Mysql;Apache2.0;企業(yè)網(wǎng)站</p><p><b> Abstract</b></p><p> The
6、 site is a base on PHP technology, small business web site, MySQL as a back-end database, Apache2.0 as a web server. Through the design of the site can display a good corporate image, can be very clear to the user displa
7、y business products, business executives can easily change the external display the contents of the site. This corporate web site network equipment, network technology, security technology, website management and mainten
8、ance of the overall planning and program design.</p><p> The main research direction of graduate design company web site back-end database design and the overall framework for the design and coding, in this
9、 research, the main structure of the site background design, including the corporate Web page production, background data caching, templates separation, site security.</p><p> Key Words:PHP;MySQL;Apache2.0;
10、 Enterprise Website</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 第一章 緒論1</b></p><p>
11、; 1.1 世界互聯(lián)網(wǎng)的發(fā)展1</p><p> 1.2 目前的互聯(lián)網(wǎng)現(xiàn)狀1</p><p> 1.3 企業(yè)電子商務(wù)的興起2</p><p> 1.4 企業(yè)為什么要建立網(wǎng)站2</p><p> 第二章 LAMP架構(gòu)與所用技術(shù)3</p><p> 2.1 Linux起源、特性及應(yīng)用領(lǐng)域3<
12、/p><p> 2.2 Apache概述4</p><p> 2.3 MySQL概述4</p><p> 2.4 PHP概述4</p><p> 2.5 smarty模板引擎5</p><p> 2.6 Ajax概述5</p><p> 第三章 需求分析6</p>
13、<p> 3.1 技術(shù)可行性6</p><p> 3.1.1 動(dòng)態(tài)網(wǎng)站技術(shù)介紹6</p><p> 3.1.2 市場(chǎng)可行性6</p><p> 3.1.3 語(yǔ)言優(yōu)勢(shì)7</p><p> 3.1.4 操作可行性7</p><p> 3.2 軟件可行性分析8</p>&l
14、t;p> 3.2.1 開發(fā)環(huán)境8</p><p> 3.2.2 服務(wù)器環(huán)境8</p><p> 3.3 系統(tǒng)可行性分析8</p><p> 3.3.1 B/S模式介紹8</p><p> 3.3.2 B/S模式的優(yōu)點(diǎn)8</p><p> 3.4 功能性需求9</p><
15、p> 3.4.1 網(wǎng)站的基本信息設(shè)置9</p><p> 3.4.2 導(dǎo)航管理9</p><p> 3.4.3 圖片管理10</p><p> 3.4.4 商品管理10</p><p> 3.4.5 文章模塊10</p><p> 3.4.6 文件下載11</p><p
16、> 3.4.7 招聘信息11</p><p> 3.4.8 用戶管理11</p><p> 3.4.9 留言模塊11</p><p> 3.4.10 網(wǎng)站公告11</p><p> 3.4.11 友情鏈接11</p><p> 3.5 非功能性需求12</p><p&g
17、t; 3.5.1 后臺(tái)界面12</p><p> 3.5.2 前臺(tái)頁(yè)面12</p><p> 第四章 概要設(shè)計(jì)13</p><p> 4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)13</p><p> 4.1.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述13</p><p> 4.1.2 數(shù)據(jù)庫(kù)需求分析13</p><p>
18、; 4.1.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)14</p><p> 4.1.4 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)16</p><p> 4.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)19</p><p> 4.2.1 網(wǎng)站后臺(tái)結(jié)構(gòu)19</p><p> 4.2.2 網(wǎng)站前臺(tái)結(jié)構(gòu)20</p><p> 4.2.3 系統(tǒng)架構(gòu)設(shè)計(jì)20</p&g
19、t;<p> 第五章 詳細(xì)設(shè)計(jì)22</p><p> 5.1 系統(tǒng)公共文件核心代碼22</p><p> 5.1.1 前臺(tái)核心控制文件22</p><p> 5.1.2 前臺(tái)公用函數(shù)庫(kù)24</p><p> 5.1.3 數(shù)據(jù)庫(kù)類26</p><p> 5.1.4 驗(yàn)證碼類27<
20、;/p><p> 5.1.4 后臺(tái)控制文件29</p><p> 5.2 網(wǎng)站管理后臺(tái)31</p><p> 5.2.1 后臺(tái)總體界面31</p><p> 5.2.2 管理員登錄31</p><p> 5.2.3 系統(tǒng)信息34</p><p> 5.2.4 系統(tǒng)設(shè)置34&l
21、t;/p><p> 5.2.5 導(dǎo)航管理35</p><p> 5.2.6 修改管理員密碼37</p><p> 5.2.7 圖片管理37</p><p> 5.2.8 圖片展示40</p><p> 5.2.9 商品展示43</p><p> 5.2.10 單頁(yè)分類43&l
22、t;/p><p> 5.2.11 單頁(yè)管理49</p><p> 5.2.12 文章分類51</p><p> 5.2.13 文章管理54</p><p> 5.2.14 附件管理57</p><p> 5.2.15 下載管理61</p><p> 5.2.16 招聘管理61
23、</p><p> 5.3 網(wǎng)站前臺(tái)62</p><p> 5.3.1 前臺(tái)首頁(yè)62</p><p> 5.3.2 企業(yè)簡(jiǎn)介62</p><p> 5.3.3 圖片展示63</p><p> 5.3.4 商品展示63</p><p> 5.3.5 人才招聘64</p
24、><p> 5.4 系統(tǒng)關(guān)鍵技術(shù)65</p><p> 5.4.1 smarty模板65</p><p> 5.4.2 ajax異步傳輸66</p><p> 第六章 系統(tǒng)測(cè)試69</p><p> 6.1 測(cè)試的定義及目的69</p><p> 6.2 測(cè)試的原則69<
25、;/p><p> 6.3 測(cè)試的方法69</p><p> 6.3.1 界面測(cè)試69</p><p> 6.3.2 功能測(cè)試70</p><p> 6.3.3 需求測(cè)試71</p><p> 6.3.4 性能測(cè)試71</p><p><b> 總 結(jié)72<
26、;/b></p><p><b> 1 總結(jié)72</b></p><p><b> 2 擴(kuò)展72</b></p><p><b> 致 謝74</b></p><p> 參 考 文 獻(xiàn)75</p><p><b>
27、 第一章 緒論</b></p><p> 1.1 世界互聯(lián)網(wǎng)的發(fā)展</p><p> Internet的最早起源于美國(guó)國(guó)防部高級(jí)研究計(jì)劃署DARPA(Defence Advanced Research Projects Agency)的前身ARPAnet,該網(wǎng)于1969年投入使用。由此,ARPAnet成為現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)誕生的標(biāo)志。</p><p>
28、; 從六十年代起,由ARPA提供經(jīng)費(fèi),聯(lián)合計(jì)算機(jī)公司和大學(xué)共同研制而發(fā)展起來的ARPAnet網(wǎng)絡(luò)。最初,ARPAnet主要是用于軍事研究目的,它主要是基于這樣的指導(dǎo)思想:網(wǎng)絡(luò)必須經(jīng)受得住故障的考驗(yàn)而維持正常的工作,一旦發(fā)生戰(zhàn)爭(zhēng),當(dāng)網(wǎng)絡(luò)的某一部分因遭受攻擊而失去工作能力時(shí),網(wǎng)絡(luò)的其他部分應(yīng)能維持正常的通信工作。ARPAnet在技術(shù)上的另一個(gè)重大貢獻(xiàn)是TCP/IP協(xié)議簇的開發(fā)和利用。作為Internet的早期骨干網(wǎng),ARPAnet的試驗(yàn)并
29、奠定了Internet存在和發(fā)展的基礎(chǔ),較好地解決了異種機(jī)網(wǎng)絡(luò)互聯(lián)的一系列理論和技術(shù)問題。 </p><p> 1983年,ARPAnet分裂為兩部分,ARPAnet和純軍事用的MILNET。同時(shí),局域網(wǎng)和廣域網(wǎng)的產(chǎn)生和逢勃發(fā)展對(duì)Internet的進(jìn)一步發(fā)展起了重要的作用。其中最引人注目的是美國(guó)國(guó)家科學(xué)基金會(huì)ASF(National Science Foundation)建立的NSFnet。NSF在全美國(guó)建立了
30、按地區(qū)劃分的計(jì)算機(jī)廣域網(wǎng)并將這些地區(qū)網(wǎng)絡(luò)和超級(jí)計(jì)算機(jī)中心互聯(lián)起來。NFSnet于1990年6月徹底取代了ARPAnet而成為Internet的主干網(wǎng)。</p><p> NSFnet對(duì)Internet的最大貢獻(xiàn)是使Internet向全社會(huì)開放,而不象以前的那樣僅供計(jì)算機(jī)研究人員和政府機(jī)構(gòu)使用。1990年9月,由Merit,IBM和MCI公司聯(lián)合建立了一個(gè)非盈利的組織―先進(jìn)網(wǎng)絡(luò)科學(xué)公司ANS(Advanced N
31、etwork &Science Inc.)。ANS的目的是建立一個(gè)全美范圍的T3級(jí)主干網(wǎng),它能以45Mbps的速率傳送數(shù)據(jù)。到1991年底,NSFnet的全部主干網(wǎng)都與ANS提供的T3級(jí)主干網(wǎng)相聯(lián)通。</p><p> Internet的第二次飛躍歸功于Internet的商業(yè)化,商業(yè)機(jī)構(gòu)一踏入Internet這一陌生世界,很快發(fā)現(xiàn)了它在通信、資料檢索、客戶服務(wù)等方面的巨大潛力。于是世界各地的無(wú)數(shù)企業(yè)紛紛
32、涌入Internet,帶來了Internet發(fā)展史上的一個(gè)新的飛躍。</p><p> 1.2 目前的互聯(lián)網(wǎng)現(xiàn)狀</p><p> Internet正以當(dāng)初人們始料不及的驚人速度向前發(fā)展,今天的Internet已經(jīng)從各個(gè)方面逐漸改變?nèi)藗兊墓ぷ骱蜕罘绞?。人們可以隨時(shí)從網(wǎng)上了解當(dāng)天最新的天氣信息、新聞動(dòng)態(tài)和旅游信息,可看到當(dāng)天的報(bào)紙和最新雜志,可以足不出戶在家里炒股、網(wǎng)上購(gòu)物、收發(fā)電子郵
33、件,享受遠(yuǎn)程醫(yī)療和遠(yuǎn)程教育等等。</p><p> Internet的意義并不在于它的規(guī)模,而在于它提供了一種全新的全球性的信息基礎(chǔ)設(shè)施。當(dāng)今世界正向知識(shí)經(jīng)濟(jì)時(shí)代邁進(jìn),信息產(chǎn)業(yè)已經(jīng)發(fā)展成為世界發(fā)達(dá)國(guó)家的新的支柱產(chǎn)業(yè),成為推動(dòng)世界經(jīng)濟(jì)高速發(fā)展的新的源動(dòng)力,并且廣泛滲透到各個(gè)領(lǐng)域,特別是近幾年來國(guó)際互聯(lián)網(wǎng)絡(luò)及其應(yīng)用的發(fā)展,從根本上改變了人們的思想觀念和生產(chǎn)生活方式,推動(dòng)了各行各業(yè)的發(fā)展,并且成為知識(shí)經(jīng)濟(jì)時(shí)代的一個(gè)重
34、要標(biāo)志之一。</p><p> 1.3 企業(yè)電子商務(wù)的興起</p><p> 進(jìn)入20世紀(jì)九十年代后,Internet在商業(yè)上的應(yīng)用其發(fā)展速度令人瞠目結(jié)舌。這個(gè)覆蓋全球的網(wǎng)絡(luò)以其無(wú)可比擬的優(yōu)勢(shì)向人們暗示著巨大的和潛在的商業(yè)利益。與傳統(tǒng)的商業(yè)行為相比,它可提供資源豐富、迅速及時(shí)的商業(yè)信息,它的客戶與市場(chǎng)遍及世界上每個(gè)角落,使很不起眼的小企業(yè)可以一下子變成“跨國(guó)公司”。</p>
35、<p> 成千上萬(wàn)的大小企業(yè)紛紛加入到Internet 這個(gè)神奇的淘金王國(guó)中。Internet正以驚人的速度發(fā)展,它的普及意味著企業(yè)網(wǎng)絡(luò)時(shí)代的來臨,意味著企業(yè)生存方式、組織方式、工作方式的變革。它正在為企業(yè)提供一種全新的市場(chǎng)概念,正在改寫商業(yè)社會(huì)的規(guī)則,正在給各行各業(yè)的人們帶來新的機(jī)會(huì)和挑戰(zhàn)。未來的商業(yè)競(jìng)爭(zhēng)就是信息的競(jìng)爭(zhēng),企業(yè)進(jìn)入網(wǎng)絡(luò)空間已是刻不容緩。</p><p> 1.4 企業(yè)為什么要建立
36、網(wǎng)站</p><p> 很多企業(yè)由于缺乏技術(shù)人員等原因無(wú)法建立自己的網(wǎng)站,導(dǎo)致了在新的競(jìng)爭(zhēng)形勢(shì)中的失利。是否擁有自己的網(wǎng)站已經(jīng)成為衡量一個(gè)企業(yè)綜合素質(zhì)的重要標(biāo)志</p><p> 企業(yè)網(wǎng)站的具體作用:</p><p> A.通過網(wǎng)站展示企業(yè)風(fēng)采、傳播企業(yè)文化、樹立企業(yè)形象、提高企業(yè)知明度。</p><p> B.通過網(wǎng)站可介紹企業(yè)的基
37、本情況,使經(jīng)銷商和用戶更多的知道您的存在。 </p><p> C.通過網(wǎng)站可以宣傳您的產(chǎn)品和服務(wù)的優(yōu)勢(shì),讓經(jīng)銷商和用戶在比較中了解您、走近您、直到選擇您。</p><p> D.通過網(wǎng)站您可以利用電子信箱經(jīng)濟(jì)而又快捷地與外界進(jìn)行各種信息溝。 </p><p> E.通過網(wǎng)站您可以尋求合資與合作。</p><p> 第二章 LAMP架
38、構(gòu)與所用技術(shù)</p><p> LAMP是基于Linux,Apache,MySQL和PHP的開放資源網(wǎng)絡(luò)開發(fā)平臺(tái),名字來源于每個(gè)程序的第一個(gè)字母。每個(gè)程序在所有權(quán)里都符合開放源代碼標(biāo)準(zhǔn):Linux是開放系統(tǒng);Apache是最通用的網(wǎng)絡(luò)服務(wù)器;MySQL是帶有基于網(wǎng)絡(luò)管理附加工具的關(guān)系數(shù)據(jù)庫(kù);PHP是流行的對(duì)象腳本語(yǔ)言,它包含了多數(shù)其它語(yǔ)言的優(yōu)秀特征來使得它的網(wǎng)絡(luò)開發(fā)更加有效。</p><p&
39、gt; 雖然這些開放源代碼程序本身并不是專門設(shè)計(jì)成同另外幾個(gè)程序一起工作的,但由于它們都是影響較大的開源軟件,擁有很多共同特點(diǎn),這就導(dǎo)致了這些組件經(jīng)常在一起使用。在過去的幾年里,這些組件的兼容性不斷完善,在一起的應(yīng)用情形變得更加普遍。并且它們?yōu)榱烁纳撇煌M件之間的協(xié)作,已經(jīng)創(chuàng)建了某些擴(kuò)展功能。目前,幾乎在所有的Linux發(fā)布版中都默認(rèn)包含了這些產(chǎn)品。Linux操作系統(tǒng)、Apache服務(wù)器、MySQL數(shù)據(jù)庫(kù)和Perl、PHP或者 Pyt
40、hon語(yǔ)言,這些產(chǎn)品共同組成了一個(gè)強(qiáng)大的Web應(yīng)用程序平臺(tái)。</p><p> 越來越多的供應(yīng)商、用戶和企業(yè)投資者日益認(rèn)識(shí)到,經(jīng)過LAMP單個(gè)組件的開源軟件組成的平臺(tái)用來構(gòu)建以及運(yùn)行各種商業(yè)應(yīng)用和協(xié)作構(gòu)建各種網(wǎng)絡(luò)應(yīng)用程序變?yōu)橐环N可能和實(shí)踐,變得更加具有競(jìng)爭(zhēng)力,更加吸引客戶。LAMP無(wú)論是性能、質(zhì)量還是價(jià)格都將成為企業(yè)、政府信息化所必須考慮的平臺(tái)。下面分別對(duì)LAMP黃金組合中的各個(gè)部件做一些簡(jiǎn)單的介紹。</
41、p><p> 2.1 Linux起源、特性及應(yīng)用領(lǐng)域</p><p> Linux操作系統(tǒng)核心最早是由芬蘭的Linus Torvalds 1991年8月在芬蘭赫爾辛基大學(xué)上學(xué)時(shí)發(fā)布的,后來經(jīng)過眾多世界頂尖的軟件工程師的不斷修改和完善,Linux得以在全球普及開來,在服務(wù)器領(lǐng)域及個(gè)人桌面版得到越來越多的應(yīng)用,在嵌入式開發(fā)方面更是具有其它操作系統(tǒng)無(wú)可比擬的優(yōu)勢(shì),并以每年100%的用戶遞增數(shù)量顯
42、示了Linux強(qiáng)大的力量。</p><p> Linux的是一套免費(fèi)的32位多人多工的操作系統(tǒng),運(yùn)行方式同UNIX系統(tǒng)很像,但Linux系統(tǒng)的穩(wěn)定性、多工能力與網(wǎng)絡(luò)功能已是許多商業(yè)操作系統(tǒng)無(wú)法比擬的,Linux還有一項(xiàng)最大的特色在于源代碼完全公開,在符合GNU GPL(General Public License)的原則下,任何人皆可自由取得、散布、甚至修改源代碼。</p><p>
43、與其它操作系統(tǒng)相比,Linux還具有以下特色:</p><p> ?、俨捎秒A層式目錄結(jié)構(gòu),文件歸類清楚、容易管理</p><p> ?、谥С侄喾N文件系統(tǒng),如Ext2FS,ISOFS以及Windows的文件系統(tǒng)FAT16,FAT32,NTFS等</p><p> ?、劬哂锌梢浦残?,系統(tǒng)核心只有小于10%的源代碼采用匯編語(yǔ)言編寫,其余均是采用C語(yǔ)言編寫,因此具備高度移植
44、性</p><p> ?、芸膳c其它的操作系統(tǒng)如Windows98/2000/xp等并存于同一臺(tái)計(jì)算機(jī)上</p><p> 2.2 Apache概述</p><p> Apache,一種開放源碼的HTTP服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺(tái)和安全性(注1)被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過簡(jiǎn)單的API擴(kuò)展,Per
45、l/Python等解釋器可被編譯到服務(wù)器中。</p><p> 縱觀Apache,它為我們的網(wǎng)絡(luò)管理員提供了豐富多彩的功能,包括目錄索引、目錄別名、內(nèi)容協(xié)商、可配置的HTTP錯(cuò)誤報(bào)告、CGI程序的SetUID執(zhí)行、子進(jìn)程資源管理、服務(wù)器端圖象映射、重寫URL、URL拼寫檢查以及聯(lián)機(jī)手冊(cè)man等。也就是說,如果您在Linux Server上成功安裝配置了Apache之后,您的計(jì)算機(jī)也將隨著Apache的生效而搖身
46、一變,成為一臺(tái)名副其實(shí)的Web Server,這種變化的確是激動(dòng)人心的。伴隨著自由軟件發(fā)展的強(qiáng)大動(dòng)力,我們有理由相信Apache的未來是一片光明的。</p><p> 2.3 MySQL概述</p><p> MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤
47、其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。</p><p><b> 2.4 PHP概述</b></p><p> PHP,一個(gè)嵌套的縮寫名稱,是英文超級(jí)文本預(yù)處理語(yǔ)言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內(nèi)嵌式的語(yǔ)言,PHP與微軟的ASP頗有幾分相似,都是一種
48、在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語(yǔ)言,語(yǔ)言的風(fēng)格有類似于C語(yǔ)言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運(yùn)用。PHP 獨(dú)特的語(yǔ)法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語(yǔ)法。它可以比 CGI 或者 Perl 更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。用PHP做出的動(dòng)態(tài)頁(yè)面與其他的編程語(yǔ)言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;與同樣是嵌入HTML文檔的腳本語(yǔ)言JavaScript相比,PHP
49、在服務(wù)器端執(zhí)行,充分利用了服務(wù)器的性能;PHP執(zhí)行引擎還會(huì)將用戶經(jīng)常訪問的PHP程序駐留在內(nèi)存中,其他用戶再一次訪問這個(gè)程序時(shí)就不需要重新編譯程序了,只要直接執(zhí)行內(nèi)存中的代碼就可以了,這也是PHP高效率的體現(xiàn)之一。PHP具有非常強(qiáng)大的功能,所有的CGI或者JavaScript的功能PHP都能實(shí)現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫(kù)以及操作系統(tǒng)。</p><p> 2.5 smarty模板引擎</p>&
50、lt;p> Smarty是一個(gè)使用PHP寫出來的PHP模板解析類,是目前業(yè)界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內(nèi)容,提供了一種易于管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。簡(jiǎn)單的講,目的就是要使用PHP程序員同美工分離,使用的程序員改變程序的邏輯內(nèi)容不會(huì)影響到美工的頁(yè)面設(shè)計(jì),美工重新修改頁(yè)面不會(huì)影響到程序的程序邏輯</p><p> 2.6 Ajax概述&
51、lt;/p><p> Ajax是Asynchronous JavaScript and XML(異步JavaScript和XML)的縮寫。Ajax用來描述一組技術(shù),它使瀏覽器可以為用戶提供更為自然的瀏覽體驗(yàn)。借助于Ajax,可以在用戶單擊按鈕時(shí),使用JavaScript和DHTML立即更新UI,并向服務(wù)器發(fā)出異步請(qǐng)求,以執(zhí)行更新或查詢數(shù)據(jù)庫(kù)。當(dāng)請(qǐng)求返回時(shí),就可以使用JavaScript和CSS來相應(yīng)地更新UI,而不
52、是刷新整個(gè)頁(yè)面。最重要的是,用戶甚至不知道瀏覽器正在與服務(wù)器通信:Web站點(diǎn)看起來是即時(shí)響應(yīng)的。</p><p><b> 第三章 需求分析</b></p><p> 在開始寫這個(gè)網(wǎng)站系統(tǒng)之前,我們需要對(duì)這個(gè)系統(tǒng)的可行性進(jìn)行分析,如果確實(shí)可行才能繼續(xù)實(shí)施,否則將會(huì)產(chǎn)生一些額外的損失??尚行苑治龅娜蝿?wù)是從技術(shù)上、經(jīng)濟(jì)上、社會(huì)上、法律上分析需要解決的問題是否存在可行的
53、解。同時(shí)也要對(duì)需要實(shí)現(xiàn)的功能性需求和非功能性需求做一個(gè)詳細(xì)的計(jì)劃,為以后的具體實(shí)施提供一個(gè)明確的方向和依據(jù)。</p><p><b> 3.1 技術(shù)可行性</b></p><p> 3.1.1 動(dòng)態(tài)網(wǎng)站技術(shù)介紹</p><p> Internet起源于20世紀(jì)60年代的美國(guó),它在近幾年迅速風(fēng)靡全球,其根本原因不僅在于她擁有卓越的國(guó)際通信功
54、能,更在于它擁有巨大的信息資源。所謂的Internet是指由分布在全世界成千上萬(wàn)的計(jì)算機(jī)網(wǎng)絡(luò)遵循一定的通訊協(xié)議,并相互聯(lián)系在一起而形成的國(guó)際互連網(wǎng)絡(luò),也就是說,Internet是建立和使用這些網(wǎng)絡(luò)的人群、群體、公司以及各種網(wǎng)絡(luò)資源的集合體。</p><p> 隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,單純的靜態(tài)頁(yè)面已經(jīng)不能滿足發(fā)展的需要,因?yàn)殪o態(tài)頁(yè)面是用單純的HTML語(yǔ)言組成的,它沒有交互性。因此,為了滿足實(shí)際的需要,許多網(wǎng)頁(yè)文
55、件擴(kuò)展名不再只是"htm"、"html",出現(xiàn)了以"php"、"asp"、"jsp"、"shtml"等為后綴的網(wǎng)頁(yè)文件,這些都是采用動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)制作出來的。</p><p> 3.1.2 市場(chǎng)可行性</p><p> 以前,世界上許多公司都把PHP當(dāng)作是一個(gè)“高度機(jī)密
56、,嚴(yán)格保密”的電腦程序語(yǔ)言,但是現(xiàn)在它已經(jīng)變成最為著名的,在Web, Internet, E-commerce以及 B2B等諸多項(xiàng)目上應(yīng)用最廣泛的面向?qū)ο蟮哪_本語(yǔ)言。即使是在今天,仍有許多競(jìng)爭(zhēng)性(competing)公司把PHP當(dāng)作是高度機(jī)密的東西,決不向外界(競(jìng)爭(zhēng)對(duì)手)透露半點(diǎn)。</p><p> PHP將如同暴風(fēng)雨一般席卷整個(gè)世界,IT工業(yè)將為之震驚。PHP的力量在于它是跨平臺(tái)的,可以運(yùn)行在任何地方。如Li
57、nux,Windows 95/98/NT/2000/XP,Solaris,HPUX以及各種UNIX。PHP只需寫一次,就可以配置在任何地方。PHP可以運(yùn)行在Apache,Microsoft IIS等多種Web服務(wù)器上。</p><p> PHP比Java快5到20倍!實(shí)際的比較測(cè)試顯示,PHP的運(yùn)行速度是Java3.7倍左右。PHP太容易使用了,你可以用它在非常短的時(shí)間里,非常迅速的開發(fā)出非常復(fù)雜的web,e-
58、commerce和一般的單機(jī)應(yīng)用程序。(在將來,PHP將會(huì)模仿Java大多數(shù)的功能,相信Java程序員也會(huì)喜歡上它。PHP將包含Java中的關(guān)鍵字,如class,extends,interface, implements, public,protected, private 等。)</p><p> PHP具有面向?qū)ο筇匦?,它吸收了Java, C++, PERL 和C的最優(yōu)秀的部分。PHP可以說是所有腳本/編程
59、語(yǔ)言中的寶石。不久,它就會(huì)成為全世界程序員的“麥加圣地”。PHP即可以運(yùn)行在Window95/NT/2000/XP上,也可以運(yùn)行在各種UNIX上。</p><p> 我們將大吃一驚——PHP極有可能成為21世紀(jì)的電腦編程語(yǔ)言。</p><p> 可以使用Zend Optimizer對(duì)PHP進(jìn)行編譯和優(yōu)化,從而使它運(yùn)行的更好更快,PHP4.0中已經(jīng)集成了Zend Optimizer。 首
60、先,你在開發(fā)、測(cè)試、除錯(cuò)過程中,用PHP腳本語(yǔ)言編寫你的應(yīng)用程序。一旦項(xiàng)目完成,你便可以用Zend編譯器,將PHP文件編譯成運(yùn)行速度更快的可執(zhí)行程序。</p><p> PHP的發(fā)展前景越來越好,越來越多的人會(huì)選擇用PHP來設(shè)計(jì)網(wǎng)站,所以,PHP也許將來會(huì)是在網(wǎng)站界占據(jù)著領(lǐng)頭作用。</p><p> 3.1.3 語(yǔ)言優(yōu)勢(shì)</p><p> 將內(nèi)容的生成和顯示進(jìn)
61、行分離</p><p> 使用PHP技術(shù),Web頁(yè)面開發(fā)人員可以使用HTML設(shè)計(jì)和格式化最終頁(yè)面顯示效果,使用PHP語(yǔ)言來生成頁(yè)面上的動(dòng)態(tài)內(nèi)容,配合smarty模板引擎,將生成的內(nèi)容存儲(chǔ)在模板變量中,那么其他人,如Web管理人員和頁(yè)面設(shè)計(jì)者,只需要編輯或修改模板文件就可以讓網(wǎng)站有不同的顯示效果。</p><p><b> 良好的安全性</b></p>
62、<p> PHP是開源軟件,所有PHP的源代碼每個(gè)人都可以看得到,代碼在許多工程師手中進(jìn)行了檢測(cè),同時(shí)它與Apache編繹在一起的方式也可以讓它具有靈活的安全設(shè)定,PHP具有了公認(rèn)的安全性能。 </p><p><b> 跨平臺(tái)性</b></p><p> ASP比不上PHP的跨平臺(tái)能力,PHP幾乎支持所有的操作系統(tǒng)平臺(tái)及數(shù)據(jù)庫(kù)系統(tǒng),正是它的這種能力
63、讓UNIX/Linux有了一種與ASP媲美的開發(fā)語(yǔ)言,并廣為流行。</p><p><b> 免費(fèi)</b></p><p> 在流行的企業(yè)應(yīng)用LAMP平臺(tái)中,PHP、Linux、Apache、MySQL都是免費(fèi)軟件,降低了企業(yè)架設(shè)成本。</p><p> 3.1.4 操作可行性</p><p> 對(duì)于用戶來說,本
64、系統(tǒng)只要求使用者會(huì)打字并且能對(duì)文字做一些簡(jiǎn)單的編輯,經(jīng)過仔細(xì)設(shè)計(jì)和測(cè)試之后的系統(tǒng)具有操作簡(jiǎn)單,方便靈活等優(yōu)點(diǎn),足可以滿足各種用戶的不同需求,同時(shí)也方便了公司的內(nèi)部管理。管理人員及用戶一定會(huì)在短時(shí)間內(nèi)掌握并熟練使用。只要?jiǎng)右粍?dòng)鼠標(biāo)鍵盤就可以達(dá)到想要的效果。</p><p> 3.2 軟件可行性分析</p><p> 3.2.1 開發(fā)環(huán)境</p><p> 操作系
65、統(tǒng):Windows 7 (Bulid 7600)</p><p> 服務(wù)器軟件:Microsoft-IIS/7.5</p><p> 數(shù)據(jù)庫(kù):MySQL 5.0.45-community-nt</p><p> IDE:Zend Studio 5.5.1 、Dreamweaver CS3、EditPlus</p><p> 3.2.2
66、 服務(wù)器環(huán)境</p><p> 操作系統(tǒng):LINUX</p><p> 服務(wù)器軟件:Apache</p><p> 數(shù)據(jù)庫(kù):MySQL 5</p><p> 3.3 系統(tǒng)可行性分析</p><p> 3.3.1 B/S模式介紹</p><p> 本系統(tǒng)采用B/S模式。</p&g
67、t;<p> B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO
68、)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全。特別是在跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。</p>
69、;<p> 3.3.2 B/S模式的優(yōu)點(diǎn)</p><p><b> 維護(hù)和升級(jí)方式簡(jiǎn)單</b></p><p> 目前,軟件系統(tǒng)的改進(jìn)和升級(jí)越來越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對(duì)一個(gè)稍微大一點(diǎn)單位來說,系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客
70、戶端只是瀏覽器,根本不需要做任何的維護(hù)。無(wú)論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(hù)升級(jí)的工作量,所有的操作只需要針對(duì)服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接專網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級(jí)和共享。所以客戶機(jī)越來越“瘦”,而服務(wù)器越來越“胖”是將來信息化發(fā)展的主流方向。今后,軟件升級(jí)和維護(hù)會(huì)越來越容易,而使用起來會(huì)越來越簡(jiǎn)單,這對(duì)用戶人力、物力、時(shí)間、費(fèi)用的節(jié)省是顯而易見的、驚人的。因此,維護(hù)和升級(jí)革命的方式是“瘦”客戶機(jī),“胖
71、”服務(wù)器。</p><p><b> 成本降低、選擇更多</b></p><p> 大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不是處于絕對(duì)的統(tǒng)治地位?,F(xiàn)在的趨勢(shì)是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安裝在Linux服務(wù)器上即可,而且安全性高,所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用那種操作系統(tǒng)都可
72、以讓大部分人使用windows作為桌面操作系統(tǒng)電腦不受影響,這就使的最流行免費(fèi)的Linux操作系統(tǒng)快速發(fā)展起來,Linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫(kù)也是免費(fèi)的,這種選擇非常盛行。</p><p><b> 3.4 功能性需求</b></p><p> 3.4.1 網(wǎng)站的基本信息設(shè)置</p><p> 對(duì)于網(wǎng)站名稱應(yīng)該可以在后臺(tái)自定
73、義,前臺(tái)進(jìn)行顯示。</p><p> 網(wǎng)站的一些簡(jiǎn)單控制,如是否允許未注冊(cè)人員下載網(wǎng)站資料,可以在后臺(tái)動(dòng)態(tài)設(shè)置。</p><p> 網(wǎng)站前臺(tái)顯示的時(shí)間格式也可以設(shè)置。</p><p> 前臺(tái)新聞頁(yè)每一頁(yè)顯示的文章數(shù),文章標(biāo)題的最大長(zhǎng)度也可以設(shè)置。</p><p> 3.4.2 導(dǎo)航管理</p><p> 由于
74、網(wǎng)站的多模塊性,導(dǎo)致前臺(tái)導(dǎo)航不一定能滿足所有企業(yè)的需要,所以導(dǎo)航的高自定義性顯得十分重要,導(dǎo)航欄要能根據(jù)企業(yè)自己的需求增加或修改。</p><p> 添加導(dǎo)航需要可以自定義 導(dǎo)航名稱、鏈接地址、打開方式、顯示順序。</p><p> 如果有些企業(yè)存在論壇或其他網(wǎng)站,需要導(dǎo)航欄上有鏈接,這時(shí)導(dǎo)航欄需要能自定義鏈接地址。</p><p> 不僅能添加導(dǎo)航,同時(shí)也需
75、要可以刪除導(dǎo)航。</p><p> 3.4.3 圖片管理</p><p> 做有關(guān)設(shè)計(jì)類的企業(yè)需要把自己設(shè)計(jì)的圖片或圖紙展示給瀏覽者觀看,增加瀏覽者對(duì)企業(yè)的了解,以助于提高企業(yè)的業(yè)務(wù)量。</p><p> 圖片需要可以從后臺(tái)上傳。</p><p> 要能對(duì)上傳圖片的格式做一些限制,只能夠上傳格式為 jpg、bmp、png、gif、jp
76、eg類型的圖片(此功能由程序控制,用戶不能自定義控制)。</p><p> 要能對(duì)上傳圖片的大小做一定限制。(此功能由程序限制為2M,用戶不能自定義控制)</p><p> 為了在前臺(tái)更好的顯示,程序要能根據(jù)圖片生成對(duì)應(yīng)的縮略圖。(此功能由程序動(dòng)態(tài)處理為 200 x 130 大小,用戶不能自定義控制)</p><p> 3.4.4 商品管理</p>
77、<p> 商品有簡(jiǎn)單介紹和詳細(xì)介紹,簡(jiǎn)單介紹在商品列表中顯示,詳細(xì)介紹在商品內(nèi)容頁(yè)顯示。</p><p> 商品需要有封面圖片,給用戶更直觀的印象。</p><p> 商品詳細(xì)介紹既要能添加圖片,也要能寫入文字說明。</p><p> 3.4.5 文章模塊</p><p> 文章模塊不僅需要具有文章組,并且需要如企業(yè)簡(jiǎn)
78、介一類的單頁(yè)文章,同時(shí)能對(duì)文章內(nèi)容進(jìn)行實(shí)時(shí)的增、刪、查、改以及其他一些操作。</p><p> 可以在前臺(tái)網(wǎng)頁(yè)顯示相關(guān)的文章信息,您還可以閱讀到想要讀到的文章,而此文章模塊也有自己的功能:</p><p> (1) 在網(wǎng)頁(yè)上顯示相關(guān)的文章列表;</p><p> (2) 在網(wǎng)頁(yè)上顯示相關(guān)的文章的內(nèi)容;</p><p> (3) 管理人
79、員可以對(duì)文章進(jìn)行一系列的管理,包括文章的編輯、添加、刪除;</p><p> (4) 管理人員也可以對(duì)文章的屬性進(jìn)行修改和刪除。</p><p> 3.4.6 文件下載</p><p> 文件模塊使管理者在后臺(tái)能夠更好的管理文件,在文件分類中可以對(duì)文件進(jìn)行編輯、刪除。還可以添加下載文件。使用戶更廣泛地選擇需要的文件。</p><p>
80、 可以在前臺(tái)網(wǎng)頁(yè)上顯示相關(guān)的文件信息,使用戶能夠很好的選擇自己需要的文件。文件模塊主要功能為:</p><p> (1) 在網(wǎng)頁(yè)上顯示相關(guān)文件的有關(guān)信息。</p><p> (2) 管理人員可以對(duì)文件進(jìn)行管理,包括附件列表的管理和添加附件操作。</p><p> (3) 為用戶提供文件下載任務(wù),可以對(duì)下載文件進(jìn)行分類管理,在文件分類中可以對(duì)文件的屬性進(jìn)行編輯、
81、刪除。</p><p> (4) 對(duì)下載進(jìn)行一系列的管理。</p><p> 3.4.7 招聘信息</p><p> (1) 招聘信息是以列表的形式體現(xiàn)。</p><p> (2) 如招聘信息有誤,管理員可通過點(diǎn)擊“編輯”進(jìn)行修改。</p><p> (3) 添加招聘信息時(shí),可以點(diǎn)擊表單后面的選項(xiàng)方便的把值填
82、入表單,如不滿意以有選項(xiàng),也可自己填寫。</p><p> 3.4.8 用戶管理</p><p> (1) 如有需要修改用戶名和用戶密碼可以由管理員來修改。</p><p> (2) 管理員也可刪除用戶。</p><p> (3) 管理員可在添加用戶界面上直接添加用戶。</p><p> 3.4.9 留言模塊
83、</p><p> (1) 網(wǎng)站設(shè)有留言板,方便用戶提出意見和咨詢問題。</p><p> (2) 注冊(cè)用戶登陸后,可以通過留言板留言。</p><p> (3) 用戶留言后,等待管理員回復(fù)。</p><p> (4) 任何人均可瀏覽留言內(nèi)容。</p><p> 3.4.10 網(wǎng)站公告</p>
84、<p> (1) 管理員可以在此添加公告。</p><p> (2) 管理員可以自己填寫數(shù)字,來確定其排列的順序(按從小到大排列)。</p><p> (3) 管理員可以刪除過期的公告,但刪除后不可恢復(fù)。</p><p> 3.4.11 友情鏈接</p><p> (1) 管理員可在此添加友情鏈接。</p>
85、<p> (2) 添加鏈接是可輸入連接名稱、地址,上傳鏈接圖片。</p><p> (3) 友情鏈接在前臺(tái)顯示,點(diǎn)擊圖片就可以打開該鏈接的頁(yè)面。</p><p> 3.5 非功能性需求</p><p> 3.5.1 后臺(tái)界面</p><p> (1) 網(wǎng)站后臺(tái)要求結(jié)構(gòu)明了,能夠很容易找到想要操作的地方。</p>
86、<p> (2) 后臺(tái)所填選項(xiàng)要有清楚說明其作用、功能。</p><p> (3) 每次提交操作之后要給出明確的提示,操作是否成功。</p><p> 3.5.2 前臺(tái)頁(yè)面</p><p> 界面要美觀,但又不能太復(fù)雜,內(nèi)容要突出。</p><p> 要能兼容目前主流的各種瀏覽器,在各個(gè)瀏覽器中不能有太大錯(cuò)位。<
87、/p><p> 頁(yè)面使用 div+css 制作,適當(dāng)使用 JavaScript 改善用戶體驗(yàn)。</p><p><b> 第四章 概要設(shè)計(jì)</b></p><p> 概要設(shè)計(jì)是在需求分析的基礎(chǔ)上由抽象到具體的過程。內(nèi)容包括數(shù)據(jù)庫(kù)設(shè)計(jì)和系統(tǒng)結(jié)構(gòu)設(shè)計(jì)兩大部分。主要目標(biāo)是將系統(tǒng)分析階段所提出的反映了信息需求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實(shí)施的基于計(jì)算機(jī)與
88、通信系統(tǒng)的物理(技術(shù))方案,為下一階段的詳細(xì)編碼提供必要的技術(shù)資料,應(yīng)符合系統(tǒng)性、靈活性、可靠性、經(jīng)濟(jì)性的要求。</p><p><b> 4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 4.1.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述</p><p> 數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的最新技術(shù)。十多年來數(shù)據(jù)庫(kù)管理系統(tǒng)已從專用的應(yīng)用程序發(fā)展成為通用的系統(tǒng)軟件。由于數(shù)據(jù)庫(kù)具有數(shù)
89、據(jù)結(jié)構(gòu)化,最低冗余度,較高的程序與數(shù)據(jù)獨(dú)立性,易于擴(kuò)充,易于編制應(yīng)用程序等優(yōu)點(diǎn),較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫(kù)設(shè)計(jì)之上的。因此不僅大型計(jì)算機(jī)及中小型計(jì)算機(jī),甚至微型機(jī)都配有數(shù)據(jù)庫(kù)管理系統(tǒng)。</p><p> 數(shù)據(jù)庫(kù)系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序?yàn)橹行霓D(zhuǎn)向圍繞共享的數(shù)據(jù)庫(kù)為中心的新階段。這樣既便于數(shù)據(jù)的集中管理,又有利于應(yīng)用程序的研制和維護(hù),提高了數(shù)據(jù)的利用性和相容性,提高了決策的可靠性。目前,數(shù)據(jù)庫(kù)已經(jīng)
90、成為現(xiàn)代信息系統(tǒng)不可分割的重要組成部分。數(shù)據(jù)庫(kù)技術(shù)也是計(jì)算機(jī)領(lǐng)域中發(fā)展最快的技術(shù)之一。</p><p> 數(shù)據(jù)庫(kù)設(shè)計(jì)是把現(xiàn)實(shí)世界的實(shí)體模型與需求轉(zhuǎn)換成數(shù)據(jù)庫(kù)的模型的過程,它是建立數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的核心問題。數(shù)據(jù)庫(kù)及其應(yīng)用的性能都建立在良好的數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ)之上,數(shù)據(jù)庫(kù)的數(shù)據(jù)是一切操作的基礎(chǔ),如果數(shù)據(jù)庫(kù)設(shè)計(jì)不好,那么其它一切用于提高數(shù)據(jù)庫(kù)性能的方法收效都是有限的。數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵是如何使設(shè)計(jì)的數(shù)據(jù)庫(kù)能合理地存儲(chǔ)用戶
91、的數(shù)據(jù),方便用戶進(jìn)行數(shù)據(jù)處理。</p><p> 設(shè)計(jì)數(shù)據(jù)庫(kù)必須遵循一定的規(guī)則,在關(guān)系型數(shù)據(jù)庫(kù)中,這種規(guī)則就是范式,范式是符合某一種級(jí)別的關(guān)系模式的集合。一般人們?cè)O(shè)計(jì)數(shù)據(jù)庫(kù)遵循第三范式。即:數(shù)據(jù)庫(kù)表中不包含已在其他表中包含的非主關(guān)鍵字信息。采用范式減少了數(shù)據(jù)冗余,節(jié)約了存儲(chǔ)空間,同時(shí)加快了增、刪、改的速度。</p><p> 4.1.2 數(shù)據(jù)庫(kù)需求分析</p><p
92、> 進(jìn)行整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)必須準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)和處理)。用戶需求分析是整個(gè)設(shè)計(jì)過程的基礎(chǔ),是最困難、最耗費(fèi)時(shí)間的一步。作為最基本的需求分析做得是否充分與準(zhǔn)確,決定了在其構(gòu)建數(shù)據(jù)庫(kù)的速度和質(zhì)量。</p><p> 用戶的需求具體體現(xiàn)在各種信息的提供、存儲(chǔ)、更新和查詢方面,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸出與輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具
93、體設(shè)計(jì)打下基礎(chǔ)。以上面的需求分析作為設(shè)計(jì)依據(jù),該企業(yè)網(wǎng)站應(yīng)該有以下幾個(gè)基本數(shù)據(jù)表:</p><p> 1、系統(tǒng)設(shè)置表:包括的網(wǎng)站的一些基本配置信息。</p><p> 2、導(dǎo)航表:包括導(dǎo)航的編號(hào)、名字、存儲(chǔ)路徑等。</p><p> 3、分類表:包括圖片分類、文章分類、下載分類、商品分類等。</p><p> 4、內(nèi)容表:包括圖片、文
94、章、下載、商品等。</p><p> 5、用戶表:包括用戶的基本信息。</p><p> 6、管理員表:包括管理員的基本信息。</p><p> 3、擴(kuò)展表:包括一些擴(kuò)展模塊所使用的表等。</p><p> 4.1.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 概念結(jié)構(gòu)設(shè)計(jì)是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。概念結(jié)構(gòu)獨(dú)立于數(shù)據(jù)庫(kù)
95、的邏輯結(jié)構(gòu),也獨(dú)立與所使用的具體的數(shù)據(jù)庫(kù)管理系統(tǒng)。概念模型(E-R模型)的組成元素有:實(shí)體、屬性、聯(lián)系,E-R模型用E-R圖表示。實(shí)體是用戶工作環(huán)境中所涉及的事務(wù),屬性是對(duì)實(shí)體特征的描述。</p><p> 模型中的實(shí)體相當(dāng)于一個(gè)實(shí)體集、一個(gè)表。實(shí)體用矩形框表示,實(shí)體名稱標(biāo)注在矩形框內(nèi)。用菱形表示實(shí)體間的聯(lián)系,菱形框內(nèi)寫上聯(lián)系名,用無(wú)向邊把菱形分別與有關(guān)實(shí)體相連接,在無(wú)向邊旁標(biāo)上聯(lián)系的類型。</p>
96、<p> 屬性是實(shí)體的性質(zhì)。用橢圓框表示,與實(shí)體之間用一條線相連,表的主碼是關(guān)鍵屬性,關(guān)鍵屬性項(xiàng)加下劃線。</p><p> 各子系統(tǒng)模塊中主鍵相同的字段之間存在著相互關(guān)聯(lián)的關(guān)系。</p><p> 在程序中實(shí)現(xiàn)對(duì)他們的完整性和一致性控制。</p><p> E-R模型的組成元素有:實(shí)體、屬性、聯(lián)系。E-R模型用E-R圖來表示。實(shí)體是用戶工作環(huán)
97、境中所涉及的事物,屬性是對(duì)實(shí)體特征的描述。</p><p> 圖4.1 導(dǎo)航E-R圖</p><p> 圖4.1顯示了導(dǎo)航的所有屬性,其中鏈接和外部鏈接二者之選其一,外部鏈接有著更高的優(yōu)先級(jí),存在外部鏈接,本身的鏈接(內(nèi)部鏈接)將不起效。</p><p> 圖4.2 圖片E-R圖</p><p> 圖4.2顯示了圖片的所有屬性,h
98、ash名是圖片在上傳過程由程序自動(dòng)設(shè)置的一個(gè)名字,這個(gè)名字保證了圖片在網(wǎng)站中的唯一性。</p><p> 圖4.3 商品E-R圖</p><p> 圖4.3顯示了商品的所有屬性,其中發(fā)布人一般是管理員,封面圖片是單獨(dú)上傳的。</p><p> 其他模塊的E-R圖跟商品E-R圖類似,將不再敘述,下面是網(wǎng)站管理員管理網(wǎng)站的</p><p>
99、;<b> E-R圖:</b></p><p> 圖4.4 網(wǎng)站管理員E-R圖</p><p> 4.1.4 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)</p><p> 在實(shí)際設(shè)計(jì)的時(shí)候需要考慮到一些系統(tǒng)的性能、負(fù)載問題,所以數(shù)據(jù)庫(kù)的設(shè)計(jì)要求更加細(xì)致,下面對(duì)每個(gè)表進(jìn)行詳細(xì)的設(shè)計(jì)與說明。</p><p> 圖4.5 系統(tǒng)基本設(shè)置表
100、(settings)</p><p> 圖4.5 系統(tǒng)基本設(shè)置表只有兩個(gè)字段,分別是variable和value,這個(gè)表存儲(chǔ)的是網(wǎng)站的一些配置信息,比如存儲(chǔ)網(wǎng)站名,在表中的存儲(chǔ)格式為:variable:sitename,value:企業(yè)網(wǎng)站。</p><p> 圖4.6 導(dǎo)航表(navgation)</p><p> 圖4.6導(dǎo)航表中的target字段的長(zhǎng)度
101、為1,這個(gè)字段只存在2個(gè)值,分別是0和1。</p><p> 圖4.7 圖片分類表(picturecategories)</p><p> 圖4.7 圖片分類表利用父子id法進(jìn)行無(wú)限分類,note是對(duì)分類的一些簡(jiǎn)單描述,只在后臺(tái)顯示。</p><p> 圖4.8 圖片表(pictures)</p><p> 圖4.8 圖片表存儲(chǔ)的
102、是圖片展示中的所有圖片和商品的封面圖片,可以說網(wǎng)站的大部分圖片都記錄在圖片表中統(tǒng)一管理。</p><p> 圖4.9 圖片展示表(picturescontent)</p><p> 圖4.9 圖片展示表,這個(gè)表中的coverpic和content存儲(chǔ)的是一個(gè)經(jīng)過php序列化之后的圖片信息數(shù)組,在顯示的時(shí)候再經(jīng)過反序列化。</p><p> 圖4.10 商品
103、分類表(producecategories)</p><p> 圖4.10 商品分類表跟圖片分類表基本一樣,采用父子id法進(jìn)行無(wú)限分類。</p><p> 圖4.11 商品基本信息表(produces)</p><p> 圖4.11 商品基本信息表是考慮到系統(tǒng)的性能,把商品的一些基本信息寫在一個(gè)表中,由于這個(gè)表中存儲(chǔ)的數(shù)據(jù)量不大,可以提高查詢速度。</
104、p><p> 圖4.12 商品詳細(xì)信息表(producecontent)</p><p> 圖4.12 商品詳細(xì)信息表存儲(chǔ)了商品的詳細(xì)內(nèi)容,由于商品的詳細(xì)內(nèi)容既有文字,又有圖片,況且商品的前臺(tái)的商品列表中不顯示詳細(xì)信息,所以把商品的詳細(xì)信息單獨(dú)制表,當(dāng)游客查看商品的詳細(xì)信息的時(shí)候才查詢商品詳細(xì)信息表。文章模塊、下載模塊的數(shù)據(jù)表跟商品展示的數(shù)據(jù)表類似,下面不再詳細(xì)說明。</p>
105、<p> 圖4.13 友情鏈接表(friendlink)</p><p> 圖4.13 友情鏈接表存儲(chǔ)了友情鏈接的所有屬性,這種小型模塊只有使用了一個(gè)表進(jìn)行數(shù)據(jù)的存儲(chǔ),操作簡(jiǎn)單。網(wǎng)站公告、用戶信息、管理員信息、人才招聘等都是只有使用一個(gè)單表進(jìn)行存儲(chǔ),后面不再詳細(xì)說明。</p><p> 4.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)</p><p> 4.2.1 網(wǎng)站
106、后臺(tái)結(jié)構(gòu)</p><p> 圖4.14 網(wǎng)站后臺(tái)結(jié)構(gòu)圖</p><p> 網(wǎng)站的后臺(tái)功能設(shè)計(jì)必須完全的符合前臺(tái)功能模塊的要求,現(xiàn)在很多的大型CMS系統(tǒng)可以提供功能強(qiáng)大的專業(yè)網(wǎng)站后臺(tái),做為小型企業(yè)這種后臺(tái)的實(shí)用性卻不是很大,因?yàn)閷I(yè)的后臺(tái)管理程序功能太復(fù)雜,不利于企業(yè)內(nèi)部工作人員進(jìn)行管理。因此,專門開發(fā)一個(gè)小型網(wǎng)站后臺(tái)管理系統(tǒng)在小型企業(yè)網(wǎng)站的設(shè)計(jì)中是非常必須的。</p>&
107、lt;p> 4.2.2 網(wǎng)站前臺(tái)結(jié)構(gòu)</p><p> 圖4.15 網(wǎng)站前臺(tái)結(jié)構(gòu)</p><p> 前臺(tái)有這么幾大模塊,其中友情鏈接和網(wǎng)站公告在首頁(yè)顯示,模塊較小,暫不列出。</p><p> 4.2.3 系統(tǒng)架構(gòu)設(shè)計(jì)</p><p> 圖4.16 整個(gè)系統(tǒng)的程序架構(gòu)</p><p> 從上圖中可
108、以清晰的看到整個(gè)程序的架構(gòu),本程序使用程序跟顯示分離的技術(shù),php動(dòng)態(tài)頁(yè)只負(fù)責(zé)處理數(shù)據(jù)和一些邏輯,把處理完的變量賦值給smarty,讓smarty去把數(shù)據(jù)跟模板結(jié)合。并且程序?qū)σ恍┙?jīng)常用到的數(shù)據(jù)做了簡(jiǎn)單的緩存。</p><p> 圖4.17 模板引擎工作原理圖</p><p><b> 第五章 詳細(xì)設(shè)計(jì)</b></p><p> 系統(tǒng)詳
109、細(xì)設(shè)計(jì)就是按照前面進(jìn)行的種種分析,把各種需求使用程序語(yǔ)言實(shí)現(xiàn)的過程。這部分將會(huì)對(duì)某些關(guān)鍵技術(shù)做出詳細(xì)的描述,包括代碼段的講解、運(yùn)行原理的細(xì)述和顯示效果的展示。</p><p> 5.1 系統(tǒng)公共文件核心代碼</p><p> 5.1.1 前臺(tái)核心控制文件</p><p> 整個(gè)系統(tǒng)的前臺(tái)幾乎依賴于common.inc.php文件,這個(gè)文件對(duì)系統(tǒng)正常運(yùn)行所需要的
110、一些常量進(jìn)行定義,對(duì)變量進(jìn)行初始化,引入其他一些重要文件。</p><p> session_start();</p><p> set_magic_quotes_runtime(0);</p><p> define('IN_WEB', TRUE);</p><p> define('WEB_ROOT'
111、;, str_replace("\\", '/', substr(dirname(__FILE__), 0, -7)));</p><p> define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());</p><p> require_once WEB_ROOT.'include/g
112、lobal.fun.php';</p><p> 這個(gè)文件最開始第一行使用了session_start函數(shù)開啟了session,后面只要引用這個(gè)文件的頁(yè)面都可以對(duì)session進(jìn)行操作;緊接著后面的set_magic_quotes_runtime(0)是關(guān)閉php的自動(dòng)轉(zhuǎn)義,后面的數(shù)據(jù)使用自定義函數(shù)轉(zhuǎn)義;后面的定義常量是為了頁(yè)面的安全性和一些地方使用的方便性;同時(shí)這個(gè)文件還對(duì)主要的函數(shù)文件進(jìn)行引入,統(tǒng)一
113、調(diào)度。</p><p> $dbhost = $dbuser = $dbpass = $dbname = $pconnect = $dbprefix = $dbcharset = $charset = '';</p><p> $_CFG = array();</p><p> foreach(array('_COOKIE',
114、'_POST', '_GET') as $_request) {</p><p> foreach($$_request as $_key => $_value) {</p><p> $_key{0} != '_' && $$_key = daddslashes($_value);</p><p
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中小型企業(yè)網(wǎng)站開發(fā)-本科畢業(yè)論文
- 基于thinkphp框架的中小型企業(yè)網(wǎng)站開發(fā)模板的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 探討php語(yǔ)言在企業(yè)網(wǎng)站開發(fā)中的應(yīng)用
- 淺談小型企業(yè)網(wǎng)站的設(shè)計(jì)
- 企業(yè)網(wǎng)站開發(fā)畢業(yè)論文
- 小型企業(yè)網(wǎng)站論文
- 中小型企業(yè)網(wǎng)站的設(shè)計(jì)與開發(fā)【畢業(yè)論文】
- php企業(yè)網(wǎng)站畢業(yè)設(shè)計(jì)開題報(bào)告
- 軟件工程畢業(yè)論文基于thinkphp框架的中小型企業(yè)網(wǎng)站開發(fā)模板的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文-小型企業(yè)網(wǎng)站的制作
- 畢業(yè)論文-小型企業(yè)網(wǎng)站的制作
- 中小型企業(yè)網(wǎng)絡(luò)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 中小型企業(yè)網(wǎng)絡(luò)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于thinkphp框架的中小型企業(yè) 網(wǎng)站開發(fā)模板的設(shè)計(jì)與實(shí)現(xiàn)
- 中小型企業(yè)網(wǎng)絡(luò)組建畢業(yè)設(shè)計(jì)
- 基于servlet的網(wǎng)站開發(fā)-畢業(yè)設(shè)計(jì)
- 開題報(bào)告---小型企業(yè)網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)
- 中小型企業(yè)網(wǎng)絡(luò)的構(gòu)建畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--中小型企業(yè)網(wǎng)絡(luò)搭建分析
- 《中小型企業(yè)網(wǎng)絡(luò)構(gòu)建畢業(yè)設(shè)計(jì)論文》
評(píng)論
0/150
提交評(píng)論