版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
發(fā)計(jì)劃書學(xué)校:中南林業(yè)科技大學(xué)組員:趙松,劉彬,張?zhí)烊?,鄺東凡,段建軍,歐陽益湘,彭剛強(qiáng),趙雨亭,巫騰飛組長:趙松副組長:張?zhí)烊鹉昙?2005級指導(dǎo)老師:辛動軍目錄一、面向?qū)ο蟮姆治鲂枨箨愂龆?、系統(tǒng)建摸①用戶服務(wù)模塊介紹②管理服務(wù)模塊③數(shù)據(jù)庫服務(wù)模塊④用戶服務(wù)模塊⑤成員管理模塊⑥管理員服務(wù)模塊⑦用戶管理模塊三、UML系統(tǒng)建摸①建立用例角色的確定創(chuàng)建用例①建立時(shí)序圖②協(xié)作圖的建立③包圖UIpackageBusinesspackage②系統(tǒng)的部署組件圖配置圖四、源代碼五、軟件截圖六、參考文獻(xiàn)七、組員學(xué)習(xí)心得聊天軟件軟件工程計(jì)劃書壹:面向?qū)ο蟮姆治?.需求陳述(全組討論,鄺東凡,段建軍寫討論結(jié)果的文檔)(1)能夠通過網(wǎng)站注冊,申請聊天軟件的號碼跟密碼。注冊成功之后保存注冊用戶的,真實(shí)姓名,所于學(xué)校,宿舍,班級,院系,性別,出生年月,入學(xué)年份,個(gè)性簽名@,(2)下載壹個(gè)客戶端軟件,輸入帳號跟密碼,選擇登陸狀態(tài)(上線,隱身)登錄。登錄框消失,顯示主界面。當(dāng)用戶上線時(shí),提示你的好友,你加入的社團(tuán)等。且顯示于線的好友。當(dāng)打開群,社團(tuán),學(xué)院聊天室對話框之后顯示于線用戶。當(dāng)上線的好友離開時(shí),自動將好友變?yōu)殡x線狀態(tài)。當(dāng)班級或群好友給你發(fā)送信息,你又不于的時(shí)候,服務(wù)器幫你保存資料,當(dāng)你登陸的時(shí)候,將信息發(fā)送給你。(3)主界面包好官方網(wǎng)站的超級鏈接,用軟件的吉祥物顯示。主界面顯示用戶自己的頭像,雙擊進(jìn)入用戶“我的世界”網(wǎng)葉@(4)主界面包含用戶的好友框。每個(gè)框包含有什么對我們說組件,雙擊該組件顯示有什么對我們說對話框,能夠發(fā)送消息給我們的服務(wù)器雙擊好友框的用戶,顯示好友聊天對話框。聊天對話框,用戶能夠輸入信息,接受信息。能夠發(fā)送接受文件,支持語音視頻聊天。能夠選擇日常用語。能夠下載該好友的資料。(5)主界面包含社團(tuán)框社團(tuán)框包含該用戶加入的社團(tuán),如果社團(tuán)是你創(chuàng)的,該用戶能夠管理社團(tuán),刪除或增加社團(tuán)成員。(6)主界面包含學(xué)院聊天框。學(xué)院聊天室有若干個(gè)學(xué)院。每個(gè)學(xué)院有10個(gè)聊天室,每個(gè)聊天室容納100人。雙擊壹個(gè)聊天室,顯示聊天室對話窗口。能夠發(fā)送文字和發(fā)送圖片。能夠顯示該聊天室正于聊天的成員。能夠推出聊天室,聊天室人滿了可選擇其他的聊天室(7)主界面包含班級框班級框包含該用戶所屬的班級雙擊班級將顯示壹個(gè)班級對話框,能夠群聊,能夠顯示班級成員,能夠下載班級資料,能夠發(fā)送日常用語。如果班級由該用戶創(chuàng)建,用戶能夠增加刪除班級成員,能夠上傳班級資料。(8)主界面包含查找按扭,單擊查找按扭顯示查找對話框。查找對話框隔根據(jù)輸入的號碼搜索相應(yīng)的用戶或群或院系或社團(tuán)。如果對方同意,獲得對方發(fā)的信息,然后于主界面顯示該用戶或該群或者該院系或該社團(tuán)。如果對方同意,則相應(yīng)的刷新主界面。如我家A為好有,他同意,則于好友組增加該好友。(9)娛樂按扭,雙擊娛樂按扭,顯示娛樂對話框,娛樂對話框有游戲組件。暫時(shí)不做。(10)主界面包含幫助按扭,雙擊它顯示幫助對話框,告訴你怎么使用這個(gè)軟件。(12)主界面有菜單按扭。雙擊菜單按扭,顯示菜單對話框。**菜單對話框有網(wǎng)上集市按鈕,雙擊顯示網(wǎng)上集市對話框。用戶能夠通過它買賣物品。用戶可把自己要賣的或者要買的東西發(fā)送到網(wǎng)上,標(biāo)好價(jià)格,上傳圖片。**菜單對話框有查詢按鈕,雙擊顯示查詢對話框,查詢對話框包含查詢學(xué)生成績組件和查詢圖書館信息(能夠續(xù)借)和四六級成績查詢。輸入你的學(xué)號,即可查詢你的成績,如果有則顯示你的成績,沒有則提示沒有。輸入你四六級的號碼,既可查詢成績。輸入書名選擇要查的書,輸入你的借書證號碼跟借書證密碼能夠查你的借書信息,能夠續(xù)借。**菜單對話框包含創(chuàng)建按扭,擁護(hù)能夠創(chuàng)建社團(tuán),班級這只針對對授權(quán)的用戶。設(shè)置社團(tuán),班級名字跟社團(tuán),班級宣言。**菜單對話框包含設(shè)置按扭。宿舍,班級,院系,社團(tuán),性別,出生年月,入學(xué)年份,興趣愛好等。**菜單對話框包含信息咨詢按扭。雙擊顯示信息咨詢網(wǎng)葉,包含時(shí)尚咨詢,足球籃球信息快遞,人才市場信息,兼職信息,留學(xué)信息。@**菜單對話框含交友天地,雙擊顯示交友天地網(wǎng)葉友天地對話框包含愛情呼叫組建,寢室聯(lián)誼組件,同校約戰(zhàn)組件。@**菜單對話框面包含論壇按扭,雙擊顯示論壇網(wǎng)葉,論壇包含文學(xué)專區(qū),學(xué)校風(fēng)云榜和注水專區(qū)。@**菜單對話框包含我的倉庫。大小為10M.。顯示用戶當(dāng)下的倉庫資料。用戶能夠上傳資料,設(shè)置權(quán)限供其他用戶下載能夠刪除資料。**菜單對話框包含考研專區(qū)按扭。**菜單對話框有院系新聞按扭。雙擊顯示院系新聞網(wǎng)葉。@軟件號碼軟件密碼用戶個(gè)人資料妮稱真實(shí)姓名,所于學(xué)校,宿舍,班級,院,系,性別,出生年月,入學(xué)年份,個(gè)性簽名,個(gè)人愛好,頭像。信息提示框提示信息登陸狀態(tài)登錄框好友社團(tuán)學(xué)院聊天室對話框服務(wù)器資料主界面官方網(wǎng)站吉祥物我的世界好友框好友組件好友個(gè)性簽名好友名字好友資料框有什么對我們說組件有什么對我們說對話框好友聊天對話框信息文件日常用語社團(tuán)框社團(tuán)組件社團(tuán)資料框社團(tuán)名稱社團(tuán)號碼社團(tuán)頭像社團(tuán)對話框社團(tuán)通知社團(tuán)成員學(xué)院聊天框聊天室聊天室對話窗口聊天室成員班級框班級組件班級資料框班級對話框班級成員班級資料查找按扭查找對話框娛樂按扭娛樂對話框幫助按扭幫助對話框幫助信息菜單對話框菜單按扭網(wǎng)上集市按鈕網(wǎng)上集市對話框物品價(jià)格圖片查詢按鈕查詢對話框查詢學(xué)生成績組件查詢圖書館信息四六級成績查詢學(xué)號提示四六級的號碼要查的書借書證號碼借書證密碼創(chuàng)建按扭創(chuàng)建對話框群名字群宣言社團(tuán),班級名字社團(tuán)班級宣言設(shè)置按扭設(shè)置框信息咨詢按扭信息咨詢網(wǎng)葉時(shí)尚咨詢足球籃球信息快遞,人才市場信息,兼職信息,留學(xué)信息交友天地按扭交友天地對話框愛情呼叫組件寢室聯(lián)誼組件同校約戰(zhàn)組件論壇按扭我的倉庫按扭我的倉庫框倉庫資料權(quán)限考研專區(qū)按扭院系新聞按扭二:系統(tǒng)建摸1.1.1:用戶服務(wù)模塊用戶登錄包過用戶登錄和用戶退出。成員管理包過增加成員,刪除成員,退出群,加入群。1.1.2:管理員服務(wù)模塊用戶包含增加用戶,刪除用戶,更新用戶資料。查詢用戶信息。1.1.3:數(shù)據(jù)庫服務(wù)模塊這個(gè)模塊提供了自動更新數(shù)據(jù)庫1.2。1用戶服務(wù)模塊(1)用戶登錄過程如下:(2)管理員模塊:發(fā)送到服(3)資料管理模塊1.2.2成員管理模塊:(1)增加成員過程:發(fā)送更新信(2)刪除成員息給服務(wù)器其余處理類似,因?yàn)橼s時(shí)間,省略了很多發(fā)送消息給1.3管理員服務(wù)模塊1.3.1(1)查詢過程:(2)用戶登錄模塊跟上面壹樣的1.3.2用戶管理模塊:(1)增加用戶過程:(2)刪除用戶過程同意申請三:UML系統(tǒng)建摸1建立用例(張?zhí)烊穑?.1角色確定*用戶能夠向服務(wù)器申請?zhí)柎a*有些用戶能夠擁有自己的資料倉庫所以,有三個(gè)角色,壹個(gè)是普通用戶,壹個(gè)是VIP用戶,仍有管理員1.2創(chuàng)建用例(如圖所示)2建立時(shí)序圖(彭剛強(qiáng))1。用戶登錄的時(shí)序圖2.協(xié)作圖的建立(劉彬)用戶登錄是的協(xié)作圖3.包圖,分為三個(gè)包,UIpackage,Businesspackage,Databasepackage3.1UIpackage(巫騰飛)3.2Businesspackage(趙雨亭)4.系統(tǒng)的部署4.1組件圖(歐陽益湘)4.2配置圖(趙松)四:源程序代碼登錄界面的代碼/**類名:LoadPane*描述:登陸框*公司:DoubleZ組合*作者:張?zhí)烊?版本:Double1.0*創(chuàng)建時(shí)間:2007.12.6*最后修改時(shí)間:2007.12.10*/importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;.*;importjavax.swing.event.*;importjava.io.*;importjava.util.*;publicclassLoadPaneextendsJFrame{staticStringloadPass=null;JLabellabel1=newJLabel("********歡迎使用局域網(wǎng)聊天程序********");JLabellabel2=newJLabel("帳號:");JTextFieldtf1=newJTextField(15);JLabellabel3=newJLabel("密碼:");JPasswordFieldtf2=newJPasswordField(15);JLabellabel4=newJLabel("第壹次使用請先注冊!");JButtonJButton1=newJButton("*登陸*");JButtonJButton2=newJButton("*注冊*");JButtonJButton3=newJButton("---------關(guān)于----------");/*publicvoidgetIpNum(){InetAddressip=InetAddress.getLocalhost();}*///獲得自己的帳號publicstaticStringgetMyNum(){Stringip="";Stringip1="";Stringip2="";try{InetAddressaddr=InetAddress.getLocalHost();ip=addr.getHostAddress().toString();//獲得本機(jī)IPip=ip.substring(8,ip.length());ip1=ip.substring(0,ip.indexOf("."));ip2=ip.substring(ip.indexOf(".")+1,ip.length());ip=ip1+ip2;}catch(Exceptione){e.printStackTrace();}returnip;}publicvoidinit(){Containercp=getContentPane();Toolkitkit=getToolkit();DimensionwinSize=kit.getScreenSize();setBounds(winSize.width/4+100,winSize.height/4+80,//位置230,200);//大小cp.setLayout(newFlowLayout());cp.add(label1);cp.add(label2);cp.add(tf1);cp.add(label3);cp.add(tf2);cp.add(JButton1);cp.add(JButton2);cp.add(JButton3);cp.add(label4);label4.setBorder(BorderFactory.createLoweredBevelBorder());//登陸JButton1.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){//先從文檔里讀取保存的密碼try{FileInputStreamin=newFileInputStream("個(gè)人信息.txt");ObjectInputStreamoos=newObjectInputStream(in);ArrayListar=(ArrayList)oos.readObject();String[]strInfo=(String[])ar.get(0);loadPass=strInfo[0];oos.close();}catch(Exceptionexc1){exc1.printStackTrace();}//判斷帳號和密碼是否匹配if(tf1.getText().equals(getMyNum())&&tf2.getText().equals(loadPass)){MainBarmainBar=newMainBar();OwerPane.tf3.setText(getMyNum());StoreInform.loadUserInform();//讀取本機(jī)的用戶信息FriendList.loadFriendList();dispose();}else{JOptionPane.showOptionDialog(null,"帳號或密碼不正確!\n",null,JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null,null,null);}}});//注冊JButton2.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){Filef=newFile("個(gè)人信息.txt");if(f.exists()){JOptionPane.showOptionDialog(null,"大哥,不能多次注冊!",null,JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null,null,null);}elseif(!f.exists()){OwerPane.tf3.setText(getMyNum());OwerPaneopDemo1=newOwerPane();}}});//關(guān)于JButton3.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){JOptionPane.showOptionDialog(null,"作者:DoubleZ組合\n"+"版本:Double1.0\n"+"簡介:壹個(gè)基于局域網(wǎng)的聊天程序.\n",null,JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null,null,null);}});}publicstaticvoidmain(String[]args){LoadPanelp=newLoadPane();lp.setTitle("局域網(wǎng)聊天程序1.0");lp.pack();lp.init();lp.setSize(230,200);lp.setResizable(false);lp.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});lp.setVisible(true);}}主功能實(shí)現(xiàn)代碼/**類名:MainBar*描述:搭建壹個(gè)主框架*公司:DoubleZ組合*作者:張?zhí)烊?版本:Double1.0*創(chuàng)建時(shí)間:2007.12.3*最后修改時(shí)間:2007.12.10*/importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;importjavax.swing.tree.*;importjava.io.*;.*;importjava.util.*;publicclassMainBarextendsJFrame{ImageIconic=newImageIcon("LoadPane4.jpg");JButtonshowPic=newJButton(ic);//把主窗口分成三個(gè)部分//定義倆個(gè)端口DatagramSocketdss,dsr;//dss發(fā)送,dsr接受staticArrayListarrayLs=newArrayList(200);//上部JPanelp1=newJPanel();//JLabellabel=newJLabel("當(dāng)前用戶");//為當(dāng)前用戶的頭像privateImageimage;//中部JPanelp2=newJPanel();staticDefaultMutableTreeNoderoot=newDefaultMutableTreeNode("-------我的好友-------");staticDefaultTreeModeltreeModel=newDefaultTreeModel(root);staticJTreetree=newJTree(treeModel);JButtonbutton3=newJButton("添加和刪除好友");//下部JPanelp3=newJPanel();JButtonbutton1=newJButton("個(gè)人設(shè)置");JButtonbutton2=newJButton("查找");publicvoidMainBar(ints){}publicvoidpaint(Graphicsg){g.drawImage(image,0,0,5,5,p1);System.out.println("畫完了!");}//添加新好友到列表中,name為要添加的好友的名字publicstaticvoidaddFriend(Stringname){DefaultMutableTreeNoden=newDefaultMutableTreeNode(name);treeModel.insertNodeInto(n,root,0);//展開子節(jié)點(diǎn)TreeNode[]root=treeModel.getPathToRoot(n);TreePathpath=newTreePath(root);tree.makeVisible(path);}//刪除好友/*publicstaticvoiddelFriend(){root.remove(FriendList.txt1.getText());}*/publicMainBar(){//TODO:Addyourcodehere//初始化外層窗口super("局域網(wǎng)聊天程序1.0");setSize(200,600);setResizable(false);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);Toolkitkit=getToolkit();DimensionwinSize=kit.getScreenSize();setBounds(winSize.width/4+500,winSize.height/4-122,//位置200,600);//照片地址image=Toolkit.getDefaultToolkit().getImage("S5001183.JPG");//初始化倆個(gè)端口try{dss=newDatagramSocket();dsr=newDatagramSocket(6000);}catch(Exceptione){e.printStackTrace();}receMess();//壹上線就就打開壹個(gè)接收線程sendOnlineMess();//壹上線就發(fā)送壹個(gè)上線的信息//-----容器-----Containercp=getContentPane();cp.setLayout(newBorderLayout());//于第壹層上添加cp.add(p1,BorderLayout.NORTH);cp.add(p2,BorderLayout.CENTER);cp.add(p3,BorderLayout.SOUTH);//于第二層上添加-----上部p1.add(showPic);//label.setBorder(BorderFactory.createLineBorder(Color.LIGHT_GRAY,2));//-----中部p2.add(newJScrollPane(tree));p2.add(button3);p2.setBorder(BorderFactory.createLoweredBevelBorder());//設(shè)定界面風(fēng)格------只有三種/*try{UIManager.LookAndFeelInfo[]info=UIManager.getInstalledLookAndFeels();//StringclassName=info[2].getClassName();QuaquaLookAndFeelclassName=newQuaquaLookAndFeel();UIManager.setLookAndFeel(className);//UIManager.setLookAndFeel(newQuaquaLookAndFeel());}catch(Exceptionexc1){}*///try{//UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());//UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");//UIManager.setLookAndFeel("org.jvnet.substance.SubstanceLookAndFeel");//}catch(Exceptione){e.printStackTrace();}//-----下部p3.add(button1);p3.add(button2);p3.setBorder(BorderFactory.createEtchedBorder());//事件監(jiān)聽showPic.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ShowPicshowPic=newShowPic();System.out.println("頭像按鈕!");}});//個(gè)人設(shè)置按鈕button1.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){OwerPaneopDemo1=newOwerPane();}});//查找button2.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){FindOfChatfoc=newFindOfChat();}});//添加和刪除好友按鈕button3.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){FriendListfriendList=newFriendList();}});//添加用戶好友事件tree.addTreeSelectionListener(newTreeSelectionListener(){publicvoidvalueChanged(TreeSelectionEvente){DefaultMutableTreeNodenode=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();if(node==root){System.out.println("選中了根節(jié)點(diǎn)");return;}else{System.out.println(node);//StringnowName=FriendList.reFriendName();System.out.println("發(fā)起聊天");ChatDialogcd=newChatDialog("你正于和"+node+"聊天");}}});//添加關(guān)閉窗口時(shí)發(fā)送下線信息的時(shí)間this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){sendOfflineMess();}});setVisible(true);}publicMainBar(inta){}publicvoidreceMess(){//首先啟動壹個(gè)線程,用來不斷從指定端口讀取數(shù)據(jù)newThread(newRunnable(){publicvoidrun(){try{byte[]buf=newbyte[1024];DatagramPacketdp1=newDatagramPacket(buf,buf.length);Stringisadd,numKey;while(true){System.out.println("數(shù)據(jù)已經(jīng)接受");dsr.receive(dp1);String[]strArray=newString[20];isadd=newString(dp1.getData(),0,dp1.getLength());System.out.println("這里是MainBar的接收線程"+isadd);strArray=divMes(isadd);System.out.println(strArray[0]);System.out.println(strArray[1]);System.out.println(strArray[2]);//判斷有人加你為好友而且判斷自己的號碼是不是那么多//intmyNum=0;//此處獲得自己的號碼//if(Integer.parseInt(numKey)==myNum)//此處暫時(shí)不用//判斷自己的號碼是否符合而且判斷是否是添加好友的信息if((!isExit(strArray[1]))&&(Integer.parseInt(strArray[2])==Integer.parseInt(LoadPane.getMyNum()))&&(Integer.parseInt(strArray[0])==Integer.parseInt("1"))){//于電腦右下角顯示某某添加你為好友,調(diào)用主功能界面的提示框方法TipFrametf=newTipFrame();intoption=tf.setTipFrame("好友",strArray[1]);System.out.println("optionis"+option);if(option==0){try{//于此處調(diào)用壹個(gè)獲得頭像信息的方法Stringsg=newString();buf=("+"+"2"+"+"+LoadPane.getMyNum()+"+"+strArray[1]+"+"+OwerPane.tf1.getText()).getBytes();DatagramPacketdp2=newDatagramPacket(buf,buf.length,dp1.getAddress(),6000);dss.send(dp2);FriendListfl=newFriendList(4);fl.updateMainFrame(strArray[3],strArray[1]);}catch(Exceptione){e.printStackTrace();}}}//然后將頭像,號碼,個(gè)性簽名返回//判斷是否上線elseif(isExit(strArray[1])&&(Integer.parseInt(strArray[0])==Integer.parseInt("4"))){//先搜索自己的好友查見是否有該號碼,有則提示TipFrametf=newTipFrame();tf.setTipFrame("上線",strArray[1]);}//判斷是否是離線信息elseif(isExit(strArray[1])&&(Integer.parseInt(strArray[0])==Integer.parseInt("5"))){TipFrametf=newTipFrame();tf.setTipFrame("離線",strArray[1]);}//判斷是否是聊天消息elseif((Integer.parseInt(strArray[2])==Integer.parseInt(LoadPane.getMyNum()))&&(Integer.parseInt(strArray[0])==Integer.parseInt("3"))){arrayLs.add(isadd);}//判斷是否是頭像信息elseif((Integer.parseInt(strArray[2])==Integer.parseInt(LoadPane.getMyNum()))&&(Integer.parseInt(strArray[0])==Integer.parseInt("2"))){//根據(jù)頭像信息刷新主功能界面FriendListfrl=newFriendList(2);frl.updateMainFrame(strArray[3],strArray[1]);}//------如果加為好友則執(zhí)行如上步驟----------}}catch(Exceptione){e.printStackTrace();}}}).start();//首先啟動壹個(gè)線程,用來不斷從指定端口讀取數(shù)據(jù)}publicString[]divMes(Stringsr)//將受到的信息分解{intk=0;String[]tempStrArray=newString[20];intindex=0;inth=0;for(inti=0;i<20;i++){if(sr.indexOf("+")!=0&&sr.indexOf("+")!=-1){tempStrArray[i]=sr.substring(0,sr.indexOf("+"));index=sr.indexOf("+");sr=sr.substring(index+1,sr.length());h=i;}elseif(sr.indexOf("+")==0){tempStrArray[i]=sr.substring(1,2);sr=sr.substring(3,sr.length());index=2;}}tempStrArray[h+1]=sr;returntempStrArray;}publicArrayListgetArray(){returnarrayLs;}publicvoidsendOnlineMess(){//廣播回路,端口3001try{byte[]buf=newbyte[102];buf=(newString("+"+"4"+"+"+LoadPane.getMyNum()+"+"+"34")).getBytes();DatagramPacketdps=newDatagramPacket(buf,buf.length,InetAddress.getByName("55"),6000);dsr.send(dps);}catch(Exceptione){e.printStackTrace();}//廣播回路,端口300}publicvoidsendOfflineMess(){try{byte[]buf=newbyte[1024];buf=(newString("+"+"5"+"+"+"18"+"+"+"3")).getBytes();DatagramPacketdps=newDatagramPacket(buf,buf.length,InetAddress.getByName("55"),6000);dsr.send(dps);}catch(Exceptione){e.printStackTrace();}}//--------------------------publicbooleanisExit(Stringstr){booleanbl=false;ArrayListary=newArrayList(200);ary=FriendList.aryOfFrie();System.out.println(ary.size());String[]strtem=newString[10];for(inti=0;i<ary.size();i++){strtem=(String[])ary.get(i);if(Integer.parseInt(strtem[1])==Integer.parseInt(str)){System.out.println(strtem[1]);bl=true;}}returnbl;}//----------------------------publicstaticvoidremoveArry(inti){arrayLs.remove(i);}}//StringstrPhoto=newString("+"+"2"+"+"+"我方號碼"+"+"+"姓名"+"+"+"性別"+"+"+"年齡"+"+"+"個(gè)簽"+"+"+"頭像")//StringstrMess=newString("+"+"3"+"我方號碼"+"所發(fā)送的信息");//StringstrOnline=newString("+"+"4"+"我方號碼");//StringstrOffline=newString("+"+"5"+"我方號碼");//StringstrFrie=newString("+"+"1"+""+"+"+findUser()+"+"+""+"+"+"性別"+"+"+"年齡"+"+"+"個(gè)簽"+"+"+"頭像"+"+"+"要將你加為好友")六:軟件截圖七:參考文獻(xiàn)《javaMaryCampione網(wǎng)站/blog/cns!7dbdf42ee58f4a79!221.entry網(wǎng)站http:///www1/http:///八:組員學(xué)習(xí)心得我所遇到的問題。開始時(shí)有點(diǎn)不知所措。尤其是建立模型圖的時(shí)候。我就不知道為什么要這些模型圖。他們能干什么。后來才明白,建立模型是以人的思維方式去實(shí)現(xiàn)壹個(gè)軟件的開發(fā)。我面對組員交給我的需求。開始迷茫,參考了大量的文獻(xiàn)。然后把軟件分成三個(gè)模塊。這就把軟件高度的抽象了。然后遇到什么問題先是崩潰,然后查閱文檔。所以查閱了多少文檔我均忘記了。對于計(jì)算機(jī)我是自學(xué)的。從面對計(jì)算機(jī)壹竅不通,到把第壹個(gè)畫圖板程序?qū)懗鰜??;ㄙM(fèi)了我5個(gè)月的時(shí)間。這期間我崩潰的次數(shù)已經(jīng)忘記了。因?yàn)樽詫W(xué),身邊沒有壹個(gè)人能夠指導(dǎo),壹切參考資料壹是上網(wǎng)查,二是去圖書館。這個(gè)過程如果是自學(xué)軟件的人壹定深有感觸。不過大痛過后是大得。我當(dāng)下壹不怕崩潰,受得起打擊。原因很簡單,崩潰成為壹種自然,崩潰過后的那種喜悅令我充滿激情,興奮不已。二是有了明確的目標(biāo),當(dāng)下我知道自己為什么而學(xué)和要學(xué)什么。我大壹大二覺得每天上課均去了,作業(yè)完成了,最好能夠拿個(gè)獎(jiǎng)學(xué)金,這就是好學(xué)生??墒?,我當(dāng)下發(fā)現(xiàn),錯(cuò)了。壹個(gè)真正的大學(xué)生是有自己的思想,有自己的獨(dú)特路線的。我寫程序的語言是java,java的分?jǐn)?shù)只有70多。跟我壹起合作的仁兄(也是用java的)他的java竟然掛科了。有多少人知道我只去上了幾節(jié)java課。我見了java成200行的程序了。讀呀讀,讀的自己均不知道于哪了,均不知道能干什么了。這有必要嗎。所以我堅(jiān)決不做學(xué)習(xí)的奴隸。學(xué)習(xí)是壹種樂趣。我于寫軟件的時(shí)候,當(dāng)面對未之領(lǐng)域的時(shí)候,我總是很興奮。因?yàn)槲抑佬碌谋罎⒁獊砼R了。同時(shí)新的挑戰(zhàn)要來臨了,挑戰(zhàn)所帶來的氣拔山河的激情要來臨了。我歡迎崩潰,沒有崩潰就沒有進(jìn)步。三是自信和毅力,相信自己能夠完成自己定下的目標(biāo),且且堅(jiān)定不移的去奮斗。結(jié)果當(dāng)然重要,沒有人不希望自己好的??墒菦]有壹個(gè)好的過程不可能有好的結(jié)果。這個(gè)于軟件工程里面就典型地表現(xiàn)出來了。走完這個(gè)過程需要的就是壹種堅(jiān)定的自信,堅(jiān)定的奮斗。對軟件業(yè)的見法我知道我們國內(nèi)當(dāng)下的軟件業(yè)是落后的??墒俏覉?jiān)信這么大的壹個(gè)國家,壹定存于著很多優(yōu)秀的軟件人材。只是我們國內(nèi)的軟件制度不是很好。首先從大學(xué)說起,就像我剛才說的那樣,許多優(yōu)秀的人材是于課堂上學(xué)計(jì)算機(jī)的,而不是于計(jì)算機(jī)上學(xué)習(xí)計(jì)算機(jī)的。那么這仍有什么意義呢?本來很多優(yōu)秀的人開始不討厭計(jì)算機(jī),可是學(xué)了壹倆年后,天天于課堂上聽課。其實(shí)上課于干什么,很多人均知道??荚嚨臅r(shí)候,緊壹下,及個(gè)格就行了。這樣壹搞,這些優(yōu)秀人才對計(jì)算機(jī)怎樣提地起興趣呢?其實(shí)計(jì)算機(jī)是最好搞實(shí)踐的。壹臺電腦,壹個(gè)網(wǎng)就是壹個(gè)實(shí)習(xí)基地嘛。而且軟件是做容易見到成果的,壹有成就感,人就像吸鴉片壹樣馬上上癮。所以于大學(xué)就已經(jīng)流失了很多計(jì)算機(jī)優(yōu)秀的人材。進(jìn)入社會后,有些人搞計(jì)算機(jī),可是很多人均是被生活所迫。有多少人對計(jì)算機(jī)是充滿激情的。沒有激情,讓你壹直做下去你怎么能夠有所作為。而且公司實(shí)行單軌道機(jī)制,重管理。搞的人人均想當(dāng)領(lǐng)導(dǎo)(這也跟中國人的傳統(tǒng)思維所以有激情的優(yōu)秀人才對計(jì)算機(jī)就沒有興趣了,吃這碗飯的人顯得激情不夠,你見軟件怎能不差呢。苦,能耐勞,有決心,有毅力,不于乎什么功名利祿,說干就干的人。眠之夜我為自己寫的程序而興奮不已,無數(shù)次崩潰之后我依然堅(jiān)持,因?yàn)闈M富激情的奮斗給我?guī)淼氖菬o窮的樂趣,所以我心足矣。最后為中國軟件業(yè)之崛起而貢獻(xiàn)自己的壹份力量。-------趙松20054149互相學(xué)校共勉,對于這次課程設(shè)計(jì)的經(jīng)歷讓我受益非淺。--------趙雨亭20054165通過這次機(jī)會我學(xué)習(xí)到了很多東西,讓我明白了團(tuán)隊(duì)合作于軟件開發(fā)中的重要性,只有大家明確分工,團(tuán)結(jié)壹致,互相溝通和幫助,才能開發(fā)出優(yōu)質(zhì)的產(chǎn)品,也只有這樣才能使效率更高,于短時(shí)間內(nèi)保質(zhì)保量的完成任務(wù).--------張?zhí)烊?0054151N多知識,這里要感謝下組長趙松,于他的帶領(lǐng)和幫住下我們才能如此順利的把這事情搞定。的是它的書名。軟件設(shè)計(jì)沒什么太神秘有東西,只要用心體會,其實(shí)壹切均很自然。軟件的設(shè)計(jì)之“道,也不于于設(shè)計(jì)有多么,進(jìn)入壹個(gè)全新的境界。團(tuán)隊(duì)是最重要也是最難的,它是壹個(gè)項(xiàng)目能否順利成功的關(guān)鍵。它不僅教我們?nèi)绾伟l(fā)現(xiàn)市場,如何分析需求,如何挑選團(tuán)隊(duì),如不只是用于軟件開發(fā)上,更能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)五年級混合運(yùn)算練習(xí)題
- 小學(xué)四年級數(shù)學(xué)乘除法豎式計(jì)算題
- 小學(xué)數(shù)學(xué)二年級100以內(nèi)連加連減口算題
- 高考語文模擬試題(二十)
- 2025年中考語文文言文總復(fù)習(xí)-學(xué)生版-專題01:文言文閱讀之理解實(shí)詞含義(講義)
- 北京市豐臺區(qū)2022-2023學(xué)年高三上學(xué)期期末練習(xí)英語學(xué)科試卷
- 房屋裝修行業(yè)顧問工作總結(jié)
- 制藥業(yè)行政后勤工作總結(jié)
- 《公司團(tuán)隊(duì)培訓(xùn)游戲》課件
- 演出票務(wù)公司營業(yè)員服務(wù)總結(jié)
- Siemens WinCC:WinCC趨勢圖與歷史數(shù)據(jù)技術(shù)教程.Tex.header
- 【長安的荔枝中李善德的人物形象分析7800字(論文)】
- CJT 288-2017 預(yù)制雙層不銹鋼煙道及煙囪
- 生物安全風(fēng)險(xiǎn)評估報(bào)告
- 戈19商務(wù)方案第十九屆玄奘之路戈壁挑戰(zhàn)賽商務(wù)合作方案
- 廣西河池市宜州區(qū)2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試卷(含解析)
- 2024高考政治真題-哲學(xué)-匯集(解析版)
- 對承租方有利的商鋪?zhàn)赓U合同
- 2024云南大學(xué)滇池學(xué)院教師招聘考試筆試試題
- 國外幼兒園自主游戲研究現(xiàn)狀
- 浙江大學(xué)2011–2012學(xué)年冬季學(xué)期《高級數(shù)據(jù)結(jié)構(gòu)與算法分析》課程期末考試試卷
評論
0/150
提交評論