编程实训总结

更新时间:2024-01-04 05:53:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

编程实训总结

题目名称:商场销售管理系统 班级:__06级软件技术________ 学号:__306111018____________ 姓名:______xxx___________ 同组成员:___xxx________

本人工作所占比例:_______1/3_____________ 难易程度:___难_________________

(很难、难、较难、较易、易、很容易)

一、系统需求分析………………………………………………………………错误!未定义书签。

矚慫润厲钐瘗睞枥庑赖賃軔朧碍鳝绢。

二、系统功能说明以及本人完成功能6 三、数据库设计9 四、编程环境简介10 五、系统设计简介13 六、详细设计简介15

七、系统运行说明1错误!未定义书签。聞創沟燴鐺險爱氇谴净祸測樅锯鳗鲮。 八、实训中遇到的问题以及解决方式17 九、感想18 系统需求分析1 引言 1.1编写目的

在实训过程中模拟实际软件工程开发。以企求将所学的知识和能力应用在本次的实训中。对开发过程中所遇到的问题进行总结与分析,寻求解决方法。对各组员进行有效的分工与合作,发挥各人最优能力做好本次实训。残骛楼諍锩瀨濟溆塹籟婭骒東戇鳖納。 1.2背景

a.商场销售管理系统。 b.本项目的任务提出者:祁伟波 开发者:祁伟波、张义、张聪 用户:中型商场与超市

计算机网络:石家庄邮电职业技术学院东校区四号机房。

c.以Microsoft Windows XP为开发平台。用java为开发语言,SQL serve数据库管理。酽锕极額閉

镇桧猪訣锥顧荭钯詢鳕驄。 1.3用户需求

随着计算机技术的不断发展,对计算机的应用已经完全融入了人们的学习、生活、工作当中。以往的销售管理都是人工手写,人工记录,这样的话信息量很大,不易保管,同时不易发现问题和漏洞。为了节省人力,资源和为管理人员提供明确的决策,研发一个方便,快捷,,完整,安全,规范的销售管理系统,是事在必行的。彈贸摄尔霁毙攬砖卤庑诒尔肤亿鳔简。 1.4定义

后台管理员端、前台收银端 1.5参考资料

a.国家计算机标准和文件模板 b.《实用软件工程》,郑人杰等编著;清华大学出版社。

《数据结构c语言版》严蔚敏 吴伟民编著;清华大学出版社。

1 / 10

2任务概述 2.1目标

本系统有以下几个目标:

(1) 做到本系统操作简单、界面友好、功能齐全和其具有系统扩展性,并且易于维护。 (2) 实现布局合理、美观、大方。 (3) 实现资源共享,操作简单。 (4) 实现数据一致性、安全性。 (5) 实现销售和帐务的管理和查询。 此软件应用于中型商场和超市,使管理上实行计算机化,信息化。有效减少销售人员和仓库人员、管理人员查找货物的时间。謀荞抟箧飆鐸怼类蒋薔點鉍杂篓鳐驱。 2.2用户的特点

本软件的用户是商场的销售和管理人员。此软件简单易用,界面简单明了,无多余功能。使用者不需要较高的计算机知识,只需要能进行基本的培训后就可熟练应用。厦礴恳蹒骈時盡继價骚卺癩龔长鳏檷。 2.3假定和约束 开发期限:4周

工程完成时间:2008年12月 无经费

关于用户权限:(希望建立一个多维的用户权限管理,单位等级、薪金权限、操作权限等)单位权限:上级可以察看下级单位所有人员信息;基层单位只能察看自己所有人员信息。薪金权限:只有经过授权的人员才能察看,其他人员的薪金状况,(与单位等级有一定关系)。操作权限:本单位只能对本单位的员工情况进行操作(输入、修改),同时可以对由其直接任命的人员进行相应操作。(部分未实现)茕桢广鳓鯡选块网羈泪镀齐鈞摟鳎饗。 对输入的数据的格式进行判断,如果不合法则进行提示。 3 需求规定 3.1对功能的规定 3.2对性能的规定 3.2.1精度

