網站首頁 個人範例 行業範例 行政範例 職場範例 校園範例 書信範例 生活範例 節日文化範例

.net實習總結報告

欄目: 實習總結 / 發佈於: / 人氣:1.26W

一、實訓概要

.net實習總結報告

1、實訓內容

在將近一個月的時間內,本人和項目組其他成員一起,完成了一個基於微軟技術的網絡辦公自動化系統(簡稱OA系統),該系統主要包括以下五個模塊:考勤管理;短信管理;郵件管理;聯繫人管理和客户管理。

2、擔任角色

本人在團隊中擔任頁面美工和程序員的角色,主要製作了母板頁和短信管理模塊的全部頁面,並且製作了與之相關的類圖、用例圖和數據庫表,成功完成了短信模塊的編程開發工作。

3、實訓結果

通過本次實訓,主要培養了自己的規範研發能力,學習了企業項目開發的整個過程和團隊項目開發經驗,並且加強了新技術的學習,熟練掌握了常用的軟件開發工具(如VisualStudio 2005) 的操作規程。

二、技術收穫

1、系統企業架構

在研發的開始階段,先學習了PETSHOP 4.0的系統架構,系統掌握了規範開發中的架構體系,為開發順利進行打下基礎。該系統採用常見的分層架構模式,一般分為三層,從下至上分別為:數據訪問層、業務邏輯層(又或成為領域層)、表示層。

(1)數據訪問層:有時候也稱為是持久層,其功能主要是負責數據庫的訪問。簡單的説法就是實現對數據表的Select,Insert,Update,Delete的操作。在PetShop的數據訪問層中,由於沒有使用ORM,從而導致了代碼量的增加,可以看作是整個設計實現中的一大敗筆。

(2)業務邏輯層:是整個系統的核心,它與這個系統的業務(領域)有關。以PetShop為例,業務邏輯層的相關設計,均和網上寵物店特有的邏輯相關,例如查詢寵物,下訂單,添加寵物到購物車等等。如果涉及到數據庫的訪問,則調用數據訪問層。

(3)表示層:是系統的UI部分,負責使用者與整個系統的交互。在這一層中,理想的狀態是不應包括系統的業務邏輯。表示層中的邏輯代碼,僅與界面元素有關。在PetShop中,是利用來設計的,因此包含了許多Web控件和相關邏輯。

2、頁面相關技術

(1)頁面的處理順序:

頁面是由事件來驅動的,首先執行的是Init事件,在代碼中,系統自動增加了一個OnInit的重載函數,從而在頁面Init的時候就執行這個OnInit函數。在這個函數中,會執行InitializeComponent函數,這個函數裏就有很多控件事件的代理函數。頁面在執行完Init之後,就是Load事件,對應的代碼就是Page_Load。 然後就是引起頁面返回的事件的代碼,當然,如果頁面是第一次運行的話,就沒有這一步了。 也就是説,頁面每次刷新的時候都會執行Page_Load函數,這也就是為什麼有些代碼要寫在

if (!stBack)

{ ... }

中的原因。比如有一個文本框,如果在Page_Load中設置初始值,放在哪兒呢?如果放在if外面,那每次刷新的時候都會執行這個賦值語句,即使在頁面中修改了文本框的值,在返回之後仍然會消失,但是如果放在if之中,那就可以了,返回之後文本框中仍然是先前的值。很多次實驗中DataGrid無法獲取編輯後的值,也可能就是這個原因。

(2)JavaScript在頁面中的應用:

雖然採用新的運行機制,但是最後生成的還是能被一般瀏覽器識別的HTML和JavaScript代碼,在頁面中,仍然可以通過e來寫出一段JS代碼,比如要彈出一個新的瀏覽器窗口,可以用e(@"");在Web控件中,Attributes屬性集合也和JS聯繫緊密。新增加的一個Attributes元素就對應Web控件最後生成的HTML代碼的一個屬性或者事件。

(3)Web控件

有幾個控件是我們應該有很深的理解的:DataGrid、DataList。這兩個控件在顯示數據上為我們提供了極大的方便,它們的各種用法,需要我們在實踐中不斷摸索、不斷總結。另外,自定義控件也是一個比較重要的範圍。在自定義控件的類型選擇上,如果你只是一般的顯示一些固有的控件,而不作屬性、事件的操作,那寫成User Control會簡單一點,這樣的自定義控件相當於ASP中通過include執行的代碼。如果你想在設計、運行中修改控件內部的屬性、得到控件的某些事件,那最好寫成一個dll文件,也就是寫成一個類,這樣的控件可以像一般的Web控件一樣,用鼠標拖動大小,設置屬性,獲取事件等。

3、數據處理相關

(1)將緩存信息綁定到DataGrid上

private void bindCache()

{

string str = ();

DataTable table = new DataTable();

("CacheName", typeof(string));

("CacheType", typeof(string));

IDictionaryEnumerator enumerator = numerator();

int num = 0;

while (Next())

{

bool flag = true;

if ((str != "") && (ring()xOf(str) < 0))

{

flag = false;

}

if (flag)

{

num++;

DataRow row = ow();

row["CacheName"] = ;

row["CacheType"] = ype();

(row);

}

}

= ring()();

Source = table;

Bind();

}

