C++《面向对象程序设计》课程设计[2023-05-28]

发布时间 2023-05-28 00:37:35作者: programwriter

C++《面向对象程序设计》课程设计[2023-05-28]

《面向对象程序设计》课程设计
所选设计名称

学院名称: 计算机与人工智能学院
专业班级:
学生姓名:
学生学号:
指导教师:
总成绩 = 代码结构+运行效果
代码结构
(75分)运行效果
(25分)总成绩
(100分)

2023年6月

《面向对象程序设计》课程设计任务书
课程设计任务说明
本课程设计的重点在于应用面向对象程序设计的三大机制:封装、继承、多态,来解决现实中的应用问题,能设计合理的应用软件并具体实现。通过课程设计,锻炼使用面向对象程序设计语言(C++语言)和合适的开发环境进行项目组织和管理的能力、团队合作能力。通过课程设计理解项目组织模式和实施过程,能够识别项目管理和决策中的关键因素。
1.先合理选题,然后完成需求分析文档撰写
采用面向对象的分析方法思考问题,要求灵活运用面向对象程序设计的三大机制:封装、继承、多态。
2.采用C++语言及适合的开发环境完成项目设计及开发,并撰写课程设计报告
要求采用控制台程序实现。
课程设计日程安排
1.任务布置及选题思考:2023年4月19日(周三)
2.提交截止日期:2023年6月4日(周日)。
3.答辩日期:2023年6月8日(周三),随堂抽样答辩。
课程设计提交要求
所有课程设计材料存入文件夹并打包提交。文件夹名称:学号-姓名。文件夹中材料包括:
1.课程设计报告PDF文档
2.课程设计项目开发文档
3.作品介绍短视频(2~3分钟)
报告格式要求
1.页面设置:A4纸,页边距设置:上2.5cm,下2.5 cm,左2.5 cm,右2.5 cm;装订线宽0.5cm,装订线位置:左;页眉1.7 cm,页脚2.0 cm。页脚设置为:插入页码,居中。
2.正文格式:五号宋体,数字和西文均采用五号Time New Roman字型,段前段后0行,首行缩进2字符,行距固定值20磅,大纲级别:正文文本。
3.一级标题格式:小二号黑体,左顶格,段前段后1行,行距22磅,大纲级别:1级。
4.二级标题格式:小三号黑体,左顶格,段前段后0.5行,行距22磅,大纲级别:2级。其他级别标题如有需要,可根据需要设置。
5.目录内容格式:一级目录四号黑体,二级目录四号宋体,至少显示2级目录。

以下为参考选题,也可以选择其他选题,完成系统分析,类图设计,编程、调试、测试情况,总结。

题目1:大学生选课系统设计

问题描述:同学们都已经经历过选课,对选课的系统内容和操作都非常熟悉,选课系统可以简单分为两个部分:学生。教师和管理员部分。管理员对学生,教师,课程等相关信息的管理;学生能够在登陆后的首页查看到自己能够选修的课程,并对其进行选择和退选,以及对自己身份信息的修改。
系统功能:
A、用户管理
用户的注册、密码等管理。
B、管理员模块
(1)主要是完成学生以及教师的角色创建,修改和删除
(2)管理员能够进行对课程的安排和管理。
C、课程管理
(1)课程信息:课程名称,课时,授课老师,学分
(2)按照各种关键字对课程进修
D、学生模块
(1)对课程进行选择
(2)对课程进行查找
(3)查询自己的信息
(4)修改自己的信息
E、对不同的课程选课人数等提供排序功能
以上各种,包括信息的显示,查询,增删改查与排序统计等。
在设计时,在完成上述基本功能的情况下,可基于实际需求,增加其他功能。也可以根据实际需求,对上面功能进行略微调整。

题目2:物业管理系统设计

问题描述:用于小区的物业管理,管理的项目包括小区住户管理,物业收费项目管理,物业收费管理等。
系统功能:
A、系统的登陆界面:用户名,密码的设置,新用户的创建,密码的修改等。
B、楼栋信息管理,包括多少栋,每栋多少单元,没单元多少层,每层几户等
C、住户信息管理:用户名,用户人口,用户联系电话,物业费
D、缴费管理:用户缴费信息管理
E、物业收费信息查询,统计等,如,按月交,按季度交,按年交;截止什么时候,已交用户,欠费用户。
以上各种信息管理,包括信息的显示,查询,增删改查与排序统计。
在设计时,在完成上述基本功能的情况下,可基于实际需求,增加其他功能。也可以根据实际需求,对上面功能进行略微调整。