a.输入数据:货物编号、扫描码、客户付账的金额。 b.输出数据:找零、每件货物的价格、合计价格。 c.精度要求小数点后两位。 3.2.2时间特性要求 a.响应时间:10ms级

b.更新处理时间:10ms级c.数据的转换和传送时间:10ms级 d.解题时间:10ms级 3.2.3灵活性

说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:

a.操作方式上的变化; b.运行环境的变化;

c.同其他软件的接口的变化; d.精度和有效时限的变化; e.计划的变化或改进。

对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。鹅娅尽損鹌惨歷茏鴛賴縈诘聾諦鳍皑。 2 / 10

3.3输人输出要求

解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。籟丛妈羥为贍偾蛏练淨槠挞曉养鳌顿。 3.4数据管理能力要求

使用SQL server 2000对数据的记录和管理。需要库存管理表、销售管理表、人员管理表,四张表。可能还需要退货管理表。預頌圣鉉儐歲龈讶骅籴買闥龅绌鳆現。 3.5故障处理要求

售货终端无法与数据库连接,对数据库提交的更改无效。立即断开与数据库的连接并对操作人员发出警告。渗釤呛俨匀谔鱉调硯錦鋇絨钞陉鳅陸。 3.6其他专门要求

本系统由各人员输入姓名和密码分权限进入,每个员工都得使用自己的用户名和密码登陆。设定后台的操作员不能操作前台,前台的收银员也不能操作后台。 铙誅卧泻噦圣骋贶頂廡缝勵罴楓鳄烛。 4 运行环境规定 4.1设备

列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括: a.处理器型号及内存容量;

b.外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量; c.输入及输出设备的型号和数量,联机或脱机; d.数据通信设备的型号和数量; e.功能键及其他专用硬件 4.2支持软件

无列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。 4.3 接口

条码扫描仪接口、客户LED显示屏接口。 第二章 系统功能说明 以及本人完成功能2.1 系统功能分析

本系统主要分为管理人员、销售人员、仓库人员三种人员使用。 本系统主要由以下几个功能组成: ·商品入库,用于将进来的商品录入到库里。 ·商品销售,用于售货员销售商品。 ·商品信息管理,现有库存、库存警报、商品报表三部分。(未实现) ·查询,管理员根据自己的需要进行查询,可按商品代号和商品名称查询。 ·口令更改,用于员工更改自己的口令。 ·员工信息维护,用于管理员修改员工的信息。 2.2系统功能模块设计 根据系统功能要求可以将系统分解成几个子系统模块来分别设计应用程序界面, 超市销售管理系统

如图所 2、

示:

入 库 子 系 统 销 售 子 系 统 查 商询 品子 信系 息管入库子系统 统 理 3 / 10 口 令 更 改 子 系 统 员 工 信 息 维 护 子 系 统

填写入库信息信销售子系统 查询所有 前台销售界面 查询仓库产品 管理子系统 按名称查询 顾客清单 2.3本人完成模块

本人主要完成入库子系统模块和数据库的连接,系统的架构。 第三章 数据库设计3.1 数据库需求分析 管管数据库是信息管理的基础。数据库结构直接关系到各种功能的实现和程序运行的效率。 理理进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过员商程的基础,是最困难、最耗费时间的一步。需求分析的结果是否准确地反映了用户的实际要求,工 品 将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。擁締凤袜备訊顎轮烂蔷報赢无貽鳃闳。 根据需求分析的结果,本系统数据库部分共建立了4个表,其中包括: 员工信息表(mk_employee) 字段名称 E_id E_name E_password E_department E_state 字段类型 int nchar nchar nchar bit 字段大小 4 15 10 20 1/8 说明 ID 号 账号(主键) 密码 工作部门 员工可用或不可用状态 说明 ID 号 货物名称 货物价格 货物数量 供应商 联系人 供货商联系方式 入库信息表(mk_rukubiao) 字段名称 d_id d_name d_price d_number d_suplier d_linkman d_tel 字段类型 int nchar int int nchar nchar nchar 字段大小 4 15 4 4 20 15 15 4 / 10

