西南交大软件开发实习报告.docx
- 文档编号:30496602
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:83
- 大小:638.27KB
西南交大软件开发实习报告.docx
《西南交大软件开发实习报告.docx》由会员分享,可在线阅读,更多相关《西南交大软件开发实习报告.docx(83页珍藏版)》请在冰豆网上搜索。
西南交大软件开发实习报告
信息科学与技术学院
本科一年级
软
件
开
发
实
习
报
告
专业:
通信工程
班级:
*****
开发小组成员姓名:
*****
开发小组成员学号:
2011*****2011****
实习单位:
软件工程实验中心
2012年7月26
诚信承诺书
本小组成员_____________________________保证本次软件开发实习报告为自己独立总结、写作完成,报告内容和源程序不会有三分之一以上的内容与其他同学雷同,如果出现以上情况,本次软件开发实习成绩自愿记为零分。
承诺人签名:
____________________________________
日期:
_______年______月_____日
一、
软件开发设计题目
《运动会人员信息管理系统》
二、软件开发设实习项目分工
具体承担工作说明
周
培
与廖敏辉共同完成了程序的功能设想与该程序的具体作用;
独自完成了程序的主题框架的构建、如何设计程序的结构、应包含哪些要素;
完成了主函数的编写;
完成了sport.h(数据处理、文件的读入与输出等)的编写与调试
完成School、Mmem、Match类的设计与类中所有函数的设计实现与调试
完成了整个程序的调试、修改与完善
完成了60%(约720行)的编程工作
在文档的编写中完成了:
软件开发设计题目
总体设计
(系统功能分析;类的描述;各功能菜单介绍;系统功能模块的划分与设计,各功能函数的说明;其它)
详细设计与实现
(各个类设计、实现与详细说明;各函数的设计与实现(含流程图)与详细说明;数据的保存和装载;其它)
运行结果
(体现系统的所有功能;屏幕截图,必要的文字说明;其它)
程序清单
(头文件的实现;源文件的实现;详细注释;源程序及其它);
廖
敏
辉
与周培共同完成了程序的功能设想与该程序的具体作用;
完成了cmd.h(所有菜单的实现、读入数据的调用函数处理)的编写
完成了CMD类与Exit、welcome等函数的编写
完成了40%(约480行)的编程工作
在文档的编写中完成了:
系统需求分析
(系统设计的目的与意义;系统功能需求、系统主要功能图;其它)
主要知识点
(列出本次设计中所用到的面向对象程序设计知识点)
三、
系统需求分析
随着中国教育改革的不断深入以及大学生的普及,大学里每年都会举办运动会,一方面是为了鼓励大学生积极参加体育运动锻炼体质,另一方面也是培养国家体育人才。
在各个学校之间的比赛时,需要对运动会的信息进行整理,它涉及到的数据量很大,利用运动会管理系统及时了解各个环节中信息的变更,有利于提高管理的效率。
目前在各高校的运动会中,为了提高运动员的水平与奖项的竞争力,已经不再是一个学校内部的学生之间的比赛了,而是一个高校的几个校区综合来比赛,或者是周边的几所高校共同来比赛,那么以往的小的运功会人员信息管理系统就显得不那么方便了。
因此,看到这个需求我们便开发的这个运动会人员信息管理系统,可以录入不同的高校信息,可以对高校之间的各种项目进行统一的评比和排名等。
系统主要功能图如下;
校际运动会管理系统
设置系统信息
查询系统信息
输出比赛结果
按项目查询
按学校查询
设置获奖信息
设置获奖风格
设置
比赛项目
设置学校信息
按男子分数
按女子分数
按总分输出
按项目编码
按学校编码
四、总体设计
1.系统功能分析
设置运动会的基本数据信息
●设定置参赛学校的数目和名称
●设置参赛队伍数目
●设置男子和女子队数目
●一次设定全部学校的名称
●询问是否对原有数据进行修改
设置比赛项目信息
●设定项目名称
●一次设定全部项目名称
●设定全部项目获奖风格(分两种获奖模式:
取前5名和取前3名)
●设定项目获奖学校(可对输入数据进行判断输入是否有误)
●按比赛的项目来设置获奖的学校与队
查询学校信息系统
●按编码查询学校分数
●一次性输出所有学校的总分
●按编码查询项目的排名情况
●按学校一次性输出该学校的所有项目分数
●查询学校的比赛项目排名信息
●查询全部项目的排名情况
查询比赛项目排序情况
●获取比赛排序结果
●按编码排序输出
●按学校名称排序输出
●按比赛总分排序输出
●按男子比赛项目总分排序
●按女子比赛项目总分排序
按类型与需要对数据进行加减、按需排序、修改、删除、增加等操作
对数据进行存档和读取操作等等
2.类的描述
CMD类:
包含了主程序的退出、询问是否保存的Exit函数;欢迎菜单(welcome函数)的函数;
设置运动会信息的Set_sport函数(对读入的指令采取不同的反应);
覆盖原有数据时询问是否覆盖;设置参赛学校信息的Set_school函数;
设置比赛项目信息的Set_Mem函数;查询学校信息的S_school函数;
查询比赛项目信息的S_mem函数;查询比赛项目排序的S_sort函数;
查询信息系统的Search函数;CMD类的主干函数cmd;
School类:
对学校名称、队数总数、女子队数、男子队数、总分、女子队总分、男子队总分、分数列表的构造;重置一个学校的相关设置的reset_data的函数;设置名称与重置分数的函数;设置分数、分别按类别得到分数的函数;学校基本信息的文件存档函数;从文档读入数据的函数;按类别计算分数总和的函数;
Mmem类:
对获胜学校与获奖类型的初始化与构造;重置项目类型与得分的函数;设置与返回项目类型的函数;对相应数据进行文档存储和读入的函数;
Match类(由School派生而来):
对项目数、女子项目数、男子项目数、学校数目、项目情况数组、学校情况列表的构造;
由类型计算得分的calc_score函数;计算各个学校的分数的calc_school_mark函数;
输出某个学校的项目排名情况的Out_shool_mem函数;
计算全部学校的成绩,内含总分、男子总分,女子部分的Get_school_mark函数;
输出第i个学校的成绩情况的out函数;排序输出的Out_Sort函数;
按照总成绩,男子项目、女子项目成绩的排序进行输出的Out_M函数;
设置第num个项目的排名类型的SetMmem_type函数;
设置第num个项目的排名列表的SetMmem_winlist函数;
相应的文件存档于读取操作函数,等等。
3.各项菜单的介绍
welcome()函数菜单
cout< cout< *\n"; cout< cout< 设置系统信息。 *\n"; cout< 查询系统信息。 *\n"; cout< 退出系统。 *\n"; cout< 这个菜单是对运动会所有信息的设置与最后对比赛结果的所有类型排名及各项成绩的查询的主菜单,还包含了退出整个程序(接着保存数据)的功能。 Set_sport函数菜单 cout< cout< cout< cout< 设置运动会的基本数据信息。 *\n"; cout< 设置参加运动会的各校信息。 *\n"; cout< 设置各个比赛项目的信息。 *\n"; cout< 返回上一界面。 *\n"; cout< 退出系统。 *\n"; cout< 这个菜单是设置运动会信息的菜单,包含了设置运动会的基本数据信息、设置参加运动会的各校信息、设置各个比赛项目的信息的功能。 Set_school函数菜单 cout< cout< cout< cout< 设定置参赛学校名称。 *\n"; cout< 一次设定全部学校的名称。 *\n"; cout< 返回上一界面。 *\n"; cout< 退出系统。 *\n"; cout< 这个菜单是设置参赛学校信息菜单,包括了设定置参赛学校名称和一次设定全部学校的名称的功能。 Set_Mem函数菜单 cout< cout< cout< cout< 设定项目名称。 *\n"; cout< 一次设定全部项目名称。 *\n"; cout< 设定全部项目获奖风格。 *\n"; cout< 设定项目获奖学校。 *\n"; cout< 返回上一界面。 *\n"; cout< 退出系统。 *\n"; cout< 这个菜单是设置比赛项目信息的菜单,包含了设定项目名称、一次设定全部项目名称、设定全部项目获奖风格、设定项目获奖学校的功能。 S_school函数菜单 cout< cout< cout< cout< 按编码查询学校分数。 *\n"; cout< 查询学校的比赛项目排名信息。 *\n"; cout< 返回上一界面。 *\n"; cout< 退出系统。 *\n"; cout< 这个菜单是查询学校信息菜单,包含了按编码查询学校分数、查询各学校的比赛项目排名信息功能。 S_mem函数菜单 cout< cout< cout< cout< 按编码查询项目的排名情况。 *\n"; cout< 查询全部项目的排名情况。 *\n"; cout< 返回上一界面。 *\n"; cout< 退出系统。 *\n"; cout< 这个菜单是查询比赛项目信息的菜单,包含了按编码查询项目的排名情况、查询全部项目的排名情况功能。 S_sort函数该菜单 cout< cout< cout< cout< 按编码排序输出。 *\n"; cout< 按学校名称排序输出。 *\n"; cout< 按比赛总分排序输出。 *\n"; cout< 按男子比赛项目总分排序。 *\n"; cout< 按女子比赛项目总分排序。 *\n"; cout< 返回上一界面。 *\n"; cout< 退出系统。 *\n"; cout< 这个菜单是查询比赛项目排序情况的菜单,可以对比赛结果进行按编码排序输出、按学校名称排序输出、按比赛总分排序输出、按男子比赛项目总分排序、按女子比赛项目总分排序。 Search函数菜单 cout< cout< 查询学校信息。 *\n"; cout< 查询比赛项目排名信息。 *\n"; cout< 获取比赛排序结果。 *\n"; cout< 返回上一界面。 *\n"; cout< 退出系统。 *\n"; cout< 这个菜单是查询信息系统总菜单,包含了查询学校信息、查询比赛项目排名信息、获取比赛排序结果的功能,是上面几个查询菜单的总菜单。 4.系统功能模块的划分与设计 本系统主要有两大部分,设置信息与显示结果两个部分。 其中 设置信息部分的功能主要有 ●询问是否对之前的信息进行覆盖与重设 ●设置参赛学校的个数 ●分别设置参赛的男子、女子队数 ●设置参赛学校的名称 1 按编号设定对应学校名称 2 一次性按照顺序设定名称 ●设置比赛项目的名称 1 按编号设定对应项目名称 3 一次性按照顺序设定名称 ●设定每一个项目的获奖类型 1 取前三名(分数按5、3、2来分配) 2 取前五名(分数按7、5、3、2、1来分配) ●按比赛项目来设定获奖的学校 ●对数据进行按需修改 查询信息部分的功能主要有 ●对各项数据进行处理 1 分类叠加和相减 2 判断数据是否有效 3 按需进行排序 ●按照学校编号查询比赛结果 1 按学校及对应比赛项目查询对应结果 2 按照学校的编号顺序输出比赛结果 3 按学校一次性输出该校所以项目的结果 ●按照比赛项目查询比赛结果 1 按照项目代码查询所有学校的排名 2 按照项目的编号输出个项目的获奖情况 ●按照学校总分输出比赛结果 ●按照男子队总分输出比赛结果 ●按照女子队总分输出比赛结果 ●对各项结果及读入数据进行文档保存与读入 5.部分函数功能说明 主程序的退出、询问是否保存的Exit函数; 欢迎菜单(welcome函数)的函数; 设置运动会信息的Set_sport函数(对读入的指令采取不同的反应); 覆盖原有数据时询问是否覆盖;设置参赛学校信息的Set_school函数; 设置比赛项目信息的Set_Mem函数;查询学校信息的S_school函数; 查询比赛项目信息的S_mem函数;查询比赛项目排序的S_sort函数; 查询信息系统的Search函数;CMD类的主干函数cmd; 重置一个学校的相关设置的reset_data的函数; 由类型计算得分的calc_score函数; 计算各个学校的分数的calc_school_mark函数; 输出某个学校的项目排名情况的Out_shool_mem函数; 计算全部学校的成绩,内含总分、男子总分,女子部分的Get_school_mark函数; 输出第i个学校的成绩情况的out函数;排序输出的Out_Sort函数; 按照总成绩,男子项目、女子项目成绩的排序进行输出的Out_M函数; 设置第num个项目的排名类型的SetMmem_type函数; 设置第num个项目的排名列表的SetMmem_winlist函数; 相应的文件存档于读取操作函数(OutToFile与CinFromFile函数)。 等等..... 5、详细设计与实现 1.各个类设计、实现与详细说明 1 CMD类 包含了一些实现菜单功能的函数比如: 主程序的退出、询问是否保存的Exit函数; 欢迎菜单(welcome函数)的函数等。 2 School类 包含了以下私有属性 stringname;//学校名称 intMnum;//队数总数 intFMnum;//女子队数 intMMnum;//男子队数 intMmark;//总分 intFMmark;//女子队总分 intMMmark;//男子队总分 int*mark;//分数列表 包含的函数功能: 设置运动会信息的Set_sport函数(对读入的指令采取不同的反应); 覆盖原有数据时询问是否覆盖;设置参赛学校信息的Set_school函数;设置比赛项目信息的Set_Mem函数等。 3 Mmem类 包含的私有属性有 intntype;stringname;int*winlist; 包含的函数功能: init_data()、out_type()、reset_data()、reset_type、SetName、Out_name、OutToFile、CinFromFile等功能。 4 由School类派生的Match类 包含的私有属性有 intMnum;//项目数 intFMnum;//女子项目数 intMMnum;//男子项目数 intSnum;//学校数目 Mmem*mem;//项目情况数组 School*school;//学校情况列表 包含的功能有: init_school、calc_score、out_init_data、SetSchool_name、calc_school_mark、Get_school_mark、Get_school_mem、Out_shool_mem、Get_school_mark、out、Out_index、Out_M(按照总成绩,男子项目、女子项目成绩的排序进行输出)、Out_Sort等函数功能。 2.各函数的实现与详细说明 init_data()重置数据 out_type()输出类型 reset_data()恢复默认数据 reset_type重置获奖类型 SetName设置名称 Out_name获得名称 OutToFile将数据保存到文档 CinFromFile从文档中读入数据 Set_sport设置运动会信息 Set_school设置参赛学校信息 Set_Mem设置比赛项目信息 init_school重置学校信息 calc_score计算得分 out_init_data数据保存 SetSchool_name设置学校名称 calc_school_mark计算学校分数 Get_school_mark获得学校分数 Get_school_mem得到学校队伍信息 Out_shool_mem输出学校队伍信息 Get_school_mark得到学校分数 Out总的信息输出 Out_index按编号输出 Out_M按照总成绩,男子项目、女子项目成绩的排序进行输出 Out_Sort排序输出 3.数据的保存和装载 本程序的数据在退出前会询问是否保存,在按类型输出比赛结果的时候自动保存了相关的信息,这些保存靠OutToFile实现。 在程序关闭再次使用时,可以自动读入之前文档中保存的信息,这些靠CinFromFile来实现。 六、运行结果 首先运行程序进入主菜单 然后按A进入设置运动会所有信息的主菜单 再按A进入设置界面进行一些数据设置 按任意按返回上一级主菜单,按B进入学校信息的设置 再按A对学校信息进行输入 任意键返回后,按C对比赛项目进行设置 按B对比赛项目的名称进行一次性设置 按任意键返回后按C进行获奖类型的设置 按任意键返回后,按D对具体项目的获奖学校进行数据录入 对所有的信息录入完毕后,按任意键返回,进入到查询系统 按A进行学校的数据的查询 按A进入编码查询界面(这里只展示一种查询风格) 按B进入查询某个固定学校的所有项目排名信息 额外呢意见返回后,按B再选择风格进入按学校名称与编号的风格输出比赛的结果 按C返回上级菜单,再进入查询比赛结果的菜单 按A进入按编码排序输出 按B进入按学校名称的排序输出 按C进入按比赛总分的排序输出 按D进入按男子总分的排序输出 按E进入按女子总分的排序输出 返回上一级菜单,按E退出程序,询问是否保存到文档时选择是并退出 //主要界面截图与说明完 其它: 附: 保存的文档的内容如下: 项目数女子项目数男子项目数学校数目 4223 0学校名称队数总数女子队数男子队数总分女子队总分男子队总分 xinanjiaoda422505 分数分数分数分数 5000 1学校名称队数总数女子队数男子队数总分女子队总分男子队总分 kajshvk4221046 分数分数分数分数 3322 2学校名称队数总数女子队数男子队数总分女子队总分男子队总分 asdg4221385 分数分数分数分数 0535 0名称获奖评比类型 run0 学校对应分数 013
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西南 交大 软件 开发 实习 报告