软件课程设计Word格式.docx

上传人:b****1 文档编号:5862933 上传时间:2023-05-05 格式:DOCX 页数:64 大小:1.67MB
下载 相关 举报
软件课程设计Word格式.docx_第1页
第1页 / 共64页
软件课程设计Word格式.docx_第2页
第2页 / 共64页
软件课程设计Word格式.docx_第3页
第3页 / 共64页
软件课程设计Word格式.docx_第4页
第4页 / 共64页
软件课程设计Word格式.docx_第5页
第5页 / 共64页
软件课程设计Word格式.docx_第6页
第6页 / 共64页
软件课程设计Word格式.docx_第7页
第7页 / 共64页
软件课程设计Word格式.docx_第8页
第8页 / 共64页
软件课程设计Word格式.docx_第9页
第9页 / 共64页
软件课程设计Word格式.docx_第10页
第10页 / 共64页
软件课程设计Word格式.docx_第11页
第11页 / 共64页
软件课程设计Word格式.docx_第12页
第12页 / 共64页
软件课程设计Word格式.docx_第13页
第13页 / 共64页
软件课程设计Word格式.docx_第14页
第14页 / 共64页
软件课程设计Word格式.docx_第15页
第15页 / 共64页
软件课程设计Word格式.docx_第16页
第16页 / 共64页
软件课程设计Word格式.docx_第17页
第17页 / 共64页
软件课程设计Word格式.docx_第18页
第18页 / 共64页
软件课程设计Word格式.docx_第19页
第19页 / 共64页
软件课程设计Word格式.docx_第20页
第20页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件课程设计Word格式.docx

《软件课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《软件课程设计Word格式.docx(64页珍藏版)》请在冰点文库上搜索。

软件课程设计Word格式.docx

MySQL数据库

第1章绪论

1.1概述

通过本系统,大大提高了超市的运作效率,使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张力,提供有效的技术保障。

本系统基于java编程语言与mysql数据库设计而成,由于java语言面向对象的特点,使应用java的设计简单便捷,所以本系统采用java编程语言,由于mysql数据库适用于中小型系统,所以选择mysql数据库。

本系统通过对商品二维码的识别进行操作,由于二维码具有唯一性,所以在用户输入二维码时可以调选唯一的一个商品,从而进行各种操作。

1.2背景说明

21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。

技术的提升和管理的升级是超市业的竞争核心。

零售领域目前呈多元发展趋势,多种业态:

超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。

如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。

1.3应用范围

本系统主要适应于各种小型的超市,其主要功能如下:

(1)商品条形码:

每种商品具有唯一的条形码,对于某些价格一样的商品,可以使用自定义条形码。

(2)交易清单:

包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号。

(3)商品积压:

在一定时期内,远无法完成销售计划的商品会造成积压。

(4)促销:

在一定时期内,某些商品会按低于原价的促销价格销售。

库存告警提示:

当商品的库存数量低于库存报警数量时发出提示。

(5)盘点:

计算出库存、销售额、盈利等经营指标。

第2章系统开发的理论基础

2.1java语言的简介

Java语言是sun公司在1995年5月正式发布的程序设计语言,他的前身是sun公司为智能消费类家用电器研究而开发的项目的一部分。

Java程序设计语言是新一代语言的代表,他强调了面向对象的特性,可以用来开发范围广泛的软件,它具有支持图形化的用户界面,网格以及数据库连接等复杂功能。

由四方面组成:

Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(JavaAPI)。

与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。

全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。

“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。

这与微软公司所倡导的注重精英和封闭式的模式完全不同。

Sun公司对Java编程语言的解释是:

Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

2.1.1Java语言的主要特点

Java提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。

C++安全性不好,但C和C++被大家接受,所以Java设计成C++形式,让大家很容易学习。

Java去掉了C++语言中的指针运算、结构、typedefe、#define、需要释放内存等功能,减少了平常出错的50%,让Java的语言功能很精炼。

ava主要靠Java虚拟机(JVM)在目标码级实现平台无关性。

JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。

但JVM通常是在软件上而不是在硬件上实现。

(目前,SUN系统公司已经设计实现了Java芯片,主要使用在网络计算机NC上。

另外,Java芯片的出现也会使Java更容易嵌入到家用电器中。

)JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。

Java编程人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节代码。

任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。

另外,Java采用的是基于IEEE标准的数据类型。

通过JVM保证数据类型的一致性,也确保了Java的平台无关性。

