汽车美容管理系统

更新时间:2024-07-12 03:33:01 阅读量: 综合文库 文档下载

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

成绩评定表

学生姓名 专业 计算机科学与技术 评 语 组长签字: 班级学号 课程设计题目 汽车美容管理系统 成绩 日期

2014 年11月18日

课程设计任务书

学 院 学生姓名 课程设计题目 实践教学要求与任务: 本系统在VS2010软件下使用C#语言和SQL Server数据库开发的。本系统包括客户管理、车辆管理、项目管理、收费管理四大模块。四大模块又包含各自的子模块。客户管理包括新增客户、查询信息、修改信息、删除客户;车辆管理包括新增车辆、查询信息、修改信息、删除车辆;项目管理包括新增项目、查询信息、信息修改、删除项目;收费管理包括登记收费、财务统计。 信息院 专 业 班级学号 计算机科学与技术 汽车美容管理系统 工作计划与进度安排: 按照2010专业方向综合实训(软件方向)教学大纲的要求,本专业方向综合实训时间安排在教学第11周、第12教学周时间内完成汽车美容管理系统的软件开发。 1、查阅资料:《数据库系统概论》《软件工程》,《.NET大局观》等书籍3本。 2、开发与设计:针对C#语言环境,并进行初步设计、整体功能设计、编码。 3、调试和软件功能的测试。 4、答辩与论文撰写。 时间安排如下: 第1周 查找资料、完成初步设计、代码设计与初步调试; 第2周 调试、测试、验收、课程设计论文撰写、答辩。 指导教师: 专业负责人: 学院教学副院长: 2014年10月31日 2014 年10月31日 2014年10月31日

目录

一、题目概述.......................................................................... 2

1.1 系统内容概述................................................................. 2 1.2 系统要求概述................................................................. 2 1.3 系统性能要求................................................................. 2

1.3.1 系统灵活性.............................................................. 2 1.3.2 输入输出要求............................................................ 2

二、需求分析.......................................................................... 3

2.1 系统功能需求................................................................. 3 2.2可行性分析 .................................................................... 3

2.2.1 技术可行性.............................................................. 3 2.2.2 经济可行性.............................................................. 4 2.2.3 操作可行性.............................................................. 4

三、概要设计.......................................................................... 4

3.1系统数据库设计 ................................................................ 4

3.1.1 数据库概念结构设计(E-R图) .............................................. 5 3.1.2 数据库表设计............................................................ 6 3.2 系统功能分析................................................................. 7 四、详细设计.......................................................................... 8

4.1 登陆模块...................................................................... 8 4.2主菜单模块 .................................................................... 9 4.3 收费管理模块................................................................. 12

4.3.1 财务统计模块........................................................... 12 4.2.2 登记收费模块........................................................... 14 4.4客户管理模块 ................................................................. 15

4.4.1 客户信息模块........................................................... 15 4.4.2 新增客户模块........................................................... 16 4.4.3客户修改模块 ........................................................... 17 4.4.4客户删除模块 ........................................................... 18 4.5 车辆管理模块................................................................. 19

4.5.1 车辆信息模块........................................................... 19 4.5.2新增车辆模块 ........................................................... 20 4.5.3车辆修改模块 ........................................................... 21 4.5.4车辆删除模块 ........................................................... 22 4.6 项目管理模块................................................................. 23

4.6.1项目信息模块 ........................................................... 23 4.6.2新增项目模块 ........................................................... 24 4.6.3项目修改模块 ........................................................... 25 4.6.4项目删除模块 ........................................................... 26

五、软件测试......................................................................... 27

5.1 程序的测试方法.............................................................. 27 5.2 软件的可用性测试............................................................ 29 六、总结............................................................................. 30 参考文献............................................................................. 30

1

一、题目概述

1.1 系统内容概述

随着社会的高速发展,科学技术的迅速提高,汽车的使用越来越普及,同时汽车美容店等相应的产业也日益增多,规模逐渐增大,传统的手工操作业务流程和资料管理已经很难满足当前汽车美容店的业务需求。 为改善企业中因手工统计车辆、材料、财务等各类信息的烦琐性以及当前汽车美容店业务流程管理难度大、头绪多、耗费大量人力和财力的问题,在节省企业工作时间的同时提高企业的工作效率,达到提升企业效益的目的,一套完整的计算机化的汽车美容店业务管理的解决方案应运而生[1]。 该系统的具体任务就是设计一个汽车美容店的业务流程和资料信息管理系统,由计算机来代替人工执行一系列诸如车辆登记、维修估价、结算汇总等操作。这样就使办公人员可以轻松地完成汽车美容业务管理的工作。

