![聊天软件开发计划书样本_第1页](http://file4.renrendoc.com/view11/M03/19/28/wKhkGWX7kJKAQHPcAACfuQq_o8Q883.jpg)
![聊天软件开发计划书样本_第2页](http://file4.renrendoc.com/view11/M03/19/28/wKhkGWX7kJKAQHPcAACfuQq_o8Q8832.jpg)
![聊天软件开发计划书样本_第3页](http://file4.renrendoc.com/view11/M03/19/28/wKhkGWX7kJKAQHPcAACfuQq_o8Q8833.jpg)
![聊天软件开发计划书样本_第4页](http://file4.renrendoc.com/view11/M03/19/28/wKhkGWX7kJKAQHPcAACfuQq_o8Q8834.jpg)
![聊天软件开发计划书样本_第5页](http://file4.renrendoc.com/view11/M03/19/28/wKhkGWX7kJKAQHPcAACfuQq_o8Q8835.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学校:中南林业科技大学成员:赵松,刘彬,张天瑞,邝东凡,段建军,欧阳益湘,彭刚强,赵雨亭,巫腾飞组长:赵松副组长:张天瑞年级:级指引教师:辛动军目录面向对象分析需求陈述系统建摸顾客服务模块简介管理服务模块数据库服务模块顾客服务模块成员管理模块管理员服务模块顾客管理模块UML系统建摸建立用例角色拟定创立用例建立时序图协作图建立包图UIpackageBusinesspackage系统布置组件图配备图源代码软件截图参照文献成员学习心得聊天软件软件工程筹划书一:面向对象分析1. 需求陈述(全组讨论,邝东凡,段建军写讨论成果文档)(1)可以通过网站注册,申请聊天软件号码跟密码。注册成功之后保存注册顾客,真实姓名,所在学校,宿舍,班级,院系,性别,出生年月,入年份,个性签名@,(2)下载一种客户端软件,输入帐号跟密码,选取登陆状态(上线,隐身)登录。登录框消失,显示主界面。当顾客上线时,提示你朋友,你加入社团等。并显示在线朋友。当打开群,社团,学院聊天室对话框之后显示在线顾客。当上线朋友离开时,自动将朋友变为离线状态。当班级或群朋友给你发送信息,你又不在时候,服务器帮你保存资料,当你登陆时候,将信息发送给你。(3)主界面包好官方网站超级链接,用软件吉祥物显示。主界面显示顾客自己头像,双击进入顾客“我世界”网叶@(4)主界面包括顾客朋友框。每个框包具有什么对咱们说组件,双击该组件显示有什么对咱们说对话框,可以发送消息给咱们服务器双击朋友框顾客,显示朋友聊天对话框。聊天对话框,顾客可以输入信息,接受信息。可以发送接受文献,支持语音视频聊天。可以选取日惯用语。可如下载该朋友资料。(5)主界面包括社团框社团框包括该顾客加入社团,双击一种社团将显示社团对话框,可以群聊,可以显示社团告知,可以显示社团所有成员。如果社团是你创,该顾客可以管理社团,删除或增长社团成员。(6)主界面包括学院聊天框。学院聊天室有若干个学院。每个学院有10个聊天室,每个聊天室容纳100人。双击一种聊天室,显示聊天室对话窗口。可以发送文字和发送图片。可以显示该聊天室正在聊天成员。可以推出聊天室,聊天室人满了可选取其她聊天室(7)主界面包括班级框班级框包括该顾客所属班级双击班级将显示一种班级对话框,可以群聊,可以显示班级成员,可如下载班级资料,可以发送日惯用语。如果班级由该顾客创立,顾客可以增长删除班级成员,可以上传班级资料。(8)主界面包括查找按扭,单击查找按扭显示查找对话框。查找对话框隔依照输入号码搜索相应顾客或群或院系或社团。如果对方批准,获得对方发信息,然后在主界面显示该顾客或该群或者该院系或该社团。如果对方批准,则相应刷新主界面。如我家A为好有,她批准,则在朋友组增长该朋友。(9)娱乐按扭,双击娱乐按扭,显示娱乐对话框,娱乐对话框有游戏组件。暂时不做。(10)主界面包括协助按扭,双击它显示协助对话框,告诉你怎么使用这个软件。主界面有菜单按扭。双击菜单按扭,显示菜单对话框。**菜单对话框有网上集市按钮,双击显示网上集市对话框。顾客可以通过它买卖物品。顾客可把自己要卖或者要买东西发送到网上,标好价格,上传图片。**菜单对话框有查询按钮,双击显示查询对话框,查询对话框包括查询学生成绩组件和查询图书馆信息(可以续借)和四六级成绩查询。输入你学号,即可查询你成绩,如果有则显示你成绩,没有则提示没有。输入你四六级号码,既可查询成绩。输入书名选取要查书,输入你借书证号码跟借书证密码可以查你借书信息,可以续借。**菜单对话框包括创立按扭,拥护可以创立社团,班级这只针对对授权顾客。设立社团,班级名字跟社团,班级宣言。**菜单对话框包括设立按扭。双击设立,显示设立框,顾客可以设立或修改自己头像,个性签名,真实姓名,所在学校,宿舍,班级,院系,社团,性别,出生年月,入年份,兴趣兴趣等。**菜单对话框包括信息征询按扭。双击显示信息征询网叶,包括潮流征询,足球篮球信息快递,人才市场信息,兼职信息,留学信息。@**菜单对话框含交友天地,双击显示交友天地网叶友天地对话框包括爱情呼喊组建,寝室联谊组件,同校约战组件。@**菜单对话框面包括论坛按扭,双击显示论坛网叶,论坛包括文学专区,学校风云榜和注水专区。@**菜单对话框包括我仓库。大小为10M.。显示顾客当前仓库资料。顾客可以上传资料,设立权限供其她顾客下载可以删除资料。**菜单对话框包括考研专区按扭。**菜单对话框有院系新闻按扭。双击显示院系新闻网叶。@软件号码软件密码顾客个人资料妮称真实姓名,所在学校,宿舍,班级,院,系,性别,出生年月,入年份,个性签名,个人兴趣,头像。信息提示框提示信息登陆状态登录框朋友社团学院聊天室对话框服务器资料主界面官方网站吉祥物我世界朋友框朋友组件朋友个性签名朋友名字朋友资料框有什么对咱们说组件有什么对咱们说对话框朋友聊天对话框信息文献日惯用语社团框社团组件社团资料框社团名称社团号码社团头像社团对话框社团告知社团成员学院聊天框聊天室聊天室对话窗口聊天室成员班级框班级组件班级资料框班级对话框班级成员班级资料查找按扭查找对话框娱乐按扭娱乐对话框协助按扭协助对话框协助信息菜单对话框菜单按扭网上集市按钮网上集市对话框物品价格图片查询按钮查询对话框查询学生成绩组件查询图书馆信息四六级成绩查询学号提示四六级号码要查书借书证号码借书证密码创立按扭创立对话框群名字群宣言社团,班级名字社团班级宣言设立按扭设立框信息征询按扭信息征询网叶潮流征询足球篮球信息快递,人才市场信息,兼职信息,留学信息交友天地按扭交友天地对话框爱情呼喊组件寝室联谊组件同校约战组件论坛按扭我仓库按扭我仓库框仓库资料权限考研专区按扭院系新闻按扭二:系统建摸1:顾客服务模块这个模块提供了顾客登录,成员管理,顾客聊天,,个人设立,资料管理。顾客登录包过顾客登录和顾客退出。成员管理包过增长成员,删除成员,退出群,加入群。2:管理员服务模块这个模块提供了顾客登陆,管理顾客,查询。顾客登录包括顾客登录和顾客退出。管理顾客包括增长顾客,删除顾客,更新顾客资料。查询顾客信息。3:数据库服务模块这个模块提供了自动更新数据库聊天软件系统管理员服务模块数据库服务模块顾客服务模块聊天软件系统管理员服务模块数据库服务模块顾客服务模块2。1顾客服务模块顾客服务模块资料管理个人设立顾客聊天成员管理顾客服务模块资料管理个人设立顾客聊天成员管理顾客登录顾客登录顾客登录过程如下:更新数据库发送到服务器顾客号码跟密码更新数据库发送到服务器顾客号码跟密码(2)管理员模块:发送更新信息给服务器选取成员管理类型更新数据库发送更新信息给服务器选取成员管理类型更新数据库资料管理模块更新数据库发送更新信息给服务器选取资料管理类型更新数据库发送更新信息给服务器选取资料管理类型1.2.2成员管理模块:删除群退出群加入群删除成员删除群退出群加入群删除成员成员管理增长成员成员管理增长成员(1)增长成员过程:发送到服务器,服务器解决,输入成员号码返回信息给顾客。更新数据库发送到服务器,服务器解决,输入成员号码返回信息给顾客。更新数据库删除成员发送消息给服务器选取要删除成员更新数据库发送消息给服务器选取要删除成员更新数据库别的解决类似,由于赶时间,省略了诸多东西。管理员服务模块顾客管理查询管理员服务模块管理员登录顾客管理查询管理员服务模块管理员登录1.3.1查询过程:显示查询成果查询数据库输入顾客号码显示查询成果查询数据库输入顾客号码顾客登录模块跟上面同样1.3.2顾客管理模块:顾客管理更新顾客资料删除顾客增长顾客顾客管理更新顾客资料删除顾客增长顾客增长顾客过程:更新数据库顾客申请号码批准申请更新数据库顾客申请号码批准申请删除顾客过程删除该顾客更新数据库输入顾客号码删除该顾客更新数据库输入顾客号码三:UML系统建摸1建立用例(张天瑞)1角色拟定*顾客可以向服务器申请号码*有些顾客可以拥有自己资料仓库因此,有三个角色,一种是普通顾客,一种是VIP顾客,尚有管理员2创立用例(如图所示)2建立时序图(彭刚强)1。顾客登录时序图协作图建立(刘彬)顾客登录是协作图包图,分为三个包,UIpackage,Businesspackage,Databasepackage3.1UIpackage(巫腾飞)3.2Businesspackage(赵雨亭)4.系统布置1组件图(欧阳益湘)2配备图(赵松)四:源程序代码登录界面代码/**类名:LoadPane*描述:登陆框*公司:DoubleZ组合*作者:张天瑞*版本:Double1.0*创立时间:.12.6*最后修改时间:.12.10*/importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;import.*;importjavax.swing.event.*;importjava.io.*;importjava.util.*;publicclassLoadPaneextendsJFrame{ staticStringloadPass=null; JLabellabel1=newJLabel("********欢迎使用局域网聊天程序********"); JLabellabel2=newJLabel("帐号:"); JTextFieldtf1=newJTextField(15); JLabellabel3=newJLabel("密码:"); JPasswordFieldtf2=newJPasswordField(15);JLabellabel4=newJLabel("第一次使用请先注册!"); JButtonJButton1=newJButton("*登陆*"); JButtonJButton2=newJButton("*注册*"); JButtonJButton3=newJButton("---------关于----------"); /*publicvoidgetIpNum(){ InetAddressip=InetAddress.getLocalhost(); }*/ //获得自己帐号 publicstaticStringgetMyNum(){ Stringip=""; Stringip1=""; Stringip2=""; try { InetAddressaddr=InetAddress.getLocalHost();ip=addr.getHostAddress().toString();//获得本机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("个人信息.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();//读取本机顾客信息 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("个人信息.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(); } }});//关于JButton3.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ JOptionPane.showOptionDialog(null,"作者:DoubleZ组合\n"+"版本:Double1.0\n"+ "简介:一种基于局域网聊天程序.\n",null,JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null,null,null); }}); } publicstaticvoidmain(String[]args){ LoadPanelp=newLoadPane(); lp.setTitle("局域网聊天程序1.0"); lp.pack(); lp.init(); lp.setSize(230,200); lp.setResizable(false); lp.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ System.exit(0); } }); lp.setVisible(true); }}主功能实当代码/**类名:MainBar*描述:搭建一种主框架*公司:DoubleZ组合*作者:张天瑞*版本:Double1.0*创立时间:.12.3*最后修改时间:.12.10*/importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;importjavax.swing.tree.*;importjava.io.*;import.*;importjava.util.*;publicclassMainBarextendsJFrame{ ImageIconic=newImageIcon("LoadPane4.jpg"); JButtonshowPic=newJButton(ic); //把主窗口提成三个某些 //定义两个端口 DatagramSocketdss,dsr;//dss发送,dsr接受 staticArrayListarrayLs=newArrayList(200); //上部 JPanelp1=newJPanel(); //JLabellabel=newJLabel("当前顾客");//为当前顾客头像 privateImageimage; //中部 JPanelp2=newJPanel(); staticDefaultMutableTreeNoderoot=newDefaultMutableTreeNode("-------我朋友-------"); staticDefaultTreeModeltreeModel=newDefaultTreeModel(root); staticJTreetree=newJTree(treeModel); JButtonbutton3=newJButton("添加与删除朋友"); //下部 JPanelp3=newJPanel(); JButtonbutton1=newJButton("个人设立"); 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); //展开子节点 TreeNode[]root=treeModel.getPathToRoot(n); TreePathpath=newTreePath(root);tree.makeVisible(path); } //删除朋友 /*publicstaticvoiddelFriend(){ root.remove(FriendList.txt1.getText()); }*/ publicMainBar(){ //TODO:Addyourcodehere //初始化外层窗口 super("局域网聊天程序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");//初始化两个端口try{ dss=newDatagramSocket(); dsr=newDatagramSocket(6000);}catch(Exceptione){e.printStackTrace();}receMess();//一上线就就打开一种接受线程sendOnlineMess();//一上线就发送一种上线信息//-----容器----- 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()); //设定界面风格------只有三种 /*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()); //事件监听 showPic.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ ShowPicshowPic=newShowPic(); System.out.println("头像按钮!");}}); //个人设立按钮 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("选中了根节点"); return; } else { System.out.println(node); //StringnowName=FriendList.reFriendName(); System.out.println("发起聊天"); ChatDialogcd=newChatDialog("你正在与"+node+"聊天"); } } }); //添加关闭窗口时发送下线信息时间 this.addWindowListener(newWindowAdapter() { publicvoidwindowClosing(WindowEvente) { sendOfflineMess(); } } ); setVisible(true);} publicMainBar(inta){} publicvoidreceMess() {//一方面启动一种线程,用来不断从指定端口读取数据newThread(newRunnable() {publicvoidrun() { try { byte[]buf=newbyte[1024]; DatagramPacketdp1=newDatagramPacket(buf,buf.length); Stringisadd,numKey; while(true) { System.out.println("数据已经接受"); 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)//此处暂时不用//判断自己号码与否符合并且判断与否是添加朋友信息if((!isExit(strArray[1]))&&(Integer.parseInt(strArray[2])==Integer.parseInt(LoadPane.getMyNum()))&&(Integer.parseInt(strArray[0])==Integer.parseInt("1"))){//在电脑右下角显示某某添加你为朋友,调用主功能界面提示框办法TipFrametf=newTipFrame();intoption=tf.setTipFrame("朋友",strArray[1]);System.out.println("optionis"+option);if(option==0){ try { //在此处调用一种获得头像信息办法 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();} }} //然后将头像,号码,个性签名返回 //判断与否上线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"))) { //依照头像信息刷新主功能界面 FriendListfrl=newFriendList(2); frl.updateMainFrame(strArray[3],strArray[1]); } //------如果加为朋友则执行如上环节---------- } } catch(Exceptione){e.printStackTrace();} } }).start();//一方面启动一种线程,用来不断从指定端口读取数据 } 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; return tempStrArray; } publicArrayListgetArray() { returnarrayLs; } publicvoidsendOnlineMess() { //广播回路,端口3001 try { 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"+"+"+"我方号码"+"+"+"姓名"+"+"+"性别"+"+"+"年龄"+"+"+"个签"+"+"+"头像")// StringstrMess=newString("+"+"3"+"我方号码"+"所发送信息"); //StringstrOnline=newString("+"+"4"+"我方号码");// StringstrOffline=newString("+"+"5"+"我方号码");//StringstrFrie=newString("+"+"1"+"我方号码"+"+"+findUser()+"+"+"姓名"+"+"+"性别"+"+"+"年龄"+"+"+"个签"+"+"+"头像"+"+"+"要将你加为朋友")(注:由于代码太多,只能贴少某些了。赵雨汀,刘彬整顿所有文档。)六:软件截图七:参照文献《java语言导学》,MaryCampione网站!7dbdf42ee58f4a79!221.entry网站八:成员学习心得我所遇到问题。开始时有点不知所措。特别是建立模型图时候。我就不懂得为什么要这些模型图。她们能干什么。日后才明白,建立模型是以人思维方式去实现一种软件开发。我面对成员交给我需求。开始迷茫,参照了大量文献。然后把软件提成三个模块。这就把软件高度抽象了。然后遇到什么问题先是崩溃,然后查阅文档。因此查阅了多少文档我都忘掉了。对于计算机我是自学。从面对计算机一窍不通,到把第一种画图板程序写出来。耗费了我5个月时间。这期间我崩溃次数已经忘掉了。由于自学,身边没有一种人可以指引,一切参照资料一是上网查,二是去图书馆。这个过程如果是自学软件人一定深有感触。但是大痛过后是大得。我当前一不怕崩溃,受得起打击。因素很简朴,崩溃成为一种自然,崩溃过后那种喜悦令我布满激情,兴奋不已。二是有了明确目的,当前我懂得自己为什么而学和要学什么。我大一大二觉得每天上课都去了,作业完毕了,最佳可以拿个奖学金,这就是好学生。但是,我当前发现,错了。一种真正大学生是有自己思想,有自己独特路线。我写程序语言是java,但是有多少人懂得,我java分数只有70多。跟我一起合伙仁兄(也是用java)她java居然挂科了。有多少人懂得我只去上了几节java课。我看了java成绩,那些八九十分人诸多,可是有几种人可以写一种超过200行程序了。读呀读,读自己都不懂得在哪了,都不懂得能干什么了。这有必要吗。因此我坚决不做学习奴隶。学习是一种乐趣。我在写软件时候,当面对未之领域时候,我总是很兴奋。由于我懂得新崩溃要来临了。同步新挑战要来临了,挑战所带来气拔山河激情要来临了。我欢迎崩溃,没有崩溃就没有进步。三是自信与毅力,相信自己可以完毕自己定下目的,并且坚定不移去奋斗。成果固然重要,没有人不但愿自己好。但是没有一种好过程不也许有好成果。这个在软件工程里面就典型地体现出来了。走完这个过程需要就是一种坚定自信,坚定奋斗。对软件业看法我懂得咱们国内当前软件业是落后。但是我坚信这样大一种国家,一定存在着诸多先进软件人材。只是咱们国内软件制度不是较好。一方面从大学说起,就像我刚才说那样,许多先进人材是在课堂上学计算机,而不是在计算机上学习计算机。那么这尚有什么意义呢?本来诸多先进人开始不讨厌计算机,但是学了一两年后,每天在课堂上听课。其实上课在干什么,诸多人都懂得。考试时候,紧一下,及个格就行了。这样一搞,这些先进人才对计算机如何提地起兴趣呢?其实计算机是最佳搞实践。一台电脑,一种网就是一种实习基地嘛。并且软件是做容易看到成果,一有成就感,人就像吸鸦片同样立即上瘾。因此在大学就已经流失了诸多计算机先进人材。进入社会后,有人搞计算机,但是诸多人都是被生活所迫。有多少人对计算机是布满激情。没有激情,让你始终做下去你怎么可以有所作为。并且公司实行单轨道机制,重管理。搞人人都想当领导(这也跟中华人民共和国人老式思维关于了)。成果搞技术不搞创新了,都哪去了。都当领导去了。因此有激情先进人才对计算机就没有兴趣了,吃这碗饭人显得激情不够,你看软件怎能不差呢。咱们国家当前软件业需要是那些布满激情先进人材。能吃苦,能耐劳,有决心,有毅力,不在乎什么功名利禄,说干就干人。我,把自己所有精力投入到我喜欢软件工作当中。无数个不眠之夜我为自己写程序而兴奋不已,无多次崩溃之后我依然坚持,由于满富激情奋斗给我带来是无穷乐趣,因此我心足矣。最后为中华人民共和国软件业之崛起而贡献自己一份力量。-------赵松4149通过课程设计,我深刻感受到团队魅力,人们共同探讨研究,分工合伙让咱们工作进展非常顺利,同步让咱们各自取长补短,互相学校共勉,对于这次课程设计经历让我受益非浅。--------赵雨亭4165通过这次机会我学习到了诸多东西,让我明白了团队合伙在软件开发中重要性,只有人们明确分工,团结一致,互相沟通和协助,才干开发出优质产品,也只有这样才干使效率更高,在短时间内保质保量完毕任务.--------张天瑞4151近来和兄弟们一起做聊天软件,增进了感情不说,也增长了N多知识,这里要感谢下组长赵松,在她带领和帮住下咱们才干如此顺利把这事情搞定。曾经看过一本书叫《道法自然》,内容略记得一二,但我最欣赏是它书名。软件设计没什么太神秘有东西,只要专心体会,其实一切都很自然。软件设计之“道”,也不在于设计有多么华丽、精致,而在于其朴实、自然,最后达到“以无招胜有招”,进入一种全新境界。团队是最重要也是最难,它是一种项目能否顺利成功核心。它不但教咱们如何发现市场,如何分析需求,如何挑选团队,如何制定筹划。。。。。。并且它还教咱们如何做人,如何与人相处,如何管理团队,如何调动队员积极性等等诸多东西。其实这一切,不只是用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- RNF5-agonist-1-生命科学试剂-MCE-3083
- Acremine-F-生命科学试剂-MCE-8674
- 二零二五年度船舶船员劳动合同及船舶航行风险承担合同
- 2025年度汽车美容店员工劳动合同签订与解除流程合同
- 2025年度航空设施面积差额补充合同
- 2025年度汽车销售合同和购车售后服务质量监控协议
- 施工日志填写中的质量和安全事故记录方法
- 运动与心理健康如何通过锻炼提升幸福感
- 教育科技下的道德与法治教育融合探讨
- 运动场地安全检查与整改措施汇报
- 广东省茂名市电白区2024-2025学年七年级上学期期末质量监测生物学试卷(含答案)
- 《教育强国建设规划纲要(2024-2035年)》全文
- 山东省滨州市2024-2025学年高二上学期期末地理试题( 含答案)
- 2025年河南洛阳市孟津区引进研究生学历人才50人历年高频重点提升(共500题)附带答案详解
- 2025年度军人军事秘密保护保密协议与信息安全风险评估合同3篇
- 蛋鸡生产饲养养殖培训课件
- 数字化转型中的职业能力重构
- 运用PDCA降低住院患者跌倒-坠床发生率
- 2025届高中数学一轮复习专练:椭圆(含解析)
- 立春气象与生活影响模板
- 中国服装零售行业发展环境、市场运行格局及前景研究报告-智研咨询(2025版)
评论
0/150
提交评论