d_employee d_memo d_time 商品信息表(spxx) nchar ntext datatime 10 16 8 经办人员 备注 取得当时系统时间

销售信息表(xsxx)

第四章 编程环境简介4.1编辑环境 Netbeans

NetBeans 由Sun公司在2000年创立,它是开放源运动以及开发人员和客户社区的家园,旨在构建世界级的Java IDE。NetBeans当前可以在Solaris、Windows、Linux和Macintosh OS X平台上进行开发,并在SPL(Sun公用许可)范围内使用。 http://www.netbeans.org 已经获得业界广泛认可,并支持NetBeans扩展IDE模块目录中大约100多个模块。 贓熱俣阃歲匱阊邺镓騷鯛汉鼉匮鲻潰。 NetBeans是一个全功能的开放源码Java IDE,可以帮助开发人员编写、编译、调试和部署Java应用,并将版本控制和XML编辑融入其众多功能之中。NetBeans 可支持Java 2平台标准版(J2SE)应用的创建、采用JSP和Servlet的2层Web应用的创建,以及用于2层Web应用的API及软件的核心组的创建。此外,NetBeans 最新牒还预装了两个Web服务器,即Tomcat和GlassFish,从而免除了繁琐的配置和安装过程。所有这些都为Java开发人员创造了一个可扩展的开放源多平台的Java IDE,以支持他们在各自所选择的环境中从事开发工作,如Solaris、Linux、Windows或Macintosh。坛摶乡囂忏蒌鍥铃氈淚跻馱釣缋鲸鎦。 NetBeans是一个为软件开发者而设计的自由、开放的IDE(集成开发环境),你可以在这里获得许多需要的工具,包括建立桌面应用、企业级应用、WEB开发和JAVA移动应用程序开发、C/C++,甚至Ruby。NetBeans可以非常方便的安装于多种操作系统平台,包括Windows,Linux,Mac OS和Solaris等操作系统蜡變黲癟報伥铉锚鈰赘籜葦繯颓鲷洁。 NetBeans IDE6.1版本提供了几种新功能和一些功能的增强。提供了强大的JavaScript编辑功能,支持使用Sping的WEB框架,并加强了与MySQL的整合,便NetBeans比较方便的使用MySQL数据库,NetBeans 6.1增强了性能,启动速度提升40%。在建立一个大工程时,有较低的内存消

5 / 10

耗和更快的响应速度!買鲷鴯譖昙膚遙闫撷凄届嬌擻歿鲶锖。 4.2 数据库环境 SQL 语言

SQL全称是“结构化查询语言(Structured Query Language)”

SQL(STructured Query Language)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。綾镝鯛駕櫬鹕踪韦辚糴飙钪麦蹣鲵殘。 SQL同时也是数据库脚本文件的扩展名。

SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。 驅踬髏彦浃绥譎饴憂锦諑琼针咙鲲鏵。 结构化查询语言(Structured Query Language)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。如今无论是像Oracle、Sybase、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxporo、PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。猫虿驢绘燈鮒诛髅貺庑献鵬缩职鲱样。 SQL语言包含4个部分:

※ 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。 ※ 数据操作语言(DML),例如:INSERT、UPDATE、DELETE语句。 ※ 数据查询语言,例如:SELECT语句。

※ 数据控制语言,例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。

SQL语言包括三种主要程序设计语言类别的陈述式:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。锹籁饗迳琐筆襖鸥娅薔嗚訝摈馍鲰钵。 4.3 SQL Server 2000