1.2 系统要求概述

某汽车美容店管理系统 实现美容项目及价格信息管理; 实现客户信息、客户车辆信息管理; 实现美容登记和收费管理; 创建存储过程统计指定月份各种美容项目的美容次数; 创建存储过程统计指定年份各客户的美容次数; 创建存储过程统计指定月份美容店的收入情况; 创建规则限制客户的性别必须输入‘男’或‘女’; 创建表间关系。

1.3 系统性能要求

对系统性能的要求包括对系统时间规定,灵活性,输入输出,数据管理能力,故障处理要求和运行环境规定等的要求。

1.3.1 系统灵活性

1、操作方式通俗易懂、容易上手,界面美观、大方,将窗体程序转为控制台应用程序,符合用户操作习惯。

4、一个模块的改变不会影响其他的模块。 1.3.2 输入输出要求

能够对不完整的数据进行校验,保证数据的完整性和一致性,对特殊字符的过滤功能,输出能满足用户的需求。

2

二、需求分析

系统需求分析是指理解用户的需求,就软件的功能和客户达成一致,需求分析的任务就是解决“做什么”的问题,也就是要从各个方面理解用户的各项要求,并能够准确地表达所接受的用户需求,具有决策性、方向性和策略性的作用。

2.1 系统功能需求

1、美容收费:对美容消费进行登记,能够实时显示收费信息。

2、财务统计:能够统计指定月份各种美容项目的美容次数; 能够统计指定年份各客户的美容次数; 能够统计指定月份美容店的收入情况;

3、车辆管理:对车辆信息进行查询、新增、修改、删除等操作。 3、客户管理:对客户信息进行查询、新增、修改、删除等操作。 3、项目管理:对项目信息进行查询、新增、修改、删除等操作。

2.2可行性分析

可行性分析是根据初步调查结果做出系统开发是否可行的结论的过程。每一个项目工程的确立都需要进行项目的可行性分析。该分析保证正确的选择投资项目所必要工作,这对项目的审批程序也是必不可少的。信息系统开发项目是一项非常复杂的高科技系统工程,所以系统的可行性分析是必不可少的,可行性研究的目的也就是用最小的代价在尽可能短的时间内确定问题是否可以很好的解决、是否值得去解决。根据调查分析,系统设计方案有以下三个可行性。 2.2.1 技术可行性

传统的应用程序是通过事先与数据库确立连接,在整个程序的运行过程通过维护数据库的连接方式而实现。

首先现在的系统开发方法已经发展的相对成熟,结构化和面向的对象,都已经广泛的使用,这让我们开发系统的系统调查、系统分析、系统设计和系统实施更加的规范,系统完成的更加的科学。开发系统所需要的硬件技术、软件开发技术和网络技术发展的相当的成熟。

其次汽车美容管理系统有如下的特点:一是数据量相对较大;二是数据的处理相对集中,内部数据的处理量大,输出量大。三是需要不断进行更新。基于以上三个特点,现有技术都可以达到要求的目标。在单机环境下组建管理信息系统,该系统的开发工作可以采用vs做前台,SQL Server做后台数据库来进行。前台的可视化程度非常高,人机交互能力也比较强,应用起来也是十分的方便,后台的数据库功能十分强大,能很好的支持系统的运行。

3

2.2.2 经济可行性

开发软件的投资费用主要包括:包括计算机设备和软件配置等的设备费用;包含开发人员、运行人员和维护人员的人员费用;包括文档资料,纸张需要等的材料费用;和一些如设备保养的其他费用。现在的汽车美容管理系统有自己的运营费用,而且一般美容管理在原有的计算机硬件基础上不必再投入;只需要在软件开发上面投入少许经费就可以了,这方面的美容公司应该会愿意承担并且完全可以支付的起。

同时,系统管理人员熟知美容管理的流程。所以,花费在人员培训上的费用是不会太高的。开发的系统是一个性能稳定,易于维护的系统,后期维护不会消耗大量的人力和物力,这样系统在人员方面的投资也可以支付。

