PHP+MySQL网站开发项目式教程
上QQ阅读APP看书,第一时间看更新

任务二 系统分析

项目开发中,进行系统分析是必不可少的,在这个阶段中,需要完成对项目整体架构的规划、开发文档规范的制订及开发团队技术的保障和支持,使其能够满足扩展性、安全性等多方面的要求,预见出可能存在的风险和瓶颈,降低可能引发的问题。因此,完善的系统分析,可以有效地控制项目开发成本、保证产品质量,以及满足客户的要求。

然而对于初学者而言,要想完成一个项目的系统分析,需先掌握开发所涉及的技术点。接下来将对本项目所涉及的内容进行详细的讲解。

1. Web开发基础知识

(1)软件架构

软件开发有两种基本架构:C/S架构和B/S架构。C/S(Client/Server)架构,表示客户端/服务器的交互;B/S(Browser/Server)架构,表示浏览器/服务器的交互。下面通过图1-1来展示它们的区别。

0

图1-1 C/S架构和B/S架构

在基于C/S架构的软件开发中,客户端是用户自行安装使用的软件,这些软件需要与服务器交互,由服务器端软件处理来自客户端的请求。而基于B/S架构的软件,是浏览器与服务器的交互,用户在浏览器中浏览来自服务器端的网页,由服务器端软件处理来自浏览器的请求。

(2)Web技术

在互联网时代,网站是人们信息传递、交流的重要平台,在网站开发的背后,离不开Web技术。Web的本意是蜘蛛网,在计算机领域中称为网页。Web是一个由许多互相链接的超文本文件组成的系统,通过互联网进行访问。在这个系统中,每个有用的文件称为一个“资源”,用户通过访问链接来获得资源。

Web开发是基于B/S架构的软件开发。基于B/S架构的Web应用可以在个人电脑、手机等装有浏览器的智能设备上浏览,用户可以注册、登录及发布内容。B/S架构的软件在升级、维护方面都是在服务器端进行的,用户只需要刷新网页即可浏览最新内容,因此B/S架构的软件更易维护。

(3)动态网站

网页有静态和动态之分,在学习动态网站开发之前,读者应具备静态网页的知识基础。网页的本质是超文本标记语言(HyperText Markup Language,HTML),一个写好的HTML文件就是一个静态网页。而动态网页是通过程序动态生成的,可以根据不同情况动态地变更。因此,随着动态网页技术的发展,互联网上诞生了新闻、搜索、视频、购物、微博和论坛等类型的动态网站,极大地推动了互联网技术的应用。

(4)HTTP协议

超文本传输协议(HyperText Transfer Protocol,HTTP)是浏览器与Web服务器之间数据交互需要遵循的一种规范。它是由W3C组织推出的,专门用于定义浏览器与Web服务器之间数据交换的格式。对于Web开发而言,HTTP是一个重要的理论基础,在项目开发的过程中有大量的应用。

(5)URL地址

在Internet上的Web服务器中,每一个网页文件都有一个访问标记符,用于唯一标识它的访问位置,以便浏览器可以访问到,这个访问标记符称为统一资源定位符(Uniform Resource Locator,URL)。URL中包含了Web服务器的主机名、端口号、资源名及使用的网络协议,具体示例如下。

http://www.itcast.cn:80/index.html

在上面的URL中,“http”表示传输数据所使用的协议,“www.itcast.cn”表示要请求的服务器主机名,“80”表示要请求的端口号,“index.html”表示请求的资源名称。其中,端口号可以省略,省略时默认使用80端口进行访问。

总结

在学习了Web开发基础知识后,对于制作在线考试系统的需求而言,B/S软件架构是较为理想的选择。对于学生来说,直接使用电脑或手机上的浏览器访问校园网站即可进行考试练习,无需下载安装软件;对于教师来说,在服务器端更新网站较为方便;对于开发者来说,B/S架构更有利于软件的更新和维护。

下面通过图1-2演示在线考试系统的B/S架构系统设计。从图中可以看出,通过Web服务器,教师向服务器发布试题,学生可以使用台式电脑、笔记本、手机等带有浏览器的智能设备进行在线考试,整个系统的使用非常方便。

