面向对象技术课程设计[2017]
《面向对象程序设计》课程设计教学大纲设计

《⾯向对象程序设计》课程设计教学⼤纲设计《⾯向对象程序设计》课程设计教学⼤纲适⽤专业:计算机科学与技术课程周数:2周⼀、⼤纲说明本⼤纲根据计算机科学与技术专业⼈才培养⽅案制订。
(⼀)课程设计性质课程设计是学⽣对课程所学知识的综合运⽤,它与课堂听讲、上机实验、课外练习、⾃学研究相辅相成,构成⼀个完整的课程教学体系。
(⼆)主要先修课程和后续课程1.先修课程:《C语⾔程序设计》2.后续课程:《Java程序设计》、《软件⼯程》⼆、课程设计⽬的及基本要求本课程全⾯系统的学习⾯向对象程序设计的基本概念,基本语法和编程⽅法。
正确理解掌握C++⾯向对象程序设计的基本特性:类,对象,继承与派⽣,多态,虚函数,模板,流类库等。
遵循软件过程的各个环节进⾏系统分析、设计、实现、集成、测试,并相应给出软件规格说明书等制品,了解当前常⽤的软件开发⼯具(Visual C++),要求熟练掌握基于Win32 Console Application的程序设计,培养解决实际问题的能⼒。
三、课程设计容及安排1、有理数运算问题描述:有理数是⼀个可以化为⼀个分数的数,例如2/3,533/920,-12/49都是有理数,⽽就为⽆理数。
在C++中,并没有预先定义有理数,需要时可以定义⼀个有理数类,将有理数的分⼦和分母分别存放在两个整型变量中。
对有理数的各种操作都可以⽤重载运算符来实现。
基本要求:定义并实现⼀个有理数类,通过重载运算符+、-、*、/对有理数进⾏算术运算,通过重载运算符==实现判定两个有理数是否相等。
写⼀个优化函数,它的作⽤是使有理数约去公分母,也即是使保存的有理数分⼦和分母之间没有公约数(除去1以外)。
此外,还要定义⼀个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。
测试数据:在应⽤程序中,创建若⼲有理数对象,通过带参数的构造函数使得各有理数对象值各不相同,然后分别进⾏各类运算,输出运算结果,检验其正确性。
实现提⽰:设有两个有理数a/b和c/d,则有:(1)有理数相加分⼦=a*d+b*c;分母=b*d(2)有理数相减分⼦=a*d-b*c;分母=b*d(3)有理数相乘分⼦=a*c;分母=b*d(4)有理数相除分⼦=a*d;分母=b*c优化函数在创建有理数对象时应执⾏,在执⾏其它各种运算之后也需执⾏它,这样可保证所存储的有理数随时都是最优的。
2017面向对象课程设计任务书及封面

湖南工程学院课程设计任务书课程名称面向对象程序设计课题专业班级学生姓名学号指导老师罗雅博审批任务书下达日期2017 年6 月12 日任务完成日期2017 年6 月23日2016级通信工程专业《面向对象程序设计》课程设计任务书一、课程设计的性质与目的《面向对象程序设计》是通信工程专业重要的基础课,通过本课程设计使学生进一步巩固课堂所学知识,全面熟悉、掌握面向对象程序设计的基本方法和技巧,进一步提高编写程序、阅读分析程序及上机操作、调试程序的能力。
二、设计要求与步骤每个同学至少选作设计题目一个,每个同学的学号末尾2位对9求余,所得数为对应的设计题目题号,该题为该生必做题。
所以题目要求都使用图形界与用户互动,尽量使用JavaFX包实现图形界面,要符合日常软件使用规范来设计菜单和界面,尽量提高用户体验。
步骤:1分析项目要求每个课程设计项目都有其相关的设计要求,其中对项目实现的功能做了详细定义。
如果某些知识面掌握的不是很好,可以再返回去重新熟悉与掌握。
2自学新知识每个课程设计项目都涉及一些新的知识面(老师没有在课堂上讲解的内容),在开始设计前,首先要查阅相关资料,学习和掌握项目中涉及的新知识,提高自学能力。
3界面设计本次课程设计都是图形界面程序,所以在实现程序功能前,可以先完成图形界面设计(建议采用JavaFX组件)。
项目图形界面所涉及了容器、组件、布局知识,在设计图形界面前,可以再回顾下以上知识(建议采用较智能的开发工具如:Eclipse等)。
4项目功能实现每种功能其实就是相应控件的响应事件,所以要根据课程设计要求把各种功能转换成相应组件的响应事件。
如动作事件(ActionEvent)、键盘事件(KeyEvent)、鼠标事件(MouseEvent)、焦点事件(FocusEvent)。
对于比较复杂的功能,先要设计该功能实现的算法和程序流程图,然后再用程序语句去实现。
5项目测试与扩展项目程序设计完以后,运行该项目,一一测试所有项目功能,如有不合要求的话,重新修改程序以达到项目要求。
面向对象课程设计报告

