第14讲 PHP和MySQL数据库编程(选课系统)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第14讲选课系统分析7.2项目引入与需求分析2任务5:系统的架构、功能和用户“网上选课”的功能从用户角度上应该分两个层面,一个是使用该系统的学生,他们登录系统后,通过客户端浏览器浏览可选课程的信息,并根据自己的实际情况,按照一定意愿次序选课;另一个是教学秘书,他们可以通过客户端浏览器进行一些系统管理和维护的工作,例如对课程信息进行添加、修改和删除等。无论是学生用户还是教学秘书用户,均不用在本地机安装客户端,只需要通过浏览器就可以进行上述的操作。按照上述的项目概述,该系统应该是建立在B/S结构上的动态Web应用,如图7-1所示。3除此之外,还需按照学校的规模和条件,以及学生集中选课的时间,选定服务器、相应的软硬件和网络设施。4任务6:系统的需求概述与分析进行“网上选课”系统开发,首先要聆听客户(在这里是指教务部门)对系统的描述和需求。教务部门希望教学秘书用户可以通过客户端浏览器登录到系统,对课程进行管理,例如添加课程、修改课程、删除课程、浏览课程、查询课程和查看课程的详细信息等;学生用户则可以通过客户端浏览器登录到系统,浏览课程、查询课程和查看课程的详细信息,并按志愿顺序预选自己想要选修的课程,也可显示自己已经预选的课程。教务部门希望该系统可以让学生按照志愿顺序预选5门课程,也就是说每个学生至多选5门课程。其次,进行网站开发,在做系统需求分析时,除了对功能的认知之外,还必须按照学校的实际情况,确定系统架构和软硬件的选取。5对于硬件和网络设施,目前由于性价比都比较合适,硬件供应商的服务和水平也都比较专业。而服务器系统软件以及Web架构则需要进行商榷了。当今服务器系统软件无外乎是Windows和基于开源技术的Linux。Windows及其开发工具作为商业软件,其使用的便利性和开发工具的完善性无疑是最好的;然而随着开源技术应用的普及,一些国家和地区的政府已经表明有计划把自己的服务器体系结构由Windows向Linux转移。6LAMP(Linux+Apache+MySQL+PHP),一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。对于硬件和网络设施,目前由于性价比都比较合适,硬件供应商的服务和水平也都比较专业。而服务器系统软件以及Web架构则需要进行商榷了。7当今服务器系统软件无外乎是Windows和基于开源技术的Linux。Windows及其开发工具作为商业软件,其使用的便利性和开发工具的完善性无疑是最好的;然而随着开源技术应用的普及,一些国家和地区的政府已经表明有计划把自己的服务器体系结构由Windows向Linux转移。LAMP(Linux+Apache+MySQL+PHP),一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。8开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,市场份额已经超过60%。且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。针对选课系统,可以考虑使用AMP(Apache+MySQL+PHP)架构,AMP无论是从系统稳定性和并发处理的能力来说,都可以胜任选课系统的要求。同时AMP与平台无关,可以非常方便地将代码转移到Linux平台上。97.3功能分析10任务7:功能分析的方法和任务当系统需求分析的环节完成后,则对用户期望的系统有所了解,然后应该确定好对应的服务器架构、实现Web服务的编程语言和数据库管理系统。根据这些软硬件的配置,确定开发技术,这些确定好之后,则需要对系统所要实现的功能进行条理化、规范化。功能分析的任务是要确定我们做出来的软件具有什么样的功能。前提条件是根据拟定的开发技术和软硬件特点,将用户的需求转化成系统可以实现的功能。11任务8:“网上选课”系统的功能分析针对系统的功能描述,可以知道该系统存在两种用户:教学秘书用户和学生用户。用户必须经过登录才能使用系统。在首页可以给用户提供一个登录的功能,同时显示本网站被浏览的次数,还随机显示课程的详细信息。系统功能模块图如图7-2所示。13任务8:“网上选课”系统的功能分析具体的实现方案如下:1.添加课程功能,给用户提供一个界面,用户在界面中填入规定的信息;2.修改课程功能,首先给用户提供一个课程列表,列表里显示了课程的主要信息,用户点击需要修改的课程链接,进入修改课程信息的界面,用户修改了的有关信息,提交给服务器,服务器接收到新的信息后,将数据库对应表的相关内容进行修改;14任务8:“网上选课”系统的功能分析3.删除课程功能,用户一次可以删除多门课程。首先给用户提供一个课程列表,用户将需要删除的课程选定,然后提交给服务器,服务器接收到相关的删除信息后,将数据库对应表的相关内容进行删除;4.浏览本系部课程功能,给用户提供一个课程列表,列表里显示了课程的主要信息,用户点击需要显示详细信息的课程链接,进入显示课程详细信息的界面;15任务8:“网上选课”系统的功能分析5.查询课程功能,首先给用户提供一个界面,用户首先选择查询的范围,然后输入关键字,提交给服务器,服务器接收到查询的信息后,调用相关程序执行查询,然后将查询结果以列表的形式展示出来,列表里显示了课程的主要信息,用户点击需要显示详细信息的课程链接,进入显示课程详细信息的界面。16任务8:“网上选课”系统的功能分析5.查询课程功能,首先给用户提供一个界面,用户首先选择查询的范围,然后输入关键字,提交给服务器,服务器接收到查询的信息后,调用相关程序执行查询,然后将查询结果以列表的形式展示出来,列表里显示了课程的主要信息,用户点击需要显示详细信息的课程链接,进入显示课程详细信息的界面。17任务8:“网上选课”系统的功能分析学生用户则可以通过客户端浏览器登录到系统,浏览可选课程、显示已选课程和删除已选课程,并按志愿顺序预选自己想要选修的课程。1.浏览可选课程功能,首先给用户提供一个课程列表,列表里显示了该用户可以选择课程的主要信息,用户点击需要修改的课程链接,进入显示课程详细信息的界面,如果该用户还没有选够5门课程,则该用户可以选择此课程,此课程的志愿顺序自动为当前课程数加一;182.显示已选课程和删除已选课程,给用户提供一个列表,列表显示了该用户已经选择的课程列表,按照志愿顺序排序。用户可以点击其中的任何一门课程的链接,删除此课程的选课记录,同时,其他已选课程的志愿顺序将自动调整。3.查询课程功能,同教学秘书用户。通过功能模块图,我们可以清楚地了解本系统的概貌,对其中的各个功能模块也十分清楚,针对后期的开发,程序员可以非常清楚地去按照功能模块规划页面和文件的设计。197.4页面流图20任务9:页面流图的内容和作用由于网站功能的实现往往必须借助页面来实现,这里所说的页面是广义的页面,把运行在服务器端的程序处理文件也包含在内。例如,实现客户向服务器提交的请求,服务器向用户提供一个页面A,用户对此页面处理后,提交给服务器;服务器收到提交的数据后,调用程序处理文件B,再把服务器执行的结果以网页C的形式显现在客户面前。这个过程就可以用“页面A→页面B→页面C”的方式进行描述。21任务9:页面流图的内容和作用所以,在进行完系统的功能分析和划分后,进行页面的规划非常重要。进行网站开发,在系统分析阶段,除了使用功能模块图来描述系统的功能模块划分之外,还使用页面流图描述为了实现某个功能,在功能模块内部,各个页面和文件之间的关系。同时也方便程序员按照系统和模块设计去实现各个模块的代码。22任务10:登录模块的页面流图样例该页面流图告诉程序员,登录模块所需要4个文件(页面),首先是首页“login.php”,这个页面内应该包含一个供用户填写用户名和密码以及身份的表单,表单提交的内容是“username”、“userpwd”和“role”三个变量,提交的目标文件是“用户检查ChkLogin.php”。23任务10:登录模块的页面流图样例文件ChkLogin.php是用来检查用户输入的用户名和密码的合法性。如果合法,身份是教师的话就引导到对应的“教学秘书页面teacher.html”,并把身份“teacher”、教师编码“TeaNo”和系部编码“DepartNo”保存在服务器的会话中,供以后使用。如果身份是学生的话,就引导到“学生页面student.html”,并把身份“student”、学生编码“StuNo”和班级编码“ClassNo”保存在服务器的会话中,供以后使用。如果用户不合法,就重新引导到“首页index.html”。24任务10:登录模块的页面流图样例257.5数据库和表设计26任务11:表及其之间的联系要实现网上选课,则需要以下6个表来保存各方面的信息。图7-4表示了各个表间的联系。班级表Class和系部表Department之间通过DepartNo(系部编号)进行连接,表示班级的系部编号来源于系部表。教学秘书表Teacher和系部表Department之间通过DepartNo(系部编号)进行连接,表示教学秘书的系部编号来源于系部表。课程表Course和系部表Department之间通过DepartNo(系部编号)进行连接,表示课程的系部编号来源于系部表。学生表Student与班级表Class之间通过ClassNo(班级编号)进行连接,表示学生的班级编号来源于班级表。StuCou表与Student表通过StuNo(学号)进行连接,StuCou表与Course表通过CouNo(课程编号)进行连接,分别表示选课数据中的学号来源于学生表,课程编号来源于课程表。27任务11:表及其之间的联系28任务12:表的结构选课数据库xk包含6个用户表,他们是Department表(系部表)、Class表(班级表)、Student表(学生表)、Course表(课程表)、Teacher表(教学秘书表)StuCou表(学生选课表)。系部表Department有两列:DepartNo(系部编号)、DepartName(系部名称)。表的结构如下:选课数据库xk包含6个用户表,他们是Department表(系部表)、Class表(班级表)、Student表(学生表)、Course表(课程表)、Teacher表(教学秘书表)StuCou表(学生选课表)。系部表Department有两列:DepartNo(系部编号)、DepartName(系部名称)。表的结构如下:29任务12:表的结构30任务12:表的结构31任务12:表的结构32337.6系统实现3436任务13:教师/学生登录与退出1.教师/学生登录选课系统登录用户有两类:教师用户和学生用户,教师用户登录以后可以浏览课程信息、添加课程、修改和删除课程,学生用户登录以后可以浏览所有课程信息、进行选课、查看选课情况、删除所选课程的操作。(1)登录界面设计(login.php)由于教师和学生用户通过一个登录页面进入选课系统,因此设计了一个下拉列表框供登录用户选择,登录界面(login.php)代码设计如下:37任务13:教师/学生登录与退出htmlheadmetahttp-equiv=Content-Typecontent=text/html;charset=gb2312/title登录/titlelinkrel=stylesheethref=style.CSS/headbodycentertableborder=0cellspacing=1width=90%trtdformmethod=postaction=ChkLogin.phptablewidth=45%border=1cellspacing=0cellpadding=1align=centerborde

1 / 67
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功