網上購物系統專案開發總結報告

2021-03-03 20:35:29 字數 4512 閱讀 2109

一.前言

在linux環境下,使用gnu c或gnu c++,在unix/linux make開發工具的的管理和控制下,利用unix/linux socket庫在網路的底層進行開發設計。本次設計運用c語言為基礎程式設計,同時聯絡資料庫的使用和有關unix_socket的使用,但這部分類容對我們來說是相當生疏的,以前沒有正式的學過。先在老師的引導下學了解了基本類容。

我們做的是購物系統根據設計的要求必須要在完成通訊功能的基礎上,完成自己設計所要完成的功能。整個設計的中心類容就是要在運用資料庫的基礎上完成客戶端和伺服器的通訊,所以我們一組的人先運用c語言完成對基本的程式要求,然後再根據所要完成的功能重用的資料庫的類容建立資料庫可所要的表。

設計過程中由於用到好多套接字的內容,好多函式的運用都很生疏,我們一組的人在一起商量外,還大量利用網路資源,尤其是在運用一些資料庫的函式進行程式設計的時候更是進度很慢,在寫程式的過程中還得像這怎麼把資料庫的內容在執行是能起上作用,總之整個過程並不是像剛開始時想的那麼簡單。

目錄 這次設計整個過程我們在都在院機房,從8月25開始的設計,第一天我們先進行總體大的框架的構想,想出有關購物系統所要完成的功能,在對所要寫的程式進行整體的劃分,總基礎整個過程所要設計學過的和要運用的剛了解的東西,大的思路出來以後再對組中的成員進行工作分工,前兩天我們所完成的主要的工作就是了解並能掌握在程序之間的通訊,這是整個設計最基礎的東西,也是最最重要的地方。然後解下來的時間就是對程式的構思和寫就,因為在寫程式的過程中要用到資料庫的類容,所以在程式寫出一部分以後在今測試的都要建立相應的資料庫。測試和除錯出來很多的問題,在老師和同學的幫助下最後都解決了。

二、設計目的和要求

1、設計目的

這裡的中介軟體是指交易型中介軟體。交易型中介軟體是指用在不同行業、不同部門間的通訊和協議轉換的軟體,在不同的行業、不同的系統間提供通訊**和協議轉換的橋梁作用。例如電子商務、銀行**業務軟體等都是這種型別的軟體。

本設計不是基於web的,不需要很多與web開發相關的知識,主要是利用unix系統提供的socket庫在網路底層,開發交易型中介軟體。

本設計的目的是使參與設計者掌握利用軟體工程的思想方法和tcp/ip設計出用於不同行業和部門間的通訊**或協議轉換軟體—中介軟體,尤其掌握這種設計的思想和方法。

在很多場合中介軟體部分是必須的,因為在不同的行業的網路是不允許直通的。這裡有政策的因素,有制度的要求,也有技術的成份。

設計理念:設計乙個專案,學會乙個方法,做好一項工程。

2、設計要求

1)紀律要求

(1)嚴格遵循軟體實習的有關安排,按時完成設計任務。

(2)嚴格遵守學校的紀律和機房的各項管理規定。

(3)嚴格請假制度,需請假時,必須經指導老師批准。

2)技術要求

按軟體工程的思想和方法來設計這一專案,並把它作為乙個工程來做。設計的每一步都有要形成文件,「成品」出來以後要有使用說明書和測試報告。最後按院方統一要求整理出軟體實習「**」,並分別以電子和書面文件的形式上交。

因不是針對某個具體業務系統的,該系統的設計只是乙個大的框架,但要求對實際系統進行模擬,能針對實際系統更好。建議模擬移動公司的手機代收費系統。要求本設計的三部分都要對所接收和傳送的資料以檔案形式留跡並同時在螢幕上顯示。

客戶端要求對接收到的返回資料進行正確格式的顯示或列印。伺服器端要先建立模擬用資料檔案或資料庫,這是服務的基礎。

伺服器資料庫要求使用linux提供的免費的mysql。開發時主要用到c訪問mysql的介面程式mysql c api。

該設計的三個部分都要設計出程式,並要在驗收時進行演示。

3)具體要求

(1)客戶端

客戶端程式可命名為client,要求帶有兩個命令列引數乙個是服務(自己定義,定義在/etc/services中,比如mysvr1 5678),另乙個是目的主機(定義在/etc/hosts內,也可使用dns來解析),預設時為本機。

客戶至少要實現如下功能:使用者管理;查詢;交易(交費,購物等);撤銷;統計。

(2)中介軟體

中介軟體程式命名為middleware,要帶有三個引數,乙個是伺服器的服務(名字,與客戶端同),第二個作為請求的服務(自己定義,定義在/etc/services中,要區別於客戶端,比如mysvr2 5679),第三個為目的主機(定義在/etc/hosts內),預設時為本機。