Java支持WWW客户机/服务器计算模式,因此,它支持这两种分布性。

对于前者,Java提供了一个叫作URL的对象,利用这个对象,你可以打开并访问具有相同URL地址上的对象,访问方式与访问本地文件系统相同。

对于后者,Java的applet小程序可以从服务器下载到客户端,即部分计算在客户端进行,提高系统执行效率。

特点如下:

1.Java语言很简单

对于熟悉C++的程序设计人员更不会对其感到陌生,因为它的语法非常接近于C++,但他同时摒弃了C++许多的复杂易混淆的功能。

利用java同样可以变质出非常复杂的系统,且运行占用很少的内存资源。

Java语言是一种面向对象的语言,它通过提供最基的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。

Java略去了运算符重载、多重继承等模糊的概念,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。

另外,Java也适合于在小型机上运行,它的基本解释器及类的支持只有40KB左右,加上标准类库和线程的支持也只有215KB左右。

库和线程的支持也只有215KB左右。

2.面向对象

采用先经过编

jav语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。

对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;

而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。

3.分布性

Java是面向网络的语言。

通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其它对象。

4.鲁棒性

Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。

它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容产生的错误。

通过集成的面向对象的例外处理机制,在编译时,Java提示出可能出现但未被处理的例外,帮助程序员正确地进行选择以防止系统的崩溃。

另外,Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。

5.高效率的执行方式

Java语言的执行方式是采用先经过编译器编译,在通过解释器解释执行的方式来运行的。

他综合了解释性语言与编译语言的众多有点,使其执行效率较以往的程序设计语言有了大幅度的提高。

6.与平台的无关性

由于iava语言是解释执行的,他会被转换成一种字节码的“目标程序“。

因此它可以跨平台运行

7.分布式安全性

Java从诞生之日起就与网络联系在了一起,他强调网络特性,内置TCP\IP,HTTP,FTP协议库,便于开发网上应用系统。

用于网络、分布环境下的Java必须要防止病毒的入侵。

Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。

8.丰富的API文档和类库

Java为用户提供了详尽的API(ApplicationProgramInterface)文档说明。

2.1.2Java软件开发的影响

软件的需求分析:

可将用户的需求进行动态的、可视化描述,以提供设计者更加直观的要求。

而用户的需求是各色各样的,不受地区、行业、部门、爱好的影响,都可以用Java语言描述清楚。

软件的开发方法:

由于Java语言的面向目标的特性,所以完全可以用O-O的技术与方法来开发,这是符合最新的软件开发规范要求的。

Java语言的动画效果远比GUI技术更加逼真,尤其是利用WWW提供的巨大动画资源空间,可以共享全世界的动态画面的资源。

软件最终产品:

用Java语言开发的软件可以具有可视化、可听化、可操作化的效交互、动画与动作,要它停就停,要它继续就继续,而这是在电影与电视播放过程中难以做到的。

其它:

使用Java语言对开发效益、开发价值都有比较明显的影响。

2.1.3Java丰富的类库

1.语言包提供的支持包括字符串处理、多线程处理、例外处理、数学函数处理等可以用它简单地实现Java程序的运行平台。

2.实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。

3.输入输出包用统一的"

流"

模型来实现所有格式的I/O包括文件系统、网络、输入。

4.低级网络包用于实现Socket编程。

5.抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件包括窗口、菜单、滚动条、对话框等使得Java可以移植到不同平台的机器。

6.网络包支持Internet的TCP/IP协议提供了与In-ternet的接口。

它支持URL连接WWW的即时访问并且简化了用户/服务器模型的程序设计。

2.1.4Java的应用

Java卓越的通用性、高效性和移植性,使得Java开发者可以在一个平台上编写软件,然后即可在几乎所有其他平台上运行;

可以创建可在Web浏览器和Web服务中运行的程序;

可以开发使用于在线论坛、存储、投票、HTML格式处理以及其他用途的服务器端应用程序;

可以将采用Java语言的应用程序或服务组合在一起,形成高度定制的应用程序或服务;

可以为移动电话、远程处理器、低成本的消费产品以及其他任何具有数字核心的设备编写强大而高效的应用程序……Java+Alice:

Alice项目是美国卡耐基梅隆大学的一个学术性的项目,目标是帮助十几岁青少年如何在3D环境下编写计算机程序。

RandyPausch教授是该项目的创建人,他希望通过此项目教会青少年学习Java和C++编程。

