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