1、应用软件开发课程设计一、应用软件开发课程设计目的与要求应用软件开发课程设计是建立在软件件工程专业所学知识的基础上设置的一门重要的实践课程。主要目的是利用所学理论知识与实用技术完成一个具有实际应用的、符合软件工程规范的和较高质量的应用软件开发。针对应用软件开发提出如下要求:( 1)紧密结合软件工程规范,从求解问题的需求分析出发,建立需求分析模型(用例图)。( 2)应用面对像方法和 UML建模工具建立软件开发设计模型(类图、状态图、活动图和时序图等)( 3)软件设计尽可能实现软件具有程序可阅读性、可维护性和可再用性。( 4)要求在规定实验室和时间进行 (成绩由三部分组成:实习报告、软件实现完成情况
2、和课程设计期间的认真程度 )。二、课程设计选题每位同学任选择一个题目或自选一个题目。选题确定后,要求认真完成选题的需求分析、软件设计、编码及测试运行完整过程的文档资料并作为报告编写重要内容。( 1)交互式最短路径搜索程序实现( 2)交通咨询系统软件设计( 3)在线购物网站设计( 4)基于人工神经网络方法的图像识别( 5)自定三、选题内容介绍与技术要点说明题目 1:( 1)内容介绍:用鼠标交互虚拟设计公交线路网络图,并应用该交通网络图实现公交乘车线路最短路径搜索,其系统功能:1)鼠标交互虚拟设计公交线路网络图2)建立有权图3)搜索从某公交出发站到某公交终点站最短乘车线路( 2)技术要点说明该程序
3、设计主要应用算法与数据结构的最短路径算法实现。它的主要技术具有三个方面:1)虚拟设计公交线路图(实际中为某城市的公交网络图)。2)利用公交线路图构建有权 “图 ”存储结构3)应用最短路径算法实现从源点到终点的最短路径搜索。三个功能结果如图所示:图 1 虚拟设计公交线路网络图图 2 有权图图 3 搜索 V1V11最短路径程序设计类图:应用shortPath+ void on_actionNetwork_triggered();+ void on_actionCreateNet_triggered();+ void on_actionShortPath_triggered();NetworkVie
4、w+ void drawBusLines(QPainter *g);+ void drawShortPath(QPainter *g);+ void drawMgraph(QPainter *g);Project+ void addBusLine(BusLine *pLine)+ void createMgraph();+ BusLine* getBusLine(int i)+ graph *getMgraph()+ int count()BusLine+ void addBusStation(Point2d p) + Point2d getBusStation(int i) + int co
5、unt() Graph+ void findshortPath(int v0,int v1);+ int getshortPath(int i) + void setShortPath(int value) 最短路径算法描述( 1)建立邻接矩阵( 2)取从 v出发到图上其余各顶点 vi可能到达的最短路径长度作为初值:Di = arcs位于 Vex(G,v)i v v(3) 选择 vj使得: Di = minDi | vi (V-S)vj就是当前求得的一条从 v出发的最短路径的终点。令:S = S j(4) 修改从 v出发到集合 V-S上任一顶点 vk可到达的最短路径长度。if Dj + arc
6、sjk v2-v3-v9-v10-v11)(7) 绘制最短路径线路题目 2( 1)内容介绍 :编制软件实现下图的交通咨询系统功能:1)从 A城到 B城中转次数最少的路线2)从 A城到 B城里程最短路的路线3)从 A城到 B城交通费用最少的路线4)从 A城到 B城旅行时间最少的路线v1v2v3v4v5v6v7v8v9v11v20v12v13v14v15 v16v17v18v19v10v21 v22v23v24v25其他数据同学们自己模拟给出。( 2)技术要点说明该软件设计主要技术步骤:1、建立数据库(或数据文件) 并模拟数据1) 城市节(顶)点表:2)两城市间权值表2、交通咨询系统界面设计编号 城市 编号 城市 编号 城市V1 北京 V2 天津 V3 沈阳V4 长春 V5 哈尔滨 V6 大连V7 徐州 V8 郑州 V9 呼和浩特V10 兰州 V11 乌鲁木齐 v12 西安v13 西宁 V14 成都 V15 昆明V16 贵阳 V17 柳州 V18 南宁V19 武汉 V20 株洲 V21 广州V22 深圳 V23 南昌 V24 上海V25 福州