面向对象课程设计报告一、引言面向对象课程设计是计算机科学与技术专业的一门重要课程,通过设计和实现一个完整的面向对象程序,培养学生的面向对象设计思维和编程能力。
本报告旨在介绍我所设计的面向对象课程设计,包括设计背景、需求分析、设计方案、实现细节和测试验证等内容。
二、设计背景本次面向对象课程设计的背景是设计一个学生信息管理系统。
随着教育事业的发展,学校中的学生数量不断增加,学生信息的管理越来越复杂。
传统的学生信息管理方式已经无法满足现代教育管理的需求,需要采用更加高效和智能的信息管理系统。
三、需求分析学生信息管理系统需要具备以下功能:1. 学生信息维护:包括学生基本信息的录入、修改和删除等操作。
2. 成绩管理:包括成绩录入、查询和统计等功能。
3. 课程管理:包括课程信息的录入、查询和修改等操作。
4. 成绩报表生成:根据学生成绩生成报表,方便教师和学校进行评估和分析。
5. 权限管理:不同用户有不同的权限,需要进行用户和权限管理。
四、设计方案根据需求分析,我设计了以下类:1. Student类:表示学生信息,包含学生id、姓名、性别、年龄等属性。
2. Course类:表示课程信息,包含课程id、名称、教师等属性。
3. Grade类:表示学生成绩,包含学生id、课程id、分数等属性。
4. User类:表示系统用户,包含用户id、用户名、密码等属性。
5. Report类:表示成绩报表,包含学生id、课程id、平均分等属性。
6. System类:表示学生信息管理系统,包含各种操作方法。
五、实现细节1. 数据存储:使用数据库来存储学生信息、课程信息、成绩信息和用户信息等数据。
2. 数据库设计:根据类的属性设计数据库表结构,每个类对应一个表,表中的字段对应类的属性。
3. 系统界面:设计一个图形界面,方便用户进行操作,包括学生信息录入、成绩查询、课程管理等功能。
4. 系统功能实现:根据需求设计各个功能的实现方法,包括学生信息维护、成绩管理、课程管理等操作。
面向对象课程设计

