




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
可修改歡送下載精品Word可修改歡送下載精品Word可修改歡送下載精品Word摘要20世紀末,隨著計算機科學的開展,數據庫技術在Internet中的應用越來越廣泛,為廣闊網絡用戶提供了更加周到和人性化的效勞。現代軟件已經變的越來越復雜,各種各樣的網絡軟件為滿足人們的精神需求而開發出來。人們為了能夠更好的放松e而開發出來的娛樂軟件和為了辦公而開發出來的辦公軟件等等。本文研究了一種基于數據關聯規那么網上音像系統。網上音像在我國剛起步,但開展很快。本文主要介紹了網上音像銷售網站的建設的整個過程,本網站采用了模塊化設計方法,根據用戶的需求及程序的應用與維護的易用性,將系統各個局部置于不同的模塊當中。本網站主要功能有:1〕客戶界面局部:產品信息,等2〕管理界面局部:類別管理,商品管理。通過本網站可以實現網上音像銷售的全過程。關鍵詞:Internet,ASP.NET,SQL,網上音像
目錄第1章緒論 11.1選題背景 11.2可行性研究 21.3畢業設計進度 5第2章系統解決方案 62.1B/S 62.2MicrosoftVisualStudio2005: 82.3SQLServer2000 92.4C#簡介 9第3章總體設計 133.1系統功能框圖 133.2數據庫設計 14第4章詳細設計 174.1網上音像銷售前臺設計 174.2網上音像銷售后臺設計 18第5章編碼實現及結果分析 205.1選擇編程語言 205.2登陸代碼實現 205.3訂單代碼實現 215.4購物車代碼實現 245.5結果分析 25結束語 30第1章緒論1.1選題背景隨著社會的開展,Internet網正在向全世界各大洲延伸和擴散,Internet是一個國際性的通信網絡集合體,它集現代通信技術和現代計算機技術于一體,是計算機之間進行國際信息交流和實現資源共享的良好手段。Internet也是人類歷史開展中的一個偉大的里程碑,它是未來信息高速公路的雛形,人類正由此進入一個前所未有的信息化社會。人們用各種名稱來稱呼Internet,如國際互聯網絡、因特網、交互網絡、網際網等等,已經成為世界上覆蓋面最廣、規模最大、信息資源最豐富的計算機信息網絡。Internet的開展大致經歷了如下幾個階段:Internet最早源于美國國防部的ARPANET方案,從60年代開始,ARPA就開始向美國國內大學的計算機系和一些私人提供經費,以促進基于分組交換技術的計算機網絡的研究。1968年,ARPA為ARPAnet網絡工程立項,這個工程基于這樣一種主導思想:網絡必須能夠經受住故障的考驗而維持正常工作,一旦發生戰爭,當網絡的某一局部因遭受攻擊而失去工作能力時,網絡的其它局部應當能夠維持正常通信。Internet已成為目前規模最大的國際性計算機網絡。今天,Internet已連接60,000多個網絡,正式連接86個國家,電子信箱能通達150多個國家,有480多萬臺主機通過它連接在一起,用戶有2500多萬,每天的信息流量到達萬億比特(terrabyte)以上,每月的電子信件突破10億封。同時,Internet的應用業滲透到了各個領域,從學術研究到股票交易、從學校教育到娛樂游戲、從聯機信息檢索到在線居家購物等,都有長足的進步。據統計,目前在Internet的域名分布中,--即商業所占比例最大,為41%;.edu--〔科教〕已退居二線,占有30%分額。去年在Internet的成長中,商企界的成長占了75%。從目前的情況來看,Internet市場仍具有巨大的開展潛力,未來其應用將涵蓋從辦公室共享信息到市場營銷、效勞等廣泛領域。另外,Internet帶來的電子貿易正改變著現今商業活動的傳統模式,其提供的方便而廣泛的互連必將對未來社會生活的各個方面帶來影響。然而Internet也有其固有的缺點,入網絡無整體規劃和設計,網絡拓補結構不清晰以及容錯及可靠性能的缺乏,而這些對于商業領域的不少應用是至關重要的。平安性問題是困擾Internet用戶開展的另一主要因素。雖然現在已有不少的方案和協議來確保Internet網上的聯機商業交易的可靠進行,但真正適用并將主宰市場的技術和產品目前尚不明確。另外,Internet是一個無中心的網絡。所有這些問題都在一定程度上阻礙Internet的開展,只有解決了這些問題,Internet才能更好的開展。計算機作為一種高效的管理工具,對現代企業的管理發揮了極其重要的作用。商業超市是當前最重要的商業經營形式之一,為了進一步提高商業超市的管理水平和競爭力,管理信息系統在商業超市中的應用已是大勢所趨。1.2可行性研究可行性研究(FeasibilityStudy)是通過對工程的主要內容和配套條件,如市場需求、資源供給、建設規模、工藝路線、設備選型、環境影響、資金籌措、盈利能力等,從技術、經濟、工程等方面進行調查研究和分析比擬,并對工程建成以后可能取得的財務、經濟效益及社會環境影響進行預測,從而提出該工程是否值得投資和如何進行建設的咨詢意見,為工程決策提供依據的一種綜合性的系統分析方法。可行性研究應具有預見性、公正性、可靠性、科學性的特點。我國目前可行性研究存在的主要問題,一是工程技術方案的研究論證深度不夠。按照國外的通常做法,可行性研究階段的研究深度應能到達定方案的程度,因此要求在工程技術方案論證,應到達BasicDesign或ConceptDesign的程度,根本相當于我國的初步設計應到達的水平,應提出明確的設備清單;二是財務評價就工程論工程,這與國外利用企業理財的理論和方法進行資本預算管理,對投資工程進行投資決策和融資決策的通行做法存在重大差異,并且在經濟評價方面不恰當地使用了"國民經濟評價"的概念,由此引起一系列的認識誤區;三是在市場分析、組織機構分析等方面與國外差異較大,研究深度嚴重缺乏;四是不重視多方案的比選及工程風險分析,或者分析的內容、深度嚴重缺乏,缺乏工程周期各階段風險管理的統一籌劃及策略論證。一個擬建工程的可行性研究,必須在國家有關的規劃、政策、法規的指導下完成,同時,還必須要有相應的各種技術資料。進行可行性研究工作的主要依據主要包括:①國家經濟和社會開展的長期規劃,部門與地區規劃,經濟建設的指導方針、任務、產業政策、投資政策和技術經濟政策以及國家和地方法規等;②經過批準的工程建議書和在工程建議書批準后簽訂的意向性協議等;③由國家批準的資源報告,國土開發整治規劃、區域規劃和工業基地規劃。對于交通運輸工程建設要有有關的江河流域規劃與路網規劃等;④國家進出口貿易政策和關稅政策;⑤當地的擬建廠址的自然、經濟、社會等根底資料;⑥有關國家、地區和行業的工程技術、經濟方面的法令、法規、標準定額資料等;⑦由國家公布的建設工程可行性研究及經濟評價的有關規定;⑧包含各種市場信息的市場調研報告。可行性研究工作對于整個工程建設過程乃至整個國民經濟都有非常重要的意義,為了保證可行性研究工作的科學性、客觀性和公正性,有效地防止錯誤和遺漏,在可行性研究中,(1)首先必須站在客觀公正的立場進行調查研究,做好根底資料的收集工作。對于收集的根底資料,要按照客觀實際情況進行論證評價,如實地反映客觀經濟規律,從客觀數據出發,通過科學分析,得出工程是否可行的結論。(2)可行性研究報告的內容深度必須到達國家規定的標準,根本內容要完整,應盡可能多地占有數據資料,防止粗制濫造,搞形式主義。在做法上要掌握好以下四個要點:①先論證,后決策;②處理好工程建議書、可行性研究、評估這三個階段的關系,哪一個階段發現不可行都應當停止研究;③要將調查研究貫徹始終。一定要掌握切實可靠的資料,以保證資料選取的全面性、重要性、客觀性和連續性;④多方案比擬,擇優選取。對于涉外工程,或者在加人WTO等外在因素的壓力下必須與國外接軌的工程,可行性研究的內容及深度還應盡可能與國際接軌。(3)為保證可行性研究的工作質量,應保證咨詢設計單位足夠的工作周期,防止因各種原因的不負責任草率行事。具體工作周期由委托單位與咨詢設計單位在簽訂合同時協商確定。各類投資工程可行性研究的內容及側重點因行業特點而差異很大,但一般應包括以下內容:1.投資必要性。主要根據市場調查及預測的結果,以及有關的產業政策等因素,論證工程投資建設的必要性。在投資必要性的論證上,一是要做好投資環境的分析,對構成投資環境的各種要素進行全面的分析論證,二是要做好市場研究,包括市場供求預測、競爭力分析、價格分析、市場細分、定位及營銷策略論證。2.技術可行性。主要從工程實施的技術角度,合理設計技術方案,并進行比選和評價。各行業不同工程技術可行性的研究內容及深度差異很大。對于工業工程,可行性研究的技術論證應到達能夠比擬明確地提出設備清單的深度;對于各種非工業工程,技術方案的論證也應到達目前工程方案初步設計的深度,以便與國際慣例接軌。3.財務可行性。主要從工程及投資者的角度,設計合理財務方案,從企業理財的角度進行資本預算,評價工程的財務盈利能力,進行投資決策,并從融資主體(企業)的角度評價股東投資收益、現金流量方案及債務清償能力。4.組織可行性。制定合理的工程實施進度方案、設計合理的組織機構、選擇經驗豐富的管理人員、建立良好的協作關系、制定適宜的培訓方案等,保證工程順利執行。5.經濟可行性。主要從資源配置的角度衡量工程的價值,評價工程在實現區域經濟開展目標、有效配置經濟資源、增加供給、創造就業、改善環境、提高人民生活等方面的效益。6.社會可行性。主要分析工程對社會的影響,包括政治體制、方針政策、經濟結構、法律道德、宗教民族、婦女兒童及社會穩定性等。7.風險因素及對策。主要對工程的市場風險、技術風險、財務風險、組織風險、法律風險、經濟及社會風險等風險因素進行評價,制定躲避風險的對策,為工程全過程的風險管理提供依據。上述可行性研究的內容,適應于不同行業各種類型的投資工程。我國目前缺乏對各類投資工程可行性研究的內容及深度進行統一標準的方法,目前各地區、各部門制定的各種可行性研究的規定,根本上都是根據工業工程可行性研究的內容為主線制定的,并且根本上是按照聯合國工發組織的?工業工程可行性研究報告編制手冊?為藍本來編寫的。我國目前急需一個各行業通用的對可行性研究的內容及深度提出共性要求的統一規定,以標準整個可行性研究工作,防止目前的各種非工業工程可行性研究都要參照工業工程的為難局面。一般工程可行性研究的內容,均應設專章論述投資必要性、技術可行性、財務可行性、組織可行性和風險分析的內容。對于工業工程,應設多個章節對原材料供給方案、廠址選擇、工藝方案、設備選型、土建工程、總圖布置、輔助工程、平安生產、節能措施等技術可行性的各方面內容進行研究。對于非工業工程,應重視工程的經濟和社會評價,重點評價工程的可持續性和經濟社會環境影響。在可行性研究中,咨詢工程師應根據工程的特點,合理確定可行性研究的范圍和深度,應按照以下步驟開展咨詢工作:①了解業主意圖;②明確研究范圍;③組成工程小組;④搜集資料;⑤現場調研;⑥方案比選和評價;⑦編寫報告。1.3畢業設計進度第一周:開題報告第二周:需求分析(功能概述,分析現狀,可行性分析,方案)第三四周:總體設計(業務流圖,數據流圖,E-R圖)第五六七周:詳細設計(功能描述,開發環境,運行環境)第八九十周:程序設計(前后界面,數據庫,詳細業務)第十一,十二周:測試,安裝,調整
第2章系統解決方案2.1B/S本網站在模式上采用B/S,語言運用〔C#〕,利用〔VS.NET〕以及數據庫(SQLServer),在技術上以ASP.NET為主導,充分運用在學校所學的各方面知識。當今世界科學技術飛速開展,尤其以通信、計算機、網絡為代表的互聯網技術更是日新月異,令人眼花燎亂,目不睱接。由于計算機互聯網在政治、經濟、生活等各個領域的開展、運用以及網絡的迅速普及和全社會對網絡的依賴程度,計算機網絡已經成為國家的經濟根底和命脈,成為社會和經濟開展強大動力,其地位越來越重要。但是,由于主流技術研發企業和用戶對“B/S〞和“C/S〞技術誰優誰劣、誰代表技術潮流開展等等問題的爭論不休,已經給檢察機關使用“OA〔辦公〕〞和“案件管理〞軟件工作開展帶來困惑,本文就此兩項技術開展變化和應用前景做些探討,供同行參考。
一、軟件主流技術。
管理軟件技術的主流技術與管理思想一樣,也經歷了三個開展時期。首先,界面技術從上世紀DOS字符界面到Windows圖形界面〔或圖形用戶界面GUI〕,直至Browser瀏覽器界面三個不同的開展時期。其次,今天所有電腦的瀏覽器界面,不僅直觀和易于使用,更主要的是基于瀏覽器平臺的任何應用軟件其風格都是一樣的,使用人對操作培訓的要求不高,而且軟件可操作性強,易于識別;再者,平臺體系結構也從過去單用戶開展到今天的文件/效勞器〔F/S〕體系、客戶機/效勞器〔C/S〕體系和瀏覽器/效勞器〔B/S〕體系。B/S架構軟件的優勢與劣勢
〔1〕、維護和升級方式簡單。
目前,軟件系統的改良和升級越來越頻繁,B/S架構的產品明顯表達著更為方便的特性。對一個稍微大一點單位來說,系統管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構的軟件只需要管理效勞器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護。無論用戶的規模有多大,有多少分支機構都不會增加任何維護升級的工作量,所有的操作只需要針對效勞器進行;如果是異地,只需要把效勞器連接專網即可,實現遠程維護、升級和共享。所以客戶機越來越“瘦〞,而效勞器越來越“胖〞是將來信息化開展的主流方向。今后,軟件升級和維護會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費用的節省是顯而易見的,驚人的。因此,維護和升級革命的方式是“瘦〞客戶機,“胖〞效勞器。
〔2〕、本錢降低,選擇更多。
windows在桌面電腦上幾乎一統天下,瀏覽器成為了標準配置,但在效勞器操作系統上windows并不是處于絕對的統治地位。現在的趨勢是凡使用B/S架構的應用管理軟件,只需安裝在Linux效勞器上即可,而且平安性高。所以效勞器操作系統的選擇是很多的,不管選用那種操作系統都可以讓大局部人使用windows作為桌面操作系統電腦不受影響,這就使的最流行免費的Linux操作系統快速開展起來,Linux除了操作系統是免費的以外,連數據庫也是免費的,這種選擇非常盛行。
比方說很多人每天上“網易〞〔原文為新浪〕網,只要安裝了瀏覽器就可以了,并不需要了解“網易〞的效勞器用的是什么操作系統,而事實上大局部網站確實沒有使用windows操作系統,但用戶的電腦本身安裝的大局部是windows操作系統。
〔3〕、應用效勞器運行數據負荷較重。
由于B/S架構管理軟件只安裝在效勞器端〔Server〕上,網絡管理人員只需要管理效勞器就行了,用戶界面主要事務邏輯在效勞器〔Server〕端完全通過WWW瀏覽器實現,極少局部事務邏輯在前端〔Browser〕實現,所有的客戶端只有瀏覽器,網絡管理人員只需要做硬件維護。但是,應用效勞器運行數據負荷較重,一旦發生效勞器“崩潰〞等問題,后果不堪設想。因此,許多單位都備有數據庫存儲效勞器,以防萬一。B/S信息流向可變化,B-B、B-C、B-G等信息流向的變化,更象交易中心。散進散出貨物或者稱為大宗入出庫貨物的管理是綜合倉庫管理的主要內容。目前,隨著信息技術和網絡技術的開展,“信息高速公路〞建設已在全球拉開序幕,Browser/Server簡稱B/S網絡結構模式作為傳統CS模式的擴展,為倉儲管理的建設提供了嶄新的技術手段,開辟了網絡建設的新途徑。對于企業的BS應用,從當前的技術水平看,特別適用于系統同用戶交互量不大的應用,對于需要大量頻繁、高速交互的應用系統,采用這種模式并不一定是最好的選擇。采用Intranet應用模式并不一定要全部取代傳統的ClientServer結構,從某種意義特別是從近期的開展看,二者應用界限并不清晰,而且往往是互相補充、相輔相成的。事實上,企業MIS采用BS模式并不是要求把應用都轉到WEBServer上來,而是要根據情況來選擇。那么,在應用中新的BS模式就需要能同傳統的CS模式結合起來。2.2MicrosoftVisualStudio2005:VS2005的控件大大增多和程序員代碼量大大減少,人性化很足。VS2005封裝了大量的功能,使開展難度降開,成為一個優良的中間件,使中間層效勞透明化,而程序員只需要集中精力在業務上。VS2005是微軟推出的.NET平臺,它比2003增加了大量控件和類庫,并使用Framework2.0,減少了約70%的代碼量,界面操作也更智能化。但是也增加了對電腦配置的要求,如果不高,啟動就需要很長時間。2002/2003到2005發生了很多的變化,明顯的有如下5點:
1、VisualStudio2005與VisualStudio.NET2002/2003相比在產品的命名上已經有了明顯的區別。2005版中去掉了“.NET〞,可以看出微軟已經從初期大力宣傳.NET框架轉入到了.NET的大范圍應用上。
2、2005的起始界面更為友好,給初學者提供了很好的引導,還增加了VisualStudio標題新聞和開發人員新聞。
3、將Windows應用程序和Web應用程序明顯的提了出來,2005中提供了全新的網頁設計器〔稱為VisualWebDeveloper〕。可見微軟已經提高了對Web應用方面的重視,ASP.NET技術正得到不斷的開展,如ASP.NETAJAX技術、SharePoint技術正被廣泛宣傳和推廣。
4、智能設備應用程序在2005中也被重點提了出來,VisualStudio集成環境包括用于目標設備〔如PDA和Smartphone〕的工具。
5、VisualStudioToolsForOffice,使用VisualBasic和VisualC#擴展了Word2003文檔和Excel2003工作簿,可幫助您創立解決方案。2.3SQLServer2000更快的結果響應一套全新的管理工具包以及與VisualStudio2005和Microsoft.NET共同語言運行環境的緊密集成,使你在構建系統、排錯及操作應用系統時更快、更有效。更好的決策支持在數據整合、分析和報表領域功能全面的智能商務平臺,使你在采取行動和制定更好決策時具備更敏銳的洞察能力。值得信賴的平臺系統固有的數據加密、默認平安設置以及強制口令策略功能使你能夠以最高的性能、最高的可用性和最高的平安性運行任何苛刻的應用系統。2.4C#C#讀作CSharp在過去的二十年里,C和C++已經成為在商業軟件的開發領域中使用最廣泛的語言。它們為程序員提供了十分靈活的操作,不過同時也犧牲了一定的效率。與諸如Microsoft?VisualBasic?等語言相比,同等級別的C/C++應用程序往往需要更長時間來開發。由于C/C++語言的復雜性,許多程序員都試圖尋找一種新的語言,希望能在功能與效率之間找到一個更為理想的權衡點。
目前有些語言,以犧牲靈活性的代價來提高效率。可是這些靈活性正是C/C++程序員所需要的。這些解決方案對編程人員的限制過多〔如屏蔽一些底層代碼控制的機制〕,其所提供的功能難以令人滿意。這些語言無法方便地同早先的系統交互,也無法很好地和當前的網絡編程相結合。
對于C/C++用戶來說,最理想的解決方案無疑是在快速開發的同時又可以調用底層平臺的所有功能。他們想要一種和的網絡標準保持同步并且能和已有的應用程序良好整合的環境。另外,一些C/C++開發人員還需要在必要的時候進行一些底層的編程。
C#(Csharp)是微軟對這一問題的解決方案。C#是一種的、面向對象的編程語言。它使得程序員可以快速地編寫各種基于Microsoft.NET平臺的應用程序,Microsoft.NET提供了一系列的工具和效勞來最大程度地開發利用計算與通訊領域。
正是由于C#面向對象的卓越設計,使它成為構建各類組件的理想之選——無論是高級的商業對象還是系統級的應用程序。使用簡單的C#語言結構,這些組件可以方便的轉化為XML網絡效勞,從而使它們可以由任何語言在任何操作系統上通過Internet進行調用。
最重要的是,C#使得C++程序員可以高效的開發程序,而絕不損失C/C++原有的強大的功能。因為這種繼承關系,C#與C/C++具有極大的相似性,熟悉類似語言的開發者可以很快的轉向C#。
新興的網絡經濟迫使商務企業必須更加迅速的應對競爭的威脅。開發者必須不斷縮短開發周期,不斷推出應用程序的新版本,而不僅僅是開發一個“標志性〞的版本。
C#在設計時就考慮了這些問題。它使開發者用更少的代碼做更多的事,同時也不易出錯。
新的應用程序開發模型意味著越來越多地解決方案依賴于新出現的網絡標準,例如HTML,XML,SOAP等。現存的開發工具往往都是早于Internet出現的,或者是在我們所熟知的網絡還處于孕育期時出現的。所以,它們一般無法很好地支持的網絡技術。
C#程序員可以在Microsoft.NET平臺上事半功倍的構建應用程序的擴展框架。C#包含了內置的特性,使任何組件可以輕松轉化為XML網絡效勞,通過Internet被任何操作系統上運行的任何程序調用。
更突出的是,XML網絡效勞框架可以使現有的XML網絡效勞對程序員來說就和C#對象一樣。這樣,程序員就可以方便地使用他們已有的面向對象的編程技巧來開發利用現有的XML網絡效勞。
還有一些精細的特性,使得C#成為一流的網絡編程工具。例如,XML正逐漸成為在網絡上傳輸結構化數據的標準。這種數據集合往往非常小。為提高性能,C#允許把XML數據直接映射到struct數據類型,而不是class。這樣對處理少量的數據非常有效。
即使是專家級的C++程序員也常會犯一些最簡單的小錯誤——比方忘了初始化變量,但往往就是這些小錯誤帶來了難以預料的問題,有些甚至需要很長時間來尋找和解決。一旦一個程序作為產品來使用,就算最簡單的錯誤糾正起來也可能要付出極其昂貴的代價。
C#的現代化設計能夠消除很多常見的C++編程錯誤。例如:
1.資源回收減輕了程序員內存管理的負擔。
2.C#中變量由環境自動初始化。
3.變量是類型平安的。
這樣,程序員編寫與維護那些解決復雜商業問題的程序就更方便了。對版本的更新提供內在的支持降低了開發本錢
更新軟件組件是一項很容易出錯的工作,因為代碼的修改可能無意間改變原有程序的語義。為協助開發者進行這項工作,C#為版本的更新提供內在的支持。例如,方法重載必須顯式聲明。這樣可以防止編碼錯誤,保證版本更新的靈活性。還有一個相關的特性就是對接口和接口繼承的內在支持。這些特性使得C#可以開發復雜的框架并且隨著時間不斷開展更新它。
總體來說,這些特性使得開發程序工程的后續版本的過程更加健壯,從而減少后續版本的開發本錢。
業方案要付諸現實,必須在抽象的商業過程和實際的軟件實現之間建立緊密地對應。不過大多數語言都很難做到這點。例如,如今的程序員們一般使用代碼注釋來注明哪個類對應于某個抽象的商業對象。C#語言允許類型定義的,擴展的元數據。這些元數據可以應用于任何對象。工程構建者可以定義領域特有的屬性并把他們應用于任何語言元素-類,接口等等。然后,開發人員可以編程檢查每個元素的屬性。這樣,很多工作都變得方便多了,比方編寫一個小工具來自動檢查每個類或接口是否被正確定義為某個抽象商業對象的一局部,或者只是創立一份基于對象的領域特有屬性的報表。定制的元數據和程序代碼之間的緊密對應有助于加強程序的預期行為和實際實現的之間的對應關系。作為一種自動管理的,類型平安的環境,C#適合于大多數企業應用程序。但實際的經驗說明有些應用程序仍然需要一些底層的代碼,要么是因為基于性能的考慮,要么是因為要與現有的應用程序接口兼容。這些情況可能會迫使開發者使用C++,即使他們本身寧愿使用更高效的開發環境。
C#采用以下對策來解決這一問題:
1.內置對組建對象模型〔COM〕和基于Windows?的API的支持;
2.允許有限制地使用純指針(NativePointer)。在C#中,每個對象都自動生成為一個COM對象。開發者不再需要顯式的實現IUnknown和其他COM接口.這些功能都是內置的.類似的,C#可以調用現有的COM對象,無論它是由什么語言編寫的。C#包含了一個特殊的功能,使程序可以調用任何純API。在一段特別標記的代碼中,開發者可以使用指針和傳統C/C++特性,如手工的內存管理和指針運算。這是其相對于其它環境的極大優勢。這意味著C#程序員可以在原有的C/C++代碼的根底上編寫程序,而不是徹底放棄那些代碼。無論是支持COM還是純API的調用,都是為了使開發者在C#環境中直接擁有必要的強大功能。
結論C#是一種現代的面向對象語言。它使程序員快速便捷地創立基于Microsoft.NET平臺的解決方案。這種框架使C#組件可以方便地轉化為XML網絡效勞,從而使任何平臺的應用程序都可以通過Internet調用它。C#增強了開發者的效率,同時也致力于消除編程中可能導致嚴重結果的錯誤。C#使C/C++程序員可以快速進行網絡開發,同時也保持了開發者所需要的強大性和靈活性。MicrosoftVisualStudio2005作為.NET框架的可視化開發平臺,現在已經被越來越多的人使用。
第3章總體設計3.1系統功能框圖圖3-1前臺功能圖3-2后臺功能3.2數據庫設計3.2.1E-R圖圖3-3商品類別圖3-4后臺登陸圖3-5商品圖3-6訂單主表圖3-7訂單從表3.2.2數據字典表3-1類別表字段名稱字段類型NULL描述yxTypeIDvarchar(10)主鍵yxTypeNamevarchar(50)非空表3-2登陸表字段名稱字段類型NULL描述namevarchar(20)主鍵pwdvarchar(20)非空表3-3商品表字段名稱字段類型NULL描述yxIDvarchar(20)主鍵yxNamevarchar(20)非空非空yxTypeIDvarchar(10)外建yxPricemoney非空非yxPhotovarchar(30)非空yxRemarkvarchar(1000)非空表3-4訂單主表字段名稱字段類型NULL描述Orderidvarchar(30)主鍵uNamevarchar(10)非空uAddressvarchar(30)非空uTelvarchar(15)非空orderdatetimedatetime非空PayFlagvarchar(2)默認為0Flagvarchar(2)默認為0表3-5訂單從表字段名稱字段類型NULL描述Orderidvarchar(30)主鍵yxIDvarchar(20)yxCountint
第4章詳細設計4.1網上音像銷售前臺設計圖4-1主界面圖4-2購置訂單4.2網上音像銷售后臺設計圖4-3登陸界面圖4-4后臺管理圖4-5類別增加圖4-6訂單查詢
第5章編碼實現及結果分析5.1選擇編程語言此套程序開發時,由于本人正從事基于ASP.NET平臺C#語言的學習,故用C#語言編寫的程序。C#是Microsoft在推出.NETFramework的第1版時提供的一種全新語言。C#的快速流行,使之成為使用.NET的Windows和Web開發人員無可爭議的語言選擇。他們喜歡C#的一個原因是其派生于C/C++的簡潔語法,這種語法簡化了以前困擾一些程序員的問題。盡管做了這些簡化,但C#仍保持了C++原來的功能,所以現在沒有理由不從C++轉向C#。這種語言并不難,也非常適合于學習根本編程技術。易于學習、再加上.NETFramework的功能,是使C#成為開始您編程生涯的絕佳方式。C#的版本是.NET2.0的一局部,它建立在已有的成功根底之上,還添加了一些更吸引人的功能。其中一些功能取自于C++(至少從外表上看是這樣),而另外一些功能是全新的。VisualStudio的版本也有許多變化和改良,這大大簡化了編程,顯著提高了效率。本書將全面介紹C#編程的所有知識,從該語言本身一直到Windows和Web編程,再到數據源的使用,最后是一些高級技術,例如圖形編程。5.2登陸代碼實現protectedvoidButton1_Click(objectsender,EventArgse){SqlCommandcmd=newSqlCommand("selectcount(*)fromloginwherename='"+TextBox2.Text+"'andpwd='"+TextBox2.Text+"'",clscon.DBOpen());inti=Convert.ToInt32(cmd.ExecuteScalar());if(i>0){Response.Write("登陸成功");Response.Redirect("houtai.aspx");}else{Response.Write("用戶名或密碼錯誤");}}5.3訂單代碼實現usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;publicpartialclassshoworder:System.Web.UI.Page{staticDataTableBusTable=newDataTable();staticDataTableMainTable=newDataTable();staticstringid;staticstringname;staticstringaddress;staticstringtel;staticstringdate;protectedvoidPage_Load(objectsender,EventArgse){if(!this.IsPostBack){if(Session["bus"]!=null&&Session["UInfo"]!=null){//定義存儲主表信息存放結構if(MainTable.Columns.Count>0){MainTable.Columns.Clear();}MainTable.Columns.Add("id",typeof(string));MainTable.Columns.Add("name",typeof(string));MainTable.Columns.Add("address",typeof(float));MainTable.Columns.Add("tel",typeof(int));MainTable.Columns.Add("time",typeof(DateTime));//存儲主表信息.MainTable=(DataTable)Session["UInfo"];if(MainTable.Rows.Count>0){id=MainTable.Rows[0]["id"].ToString();name=MainTable.Rows[0]["name"].ToString();address=MainTable.Rows[0]["address"].ToString();tel=MainTable.Rows[0]["tel"].ToString();date=MainTable.Rows[0]["time"].ToString();labId.Text=id;labName.Text=name;labAddress.Text=address;labTel.Text=tel;labTime.Text=date;}else{Response.Redirect("Error.aspx");}//填寫購物清單BusTable=(DataTable)Session["bus"];//獲得一個表結構;GridView1.DataSource=BusTable;//通過綁定,顯示數據.GridView1.DataBind();}else{Response.Redirect("Error.aspx");}}}protectedvoidButton2_Click(objectsender,EventArgse){Session["bus"]=null;Response.Redirect("Default.aspx");}protectedvoidButton1_Click(objectsender,EventArgse){//先插入主表信息,再插入從表信息;SqlConnectioncon=newSqlConnection();SqlCommandcmd=newSqlCommand();SqlTransactiontran=null;con.ConnectionString=ConfigurationManager.ConnectionStrings["yinxiangConnectionString"].ConnectionString;cmd.Connection=con;con.Open();tran=cmd.Connection.BeginTransaction();cmd.Transaction=tran;try{//插入主表信息cmdmandText="insertintoOrderMainvalues(@orderid,@uname,@uAddress,@utel,@orderdatetime,0,0)";//購置時,付款為否,付貨為否.cmd.Parameters.Add("@orderid",SqlDbType.VarChar,50).Value=id;cmd.Parameters.Add("@uname",SqlDbType.VarChar,10).Value=name;cmd.Parameters.Add("@uAddress",SqlDbType.VarChar,30).Value=address;cmd.Parameters.Add("@utel",SqlDbType.VarChar,15).Value=tel;cmd.Parameters.Add("@orderdatetime",SqlDbType.SmallDateTime).Value=date;cmd.ExecuteNonQuery();cmd.Parameters.Clear();//插入從表信息foreach(DataRowdrinBusTable.Rows){cmdmandText="insertintoOrderItemvalues(@orderid,@yxID,@yxCount)";cmd.Parameters.Add("@orderid",SqlDbType.VarChar,50).Value=id;cmd.Parameters.Add("yxID",SqlDbType.VarChar,10).Value=dr["id"];cmd.Parameters.Add("yxCount",SqlDbType.VarChar,10).Value=dr["num"];cmd.ExecuteNonQuery();cmd.Parameters.Clear();}tranmit();}catch(Exceptionee){Response.Redirect("ordererror.aspx");tran.Rollback();}finally{con.Close();}Response.Redirect("OrderOK.aspx");}}5.4購物車代碼實現usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;publicpartialclassshowbus:System.Web.UI.Page{floatsum=0.0f;protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){if(Session["bus"]!=null){DataTablebusTable=(DataTable)Session["bus"];foreach(DataRowdrinbusTable.Rows){sum=sum+Convert.ToSingle(dr["count"]);}this.GridView1.DataSource=busTable;this.GridView1.DataBind();}else{Response.Redirect("buserror.aspx");}}}protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.Footer){e.Row.Cells[0].Text="合計:";e.Row.Cells[0].HorizontalAlign=HorizontalAlign.Right;e.Row.Cells[1].Text=sum.ToString();e.Row.Cells[1].HorizontalAlign=HorizontalAlign.Left;}}protectedvoidButton2_Click(objectsender,EventArgse){Session["bus"]=null;Response.Redirect("Default.aspx");}protectedvoidButton1_Click(objectsender,EventArgse){Response.Redirect("editorder.aspx");}}5.5結果分析單元測試:是開發者編寫的一小段代碼,用于檢驗被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件〔或者場景〕下某個特定函數的行為。例如,你可能把一個很大的值放入一個有序list中去,然后確認該值出現在list的尾部。或者,你可能會從字符串中刪除匹配某種模式的字符,然后確認字符串確實不再包含這些字符了。單元測試〔模塊測試〕是由程序員自己來完成,最終受益的也是程序員自己。可以這么說,程序員有責任編寫功能代碼,同時也就有責任為自己的代碼編寫單元測試。執行單元測試,就是為了證明這段代碼的行為和我們期望的一致。單元測試的優點:1、它是一種驗證行為:程序中的每一項功能都是測試來驗證它的正確性。它為以后的開發提供支緩。就算是開發后期,我們也可以輕松的增加功能或更改程序結構,而不用擔憂這個過程中會破壞重要的東西。而且它為代碼的重構提供了保障。這樣,我們就可以更自由的對程序進行改良。2、它是一種設計行為:編寫單元測試將使我們從調用者觀察、思考。特別是先寫測試〔test-first〕,迫使我們把程序設計成易于調用和可測試的,即迫使我們解除軟件中的耦合。3、它是一種編寫文檔的行為:單元測試是一種無價的文檔,它是展示函數或類如何使用的最正確文檔。這份文檔是可編譯、可運行的,并且它保持,永遠與代碼同步。4、它具有回歸性:自動化的單元測試防止了代碼出現回歸,編寫完成之后,可以隨時隨地的快速運行測試。黑盒測試:也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試地,把程序看作一個不能翻開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,在程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息。黑盒測試著眼于程序外部結構,不考慮內部邏輯結構,主要針對軟件界面和軟件功能進行測試。黑盒測試是以用戶的角度,從輸入數據與輸出數據的對應關系出發進行測試的。很明顯,如果外部特性本身有問題或規格說明的規定有誤,用墨盒測試方法是發現不了的。從理論上講,黑盒測試只有采用窮舉輸入測試,把所有可能的輸入都作為測試情況考慮,才能查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有僉的輸入,而且還要對那些不合法但可能的輸入進行測試。這樣看來,完全測試是不可能的,所以我們要進行有針對性的測試,通過制定測試案例指導測試的實施,保證軟件測試有組織、按步驟,以及有方案地進行。黑盒測試行為必須能夠加以量化,才能真正保證軟件質量,而測試用例就是將測試行為具體量化的方法之一。具體的黑盒測試用例設計方法包括等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、判定表驅動法、正交試驗設計法、功能圖法等。等價類劃分的方法是把程序的輸入域劃分成假設干局部,然后從每個局部中選取少數代表性數據作為測試用例。每一類的代表性數據在測試中的作用等價于這一類中的其他值。邊界值分析是通過選擇等價類邊界的測試用例。邊界值分析法不僅重視輸入條件邊界,而且也必須考慮輸出域邊界。錯誤推測設計方法就是基于經驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性地設計測試用例的方法。因果圖方法是從用自然語言書寫的程序規格說明的描述中找出因〔輸入條件〕和果〔輸出或程序狀態的改變〕,可以通過因果圖轉換為判定表。正交試驗設計法,就是使用已經造好了的正交表格來安排試驗并進行數據分析的一種方法,目的是用最少的測試用例到達最高的測試覆蓋率。白盒測試:也稱結構測試或邏輯驅動測試,它是按照程序內部的結構測試程序,通過測試來檢測產品內部動作是否按照設計規格說明書的規定正常進行,檢驗程序中的每條通路是否都能按預定要求正確工作。這一方法是把測試對象看作一個翻開的盒子,測試人員依據程序內部邏輯結構相關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試,通過在不同點檢查程序的狀態,確定實際的狀態是否與預期的狀態一致
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論