第一篇:軟件工程實(shí)踐報(bào)告(5個(gè))
軟件工程實(shí)踐實(shí)驗(yàn)報(bào)告
姓名: 學(xué)號(hào):
班級(jí): 計(jì)算機(jī)科學(xué)與技術(shù)
實(shí)驗(yàn)一 軟件需求分析
1軟件需求分析
任務(wù)分析 ATM自動(dòng)提款機(jī)系統(tǒng)。ATM自動(dòng)取款機(jī)是由計(jì)算機(jī)控制的持卡人自我服務(wù)型的金融專用設(shè)備。ATM是英文Automatic Teller Machine的縮寫(xiě)。在ATM自動(dòng)取款機(jī)上可以進(jìn)行賬戶查詢、修改密碼和轉(zhuǎn)賬的業(yè)務(wù)。作為自助式金融服務(wù)終端,除了提供金融業(yè)務(wù)功能之外,ATM自動(dòng)取款機(jī)還具有維護(hù)、測(cè)試、事件報(bào)告、監(jiān)控和管理等多種功能。ATM自動(dòng)取款機(jī)系統(tǒng)向用戶提供一個(gè)方便、簡(jiǎn)單、及時(shí)、隨時(shí)隨地可以隨心所欲存取款的互聯(lián)的現(xiàn)代計(jì)算機(jī)化的網(wǎng)絡(luò)系統(tǒng)??梢源蟠鬁p少工作人員,節(jié)約人力資源的開(kāi)銷,同時(shí)由于手續(xù)程序減少也可以減輕業(yè)務(wù)員的工作負(fù)擔(dān),有效地提高了整體的工作效率和精確度。減少了用戶辦理業(yè)務(wù)的等待時(shí)間;用戶可以隨時(shí)隨地可以隨心所欲存取款,并且操作簡(jiǎn)單易懂。
我們所需要的是建立一個(gè)與后臺(tái)用戶數(shù)據(jù)信息數(shù)據(jù)庫(kù)綁定的集查詢,存款,取款,轉(zhuǎn)賬等功能為一體的ATM自助服務(wù)系統(tǒng)。實(shí)驗(yàn)?zāi)康?/p>
學(xué)習(xí)圖形工具軟件VISIO,掌握結(jié)構(gòu)化需求分析方法,熟練繪制數(shù)據(jù)流圖; 學(xué)習(xí)快速原型工具的使用?;疽?/p>
(1)針對(duì)銀行ATM系統(tǒng)進(jìn)行需求分析工作,了解銀行ATM系統(tǒng)的功能、流程;(2)安裝VISIO2003以上版本軟件,熟練應(yīng)用Visio繪制DFD圖,繪制銀行ATM系統(tǒng)數(shù)據(jù)流圖,完成系統(tǒng)的軟件邏輯模型;
(3)安裝Axure RP Pro 或者Balsamiq Mockups快速原型軟件,學(xué)習(xí)繪制軟件原型,完成銀行ATM系統(tǒng)的軟件原型。ATM自動(dòng)柜員機(jī)業(yè)務(wù)系統(tǒng)需求分析
需求分析:由于科技發(fā)展迅速,幾乎所有的銀行都配備了簡(jiǎn)易的人工操作的ATM自動(dòng)取款機(jī)。人們可以隨時(shí)隨地進(jìn)行交易,不再受銀行的服務(wù)時(shí)間的約束,取款也很方便快捷,可以減少排隊(duì)等待時(shí)間。
ATM機(jī)系統(tǒng)的主要功能:1.取款2.存款3修改密碼4..憑條打印5.轉(zhuǎn)賬6.余額查詢7.交易明細(xì)查詢。
⒈取款
持卡人在ATM機(jī)上提取現(xiàn)金。余額不足時(shí)不能取出取款所需的現(xiàn)金。ATM機(jī)可以提供指定取款金額的快速取款畫(huà)面。ATM機(jī)取款成功后,要向銀聯(lián)系統(tǒng)寫(xiě)入操作,并對(duì)客戶余額進(jìn)行相應(yīng)處理。⒉存款
ATM機(jī)要能清點(diǎn)現(xiàn)金,將相應(yīng)操作信息寫(xiě)入銀聯(lián)系統(tǒng),對(duì)客戶余額進(jìn)行 修改。⒊ 修改密碼
若新密碼1和新密碼相同則修改密碼成功,要修改客戶密碼表,并將操作 信息寫(xiě)入銀聯(lián)系統(tǒng)。否則,修改密碼不成功。⒋ 打印憑條
對(duì)客戶做的操作及用戶基本信息進(jìn)行打印。⒌轉(zhuǎn)賬
完成不同銀行卡之間資金的轉(zhuǎn)移。若客戶余額不足則轉(zhuǎn)賬識(shí)別。轉(zhuǎn)帳成 功,對(duì)客戶和收賬人的余額進(jìn)行相應(yīng)的修改,寫(xiě)入賬戶余額表,并向銀 聯(lián)系統(tǒng)寫(xiě)入操作。6.余額查詢
客戶查詢銀行卡,在屏幕上顯示銀行卡賬戶余額。⒎ 交易明細(xì)查詢
完成銀行卡賬戶的近十筆交易明細(xì)查詢,在屏幕上顯示。
ATM機(jī)工作流程:插入卡->輸入密碼->選擇操作類型->交易流程->確定交易->寫(xiě)入賬戶信息和銀聯(lián)系統(tǒng) ATM自動(dòng)柜員機(jī)業(yè)務(wù)系統(tǒng)數(shù)據(jù)流圖
3.1頂層數(shù)據(jù)流圖
3.2一層數(shù)據(jù)流圖
將銀行卡從讀卡器插入ATM機(jī),輸入密碼登錄,登陸成功,則在LCD顯示屏 上顯示無(wú)ATM機(jī)不提供的操作的功能選擇界面,進(jìn)行操作并顯示信息、進(jìn)行相關(guān)處理。三次錯(cuò)誤輸入密碼則吞卡。ATM機(jī)鈔箱缺錢(qián)時(shí)則通知加鈔。
一層數(shù)據(jù)流圖
3.3二層數(shù)據(jù)流圖
客戶插入銀行卡后開(kāi)始識(shí)別銀行卡所屬的銀行和賬戶信息,識(shí)別后開(kāi)始校驗(yàn)客 戶輸入的密碼,判斷是否和正確密碼相符,若相符則進(jìn)行ATM機(jī)自檢,去掉暫時(shí)不能提供的操作,讓用戶選擇操作。若不相符則提示錯(cuò)誤,輸入三次都不相符,則吞卡。
登錄的第二層數(shù)據(jù)流圖
成功登錄后選擇交易,并在交易過(guò)程中進(jìn)行操作倒計(jì)時(shí),以防用戶忘記取卡 而丟失卡,交易完成可以選擇打印憑條和退卡。
動(dòng)作的第二層數(shù)據(jù)流圖
超時(shí)或連輸三次錯(cuò)誤的密碼都會(huì)吞卡,并自動(dòng)凍結(jié)卡,顯示吞卡信息并打印 吞卡憑條。
吞卡的第二層數(shù)據(jù)流圖
ATM機(jī)缺錢(qián)時(shí)發(fā)送鈔箱缺錢(qián)信息,進(jìn)行清機(jī)對(duì)賬,驗(yàn)鈔點(diǎn)鈔,打開(kāi)金庫(kù),將錢(qián)放入鈔箱。
加鈔的第二層數(shù)據(jù)流圖 3.4三層數(shù)據(jù)流圖
ATM自查時(shí)查鈔箱余額和憑條打印機(jī)的紙墨余量,以在功能選擇界面上去掉 ATM暫時(shí)不能提供的操作。
ATM機(jī)自檢的第三層數(shù)據(jù)流圖
選擇交易,進(jìn)行存款、查詢、取款、改密、轉(zhuǎn)賬等操作,同時(shí)對(duì)操作進(jìn)行倒計(jì)時(shí),并向后臺(tái)銀聯(lián)系統(tǒng)提供信息,在LCD顯示屏上顯示信息。
交易的第三層數(shù)據(jù)流圖
3.5四層數(shù)據(jù)流圖
選擇存款操作后,打開(kāi)存款槽,存款后,關(guān)閉存款槽,點(diǎn)鈔機(jī)點(diǎn)鈔,將金額 和張數(shù)顯示在LCD屏上,確定后向后臺(tái)提供信息,修改余額信息。
存款的第四層數(shù)據(jù)流圖
選擇查詢功能后,再在兩個(gè)子功能下選擇進(jìn)行的是余額查詢還是交易明細(xì)查 詢,并在 LCD顯示屏上顯示提示信息。
查詢的第四層數(shù)據(jù)流圖
選擇取款功能后,比較客戶的余額是否大于取款金額,并修改客戶的余額信 息,在LCD屏上顯示提示信息,向后臺(tái)系統(tǒng)提交信息。
取款的第四層數(shù)據(jù)流圖
改密時(shí)先輸入一遍新密碼,再輸入一遍新密碼,若兩次密碼相符,則改密成功,對(duì)用戶名密碼表進(jìn)行相關(guān)修改,在LCD屏上顯示提示信息,向后臺(tái)提供信息。否則顯示改密失敗。
轉(zhuǎn)賬時(shí),先輸入一遍收賬人賬戶,再輸入一遍,若相符,則比對(duì)客戶余額是否大于轉(zhuǎn)賬金額,若是,則轉(zhuǎn)賬成功,修改兩個(gè)賬戶的余額,在LCD顯示屏上顯示提示信息,向后臺(tái)提供信息。若否,則顯示轉(zhuǎn)賬失敗。
改密的第四層數(shù)據(jù)流圖
3.6五層數(shù)據(jù)流圖
選擇查詢賬戶余額信息時(shí),查客戶余額表,顯示在LCD顯示屏上。
余額查詢的第五層數(shù)據(jù)流圖
選擇查詢賬戶交易明細(xì)后,查客戶交易明細(xì)信息表,并在LCD顯示屏上顯示出信息。
轉(zhuǎn)賬的第四層數(shù)據(jù)流圖
交易明細(xì)查詢的第五層數(shù)據(jù)流圖 ATM自動(dòng)柜員機(jī)業(yè)務(wù)系統(tǒng)原型系統(tǒng)
1、待機(jī)歡迎界面
2、輸入密碼界面
3、服務(wù)選擇界面
4、取款金額選擇界面
5、取款結(jié)束界面
6、存款提示界面
7、存款信息界面
8、存款結(jié)束界面
9、查詢選擇界面。
10、查詢余額界面
11、查詢明細(xì)界面
12、轉(zhuǎn)帳賬戶輸入界面
13、賬戶錯(cuò)誤界面
14、轉(zhuǎn)帳金額輸入界面
15、轉(zhuǎn)帳成功界面
16、退卡提示界面
17、密碼驗(yàn)證界面
18、新密碼輸入界面
19、新密碼確認(rèn)界面
20、修改成功界面
21、修改失敗界面
實(shí)驗(yàn)二 面向?qū)ο蟮能浖治雠c設(shè)計(jì)
實(shí)驗(yàn)?zāi)康?/p>
學(xué)習(xí)UML和UML軟件工具,掌握面向?qū)ο蠓治雠c設(shè)計(jì)方法
基本要求
1、學(xué)習(xí)面向?qū)ο蠓治雠c設(shè)計(jì)方法和UML;
2、安裝StarUML 和Rational Rose軟件,熟練使用UML軟件工具,對(duì)目標(biāo)系統(tǒng)進(jìn)行分析,完成用例圖、類圖。
3、完成序列圖、狀態(tài)圖、活動(dòng)圖等圖形的繪制。
4、學(xué)習(xí)UML模型和源代碼的雙向工程,完善報(bào)告。前言
由于科技發(fā)展迅速,幾乎所有的銀行都配備了簡(jiǎn)易的人工操作的ATM自動(dòng)取款機(jī)。人們可以隨時(shí)隨地進(jìn)行交易,不再受銀行的服務(wù)時(shí)間的約束,取款也很方便快捷,可以減少排隊(duì)等待時(shí)間。問(wèn)題說(shuō)明
客戶插入銀行卡,要求ATM自動(dòng)柜員機(jī)能識(shí)別卡,若能夠識(shí)別出卡,則要求客戶輸入密碼,若輸入密碼正確,讓客戶選擇業(yè)務(wù),若輸入密碼錯(cuò)誤,則讓客戶再次輸入密 碼,輸入三次錯(cuò)誤的密碼則執(zhí)行吞卡操作。
選擇的業(yè)務(wù)若是取款,則讓客戶輸入取款金額,超過(guò)賬戶余額,則取款失敗,否則取款成功,取款槽吐出現(xiàn)金,修改賬戶余額,并記錄操作信息。
選擇的業(yè)務(wù)若是存款,則打開(kāi)存款槽,讓客戶放入現(xiàn)金,并能啟動(dòng)點(diǎn)鈔機(jī),清點(diǎn)客戶放入的現(xiàn)金數(shù)目,修改賬戶余額,并記錄操作信息。
選擇的業(yè)務(wù)若是轉(zhuǎn)賬,則讓客戶輸入兩遍轉(zhuǎn)賬賬號(hào)和轉(zhuǎn)賬金額,若兩遍轉(zhuǎn)賬賬號(hào)不一致,則不能轉(zhuǎn)賬,若輸入轉(zhuǎn)賬金額超過(guò)賬戶余額,則轉(zhuǎn)賬失敗,否則轉(zhuǎn)賬成功。
選擇的業(yè)務(wù)若是查詢,則從服務(wù)器中查找出客戶的余額或交易明細(xì)信息,并顯示出來(lái)。
選擇的業(yè)務(wù)若是修改密碼,則要求客戶輸入兩遍新修改的密碼,若兩遍密碼一致,則改密成功,并修改賬戶密碼,密碼不一致,則改密失敗。選擇打印憑條,則啟動(dòng)憑條打印機(jī),打印憑條并吐出憑條。選擇退卡,則讓讀卡器吐出銀行卡。Use Case圖
3.1賬戶用例圖
3.2系統(tǒng)維護(hù)人員用例圖
3.3設(shè)備管理人員用例圖
3.4系統(tǒng)時(shí)鐘用例圖
3.5總的用例圖 類圖 序列圖 5.1登錄基本序列圖
5.2登錄備選序列圖(密碼錯(cuò)誤)
5.3登錄備選序列圖(密碼錯(cuò)誤吞卡)
5.4 取款序列圖
5.5取款備選序列圖(余額不足)
5.6查詢序列圖
5.7 存款序列圖
5.8 修改密碼序列圖
5.9 修改密碼備選序列圖(兩次密碼不一致)
5.10 轉(zhuǎn)賬序列圖
5.11 轉(zhuǎn)賬備選序列圖(兩次輸入賬戶不同)
5.14退卡序列圖
6協(xié)作圖
6-1協(xié)作圖
7-1識(shí)別銀行卡活動(dòng)圖
7-2登錄活動(dòng)圖
7-3取款活動(dòng)圖
7-4存款活動(dòng)圖
7-5修改密碼活動(dòng)圖
7-6轉(zhuǎn)賬活動(dòng)圖
7-7查詢活動(dòng)圖
7-8打印憑條活動(dòng)圖
7-9退卡活動(dòng)圖
7-10吞卡活動(dòng)圖
7-11備份活動(dòng)圖
7-12加鈔活動(dòng)圖
7-13維護(hù)活動(dòng)圖
8狀態(tài)圖
實(shí)驗(yàn)三 集成編程環(huán)境與編碼規(guī)范
1.實(shí)驗(yàn)?zāi)康?/p>
學(xué)習(xí)PHP、.Net、JAVA集成編程環(huán)境,熟悉各語(yǔ)言的編碼規(guī)范。
2.基本要求
(1)學(xué)習(xí)PHP語(yǔ)言基礎(chǔ),學(xué)習(xí)PHP集成編程環(huán)境EPP,了解常用插件,掌握Z(yǔ)end debuger PHP斷點(diǎn)調(diào)試功能;
(2)學(xué)習(xí).C#語(yǔ)言基礎(chǔ),學(xué)習(xí).Net集成編程環(huán)境,掌握集成環(huán)境中的調(diào)試技術(shù);
(3)學(xué)習(xí)JAVA集成編程環(huán)境Eclipse,參考《Java編碼規(guī)范及實(shí)踐》了解JAVA設(shè)計(jì)模式。
3.實(shí)驗(yàn)內(nèi)容
選擇JAVA集成編程環(huán)境Eclipse,了解JAVA語(yǔ)言以及Eclipse的安裝與使用。
4.語(yǔ)言簡(jiǎn)介
JAVA是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。Java 技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開(kāi)發(fā)者專業(yè)社群。
5. 開(kāi)發(fā)環(huán)境介紹
本次實(shí)驗(yàn),JAVA語(yǔ)言的開(kāi)發(fā)環(huán)境選用集成開(kāi)發(fā)環(huán)境Eclipse,Eclipse 是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開(kāi)發(fā)工具(Java Development Kit,JDK)。
6.準(zhǔn)備工作
第二篇:軟件工程實(shí)踐報(bào)告
軟件工程實(shí)踐報(bào)告
軟件工程實(shí)踐報(bào)告1
實(shí)踐單位:山西西太行信息有限公司
實(shí)踐時(shí)間:xx年7月1日-----xx年7月31日共31天
一、實(shí)踐目的:綜合利用所學(xué)的專業(yè)知識(shí),培養(yǎng)軟件開(kāi)發(fā)的技能;掌握android操作系統(tǒng)的編程技巧,體會(huì)企業(yè)軟件開(kāi)發(fā)與學(xué)習(xí)過(guò)程中編寫(xiě)軟件的不同;提高自身的創(chuàng)新意識(shí)與創(chuàng)新能力,促進(jìn)團(tuán)隊(duì)之間的溝通協(xié)作,為早日踏上工作崗位打下堅(jiān)實(shí)基礎(chǔ)。
二、實(shí)踐內(nèi)容及感悟:
(a)實(shí)踐前準(zhǔn)備:自xx年清明節(jié)前后,我和我的組員就開(kāi)始接受山西西太行信息有限公司的公開(kāi)課的培訓(xùn),當(dāng)時(shí)經(jīng)電子與計(jì)算機(jī)技術(shù)學(xué)院于一老師介紹由陳川老師主要帶領(lǐng)我們重新溫習(xí)了一遍關(guān)于java語(yǔ)言的基本知識(shí),在這將近一個(gè)月的學(xué)習(xí)過(guò)程中我們逐漸重新拾起了即將被遺忘的java知識(shí),走出了以前認(rèn)識(shí)上的誤區(qū),使我在java這一塊又有了一定的的優(yōu)勢(shì),為以后我們用java語(yǔ)言做開(kāi)發(fā)打下了很好的基礎(chǔ)。自xx年5月1日,我們開(kāi)始了真正的基于android操作系統(tǒng)的軟件開(kāi)發(fā),雖然我們是利用課余時(shí)間進(jìn)行學(xué)習(xí),但是學(xué)習(xí)的效果真的很好,我們基本上晚上都會(huì)學(xué)到很晚才回宿舍。剛開(kāi)始的時(shí)候我感到很不適應(yīng),感到學(xué)習(xí)的java語(yǔ)言不能夠充分的的到利用,只能夠用一些和系統(tǒng)相關(guān)的東西,但是隨著學(xué)習(xí)的深入,我發(fā)現(xiàn)android操作系統(tǒng)也是一個(gè)很強(qiáng)大的手機(jī)操作系統(tǒng),它有著很好的發(fā)展前景。并且移動(dòng)互聯(lián)網(wǎng)在在中國(guó)有著大的市場(chǎng),所以我對(duì)我正在從事的android手機(jī)軟件開(kāi)發(fā)給予了很大的希望。這一個(gè)月的培訓(xùn)我們主要學(xué)習(xí)了android操作系統(tǒng)的五大系統(tǒng)組件:activity、service、sqlite、content Provider、intent、broadcastRecever,同時(shí)我也學(xué)到了一些課堂上學(xué)不到得東西,對(duì)外面的市場(chǎng)的情況也有了更深刻的了解。
(b)實(shí)踐過(guò)程:xx年7月1日到xx年7月31日是我正式暑假實(shí)踐的時(shí)間段,我們一行十六個(gè)人,大三的十一人大二的六人。我們被分了兩個(gè)小組,每個(gè)小組八個(gè)人,上課時(shí)間一般是下午兩點(diǎn)到五點(diǎn)半或者下午五點(diǎn)半到晚上八點(diǎn)半,其余的時(shí)間是我們自己寫(xiě)代碼的時(shí)間。每天的任務(wù)量都有所不同,有時(shí)候把自己的任務(wù)做完了剩下的時(shí)間就自由支配。這一個(gè)月我們的主要任務(wù)是做一個(gè)騰訊微博android手機(jī)客戶端,每天陳老師都會(huì)給我們傳授一些做軟件的經(jīng)驗(yàn)和一些新的知識(shí)點(diǎn),然后我們根據(jù)具體的要求編寫(xiě)文檔,編寫(xiě)代碼,第二天交由陳老師點(diǎn)評(píng)。
(1)可惡的文檔:剛開(kāi)始的時(shí)候感覺(jué)很不適應(yīng),以前上課就是學(xué)習(xí)關(guān)于編程的知識(shí),但是做項(xiàng)目的第一天陳老師要求我們寫(xiě)文檔,我們用的是GB8568—88格式的文檔,第一次寫(xiě)即感覺(jué)很枯燥又感覺(jué)不會(huì)寫(xiě)。對(duì)于寫(xiě)文檔我們都有想通的反應(yīng),就是莫名奇妙的反感,但是陳老師還是不依不饒的要求我們寫(xiě)要我們查資料,我們也很沒(méi)辦法只能按照要求寫(xiě)文檔。但是由于我們不知道在文檔上寫(xiě)些什么,陳老師看我們很為難也有所讓步,帶領(lǐng)我們寫(xiě)了軟件需求說(shuō)明書(shū),后來(lái)我們依次寫(xiě)了概要設(shè)計(jì)說(shuō)明書(shū)、詳細(xì)設(shè)計(jì)說(shuō)明書(shū),后來(lái)又寫(xiě)了測(cè)試計(jì)劃、用戶手冊(cè)。當(dāng)時(shí)的感覺(jué)就是知道的知識(shí)太少,對(duì)著文檔一個(gè)詞一個(gè)詞的硬擠,但是當(dāng)文檔寫(xiě)完的時(shí)候還是很有成就感的。其實(shí)在寫(xiě)文檔的過(guò)程中我們也漸漸的明白了文檔的重要性,我們只是在學(xué)校編寫(xiě)程序的時(shí)間久了習(xí)慣了上來(lái)就寫(xiě)代碼的壞習(xí)慣,忽略了軟件工程中的很重要的部分-----分析階段和設(shè)計(jì)階段??赡苁且?yàn)橐郧白龅能浖己苄。坏╉?xiàng)目稍微大一點(diǎn),那在編寫(xiě)代碼階段將付出不可估量的代價(jià)甚至最終將以失敗告終。其實(shí)我們都學(xué)過(guò)軟件工程,而且在考試的時(shí)候成績(jī)還不是很差,但是到真正需要這些知識(shí)的時(shí)候我感覺(jué)卻忘記了如何下手,這也就是所謂的紙上談兵吧,所以我感覺(jué)大學(xué)生缺少的正是一種動(dòng)手能力。知識(shí)本身沒(méi)有價(jià)值,有價(jià)值的是運(yùn)用知識(shí)解決問(wèn)題。
(2)該死的bug:寫(xiě)完文檔感覺(jué)寫(xiě)代碼就輕松了,但是事與愿違啊。由于以前沒(méi)做過(guò)開(kāi)放平臺(tái)的客戶端,中間涉及到同騰訊公司微博開(kāi)放平臺(tái)接洽的問(wèn)題,開(kāi)始真的很不適應(yīng),不知道怎么下手。當(dāng)知道下手的時(shí)候不免出現(xiàn)了各種各樣的bug:騰訊服務(wù)器故障啦、實(shí)驗(yàn)室斷網(wǎng)啦、模擬器連不上網(wǎng)啦、代碼錯(cuò)誤啦等等。為了弄好這些bug有時(shí)真是忙的焦頭爛額,因?yàn)榭赡芤驗(yàn)樽约簩?xiě)的代碼有問(wèn)題導(dǎo)致大家的代碼都不能運(yùn)行,作為團(tuán)隊(duì)的一員誰(shuí)都不想拖后腿。但有時(shí)候我也找不到問(wèn)題所在,只能請(qǐng)高手指教或者找老師為我排憂解難。只可惜我當(dāng)時(shí)掌握的排錯(cuò)方式只有打印輸出和查看日志,根本沒(méi)接觸過(guò)單元測(cè)試。其實(shí)多遇到一些bug還真不是壞事情,我現(xiàn)在開(kāi)始明白編寫(xiě)代碼最重要的是快速查找資料和排除錯(cuò)誤的能力。首先我們不可能記住java語(yǔ)言或者android操作系統(tǒng)中所有的類和方法,所以能夠快速找到我們所需要功能的類或者方法是很重要的。其次對(duì)于程序工作者來(lái)說(shuō)遇到bug是很正常的事情,遇到不能解決的問(wèn)題也是很常見(jiàn)的,重要的是能夠正確的處理這些問(wèn)題,并總結(jié)經(jīng)驗(yàn)為以后的開(kāi)發(fā)做好鋪墊。遇到問(wèn)題是要保持好的心態(tài),千萬(wàn)不能焦躁,細(xì)心的一點(diǎn)點(diǎn)的分析問(wèn)題,必的時(shí)候可以去網(wǎng)絡(luò)上查找一些資料。但是不要遇到問(wèn)題就上網(wǎng)查找,我感覺(jué)現(xiàn)在自己動(dòng)手處理題很重要,上網(wǎng)查與吃現(xiàn)成飯沒(méi)有本質(zhì)的區(qū)別。網(wǎng)絡(luò)可以幫我們開(kāi)闊視野,但不要讓網(wǎng)絡(luò)阻礙了我們自我發(fā)展的機(jī)會(huì)。編寫(xiě)軟件過(guò)程中要及時(shí)記錄,這既可以讓我們總結(jié)更多的經(jīng)驗(yàn),也可以為后來(lái)者提供一些寶貴的資料。畢竟都有成長(zhǎng)的時(shí)候。
(3)痛苦的合并:這是我第一次這么正式的和這么多的人一起開(kāi)發(fā)軟件,更何況還有不認(rèn)識(shí)的人在一個(gè)組,這給我們的溝通帶來(lái)了很大的不便,尤其是最后代碼合并的時(shí)候,很多的問(wèn)題都一擁而上。我們當(dāng)時(shí)用了一個(gè)軟件visualSVN,這是一款團(tuán)隊(duì)開(kāi)發(fā)的軟件,當(dāng)代碼寫(xiě)的可以組合的時(shí)候我們就用這個(gè)軟件在eclipse下共同開(kāi)發(fā)。但開(kāi)始的時(shí)候我們也會(huì)為了自己的代碼正確而被迫修改別人的代碼,最后弄得大家的代碼不能夠正確的運(yùn)行,然后所有人都會(huì)停下來(lái)共同尋找錯(cuò)誤,改正錯(cuò)誤。這是團(tuán)隊(duì)開(kāi)發(fā)時(shí)候很忌諱的問(wèn)題,并且大家還都不好意思開(kāi)口說(shuō)誰(shuí)錯(cuò)了,畢竟都不是很熟悉。直到大家開(kāi)始慢慢適應(yīng)這種團(tuán)隊(duì)開(kāi)發(fā)之后,這樣的情況才慢慢的被避免,效率也有所提高。這次的團(tuán)隊(duì)開(kāi)發(fā)讓我明白,在團(tuán)隊(duì)開(kāi)發(fā)中根本不存在自我,你所做的任何事情都應(yīng)從整個(gè)團(tuán)隊(duì)出發(fā),以團(tuán)隊(duì)的利益為重,不能自私。尤其是在團(tuán)隊(duì)中千萬(wàn)不能應(yīng)付,你的應(yīng)付很可能會(huì)給他人帶來(lái)很多不便,甚至造成更大的損失。因此teamwork很重要,必須謹(jǐn)慎!
(4)唉,完美:每次寫(xiě)完代碼讓陳老師點(diǎn)評(píng)都會(huì)發(fā)現(xiàn)很多問(wèn)題,有時(shí)候是代碼冗余度太大,有時(shí)候時(shí)代碼不夠安全,有時(shí)候是技術(shù)上不是很完善。對(duì)我們來(lái)說(shuō)目標(biāo)就是編寫(xiě)的軟件能用,只要大家寫(xiě)的軟件合并后能夠正常運(yùn)行,一切就ok了。但是這些是遠(yuǎn)遠(yuǎn)不夠的,面向?qū)ο蟮乃枷牒蛙浖こ痰囊恍┏WR(shí)我們都沒(méi)涉及到,異步加載圖片在陳老師講之前我們也從來(lái)沒(méi)有想到過(guò),這些問(wèn)題讓我深深的體會(huì)到我們的創(chuàng)新能力的要求遠(yuǎn)遠(yuǎn)不夠,我們對(duì)完美的渴求度遠(yuǎn)遠(yuǎn)不夠。沒(méi)有最好,只有更好。這句話真是非常經(jīng)典,作為軟件開(kāi)發(fā)者永遠(yuǎn)沒(méi)有標(biāo)準(zhǔn)答案,沒(méi)有最好的軟件,只有不斷的學(xué)習(xí)不斷的追求才能發(fā)現(xiàn)好的東西,找到更好的創(chuàng)意。雖然最后騰訊微博客戶端能夠成功的運(yùn)行了,但是我意識(shí)到我所掌握的知識(shí)遠(yuǎn)遠(yuǎn)不夠,在這個(gè)實(shí)踐中卻是暴露了很多的問(wèn)題。但愿天天能做到更好!
三、實(shí)踐總結(jié):
1、一個(gè)假期結(jié)束了,留下了很多的回憶,因?yàn)檫@個(gè)暑假是很有意義的。在這三十一天里每天都學(xué)到了新的知識(shí),每天都遇到了新的問(wèn)題,每天都在進(jìn)步這,也讓我有時(shí)間更加清晰的認(rèn)識(shí)了軟件工程這門(mén)課程和設(shè)計(jì)模式在軟件開(kāi)發(fā)中的重要性,編寫(xiě)代碼知識(shí)軟件開(kāi)發(fā)的一小部分,只有真正的這種開(kāi)發(fā)才能體會(huì)到軟件工程的意義。
2、團(tuán)隊(duì)的凝聚力關(guān)系著每一個(gè)軟件開(kāi)發(fā)人員的發(fā)展前途,每一個(gè)人的努力都會(huì)得到回報(bào),同樣一個(gè)人的失誤也會(huì)影響到整個(gè)團(tuán)隊(duì),因此正確處理好人際關(guān)系是很重要的。
3、注重產(chǎn)品的價(jià)值,做好市場(chǎng)調(diào)研是成敗的決定性因素。4、掌握好一門(mén)技術(shù)你可以吃飽,但是你要想很富有,必須懂得很多。隊(duì)友可以幫助你一時(shí)幫不了一世,要注重個(gè)人能力發(fā)展!
軟件工程實(shí)踐報(bào)告2
一、實(shí)習(xí)目的
這次實(shí)習(xí)的目的是提高我的專業(yè)技能、實(shí)踐能力,讓我了解一些實(shí)際的工作情況。正式工作前對(duì)我意義重大。在實(shí)踐中對(duì)專業(yè)技能、綜合素質(zhì)、人際關(guān)系有更深的體會(huì),這給了我正式工作前的寶貴經(jīng)驗(yàn)。
這次實(shí)習(xí)的主要任務(wù)是了解整個(gè)軟件制作流程,以及各個(gè)環(huán)節(jié)的細(xì)節(jié)。學(xué)完這些環(huán)節(jié),就可以用學(xué)到的知識(shí)去完成一個(gè)公司安排的項(xiàng)目。我分配的項(xiàng)目名稱是診所管理系統(tǒng)。我們將以小組的形式共同完成這個(gè)項(xiàng)目,模擬實(shí)際的軟件制作過(guò)程,最大限度地將學(xué)到的知識(shí)轉(zhuǎn)化為實(shí)踐能力。為真正的項(xiàng)目做好充分的準(zhǔn)備,這樣實(shí)習(xí)后才能在正式工作中面對(duì)。
公司的最終目的是希望能了解實(shí)際的項(xiàng)目制作,初步了解各個(gè)環(huán)節(jié)的意義。讓我們將項(xiàng)目用于實(shí)際生產(chǎn),這樣我們可以更好地理解項(xiàng)目生產(chǎn)中每個(gè)過(guò)程的意義,以及團(tuán)隊(duì)在項(xiàng)目生產(chǎn)過(guò)程中是如何合作的。
二、實(shí)習(xí)單位和崗位
我的實(shí)習(xí)單位是埃森哲信息技術(shù)(大連)有限公司軟件開(kāi)發(fā)部,校企合作。該部門(mén)的主要職能是外包服務(wù)工作,根據(jù)客戶需求制作相應(yīng)的軟件。因此,我們需要熟悉整個(gè)軟件開(kāi)發(fā)過(guò)程,這樣才能處理客戶的各種問(wèn)題,做出更好的軟件來(lái)滿足客戶的需求。
因?yàn)閷?shí)習(xí)的原因,我的職位是軟件助理工程師。具體的時(shí)間安排是實(shí)際的項(xiàng)目制作和專業(yè)知識(shí)的學(xué)習(xí)。實(shí)習(xí)時(shí)間8周。本來(lái)實(shí)習(xí)的地方是在公司。后來(lái)因?yàn)楣緝?nèi)部原因,我們實(shí)習(xí)的地方改成了學(xué)校內(nèi)部實(shí)習(xí),每天的時(shí)間和正式工作一樣。上午8點(diǎn)和5點(diǎn),每周六周日休息。
整個(gè)實(shí)習(xí)的實(shí)際過(guò)程前面已經(jīng)講過(guò)了,包括八周的實(shí)際項(xiàng)目制作和專業(yè)知識(shí)學(xué)習(xí)。具體每周任務(wù)、實(shí)際工作內(nèi)容、專業(yè)知識(shí)和技能的實(shí)際應(yīng)用會(huì)根據(jù)不同環(huán)節(jié)而有所不同。但總體目標(biāo)是讓我們了解實(shí)際工作中的軟件生產(chǎn)流程,以及每個(gè)流程需要的技術(shù)和注意點(diǎn),讓我們用實(shí)際的項(xiàng)目去實(shí)踐。
三、實(shí)習(xí)過(guò)程
整個(gè)實(shí)習(xí)的任務(wù)和目的上面已經(jīng)介紹過(guò)了。下面將詳細(xì)介紹整個(gè)實(shí)習(xí)過(guò)程,并詳細(xì)講解每個(gè)過(guò)程的細(xì)節(jié)。
具體時(shí)間安排如下:
第一周:這個(gè)項(xiàng)目需要的知識(shí)將被集中整理和復(fù)習(xí)。鞏固一些不熟悉的知識(shí),以防項(xiàng)目出現(xiàn)意外需求。實(shí)習(xí)的第一天,企業(yè)的經(jīng)理向我們?cè)敿?xì)解釋了軟件工程科學(xué)對(duì)軟件生產(chǎn)的重要性,并在此基礎(chǔ)上給了我們大致的實(shí)習(xí)過(guò)程。
第二周:直接進(jìn)行項(xiàng)目的需求分析。因?yàn)橐呀?jīng)給出了項(xiàng)目名稱,可行性分析就取消了。分配給我們小組的項(xiàng)目是“門(mén)診管理系統(tǒng)”,去診所實(shí)地調(diào)查是必然的。在實(shí)際調(diào)研過(guò)程中發(fā)現(xiàn),需求分析的過(guò)程非常非常重要,需求分析文檔的制作決定了項(xiàng)目的各項(xiàng)功能以及軟件是否滿足用戶的需求。本周的收獲是軟件需求分析的文檔化,這是軟件工程中非常重要的一步,這個(gè)環(huán)節(jié)是整個(gè)軟件生成過(guò)程中最重要、最關(guān)鍵的一環(huán)。
第三周:這一周由于臨時(shí)變動(dòng),將概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)合并成一周。根據(jù)調(diào)查結(jié)果,進(jìn)行概要設(shè)計(jì)。因?yàn)槭堑谝淮沃谱鬈浖乓治鑫臋n,所以有很多不規(guī)范的地方,比如數(shù)據(jù)流圖的制作,很多小細(xì)節(jié)都忽略了,所以像這樣的問(wèn)題還是很多的。但這些問(wèn)題經(jīng)過(guò)組員的積極討論和修改,以及老師的指導(dǎo),都得到了解決。然后,根據(jù)概要設(shè)計(jì),進(jìn)行軟件的詳細(xì)設(shè)計(jì)。詳細(xì)設(shè)計(jì)相比于概要設(shè)計(jì)能感覺(jué)簡(jiǎn)單一點(diǎn),不知道感覺(jué)對(duì)不對(duì)。因?yàn)樵诟乓O(shè)計(jì)模塊中,我們已經(jīng)設(shè)計(jì)了需要實(shí)現(xiàn)的模塊、接口、類、函數(shù),所以我們只需要考慮每個(gè)類的函數(shù)都可以用代碼來(lái)實(shí)現(xiàn),而不是寫(xiě)在代碼上,而是用流程圖、偽代碼等相關(guān)技術(shù)來(lái)表達(dá)。正式的編碼在這個(gè)階段生產(chǎn)完成時(shí)開(kāi)始。到目前為止,準(zhǔn)備工作終于完成了,差不多花了我們一半的實(shí)習(xí)時(shí)間。這一周的時(shí)間,我們不知不覺(jué)就在忙碌中度過(guò)了!下周我們將進(jìn)入這個(gè)項(xiàng)目的實(shí)際編碼,這也是我們最熟悉的地方。感覺(jué)終于有地方投稿了,期待下周的到來(lái)。
第四周:根據(jù)詳細(xì)設(shè)計(jì)對(duì)項(xiàng)目進(jìn)行編碼。本周,我們進(jìn)行了實(shí)際的編碼。我最大的感受就是按照詳細(xì)設(shè)計(jì)的編碼很清晰,偽代碼等轉(zhuǎn)換過(guò)程可能有點(diǎn)困難。和我們過(guò)去直接編碼相比,流暢度不言而喻。
第五周:這周本來(lái)是要測(cè)試的,但是編碼后企業(yè)老師指出了很多問(wèn)題,說(shuō)我們寫(xiě)的代碼太粗糙了,要小心處理代碼,把測(cè)試推到下周。這一周我們受益匪淺,對(duì)代碼標(biāo)注和編碼格式有了更深入的了解。
第六周:根據(jù)完成的項(xiàng)目測(cè)試項(xiàng)目。這一周是軟件測(cè)試,分為幾個(gè)階段,從最基礎(chǔ)一節(jié)課內(nèi)的方法測(cè)試到整個(gè)項(xiàng)目的綜合測(cè)試。與之前的測(cè)試不同,這次我們先寫(xiě)測(cè)試文檔,待測(cè)試文檔通過(guò)檢驗(yàn)后,再逐步測(cè)試文檔。我想,這可能是我們未來(lái)工作的大方向,基于文檔的項(xiàng)目制作。因?yàn)闇y(cè)試文檔的制作進(jìn)度太慢,我們這周忙于測(cè)試文檔的制作,其他什么都沒(méi)做,所以測(cè)試只能等到下周。我希望下周的考試會(huì)很有效率。期待嘗試一下,感覺(jué)很想拿著測(cè)試文檔測(cè)試一下。
第七周:拿著測(cè)試文檔,按照上述要求逐一測(cè)試,確認(rèn)項(xiàng)目的正確性。順利的考試讓我精神煥發(fā)。拿著測(cè)試文檔直接查代碼就行了。幾乎沒(méi)有必要考慮程序內(nèi)部的測(cè)試流程,因?yàn)槲臋n已經(jīng)為你寫(xiě)得很清楚了。在這里,我有一種感覺(jué),在埃森哲這樣的大公司,文檔的重要性比編碼本身更重要。我想這就是為什么企業(yè)派來(lái)的老師沒(méi)有直接給我們技術(shù)培訓(xùn),而是讓我們了解軟件工程的流程。當(dāng)然,根據(jù)企業(yè)文化的不同,軟件工程的生命周期也會(huì)有細(xì)微的差異。他們會(huì)選擇最適合自己公司的方法進(jìn)行整個(gè)軟件生命周期,而不是一成不變的。
第八周:這一周,我們沒(méi)有任何與技術(shù)相關(guān)的任務(wù),只需要準(zhǔn)備個(gè)人演示。但是不要小看這個(gè)人的發(fā)揮,因?yàn)樗麜?huì)占你整個(gè)實(shí)習(xí)成績(jī)的50%,這是本周一企業(yè)老師告訴我們的。我們之前都不知道有實(shí)習(xí)結(jié)果。項(xiàng)目總結(jié),我們會(huì)花一個(gè)星期的時(shí)間總結(jié)整個(gè)實(shí)習(xí)的收獲,這個(gè)星期的周五呈現(xiàn)自己,匯報(bào)收獲。至此,實(shí)習(xí)生涯就告一段落。這一周,我們從收獲、總結(jié)、經(jīng)驗(yàn)等方面對(duì)整個(gè)實(shí)習(xí)的精髓進(jìn)行了思考、沉淀、總結(jié)、提煉?;赑PT,我們進(jìn)行了10分鐘的個(gè)人陳述和項(xiàng)目答辯。在這方面,我們的實(shí)習(xí)徹底結(jié)束了。
四、實(shí)習(xí)總結(jié)
我們的實(shí)習(xí)結(jié)束了,但我們的人生還沒(méi)有結(jié)束。對(duì)于我們這些沒(méi)有畢業(yè)的人來(lái)說(shuō),這次實(shí)習(xí)可以用四個(gè)很有意義的字來(lái)形容。他不僅鞏固和拓展了我們的專業(yè)知識(shí);也擴(kuò)大了我們作為軟件開(kāi)發(fā)人員的視野,讓我們知道了很多軟件開(kāi)發(fā)這個(gè)職業(yè)應(yīng)該注意的細(xì)節(jié);更重要的是,讓我們體驗(yàn)軟件工程學(xué)對(duì)于一個(gè)軟件的意義。這些經(jīng)歷對(duì)我們來(lái)說(shuō)是寶貴的財(cái)富。經(jīng)過(guò)8周的實(shí)習(xí),在我們所有人的共同努力下,我們都完成了各自的任務(wù),但我想說(shuō)的是,我們不僅完成了任務(wù),還滿載而歸:
項(xiàng)目的制作和難題的解決,會(huì)讓我們熟悉大學(xué)即將遺忘的知識(shí),對(duì)代碼有更深的理解。代碼的重用,類與類之間的調(diào)用,對(duì)象的創(chuàng)建,數(shù)據(jù)庫(kù)的連接以及各種專業(yè)知識(shí)的使用,讓我們能夠更好的將這些各種知識(shí)合理的整合在一起。
如果專業(yè)知識(shí)收獲很多,那么下面的專業(yè)技能就是整個(gè)實(shí)習(xí)過(guò)程中最大的收獲。我很少關(guān)注代碼的標(biāo)注和編碼的規(guī)范,也沒(méi)有太多關(guān)注。但這一次,我意識(shí)到了他的重要性:這是一個(gè)軟件開(kāi)發(fā)人員必須具備的能力,或者說(shuō)應(yīng)該特別注意的能力。因?yàn)槲覀兊拇a沒(méi)有太多的注釋,很多地方的編碼很不規(guī)范,企業(yè)老師寧愿讓我們多花一周時(shí)間修改,也不急于下一次測(cè)試。在這一周的復(fù)習(xí)中,通過(guò)自己的經(jīng)歷和老師的強(qiáng)調(diào),對(duì)代碼編碼規(guī)范和代碼標(biāo)注有了更深入的了解。通過(guò)這次實(shí)習(xí),個(gè)人認(rèn)為代碼標(biāo)注和編碼規(guī)范比個(gè)人技能更重要。
這次實(shí)習(xí)的最終目的是希望能夠了解軟件生產(chǎn)的全過(guò)程,也就是軟件工程的科學(xué)。這次實(shí)習(xí),中間做文檔的時(shí)間大概是編碼的幾倍,甚至因?yàn)槲覀兊男薷?,編碼時(shí)間也只有兩周,而其他大部分時(shí)間都在做文檔。個(gè)人覺(jué)得進(jìn)公司后,文檔制作比個(gè)人技能更重要。因?yàn)橛辛宋臋n,我們的項(xiàng)目制作非常流暢,規(guī)定非常明確,邏輯非常流暢。這些文檔在做軟件的過(guò)程中起著重要的作用,所以我覺(jué)得軟件工程可能是我未來(lái)的方向。
最后,總結(jié)一下這段時(shí)間實(shí)習(xí)的收獲,真的讓我受益匪淺。實(shí)習(xí)期間不僅學(xué)到了技術(shù)上的收獲,還學(xué)到了生活中的人際交往以及很多其他的經(jīng)驗(yàn)。這些都將作為我進(jìn)入社會(huì)的基礎(chǔ)。我會(huì)以此為基礎(chǔ),以一顆勇敢無(wú)畏的心迎接即將到來(lái)的工作。
動(dòng)詞(verb的縮寫(xiě))實(shí)習(xí)經(jīng)歷
這次實(shí)習(xí)給了我深刻的體會(huì),不僅是專業(yè)上的收獲,還有團(tuán)隊(duì)之間的合作,讓我明白了團(tuán)隊(duì)的意義。工作快到了,期待工作的到來(lái)。我會(huì)努力把學(xué)到的知識(shí)運(yùn)用到實(shí)際工作中,迎接一個(gè)又一個(gè)挑戰(zhàn)。前面的路上會(huì)有很多困難等著我,但我并不害怕,因?yàn)槲覉?jiān)信,只要我努力,我最終會(huì)克服這些困難。路就在我腳下,我會(huì)帶著堅(jiān)定的信念前進(jìn),不怕挫折!
軟件工程實(shí)踐報(bào)告3
一、實(shí)習(xí)目的
這次實(shí)習(xí)的目的是為了提高我的專業(yè)技能、實(shí)踐能力、以及讓我了解一些實(shí)際的工作情況。對(duì)我在正式工作前有很重要的意義,不論是專業(yè)技能,還是綜合素質(zhì),以及實(shí)際中的人際關(guān)系都有了更加深刻的體會(huì),讓我在正式工作前有了一筆很珍貴的經(jīng)驗(yàn)。
這次實(shí)習(xí)的主要任務(wù)就是在了解整個(gè)軟件的制作過(guò)程,以及各個(gè)環(huán)節(jié)中的細(xì)節(jié),當(dāng)學(xué)會(huì)了這些環(huán)節(jié)后,再用學(xué)到的知識(shí)來(lái)完成一個(gè)公司給我們安排的一個(gè)項(xiàng)目。我分到的項(xiàng)目名稱是《診所管理系統(tǒng)》,這個(gè)項(xiàng)目我們將以小組的形式共同將其完成,以模擬實(shí)際軟件制作的過(guò)程,盡最大程度的將我們所學(xué)到的知識(shí)轉(zhuǎn)化成實(shí)際的能力。為真正的項(xiàng)目做好充分的準(zhǔn)備,讓我們可以在實(shí)習(xí)過(guò)后的正式工作中,有準(zhǔn)備的去面對(duì)。
公司的最終目的就是希望我們能了解實(shí)際項(xiàng)目的制作,并初步的理解各個(gè)環(huán)節(jié)的意義。而讓我們用項(xiàng)目進(jìn)行實(shí)際制作就是為了讓我們能更好的理解項(xiàng)目制作中各個(gè)流程的意義以及項(xiàng)目制作過(guò)程中的團(tuán)隊(duì)是如何合作的。
二、實(shí)習(xí)單位及崗位
我所實(shí)習(xí)的單位是校企合作埃森哲信息技術(shù)(大連)有限公司的.軟件開(kāi)發(fā)部。這個(gè)部門(mén)的主要職能就是外包服務(wù)工作,按照客戶的需求制作成相應(yīng)的軟件,所以我們需要對(duì)整個(gè)軟件開(kāi)發(fā)的過(guò)程都較熟悉,這樣才能應(yīng)對(duì)客戶們各種各樣的問(wèn)題,才能制作出更好的軟件以滿足客戶們的需求。
因?yàn)閯倢?shí)習(xí)的原因,所以我的職位是軟件助理工程師,時(shí)間的具體安排是實(shí)際項(xiàng)目制作以及專業(yè)知識(shí)的學(xué)習(xí),實(shí)習(xí)時(shí)間為8個(gè)星期。本來(lái)實(shí)習(xí)的地點(diǎn)是在公司的,后來(lái)因?yàn)楣镜膬?nèi)部原因,將我們的實(shí)習(xí)地點(diǎn)改為學(xué)校內(nèi)部實(shí)習(xí),每天的時(shí)間和正式上班相同。早8晚5,每周六周日休息。
整個(gè)實(shí)習(xí)的實(shí)際流程前面已經(jīng)說(shuō)過(guò),八周的實(shí)際項(xiàng)目制作以及專業(yè)知識(shí)的學(xué)習(xí)。具體的每周任務(wù)、實(shí)際工作內(nèi)容、以及專業(yè)知識(shí)與專業(yè)技能的實(shí)際應(yīng)用會(huì)根據(jù)不同的環(huán)節(jié)也有所不同。但總體的目標(biāo)就是讓我們了解實(shí)際工作中軟件的制作流程,以及各個(gè)流程中所需要的技術(shù)和注意點(diǎn),并用實(shí)際的項(xiàng)目讓我們進(jìn)行練習(xí)。
三、實(shí)習(xí)過(guò)程
上面已經(jīng)介紹了個(gè)整個(gè)實(shí)習(xí)的任務(wù)以及目的,下面將詳細(xì)介紹整個(gè)實(shí)習(xí)的流程,并對(duì)每個(gè)流程的細(xì)節(jié)加以詳細(xì)說(shuō)明。
具體的時(shí)間安排如下:
第一周:將對(duì)該項(xiàng)目所需要的知識(shí)進(jìn)行集體鞏固復(fù)習(xí)。將一些已經(jīng)生疏的知識(shí)鞏固鞏固,以備項(xiàng)目中的不時(shí)之需。在實(shí)習(xí)的第一天企業(yè)的經(jīng)理就詳細(xì)的給我們講解了軟件工程這門(mén)科學(xué)對(duì)于一個(gè)軟件制作的重要性,并以此為基本給我們定下了這次實(shí)習(xí)的大體實(shí)習(xí)流程。
第二周:將直接進(jìn)行項(xiàng)目的需求分析。因?yàn)轫?xiàng)目名稱已經(jīng)給出,所以將去掉可行性分析。我們小組分到的項(xiàng)目是“診所管理系統(tǒng)”,這就免不了去診所實(shí)地調(diào)查了。實(shí)際調(diào)查的過(guò)程中發(fā)現(xiàn),需求分析這個(gè)過(guò)程是非常非常的重要,需求分析文檔的制作,決定了項(xiàng)目的各個(gè)功能以及這個(gè)軟件是否符合用戶的需求。這一周的收獲就是軟件需求分析的文檔制作,這是軟件工程中非常重要的一個(gè)步驟,這一環(huán)節(jié),是一整個(gè)軟件生成的最為重要和關(guān)鍵的環(huán)節(jié)。
第三周:這一周由于臨時(shí)變動(dòng),將概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)合為一周制作。根據(jù)調(diào)查的結(jié)果,進(jìn)行概要設(shè)計(jì)。由于是初次制作軟件概要分析的文檔,所有有很多不符合規(guī)定的地方,就比如數(shù)據(jù)流圖的制作,很多小的細(xì)節(jié)都沒(méi)有注意,像這樣的問(wèn)題還有很多。不過(guò),在經(jīng)過(guò)了小組成員的積極討論修改以及老師的指導(dǎo)后,這些問(wèn)題都得以解決。接下來(lái),根據(jù)概要設(shè)計(jì),來(lái)制作軟件的詳細(xì)設(shè)計(jì)。詳細(xì)設(shè)計(jì)的制作,相對(duì)于概要設(shè)計(jì),感覺(jué)能稍微簡(jiǎn)單些,也不知道感覺(jué)對(duì)不對(duì)。因?yàn)樵诟乓O(shè)計(jì)模塊中,我們已經(jīng)設(shè)計(jì)好了所需要的模塊、接口、類、以及所要實(shí)現(xiàn)的功能,所以我們只需要考慮每個(gè)類的功能如果用代碼實(shí)現(xiàn)就可以了,當(dāng)然不是將代碼寫(xiě)上去,而是用流程圖以及偽代碼之類的相關(guān)技術(shù)來(lái)表示。這個(gè)階段的制作完成就開(kāi)始正式的編碼了。到此為止,準(zhǔn)備工作總算是做完了,幾乎花費(fèi)了我們實(shí)習(xí)的一半時(shí)間。這一周的時(shí)間,我們?cè)诿β抵胁恢挥X(jué)的度過(guò)了!下一周就會(huì)進(jìn)入到該項(xiàng)目的實(shí)際編碼當(dāng)中,這也是我們大家最熟悉的地方了,感覺(jué)總算有地方出力了,期待著下一周的到來(lái)。
第四周:根據(jù)詳細(xì)設(shè)計(jì),來(lái)進(jìn)行項(xiàng)目的編碼。這一周,我們進(jìn)行實(shí)際的編碼,我最大的感覺(jué)就是,照著詳細(xì)設(shè)計(jì)去進(jìn)行編碼,思路以及邏輯非常的清晰,可能在將流程如以及偽代碼轉(zhuǎn)換時(shí)稍微有點(diǎn)費(fèi)勁,當(dāng)相對(duì)于以往我們的直接編碼而言,流暢度不言而明。
第五周:這一周本來(lái)是要進(jìn)行測(cè)試的,但在編碼完后企業(yè)老師檢查的時(shí)候,給我們指出了很多的問(wèn)題,說(shuō)我們所寫(xiě)的代碼太粗糙,所以我們只能對(duì)代碼進(jìn)行細(xì)致的加工,把測(cè)試推到了下周來(lái)進(jìn)行。這一周,讓我們受益匪淺,對(duì)代碼的注釋以及編碼格式都有了更加深刻的理解。
第六周:根據(jù)做完的項(xiàng)目,進(jìn)行項(xiàng)目的測(cè)試。本周就是對(duì)軟件進(jìn)行測(cè)試,從最基本的類之內(nèi)的方法測(cè)試,一直到整個(gè)項(xiàng)目的綜合測(cè)試,分了好幾個(gè)階段。而區(qū)分于以往的測(cè)試不同,這次我們是先寫(xiě)測(cè)試文檔,當(dāng)測(cè)試文檔檢查合格后,我們才可以對(duì)著文檔進(jìn)行逐步測(cè)試。我想,這可能就是我們以后工作的大體方向吧,以文檔為主的項(xiàng)目制作。由于測(cè)試文檔的制作進(jìn)度太慢,所以本周就忙測(cè)試文檔的制作了一樣了,其它的什么也沒(méi)干,測(cè)試也只能等下周進(jìn)行了。希望下周測(cè)試的時(shí)候效率會(huì)很高,期待的試一次,拿著測(cè)試文檔去測(cè)試的感覺(jué)。
第七周:拿著測(cè)試文檔,根據(jù)上面的要求,一項(xiàng)一項(xiàng)的測(cè)試,以確認(rèn)項(xiàng)目的正確性。測(cè)試的順利讓我有了爽快的感覺(jué),拿著測(cè)試文檔,直接去校驗(yàn)代碼就可以了。幾乎不用去想程序內(nèi)部的測(cè)試流程,因?yàn)槲臋n上已經(jīng)給你寫(xiě)的明明白白了。到這里,我有一種感覺(jué),像埃森哲這種大公司內(nèi),文檔的重要性比編碼本身更為重要。我想,這就是企業(yè)派來(lái)的老師沒(méi)有直接給我們進(jìn)行技術(shù)培訓(xùn),而是讓我們來(lái)了解軟件工程的流程的原因。當(dāng)然,根據(jù)企業(yè)的文化不同,對(duì)軟件工程的生命周期也會(huì)有細(xì)微的差別,他們會(huì)選擇最適合自己公司的方法來(lái)進(jìn)行整個(gè)軟件的生命周期,并不是一成不變的。
第八周:這一周,我們沒(méi)有跟技術(shù)相關(guān)的任務(wù),只要好好準(zhǔn)備準(zhǔn)備個(gè)人展示就可以了。但你可千萬(wàn)不要小瞧這個(gè)人展示,因?yàn)樗麑⒄寄阏麄€(gè)實(shí)習(xí)成績(jī)的50%,這也是企業(yè)老師在本周周一時(shí)才告訴我們的,我們之前根本就不知道還有實(shí)習(xí)成績(jī)這一說(shuō)。項(xiàng)目總結(jié),我們將用一周的時(shí)間來(lái)總結(jié)整個(gè)實(shí)習(xí)的收獲,在本周的周五進(jìn)行自我展示,以及收獲報(bào)告。至此,實(shí)習(xí)的生涯將會(huì)到此結(jié)束。這一周,我們思考著、沉淀著、總結(jié)著,將我們對(duì)整個(gè)實(shí)習(xí)的收獲、總結(jié)、體會(huì)等各個(gè)方面進(jìn)行了精華的提煉,以PPT為基礎(chǔ),進(jìn)行為期10分鐘的個(gè)人展示以及項(xiàng)目答辯。就此,我們的實(shí)習(xí)畫(huà)上了完整的句號(hào)。
四、實(shí)習(xí)總結(jié)
我們的實(shí)習(xí)已經(jīng)結(jié)束,但生活卻沒(méi)有結(jié)束,這一次的實(shí)習(xí),對(duì)于我們這幫還沒(méi)有畢業(yè)的學(xué)生來(lái)說(shuō)可以用意義重大四個(gè)字來(lái)形容。他不僅僅對(duì)我們的專業(yè)知識(shí)進(jìn)行了鞏固和拓展;還對(duì)我們作為軟件開(kāi)發(fā)人員的視野進(jìn)行了增大,讓我們了解了很多軟件開(kāi)發(fā)這個(gè)職業(yè)應(yīng)該注意的一些細(xì)節(jié);更是讓我們親身體會(huì)了軟件工程這門(mén)科學(xué)對(duì)于一個(gè)軟件的意義。這些經(jīng)驗(yàn)對(duì)我們來(lái)說(shuō)就是一筆寶貴的財(cái)富。而經(jīng)過(guò)了8周的實(shí)習(xí),在大家的共同努力下,也都完成了各自的任務(wù),但我想說(shuō)的是,我們并不僅僅是完成了任務(wù),我們更是個(gè)個(gè)滿載而歸:
項(xiàng)目的制作以及疑難問(wèn)題的解決,將我們把大學(xué)期間那些快要淡忘的知識(shí)又重新熟悉了起來(lái),并且對(duì)代碼有了更深層次的理解。代碼的復(fù)用性、類與類之間的調(diào)用、對(duì)象的創(chuàng)建、數(shù)據(jù)庫(kù)的連接以及操作等各種專業(yè)知識(shí)的使用,讓我們能更好的將這些各種各樣知識(shí)合理的整合在一起。
如果說(shuō)專業(yè)知識(shí)收獲頗多,那么接下來(lái)的職業(yè)技能卻是我認(rèn)為在整個(gè)實(shí)習(xí)過(guò)程中收獲最大的地方。代碼的注釋以及編碼的規(guī)范這兩點(diǎn)是我以前很少注意的地方,對(duì)其也并沒(méi)有多少重視。但這一次,卻明白了他的重要性:這是作為一個(gè)軟件開(kāi)發(fā)人員必須應(yīng)該具備的能力,或者說(shuō)應(yīng)該特別注重的地方。因?yàn)槲覀兊拇a并沒(méi)有多少注釋以及很多地方的編碼很不規(guī)范,企業(yè)老師寧愿讓我們多花一周的時(shí)間修改,也沒(méi)有匆匆的進(jìn)行下一步測(cè)試。在修改的這一周內(nèi),通過(guò)自己的體會(huì)以及老師的重點(diǎn)強(qiáng)調(diào),對(duì)于代碼的編碼規(guī)范和代碼的注釋有了更深層次的理解。通過(guò)了這次的實(shí)習(xí),我個(gè)人認(rèn)為,代碼的注釋以及編碼的規(guī)范比個(gè)人的技術(shù)更為重要。
這次實(shí)習(xí)的最終目的就是希望我們了解軟件的整個(gè)制作過(guò)程,也就是軟件工程這門(mén)科學(xué)。這一次的實(shí)習(xí),中間的制作文檔時(shí)間大約是編碼的好幾倍,編碼的時(shí)間即使是因?yàn)槲覀冃薷牡脑蛞仓挥袃芍?,而其他的大部分時(shí)間就是制作文檔。我個(gè)人猜想可能進(jìn)公司后文檔的制作比個(gè)人的技術(shù)更加重要。因?yàn)槲臋n的原因,我們的項(xiàng)目制作,感到非常的流暢,條例非常的清晰,邏輯也很流暢。對(duì)于軟件的制作,這些文檔起了很重要的意義,所以覺(jué)得,軟件工程也許就是自己以后努力的方向吧。
最后,總結(jié)這段時(shí)間的實(shí)習(xí)生活的收獲,真的是使我受益匪淺。在實(shí)習(xí)中,我學(xué)習(xí)到了不僅僅是技術(shù)上的收獲,更還有生活中的的人際交往以及其他的許多經(jīng)驗(yàn)。而這些,都將作為我邁入社會(huì)的根本,我將以此為我的基礎(chǔ),懷著一顆勇敢無(wú)畏的心去迎接我即將來(lái)臨的工作。
五、實(shí)習(xí)體會(huì)
這一次的實(shí)習(xí),給了我很深刻的體會(huì),不僅僅是專業(yè)的收獲,更還有團(tuán)隊(duì)間的相互合作,這些讓我明白了團(tuán)隊(duì)的意義。工作即將來(lái)臨,我期待著工作的到來(lái),我將帶著這次實(shí)習(xí)的收獲,盡量的將學(xué)到的知識(shí)運(yùn)用到實(shí)際工作中,去迎接一個(gè)又一個(gè)的挑戰(zhàn)。前方的路會(huì)有很多困難等著我,但我不怕,因?yàn)槲覉?jiān)信,只要我努力,終會(huì)克服這些困難。路就在腳下,我將帶著堅(jiān)定的信念,不畏挫折,勇往直前!
第三篇:軟件工程實(shí)踐實(shí)習(xí)報(bào)告大綱
軟件工程、軟件測(cè)試專業(yè)第七學(xué)期“軟件工程實(shí)踐”實(shí)習(xí)報(bào)告大綱(學(xué)生提交)
1、實(shí)習(xí)概要
實(shí)習(xí)時(shí)間(起始和結(jié)束)(按照學(xué)校的教學(xué)日歷從第1周到第19周,2011年8月29日至2012年1月6日)
實(shí)習(xí)單位、單位的實(shí)習(xí)地點(diǎn)或者校內(nèi)工作地點(diǎn)
實(shí)習(xí)崗位
實(shí)習(xí)指導(dǎo)老師姓名(校內(nèi))與校外指導(dǎo)老師姓名
2、實(shí)習(xí)內(nèi)容
(培訓(xùn)內(nèi)容(含入職教育、安全教育等)、學(xué)習(xí)課程、技術(shù)訓(xùn)練、實(shí)習(xí)內(nèi)容、項(xiàng)目?jī)?nèi)容)(這一部分要寫(xiě)詳細(xì),可能每項(xiàng)都有,可能只有部分有,但項(xiàng)目環(huán)節(jié)應(yīng)該每個(gè)同學(xué)都寫(xiě))
3、項(xiàng)目情況
(按照軟件工程過(guò)程:1)需求分析;2)概要設(shè)計(jì);3)詳細(xì)設(shè)計(jì);4)代碼編寫(xiě);
5)系統(tǒng)測(cè)試;6)性能測(cè)試;7)驗(yàn)收測(cè)試;8)項(xiàng)目實(shí)施與部署;9)項(xiàng)目維護(hù)等內(nèi)容進(jìn)行組織,同學(xué)自己參加的階段重點(diǎn)描寫(xiě),其它軟件項(xiàng)目階段可以只做介紹。)
4、實(shí)習(xí)總結(jié)
(收獲、心得體會(huì)等)
第四篇:軟件工程實(shí)踐學(xué)習(xí)心得
軟件工程實(shí)踐學(xué)習(xí)心得
這學(xué)期學(xué)習(xí)了軟件工程實(shí)踐這門(mén)課,我覺(jué)得這是對(duì)上學(xué)期的軟件工程課程學(xué)習(xí)的檢驗(yàn),上學(xué)期學(xué)習(xí)軟件工程只是我們淺顯的認(rèn)識(shí),相比之下,這學(xué)期就更加全面的說(shuō)明了開(kāi)發(fā)一個(gè)項(xiàng)目所需要的步驟以及開(kāi)發(fā)項(xiàng)目過(guò)程中所需要注意的諸多細(xì)節(jié)。如果說(shuō)上學(xué)期的課程注重理論基礎(chǔ)的話,那么這學(xué)期的軟工實(shí)踐,顧名思義,就是側(cè)重我們動(dòng)手操作的能力。
原來(lái)我認(rèn)為開(kāi)發(fā)一個(gè)項(xiàng)目最重要的就是寫(xiě)代碼,似乎整個(gè)軟件都是編代碼,因?yàn)樽约簞?dòng)手能力不強(qiáng)所以就很排斥做項(xiàng)目??墒墙?jīng)過(guò)我們學(xué)習(xí)軟工課程到團(tuán)隊(duì)做項(xiàng)目再到學(xué)習(xí)軟件工程實(shí)踐課程之后,我才真正意識(shí)到實(shí)施一個(gè)軟件工程項(xiàng)目并不是說(shuō)簡(jiǎn)單的會(huì)編碼就能夠解決問(wèn)題的,因?yàn)橐粋€(gè)軟件的生命周期分為三個(gè)時(shí)期:軟件定義時(shí)期、開(kāi)發(fā)時(shí)期、維護(hù)時(shí)期,而這三個(gè)時(shí)期整體又分為七個(gè)階段,他們分別是:?jiǎn)栴}定義、可行性研究、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試、綜合測(cè)試,由此可看出,當(dāng)我們開(kāi)發(fā)一個(gè)項(xiàng)目時(shí),更多的精力不是放在編碼上,編碼只是一個(gè)很小的模塊,而是項(xiàng)目的整體結(jié)構(gòu)上。
在寫(xiě)軟工實(shí)踐體會(huì)之前,我想在這里總結(jié)一下上學(xué)期三人團(tuán)隊(duì)做 項(xiàng)目的相關(guān)事宜。上學(xué)期我們?nèi)藞F(tuán)隊(duì)根據(jù)軟件開(kāi)發(fā)的步驟開(kāi)發(fā)一個(gè)名為“西大老鄉(xiāng)‘薈’”的社交系統(tǒng),主要是為西大學(xué)子提供一個(gè)找老鄉(xiāng)的平臺(tái)。雖然只進(jìn)行到詳細(xì)設(shè)計(jì)階段,沒(méi)有進(jìn)一步實(shí)現(xiàn),但是我還是從中學(xué)到很多東西的。首先要先確定項(xiàng)目主題,也就是這個(gè)項(xiàng)目用來(lái)做什么,可以解決什么問(wèn)題。接著就是這個(gè)項(xiàng)目是否有研究的必要以及是否有解決的辦法,針對(duì)我們的項(xiàng)目,我們對(duì)西大的一些學(xué)生做了問(wèn)卷調(diào)查,并從調(diào)查中繼續(xù)完善系統(tǒng)本身的做用戶。第三步根據(jù)我們確定的項(xiàng)目主題進(jìn)行需求分析,這一步驟當(dāng)時(shí)做的不是很好,比如所畫(huà)E-R圖、數(shù)據(jù)流圖等都有考慮不周的問(wèn)題,導(dǎo)致接下來(lái)的概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)進(jìn)行的很困難,有些步驟甚至還需要返工。
從我們?cè)谛枨蠓治鲋谐霈F(xiàn)的問(wèn)題,使我們明白了軟件定義階段對(duì)于一個(gè)項(xiàng)目的開(kāi)發(fā)是至關(guān)重要的,當(dāng)軟件定義階段完成時(shí)必須要用正式的文檔準(zhǔn)確的地記錄目標(biāo)系統(tǒng)的需求。只有前期的準(zhǔn)備工作做得好,后面的工作才能順利進(jìn)行。雖然項(xiàng)目最后沒(méi)有完全實(shí)現(xiàn),但是起碼我們已經(jīng)初步體會(huì)到軟件項(xiàng)目開(kāi)發(fā)的步驟,以及每一步所需要完成的文檔等內(nèi)容。
這學(xué)期的軟件工程實(shí)踐雖然不是親自動(dòng)手開(kāi)發(fā)一個(gè)系統(tǒng),但是張?jiān)嚼蠋熞浴拔锫?lián)網(wǎng)物流倉(cāng)儲(chǔ)管理系統(tǒng)”為主給我們講解了一個(gè)真實(shí)系統(tǒng)的開(kāi)發(fā)過(guò)程,從計(jì)劃到項(xiàng)目系統(tǒng)的發(fā)布實(shí)施,以及每一步必須生成的文檔。我主要從以下五個(gè)方面談一下我的心得體會(huì)。
第一、行業(yè)背景說(shuō)明方面
對(duì)于一個(gè)軟件系統(tǒng)的開(kāi)發(fā),第一步就是問(wèn)題定義,了解所開(kāi)發(fā)系統(tǒng)的行業(yè)背景,制定計(jì)劃。當(dāng)我們計(jì)劃確定以后就要對(duì)項(xiàng)目系統(tǒng)本身進(jìn)行可行性研究,主要從技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性三個(gè)方面著手。就比如《物聯(lián)網(wǎng)物流倉(cāng)庫(kù)管理系統(tǒng)》的行業(yè)背景說(shuō)明文檔中非常詳細(xì)地分析了當(dāng)下物聯(lián)網(wǎng)物流行業(yè)的整體業(yè)務(wù)說(shuō)明、應(yīng)用背景、未來(lái)發(fā)展趨勢(shì)以及相關(guān)應(yīng)用案例等四個(gè)方面,項(xiàng)目團(tuán)隊(duì)中系統(tǒng)分析員就可以根據(jù)這份文檔以及相關(guān)的調(diào)查資料對(duì)將要開(kāi)發(fā)系統(tǒng)的進(jìn)行定義等工作。
原來(lái)我們寫(xiě)這類文檔的時(shí)候就是草草了事,不會(huì)做得這么詳細(xì),而這次看到大型項(xiàng)目的行業(yè)背景說(shuō)明也是這么詳細(xì),也讓自己認(rèn)識(shí)到不管是軟件開(kāi)發(fā)的那個(gè)階段都要認(rèn)真對(duì)待,這些瑣碎的文檔都是后期開(kāi)發(fā)項(xiàng)目的支撐,只要它們做的透徹,后面的開(kāi)發(fā)工作才能更順利的進(jìn)行。
第二、項(xiàng)目需求說(shuō)明方面
這部分項(xiàng)目需求說(shuō)明就是軟件定義時(shí)期中需求分析階段,而該階段的主要目的就是了解用戶的需要,根據(jù)用戶的需要確定系統(tǒng)必須完成那些工作,并對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。在需求分析結(jié)束之前系統(tǒng)分析人員要寫(xiě)出一份需求規(guī)格說(shuō)明,即為《物聯(lián)網(wǎng)物流倉(cāng)儲(chǔ)管理系統(tǒng)》項(xiàng)目需求說(shuō)明文檔。我們可以看出該文檔也是非常詳細(xì),相比之下我們之前做項(xiàng)目時(shí)寫(xiě)的需求規(guī)格說(shuō)明書(shū)就非常 不合格,不僅格式不正確內(nèi)容也是少之又少。
在這方面,這篇文檔給我啟發(fā)很大。首先就是文檔的格式,要美觀整齊,讓人看著舒服方便。其次就是文檔的內(nèi)容,原來(lái)它不是很重要,寫(xiě)文檔的時(shí)候也不知道怎么寫(xiě)就借鑒下網(wǎng)上的內(nèi)容,結(jié)果根本就沒(méi)有把自己項(xiàng)目的需求寫(xiě)明白,以至于自己最后都有些糊涂,所以根據(jù)以前的經(jīng)驗(yàn)教訓(xùn)我會(huì)對(duì)這部分更加重視。
第三、系統(tǒng)概要設(shè)計(jì)方面
這部分內(nèi)容分說(shuō)的是軟件設(shè)計(jì)時(shí)期的概要設(shè)計(jì)階段,該階段的主要目的就是實(shí)現(xiàn)系統(tǒng)的功能、設(shè)計(jì)軟件的結(jié)構(gòu)、模塊組成以及模塊之間的關(guān)系。在概要設(shè)計(jì)階段,我們可以站在全局的高度上,花較少的成本,從抽象的層次上分析對(duì)比多種可能的系統(tǒng)實(shí)現(xiàn)方案和軟件結(jié)構(gòu),從中選出最佳方案和最合理的結(jié)構(gòu)。在這個(gè)階段還會(huì)具體畫(huà)出E-R圖、數(shù)據(jù)流圖等方面的設(shè)計(jì)。
比如《物聯(lián)網(wǎng)物流倉(cāng)庫(kù)管理系統(tǒng)》的系統(tǒng)概要設(shè)計(jì)從項(xiàng)目概述、設(shè)計(jì)約束、功能單元與功能模塊設(shè)計(jì)、數(shù)據(jù)E-R圖設(shè)計(jì)、總體設(shè)計(jì)、界面設(shè)計(jì)等六個(gè)方面介紹,通過(guò)讀這個(gè)文檔,我覺(jué)得最重要的還是總體設(shè)計(jì),分別從邏輯架構(gòu)設(shè)計(jì)、物理架構(gòu)設(shè)計(jì)、技術(shù)架構(gòu)設(shè)計(jì)設(shè)計(jì)系統(tǒng)。在這個(gè)階段中模塊要做到高內(nèi)聚低耦合,這樣開(kāi)發(fā)出來(lái)的系統(tǒng)才會(huì)具有更高的獨(dú)立性。
在原來(lái)做項(xiàng)目時(shí)沒(méi)有編寫(xiě)過(guò)這類文檔,在該階段只是畫(huà)了結(jié)構(gòu)圖、層次圖以及相關(guān)的模塊劃分,對(duì)該類文檔尚未重視。通過(guò)張老師的講解和自己的學(xué)習(xí),我相信在以后做項(xiàng)目的時(shí)候一定會(huì)注意到這類文檔的編寫(xiě)。
第四、詳細(xì)設(shè)計(jì)與分析方面
詳細(xì)設(shè)計(jì)階段就是把概要設(shè)計(jì)階段的每個(gè)模塊進(jìn)一步設(shè)計(jì),確定每個(gè)模塊所需要的算法和數(shù)據(jù)結(jié)構(gòu)。在這個(gè)階段還是需要我們?cè)O(shè)計(jì)出程序的詳細(xì)規(guī)格說(shuō)明,而不是編寫(xiě)程序。在詳細(xì)設(shè)計(jì)階段,系統(tǒng)設(shè)計(jì)人員可以通過(guò)使用程序流程圖、盒圖、PAD圖等過(guò)程設(shè)計(jì)的工具和Jackson圖等面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)工具進(jìn)一步設(shè)計(jì)系統(tǒng)相關(guān)接口,主要包括界面設(shè)計(jì)接口、業(yè)務(wù)單設(shè)計(jì)接口、單元模塊設(shè)計(jì)接口等,這些對(duì)于以后的編碼工作都是極其重要的。
第五、編碼和測(cè)試方案方面
關(guān)于編碼,我認(rèn)為編碼要想做的完美必備條件就是前面的軟件定義和軟件設(shè)計(jì)時(shí)期要按部就班的做,文檔一定要按要求書(shū)寫(xiě),不能偷懶也不能草草書(shū)寫(xiě)。對(duì)于編碼也要有相應(yīng)的文檔書(shū)寫(xiě)規(guī)范,要使源程序代碼的邏輯簡(jiǎn)明清晰、易讀易懂。這樣盡管我們不是設(shè)計(jì)系統(tǒng)的人員,當(dāng)看到源程序代碼的時(shí)候也能容易讀懂代碼的意思。
其次就是測(cè)試的內(nèi)容,從測(cè)試的文檔中我們可以得出,其實(shí)測(cè)試在軟件開(kāi)發(fā)中同樣占據(jù)了重要的地位,它主要就是盡可能多的找到問(wèn)題并排除其中的潛藏的錯(cuò)誤,最終把一個(gè)高質(zhì)量的軟件系統(tǒng)交給用戶 使用。它要求測(cè)試人員也要有很高的技術(shù)水平。
第五篇:軟件工程實(shí)踐
軟件工程實(shí)踐
實(shí)踐總學(xué)時(shí):20 面向?qū)I(yè)和年級(jí):計(jì)算機(jī)科學(xué)技術(shù)4年級(jí)
一、實(shí)踐課程的性質(zhì)、目的與任務(wù)
《軟件工程》課程是本專業(yè)中實(shí)踐性非常強(qiáng)的一門(mén)課程。本課程的目的是培養(yǎng)軟件工程應(yīng)用能力。軟件工程實(shí)踐是《軟件工程》課程的后繼教學(xué)環(huán)節(jié),是一個(gè)重要的、不可或缺的實(shí)踐環(huán)節(jié)。其目的是使學(xué)生能夠針對(duì)具體軟件工程項(xiàng)目,全面掌握軟件工程管理、軟件需求分析、軟件設(shè)計(jì)、軟件測(cè)試等階段的方法和技術(shù),通過(guò)該實(shí)踐課程使學(xué)生進(jìn)一步理解和掌握軟件開(kāi)發(fā)模型、軟件生命周期、軟件過(guò)程等理論在軟件項(xiàng)目開(kāi)發(fā)過(guò)程中的意義和作用,培養(yǎng)學(xué)生按照軟件工程的原理、方法、技術(shù)、標(biāo)準(zhǔn)和規(guī)范,進(jìn)行軟件開(kāi)發(fā)的能力,培養(yǎng)學(xué)生的合作意識(shí)和團(tuán)隊(duì)精神,培養(yǎng)學(xué)生對(duì)技術(shù)文檔的編寫(xiě)能力,從而使學(xué)生提高軟件工程的綜合能力,提高軟件項(xiàng)目的管理能力。
二、實(shí)踐課程教學(xué)的基本要求
通過(guò)課程實(shí)踐熟悉軟件工程的原理、方法和技術(shù),能全面、系統(tǒng)地應(yīng)用所學(xué)的概念、原理和方法完成系統(tǒng)開(kāi)發(fā)的規(guī)劃、分析、設(shè)計(jì)和實(shí)施工作;掌握軟件開(kāi)發(fā)的過(guò)程和技術(shù),以達(dá)到對(duì)本課程的綜合知識(shí)的考察和基本技能技巧的運(yùn)用,培養(yǎng)自己的獨(dú)立操作能力和團(tuán)隊(duì)合作精神。
三、實(shí)踐內(nèi)容
××××軟件系統(tǒng)的分析與設(shè)計(jì)
[實(shí)踐類型]
綜合設(shè)計(jì)型
[目的要求]
1、目的:將所學(xué)的軟件工程理論知識(shí)應(yīng)用于軟件開(kāi)發(fā)實(shí)踐中去,做到學(xué)以致用。
2、要求:把小問(wèn)題當(dāng)作大任務(wù)來(lái)看待,一步一個(gè)腳印進(jìn)行,從而積累開(kāi)發(fā)大工程的經(jīng)驗(yàn)和方法。各個(gè)階段的文檔完整、規(guī)范,建模工具使用得當(dāng)。
[內(nèi)容提要]
本課程的實(shí)踐環(huán)節(jié)設(shè)計(jì)以實(shí)際應(yīng)用中的小型題目為主(大綱后附有候選的項(xiàng)目列表供學(xué)生參考),要求學(xué)
生采用“項(xiàng)目小組”的形式,結(jié)合具體的開(kāi)發(fā)項(xiàng)目進(jìn)行設(shè)計(jì)。軟件工程實(shí)踐具體實(shí)施的要求如下:
1)每個(gè)班級(jí)按項(xiàng)目小組進(jìn)行分組,每組人數(shù)在6人左右;
2)每個(gè)項(xiàng)目小組選出項(xiàng)目負(fù)責(zé)人或項(xiàng)目經(jīng)理(項(xiàng)目經(jīng)理適當(dāng)加分),由項(xiàng)目經(jīng)理召集項(xiàng)目組成員討論、選定開(kāi)發(fā)項(xiàng)目,項(xiàng)目的選定必須考慮“范圍、期限、成本、人員、設(shè)備”等條件;項(xiàng)目經(jīng)理負(fù)責(zé)完成“可行性研究報(bào)告”、制定“項(xiàng)目開(kāi)發(fā)計(jì)劃”、管理項(xiàng)目并根據(jù)項(xiàng)目進(jìn)展情況對(duì)項(xiàng)目開(kāi)發(fā)計(jì)劃進(jìn)行調(diào)整;對(duì)于調(diào)整的項(xiàng)目開(kāi)發(fā)計(jì)劃必須存檔;
3)項(xiàng)目開(kāi)發(fā)計(jì)劃必須具備可行性,每項(xiàng)任務(wù)要落實(shí)到人且規(guī)定該任務(wù)的起止日期和時(shí)間;明確每個(gè)階段提交文檔的日期和時(shí)間;每個(gè)項(xiàng)目小組必須明確指定文檔的審查小組和審查人員以及審查結(jié)果的返回日期;審查小組和審查人員不得是完成被審查內(nèi)容的完成者;審查結(jié)果至少包括:存在的問(wèn)題、出現(xiàn)問(wèn)題的所在文檔的位置及頁(yè)碼、具體建議等;每個(gè)階段的審查結(jié)果不得少于6個(gè)問(wèn)題;
4)每個(gè)項(xiàng)目小組必須按照給定的文檔規(guī)范標(biāo)準(zhǔn)提供下列文檔,文檔中必須注明執(zhí)筆者、完成者(簽名)和完成日期,其中完成需求分析和設(shè)計(jì)工作的人員不能相同,完成編碼和審查/測(cè)試的人員不能相同;文檔包括:
1.可行性研究報(bào)告
2.項(xiàng)目開(kāi)發(fā)計(jì)劃(包括調(diào)整的項(xiàng)目開(kāi)發(fā)計(jì)劃)
3.需求分析規(guī)格說(shuō)明
4.概要設(shè)計(jì)規(guī)格說(shuō)明
5.詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明
6.編碼清單(部分或全部)
7.審查/測(cè)試問(wèn)題清單
[主要儀器設(shè)備]
1.硬件設(shè)備:微機(jī)和打印機(jī)
2.操作系統(tǒng):Windows 2k以上系統(tǒng)
3.圖文排版:Microsoft Office 2K及其以上系統(tǒng)
4.軟件開(kāi)發(fā)工具:Microsoft Visual Studio、Borland Delphi 等
5.數(shù)據(jù)庫(kù)系統(tǒng):Microsoft SQL Server 等
6.建模工具軟件:PowerDesigner或者ROSE
四、考核方法
軟件工程實(shí)踐環(huán)節(jié)的成績(jī)不單獨(dú)記分,僅作為《軟件工程》課程成績(jī)的20%--30%記入總成績(jī)。實(shí)踐環(huán)節(jié)結(jié)束,每個(gè)學(xué)生必須提交軟件工程實(shí)踐總結(jié)報(bào)告,教師根據(jù)每個(gè)同學(xué)的實(shí)踐總結(jié)報(bào)告和在小組中提交的文檔進(jìn)行考核,時(shí)間允許的話可以加入實(shí)踐報(bào)告的答辯環(huán)節(jié)。根據(jù)提交的實(shí)踐報(bào)告和答辯的情況對(duì)每個(gè)同學(xué)劃分為A、B、C、D、E五個(gè)等級(jí)。
五、主要參考資料
[1] 盧瀟 等:《軟件工程》 清華大學(xué)出版社/北京交通大學(xué)2005年1月
[2] 周蘇 等 《軟件工程學(xué)實(shí)驗(yàn)》 科學(xué)出版社 2005年4月
[3] 鄧良松等 《軟件工程》 西安電子科技大學(xué)出版社2004年6月
[4] 張海藩 《軟件工程導(dǎo)論(第四版)》 清華大學(xué)出版社 2003年11月
[5] 吳潔明 袁山龍 《軟件工程應(yīng)用實(shí)踐教程》 清華大學(xué)出版社 2003年7月
[6] 文斌 等《軟件工程與軟件文檔寫(xiě)作》 清華大學(xué)出版社 2005年8月
六、實(shí)踐教學(xué)建議
在實(shí)踐環(huán)節(jié)的實(shí)施中,建議同學(xué)們選擇熟悉的具有代表性的應(yīng)用系統(tǒng)作為實(shí)踐環(huán)節(jié)的軟件項(xiàng)目選題。為方便起見(jiàn),在此列出部分參考選題如下:
1.酒店餐飲管理系統(tǒng)
2.多媒體播放器
3.進(jìn)銷存管理系統(tǒng)
4.賓館客房管理系統(tǒng)
5.人事管理系統(tǒng)
6.工資管理系統(tǒng)
7.KTV點(diǎn)歌系統(tǒng)
8.網(wǎng)上考試系統(tǒng)
9.考務(wù)管理系統(tǒng)
10.學(xué)生成績(jī)管理系統(tǒng)
11.超市POS系統(tǒng)
12.學(xué)生綜合測(cè)評(píng)系統(tǒng)
13.學(xué)生任選課管理系統(tǒng)
14.網(wǎng)上書(shū)店系統(tǒng)
15.音像租賃管理系統(tǒng)
16.圖書(shū)借閱管理系統(tǒng)
17.學(xué)生學(xué)籍管理系統(tǒng)
18.門(mén)禁管理系統(tǒng)