超市管理系統(tǒng)畢業(yè)論文
泉州信息職業(yè)技術(shù)學(xué)院畢業(yè)論文(設(shè)計)泉州信息職業(yè)技術(shù)學(xué)院 畢 業(yè) 論 文(設(shè) 計) 題 目 姓 名 學(xué) 號 專業(yè)班級 指導(dǎo)教師 2011年12月1日目錄前言1第一章 可行性分析21.1 技術(shù)可行性分析21.2 經(jīng)濟可行性分析21.3 操作可行性分析2第二章 需求分析32.1 業(yè)務(wù)流程分析32.2 數(shù)據(jù)流程分析3第三章 數(shù)據(jù)庫設(shè)計43.1 數(shù)據(jù)庫需求分析43.2 數(shù)據(jù)庫表設(shè)計43.2.1 管理員信息表43.2.2 職工信息表53.2.3 商品信息表53.2.4 供貨商信息表63.2.5 進貨信息表63.2.6 銷售信息表73.2.7 庫存信息表7第四章 系統(tǒng)設(shè)計84.1模塊設(shè)計84.1.1 登陸模塊設(shè)計84.1.2 職工管理模塊設(shè)計104.1.3 商品信息管理模塊124.1.4 供貨商管理模塊154.1.5 銷售管理模塊184.1.6 進貨信息管理模塊20總結(jié)24參考文獻25II超市管理系統(tǒng)Web應(yīng)用開發(fā) 09web 劉必貴摘 要超市管理系統(tǒng)是市場上最流行的超市上常用的系統(tǒng)之一,它主要包含以下幾個模塊:系統(tǒng)權(quán)限的設(shè)定、原始數(shù)據(jù)錄入、數(shù)據(jù)的匯總及查詢等。從而,實現(xiàn)對進貨、銷售及員工信息等實現(xiàn)全面、動態(tài)、及時的管理。本文系統(tǒng)的分析了軟件開發(fā)的背景以過程;首先介紹了軟件的開發(fā)環(huán)境,其次介紹了本軟件的詳細(xì)設(shè)計過程:數(shù)據(jù)庫的設(shè)計、各個模塊的設(shè)計和實現(xiàn),以及具體界面的設(shè)計和功能?!娟P(guān)鍵字】超市、管理系統(tǒng)、數(shù)據(jù)庫設(shè)計、系統(tǒng)設(shè)計、模塊設(shè)計前言隨著社會的不斷發(fā)展,人們的生活水平不斷提高,對社會的物質(zhì)需求越來越高,同時人們的生活節(jié)奏不斷加快,許多人沒有時間去購物,為方便廣大居民的生活,在本小區(qū)建立超市。隨著人們生活水平的提高,人們對于消費品的需求急劇增加,有關(guān)此類商品的各種信息量也成倍增長。超市時時刻刻都需要對商品各種信息進行統(tǒng)計分析。本系統(tǒng)的設(shè)計正是實現(xiàn)了這一統(tǒng)計分析的功能。第一章 可行性分析隨著計算機技術(shù)的發(fā)展和網(wǎng)絡(luò)人口的增加,人們對網(wǎng)絡(luò)的需求也越來越苛刻,越來越貼近其生活,電子信息管理已經(jīng)成為網(wǎng)上的一股潮流。而更多的,是要求傳統(tǒng)行業(yè)的管理要延伸到網(wǎng)絡(luò),以更方便其生活、工作和學(xué)習(xí)??尚行匝芯康哪康?,就是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。要達(dá)到這個目的,必須分析幾種主要的可能解法的利弊,從而判斷原定的系統(tǒng)規(guī)模和目標(biāo)是否現(xiàn)實,系統(tǒng)完成后所能帶來的效益是否大到值得投資開發(fā)這個系統(tǒng)的程度。因此,可行性研究實質(zhì)上是要進行一次大大壓縮簡化了的系統(tǒng)分析和設(shè)計的過程,也就是在較高層次上以較抽象的方式進行的系統(tǒng)分析和設(shè)計的過程。系統(tǒng)的可行性分析主要包括經(jīng)濟上的可行性、技術(shù)上的可行性和操作上的可行性。本系統(tǒng)的可行性分析如下:1.1 技術(shù)可行性分析 因為該系統(tǒng)具有友好的人機互操作界面,操作人員只要進行少量的培訓(xùn),系統(tǒng)的功能和使用方法就基本上能夠是系統(tǒng)順利運行。1.2 經(jīng)濟可行性分析該系統(tǒng)帶來的經(jīng)濟效益明顯的,其最主要的表現(xiàn)就是減少了企業(yè)管理費用和人力開支,不僅節(jié)省了大量的時間,還為企業(yè)的各項決策提供了寶貴的資料,為企業(yè)帶來巨大的經(jīng)濟效益。同時該系統(tǒng)可以提高超市的銷售效率,即提高了超市的經(jīng)濟效益,所以從經(jīng)濟上完全是可行的。1.3 操作可行性分析本系統(tǒng)采用基于Windows的圖形用戶界面,而該系統(tǒng)是大家熟悉的操作系統(tǒng),對于那些有一般的計算機知識的人員就可以輕松上手。而整個超市管理系統(tǒng)采用最友好的交互界面,簡介明了,不需要對數(shù)據(jù)庫進行深入的了解。綜合以上三方面,該系統(tǒng)的操作是可行的,開發(fā)該系統(tǒng)可行。26第二章 需求分析2.1 業(yè)務(wù)流程分析超市管理系統(tǒng)工作流程為:系統(tǒng)啟動并進入登錄界面,系統(tǒng)管理員輸入正確的用戶名及密碼后,登陸系統(tǒng)主操作界面,系統(tǒng)管理員可對系統(tǒng)相關(guān)信息進行操作,包括基本信息、貨物信息、供應(yīng)商信息、銷售信息、倉庫信息等。本系統(tǒng)的業(yè)務(wù)流程圖如圖1所示:廠商商品信息營業(yè)員訂貨信息購買信息顧客銷售信息用戶信息(員工)商品信息庫存信息老板 圖 1 業(yè)務(wù)流程圖2.2 數(shù)據(jù)流程分析數(shù)據(jù)流程分析主要包括對信息的流動、傳遞、處理、存儲等的分析。數(shù)據(jù)流程分析的目的就是要發(fā)現(xiàn)和解決數(shù)據(jù)流通中的問題。現(xiàn)有的數(shù)據(jù)流程分析多是通過分層的數(shù)據(jù)流程圖(data flow diagram,簡稱DFD)來實現(xiàn)的。其具體的做法是:按業(yè)務(wù)流程圖理出的業(yè)務(wù)流程順序,將相應(yīng)調(diào)查過程中所掌握的數(shù)據(jù)處理過程,繪制成一套完整的數(shù)據(jù)流程圖。超市管理系統(tǒng)的數(shù)據(jù)流程:對本系統(tǒng)操作的數(shù)據(jù)源有普通用戶、注冊用戶和管理員三種,首先由系統(tǒng)管理員根據(jù)不同用戶的需要將某些信息保存到數(shù)據(jù)庫中,然后再進行發(fā)布。不同權(quán)限的用戶可以對這些庫信息進行添加、修改和刪除處理。所有用戶均可以進行信息查詢。通過對本系統(tǒng)的需求分析,系統(tǒng)的基本功能已經(jīng)確定。第三章 數(shù)據(jù)庫設(shè)計3.1 數(shù)據(jù)庫需求分析 用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢方面,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸入和輸出。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計打下基礎(chǔ)。通過系統(tǒng)功能分析,針對超市管理系統(tǒng),總結(jié)出如下的需求信息:1)用戶為管理員用戶;2)管理員用戶登陸后可進行管理員信息、貨物信息及廠商信息等的維護,以且貨物入庫、貨物出庫及統(tǒng)計信息的維護;經(jīng)過系統(tǒng)功能分析和需求總結(jié),考慮到將來功能上的擴展,設(shè)計如下的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):1)管理員信息表包括數(shù)據(jù)項:帳號,密碼等。2)職工信息表包括數(shù)據(jù)項:職工編號,姓名,性別,籍貫,學(xué)歷,類別,工資,聯(lián)系電話,聯(lián)系地址,身份證號,聘用日期,編制日期,備注等。3)商品信息表包括數(shù)據(jù)項:商品編號,供貨商號,名稱,條形碼,計量單位,類別,產(chǎn)地,單價,備注,等。4)供貨商信息表包括數(shù)據(jù)項:供貨商號,名稱,聯(lián)系人,聯(lián)系電話,聯(lián)系地址,開戶行,銀行帳號,備注等。5)進貨信息表包括數(shù)據(jù)項:進貨單號,商品編號,供貨商號,進貨價,數(shù)量,金額,進貨日期,備注等。6)銷售信息表包括數(shù)據(jù)項:銷售單號,商品編號,銷售數(shù)量,銷售日期等。7)庫存信息表包括數(shù)據(jù)項:商品編號,庫存數(shù)量等。3.2 數(shù)據(jù)庫表設(shè)計3.2.1 管理員信息表管理員信息表存儲管理員信息。表中各字段功能定義如表1所示。中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束帳號loginIDchar6P/FNOT NULL密碼passWordchar6NOT NULL 表 1 管理員信息表3.2.2 職工信息表職工信息表用于存儲職工信息,表中個字段功能定義如表2所示。中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束職工編號staffIDchar6PNOT NULL姓名namenvarchar8NOT NULL性別sexnchar2NOT NULL籍貫homenvarchar4NULL學(xué)歷diplomanvarchar4NOT NULL類別kindnvarchar10NULL工資salaryint4NULL聯(lián)系電話phonevarchar12NULL聯(lián)系地址addressnvarchar50NULL身份證號idCardvarchar18NOT NULL聘用日期beginDatedatetime8NULL編制日期enactTimedatetime8NULL備注othersntext50NULL 表 2 職員信息表3.2.3 商品信息表商品信息表用于存儲商品的信息。表中各字段功能定義如表3所示。中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束商品編號merchIDchar6PNOT NULL供貨商號profferIDchar6FNOT NULL名稱fullNamenvarchar80NOT NULL條形碼barCodechar15NOT NULL計量單位metricUnitvarchar4NOT NULL類別kindnvarchar8NULL產(chǎn)地birthPlacenvarchar50NULL單價unitCostmoney4NOT NULL備注othersntext50NULL 表 3 商品信息表3.2.4 供貨商信息表供貨商信息表用于存儲供貨商的信息。表中各字段功能定義如表4所示。中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束供貨商號profferIDchar6PNOT NULL名稱fullNamenvarchar50NOT NULL聯(lián)系人contactPersonnvarchar8NOT NULL聯(lián)系電話phonevarchar12NOT NULL聯(lián)系地址addressnvarchar50NOT NULL開戶行openingBanknvarchar10NULL銀行帳號 accountIDvarchar15NULL備注othersntext50NULL 表 4 供貨商信息表3.2.5 進貨信息表進貨信息表用于存儲貨物入庫的信息。表中各字段信息如表5所示。中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束進貨單號importBillIDchar6PNOT NULL商品編號merchIDchar6P/FNOT NULL供貨商號profferIDchar6FNOT NULL進貨價importPricemoney4NOT NULL數(shù)量quantityint4NOT NULL金額totalMoneymoney4NOT NULL進貨日期importDatedatetime8NOT NULL備注othersntext50NULL 表 5 進貨信息表3.2.6 銷售信息表銷售信息表用于存儲商品銷售的信息。表中各字段信息如表6所示。中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束銷售單號saleBillIDchar6PNOT NULL商品編號merchIDchar6P/FNOT NULL銷售數(shù)量saleNumint4NOT NULL銷售日期saleDatedatetime8NOT NULL 表 6 銷售信息表3.2.7 庫存信息表庫存信息表用于存儲倉庫內(nèi)商品的信息。表中各字段信息如表7所示。中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束商品編號merchIDchar6P/FNOT NULL庫存數(shù)量storeNumint4NOT NULL 表 7 庫存信息表第四章 系統(tǒng)設(shè)計4.1模塊設(shè)計用戶界面的大部分功能都是以管理模塊為前提的,因為客戶模塊所顯示的數(shù)據(jù)大部分需要通過管理模塊來添加。因此,我們首先要來介紹管理模塊的設(shè)計與開發(fā)。管理模塊相對客戶模塊要復(fù)雜一些,因為在這里需要對所有信息進行維護,包括瀏覽、增加、修改和刪除等操作。為了便于系統(tǒng)維護,頁面的命名才用“模塊名+功能名”的方式。概括起來,管理模塊具有以下功能:* 管理員登陸。* 職員信息管理。* 商品信息管理。* 供貨商信息管理。* 銷售信息管理。* 進貨信息管理。* 庫存信息管理。4.1.1 登陸模塊設(shè)計 該模塊位于系統(tǒng)的首頁。用戶輸入用戶名和密碼后,系統(tǒng)進行驗證,驗證通過進入程序的主界面。登陸界面如圖2所示。 圖 2 登陸界面實現(xiàn)代碼如下: public bool Veri(string tb_table, string Id, string Pwd) DataClass.MyMeans MyClass = new SMMS.DataClass.MyMeans(); bool jud = false; if (Id != "" && Pwd != "") SqlDataReader temDR = MyClass.getcom("select * from " + tb_table + " where UserName=" + Id.Trim() + " and Pass=" + Pwd.Trim() + ""); jud = temDR.Read(); if (jud) DataClass.MyMeans.Login_Name = Id.Trim(); DataClass.MyMeans.Login_ID = temDR.GetString(0); DataClass.MyMeans.My_con.Close(); DataClass.MyMeans.My_con.Dispose(); else MessageBox.Show("用戶名或密碼錯誤!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); MyClass.con_close(); else MessageBox.Show("請將登錄信息添寫完整"); return jud; 4.1.2 職工管理模塊設(shè)計該模塊主要有對職工的添加,修改,刪除等功能,能夠?qū)β毠みM行合理的管理,界面如圖3所示。 圖 3 職工管理界面 實現(xiàn)代碼如下:private void btnSave_Click(object sender, EventArgs e) string RecID; if (txtName.Text = "") MessageBox.Show("請?zhí)砑勇毠ば彰?quot;); txtName.Focus(); else if (Jud = 1) RecID = MyMC.GetAutocoding("tb_Worker", "WorkerID");/獲取編號 Find_SQL = "insert into tb_Worker(WorkerID,WorkerName,Remark) values("+RecID+","+txtName.Text+","+txtRemark.Text+")" MyDataClass.getsqlcom(Find_SQL); MessageBox.Show("添加成功!"); InfLoad(); WinstateT(); if (Jud = 2) Find_SQL ="update tb_Worker set WorkerName="+txtName.Text+",Remark="+txtRemark.Text+" where WorkerID="+txtWorkerID.Text+"" MyDataClass.getsqlcom(Find_SQL); MessageBox.Show("修改成功!"); InfLoad(); WinstateT(); 4.1.3 商品信息管理模塊此模塊進行對商品信息的錄入,能夠?qū)ι唐愤M行合理的管理,界面如圖4所示。 圖 4商品信息管理界面實現(xiàn)代碼如下:private void btnAdd_Click(object sender, EventArgs e) bool t = false; string txt; string RecID; string TypeID; if (txtName.Text = "") MessageBox.Show("請輸入商品名稱!"); txtName.Focus(); else if (txtPrice.Text = "") MessageBox.Show("請輸入商品單價!"); txtPrice.Focus(); else if (comboxType.Text = "") MessageBox.Show("請選擇商品類型!"); comboxType.Focus(); else if (txtKeep.Text = "") MessageBox.Show("請輸入保質(zhì)期"); txtKeep.Focus(); else txt = txtName.Text.Trim(); SqlDataReader temDR = MyDataClass.getcom("select * from tb_Goods where GoodsName =" + txt + ""); t = temDR.Read(); if (t) MessageBox.Show("此商品名稱已存在!"); txtName.Text = "" txtName.Focus(); else string Find_SQL2; string RecID2; try TypeID = My_Set.Tables0.RowscomboxType.SelectedIndex0.ToString(); RecID = MyMC.GetAutocoding("tb_Goods", "GoodsID");/獲取編號 RecID2 = MyMC.GetAutocoding("tb_Stock", "StockID");/獲取編號 Find_SQL = "insert into tb_Goods(GoodsID,GoodsName,TypeID,Remark,Price,Keep) values (" + RecID + "," + txtName.Text + "," + TypeID + "," + txtRemark.Text + "," + txtPrice.Text + "," + txtKeep.Text + ")" Find_SQL2 = "insert into tb_Stock(StockId,GoodsID,Amount) values (" + RecID2 + "," + RecID + ",0)" MyDataClass.getsqlcom(Find_SQL); MyDataClass.getsqlcom(Find_SQL2);/向庫存添加信息 MessageBox.Show("添加成功!"); ListViewItem l = new ListViewItem(); l.Text = txtName.Text; l.SubItems.Add(comboxType.Text); l.SubItems.Add(txtPrice.Text); l.SubItems.Add(txtKeep.Text); l.SubItems.Add(txtRemark.Text); listView1.Items.Add(l); btnCancle_Click(sender, e); catch (Exception ec) MessageBox.Show(ec.Message); MessageBox.Show("添加失敗"); 4.1.4 供貨商管理模塊此模塊有對供貨商的添加,修改,刪除等功能,能夠?qū)┴浬踢M行合理的管理。界面如圖5所示。 圖 5 供銷商管理界面實現(xiàn)代碼如下:private void btnSave_Click(object sender, EventArgs e) bool t = false; string txt; string RecID; if (txtName.Text = "") MessageBox.Show("請輸入供貨商名稱!"); txtName.Focus(); else if (Jud = 1) txt = txtName.Text.Trim(); SqlDataReader temDR = MyDataClass.getcom("select * from tb_Supplier where SupplierName =" + txt + ""); t = temDR.Read(); if (t) MessageBox.Show("此供貨商名稱已存在!"); txtName.Text = "" txtName.Focus(); else RecID = MyMC.GetAutocoding("tb_Supplier", "SupplierID");/獲取編號 Find_SQL = "insert into tb_supplier(SupplierID,SupplierName,Tel,Address,Remark) values (" + RecID + "," + txtName.Text + "," + txtTel.Text + "," + txtAddress.Text + "," + txtRemark.Text + ")" MyDataClass.getsqlcom(Find_SQL); MessageBox.Show("添加成功!"); InfLoad(); WinstateT(); if (Jud = 2) txt = txtName.Text.Trim(); Find_SQL = "select * from tb_Supplier where SupplierName =" + txt + "and SupplierID!="+ ID+"" SqlDataReader temDR = MyDataClass.getcom(Find_SQL); t = temDR.Read(); if (t) MessageBox.Show("此供貨商名稱已存在!"); txtName.Text = "" txtName.Focus(); else Find_SQL = "update tb_Supplier set SupplierName=" + txtName.Text + ",Tel=" + txtTel.Text + ",Address=" + txtAddress.Text + ",Remark=" + txtRemark.Text + "where SupplierID="+ID+"" MyDataClass.getsqlcom(Find_SQL); MessageBox.Show("修改成功!"); InfLoad(); WinstateT(); 4.1.5 銷售管理模塊銷售員將銷售信息錄入方便了銷售工作,提高了工作效率。界面如圖6所示。 圖 6 銷售管理界面主要代碼實現(xiàn):private void button2_Click(object sender, EventArgs e) if (txtSum.Text.Trim().Length != 0) string s1; string s2; string s3; string s4; float zl; float PayS; if (txtPayS.Text = "") PayS = 0; else PayS = float.Parse(txtPayS.Text); zl = PayS - TotalPrice; txtPayS.Text = PayS.ToString(); txtPayY.Text = TotalPrice.ToString(); txtZL.Text = zl.ToString(); s1 = "商品數(shù)量" + Amount1+ " 件" + "n" + "n" s2 = "實付款 " + PayS + " 元" + "n" + "n" s3 = "應(yīng)付款 " + TotalPrice.ToString() + " 元" + "n" + "n" s4 = "找零 " + zl.ToString() + " 元" ; MessageBox.Show(s1+s2+s3+s4, "系統(tǒng)提示"); txtPayS.Text = "" txtPayY.Text = "" txtZL.Text = "" txtID.Text = "" txtAmount.Text = "" txtSum.Text = "" TotalPrice = 0; Amount1 = 0; listView1.Items.Clear(); else MessageBox.Show("請購買商品!"); 4.1.6 進貨信息管理模塊 錄入進貨信息加強對商品的管理,使商品信息更為詳細(xì),方便了對商品的管理。界面如圖7所示。 圖 7進貨管理界面實現(xiàn)代碼如下:private void btnAdd_Click(object sender, EventArgs e) bool t = false; string txt; string RecID; if (txtID.Text = "") MessageBox.Show("請輸入商品編號!"); txtID.Focus(); else if (txtPrice.Text = "") MessageBox.Show("請輸入商品單價!"); txtPrice.Focus(); else if (txtAmount.Text = "") MessageBox.Show("請輸入商品數(shù)量!"); txtAmount.Focus(); else if(comPy.Text=""|comPm.Text=""|comPd.Text="") MessageBox.Show("請將生產(chǎn)日期填寫完整!"); else if (comBy.Text = "" | comBm.Text = "" | comBd.Text = "") MessageBox.Show("請將進貨日期填寫完整"); else txt =txtID.Text.Trim(); SqlDataReader temDR = MyDataClass.getcom("select * from tb_Goods where GoodsID =" + txt + ""); t = temDR.Read(); if (!t) MessageBox.Show("此商品不存在!"); txtID.Text = "" txtID.Focus(); else string Find_SQL2; string RecID2; try string GoodsID; string SupplierID; string datep; string dateb; datep =comPy.Text + "/" + comPm.Text + "/" + comPd.Text; dateb = comBy.Text + "/" + comBm.Text + "/" +comBd.Text; GoodsID = txtID.Text; SupplierID = My_Set.Tables0.RowscomSupplier.SelectedIndex0.ToString(); RecID = MyMC.GetAutocoding("tb_Buy", "BuyID");/獲取編號 RecID2 = MyMC.GetAutocoding("tb_Stock", "StockID");/獲取編號 Find_SQL = "insert into tb_Buy(BuyID,GoodsID,EmployeeID,Price,Amount,Datep,Dateb,SupplierID,Remark) values (" + RecID + "," +txtID.Text + "," + DataClass.MyMeans.Login_Name + ","+txtPrice.Text +","+ txtAmount.Text+ ","+datep+","+dateb+","+SupplierID+","+txtRemark.Text+")" Find_SQL2 = "Update tb_Stock set Amount = Amount +" +txtAmount.Text+"where GoodSID="+GoodsID+"" MyDataClass.getsqlcom(Find_SQL); MyDataClass.getsqlcom(Find_SQL2);/向庫存添加信息 MessageBox.Show("添加成功!"); ListViewItem l = new ListViewItem(); l.Text =RecID; l.SubItems.Add(txtID.Text); l.SubItems.Add(txtPrice.Text); l.SubItems.Add(txtAmount.Text); l.SubItems.Add(comSupplier.Text); l.SubItems.Add(txtRemark.Text); listView1.Items.Add(l); btnCancle_Click(sender, e); catch (Exception ec) MessageBox.Show(ec.Message); MessageBox.Show("添加失敗"); 總結(jié)在學(xué)習(xí)當(dāng)中認(rèn)我認(rèn)識到開發(fā)一項好的軟件不是某一個人就能完成的任務(wù)。一個團隊的小組,一個勤奮的小組非常重要,溝通是解決問題的就好辦法。俗話也得好:“不怕虎一樣的敵人,就怕豬一樣的隊伍”。所以小組中的每個成員的能力與協(xié)作能力也是致關(guān)重要的。同時,不僅是團隊內(nèi)部的交流,更多需要協(xié)調(diào)好團隊之間的交流。其次呢,在實習(xí)中我了解了,在開發(fā)一個項目時一定要先做好規(guī)劃,按照軟件的開發(fā)過程,詳細(xì)地寫好每一個必要的文檔。一般的規(guī)則是,寫文檔需要團隊協(xié)作,這樣就允許開發(fā)人員和文檔編寫者利用彼此的長處,取長補短。例如,如果預(yù)期讀者是系統(tǒng)設(shè)計師,開發(fā)人員需要提供技術(shù)細(xì)節(jié),然后文檔編寫者按照正確語法組織和編輯內(nèi)容。軟件文檔的最主要目標(biāo)是傳達(dá)一個系統(tǒng)的技術(shù)要素和使用方法。第二個目標(biāo)是提供軟件開發(fā)過程中的需求,決策,行為,角色和責(zé)任的書面記錄。只有實現(xiàn)了這兩個目標(biāo),軟件文檔才真正提供了有意義的信息。軟件的概念就是:程序+文檔,程序就是文檔,文檔集成在程序中。它要求在選擇開發(fā)環(huán)境時不僅要考慮環(huán)境對設(shè)計、開發(fā)的完美支持,而且要考慮對維護、文檔的支持;它要求軟件人員在設(shè)計、開發(fā)過程中要考慮維護問題、文檔問題;它要求程序與文檔存儲在同一位置、同一系統(tǒng)中;它要求使用相同工具進行程序與文檔的書寫、檢索;它要求在編寫和維護程序的同時形成文檔,在書寫文檔時編寫、維護程序。程序與文檔合一的概念不僅存在于系統(tǒng)的設(shè)計、開發(fā)階段而且存在于系統(tǒng)的維護階段,它貫穿軟件的生命周期。參考文獻1 Konrad King(美),杜大鵬著.SQL編程實用大全M.中國水利水電出版社2005.5.2 高守傳著.SQL結(jié)構(gòu)化查詢語言詳解M.人民郵電出版社.2007.5.3 微軟公司著.SQL Sever2005數(shù)據(jù)庫開發(fā)與實現(xiàn)M.人民郵電出版社.2007.9.4 宋昆,李嚴(yán)著. SQL Server數(shù)據(jù)庫開發(fā)實例解析M.機械工業(yè)出版社.2006.1.5 李俊民,高春燕著. Access數(shù)據(jù)庫開發(fā)實例解析M.機械工業(yè)出版社.2006.1.