《本科毕业设计-基于web的网上订餐订座系统.doc》由会员分享,可在线阅读,更多相关《本科毕业设计-基于web的网上订餐订座系统.doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘要 基于B/S 架构的网上订餐系统是基于MyEclipse这个可以用于构建集成Web和应用开发工具的平台,以Tomcat 6.0作为服务器。构建一个方便快捷的网上订餐网站,它改变了过去人们生活上经常打电话到饭店预订餐桌和现场点菜的习惯,人们通过这个网站可以预先了解该饭店的菜式,可以根据自己的爱好进行预先点菜和预定桌子,还可以通过网站的留言板发表自己的评论,提出自己的建议。大大的节省了人们在现场点菜时候的时间,也解除了人们为了预订餐桌而费力找电话号码的烦恼,在方便顾客的通知也有利于饭店管理员对饭店的经营和管理,还可以直接从留言板了解顾客的需求,采纳顾客的建议。关键词: MyEclipse 7.
2、5;网上订餐;网上订座Abstract On-line subscribes meal the system based on the B/S construction is may use in based on MyEclipse this constructing integrates Web and the application development kits platform, 5.0 takes the server by Tomcat. Constructs a convenience quickly on-line to subscribe meal the website
3、, it changed the past people to live telephones frequently the custom which and ordered food on the spot to the hotel reservation dinner table, the people through this website might understand in advance this hotel the cuisine, might act according to own hobby to carry on orders food in advance with
4、 the predetermined table, but might also make own commentary through the website message center, put forward own proposal. Time big saved the people to order food the time in scene, also relieved the people to order the dinner table to take the trouble to look for the telephone number the worry, was
5、 facilitating customers notice to be also advantageous to the hotel manager to the hotel management and the management.Key Words:MyEclipse 7.5;On-line subscribes meal;On-line reservations1. 绪论随着信息社会的到来,社会的发展趋向于多远化,时代越来越进步,在这个知识经济时代最为突出的是计算机技术与互联网的飞速发展,其带给我们的冲击更是越来越大,各个行业和部门都开始加强自己的计算机操作和运用的能力,以及通过互联
6、网改变自己的工作模式和生活模式。随着互联网技术的不断发展,基于浏览器/服务器(Browser/Server 简称B/S)体系结构的应用程序得到了空前广泛的应用。但是服务器之间的通讯,尤其是在不同平台上运行的服务器之间的通讯仍然不是一件容易的事情。因为大多数Internet应用程序都是以数据库为中心的,方便的访问多种数据源的能力也比以往任何时候都更加重要。JSP无疑可以轻松地实现这类功能,JSP技术是一种服务器端的HTML页面中嵌入JAVA代码的脚本语言,它比一般脚本语言的执行速度更快,由于JSP是基于JAVA语言的,所以它可以运行在UNIX/LINUX和WINDOWS平台上,是一种难得的动态网
7、页开发语言。商业领域受到的冲击与其他领域受到的冲击相比,更是显示出计算机技术和互联网对商业领域的巨大影响。面对这一伟大变革的时代,商人们更是抓住机会,迎接挑战,勇于创新,改变固有的经营模式。如今,人们通过互联网获取信息和学习,互联网已经成为人们生活中必不可少的一部分了,它正在潜移默化地影响着人们的生活,改变着人们的思想。俗话说“民以食为天”,吃饭点菜、订餐桌成为人们日常生活必须的环节。在注重效率的今天,节省时间和方便快捷是每个人都想达到的目标,而有效管理则是每一个经营者都希望得到的策略。对于上班一族,每天都行色匆匆,连去饭店吃饭是时间都是匆匆忙忙的,万一到了饭店才发现菜式不合自己的喜好或者已经
8、没有空闲的餐桌,那么就大大的浪费了时间。而且现场点菜也需要时间,占用的餐桌也会更久,这将影响饭店的利益。目前很少饭店有专门的网站用于预订桌子和预先点菜的,为了人们更好地安排时间更好的工作和更好的生活,为了商家能获取更大的利益,所以开发了这个网上订餐系统。 2.系统概述本章节中,我们将全面对网上订餐系统的设计和应用进行全面分析,全面介绍它的产生背景、系统可行性分析、系统的构思、特点及其所能实现的功能等方面内容。1.1 系统背景随着社会的发展和时代的进步,人们通过互联网获取信息和学习,互联网已经成为人们生活中必不可少的一部分了。在注重效率的今天,节省时间和方便快捷是每个人都想达到的目标,而有效管理
9、则是每一个经营者都希望得到的策略。对于上班一族,每天都行色匆匆,连去饭店吃饭是时间都是匆匆忙忙的,甚至到了饭店才发现菜式不合自己的喜好或者已经没有空闲的餐桌,大大的浪费了时间,很多人工作的需要,要吃饭应酬,却愁着订桌和菜式,有的人甚至在宴请宾客之前要话时间到实地去了解一番。然而人们在现场点菜也需要时间,占用的餐桌也会更久,这将影响饭店的利益。目前很少饭店有专门的网站用于预订桌子和预先点菜的,为了人们更好地安排时间更好的工作和更好的生活,为了商家能获取更大的利益,所以开发了这个网上订餐系统。 1.2需求分析随着经济的快速发展,B2C电子商务越来越受到人们的关注。人们对生活质量的追求不断提高,由于
10、人们工作,学习的关系,常常无法正常吃饭,随着网络的普及,网上订餐业务在中国开始盛行,人们也通过网络订餐的方式获得自己需要的食物。这样既节省了时间,也可以为广大用户提供更多的口味。网上订餐类网站,已经如雨后春笋般的出现在了个大城市。特别在公司,企业内部,团体订餐已经成为了趋势。同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且口味也越来越挑刺,正因为如此网络订餐业务的出现,正迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻找和发现新的菜品,品尝不同风格的菜品,网络订餐业务在中国有着极大的发展空间以及良好的背景。而当代大学生
11、,白领工作人士作为社会中的重要群体,他们对饮食的要求都在不断提高,饮食在他们生活中起着重要作用。因此,面向大学生和都市白领人士的网络订餐网站的设计有着良好的现实意义。订餐管理系统无论是在应用的深度还是广度都是一个逐步发展的过程。在开发一个局部系统时要充分考虑到局部系统和整个目标系统之间的相容性和完整性,以利于今后整个系统的建立。进货订单管理系统从总体上把握系统的设计,在具体的设计实现上我们围绕着三个方面的需求展开,即管理者、系统使用者、系统维护者。1.3 可行性分析1.3.1 技术可行性为实现本网站的程序设计,开发该软件采用IE浏览器作为操作平台实现与用户的交互工作,同时使用主流的java面向
12、对象编程语言和javaweb技术,MyEclipse_7.5开发平台和Tomcat6.0服务器创建该网站,在技术上是可行的。1.3.2 经济可行性随着互联网应用深入人们的生活,人们越来越重视工作效率和时间管理,网上购物的人也越来越多,网上订餐系统,在客户端于用户进行交互,具有运行效率高、容易维护、扩展能力强、技术规范等特点,在经济上完全是可行的。1.3.3 操作可行性现今社会,互联网已经成为人们生活中必不可少的部分,而java是面向对象的主流编程语言,MyEclipse开发环境,是一个成熟的可扩展的体系结构,可以安装不同的插件,支持C/C+、java、PHP等多种编程语言,开放源代码、为编程人
13、员提供一流的java集成开发环境,因此该系统是具有操作可行性。1.4系统构思和特点1.4.1 开发设计思想网上订餐是用JSP+JavaBean开发模式进行的,JSP页面独自响应请求并将处理结果返回客户,所有的数据通过Bean来处理JSP实现页面的表现,模式一技术实现了页面的表现和页面的业务逻辑相分离。这种不能满足大型项目的需要,但是可以较好的满足小型应用,因为本网站是一个小型网站,所以用这个JSP+JavaBean模式会比较合适。1.4.2 系统特点(1)开放性、可扩充性、可靠性原则开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在
14、一起工作。开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。从而适应广大用户需求的多变性和产品的更新换代。(2)良好的用户操作界面用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。(3)实用性原则任何系统的设计都要考虑其实用性,系统开发的目的是为了实现业务处理自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支。(4)工作平台设计原则能适应不同的操作平台,不同的网络。2. 总体设计本网站主要是为了方便顾客利用互联网进行订餐而开发设计的工具。要求系统界面友好,使用简单。2.1 系统模块划分(1)用户管理模块(2)订座模块。 2.2 运行环境2.2.1
15、硬件环境数据库:SQL Server2005数据库开发工具:MyEclipse 6.0开发平台和Tomcat6.0服务器开发语言:java 3 系统数据库设计3.1 SQL Server2005数据库3.1.1 SQL Server2005数据库简介SQL Server 2005是一个分布式的关系型数据库管理系统,具有客户/服务器体系结构。 SQL Server 2005是一个应用广泛的数据库管理系统,具有许多显著特点,例如,用户喜欢的易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性能价格比等。SQL Server 2005系统中,数
16、据库的管理采取了先进的动态管理机制,数据库的大小可以随着数据量的变化而缩小或者扩大。另外,用户数据都是非常重要的和保密的,这些数据存储在SQL Server 2005系统中有绝对的安全性保障,有完善的用户帐户策略和许可机制,只有经过授权的用户才能访问系统,并且执行相应的操作和访问允许访问的数据。未经授权的用户既不能执行相应的操作,也不能访问数据库中的相应数据。SQL Server 2005系统具有强大的网上功能,可以在Internet上发布数据库中的数据。在SQL Server 2005系统中,允许用户简单的使用一些向导和工具把数据库的数据发布到网络上,并且可以根据需要来调度修改已经发布的数据
17、。3.1.2 SQL Server 2005数据库的主要特点和功能一、SQL Server 2005的主要特点如下:(1)高性能设计,可充分利用WindowsNT的优势。(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。(3)强壮的事务处理供呢个 ,采用各种方法保证数据的完整性。(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQL Server以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。具有较好的集成开发功能。可以采用VBA(Vi
18、sual Basic Application)编写数据库应用程序。二、数据库设计的步骤数据库的设计一般要经过:分析建立数据库的目的、确定数据库中的表、确定表中的字段、确定主关键字以及确定表之间的关系等步骤,如图3-1所示:分析建立数据库的目的确定数据库中的表确定表中的字段确定主关键字确定表之间的关系图3-1 数据库设计步骤框图3.2 数据库表的设计3.2.1 概述表是数据库中用来存储数据的对象,是整个数据库系统的基础。SQL Server2005允许一个数据库中包含多个表,用户可以在不同的表中存储不同类型的数据。通过在表之间建立关系,可以将不同表中的数据联系起来,以便供用户使用。在数据库中,要
19、为每个表确定主键,还可以根据表的性质确定不同的外键。要根据项目的功能设定数据库表,规范到每一个属性和字段,进一步确定项目的哪一个功能会操作到哪一张表,每个表所包含的信息都应该属于一个对象的内容,因此,在确定所需要的字段时,要注意每个字段包含的内容应该与表的主题相关,而且应包含相关主题所需的全部信息。3.2.2 数据库表系统关键数据表如下:(1)用户表(users):用户登录是需要用户名和密码,所以用户数据表中必须包含用户名(uname)、密码(upass)两个信息,还有些其他的用户信息,比如power指的是用户权限(管理员还是非管理员)。从功能上数据库表设计如表3.1。表 3.1 用户表(2)
20、 菜品信息表(food):菜品信息表主要描述菜品信息,如:菜品ID号(foodid),此ID号为系统自动生成;菜品名称(fname);菜品价格(price);所属分类ID(categoryId);图片信息(images)。商品信息表详细描述如表3.2表 3.2 菜品信息表 (3)订座菜单表(st):客户订餐的一些相关信息,如stId指的订餐ID号,此ID和是系统自动生成的;菜品名称(fname);订购数量(num);价格(price);座位编号(seatId)等,具体描述表3.3表3.3订座菜单表(4)订单表(orders): 订单表有一下描述信息。订单ID(ordersId),订购人姓名(n
21、ame),地址(address),联系电话(tel),价格(price),备注信息(context)等,具体描述如表3.4所示: 表3.4订单表(5)订单菜单表(Shop)具体描述如表3.5所示: 表3.5订单菜单表(6)订座表(Seat)具体描述如表3.6所示 表3.6订座表(7)菜品分类表(Category)具体描述如表3.7所示 表3.7订座表3.3系统体系结构分析3.3.1 C/S结构与B/S结构客户/服务器(CLIENT/SERVER)结构,是将一个系统分解为前台的客户应用程序和后台的服务器部分,通过网络连接应用程序和服务器。这种结构的核心是客户应用程序向服务器发送服务请求,服务器完
22、成后端处理。服务器是一台管理数据资源并执行数据库引擎功能(加数据存储、操作和保护)的计算机,处理结构由服务器发回客户应用程序,由客户应用程序对处理结构进行显示。这种结构的优点是只有处理后的数据在网络中传递,大大减轻了网络的负担,而且由于通过服务器端统一管理数据,易于保证数据的一致性。B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3层结构。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复
23、杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构,.net也是在这样一种背景下被提出来的架构,JAVA技术已经是很成熟的应用了。3.3.2 B/S与C/S的优越性C/S(Client/Server,客户端/服务器)是建立在局域网的基础上的,B/S是建立在广域网的基础上的。传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件,没能提供用户真正期望的开放环境;B/S结构则不同,它的前端是以TCP/IP协议为基础的,企业内的WWW服务器可以接
24、受安装有Web浏览程序的Internet终端的访问,作为最终用户,只要通过Web浏览器,各种处理任务都可以调用系统资源来完成,这样大大简化了客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体拥有成本。总的来说,两者有如下差别:(1)硬件环境不同C/S 一般建立在专用的网络上,小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务。B/S 建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,租用设备,信息自己管理,有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行。(2)对安全要求不同 C/S 一般面向相对固定的用户群,对信息安全的控制能力很强。一般高度
25、机密的信息系统采用C/S 结构适宜,可以通过B/S发布部分可公开信息。B/S 建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。(3)对程序架构不同 C/S 程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上。(4)软件重用不同C/S 程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好。B/S 对的多重结构,要求构件相对独立的功能,能够相对较好的重用。就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。(5)系统维护不同 系统维护是软件生存周期中,开销大,相当重要
26、C/S 程序由于整体性,必须整体考察,处理出现的问题以及系统升级难,可能是再做一个全新的系统。B/S 构件组成方面构件个别的更换,实现系统的无缝升级。 系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。 (6)处理问题不同 C/S 程序可以处理用户面固定,并且在相同区域,安全要求高的需求,与操作系统相关,应该都是相同的系统。B/S 建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的,与操作系统平台关系最小。 (7)用户接口不同 C/S 多是建立在Window平台上,表现方法有限,对程序员普遍要求较高。B/S 建立在浏览器上,有更加丰富和生动的表现方式与用户交流, 并且大
27、部分难度减低,降低开发成本。(8)信息流不同 C/S 程序一般是典型的中央集权的机械式处理,交互性相对低。B/S 信息流向可变化。(9)成本降低,选择更多软件系统的改进和升级越来越频繁,B/S架构的产品明显体现的更方便的特性。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行,如果是异地只需要把服务器连接上网即可立即进行维护和升级,这对人力、时间、费用的节省是相当惊人的。传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,这么高的代价和低效率已经越来越不适应了。在JAVA这样的跨平台语言出现之后B/S架构
28、更是飞快地普及起来了。(10)面向电子商务时代的技术将来所有的应用系统几乎都在互联网上运行,企业发展电子商务也是不可避免的,而B/S架构的软件则代表了将来的技术,只要连上互联网或内部广域网就可以与全球的客户相连,与各地的分支机构相连。综上所述,可以看出B/S结构的众多优点,比其他结构的先进性,无论是办公自动化管理系统,人力资源管理系统,客户关系管理系统,ERP等等,发展的趋势是不断融合,结合当今这些方面的发展,我们可以得出这样的结论:采用统一的B/S结构开发的产品无论是现在还是将来都是最好的选择,而在今后的实际工作开发中,则应该首选B/S结构。3.4系统结构设计将功能分为前台和后台两类,因此模
29、块也分为两大类:前台模块和后台模块。图3-1为系统模块总图:网上订餐管理系统前台模块后台模块注册登录菜品查询订单查询用户权限管理菜品管理订餐管理订座管理用户订餐用户订座用户管理 图3-1 系统模块总图4 系统详细设计4.1本系统中的连接方式在本TOMCAT中配置了连接池,连接程序用JavaBean方法封装,放在WEB-INF classse目录下。import java.sql.*;import javax.sql.*;import javax.naming.*;public class Db public Connection con;public Statement stmt;public
30、 ResultSet rs;public PreparedStatement pstmt;public static int error=0;public static synchronized Connection getCon()throws ExceptionContext ctx;DataSource ds;tryctx = new InitialContext();ds = (DataSource)ctx.lookup(java:comp/env/jdbc/webmail);System.Err.println();System.err.println(数据连接+(+error);r
31、eturn ds.getConnection();catch(SQLException e)System.out.print(e);throw e;catch(NamingException e)System.out.print(e);throw e;public Statement getStmtread()trycon=getCon();stmt=con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVEjava.sql.ResultSet.CONCUR_READ_ONLY);catch(Exception e)System
32、.out.println(getStmtread);System.out.println(e.getMessage();return stmt4.1.1核心算法实现分页显示inti;一页显示的记录数=10;取得待显示页码PageSet : strPage=page;if(strPage=null)/page参数为空时,此时显示第一页数据待显示页码=1;else 待显示页码=Integer.parseInt(strPage); /将字符串转换成整型if(待显示页码总页数)待显示页码=总页数;/分页情况分类/选择向上翻if(待显示页码1)选择向上翻一页传递参数pageda=待显示页码-1 goto
33、 PageSet;/选择向下翻if(待显示页码0)将记录指针定位到结果集的第一条记录上(待显示页码-1)*一页显示的记录数+1);i=0;while(i一页显示的记录数&数据库指针不在结果集尾部)输出要分页显示的数据库中的内容;将数据库指针移动到当前行的下一行;i+;4.2 系统各功能模块开发与实现4.2.1 主窗口设计 图4-1主窗口设计图4.2.2 用户管理模块设计(1)用户权限设计: 图4-3用户权限设计图(2)普通用户登陆: 图4-4普通用户登陆图(3)管理员登陆 图4-5管理员登陆图4.2.3 订座模块前台设计(1)订座界面 图4-6订座界面图(2)订座后点菜 图4-7订座点菜图 (
34、3)查看购物车 图4-8 购物车图4.2.4 订座模块后台设计(1)订座信息管理 图4-9订座信息管理图(2)订座菜单管理 图4-10订座菜单管理图5 系统评价该系统分为前台和后台两个部分,前台部分主要是用户进行资讯的浏览,以及订餐,订座管理等,主要是面向用户的。而后台主要是管理人员对前台数据的维护和设置,主要是面向管理人员的。网上订餐系统无论是在应用的深度还是广度都是一个逐步发展的过程。在开发一个局部系统时要充分考虑到局部系统和整个目标系统之间的相容性和完整性,以利于今后整个系统的建立。该系统从总体上把握系统的设计,在具体的设计实现上我们围绕着三个方面的需求展开,即管理者、系统使用者、系统维
35、护者。对于本系统的不同使用者,其功能与业务逻辑是不尽相同的。对于普通用户而言,系统主要像用户展示一个美观的界面,用户在可以浏览各类资讯,查询餐饮信息,订餐,订座等。而管理员则需要在后台维护这些数据。本系统的主要功能应是用户的订餐了,用户可以查询菜品信息,当发现自己满意的以后,可以将这些菜品添加到自己的购物车,此时用户虽然选择了要预定的商品,但是还不具备法律效用,当用户通过一定方式得到预定许可后,管理员在后台可以审核是否批准该用户的订餐请求,当管理员同意了该用户的订餐请求,即可将该用户所预定的发送给客户,此时客户在客户端可以看到自己购物车的状态,如果管理员没有批准或没有处理等,该客户都可以在前台
36、看见相关信息。6 结论java面向对象的编程语言是一门实践性很强的课程,在这个系统中,采用的是开发语言是JSP技术。以前对JSP技术仅仅是很浅显的认识。通过这次毕业设计,使我对JSP技术有了深刻的认识,对其组件、功能、语法都有了较大的提高不但能让我们真正体会到面向对象设计的思想,对运用JSP技术有了很大的提高,对以前学到的书本知识也是个很好的巩固,还能使我们有一种成就感,激发我们的学习兴趣。同时这次设计让我意识到自己的许多的不足,锻炼了自己独立发现问题,思考问题,解决问题的能力。在这次毕业设计中,我独立开发了网上订餐管理系统。在这个系统中,采用的是开发语言是JSP技术.以前对JSP技术仅仅是很
37、浅显的认识。通过这次毕业设计,使我对JSP技术有了深刻的认识,对其组件、功能、语法都有了较大的提高。从学习JAVA语言开始,学习JSP,还有JDBC技术以及JSP与数据库的连接技术等,经过这段时间的系统学习,在JSP技术方面有了很大的提高。由于没有MIS的开发经历,同时涉及到JSP方面的内容,又对TOMCAT服务器不了解。在筹建时,耗费很多时间深入广泛的调查现有的网上订餐系统流程,但是,由于用户管理,菜品管理,订餐及订座管理在功能实现上大同小异,因此设计上没有花费太多时间,最终把精力放在了解JSP技术中,重点解决数据库连接问题上.。当调试出现问题是,先从细节上入手,看看自己在细节上有没有由于粗心而发生的错误,然后再进行整体上分析,有没有严重的语法错误。最终在自己的努力下,在老师和同学的帮助下解决了各种问题。这次毕业设计实验,积累了数据库编程和网站开发的基本经验和一些基本技巧。对大型系统开发有了实质性、操作性的认识,对以前学到的书本知识也是个很好的巩固,同时这次设计让我意识到自己的许多的不足,锻炼了自己独立发现问题,思考问题,解决问题的能力。