汕头广播电视大学 毕业论文
无法完全实现一些企业级的功能:完全的集群、均横负载。
1.4.2 JSP
JSP简单的说就是Java,只是它是一个特别的Java语言,加入了一个特殊的引擎,这个引擎将HTTPServlet这个类的一些对象自动进行初始化好让用户使用,而用户不用再去操心前面的工作。同时这个引擎又引入了< JSP : * 、< % @ 等一系列的特别语法,使用这些语法来进行一些特定的操作,如引用文件、URL转向、Java Bean引用等这样的操作,这些都是由引擎自动完成初始化的工作。可以将这个引擎看作一个JSP到Java Servlet的生成器或是翻译器,让用户不用再面对复杂的Servlet中的还没开始工作就要写的几十行代码。这就是JSP..一个Java Servlet生成器。
优势:1、一处编写随处运行。这是一个程序员的梦想,也是从前的程序员的噩梦,为了在不同的平台间运行,使许多程序员一行行的重写代码。在这一点上java已经给了我最完美的答案它做的要比PHP更出色,除了系统之外,代码不用做一点更改的。 2、系统的多平台支持。java servlet /JSP Web Server/Application Server??系统它可以让你在任意环境做开发,在任意环境进行系统部署,在任意环境扩展,相比ASP/PHP的局限性是显面易见的。 3、强大的可伸缩性。从只有一个小的jar文件就可以运行servlet/JSP到由多台服务器进行集群和均横负载,到多台Application进行事务处理、消息处理......一台服务器到无数以服务器,Java显示了一个巨人的生命力。4、多样化和功能强大的开发工具支持。这一点与asp很像,java已经有了许多非常优秀的开发工具而且有许多可以免费得到,并且其中的许多已经可以顺利的运行于多种平台之下。
不足之处:1、与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。2、运行的速度慢。3、技巧还是技巧。一个短处就一定要付出代价的。Java的运行速度是用将class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。另一方面来说,它还需要硬盘空间来存储一系列的.java文件和.class文件以及对应的版本文件。
1.4.3 PHP
如果说ASP是一个COM,那么可以说PHP是一个纯粹的Script翻译器。 优势: 1、一种能快速学习、跨平台、有良好数据库交互能力的开发语言。ASP比不上它的就是这种跨平台能力了,而正是它的这种能力让Unix/Linux有了一种与ASP媲美的开发语言。语法简单、书写容易、现在市面上也有了大量的书,同时Internet上也有大量的代码可以共享,对于一个初学者想学些“高深
汕头广播电视大学 毕业论文
的Unix”下的开发来说是一个决好的入手点。2、与Apache及其它扩展库结合紧密。PHP与Apache可以以静态编译的方式结合起来,而与其它的扩展库也可以用这样的方式结合(除外的就是Windows平台了)。这样的方式的最大的好处就是最大化的利用了CPU时和内存,同时极为有效的利用了apache的高性能的吞吐能力。同时外部的扩展也是静态联编,从而达到了最快的运行速度。由于与数据库的接口也使用了这样的方式,所以使用的是本地化的调用,这也让数据库发挥了最佳效能。3、良好的安全性。由于PHP本身的代码开放所以它的代码在许多工程师手中进行了检测,同时它与apache编译在一起的方式也可以让它具有灵活的安全设定。所以到现在为止,PHP具有了公认的安全性能。
不足之处: 1、数据库支持的极大变化。由于PHP的所有的扩展接口都是独立团队开发完成的,同时在开发时为了形成相应数据的个性化操作,所以PHP虽然支持许多数据库,可是针对每种数据库的开发语言都完全不同。这样形成针对一种数据库的工发工作,在数据库进行升级后需要开发人员进行几乎全部的代码更改工作。而为了让应用支持更多种的数据库,就需要开发人员将同样的数据库操作使用不同的代码写出n种代码库出来,让程序员的工作量大大增大。 2、安装复杂。由于PHP的每一种扩充模块并不是完全由PHP本身来完成,需要许多外部的应用库,如图形需要GD库、LDAP需要LDAP库.??这样在安装完成相应的应用后,再联编进PHP中来。这也就是说一定要在FreeBSD/Linux/Unix下运行PHP的原因。只有在这些环境下才能方便的编译对应的扩展库。这些都是一般开发人员在使用PHP前所先要面对的问题,正是这样的问题让许多开发人员转而使用其它的开发语言,毕竟Unix没有那么多的用户。
1.5 数据库的基本概念
什么是数据库系统?简单地说,数据库系统是一种计算机化的数据保存系统,它以特有的数据存储方式将相关的数据内容整合在一起。我们可以将数据库本身想成是一个电子档案柜,在这个电子档案柜内,存放着一些电子数据文件。数据库系统主要的目的在于维护信息,并在必要时提供协助取得这些信息。
1.5.1 数据库系统的类型
数据库系统被使用的范围非常广泛,从一般的微电脑到大型主机都可以使用。一般来说,大型主机多倾向于使用多用户的数据库系统,而一般的微电脑、个人计算机则倾向于使用单用户数据库系统。这里所谓的单用户数据库系统,是指同时最多只能有一个用户存取数据库的内容,而多用户数据库系统,则允许多个用户同时存取数据库的内容。
汕头广播电视大学 毕业论文
数据库系统的种类非常多,目前以关系型(Relational)数据库系统最为常见,所谓的关系型数据库系统是以表(Table)的类型将数据提供给用户,而所有的数据库操作都是利用旧的表来产生新的表。除了关系型数据库系统外,其他常见的数据库系统类型还有Inverted List,Hierarchic,Network等数据库系统。
1.5.2 数据库系统的结构
不同的数据库系统有着不同的系统结构,毫无疑问,一个数据库结构并不能完全用于所有的数据库系统,在这里我们以被广泛认同的数据库结构——ANSI/SPARC结构来进行说明。
1. ANSI/SPARC结构
在ANSI/SPARC结构中将数据库分为内部层(Internal Level)、概念层(Conceptual Level)以及外部层(External Level)等三层,如图1.1所示。
外部层(External level)个人用户视域 概念层(Conceptual level)共同用户视域 …. 内部层(Internal level)数据存储视域
图1.1 数据库结构图
内部层是最接近数据库实体存储位置的一层,与数据库数据实际存储方式有关,在内部层中以具体的方式来表示整个数据库。
外部层是最接近用户的部分,与用户对数据的查看方式有关,在外部层中以用户看得懂的方式来表示部分数据库的内容,每个用户所查看的数据内容不同。 概念层位于内部层与外部层之间,以用户看得懂的方式来表示整个数据库,提供每个用户一致的数据查看内容。
不管是使用哪一种数据库系统,都只会影响到ANSI/SPARC结构的外部层以及概念层内容,而与内部层无关。例如,对于关系型数据库系统而言,在概念层中所看到的数据一定是以关系型的形式存在,在外部视域中所看的数据有可能会以关系型的形式存在,至于在内部层中的数据则一定不会是以关系型的形式存在。
2. Mapping对应
汕头广播电视大学 毕业论文
在图1.2的详细结构图中,可以发现在内部层与概念层之间以及概念层与外部层之间各有一个对应(Mapping)存在,分别对应着上下两层的内容。
图1.2 数据库详细结构图
概念/内部对应(Conceptual/ Internal Mapping)位于概念层与内部层之间,定义数据库的概念视域内容与实际存储内容之间的对应关系。如果改变了数据库的存储结构,只要在这个对应中修改对应的内容就可以了,而不需要改变概念视域与外部视域的内容。
外部/概念对应(external/conceptual mapping)位于外部层与概念层之间,定义特定外部视域与概念视域的对应关系,也就是定义外部视域所查看的部分数据库内容与整个数据库之间的关系。
汕头广播电视大学 毕业论文
第二章 系统的可行性研究和需求分析
2.1 可行性研究
2.1.1 可行性研究的任务
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。
首先需要进一步分析和澄清问题定义。在问题定义阶段初步确定的规模和目标,如果是正确的就进一步加以肯定,如果有错误就应该及时改正,如果对目标系统有任何约束和限制,也必须把它们清楚的列举出来。
当然,可行性研究最根本的任务是对以后的行动方针提出建议。如果问题没有可行的解,分析员应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费;如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。
2.1.2 对本系统的可行性研究
在澄清了问题定义之后,分析员应该导出系统的逻辑模型。然后从系统逻辑模型出发,探索若干种可供选择的主要解法(即系统实现方案)。对每种解法都应该仔细研究它的可行性,一般来说,至少应该从技术可行性、经济可行性和操作可行性三方面研究每种解法的可行性。
以下为对本系统的可行性研究: 1.技术可行性:
利用ASP技术完全可以开发和制作动态网页。 2.经济可行性:
制作该系统并不复杂,在一台装有windows2000 server的电脑上即能开发,基本上不需要什么成本。