SQL Server 是一个关系数据库管理系统它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本在Windows NT 推出后Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了Microsoft 将SQL Server 移植到Windows NT構氽頑黉碩饨荠龈话骛門戲鷯瀏鲮晝。 系统上专注于开发推广SQL Server 的Windows NT 版本Sybase 则较专注于SQL Server在UNIX 操作系统上的应用在本书中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server輒峄陽檉簖疖網儂號泶蛴镧釃邊鲫釓。 SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。尧侧閆繭絳闕绚勵蜆贅瀝纰縭垦鲩换。 SQL Server 2000共有4个版本,分别是个人版,标准版,企业版和开发版 其主要特点如下:

(1)高性能设计,可充分利用WindowsNT的优势。

(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。 (3)强壮的事务处理功能,采用各种方法保证数据的完整性。

(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQLServer以其内置

6 / 10

的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。识饒鎂錕缢灩筧嚌俨淒侬减攙苏鲨运。 第五章 系统设计简介5.1系统架构

采用现在比较流行的三层构架原理构架系统。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。本系统从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。凍鈹鋨劳臘锴痫婦胫籴铍賄鹗骥鲧戲。 三层结构原理:

所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。恥諤銪灭萦欢煬鞏

鹜錦聰櫻郐燈鲦軫。 三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。鯊腎鑰诎褳鉀沩懼統庫摇饬缗釷鲤怃。 表示层

位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。 业务逻辑层

业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。硕癘鄴颃诌攆檸攜驤蔹鸶胶据实鲣赢。 业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。阌擻輳嬪諫迁择楨秘騖輛埙鵜蔹鲢幟。 数据层

数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。氬嚕躑竄贸恳彈瀘颔澩纷釓鄧鳌鲡貼。 简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。釷鹆資贏車贖孙滅獅赘慶獷緞瑋鲟将。 优点:

1、开发人员可以只关注整个结构中的其中某一层;

2、可以很容易的用新的实现来替换原有层次的实现;

7 / 10

3、可以降低层与层之间的依赖; 4、有利于标准化; 5、利于各层逻辑的复用。 5.2总体设计

登 陆 分 权 限 物资管理员 总 管 理 员 销售管理员 密码匹配 密码错误,操作失败 按权限跳转 主界面 物资管理界面 销售管理界面 怂阐譜鯪迳導嘯畫長凉馴鸨撟鉍鲞谣。 第六章 详细设计简介6.1登录界面

用户登录界面很简单,首先在用户输入框输入用户名,再对应输入密码,程序将与用户数据库连

8 / 10

接,确认用户是其中一员,并输入了正确的密码,然后进入主界面,否则警告出错,让用户重新输入。谚辞調担鈧谄动禪泻類谨觋鸾帧鲜奧。 6.2主界面

用户登录后进入自己权限的主界面。 6.3入库子系统

商品入库是将购进的商品进行入库。在入库时由入库员将商品信息输入到入库信息表中。增加这种商品的一系列信息,如商品代号、商品名称、进价、商品数量、供应商信息、添加备注等嘰觐詿缧铴嗫偽純铪锩癱恳迹见鲛請。 6.4销售子系统

商品销售是将顾客购买的商品销售出去。在销售时,由销售员将顾客购买的商品代号输入到销售窗口中,系统自动根据商品代号把这种商品的相应信息反馈到数据窗口中,每一种商品都有一个小计,最后算出总计。熒绐譏钲鏌觶鷹緇機库圆鍰缄鹗鲚圆。 6.5查询子系统(未实现)

查询功能实现管理员查询所需的商品信息。在商品信息界面的快速查询部分,管理员可以根据商品编号、商品名称、供应商编号、商品分类来查询相应的商品信息。鶼渍螻偉阅劍鲰腎邏蘞阕簣择睜鲔诌。 6.6管理子系统

员工信息维护功能实现了管理员修改员工的信息。这也要求先用管理员用户名和口令登录,点击“添加员工按钮”后,数据窗口会自动插入新的一行,管理员在数据窗口中输入员工的用户名和口令后按“保存”就完成增加员工信息的功能了。同样,要删除一个员工的信息只要先选中这个员工的信息,按“删除”后,这个员工的信息就在数据窗口中删除了。纣忧蔣氳頑莶驅藥悯骛覲僨鴛鋅鲒嗚。 6.7帮助子系统(未实现)

任何一个系统都会有帮助系统,它用来解决用户的一些疑问,如用户对系统的功能及一些功能的使用方面可能有疑问,这时,可参考帮助系统提供的信息,能有效的给用户提供帮助。本系统的帮助系统对每一个子系统的功能及使用方法都有介绍,如颖刍莖蛺饽亿顿裊赔泷涨负這恻鲑觶。 第九章 感想

30个学时的设计生活很快就要过去,回忆这一段时间,我的感触很深,由于是第一次开发一个很实用的管理系统,而且是用一种以前我们不太了解的语言,虽然以前学过,但涉及不多。所以开发起来有一定的难度,随着开发的进程,一个个问题都被克服了,这使我深深的体会到了学习的乐趣和运用的艰辛。濫驂膽閉驟羥闈詔寢賻減栖綜诉鲐卺。 首先,这次设计我觉得最大的收获是软件设计概念思想的建立。以前我们做一些小软件的开发或课程设计时,常常是没有明确的思路,就开始编写代码,当遇到问题是才发现是由于刚开始考虑的不够周到所致。通过这次设计我发现,软件设计前工作准备的重要性。銚銻縵哜鳗鸿锓謎諏涼鏗穎報

嚴鲍蝇。 在做开题报告的过程中,我们通过主动的系统调查、系统分析,完成系统的结构设计,数据库规划等工作,这对我们将要开发的系统有了更深的了解,为下一步系统开发做好了准备。这使我们建立了软件设计的正确概念,为今后继续开发系统奠定了基础。挤貼綬电麥结鈺贖哓类芈罷鸨竇鲋鑿。 这次我做的课题是《商品管理销售系统》,我采用netbeans6.1开发工具来实现。由于有了前面的准备工作,这次我对系统的开发有了明确的思路。可是设计的过程并没有原来想象的那么轻松。有时候要实现一个小的功能,我就要调试好长时间甚至几天。最典型的就是在设计本管理系统的数据库之前没有经过详细的考虑,所以一开始建立的数据库做到后来时就觉得有很多有合适,于是只能重新设计数据库,然后与之相关联的数据窗口也要改变,浪费了很多宝贵的时间。后来指导老师给我们提供了好多宝贵的建议,再加上同学的帮助和我自身的努力下,终于把数据库设计好了。这使我们感受到了程序调试成功后的成就感和无比的喜悦感。赔荊紳谘侖驟辽輩袜錈極嚕辫鏢鲈蕆。 设计过程中遇到的艰辛让我感觉到以前学习的不足。通过问题的交流我也感觉到,讨论会是问题

9 / 10

清晰化,更容易发现问题,解决问题,也积累了编程经验。同时我还认识到,无论什么方面的编程,都要经过不断的实践积累,而不是一蹴而就的。塤礙籟馐决穩賽釙冊庫麩适绲挝鲅偬。 三年的学习不算很短,也不算很长。计算机知识的运用也不止一次了,但我觉得这次毕业设计才是一种真正的实战。从开始到结束,老师只能在软件开发的整体设计和思路上给我们指导,但如何用语言把该软件给开发出来,要完全由自己去完成,这对于我们来说是一种锻炼更是一种挑战,这次实训为我们今后的开发工作奠定了基础,积累了经验。裊樣祕廬廂颤谚鍘羋蔺递灿扰谂鲂茎。 10 / 10

本文来源:https://www.bwwdw.com/article/sqbx.html

Top