Alice提供了一个3D的虚拟世界,包含物体和虚拟化身。

学生可以把图片贴如到一个物体上,还可以给物体增加简单的动作和脚本。

Java+AmazonKindle:

Kindle的应用是在Java基础上开发的。

它相比于其他的电子书阅读器的最大的特点是网络支持功能,包括Wi-Fi和3G两种网络方式。

作为平台技术,Java在后台运行,它支持了许多重要的设备。

Java+蓝光盘:

通过JavaME,蓝光光盘为您的眼睛和二段提供了1080p分辨率好高达7.1声道环绕盛宴。

新的BD-Live提供了互联网功能。

此外,Java还在谷歌地图、Greenfoot、LincVolt、Livescribe、Mifos、Mplayit、NeilYoung、Nuesoft、P、ResetGeneration、Ricoh、RuneScape、Sentilla、SonyEricsson、SonyPictures、Sudokia等中被应用。

2.2c/s模型的优势

2.2.1什么是c/s结构

C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。

它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。

目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;

因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。

这也就是目前应用系统的发展方向。

传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。

由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。

而且代价高,效率低。

如我院使用的上海超兰公司“案件统计”管理软件就是典型的C/S体系结构管理软件。

2.2.2c/s结构软件的优劣势

1.应用服务器运行数据负荷较轻。

最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。

二者可分别称为前台程序与后台程序。

运行数据库服务器程序的机器,也称为应用服务器。

一旦服务器程序被启动,就随时等待响应客户程序发来的请求;

客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。

2.数据的储存管理功能较为透明。

在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。

所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。

在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。

在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。

3.C/S架构的劣势是高昂的维护成本且投资大。

首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。

2.3mysql数据库的简介

2.3.1MySQL介绍

MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。

由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。

MySQL的特点与作用的特点与作用的特点与作用的特点与作用MySQL是一个真正的多用户、多线程SQL数据库服务器。

SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。

MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。

SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。

例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。

MySQL主要目标是快速、健壮和易用。

最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。

自1996年以来,我们一直都在使用MySQL,其环境有超过40个数据库,包含10,000个表,其中500多个表超过7百万行,这大约有100个吉字节(GB)的关键应用数据。

MySQL数据库的主要功能只在组织和管理很庞大或复杂的信息和基于WEB的库存查询请求不仅仅为客户提供信息,而且还可以为您自己使用数据库可以提供如下功能:

减少记录编档的时间,减小记录检索时间,灵活的查找序列,灵活的输出格式,多个用户同时访问记录。

2.3.2MySQL的技术路线与发展

在运行数据库系统时,MySQL的使用相当简单,且进行MySQL安装和使用所需的工作也很少。

然而,不论您是什么级别的专家,MySQL的安装程序都不能自动运行。

MySQL数据库系统由几部分组成

1.MySQL服务器

服务器mysql执行数据库和表的所有操作。

safe_mysqld是一个相关的程序,它用于启动服务器、监控服务器和重新启动服务器。

MySQL客户机和实用程序。

有几个MySQL程序,可用来帮助您与服务器进行通信和执行管理的任务。

其中最重要的几个是:

mysql,一个交互式程序,允许将SQL语句发布到服务器上并浏览其结果。

mysqladmin,一个管理程序,允许执行诸如关闭服务器以及创建或删除数据库的工作。

如果服务器运行不正常,还可以用mysqladmin来检查服务器的状态。

isamchk和myisamchk,这些实用程序帮助您完成表的分析和优化,以及在表损坏时进行崩溃恢复。

mysqldump,一个工具,用于备份数据库或将数据库拷贝到另一个服务器中。

服务器的语言,SQL。

有些管理职责只能用mysqladmin的命令行实用程序来完成,但是,如果您还能用服务器自己的语言来同服务器进行对话,那就更好了。

作为简单的例子,您可能需要查找用户特权不按您所希望的方式进行工作的原因。

没有任何替代品能够参与并与服务器直接通信。

可通过使用mysql客户机程序发布能够检验授权表的SQL查询来做到这一点。

如果您的MySQL版本还未引入GRANT语句,则需要使用mysql首先设置每个用户的权限。

2.MySQL数据目录

数据目录是服务器存储其数据库和状态文件的所在[1]。

了解数据目录的结构及内容是很重要的,您可以知道服务器是怎样使用文件系统来表现数据库和表的,以及像日志这样的文件的存放位置和其内容。