2.2.3 操作可行性

本系统要求运行环境不高,可以在Windows7操作系统平台上运行,数据库服务器为SQL Server2008,开发工具采用的VS 2010。界面美观、易懂、容易操作、功能齐全,方便了对成绩的管理。综上所述,从经济可行性、技术可行性、操作可行性上来说,系统开发是完全可行的。

三、概要设计

系统开发工作经过需求分析阶段,已完全弄清了用户的需要,较好的解决了“做什么”的问题,我们建立了系统逻辑模型。到现在,本系统的开发阶段就进入到了概要设计阶段,我们开始动手解决“怎么做”的问题。也就是根据我们需求分析阶段确定的系统的逻辑模型,完成对系统物理模型设计的问题。

我们在概要设计阶段的指导思想就是结构化指导思想,是指用一组标准的规则与图表工具来确定系统该有什么模块,怎么连接,这样才能形成新系统的结构,然后再继续进行诸如输入、输出、对话等设计,为整个系统的实施做好铺垫。

3.1系统数据库设计

数据库设计是管理信息系统的重要组成部分。数据库设计是对一个既定的环境,进行符合应用语义的逻辑设计,并且提供了一个确定存储结构和物理设计,在有效存取数据和数据模型的情况下实现系统目标。建立了良好的文件组织形式和数据库结构,使系统准确、快速的获得所需信息是评价系统的主要指标。因此,是管理信息系统的重要组成部分。数据库设计的核心问题就是设计出较好的数据模型。在现在的数据库管理系统中有网状模型、层次模型和关系模型三种模型。这里的关系模型具有相对较高的数据独立性,使用起来也非常方便。目前,微机数据库多采用关系型数据库模型。我们采用SQL Server数据库。这个数据库对行增加、删除、编辑和统计、显示和应答都极为方便。其中的排序和索引功能,对数据快速定位、查询提供了有利条件。

4

3.1.1 数据库概念结构设计(E-R图)

概念模型的表示方法很多,其中最为著名最为常用的是E-R图。简单的说,E-R图用来分析数据关系的。下面具体列出高校学生选课管理系统主要的实体图及E-R图。

实体间E-R图如图3.1所示。

日期 ID N 项目 M 美容 N ID 汽车 品牌 名称 价格 1 ID 拥有 客户 住址 姓名 年龄 联系方式 性别

图3.1 E-R图

5

3.1.2 数据库表设计

根据给出的E-R图可以对系统所需要的数据库进行设计,数据库中包含多个表,以下列出主要的数据表及各个表中的字段详细情况。

客户信息表,用于客户信息的储存与管理,如表3.1所示。

表3.1客户信息表

字段名 ID 姓名 年龄 性别 联系方式 地址

数据类型

nchar nchar Int nchar nchar nchar

长度 20 50 4 5 20 50

约束 Primary Key NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL

车辆信息表,用于车辆信息的储存与管理,如表3.2所示:

表3.2车辆信息表

字段名 ID 车主ID 品牌

数据类型

nchar nchar nchar

长度 20 20 50

约束 Primary Key NOT NULL NOT NULL

项目信息表,用于项目信息的储存与管理,如表3.3所示:

表3.3学生信息表

字段名 名称 价格

数据类型

nchar Int

长度 50 4

约束 Primary Key NOT NULL

记录信息表,用于管理收费信息。具体字段如表3.4所示。

表3.4记录信息表

字段名 ID 汽车ID 美容项目 日期

数据类型

nchar nchar nchar Date

长度 20 20 50 13

约束 Primary Key NOT NULL NOT NULL NOT NULL

6

3.2 系统功能分析

汽车美容管理系统包括客户管理、车辆管理、项目管理,收费管理四大模块。四大模块又包含各自的子模

块。客户管理包括新增客户、查询信息、修改信息、删除客户;车辆管理包括新增车辆、查询信息、修改信息、删除车辆;项目管理包括新增项目、查询信息、信息修改、删除项目;收费管理包括登记收费、财务统计。

综上所述,汽车美容管理系统功能模块图如图3.2所示。

汽车美容管理系统 客户管理车辆管理项目管理收费管理 客 户管 理

