第一篇:通信軟件實(shí)訓(xùn) 文檔
北京郵電大學(xué)軟件學(xué)院
2010-2011 學(xué)年第 1學(xué)期實(shí)訓(xùn)項(xiàng)目文檔
(每個(gè)項(xiàng)目小組一份)
課程名稱: 全日制研究生實(shí)訓(xùn)
項(xiàng)目名稱: 通信軟件實(shí)訓(xùn)
項(xiàng)目完成人:
指導(dǎo)教師:程保中,雷友珣,謝錦,陸天波,孫藝
日 期:2012年3月2日
●JAVA語(yǔ)言的聊天室實(shí)現(xiàn)
一、實(shí)訓(xùn)項(xiàng)目的目的和要求:
目的:理解Socket的原理,熟悉JAIN-SIP協(xié)議規(guī)定的通信工程 要求:實(shí)現(xiàn)一個(gè)有GUI界面的JAVA聊天室系統(tǒng)
二、實(shí)訓(xùn)項(xiàng)目開(kāi)發(fā)環(huán)境:
Eclipse、Windows
三、實(shí)訓(xùn)項(xiàng)目?jī)?nèi)容:
1、設(shè)計(jì)思路
客戶端:以服務(wù)方主機(jī)地址和端口號(hào)為參數(shù)調(diào)用 Socket 類的構(gòu)造函數(shù)去創(chuàng)建一個(gè) Socket 對(duì)象.創(chuàng)建過(guò)程包含了向服務(wù)方請(qǐng)求建立通訊連接 使用 Socket 對(duì)象的 getInputStream()和 getOutputStream()方法創(chuàng)建用于網(wǎng)絡(luò)傳輸?shù)妮斎?輸出流
使用所得的網(wǎng)絡(luò)流對(duì)象讀寫數(shù)據(jù),網(wǎng)絡(luò)流對(duì)象將讀寫轉(zhuǎn)換成對(duì) Socket 數(shù)據(jù)的接收和發(fā)送
工作完畢, 關(guān)閉網(wǎng)絡(luò)流對(duì)象
服務(wù)器端:以某端口號(hào)為參數(shù)調(diào)用 ServerSocket 類的構(gòu)造函數(shù)去創(chuàng)建一個(gè) ServerSocket 對(duì)象
調(diào)用被創(chuàng)建的 ServerSocket 對(duì)象的 accept()方法在指定端口監(jiān)聽(tīng)客戶方的連接請(qǐng)求
收到客戶請(qǐng)求后,accept()方法返回一個(gè)新建的 Socket 對(duì)象, 該對(duì)象代表和客戶方建立起來(lái)的通訊連接在服務(wù)方的通訊端點(diǎn)
使用 Socket 對(duì)象的 getInputStream()和 getOutputStream()方法創(chuàng)建用于網(wǎng)絡(luò)傳輸?shù)妮斎?輸出流
使用所得的網(wǎng)絡(luò)流對(duì)象讀寫數(shù)據(jù),網(wǎng)絡(luò)流對(duì)象將讀寫轉(zhuǎn)換成對(duì) Socket 的數(shù)據(jù)的接收和發(fā)送 工作完畢, 關(guān)閉網(wǎng)絡(luò)流對(duì)象
2、系統(tǒng)總體框架
系統(tǒng)的主要功能:
本系統(tǒng)由登陸界面、服務(wù)器界面和客戶端界面三部分組成,服務(wù)器端可以控制打開(kāi)或關(guān)閉端口和服務(wù),并且可以監(jiān)視在線用戶數(shù)量。用戶則在登錄界面輸入相應(yīng)的驗(yàn)證信息才能登錄要系統(tǒng),從而通過(guò)客戶端進(jìn)行聊天,發(fā)送的消息將通過(guò)服務(wù)器廣播給所有在線用戶,達(dá)到群聊的目的。
3、用例介紹及用例圖
※用例名稱:登陸
主要參與者:客戶端用戶
涉眾及其關(guān)注點(diǎn):用戶希望能順利登陸系統(tǒng)并進(jìn)行交流
服務(wù)器端希望能對(duì)用戶進(jìn)行驗(yàn)證并返回驗(yàn)證信息 前置條件:用戶必須通過(guò)驗(yàn)證
成功保證:服務(wù)器根據(jù)用戶提供的信息進(jìn)行驗(yàn)證并通過(guò) 主成功場(chǎng)景:用戶向服務(wù)器發(fā)送驗(yàn)證信息
服務(wù)器對(duì)信息進(jìn)行驗(yàn)證
向用戶返回驗(yàn)證結(jié)果
成功登陸到服務(wù)器 ※用例名稱:聊天
主要參與者:客戶端用戶 涉眾及其關(guān)注點(diǎn):用戶希望能順利進(jìn)行聊天,并且保護(hù)隱私
服務(wù)器要保證聊天的順利進(jìn)行
前置條件:用戶已經(jīng)登陸系統(tǒng)
成功保證:兩個(gè)或更多用戶登陸服務(wù)器
主成功場(chǎng)景:用戶A發(fā)送信息
服務(wù)器接收到信息
服務(wù)器將信息轉(zhuǎn)發(fā)給用戶B 用戶B進(jìn)行回復(fù)
服務(wù)器收到信息并轉(zhuǎn)發(fā)給用戶A ※用例名稱:?jiǎn)?dòng)服務(wù)器
主要參與者:服務(wù)器
涉眾及其關(guān)注點(diǎn):服務(wù)器希望能正確啟動(dòng),各個(gè)模塊能正常運(yùn)行
前置條件:服務(wù)器程序是正確的成功保證:服務(wù)器端的硬件支持
主成功場(chǎng)景:按下服務(wù)器啟動(dòng)按鈕
服務(wù)器程序開(kāi)始運(yùn)行
程序成功運(yùn)行,進(jìn)入服務(wù)狀態(tài) 用例圖如下:
4、領(lǐng)域模型
5、順序圖:
啟動(dòng)服務(wù)器順序圖
登陸順序圖
聊天順序圖
6、類圖
四、程序開(kāi)發(fā)成果
先打開(kāi)服務(wù)器端程序,輸入端口號(hào),運(yùn)行之后打開(kāi)客戶端,輸入服務(wù)器端的IP地址和端口號(hào),連接成功后可開(kāi)始進(jìn)行對(duì)話。聊天窗口如下:
五、總結(jié)
通過(guò)本次實(shí)訓(xùn)項(xiàng)目的練習(xí),我們充分理解了Socket的原理以及SIP協(xié)議,并對(duì)SIP在JAVA中的實(shí)現(xiàn)方法——JAIN-SIP作為API來(lái)調(diào)用有了一個(gè)比較全面的認(rèn)識(shí)。對(duì)JAVA可視化界面的處理能力也有了很大提高。JAVA是一門面向?qū)ο蟮恼Z(yǔ)言,通過(guò)對(duì)它的研究,加強(qiáng)了對(duì)面向?qū)ο笳Z(yǔ)言中類和對(duì)象的使用。
●C語(yǔ)言Socket聊天室實(shí)現(xiàn)
一、實(shí)訓(xùn)項(xiàng)目的目的和要求:
目的:通過(guò)socket實(shí)現(xiàn)Linux環(huán)境下的點(diǎn)對(duì)點(diǎn)通信。
要求:掌握Linux環(huán)境下socket編程的基本過(guò)程;掌握c語(yǔ)言的socket套接字的編程思想
二、實(shí)訓(xùn)項(xiàng)目開(kāi)發(fā)環(huán)境:
Linux
三、實(shí)訓(xùn)項(xiàng)目?jī)?nèi)容
1、問(wèn)題分析:如何通過(guò)socket實(shí)現(xiàn)Linux環(huán)境下的點(diǎn)對(duì)點(diǎn)通信。
2、設(shè)計(jì)思路:
網(wǎng)絡(luò)套接字(Socket)接口上TCP/IP網(wǎng)絡(luò)應(yīng)用程序接口(API),它提供了許多函數(shù)和例程,程序員可以使用它們來(lái)開(kāi)發(fā)TCP/IP網(wǎng)絡(luò)應(yīng)用程序。簡(jiǎn)要步驟如下:
(1)建立一個(gè)Socket.(2)按要求配置socket,將socket連接到遠(yuǎn)程主機(jī)或給socket指定以各本地協(xié)議端口。
(3)按要求通過(guò)socket發(fā)送和接受數(shù)據(jù)。(4)關(guān)閉此socket。
在客戶/服務(wù)器模型中,多個(gè)相互通信的計(jì)算機(jī)都作為客戶端,與網(wǎng)絡(luò)服務(wù)器進(jìn)行連接,并通過(guò)服務(wù)器進(jìn)行信息的傳遞。所以多個(gè)客戶端之間的通信就變?yōu)榱丝蛻舳伺c服務(wù)端的通信。所以,采用客戶/服務(wù)器模型進(jìn)行網(wǎng)絡(luò)聊天需要分別編寫服務(wù)器端和客戶端的程序,服務(wù)器和客戶端之間相互通信的同步關(guān)系和各自的程序流程。如圖所示:
Tcp服務(wù)器Socket()Tcp客戶端Socket()建立連接Bind()Listen()Connect()Accept()阻塞直到有客戶端連接請(qǐng)求數(shù)據(jù)Write()Read()處理請(qǐng)求回應(yīng)數(shù)據(jù)Read()結(jié)束連接Write()Close()Read()Close()
3、實(shí)驗(yàn)過(guò)程及說(shuō)明(使用TCP/IP):
(1)監(jiān)聽(tīng)連接
利用socket、bind、listen建立連接,步驟是:
1)用socket函數(shù)初始化socket,創(chuàng)建新的sockfd。Sockfd = socket(AF_INT,SOCK_STREAM,0)2)IP地址的處理 參數(shù)說(shuō)明:
inet_addr 函數(shù) INADDR_ANY 該函數(shù)把由小數(shù)點(diǎn)分開(kāi)的十進(jìn)制IP地址轉(zhuǎn)為unsinged long 類型,而在實(shí)驗(yàn)中所使用的為INADDR_ANY,使用利用自己的IP地址自動(dòng)填充。a)利用bind函數(shù)綁定端口和IP地址。
My_addr.sin_family=AF_INET;/*將地址族類型設(shè)定好 */ My_addr.sin_port=htons(MYPORT;/* 將端口給其賦值*/ My_addr.sin_addr.s_addr=INADDR_ANY;/*用連接地址自動(dòng)填充ip*/ Bind(sockfd,(stuct sockaddr*)&my_addr,sizeof(stuct sockaddr));/*sockfd 是分配的socket名字,my-addr則便是分配好的端口與IP,用bind綁定*/ b)利用listen監(jiān)聽(tīng)請(qǐng)求(2)發(fā)送請(qǐng)求
1)利用gethostbyname獲取主機(jī)信息。2)初始化socket端口。
3)利用connect函數(shù)將自己的IP地址等信息發(fā)送到主機(jī),等待主機(jī)調(diào)用accept函數(shù)來(lái)接受請(qǐng)求。
(3)主機(jī)接收請(qǐng)求,進(jìn)行數(shù)據(jù)通信 1)主機(jī)利用accept接收請(qǐng)求。2)創(chuàng)建子進(jìn)程,顯示歡迎信息;
3)接收返回信息,顯示連接成功,并推出連接; 4)關(guān)閉客戶端口socket;
5)關(guān)閉服務(wù)端socket,結(jié)束子線程。
4、實(shí)驗(yàn)項(xiàng)目結(jié)果及分析
結(jié)果分析:
該測(cè)試是在一臺(tái)計(jì)算機(jī)上進(jìn)行的,若要實(shí)現(xiàn)兩臺(tái)計(jì)算機(jī)間的點(diǎn)對(duì)點(diǎn)通信,只需修改相應(yīng)的IP地址和端口號(hào)即可。如圖所示,該系統(tǒng)實(shí)現(xiàn)了P2P通信,即通信雙方之間可以相互發(fā)送和接收消息,達(dá)到了預(yù)期目的,滿足了老師的要求和用戶的需求。
四、總結(jié)
Linux環(huán)境對(duì)于我們都是一個(gè)陌生的環(huán)境,通過(guò)這次對(duì)Linux環(huán)境下的socket編程以實(shí)現(xiàn)雙工通信,使我們小組成員c語(yǔ)言編程能力有了提高和對(duì)Linux和對(duì)Linux的gcc編譯環(huán)境有了進(jìn)一步的認(rèn)識(shí)。使我們?cè)诤暧^上認(rèn)識(shí)了Linux,相信對(duì)我們以后學(xué)習(xí)Linux會(huì)有很大的幫助。
●基于O-SIP的 Socket聊天室開(kāi)發(fā)
一、實(shí)訓(xùn)項(xiàng)目的目的和要求:
目的:完成一個(gè)基于控制臺(tái)的聊天室,最基本要實(shí)現(xiàn)群聊和私聊內(nèi)容; 要求:掌握o-sip實(shí)現(xiàn)sip協(xié)議;
二、實(shí)訓(xùn)項(xiàng)目開(kāi)發(fā)環(huán)境:
Windows、VC++2010
三、實(shí)訓(xùn)項(xiàng)目?jī)?nèi)容
1、問(wèn)題分析:
項(xiàng)目實(shí)現(xiàn)的是一個(gè)基于sip的簡(jiǎn)單聊天程序,要求用c/c++實(shí)現(xiàn),可以應(yīng)用exsip庫(kù),以及接口進(jìn)行程序開(kāi)發(fā),要求聊天室實(shí)現(xiàn)基本的群聊和私聊功能,在此基礎(chǔ)上可以進(jìn)行進(jìn)一步擴(kuò)展,可以為提示哪個(gè)客戶上線,哪個(gè)客戶下線,客戶端可以向服務(wù)器請(qǐng)求獲得在線用戶列表,操作簡(jiǎn)單易懂,系統(tǒng)要有一定的穩(wěn)定性,并有一定的可擴(kuò)展性。
2、設(shè)計(jì)思路:(1)總體設(shè)計(jì)
項(xiàng)目采用exosip接口進(jìn)行設(shè)計(jì),為了開(kāi)發(fā)聊天室選擇可以實(shí)現(xiàn)相應(yīng)功能的接口,開(kāi)發(fā)出來(lái)的聊天程序要實(shí)有高的效率可以及時(shí)轉(zhuǎn)發(fā)客戶端的發(fā)送的消息,要有一定的可靠性和靈活性,實(shí)現(xiàn)基本功能的基礎(chǔ)上要有一定的擴(kuò)展性。(2)數(shù)據(jù)存儲(chǔ)
要選出正確的數(shù)據(jù)結(jié)構(gòu)能夠存儲(chǔ)用于通訊的數(shù)據(jù)。(3)功能性判斷
功能性需求要區(qū)別于其他消息,為了區(qū)分可以功能性需求和普通消息的區(qū)別可以設(shè)置一些格式。(4)功能實(shí)現(xiàn)
為了實(shí)現(xiàn)群聊服務(wù)器端可以把客戶端發(fā)來(lái)的普通消息進(jìn)行廣播給在聊天室的所有用戶,實(shí)現(xiàn)私聊的時(shí)候服務(wù)器要把這條消息只發(fā)給指定客戶端,不可以使其他人看到,如果客戶端需要查看在線用戶信息服務(wù)器要把信息發(fā)送給請(qǐng)求的客戶端。
3、基本的流程設(shè)計(jì)(1)服務(wù)器設(shè)計(jì)流程圖:
(2)客戶端流程:
4、功能實(shí)現(xiàn)
基本的群聊和私聊功能都是通過(guò)服務(wù)器轉(zhuǎn)發(fā)到的,當(dāng)服務(wù)器接收到群聊的信息就可以進(jìn)行廣播,但接到私聊的信息就只發(fā)給接收方。
在客戶端在接收數(shù)據(jù)采用一個(gè)接收線程定義是,static HANDLE hHandle1=NULL;定義一個(gè)句柄DWORD WINAPI rec_v(LPVOID p)用來(lái)定義一個(gè)線程,當(dāng)需要進(jìn)行調(diào)用時(shí)在相應(yīng)的位置寫上hHandle1=CreateThread(NULL,0,rec_v,NULL,0,NULL)。發(fā)送數(shù)據(jù)時(shí)采用while循環(huán)并且在發(fā)送數(shù)據(jù)是要判斷是否是功能性請(qǐng)求消息,例如如果輸入的是***cls那么這是求求清屏,那么客戶端就不把這條消息發(fā)個(gè)服務(wù)器,并自身處理這個(gè)功能。
在服務(wù)器端不采用多線程,應(yīng)為服務(wù)器子進(jìn)行轉(zhuǎn)發(fā)或者提供功能性需求,不需要自己輸入什么,所以在一個(gè)while循環(huán)就可以實(shí)現(xiàn)基本功能了,并且在接收消息是要判斷是否是功能性請(qǐng)求,如果是者進(jìn)行功能性處理,比如當(dāng)客戶端發(fā)送***list時(shí),服務(wù)器要把在線用戶信息發(fā)給提出請(qǐng)求的客戶端。
5、設(shè)計(jì)流程圖(1)服務(wù)器端流程圖:
服務(wù)器首先進(jìn)行初始化工作然后等待客戶端對(duì)他的連接并接受客戶端發(fā)來(lái)的消息,如果接收到的數(shù)據(jù)是功能性請(qǐng)求則進(jìn)行功能性處理,否則當(dāng)作普通消息進(jìn)行廣播,判別是否是功能性請(qǐng)求的方法是客戶端再發(fā)送功能性請(qǐng)求時(shí)在信息的頭部加上***及請(qǐng)求類型,比如***list就是一個(gè)申請(qǐng)用戶列表的請(qǐng)求,當(dāng)服務(wù)器端接到***就解析后面的命令,當(dāng)時(shí)sip:時(shí)表明這是一個(gè)新用戶,然后服務(wù)器會(huì)在自己維持的用戶列表中把新用戶加進(jìn)來(lái),然后繼續(xù)等待接收客戶端信息,當(dāng)收到list時(shí)會(huì)把在新用戶信息發(fā)給起初請(qǐng)求的用戶,當(dāng)私聊時(shí)服務(wù)器會(huì)把這條信息轉(zhuǎn)發(fā)個(gè)指定用戶,而不去轉(zhuǎn)發(fā),這些操作結(jié)束后程序都會(huì)回到接收數(shù)據(jù)的狀態(tài)。(2)客戶端流程圖:
首先客戶端完成基本的初始化過(guò)程,輸入自己的名字和端口號(hào)程序會(huì)自動(dòng)把輸入轉(zhuǎn)化成sip:name@ip:portde 形式去連接服務(wù)器,連接成功開(kāi)啟接收線程后不斷監(jiān)聽(tīng)是否有消息發(fā)送過(guò)來(lái),當(dāng)接收到消息后打印然后繼續(xù)監(jiān)聽(tīng),當(dāng)輸入的消息不是功能性請(qǐng)求這個(gè)消息不做任何處理發(fā)給服務(wù)器,輸入的消息是功能性請(qǐng)求消息時(shí),會(huì)有兩種處理一種是客戶端可以自己處理的,這樣客戶端自己處理后繼續(xù)等待鍵盤輸入,比如清屏功能,當(dāng)需要服務(wù)器協(xié)作完成時(shí)客戶端會(huì)把消息進(jìn)行加工然后發(fā)給服務(wù)器等待服務(wù)器合作處理,比如當(dāng)向服務(wù)器請(qǐng)求顯示在線用戶是發(fā)給服務(wù)器的消息會(huì)在前面加上***list,這樣當(dāng)服務(wù)器接收到消息時(shí)解析***知道這是一個(gè)功能請(qǐng)求,然后再解析出list知道這是一個(gè)在線用戶列表請(qǐng)求,然后在線用戶列表發(fā)給請(qǐng)求的用戶。當(dāng)收到的功能性請(qǐng)求是退出或者私聊等處理過(guò)程和上面類似。
四、實(shí)訓(xùn)項(xiàng)目結(jié)果及分析
我們的O-SIP的聊天室系統(tǒng)的開(kāi)發(fā)主要是基于控制臺(tái),由于開(kāi)發(fā)時(shí)間比較倉(cāng)促,所以我們僅僅實(shí)現(xiàn)了簡(jiǎn)單的消息收發(fā)的雙工通信,界面還未實(shí)現(xiàn)美化等。希望老師諒解。
服務(wù)端啟動(dòng)之后創(chuàng)建一個(gè)socket,將socket和本機(jī)的IP綁定
五、實(shí)訓(xùn)項(xiàng)目人員、進(jìn)度安排及完整過(guò)程
六、實(shí)訓(xùn)項(xiàng)目心得及體會(huì)
項(xiàng)目基本實(shí)現(xiàn)了需求的功能,程序可以進(jìn)行基本的私聊和群聊,在此基礎(chǔ)上還可以進(jìn)行在線用戶查詢,提醒所有用戶是否有人上線或者下線,并且系統(tǒng)相對(duì)穩(wěn)定,有一定的擴(kuò)展性,通過(guò)此次實(shí)訓(xùn)學(xué)到了很多知識(shí)對(duì)網(wǎng)絡(luò)編程有了一定的了解和深入,在實(shí)踐編程中雖然遇到了很多問(wèn)題但是通過(guò)組內(nèi)和組件交流,都得到了很好的解決,多練了自己和別人的交流能力和團(tuán)隊(duì)精神,總之有很多的收獲,并希望有機(jī)會(huì)能夠多參與到這樣的實(shí)訓(xùn)中。
通過(guò)這三周的實(shí)訓(xùn),我們小組各個(gè)成員都在軟件工程方面有所提高。一開(kāi)始構(gòu)想時(shí)只有大體的思路,忽略了一些細(xì)節(jié),因此在我真正做設(shè)計(jì)時(shí)發(fā)現(xiàn)有很多錯(cuò)誤,有的時(shí)候要解決一個(gè)錯(cuò)誤會(huì)花上很多時(shí)間,在做的過(guò)程中,有很多錯(cuò)誤意想不到,有的錯(cuò)誤卻犯得很幼稚,不過(guò)這樣對(duì)自身的排錯(cuò)能力能得到很大的提高。比如一個(gè)組員在做java socket 聊天程序測(cè)試時(shí)候,他無(wú)論怎么運(yùn)行都會(huì)出現(xiàn)錯(cuò)誤,而且出現(xiàn)提示信息他也無(wú)法修改,浪費(fèi)了他至少兩個(gè)小時(shí)時(shí)間,最后因?yàn)樵诙x類的時(shí)候是小寫,而在直接生成的類他把刪去,又直接復(fù)制編程人員的程序。這些細(xì)小錯(cuò)誤讓我深受感慨,它告訴了我編程細(xì)心重要,養(yǎng)成一個(gè)好的編程習(xí)慣更重要。這次項(xiàng)目的完整開(kāi)發(fā),讓我們有項(xiàng)目初步的思想,這次項(xiàng)目的開(kāi)發(fā)讓我把軟件生成的流程從信息的收集,再寫需求,再完成后臺(tái)設(shè)計(jì)到編寫代碼,到測(cè)試,讓我知道還有很多地方的不足。更重要的是團(tuán)隊(duì)之間的合作,相互之間的交流,有時(shí)一個(gè)問(wèn)題總是想不通,但每個(gè)隊(duì)友負(fù)責(zé)的部分不同,所以想法也不同,交流之后,便有了新的思路。這次課程設(shè)計(jì)的時(shí)間很緊迫,再加上各方面的經(jīng)驗(yàn)不足,也遇到很多問(wèn)題,這個(gè)聊天系統(tǒng)還有很多地方?jīng)]有完善,希望老師能諒解??偟膩?lái)說(shuō),這次課程設(shè)計(jì)對(duì)我很有幫助,我發(fā)覺(jué)老師上課講的很多東西對(duì)我們都很有用,讓我受到不少的啟發(fā)。
感謝程保中教授,雷友詢教授這三周來(lái)對(duì)我們的細(xì)心教導(dǎo)和使我們的通信軟件知識(shí)有了很大的提高和其感謝孫藝,謝錦,陸天波三位老師在這三周內(nèi)每天都陪我們?cè)趯?shí)驗(yàn)室,為我們解除疑惑,幫我們分析錯(cuò)誤。正是由于你們才使我們?cè)谧孕判纳嫌辛舜蟮脑鰪?qiáng),不再感覺(jué)做項(xiàng)目是個(gè)遙不可及和非常困難的事情。這次工程實(shí)踐的為我們有條理的梳理了我們所學(xué)的軟件工程方法和編碼技術(shù)。使我們?cè)谝院蟮墓ぷ髦懈矣诿鎸?duì)困難和向困難挑戰(zhàn)。
第二篇:軟件實(shí)訓(xùn)總結(jié)
軟件開(kāi)發(fā)實(shí)訓(xùn)總結(jié)
一、實(shí)訓(xùn)過(guò)程
首先,我們學(xué)習(xí)通用編程:任何類類型的所有值都可以同object類型的變量來(lái)代替。封裝:就是把數(shù)據(jù)和行為結(jié)合起在一個(gè)包中)并對(duì)對(duì)象使用者隱藏?cái)?shù)據(jù)的實(shí)現(xiàn)過(guò)程,一個(gè)對(duì)象中的數(shù)據(jù)叫他的實(shí)例字段(instance field)。重載:當(dāng)多個(gè)方法具有相同的名字而含有不同的參數(shù)時(shí),便發(fā)生重載。編譯器必須挑選出調(diào)用哪個(gè)方法。數(shù)組列表:ArrayList動(dòng)態(tài)數(shù)組列表,是一個(gè)類庫(kù),定義在java.util包中,可自動(dòng)調(diào)節(jié)數(shù)組的大小。class類 object類中的getclass方法返回class類型的一個(gè)實(shí)例,程序啟動(dòng)時(shí)包含在main方法的類會(huì)被加載,虛擬機(jī)要加載他需要的所有類,每一個(gè)加載的類都要加載它需要的類。Java中對(duì)內(nèi)存的分配是動(dòng)態(tài)的,它采用面向?qū)ο蟮臋C(jī)制,采用運(yùn)算符new為每個(gè)對(duì)象分配內(nèi)存空間,而且,實(shí)際內(nèi)存還會(huì)隨程序運(yùn)行情況而改變。程序運(yùn)行中 Java系統(tǒng)自動(dòng)對(duì)內(nèi)存進(jìn)行掃描,對(duì)長(zhǎng)期不用的空間作為”垃圾”進(jìn)行收集,使得系統(tǒng)資源得到更充分地利用.按照這種機(jī)制,程序員不必關(guān)注內(nèi)存管理問(wèn)題,這使Java程序的編寫變得簡(jiǎn)單明了,并且避免了了由于內(nèi)存管理方面的差錯(cuò)而導(dǎo)致系統(tǒng)出問(wèn)題。而C語(yǔ)言通過(guò)malloc()和free()這兩個(gè)庫(kù)函數(shù)來(lái)分別實(shí)現(xiàn)分配內(nèi)存和釋放內(nèi)存空間的,C++語(yǔ)言中則通過(guò)運(yùn)算符new和delete來(lái)分配和釋放內(nèi)存,總之,Java語(yǔ)言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。Java語(yǔ)言是分布式的。Java語(yǔ)言支持Internet應(yīng)用的開(kāi)發(fā),在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(java net),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫(kù),包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的重要手段。Java語(yǔ)言是健壯的。Java的強(qiáng)類型機(jī)制、異常處理、廢料的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。Java語(yǔ)言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了Java語(yǔ)言具有的許多安全特性以外,Java對(duì)通過(guò)網(wǎng)絡(luò)下載的類具有一個(gè)安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本
地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。Java語(yǔ)言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。Java語(yǔ)言是可移植的。這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類型的長(zhǎng)度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSI C實(shí)現(xiàn)的。Java語(yǔ)言是解釋型的。如前所述,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式,然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過(guò)程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。Java是高性能的。與那些解釋型的高級(jí)腳本語(yǔ)言相比,Java的確是高性能的。事實(shí)上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來(lái)越接近于C++。Java語(yǔ)言是多線程的。在Java語(yǔ)言中,線程是一種特殊的對(duì)象,它必須由Thread類或其子(孫)類來(lái)創(chuàng)建。通常有兩種方法來(lái)創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable)的構(gòu)造子將一個(gè)實(shí)現(xiàn)了Runnable接口的對(duì)象包裝成一個(gè)線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對(duì)象即為線程。值得注意的是Thread類已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何一個(gè)線程均有它的run方法,而run方法中包含了線程所要運(yùn)行的代碼。線程的活動(dòng)由一組方法來(lái)控制。Java語(yǔ)言支持多個(gè)線程的同時(shí)執(zhí)行,并提供多線程之間的同步機(jī)制(關(guān)鍵字為synchronized)。
二、心得體會(huì)
剛開(kāi)始時(shí)張宇老師先教我們配置JAVA的編程工具和運(yùn)行環(huán)境,然后教我們學(xué)JSP,在此期間,我們自學(xué)了JAVA,又學(xué)了Tomcat的使用及MySql和HTML語(yǔ)言,當(dāng)我們JSP入門后,陳老師開(kāi)始教我們學(xué)習(xí)JSF框架,但由于學(xué)校的安排,剛開(kāi)始學(xué),陳老師便去了蘇州,由在蘇州帶隊(duì)的孔祥盛老師回來(lái)教我們,在孔老師的安排下,我們又學(xué)習(xí)了SQL Server 2000和Struts框架,教我們學(xué)會(huì)了Javawebstudio的使用。總之,在兩位老師的細(xì)心輔導(dǎo)下,我們有了很大的進(jìn)步,知識(shí)得到了擴(kuò)充,認(rèn)識(shí)得到了加深,也使得我們的自學(xué)能力得到了很大的提高,在此,我向兩位老師表示由衷地感謝。這次實(shí)訓(xùn)是三年中所學(xué)知識(shí)的一次匯總,是三年來(lái)學(xué)習(xí)能力的一次集中體現(xiàn),有的知識(shí)在這次實(shí)訓(xùn)中用不到,但以后會(huì)用到,我敢說(shuō)肯定會(huì)用到。因?yàn)楹枚鄸|西都是厚積而薄發(fā),所學(xué)的知識(shí)在關(guān)鍵的時(shí)刻也許只有一種用得上,但這一種也許足以成就我們的人生,到那時(shí)我們才能真正體會(huì)到知識(shí)的偉大,才能真正了解老師的重要性。我覺(jué)得要成為一個(gè)合格的程序員,首先要具備的是一種自學(xué)能力,遇到了問(wèn)題自己要有能力去解決,當(dāng)你嘗試了各種方法,實(shí)在無(wú)能為力時(shí)再去請(qǐng)教別人,這時(shí)你所學(xué)的知識(shí)你一生都不會(huì)忘記,它將成為你一生的財(cái)富。有句話說(shuō)得好:進(jìn)攻是最好的防守!當(dāng)你遇到了問(wèn)題,你要試著去解決,編程嘛,想到了就要去試,你的面前就一臺(tái)電腦而已,它又不會(huì)爆炸,你怕什么呢?我不敢說(shuō)我的觀點(diǎn)一定正確,每個(gè)人有每個(gè)人的想法,也正是因?yàn)榇蠹业挠^點(diǎn)各不相同,才使得IT業(yè)這個(gè)新興的產(chǎn)業(yè)在短短的幾十年中得到了長(zhǎng)足的發(fā)展,給人類社會(huì)創(chuàng)造了超過(guò)以往人類社會(huì)所創(chuàng)造的價(jià)值的總和,這不能不令人驚嘆,也正是因?yàn)槿绱耍攀沟梦覍?duì)它產(chǎn)生了強(qiáng)烈地好奇心和探索欲。未來(lái)的社會(huì)是信息的社會(huì),信息業(yè)所創(chuàng)造的財(cái)富在人類社會(huì)中占據(jù)首位,經(jīng)濟(jì)、軍事、教育、醫(yī)學(xué)、農(nóng)業(yè)等領(lǐng)域無(wú)一不用到信息業(yè)所產(chǎn)生的科技成果。我能感受到它所創(chuàng)造的經(jīng)濟(jì)效益會(huì)有多大,所以,我要說(shuō):我愛(ài)編程,??菔癄€,矢志不渝!我是一個(gè)新技術(shù)的狂熱追隨者,每次上網(wǎng)時(shí)總要到MLDN上逛一下,當(dāng)看到短短的幾行代碼卻能產(chǎn)生令人驚嘆的功能時(shí),我就被編程者的那種魅力所折服,我想成為其中的一員,我為自己現(xiàn)在所學(xué)習(xí)的專業(yè)感到自豪。在我學(xué)習(xí)的過(guò)程中我也遇到了很多的問(wèn)題,可是我卻發(fā)現(xiàn)我遇到的好多問(wèn)題在網(wǎng)上總能找到答案,我才明白我遇到的問(wèn)題很多人都遇到過(guò),并且他們也把解決的辦法發(fā)布到了網(wǎng)上,以使我們這些初學(xué)者少走些彎路,我覺(jué)得他們太善良了,同時(shí)我也明白了自己是多么的渺小,我正在走前人走過(guò)的路,到底前面的路有多長(zhǎng)多遠(yuǎn),我不知。他們是開(kāi)路先鋒,他們?yōu)槲覀儗W(xué)習(xí)新技術(shù)新知識(shí)鋪平了道路,我們所要做的就是把他們所
發(fā)明和創(chuàng)造的東西掌握使用而已,并且知識(shí)量又很大,當(dāng)我看到有無(wú)窮無(wú)盡地學(xué)習(xí)資源供我享用時(shí),我只能說(shuō),他們像太陽(yáng)一樣照耀著我成長(zhǎng),他們太好了。當(dāng)我看到程序代碼,我就有一種特別的感覺(jué),讓我不斷想成為一名編程高手,如果真的有一天,我的理想會(huì)實(shí)現(xiàn),我會(huì)加倍努力好好學(xué)編程,永遠(yuǎn)不改變!通過(guò)三個(gè)月的實(shí)訓(xùn),我感到自己學(xué)到了很多東西,雖說(shuō)不精,但已經(jīng)入門,于世間萬(wàn)物之中,遇見(jiàn)我所遇見(jiàn)的事物;于千萬(wàn)年之中,時(shí)間的無(wú)涯荒野里,沒(méi)有早一步,也沒(méi)有晚一步,剛巧趕上了,上蒼讓我有機(jī)會(huì)接觸編程,給了我一條路。我很清楚以后的路還很長(zhǎng),再長(zhǎng)的路,一步步也能走完,再短的路,不邁開(kāi)雙腳也無(wú)法到達(dá)。任何業(yè)績(jī)的質(zhì)變都來(lái)自于量變的積累,成功不是將來(lái)才有的,而是從決定去做的那一刻起,持續(xù)累積而成,讓我們將事前的憂慮,換為事前的思考和計(jì)劃吧!在實(shí)訓(xùn)的過(guò)程中,我深深感覺(jué)到自身所學(xué)知識(shí)的有限,有些知識(shí)點(diǎn)以前沒(méi)有學(xué)過(guò),但我也沒(méi)有去研究,實(shí)訓(xùn)時(shí)突然間覺(jué)得自己真的有點(diǎn)無(wú)知,雖然現(xiàn)在去看依然可以解決問(wèn)題,但要浪費(fèi)許多時(shí)間,這一點(diǎn)是我必須在以后的學(xué)習(xí)中加以改進(jìn)的地方,同時(shí)也要督促自己在學(xué)習(xí)的過(guò)程中不斷的完善自我。另外一點(diǎn),也是在實(shí)訓(xùn)中必不可少的部分,就是同學(xué)之間的互相幫助。所謂”當(dāng)局者迷,旁觀者清”,有些東西感覺(jué)自己做的是時(shí)候明明沒(méi)什么錯(cuò)誤,偏偏程序運(yùn)行時(shí)就是有錯(cuò)誤,讓其他同學(xué)幫忙看了一下,發(fā)現(xiàn)其實(shí)是個(gè)很小的錯(cuò)誤。所以說(shuō),相互幫助是很重要的一點(diǎn),這在以后的工作或生活中也是很關(guān)鍵的。俗話說(shuō):“要想為事業(yè)多添一把火,自己就得多添一捆材”。此次實(shí)訓(xùn),我深深體會(huì)到了積累知識(shí)的重要性。在實(shí)訓(xùn)當(dāng)中我們遇到了不少難題,但是經(jīng)過(guò)我們大家的討論和老師細(xì)心的一一指導(dǎo),問(wèn)題得到了解決。兩個(gè)月的實(shí)訓(xùn)結(jié)束了,收獲頗豐,同時(shí)也更深刻的認(rèn)識(shí)到要做一個(gè)合格的程序員并非我以前想像的那么容易,最重要的還是細(xì)致嚴(yán)謹(jǐn)。社會(huì)是不會(huì)要一個(gè)一無(wú)是處的人的,所以我們要更多更快地從一個(gè)學(xué)生向工作者轉(zhuǎn)變,總的來(lái)說(shuō)我對(duì)這次實(shí)習(xí)還是比較滿意的,它使我學(xué)到了很多東西,為我以后的學(xué)習(xí)做了引導(dǎo),點(diǎn)明了方向,我相信在不遠(yuǎn)的未來(lái)定會(huì)有屬于我們自己的一片美好天空。
第三篇:軟件實(shí)訓(xùn)心得體會(huì)
學(xué)生管理系統(tǒng)實(shí)訓(xùn)心得
通過(guò)為學(xué)期期的實(shí)訓(xùn),我學(xué)習(xí)了很多關(guān)于很多的知識(shí)。在老師的正確指導(dǎo)下,順利的完成了我的實(shí)訓(xùn)內(nèi)容。在此,也有同學(xué)的幫助,在他們的幫助下我也受益匪淺。最終,能順利完成實(shí)訓(xùn)的任務(wù)也高興了。
在實(shí)訓(xùn)生活中,我了解開(kāi)發(fā)項(xiàng)目的需求、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)以及維護(hù)等活動(dòng)整個(gè)過(guò)程,讓自己開(kāi)始懂得一點(diǎn)軟件工程的知識(shí)點(diǎn)。首先,了解需求分析的重要性,比如:需求分析就是分析軟件用戶的需求是什么.如果投入大量的人力,物力,財(cái)力,時(shí)間,開(kāi)發(fā)出的軟件卻沒(méi)人要,那所有的投入都是徒勞.如果費(fèi)了很大的精力,開(kāi)發(fā)一個(gè)軟件,最后卻不滿足用戶的要求,從而要重新開(kāi)發(fā)過(guò),這種返工是讓人痛心疾首的.(相信大家都有體會(huì))比如,用戶需要一個(gè)for linux的軟件,而你在軟件開(kāi)發(fā)前期忽略了軟件的運(yùn)行環(huán)境,忘了向用戶詢問(wèn)這個(gè)問(wèn)題,而想當(dāng)然的認(rèn)為是開(kāi)發(fā)for windows的軟件,當(dāng)你千辛萬(wàn)苦地開(kāi)發(fā)完成向用戶提交時(shí)才發(fā)現(xiàn)出了問(wèn)題,那時(shí)候你是欲哭無(wú)淚了,恨不得找塊豆腐一頭撞死。所以,需求分析是成功的第一步,就是要全面地理解用戶的各項(xiàng)要求,并準(zhǔn)確地表達(dá)所接受的用戶需求。然后呢?確實(shí)客戶的需求的以后我們要做什么呢,那當(dāng)然是設(shè)計(jì)和分析。此階段主要根據(jù)需求分析的結(jié)果,對(duì)整個(gè)軟件系統(tǒng)進(jìn)行設(shè)計(jì),如系統(tǒng)框架設(shè)計(jì),數(shù)據(jù)庫(kù)設(shè)計(jì)等等。軟件設(shè)計(jì)一般分為總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。好的軟件設(shè)計(jì)將為軟件程序編寫打下良好的基礎(chǔ)。接下來(lái)是代碼實(shí)現(xiàn),此階段是將軟件設(shè)計(jì)的結(jié)果轉(zhuǎn)換成計(jì)算機(jī)可運(yùn)行的程序代碼,我們這個(gè)項(xiàng)目為五個(gè)模塊,分別為五個(gè)小組成員完成。這階段我學(xué)到很多編程的思想,如:分層思想、mvc、ssh的整合、dao的編寫。編號(hào)程序之后就是軟件測(cè)試了,此時(shí)在軟件設(shè)計(jì)完成后要經(jīng)過(guò)嚴(yán)密的測(cè)試,以發(fā)現(xiàn)軟件在整個(gè)設(shè)計(jì)過(guò)程中存在的問(wèn)題并加以糾正。整個(gè)測(cè)試過(guò)程分單元測(cè)試、組裝測(cè)試以及系統(tǒng)測(cè)試三個(gè)階段進(jìn)行。測(cè)試的方法主要有白盒測(cè)試和黑盒測(cè)試兩種。在測(cè)試過(guò)程中需要建立詳細(xì)的測(cè)試計(jì)劃并嚴(yán)格按照測(cè)試計(jì)劃進(jìn)行測(cè)試,以減少測(cè)試的隨意性。最后是軟件維護(hù),它是軟件生命周期中持續(xù)時(shí)間最長(zhǎng)的階段。在軟件開(kāi)發(fā)完成并投入使用后,由于多方面的原因,軟件不能繼續(xù)適應(yīng)用戶的要求。要延續(xù)軟件的使用壽命,就必須對(duì)軟件進(jìn)行維護(hù)。
但是,我深深體會(huì)到了在許多方面的欠缺和不足,比如:在需求分析時(shí),由于自己的實(shí)踐經(jīng)驗(yàn)不夠,很難分析需求到位;在編寫代碼時(shí),由于自己技術(shù)知識(shí)水平不廣,常常遇到技術(shù)難題;還有自己沒(méi)有 良好的編程習(xí)慣,不注釋,有時(shí)連自己也看懵了;編程的結(jié)構(gòu)不好,維修和修改代碼是很慢。這次實(shí)訓(xùn)讓我意識(shí)到了自己做為計(jì)算機(jī)軟件工程專業(yè)的學(xué)生,要想在以后的職業(yè)中嶄露頭角,除了要有過(guò)硬的理論知識(shí),健康的體魄外,還必須具備良好的心理素質(zhì),使自己在以后的途中無(wú)論經(jīng)歷什么樣的困難,都立于不敗之地。“紙上得來(lái)終覺(jué)淺,絕知此事要躬行!”在這短短的時(shí)間里,讓我深深的感覺(jué)到自己在實(shí)際應(yīng)用中所學(xué)專業(yè)知識(shí)的匱乏。讓我真真領(lǐng)悟到“學(xué)無(wú)止境”這句話的涵義。而所學(xué)的,都是課本上沒(méi)有而對(duì)我們又非常實(shí)用的東西,這又給我們的實(shí)訓(xùn)增加了濃墨淡采的光輝。我懂得了實(shí)際生活中,專業(yè)知識(shí)是怎樣應(yīng)用與實(shí)踐的。
在這次實(shí)訓(xùn)中,我不僅知道了職業(yè)生涯所需具備的專業(yè)知識(shí),而且讓我深深體會(huì)到一個(gè)團(tuán)隊(duì)中各成員合作的重要性,要善于團(tuán)隊(duì)合作,善于利用別人的智慧,這才是大智慧。靠單一的力量是很難完成一個(gè)大項(xiàng)目的,在進(jìn)行團(tuán)隊(duì)合作的時(shí)候,還要耐心聽(tīng)取每個(gè)成員的意見(jiàn),使我們的組合達(dá)到更加完美。實(shí)訓(xùn)過(guò)程中,除了要專業(yè)知識(shí),包括人際交往,溝通方式及相關(guān)禮節(jié)方面的內(nèi)容,對(duì)于團(tuán)隊(duì)開(kāi)發(fā)來(lái)說(shuō),團(tuán)結(jié)一致使我深有體會(huì)。團(tuán)隊(duì)的合作注重溝通和信任,不能不屑于做小事,永遠(yuǎn)都要保持親和誠(chéng)信,把專業(yè)理論運(yùn)用到具體實(shí)踐中,不僅加深我對(duì)理論的掌握和運(yùn)用,還讓我擁有了一次又一次難忘的開(kāi)發(fā)經(jīng)理,這是也是實(shí)訓(xùn)最大的收獲。
這次實(shí)訓(xùn)帶給我太多的感觸,它讓我知道工作上的辛苦,事業(yè)途中的艱辛。讓我知道了實(shí)際的工作并不像在學(xué)校學(xué)習(xí)那樣輕松。讓我學(xué)到了很多課堂上更本學(xué)不到的東西,仿佛自己一下子成熟了,懂得了做人做事的道理,也懂得了學(xué)習(xí)的意義,時(shí)間的寶貴,人生的真諦。明白人世間一生不可能都是一帆風(fēng)順的,只要勇敢去面對(duì)人生中的每個(gè)驛站!這讓我清楚地感到了自己肩上的重任,看清了自己的人生方向,也讓我認(rèn)識(shí)到了做軟件應(yīng)支持仔細(xì)認(rèn)真的工作態(tài)度,要有一種平和的心態(tài)和不恥下問(wèn)的精神,不管遇到什么事都要總代表地去思考,多聽(tīng)別人的建議,不要太過(guò)急燥。人非生而知之,雖然我現(xiàn)在的知識(shí)結(jié)構(gòu)還很差,但是我知道要學(xué)的知識(shí),一靠努力學(xué)習(xí),二靠潛心實(shí)踐。沒(méi)有實(shí)踐,學(xué)習(xí)就是無(wú)源之水,無(wú)本之木。這次實(shí)訓(xùn)讓我在一瞬間長(zhǎng)大:我們不可能永遠(yuǎn)呆在象牙塔中,過(guò)著一種無(wú)憂無(wú)慮的生活,我們總是要走上社會(huì)的,而社會(huì),就是要靠我們這些年輕的一代來(lái)推動(dòng)。這就是我們不遠(yuǎn)千里來(lái)實(shí)訓(xùn)的心得和感受,而不久后的我,面臨是就業(yè)壓力,還是繼續(xù)深造,我想我都應(yīng)該好好經(jīng)營(yíng)自己的時(shí)間,充實(shí)、完善自我,不要讓自己的人生留下任何空白!
從初出茅廬,到現(xiàn)在可以熟練的按照流程開(kāi)發(fā)軟件,這都與我組每個(gè)成員的努力是分不開(kāi)的。在實(shí)訓(xùn)中,教會(huì)了我們很多東西,同時(shí)也鍛煉了大家踏實(shí)、穩(wěn)重、溝通的能力,每個(gè)人都很珍惜這來(lái)之不易的實(shí)訓(xùn)機(jī)會(huì)。在工作中,經(jīng)常會(huì)和不同的人打交道,然而他們的態(tài)度是不可恭維的,你會(huì)感覺(jué)到他的不耐煩以及他的高傲,所以這就需要學(xué)會(huì)溝通的方式及說(shuō)話技巧,學(xué)會(huì)靈活面對(duì)。
在這學(xué)期的實(shí)訓(xùn)中,我受益匪淺,不僅專業(yè)知識(shí)增長(zhǎng)了,最主要是懂得了如何更好的為人處事、團(tuán)隊(duì)合作,感覺(jué)自己比以前成熟多了。正因?yàn)閷W(xué)習(xí)上有所收獲,思想上也就豁然開(kāi)朗起來(lái)。通過(guò)這次實(shí)訓(xùn),我覺(jué)得要改變以前錯(cuò)誤的思想,想把各項(xiàng)工作做好,就必需要不斷的學(xué)習(xí),不斷的充電,也只有不斷的學(xué)習(xí)、充電,才能提高自已的工作能力。古人云,“活到老、學(xué)到老”,這句話是很有道理的。
社會(huì)的競(jìng)爭(zhēng)是激烈的,我想我們應(yīng)該好好把握住大學(xué)學(xué)習(xí)的時(shí)間,充實(shí)、完善自我,全面發(fā)展,攻破電腦,爭(zhēng)取做一名出色的程序員。我們深刻的了解到,只有經(jīng)歷過(guò),才知道其中的滋味。
對(duì)于我而言,可以說(shuō)通過(guò)這次實(shí)訓(xùn),真真切切的讓我了解了什么是軟件開(kāi)發(fā),什么是軟件,讓我對(duì)于軟件最初的觀點(diǎn)也有了本質(zhì)性的改變!程序員不僅僅是一份職業(yè),更是一份細(xì)心+一份耐心+一份責(zé)任心=人生價(jià)值的詮釋。
第四篇:軟件實(shí)訓(xùn)心得
武漢理工大學(xué)《工程軟件應(yīng)用訓(xùn)練》心得體會(huì)
工程軟件應(yīng)用訓(xùn)練
題目
學(xué)院
專業(yè)
班級(jí)
姓名 指導(dǎo)教師
心得體會(huì) 汽車工程學(xué)院 車輛工程 車輛1001熊 欣
2012 年 8 月 30 日
AutoCAD使用心得體會(huì)
正如課程設(shè)計(jì)教學(xué)目的所言“從產(chǎn)品裝配測(cè)繪、計(jì)算機(jī)繪圖、三維CAD建模、參數(shù)化設(shè)計(jì)等方面進(jìn)一步加深和拓寬學(xué)生在工程制圖、機(jī)械CAD技術(shù)等課程中所學(xué)基本知識(shí),結(jié)合實(shí)際機(jī)械產(chǎn)品(模型)設(shè)計(jì)的具體問(wèn)題,培養(yǎng)學(xué)生理論聯(lián)系實(shí)際認(rèn)識(shí)和解決問(wèn)題的能力,為后續(xù)專業(yè)課程和相關(guān)實(shí)踐環(huán)節(jié)的學(xué)習(xí)奠定基礎(chǔ)。”通過(guò)這次軟件實(shí)訓(xùn),我深深的體會(huì)到自己在理論知識(shí)和工程應(yīng)用上的不足。
我作為一名車輛工程的學(xué)生,之后到了工作崗位上,也許會(huì)從事設(shè)計(jì)方面的工作,這時(shí)學(xué)習(xí)CAD就至關(guān)重要了。CAD可以將圖示清晰明了的體現(xiàn)出來(lái),讓人一目了然,尺寸大小形狀都有體現(xiàn),是設(shè)計(jì)者和實(shí)施者的橋梁,從一張CAD圖紙可以看出設(shè)計(jì)者的構(gòu)思,簡(jiǎn)單明了。CAD實(shí)際用途的廣泛性不僅體現(xiàn)在我們環(huán)境工程這個(gè)專業(yè)上,在其他的專業(yè)也有體現(xiàn)??梢哉f(shuō)CAD是今后我們軟件應(yīng)用的一個(gè)基礎(chǔ),無(wú)論是設(shè)計(jì)還是施工都要看懂CAD圖,學(xué)會(huì)應(yīng)用和繪制CAD圖。
經(jīng)過(guò)這兩個(gè)多月的學(xué)習(xí),我掌握了CAD制作的基本操作,簡(jiǎn)單了解了CAD的實(shí)際用途。CAD即計(jì)算機(jī)輔助設(shè)計(jì)(CAD-Computer Aided Design),是利用計(jì)算機(jī)及其圖形設(shè)備幫助設(shè)計(jì)人員進(jìn)行設(shè)計(jì)工作的一種軟件。它是Autodesk公司出品的一款著名的專業(yè)制圖設(shè)計(jì)軟件,功能非常強(qiáng)大,已經(jīng)成為國(guó)際制圖設(shè)計(jì)的標(biāo)準(zhǔn)軟件。在機(jī)械、建筑、服裝、電子等各個(gè)方面都有應(yīng)用。尤其在機(jī)械行業(yè)是離不開(kāi)這個(gè)軟件的。CAD可以繪制機(jī)械、建筑、航空、石油等多方面的二維平面圖形和三維立體圖形等等,它的使用性是非常之廣泛的。我們?cè)诶L制圖形的時(shí)候要注意線條的寬度,字體的美觀、尺寸也相當(dāng)準(zhǔn)確,在命令提示行里輸入多少就是多少,方便簡(jiǎn)潔。
對(duì)于平時(shí)作業(yè)和繪圖時(shí)遇到的問(wèn)題,主要是對(duì)于軟件很多繪圖修改命令的不熟練。就拿繪制直線為例,如果不打開(kāi)正交的命令則會(huì)導(dǎo)致直線的不平整,對(duì)于繪制水平豎直的圖形有很大的不便,使之不能很好的對(duì)齊,又如不打開(kāi)線寬的命令就不會(huì)體現(xiàn)線條的粗細(xì)等等。還有圖層的建立和應(yīng)用的問(wèn)題,需要將要繪制的圖層設(shè)置為當(dāng)前,很多時(shí)候就是因?yàn)橥浽O(shè)置當(dāng)前,造成了很多不必要的麻煩。而且圖層繪制時(shí)也要好好的選擇線性和顏色才不會(huì)造成后來(lái)返工的局面。
用CAD畫圖,打開(kāi)對(duì)象捕捉就能把有特征的點(diǎn)標(biāo)出來(lái),但是很多時(shí)候要適時(shí)地使
用。CAD中尺寸標(biāo)注也很快捷,兩個(gè)點(diǎn)一拉,左鍵一點(diǎn)就完成一個(gè)標(biāo)注,不用畫箭頭,不用標(biāo)文字,只要自己設(shè)計(jì)好標(biāo)注格式,計(jì)算機(jī)就能按要求標(biāo)出來(lái)。插入文字也很方便,但是要注意字的格式要提前設(shè)好,防止不必要的麻煩。
對(duì)于已經(jīng)繪制的好的圖像修改圖層,我和很多人一樣遇到了類似的問(wèn)題,在圖層選擇時(shí)沒(méi)有選定為當(dāng)前,使得想要的圖形沒(méi)有到規(guī)定的圖層中去。這時(shí),要將所要更改的圖形進(jìn)行選定,點(diǎn)擊右鍵,在最后一個(gè)特性中將所要更改的更改過(guò)來(lái),無(wú)論是顏色還是線性還是圖層都可以同一的修改。這時(shí)就比較方便,可以很多線條的修改不存在干擾的問(wèn)題。
雖然最后的圖紙并沒(méi)有達(dá)到預(yù)期的效果,但是我切實(shí)收獲了很多。在這兩個(gè)月中進(jìn)行了很多的探索,付出了很多的時(shí)間和精力。雖然我的作品并不是最好的,但是里面注入了我太多太多的心血,我們對(duì)自己很滿意。很感謝老師對(duì)我們的指導(dǎo),讓我也對(duì)設(shè)計(jì)這個(gè)領(lǐng)域的職業(yè)產(chǎn)生了興趣,很希望可以從事這方面的工作。
第五篇:軟件實(shí)訓(xùn)心得
轉(zhuǎn)眼間,到昆山已經(jīng)兩個(gè)多月了。不知不覺(jué)中我已經(jīng)從一個(gè)在校生變成了一個(gè)職員。這跟在我們學(xué)校是完全不一樣的。除此之外,安博還制定了嚴(yán)格的制度,這些使我們?cè)诎膊┑呐嘤?xùn)像職工在公司工作一樣,讓我們提早接觸到公司的氛圍。
來(lái)安博最重要的目的還是學(xué)技術(shù),那就說(shuō)說(shuō)這里的教育情況吧。安博實(shí)行的是上午授課,下午上機(jī)練習(xí)的制度。我覺(jué)得我們這個(gè)班上午的授課經(jīng)理非常好,他對(duì)java的理解非常透徹。我在大學(xué)學(xué)了半年的java,僅僅停留在表面上,對(duì)實(shí)質(zhì)的內(nèi)容根本都不了解。比如說(shuō)==與equals的區(qū)別,方法的覆蓋,變量的隱藏等等。老師通過(guò)圖的方式,給我們講解它們?cè)趦?nèi)存中的情況,使我們從本質(zhì)上了解了這些東西。他的這種授課方式,既生動(dòng)又形象,徹底地將問(wèn)題講明白,我們接受起來(lái)輕松容易,也不容易遺忘。
除了他的講課方式以外,他還是一個(gè)非常幽默的人,坐在凳子上聽(tīng)四個(gè)小時(shí)的課,會(huì)很乏味的,他時(shí)不時(shí)的給我們說(shuō)一些搞笑的事,或者開(kāi)玩笑的話,使課堂氣氛非?;钴S。他每講完一個(gè)新知識(shí)點(diǎn),都給我們留一點(diǎn)時(shí)間練習(xí),加深對(duì)新知識(shí)的理解。我們有什么問(wèn)題,他都會(huì)很耐心的跟我們講解,不管程度是好是壞,他都一樣對(duì)待??傊?,聽(tīng)他的課就是一種享受。他還把跟知識(shí)相關(guān)的材料發(fā)給我們,讓我們有研究的空間。有時(shí)還給我們一些面試題,讓我們提早看,只有準(zhǔn)備好了去應(yīng)聘才有機(jī)會(huì)。
昆山還給我們開(kāi)了一些素質(zhì)課,講解一些職場(chǎng)素質(zhì),如何為人處事,如何同面試官講話,還要求我們?cè)谌粘I钪幸脖M量做到。在我們就業(yè)之前開(kāi)這樣的課,對(duì)我們這些即將踏入社會(huì)的大學(xué)生來(lái)說(shuō)是非常重要的。公司招聘員工,一看實(shí)力,二看素質(zhì),兩者缺一不可。
總之在昆山的這段時(shí)間中,我學(xué)到了很多。時(shí)間雖短,但所學(xué)到的和知識(shí)的實(shí)用性很強(qiáng)。所有的老師們都教給了我們很多工作習(xí)慣、工作技巧、日常禮儀、職業(yè)素養(yǎng)和心態(tài)方面的東西。使我們對(duì)今后的工作有了新的認(rèn)識(shí),增添的極大的信心。
學(xué)會(huì)學(xué)習(xí)和團(tuán)結(jié)
我們學(xué)了半個(gè)多月的基礎(chǔ)知識(shí),也該是用一用的時(shí)候了。這半個(gè)多月,應(yīng)該算是安博給我們安排的p階段的訓(xùn)練時(shí)間。我們開(kāi)始接觸一些小型的系統(tǒng),實(shí)訓(xùn)員工管理系統(tǒng)等。這些小型的系統(tǒng)鞏固了我們的基礎(chǔ)知識(shí),讓我們學(xué)會(huì)了一些編程的技巧,以及一些驗(yàn)證的方法。
每做完一個(gè)系統(tǒng),我們都有一個(gè)項(xiàng)目演示環(huán)節(jié)。自己帶著項(xiàng)目在全班學(xué)生的面前演示。講解自己是如何實(shí)現(xiàn)的,說(shuō)出自己系統(tǒng)的亮點(diǎn)和不足,然后由其他學(xué)生來(lái)挑系統(tǒng)的毛病,找出漏洞。通過(guò)這種方式,你可以學(xué)到其他學(xué)生的優(yōu)點(diǎn),別人好的編程思想你可以在以后的項(xiàng)目中運(yùn)用。這是一個(gè)自我提高的方式。
接下來(lái)我們做了一個(gè)財(cái)務(wù)管理系統(tǒng),用mvc三層架構(gòu)實(shí)現(xiàn)的,jsp+struts+hibernate,這個(gè)系統(tǒng)是我們小組共同完成的,jsp用于前臺(tái)的顯示,struts調(diào)用bean的方法與數(shù)據(jù)庫(kù)連接。這個(gè)系統(tǒng)做完之后,我覺(jué)得一個(gè)項(xiàng)目的流程圖是十分的重要。如果沒(méi)有總體的框架,后期修改會(huì)是很麻煩的。做項(xiàng)目之前我們應(yīng)該先總體考慮一下布局,不要急著編程。在做項(xiàng)目的這段時(shí)間里,我感覺(jué)自己的知識(shí)面太窄了,書到用時(shí)方恨少。做項(xiàng)目不僅檢查了我們的基礎(chǔ)知識(shí)掌握程度,而且給我們提供了自我提高的機(jī)會(huì)。項(xiàng)目做完以后,我感觸頗深。以前在學(xué)軟件工程的時(shí)候,一直不覺(jué)的文檔很重要,老是認(rèn)為編碼最重要,做這個(gè)項(xiàng)目糾正了我的錯(cuò)誤認(rèn)識(shí)。我認(rèn)識(shí)到概要設(shè)計(jì),詳細(xì)設(shè)計(jì)是何等的重要。團(tuán)隊(duì)合作,最重要的是合作精神,不能自己一個(gè)人編程,不管其他的人。項(xiàng)目都是分模塊做的,每個(gè)模塊直接是有聯(lián)系的,組內(nèi)必須協(xié)調(diào)好,否則在整合的過(guò)程中會(huì)出很多的問(wèn)題。一個(gè)大項(xiàng)目給個(gè)人自我發(fā)揮的余地是很大的。如果數(shù)據(jù)庫(kù)里的數(shù)據(jù)太多,在顯示的時(shí)候就應(yīng)該考慮分頁(yè),分頁(yè)的方法有很多種,這就是一個(gè)值得鉆研的問(wèn)題。在此期間我學(xué)會(huì)了自己解決問(wèn)題的能力,在發(fā)現(xiàn)錯(cuò)誤的過(guò)程中,才能學(xué)到更多的知識(shí)。知識(shí)是無(wú)窮的,不要為了就業(yè)而學(xué)習(xí),而是為了提高而學(xué)習(xí)。多讀書,能提高自己的邏輯思維能力。要多和其他人交流,不要閉門造車。
實(shí)習(xí)感受
不知不覺(jué)在大學(xué)已經(jīng)度過(guò)了2年的時(shí)光,為了讓即將面臨畢業(yè)的我們能有一個(gè)好的就業(yè)前景,中國(guó)管理軟件學(xué)院決定讓我們把后半年作為一個(gè)實(shí)習(xí)年。由于我們是安博定向培養(yǎng)的所以我們實(shí)訓(xùn)有安博來(lái)提供基地。
做了十幾個(gè)小時(shí)的火車,我終于來(lái)到了很多人都向往的江蘇。由于第一次到南方,心里也隱藏著那么多的誘惑。
但是在學(xué)習(xí)的過(guò)程中,總有那么多新鮮事物進(jìn)入我的視野,這時(shí)才感嘆自己的知識(shí)面是多么的狹窄,同時(shí)也為自己在學(xué)校里沒(méi)有好好學(xué)習(xí)感到愧疚。書到用時(shí)方恨少,這種感覺(jué)讓我深深體會(huì)到自己的無(wú)知。來(lái)到這里以后我的求知欲望更加強(qiáng)烈了,想的最多的就是如何將自己的學(xué)到的知識(shí)真正的融入到現(xiàn)實(shí)技術(shù)中。
軟件業(yè),讓多少人為之瘋狂,它的魅力的確很大,涉及的知識(shí)是那么的廣泛,讓我總覺(jué)得自己的知識(shí)不夠用,每天早上8點(diǎn)半,到下午5點(diǎn)半的培訓(xùn)時(shí)間要學(xué)習(xí)企業(yè)中所需的技術(shù)知識(shí),其他的時(shí)間,就只剩自己瘋狂的練習(xí);來(lái)到這里才感覺(jué)自己在大學(xué)的生活是那么悠閑自在。
也許人都是那樣,往往都是事情來(lái)臨的時(shí)候才為自己的所作所為感到后悔。來(lái)到這里沒(méi)有聯(lián)系太多的朋友,心中唯一的目標(biāo)就是將需要的知識(shí)好好學(xué)到手,以便能夠更好的在工作時(shí)熟練使用。
有時(shí)候寂寞只是一種態(tài)度。來(lái)這里沒(méi)有感覺(jué)太多的孤獨(dú),每天都充滿激情的去迎接新事物,去面對(duì)新知識(shí)。一步一步設(shè)計(jì)自己未來(lái)的路線并將其實(shí)現(xiàn)。
雖然來(lái)這邊的同學(xué)還有很多,但大家都很清楚的自己的職責(zé),我們抵擋住了很多誘惑,都在為著自己的目標(biāo)而奮斗。在這里我只想說(shuō)一句,就是感謝安博能夠提供給我們這個(gè)機(jī)會(huì),讓我們提前接觸社會(huì),認(rèn)識(shí)自己,相信出來(lái)培訓(xùn)的同學(xué)都將會(huì)有一個(gè)更加深刻的認(rèn)識(shí),來(lái)為自己的未來(lái)奮斗!
或得或失
2個(gè)月的培訓(xùn)眼看就要結(jié)束了,剛開(kāi)始覺(jué)得好漫長(zhǎng),現(xiàn)在卻感覺(jué)過(guò)得好快啊,也就是一眨眼的時(shí)間。可是,通過(guò)這次培訓(xùn)我懂得了好多,明白了好多。
隨著畢業(yè)時(shí)間的臨近,心里越來(lái)越不安,也變得很浮躁,不知道自己畢業(yè)后該去哪里。這時(shí)才體會(huì)到社會(huì)上說(shuō)得“畢業(yè)就意味著失業(yè)”和老師所說(shuō)的就業(yè)壓力。
回想自己2年的大學(xué)生活,感覺(jué)就這樣不知不覺(jué)走了過(guò)來(lái),似乎昨天才踏進(jìn)大學(xué)校門,今天就要畢業(yè)了。2年里自己都做了什么,學(xué)到了什么,想到這里,心里就更沒(méi)底了,似乎什么也沒(méi)有學(xué)到,什么也沒(méi)有做過(guò)。
學(xué)習(xí)期間深深體會(huì)到自己在大學(xué)里學(xué)的東西其實(shí)都很重要,以前以為沒(méi)有用的科目,到了這兒才知道這千絲萬(wàn)縷的關(guān)系,所有的課程都是有用的。學(xué)校的科目是基礎(chǔ),所以不要認(rèn)為自己現(xiàn)在學(xué)的沒(méi)有用,知識(shí)不管是在什么時(shí)候總是有用的。
走編程這條路其實(shí)不是自己原本的打算,以前一直以為自己壓根就不是編程的料,認(rèn)為編程從來(lái)都不會(huì)是自己想做的事情,把編程看的很難很難。經(jīng)過(guò)自己的努力以后才發(fā)現(xiàn),原來(lái)很多事情都是我們自己把它想復(fù)雜了,編程也不是那么的難。只要努力,沒(méi)有什么是不可能的。
總之,我不后悔自己的選擇,也會(huì)一直堅(jiān)持下去。