logo资料库

移动应用系统开发课程设计.doc

第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
资料共24页,剩余部分请下载后查看
参考文献
x x x x 学 院 课 程 设 计 报 告 课程名称: 移动应用系统开发 设计题目: 学分管理程序 系 专 组 别: 业: 别: 学生姓名: 信息与计算机学院 xxxx 第 3 组 xxx 起止日期: 2020 年 5 月 29 日 ~ 2020 年 5 月 31 日 指导教师: xxx
承诺书 本人郑重声明:本人所呈交的学术论文,是本人在导师指导下独 立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论 文不包括任何其他个人或集体已经发表或撰写过的作品成果。对本文 的研究作出重要贡献的个人和集体,均已在文中以明确的方式标明。 本人完全意识到本声明的法律结果由本人承担。 学生(签名):xxx 2020 年 6 月 5 日
目 录 一 、 系统功能和结构 1.1 程序设计目的 1.2 需求分析 1.3 概要设计 1.3.1 主要数据结构描述 1.3.2 算法分析及程序流程图 1.4 任务安排 二、 程序实现 2.1 模块详细设计 2.2 核心代码详细解析 三、 调试与操作说明 3.1 问题分析与解决 3.2 程序演示 四 、 设计体会与总结 4.1 程序不足及功能扩充 4.2 设计心得 参考文献
一 、 系统功能和结构 1.1 程序设计目的 问题描述: 随着学校设施及管理的不断完善,学生数量急剧增加,有关学生的各种信息 量也成倍增长,学校在时时刻刻需要对学生对各种信息进行统计分析。假设每位学生必须完 成基础课学分、专业课学分、选修课学分、人文类课程学分、实验性课程学分才能够毕业。 因此在管理学分时要考虑每个学分所属于的课程类别。该程序应该具有下列功能: (1)通过键盘输入某位学生的学分 (2)给定学号显示某位学生的学分完成情况 (3)给定某个班级的班号显示该班所有学生学分完成情况 (4)给定某位学生的学号修改该学生的学分信息 (5)按照某类课程的学分高低进行排序 (6)提供一些统计各类信息的功能。 1.2 需求分析 【输入要求】 应用程序运行后在屏幕上显示一个菜单。用户可以根据需求选定相应的操作项目。进入 每个操作后根据应用程序的提示信息从键盘输入相应的信息。 【输出要求】 (1)应用程序运行后要在屏幕上显示一个菜单 (2)要求用户输入数据时要给出清晰、明确的提示信息包括输入的数据内容、格式及结 束方式等。 【功能要求】 为各项操作功能设计一个菜单。应用程序运行后先显示这个菜单然后用户通过菜单项选 择希望进行的操作项目 并且关键的操作需要详细提示信息
1.3 概要设计 1.3.1 主要数据结构描述 1>设计了一个二维数组来保存学生的学分信息如下: static String[][]students=new String[50][100];//学生信息定义 第一维放每个学生,为了容易操作和理解,写了 5 个人 第二维放每个学生单独的信息 2>程序的主要数据框架:
1.3.2 算法分析及程序流程图 该程序可以分为 3 大步:、 1、首先我们得有一个主类和主函数,系统才能知道从哪里开始执行。 2、然后我们要执行什么操作,就是我们需要实现的功能了; 3、执行操作会有产生的结果,有什么样的显示 我们主要要关注的就是第 2 步,怎么实现这 6 个功能,我们分别从 6 个模块来进行重点剖析: (1) 通过键盘输入某位学生的学分 从键盘输入内容需要用到输入流,我们需要加入头文件:import java.util.Scanner; 首先定义 scanner,方法:Scanner scanner = new Scanner(System.in); 输入了学分,我们需要保存起来,不然每次再输入之前的内容会被覆盖掉,所以我 们可以建一个数组把输入的信息保存到数组当中去 (2) 给定学号显示某位学生的学分完成情况 该功能可简单分为,从键盘输入一个学号,然后系统从已经保存信息中的学号信息 中查询是否有这个学号,找到之后输出该学号对应的学分信息 (3) 给定某个班级的班号显示该班所有学生学分完成情况 该功能和第 2 个功能类似,但是需要注意的是,它是通过班号来输出全班每个同学 的学分信息 (4) 给定某位学生的学号修改该学生的学分信息 该功能是要先输入学号,找到该学号对应的信息进行修改 (5) 按照某类课程的学分高低进行排序 该功能是需要把某一类课程的学分排序,排序有八大排序算法,我们就选择其中容 易理解的冒泡排序法,排序后数据从大到小排列 冒泡排序法: 比较相邻的元素,如果第一个比第二个小,就交换他们两个 对每一对相邻元素作同样的工作,从第一对到结尾的最后一对。在这一点,最 后的元素应该会是最小的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任一对数字需要比较。 (6) 提供一些统计各类信息的功能。 该功能说了个大体思路,并没有具体去说,我们这里可以自由发挥一下想象,假如 学分和有一个总值,不少于某一个阀值就完成通过,可以毕业,那我们可以通过定义一 个计数值来辨认有多少人通过,并可以输出他们的信息。
系统功能总框图如图 1.1 所示。 图 1.1 系统功能总框图
二、 程序实现 2.1 模块详细设计 根据上面的流程图,下面分析每个模块具体的功能,包括每个模块的参数和得出的结果 函数名 inputGrade( ) 入口参数 无 返回值 无 模块功能 键盘输入某位学生的学分 函数名 showGrade( ) 入口参数 无 返回值 无 模块功能 给定学号显示学分完成情况 模块 2.1 模块 2.2 函数名 showClassAllstuGrade( ) 入口参数 无 返回值 无 模块功能 给定班号显示该班所有学生学分完成情况 模块 2.3 函数名 changeGrade( ) 入口参数 无 返回值 无 模块功能 给定学号修改该学生的学分信息 模块 2.4 函数名 creditSort( ) 入口参数 无 返回值 无 模块功能 给定课程,学分从高到低排序 模块 2.5 函数名 Statistics( ) 入口参数 无 返回值 无 模块功能 统计功能,统计学分达标的人数 模块 2.6
分享到:
收藏