销售汽车课程设计.docx
《销售汽车课程设计.docx》由会员分享,可在线阅读,更多相关《销售汽车课程设计.docx(29页珍藏版)》请在冰点文库上搜索。
销售汽车课程设计
目录
一、前言1
二、系统可行性分析3
1、需求分析3
2、开发的可行性4
三、系统分析6
1、业务流程图6
2、数据流程图7
四、系统设计9
1、系统操作功能结构图10
2、汽车信息管理功能结构图11
3、帮助功能结构图11
4、数据库设计11
五、系统实现14
六、系统测试15
七、总结17
八、附件(代码、部分图表)18
销售汽车管理系统
一、前言
1、选题说明
(1)基本思路
①减少了系统对硬件的要求。
系统主要运行于服务器上,即系统运行的硬件取决于服务器,客户端的配置要求保证能够使用浏览器即可。
②节约了维护成本。
系统的维护主要集中于服务器端,比起维护多个客户端来说,成本和工作量将大大降低。
③降低了系统升级维护的难度。
逻辑和视图的分离使得模块相对独立在业务变更及系统升级和维护时,难度大大降低,大大提高了工作人员的工作效率。
在功能设计和系统实现方面,企业销售管理网站将具有以下特点:
④实用性:
为商品信息管理、用户信息管理提供了快捷、方便的方法。
⑤操作简单:
保证系统能适应不同等级计算机水平的用户,系统操作尽可能简单。
⑥代码可读性好:
要求系统结构清晰,代码简洁可读,便于日后维护和扩展。
(2)作业目标
本系统是针对汽车销售企业各种相关服务项目,进行开发设计
的,主要实现如下目标:
❑全面展示公司,向客户介绍公司的服务项目。
❑系统前台采用清晰、明快的展示风格,展示销售车辆信息、租赁车辆信息。
❑展示集团信息、企业新闻。
❑实现客户在线提交订购车辆订单、在线租赁车辆订单、在线置换车辆订单的功能
❑客服中心提供客户服务热线,并为客户提供投诉的服务的功能。
❑实现为客户提供车辆备件信息查询的功能。
❑提供各地连锁企业的相关信息。
❑系统后台采用人机对话方式,界面美观友好、信息查询灵活、方便、快捷、准确、数据存储安全可靠。
❑对销售车辆信息、租赁车辆信息进行管理。
❑实现对车辆订单信息、租赁订单信息、置换信息进行管理功能。
❑实现对车辆订单信息、租赁信息、置换信息的查询功能。
❑更新集团信息、历史回顾内容。
❑对新闻信息进行管理。
❑对客户投诉信息进行查询和管理。
❑对车辆备件信息进行查询和管理。
❑对连锁企业信息进行管理。
❑提供修改管理员密码功能。
❑系统运行稳定、安全可靠。
2、课程设计进度安排
星期
进度安排
第十六周
可行性分析
第十七周
系统需求分析(系统描述、业务流程图设计及分析、系统数据流程图、必要的数据字典设计)
第十八周
系统设计(系统代码设计、数据库设计、输出设计、输入设计及其他内容)
3、工作业绩
小组分工
序号
负责人
任务
1
王翔
管理员管理的所有操作及数据库的建立
2
张明
仓管员管理的所有操作及使用帮助界面
二、系统可行性分析
1、需求分析
全世界经济的迅速发展,带动了各行业的发展,人们生活水平也随之提高,“汽车”已不再是家庭消费中的奢侈品。
购买汽车的企业、家庭、个人越来越多,汽车消费群体日趋壮大,带动了整个汽车产业的迅猛发展。
汽车工业经历了一百多年的发展,对国家经济的发展和鹏飞以及对人类社会的文明带来了巨大影响。
汽车工业已成为许多国家的支柱产业,随着人们生活水平以及汽车性能的不断提高,人们对汽车的消费和需求也越来越旺盛,世界汽车工业也保持庞大的市场需求和市场规模。
近年来,中国汽车市场发展迅猛,以接近40%的速度增长,巨大的市场容量和可观的经济效益,引起各汽车厂家纷纷加大投资,汽车市场烽烟四起,汽车销售策略和模式频出,竞争已是空前的激烈,在如此形势下,一种介于生产厂家和用户之间的桥梁,汽车销售公司正在不断的产生和发展壮大。
详细了解和深刻认识使用所开发系统的单位之现状、发展方向、存在的问题和各级管理人员的信息需求是系统建设的重要基础。
收集到真实、准确和适用的相关信息,是系统开发的第一阶段——系统分析阶段工作的重要内容。
信息收集也是完成系统分析各项任务的基础。
在系统建设中,建设者首先必须收集信息,了解情况,明确问题和目标,视具体情况决定工作方针。
在现在的市场经济中,顾客越来越多的要求快速、高效的服务,使得供应商不得不想尽办法提高自己的业务水平。
成本控制一直都是企业的管理重点,很好的控制成本能够使企业占据优势地位。
开发新的销售订单管理系统就显得尤其重要。
该企业汽车销售管理系统采取的是访问与实践相结合的调查方法。
首先,通过提问的方式与用户进行交谈,收集有关信息,在访问时充分听取各方面的要求和希望,同时做好有关新系统的宣传工作;其次,通过参加业务实践了解系统,有目的的跟班学习,以达到比较深入细致地掌握工作流程中汽车的订购、等具体过程和内容。
2、开发的可行性
(1)技术可行性分析
开发系统需要的运行环境有
●软件环境:
用户端:
Windows2000,Windows2003,Windows7
服务器端Windows2000及以上操作系统
编程语言:
C#
数据库:
SQLServer2005
●硬件环境:
有高性能的电子计算机、适当容量的存贮装置,个人电脑(终端)以及联结起来的网线等,组成信息资源共享的计算机网络。
以上技术要求对于一个面向大型超市配送水果的公司是可行的。
(2)经济可行性分析
为在销售汽车公司上提供了一个全面展示企业形象的平台,使汽车用户更加的了解企业的动态信息。
满足客户在线提交订购汽车,查询汽车信息等要求系统提升了企业在客户中的形象,使企业和用户联系更加密切,提高企业的经济效益。
所以该汽车销售管理系统的开发在经济可行性方面是可行的。
在经济上,用此系统加强了对汽车销售管理的效率,为该公司的配送工作提供了较大提升工作效率的空间,可节省部分人力资源的开支。
(3)组织与管理上的可行性分析
在工作上,销售部门每日处理的信息量非常大,使用了此系统,可极大提高汽车销售人员的工作的效率。
方便订货信息的储存和修改,及以后随时查询订货信息,是一个比较人性化的管理系统。
(4)企业内部人员业务和技术水平
企业内部工作人员对自身业务很了解,同时由于很多都受过计算机专业方面的教育,能够较容易的对实际工作进行分析,将实际工作进行抽象概念化,而且能够根据计算机的特点提出功能要求,降低开发人员与使用人员间沟通的时间。
(5)系统开发人员的技术水平
开发人员为信息管理与信息系统毕业生,具有一定的系统开发经验,专业知识掌握的也很好,再经过参加实际项目的开发,经验更加成熟,能够较容易的了解用户需求并能在计算机上实现。
指导教师也具有很高的软件开发经验,同时具有丰富的实际销售管理方面的经验。
这些都是系统开发质量的重要保证。
三、系统分析
1、业务流程图
业务流程图是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中的不合理流向,它是物理模型。
业务流程图的特点:
(1)图的形式是按业务部门划分的横式图。
(2)图描述的主体是票据、帐单的业务处理。
(3)票据、帐单流动路线与实际业务处理过程一一对应。
(4)图中票据、帐单是有“生”、“死”的,即用它的一次生命周期来表示出一笔业务的处理情况。
业务流程图的作用:
(1)制做流程图的过程是全面了解业务处理的过程,是进行系统分析的依据。
(2)它是系统分析员、管理人员、业务操作人员相互交流思想的工具。
(3)系统分析员可直接在业务流程图上拟出可以实现计算机处理的部分。
(4)用它可分析出业务流程的合理性。
该汽车销售管理系统的业务流程图(如图1)所示。
图1汽车销售管理系统的业务流程图
2、数据流程图
当数据在软件系统中运动时,它将被一系列“变换”所修改。
数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。
它是在对系统调研阶段绘制出的业务流程图的基础上,从系统的科学性、管理的合理性、实际运行的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述新系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向。
在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。
数据流图是系统逻辑功能的图形表示,即使不是专业的计算机技术人员也容易理解它,因此是分析员与用户之间极好的通信工具。
此外,设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体的实现这些功能。
数据流图具有以下两个特性:
(1)抽象性:
表现在它完全舍去了具体的物质,只剩下数据的流动、加工、处理与存储。
(2)概括性:
表现在它可以把信息中的各种不同业务处理过程联系起来,形成一个整体。
数据流图由以下四种基本元素组成,即源点或终点、数据处理(功能)、数据存储和数据流。
该销售汽车管理系统的数据流程图素(如图2)所示:
外部实体 数据处理数据流数据存储
图2销售汽车管理系统的数据流程图素
汽车销售管理系统的数据流程图(如图3)所示。
图3汽车销售管理系统的数据流程图
四、系统设计
程序应该尽量实现所有的实际工作中需要做的事情。
用计算机进行办公,最大的好处就是能够轻松的完成那些重复的、繁重的、公式化的、需要大量的人力、物力和时间的工作。
这样的工作如果由人来做,不仅需要大量的时间,整个过程也会很枯燥无味。
销售汽车管理系统功能设计的目标就是完成系统需求分析阶段要求的系统功能需求,尽可能的实现整个销售管理过程。
销售汽车管理系统是一个典型的数据库开发应用程序,由管理员功能和库管员功能设计部组成。
通过对系统功能的分析,销售汽车管理系统功能如图4所示。
图4销售汽车管理系统功能图
1、系统操作功能结构图
系统操作功能结构图(如图5)所示。
图5系统操作功能结构图
2、汽车信息管理功能结构图
汽车信息管理功能结构图(如图6)所示。
图6汽车信息管理功能结构图
3、帮助功能结构图
帮助功能结构图(如图7)所示。
图7帮助功能结构图
4、数据库设计
数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有Access,SQLServer,Oracle,Mysql,PointBase等。
根据用户需求和业务流程,本系统采用了SQLServer2005数据库管理系统。
本系统中所建立的数据库为Cars。
(1)E-R图(如图8)所示。
图8E-R图
(2)数据库的逻辑设计
根据关系模式的设计,为本系统数据库设置主键、外键,其中主键唯一表示该数据库的属性。
形成的数据库截图如下:
①登录用户表(如表1)所示。
表1登录用户表
②客户信息表(如表2)所示。
表2客户信息表
③汽车款式表(如表3)所示。
表3汽车款式表
④汽车车体表(如表4)所示。
表4汽车车体表
⑤汽车底盘表(如表5)所示。
表5汽车底盘表
⑥汽车发动机表(如表6)所示。
表6汽车发动机表
⑦汽车价格表(如表7)所示。
表7汽车价格表
⑧汽车最大时速表(如表8)所示。
表8汽车最大时速表
五、系统实现
这部分的设计是在前面的各项系统分析的基础上进行的总体结构设计以及具体的模块设计,为以后的程序设计制订蓝图。
为确定系统结构,必须从实现的角度把复杂的功能进一步分解。
通常程序中的一个模块完成一个适当的子功能。
应该把模块组织成良好的层次系统,顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块完成最具体的功能,便于使用者使用该系统。
六、系统测试
1、登录界面(如图9)所示。
图9登陆界面
2、管理员主界面(如图10)所示。
图10管理员界面
3、人员信息管理界面(如图11)所示。
图11人员信息管理界面
4、客户信息管理界面(如图12)所示。
图12客户信息管理界面
5、修改密码界面(如图13)所示。
图13修改密码界面
6、计算器界面(如图14)所示。
图14计算器界面
7、记事本界面(如图)15所示。
图15记事本界面
七、总结
通过去年C#学习及本学期一学期的学习,这三周来的辛勤努力不仅使我更精通了编程语言C#与主流数据库系统SQLServer2005;而且自学能力也得到了很大程度上的提高,也进一步扩大了自己的知识面。
它也帮助我进一步的了解了社会,为就业奠定一定的基础。
通过这次课程设计,我对目前流行的软件开发方法和手段,有了一定的认识,对面向对象的开发方法有了更深刻地了解,对开发一个系统的流程有了了解,丰富了软件开发的经验,提高了编程的水平,加深理解了许多课程中、书本上学到的知识和理论。
由于时间比较仓促,再加上自己的实际开发经验比较少,所以此系统还有许多不完善的地方,有些功能实现得并不理想。
在已经完成的程序中,也存在许多不尽人意的代码和数据结构。
而这也让我充分认识到了软件编程的困难程度。
对软件的编制速度、复杂程度也有了充分的认识,对以后进行更为复杂和更大的设计任务打下了坚实的基础。
同时也更深入地领会到理论是实践的基础,一个好的算法和设计方案可以事半功倍。
本系统能够成功的完成,要特别感谢我的老师韩老师,老师不辞辛劳,多次与我就设计中许多核心问题作深入细致地探讨,给我提出切实可行的指导性建议,并细心全面地修改了我的设计。
对此,我打心眼里表示我最衷心的感谢.韩老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度、积极进取的科研精神以及诲人不倦的师者风范是我毕生的学习楷模.韩老师的高深精湛的造诣与严谨求实的治学精神将永远激励着我。
在此,请允许我向尊敬的韩老师表示真挚的谢意!
八、附件(代码、部分图表)
附件:
管理员界面代码:
namespaceCar_CS
{publicpartialclassAdminMain:
Form
{publicAdminMain()
{InitializeComponent();}
publicstringPvcPth=null;//当前项目工作目录虚拟路径
privatevoid计算器ToolStripMenuItem_Click(objectsender,EventArgse)
{System.Diagnostics.Process.Start("calc.exe");}
privatevoid记事本ToolStripMenuItem_Click(objectsender,EventArgse)
{System.Diagnostics.Process.Start("notepad.exe");}
privatevoidAdminMain_Load(objectsender,EventArgse)
{this.WindowState=FormWindowState.Maximized;
PvcPth=System.IO.Directory.GetCurrentDirectory();
toollb2.Text+="登录权限:
管理员"+"登录时间:
"+UserLogin.Tim;
foreach(FormFinMdiChildren)
{if(F.Text=="系统宣传片")}}}
privatevoid添加人员信息ToolStripMenuItem1_Click(objectsender,EventArgse)
{Admin_AddManA=newAdmin_AddMan();A.ShowDialog();}
privatevoid人员信息管理ToolStripMenuItem_Click(objectsender,EventArgse)
{admin_mangeManA=newadmin_mangeMan();A.ShowDialog();}
privatevoid修改密码ToolStripMenuItem_Click(objectsender,EventArgse)
{admin_pwdP=newadmin_pwd();P.ShowDialog();}
privatevoid查看客户信息ToolStripMenuItem_Click(objectsender,EventArgse)
{foreach(FormFinMdiChildren)
{if(F.Text=="查看客户信息")
{return;}}
Admin_See_CusG=newAdmin_See_Cus();G.MdiParent=this;G.Show();
G.WindowState=FormWindowState.Maximized;Admin_Cus7C=newAdmin_Cus7();
C.ShowDialog();}
privatevoid客户信息管理ToolStripMenuItem_Click(objectsender,EventArgse)
{foreach(FormFinMdiChildren)
{if(F.Text=="客户信息管理")
{return;}
}Admin_Manger_CusG=newAdmin_Manger_Cus();G.MdiParent=this;
G.Show();}
privatevoid关于本系统ToolStripMenuItem_Click(objectsender,EventArgse)
{AboutFrmF=newAboutFrm();F.ShowDialog();}
privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse)
{this.Close();}}}
人员信息主要代码:
namespaceCar_CS
{publicpartialclassadmin_mangeMan:
Form
{publicadmin_mangeMan(){InitializeComponent();}
privatevoidadmin_mangeMan_Load(objectsender,EventArgse)
{txbname.Enabled=false;txbpwd.Enabled=true;UpGr();}
privatevoiddataGridView1_CellClick(objectsender,DataGridViewCellEventArgse){txbname.TextConvert.ToString(dataGridView1[0,dataGridView1.SelectedCells[0].RowIndex].Value);txbpwd.Text=Convert.ToString(dataGridView1[1,dataGridView1.SelectedCells[0].RowIndex].Value);stringright=Convert.ToString(dataGridView1[2,dataGridView1.SelectedCells[0].RowIndex].Value).Trim();
if(right=="0")
{cmbright.Text="管理员";}
if(right=="1"){cmbright.Text="仓管员";}}
privatevoidbtn_modif_Click(objectsender,EventArgse)
{stringname=txbname.Text.Trim();stringpwd=txbpwd.Text.Trim();stringright=cmbright.Text.Trim();if(name=="")
{frm.alert("请输入员工用户名!
");txbname.Focus();return;}
elseif(pwd=="")
{frm.alert("请输入用户密码!
");txbpwd.Focus();return;}
elseif(right=="")
{frm.alert("请选择用户权限!
");return;}
else
{if(MessageBox.Show("您确定要修改员工'"+name+"'的帐号信息吗?
","警告",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==DialogResult.Yes){
stringsql="";if(right=="管理员"){
sql="updateadminssetuserpwd='"+pwd+"',userright=0whereusername='"+name+"'";}
if(right=="仓管员")
{sql="updateadminssetuserpwd='"+pwd+"',userright=1whereusername='"+name+"'";}
SqlConnectionconn=newSqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString);
try{intcount=SqlHelper.ExecuteNonQuery(conn,CommandType.Text,sql);frm.alert("修改用户信息成功!
");UpGr();return;}
catch{frm.alert("系统正忙!
");return;}}}}
privatevoidUpGr()
{stringsql="selectusernameas用户名,userpwdas用户密码,userrightas操作权限fromadmins";SqlConnectionconn=newSqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString);
DataSetds=SqlHelper.ExecuteDataset(conn,CommandType.Text,sql);
dataGridView1.DataSource=ds.Tables[0];}
privatevoidBtn_Del_Click(objectsender,EventArgse)
{stringname=txbname.Text.Trim();if(name==""){frm.alert("请选择要删除用户的帐号!
");
return;}
if(MessageBox.S