軟件設計報告_第1頁
軟件設計報告_第2頁
軟件設計報告_第3頁
軟件設計報告_第4頁
軟件設計報告_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

通達學院2013/2014學年第二學期軟件設計實驗報告 專業(yè)Delphi軟件設計學生班級110023學生學號11002314學生姓名孫敏杰指導教師汪胡青設計題目1、熟悉軟件2、文件瀏覽3、網(wǎng)絡聊天室4、編寫動態(tài)鏈接庫5、綜合應用程序設計(填寫內(nèi)容字體為宋體小四)任務要求1、熟悉Delphi中Menu,Label,Button,Edit等常用控件的用法,能夠編寫簡單的界面程序。2、熟悉TreeView,OpenDialog等控件的用法,并能夠熟練應用。3、通信程序設計可行,程序中可以設置遠程計算機的IP地址和端口號,掌握程序中用到的各個組件的常用屬性。4、理解動態(tài)鏈接庫的含義,掌握在程序中引用動態(tài)鏈接庫的方法,并能夠熟練編寫自己的動態(tài)鏈接庫。5、熟悉Delphi中數(shù)據(jù)庫操作的相關控件用法,掌握Delphi數(shù)據(jù)庫編程的一般步驟,查找條件不能單一。(填寫內(nèi)容字體為宋體小四)實驗設備及軟件硬件:個人計算機;軟件:Delphi(填寫內(nèi)容字體為宋體小四)同組人員學號及姓名11002314孫敏杰(填寫內(nèi)容字體為宋體小四)參考文獻康祥順,張小剛.Delphi案例開發(fā)集錦.電子工業(yè)出版社2005王沛.delphi編程入門篇.機械工業(yè)出版社20063、鐘軍,汪曉平.delphi網(wǎng)絡通信協(xié)議分析與應用實現(xiàn).人民郵電出版社,20034、池雅慶,賈小敏.delphi數(shù)據(jù)庫應用項目開發(fā)實踐.人民郵電出版社,20065、楊華民,梁水,李方超.Delphi函數(shù)參考大全.人民郵電出版社,20066、張世明.Delphi程序設計基礎:教程、實驗、習題.電子工業(yè)出版社,2010(填寫內(nèi)容字體為宋體小四)網(wǎng)絡聊天室實驗操作利用Delphi自帶的TCPCLIENT組件和TCPSERVER組件,編寫了一個簡易的網(wǎng)絡聊天室程序,這個程序?qū)⒁酝降姆绞皆诜掌鞫撕涂蛻舳诉M行通信,而且是多線程程序,可以處理多個連接的請求。程序運行后,在窗口上部填寫遠程主機地址、端口以及本地端口號,注意,兩個端口號必須一致,否則無法完成監(jiān)聽。然后單擊“改變主機設置”按鈕,即可連接到遠程主機。接著在窗口下部的MEMO文本框中填寫發(fā)送的信息,單擊“發(fā)送”按鈕,即可將信息發(fā)送到遠程主機窗口。程序界面效果如圖所示。實驗要點tcpClient組件的應用;tcpServer組件的應用。步驟詳解新建一個應用程序,在窗口中添加一個TPanel組件,align屬性設置為alTop,然后在該面板中添加三個TLable組件和三個TEdit組件,分別用于設置遠程主機和本地主機的地址、端口。接著再添加一個TButton組件,caption屬性為“改變主機設置”。在窗口中添加兩個TPanel面板,然后分別在面板中添加一個TMemo多行文本編輯框,分別用于顯示接收信息和發(fā)送信息,其中用于接收信息的memo組件的readonly屬性設置為true。最后在窗口中添加一個TButton組件,caption屬性為“發(fā)送”,再從internet組件面板上分別拖放一個tcpClient組件和一個tcpServer組件到窗口中。代碼添加與解釋打開代碼編輯器,在接口部分添加一個自定義線程類://創(chuàng)建線程,以同步方式寫入GUI窗口。必須這樣,才能夠同時處理多個連接的請求TClientDataThread=class(TThread)privatepublicListBuffer:TStringList;TargetList:TStrings;proceduresynchAddDataToControl;constructorCreate(CreateSuspengded:Boolean);procedureExecute;override;procedureTerminate;end;在代碼實現(xiàn)部分,添加線程類的實現(xiàn)代碼://TClientDataThread線程類的實現(xiàn)代碼constructorTClientDataThread.Create(CreateSuspended:Boolean);begininheritedCreate(CreateSuspended);FreeOnTerminate:=ture;ListBuffer:=TStringList.Create;end;procedureTClientDataThread.Terminate;beginListBuffer.Free;inherited;end;procedureTClientDataThread.Execute;beginSynchronize(synchAddDataToControl);//同步end;procedureTClientDataThread.synchAddDataToControl;beginTargetList.AddStrings(ListBuffer);end;3、雙擊“改變主機設置”按鈕,添加如下代碼://改變服務器端配置procedureTForm1.Button1Click(Sender:TObject);beginTcpServer1.LocalPort:=Edit1.Text;//指定端口TcpServer1.Active:=True;end;4、雙擊“發(fā)送”按鈕,添加如下代碼://客戶端發(fā)送信息procedureTForm1.Button2Click(Sender:TObject);varI:Integer;beginTcpClient1.RemoteHost:=Edit1.Text;//遠程主機地址TcpClient1.RemotePort:=Edit2.Text;//遠程主機端口tryifTcpClient1.ConnectthenforI:=0toMemo1.Lines.Count-1doTcpClient1.Sendln(Memo1.Lines[I]);//發(fā)送信息finallyTcpClient1.Disconnect;//斷開連接end;end;5、雙擊tcpServer組件的onaccept事件,添加如下代碼://服務器端接收到信息的處理procedureTForm1.TcpServer1Accept(Sender:TObject;ClientSocket:TCustomIpClient);vars:string;DataThread:TClientDataThread;Begin//創(chuàng)建自定義線程DataThread:=TClientDataThread.Create(true);//將線程的TargetListset設置為同步顯示信息的組件MEMODataThread.TargetList:=Memo1.lines;//加載線程的ListBuffer信息DataThread.ListBuffer.Add('***已經(jīng)連接上遠程主機并收到消息***');DataThread.ListBuffer.Add('遠程主機:'+ClientSocket.LookupHostName(ClientSocket.RemoteHost)+'('+ClientSocket.RemoteHost+')');DataThread.ListBuffer.Add('=====Beginmessage=====');s:=ClinetSocket.Receiveln;//取得客戶端傳遞的信息whiles<>"dobeginDataThread.ListBuffer.Add(s);s:=ClientSocket.Receiveln;end;DataThread.ListBuffer.Add('=====Endofmessage=====');//同步將ListBuffer中的信息顯示在TargetList目標位置DataThread.Resume;end;end.人事管理系統(tǒng)概述1.1人事管理系統(tǒng)簡介1.2人事管理系統(tǒng)功能描述需求分析:2.1系統(tǒng)目標2.2業(yè)務流程2.3數(shù)據(jù)流程2.4數(shù)據(jù)字典系統(tǒng)設計:3.1系統(tǒng)功能3.2系統(tǒng)結構數(shù)據(jù)庫設計:4.1E-R圖主窗體設計:5.1主窗體設計5.2功能導航欄設計程序設計與編碼:6.1系統(tǒng)登陸窗體的設計6.2操作員管理窗體的設計6.3修改密碼窗體的設計6.4人事信息窗體的設計系統(tǒng)測試:7.1系統(tǒng)測試目的7.2系統(tǒng)測試心得總結1.1人事管理系統(tǒng)簡介隨著全球?qū)χR和人才的重視,企業(yè)對人事管理重要性的認識逐漸深化,人才的全球化競爭使企業(yè)的人事管理面臨前所未有的挑戰(zhàn)。在新形勢下,人事管理系統(tǒng)是一個企業(yè)單位不可缺少的部分,是適應現(xiàn)代企業(yè)制度,推動企業(yè)人事管理走向科學化、規(guī)范化、自動化的必要條件;是應對挑戰(zhàn)、適應環(huán)境變化、提高企業(yè)管理效率、提升核心競爭力的關鍵措施。它所包含內(nèi)容對于企業(yè)的決策者和管理者來說至關重要。目前市場上的人力資源系統(tǒng)很多,但要找到一款真正稱心、符合公司實際情況的并不容易。由于存在這樣那樣的不足,使企業(yè)浪費了大量的人力、物力等大量資源,難以真正提升企業(yè)人力資源的管理水平,提高工作效率及降低管理成本的效果也不明顯。因此,為了加快公司信息化的步伐,提高公司的管理水平,并在激烈的社會競爭中立于不敗之地,建立及完善人事管理系統(tǒng)已變得十分必要和迫切。人事管理系統(tǒng)主要是管理員工企業(yè)日常事務中的人事工作,使用人事管理系統(tǒng)會降低了資源管理成本,使管理者能集中精力在企業(yè)戰(zhàn)略目標;另一方面,通過軟件及時收集與整理分析大量的人事管理數(shù)據(jù),為企業(yè)戰(zhàn)略決策的生成與實施控制提供強有力的支持,以提高組織目標實現(xiàn)的可能性。1.2人事管理系統(tǒng)功能描述人事管理系統(tǒng)就是要實現(xiàn)對某單位的職工進行管理,整個系統(tǒng)包括人事資料的錄入、資料查詢和資料刪除等功能。人事管理系統(tǒng)應該能夠靈活有效的管理,體現(xiàn)多角色、多層次特色。不同的企業(yè)其人事管理業(yè)務與流程各不相同,隨著管理要求的提高,人事管理軟件需要具備人事業(yè)務流程的制訂、修改、控制等操作。通過人事管理系統(tǒng)使得管理者快速高效地完成企業(yè)日常事務中的人事工作,降低了人事管理成本,使管理者能集中精力在企業(yè)戰(zhàn)略目標;另一方面,通過軟件及時收集與整理分析大量的人事管理數(shù)據(jù),為企業(yè)戰(zhàn)略決策的生成與實施控制提供強有力的支持,以提高組織目標實現(xiàn)的可能性。需求分析2.1系統(tǒng)目標人事管理系統(tǒng)就是要實現(xiàn)對某單位的職工進行管理,整個系統(tǒng)主要實現(xiàn)包括人事資料的錄入、資料查詢和資料刪除等功能。在應用系統(tǒng)使用中,為保證系統(tǒng)的安全,必須設置用戶檢測程序。合法用戶可進入,非合法用戶拒絕登陸。同時要能夠設置用戶的使用權限,用戶登錄后只能進行其權限所允許的操作。用戶可以修改本人的密碼,系統(tǒng)管理員可以修改、凍結或刪除普通用戶。2.2業(yè)務流程圖操作員管理業(yè)務流程圖2.3數(shù)據(jù)流程圖2.4數(shù)據(jù)字典數(shù)據(jù)字典就是將數(shù)據(jù)元素、數(shù)據(jù)流、數(shù)據(jù)存儲、處理功能和外部實體等的詳細情況加以記錄,并按照一定方式進行排列所形成的一部關于數(shù)據(jù)的字典。數(shù)據(jù)字典是有關數(shù)據(jù)的信息的收集、維護和發(fā)布的機制,是有關數(shù)據(jù)的數(shù)據(jù)即元數(shù)據(jù)的中心倉庫,數(shù)據(jù)字典是提供關于數(shù)據(jù)元素、元素組、記錄信息的定義和使用機制,以及數(shù)據(jù)實體之間的聯(lián)系。2.4.1建立數(shù)據(jù)元素表-1操作員數(shù)據(jù)結構表-2人事信息數(shù)據(jù)結構2.4.2建立數(shù)據(jù)流數(shù)據(jù)流表明了數(shù)據(jù)的流動方向及其名稱,是數(shù)據(jù)載體的表現(xiàn)形式之一。在數(shù)據(jù)字典中所定義的數(shù)據(jù)流有兩類:一類是從外部實體輸入到系統(tǒng)中的數(shù)據(jù)流,二是從系統(tǒng)輸出到外部實體的數(shù)據(jù)流。系統(tǒng)設計3.1系統(tǒng)功能1、用戶管理模塊。主要是實現(xiàn)操作用戶的增加、刪除、修改。2、密碼修改模塊。該模塊主要實現(xiàn)各操作用戶修改自己的操作密碼,系統(tǒng)管理用戶可以修改其他用戶的密碼。3、系統(tǒng)初始化模塊。主要用來實現(xiàn)初始化功能,即清除所有數(shù)據(jù)表中的信息,只在operator.db數(shù)據(jù)表中保留一條默認的管理員信息。4、退出模塊。就是退出系統(tǒng)。3.2系統(tǒng)結構數(shù)據(jù)庫設計4.1E-R圖實體屬性一覽表:管理員(用戶名,密碼,部門,聯(lián)系電話,工資,職務,操作權限,查詢權限,管理權限,最后操作時間)職員(職工編號,職工姓名,性別,出生年月,身份證號,地址,聯(lián)系電話,單位,工資,職務,專業(yè),參加工作時間,離職時間)部門(部門編號,部門名稱,主管)主窗體設計5.1主窗體設計5.1.1界面設計創(chuàng)建一個新的工程文件,保存源程序文件名為main.pas,工程文件名為rlzygl.dpr,在窗體中添加一個mainmenu組件,一個toolbar組件,在toolbar組件中添加6個toolbutton組件,一個imagelist組件,雙擊imagelist組件打開對話框添加6個圖片程序設計界面5.1.2屬性設置窗體所涉及的組件有mainmenu,toolbutton,toolbar等。其屬性設置具體如下第5.1節(jié)窗體屬性設置表5-1窗體及組建的屬性設置5.1.3程序設計代碼如下:varmain_Form:Tmain_Form;username:string;password:string;R1,R2,R3:boolean;implementationuseslogin,Unit3,Unit4,Unit5,Unit6;{$R*.dfm}procedureTmain_Form.FormActivate(Sender:TObject);beginusername:='';password:='';R1:=false;R2:=false;R3:=false;F_login.showModal();ifusername<>''thenbeginifR1=truethenbeginn4.Enabled:=true;n6.Enabled:=true;toolbutton1.Enabled:=true;toolbutton3.Enabled:=true;endelsebeginn4.Enabled:=false;n6.Enabled:=false;toolbutton1.Enabled:=false;toolbutton3.Enabled:=false;end;ifR2=truethenbeginn2.Enabled:=true;toolbutton4.Enabled:=true;endelsebeginn3.Enabled:=false;toolbutton4.Enabled:=false;end;ifR3=truethenbeginn3.Enabled:=true;toolbutton5.Enabled:=true;endelsebeginn3.Enabled:=false;toolbutton5.Enabled:=false;end;endelseclose;end;procedureTmain_Form.N3Click(Sender:TObject);beginF_check.showModal();end;procedureTmain_Form.N8Click(Sender:TObject);beginclose;end;procedureTmain_Form.N2Click(Sender:TObject);beginF_rsInfo.showModal();end;procedureTmain_Form.N5Click(Sender:TObject);beginF_changepw.showmodal();end;procedureTmain_Form.N4Click(Sender:TObject);beginF_operator.showmodal();end;procedureTmain_Form.N6Click(Sender:TObject);varTabel1:TTable;beginTable1:=TTable.create(self);Table1.DatabaseName:='RLZYGL';Table1.TableName:='opertaor.db';Table1.EmptyTable;Table1.open;Table1.Append;Table1.fieldbyname('username').asstring:='admin';Table1.fieldbyname('password').asstring:='admin';Table1.fieldbyname('department').asstring:='計算機系';Table1.fieldbyname('stamp').asdatetime:=date();Table1.fieldbyname('right1').asboolean:=true;Table1.fieldbyname('right2').asboolean:=true;Table1.fieldbyname('right3').asboolean:=true;Table1.post;Table1.close;Table1.Tablename:='info.db';Table1.emptytable;Application.MessageBox('初始化結束!','提示信息',mb_ok);end;procedureTmain_Form.Button1Click(Sender:TObject);beginF_login.show;end;end.程序設計與編碼6.1系統(tǒng)登陸窗體的設計圖6-1登陸窗口用戶名為:admin,密碼為:admin進入人事管理系統(tǒng),非法用戶不可以進入系統(tǒng)。程序代碼在附錄里顯示。6.2操作員管理窗體的設計圖6-2操作員管理窗口6.3修改密碼窗體的設計圖6-3修改密碼窗口6.4人事信息窗體的設計圖6-4人事信息窗口系統(tǒng)測試7.1系統(tǒng)測試目的對程序設計工作的檢驗是進行系統(tǒng)測試,是保證系統(tǒng)質(zhì)量和可靠性的關鍵步驟??傊?,測試的目的是發(fā)現(xiàn)軟件中的錯誤,應該把查出新錯誤的測試看做是成功的測試,沒有發(fā)現(xiàn)新錯誤的測試是失敗的測試。但發(fā)現(xiàn)錯誤不是目的,目的是開發(fā)出高質(zhì)量的完全符合用戶需要的軟件。7.2系統(tǒng)測試系統(tǒng)測試是把經(jīng)過測試的子系統(tǒng)裝配成一個完整的系統(tǒng)然后進行測試。在這個過程中不僅能發(fā)現(xiàn)設計和編碼的錯誤還能驗證系統(tǒng)是否提供需求說明中指定的功能,而且能驗證系統(tǒng)的動態(tài)特性是否預訂要求。人事管理系統(tǒng)連接數(shù)據(jù)庫正確,但是無法正常運行,也沒有辦法進行驗證測試,功能沒有實現(xiàn)。心得總結通過本次的軟件設計,學到了很多關于Delphi的知識。程序主要是利用delphi來實現(xiàn)人事管理系統(tǒng)。經(jīng)過此次軟件設計,我對的delphi語言有了一定的了解,delphi與編程很類似,界面設計較簡單和代碼編譯速度相對也較快。在編程的過程中遇到了些問題,通過自己翻書,上網(wǎng)查資料及向老師同學們請教,這些問題也得到了解決。經(jīng)歷了軟件設計,不僅對我的學習提供了幫助,而且在各方面也得到了鍛煉。沒有足夠的耐力和信心就很難堅持對軟件設計每一步的順利進行。同時我還要非常感謝我的任課老師對此次軟件設計的精心安排和耐心指導。在軟件設計過程中,老師無論是在理論上還是在實踐中,都給了我很大的幫助。使我在程序的開發(fā)等各個方面得到了很大的提高。老師治學態(tài)度嚴謹,工作態(tài)度認真負責,為人親切和藹,學術理論和實踐經(jīng)驗豐富,是我們學習的好榜樣。在開發(fā)系統(tǒng)的過程中,我們團結合作,充分發(fā)揮了集體的力量,很好的完成了此次的軟件設計。附錄操作員管理代碼procedureTF_operator.SpeedButton1Click(Sender:TObject);beginTable1:=TTable.creat(self);Table1.DatabaseName:='1220';Table1.TableName:='opertaor.db';Table1.open;Table1.setkey;Table1.Fieldbyname('name').asstring:=edit1.text;iftable1.gotokeythenbeginifRadiobutton1.CheckedthenbeginApplication.MessageBox('用戶名相同,請檢查!','提示信息',mb_ok);edit1.Text:='';edit2.Text:='';edit3.Text:='';edit1.SetFocus;endelseifRadio2.checkedthenbeginTable1.edit;savetotable;table1.post;endelsebeginTable1.edit;table1.Delete;table1.first;loadfromtable;end;endelsebeginifRadiobutton1.CheckedthenbeginTable1.Append;table1.edit;savetotable;table1.post;endelsebeginApplication.MessageBox('沒有該用戶,請檢查!','提示信息',mb_ok);edit1.Text:='';edit2.Text:='';edit3.Text:='';edit1.SetFocus;end;end;table1.close;end;procedureTF_operator.FormActivate(Sender:TObject);beginedit1.Text:='';edit2.Text:='';edit3.Text:='';edit4.Text:='';edit4.Readonly:=true;edit4.Tabstop:=false;checkbox1.Checked:=false;checkbox2.Checked:=false;checkbox3.Checked:=false;edit4.Text:=datetostr(date());Table1:=TTable.creat(self);Table1.DatabaseName:='1220';Table1.TableName:='opertaor.db';Table1.open;ifnotTable1.EofthenLoadFormTable;Table1.Close;Radiobutton2.Checked:=true;end;procedureTF_operator.loadFormtable;beginedit1.text:=table1.fieldbyname('username').asstring;edit2.text:=table1.fieldbyname('password').asstring;edit3.text:=table1.fieldbyname('department').asstring;edit4.text:=datetostr(table1.fieldbyname('stamp').asdatetime);checkbox1.checked:=table1.fieldbyname('right1').asboolean;checkbox2.checked:=table1.fieldbyname('right2').as

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論