面向对象 课程设计一、课程目标知识目标:1. 让学生掌握面向对象编程的基本概念,如类、对象、属性、方法等;2. 使学生了解面向对象编程的特点,如封装、继承、多态等;3. 帮助学生理解面向对象编程在实际应用中的优势。
技能目标:1. 培养学生运用面向对象编程思想进行问题分析、设计和解决问题的能力;2. 让学生熟练使用面向对象编程语言(如Java、C++等)编写简单的程序;3. 提高学生在团队项目中运用面向对象技术进行协作的能力。
情感态度价值观目标:1. 培养学生对计算机科学的兴趣和热爱,增强其学习动力;2. 培养学生具备良好的编程习惯,注重代码规范和可读性;3. 培养学生面对编程挑战时的积极态度和解决困难的信心。
课程性质:本课程为计算机科学学科的一门核心课程,旨在帮助学生建立面向对象的编程思想,提高编程技能。
学生特点:学生已具备一定的编程基础,具有一定的逻辑思维能力,但面向对象编程概念尚不熟悉。
教学要求:结合学生特点,通过讲解、实践和案例分析,使学生在理解面向对象编程基本概念的基础上,能够运用所学知识解决实际问题。
教学过程中注重培养学生的动手能力和团队协作能力,提高其编程兴趣和自信心。
将课程目标分解为具体的学习成果,以便进行后续的教学设计和评估。
二、教学内容1. 面向对象基本概念:类、对象、属性、方法、构造函数等;教材章节:第一章 面向对象编程基础2. 面向对象特性:封装、继承、多态;教材章节:第二章 面向对象特性3. 面向对象设计原则:单一职责、开闭原则、里氏替换原则等;教材章节:第三章 面向对象设计原则4. 面向对象编程语言:以Java为例,介绍类与对象的定义、方法的使用、继承与多态的实现;教材章节:第四章 Java面向对象编程5. 面向对象编程实例分析:分析并实现一个简单的面向对象程序,如学生管理系统;教材章节:第五章 面向对象编程实例6. 面向对象编程实践:通过团队项目,培养学生运用面向对象技术进行协作和解决问题的能力;教材章节:第六章 面向对象编程实践教学内容安排和进度:第1周:面向对象基本概念;第2周:面向对象特性;第3周:面向对象设计原则;第4周:Java面向对象编程;第5周:面向对象编程实例分析;第6-8周:面向对象编程实践。
面向对象技术----uml课程设计-在线选课系统

教务管理员可以修改已经添加的课程,
前置条件
教务管理员已被识别和授权
后置条件
教务管理员修改课程后,更新数据库
主事件流
1.教务管理员选择进入管理界面,用例开始。
2.系统提示输入教务管理员密码。
3.教务管理员输入密码。
4.系统验证密码。
A1:密码错误
5.进入管理界面,系统显示目前所建立的全部课程信息。
主事件流
1.教务管理员选择进入管理界面,用例开始。
2.系统提示输入教务管理员密码。
3.教务管理员输入密码。
4.系统验证密码。
A1:密码错误
5.进入管理界面,系统显示目前所建立的全部课程信息。
6.教务管理员选择添加课程。
7.系统提示输入新课程信息。
8.教务管理员输入信息。
9.系统验证是否和已有课程冲突。
用活动图来描述系统中已知用例的业务过程
1)使用活动图对选课用例或相关用例进行描述。
添加课程用例的活动图
选课用例的活动图
2)使用活动图对建立选修课程目录表用例进行描述。
3
(一)本次目的
1)理解类的基本概念;
2)掌握如何从需求分析中抽象出类的方法及关系;
3)掌握在Rational Rose中绘制类的操作方法。
3)掌握在Rational Rose中绘制交互图的操作方法。
(二)要求请完成如下任务
1)阅读用例建模得到的用例文档说明和用例图。
People:Student类和Registrar类的父类。
学生(Student):学生相关操作的类。
教务管理员(Registrar):进行学生管理、教师管理、课程管理的类。
(二)要求请完成如下任务
通过这用例图和活动图我们可以初步了解系统的业务处理流程。现在需要对系统进行静态建模,这就需要从系统的用例图、活动图去寻找和发现重要概念和对象,定义类及关系,使用ROSE创建类图。请完成如下任务:
面向对象方法课程设计

