产品供货商维护软件设计软件综合课程设计.docx
- 文档编号:30399296
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:18
- 大小:85.65KB
产品供货商维护软件设计软件综合课程设计.docx
《产品供货商维护软件设计软件综合课程设计.docx》由会员分享,可在线阅读,更多相关《产品供货商维护软件设计软件综合课程设计.docx(18页珍藏版)》请在冰豆网上搜索。
产品供货商维护软件设计软件综合课程设计
沈阳航空航天大学
课程设计报告
课程设计名称:
软件工程综合课程设计
课程设计题目:
产品供货商维护软件设计
院(系):
计算机学院
专业:
计算机科学与技术
班级:
学号:
姓名:
指导教师:
说明:
结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实,不予通过。
报告和电子数据必须作为实验现象重复的关键依据。
学术诚信声明
本人声明:
所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。
尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。
与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。
报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。
本人签名:
日期:
年月日
沈阳航空航天大学
课程设计任务书
课程设计名称
软件工程综合课程设计
专业
计算机科学与技术
学生姓名
班级
学号
题目名称
产品供货商维护软件设计
起止日期
2016
年
12
月
19
日起至
2017
年
1
月
13
日止
课设内容和要求:
内容:
1.定义供货商分类。
2.定义供货商信息存储格式。
3.完成供货商信息的维护。
4.实现对供货商的质量评价。
5.完成对供货商信息的查询和统计。
要求:
1.界面要优化,直观,大方,美观。
2.采用面向对象程序设计方法。
3.用数据库保存各项信息。
4.独立完成系统的设计、编码和调试工作并通过指导老师的检查。
5.按课程设计规范撰写课程设计报告。
教研室审核意见:
教研室主任签字:
指导教师(签名)
年
月
日
学生(签名)
年
月
日
课程设计总结:
由于时间比较紧张,再加上自己本身在语言编程方面的能力比较有限,该系统存在着不完善的地方。
作为一个短时间完成的实用性软件,本系统在实用性和全面性方面还有不少欠缺。
如本系统后面的统计功能未能很好地实现,效果并不是十分理想。
总的来说,这个产品供货商维护软件基本上满足了一个供货商对于商品的维护,它和正式的软件维护还有一定的差距。
另外,还有一些功能模块还可以进一步地完善,希望可以通过以后的学习能够不断地完善和强大本系统的功能。
尽管如此,在开发和设计这个软件的过程中,通过学习,我掌握了很多编程上的新知识,比如说更加了解了MYSQL数据库,还有对JAVA语言也有了更深的认识,总的来说,通过这次课程设计,让我取得了一个相当大的进步。
同时,使用产品供货商维护软件来管理产品供货商的各种信息,对于信息化时代的人们来说,是很有必要的。
现在已经有越来越多的供货商开始认识到供货商管理系统带来的巨大便利。
大范围的推广和使用产品供货商维护软件系统会逐渐成为主流模式。
各种供货商维护系统的需求量是很大的,这个系统的市场前景应该是良好的。
目录
1最短路径在公交系统中的应用介绍与要求5
1.1最短路径在公交系统中的应用的题目介绍5
1.2最短路径在公交系统中的应用的要求错误!
未定义书签。
2系统功能模块的结构图错误!
未定义书签。
2.1绘制系统功能结构框图错误!
未定义书签。
2.2主要模块的功能说明错误!
未定义书签。
3使用数据结构与程序的函数的描述错误!
未定义书签。
3.1程序使用的数据结构的描述错误!
未定义书签。
3.2程序使用的函数的描述错误!
未定义书签。
4程序运行测试与结果12
4.1程序的测试与结果12
错误!
未定义书签。
参考文献13
附录(关键部分程序清单)14
1最短路径在公交系统中应用
1.1最短路径在公交系统中的应用题目介绍
目前很多城市公交网站提供了查询信息,但大多只是简单的公交路线的指向,对此没有进行更加深层次说明,更没有没有结合地图进行属性到空间以及空间到属性的动态查询,更没有为用户提供站点到站点间的最佳换乘查询。
因此,建立两个站点之间的城市公共汽车信息查询系统非常必要,它既能方便市民查询从起点到所到达目的地最短的公交信息,又能扩大城市公交的宣传,是未来公交信息化的发展趋势。
生活快节奏的今天,寻找公交的最短路径,尤为必要,因为它不仅节省了乘坐公交车得乘客的大量的时间,也为公交的工作人员减小了巨大的工作量,是一件利己利人的好事,因此,推行最短路在公交系统的应用就显得尤为必要。
1.2最短路径在公交系统中的应用的要求
1.此公交查询系统软件与其它软件有所不同,它小巧实用,主要利用数据 库来实现:
a. 将所有的数据分类都存入数据库的相关列表中
b. 程序调用的数据都来自数据库
c. 能随意的输入数据和输出数据
d. 通过过滤的功能来查找出来的记录中找到所需的项 e. 可直接在数据库中对数据信息进行修改、添加、删除等操作。
2.该应用一定要能够应用到实际的生活中,能够有一定的健壮性,能够经受住强大的用户冲击,能够有一个大容量的数据库对其进行支持。
3.改应用主要目的是为了给用户提供最短路径的应用,因此应该能够对用户的输入进行快速的反应,并且提供出最短的路径。
2系统功能模块的结构图
2.1绘制系统功能结构框图
图2.1绘制系统功能结构框图
2.2主要的功能模块说明
1.输入查询信息的要点
操作可行性分析,本系统界面美观明了,提供的信息语言通俗易懂,而且操作容易,毕竟该应用是针对广大的群众,因此该界面应该对其最简化,更好的起到服务广大人民群众目的,标准是用户只要懂得初步的计算机操作即可,这样就可以得到用户想要的信息。
2.在处理与查询的模块中
需要数据库对其进行支持,数据库将所有收集的数据信息按其属性分类存储到数据库中,再通过程序调用这些数据信息实现各种查询及管理,即所谓的"程序设计数据化,数据管理程序化"思想。
基于这种思想的查询系统的理论及技术已日趋成熟,加之这些软件的应用性和移植性都非常优秀而且其发展也到了较成熟的阶段,这就保障了日后的系统维护工作,并可不断更新。
另外由于是最短路径的实现是基于贪心的迪杰斯特拉算法,因此不仅需要构建数据库,将用户信息进行处理,程序本身也应该有良好的健壮性,特别是早晚高峰时期的人流量特别大,该程序能有这种良好的处理能力
我认为在数据库的建立上,也可以运用人工智能的方法,对于用户经常输入的目的地进行准确的记忆,这样不仅仅减小系统的处理的时间,也更加爱方便了用户。
3.对于查询的结果
对于查询的结果,同样与输入的查询的要求是一样的,特别是输出的结果,应该是最简化的,让普通大众能够看得懂,这是应用软件重要的标准,复杂的细节我们可以自己对其实现,而呈现给用户的,永远是最简单得结果。
3使用数据结构与程序的函数的描述
3.1该程序使用的数据结构
1.本应用涉及到公交路线,该路线是一个图的数据结构,因此开始的时候应该定义一个关于图的结构体,实现如下:
typedefstructMGraph{
stringvexs[10];//顶点信息
intarcs[10][10];//邻接矩阵
intvexnum,arcnum;//顶点数和边数
}MGraph;
2.本图只是一个应用的演示,因此选取一个简单的图,这个图是通过邻接矩阵进行存储的,存储如下:
voidCreateDN(MGraph&G)//构造有向网
{
stringv1,v2;
intw;
inti,j,k;
cout<<"请输入顶点数和边数:
";
cin>>G.vexnum>>G.arcnum;
cout<<"请输入顶点:
";
for(i=0;i cin>>G.vexs[i]; for(i=0;i for(j=0;j G.arcs[i][j]=INFINITY; cout<<"请输入边和权值: "< for(k=0;k { cin>>v1>>v2>>w; i=LocateVex(G,v1); j=LocateVex(G,v2); G.arcs[i][j]=w; } } 所选择的图可以如下所示: 此时可以根据该图的权值与边依次将这个图输入进去,即可完成输入的操作。 3.2该程序使用的函数描述 1.返回顶点u在图中的位置 intLocateVex(MGraphG,stringu) { for(inti=0;i if(G.vexs[i]==u) returni; return-1; } 2.voidShortestPath_DIJ(MGraphG,intv0,intp[][MAX_VERTEX_NUM],intD[]) 这个函数是对最短路径寻找的函数,其思想是利用递归方法,从起点开始,依次便利与它直接相连的边,然后找到其中的最短的边。 在运行时先对最短路径进行初始化,然后在对其余的节点依次便利 for(v=0;v { final[v]=false; D[v]=G.arcs[v0][v]; for(w=0;w p[v][w]=-1; if(D[v] { p[v][0]=v0; p[v][1]=v; } } D[v0]=0; final[v0]=true; 4程序的运行结果与测试 4.1程序的运行输入与结果展示 根据上图,可以知道需要依次输入的点数为6,边数为8,。 然后需要将这个图给输入进去,输入的方式为以边为标准的两个节点与边的权值,输入完成之后就可以运行。 运行结果的分析: 根据该图的结构,生成一个对于该图的邻接矩阵,结构如运行结果显示。 最短路径的显示过程就是递归的遍历过程,其运行结果如图,其最后的结果就是最短路径。 参考文献 1.胡伏湘等,计算机网络技术教程,清华大学出版社,2004年2月 2.YouluZheng著,彭旭东译,计算机网络,清华大学出版社,2004年 3.张立云等,计算机网络基础教程,清华大学出版社,2004年1月 4.史忠植,高级计算机网络,电子工业出版社,2002年6月 5.刘四清等,计算机网路技术基础教程,清华大学出版社,2004年3月 附录(关键部分程序清单) #include #include #include usingnamespacestd; #defineINFINITY65535//无边时的权值 #defineMAX_VERTEX_NUM10//最大顶点数 typedefstructMGraph{ stringvexs[10];//顶点信息 intarcs[10][10];//邻接矩阵 intvexnum,arcnum;//顶点数和边数 }MGraph; intLocateVex(MGraphG,stringu)//返回顶点u在图中的位置 { for(inti=0;i if(G.vexs[i]==u) returni; return-1; } voidCreateDN(MGraph&G)//构造有向网 { stringv1,v2; intw; inti,j,k; cout<<"请输入顶点数和边数: "; cin>>G.vexnum>>G.arcnum; cout<<"请输入顶点: "; for(i=0;i cin>>G.vexs[i]; for(i=0;i for(j=0;j G.arcs[i][j]=INFINITY; cout<<"请输入边和权值: "< for(k=0;k { cin>>v1>>v2>>w; i=LocateVex(G,v1); j=LocateVex(G,v2); G.arcs[i][j]=w; } } //迪杰斯特拉算法求有向网G的v0顶点到其余顶点v的最短路径p[v]及带权长度D[v] //p[][]=-1表示没有路径,p[v][i]存的是从v0到v当前求得的最短路径经过的第i+1个顶点(这是打印最短路径的关键),则v0到v的最短路径即为p[v][0]到p[v][j]直到p[v][j]=-1,路径打印完毕。 //final[v]为true当且仅当v∈S,即已经求得从v0到v的最短路径。 voidShortestPath_DIJ(MGraphG,intv0,intp[][MAX_VERTEX_NUM],intD[]) { intv,w,i,j,min; boolfinal[10]; for(v=0;v { final[v]=false;//设初值 D[v]=G.arcs[v0][v];//D[]存放v0到v得最短距离,初值为v0到v的直接距离 for(w=0;w p[v][w]=-1;//设p[][]初值为-1,即没有路径 if(D[v] { p[v][0]=v0;//v0到v最短路径经过的第一个顶点 p[v][1]=v;//v0到v最短路径经过的第二个顶点 } } D[v0]=0;//v0到v0距离为0 final[v0]=true;//v0顶点并入S集 for(i=1;i {//开始主循环,每次求得v0到某个顶点v的最短路径,并将v并入S集,然后更新p和D min=INFINITY; for(w=0;w if(! final[w]&&D[w] { v=w; min=D[w]; } final[v]=true;//v并入S集 for(w=0;w { if(! final[w]&&min {//w不属于S集且v0->v->w的距离<目前v0->w的距离 D[w]=min+G.arcs[v][w];//更新D[w] for(w=0;w p[v][w]=-1;//设p[][]初值为-1,即没有路径 if(D[v] { p[v][0]=v0;//v0到v最短路径经过的第一个顶点 p[v][1]=v;//v0到v最短路径经过的第二个顶点 } } for(j=0;j { p[w][j]=p[v][j]; if(p[w][j]==-1)//在p[w][]第一个等于-1的地方加上顶点w { p[w][j]=w; break; } } } } } } voidmain() { inti,j; MGraphg; CreateDN(g); intp[MAX_VERTEX_NUM][MAX_VERTEX_NUM];//最短路径数组p intD[MAX_VERTEX_NUM];//最短距离数组D ShortestPath_DIJ(g,0,p,D); cout<<"最短路径数组p[i][j]如下: "< for(i=0;i { for(j=0;j cout< cout< } cout< "< for(i=0;i { if(i! =0&&D[i]! =INFINITY) { cout< "< cout<<"最短路径为: "; for(j=0;j { if(p[i][j]>-1) cout< } cout< } elseif(D[i]==INFINITY) cout< "<<"不可达"< } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 产品 供货 维护 软件设计 软件 综合 课程设计