軟件開發(fā)實習(xí)報告
軟件開發(fā)實習(xí)報告
通過這次在清華IT的實習(xí),學(xué)到了很多東西。也了解到了軟件開發(fā)的真正價值。這次的實踐讓我真切體會到了我們前面所學(xué)知識的用處所在。以前總認(rèn)為所學(xué)的知識只是理論上的知識,根本就沒有任何作用,但通過這次實習(xí),讓我學(xué)有所用。而且學(xué)到了很多在學(xué)校學(xué)不到的東西,受益匪淺。
在這個信息時代,信息都是電子化。很多方面根本不在是一些手把手的管理,而是在電腦面前操作一下即可,讓我們真正享受到高科技的待遇。在軟件開發(fā)領(lǐng)域,做一個項目的出發(fā)點(diǎn)是提高辦事效率。而在項目制作的過程中我們要使一個軟件簡潔實用,人性化,快捷方便。
這次實習(xí)的主要任務(wù)是圖書管理系統(tǒng)的開發(fā)。項目運(yùn)行的平臺是WindowsXP,運(yùn)用系統(tǒng)主要是MicrosoftVisualStudio201*,
MicrosoftSQLServer201*,運(yùn)用的知識主要有我們學(xué)習(xí)過的知識數(shù)據(jù)庫技術(shù),以及實習(xí)過程中所提及的知識。在軟件開發(fā)果過程中首先要了解三層結(jié)構(gòu)的的含義及其設(shè)計模式思想部署企業(yè)級數(shù)據(jù)庫業(yè)務(wù)系統(tǒng)開發(fā)。三層結(jié)構(gòu)是一種成熟、簡單并得到普遍應(yīng)用的應(yīng)用程序架構(gòu),它將應(yīng)用程序結(jié)構(gòu)劃分三層獨(dú)立的包,包括用戶表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層。其中將實現(xiàn)人機(jī)界面的所有表單和組件放在表示層,將所有業(yè)務(wù)規(guī)則和邏輯的實現(xiàn)封裝在負(fù)責(zé)業(yè)務(wù)邏輯組件中,將所有和數(shù)據(jù)庫的交互封裝在數(shù)據(jù)訪問組件中。其結(jié)構(gòu)如下圖1所示:(未顯示出)
三層結(jié)構(gòu)示意圖
三層結(jié)構(gòu)是一種嚴(yán)格分層方法,即數(shù)據(jù)訪問層只能被業(yè)務(wù)邏輯層訪問,業(yè)務(wù)邏輯層只能被表示層訪問,用戶通過表示層將請求傳送給業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層完成相關(guān)業(yè)務(wù)規(guī)則和邏輯,并通過數(shù)據(jù)訪問層訪問數(shù)據(jù)庫獲得數(shù)據(jù),然后按照相反的順序依次返回將數(shù)據(jù)顯示在表示層。下面介紹圖書管理系統(tǒng)開發(fā)技術(shù):一系統(tǒng)的功能設(shè)計
首先對系統(tǒng)進(jìn)行需求分析,我們必須要知道要做一個系統(tǒng)“用來干什么”,這需要在對用戶需求進(jìn)行充分調(diào)研的基礎(chǔ)上,深入理解并描述出軟件的功能、性能、接口等方面的需求,可以使用UML建模作為需求分析和系統(tǒng)設(shè)計的有效方法。圖(1)給出了本圖書管理系統(tǒng)的功能結(jié)構(gòu)圖,其工作流程為:普通用戶直接登錄主頁面,只能瀏覽、快速查詢圖書、注冊新用戶、修改自己的密碼以及查看圖書的詳情,管理員用戶除了可以完成普通用戶的操作外,還可以進(jìn)入圖書管理模塊進(jìn)行圖書添加、修改和刪除的操作。
1、系統(tǒng)的功能特點(diǎn):
(1)操作簡單、界面友好:插入表格的頁面布局,使得圖書的錄入工作更簡便;許多選項包括圖書類別、來源等只需要點(diǎn)擊鼠標(biāo)就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶隨時清楚自己的操作情況。
(2)即時可見:對圖書的處理(包括圖書添加、修改、刪除)將立即在主頁的對應(yīng)欄目顯示出來,達(dá)到"即時處理、即時見效"的功能。
(3)功能完善:包括常見網(wǎng)站的圖書管理的各個方面:圖書新增、瀏覽、刪除、修改、檢索等各個方面,完整地實現(xiàn)了網(wǎng)站對即時圖書的管理要求。
(4)方便移植:針對不同的圖書館,只需要稍作修改就可以開發(fā)出適合本企業(yè)特點(diǎn)的網(wǎng)站圖書管理系統(tǒng)。
2、系統(tǒng)的詳細(xì)設(shè)計系統(tǒng)的主要功能是通過幾個功能模塊來實現(xiàn)的。具體的設(shè)計過程如下:
⑴系統(tǒng)登錄:該模塊負(fù)責(zé)將用戶分為普通用戶和管理員用戶來實現(xiàn)用戶權(quán)限的管理。
⑵圖書類別管理:該模塊只有管理員才有的權(quán)限,管理員可以對圖書的大、小類進(jìn)行添加、更新、刪除等操作。
⑶庫存圖書瀏覽:該模塊負(fù)責(zé)分頁列出圖書館中所有圖書的信息,包括圖書名稱、作者、出版社,圖書狀態(tài),每條記錄后面都有一個查看詳情,查看詳情被做成一個超鏈接,點(diǎn)擊它們就能跳轉(zhuǎn)頁面可以查看更多的詳情如圖書封面、圖書數(shù)量、圖書出版年份。⑷庫存圖書添加:該模塊是圖書管理員進(jìn)行圖書的添加,權(quán)限僅限管理員,在此頁面中的大小類實現(xiàn)了聯(lián)動作用,點(diǎn)擊其大類,小類的下拉列表中就會顯示與之對應(yīng)的小類,從中選擇即可。
⑷圖書快速查詢:該模塊提供了圖書快速查詢功能,輸入待查找的圖書名稱可以快速地找到符合條件的圖書,并輸出查詢結(jié)果,點(diǎn)擊產(chǎn)看詳情字樣就可以查看圖書的詳細(xì)信息。
⑸編輯系統(tǒng)用戶:該模塊負(fù)責(zé)分頁羅列注冊用戶的具體信息,普通用戶本人或管理員可以對用戶進(jìn)行刪除、修改。非普通用戶或系統(tǒng)管理員外不具有對該用戶的處理權(quán)限,所以不同普通用戶進(jìn)入此頁面將顯示不同的內(nèi)容。
⑹修改用戶密碼:普通用戶本人用戶錄入所需要的內(nèi)容,包含用戶名、真實姓名、權(quán)限類型、舊密碼及新密碼,點(diǎn)擊更改即可修改密碼,并寫入數(shù)據(jù)庫中保存。
⑺系統(tǒng)名稱設(shè)置:該模塊為管理員權(quán)限,管理員可以更改圖書系統(tǒng)的名稱。普通用戶為不可見狀態(tài)。⑻系統(tǒng)使用說明:主要是供普通用戶和管理員閱讀,使之更好地了解本系統(tǒng)的權(quán)限以及用法。
下面給出系統(tǒng)后端數(shù)據(jù)存儲方案:
利用MicrosoftSQLServer201*建立數(shù)據(jù)庫及其存儲過程。這里給出幾個必需的數(shù)據(jù)表,主要有system,bigClass,smallClass,users,Books。
二、ASP部分設(shè)計
1、連接數(shù)據(jù)庫
訪問數(shù)據(jù)庫信息的第一步是和數(shù)據(jù)庫源建立連接。ADO提供
Connection對象,可以使用該對象建立和管理應(yīng)用程序和ODBC數(shù)據(jù)庫之間的連接。Connection對象具有各種屬性和方法,可以使用它們打開和關(guān)閉數(shù)據(jù)庫連接,并且發(fā)出查詢請求來更新信息。
要建立數(shù)據(jù)庫連接,在中鏈接到數(shù)據(jù)庫2、數(shù)據(jù)的綁定
數(shù)據(jù)的連接分為直接連接和間接連接,前面所舉例子用的是直接連接,下面用間接地方法對數(shù)據(jù)進(jìn)行綁定。主要是利用數(shù)據(jù)適配器SqlAdatapter(),下面的函數(shù)方法是對數(shù)據(jù)綁定:
此方法也可以插在所要調(diào)用的函數(shù)中,但是將這個方法單獨(dú)提出有利于后面的利用,后面對數(shù)據(jù)進(jìn)行綁定時就可以用這個方法,避免做重復(fù)的工作,減少工作量。
3、加密方法
本系統(tǒng)的加密方法是MD5,以一個例子來說明:Stringoldpassword=this.Textpassword.Text;
Stringnewpassword=
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password,"md5");
擴(kuò)展閱讀:軟件開發(fā)實習(xí)報告
信息科學(xué)與技術(shù)學(xué)院
本科一年級
軟件開發(fā)實習(xí)報告
專業(yè):班級:姓名:學(xué)號:
實習(xí)指導(dǎo)單位:軟件工程實驗中心
年月日
西南交通大學(xué)軟件實習(xí)報告
2誠信承諾:
本人__________保證本次軟件開發(fā)實習(xí)報告和程序設(shè)計源程序均為自己獨(dú)立編輯完成,軟件開發(fā)實習(xí)報告不會有三分之一以上的內(nèi)容與其他同學(xué)雷同,程序設(shè)計源程序語句形式不會有三分之一以上與其他同學(xué)雷同,源程序結(jié)構(gòu)也不會有三分之一以上與其他同學(xué)雷同。如果出現(xiàn)以上情況,本次軟件開發(fā)實習(xí)成績自愿記為零分。
承諾人簽名:________________日期:_______年______月_____日
西南交通大學(xué)軟件實習(xí)報告
3目錄
第1章程序設(shè)計....................................................................................................................4
1.1模塊分析...................................................................................................................41.2程序結(jié)構(gòu)...................................................................................................................51.3書籍結(jié)構(gòu)體設(shè)計........................................................................................................5第2章程序設(shè)計過程..............................................................................................................6
2.1進(jìn)書模塊....................................................................................................................62.2查詢模塊....................................................................................................................62.3添加模塊....................................................................................................................72.4覆蓋模塊....................................................................................................................82.5銷售模塊....................................................................................................................92.6利潤模塊..................................................................................................................102.7庫存模塊..................................................................................................................10第3章用戶使用說明.............................................................................................................11
3.1打開程序...................................................................................................................11
3.2選擇功能...................................................................................................................113.2.1進(jìn)書信息............................................................................................................123.2.2查詢信息............................................................................................................133.2.3添加信息............................................................................................................153.2.4覆蓋信息............................................................................................................163.2.5銷售信息............................................................................................................183.2.6利潤信息............................................................................................................19
3.2.7顯示庫存小于5信息...........................................................................................203.3退出程序..................................................................................................................20第4章源程序代碼及注釋.....................................................................................................21總結(jié)................................................................................................................................30
西南交通大學(xué)軟件實習(xí)報告
4第1章C++程序設(shè)計
1.1模塊分析
1.進(jìn)書模塊:進(jìn)購書籍。2.查詢模塊:查詢書籍信息。3.添加模塊:再添加書籍信息。
4.覆蓋模塊:對原有數(shù)據(jù)進(jìn)行覆蓋修改。5.銷售模塊:查詢銷售信息。6.利潤模塊:查詢最新利潤。
7.庫存模塊:可查庫存信息并及時提醒庫存不足書籍信息。
進(jìn)書
程序模塊查詢添加覆蓋銷售利潤庫存
本程序主要有7個模塊,分別是進(jìn)書、查詢、添加、覆蓋、銷售、利潤、庫存。本程序是針對小型書店的管理員所設(shè)計的。
西南交通大學(xué)軟件實習(xí)報告
51.2程序結(jié)構(gòu)
這個小型書店管理系統(tǒng)是為管理員所設(shè)計的,因其簡單的操作而比較適合于個人使用。本程序可以讓管理員隨時關(guān)注書籍銷售及利潤信息,掌握進(jìn)貨出貨流量,可以說非常人性化,以下是簡單的結(jié)構(gòu)圖。
開始退出退出退出鍵書籍查詢管理退出鍵編號作者書名進(jìn)價售價進(jìn)書添加書查看信息覆蓋銷售利潤庫存
1.3書籍結(jié)構(gòu)體設(shè)計
本程序?qū)饕譃?類,即有9個結(jié)構(gòu)體變量,其中有兩個靜態(tài)結(jié)構(gòu)體變量,用于在各個成員函數(shù)進(jìn)行實現(xiàn),分別為:Amount原始庫存Sale銷售量Number編號Name書名Author作者E-price進(jìn)價S-price售價Sum銷售額
西南交通大學(xué)軟件實習(xí)報告
6Profit利潤
第2章程序設(shè)計過程
2.1進(jìn)書模塊
首先是進(jìn)入用戶界面,我們看到選號1為進(jìn)書。對于小型書店管理系統(tǒng)的使用者來說,進(jìn)購書籍是必不可少的,同時也是需要及時獲得進(jìn)購書籍的有關(guān)信息。原始庫存
銷售量編號書名作者進(jìn)價售價進(jìn)購書籍2.2查詢模塊
對于書籍的有效管理是必須的,而這則需要運(yùn)用“查詢”功能來實現(xiàn)。
西南交通大學(xué)軟件實習(xí)報告
7編號
進(jìn)價售價查詢書籍書名作者庫存2.3添加模塊
添加模塊,市場上商品價格的浮動瞬間變化,作為店家,當(dāng)然應(yīng)當(dāng)做好適時添加書籍的準(zhǔn)備以備不測,而此添加模塊正好可以讓管理員更好地對書籍?dāng)?shù)量進(jìn)行管理編號書籍書名作者庫存進(jìn)價售價西南交通大學(xué)軟件實習(xí)報告8
再添加推出菜單是否繼續(xù)添加?2.4覆蓋模塊
書籍價格波動很正常,店家為了在一定時期促銷或修改價格,則需要對某類書籍的價格進(jìn)行修改,而覆蓋模塊則恰當(dāng)好處地實現(xiàn)了這個隨機(jī)應(yīng)變、想什么時候改就什么時候改的方便操作。
原始記錄編號書名作者數(shù)量進(jìn)價售價西南交通大學(xué)軟件實習(xí)報告
9修改后的編號修改后的書名修改后的作者修改后的數(shù)量修改后的進(jìn)價修改后的售價修改2.5銷售模塊
銷售書籍首先應(yīng)先看是否有貨,若果有的話可以進(jìn)行銷售,本程序就是實現(xiàn)已經(jīng)將書籍存量信息實現(xiàn)錄入保存,等管理員需要調(diào)出的時候就能顯示。
銷售書籍是否有貨?所訂書籍大于庫存銷售成功所訂書籍大于庫存庫存不足西南交通大學(xué)軟件實習(xí)報告
102.6利潤模塊
管理員如果想知道某一本書具體的銷售情況及利潤就可以通過“利潤模塊”簡明扼要地展現(xiàn)在眼前,事先文件已經(jīng)定位和寫入。
編號書名作者數(shù)量銷售額利潤輸入編號
2.7庫存模塊
本程序可以說是最有實際意義的功能單位,任何小型書店的管理員都必須切實掌握每天庫存的數(shù)量以應(yīng)變采購或促銷,畢竟書店本身經(jīng)營規(guī)模小,所以庫存的小事尤為重要,所以我因此設(shè)計了庫存模塊,對某類書籍小于五本就顯示庫存不足,以提醒管理員積極及時地有效應(yīng)對。
輸入編號顯示編號、數(shù)量西南交通大學(xué)軟件實習(xí)報告
11無此書
無此書記錄庫存充足庫存不足庫存西南交通大學(xué)軟件實習(xí)報告
123.2選擇功能
3.2.1進(jìn)書信息
從鍵盤上輸入字符“1”,再按回車,自動進(jìn)入進(jìn)書信息模塊。我們可以輸入11a112
西南交通大學(xué)軟件實習(xí)報告
13輸入y或Y則繼續(xù)進(jìn)購書籍輸入n或N則結(jié)束返回主菜單此時信息已經(jīng)被保存。
3.2.2查詢信息
輸入6,則進(jìn)入查詢功能,輸入編號6,回車,再輸入編號1
西南交通大學(xué)軟件實習(xí)報告
14信息顯示成功!
西南交通大學(xué)軟件實習(xí)報告
153.2.3添加信息
輸入6進(jìn)入查詢功能,再輸入先前進(jìn)購的信息書籍1則顯示:另添加0
最后按8推出
西南交通大學(xué)軟件實習(xí)報告
163.2.4覆蓋信息
如果想修改書籍信息的話,那當(dāng)然選擇“覆蓋信息”,這可以修改以前的記錄,實現(xiàn)實時地更新。我們還是以書籍編號1為實驗,在菜單中選5按回車。
西南交通大學(xué)軟件實習(xí)報告
17此時我們可對其進(jìn)行修改,例如111a12改為121a12則出現(xiàn)以下運(yùn)行結(jié)果:
西南交通大學(xué)軟件實習(xí)報告
18最后按8推出
3.2.5銷售信息
既然賣書就需要對銷售進(jìn)行全方位地了解,本程序可以讓管理員任意時刻添加銷售信息。
西南交通大學(xué)軟件實習(xí)報告
19我們可以設(shè)置銷售數(shù)量為一本,如圖
如圖,顯示銷售成功
3.2.6利潤信息
既然有了銷售記錄,那么店家肯定想知道本店最新的銷售額和利潤為多少,在此,我專門設(shè)計了關(guān)于銷售額和利潤的信息模塊,讓店家第一時間知道賺了多少錢。還是以編號1為例。
西南交通大學(xué)軟件實習(xí)報告
20如圖,顯示銷售編號為1的書籍一本銷售額為2,銷售利潤為1.
3.2.7庫存信息
進(jìn)貨出貨間,庫存的穩(wěn)定性關(guān)乎小型書店的信譽(yù)和人氣,所以我也對庫存專門做了一模塊,以便于店家方便地了解庫存的信息。還是以剛售完的編號1書籍為例。
輸入4,輸入1回車后顯示庫存不足
西南交通大學(xué)軟件實習(xí)報告
21我們可以非常清楚地看到編號為1的書籍顯示庫存不足,數(shù)量為0。
第4章源程序代碼及注釋
#include#include
西南交通大學(xué)軟件實習(xí)報告
22#includeusingnamespacestd;
classFunction{
private:
voidzaitianjia();//再添加voidaddbook();//進(jìn)書voidcoverbook();//覆蓋
voidsellbook();//銷售voidtell();//庫存voidcount();//利潤voidcheckbook();//查詢public:
Function();//無參構(gòu)造函數(shù)virtual~Function(){file.close();}//析構(gòu)函數(shù)voidRun();//處理
fstreamfile;//書店文件};
structbook{
intamount;//原始庫存intsale;//銷售量
unsignedintnum;//書籍編號charname[20];//書籍名稱charauthor[20];//書籍作者
floate_price;//進(jìn)價
floats_price;//售價
staticfloatsum;//銷售額staticfloatProfit;//銷售利潤
};Function::Function()//無參構(gòu)造函數(shù){
ifstreamiFile("F.dat");//建立輸入文件if(iFile.fail())//打開文件失敗{
ofstreamoFile("F.dat");//建立輸入出文件if(oFile.fail())throw("打開文件失敗!!!");//拋出異常oFile.close();//關(guān)閉文件
}elseiFile.close();//文件存在,關(guān)閉文件
file.open("F.dat",ios::in|ios::out|ios::binary);//以讀寫方式打開西南交通大學(xué)軟件實習(xí)報告
23}if(file.fail())throw("打開文件失敗!!!");//拋出異常
voidFunction::zaitianjia(){
bookptr;
unsignedintnum;//編號intamount1;//添加量coutnum;
file.seekg(0);//定位
file.read((char*)&ptr,sizeof(book));//讀記錄
if(!file.eof())
{cout西南交通大學(xué)軟件實習(xí)報告
24}}voidFunction::addbook(){
charch="Y";while(ch=="Y")
{cout西南交通大學(xué)軟件實習(xí)報告
25cout西南交通大學(xué)軟件實習(xí)報告
26cout西南交通大學(xué)軟件實習(xí)報告
27{cout西南交通大學(xué)軟件實習(xí)報告
28voidFunction::checkbook()//查詢信息{bookptr;
unsignedintnum;coutnum;
file.seekg(0);
file.read((char*)&ptr,sizeof(book));
if(!file.eof()){
cout西南交通大學(xué)軟件實習(xí)報告
29cout西南交通大學(xué)軟件實習(xí)報告
30intmain()
{Functionobj;if(obj.file.fail())throw("打開文件失敗!");if(!obj.file.fail())}
{obj.Run();}
return0;
總結(jié)
事件是檢驗真理的唯一標(biāo)準(zhǔn),或許這話說得有點(diǎn)大,但確實是我的心聲。從最初自認(rèn)為對C++語言比較了解,到真正上手操作編寫出一個屬于自己的程序,期間經(jīng)歷了許多小困難和小挫折,比如開始對小型書店管理系統(tǒng)的一頭霧水,不知該從何下手,但在看到一些精靈的同學(xué)先寫出的流程圖后,自己也大致了解程序的手工圖紙該怎樣去布置,因為自規(guī)劃小型書店管理系統(tǒng)的時候,便自然而然地要分為兩個方向,一個是面向用戶會員,一個是面向店家管理員,當(dāng)然,可能一些高手會同時兼顧兩部分,而愚鈍的我還是選擇從管理員身份進(jìn)行編程,畢竟我認(rèn)為小型書店管理系統(tǒng)主要的功能及受眾群就是廣大的小店主,最然這僅僅是我編的小程序,不能被真正實際上的應(yīng)用,但我從思路上還是以實際為主,考慮店家該需要哪些功能,最終我設(shè)置了進(jìn)書、添加、覆蓋、查詢、銷售、利潤、庫存幾類,大致上可以把店家的需求都滿足了。在本程序中自己運(yùn)用了類、結(jié)構(gòu)體、虛析構(gòu)函數(shù)、無參構(gòu)造函數(shù)、靜態(tài)變量、有關(guān)Function的輸入流文件、文件的定位和讀取、getch()函數(shù)和利用switch條件語句調(diào)用函數(shù)等等C++功能,當(dāng)然開始編程遇到許多困難,一查就是幾十個錯誤,這需要自己耐心地一個一個去調(diào)試解決。還有一些自己想要添加的功能卻因為自己始終不能在程序上順利地運(yùn)行,只好放棄,但對書店大致的框架沒有變化,總體來說自己的程序是小兒精,沒有大的精彩,擔(dān)有小的亮點(diǎn),這些都得益于老師給我們淳淳教導(dǎo)和同學(xué)之間的咨詢切磋,所以,最后再總結(jié)之際,我要感謝陪伴我們度過這段高強(qiáng)度實習(xí)的老師們,感謝和我共同商討、給我以啟發(fā)的同學(xué)們,沒有這些我的實習(xí)經(jīng)歷注定不完整或顯得相形見絀。同時在高新區(qū)軟件園的參觀也讓我了解自己所學(xué)專業(yè)廣闊的就業(yè)背景,當(dāng)然,不僅僅是就業(yè),還有隱藏在每一個軟件編程開發(fā)人員心中的夢想,這在我的參觀中深有感觸,平等地交流、急促的步
西南交通大學(xué)軟件實習(xí)報告
31伐、閃耀的奇思妙想、小資的生活方式,就在軟件園里重復(fù)發(fā)生著。最后希望老師還能對自己的報告給予指證和引導(dǎo),謝謝!
西南交通大學(xué)軟件實習(xí)報告
32參考書籍:
C++語言程序設(shè)計(清華大學(xué)出版社)
友情提示:本文中關(guān)于《軟件開發(fā)實習(xí)報告》給出的范例僅供您參考拓展思維使用,軟件開發(fā)實習(xí)報告:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。