面向对象方法课程设计一、教学目标本课程的教学目标是使学生掌握面向对象的基本概念和方法,能够运用面向对象的思想分析和设计问题,具备一定的软件设计能力。
1.了解面向对象的基本概念,如对象、类、继承、封装、多态等。
2.掌握面向对象的程序设计方法,能够运用面向对象的思想解决实际问题。
3.能够使用面向对象的编程语言(如Java、C++等)进行程序设计。
4.具备分析问题、设计类和对象的能力,能够编写结构清晰、可维护的代码。
情感态度价值观目标:1.培养学生的团队合作意识,能够积极参与小组讨论和项目开发。
2.培养学生对软件工程的热爱和敬业精神,提高他们对编程工作的认识和兴趣。
二、教学内容本课程的教学内容主要包括面向对象的基本概念、面向对象的程序设计方法、类的创建和对象的使用、继承和多态的运用等。
具体的教学大纲如下:1.面向对象的基本概念:介绍对象、类、封装、继承、多态等基本概念,使学生了解面向对象的基本思想。
2.面向对象的程序设计方法:讲解如何使用面向对象的思想分析和设计问题,如何将面向对象的概念应用到实际的编程中。
3.类的创建和对象的使用:介绍如何创建类和对象,如何通过类的属性和方法实现对对象的操作。
4.继承和多态的运用:讲解继承的概念和作用,如何通过继承实现代码的复用;介绍多态的原理和应用,使学生能够灵活运用多态解决问题。
三、教学方法本课程采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解面向对象的基本概念和程序设计方法,使学生掌握相关知识。
2.讨论法:学生进行小组讨论,分享对面向对象的理解和应用经验,提高学生的团队合作能力。
3.案例分析法:分析实际项目中的面向对象设计案例,使学生了解面向对象在实际工作中的应用。
4.实验法:安排编程实验,让学生动手实践,巩固面向对象程序设计的技能。
四、教学资源本课程所需的教学资源包括教材、参考书、多媒体资料和实验设备。
面向对象培训课程设计

面向对象培训课程设计一、教学目标本课程的教学目标是让学生掌握面向对象编程的基本概念、原理和应用,培养学生独立思考、解决问题的能力,提高学生的编程技能和软件开发素养。
具体分为以下三个部分:1.知识目标:(1)理解面向对象编程的基本概念,如类、对象、封装、继承、多态等。
(2)熟悉常用编程语言的面向对象特性,如Java、C++、Python等。
(3)掌握面向对象编程的常用设计原则和设计模式。
2.技能目标:(1)能够运用面向对象编程思想编写简单的程序。
(2)具备分析问题、设计类和对象的能力。
(3)熟练使用面向对象编程语言进行软件开发。
3.情感态度价值观目标:(1)培养学生对编程的兴趣和热情,提高学生自主学习的积极性。
(2)培养学生团队合作精神,提高学生沟通与协作能力。
(3)培养学生具有良好的职业道德,树立正确的软件开发观念。
二、教学内容本课程的教学内容主要包括以下几个部分:1.面向对象编程基本概念:类、对象、封装、继承、多态等。
2.常用编程语言的面向对象特性:Java、C++、Python等。
3.面向对象编程的设计原则:单一职责原则、开闭原则、里氏替换原则等。
4.面向对象编程的设计模式:工厂模式、单例模式、观察者模式等。
5.面向对象编程的实际应用:软件开发流程、项目实战等。
三、教学方法本课程采用多种教学方法相结合,以提高学生的学习兴趣和主动性:1.讲授法:讲解基本概念、原理和设计模式。
2.案例分析法:分析实际项目案例,让学生了解面向对象编程在实际应用中的重要性。
3.实验法:让学生动手编写代码,培养实际编程能力。
4.讨论法:分组讨论问题,培养学生团队合作和沟通能力。
四、教学资源本课程所需教学资源包括:1.教材:选用权威、实用的教材,如《Java核心技术》、《C++ Primer》等。
2.参考书:提供丰富的参考书籍,以便学生深入研究。
3.多媒体资料:制作精美的PPT、教学视频等,辅助学生理解。
4.实验设备:提供计算机、编程环境等,让学生动手实践。
vs2017课程设计