题目3:企业员工管理系统研发

问题描述:随着企业彼此之间的竞争的激烈化,信息管理技术在企业的发展中占据着越来越重要的地位。在企业的经营再生产中,员工的信息已经称为企业经营管理中不可缺少的一部分。为管理者进行管理决定和进行各种人事调配活动提供了重要依据。
系统功能:本系统应该具有的功能是能够查看员工的个人信息,每个员工的信息包括编号,姓名,性别,部门,工资。系统能够完成员工信息的查询,更新,插入,删除,排序等功能
A、用户管理
用户注册,登录,凭密码登录。
B、员工信息管理
包括员工的所有信息:编号,姓名,性别,部门,出生日期,学历,职务,电话,住址等
C、部门管理信息管理
虚拟至少三个部门,如,行政办公室,科技处,劳务处,生产车间
D、工资信息管理
至少包括:基本工资,奖金,劳务补贴
E、工资信息统计
以上各种,包括信息的显示,查询,增删改查与排序统计等。
在设计时,在完成上述基本功能的情况下,可基于实际需求,增加其他功能。也可以根据实际需求,对上面功能进行略微调整。
采用面向对象C++语言实现。除了主函数之外,所有代码都必须在类中,不允许出现外部函数和全局变量。

题目4:图书借阅管理系统设计

问题描述:用于实现图书管理、读者管理、图书借阅相关信息管理
系统功能:能够实现基本的图书管理、读者管理、图书管理员管理和借阅管理,包括增删改查。
采用面向对象C++语言实现。除了主函数之外,所有代码都必须在类中,不允许出现外部函数和全局变量。参考类结构图如下:

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

目 录
前言1
第1章 需求分析2
第2章 概要设计3
第3章 详细设计4
3.1 XX系统主界面设计及算法实现4
3.2 XX功能模块设计与算法实现4
第4章 测试报告5
第5章 安装及使用6
第6章 项目总结7
参考文献8

前言
【填写说明:本部分内容建议不超过300字,简要说明为什么开发本作品,简述背景和意义。】

第1章 需求分析
【填写说明:本部分内容建议不超过500字,以300字以内为宜,简要说明作品面向的用户、主要功能、主要性能、技术可行性、时间复杂度、空间复杂度、开发环境等】

开发环境
【根据实际使用操作系统、编程语言和开发环境填写】
(1)操作系统:WINDOWS 8/10/11系统
(2)编程语言:C++
(3)开发环境:Visual Studio 2022、Qt Creator 9.0.2(Based on Qt 5.15.2 )

第2章 概要设计
【填写说明:将需求分析结果分解成功能模块以及模块的层次结构、调用关系、模块间接口以及人机界面等。
(1)对于每个系统,需要设计一个用户界面来完成各种操作。用户可以通过该界面查看、添加、删除或修改各种数据。为了保护数据的安全性,需要对每个用户进行身份验证,并对不同用户的权限进行管理(例如管理员账号和访客账号登录的判断)。
(2)在实现系统功能时,需要对各种信息进行处理。在实现过程中,每个系统需结合C++面向对象的知识,合理利用封装、继承、多态等技术,设计各个功能模块之间的联系并将它们组合成一个完整的系统。在设计模块时,需要注意模块之间的依赖关系,以确保系统的正确性和健壮性。
(3)对于系统中需要保存的各类数据的保存,需通过文件进行存储与读写。(C++代码实现)
(4)系统的设计需要根据实际需求进行适当的调整。在实际应用中,可能需要增加新的功能模块或修改现有的功能。因此,在设计系统时,需要考虑到系统的可扩展性和灵活性。
(5)建议图文结合体现内容,不宜全文字描述。建议图文总体不超过A4纸两页,以1页为宜。】

……系统架构图如图2-1所示。

图2-1 系统架构图

