面向对象程序的设计说明书与程序(日历记事本)
系统设计说明书模板(面向对象方法)
《项目名称》--设计说明小组名称:设计说明目录1 概述 (1)1.1 编写目的 (1)1.2 参考资料 (1)1.3 术语和缩写词* (1)2 需求概述 (1)3 结构设计 (1)3.1 总体设计 (1)3.2 功能分配 (1)3.3 接口设计 (1)3.4 数据结构设计 (1)3.4.1 公共数据结构设计 (1)3.4.2 数据库设计 (1)3.4.3 数据结构同程序的关系* (2)3.5 出错处理设计* (2)3.6 其它* (2)4 类的设计 (2)4.1 类1设计 (2)4.1.1 功能说明 (2)4.1.2 属性说明 (2)4.1.3 公有方法说明 (2)4.1.4 私有方法说明 (2)4.2 类2设计 (2)4.2.1 功能说明 (2)4.2.2 属性说明 (2)4.2.3 公有方法说明 (2)4.2.4 私有方法说明 (2)5 用例实现的设计 (3)5.1 用例1设计 (3)5.1.1 功能说明 (3)5.1.2 界面设计 (3)5.1.3 交互设计 (3)5.2 用例2设计 (3)5.2.1 功能说明 (3)5.2.2 界面设计 (3)5.2.3 交互设计 (3)【注】本编写指南中带有“*”标志的表示可选部分,即在文档编写过程中可以依据实际项目的具体情况进行取舍,文档完成后这些“*”标记应该去掉。
1 概述1.1 编写目的本文档的编写目的是:详细定义×××××软件的总体功能;给出系统的结构设计和过程设计,作为程序编写的依据。
1.2 参考资料包括:a. 项目来源;b. 本文档中引用到的规范和资料等;c. 列出这些规范和资料的作者、编号、标题、发表日期、出版单位或资料来源。
1.3 术语和缩写词*列出本文档中用到的专门术语的定义和缩写词,缩写词要给出中文译名和英文全称,常用的不需要定义。
2 需求概述概述系统的特性和需求,扩充软件需求说明中的信息,给出增加的细节,详尽地指出对软件需求说明中有关特性和需求作出的变更。
面向对象程序课程设计任务书
面向对象程序设计课程设计任务书课程性质:设计总学时数:1周适用专业:软件工程10 1-6嵌软10 1-2软件学院2012-6一、课程设计目的和任务《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。
其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。
二、设计内容和基本要求设计任务书提供设计题目供学生选择。
在指导教师同意的情况下,学生也可以自己选择感兴趣的设计题目,以调动学生参加创新设计的积极性和创造性,给学生充分的自主空间。
基本要求:•设计工作量为完成一个中小型规模的软件和1份软件设计报告书•设计必须根据进度计划按期完成三、课程设计参考题目以下题目列出的仅为完成的基本功能,可根据需要完善与课题相关的其他功能。
以下题目涉及窗体的设计、菜单设计、数据库设计、文件的读写等多种编程的实现,根据题目的要求自行进行编程设计。
1、设计一个GUI猜数字游戏程序该游戏可以由程序随机产生四个0到9之间的整数,且不重复。
玩游戏者通过由用户输入四个数字来匹配上面所产生的数字。
A表示位置正确且数字正确,B表示数字正确而位置不正确。
假设随机数据为3792 时,分析如下数据:3792输入:1234 0A2B输入:5678 0A1B输入:0867 0A1B输入:9786 1A1B输入:1794 2A0B输入:2793 2A2B输入:3792 4A0B2、编写一个记事本程序,要求如下:(1)用图形用户界面实现。
(2)能实现编辑、保存、另存为、查找替换等功能。
提示:使用文件输入输出流。
3、设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。
要求如下:(1)具有简单的录入,查询和修改功能。
(2)修改学生信息必须输入学号,然后对姓名、性别和专业等进行修改;(3)使用文件存储数据。
详细设计说明书(面向对象)
XXX子系统或模块详细设计说明书顺丰速运(集团)有限公司版本历史记录目录1.引言........................................................................................................................................................... - 4 -1.1编写目的 . (4)1.2文档范围 (4)1.3读者对象 (4)1.4参考文献 (4)1.5术语与缩写解释 (4)2.子系统N详细设计.................................................................................................................................... - 4 -2.1子系统概述 (4)2.2子系统依赖关系 (4)2.3子系统总体结构 (5)2.4模块N设计说明 (6)2.4.1模块描述 .................................................................................................................................. - 6 -2.4.2功能.......................................................................................................................................... - 6 -2.4.3*性能 ............................................................................................................................................ - 6 -2.4.4关键算法 .................................................................................................................................. - 6 -2.4.5模块构成 .................................................................................................................................. - 6 -2.4.5.1Class 关系图 ....................................................................................................................................... - 7 -2.4.5.2Class构成说明 ..................................................................................................................................... - 8 -2.4.6主要数据结构 .......................................................................................................................... - 9 -2.4.7界面设计 .................................................................................................................................. - 9 -2.4.8*尚未解决的问题 ........................................................................................................................ - 9 -1.引言1.1编写目的{本详细设计说明书是针对XXX系统而编写。
详细设计说明书(面向对象)
XXX子系统或模块详细设计说明书顺丰速运(集团)有限公司版本历史记录目录1.引言........................................................................................................................................................... - 4 -1.1编写目的 . (4)1.2文档范围 (4)1.3读者对象 (4)1.4参考文献 (4)1.5术语与缩写解释 (4)2.子系统N详细设计.................................................................................................................................... - 4 -2.1子系统概述 (4)2.2子系统依赖关系 (4)2.3子系统总体结构 (5)2.4模块N设计说明 (6)2.4.1模块描述 .................................................................................................................................. - 6 -2.4.2功能.......................................................................................................................................... - 6 -2.4.3*性能 ............................................................................................................................................ - 6 -2.4.4关键算法 .................................................................................................................................. - 6 -2.4.5模块构成 .................................................................................................................................. - 6 -2.4.5.1Class 关系图 ....................................................................................................................................... - 7 -2.4.5.2Class构成说明 ..................................................................................................................................... - 8 -2.4.6主要数据结构 .......................................................................................................................... - 9 -2.4.7界面设计 .................................................................................................................................. - 9 -2.4.8*尚未解决的问题 ........................................................................................................................ - 9 -1.引言1.1编写目的{本详细设计说明书是针对XXX系统而编写。
面向对象软件设计说明书模板
面向对象软件设计说明书模板1 概述1.1 系统简述对系统要完成什么,所面向的用户以及系统运行的环境的简短描述,这部分主要来源于需求说明书的开始部分。
1.2 软件设计目标这部分论述整个系统的设计目标,明确地说明哪些功能是系统决定实现而哪些时不准备实现的。
同时,对于非功能性的需求例如性能、可用性等,亦需提及。
需求规格说明书对于这部分的内容来说是很重要的参考,看看其中明确了的功能性以及非功能性的需求。
这部分必须说清楚设计的全貌如何,务必使读者看后知道将实现的系统有什么特点和功能。
在随后的文档部分,将解释设计是怎么来实现这些的。
1.3 参考资料列出本文档中所引用的参考资料。
(至少要引用需求规格说明书)1.4 修订版本记录列出本文档修改的历史纪录。
必须指明修改的内容、日期以及修改人。
2 术语表对本文档中所使用的各种术语进行说明。
如果一些术语在需求规格说明书中已经说明过了,此处不用再重复,可以指引读者参考需求说明。
3 用例此处要求系统用用例图表述(UML),对每个用例(正常处理的情况)要有中文叙述。
4 设计概述4.1 简述这部分要求突出整个设计所采用的方法(是面向对象设计还是结构化设计)、系统的体系结构(例如客户/服务器结构)以及使用到的相应技术和工具(例如OMT、Rose)4.2 系统结构设计这部分要求提供高层系统结构的描述,使用方框图来显示主要的组件及组件间的交互。
最好是把逻辑结构同物理结构分离,对前者进行描述。
别忘了说明图中用到的俗语和符号。
4.2.1 顶层系统结构4.2.2 子系统1结构4.3 系统界面各种提供给用户的界面以及外部系统在此处要予以说明。
如果在需求规格说明书中已经对用户界面有了叙述,此处不用再重复,可以指引读者参考需求说明。
如果系统提供了对其它系统的接口,比如说从其它软件系统导入/导出数据,必须在此说明。
4.4 约束和假定描述系统设计中最主要的约束,这些是由客户强制要求并在需求说明书写明的。
面向对象程序的设计实验手册范本
《面向对象程序设计》实验手册实验一熟悉Java编程环境和Java程序结构一、实验目的:熟悉JDK环境变量的配置,通过简单的程序设计熟悉Java编程环境,初步认识Java的两种程序结构。
二、实验容:去SUN公司下载正确的JDK安装程序。
安装JDK,并且配置环境变量。
在JDK环境下编写一简单输出程序,用application的方式实现。
在JDK环境下编写一简单的applet,用IE浏览器以及小程序查看程序查看执行结果。
验证书本上例题c2_1.java—c2_5.java,调试简单的拼写错误。
三、实验要求:1. 熟练掌握JDK环境变量的配置;2. 分别编写application和applet输出一条简单的问候信息;3. 验证书本上例题c2_1.java—c2_5.java,调试简单的拼写错误。
3. 写出实验报告,要求对程序结构做出相应的解释。
四、实验学时:2学时五、实验步骤:1.浏览java.sun.,找到正确的JDK安装程序下载地址;2. 配置环境变量,正确设置path和classpath;3. 利用文本编辑器编写application,实现在控制台输出简单的问候信息;4. 编译运行程序,观察运行情况和输出结果。
(如果使用JDK环境,调用javac.exe和java.exe编译和执行程序)5.利用文本编辑器编写applet,实现在applet容器中打印简单的问候语;6.编写网页嵌入编译后的applet字节码,用IE和appletviewer浏览输出结果。
7. 验证书本上例题c2_1.java—c2_5.java,调试简单的拼写错误。
实验二 Java语言基础训练一、实验目的:熟悉Java基本语法,练习使用Java的数据类型和控制结构。
二、实验容:1、编写Java程序,输出1900年到2000年之间的所有润年。
2、编写Java程序,打印100以所有素数,要求每行打印5个素数。
3、编写Java程序,要求用switch结构实现由键盘输入的成绩的等级判定,判定标准:>=90为“A”,[70,90)为“B”,[60,70)为“C”,<60为“D”。
面向对象程序设计课程设计java日历
软件学院课程设计报告书课程名称《面向对象程序设计》课程设计设计题目 java日历专业班级学号姓名指导教师徐娇月2020 年 12 月目录1 设计时刻..................................... 错误!未定义书签。
2 设计目的..................................... 错误!未定义书签。
3设计任务..................................... 错误!未定义书签。
4 设计内容..................................... 错误!未定义书签。
概念设计....................................... 错误!未定义书签。
系统功能图.................................... 错误!未定义书签。
需求分析...................................... 错误!未定义书签。
设计思路....................................... 错误!未定义书签。
详细设计....................................... 错误!未定义书签。
类设计......................................... 错误!未定义书签。
界面设计....................................... 错误!未定义书签。
功能实现....................................... 错误!未定义书签。
运行调试与分析讨论............................. 错误!未定义书签。
运行结果和分析................................. 错误!未定义书签。
改良方式....................................... 错误!未定义书签。
面向对象程序设计(C++)课程教学日历
1学时
作业10
实验十
第11章流类库与输入/输出
2学时
2学时
作业11
实验十一
15
第12章异常处理
1学时
1学时
作业12
实验十二
16
大作业答辩
(东主楼机房,时间另行通知)
注:作业文件见网络学堂及清橙考试系统,实验见《C++语言程序设计(第4版学生用书)》
实验四
7
期中测验
1学时
第5章 数据的共享与保护
1学时
2学时
作业5
实验五
8
第6章数组、指针与字符串
4学时
4学时
作业6
实验六
9
10
第7章继承与派生
2学时
2学时
作业7
实验七
11
第8章多态性
2学时
2学时
作业8
实验八
12
第9章群体类和群体数据的组织
4学时
4学时
作业9
实验九
13
14
第10章泛型程序设计与C++标准模板库
面向对象的程序设计(C++)2012秋季学期教学日历
周次
教学内容
讲课学时
实验学时
作业
实验
1
C++开发环境介绍及程序举例
2学时
2学时
2
第1章绪论
1学时
2学时
作业1
实验一
第2章 C++简单程序设计
3学时
2学时
作业2
实验二
34“十一”放假源自5第3章函数2学时
2学时
作业3
实验三
详细设计说明书(面向对象)
课程设计报告图书管理系统——详细设计说明书学生姓名陈星专业软件工程班级学号指导教师王红玲1.编写目的系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。
本系统主要实现对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的信息等。
本系统结构分为读者信息管理模块,书籍信息管理模块,借阅信息管理模块,管理者信息管理模块。
读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护。
书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护。
借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。
管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。
可见,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。
2项目背景项目名称:图书管理系统本项目提出者:X图书馆开发者:杨波,陈星,金尚亮,周成龙3参考资料《软件工程》.总体设计1.系统体系结构分析系统的总体设计遵循如下的原则。
1)系统应具有良好的适应性:能适应用户对系统的软件环境、管理内容、模式和界面的要求;2)系统应具有可靠性:采用成熟的技术方法和软件开发平台,以保证系统在以后的应用中安全、可靠;3)系统应具有较好的安全性:应提高安全机制和用户权限限制机制的完善程度,确保数据的受限访问;4)系统应具有良好的可维护性:系统应易于维护、安装;5)系统应具有良好的可扩展性:系统应适应未来信息化的要求,能方便地进行功能扩展,以建立完善的信息集成管理体系。
2.界面设计本系统的部分界面设计如下:(1) 用户登录界面(2)信息管理主界面(3)新书入库和查询主界面(4)借书还书管理界面其余设计界面详见程序.3.关键模块的功能、结构系统主要包括以下几个基本模块。
(1)基本数据维护模块。
基本数据维护模块提供了使用者录入、修改并维护基本数据的途径。
例如对借阅者的、书籍的各项信息的更改与修改。
《面向对象程序设计(Java)》教学日历
《面向对象程序设计(Java)》教学日历一、课程教学目的理论上要求学生:1.掌握Java面向对象程序设计思想与方法;2.掌握类、继承、多态、接口等面向对象核心概念与相关技术;3.掌握Java API的层次结构及使用方法,熟习常用API的使用;4.掌握Java的异常处理与输入输出处理;5.掌握Java图形用户界面开发方法与技术;6.掌握使用Eclipse集成开发环境开发Java程序的基本方法。
7.掌握JDBC数据库系统开发方法与技术。
技能上要求学生:1.熟练应用Java语言语法进行Java应用程序设计;2.熟练使用面向对象方法进行程序设计;3.能熟练使用JDK1.6 API来进行Java程序的开发;4.熟练使用Eclipse集成开发工具开发Java程序;5.能开发Java图形用户界面程序和数据库应用程序;二、教学方法和手段采用以学生为主体、以项目为载体的“两段三式”教学方法,两段指根据课程的目标和内容特点将课程分为面向对象编程基础部分和Java应用系统开发部分。
面向对象程序设计部分内容具有理论性较强且比较抽象的特点,采用“案例分析、问题引入─>相关知识、实例演示—>实战演练、总结提高”的教学模式进行教学。
应用开发部分内容强调应用能力的培养,因此,采用“单元专题项目引入—>相关知识、单元项目实现—>实战演练或单元拓展项目开发”的教学方式进行组织。
单元项目是针对每个单元主题设计的项目,针对性强,适合课堂教学;单元拓展项目是贯穿单元的综合性项目,培养学生的综合应用与开发能力。
三、课程考核方法课程采用形成性考核方式,由平时形成性考核成绩、课程笔试和拓展项目开发三部分组成。
全面考核学生的面向对象程序设计基础理论学习情况与应用开发能力。
平时考核主要考察学生平时学习态度、课堂学习表现、作业完成情况及单元测试结果,占总成交的40%;期末课程笔试主要考核学生对课程基础部分内容掌握情况,占总成交的30%;拓展项目开发主要考核学生应用Java进行C/S应用系统开发的能力,占总成绩的30%。
《面向对象程序设计》课程设计任务书
《面向对象程序设计》课程设计任务书一、课程设计目的《面向对象程序设计》是一门重要的计算机专业课程,通过本课程设计,旨在让学生更深入地理解和掌握面向对象程序设计的基本概念、原理和方法,提高学生运用面向对象技术解决实际问题的能力。
具体而言,课程设计的目的包括以下几个方面:1、巩固和加深学生对面向对象程序设计中类、对象、继承、多态等核心概念的理解,培养学生的抽象思维和逻辑思维能力。
2、让学生熟悉面向对象程序设计的开发流程,包括需求分析、设计、编码、测试和维护等阶段,提高学生的软件开发能力。
3、培养学生运用面向对象编程语言(如 C++、Java 等)进行实际编程的能力,提高学生的代码编写规范和调试能力。
4、培养学生的团队合作精神和沟通能力,让学生在团队中共同完成一个较为复杂的项目,学会分工协作和相互交流。
5、激发学生的创新意识和解决实际问题的能力,让学生能够将所学知识应用到实际场景中,开发出具有一定实用价值的软件系统。
二、课程设计要求1、学生需独立完成课程设计任务,不得抄袭他人成果。
2、课程设计题目应具有一定的实用性和挑战性,能够涵盖面向对象程序设计的主要知识点。
3、学生在进行课程设计时,应严格按照面向对象的方法进行分析、设计和实现,确保程序的结构清晰、可读性强、可维护性好。
4、学生需提交课程设计报告,报告内容应包括需求分析、总体设计、详细设计、编码实现、测试结果以及总结等部分。
5、课程设计报告应书写规范、条理清晰、图表完整、数据准确。
三、课程设计题目以下是几个可供选择的课程设计题目,学生可根据自己的兴趣和实际情况选择其中一个进行设计:题目 1:学生成绩管理系统设计一个学生成绩管理系统,能够实现对学生成绩的录入、查询、修改、统计等功能。
系统应具备良好的用户界面,方便用户操作。
题目 2:图书管理系统设计一个图书管理系统,能够实现对图书的入库、借阅、归还、查询等功能。
系统应能够记录图书的基本信息、借阅记录以及读者信息等。
Java开发日历记事本
E m i xj cc e. — a : s@cc. t n l l n c
h t :ww d z .e .n t / w.n sn t p/ o
Te h+8 55l 56 96 56 09 4 6— 一 90 3 9 6
C m ue K o  ̄d ea d T c n l y电脑 知识 与技术 o p tr n we g n e h o g o
号 码 排 列算 法 : 方 法包 含 两 个 整 形 参 数 , 该 分别 是 星期 几 和 月 天数 。该 方法 的作 用是 将 日期 一 次 排 列 人 日历 牌 的 网格 中 , 日期
2算 法描述
主 类 的算 法 :a n aP d类 首先 创 建 用 于 布 局 的 面 板 , 面 添 加 日历 牌 , 面 添加 记事 本 。然后 调 用 C ln aPd方 法 , 方 法 C l dra e 左 右 a d ra e 该
有 三 个 分 别 是 y a, n , a e r mo t d y的整 形 参 数 。该 方 法 管 理 日历 记 事 本 的 主 界 面 。在 E历 牌 部 分 使 用 网格 布 局 , h t 行数 和列 数 均 为 7 。其 中第 一 行 显示 星期 标 题 的标 签 . 续 六 行 显 示 日期 的标 签 。 后
g g .Thebai unc on fCae d rh v r w s a a em odfe . ua e s f t so l n a a e b o e nd d t c i i d The i bai unci so N o e a v np , a ,d lt ,ve . scf ton .f t p d ha e i ut sve ee e iw
java桌面课程设计记事本
java桌面课程设计记事本一、教学目标本课程的目标是让学生掌握Java语言实现桌面应用程序的基本技能,通过学习Java语言基础和GUI编程,培养学生的编程能力和解决实际问题的能力。
在知识目标方面,要求学生掌握Java语言基本语法、面向对象编程思想、常用类库和GUI组件的使用。
在技能目标方面,要求学生能够独立设计并实现一个桌面记事本应用程序,掌握Java编程的基本流程。
在情感态度价值观目标方面,培养学生的团队合作意识,提高学生解决问题的能力,使学生认识到计算机编程在实际应用中的重要性。
二、教学内容本课程的教学内容主要包括Java语言基础、面向对象编程、GUI编程和桌面应用程序设计。
具体包括以下几个部分:1.Java语言基础:Java语言的基本语法、数据类型、运算符、控制结构、数组、字符串等。
2.面向对象编程:类与对象、封装、继承、多态、接口、集合等。
3.GUI编程:Swing组件、事件处理、布局管理、菜单栏、工具栏等。
4.桌面应用程序设计:记事本应用程序的需求分析、设计、实现和测试。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式。
包括:1.讲授法:讲解Java语言基础、面向对象编程和GUI编程的基本概念和原理。
2.案例分析法:分析典型的桌面应用程序案例,引导学生学会分析问题和解决问题。
3.实验法:让学生动手编写代码,实现桌面记事本应用程序,提高学生的实际操作能力。
4.讨论法:学生进行小组讨论,分享学习心得和经验,培养学生的团队合作意识。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《Java核心技术卷I》、《Java GUI编程》等。
2.参考书:《Java编程思想》、《Effective Java》等。
3.多媒体资料:教学PPT、视频教程、在线代码示例等。
4.实验设备:计算机、网络环境、编程软件(如Eclipse、IntelliJ IDEA等)。
面向对象程序设计说明书及程序(日历记事本)
面向对象程序设计说明书及程序(日历记事本)-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN日历记事本1.课程设计目的通过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用。
使我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。
本课程设计设计GUI界面的日历记事本,系统将日历和记事本结合在一起,可以方便的保存、查看日志,即在任何日期记载下有关内容或查看某个日期记载的内容。
2.设计方案论证设计思路本系统界面的左侧是日历和一幅图像。
该日历可以按年前后翻动,用鼠标左键单击“上年”按钮,可将当前日历的年份减一;用鼠标左键单击“下年”按钮,可将当前日历的年份加一。
该日历还可以在某年内按月前后翻动,用鼠标单击“上月”按钮,可将当前日历的月份减一;用鼠标单击“下月”按钮,可将当前日历的月份增一。
系统界面的右侧是记事本和一个时钟。
用鼠标单击日历上的日期,就可以通过该记事本编辑有关日志,并将日志保存到一个文件。
该文件的名字是由当前日期组成的字符序列。
用户可以查看、删除某个日期的日志,也可以继续向某个日志添加新的内容。
当某个日期有日志时,显示该日期的外观上就会出现“有”标记,表明这个日期有日志;当用户删除某个日期的日志后,该日期的外观上的“有”标记就会消失。
设计方法在设计日历记事本时,需要编写6个Java源文件:、、、、和。
日历记事本除了需要编写的上述6个Java源文件所给出的类外,还需要Java 系统提供的一些重要的类,如JTextField、JTextArea和File类。
主类该类创建动态日历记事本的主窗口,该类含有main方法,是程序的入口程序,CalenderWindow类的成员变量中有5种重要类型的对象,CalendarPad、NotePad、CalendarImage、Clock、CalendarMessage对象。
编写一个记事本程序
南京晓庄学院
面向对象课程设计报告题目编写一个记事本程序
所在院系
学生姓名专业
班级学号
指导教师
年月日
一.总体设计
说明系统功能,介绍系统的文件结构。
1.利用图例说明类的设计。
2.利用表格说明java源文件及其功能。
二、详细设计
详细阐述系统设计思路和过程。
1.类
(1)成员变量见表2
(2)方法见表2-2
(3)源代码见文件***.java 省略。
三.运行效果
1、保存文件
2、复制
3、粘贴
4、剪切
四.实验小结
通过这次设计,我对Java程序设计相关知识有了进一步的理解和学习,使我把平时掌握的java语言基本知识应用于实践中,在实际操作中加深对Java语言的理解。
但在此次实验中,在记事本上的一些功能实现上还存在着很多不足,比如要对文字的查找和替换时,要先选中文字后,才可以进行操作。
此次的实验,让我体会到Java编程在实际生活中应用的广泛与实用性,同时让我也复习了前面所学知识的同时发现在学习中的欠缺与不足,因而使我在今后的
学习中要更加努力。
面向对象软件设计说明书
面向对象软件设计说明书目录1概述 (2)1.1系统简述 (2)1.2软件设计目标 (2)1.3参考资料 (5)2用例 (5)3设计概述 (6)3.1简述 (6)3.2系统结构设计 (6)3.2.1子系统1结构 (8)3.2.2子系统2结构 (8)3.3系统界面 (9)3.4约束和假定 (9)4对象模型 (9)4.1系统对象模型 (9)5对象描述 (10)5.1子系统1中的对象 (10)5.1.1.属性描述: (11)5.1.2方法描述: (11)6动态模型 (12)6.1场景 (13)6.2状态图 (14)7非功能性需求 (14)7.1安全性需求 (14)7.2可用性需求 (14)7.3用户文档 (15)7.4其它需求 (15)7.5未实现功能 (15)1概述1.1系统简述近年来,随着实践教学工作的不断推进,各高校在实验室开放工作中也都积累了丰富的经验,国外出现了很多探讨实验室开放模式的论文成果。
同时随着计算机技术的不断发展,有些高校或软件公司也陆续着手开发此项工作的管理系统。
从系统架构上讲,多数基于B/S架构开发,从功能上讲,有的已可以面向全校师生提供开放性实验信息,而多数则只面向某个专业的学生提供服务,对于跨学院、跨专业实验预约则需要填写专门的申请表或通过其他申请方式来进行。
本设计拟对开放性实验预约管理系统进行设计与实现,该系统主要包括用户管理、实验容管理、实验预约管理、预约执行及结果管理等功能模块。
开发目标是把大量的机械性工作交由计算机处理,同时提供友好的人机界面和人性化的操作方式,使学生、实验室管理员和实验指导教师能够把更多的精力投入到开放性实验活动中去,使学校领导层能够实时了解全校实验室开放工作的进展情况。
本设计的主要用户为学校的实验室管理员,教师,学生和科研单位的实验室管理员以及各实验员。
由于我国国的大部分学校和试验单位的计算机普遍采用Microsoft公司的windows系列操作系统,因此本设计主要运行在windows系列操作系统下,要求为windowsXP及以上版本。
万年历面向对象程序设计
目录一、需求分析 (1)1.1开发背景 (1)1.2运行环境 (1)二、概要设计 (2)2.1程序设计思想 (2)2.2 程序的结构 (3)三、详细设计 (3)四、用户使用说明 (6)五、测试结果 (10)六、课程设计的总结 (10)七、附录和参考资料 (12)一、需求分析1.1 开发背景目前的计算机日历程序,比较典型的是Windows各版本中的日历程序以及基于该程序所开发的各种应用程序中的日历程序。
然而,这些程序都是千遍一律的局限于一个很短的时间内。
但是,很多情况下,特别是在众多的科学领域中,一个时间跨度较大的程序是有参考价值的。
C++程序设计语言充分发挥了其自身无与伦比的优越性,用极短的程序文本就弥补了这一领域的空白。
万年历作为日常中的一种小工具,它具有多方面的小工能,主要在日期的显示上给人以直观的表达效果,在日期的查询上方便简洁,还有就是在某些节日的提醒上都给我们带来极大的方便,是一种比较实用的小工具。
在现代信息社会里,人们越来越重视时间的有效利用,而万年历也成了工作生活中必不可少的一部分,方便实用的万年历对于提高现代人的时间观念,优化时间使用效率具有重要意义。
随着时代的发展,尽管日历的品种增多、花样也不断翻新,但仍旧保持着古老日历的格局。
日历在当今社会的影响也是毋庸置疑的!同时,随着个人电脑的普及,简单的桌面万年历成为人们日常作息及重要事件提醒记录的重要工具。
简易万年历可以运行在电脑桌面上,使用者可以通过各种不同的标记对重要时间及节假日和备忘事件等方面进行有效的查询和管理。
这套系统旨在为用户方便有效地进行重要事件的查询和管理。
本系统采用C++语言编写,接针对简单的有效查询信息化系统。
该系统具有完整的信息查询功能,充分满足了广大用户的基本需求。
1.2运行环境一台安装windows xp、wndows vista、windows 7并且能够运行.exe可执行文件的计算机。
二、概要设计1.1设计的思想程序运行时,在首先给出的菜单中共有7个选项,分别是:1.距离世界末日还有多少天?2.某年的日历3.某年、某月的日历4.某年某月某日是周几5.判断闰年6.计算指定年份的生肖7.退出用户根据需求选择7个阿拉伯数字,程序根据选择做出不同的响应,用户选择1,4时,系统会提示用户输入年份,月份和日子(年份>1900,0<月份<12,天数会根据某个月的情况判断是否符合实际),然后分别输出距离末日的天数和星期几;用户选择2、5、6时,系统会提示用户输入年份,然后通过算法分别输出该年的日历、是否为闰年的信息和该年的生肖;程序还可以直接按月份索取日历,即用户在主菜单中选择3,系统会提示用户依次输入某年和某月,然后输出对应的日历。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
日历记事本1.课程设计目的通过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用。
使我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。
本课程设计设计GUI界面的日历记事本,系统将日历和记事本结合在一起,可以方便的保存、查看日志,即在任何日期记载下有关容或查看某个日期记载的容。
2.设计方案论证2.1设计思路2.1.1 本系统界面的左侧是日历和一幅图像。
该日历可以按年前后翻动,用鼠标左键单击“上年”按钮,可将当前日历的年份减一;用鼠标左键单击“下年”按钮,可将当前日历的年份加一。
该日历还可以在某年按月前后翻动,用鼠标单击“上月”按钮,可将当前日历的月份减一;用鼠标单击“下月”按钮,可将当前日历的月份增一。
2.1.2 系统界面的右侧是记事本和一个时钟。
用鼠标单击日历上的日期,就可以通过该记事本编辑有关日志,并将日志保存到一个文件。
该文件的名字是由当前日期组成的字符序列。
用户可以查看、删除某个日期的日志,也可以继续向某个日志添加新的容。
2.1.3 当某个日期有日志时,显示该日期的外观上就会出现“有”标记,表明这个日期有日志;当用户删除某个日期的日志后,该日期的外观上的“有”标记就会消失。
2.2设计方法在设计日历记事本时,需要编写6个Java源文件:CalendarWindow.java、CalendarPad.java、NotePad.java、CalendarImage.java 、Clock.java和CalendarMessage.java。
日历记事本除了需要编写的上述6个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JTextField、JTextArea和File类。
2.2.1 CalendarWindow.java 主类该类创建动态日历记事本的主窗口,该类含有main方法,是程序的入口程序,CalenderWindow类的成员变量中有5种重要类型的对象, CalendarPad、NotePad、CalendarImage、Clock、CalendarMessage对象。
2.2.2 CalenderMessage.java该类用来刻画和“日期”有关的数据。
2.2.3 CalenderPad.java该类是JPanel类的子类,所创建的对象是CalendarWindow类的重要成员之一,用来表示”日历”,即负责显示和修改CalendarMessage对象中的日期数据。
2.2.4 Notepad.java该类是JPanel的一个子类,创建的对象表示“记事本”,提供编辑读取和保存阐述日志的功能。
2.2.5 CalendarImage.java该类所创建的对象是CalendarWindow类的成员之一,负责绘制图像。
2.2.6 Clock.java该类创建的对象是CalendarWindow类的成员之一,负责显示时钟。
日历记事本用到的一些重要的类以及之间的关系如图1所示。
图1 类之间的组合关系图2.3功能模块此设计共有以下几个功能模块。
2.3.1 年份改变点击一次“上年”按钮可增加一年,点击一次“下年”按钮可减少一年,多次连续点击即可依次改变多个年份。
2.3.2 月份改变点击一次“上月”按钮可以增加一月,点击一次“下年”按钮可以减少一月,多次连续点击即可一次改变多个月份。
2.3.3 日期显示用于显示当前所选择的所在的年份月份的所有日期、星期,并在记载有日志的日期格中左上角显示“有”标记,而没有记载日志的日期则没有任何标记。
2.3.4 图片显示为了使本设计界面美观,设置了图片显示模块,使整个设计更加实用、美观、大方。
2.3.5 日志显示界面的右侧上半部的文本框中,可以选择某天记载日志,并且读取的日志在此部分显示出来。
2.3.6 时钟显示以传统时钟(有时针、分针、秒针)的模式显示当前的时间。
2.3.7 保存、删除、读取日志。
可以在没有记载日志的日期里记载日志并保存,可以对以保存的日志进行读取、修改或者删除。
2.4流程图如下图2 流程图2.5类、方法、属性说明2.5.1 CalendarWindow类(1)成员变量·year,month和day是int型数据,它们的值分别确定年份、月份和日期。
·calendarMessage是CalendarMessage对象,该对象可以处理和日期有关的数据。
·calendarPad是CalendarPad对象,该对象可以显示和日期有关的数据。
·notePad是NotePad对象,具有编辑、读取、保存和删除日志的功能。
·showYear和showMonth是JTextField类创建的文本框,用来显示年份和月份。
·showDay数组的每个单元是JTextField类创建的用来显示日期的文本框。
·calendarImage是CalendarImage创建的对象,用来显示图像。
·clock是Clock创建的对象,用来显示时钟。
·nextYear等是JButton创建的按钮对象,名字依次为“下年”、“上年”、“下月”、“上月”。
这些按钮都将当前窗口注册为自己的ActionEvent事件监听者。
·saveDauktRecord,deleteDailyRecord,readDailyRecord是JButton创建的按钮对象,名字依次为“保存日志”、“删除日志”、“读取日志”。
这些按钮都当前窗口注册为自己的ActionEvent事件监听者。
(2)方法·CalendarWindow()是构造方法,负责完成窗口的初始化。
·actionPerformed(AcrionEvent)方法是CalendarWindow类实现的ActionListner 接口中的方法。
·mousePressed(MouseEvent)方法是CalendarWindow类实现的MouseListener接口中的方法。
·doMark()方法负责对有日志的日期作出标记。
·main方法是程序运行的人口方法。
2.5.2 CalenderMessage类(1)成员变量year、month和day是int型数据,它们的值分别确定年份、月份和日期。
(2)方法·setYear(int)和getYear()方法分别用来设置year和获取year的值。
·setMonth(int)和getMonth()方法分别用来设置month和获取month的值。
·setDay(int)和getDay()方法分别用来设置day和获取day的值。
2.5.3 CalenderPad类(1)成员变量·year、month和day是int型数据,它们的值分别确定年份、月份和日期。
·calenderMessage是CalenderMessage对象,该对象可以处理和日期有关的数据。
·showDay数组的每个单元是JTextField类创建的用来显示日期的文本框。
(2)方法·CalenderPad()是构造方法,用来创建calenderPad对象。
·setShowDayTextField(JTextField[])方法负责设置showDay数组。
·showMonthCalendar()方法负责显示“日历”。
2.5.4 Notepad类(1)成员变量·text是JTextArea创建的文本区,可在text中编辑多行文本。
·menu是JpopupMenu创建的弹出式菜单。
·showMessage是JTextField创建的文本条,用来显示和日期有关的数据。
(2)方法·Notepad()是构造方法,用来创建notePad对象。
·setShowMessage(int,int,int)方法根据参数指定的日期数据显示有关日期信息。
·save(File,int,int,int)方法根据参数指定的日期保存日志。
·delete(File,int,int,int)方法删除参数日期指定的日志。
2.5.5 CalendarImage类(1)成员变量·imageFile是File对象,用来存放图像文件的引用。
·image是Image对象。
·tool是Toolkit对象,负责创建image对象。
(2)方法·CalendarImage()是构造方法,负责创建calendarImage对象。
·paintComponent(Graphics)方法负责绘制image。
2.5.6 Clock类(1)成员变量·date是Date对象,负责封装本地时间。
·secondTime是javax.swing包中Timer类中创建的计时器。
·pointSX,pointSY是double型数组,其单元值用来表示秒针端点坐标。
(2)方法·Clock()是构造方法,用来创建clock对象。
·paintComonent(Graphics)负责完成绘制工作。
3.设计结果与分析将6个Java源文件:CalendarWindow.java、CalendarPad.java、NotePad.java、CalendarImage.java 、Clock.java和CalendarMessage.java,以及所需要的名为flower.jpg的图像文件保存到同一目录中。
分别编译这6个Java源文件,或运行“javac*.java”命令,编译全部的源文件,然后运行主类,即运行CalendarWindow类。
运行结果图中可以看出记载日志的日期中会有“有”标记,而没有记载日志的日期中没有“有”标记。
右下侧是时钟,左下角显示图片。
图3 运行结果图在此结果中,点击上方的“上年”或“下年”可以改变年份,点击“上月”或“下月”可以改变月份。
右下角显示当前的时间。
可以在任意一天记日志,在有“有”标记的日期查看日志或删除日志。
当想保存日志时,选中某一天,在右侧记下日志点击“保存”即可。
当想查看某天的日志是选中带“有”标记的当天,点击“读取日志”可出现图4所示的提示框,点击是即可读取日志就可以查看日志容,如图5所示。
图4 提示显示页面图图5 查看日志图若想要删除已有的日志,则选中要删除的日期,点击“删除日志”,则出现提示框,如图6所示,询问是否要删除,点击“是”,则删除了此篇日志,此时,原有的“有”字标记就会消失,此篇日志也就随之消失,如图7所示。