版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課題:企業(yè)設(shè)備信息管理系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)一、課程設(shè)計(jì)的目的和意義2二、需求分析2三、系統(tǒng)設(shè)計(jì)4四、數(shù)據(jù)庫(kù)設(shè)計(jì)5五、系統(tǒng)測(cè)試(運(yùn)行界面)6六、小結(jié)11七、程序源代碼11一、課程設(shè)計(jì)的目的和意義目前儀器設(shè)備管理水平不是很高。大多數(shù)儀器設(shè)備管理辦法是儀器設(shè)備采購(gòu)進(jìn)來(lái)以后,將儀器設(shè)備的基本情況和相關(guān)信息登記存檔,然后將檔案存檔。以后檔案基本就沒(méi)人維護(hù),如儀器設(shè)備位置變遷、檢修情況、儀器設(shè)備當(dāng)前運(yùn)行狀態(tài)等信息根本不會(huì)體現(xiàn)在儀器設(shè)備臺(tái)帳上,即儀器設(shè)備跟蹤信息不能及時(shí)體現(xiàn)在儀器設(shè)備檔案上。某些使用儀器設(shè)備管理系統(tǒng)的單位,對(duì)儀器設(shè)備的跟蹤信息即使能體現(xiàn)在儀器設(shè)備檔案上,但儀器設(shè)備的缺陷處理及儀器設(shè)備缺陷等功能沒(méi)有
2、實(shí)施。整個(gè)儀器設(shè)備管理信息化仍處于較低水平。本次課程設(shè)計(jì)就是為了方便儀器設(shè)備進(jìn)行統(tǒng)計(jì)及管理工作,將管理任務(wù)分成小塊,落實(shí)到個(gè)人并能隨時(shí)查詢儀器設(shè)備當(dāng)前情況和歷史情況,對(duì)儀器設(shè)備的可靠性分析有直接作用,使管理人員從手工計(jì)算、統(tǒng)計(jì)工作中解脫出來(lái),提高的現(xiàn)代化管理水平。二、需求分析本系統(tǒng)功能主要設(shè)計(jì)了對(duì)設(shè)備的管理,主要完成簡(jiǎn)單的對(duì)設(shè)備數(shù)據(jù)庫(kù)增刪查改。對(duì)于支持該系統(tǒng)的數(shù)據(jù)庫(kù),建立了5張表,分別是設(shè)備表、設(shè)備借出情況表、可用設(shè)備情況表、設(shè)備維修情況表和員工表。這對(duì)每一項(xiàng)功能,都有必要的驅(qū)動(dòng)信息和功能上的約束。以設(shè)備表為例,設(shè)備管理分為四部分:添加設(shè)備,刪除設(shè)備,瀏覽設(shè)備,查詢?cè)O(shè)備。添加設(shè)備時(shí)應(yīng)該能對(duì)一些
3、有限制的信息做好正確的檢查,錄入的設(shè)備信息應(yīng)包括設(shè)備編號(hào)、設(shè)備名稱、品牌、購(gòu)買時(shí)間、生產(chǎn)時(shí)間,并且在信息輸入時(shí)應(yīng)及時(shí)對(duì)信息的合法性進(jìn)行檢查;刪除設(shè)備可以根據(jù)輸入設(shè)備的名稱進(jìn)行刪除;查詢?cè)O(shè)備主要是對(duì)具有相關(guān)特征的設(shè)備信息進(jìn)行查找;瀏覽設(shè)備是按照管理員的要求將用戶所需的數(shù)據(jù)抽取出來(lái)自動(dòng)生成報(bào)表,該項(xiàng)功能應(yīng)該能夠合理的抽取所需的信息集合,全面合理提供用戶所需的數(shù)據(jù)。本系統(tǒng)的功能層次圖: 設(shè)備管理系統(tǒng)設(shè)備管理員工管理設(shè)備借出情況設(shè)備維修情況設(shè)備基本情況 圖-1 功能層次圖三、系統(tǒng)設(shè)計(jì)借出生產(chǎn)時(shí)間品牌 設(shè)備設(shè)備編號(hào)設(shè)備名稱購(gòu)買時(shí)間維修 員工員工編號(hào)員工姓名員工性別員工年齡借用日期序號(hào)維修日期序號(hào)借用天數(shù)
4、維修狀態(tài)nmmn 圖2-設(shè)備E-R圖四、數(shù)據(jù)庫(kù)設(shè)計(jì)表1:device設(shè)備表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度主外鍵允許空說(shuō)明1de_novarchar50主鍵否設(shè)備編號(hào)2de_namevarchar50否設(shè)備名稱3de_brandvarchar50否品牌4de_btimevarchar50是購(gòu)買時(shí)間5de_ptimevarchar50是生產(chǎn)時(shí)間表2:lend_device設(shè)備借出情況表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度主外鍵允許空說(shuō)明1lend_numint4主鍵否序號(hào)2de_novarchar50否設(shè)備編號(hào)3de_namevarchar50否設(shè)備名稱4st_novarchar50否員工編號(hào)5st_namevarchar
5、50否員工名稱6lend_daysint4否借用天數(shù)7lend_datevarchar50否借用日期表3:remian_device可用設(shè)備表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度主外鍵允許空說(shuō)明1remian_numint4主鍵否序號(hào)2de_novarchar50外鍵否設(shè)備編號(hào)3de_namevarchar50否設(shè)備名稱4de_conditionvarchar50是設(shè)備狀態(tài)表4:repair_device設(shè)備維修情況表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度主鍵允許空說(shuō)明1repair_numint4主鍵否序號(hào)2st_novarchar50否維修員工編號(hào)3de_novarchar50外鍵否設(shè)備編號(hào)4destroy_datevar
6、char50否損壞日期5repair_conditionvarchar50是維修狀態(tài)表5:staff員工表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度主外鍵允許空說(shuō)明1st_novarchar50主鍵否員工編號(hào)2st_namevarchar50否員工名稱3st_sexvarchar50否員工性別4st_agevarchar50是員工年齡五、系統(tǒng)測(cè)試(運(yùn)行界面)設(shè)備表l 查詢l 增加l 修改l 刪除設(shè)備借出表l 查詢l 增加l 修改l 刪除六、小結(jié)經(jīng)過(guò)一周的課程設(shè)計(jì),一個(gè)簡(jiǎn)單的企業(yè)設(shè)備管理信息系統(tǒng)設(shè)計(jì)完成了,但也正在這時(shí)我真正意識(shí)到所學(xué)知識(shí)的不足,可以說(shuō)關(guān)于這方面的接觸才剛剛開(kāi)始,深有感觸,無(wú)以言表。關(guān)于本系統(tǒng),雖然對(duì)
7、企業(yè)設(shè)備管理信息進(jìn)行了系統(tǒng)的基本創(chuàng)建,但我們不可忽略的是這個(gè)系統(tǒng)并不完美。通過(guò)這次課程設(shè)計(jì)使我們懂得了理論與實(shí)際相結(jié)合是很重要的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能算是學(xué)以致用,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。我們?cè)谠O(shè)計(jì)中遇到了很多問(wèn)題。這次課程設(shè)計(jì)中一個(gè)比較陌生的問(wèn)題就是利用搭建三層架構(gòu)來(lái)完成本次的實(shí)驗(yàn),但是經(jīng)過(guò)老師的視頻講解,一步一步跟著做,最后還是完成了。總之,每一次課程設(shè)計(jì)不僅是我們學(xué)習(xí)的好機(jī)會(huì),而且是我們鍛煉實(shí)際動(dòng)手能力的平臺(tái),雖然有難度的東西總會(huì)讓人很抵觸,比如在課設(shè)過(guò)程中有很多郁悶的時(shí)候,一個(gè)小小的錯(cuò)誤一不小心就花去一大段時(shí)間,所以在這個(gè)過(guò)程
8、中能夠磨練人的意志與耐心。七、程序源代碼以設(shè)備表為例Model層代碼、using System;namespace/ device:實(shí)體類(屬性說(shuō)明自動(dòng)提取數(shù)據(jù)庫(kù)字段的描述信息)/Serializablepublicpartialclassdevicepublic device()#region Modelprivatestring _de_no;privatestring _de_name;privatestring _de_brand;privatestring _de_btime;privatestring _de_ptime;/publicstring de_noset _de_no=
9、value;getreturn _de_no;/publicstring de_nameset _de_name=value;getreturn _de_name;/publicstring de_brandset _de_brand=value;getreturn _de_brand;/publicstring de_btimeset _de_btime=value;getreturn _de_btime;/publicstring de_ptimeset _de_ptime=value;getreturn _de_ptime;#endregion ModelDAL層代碼,using Sys
10、tem;using System.Data;using System.Text;using System.Data.SqlClient;using Maticsoft.DBUtility;/Please add referencesnamespace/ 數(shù)據(jù)訪問(wèn)類device/publicpartialclassdevicepublic device()#region BasicMethod/ 是否存在該記錄/publicbool Exists(string de_no)StringBuilder strSql=newStringBuilder();strSql.Append(select c
11、ount(1) from device);strSql.Append( where de_no=de_no );SqlParameter parameters = newSqlParameter(de_no, SqlDbType.VarChar,50);parameters0.Value = de_no;returnDbHelperSQL.Exists(strSql.ToString(),parameters);/ 增加一條數(shù)據(jù)/publicbool Add(Maticsoft.Model.device model)StringBuilder strSql=newStringBuilder()
12、;strSql.Append(insert into device();strSql.Append(de_no,de_name,de_brand,de_btime,de_ptime);strSql.Append( values ();strSql.Append(de_no,de_name,de_brand,de_btime,de_ptime);SqlParameter parameters = newSqlParameter(de_no, SqlDbType.VarChar,50),newSqlParameter(de_name, SqlDbType.VarChar,50),newSqlPar
13、ameter(de_brand, SqlDbType.VarChar,50),newSqlParameter(de_btime, SqlDbType.VarChar,50),newSqlParameter(de_ptime, SqlDbType.VarChar,50);parameters0.Value = model.de_no;parameters1.Value = model.de_name;parameters2.Value = model.de_brand;parameters3.Value = model.de_btime;parameters4.Value = model.de_
14、ptime;int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);if (rows 0)returntrue;elsereturnfalse;/ 更新一條數(shù)據(jù)/publicbool Update(Maticsoft.Model.device model)StringBuilder strSql=newStringBuilder();strSql.Append(update device set );strSql.Append(de_name=de_name,);strSql.Append(de_brand=de_brand,
15、);strSql.Append(de_btime=de_btime,);strSql.Append(de_ptime=de_ptime);strSql.Append( where de_no=de_no );SqlParameter parameters = newSqlParameter(de_name, SqlDbType.VarChar,50),newSqlParameter(de_brand, SqlDbType.VarChar,50),newSqlParameter(de_btime, SqlDbType.VarChar,50),newSqlParameter(de_ptime, S
16、qlDbType.VarChar,50),newSqlParameter(de_no, SqlDbType.VarChar,50);parameters0.Value = model.de_name;parameters1.Value = model.de_brand;parameters2.Value = model.de_btime;parameters3.Value = model.de_ptime;parameters4.Value = model.de_no;int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);i
17、f (rows 0)returntrue;elsereturnfalse;/ 刪除一條數(shù)據(jù)/publicbool Delete(string de_no)StringBuilder strSql=newStringBuilder();strSql.Append(delete from device );strSql.Append( where de_no=de_no );SqlParameter parameters = newSqlParameter(de_no, SqlDbType.VarChar,50);parameters0.Value = de_no;int rows=DbHelpe
18、rSQL.ExecuteSql(strSql.ToString(),parameters);if (rows 0)returntrue;elsereturnfalse;/ 批量刪除數(shù)據(jù)/publicbool DeleteList(string de_nolist )StringBuilder strSql=newStringBuilder();strSql.Append(delete from device );strSql.Append( where de_no in (+de_nolist + ) );int rows=DbHelperSQL.ExecuteSql(strSql.ToStr
19、ing();if (rows 0)returntrue;elsereturnfalse;/ 得到一個(gè)對(duì)象實(shí)體/public Maticsoft.Model.device GetModel(string de_no)StringBuilder strSql=newStringBuilder();strSql.Append(select top 1 de_no,de_name,de_brand,de_btime,de_ptime from device );strSql.Append( where de_no=de_no );SqlParameter parameters = newSqlPara
20、meter(de_no, SqlDbType.VarChar,50);parameters0.Value = de_no;Maticsoft.Model.device model=new Maticsoft.Model.device();DataSet ds=DbHelperSQL.Query(strSql.ToString(),parameters);if(ds.Tables0.Rows.Count0)return DataRowToModel(ds.Tables0.Rows0);elsereturnnull;/ 得到一個(gè)對(duì)象實(shí)體/public Maticsoft.Model.device
21、DataRowToModel(DataRow row)Maticsoft.Model.device model=new Maticsoft.Model.device();if (row != null)if(rowde_no!=null)model.de_no=rowde_no.ToString();if(rowde_name!=null)model.de_name=rowde_name.ToString();if(rowde_brand!=null)model.de_brand=rowde_brand.ToString();if(rowde_btime!=null)model.de_btim
22、e=rowde_btime.ToString();if(rowde_ptime!=null)model.de_ptime=rowde_ptime.ToString();return model;/ 獲得數(shù)據(jù)列表/publicDataSet GetList(string strWhere)StringBuilder strSql=newStringBuilder();strSql.Append(select de_no,de_name,de_brand,de_btime,de_ptime );strSql.Append( FROM device );if(strWhere.Trim()!=)st
23、rSql.Append( where +strWhere);returnDbHelperSQL.Query(strSql.ToString();/ 獲得前幾行數(shù)據(jù)/publicDataSet GetList(int Top,string strWhere,string filedOrder)StringBuilder strSql=newStringBuilder();strSql.Append(select );if(Top0)strSql.Append( top +Top.ToString();strSql.Append( de_no,de_name,de_brand,de_btime,d
24、e_ptime );strSql.Append( FROM device );if(strWhere.Trim()!=)strSql.Append( where +strWhere);strSql.Append( order by + filedOrder);returnDbHelperSQL.Query(strSql.ToString();/ 獲取記錄總數(shù)/publicint GetRecordCount(string strWhere)StringBuilder strSql=newStringBuilder();strSql.Append(select count(1) FROM dev
25、ice );if(strWhere.Trim()!=)strSql.Append( where +strWhere);object obj = DbHelperSQL.GetSingle(strSql.ToString();if (obj = null)return 0;elsereturnConvert.ToInt32(obj);/ 分頁(yè)獲取數(shù)據(jù)列表/publicDataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)StringBuilder strSql=newStringBu
26、ilder();strSql.Append(SELECT * FROM ( );strSql.Append( SELECT ROW_NUMBER() OVER ();if (!string.IsNullOrEmpty(orderby.Trim()strSql.Append(order by T. + orderby );elsestrSql.Append(order by T.de_no desc);strSql.Append()AS Row, T.* from device T );if (!string.IsNullOrEmpty(strWhere.Trim()strSql.Append(
27、 WHERE + strWhere);strSql.Append( ) TT);strSql.AppendFormat( WHERE TT.Row between 0 and 1, startIndex, endIndex);returnDbHelperSQL.Query(strSql.ToString();/*/ / 分頁(yè)獲取數(shù)據(jù)列表/ public DataSet GetList(int PageSize,int PageIndex,string strWhere)SqlParameter parameters = new SqlParameter(tblName, SqlDbType.V
28、arChar, 255),new SqlParameter(fldName, SqlDbType.VarChar, 255),new SqlParameter(PageSize, SqlDbType.Int),new SqlParameter(PageIndex, SqlDbType.Int),new SqlParameter(IsReCount, SqlDbType.Bit),new SqlParameter(OrderType, SqlDbType.Bit),new SqlParameter(strWhere, SqlDbType.VarChar,1000),;parameters0.Va
29、lue = device;parameters1.Value = de_no;parameters2.Value = PageSize;parameters3.Value = PageIndex;parameters4.Value = 0;parameters5.Value = 0;parameters6.Value = strWhere;return DbHelperSQL.RunProcedure(UP_GetRecordByPage,parameters,ds);*/#endregion BasicMethod#region ExtensionMethod#endregion Exten
30、sionMethodBLL層代碼,using System;using System.Data;using System.Collections.Generic;using Maticsoft.Common;using Maticsoft.Model;namespace/ device/publicpartialclassdeviceprivatereadonly Maticsoft.DAL.device dal=new Maticsoft.DAL.device();public device()#region BasicMethod/ 是否存在該記錄/publicbool Exists(st
31、ring de_no)return dal.Exists(de_no);/ 增加一條數(shù)據(jù)/publicbool Add(Maticsoft.Model.device model)return dal.Add(model);/ 更新一條數(shù)據(jù)/publicbool Update(Maticsoft.Model.device model)return dal.Update(model);/ 刪除一條數(shù)據(jù)/publicbool Delete(string de_no)return dal.Delete(de_no);/ 刪除一條數(shù)據(jù)/publicbool DeleteList(string de_no
32、list )return dal.DeleteList(de_nolist );/ 得到一個(gè)對(duì)象實(shí)體/public Maticsoft.Model.device GetModel(string de_no)return dal.GetModel(de_no);/ 得到一個(gè)對(duì)象實(shí)體,從緩存中/public Maticsoft.Model.device GetModelByCache(string de_no)string CacheKey = deviceModel- + de_no;object objModel = Maticsoft.Common.DataCache.GetCache(Ca
33、cheKey);if (objModel = null)tryobjModel = dal.GetModel(de_no);if (objModel != null)int ModelCache = Maticsoft.Common.ConfigHelper.GetConfigInt(ModelCache);Maticsoft.Common.DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero);catchreturn (Maticsoft.Model.device)objModel;/ 獲得數(shù)據(jù)列表/publicDataSet GetList(string strWhere)return
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建立知識(shí)共享平臺(tái)的計(jì)劃
- 財(cái)務(wù)預(yù)測(cè)模型解析計(jì)劃
- 領(lǐng)導(dǎo)者在危機(jī)中的決策與反應(yīng)計(jì)劃
- 生物課程知識(shí)分享計(jì)劃
- 噴灑車輛相關(guān)項(xiàng)目投資計(jì)劃書范本
- 《軟件測(cè)試培訓(xùn)講義》課件
- 投訴處理與顧客滿意度培訓(xùn)
- 校外輔導(dǎo)機(jī)構(gòu)保安措施計(jì)劃
- 情感交流班主任與學(xué)生的紐帶計(jì)劃
- 吹塑機(jī)械行業(yè)相關(guān)投資計(jì)劃提議
- 農(nóng)村民兵連指導(dǎo)員述職報(bào)告范本
- 二年級(jí)數(shù)學(xué)上冊(cè)100道口算題大全 (每日一套共26套)
- 2024年農(nóng)業(yè)學(xué):農(nóng)村農(nóng)業(yè)基礎(chǔ)知識(shí)考試題庫(kù)(附含答案)
- 六盤水事業(yè)單位筆試真題及答案2024
- 中國(guó)體育奧林匹克運(yùn)動(dòng)會(huì)發(fā)展歷史講解課件模板
- 2024年電大考試資源與運(yùn)營(yíng)管理試題及答案
- 大國(guó)兵器智慧樹(shù)知到期末考試答案章節(jié)答案2024年中北大學(xué)
- 2025高考數(shù)學(xué)一輪復(fù)習(xí)-7.6-利用空間向量求空間角、距離【課件】
- 2024年國(guó)家開(kāi)放大學(xué)電大《政治學(xué)原理》期末考試題題庫(kù)
- JBT 8906-2014 懸臂起重機(jī)標(biāo)準(zhǔn)規(guī)范
- 2024年綠化工職業(yè)技能理論知識(shí)考試題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論