系统功能需求
通过自己对社区服务中心管理系统的了解,以及自己平常使用积累的经验,我认为,一个合格的社区服务中心管理系统需要以下功能。
这是我的实训项目,发出来看看能不能帮助一些人
1.1.1 登陆及注册
此功能应实现基本的登陆和注册,并用JLable组件给予用户提示,在登陆之可以显示菜单界面,以便进行需要的操作,如果没有对于账户和密码,可以进行注册,添加注册按钮,点击之后可以显示注册界面,注册要输入自己的相关信息,输入完整并且正确后才可完成进行注册。
1.1.2 党员和用户功能页面
此功能应实现党员和用户功能菜单界面,便于用户实现下一步操作,此界面应该有优美且井然有序的图形界面,并通过此模块实现导航,在用户进入菜单界面后,如何进入各个功能的可以一目了然,使用户可以无门槛使用本系统。
1.1.3 后台管理功能页面
此功能应实现后台管理功能菜单界面,便于管理员实现下一步操作,此界面应该有优美且井然有序的图形界面,管理可以通过此页面实现对用户和党员的相关活动申请进行处理。
1.1.4 管理员需求
管理员使用的模块应包含多个类,条理较为清晰,可以让管理员在使用系统时对各种类型的申请信息进行管理。
(1)在处理用户的相关功能时,可以查看全部用户的信息,点击后可以查看特定的信息,同时可以实现用户相关信息的增删改查功能,当增删改查成功时会出现相关提示。同时可以查看在线用户,强制退出在线用户的功能,同时也可以简单的通过搜素账号id或者账号名称较为方便的搜索相关用户信息,但没有这个用户信息时也可以有报错提示,来帮助管理员管理信息。
(2)在处理困难诉求的信息时,可以查看全部的困难诉求信息,点击相关信息会查看全部信息并且弹出,设计分配负责人这一个功能,分配负责人成功后,会有相关提示。
(3)在处理活动会议的信息时,可以查看全部的困难诉求信息,点击相关信息会查看全部信息并且弹出,设计查看后同意或者不同意的设计,和相关信息的增删改查功能,当确认后,也会有相关提示。
(4)在处理场地设备的申请信息时,可以查看全部的场地信息,点击相关信息会查看全部信息并且弹出,设计查看后同意或者不同意的设计,当同意或者不同意后,也会有相关提示。
(5)可以发布公告,该公告发布成功后,会在用户界面显示。
1.1.5 用户及党员需求
用户和党员可以登录和注册,注册时可以选择自己的头像,当登录成功后,会显示自己的头像。同时可以查看动态的公告,在线聊天,在线评论,困难申请,活动申请,地点和设备申请等一系列的功能。这些功能充分设计,考虑到了方方面面,设计不同情况下用户不会使用的提示,和使用错误的提示。
3.1 登陆及注册模块
在启动系统后,进入登陆界面,如图3-1-1所示,用户可以在此界面选择身份并输入自己的账户和密码,密码和账户输入错误时还会提示,如图3-1-2所示。
图3-1-1 登陆界面
图3-1-2 账户或密码错误
没有注册自己的账户时,可以进入注册页面进行注册。用户可以输入想要设置的账户名和密码及相关信息,同时也可以选择本地的图片,选择图片上传。注册上传图片成功显示如图3-1-3所示。如果账户名重复或密码和确认密码不同系统会进行提示,如图3-1-4所示和图3-1-5所示。
图3-1-3 注册头像上传成功界面
图3-1-4 账户重复提示
图3-1-5 密码和认密码不同提示
3.2 菜单模块
在登陆成功后,系统将进入菜单界面中,进入管理员界面如图3-2-1,其设计的界面较为整洁,功能显示较为整齐,能快速使用户上手使用。不同的字体颜色也为添加了一点色彩。不同功能的数据显示刷新table面板,实现对不同信息的展示。其用户和党员的界面如图3-2-1。在这个界面上可以显示自己注册的相关信息,包含自己上传的头像。
同时也有各种功能的展示。点击可以选择相应功能。其中点击自己的相关信息时,也可以出现更加详细的相关信息如图3-2-3。
图3-2-1 管理员菜单界面
图3-2-3 个人信息展示界面
图3-2-2 用户和党员菜单界面
3.3 管理员功能模块
此模块中实现了系统中对所有申请的信息进行管理。在管理员进行编辑时,本系统做到了简明干净,做到不臃肿。
3.3.1 用户相关信息管理
显示所有用户,出现所有用户的账号id,账号名称,在线状态这三个相关信息如图3-3-1。显示在界面上的同时,如果我们想要查看当时所有在线用户,我们可以点击显示所有在线用户如图3-3-2。如何我们想要强制退出某个用户就是选中这一行,如果这个用户在线,我们可以强制退出这个用户如图3-3-3。如果没人在线我们也会收到提示。这个功能能很好的解决停服,修改程序的目的,具有很好的实际利用价值。
图3-3-1 显示所有用户实现效果
当数据量太大时,或者我们清楚的想要获取某个人的信息,我们可以通过在文本框中输入查找该用户的相关信息,我们也有两种查询的方式,第一种通过账号名称获取如图3-3-4,第二种通过账号id获取如图3-3-5。如果不存在该用户,也会曝出相应的错误提示。更加的方便的同时,满足程序的相关需求,提高程序的可使用能力。
图3-3-2 在线用户信息实现效果
图3-3-3 强制退出用户后界面显示
图3-3-4 通过账号名称获取信息
图3-3-5 通过账号id获取信息
在table上显示的信息如果我们还想要查看或者修改。我们还可以点击查看特定的用户信息,进入此用户信息的界面可以查看信息,查看的信息有的无法更该,是一个的必要条件,没办法进行更改。可以更改的信息,我们可以可以在对应的输入框中输入进行更改如图3-3-6,当该用户想要注销或者不需要此账号时,我们也可以选择删除该账号及相关信息图3-3-7。
图3-3-13 用户信息更改界面
图3-3-14 用户信息删除界面
3.3.2 启动服务器和关闭服务器管理
此功能主要管理是满足当服务器未开始时,用户和党员无法实现登录与注册功能,实现了对socket端口号控制,当服务器没有开启时会出现自定义报错,如图3-3-8和JavaSocket未连接的catch抓包报错如图3-3-9。当关闭服务器时,所有用户被强制退出。关闭服务器如图3-3-10。
图3-3-8 自定义未开启服务器报错
图3-3-9 未开启服务器java报错
图3-3-10 服务关闭成功提示
3.3.3 公布发布管理
此功能主要是负责管理对公告的处理,可以实现对公告的增删改查功能,在主界面上点击图片可以发布公告如图3-3-11。点击查看公告按钮也可以查看所有公告如图3-3-12,发布的公告能在用户和党员的菜单界面中动态显示,点击进入相关公告查看。在这个界面进行公告的删除和更改功能,如图3-3-13和图3-3-14.
图3-3-11 公告添加信息界面
图3-3-12 公告信息展示界面
图3-3-13 公告信息更改界面
图3-3-14 公告信息删除界面
3.3.4 苦难诉求管理
此功能主要是对用户的困难诉求进行处理,点击苦难诉求按钮可以查看全部的苦难诉求如图3-3-15。选定后可以查看特定的困难诉求信息在这个界面我们可以分配特定的负责人如图3-3-16。分配后用户可以获取到负责人账号,可以通过聊天进行进一步沟通进行困难处理。
图3-3-15 困难诉求信息展示
3.3.5 活动会议管理
此功能主要是对用户的活动会议申请进行处理,点击活动会议按钮可以查看全部的活动会议如图3-3-17。选定后可以查看特定的活动会议信息同时在这个界面我们可以更改相关的信息如图3-3-18,同时设置同不同意该项目开展如图3-3-19和图3-3-20。当该项目同意后用户可以获取到相关信息,并举行该活动的开展。
图3-3-17 会议活动信息展示
图3-3-18 活动信息更改界面
图3-3-19 活动信息同意界面
图3-3-20 公告信息不同意界面
3.3.6 场地设备管理
此功能主要是对用户的场地设备申请信息进行处理,点击场地设备按钮可以查看全部的场地设备请求如图3-3-21。选定后可以查看特定的场地会议信息在这个界面我们可进行处理,设计同意或者不同意按钮,进行状态设定如图3-3-22和图3-3-23。处理后用户可以获取到相关的信息,看自己的申请结果是否成功。
图3-3-21 场地设备信息展示
图3-3-22 场地信息同意界面
图3-3-23 场地信息不同意界面
3.4 用户及党员功能模块
此模块实现了系统中用户及党员角色的主要功能,包括个人信息展示,动态公告播报、添加好友、好友聊天,在线留言,困难诉求,困难解决,活动会议,场地设备功能。
3.4.1 个人信息
在页面的最上面会显示自己简单的相关信息,包括账号名称,账号id和自己的注册头像。当用户点击自己的头像是,会弹出更多关于自己的相关信息。如图3-4-1.
图3-4-1 个人信息展示
3.4.2 好友列表及在线交流
此功能主要实现了用户之间的交流与沟通功能,用户之间可以通过添加好友实现交流沟通交流的目的如图3-4-2,加完好友后可在列表中显示如图3-4-3,同时也可以通过此实现对苦难帮扶人员的帮扶,通过聊天进行慰问。期间用户也可以通过该系统更加好的了解对方,加深感情。如图3-4-4.
图3-4-2 添加好友界面
图3-4-3 添加好友后界面显示
此好友列表按钮主要代码:
public void showFriends(ArrayList<User> friendList) {System.out.println("显示好友列表");panel_FriendsList.removeAll();for (int i = 0; i < friendList.size(); i++) {User friend = friendList.get(i);JButton btn_Friend = new JButton(friend.getUser_Nickname() + "(" + friend.getUser_Number() + ")",new ImageIcon("Image/xiaotouxiang.png"));panel_FriendsList.add(btn_Friend);btn_Friend.setToolTipText(userId + " " + friend.getUser_Number());btn_Friend.addActionListener(/*** 给每个好友按钮添加监听事件*/new ActionListener() {public void actionPerformed(ActionEvent e) {JButton temp = (JButton) e.getSource();System.out.println(temp.getToolTipText());String IandFstr = temp.getToolTipText();String[] IandFarr = IandFstr.split(" ");ChatWindow cw = new ChatWindow(IandFarr[0], IandFarr[1]);mcw.addChatWindow(IandFarr[1], cw);}});}panel_FriendsList.updateUI();
}
聊天界面使用socket,和数据流的读入和读取,实现对在文本框中的内容进行实时发送,同时在服务器端也可以查看到相关的信息,服务器读取到相关信息后,统一保存在本地文档中。实现该系统的所有聊天进行记录,有利于对该系统的进一步开发,是该系统更加人性化。功能化。
图3-4-5 好友聊天界面显示
3.4.3 在线留言
此功能主要是为了给用户们提供留言的机会,在此社区任何一个用户都可以发表自己的意见,发表自己的言论,发表自己对社区发展的看法,同时社区工作人员也可以看到,对社区进行改善,如图3-4-6.
图3-4-6 社区在线留言功能
3.4.4 困难述求
此功能主要是为了给相关贫困人员提供申报困难补助的功能,相关贫困人员可以申报自己的相关信息如图3-4-7,同时我们也可以打印自己申报的相关信息,此信息会保存到相关地址,我们找到该文件去打印就可以了,如图3-4-8,图3-4-9。相关管理人员会对其进行审核并且分配负责人。我们只需等待申请就行了。
图3-4-7 申报成功信息
图3-4-8 下载文档成功提示
图3-4-9 相关本地信息文档
3.4.5 困难解决
此功能主要是为了给解决申报困难信息的人员提供解决问题的方法,在管理员分配完负责人后,相关申请人可以查看负责人的相关信息,如图3-4-10。如果还没有进行相关工作的进行,也会进行提示,劝申请人不要太在意。之后申请人可以与负责人进行相关沟通,解决过程也会保留下来如图3-4-11。困难诉求解决以后,申请人同样可以保存相关解决的过程文件,如图3-4-12,也会保存在本地文件方便去打印相关信息如图3-4-13.
图3-4-10 查询相关负责人信息
图3-4-11 相关帮扶信息的显示
图3-4-12 相关帮扶信息的保存提示
图3-4-13 相关帮扶信息的保存
3.4.6 活动会议
此功能主要是为了给用户们提供对活动会议的申请工作,用户可以选择不同的活动进行报名。进行报名需要输入自己的相关信息进行报名如图3-4-14。报名信息管理员处理完后,用户可以进行相关查看,当信息未处理完时,会进行提示,当处理完毕后,也会进行相关提示如图3-4-15。同时我们也可以将相关信息进行本地的保存,之后方便进行打印等一系列之后的处理。如图3-4-16,3-4-17。
图3-4-14 活动会议申请工
图3-4-15 活动会议申请状态查询
图3-4-16 相关文件保存提示
图3-4-17 相关文件保存到本地
3.4.7 场地设备
此功能主要是为了给用户们提供对场地设备的申请工作,用户可以输入自己想要举办的活动进行报名。进行报名自己想要的场地或者设备的相关信息进行报名如图3-4-17。报名信息管理员处理完后,用户可以进行相关查看,当信息未处理完时,会进行提示,当处理完毕后,也会进行相关提示如图3-4-18。同时我们也可以将相关信息进行本地的保存,之后方便进行打印等一系列之后的处理。如图3-4-19,3-4-20。
图3-4-17 场地申请工作
图3-4-18 场地设备申请状态查询
图3-4-19 相关文件保存提示
图3-4-20 相关文件保存到本地
写入本地文件的主要代码:
String ss = "D:\\file\\"+s+".txt";
String s2 = "编号:" + s +"标题:"+ text1 +"内容:"+ text2 +"诉讼日期:"+ text3 +"备注:"+ text4 +"诉讼人:"+ text5 ;
if (s.equals("") || text1.equals("") || text2.equals("") || text3.equals("") || text4.equals("") || text5.equals("") ){JOptionPane.showMessageDialog(null, "请输入内容");
}else{
try {OutputStreamWriter ops = new OutputStreamWriter(new FileOutputStream(ss));ops.write(s2);JOptionPane.showMessageDialog(null, "请到本地 "+ss+" 打印文件");ops.close();
} catch (FileNotFoundException ex) {ex.printStackTrace();
}
全部代码包含数据库的建立代码都在这个链接里面
完整代码: 大白kangkang