0

图1-2 在线考试系统设计图

2. Web开发平台

目前流行的Web服务器软件平台主要有LAMP、J2EE和.Net,其中LAMP平台开发的项目在软件方面的投资较低,开发速度快,受到了整个IT界的关注。LAMP是一个由开源软件组成的平台,由Linux操作系统、Apache服务器、MySQL数据库和PHP软件组成,如图1-3所示。其中Apache、MySQL和PHP也可以在Windows操作系统中运行,Windows用户可以很方便地在本机部署PHP网站开发环境。

0

图1-3 LAMP软件平台

(1)PHP技术

超文本预处理器(Hypertext Preprocessor,PHP)是一种在服务器端执行的脚本语言,用于开发动态网站。相比静态网站而言,动态网站不仅需要设计网页,还需要通过数据库和编程使网站的内容可以根据不同情况动态变更,从而增强网页浏览者与Web服务器之间的信息交互。

PHP最初为Personal Home Page的缩写,表示个人主页,于1994年由Rasmus Lerdorf(拉斯姆斯·勒多夫)创建。程序最初用来显示Rasmus Lerdorf的个人履历及统计网页流量。后来又用C语言重新编写,加入表单解释器,并可以访问数据库,成为PHP的第二版:PHP/FI(FI即Form Interpreter,表单解释器)。从PHP/FI到现在的最新版本PHP 7.0,PHP经过多次重新编写和改进,发展十分迅猛,一跃成为当前流行的服务器端Web程序开发语言之一。

(2)PHP工作原理

PHP是一种嵌入式脚本语言,它可以嵌入HTML中,在服务器端生成动态网页。通常开发者只要写好HTML模板,在数据变化的位置嵌入PHP代码,就能实现动态网站。具体示例如图1-4所示。

0

图1-4 PHP代码嵌入HTML

图1-4左半部分是一个典型的PHP嵌入HTML的代码,其中PHP的代码写在“<?php ?>”标记中,该行代码用于计算“20+30”的结果。当PHP程序执行后,得到的结果为图1-4右半部分所示的HTML代码。

(3)动态网站运行流程

在学习动态网站运行流程之前,先来认识一下网站系统的各个组成部分。

① 操作系统:网络中的服务器也是一台计算机,因此需要操作系统。常见的服务器操作系统有Windows Server系列、Linux系列(包括Ubuntu、Red Hat、CentOS等)。

② Web服务器:当一台计算机中安装操作系统后,还需要安装Web服务器软件才能进行HTTP访问。常见的Web服务器软件有IIS、Apache、Nginx等。

③ 数据库:用于网站数据的存储与管理。PHP支持多种数据库,包括MySQL、SQL Server、Oracle、DB2等。

④ PHP软件:用于解析PHP脚本文件、访问数据库等,是运行PHP代码所必需的软件。

⑤ 浏览器:浏览网页的客户端。由于PHP脚本是在服务器端运行的,因此通过浏览器看到的是经过PHP处理后的HTML结果。

为了使读者直观地了解动态网站的运行流程,接下来通过一个图例进行演示,如图1-5所示。

0

图1-5 动态网站运行流程

从图1-5中可以看出,浏览器请求的URL地址为“http://www.bxg.com/test.php”,这表示浏览器与服务器使用HTTP进行通信,请求的服务器为“www.bxg.com”,端口号80(默认),请求的资源路径为“test.php”。当HTTP请求发送后,服务器端监听80端口的Apache软件就会收到请求,由于请求的是一个PHP脚本,因此先由PHP处理“test.php”脚本文件,将处理后的HTML结果通过HTTP响应返回浏览器。PHP在处理脚本时可以和数据库进行交互,通过专业的数据库软件可以更好地管理网站中的数据。

总结

经过Web开发平台的学习,认识了LAMP平台,以及PHP语言,并理解了动态网站的运行流程。经过分析,在线考试系统适合基于开源、高效、成本低的LAMP平台,但考虑到难易度,在学习阶段,推荐初学者首先在Windows平台进行Web开发,等有一定经验后再使用LAMP平台。