第3章 详细设计
【填写说明:包括但不限于:界面设计、数据库设计(如果有)、关键算法。
1、界面设计:
界面设计应该详细说明系统的各种功能和操作,建议使用实际界面来演示系统的典型使用流程,包括但不限于:
(1)系统的各个模块或页面的名称、布局和功能;
(2)各个模块或页面之间的导航和交互方式;
(3)系统操作的步骤和操作流程;
(4)界面元素的样式和交互效果。
2、模块设计:结合类与对象、继承、封装、多态等相关知识
(1)确定模块的功能和输入输出:需要明确每个模块的具体功能,并确定模块的输入输出。
(2)设计模块接口:根据模块的输入输出,需要设计模块的接口,包括输入参数和返回值等。
(3)设计模块实现:在确定了模块的功能和接口之后,需要设计模块的具体实现方式,包括算法、数据结构、代码实现等。
(4)设计模块测试:在完成模块实现后,需要对每个模块进行单元测试,以确保每个模块的功能和接口的正确性。
(5)集成模块:在完成单元测试后,需要将各个模块集成起来,进行系统测试。
(6)优化模块性能:在进行系统测试时,如果发现某些模块的性能存在瓶颈,需要对这些模块进行优化。
特别注意:数据采用文件存储,你需要有专门的【数据访问模块】实现数据的读写。建议:
(1)封装一个接口类用于文件的读写,其中应包括【纯虚函数】用于对文件数据解析
(2)派生类,具体实现文件数据解析.....
3、关键算法或技术:
关键算法或技术是系统中至关重要的部分,可以是算法、模型、数据结构、架构等。您可以突出这些关键点,并在文档中详细说明其原理、应用场景、优缺点、实现方式等,以及可能面临的问题和解决方案。如果有相关的技术创新,也可以进行详细介绍。
在以上三个方面中,建议突出系统的重点、痛点、难点、特点,以便更加清晰地了解系统设计的目的和思路。】

3.1 XX系统主界面设计与实现
3.1.1 XX系统主界面设计
……如图3-1所示。
图3-1 XX系统主界面设计图
3.1.2 XX系统主界面关键算法/关键技术
……算法流程图/界面使用流程如图3-2所示。
图3-2 XX算法流程图/主界面使用流程图
算法实现核心代码/使用的关键技术如下:…………
3.2 XX功能模块设计与算法实现
…………

第4章 测试报告
【填写说明:包括测试报告和技术指标。
1、测试报告
(1)记录测试过程中的步骤、结果、问题、修正和评估。
(2)可以将测试用例、测试数据和测试结果等相关文档整合在一起。
(3)说明测试的范围、目的和方法。
(4)强调测试结果的重要性,并指出其对作品质量的影响。
2、技术指标
(1)根据测试结果,形成多维度的技术指标,如运行速度、安全性、扩展性、部署方便性和可用性等。
(2)对每个指标进行分析、评估和说明。
(3)强调指标的重要性,并指出其对作品质量的影响。
(4)可以通过图表等形式,直观地展示技术指标的变化趋势和对比结果。
在填写时,建议突出测试过程中的重点、痛点、难点和特点,同时注重技术指标的客观性和准确性。如果测试过程中有问题和不足之处,也应该在测试报告中反映出来,并提出改进方案和建议。】
…………

第5章 安装及使用
【填写说明: 在本章节中,需要提供安装和使用指南,以确保用户能够成功地安装和使用您的作品。具体需要包含以下几点:
1、环境要求:列出用户需要满足的硬件和软件要求,以便他们能够成功地安装和运行您的作品。
2、安装过程:提供详细的安装步骤,包括下载、安装和配置过程。确保您提供了足够的信息,以便用户可以轻松地按照您的说明完成安装。
3、主要流程:描述主要的使用流程,让用户能够迅速上手并开始使用本作品。可以提供一些示例和截图,以帮助用户更好地理解您的作品。
4、默认安装和典型使用流程:提供默认安装和典型使用流程,让用户能够更快地上手。可以提供一些常见的用例,以帮助用户更好地了解如何使用您的作品。】

…………

第6章 项目总结
【填写说明:作品制作开发过程中的一些感悟和后续升级等,如:项目协调、任务分解、克服的困难、水平提升、升级演进、商业推广等诸方面。建议此部分篇幅不超过A4纸1页。】

参考文献
【请按照标准参考文件格式填写】
[1] 杨进才,沈显君编著. C++语言程序设计教程(第4版). 清华大学出版社,2022.
[2] 李晋江. C++面向对象程序设计(第2版)[M]. 清华大学出版社,2016.
[3] 张福祥.C语言程序设计实验实训与习题解答 [M].沈阳:辽宁大学出版社,2010.
[4] 郑莉. 面向对象程序设计经典实验案例集. 清华大学出版社,2012.

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111