还应该了解在文件系统中管理磁盘空间分配的选项,当发现放置数据目录的文件系统过满时可以进行调整。

2.3.3安全性

当运行MySQL安装程序时,确保用户所存储的数据的安全性是很重要的。

MySQL管理员有责任控制对数据目录和服务器的访问,并应了解以下的问题:

文件系统的安全性。

UNIX机器可能会使几个用户账号成为宿主账号,而这些账号都没有与MySQL相关的管理职责。

确保这些账号没有对数据目录的访问是重要的。

因为这样可以防止它们通过拷贝数据库表或移动数据库表,或者通过能够读取包含敏感信息的日志文件来损坏文件系统级的数据[2]。

您应该知道如何建立MySQL服务器的UNIX用户账号,如何建立该用户所拥有的数据目录,以及如何启动服务器以便利用该用户的权限运行。

服务器的安全性。

必须了解MySQL的安全系统是怎样进行工作的,以便在建立用户账号时授予适当的权限。

通过网络连接到服务器的用户只允许做他们应该做的事情。

您不要由于对安全系统的错误理解,将超级用户的访问权授予匿名用户。

2.3.4数据库修复和维护

所有的MySQL管理员都希望避免处理破坏的或毁坏的数据库表。

但是愿望不能代替现实。

以下几个步骤可以使您在问题发生时减少风险并学会怎样处理问题[3]:

崩溃恢复。

如果尽管您做了最好的努力但灾难还是降临了,则应该知道如何修复或恢复表。

很少会用到崩溃恢复,但当使用它时,它是一个令人讨厌的、高强度的工作(尤其是当您正在忙乱地修正某些内容时,电话铃响了或有人敲门)。

然而,您必须知道怎样处理它,否则用户将会很不高兴。

要熟悉isamchk和myisamchk的表的检查以及修复能力;

要知道如何尽可能地从备份文件中恢复,并且知道怎样使用该更新日志来恢复备份之后所产生的修改。

预防性维护。

预防性维护的常规程序应适当地进行安置,以使数据库破坏和毁坏的可能性最小化。

当然,您还要进行备份,但是,预防性维护将减少使用这些备份的机会。

综上所述,MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在Internet上的中小型网站中。

随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用。

2.3.5mysql常用命令及对应解释

1.MySQL常用命令总结

1)使用SHOW语句找出在服务器上当前存在什么数据库[4]:

mysql>

SHOWDATABASES;

2)创建一个数据库MYSQLDATA

CREATEDATABASEMYSQLDATA;

3)选择你所创建的数据库

USEMYSQLDATA;

(按回车键出现Databasechanged时说明操作成功!

4)查看现在的数据库中存在什么表

SHOWTABLES;

5)创建一个数据库表

CREATETABLEMYTABLE(nameVARCHAR(20),sexCHAR

(1));

6)显示表的结构:

DESCRIBEMYTABLE;

7)往表中加入记录

insertintoMYTABLEvalues(”hyq”,”M”);

8)用文本方式将数据装入数据库表中(例如D:

/mysql.txt)

LOADDATALOCALINFILE“D:

/mysql.txt”INTOTABLEMYTABLE;

9)导入.sql文件命令(例如D:

/mysql.sql)

usedatabase;

sourced:

/mysql.sql;

10)删除表

dropTABLEMYTABLE;

11)清空表

deletefromMYTABLE;

12)更新表中数据

updateMYTABLEsetsex=”f”wherename=’hyq’;

2.全局管理权限对应解释:

FILE:

在MySQL服务器上读写文件。

PROCESS:

显示或杀死属于其它用户的服务线程。

RELOAD:

重载访问控制表,刷新日志等。

SHUTDOWN:

关闭MySQL服务。

数据库/数据表/数据列权限:

ALTER:

修改已存在的数据表(例如增加/删除列)和索引。

CREATE:

建立新的数据库或数据表。

DELETE:

删除表的记录。

DROP:

删除数据表或数据库。

INDEX:

建立或删除索引。

INSERT:

增加表的记录。

SELECT:

显示/搜索表的记录。

UPDATE:

修改表中已存在的记录。

特别的权限:

ALL:

允许做任何事(和root一样)。

USAGE:

只允许登录–其它什么也不允许做。

2.3.6mysql数据库的导入

MySQL数据库的导入,有两种方法:

1)先导出数据库SQL脚本,再导入;

2)直接拷贝数据库目录和文件。

在不同操作系统或MySQL版本情况下,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2