A. 谁能给我一个数据仓库和数据挖掘案例的详细设计文档
最好可以问你们老师,或者去相应的网站上去查找。如果你离毕业还早的话,可以去考数据库系统工程师。相应的教材和资料都可以买到,而且是国家承认的。不过这只是个证书而已,关键的以后还是要实践。通过准备考试,可以打下扎实的基础,为以后做准备。
另外,数据库其实也比较枯燥,如果你有决心的话,还是不错的工作。关键的在学校还是要先打好基础。
有很多这样的网站,你可以上网去搜索。如果有相应的辅导班,也可以考虑。
数据库系统工程师级考试大纲
一、考试说明
1.考试要求
(1)掌握计算机体系结构以及各主要部件的性能和基本工作原理;
(2)掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;
(3)熟练掌握常用数据结构和常用算法;
(4)熟悉软件工程和软件开发项目管理的基础知识;
(5)熟悉计算机网络的原理和技术;
(6)掌握数据库原理及基本理论;
(7)掌握常用的大型数据库管理系统的应用技术;
(8)掌握数据库应用系统的设计方法和开发过程;
(9)熟悉数据库系统的管理和维护方法,了解相关的安全技术;
(10)了解数据库发展趋势与新技术;
(11)掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识;
(12)了解信息化、计算机应用的基础知识;
(13)正确阅读和理解计算机领域的英文资料。
2. 通过本考试的合格人员能参与应用信息系统的规划、设计、构建、运行和管理,能按照用户需求,设计、建立、运行、维护高质量的数据库和数据仓库;作为数据管理员管理信息系统中的数据资源,作为数据库管理员建立和维护核心数据库;担任数据库系统有关的技术支持,同时具备一定的网络结构设计及组网能力;具有工程师的实际工作能力和业务水平,能指导计算机技术与软件专业助理工程师(或技术员)工作。
3. 本考试设置的科目包括
(1)信息系统知识,考试时间为150分钟,笔试;
(2)数据库系统设计与管理,考试时间为150分钟,笔试。
二、考试范围
考试科目1:信息系统知识
1. 计算机系统知识
1.1 硬件知识
1.1.1 计算机体系结构和主要部件的基本工作原理
·CPU和存储器的组成、性能、基本工作原理
·常用I/O设备、通信设备的性能,以及基本工作原理
·I/O接口的功能、类型和特点
·CISC/RISC,流水线操作,多处理机,并行处理
1.1.2 存储系统
·虚拟存储器基本工作原理,多级存储体系
·RAID类型和特性
1.1.3 安全性、可靠性与系统性能评测基础知识
·诊断与容错
·系统可靠性分析评价
· 计算机系统性能评测方法
1.2 数据结构与算法
1.2.1 常用数据结构
·数组(静态数组、动态数组)
·线性表、链表(单向链表、双向链表、循环链表)
·栈和队列
·树(二叉树、查找树、平衡树、遍历树、堆)、图、集合的定义、存储和操作
·Hash(存储位置计算、碰撞处理)
1.2.2 常用算法
·排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的相关算法
·算法与数据结构的关系,算法效率,算法设计,算法描述(流程图、伪代码、决策表),算法的复杂性
1.3 软件知识
1.3.1 操作系统知识
·操作系统的类型、特征、地位、内核(中断控制)、进程、线程概念
·处理机管理(状态转换、同步与互斥、信号灯、分时轮转、抢占、死锁)
·存储管理(主存保护、动态连接分配、分段、分页、虚存)
·设备管理(I/O控制、假脱机、磁盘调度)
·文件管理(文件目录、文件的结构和组织、存取方法、存取控制、恢复处理、共享和安全)
·作业管理(作业调度、作业控制语言(JCL)、多道程序设计)
·汉字处理,多媒体处理,人机界面
·网络操作系统和嵌入式操作系统基础知识
·操作系统的配置
1.3.2 程序设计语言和语言处理程序的知识
· 汇编、编译、解释系统的基础知识和基本工作原理
· 程序设计语言的基本成分:数据、运算、控制和传输,程序调用的实现机制
· 各类程序设计语言的主要特点和适用情况
1.4 计算机网络知识
·网络体系结构(网络拓扑、OSI/RM、基本的网络协议)
·传输介质,传输技术,传输方法,传输控制
·常用网络设备和各类通信设备
·Client/Server结构、Browser/Server结构、Browser/Web/Datebase结构
·LAN拓扑,存取控制,LAN的组网,LAN间连接,LAN-WAN连接
·因特网基础知识及应用
·网络软件
·网络管理
·网络性能分析
·网络有关的法律、法规
2. 数据库技术
2.1 数据库技术基础
2.1.1 数据库模型
·数据库系统的三级模式(概念模式、外模式、内模式),两级映像(概念模式/外模式、外模式/内模式)
·数据库模型:数据模型的组成要素,概念数据模型ER图(实体、属性、关系),逻辑数据模型(关系模型、层次模型、网络模型)
2.1.2 数据库管理系统的功能和特征
·主要功能(数据库定义、数据库操作、数据库控制、事务管理、用户视图)
·特征(确保数据独立性、数据库存取、同时执行过程、排它控制、故障恢复、安全性、完整性)
·RDB(关系数据库),OODB(面向对象数据库),ORDB(对象关系数据库),NDB(网状数据库)
·几种常用Web数据库的特点
2.1.3 数据库系统体系结构
· 集中式数据库系统
· Client/Server数据库系统
· 并行数据库系统
· 分布式数据库系统
· 对象关系数据库系统
2.2 数据操作
2.2.1 关系运算
·关系代数运算(并、交、差、笛卡儿积、选择、投影、连接、除)
·元组演算
·完整性约束
2.2.2 关系数据库标准语言(sql)
·SQL的功能与特点
·用SQL进行数据定义(表、视图、索引、约束)
·用SQL进行数据操作(数据检索、数据插入/删除/更新、触发控制)
·安全性和授权
·程序中的API,嵌入SQL
2.3 数据库的控制功能
·数据库事务管理(ACID属性)
·数据库备份与恢复技术(UNDO、REDO)
·并发控制
2.4 数据库设计基础理论
2.4.1 关系数据库设计
·函数依赖
·规范化(第一范式、第二范式、第三范式、BC范式、第四范式、第五范式)
·模式分解及分解应遵循的原则
2.4.2 对象关系数据库设计
·嵌套关系、 复杂类型,继承与引用类型
·与复杂类型有关的查询
·SQL中的函数与过程
·对象关系
2.5 数据挖掘和数据仓库基础知识
·数据挖掘应用和分类
·关联规则、聚类
·数据仓库的成分
·数据仓库的模式
2.6 多媒体基本知识
2.6.1 多媒体技术基本概念
·多媒体系统基础知识
·常用多媒体文件格式
2.6.2 多媒体压缩编码技术
·多媒体压缩编码技术
·统计编码
·预测编码
·编码的国际标准
2.6.3多媒体技术应用
·简单图形的绘制,图像文件的处理方法
·音频和视频信息的应用
·多媒体应用开发过程
2.7 系统性能知识
·性能计算(响应时间、吞吐量、周转时间)
·性能指标和性能设计
·性能测试和性能评估
2.8 计算机应用基础知识
·信息管理、数据处理、辅助设计、科学计算,人工智能等基础知识
·远程通信服务及相关通信协议基础知识
3. 系统开发和运行维护知识
3.1 软件工程、软件过程改进和软件开发项目管理知识
·软件工程知识
·软件开发生命周期阶段目标和任务
·软件开发项目基础知识(时间管理、成本管理、质量管理、人力资源管理、风险管理等)及其常用管理工具
·主要的软件开发方法(生命周期法、原型法、面向对象法、CASE)
·软件开发工具与环境知识
·软件质量管理基础知识
·软件过程改进基础知识
·软件开发过程评估、软件能力成熟度评估的基础知识
3.2 系统分析基础知识
·系统分析的目的和任务
·结构化分析方法(数据流图(DFD)和数据字典(DD),实体关系图(ERD),描述加工处理的结构化语言)
·统一建模语言(UML)
·系统规格说明书
3.3 系统设计知识
·系统设计的目的和任务
·结构化设计方法和工具(系统流程图、HIPO图、控制流程图)
·系统总体结构设计(总体布局,设计原则,模块结构设计,数据存取设计,系统配置方案)
·系统详细设计(代码设计、数据库设计、用户界面设计、处理过程设计)
·系统设计说明书
3.4 系统实施知识
·系统实施的主要任务
·结构化程序设计、面向对象程序设计、可视化程序设计
·程序设计语言的选择、程序设计风格
·系统测试的目的、类型,系统测试方法(黑盒测试、白盒测试、灰盒测试)
·测试设计和管理(错误曲线、错误排除、收敛、注入故障、测试试用例设计、系统测试报告)
·系统转换基础知识
3.5 系统运行和维护知识
·系统运行管理知识
·系统维护知识
·系统评价知识
4. 安全性知识
·安全性基本概念(网络安全、操作系统安全、数据库安全)
·计算机病毒的防治,计算机犯罪的防范,容灾
·访问控制、防闯入、安全管理措施
·加密与解密机制
·风险分析、风险类型、抗风险措施和内部控制
5.标准化知识
·标准化意识,标准化的发展,标准出台过程
·国际标准、国家标准、行业标准、企业标准基本知识
·代码标准、文件格式标准、安全标准软件开发规范和文档标准
·标准化机构
6.信息化基础知识
·信息化意识
·全球信息化趋势、国家信息化战略、企业信息化战略和策略
·有关的法律、法规
·远程教育、电子商务、电子政务等基础知识
·企业信息资源管理基础知识
7.计算机专业英语
·掌握计算机技术的基本词汇
·能正确阅读和理解计算机领域的英文资料
考试科目2:数据库系统设计与管理
1.数据库设计
1.1理解系统需求说明
·了解用户需求、确定系统范围
·确定应用系统数据库的各种关系
·现有环境与新系统环境的关系
·新系统中的数据项、数据字典、数据流
1.2 系统开发的准备
·选择开发方法,准备开发环境,制订开发计划
1.3 设计系统功能
·选择系统机构,设计各子系统的功能和接口,设计安全性策略、需求和实现方法,制定详细的工作流和数据流
1.4 数据库设计
1.4.1 设计数据模型
·概念结构设计(设计ER模型)
·逻辑结构设计(转换成DBMS所能接收的数据模型)
·评审设计
1.4.2 物理结构设计
·设计方法与内容
·存取方法的选择
·评审设计与性能预测
1.4.3 数据库实施与维护
·数据加载与应用程序调试
·数据库试运行
·数据库运行与维护
1.4.4 数据库的保护
·数据库的备份与恢复
·数据库的安全性
·数据库的完整性
·数据库的并发控制
1.5 编写外部设计文档
·编写系统说明书(系统配置图、各子系统关系图、系统流程图,系统功能说明、输入输出规格说明、数据规格说明、用户手册框架)
·设计系统测试要求
1.6 设计评审
2. 数据库应用系统设计
2.1 设计数据库应用系统结构
·信息系统的架构(如Client/Server)与DBMS
·多用户数据库环境(文件服务器体系结构、Client/Server体系结构)
·大规模数据库和并行计算机体系结构(SMP、MPP)
·中间件角色和相关工具
·按构件分解,确定构件功能规格以及构件之间的接口
2.2 设计输入输出
·屏幕界面设计,设计输入输出检查方法和检查信息
·数据库交互与连接(掌握C程序设计语言,以及Java、Visual Basic、Visual C++、PowerBuilder、Delphi中任一种开发工具与数据库互连的方法(如何与数据库服务器沟通))
2.3 设计物理数据
·分析事务在数据库上运行的频率和性能要求,确定逻辑数据组织方式、存储介质,设计索引结构和处理方式
·将逻辑数据结构变换成物理数据结构,计算容量(空间代价),确定存取方法(时间效率)、系统配置(维护代价)并进行优化
2.4 设计安全体系
·明确安全等级
·数据库的登录方式
·数据库访问
·许可(对象许可、命令许可、授权许可的方法)
2.5 应用程序开发
2.5.1 应用程序开发
·选择应用程序开发平台
·系统实施顺序
·框架开发
·基础小组的程序开发
·源代码控制
·版本控制
2.5.2 模块划分(原则、方法、标准)
2.5.3 编写程序设计文档
·模块规格说明书(功能和接口说明、程序处理逻辑的描述、输入输出数据格式的描述)
·测试要求说明书(测试类型和目标,测试用例,测试方法)
2.5.4 程序设计评审
2.6 编写应用系统设计文档
·系统配置说明、构件划分图、构件间的接口、构件处理说明、屏幕设计文档、报表设计文档、程序设计文档、文件设计文档、数据库设计文档
2.7 设计评审
3. 数据库应用系统实施
3.1 整个系统的配置与管理
3.2 常用数据库管理系统的应用(SQL Server、Oracle、Sybase、DB2、Access或Visual Foxpro)
·创建数据库
·创建表、创建索引、创建视图、创建约束、创建UDDT(用户自定义类型)
·创建和管理触发器
·建立安全体系
3.3 数据库应用系统安装
·拟定系统安装计划(考虑费用、客户关系、雇员关系、后勤关系和风险等因素)
·拟定人力资源使用计划(组织机构安排的合理性)
·直接安装(安装新系统并使系统快速进入运行状态)
·并行安装(新旧系统并行运行一段时间)
·阶段安装(经过一系列的步骤和阶段使新系统各部分逐步投入运行)
3.4 数据库应用系统测试
·拟定测试目标、计划、方法与步骤
·数据加载,准备测试数据
·指导应用程序员进行模块测试进行验收
·准备系统集成测试环境测试工具
·写出数据库运行测试报告
3.5 培训与用户支持
4.数据库系统的运行和管理
4.1 数据库系统的运行计划
·运行策略的确定
·确定数据库系统报警对象和报警方式
·数据库系统的管理计划(执行,故障/恢复,安全性,完整性,用户培训和维护)
4.2 数据库系统的运行和维护
·新旧系统的转换
·收集和分析报警数据(执行报警、故障报警、安全报警)
·连续稳定的运行
·数据库维护(数据库重构、安全视图的评价和验证、文档维护)
·数据库系统的运行统计(收集、分析、提出改进措施)
·关于运行标准和标准改进一致性的建议
·数据库系统的审计
4.3 数据库管理
·数据字典和数据仓库的管理
·数据完整性维护和管理(实体完整性、参照完整性)
·数据库物理结构的管理(保证数据不推迟访问)
·数据库空间及碎片管理
·备份和恢复(顺序、日志(审计痕迹)、检查点)
·死锁管理(集中式、分布式)
·并发控制(可串行性、锁机制、时间戳、优化)
·数据安全性管理(加密、安全、访问控制、视图、有效性确认规则)
·数据库管理员(DBA)职责
4.4 性能调整
·SQL语句的编码检验
·表设计的评价
·索引的改进
·物理分配的改进
·设备增强
·数据库性能优化
4.5 用户支持
·用户培训
·售后服务
5. SQL
5.1 数据库语言
·数据库语言的要素
·数据库语言的使用方式(交互式和嵌入式)
5.2 SQL概述
·SQL语句的特征
·SQL语句的基本成分
5.3 数据库定义
·创建数据库(Create Datebase)、创建表(Create Table)
·定义数据完整性
·修改表(Alter Table)、删除表(Drop Table)
·定义索引(Create Index)、删除索引(Drop Index)
·定义视图(Create View)、删除视图(Drop View)、更新视图
5.4 数据操作
·Select语句的基本机构
·简单查询
·SQL中的选择、投影
·字符串比较,涉及空值的比较
·日期时间,布尔值,输出排序
·多表查询
·避免属性歧义
·SQL中的连接、并、交、差
·SQL中的元组变量
·子查询
5.5 完整性控制与安全机制
·主键(Primary Key)约束
·外键(Foreign Key)约束
·属性值上的约束(Null、Check、Create Domain)
·全局约束(Create Assertions)
·权限、授权(Grant)、销权(Revoke)
5.6 创建触发器(Create Trigger)
5.7 SQL使用方式
·交互式SQL
·嵌入式SQL
·SQL与宿主语言接口(Declare、共享变量、游标、卷游标)
·动态SQL
·API
5.8 SQL 标准化
6. 网络环境下的数据库
6.1 分布式数据库
6.1.1 分布式数据库的概念
·分布式数据库的特点与目标
6.1.2 分布式数据库的体系结构
·分布式数据库的模式结构
·数据分布的策略(数据分片、分布透明性)
·分布式数据库管理系统
6.1.3 分布式查询处理和优化
6.1.4 分布式事务管理
·分布式数据库的恢复(故障、恢复、2段提交、3段提交)
·分布式数据库的透明性(局部、分裂、复制、处理、并发、执行)
6.1.5 分布式数据库系统的应用
6.2 网络环境下数据库系统的设计与实施
·数据的分布设计
·负载均衡设计
·数据库互连技术
6.3 面向Web的DBMS技术
·三层体系结构
·动态Web网页
·ASP、JSP、XML的应用
7.数据库的安全性
7.1 安全性策略的理解
·数据库视图的安全性策略
·数据的安全级别(最重要的、重要的、注意、选择)
7.2 数据库安全测量
·用户访问控制(采用口令等)
·程序访问控制(包含在程序中的SQL命令限制)
·表的访问控制(视图机制)
·控制访问的函数和操作
·外部存储数据的加密与解密
8. 数据库发展趋势与新技术
8.1 面向对象数据库(OODBMS)
8.1.1 OODBMS的特征
8.1.2 面向对象数据模型
·对象结构、对象类、继承与多重继承、对象标识、对象包含、对象嵌套
8.1.3 面向对象数据库语言
8.1.4 对象关系数据库系统(ORDBMS)
·嵌套关系
·复杂类型
·继承、引用类型
·与复杂类型有关的查询
·函数与过程
·面向对象与对象关系
·ORDBMS应用领域
8.2 企业资源计划(ERP)和数据库
8.2.1 ERP概述
·基本MRP(制造资源计划)、闭环MRP、ERP
·基本原理、发展趋势
·ERP设计的总体思路(一个中心、两类业务、三条干线)
8.2.2 ERP与数据库
·运行数据库与ERP数据模型之间的关系
·运行数据库与ERP数据库之间的关系
8.2.3 案例分析
8.3 决策支持系统的建立
·决策支持系统的概念
·数据仓库设计
·数据转移技术
·联机分析处理(OLAP)技术
·企业决策支持解决方案
·联机事务处理(OLTP)
B. 求一些"数据仓库和数据挖掘"的案例
与商业智能相关的词汇有例如数据仓库,数据装载(ETL),数据挖掘(Data Mining), 客户关系管理(CRM),SAS,PeopleSoft, SAP等。理清他们之间的关系才能准确制订个人职业发展规划。
到上个世纪九十年代,以数据存储为目的的联机分析处理系统(OLTP)已经发展得相当成熟,关系型数据库的应用已经非常普及,大型企业或部门积累了大量原始数据。这些数据是按照关系型结构存储,在更新,删除,有效存储(少冗余数据)方面表现出色,但在复杂查询方面效率却十分低下。为充分利用已有数据,提供复杂查询,提供更好的决策支持,出现了数据仓库(Data Warehouse)。数据仓库与数据库(这里的数据库指关系型数据库)的区别在于,数据仓库以方便查询(称为主题)为目的,打破关系型数据库理论中标准泛式的约束,将数据库的数据重新组织和整理,为查询,报表,联机分析等提供数据支持。数据仓库建立起来后,定期的数据装载(ETL)成为数据仓库系统一个主要的日常工作。
在数据仓库发展的同时,一项从大量数据中发现隐含知识的技术也在学术领域兴起,这就是数据挖掘。数据挖掘也称为数据库知识发现(Knowledge Discovery in Databases, KDD),就是将高级智能计算技术应用于大量数据中,让计算机在有人或无人指导的情况下从海量数据中发现潜在的,有用的模式(也叫知识)。最初的数据挖掘应用一般需要从组织数据做起,经历算法设计(建模),挖掘,评价,改进等步骤。其中组织整理数据占据大部分时间,大约占到整个数据挖掘项目80%的时间。
数据挖掘是近年来信息爆炸推动下的新兴产物,是从海量数据中提取有用知识的热门技术。传统的交易型系统,九十年代兴起的互连网技术及ERP系统在越来越廉价的存储设备配合下,产生了大量的数据。但与之相配合的数据分析和知识提取技术在相当长一段时间里没有大的进展,使得存储的大量原始数据没有被充分利用,转化成指导生产的“知识”,形成“数据的海洋,知识的荒漠”这样一种奇怪的现象。
数据挖掘(Data Mining)就是从大量数据中发现潜在规律、提取有用知识的方法和技术。因为与数据库密切相关,又称为数据库知识发现(Knowledge Discovery in Databases,KDD)。数据挖掘不但能够学习已有的知识,而且能够发现未知的知识;得到的知识是“显式”的,既能为人所理解,又便于存储和应用,因此一出现就得到各个领域的重视。从80年代末的初露头角到90年代末的广泛应用,以数据挖掘为核心的商业智能(BI)已经成为IT及其它行业中的一个新宠。目前数据挖掘技术在零售业的货篮数据(Basket data)分析、金融风险预测、产品产量、质量分析、分子生物学、基因工程研究、Internet站点访问模式发现以及信息搜索和分类等许多领域得到了成功的应用。如果你访问着名的亚马逊网上书店(www.amazon.com),会发现当你选中一本书后,会出现相关的推荐数目“Customers who bought this book also bought”,这背后就是数据挖掘技术在发挥作用。
数据挖掘的真正普及是建立在数据仓库的成功应用之上。一个设计完善的数据仓库已经将原始数据经过了整理和变换,在此基础上再进行深入挖掘就是顺理成章的事情。数据挖掘渗透到某些行业,产生了一些特定的应用,比如现在经常会听到的客户关系管理(Customer Relationship Management, CRM)。客户关系管理的概念由来已久,但现代的客户关系管理一般指以客户数据为处理对象的一类商业智能应用。通过挖掘客户信息,发现潜在的消费趋势或动向。比如电信公司通过分析用户通话模式(通话时间,时段,通话量等),制订不同的计费方案,满足用户的同时也提高自己的利润。同其它应用一样,客户关系管理发展到一定阶段,会出现相应的系统供应商。据2003年1月的一项调查,CRM市场的领先者从高到低依次为PeopleSoft, Seibel, Oracle, SAP. 微软公司也将加入CRM市场。
从上可以看出,商业智能的应用领域非常广泛。它通常以数据仓库为基础,以数据挖掘为核心,演变出类似CRM这样的应用。一个商业智能系统的开发涉及到很多知识和技能,能够从事商业智能系统开发,那当然是最好不过的。如果没有这样的机会,对于想进入商业智能领域的朋友,应该如何规划自己的职业发展?
首先,根据自己想从事的应用领域,比照该行业商业智能应用所需的知识和经验,找出自己的长处和不足。比如已经有零售业,医药业,制造业的工作经验,或熟悉数据库,编程,人工智能,统计学等。然后补充自己的不足。通过与该领域有经验人士交流,查阅资料,自学或参加相关培训或选修大学课程都是弥补自己不足的手段。当你对将要从事的工作心中有数后,可以开始尝试申请入门级职位。不要编造经历,但要展示你对所申请职位所具备的相关经验(如 business方面的)和知识(会用到的技术,名词,清晰的概念)。在得到入门级职位后,要留心更高级职位用到的技术,软件等。然后利用业余时间继续补充相关知识。一旦内部有更高级职位的空缺,你又能够展示你具备的相关知识,就具有很强的竞争里,因为一般情况下公司都会愿意给内部职员一个尝试的机会的。
如果既没有business背景,又没有数据挖掘方面经验,该如何寻求突破呢?下面的例子不是唯一的道路,有心的朋友应该能得到启发。
一般正规的呼叫中心(这里指呼出服务)的工作方式是这样的:每天分析员根据现阶段的任务,从大量客户数据中筛选出响应可能性高的客户名单,交给业务代表;业务代表根据下达的客户名单做电话推销,对每个电话的结果做相应记录;根据客户实际响应情况,分析员调整筛选算法,选出第二天的客户名单;分析客户响应或不响应的原因。这就是一个典型的客户关系管理在呼叫中心应用的例子。
取得一个呼叫中心客户代表的职位并不难。难的是有没有看到做客户代表除每小时11,12元工资外潜在的价值。通过做客户代表,应该对该中心使用的客户关系管理系统有了应用经验,通过与主管或分析员的交流,应该了解交到你手里的客户名单是怎么分析出来的。心中有数后,就是等待时机的出现了。一个客户筛选算法的改进建议,一个内部分析员职位的空缺,就是展示自己商业智能方面能力的机会。这时的你,已经具备了其他应聘者所不具备的优势:有相关工作背景知识,熟悉应用环境和内部主管,提前知道空缺消息…
规划个人职业发展的时候,在众多考虑因素中有两个是非常重要的:所要投入的技术所处的发展阶段和能否结合已有专业知识。
一种技术从提出到广泛应用(或失败被抛弃)有一定的发展周期,称为科学技术的生命周期(Technological life cycle)。该周期大致分为创新(Innovators),早期成长(Early adopters),分歧点(Chasm),早期流行(Early majority),晚期流行(Late majority)和衰退阶段(Laggards)。对于应用型技术人员来说,早期流行阶段是进入一个新技术领域的最佳时机,因为该技术已经通过分歧点的考验,又处于上升阶段,风险最小,竞争最少,更容易脱颖而出。数据挖掘技术现在就处在这样一个早期流行阶段。
数据挖掘的对象是某一专业领域中积累的数据;挖掘过程是一个人机交互、多次反复的过程;挖掘的结果要应用于该专业。因此数据挖掘的整个过程都离不开应用领域的专业知识。“Business First, technique second”是数据挖掘的特点。因此学习数据挖掘不意味着丢弃原有专业知识和经验。相反,有其它行业背景是从事数据挖掘的一大优势。如有销售,财务,机械,制造,call center等工作经验的,通过学习数据挖掘,可以提升个人职业层次,在不改变原专业的情况下,从原来的事务型角色向分析型角色转变。
我们正处于一个信息爆炸的年代,能够在第一时间内获得或者找到最有价值的信息和资源,则成为企业在激烈地竞争中取胜的重要的因素,所以,商业智能(Business Intelligence)应运而生,而与之相关的技术和工具如Data Warehouse、 Data Mining、SAS则以惊人的速度得到快速、蓬勃的发展。
C. 案例分析:请用中文分析一下案例即可 大概300字左右 要快点 谢谢大家了!
十年前,张先生开始经营他的公司,叫做上海陶瓷公司。主要针对陶器制造和销售。这个公司在上海郊区有一个黏土供应商。张先生通过他自已的店销售产品。他的事业已经很成功。经过一段时间,因为很多旅行者对张先生的产品很感兴趣,所以客户的定单大大的增加,甚至其它商店也来下定单。张先生开始批发业务。他雇佣了很多工人去生产和销售这些陶器。一天,另一个黏土供应商联系了他,说他们能提供更好的黏土,希望能使用他们的黏土。至此,很多供应商联系了张先生。公司便有了很多黏土和运输服务供应商。开始,他把产品,客户和供应商的信息记在本子上,之后他请了一个IT工程师建立了一个简单的数据系统,这个数据库在电脑系统里操作,记录了客户(客户ID,名字,地址等),产品(产品ID,颜色,工序,说明书等)。张先生仍用手工方法操作着原料的购买和运输采购。一年后,数据库建立,公司在事业上取得巨大进展,而且有了更多创新产品。公司也雇佣了更多优秀的管理和生产计划的人才。张先生想扩张他的事业。他联系了想进口公司产品的日本和美国商人,他也想出口商品。
张先生了解了IT信息。他相信信息系统能帮助他的公司。现在他想知道怎么利用IT人员让他的事业发展得更远。他也了解了企业资源计划,因特网和电子商务,但他不确定他的公司是否要使用这些现代化科技和系统。他需要帮助。
一些张先生公司的资料
任务
制作和销售黏土锅和其它与陶器相关的产品给那些正在寻找更好的替代产品的人们。这些产品要有不同的特色和更高的质量。
竞争策略
公司应该以分化代替领导成本,发现它在高层社会的市场(客户正在寻求特殊东西)通过专业的高级产品的分销渠道
这个产品应该由工艺美术师用高质量的黏土手工制作,基于上海传统设计,由专业的运输公司发给分销商。
D. 200分2天内求大学本科数据库课程设计!急!急!
一、课程设计的内容
本课程设计要采用本课程中学习的数据库设计方法,运用其基本思路与主要图表工具完成“企业报刊订阅管理系统”数据库应用系统。完成信息需求分析与数据库的概念设计、逻辑设计、物理设计以及处理功能设计,用SQL Sever的数据库管理系统、JSP开发工具实现该系统,并运行、评价、改进之;在此基础上严格按课程设计教学大纲所附报告提纲撰写课程设计报告。通过本课程设计进一步弄懂数据库系统及其相关的基本概念,理解数据库系统的系统结构、主要特点,掌握数据库设计的原理、方法及其基本过程,初步具备数据库应用设计的能力,初步形成运用数据库应用系统解决管理决策中的实际问题的基本素质。
二、课程设计的要求与数据
要求学生结合所学管理知识,在借鉴课堂教学案例、了解家人或亲友所从事的业务及其流程的基础上,参考有关资料,选择自己了解的一项业务,运用课堂所学数据库系统与数据库设计知识,完成信息需求分析、数据库概念设计、逻辑设计、物理设计,实现完成该业务的数据库应用系统,并运行、评价改进之,最后要写出课程设计报告。
三、课程设计应完成的工作
要求学生按照《数据库应用课程设计》教学大纲完成一个数据库应用系统,并撰写相应的课程设计报告,主要内容包括:
概述:系统的基本任务,主要业务,开发目标
1. 需求分析
2. (数据库)概念(模型)设计
3. (数据库)逻辑(模型)设计
4. 数据库物理设计与数据库保护设计
5. 处理功能设计
6. 数据库应用系统的实现
7. 数据库应用系统运行
四、课程设计进程安排
序号 设计各阶段内容 地点 起止日期
五、应收集的资料及主要参考文献
[1] 王 珊、陈 虹编着,数据库系统原理教程,清华大学出版社,2003.
[1] 金银秋主编,数据库原理与设计,科学出版社,2000.
[2] 李建中 王珊,数据库系统原理,电子工业出版社,1998.
[3] 李大友,数据库原理及应用(第二版),清华大学出版社,2000
发出任务书日期: 年 月 日 指导教师签名:
计划完成日期: 年 月 日 基层教学单位责任人签章:
主管院长签章:
目录
概述 …………………………………………………………………4
1. 需求分析…………………………………………………………4
1.1用户需求……………………………………………………………………4
1.2业务流程分析………………………………………………………………4
1.3信息需求分析………………………………………………………………5
1.4功能需求分析………………………………………………………………6
2. (数据库)概念(模型)设计…………………………………7
3. (数据库)逻辑(模型)设计…………………………………9
3.1 一般逻辑模型设计…………………………………………………………9
3.2 具体逻辑模型设计…………………………………………………………9
4. 数据库物理设计与数据库保护设计…………………………10
4.1设计索引……………………………………………………………………10
4.2 设计表间关系………………………………………………………………10
4.3完整性设计…………………………………………………………………10
5. 处理功能设计…………………………………………………11
6. 数据库应用系统的实现………………………………………11
7. 数据库应用系统运行…………………………………………11
7.1 写出系统操作使用的简要说明……………………………………………11
7.2 系统实施过程………………………………………………………………11
7.3系统使用结果………………………………………………………………22
7.4系统评价……………………………………………………………………31
企业报刊订阅管理系统
概述
随着社会不断的发展,人们的生活水平越来越高,对知识的和对时事的渴求也越来越高,人们希望能够方便快捷地订阅各种报刊杂志。但是各种各样的报刊名目和详细信息以及订阅,为相关企业的管理造成很大的麻烦。因此网上订阅成为不可或缺的一部分。
本系统就是面向一个企业的报刊订阅管理系统。此系统是一种比较智能化的管理系统,它面向所有企业部门的职工用户,但具有比较高的安全性能。它能够实现报刊订阅的基本功能,包括新报刊信息的录入、订阅、查询等操作以及后台数据库的备份和恢复。用户合法注册后必须输入有效密码才能成功进入此系统,可以进行订阅报刊,查询信息,统计信息等操作。对于非法操作,系统有识别和防护措施。
1. 需求分析
1.1 用户需求:
本系统就是面向一个企业的报刊订阅管理系统。此系统是一种比较智能化的管理系统,它面向所有企业部门的职工用户,但具有比较高的安全性能。它能够实现报刊订阅的基本功能,包括新报刊信息的录入、订阅、查询等操作以及后台数据库的备份和恢复。用户合法注册后必须输入有效密码才能成功进入此系统,可以进行订阅报刊,查询信息,统计信息等操作。对于非法操作,系统有识别和防护措施。
订阅信息处理的特点是订阅信息处理量比较大,所管理的信息信息种类繁多,而且订阅单、编辑单的发生量特别大,关联信息多,查询和统计的方式各不相同。因此在管理上实现起来有一定因难。
本系统在设计过程中,为了克服这些困难,需要使程序代码标准化,软件统一化,确保软件的可维护性和实用性;删除不必要的管理冗余,实现管理规范化、科学化;界面友好、简单化,做到实用、方便,尽量满足报刊订阅中员工的需要。
1.2 业务流程分析:
本系统主要面向的用户有系统管理员、读者。下面分角色对该系统的不同操作范围做说明。
本系统主要有以下功能模块:
(1)登陆功能:登陆系统为身份验证登录。分为管理员登录和一般用户登录。分别通过不同的用户名和密码进入报刊订阅管理界面,新的用户需要注册。
(2)录入新信息功能:对于管理员,包括新用户信息和新报刊信息的录入功能,信息一旦提交就存入到后台数据库中;普通用户自行注册进行可以修改个人信息。
(3)订阅功能:用户可以订阅报刊,系统自动计算所需金额,并显示在界面上;管理员不可订阅报刊,必须以用户身份订阅报刊。
(4)查询功能:用户可以查询并显示自己所订阅的信息;管理员可以按人员、报刊、部门分类查询。查询出的信息显示在界面上,并且可以预览和打印出结果。
(5)统计功能:管理员可以按用户、部门、报刊统计报刊的销售情况,并对一些重要的订阅信息进行统计;普通用户可以统计出自己的订阅情况,并且可以预览和打印出结果。
(6)系统维护功能:数据的安全管理,主要是依靠管理员对数据库里的信息进行备份和恢复,数据库备份后,如果出了什么意外可以恢复数据库到当时备份的状态,这提高了系统和数据的安全性,有利于系统的维护。
下图为该系统的业务流程图
1.3 信息需求分析
1.3.1 资料收集:业务流程中用到的相关单据主要是报刊信息还有订单信息
报刊信息表:
报刊代号 46-250 报刊名称 IT时代周刊
出版报社 科技出版社
出版周期 半月刊
每月定价 10.00 元/月
分类编号 1001
报刊介绍 《IT时代周刊》是一本深刻解读信息时代商业变革的杂志。除深度报道信息产业的重大新闻外,还报道金融、汽车、股市、零售等传统行业利用IT提升商业与管理的新闻。《IT时代周刊》以调查见深度;以商业故事见功力。是CEO/CIO/CFO以及政府官员、商业领袖首选刊物。
订单信息表:
订单编号 报刊代号 用户编号 订阅日期 订阅月数 份数 操作
3003 46-205 3206 2008-7-1 订一月 1 取消订阅
3004 26-306 3108 2008-7-8 订半年 2 取消订阅
3005 72-310 3100 2008-7-9 订一年 1 取消订阅
3006 45-214 2541 2008-7-10 订一季 1 取消订阅
1.3.2 事项分析:根据以上资料中标题、表头等中各栏目名,可以得出相关事项,作为数据项;分析这些数据项,找出组合项、导出项、非结构化数据项,确定基本项。检查是否有要补充的基本数据项,是否有要改进的地方,补充改进之,得出所有基本项。
1.4 功能需求分析:
本系统的主要结构功能图如下:
2. (数据库)概念(模型)设计
基本项构思ERD的四条基本原则:
①原则1 (确定实体):能独立存在的事物,例如人、物、事、地、团体、机构、活动、事项等等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。
②原则2 (确定联系):两个或多个实体间的关联与结合,如主管,从属,组成,占有,作用,配合,协同等等,当需要予以关注时,应作为联系。实体间的联系可分为一对一、一对多、多对多等三类,在确定联系时还要确定其类型。
③原则3 (确定属性):实体的属性是实体的本质特征。实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。联系的属性是联系的结果或状态。
④原则4(一事一地):信息分析中得到的基本项要在且仅在实体联系图中的一个地方作为属性出现。
经过上述系统功能分析和需求总结,设计如下面所示的数据项和数据结构。
管理员表(Adminuser):用于存放管理员的数据记录,包括数据项:管理员名、密码。
部门表(Department):用来存放部门的相关记录,包括数据项:部门号,部门名。
用户表(Users):用于存放注册用户的记录,包括数据项:用户账号、密码、真实姓名、身份证号、联系电话,联系地址,部门号(和部门表有关)等。
报刊类别表(NewspaperClass):用于存放初始的报刊类别记录,包括数据项:分类编号、分类名称。
报刊信息表(Newspaper):用于存放报刊记录,包括数据项:报刊代号、报刊名称、出版报社、出版周期、季度报价、内容介绍、分类编号(和报刊类别表有关)等。
订单表(Order):用于存放用户下达的订阅报刊的基本信息,包括数据项:订单编号、用户编号(用户表的主码)、报刊代号(报刊信息表的主码)、订阅份数、订阅月数等。
根据上面的设计规划出来的实体有部门实体、管理员实体、用户实体、报刊类别实体、报刊信息实体和订单实体。
部门实体的E-R图如下图所示: 管理员实体的E-R图如下图所示:
用户实体的E-R图如下图所示: 报刊信息实体的E-R图如下图所示:
订单实体的E-R图如下图所示: 报刊类别实体的E-R图如下图所示:
所有实体之间的的关系E-R图如下图所示:
3. (数据库)逻辑(模型)设计
3.1 一般逻辑模型设计:
关系模型的逻辑结构是一组关系模式的集合。将E-R图转换为关系模型就是要将实体型、实体的属性和实体型之间的联系转换为关系模式。
由ERD导出一般关系模型的四条原则;
①一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果软换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式何明,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
②一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
③一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
④3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系项链呢的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
根据以上原则将E-R图转换成的关系模式如下:
部门(部门号,部门名称)
用户(用户账号,密码,用户真实姓名,联系电话,联系地址,部门号)
管理员(管理员名,密码)
报刊类别(分类编号,分类名称)
报刊(报刊代号,报刊名称,出版报社,出版周期,每月订价,内容介绍,分类编号)
订单(用户编号,报刊代号,订阅份数,订阅月数,订阅总额)
3.2 具体逻辑模型设计:
在SQL Server2000数据库中,首先创建newspaper数据库,然后根据数据库的逻辑结构分析创建表4-1━4-6的6张数据表。在前台访问数据库阶段设置了用户和密码,用户为sa,密码为空。
表4-2 department部门表结构
字段名称 字段类型 允许空 说明
depNumber(主码) Char(10) 否 部门号
depName Char(50) 是 部门名称
表4-3 users用户表结构
字段名称 字段类型 允许空 说明
userNo(主码) Char(10) 否 用户帐号
userName Char(20) 是 真实姓名
passWord Char(10) 否 用户密码
address Char(150) 是 用户联系地址
phone Char(20) 是 用户联系电话
depNumber Char(10) 否 用户所属部门号
表4-3 newspaperClass报刊分类表结构
字段名称 字段类型 允许空 说明
classid(主码) Int(4) 否 报刊分类编号
className Char(30) 是 报刊分类名称
表4-4 newspaper报刊表结构
字段名称 字段类型 允许空 说明
newsNo(主码) Char(10) 否 报刊代号
newsName Char(40) 否 报刊名称
classid Int(4) 否 报刊分类编号
publish Char(150) 是 出版报社
pubPeriod Char(30) 是 出版周期
content Char(4000) 是 内容介绍
price Float(8) 否 每月报价
表-6 book订单表结构
字段名称 字段类型 允许空 说明
userNo(主码) Char(10) 否 用户帐号
newsNo(主码) Char(10) 否 报刊代号
orderAmount Int(4) 否 订阅份数
orderMonth Int(4) 否 订阅月数
totalPrice Float(8) 是 订阅总额
表4-1 adminuser管理员表结构
字段名称 字段类型 允许空 说明
adminUser(主码) Char(20) 否 管理员用户名
adminPass Char(10) 否 管理员密码
4. 数据库物理设计与数据库保护设计
4.1设计索引:我们可以在最经常查询的列上建立索引以提高查询效率。
而在这个系统中,我们经常要按用户账号,按报刊代号,按部门查询,所以,我们可以为这三个表建立索引,建立所以的SQL语句如下,这几个都是字符型
Create unique index userNum on users(userNo)
Create unique index departNum on department(depNumber)
Create unique index newsNum on newspaper(newsNO)
4.2 设计表间关系:
4.3完整性设计列出主要字段完整性的字段名、完整性约束条件;列出记录完整性约束及其约束条件;列出参照完整性表。
主要字段的完整性字段名和参照完整性表可以参照上图各个表之间的关系来看。
比如建立报刊表newspaper时,要求报刊代号在100~99999之间,报刊名称和每月定价不能取空值,报刊类别是报刊类别表的主键,则
Create table user
(userNo char(10) constraint C1 check(newsNo between 100 and 99999),
newsName char(40) constraint C2 not null,
classid int(4) constraint C3 not null,
publish char(150),pubPeriod char(30),content char(4000),
price float(8) not null,
constraint C4 foreign key(classid) references newspaperclass(classid) )
4.4在有多个用户操作时,考虑用户授权与安全性控制。
因为这个报刊订阅系统由多个用户使用,分为管理员和用户,他们拥有不同的权限和安全性控制。所以在权限设置方面,采用管理员和用户分别使用用户名和密码进入他们能使用权限范围里的界面。管理员登陆系统后,可以添加、修改用户和报刊的信息,可以对订单进行查询和统计,并且可以把查询统计的结果进行预览和打印出来,还要对数据库系统进行维护,适时备份数据库,一旦数据库遇到问题,可以恢复到最近备份的状态,减少不必要的损失。
用户登录,用户使用该系统前需要进行注册,他应该是该企业某个部门下面的员工,所以他需要输入他的部门号等信息,注册成功后,登录到系统,可以修改自己的信息还有订阅报刊,但由于权限的限制,他只能查看和统计自己的订单信息。
5. 处理功能设计
5.1 主控模块设计:
使用本系统,首先它会自动弹出“欢迎使用本系统”的欢迎界面,然后跳转到用户身份验证界面,选择管理员的身份进入,有录入(录入报刊信息、录入用户信息),查询,统计(统计用户、统计、报刊订单),系统维护(备份数据库、恢复数据库),注销,退出等菜单可使用,没注册的用户可进入注册界面进行注册,然后返回登录界面登录,进入后有欢迎界面,有订阅、查询、统计、修改、注销、退出等菜单可使用。
6. 数据库应用系统的实现
6.1 数据库及其表结构的建立:按照上面的逻辑分析见表
6.2数据输入:在建好的各个表中输入数据,要符合数据的约束条件
7. 数据库应用系统运行
7.1 写出系统操作使用的简要说明
本系统的运行需要安装PowerBuilder9.0和SQL Server2000软件。操作该系统,首先把备份的数据库还原出来,导入SQL Server中,然后打开该系统,连接上还原出来的数据库,再运行,就可以了。
7.2 系统实施过程
(1)打开PowerBuilder,新建一个工作区,命名为newspaper
(2)新建一个Application,取名newspaper,然后点击工具栏上的DB Profile,新建一个MSS Microsoft SQL Server,填入Profile Name,服务器名,用户名,密码,数据库,如下图,然后输入连接数据库的主要代码:
open(w_welcome)
// Profile newspaper
SQLCA.DBMS = "MSS Microsoft SQL Server"
SQLCA.Database = "newspaper"
SQLCA.ServerName = "CHINA-41CD782EF"
SQLCA.LogId = "sa"
SQLCA.LogPass=""
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
connect;
if sqlca.sqlcode<>0 then
messagebox("错误","数据库连接错误,程序将关闭!",stopsign!)
return
end if
close(w_welcome)
open(w_login)
(3)制作登录页面w_login,在“确定”按钮输入如下:
“注册”按钮代码:open(w_register) //打开用户注册页面
“退出”按钮代码:close(w_login) //退出本系统
(4)制作注册窗口w_register,在“注册”按钮的代码如下:
“取消”按钮代码:close(w_register)
open(w_login)
(5)制作管理员主菜单w_adminview,建管理员主界面w_adminview,将该菜单放到窗口中
(6)制作用户主菜单w_userview,建用户主界面w_userview,将菜单放到窗口中
(7)制作管理员主菜单里的录入报刊信息窗口w_inmagazine,录入用户信息窗口w_inuser,
制作数据窗口dw_magagrid,dw_magafree,dw_userfree,dw_usergrid,在数据窗口调整好外观,添加控件,并设定相应的动作,分别放到这两个窗口中
这两个窗口功能相识,在窗口中输入:
dw_1.settransobject(sqlca)
dw_1.retrieve()
dw_2.settransobject(sqlca)
dw_2.retrieve()
(8)制作管理员主菜单中的查询订阅信息窗口w_searchorder,制作数据窗口dw_booksearch,将其放入窗体中,在窗口中输入代码:
dw_1.settransobject(sqlca)
dw_1.retrieve()
sle_1.setfocus()
在“查询”按钮中输入代码:
“预览”按钮的代码:
“关闭”按钮代码:close(w_searchorder)
数据窗口字段如下:
(9)制作管理员主菜单中的统计用户订单窗口w_statuser,统计部门订单窗口w_statdept,统计报刊订单窗口w_statnews:制作统计数据窗口dw_statnews,dw_statuser,dw_statdept将dw_statnews,dw_statuser,dw_statdept分别放入w_statnews, w_statuser,w_statdept中;以下仅列出按出按部门统计的代码和界面 (按用户、报刊统计类似,略);
按部门统计代码:
窗口代码:
按部门统计数据窗口:
dw_1.settransobject(sqlca)
dw_1.retrieve()
预览键代码:(与上页预览代码相同)
退出:close(parent)
(10)管理员主菜单中的更改登录在w_adminview中的代码
(11)管理员主菜单中的退出系统在w_adminview中的代码
(12)管理员主菜单中的数据库备份窗口w_backup,“开始备份”按钮的代码如下
在“>>”按钮带输入代码:
(13)管理员主菜单中的数据库恢复窗口w_restore,“开始恢复”按钮的代码如下
在“>>”按钮带输入代码:
在“开始恢复”按钮输入代码:
(14)用户主菜单的订阅报刊窗口w_userorder
该系统中定义了一个全局变量gs_userid,其它窗口界面都可以使用该变量,并显示用户名,用户登录后,它会显示“~~~~,欢迎使用本系统!”的欢迎界面。
窗口代码:
dw_1.settransobject(sqlca)
dw_1.retrieve()
sle_1.setfocus()
sle_2.text=gs_userid
“清空”按钮代码:
sle_1.text=""
sle_3.text=""
sle_5.text=""
“退出”按钮代码:
close(w_userorder)
“订阅”按钮代码:
(14)用户主菜单的查询订单窗口w_usersearch,将订单查找dw_booksearch放到窗口里,在窗口中过过滤器筛选中用户自己的订单信息,一打开就可以看到自己的订单信息,可打印和预览结果
窗口代码:
“预览”和“退出”按钮同上
(15)用户主菜单的查询订单窗口w_userstatis,将用户统计dw_statuser放到窗口里,在窗口中过过滤器筛选中用户自己的订单信息,一打开就可以看到自己的订单信息,可打印和预览结果,窗口代码如下:
用户统计dw_statuser数据窗口如下:
“预览”“退出”按钮略
(16)用户主菜单中的修改用户信息窗口w_usermodify,打开会先显示出你的信息,而用户名这一栏是输入不了的,也就是不能修改用户名,窗口代码如下:
“保存”按钮代码如下:
(17)用户主菜单中的更改登录和退出系统的代码和管理员的一样,这里就省略了。
7.3系统使用结果
打开本系统,首先弹出欢迎界面,通常一闪而过,然后到了登录界面,点击“注册”
按确定后,弹出“恭喜,您已注册成功!”的对话框。如果这时刷新服务管理器,打开SQL Server企业管理器,打开该数据库的用户表,就可看到刚才注册的用户已经在表中了
然后返回到登陆页面,输入刚才注册到的用户名和密码maishning,123456
登录后,弹出一个窗口,有供用户使用的菜单,界面显示“~~~~,欢迎使用本系统”
选择“订阅”菜单,在这个订阅界面,用户可以浏览到所有的报刊信息,要订阅报刊时,用户不需输入用户名与密码,只需输入您要订阅的报刊代号(该报刊代号必须是报刊表中存在的),订阅份数(必须是小于8的整数才有效),然后选择需要订阅的月数(一月、一季、半年或一年)然后点击“订阅”按钮
订阅成功后,系统弹出“恭喜!你已成功订阅该报刊,总金额是~~~~”确定后会显示出您所订阅的总额是多少元,按“清空”按钮后可以订阅其它报刊(同样的报刊不可重复订阅)
再订阅其它报刊,然后按“退出”按钮,来到用户主菜单然后选择“查询”菜单,这个数据窗口经过过滤,一打开就直接显示该用户过订阅的订单,可以进行预览和打印。
由于权限的限制,“统计”菜单中的也是只能统计自己订单信息的数据
在“退订”报刊菜单中,可以查看自己的订单,单击“退订”然后“保存”即可完成退订
在“修改”信息菜单中,用户名也是不可输入的文本框,即不可修改用户名,其它信息可以修改,保存后它会自动添加到数据库中
选择菜单上的“注销”,可以用不同的身份进入系统,确定后回到登录界面
以管理员的身份登录,用户名111,密码111,按登录按键,可看到管理员菜单
选择菜单栏中的录入->录入报刊信息,管理员可以大致浏览所有报刊信息,在上面的数据窗口可以查看上一页和下一页的具体内容,并且可以对其进行添加,删除、修改、保存等操作。
录入用户信息页面,基本相似
选择菜单栏中的“查询”->“订单信息”,管理员拥有的权限可以看到所有的订单信息
管理员也可以根据需要分别按部门、按用户、按报刊查询,比如,要查询msishning用户,在文本框中输入关键字,选择单选按钮中的“按部门号”,点击“查询”,结果如下
可对全部订单或查询出来的订单进行预览和打印,方便使用
菜单栏中的“统计”菜单有三个子菜单,管理员可以分别统计用户订单信息、部门订单信息和报刊订单信息, 直接选择就可看到统计结果,比如选择“统计用户订单信息”
可将统计出来的结果进行预览和打印,方便使用,其它两个统计功能相似,略
主菜单中的系统维护->数据库备份,选择备份的位置,然后“开始备份”
主菜单中的系统维护->数据库恢复,选择之前备份的文件,输入路径和数据库名,然后“开始恢复”
7.4系统评价:
E. 这种案例分析怎么画数据流程图,数据库设计以及达到的规范化程度怎么做求解
厉害了2010考试真题。。。
F. 数据库课程设计实例
数据库课程设计
题目:小型超市管理系统
1、项目计划
1.1系统开发目的
(1)大大提高超市的运作效率;
(2)通过全面的信息采集和处理,辅助提高超市的决策水平;
(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本, 提高效益,增强超市扩张力, 提供有效的技术保障。
1.2背景说明
21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。
1.3项目确立
针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。
1.4应用范围
本系统适应于各种小型的超市。
1.5 定义
(1)商品条形码:每种商品具有唯一的条形码,对于某些价格一样的商品,可以使用自定义条形码。
(2)交易清单:包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号。
(3)商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。
(4)促销:在一定时期内,某些商品会按低于原价的促销价格销售。
库存告警提示:当商品的库存数量低于库存报警数量时发出提示。
(5)盘点:计算出库存、销售额、盈利等经营指标。
1.6 参考资料
《数据库原理及设计》 陶宏才编 清华大学出版社
《SQL Server 2000 实用教程》范立南编 清华大学出版社
《SQL Server 2000 编程员指南》李香敏编 北京希望电子出版社
《轻松搞定 SQL Server 2000 程序设计》Rebecca M.Riordan编
《软件工程规范》Watts S.Humphrey编 清华大学出版社
《软件工程理论与实践》 Shari Lawrence Pfleeger编 清华大学出版社
《软件需求分析》 Swapna Kishore编 机械工业出版社
《软件工程思想》 林锐编
2、逻辑分析与详细分析
2.1系统功能
(1)、零售前台(POS)管理系统,本系统必须具有以下功能:
商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。
收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。 会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。
安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。
独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业
(2)、后台管理系统,本系统必须具备以下功能
进货管理: 根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。
销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。
库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。
人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。
(3)系统结构
系统总体结构
模块子系统结构
功能描述:商品录入子系统要求能快速录入商品,因此必须支持条形码扫描。
功能描述:收银业务子系统能计算交易总额,打印交易清单,并根据会员卡打折。
功能描述:进货管理子系统可以根据库存自动指定进货计划,进货时自动等级,以及提供查询和打印计划进货与入库记录的功能。
功能描述:销售管理子系统可以控制某商品是否允许销售,查询每种商品的销售情况并产生年、月、日报表,同时可以生成销售排行榜。
功能描述:库存管理子系统提供查询库存明细记录的基本功能,并根据库存的状态报警,以及自动盘点计算。
功能描述:人员管理子系统提供基本信息登记管理,员工操作权限管理,客户销售权限管理的功能。
2.2、流程图
前台管理系统
顶层DFD图
第0层DFD图
第1层DFD图
2.3、户类型与职能
(1)、员工(营业员):
通过商品条形码扫描输入商品到购买清单
操作软件计算交易总金额
操作软件输出交易清单
对会员进行会员卡扫描以便打折
(2)、:超市经理
操作软件录入商品,供货商,厂商
操作软件制定进货计划
查询打印计划进货与入库记录
操作软件控制商品销售与否
查询打印销售情况
操作软件生成销售排行榜
查询库存明细记录
根据软件发出的库存告警进行入货
操作软件进行盘点计算
(3)、总经理:
基本信息登记管理
员工操作权限管理
客户销售权限管理
2.4、统开发步骤
确定参与者和相关的用况
为每个用况设计过程
建立顺序图,确定每个脚本中对象的协作
创建类,确定脚本中的对象
设计, 编码, 测试, 集成类
为过程编写系统测试案例
运行测试案例,检验系统
2.5、系统环境需求
系统模式
本系统采用C/S模式作为开发模式
硬件环境
服务器端:
高性能的计算机一台,
普通的双绞线作为连接。
客户端: 普通的计算机或者工作站,
普通的双绞线作为连接。
软件环境
服务器端:安装SQL Server 2000的服务器版本,
安装windows 2000服务器版本,
配置了诺顿等必须的防毒软件。
客户端: 安装SQL Server2000的服务器版本,
安装了VB等可视化开发工具软件,
安装windows2000服务器版本。
2.6、系统安全问题
信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制等限制,也隐含许多不安全因素。常见因素有:数据的输入,输出,存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素。因此,为使本系统能够真正安全,可靠,稳定地工作,必须考虑如下问题:为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏。
系统要能重建
系统应该是可审查的
系统应能进行有效控制,抗干扰能力强
系统使用者的使用权限是可识别的
3、基于UML的建模
3.1语义规则
用例模型(use cases view)(用例视图)的基本组成部件是用例(use case)、角色(actor)和系统(system)。用例用于描述系统的功能,也就是从外部用户的角度观察,系统应支持哪些功能,帮助分析人员理解系统的行为,它是对系统功能的宏观描述,一个完整的系统中通常包含若干个用例,每个用例具体说明应完成的功能,代表系统的所有基本功能(集)。角色是与系统进行交互的外部实体,它可以是系统用户,也可以是其它系统或硬件设备,总之,凡是需要与系统交互的任何东西都可以称作角色。系统的边界线以内的区域(即用例的活动区域)则抽象表示系统能够实现的所有基本功能。在一个基本功能(集)已经实现的系统中,系统运转的大致过程是:外部角色先初始化用例,然后用例执行其所代表的功能,执行完后用例便给角色返回一些值,这个值可以是角色需要的来自系统中的任何东西。
UML:是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示;它不是一种可视化的程序设计语言而是一种可视化的建模语言;不是工具或知识库的规格说明而是一种建模语言规格说明是一种表示的标准;不是过程也不是方法但允许任何一种过程和方法使用它。
用例(use case):
参与者(actor):
3.2、UML模型
3.21、系统UML模型
3.22、子系统UML模型
(1)零售前台(POS)管理系统用例视图
(2)后台管理系统用例视图
3.3、系统实现图
4、超市销售系统概念设计文档
(1)、系统ER图
(2)、系统ER图说明
1) 商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(员工)销售;
2) 每个顾客可以购买多种商品,不同商品可由不同顾客购买;
3) 每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。
(3)、视图设计
1) 交易视图(v_Dealing)——用于查询交易情况的视图;
2) 计划进货视图(v_PlanStock)——用于查询进货计划的视图;
3) 销售视图(v_Sale)——用于查询销售明细记录的视图;
4) 入库视图(v_Stock)——用于查询入库情况的视图。
5、逻辑设计文档
(1)、系统关系模型
a) 商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销止日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号,供货商编号)
b) 用户表(用户编号,用户名称,用户密码,用户类型)
c) 会员表(会员编号,会员卡号,累积消费金额,注册日期)
d) 销售表(销售编号,商品编号,销售数量,销售金额,销售日期)
e) 交易表(交易编号,用户名称,交易金额,会员卡号,交易日期)
f) 进货入库表(入库编号,入库商品编号,入库数量,单额,总额,入库日期,计划进货日期,入库状态)
g) 供货商表(供货商编号,供货商名称,供货商地址,供货商电话)
h) 厂商表(厂商编号,厂商名称,厂商地址,厂商电话)
(2)、系统数据库表结构
数据库表索引
表名 中文名
MerchInfo 商品信息表
User 用户表
Menber 会员表
Sale 销售表
Dealing 交易表
Stock 进货入库表
Provide 供货商表
Factory 厂商表
商品信息表(MerchInfo)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
MerchID int 4 P Not null 商品编号
MerchName Varchar 50 Not null 商品名称
MerchPrice Money 4 Not null 价格
MerchNum Int 4 Not null 库存数量
CautionNum Int 4 Not null 库存报警数量
PlanNum Int 4 null 计划进货数
BarCode Varchar 50 Not null 条形码
SalesProPrice Money 4 促销价格
SalesProDateS Datetime 8 促销起日期
SalesProDateE Datetime 8 促销止日期
AllowAbate Int 4 Not null 允许打折
AllowSale Int 4 Not null 允许销售
FactoryID Varchar 10 F Not null 厂商编号
ProvideID Varchar 10 F Not null 供货商编号
用户表(User)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
UserID varchar 10 P Not null 用户编号
UserName Varchar 25 Not null 用户名称
UserPW Varchar 50 Not null 用户密码
UserStyle Int 4 Not null 用户类型
会员表(Menber)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
MemberID Varchar 10 P Not null 会员编号
MemberCard Varchar 20 Not null 会员卡号
TotalCost Money 4 Not null 累积消费金额
RegDate Datetime 8 Not null 注册日期
销售表(Sale)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
SaleID Varchar 10 P Not null 销售编号
MerChID Varchar 10 F Not null 商品编号
SaleDate Datetime 8 Not null 销售日期
SaleNum Int 4 Not null 销售数量
SalePrice Money 4 Not null 销售单额
交易表(Dealing)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
DealingID Varchar 10 P Not null 交易编号
DealingPrice Money 4 Not null 交易金额
DealingDate Money 4 Not null 交易日期
MemberID Varchar 10 会员卡号
UserName Varchar 10 F Not null 用户名称
入库纪录表(Stock)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
StockID Varchar 10 P Not null 入库编号
MerchID Varchar 10 F Not null 入库商品编号
MerchNum Int 4 Not null 入库数量
MerchPrice Money 4 Not null 单额
TotalPrice Money 4 Not null 总额
StockDate Datetime 8 Datetime 入库日期
PlanDate Datetime 8 Datetime 计划进货日期
StockState Int 4 Not null 入库状态
供货商表(Provide)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
ProvideID varchar 10 P Not null 供货商编号
ProvideName Varchar 50 Not null 供货商名称
ProvideAddress Varchar 250 供货商地址
ProvidePhone Varchar 25 供货商电话
厂商表(Provide)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
FactoryID varchar 10 P Not null 厂商编号
FactoryName Varchar 50 Not null 厂商名称
FactoryAddress Varchar 250 厂商地址
FactoryPhone Varchar 25 厂商电话
6、物理设计文档
/*----------创建数据库----------*/
create database SuperMarketdb
on primary
(
name=SuperMarketdb,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.mdf',
size=100MB,
maxsize=200MB,
filegrowth=20MB
)
log on
(
name=SuperMarketlog,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.ldf',
size=60MB,
maxsize=200MB,
filegrowth=20MB
)
go
/*----------创建基本表----------*/
use [SuperMarketdb]
go
/*创建交易表*/
CREATE TABLE Dealing (
DealingID int identity(1,1) Primary key ,
DealingDate datetime NOT NULL ,
DealingPrice money NOT NULL ,
UserName varchar(25) NULL ,
MemberCard varchar(20) NULL
)
GO
/*创建厂商表*/
CREATE TABLE Factory (
FactoryID varchar(10) Primary key ,
FactoryName varchar(50) NOT NULL ,
FactoryAddress varchar(250) NULL ,
FactoryPhone varchar(50) NULL
)
GO
/*创建会员表*/
CREATE TABLE Member (
MemberID varchar(10) Primary key ,
MemberCard varchar(20) NOT NULL ,
TotalCost money NOT NULL ,
RegDate datetime NOT NULL
)
GO
/*创建商品信息表*/
CREATE TABLE MerchInfo (
MerchID int identity(1,1) Primary key ,
MerchName varchar(50) Unique NOT NULL ,
MerchPrice money NOT NULL ,
MerchNum int NOT NULL ,
CautionNum int NOT NULL ,
PlanNum int NOT NULL ,
BarCode varchar(20) Unique NOT NULL ,
SalesProPrice money NULL ,
SalesProDateS datetime NULL ,
SalesProDateE datetime NULL ,
AllowAbate int NOT NULL ,
AllowSale int NOT NULL ,
FactoryID int NOT NULL ,
ProvideID int NOT NULL
)
GO
/*创建供应商表*/
CREATE TABLE Provide (
ProvideID varchar(10) Primary key ,
ProvideName varchar(50) NOT NULL ,
ProvideAddress varchar(250) NULL ,
ProvidePhone varchar(25) NULL
)
GO
/*创建销售表*/
CREATE TABLE Sale (
SaleID int identity(1,1) Primary key ,
MerChID int NOT NULL ,
SaleDate datetime NOT NULL ,
SaleNum int NOT NULL,
SalePrice money NOT NULL
)
GO
/*创建入库表*/
CREATE TABLE Stock (
StockID int identity(1,1) Primary key ,
MerchID int NOT NULL ,
MerchNum int NOT NULL ,
MerchPrice money NULL ,
TotalPrice money NULL ,
PlanDate datetime NULL ,
StockDate datetime NULL,
StockState int NOT NULL
)
GO
/*创建用户表*/
CREATE TABLE User (
UserID varchar(10) Primary key ,
UserName varchar(25) NOT NULL ,
UserPW varchar(50) NOT NULL ,
UserStyle int NOT NULL ,
)
GO
/*----------创建表间约束----------*/
/*商品信息表中厂商编号、供应商编号分别与厂商表、供应商表之间的外键约束*/
ALTER TABLE MerchInfo ADD
CONSTRAINT [FK_MerchInfo_Factory] FOREIGN KEY
(
[FactoryID]
) REFERENCES Factory (
[FactoryID]
),
CONSTRAINT [FK_MerchInfo_Provide] FOREIGN KEY
(
[ProvideID]
) REFERENCES Provide (
[ProvideID]
)
GO
/*销售表中商品编号与商品信息表之间的外键约束*/
ALTER TABLE Sale ADD
CONSTRAINT [FK_Sale_MerchInfo] FOREIGN KEY
(
[MerChID]
) REFERENCES MerchInfo (
[MerchID]
) ON DELETE CASCADE
GO
/*入库表中商品编号与商品信息表之间的外键约束*/
ALTER TABLE Stock ADD
CONSTRAINT [FK_Stock_MerchInfo] FOREIGN KEY
(
[MerchID]
) REFERENCES MerchInfo (
[MerchID]
) ON DELETE CASCADE
GO
/*----------创建索引----------*/
/*在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引*/
CREATE nonclustered INDEX IX_Dealing ON Dealing(DealingID, DealingDate)
GO
/*在商品信息表上建立一个以商品编号为索引项的非聚集索引*/
CREATE nonclustered INDEX IX_MerchInfo ON MerchInfo(MerchID)
GO
/*在销售表上建立一个以销售编号、销售日期为索引项的非聚集索引*/
CREATE nonclustered INDEX IX_Sale ON Sale(SaleID, SaleDate)
GO
/*在入库表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引*/
CREATE nonclustered INDEX IX_Stock ON Stock(StockID, StockDate, MerchID)
GO
/*----------创建视图----------*/
/*创建用于查询交易情况的视图*/
CREATE VIEW v_Dealing
AS
SELECT DealingDate as 交易日期,
UserName as 员工名称,
MemberCard as 会员卡号,
DealingPrice as 交易金额
FROM Dealing
GO
/*创建用于查询进货计划的视图*/
CREATE VIEW v_PlanStock
AS
SELECT Stock.StockID as SID,
MerchInfo.MerchName as 商品名称,
MerchInfo.BarCode as 条形码,
Factory.FactoryName as 厂商,
Provide.ProvideName as 供货商,
Stock.MerchNum as 计划进货数量,
Stock.PlanDate as 计划进货日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID = MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=0
GO
/*创建用于查询销售明细记录的视图*/
CREATE VIEW v_Sale
AS
SELECT MerchInfo.MerchName as 商品名称,
MerchInfo.BarCode as 条形码,
MerchInfo.MerchPrice as 商品价格,
Sale.SalePrice as 销售价格,
Sale.SaleNum as 销售数量,
Sale.SaleDate as 销售日期
FROM Sale INNER JOIN
MerchInfo ON Sale.MerChID = MerchInfo.MerchID
GO
/*创建用于查询入库情况的视图*/
CREATE VIEW v_Stock
AS
SELECT MerchInfo.MerchName as 商品名称,
MerchInfo.BarCode as 条形码,
Factory.FactoryName as 厂商,
Provide.ProvideName as 供货商,
Stock.MerchPrice as 入库价格,
Stock.MerchNum as 入库数量,
Stock.TotalPrice as 入库总额,
Stock.StockDate as 入库日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID = MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=1
GO
7、小结
和传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本, 提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力, 提供有效的技术保障。
由于开发者能力有限,加上时间仓促,本系统难免会出现一些不足之处,例如:
本系统只适合小型超市使用,不能适合中大型超市使用;
超市管理系统涉及范围宽,要解决的问题多,功能复杂,实现困难,但由于限于时间,本系统只能做出其中的一部分功能;
对于以上出现的问题,我们深表歉意,如发现还有其它问题,希望老师批评指正。
G. 数据库课程设计实例
数据库课程设计
题目:小型超市管理系统
1、项目计划
1.1系统开发目的
(1)大大提高超市的运作效率;
(2)通过全面的信息采集和处理,辅助提高超市的决策水平;
(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本, 提高效益,增强超市扩张力, 提供有效的技术保障。
1.2背景说明
21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。
1.3项目确立
针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。
1.4应用范围
本系统适应于各种小型的超市。
1.5 定义
(1)商品条形码:每种商品具有唯一的条形码,对于某些价格一样的商品,可以使用自定义条形码。
(2)交易清单:包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号。
(3)商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。
(4)促销:在一定时期内,某些商品会按低于原价的促销价格销售。
库存告警提示:当商品的库存数量低于库存报警数量时发出提示。
(5)盘点:计算出库存、销售额、盈利等经营指标。
1.6 参考资料
《数据库原理及设计》 陶宏才编 清华大学出版社
《SQL Server 2000 实用教程》范立南编 清华大学出版社
《SQL Server 2000 编程员指南》李香敏编 北京希望电子出版社
《轻松搞定 SQL Server 2000 程序设计》Rebecca M.Riordan编
《软件工程规范》Watts S.Humphrey编 清华大学出版社
《软件工程理论与实践》 Shari Lawrence Pfleeger编 清华大学出版社
《软件需求分析》 Swapna Kishore编 机械工业出版社
《软件工程思想》 林锐编
2、逻辑分析与详细分析
2.1系统功能
(1)、零售前台(POS)管理系统,本系统必须具有以下功能:
商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。
收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。 会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。
安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。
独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业
(2)、后台管理系统,本系统必须具备以下功能
进货管理: 根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。
销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。
库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。
人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。
(3)系统结构
系统总体结构
模块子系统结构
功能描述:商品录入子系统要求能快速录入商品,因此必须支持条形码扫描。
功能描述:收银业务子系统能计算交易总额,打印交易清单,并根据会员卡打折。
功能描述:进货管理子系统可以根据库存自动指定进货计划,进货时自动等级,以及提供查询和打印计划进货与入库记录的功能。
功能描述:销售管理子系统可以控制某商品是否允许销售,查询每种商品的销售情况并产生年、月、日报表,同时可以生成销售排行榜。
功能描述:库存管理子系统提供查询库存明细记录的基本功能,并根据库存的状态报警,以及自动盘点计算。
功能描述:人员管理子系统提供基本信息登记管理,员工操作权限管理,客户销售权限管理的功能。
2.2、流程图
前台管理系统
顶层DFD图
第0层DFD图
第1层DFD图
2.3、户类型与职能
(1)、员工(营业员):
通过商品条形码扫描输入商品到购买清单
操作软件计算交易总金额
操作软件输出交易清单
对会员进行会员卡扫描以便打折
(2)、:超市经理
操作软件录入商品,供货商,厂商
操作软件制定进货计划
查询打印计划进货与入库记录
操作软件控制商品销售与否
查询打印销售情况
操作软件生成销售排行榜
查询库存明细记录
根据软件发出的库存告警进行入货
操作软件进行盘点计算
(3)、总经理:
基本信息登记管理
员工操作权限管理
客户销售权限管理
2.4、统开发步骤
确定参与者和相关的用况
为每个用况设计过程
建立顺序图,确定每个脚本中对象的协作
创建类,确定脚本中的对象
设计, 编码, 测试, 集成类
为过程编写系统测试案例
运行测试案例,检验系统
2.5、系统环境需求
系统模式
本系统采用C/S模式作为开发模式
硬件环境
服务器端:
高性能的计算机一台,
普通的双绞线作为连接。
客户端: 普通的计算机或者工作站,
普通的双绞线作为连接。
软件环境
服务器端:安装SQL Server 2000的服务器版本,
安装windows 2000服务器版本,
配置了诺顿等必须的防毒软件。
客户端: 安装SQL Server2000的服务器版本,
安装了VB等可视化开发工具软件,
安装windows2000服务器版本。
2.6、系统安全问题
信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制等限制,也隐含许多不安全因素。常见因素有:数据的输入,输出,存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素。因此,为使本系统能够真正安全,可靠,稳定地工作,必须考虑如下问题:为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏。
系统要能重建
系统应该是可审查的
系统应能进行有效控制,抗干扰能力强
系统使用者的使用权限是可识别的
3、基于UML的建模
3.1语义规则
用例模型(use cases view)(用例视图)的基本组成部件是用例(use case)、角色(actor)和系统(system)。用例用于描述系统的功能,也就是从外部用户的角度观察,系统应支持哪些功能,帮助分析人员理解系统的行为,它是对系统功能的宏观描述,一个完整的系统中通常包含若干个用例,每个用例具体说明应完成的功能,代表系统的所有基本功能(集)。角色是与系统进行交互的外部实体,它可以是系统用户,也可以是其它系统或硬件设备,总之,凡是需要与系统交互的任何东西都可以称作角色。系统的边界线以内的区域(即用例的活动区域)则抽象表示系统能够实现的所有基本功能。在一个基本功能(集)已经实现的系统中,系统运转的大致过程是:外部角色先初始化用例,然后用例执行其所代表的功能,执行完后用例便给角色返回一些值,这个值可以是角色需要的来自系统中的任何东西。
UML:是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示;它不是一种可视化的程序设计语言而是一种可视化的建模语言;不是工具或知识库的规格说明而是一种建模语言规格说明是一种表示的标准;不是过程也不是方法但允许任何一种过程和方法使用它。
用例(use case):
参与者(actor):
3.2、UML模型
3.21、系统UML模型
3.22、子系统UML模型
(1)零售前台(POS)管理系统用例视图
(2)后台管理系统用例视图
3.3、系统实现图
4、超市销售系统概念设计文档
(1)、系统ER图
(2)、系统ER图说明
1) 商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(员工)销售;
2) 每个顾客可以购买多种商品,不同商品可由不同顾客购买;
3) 每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。
(3)、视图设计
1) 交易视图(v_Dealing)——用于查询交易情况的视图;
2) 计划进货视图(v_PlanStock)——用于查询进货计划的视图;
3) 销售视图(v_Sale)——用于查询销售明细记录的视图;
4) 入库视图(v_Stock)——用于查询入库情况的视图。
5、逻辑设计文档
(1)、系统关系模型
a) 商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销止日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号,供货商编号)
b) 用户表(用户编号,用户名称,用户密码,用户类型)
c) 会员表(会员编号,会员卡号,累积消费金额,注册日期)
d) 销售表(销售编号,商品编号,销售数量,销售金额,销售日期)
e) 交易表(交易编号,用户名称,交易金额,会员卡号,交易日期)
f) 进货入库表(入库编号,入库商品编号,入库数量,单额,总额,入库日期,计划进货日期,入库状态)
g) 供货商表(供货商编号,供货商名称,供货商地址,供货商电话)
h) 厂商表(厂商编号,厂商名称,厂商地址,厂商电话)
(2)、系统数据库表结构
数据库表索引
表名 中文名
MerchInfo 商品信息表
User 用户表
Menber 会员表
Sale 销售表
Dealing 交易表
Stock 进货入库表
Provide 供货商表
Factory 厂商表
商品信息表(MerchInfo)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
MerchID int 4 P Not null 商品编号
MerchName Varchar 50 Not null 商品名称
MerchPrice Money 4 Not null 价格
MerchNum Int 4 Not null 库存数量
CautionNum Int 4 Not null 库存报警数量
PlanNum Int 4 null 计划进货数
BarCode Varchar 50 Not null 条形码
SalesProPrice Money 4 促销价格
SalesProDateS Datetime 8 促销起日期
SalesProDateE Datetime 8 促销止日期
AllowAbate Int 4 Not null 允许打折
AllowSale Int 4 Not null 允许销售
FactoryID Varchar 10 F Not null 厂商编号
ProvideID Varchar 10 F Not null 供货商编号
用户表(User)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
UserID varchar 10 P Not null 用户编号
UserName Varchar 25 Not null 用户名称
UserPW Varchar 50 Not null 用户密码
UserStyle Int 4 Not null 用户类型
会员表(Menber)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
MemberID Varchar 10 P Not null 会员编号
MemberCard Varchar 20 Not null 会员卡号
TotalCost Money 4 Not null 累积消费金额
RegDate Datetime 8 Not null 注册日期
销售表(Sale)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
SaleID Varchar 10 P Not null 销售编号
MerChID Varchar 10 F Not null 商品编号
SaleDate Datetime 8 Not null 销售日期
SaleNum Int 4 Not null 销售数量
SalePrice Money 4 Not null 销售单额
交易表(Dealing)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
DealingID Varchar 10 P Not null 交易编号
DealingPrice Money 4 Not null 交易金额
DealingDate Money 4 Not null 交易日期
MemberID Varchar 10 会员卡号
UserName Varchar 10 F Not null 用户名称
入库纪录表(Stock)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
StockID Varchar 10 P Not null 入库编号
MerchID Varchar 10 F Not null 入库商品编号
MerchNum Int 4 Not null 入库数量
MerchPrice Money 4 Not null 单额
TotalPrice Money 4 Not null 总额
StockDate Datetime 8 Datetime 入库日期
PlanDate Datetime 8 Datetime 计划进货日期
StockState Int 4 Not null 入库状态
供货商表(Provide)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
ProvideID varchar 10 P Not null 供货商编号
ProvideName Varchar 50 Not null 供货商名称
ProvideAddress Varchar 250 供货商地址
ProvidePhone Varchar 25 供货商电话
厂商表(Provide)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名
FactoryID varchar 10 P Not null 厂商编号
FactoryName Varchar 50 Not null 厂商名称
FactoryAddress Varchar 250 厂商地址
FactoryPhone Varchar 25 厂商电话
6、物理设计文档
/*----------创建数据库----------*/
create database SuperMarketdb
on primary
(
name=SuperMarketdb,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.mdf',
size=100MB,
maxsize=200MB,
filegrowth=20MB
)
log on
(
name=SuperMarketlog,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.ldf',
size=60MB,
maxsize=200MB,
filegrowth=20MB
)
go
/*----------创建基本表----------*/
use [SuperMarketdb]
go
/*创建交易表*/
CREATE TABLE Dealing (
DealingID int identity(1,1) Primary key ,
DealingDate datetime NOT NULL ,
DealingPrice money NOT NULL ,
UserName varchar(25) NULL ,
MemberCard varchar(20) NULL
)
GO
/*创建厂商表*/
CREATE TABLE Factory (
FactoryID varchar(10) Primary key ,
FactoryName varchar(50) NOT NULL ,
FactoryAddress varchar(250) NULL ,
FactoryPhone varchar(50) NULL
)
GO
/*创建会员表*/
CREATE TABLE Member (
MemberID varchar(10) Primary key ,
MemberCard varchar(20) NOT NULL ,
TotalCost money NOT NULL ,
RegDate datetime NOT NULL
)
GO
/*创建商品信息表*/
CREATE TABLE MerchInfo (
MerchID int identity(1,1) Primary key ,
MerchName varchar(50) Unique NOT NULL ,
MerchPrice money NOT NULL ,
MerchNum int NOT NULL ,
CautionNum int NOT NULL ,
PlanNum int NOT NULL ,
BarCode varchar(20) Unique NOT NULL ,
SalesProPrice money NULL ,
SalesProDateS datetime NULL ,
SalesProDateE datetime NULL ,
AllowAbate int NOT NULL ,
AllowSale int NOT NULL ,
FactoryID int NOT NULL ,
ProvideID int NOT NULL
)
GO
/*创建供应商表*/
CREATE TABLE Provide (
ProvideID varchar(10) Primary key ,
ProvideName varchar(50) NOT NULL ,
ProvideAddress varchar(250) NULL ,
ProvidePhone varchar(25) NULL
)
GO
/*创建销售表*/
CREATE TABLE Sale (
SaleID int identity(1,1) Primary key ,
MerChID int NOT NULL ,
SaleDate datetime NOT NULL ,
SaleNum int NOT NULL,
SalePrice money NOT NULL
)
GO
/*创建入库表*/
CREATE TABLE Stock (
StockID int identity(1,1) Primary key ,
MerchID int NOT NULL ,
MerchNum int NOT NULL ,
MerchPrice money NULL ,
TotalPrice money NULL ,
PlanDate datetime NULL ,
StockDate datetime NULL,
StockState int NOT NULL
)
GO
/*创建用户表*/
CREATE TABLE User (
UserID varchar(10) Primary key ,
UserName varchar(25) NOT NULL ,
UserPW varchar(50) NOT NULL ,
UserStyle int NOT NULL ,
)
GO
/*----------创建表间约束----------*/
/*商品信息表中厂商编号、供应商编号分别与厂商表、供应商表之间的外键约束*/
ALTER TABLE MerchInfo ADD
CONSTRAINT [FK_MerchInfo_Factory] FOREIGN KEY
(
[FactoryID]
) REFERENCES Factory (
[FactoryID]
),
CONSTRAINT [FK_MerchInfo_Provide] FOREIGN KEY
(
[ProvideID]
) REFERENCES Provide (
[ProvideID]
)
GO
/*销售表中商品编号与商品信息表之间的外键约束*/
ALTER TABLE Sale ADD
CONSTRAINT [FK_Sale_MerchInfo] FOREIGN KEY
(
[MerChID]
) REFERENCES MerchInfo (
[MerchID]
) ON DELETE CASCADE
GO
/*入库表中商品编号与商品信息表之间的外键约束*/
ALTER TABLE Stock ADD
CONSTRAINT [FK_Stock_MerchInfo] FOREIGN KEY
(
[MerchID]
) REFERENCES MerchInfo (
[MerchID]
) ON DELETE CASCADE
GO
/*----------创建索引----------*/
/*在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引*/
CREATE nonclustered INDEX IX_Dealing ON Dealing(DealingID, DealingDate)
GO
/*在商品信息表上建立一个以商品编号为索引项的非聚集索引*/
CREATE nonclustered INDEX IX_MerchInfo ON MerchInfo(MerchID)
GO
/*在销售表上建立一个以销售编号、销售日期为索引项的非聚集索引*/
CREATE nonclustered INDEX IX_Sale ON Sale(SaleID, SaleDate)
GO
/*在入库表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引*/
CREATE nonclustered INDEX IX_Stock ON Stock(StockID, StockDate, MerchID)
GO
/*----------创建视图----------*/
/*创建用于查询交易情况的视图*/
CREATE VIEW v_Dealing
AS
SELECT DealingDate as 交易日期,
UserName as 员工名称,
MemberCard as 会员卡号,
DealingPrice as 交易金额
FROM Dealing
GO
/*创建用于查询进货计划的视图*/
CREATE VIEW v_PlanStock
AS
SELECT Stock.StockID as SID,
MerchInfo.MerchName as 商品名称,
MerchInfo.BarCode as 条形码,
Factory.FactoryName as 厂商,
Provide.ProvideName as 供货商,
Stock.MerchNum as 计划进货数量,
Stock.PlanDate as 计划进货日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID = MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=0
GO
/*创建用于查询销售明细记录的视图*/
CREATE VIEW v_Sale
AS
SELECT MerchInfo.MerchName as 商品名称,
MerchInfo.BarCode as 条形码,
MerchInfo.MerchPrice as 商品价格,
Sale.SalePrice as 销售价格,
Sale.SaleNum as 销售数量,
Sale.SaleDate as 销售日期
FROM Sale INNER JOIN
MerchInfo ON Sale.MerChID = MerchInfo.MerchID
GO
/*创建用于查询入库情况的视图*/
CREATE VIEW v_Stock
AS
SELECT MerchInfo.MerchName as 商品名称,
MerchInfo.BarCode as 条形码,
Factory.FactoryName as 厂商,
Provide.ProvideName as 供货商,
Stock.MerchPrice as 入库价格,
Stock.MerchNum as 入库数量,
Stock.TotalPrice as 入库总额,
Stock.StockDate as 入库日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID = MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=1
GO
7、小结
和传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本, 提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力, 提供有效的技术保障。
由于开发者能力有限,加上时间仓促,本系统难免会出现一些不足之处,例如:
本系统只适合小型超市使用,不能适合中大型超市使用;
超市管理系统涉及范围宽,要解决的问题多,功能复杂,实现困难,但由于限于时间,本系统只能做出其中的一部分功能;
对于以上出现的问题,我们深表歉意,如发现还有其它问题,希望老师批评指正。
请采纳。
H. 数据库案例分析与设计考核题(采纳答案有两种奖励选择:200财富值或者微信50 RMB)
这个要画好多图,50块钱可做不了,200可以考虑
I. 数据库设计案例分析
加到200分吧,我帮你