服装管理系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连东软信息学院
毕业设计(论文)
论文题目:基于QT平台的服装管理系统的设计与实现
系所:
专业:
学生姓名:
学生学号:
指导教师:
导师职称:
完成日期:年月日
大连东软信息学院
Dalian Neusoft University of Information
基于QT平台的服装管理系统的设计与实现
摘要
随着现在经济全球化的大环境前提下,服装制造业的压力越来越大,大量快速的服装款式以及服装制造量的大幅度增加,导致现有的管理方式已经无法满足,急需一种软件改善内部以及整个供应链上的各环节的管理和整个资源的整合,以适应客户需求以及整个市场的新时机的及时调控,防止由于过度的资源浪费所导致的成本价格增加。
论文选题的目的是为了开发一种系统以满足现在市场上及在服装设计中间所需要功能的企业软件。
该系统致力于快速,及时,准确,以及企业整体网络共享实时信息等功能。
使企业可以使用一种专用的系统软件方便企业管理以及查询最新服装生产线方面最新信息的管理查询软件。
QT中具有一种独特的基于信号和槽机制,由于这种机制针对于目前长期使用的图形回调机制具有多方面优越处,使得其相对其它图形机制更容易快速使用,以及后期维护。
QT中的这种机制主要是将程序中所有的对象都通过信号和槽的这两种方式连接在一起,主要形式有一个信号量对一个槽、以及多个信号对一个槽这两种信号量连接方式,当一个信号连接多个槽的时候,触发信号量的时候槽函数将使用按顺序依次发射执行,其多种灵活的关联方式,使所需要的用户的产生信号得到有效响应,这是其优越于其他图形编译方式。
QT中详细发送信号命令方式详细以emit发射信号,并使用signal来进行标记,用slot表示独特函数中的槽函数性质。
连接中以connect槽函数作为连接函数。
本系统中主要是实现了一个服装的整天管理,实现期间主要需要一个数据库内部的一个信息存储以及内容的实时更新和传递功能,从而保持数据的一个实时更新功能,实行数据的实时存储,保证数据的一个实时性,防止出现数据的跟新不畅的环节,所以需要使用信号和槽的一个简单连接保证数据的一个传输,期间还用使用定时器的实时更新数据功能。
关键词:QT,Android,数据库
Design and implementation of QT platform management system based on clothing
Abstract
Now that the environment under the premise of economic globalization , the increasing pressure garment manufacturing , clothing styles and a large number of fast substantial increase in apparel manufacturing capacity , resulting in the existing management has been unable to meet the urgent need of a software improvement management and integration within and across the supply chain across all sectors of resources to meet customer needs and timely regulation of the market of new opportunities , to prevent an increase due to excessive waste of resources caused by the cost price .
The purpose of the paper is to develop a topic systems to meet the market now and in the middle of the design features you need clothing enterprise software . The system is dedicated to fast , timely, accurate , and overall network share real-time information and other functions. So that enterprises can use a proprietary system software to facilitate enterprise management and query management query software production line aspect latest clothing latest information.
QT has a unique mechanism based on signals and slots , due to this mechanism graphics callback mechanism for long-term use at present has many excellent place, making it easier mechanism relative to other graphics fast to use, as well as ongoing maintenance . QT primarily in this mechanism is to program all of the objects are connected together via signals and slots both ways , mainly in the form of a semaphore for a slot , and a plurality of semaphore signals for both a slot connection, when a plurality of grooves connected to the signal , the trigger signal is a function of the amount of time slots used by the transmitting order of execution associated with it a variety of flexible manner , so that the user needs to generate a signal effective response, which is its superior to other graphics compilation mode . QT detailed command sends a signal to emit detailed manner transmit signals and use signal to be marked with a slot , said slot function of the nature of the unique function . Connection to connect slot function as the link function.
This system is mainly to achieve a garment day management, mainly a need for an
internal database and the contents of the information stored and updated in real time during the transfer function implemented in order to maintain a real-time update feature data , the implementation of real-time storage of data, ensure a real-time data to prevent poor links with the new data emerge , so it is necessary to use signals and slots with a simple connection to ensure a transfer of data, also used during real-time update of data using the timer function .
Key words: QT, Android, database
目录
摘要 (I)
ABSTRACT (II)
第1章绪论 (1)
1.1论文研究主要内容 (1)
1.2系统开发的意义 (1)
第2章关键技术介绍 (2)
2.1QT (2)
2.2A NDROID (2)
2.3数据库 (5)
第3章系统分析 (9)
3.1构架概述 (9)
3.1.1 功能构架 (9)
3.1.2 模块需求描述 (9)
3.2系统开发环境 (10)
3.3系统任务的可行性分析 (10)
第4章系统设计与实现 (11)
4.1设计指导思想和原则 (11)
4.1.1 指导思想................................................................................ 错误!未定义书签。
4.1.2 软件设计原则........................................................................ 错误!未定义书签。
4.2构架概述 (14)
4.3系统的功能结构设计 (18)
4.4系统控制流程 .............................................................. 错误!未定义书签。
第5章系统测试 .. (19)
6.1测试目的 (19)
6.2 测试方案 (19)
6.3 测试结果 (19)
第6章结论 (21)
参考文献 (22)
致谢 (23)
附录 (24)
第1章绪论
1.1 论文研究主要内容
在这个信息化的时代,随着时代的发展,伴随着全球经济一体化进程的不断地加快,IT技术的飞速发展,电子产品的成本不断下降且便携设备的价格也越来越低,使得越来越多领域开始使用软件和微处理器控制各种嵌入式设备。
开发一种系统以满足现在市场上及在服装设计中间所需要功能的企业软件。
该系统致力于快速,及时,准确,以及企业整体网络共享实时信息等功能。
使企业可以使用一种专用的系统软件方便企业管理以及查询最新服装生产线方面最新信息的管理查询软件。
1.2 系统开发的意义
随着服装行业信息量大,随着企业的经营规模不断扩大,进销存数量急剧增加,有关服务进销存的各种信息也成倍增长。
服装的管理工作是服装销售不可缺少的一部分,也是企业管理的重要组成部分。
所以服装管理系统也应该能够为用户提供完成、正确和灵活的服装管理系统。
由于国内服装行业的发展,服装销售市场对信息管理、规范管理有着更进一步的需求。
该销售管理系统软件是针对目前服装销售行业特点,结合实际用户需求而研制开发而成的。
该软件将营销管理理念与软件技术完美结合,用途覆盖面广,适用于衣/鞋/包/帽等不同类别的销售行业,包括批发行、零售店、品牌专卖店等等。
该软件以实用、先进、稳定、操作简单见长。
本系统软件操作简单,概括了供应商管理、客户管理、员工管理、进销管理、库存管理、等等服饰销售行业中不可或缺的管理功能;大大地减少了操作员手工录入数据工作,极大程度地避免了人力浪费,有效避免重复操作时间消耗;另外,系统的数据统计分析功能灵活完善,系统具有先进、稳定、安全、结构合理、使用方便、界面友好、操作简单等特点,是真正能帮助服装销售行业管理发展的有力工具。
第2章关键技术介绍
2.1 QT
Qt是在1991年一个由奇趣科技开发的跨平台C++图形用户界面的应用程序开发框架。
且是面向对象语言,易于扩展且允许组件编程。
Qt支持的平台有MS/Windows - 95、98、ME、NT 4.0、2000、XP、 Win7和Vista,以及Unix/X11 - Linux、Sun Solaris、CompaqTru64 UNIX、HP-UX、IBM AIX、SGI IRIX、、BSD/OS FreeBSD和其它很多X11平台,另外还有Macintosh - Mac OS X、Embedded - 有帧缓冲(framebuffer)支持的嵌入式Linux平台和Windows CE等。
Qt支持的操作系统有Windows,Linux,Solaris,SunOS,Mac,FreeBSD、BSD/OS,SCO,AIX,OS390,QNX等等。
Qt的良好分装机制使得Qt的模块化程度非常高,可重用性良好,对于用户开发来说是非常方便的。
Qt提供了一种成为signal/slots 信号和槽的安全类型来代替callback,具有可查询和可设计的属性,这样使得各个元件之间的协同工作变得十分简单。
此外,Qt还有丰富的API,包括多达500个一上的C++类,还提供基于模版的collections,file,serialization,I/Odevice,data/time,directory management类。
甚至还包括正则表达式的处理功能。
Qt还具有有约的绘画功能,Qt的绘画工具QPainter类,在任意一个绘图设备上都可以润色图形。
绘图设备包括组件、像素映射、打印机和图形文件,相同的代码可以用在4种不同类型的设备上。
2.2 Android
是一个以Linux为基础的开放源码的操作系统,它主要用于便携设备,Android操作系统最初是由Andy Rubin开发且主要支持手机。
在2005年由Google收购注资,并组建了开放手机联盟开发改良,逐渐地扩展到平板电脑以及其他领域上。
在2011年第一季度,Android在全球的市场份额首次超过了塞班系统,跃居全球第一。
在2012年2月数据中显示,Android占据了全球智能手机操作系统市场52.5%的份额,在中国市场的占有率为68.4%。
Android系统架构和别的操作系统一样,采用了分层架构。
Android一共分为四层,从高到低依次是应用程序层、应用程序框架层、系统运行库层和Linux核心层。
它是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android快速发展,如今已经允许了开发者使用多种编程语言来开发应用程序,而不再是像以前一样只能使
用Java开发Android应用程序的单一局面,因而它受到了众多开发者的欢迎,成为了真正意义上的开放式操作系统。
开发者在Android中可以使用Java作为编程语言来开发应用程序,也可以通过NDK 使用C/C++作为编程语言进行开发应用程序,也可使用SL4A来使用其他各种脚本语言进行编程(如:php、python、tcl、 lua等等),还有其他诸如: Mono(Mono for Android)、Qt(Qt for Android)等一些著名的编程框架也开始支持Android编程。
甚至通过MonoDroid,开发者们还可以使用C#作为编程语言开发应用程序。
此外,Google于2009年特别发布了针对初学者的Android Simple语言,该语言类似Basic语言。
但是在网页编程语言方面,JavaScript,Ajax,HTML5,jquery、Phone、sencha、mobl、dojo Gap
等等都已经支持Android开发。
而在Android系统底层方面,Android是使用C/C++作为开发语言。
android四大组件分别是:
1. 活动(Activity):用于表现功能。
2.. 服务(Service):后台运行服务,不提供界面呈现。
3. 广播接收器(BroadcastReceiver):用于接收广播。
4. 内容提供商(Content Provider):支持在多个应用中的存储和读取数据,相当于数据库。
Activity
一个Activity通常展现为一个可视化的用户界面。
例如,一个activity可能展现为一个用户可以选择的菜单项列表或者展现一些图片以及图片的标题。
一个消息服务应用程序可能包含一个显示联系人列表的activity,一个编写信息的activity,以及其它一些查看信息和修改应用程序设置的activity。
虽然这些activity一起工作,共同组成了一个应用程序,但每一个activity都是相对独立的。
每一个activity都是Activity(android.app.Activity)的子类。
Service
service没有用户界面,但它会在后台一直运行。
例如,service可能在用户处理其它事情的时候播放背景音乐,或者从网络上获取数据,或者执行一些运算,并把运算结构提供给activity展示给用户。
每个service都扩展自类Serivce。
多媒体播放器播放音乐是应用service的一个非常好的例子。
多媒体播放器程序可能含有一个或多个activity,用户通过这些 activity选择并播放音乐。
然而,音乐回放并
不需要一个activity来处理,因为用户可能会希望音乐一直播放下去,即使退出了播放器去执行其它程序。
为了让音乐一直播放,多媒体播放器activity可能会启动一个service 在后台播放音乐。
Android系统会使音乐回放service一直运行,即使在启动这个service 的activity退出之后。
应用程序可以连接到一个正在运行中的service。
当连接到一个service后,可以使用这个service向外暴露的接口与这个service进行通信。
对于上面提到的播放音乐的service,这个接口可能允许用户暂停,停止或重新播放音乐。
与activity以及其它组件一样,service同样运行在应用程序进程的主线程中。
所以它们不能阻塞其它组件或用户界面,通常需要为这些service派生一个线程执行耗时的任务。
Broadcase receiver
broadcase receiver不执行任何任务,仅仅是接受并响应广播通知的一类组件。
大部分广播通知是由系统产生的,例如改变时区,电池电量低,用户选择了一幅图片或者用户改变了语言首选项。
应用程序同样也可以发送广播通知,例如通知其他应用程序某些数据已经被下载到设备上可以使用。
一个应用程序可以包含任意数量的boradcase reveiver来响应它认为很重要的通知。
所有的broadcast receiver都扩展自类BroadcastReceiver。
broadcast receiver不包含任何用户界面。
然而它们可以启动一个activity以响应接受到的信息,或者通过NotificationManager通知用户。
可以通过多种方式使用户知道有新的通知产生:闪动背景灯、震动设备、发出声音等等。
通常程序会在状态栏上放置一个持久的图标,用户可以打开这个图标并读取通知信息。
Content provider
应用程序可以通过content provider访问其它应用程序的一些私有数据,这是Android 提供的一种标准的共享数据的机制。
共享的数据可以是存储在文件系统中、SQLite 数据库中或其它的一些媒体中。
content provider扩展自ContentProvider类,通过实现此类的一组标准的接口可以使其它应用程序存取由它控制的数据。
然而应用程序并不会直接调用ContentProvider中的方法,而是通过类
ContentResolver。
ContentResolver能够与任何一个 ContentProvider通信,它与ContentProvider合作管理进程间的通信。
任何时候当Android系统收到一个需要某个组件进行处理的请求的时候,Android
会确保处理此请求的组件的宿主进程是否已经在运行,如果没有,则立即启动这个进程,当请求的组件的宿主进程已经在运行,它会继续查看请求的组件是否可以使用,如果不能立即使用,它会创建一个请求的组件的实例来响应请求。
2.3 数据库
数据库,简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。
数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。
例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。
有了这个"数据仓库"我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。
这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。
此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种"数据库",使其可以利用计算机实现财务、仓库、生产的自动化管理。
数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。
这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。
从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。
数据库是一个单位或是一个应用领域的通用数据处理系统,它存储的是属于企业和事业部门、团体和个人的有关数据的集合。
数据库中的数据是从全局观点出发建立的,按一定的数据模型进行组织、描述和存储。
其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。
数据库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。
不同的用户可以按各自的用法使用数据库中的数据;多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据库中的同一个数据。
数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信的要求。
数据库的主要特点:
⑴实现数据共享。
数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
⑵减少数据的冗余度。
同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。
减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
⑶数据的独立性。
数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。
⑷数据实现集中控制。
文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。
利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
⑸数据一致性和可维护性,以确保数据的安全性和可靠性。
主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。
⑹故障恢复。
由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。
数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。
比如对系统的误操作造成的数据错误等。
数据库的数据种类
数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。
而不同的数据库是按不同的数据结构来联系和组织的。
1.数据结构模型
⑴数据结构
所谓数据结构是指数据的组织形式或数据之间的联系。
如果用D表示数据,用R
表示数据对象之间存在的关系集合,则将DS=(D,R)称为数据结构。
例如,设有一个电话号码簿,它记录了n个人的名字和相应的电话号码。
为了方便地查找某人的电话号码,
将人名和号码按字典顺序排列,并在名字的后面跟随着对应的电话号码。
这样,若要查找某人的电话号码(假定他的名字的第一个字母是Y),那么只须查找以Y开头的那些名字就可以了。
该例中,数据的集合D就是人名和电话号码,它们之间的联系R就是按字典顺序的排列,其相应的数据结构就是DS=(D,R),即一个数组。
⑵数据结构种类
数据结构又分为数据的逻辑结构和数据的物理结构。
数据的逻辑结构是从逻辑的角度(即数据间的联系和组织方式)来观察数据,分析数据,与数据的存储位置无关。
数据的物理结构是指数据在计算机中存放的结构,即数据的逻辑结构在计算机中的实现形式,所以物理结构也被称为存储结构。
这里只研究数据的逻辑结构,并将反映和实现数据联系的方法称为数据模型。
比较流行的数据模型有三种,即按图论理论建立的层次结构模型和网状结构模型以及按关系理论建立的关系结构模型。
2.层次、网状和关系数据库系统
⑴层次结构模型
层次结构模型实质上是一种有根结点的定向有序树(在数学中"树"被定义为一个无回的连通图)。
下图是一个高等学校的组织结构图。
这个组织结构图像一棵树,校部就是树根(称为根结点),各系、专业、教师、学生等为枝点(称为结点),树根与枝点之间的联系称为边,树根与边之比为1:N,即树根只有一个,树枝有N个。
按照层次模型建立的数据库系统称为层次模型数据库系统。
IMS(Information Manage-mentSystem)是其典型代表。
⑵网状结构模型
按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是
DBTG(Data Base Task Group)。
用数学方法可将网状数据结构转化为层次数据结构。
⑶关系结构模型
关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)。
例如某单位的职工关系就是一个二元关系。
由关系数据结构组成的数据库系统被称为关系数据库系统。
在关系数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关系表格的分类、合并、连接或选取等运算来实现数据的管理。
dBASEⅡ就是这类数据库管理系统的典型代表。
对于一个实际的应用问题(如人事管理问题),有时需要多
个关系才能实现。
用dBASEⅡ建立起来的一个关系称为一个数据库(或称数据库文件),而把对应多个关系建立起来的多个数据库称为数据库系统。
dBASEⅡ的另一个重要功能是通过建立命令文件来实现对数据库的使用和管理,对于一个数据库系统相应的命令序列文件,称为该数据库的应用系统。
因此,可以概括地说,一个关系称为一个数据库,若干个数据库可以构成一个数据库系统。
数据库系统可以派生出各种不同类型的辅助文件和建立它的应用系统。
第3章系统分析
3.1 构架概述
3.1.1 功能构架
根据需求调研结果确定本系统主要包括以下功能模块,如图3.1所示。
图3.1 系统体系结构
3.1.2 模块需求描述
进货管理:提供对购进货物的管理,包括价格、尺码供应商等信息,生成进货记录报表
销售管理:记录批发销售和单件销售的信息,并生成销售表,保存销售的时间,价格和员工的信息,同时可以在任意时间查询当日的销售额。
·会员管理:提供会员注册,记录会员的基本信息,在会员购买商品时会给予优惠,也可以注销注册的会员。
员工管理:保存员工的基本信息,记录员工的出勤情况,按照每月的出勤情况进行
工资的核算。
库存管理:可以查询积压的货物和现有准备出售的货物信息,并对库间的调拨和库存资料的管理。
系统管理:显示店铺信息,管理员的密码修改和退出功能。
3.2 系统开发环境
硬件环境:450*2MHZ/40G/1024MB/40G/
软件环境:
Windows7 Ultimate SP1 X86/Qt Creator 2.4.1/Eclipse 3.7.2(ADT 18.0.0/android-sdk_r1 8-windows)
3.3 系统任务的可行性分析
本系统的服务器采用了Linux系统的底层架构,服务器端软件使用Qt Quick 框架开发,数据库采用了SQLite。
Qt Quick提供优秀的跨平台特性,对嵌入式设备有了良好的支持;SQLite数据库轻巧、高效,功能是较为完备的,非常适合用于嵌入式软件的开发。
开发工具为Qt Creator,该工具提供完善的代码管理和调试功能,完全能够满足本系统的开发的需求。
本系统客户端基于功能强大而且应用广泛的Android平台,Android是一个相对开放的平台,适用于各种类型的便携设备用以充分满足用户不同的需求。
开发工具为安装了官方SDK插件的Eclipse,它也能够满足开发要求。
第4章系统设计与实现
4.1系统设计基本情况描述
服装销售管理系统是针对中小型的服装销售店铺所用,适合零售和批发,该系统通过前台的界面可以对后台的数据库进行相关的操作,数据库可以单独的存放在服务器上,而客户端的模块分别安装在相应的机器上。
4.1.1添加服装界面管理
图4.1添加新服装信息界面管理
4.1.2库存界面管理
图4.2服装系统库存界面关系4.1.3库存界面删除及修改。