计算机网络应用编程技术 教学课件 作者 林涛 第12章 网络编程综合案例.ppt

计算机网络应用编程技术 教学课件 作者 林涛 第12章 网络编程综合案例.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 网络编程综合案例 12.1 项 目 简 介 12.1.1 项目介绍 在项目开发中如何进行需求分析,如何规划数据库、数据库建模以及怎样将模式设计应用于具体的项目困扰了开发人员。本章以一个在线课程项目为线索全面展现软件开发的各个步骤。 CoursesOnline(在线课程)是一个实验性质的系统,在CoursesOnline系统里,学生选择课程,老师可以开设课程,系统管理员则对学生、老师以及课程进行管理。 CoursesOnline使用J2EE来实现,目的是为其他EJB系统的开发提供一些参考。 12.1.2 开发环境 CoursesOnline使用JBuilder 9+Oracle 9i+WebLogic 7的开发环境。 因为J2EE是一种行业标准,所以采用哪种开发环境的搭配并不是最重要的。目前其他常见开发环境的搭配还有Eclipse+MySQL+Jboss(都是OpenSource),VJA+DB2+WebSp- here等。 12.2 需 求 分 析 12.2.1 在线课堂流程 图12-1所示为在线课堂流程。显而易见,系统中有学生、老师和系统管理员3种Actor。学生需要注册成系统用户后才能浏览课程和选课。 12.2.2 数据库建模(ER图)及数据字典 图12-2所示为CoursesOnline的数据库ER图,建模工具是ERWin。ERWin的正向工程支持ER图直接生成数据库表结构,逆向工程支持数据库表结构生成ER图。 CoursesOnline使用到的表有5个,数据字典如表12-1~表12-5所示。 12.3 CoursesOnline系统设计 12.3.1 Design Pattern的选择和思考 在系统设计上,Design Pattern的选择是很重要的。因为正确的Design Pattern不仅在开发阶段可以让开发人员思路清晰、得心应手,而且在维护阶段也不至于让维护人员难以维护。 除此之外,对于系统的健壮和运行效率也起着举足轻重的作用。如果采用了错误的Design Pattern,那么对于系统来说,就像是在错误的时间、错误的地点与错误的敌人打了一场错误的战争。 下面以CoursesOnline系统学生注册时采用两种不同的处理方法为例来简单说明选择Design Pattern的重要性。 学生在Client提交注册信息,包括登录账号、登录口令、姓名、电话和E-mail五项内容。从数据库ER图中可以看到学生信息被分散在两张表里,也就是说服务器端有两个Entity Bean来存取学生的注册信息,一个为Actor,另一个为ActorInfo。 方法一:客户端直接与Entity Bean沟通以完成工作,如图12-3所示。 方法二:客户端与Session Bean交互,由Session Bean与Entity Bean沟通以完成工作,如图12-4所示。 方法一的设计虽然也能完成对学生注册的处理,但是客户端必须编写所有的业务逻辑代码,而且由于客户端直接访问Entity Bean,不但造成了多次的网络roundtrip,使执行效率大幅下降,也使客户端与Entity Bean形成强耦合,日后不管修改客户端还是Entity Bean,都会牵一发而动全身,对系统的改造简直就是一场灾难。 方法二不但大幅降低了网络的roundtrip,而且Session Facade分隔了客户端和Entity Bean,Entity Bean对于客户端来说是透明的,客户端需要关心的只是Session Facade提供的接口。这样一来系统的可扩展性就得到了质的提升。 12.3.2 CoursesOnline系统示意图 CoursesOnline系统示意图如图12-5所示。 12.4 创建数据库 12.4.1 新建一个数据库 先有数据库表再有Entity Bean?还是先有Entity Bean再有数据库表? 这两个问题有异曲同工之妙。可能会有人先设计Entity Bean再建数据库表,也有可能反其道而行。在CoursesOnline这个实验性质系统的开发过程中,是先建数据库表然后才有Entity Bean。 Oracle可以在命令行模式下输入dbca,或者直接在“开始”菜单中找到并运行Database Configuration Assistant,然后根据向导的提示新建一个名为CoursesDB的数据库。 Oracle 9i新建数据库的详细过程请参考Oracle的相关参考书。 12.4.2 数据库创建一个用户 在命令行模式下输入oemapp conso

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档