- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程项目说明
短学期软件实践:
网上虚拟社区
工程项目报告
组长: 黄裕平 组员: 胡 晗 孙 正 王 伟 黄华峰
李明臣
蔡 彬
王 威
姜 琦 2007-9-13
设计过程及分工
从上学期分完组收到任务以后,我们小组就开始对网上虚拟社区的构建展开了讨论。当时我们还是刚刚接触Java这门语言,虽然它的语法规则跟C++类似,但毕竟有很大区别。而我们要做的虚拟社区必须综合用到Java的很多专业知识。针对这一情况,我们组织小组成员共同学习Java语言,基础好的帮助基础差的,在长学期里我们把老师推荐给我们的《Java语言程序设计(基础篇)》基本学完,大家对Java也有了初步的了解,同时我们小组同学积极探讨虚拟社区的构建,提出了基本的UML图。
为了在短学期能够顺利完成软件工程,我们还要求大家在暑假期间继续深入学习《Java语言程序设计(进阶篇)》的有关知识,指定专人深入特定方面如:数据库、JSP语言、Swing组件、Socket、RMI远程调用、多线程等特定知识。
进入短学期,我们严格按照老师给我们安排的进度执行。在第一个星期,我们共同讨论如何构建虚拟社区,现在的讨论不再是长学期的纸上谈兵,而是深入到技术细节。
一开始我们想用类Guest、SoftwareEmpolder、SoftwareVendition、VirtualCommunity共同构成服务器。类Bank单独构成一台服务器。他们各自实现自己的数据库接口。用户与公司通过登录服务器页面来访问和进行自己的业务操作。而他们的数据都存在服务器相连的数据库中。VirtuaiCommunity和Bank分别实现自己的数据库操作。整个虚拟社区准备用四个部分构成:虚拟社区服务器、银行服务器、软件开发公司操作系统、软件销售公司操作系统。至于顾客可以通过访问虚拟社区服务器来进入虚拟社区。各个服务器及操作系统拥有各自的数据库顾客通过登录网页注册来建立自己在虚拟社区中的数据。这些数据保存在于自己相关的服务器数据库里边通过用户名和密码将这几个数据库中的数据关联起来。这四个块通过网页的互登来实现。
因此整个工程分为功能紧密联系的四大块由小组成员孙正、黄华峰、王伟、李名臣完成软件开发,公司操作系统、软件销售公司操作系统的编写;蔡彬、黄裕平、王威、姜琦、胡晗完成虚拟社区服务器、银行服务器的编写。(四大块中People、数据库操作等类可重用。)
但是,这样的话,我们必须在客户端也安装数据库,而且操作不方便。考虑到现在的虚拟社区要想普及就不能对计算机有太高的要求,而很多个人计算机很少给自己安装数据库,人家不可能为了用一下你的虚拟社区而专门安装一个数据库。
因此,我们将虚拟社区服务器、软件开发公司操作系统、软件销售公司操作系统改在同一个服务器中,这样可以就可以共享数据库。各个公司通过登陆网页登录,无须特定要求,对计算机及使用人能力的要求都达到了最低。
按照这样的设计,我们必须编写大量的网页,通过比较,我们决定采用JSP语言来编写,于是我们安装了Tom—cat,并开始学习JSP编写及Dreamweaver的使用。但由于很多人更熟悉Swing组件,于是最后我们还是决定用GUI组件编写客户端。
接下来要解决的是网络通信问题,通过向别的组取经时我们发现他们大多用的是Socket套接字来实现,但是考虑到RMI可以使我们在较高的抽象层次上进行程序设计。他隐藏了套接字服务器、套接字、连接以及数据的发送或接收等细节。他甚至在后台实现了多线程服务器,然而,如果在套接字层进行程序设计,必须明确地实现处理多客户的线程。
RMI应用程序可以升级、易于维护。可以修改RMI服务器或把它移动到其他机器上,而除了重设服务器的URL之外,不需要对客户程序作任何修改。在套接字层程序设计中,客户发送数据的操作要求服务器相应地读操作。在套接字层,客户和服务器的实现是严格同步的。
RMI客户可以直接调用服务器的方法,而在套接字层程序设计中,只限于传递值。套接字层程序设计师非常原始的,最好不用它开发客户/服务
文档评论(0)