- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 计算机网络教程 教学课件 作者 王硕 第4章.ppt
- 计算机网络教程 教学课件 作者 王硕 第5章.ppt
- 计算机网络教程 教学课件 作者 王硕 第6章.ppt
- 计算机网络教程 教学课件 作者 王硕 第7章.ppt
- 计算机网络教程 教学课件 作者 王硕 第8章.ppt
- 计算机网络教程 教学课件 作者 王硕 第9章.ppt
- 计算机网络教程 教学课件 作者 谢希仁 第01章.ppt
- 计算机网络教程 教学课件 作者 谢希仁 第05章.ppt
- 计算机网络教程 教学课件 作者 谢希仁 第11章.ppt
- 计算机网络教学课件 作者 杨心强 第1章+概述.ppt
- 黑龙江大庆第十四中学2025届物理八年级第一学期期末达标检测模拟试题含解析.doc
- 2025届惠安广海中学八年级物理第一学期期末综合测试模拟试题含解析.doc
- 2025届江苏省南通市紫石中学八年级物理第一学期期末达标检测试题含解析.doc
- 2025届广东省汕头市潮南区峡山中学物理八年级第一学期期末达标检测模拟试题含解析.doc
- 福建省泉州市鲤城区泉州市第七中学2025届物理八上期末学业质量监测试题含解析.doc
- 2025届四川省富顺县八年级物理第一学期期末联考试题含解析.doc
- 2025届山东省济宁市邹城市物理八年级第一学期期末学业水平测试模拟试题含解析.doc
- 内蒙古赤峰市联盟学校2025届物理八上期末考试试题含解析.doc
- 吉林省长春市长春汽车经济技术开发区2025届物理八年级第一学期期末教学质量检测试题含解析.doc
- 江苏省南京市南师附中树人学校2025届物理八年级第一学期期末达标测试试题含解析.doc
最近下载
- SP锻炼方面的家规.docx VIP
- 《青春期教育》课件.pptx VIP
- 部编版二年级下册道德与法治 期末考试试卷含答案解析.docx
- 电子信息工程专业毕业论文--白光LED的发光机理及制造难点研究.doc VIP
- 职工食堂员工食堂外包服务项目标书招投标模板.pdf
- 11BS3给水工程华北标图集高清版图集.pdf
- 2021年有机肥料及微生物肥料企业防汛应急救援方案.pdf
- The National Day 国庆节-英文PPT(共24张PPT).ppt VIP
- 22春国家开放大学,本科期末考试,资料,1396药事管理与法规(本).pdf
- (12份试卷合集)成都市重点名校2018-2019学年八下物理期末试卷汇总.pdf
文档评论(0)