新增客户删除客户修改客户项目管理新增项目删除项目修改项目财务统计登记收费 车辆管理新增车辆删除车辆修改车辆 图3.2系统功能模块图

7

四、详细设计

汽车美容管理系统采用C#编写,利用SQLServer数据库存储信息。按实际需求及功能模块编写,按如下顺序详细介绍。

4.1 登陆模块

登陆界面实现管理员登录。程序运行结果如图4.1所示。

图4.1登陆模块

主要的功能代码如下:

private void button1_Click(object sender, EventArgs e) {

if ( \请输入用户名!\ else if ( \请输入密码!\ else if (\ {

this.Hide();

主菜单 from = new 主菜单(); from.ShowDialog(); this.Close(); } else {

MessageBox.Show(\账号或密码错误,请重新输入!\\提示信息\MessageBoxButtons.OK,

MessageBoxIcon.Information);

textBox2.Text = \ textBox1.Text = \ } }

8

4.2主菜单模块

主菜单界面祈祷一个菜单的作用。程序运行结果如图4.2所示。

图4.2主菜单模块

主要的功能代码如下:

namespace WindowsFormsApplication1 {

public partial class 主菜单 : Form {

public 主菜单() {

InitializeComponent(); }

private void 客户信息ToolStripMenuItem_Click(object sender, EventArgs e) {

客户管理 from = new 客户管理(); from.ShowDialog(); this.Show(); }

private void 新增客户ToolStripMenuItem_Click(object sender, EventArgs e) {

9

新增客户 from = new 新增客户(); from.ShowDialog(); this.Show(); }

private void 信息修改ToolStripMenuItem_Click(object sender, EventArgs e) {

客户修改 from = new 客户修改(); from.ShowDialog(); this.Show(); }

private void 删除客户ToolStripMenuItem_Click(object sender, EventArgs e) {

客户删除 from = new 客户删除(); from.ShowDialog(); this.Show(); }

private void 车辆信息ToolStripMenuItem_Click(object sender, EventArgs e) {

车辆管理 from = new 车辆管理(); from.ShowDialog(); this.Show(); }

private void 新增车辆ToolStripMenuItem_Click(object sender, EventArgs e) {

新增车辆 from = new 新增车辆(); from.ShowDialog(); this.Show(); }

private void 信息修改ToolStripMenuItem1_Click(object sender, EventArgs e) {

车辆修改 from = new 车辆修改(); from.ShowDialog(); this.Show(); }

private void 删除车辆ToolStripMenuItem_Click(object sender, EventArgs e) {

车辆删除 from = new 车辆删除(); from.ShowDialog(); this.Show();

10

}

private void 项目信息ToolStripMenuItem_Click(object sender, EventArgs e) {

项目管理 from = new 项目管理(); from.ShowDialog(); this.Show(); }

private void 新增项目ToolStripMenuItem_Click(object sender, EventArgs e) {

新增项目 from = new 新增项目(); from.ShowDialog(); this.Show(); }

private void 信息修改ToolStripMenuItem2_Click(object sender, EventArgs e) {

项目修改 from = new 项目修改(); from.ShowDialog(); this.Show(); }

private void 删除项目ToolStripMenuItem_Click(object sender, EventArgs e) {

项目删除 from = new 项目删除(); from.ShowDialog(); this.Show(); }

private void 财务信息ToolStripMenuItem_Click(object sender, EventArgs e) {

财务管理 from=new 财务管理 (); from.ShowDialog(); this.Show(); }

private void 登记收费ToolStripMenuItem_Click(object sender, EventArgs e) {

登记收费 from = new 登记收费 (); from.ShowDialog(); this.Show(); } } }

11

4.3 收费管理模块

4.3.1 财务统计模块

该界面主要用于显示财务统计信息。运行图如图4.3所示。

图4.3财务统计模块

主要功能代码如下:

private void button1_Click(object sender, EventArgs e) {

if (textBox1.Text == \请输入月份!\ else { try

{ string strconn, strsql;

strconn = \

Security=True\

strsql = \ SqlConnection myconn = new SqlConnection(strconn); SqlDataAdapter myda = new SqlDataAdapter(strsql, myconn); DataSet myds = new DataSet(); myda.Fill(myds, \

dataGridView1.DataSource = myds.Tables[\ }

catch (Exception ex) {

MessageBox.Show(\显示错误!\ } } }

12

private void button2_Click(object sender, EventArgs e) {

if (textBox2.Text == \请输入月份!\ else { try {

string strconn, strsql;

strconn = \Security=True\

strsql = \ SqlConnection myconn = new SqlConnection(strconn); SqlDataAdapter myda = new SqlDataAdapter(strsql, myconn); DataSet myds = new DataSet(); myda.Fill(myds, \

dataGridView1.DataSource = myds.Tables[\ }

catch (Exception ex) {

MessageBox.Show(\显示错误!\ } } }

private void button3_Click(object sender, EventArgs e) {

if (textBox3.Text == \请输入年份!\ else { try

{ string strconn, strsql;

strconn = \Security=True\

strsql = \ SqlConnection myconn = new SqlConnection(strconn); SqlDataAdapter myda = new SqlDataAdapter(strsql, myconn); DataSet myds = new DataSet(); myda.Fill(myds, \

dataGridView1.DataSource = myds.Tables[\ }

catch (Exception ex) {

MessageBox.Show(\显示错误!\ } } }

13

4.2.2 登记收费模块

登记收费界面实现收费管理。程序运行结果如图4.4所示。

图4.4登记收费模块

主要的功能代码如下:

private void button1_Click(object sender, EventArgs e) {

if (textBox1.Text == \请输入ID!\

else if (textBox2.Text == \请输入车辆ID!\ else if (textBox3.Text == \请输入项目!\ else if (textBox4.Text == \请输入日期!\ else { try

{ string strconn = \Security=True\

string sql2 = \into record values('\+ textBox1.Text + \+ textBox2.Text + \ connection.Open();

SqlCommand command2 = new SqlCommand(sql2, connection); command2.ExecuteNonQuery(); connection.Close(); showlist();

textBox1.Text = textBox2.Text = textBox3.Text = textBox4.Text=\ }

catch (Exception ex) {

MessageBox.Show(\登记错误!\ } } }

14

4.4客户管理模块

4.4.1 客户信息模块

客户信息界面实现客户信息查询功能。程序运行结果如图4.5所示。

图4.5客户信息模块

主要的功能代码如下:

private void button1_Click(object sender, EventArgs e) {

string cha= \

if (comboBox1.Text == \姓名\ if (comboBox1.Text == \性别\ if (comboBox1.Text == \年龄\ if (comboBox1.Text == \联系方式\ if (comboBox1.Text == \地址\ string strconn, strsql;

strconn = \ strsql = \姓名,sex as 性别,age as 年龄 ,tel as 联系方式, addr as 地址 from customer where \ SqlConnection myconn = new SqlConnection(strconn); SqlDataAdapter myda = new SqlDataAdapter(strsql, myconn); DataSet myds = new DataSet(); myda.Fill(myds, \

dataGridView1.DataSource = myds.Tables[\ }

15

4.4.2 新增客户模块

登陆界面实现管理员登录。程序运行结果如图4.6所示。

图4.6新增客户模块

主要的功能代码如下:

private void button1_Click(object sender, EventArgs e) {

if (textBox1.Text == \请输入ID!\ else if (textBox2.Text == \请输入姓名!\ else if (textBox3.Text == \请输入性别!\ else if (textBox4.Text == \请输入年龄!\ else if (textBox5.Text == \请输入联系方式!\ else if (textBox6.Text == \请输入地址!\ else { try {

string strconn = \Security=True\

SqlConnection connection = new SqlConnection(strconn );

string sql2 = \textBox1.Text + \textBox5.Text + \ connection.Open();

SqlCommand command2 = new SqlCommand(sql2, connection); command2.ExecuteNonQuery(); connection.Close(); showlist();

16

textBox1.Text = textBox2.Text = textBox3.Text = textBox4.Text = textBox5.Text = textBox6.Text = \ }

catch (Exception ex) {

MessageBox.Show(\添加错误!\ } } }

4.4.3客户修改模块

登陆界面实现管理员登录。程序运行结果如图4.7所示。

图4.7客户修改模块

主要的功能代码如下:

private void button1_Click(object sender, EventArgs e) {

if (textBox1.Text == \请输入ID!\

else if (textBox2.Text == \请输入修改值!\ else if (comboBox1.Text == \请输入修改项!\ else { try {

string cha = \

if (comboBox1.Text == \姓名\

17

if (comboBox1.Text == \性别\ if (comboBox1.Text == \年龄\ if (comboBox1.Text == \联系方式\ if (comboBox1.Text == \地址\

string strconn = \Security=True\

SqlConnection connection = new SqlConnection(strconn);

string sql2 = \='\

connection.Open();

SqlCommand command2 = new SqlCommand(sql2, connection); command2.ExecuteNonQuery(); connection.Close(); showlist();

textBox1.Text=textBox2.Text = \ }

catch (Exception ex) {

MessageBox.Show(\修改错误!\ } } }

4.4.4客户删除模块

登陆界面实现管理员登录。程序运行结果如图4.8所示。

图4.8客户删除模块

18

主要的功能代码如下:

private void button1_Click(object sender, EventArgs e) {

if (textBox1.Text == \请输入ID!\ else { try {

string strconn = \Security=True\

SqlConnection connection = new SqlConnection(strconn); string sql2 = \ connection.Open();

SqlCommand command2 = new SqlCommand(sql2, connection); command2.ExecuteNonQuery(); connection.Close(); showlist();

textBox1.Text = \ }

catch (Exception ex)

{ MessageBox.Show(\添加错误!\ } }

4.5 车辆管理模块

4.5.1 车辆信息模块

程序运行结果如图4.9所示:

图4.9车辆信息模块

19

主要的功能代码如下: private void showlist() {

try {

string strconn, strsql;

strconn = \Security=True\

strsql = \车主ID,brand as 品牌 from car\ SqlConnection myconn = new SqlConnection(strconn); SqlDataAdapter myda = new SqlDataAdapter(strsql, myconn); DataSet myds = new DataSet(); myda.Fill(myds, \

dataGridView1.DataSource = myds.Tables[\ }

catch (Exception ex) {

MessageBox.Show(\刷新错误!\ } }

4.5.2新增车辆模块

程序运行结果如图4.10所示。

图4.10新增车辆模块

20

主要的功能代码如下:

private void button1_Click(object sender, EventArgs e) { try {

string strconn = \Security=True\

SqlConnection connection = new SqlConnection(strconn);

string sql2 = \into car(id,cus_id,brand) values('\+ textBox1.Text + \+ textBox2.Text + \ connection.Open();

SqlCommand command2 = new SqlCommand(sql2, connection); command2.ExecuteNonQuery(); connection.Close(); showlist();

textBox1.Text = textBox2.Text = textBox3.Text = \ }

catch (Exception ex) {

MessageBox.Show(\添加错误!\ } }

4.5.3车辆修改模块

程序运行结果如图4.11所示。

图4.11车辆修改模块

21

主要的功能代码如下:

private void button1_Click(object sender, EventArgs e)

{ if (textBox1.Text == \请输入ID!\

else if (textBox2.Text == \请输入修改值!\ else if (comboBox1.Text == \请输入修改项!\ else {try

{string cha = \

if (comboBox1.Text == \车主ID\ if (comboBox1.Text == \品牌\

string strconn = \Security=True\

SqlConnection connection = new SqlConnection(strconn);

string sql2 = \+ textBox1.Text + \

connection.Open();

SqlCommand command2 = new SqlCommand(sql2, connection); command2.ExecuteNonQuery(); connection.Close(); showlist();

textBox1.Text = textBox2.Text = \ }

catch (Exception ex) {

MessageBox.Show(\修改错误!\} } }

4.5.4车辆删除模块

程序运行结果如图4.12所示。

图4. 12车辆删除模块

22

主要的功能代码如下:

private void button1_Click(object sender, EventArgs e) {

if (textBox1.Text == \请输入ID!\ else { try {

string strconn = \Security=True\

SqlConnection connection = new SqlConnection(strconn); string sql2 = \ connection.Open();

SqlCommand command2 = new SqlCommand(sql2, connection); command2.ExecuteNonQuery(); connection.Close(); showlist(); textBox1.Text = \ }

catch (Exception ex) {

MessageBox.Show(\删除错误!\}}}

4.6 项目管理模块

4.6.1项目信息模块

程序运行结果如图4.13所示。

图4.13项目信息模块

23

主要的功能代码如下: string cha = \

if (comboBox1.Text == \价格\ string strconn, strsql;

strconn = \Source=.;Initial Catalog=car_beauty_system;Integrated Security=True\ strsql = \项目,price as 价格 from item where \textBox1.Text+\

SqlConnection myconn = new SqlConnection(strconn); SqlDataAdapter myda = new SqlDataAdapter(strsql, myconn); DataSet myds = new DataSet(); myda.Fill(myds, \

dataGridView1.DataSource = myds.Tables[\

4.6.2新增项目模块

程序运行结果如图4.14所示。

图4.14新增项目模块

24

主要的功能代码如下:

private void button1_Click(object sender, EventArgs e) {

if (textBox1.Text == \请输入项目!\ else if (textBox2.Text == \请输入价格!\ else { try {

string strconn = \Security=True\

SqlConnection connection = new SqlConnection(strconn);

string sql2 = \item values('\+ textBox1.Text + \+ textBox2.Text + \

connection.Open();

SqlCommand command2 = new SqlCommand(sql2, connection); command2.ExecuteNonQuery(); connection.Close(); showlist();

textBox1.Text = textBox2.Text = \ }

catch (Exception ex) {

MessageBox.Show(\添加错误!\}}}

4.6.3项目修改模块

程序运行结果如图4.15所示。

图4.15项目修改模块

25

主要的功能代码如下:

private void button1_Click(object sender, EventArgs e) {

if (textBox1.Text == \请输入项目!\ else if (textBox2.Text == \请输入价格!\ else { try

{ string strconn = \Security=True\

SqlConnection connection = new SqlConnection(strconn);

string sql2 = \textBox1.Text + \

connection.Open();

SqlCommand command2 = new SqlCommand(sql2, connection); command2.ExecuteNonQuery(); connection.Close(); showlist();

textBox1.Text = textBox2.Text = \ }

catch (Exception ex) {

MessageBox.Show(\修改错误!\ } } }

4.6.4项目删除模块

程序运行结果如图4.16所示。

图4.16项目删除模块

26

主要的功能代码如下:

private void button1_Click(object sender, EventArgs e) {

if (textBox1.Text == \请输入ID!\ else { try {

string strconn = \Security=True\

SqlConnection connection = new SqlConnection(strconn);

string sql2 = \ connection.Open();

SqlCommand command2 = new SqlCommand(sql2, connection); command2.ExecuteNonQuery(); connection.Close(); showlist(); textBox1.Text = \ }

catch (Exception ex) {

MessageBox.Show(\删除错误!\ } } }

五、软件测试

系统的测试是基于系统整体需求说明书的测试,应该覆盖系统所有的联合部件。系统测试就是针对整个产品系统进行测试,目的是检验出系统是否满足需求规格定义,找出跟需求规格不相符或是与它矛盾的地方。

系统测试对象不只是包括需要测试的产品系统软件,它还包含软件所要依赖的硬件和外设,甚至还包括某些数据、某些支持软件和支持软件的接口等。所以,必须把系统中的软件和各种所依赖的资源结合,在系统的实际运行环境下进行测试。

5.1 程序的测试方法

系统测试是保证系统质量与可靠性的最后关口,是对整个系统开发包括系统分析,系统设计和系统实施的最终审查。虽然在系统开发的各个阶段都采取了严格的技术措施,希望能尽快发现问题并改正,但难免会留下差错,如果在正式投入运行前没有发现问题,在工作中暴露出来,将给汽车美容公司带来很大的损失。因此,对系统进

27

行测试,是系统开发中必不可少的阶段。

软件开发过程是自顶向下,逐步细化的一个过程,而测试过程是按照相反的顺序自底向上,逐步集成的一个过程。底一级的测试为上一级的测试做准备。先要对每一个程序模块分别进行单元测试.去除在程序模块内部逻辑上和功能上的缺陷跟错误。然后根据软件的设计进行软件的集成测试,检测并去除子系统(或系统)在结构上的错误。接着再对照需求,进行程序的确认测试。最后要从系统全体出发,运行系统,看看是不是满足要求。

由于本系统所应用的架构都是以B/S及winform的应用为主,测试的方法尽量涵盖了winform程序的各方各面,测试技术方面在继承传统测试技术的技术上结合winform应用的特点。

在使用了数据库的winform应用系统中,一般情况下,会进行如下的测试: 1、链接测试

链接是winform应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的界面的主要手段。

2、表单测试

当用户给系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。 3、设计语言测试

winform程序设计语言的版本差异会给客户端或者是服务器端带来严重的问题。对于开发人员不在一起的分布式开发,VS版本的选择就显得更加重要。除此之外,对于不同的脚本语言也要进行测试。

4、数据库测试

对于winform应用技术,数据库起的作用非常的重要,数据库给winform应用系统的管理、运行提供了大量的空间,也为用户对数据存储的请求提供了空间。对于winform应用最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。

软件测试是软件的质量管理,核心技术是软件测试用例,软件测试是有组织性、步骤性、计划性的。测试的形态分构建性测试、系统化测试、专项测试。软件测试的方式分为白盒技术和黑盒技术。

等价划分原则:若规定了输入个数选择一个有效等价类,两个无效等价类;若输入是一组值,需要对属性进行判别,选择不同的属性输入;若输入是整数选正整数、零、负整数;若是处理时,选空表、满表、典型表。

28

1、添加用户信息的用户名测试结果如表5.1所示。

表5.1 用户名等价类表

输入条件 用户名组成 用户名位数

有效等价类

以数字、字母构成(1) 字符个数5-10个(3) 字符个数为0个(4)

测试用例:

输入测试数据:dai,123

预期结果:有效(包含有效等价类(1)(3)) 输入测试数据: $5,1234567890

预期结果:无效(包含无效等价类(2)(3))

解决方法:将特殊字符进行过滤,使用户不能输入不符合要求的字符,并在输入无效时给出提示信息。

无效等价类 非数字、非字母(2) 字符个数小于5(5) 字符个数大于10(6)

5.2 软件的可用性测试

软件的可用性是程序在给定的时间点按照规格说明书的规定成功运行的概率。它意味着在时刻T,系统是正常运行的。因此,如果在时刻T系统是可用的,则有下述可能:在0到T时刻这段时间内,系统一直没有失败(可靠);在这段时间内失效了一次,但是又修复了;在这段时间内失效了两次修复了两次等。

如果在一段时间内,软件系统故障停机时间分别为td1,td2,正常运行时间为tu1,tu2,则系统的稳态可用性公式如5.1,5.2所示:

Ass=Tup/(Tup+Tdown) (5.1)

Tup为成功运行的时间总和;Tdown为失败的时间总和。

Ass=MTTF/(MTTF+MTTR) (5.2)

MTTF平均无故障时间;MTTR平均维修时间。 估算平均无故障时间公式如5.3所示:

MTT=1/K*(Et/It-Ec/It) (5.3)

K为常数200;It为程序长度;Et为测试之前程序中错误总数;Ed发现的错误数;Ec改正的错误数。 在对本系统测试时,Et=50;It=20000;Ec=20;由公式(5.3)得本系统的平均无故障时间约为: MTTF=1/200*(50/20000-40/20000)=10小时

由于Tdown=3;M(故障停机次数)=3;MTTR(平均维修时间)=3/3=1小时,由公式(5.1)及(5.2)得该系统的稳态可用性为:

Ass=MTTF/MTTF+MTTR=10/(10+1)=0.9小时

29

六、总结

经过设计与调试,汽车美容管理系统基本开发完成。其功能基本符合用户需求,能够完成客户管理、项目管理、车辆管理、收费管理、财务统计等功能。

在程序设计的过程中,验证了该软件运行情况良好,界面友好、美观,但由于时间仓促,加之开发能力有限程序还存在许多不足之处,如数据的恢复与备份,批量更新数据等。这些缺点都是需要改进的地方。

参考文献

[1] 肖国尊.IIS安全技术[M].北京:清华大学出版社,2003:22-24. [2]李兰友.Web应用程序设计[M].北京:清华大学出版社,2012:20-25. [3]卜炟.21天学通Java Web 开发[6].北京:电子工业出版社,2011:22-25.

[4] 任泰明.基于B/S结构的软件开发技术[M].西安:西安电子科技大学出版社,2006:23-25.

[5] 宋昆,李严.SQL Server数据库开发实例解析[M].北京:机械工业出版社,2006:21-24. [6] 朱少民.软件测试方法和技术[M].北京:清华大学出版社,2010:260-261.

30

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

Top