中介軟體要完成與客戶要求相符的功能:是本地的本地處理,否則發往伺服器方。具體地是:接收客戶方資料;組織伺服器方所需資料;重組服務方返回資料,並返回給客戶方。

(3)伺服器

伺服器程式可命名為server,要求帶有乙個服務引數,與中介軟體的mysvr2同。

伺服器方程式要完成客戶端或中介軟體提出的業務請求,並做好留跡工作。

(4)留跡或log

留跡或log工作在客戶端、中介軟體和伺服器三方都要做,以供統計或核對使用。客戶端或中介軟體方可以使用文字檔案或資料庫,但在伺服器方張須使用mysql資料

三.流程圖如下

2.商品搜尋流程圖

3.使用者登入流程圖

4.購物流程圖

四.客戶端的功能實現部分及源**

客戶端是開啟一通訊通道,並連線到伺服器所在主機的特定埠。向伺服器發服務請求,等待並接收應答;請求結束後關閉通訊通道。socket程式庫是unix網路上最普及的api,可呼叫socket程式庫提供的各個程式開發網路軟體和網路系統。

tcp/ip協議被整合到unix核心中時,相當於在unix系統引入了一種新型的i/0操作。unix使用者程序與網路協議的互動作用比使用者程序與傳統的i/o裝置相互作用複雜得多。在unix系統中,網路應用程式設計介面有兩類:

unix bsd的套接字(socket)和unix system v的tli。由於sun公司採用了支援tcp/ip的unix bsd作業系統,使tcp/ip的應用有更大的發展,其網路應用程式設計介面(套接字)在網路軟體中被廣泛應用其中和套接字有關的函式有:建立套接字—socket() 位址繫結—bind() 建立連線—connect()與accept()監聽連線—listen() 資料傳輸—send()/write()與recv()/read() 關閉套接字—close() 。

資料可中所用的東西有:在命令提示符下輸入:mysql 或 mysql –u root進入mysql系統。

提示符為「>」,可以使用的命令有:show databases / tables;use database;create database db;create table tbl;drop database db/ table tbl;select … from tbl … where …insert … into tbl … values … update … tbl … set … where …delete … from tbl … where …

因為我們要完成的事網上購物系統,所以客戶端組要是完成查詢可購買的功能,所以所用的到資料庫也相對的簡單。

客戶端部分源**

#include

#include

#include

#include

#include

#include

#include

#include

#define rec_length 20

main(int argc,char **argv)

else

sprintf(cmd,"touch %s",log);system(cmd);

err_code=0;

if(mysql_init(&mysql)==null){ //2

fprintf(stderr,"error in mysql_init!\n");

exit(-1);

22.把伺服器與客戶端通過說句庫連線起來,並完成基本的通訊功能。

//connect to db

if(!mysql_real_connect(&mysql,"localhost","root",0,"clt",0,null,0)){ //2

fprintf(stderr,"error in connection: %s [%d]\n",\

mysql_error(&mysql),mysql_errno(&mysql));

mysql_close(&mysql);

err_code=-2;

goto mysql_err;

2// query();

sprintf(cmd,"select * from main");

//execute query

if(mysql_query(&mysql,cmd)!=0){ //5

fprintf(stderr,"error in query: %s [%d]\n",\

mysql_error(&mysql),mysql_errno(&mysql));

mysql_close(&mysql);

err_code=-3;

goto mysql_err;

5//get result

if((result=mysql_store_result(&mysql))==null){ //5

fprintf(stderr,"error in store_result: %s [%d]\n",\

mysql_error(&mysql),mysql_errno(&mysql));

網上商城購物系統專案總結報告

專案總結報告 本專案運用了asp開發技術,開發出了乙個包含有基本功能的網上購物 本專案的開發過程中運用到了asp的基礎知識。資料庫的訪問與連線基礎等知識。2.1.1 軟體功能 網上購物 系統主要是實現網上選物 購物 產生訂單等功能的系統。乙個典型的網上 一般都需要實現商品資訊的動態提示 購物車管理 ...

網上商城購物系統專案總結報告

專案總結報告 本專案成員 陳俊銳 10601310147 林健斌 10601310134 馮寬暢 10601310131 組長為林健斌 3位隊員都對 進行負責,都屬於開發人員以及測試人員。馮寬暢兼任 的美化以及商品資料收集。兼屬設計人員 林健斌,陳俊銳兼任管理人員,對版面還有功能的策劃以及功能模組實...

網上購物系統專案開發計畫

網上購物系統 專案開發計畫 擬制人王朝陽 審核人 宋金德袁浩許威 批准人1.1 編寫目的 在仔細考慮討論之後,我們對 網上購物系統 軟體的技術可行性,社會可行性,經濟可行性有了一定的調查。我們把討論的結果記錄下來,作為專案開發計畫,並作為進一步軟體需求分析的基礎。1.2 背景 目前網上購物發展迅速,...