(2)清除指定的緩存

Private void DataGrid1_DeleteCommand(object source, GridCommandEventArgs e)

{

string text = s[0];

if (e[text] != null)

{

ve(text);

Cache();

}

}

三、經驗教訓

1、編譯錯誤和警告處理

警告: 不能將項目xxxxx中的依賴項“xxx, Version=1.0.1777.21016, Culture=neutra,複製到運行目錄,因為它將改寫引用“xxx, Version=1.0.1777.23397, Culture=neutral”。”

分析:

A是一個公用的類庫,很多其它的項目都會引用到它。

B是一個項目,其中就引用到了

C也是一個項目,不過C要引用A和B

問題就是:當A重新編譯了之後,B並沒有重新編譯,這個時候如果編譯C就會有上面那樣的警告。這是因為如果一個項目引用了一個庫,那麼編譯該項目的時候,編譯器默認是要把這個庫複製到該項目的輸出目錄下的(當然你可以修改這個設置)。對這個例子來説就是要把和複製到C的輸出目錄下。先説,首先會把複製到C的輸出目錄下;再説,因為B引用了A,所以會把B目錄下的和一起復制到C的輸出目錄下,這個時候就出問題了。因為B沒有重新編譯,所以B目錄下的的版本就比C目錄下的已經有了的版本要低,編譯器就會報那個錯誤了。

錯誤:當生成 Visual C# 應用程序時,可能會在編譯器中收到以下錯誤信息:

error CS0518: The predefined type 'type' is not defined or imported(未定義或導入預定義類型“type”)

原因:可能在命令行編譯器上指定了 /nostdlib 選項; 程序可能包含對不正確的 文件的引用; 可能沒有正確地將 Visual Studio 或 框架軟件開發工具包 (SDK) 安裝在系統上; 系統上可能有早先安裝的 框架 SDK 的殘留組件,而這些組件與最新的安裝版本不兼容。

解決方案:若要解決這一問題,可以按照下列步驟操作: 確保不在命令行編譯器中指定 /nostdlib 選項。確保項目引用正確的 文件。 如果第 1 步和第 2 步都不能解決這個問題,則重新安裝 框架 SDK。

2、頁面美化經驗

內容,尤其是表格當中上下兩單元格的圖片連不到一塊,即總是在兩個圖片之間出現一些不希望有的空隙時,將兩個單元格中再分別嵌入一個表格再將兩圖片分別放入其中。則可以解決些問題。

熱區的建立代碼:

圖片當做為鏈接時有時會出現奇怪的邊框,解決方法,將圖片的border手動設為0.

設計頁面時的順序最好是:首先設計出網頁圖片,然後將網頁圖片做成網頁,最後在此基礎上加入動態控制的東西。

四、展望及建議

1、開發前景展望

在本次實訓中,我們僅僅實現了最基本的網絡辦公功能,但是,在網絡辦公領域出現的新技術和新功能我們都沒有涉及。鑑於這些缺陷,我想應該從以下兩個方面改進:功能完善和技術領先。

(1)功能完善

網絡辦公系統發展到今天,在功能方面已經很完善了。除了我們開發的考勤,郵件等宮恩年個以外,還有與手機等現代通訊體系相關的一些核心功能。例如:可以兼容短信,移動網絡和短距離網絡通信等多種通信方式,可以工作在各種基於mobile的智能手機平台,能夠提供短信的分發、後處理,數據流傳送、文件分發、通信,移動設備與固定終端的同步、互動及一體化的功能。

(2)技術領先

通過學習惠普的新技術,把網絡打印、網絡複印、網絡傳真、網絡掃描等功能有機地整合在一起,實現真正的遠程自動化辦公。

2、實訓建議

1、加強校內實訓室的建設與管理,保證實訓時間靈活;

實訓室是開展實訓教學的場所,是實訓教學的基本保證,因此必須加強建設。

(1)完善與規範項目實訓室,我們現有實訓室在實訓中已發揮了重要作用。但是

實訓室的管理存在問題,比如開放時間和日常管理方面(2)根據實訓內容及時更新與調整配置新的設備,以滿足實訓之需。

2、規範專業實訓體系,制定正規實訓大綱。

(1)根據國家標準,制訂有專業特色的實訓大綱。規範教學大綱和明確具體的考核標準:學生實訓守則、學生實訓成績考核辦法、實訓安排(內容、學時分配等)、實訓考核評分標準等。這些要提前讓我們知道;

(2)實訓組織、過程設計。實訓設計組織應遵循:合理性、準確性、可行性、簡潔性原則。應由專任教師根據實際情況制定;

(3)實訓結果評價,要求指導教師對我們所做作品進行收集、保存、評價或現場評價;

(4)進行分層次、分組實訓教學。進行分組分層實訓,並在分組中形成快中慢班。這種做法,切合學生的實際,更符合學生的要求,因材施教,可培養一批基礎好,肯鑽研的技能高手,滿足各層次操作技能的學習。

(5)注重技能考核,促實訓教學質量。每個實訓教學階段結束後,學校應組織學生參加各種國家勞動技能考核。一方面促進了學生的學習,另一方面也考核了學校實訓教學效果。