vs2017课程设计一、课程目标知识目标:1. 让学生掌握VS2017的基本操作和界面布局,了解其功能特点。
2. 使学生掌握使用VS2017进行C++程序设计的基本方法,包括编写、编译和调试程序。
3. 帮助学生了解面向对象编程的基本概念,如类、对象、继承和封装。
技能目标:1. 培养学生运用VS2017进行程序设计和调试的能力,提高编程效率。
2. 培养学生分析问题、解决问题的能力,能够运用所学知识编写简单的应用程序。
3. 培养学生团队协作和沟通能力,能够与同学共同完成编程任务。
情感态度价值观目标:1. 激发学生对编程的兴趣和热情,培养良好的编程习惯。
2. 培养学生勇于尝试、不断探索的精神,面对编程难题不轻言放弃。
3. 增强学生的自信心,使其相信自己具备解决复杂问题的能力。
课程性质:本课程为实践性较强的课程,注重培养学生的动手能力和实际编程技能。
学生特点:六年级学生具备一定的计算机操作能力,对新事物充满好奇,但编程基础薄弱。
教学要求:结合学生特点,采用任务驱动和案例教学相结合的方法,以实际操作为主,注重培养学生的编程思维和解决问题的能力。
在教学过程中,关注学生的个体差异,给予不同层次的学生适当指导,使他们在原有基础上得到提高。
通过本课程的学习,使学生能够达到上述课程目标,为后续编程学习打下坚实基础。
二、教学内容1. VS2017概述- 简介:使学生了解VS2017的发展历程、功能和优势。
- 界面布局:学习VS2017的菜单栏、工具栏、编辑区、输出窗口等基本组成部分。
2. C++基础编程- 数据类型、变量和常量:掌握基本数据类型、定义变量和常量的方法。
- 运算符和表达式:学习各种运算符的使用和表达式的构成。
- 控制结构:了解顺序结构、分支结构和循环结构,学会使用if、switch、for、while等语句。
3. 面向对象编程基础- 类和对象:学习类的定义、成员变量和成员函数,了解对象的创建和使用。
- 继承与封装:了解继承的概念,掌握封装的基本方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象技术》课程设计
一、课程设计的目的与要求
1、教学目的
本课程设计是《面向对象程序设计》课程的组成之一,也是它的继续和延伸,为使该课程取得更好的教学效果而设置,使学生通过参加小型软件的开发过程,进一步掌握面向对象的程序设计方法,巩固和补充课堂讲授的理论知识,训练学生初步的综合分析问题和程序设计能力,综合运用所学的理论知识解决实际问题的能力,分析和总结面向对象程序设计的能力。
使学生具有团队协作精神,并培养学生的创新能力和创新意识。
2、基本要求:
1.采用面向对象方法(抽象、类、继承、多态性)进行分析、设计、编程。
2.提交开发程序的源代码和技术文档;
3.达到设计要求,并完成技术答辩。
课程设计报告应包含以下八个内容。
一、题目简介
二、系统概述
对系统要实现的功能,设计的特点进行扼要的描述,以及团队成员分工。
三、系统设计
要求使用类图(类图描述了系统中的类及其相互之间的继承、组合等关系)、对象图加以描述.
四、关键技术(关键类/对象/变量/函数/算法...)
五、效果及存在问题
说明系统的运行效果(附上运行界面图片),存在哪些不足以及预期的解决办法。
六、心得体会
谈谈自己在课程设计过程中的心得体会。
七、附录
附上各功能模块的主要代码。
八、参考文献
列出各种参考文献,包括参考书目,论文和网址等。
二、课程设计的内容与安排
1、选题范围
所选题目必须能够实现一个完整意义上的应用系统,但题目名称与具体功能不限。
学生可根据自身的兴趣,特点等进行选题。
所选题目可与以下知识点结合:类定义与对象访问,类的派生与继承,重载,菜单,工具栏,对话框,文档结构,文件操作,图形操作,多媒体技术,数据库操作等。
要充分运用C#语言描述所设计的类,如图形图像类,工具类,游戏背景画面类,细胞类,题目类,飞行器类等,每一个类应包含数据成员和成员函数,设计基类和派生类,并运用多态性和虚函数的知识。
2、课程设计步骤
(1)、根据个人兴趣,爱好,以及课程设计的时间要求,确定设计题目的名称;
(2)、查找与设计题目相关的资料;
(3)、进行应用程序总体结构,使用功能的设计;
(4)、进行应用程序的界面设计和源程序代码的编写;
(5)、上机编辑,调试程序;
(6)、实践设计报告的撰写。
3、课程设计时间
本课程设计原时间安排是18周,在一周内完成设计任务并提交成果。
由于教学安排的时间将近考试周,为同学们更好地安排复习计划,可由同学灵活掌握。
课程设计考核(检查,答辩)在开学第一周内完成
4、选题
以下给出若干选题,具体功能自行扩展完善:
1)、即时通讯(IM)
至少有如下功能:
✓可以通过IP地址和端口号向其他计算机发送信息,一般从好友列表中选择其他计算机的IP地址和端口号。
✓随时侦听是否有其他计算机的连接请求,并显示接受的信息。
✓当成功地接受到其他计算机P2P终端的信息,要将该P2P终端的IP地址和端口号增加到好友列表中。
✓允许使用者手工增加好友P2P终端的IP地址和端口号。
✓好友名称、密码;建立服务器保存登录信息;在线状态…
✓好友列表保存到文件或数据库
✓收到的消息列表同时显示自己说的话
✓收发的消息保存到文件或数据库
✓收发指定文件
增选功能举例:
✓建立群组
2)客户信息管理系统
用来管理客户的基本信息、销售员信息、商品信息、购买信息、售后信息及客户售后信息。
允许客户、销售员和管理员通过前台程序,对数据库进行操作:
客户只能查询自己的基本信息、购买信息;对购买的商品提出售后问题。
销售员可以录入客户的信息、商品的信息、客户的购买信息;可以回复售后问题。
可以查询自己录入的信息。
管理员可以增加、修改销售员信息;对客户、销售员、商品、购买、售后信息进行条件查询、汇总、排序。
(注意:修改、删除时保持引用完整性)
3)多媒体音乐播放器,功能要求
a)能选择音乐文件,定义播放列表,可执行循环,随机顺序播放;
b)能够调整音量大少,控制播放进度;
c)能够显示歌词,并能与播放同步。
4)自选题目
例如:一些电脑小游戏开发(设计的重点是突出面向对象方法的运用,所以游戏并不需要太大型,选择常见的熟悉的来自己做一个,如五子棋,扑克牌游戏等)
三、课程设计的教学安排
课程设计可单独完成,或组队(限2人;自愿组队,小组通过讨论确定选题,并分工合作)完成该项目。
在课程设计中,充分发挥主动性和创造性,通过检索资料,分析调查来获取
信息,对资料进行分析,讨论,概括总结并最终得出结论,解决问题。
课程设计强调的是学习过程而不是结果,同学们若遇到问题,应积极解决,当问题获得解决的同时自身的能力也得到提高:
首先,应自主利用互联网资源找出解决办法,这是提高独立科研能力的重要锻炼;
其次,同学之间应积极交流讨论;相互学习,取长补短,在讨论中往往能激发创作力,从而有效提升实践能力;
第三,可询问老师,通过电邮,QQ均可,教师在整个学习过程中只是起指导性作用。
四、课程设计的成绩评定
课程设计强调参与开发的全过程,而不只是最后的结果。
评分方法绝不是一个小组统一给分,而是针对每个同学所做出的贡献分别评分。
依据主要是软件分析与设计的合理性,完整性及程序执行的正确性,根据系统设计和每个同学报告的质量评定成绩,系统设计占30%,报告占40%,答辩30%。
课程设计的评定标准如下: 系统设计合理(合理地运用面向对象方法,对用户的误操作有容错性),有一定的实用性或趣味性,逻辑性强,界面友好;报告要求层次清晰,文字流畅,重点突出。
成绩分优,良,中,及格,不及格五等。
学生应提交课程设计报告,设计文档和源程序,并进行答辩。
过程
学习委员在放假之前将分组及选题情况Email给老师
先提交电子版到113391@,
邮件标题请按格式要求填写:
(xx14)班第i组_题目(成员1_成员2)
开学进行答辩,(如果需要的话,完成修改)再交打印稿;
学习委员将本班的课程设计源码和报告文档刻录出CD给老师。