目 录
摘要
Abstract
1、引言
1.1 课题的目的和意义
1.2 国内现状分析
2、可行性研究与需求分析
2.1 可行性研究
2.1.1 经济可行性
2.1.2 技术可行性
2.1.3 运行可行性
2.1.4 时间可行性
2.1.5 法律可行性
2.2 需求分析
2.2.1 系统需求
2.2.2 性能需求
2.2.3 应用需求分析
2.2.4 运行需求分析
2.2.5 其他需求分析
3、相关技术介绍
3.1 JSP技术简介
3.2 JSP工作原理
3.3 JSP体系结构
3.4 JSP的特点
3.5 SQLSERVER 2000 数据库
3.6 系统数据库连接
3.7 BS模式与C/S模式的比较分析
4、系统分析和项目开发计划
4.1 系统分析
4.2 项目开发计划
4.3 内容分析
4.4 功能模块图
4.5 处理流程设计
4.5.1 系统操作流程图
4.5.2 数据增加流程
4.5.3 数据修改流程
4.5.4 数据删除流程
5、系统设计
5.1 前台模块设计
5.1.1 首页
5.1.2 最新歌曲
5.1.3 全部分类
5.1.4 搜索歌曲
5.1.5 用户注册
5.1.6 会员登录
5.1.7 修改密码
5.1.8 设为首页
5.2 后台模块设计
5.2.1 管理员登陆
5.2.2 评论管理
5.2.3 分类管理
5.2.4 歌曲管理
5.2.5 系统管理员设置
6、系统调试与测试
6.1 程序调试
6.2 程序的测试
6.2.1 测试的重要性及目的
6.2.2 测试的步骤
6.2.3 测试的主要内容
结束语
致谢
参考文献
摘要
随着互联网和宽带上网的普及,Integer音乐网站在中国异军突起,并日益渗透到人们的日常生活中。音乐网站是运用现代通信技术、计算机和网络技术进行的一种社会形态,其目的是通过互联网、提高人们生活水平、优化社会资源配置,从而实现社会财富的最大化利用。本课题所研究的Integer音乐网站主要是为个人提供搜索,欣赏和评论的一个平台,从而给个人带来方便。
课题目标是设计并实现一个音乐网站。结合实践,理解网页开发技术和数据库的基本知识,学习相关开发工具和应用软件,熟悉网站建设的过程,熟练掌握网络数据库编程方法。
关键词 音乐网站 互联网 系统设计
Abstract
Along with the Internet and the wide band surfer's popularization, the Integer music website is sudden appearance in China, and seeps day by day to people's daily life. Music website is one kind of form of society which using the Modern Communication Technology, the computer and the networking carries on, its goal is through the Internet, raises the people living standard, the optimization social resource disposition, thus realizes the public wealth maximized use. This topic studies the Integer music website is mainly to provide the search personally, the appreciation and a commentary platform, thus for brings conveniently personally.
The topic goal is designs and realizes a music website. The union practice, understood that the homepage development technology and the database elementary knowledge, the study related development kit and the application software, the familiar website construction's process, masters the network database programming method skilled.
Key words Music website Internet System design
1、引言
1.1 课题的目的和意义
随着互联网和宽带上网的普及,Integer音乐网站在中国异军突起,并日益渗透到人们的日常生活中。音乐网站是运用现代通信技术、计算机和网络技术进行的一种社会形态,其目的是通过互联网、提高社会生产效率、优化社会资源配置,从而实现社会财富的最大化利用。本课题所研究的Integer音乐网站主要是为个人提供搜索,欣赏和下载的一个平台,从而给个人带来方便。
课题目标是设计并实现一个B/S体系结构的Integer音乐网站。结合实践,理解网页开发技术和数据库的基本知识,学习相关开发工具和应用软件,熟悉网站建设的过程,熟练掌握网络数据库编程方法。
1.2 国内现状分析
现在我国的信息管理水平还比较落后,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代传统的管理方法必然被计算机为基础的信息管理所取代。软件作为一项有力的工具,只能当此种工具,与我们的实践相结合起来的时候,才具有重大的社会价值及使用价值。因此根据目前实际的情况开发这样一套管理系统是十分必要的。
随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机进行管理,具有着手工管理所无法比拟的优点。例如:可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作的效率,也是信息正规化管理与世界接轨的重要条件。
本系统用JSP语言来编写社本系统,数据库用SQLSERVER 2000来连接系统。本论文主要涉及软件,数据库与网络技术等。涵盖知识面广,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础。
2、可行性研究与需求分析
2.1 可行性研究
该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性等方面进行分析。
2.1.1 经济可行性
开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。
2.1.2 技术可行性
技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本系统用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
本系统的开发,是典型的Mis开发。采用JSP编程语言,已无技术上的问题。
2.1.3 运行可行性
运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。
2.1.4 时间可行性
从时间上看,在两个月的时间里学习相关知识,并开发系统,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。
2.1.5 法律可行性
① 所有技术资料都为合法。
② 开发过程中不存在知识产权问题。
③ 未抄袭任何系统,不存在侵犯版权问题。
④ 开发过程中未涉及任何法律责任。
综上所述,本系统的开发从技术上、从经济上、从法律上等都是完全可靠的。
2.2 需求分析
需求分析是软件设计的一个重要的环节。本阶段对系统管理系统的应用情况作全面调查,以确定系统目标。确定用户的需求。用户对系统的需求我们从以下几方面进行分析。
2.2.1 系统需求
用JSP开发系统管理系统基于B/S模式,系统软件和数据集中存放于服务器中,软件的安装与升级在服务器上进行。所有的工作基于浏览器,安装、使用、维护、升级十分简单。
2.2.2 性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行。系统处理的准确性和及时性是系统的必要性能。由于本系统的添加功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。
2.2.3 应用需求分析
服务器 | 硬件 | 处理器:Intel 酷睿2 内 存:256M 或更大 硬 盘:20G 或更大 |
软件 | Microsoft Windows XP | |
客户机 | 硬件 | 无特殊要求 |
软件 | Microsoft Windows XP |
系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。
硬件系统环境:C600、1G MB(RAM)、500MB(HD)。系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好
2.2.4 运行需求分析
硬件条件:酷睿2 CPU、1G RAM、10 G硬盘以上的PC机。
软件条件:Windows XP
2.2.5 其他需求分析
本系统有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作。可维护性包括了可读性、可修改性、可测试性、等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。
3、相关技术介绍
3.1 JSP技术简介
JSP(Java Server Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。
在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。
3.2 JSP工作原理
JSP是面向服务器的,因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。
3.3 JSP体系结构
JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。
模式一:JSP+JavaBeans技术 在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。
模式二:JSP+Servlet+JavaBeans技术 Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。
从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。
3.4 JSP的特点
- 简化的页面生成技术。
JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。
- 与Java平台有机集成。
JSP技术是Java 2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。在JSP页面中可以使用几乎所有的Java组件和Java API,这就能充分发挥出Java语言的强大功能。使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。
- 硬件平台和服务器无关性。
JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(Write Once,Rum Anywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。
- 功能可扩展性。
如同Microsoft的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(Enterprise JavaBean)以及自定义的标记来扩展功能。
JSP可以通过JDBC,与诸如Oracle、SQL Server这样的大型关系数据库进行连接。
JSP提供了一些隐含对象。这些隐含对象在JSP页面中可以直接引用,而不必首先声明。利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。
3.5 SQLSERVER 2000 数据库
SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。 SQL Server 特点:
1.真正的客户机/服务器体系结构。
2.图形化用户界面,使系统管理和数据库管理更加直观、简单。
3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
4.SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。
5.具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。
6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。
7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
3.6 系统数据库连接
JDBC技术是Java DataBase Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interface)。它由一组用Java语言编写的类和接口组成。通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。因此,开发人员使用JDBC API可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQL Server。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。
简单地说,JDBC能完成下列三件事:
- 同一个数据库建立连接;
- 向数据库建立连接;
- 处理数据库返回的结果。
JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。
很多可视化的Java开发工具,如Visual Age For Java、Visual Café、J++等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。另一种使用JDBC API 的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及Java程序。通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程。
数据库访问的三层结构如图5.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。
图5.1 使用中间件的数据库访问三层结构
用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。
在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回”中间层”,然后”中间层”将它们返回用户。其模型如图5.2所示。
图5.2 JDBC的三层模型
因为”中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。
JDBC是JAVA应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将SQL语句传递给数据库。三、从数据库取得SQL语句的执行结果。当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(Java VirtualL Machine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。Statement主要实现两个功能:执行SQL语句以及取得执行结果。在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet 对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。每个Statement对象只能产生一个ResultSet 对象。
数据库连接如图5.3所示:
图5.3 数据库的连接处理
数据库的连接处理具体实现如下:
//建立JDBC——ODBC桥
sun.jdbc.odbc.JdbcOdbcDriver;
//桥建立不成功时的错误处理
catch(ClassNotFoundException event){}
//建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中
Con=建立JDBC——ODBC桥
Sql=SQL查询语句
执行查询
Rs=返回结果
//SQL出错处理
catch(SQLException e1){}
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。
Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。
JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。
MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。
简单地说,JDBC 可做三件事:与数据库建立连接、发送 SQL 语句并处理结果。下列代码段给出了以上三步的基本示例:
Connection con = DriverManager.getConnection("jdbc:odbc:wombat","login",
"password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}
上述代码对基于JDBC的数据库访问做了经典的总结。
3.7 BS模式与C/S模式的比较分析
C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。
B/S模式是一种以Web技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。
第一层客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如Netscape Navigator,微软公司的IE等。浏览器将HTML代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的Web服务器。
第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。
第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQ请求,管理数据库。
B/S模式的优势
首先它简化了客户端。它无需象C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。假设一个企业的决策层要开一个讨论库存问题的会议,他们只需从会议室的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。甚至与会者还可以把笔记本电脑联上会议室的网络插口,自己来查询相关的数据。其次,它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变得逐渐频繁。相对于C/S,B/S的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对Web服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。
再次,它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特性,还使 MIS系统维护的限制因素更少。
最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代企业所需的。这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力。
鉴于B/S相对于C/S的先进性,B/S逐渐成为一种流行的MIS系统平台。各软件公司纷纷推出自己的Internet方案,基于Web的财务系统、基于Web的ERP。一些企业已经领先一步开始使用它,并且收到了一定的成效。
B/S模式的新颖与流行,和在某些方面相对于C/S的巨大改进,使B/S成了MIS系统平台的首选。
4、系统分析和项目开发计划
4.1 系统分析
开发一个系统,首先要进行系统分析。其主要任务是确定系统的规模和范围,确定软件的总体要求以及所需要的硬件环境和支撑软件平台、确定待开发软件与外界的接口,确定软件对操作系统的要求,以及待开发软件总体上的约束和限制。系统分析有助于弄清所需开发的软件、硬件环境、支撑软件和操作人员的要求。
4.2 项目开发计划
经过详细的分析后,我们一致认为这是一项具有开发价值的软件,接下来的工作就是编制项目开发计划。通过对有关人员的统一调查,并吸取他们的意见、见解,要求系统需要有以下功能:
1、要求有良好的人机界面。良好的人机界面是衡量一个系统易用性的重要标准之一。所以本系统的界面要求简洁明了,使管理人员能迅速地就可以掌握系统的使用。
2、要设置使用权限,以提高软件的安全性。
3、对原始数据的修改简单方便.修改也和其它系统一样包括基本的修改、删除和保存以及查询等。
要求对数据能进行查询、统计。查询要求能以最快的速度找到所需数据,以达到方便管理的目的。统计要求能根据人口信息信息、等进行统计。让软件更具灵活性。
4.3 内容分析
音乐网站设计能够方便地进行音乐及音乐信息的网上发布和更新,并且可以检索到符合查询条件的音乐信息;用户可以将音乐信息实现上传,并能够对各类音乐及音乐信息进行网上查询。该系统具有较强的操作权限管理功能。
充分发挥互联网的便利性,使招聘工作更便捷、更有效。从发布音乐及音乐信息、用户浏览到音乐信息的管理等流程,音乐网站设计都将帮助用户更方便地服务。
4.4 功能模块图
4.5 处理流程设计
4.5.1 系统操作流程图
4.5.2 数据增加流程
添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据。数据增加流程图:
图3.2 数据增加流程图
4.5.3 数据修改流程
在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则保存至数据库,不合法重新输入。数据修改流程图如图3.3所示。
图3.3 数据修改流程图
4.5.4 数据删除流程
当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,然后删除数据库相关内容。数据删除流程图如图3.4所示。
图3.4 数据删除流程图
4.6 E-R图
前台用户
管理员
5、系统设计
5.1 前台模块设计
5.1.1 首页
5.1.2 最新歌曲
5.1.3 全部分类
5.1.4 搜索歌曲
5.1.5 用户注册
5.1.6 会员登录
5.1.7 修改密码
5.1.8 设为首页
5.2 后台模块设计
5.2.1 管理员登陆
5.2.2 评论管理
5.2.3 分类管理
5.2.4 歌曲管理
5.2.5 系统管理员设置
6、系统调试与测试
6.1 程序调试
在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。
6.2 程序的测试
6.2.1 测试的重要性及目的
(1)测试的重要性
软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。
事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。
在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括:
① 认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感;
② 以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定;
③ 测试工作枯燥无味,不能引起人们的兴趣;
④ 测试工作是艰苦而细致的工作;
⑤ 对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。
这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。
(2)测试的目的
如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。
① 软件测试是为了发现错误而执行程序的过程;
② 测试是为了证明程序有错,而不是证明程序无错误;
③ 一个好的测试用例是在于它能发现至今未发现的错误;
④ 一个成功的测试是发现了至今未发现的错误的测试。
这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。
首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。
6.2.2 测试的步骤
与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:
(1)模块测试 在这个测试步骤中所发现的往往是编码和详细设计的错误。
(2)系统测试 在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。
(3)验收测试 在这个测试步骤中发现的往往是系统需求说明书中的错误。
6.2.3 测试的主要内容
为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。
(1)单元测试
单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。
(2)集成测试
集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。
(3)确认测试
确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。
(4)系统测试
软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。
单独对系统的测试主要从以下几方面入手:
① 功能测试:测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。
② 强度测试及性能测试:测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。
③ 安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试。
经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。
结束语
几个月来忙碌紧张而又有条不紊的毕业设计,使我有机会对本专业的基本理论、专业知识和基本技术有了更深入的了解和体会,使我在四年中所学到的知识得到了系统和升华,真正达到了学以致用。
对管理信息系统的体会
管理信息系统是一门融管理科学、信息科学、系统科学、计算机科学与现代通信技术为一体的一门综合性边缘学科。它是运用系统的方法以计算机和现代通信技术为基本信息处理手段和工具的,能为管理决策提供信息服务的人—机系统.它可以实现数据处理功能、预测功能、计划功能、控制功能和辅助决策功能。管理信息系统的开发是一项复杂的系统工程,必须严格的按照系统规划、系统分析、系统设计、系统实施、系统运行与评价的开发步骤来进行。
管理信息系统旨在提供一个全面的信息加工处理进一步利用的工具,以提高管理水平。在系统开发之前,必须了解该系统的特点、适用范围以及使用者需要一个什么样的系统,以此作为基础为开发系统准确定位,然后对使用者所需实现的功能进行分析总结,根据使用者的实际要求来给系统设计一个初步方案。系统的开发不仅是要实现对数据处理的及时与正确,而且要考虑系统是否具有控制功能,及时将数据反馈给操作者,以进行监测和协调,保证系统的正常运行;也要考虑是否具有预测功能,运用一定的数学方法利用历史的数据对未来进行预测的工作。
设计实践上的体会
在设计的过程中,我掌握了很多了很多关于本系统的编程知识,并对这种成熟并广泛应用的技术进行了深入的学习。设计的过程也是一个再学习的过程,在遇到问题的时候我尽量自己想办法解决,这在很大程度上激发了我们的自学能力;在没有办法解决的情况下,认真的向老师请教,从老师那里我学到了很多的知识,老师对我的指导起到了画龙点睛的作用。
以往我们曾经有过多次设计的体会,但只是设计一个模块或一个小系统,而这一次毕业设计是综合所学的管理和计算机的知识来设计一个适合运行管理的系统软件。要想设计使用户满意,就需要我们付出更多的努力。我在设计中经常出现一些问题不知该如何解决,在此时许多同学给予了我们帮助。在设计的过程中增加了于实际接触的机会,不仅培养了我的自学和编程能力,让我在即将离开学校进入社会之前有了一定的资本,提高了我与人沟通的能力。
程序设计中的体会
在我的程序设计过程中,我充分的体会到了“实践出真知”这一点,书本上的知识是不够的,只有把理论与实践相结合才能够真正的学到知识。一个管理信息系统的设计,不可能一步到位,还需要不断的完善和补充。同时,系统中还存在许多问题,有待在日后的使用中发现和解决。编程前的深思熟虑是减少程序调试工作量的重要方法,只有进行充分考虑,才会减少调试过程中的工作量。虽然在开始写程序之前我们做了多的准备工作,但在真正的写程序时仍然发现许多问题,有些问题是分析时的疏漏,有些则是如果不做无论如何也想不到的。
致谢
在本次毕业设计过程中,得到了指导老师的指导与支持。在此特别感谢XX老师的大力帮助。指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我们小组顺利完成这次毕业设计起到了关键性的作用。
另外和我同组同学大家始终团结协作,努力拼搏,增强了我的团队意识,并且我们接下了深厚的友谊,我们自始至终在一种愉快的气氛中学习工作。此次毕业设计对提高我的编程技术、协调团队成员的关系等方面都由许多益处。在此我一并向他表示感谢。我还要感谢我的母校——XXXXXXX大学,以及在大学四年生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业设计我还明白了作为一名计算机专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。
转眼间,大学生活即将结束,回首过去四年的大学生活,真是有苦也有乐,然而更多的则是收获,感谢母校的各位老师不但无私地传授给我们知识,也教会了我们如何做人。管理信息系统专业的毕业设计任务繁重,但正是在这几个月紧张而充实的设计中,我感到自己的知识得到了一次升华,我相信:我的毕业设计会给我的四年大学画上一个圆满的句号。
21世纪已经到来了,在新的世纪里,人们自然对未来有许多美好的愿望和设想。现代科学技术的飞速发展,改变了世界,也改变了世界的生活。作为新世纪的大学生,应当站在世界的发展前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。新世纪需要具有丰富现代科学知识、能够独立解决面临任务、有创新意识的新型人才。
参考文献
[1] BruceEckel.《JAVA编程思想》. 机械工业出版社,2003年10月:1-378
[2]赛奎春.《JAVA工程应用与项目实践》. 机械工业出版社, 2002年8月:23-294
[3]FLANAGAN.《JAVA技术手册》. 中国电力出版社,2002年6月:1-465
[4]孙一林,彭波.《JSP数据库编程实例》. 清华大学出版社,2002年8月:30-210
[5]LEE ANNE PHILLIPS.《巧学活用 JSP》.电子工业出版社,2004年8月:1-319
[6]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月:32-300
[7]耿祥义,张跃平.《JSP实用教程》. 清华大学出版社,2003年5月1日:1-354
[8]孙涌.《现代软件工程》.北京希望电子出版社,2003年8月:1-246
[9]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月:3-460
[10]Brown等.《JSP编程指南(第二版)》. 电子工业出版社 ,2003年3月:1-268
[11]清宏计算机工作室.《JSP编程技巧》. 机械工业出版社, 2004年5月:1-410
[12]朱红,司光亚.《JSP编程指南》.电子工业出版社, 2001年9月:34-307