面向对象程序的设计说明书与程序(日历记事本)
系统设计说明书模板(面向对象方法)

《项目名称》--设计说明小组名称:设计说明目录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、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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所示。