程序设计说明书1

程序设计说明书1
程序设计说明书1

高级语言程序设计说明书

学生信息管理系统

系别计算机工程系

专业班级10网络工程1班

学生姓名吴小杰

指导教师廖玲

注释:20..10..计算机

....

........》大作业

...工程系《

....高级语言程序设计

目录

引言 (3)

程序结构 (3)

程序流程图 (4)

程序源程序模块设计说明 (5)

模块1 :函数头 (5)

模块2:主函数 (5)

模块3-1:子函数(添加) (5)

模块3-2:子函数(浏览) (6)

模块3-3:子函数(删除) (6)

模块3-4:子函数(查找) (7)

模块3-5:子函数(修改) (7)

注释 (8)

程序使用说明 (8)

总结 (10)

●引言

程序名称:学生信息管理系统正式版V1.0

开发平台:windows XP

Microsoft Visual C++ 6.0

主要功能:1。添加学生信息(学号、姓名、性别、班级、联系电话);

2。浏览已录入的所有学生信息;

3。查找学生信息(学号或姓名为索引);

4。修改学生信息;

5。删除学生信息;

6。已录入的学生信息按学号排序(升序);

程序说明:准确性要求高,可靠性要求高,输入控制严格,页面响应时间短,用户界面友好,输出准确,功能强大!!!(^ . ^ )运行环境:Windows NT/2000/XP/VISTA/WIN7

文件说明:程序源代码(学生管理系统.cpp);

程序运行文件(学生管理系统.exe);

学生信息存储文件(information.txt)注:已存09电信2班学生信息;

文本文档备份于电信2班学生信息文件夹中;

参考资料:《C++程序设计基础(第二版)》周霭如林伟健编著

●程序结构

函数头: //包括cin , cout , 等函数

//包括类,对象,数组,等函数定义

//包括文本文档的读/写/复制等函数

主函数:void main ()

子函数:void add () //添加

void browse () //浏览

void search () //查找

void change () //修改

void delete () //删除

程序流程图

●程序源程序模块设计说明(在说明各个模块时可适当粘贴

一小部分代码,然后进行代码的讲解,此节可参考《程序设计说明书2中的关键代码分析部分》。注意:粘贴最多半页代码后要对该段代码进行分析,连续几页粘贴代码或分析文字较少者为不合格)

?模块1 :函数头

#include

#include

#include

调用系统中的相关函数,以确保程序的运行正常。

Class students

{public:int sex,number;

int number1,sex1;

char num[8],name[20],phonenum[20],grade[20];

char num1[8],name1[20],phonenum1[20],grade1[20];};

students s[1000];

建立一个学生类,其中包含了多个数组,number[]&num[]是用来存放学生学号的数组;

name[]是用来存放学生姓名的数组;sex[]是用来存放学生性别的数组;grade[]是用来记录学生班级的数组;phonenum[]使用来存放学生电话的数组;其中整型和字符分别定义了两组相似的数组,是为了在程序运行中进行比较和相互赋值的。

class bubble

{public:int pnumber,psex;

char pnum[8],pname[20],pgrade[20],pphonenum[20];};

bubble p[1000];

建立一个比较类,其中包含多个数组;分别是用来存放学生学号,姓名,性别,班级,电话的;建立这个类的目的是为了在应用冒泡排序法进行按学号排序时的排序数组。

?模块2:主函数

int i;

定义了一个全局变量i;目的在于在循环主菜单与子菜单的过程中,可以共用一个变量;

do{..}while()

用了一个循环语句,目的是能让每次功能操作后都能循环回到主菜单并进行操作;

Switch()

经一个选择语句镶嵌到do..while的循环语句中,目的是让用户选择功能进行操作;

?模块3-1:子函数(添加)

包含添加学生信息和按学生学号排序的两段代码

添加学生信息:(追加式添加)

do{..}while()

运用了一个循环语句,目的是让用户可以循环录入而不用跳回主菜单再次选择;

While()

运用3个条件循环语句,目的是规范用户选择学生性别时的输入操作;

if()

运用了8个条件判断语句,其中3个是为了提示用户在不要重复添加学生信息;

其中4个是为了在用户在添加学生的各条具体信息时可以反放弃当前操作;

其中1个是让用户确定添加信息的提示,避免输入错误的学生记录

goto x;x:

运用了4个goto语句,前3个为了让用户在重复输入信息时,返回并重新输入;

最后1个是为了在添加成功后,进到排序的语句群中并进行数据排序;

Ifstream wfile;

将添加的学生信息以学号,姓名,性别,班级,电话的顺序逐行写入文本文档中进行存储

按学号排序:(冒泡排序法)

Ofstream rfile;

从文本文档中逐行提取学生信息,并逐个赋值给比较类中的各个数组,然后依照冒泡排序法来对学生学号次从小到大进行排序;

Ifstream wfile;

将已排序号的学生数据逐行写入文本文档,进行数据的存储;

For()

运用了4个for循环语句;第1个用于信息的逐行提取;第2和第3个用于冒泡排序法;

第4个则用于信息的逐行写入文本文档;

Go to();

利用多个GOTO 语句,使得程序对错误操作更好的处理,程序结构更清晰;

?模块3-2:子函数(浏览)

包含浏览全部和删除全部的两段代码

浏览全部:

Ifstream rfile; while();

逐行从文本文档中提取数据,然后再逐行显示出来;

删除全部:

Ifstream rfile;

Ofstream wfile;

删除全部的原理是将一个空的文本文档的内容复制到已存储数据的文本文档中;

?模块3-3:子函数(删除)

If()

运用了4个if条件判断语句;其中两个是为了让用户在误入的时候可以放弃操作;

其中2个是相互配合并判断用户要删除的学生信息的存在性;

Ifstream rfile;

Ofstream wfile;

删除的原理:逐个提取旧文本文档中的数据,然后再逐个写入新文本文档中,而用户要删除的学生信息则不写入文本文档,然后再将新文档的内容复制并覆盖到旧文档中;

Go to();

利用多个GOTO 函数,使得程序对错误操作更好的处理,程序结构更清晰;

?模块3-4:子函数(查找)

Switch()

用一个选择语句,让用户可以选择学号或姓名两种方式进行查抄学生信息;

学号索引:

Ifstream rfile; while()

从文本文档逐行提取数据并赋值为数组元素;

If()

用了2个条件判断语句,相互配合,用于判断查找的学生信息的存在性,并输出;

姓名索引:

原理同学号查找,不同于,字符的比较语句与整型的比较语句不同;

?模块3-5:子函数(修改)

此函数包含修改信息和按学号排序两段代码

修改信息:

Switch()

一个选择语句,包含7个case;让用户可以选择要修改的学生信息进行单个修改或某个学生的全部信息进行修改;还可以放弃当前操作返回主菜单;

Ifstream rfile ,while(),if()

逐行读取数据库中的信息,并循环查找,将需要修改的学生信息提取,显示出来;

Caes 1~5 (单个信息的修改)For(),if(),fstream ;

运用一个循环语句并镶嵌两个条件判断语句,目的是将要修改的学生的信息提取出来并进行特定修改,而且可以规范用户的输入,防止用户将要修改的学生信息修改成数据库中已有的数据,防止数据的重复,修改完后,再将修改后的学生信息写入数据库;

case 6 (全部信息的修改)

将case 1~6 的代码合并,从而达到修改一个学生的全部信息的效果;

Go to();

利用多个GOTO 函数,使得程序对错误操作更好的处理,程序结构更清晰;

按学号排序:

同模块 1:子函数(添加)中的按学号排序

?注释:

本程序中的的所有功能在执行过程中,基本遵循一个运行流程----读取后再写入,如下:

1.打开并逐行从information.txt中读取学生信息数据;

2.将读取的数据赋值给数组;

3.逐行比较各个数组最后哦那个的元素;

4.将符合条件的数组元素重新赋值后整行写入temp.txt中;

5.将不符合条件的数据逐行写入temp.txt中;

6.完成后,关闭infromation.txt和temp.txt;

7.将temp.txt中的数据全部复制并覆盖掉information.txt中的数据;

8.将empty.txt中的数据全部复制并覆盖掉temp.txt中的数据;

注:information .txt为本程序数据库的文本文档;

temp.txt为中转数据的空文本文件文件;empty.txt为空文本文件;

●程序使用说明(本小节可适当的给出一些主要的运行截图

并加以说明,截图不能超过5幅图)

注:请按照程序提示进行操作!每次输入后都要按回车确定!

主菜单 1 添加学生记录 2 浏览所有学生信息 3 查找学生信息

4 修改学生记录

5 删除学生记录

6 帮助 & 关于 0 退出系统

用数字输入功能的序号,就可以进入所选功能;

添加功能选中后,按提示输入(学号、姓名、性别、班级、联系电话)

添加成功后可以选择上继续添加信息或返回主菜单;

浏览功能选中后,逐行显示学生信息(学号、姓名、性别、班级、联系电话)浏览后可以选择删除全部学生信息或返回主菜单;

查找功能选中后,可以选择用学号查找或用姓名查找信息

选中后,就会显示你所查询的学生信息(学号、姓名、性别、班级、联系电话)

查看后可以选择继续查找学生信息或是返回上一级菜单;

修改功能选中后,输入要修改的学生学号或姓名,进行搜索;

找到后,程序显示该学生信息(学号、姓名、性别、班级、联系电话)

接着可以选择修改的内容如下:

1修改学号 2 修改姓名 3 修改性别 4 修改班级 5 修改电话

6 修改此学生的全部信息(学号、姓名、性别、班级、联系电话)

修改成功后,可以选择继续修改学生信息或是返回主菜单;

删除功能选中后,输入要删除的学生学号或姓名,进行搜索;

找到后,程序显示该学生信息(学号、姓名、性别、班级、联系电话)

记者可以选择删除信息或放弃并返回主菜单;

帮助关于选中后,程序会显示一段话,并且返回到主菜单中;

退出程序选中后,按任意键,再按回车,推出程序;

总结:

经过了整整一个星期(09.12.17—12.24)八天的日日夜夜的艰苦奋战,终于完成了这个近800行的代码C++ 程序。

12.17定下基本框架后就开始着手编写程序的;

12.18基本出现了一个可以进行添加、修改、浏览的雏形程序了,可是却发现,每次运行

都要重新添加信息,根本没有保存数据的功能;

12.19在知道可以用FSTREAM函数进行存储后就开始自学《C++程序设计》的第十章,并模

仿,编写了一个可以通过二进制存储数据的学生管理系统,但发现我在模仿后基本

没明白程序是怎么工作的,所以就放弃了二进制,转为以TXT存储的方法编写;12.20重新开始编写,一天时间,程序可以存储数据了,但只有添加和浏览的功能,尝试

做了查找,但不完善,当数据库无信息时无法提示,SO,暂时放下了完善的工作;

12.21开始尝试编写修改功能的代码,但却出现了在进行修改后,数据库中的信息就只有

修改了的那条学生信息,试了半天都无法解决,遂,开始慢慢解读已经写好的程序;

12.22经过一夜的思考,终于被我想到方法解决修改的问题,就是本文模块说明中的注释

中的方法,而且更是发现这种方法太好了,因为我把它应用到删除功能中了,而且

很成功;此时,程序基本OK 了,添加、浏览、查找、修改、删除的功能都有了;

12.23进行了程序优化,优化了当不合法输入时的错误处理,优化了程序源代码的结构,

优化了程序提示语言,增加的数据库中全部信息删除的功能,增加了在每次输入时

都能放弃当前操作的选项,并打包程序,发给测试员测试,而且收集了优化建议后,又增加了可以选择性修改学生信息的功能,增加了按学号排序的功能,优化了当数

据库已存在相同信息时的提示,避免数据库中出现重复信息;

12.24在优化后的程序测试时,发现了个大BUG,当进行修改后,数据库中的信息会丢失,

这个BUG让我吃苦了,又了整整半天才找出出错的环节,而且又用了半天时间才想出了应对的方法;最终在24号晚上做出了学生信息管理系统正式版 v1.0

经过八天的艰苦奋斗,可以说现在这个程序除了没有可是话窗口,但在功能上绝对是强大的,错误操作的处理能力也是强大的,在经过不断优化后的学生信息管理系统正式版 v1.0,我敢说,堪称完美(在作业要求的范围内)。

这几天,我真的很疲惫,因为,基本每时每刻都在思考这个程序,我觉得作为一个编程

员真的太辛苦了,但,当我是用学生信息管理系统正式版 v1.0的时候,我觉得辛苦是值得的!!

我认为编程的时候一定要仔细,耐心,一定要有创新思维,其实编程难就难在思考和调试的过程,一定要思考,一定要不厌其烦的调试,尽情享受编程的乐趣吧~~~ (^_^)..

(完整版)软件详细设计说明书模板

软件详细设计说明书 v1.0 200X年月XX日 修订历史记录

编制 审查 审核 批准 文档评审负责人:参加评审人员:

目录 1引言 (4) 1.1编写目的 (4) 1.2背景 (4) 1.3定义 (4) 1.4设计依据 (4) 2软件系统结构 (4) 2.1功能需求 (4) 2.2子模块划分 (4) 2.3子模块间关系 (4) 3公共数据结构 (4) 4程序设计说明 (5) 4.1程序1设计说明 (5) 4.1.1程序描述 (5) 4.1.2功能 (5) 4.1.3性能 (5) 4.1.4输入 (5) 4.1.5输出 (5) 4.1.6算法 (5) 4.1.7流程 (5) 4.2程序2设计说明 (5) 5模块重用说明 (5)

1引言 1.1编写目的 〖说明编写这份软件详细设计说明书的目的〗 1.2背景 〖说明待开发软件(子)系统的名称和此软件(子)系统所属大系统的名称; 说明任务的来源(开发背景和市场背景)等;该软件(子)系统与大系统中其他子系统的关系。〗 1.3定义 〖列出本文档中所用到的专门术语的定义和缩写词的原意〗 1.4设计依据 〖列出本文档所引用的有关设计依据(标题、文件编号、版本号、作者、发布日期、出版单位),包括本项目内部已编写的有效文档、出版刊物和国家标准或规范〗2软件系统结构 2.1功能需求 2.2子模块划分 〖说明本软件系统(或模块)的实现,即其内部的子模块划分(给出程序的名称和标识符)。建议以图形说明。〗 1.XXXXXXXX 2.XXXXXXXX 3.XXXXXXXX 4.XXXXXXXX 5.XXXXXXXX 6.XXXXXXXX 2.3子模块间关系 〖说明各子模块间的控制、顺序等耦合关系。〗 3公共数据结构 〖给出本软件系统使用的每一个公共数据结构的类型定义、存储方式,公共数据结构内各元素项的类型定义、初始取值、可能取值的范围及相应的物理含义。建议以类似C语言的数据说明格式来描述。〗

电子万年历课程设计报告

课程:创新与综合课程设计 电子与电气工程系 实践教学环节说明书 题目名称电子万年历 院(系)电子与电气工程学院 专业电子信息工程 班级119411 学号1109635010 学生姓名11 指导教师q1 起止日期13周周一~14周周五

电子万年历 一.设计目的 设计一个具有报时功能、停电正常运行(来电无需校时)、带有年月日、时分秒及星期显示的电子日历。 二.方案设计 硬件控制电路主要用了AT89S52芯片处理器、LCD1602显示器等。根据各自芯片的功能互相连接成电子万年历的控制电路。软件控制程序主要有主控程序、电子万年历的时间控制程序、时间显示及星期显示程序等组成。主控程序中对整个程序进行控制,进行了初始化程序及计数器、还有键盘功能程序、以及显示程序等工作,时间控制程序是电子万年历中比较重要的部分。时间控制程序体现了年、月、日、时、分、秒及星期的计算方法。时间控制程序主要是定时器0计时中断程序每隔10ms中断一次当作一个计数,每中断一次则计数加1,当计数100次时,则表示1秒到了,秒变量加1,同理再判断是否1分钟到了,再判断是否1小时到了,再判断是否1天到了,再判断是否1月到了,再判断是否1年到了,若计数到了则相关变量清除0。先给出一般年份的每月天数。如果是闰年,第二个月天数不为28天,而是29天。再用公式s=v-1 +〔(y-1/4〕-〔(y-1/100〕+〔(y-1/400〕+ d计算当前显示日期是星期几,当调节日期时,星期自动的调整过来。闰年的判断规则为,如果该年份是4或100的整数倍或者是400的整数倍,则为闰年;否则为非闰年。在我们的这个设计中由于只涉及100年范围内,所以判断是否闰年就只需要用该年份除4来判断就行了。 三.系统的设计框图 本系统以AT89S52单片机为核心,结合时钟芯片DS1302,LCD1602,键盘等外围器件,实现电子万年历的一系列功能,并通过液晶屏和按键控制完成人机交互的功能。系统总体设计框图如图(1)所示

编程说明

LD-D型MP3音乐打铃扩音机补充说明 手动播放 1、自动播放,直接按下数字键,大于5的曲目按5+后再按数字键。 2、手动播放可进行单曲和连续连续播放。在校时状态下,按下“星期”键5秒,显示“CE--NO”,此时为单曲播放(播放完一首歌后自动停止播放),再按“星期”键5秒,显示“CE--ER”,此时为连续播放(播放完一首后自动播放下一首),每按“星期”键5秒,显示状态在二者之间转换。 手动编程 1、调整“功能”键至编程状态(编程灯亮),此时星期灯闪动。 2、调整“星期”键,选择打铃方式——七天编程、六天编程、五天编程或单天独立编程等,如调整星期一至星期日灯全亮,为七天编程。 3、选择好打铃方式后,按“存储”键。特别注意:用户初次使用,在进行完本步骤时就进行总清。按“清除/停止”键2秒,总清灯亮,屏显示“——”,约一分钟后,总清完毕。重复第1、第2再进行后面的操作。总清时,清除掉的程序与选择的打铃方式有关,若七天编程时,总清七天的内容。在初次总清时,要在七天编程状态下进行。 4、调整“时间”至打铃点,调整“曲目”,选择相应曲目,然后按“存储”键,存储灯亮起,表示该次打铃点已存入。 5、重复第4步操作,直至将所有打铃点存储完毕。 特别注意:存储过程中若有错误,可利用“清除/停止”键,进行单点清除。在已存入的打铃点上(此时存储灯亮),按一下“清除/停止”键,存储灯灭,表示此打铃点已清除,然后存入正确的打铃点。 6、所有打铃点存储完毕后,可按下“时间”,检查一遍所有的打铃点是否正确。 7、确认打铃点正确无误后,调整“功能”至自动状态,便可正常工作。 说明:若用户时间表上要求某一天的程序与其它不同,可进行以下操作。将程序编完后,调整“星期”键,使这一天灯亮,按下“存储”键。此时可进行两种操作。一是按下“总清”,将这一天的程序全部清除掉,然后按照第3、4、5、6步骤,将这一天的程序输入进去。二是若这一天与其它六天只有几个打铃点不同,可将这一天未存入的打铃点存进去,将多存入的清除掉。

产品详细设计说明书模版

XXX系统 详细设计说明书 作者: 完成日期: 签收人: 签收日期: 版本所有:北京无限讯奇信息技术有限公司

版本修改记录

目录 1引言 (4) 1.1编写目的 (4) 1.2背景 (4) 1.3定义 (4) 1.4参考资料 (4) 2程序系统的组织结构 (5) 3程序1(标识符)设计说明 (6) 3.1程序描述 (6) 3.2功能 (6) 3.3性能 (6) 3.4输入项 (6) 3.5输出项 (6) 3.6算法 (7) 3.7流程逻辑 (7) 3.8接口 (7) 3.9存储分配 (7) 3.10注释设计 (7) 3.11限制条件 (7) 3.12测试计划 (7) 3.13尚未解决的问题 (8) 4程序2(标识符)设计说明 (9)

详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关内容合并入概要设计说明书。 1引言 1.1编写目的 说明编写这份详细设计说明书的目的,指出预期的读者。 1.2背景 说明: a.待开发软件系统的名称; b.本项目的任务提出者、开发者、用户和运行该程序系统的计算中心。 1.3定义 列出本文件中用到专门术语的定义和外文首字母组词的原词组。 1.4参考资料 列出有关的参考资料,如: a.本项目的经核准的计划任务书或合同、上级机关的批文; b.属于本项目的其他已发表的文件; c.本文件中各处引用到的文件资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。

北极星数码万年历使用说明书

北极星数码万年历 北极星数码万年历使用说明书 操作说明 1、按键说明:设置键、上调键、下调键、流水开关键。 2、时间调整在正常走时状态下,按“设置”键进入时间设置状态,同时年份“闪烁”,可按“上调”或“下调”键修改年份,修改好后按“设置”键将闪烁位移到公历“月”,按“上调”或“下调”键修改月份;用同样的方法可对日、时、分进行设置;12个公历节日及倒计天数、24个农历节气及倒计天数、12生肖、12星座、星期、农历月、日将自动跟随公历的变化。当分设定好后,再按“设置”键退出时间设置,回到正常时间状态。 3、节气灯花样转换在正常走时状态下,按住“设置”键3秒钟即可进入节气灯花样转换。 4、12/24小时制切换在正常走时状态下,按住“上调”键3秒钟,则可进行12小时制与24小时制的切换。上电复位时,可默认为24小时制或12小时制,由选项决定。 5、开/关整点报时在正常走时状态下,按住“下调”键3秒钟听到“嘀”一声,则可以打开或关闭整点报时功能。 6、天数倒计时或顺计时(由选项决定)在正常时间状态下,按“模式”键进入“天数计时状态”,在温度位显示“d1”,计时天数位若显示“――――”,表示计时“无效”;若显示具体数字表示有效,按“上调”键可以切换“有效”/“无效”,按“设置”键进入天数设定,且左边第一位(千位)闪烁,按“上调”或“下调”键修改内容,按“设置”键移动闪烁位置到第二位(百位),按“上调”或“下调”键修改闪烁位的内容,同样方法可设置十位与个位 7、闹钟 8组定闹(由按键选项决定),默认值无效,默认时间为――:――点,闹钟设定:在正常时间状态下(或天数计时状态),按“下调”键进入“定闹查询状态”,定闹指示灯点亮,在温度位显示“A1”,表示当前你看到的是“第1组定闹”的信息,在小时、分钟位显示“――∶――”,表示定闹“无效”;显示“XX∶XX”的具体时间,表示定闹“有效”,按“上调”键可以切换“有效”/“无效”,按“设置”键进入定闹时间设定,且小时位闪烁,按“上调”或“下调”键修改闪烁位的内容,按“设置”键移动闪烁位置到分钟位,按“上调”或“下调”键修改闪烁位的内容,再按“设置”键确认并退出定闹时间设定,再按“下调”键进入下一组闹铃状态,其设置与“第1组定闹”相同,依次类推即可设置所有定闹。 8、生日提醒①7组生日提醒,默认值无效。②生日提醒设定:在最后一组定闹状态,再按一次“下调”键则进入第一组生日提醒,生日提醒指示灯点亮,在温度位显示“b1”,在公历“月日位”显示有效“生日日期”或无效日期“――――”,则表示生日以“公历日期”为准,若在农历“月日位”显示则表示生日以农历日期为准;按“上调”键可“打开/关闭”该组生日提醒,按“设置”键进入“该组生日提醒日期”设置,按“上调”或“下调”键修改其内容,按“设置”键移动闪烁位置,再按“设置”键确认该组生日提醒设置,再按“下调”键进入下一组生日提醒,依次类推即可设置所有生日提醒,当在最后一组生日提醒时,按“下调”键则退到正常时间状态若闹铃中没有一组设置有效,则定闹指示灯熄灭,在任何闹铃时间到正在响闹 北极星数码万年历使用说明书第1页共2页

Java万年历课程设计报告

杭州师范大学钱江学院课程设计 题目万年历 学院钱江学院 专业信电分院计算机科学与技术 班级计算机1101 姓名崔伊平 指导教师王李冬 2013 年9 月20 日

目录 一.概述 (1) 二.总体方案设计 (2) 三.详细设计 (3) 四.最终输出 (7) 五.课程设计总结 (8) 参考文献 (9)

一、概述 1.课程设计的目的 通过显示年日历程序的设计,培养学生综合利用java语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力。 通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《java语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了java语言的好处和其可用性! 2.课程设计的要求 2.1 输入查询的年份与月份,单击“更新”按扭,则可得到相应的日历。本实验是对图形用户界面,布局管理器的综合运用。要掌握APPLET容器中添加组件的方法,理解JAVA 的事件处理机制,编写独立的运行窗口。 2.2 输出形式 使用独立的运行窗口进行显示。界面主要由两部分组成——查询输入部分和结果显示部分。查询输入部分包括两个文本域,一个用于输入年份:一个用于选择月份:一个更新按扭,用来触发查询事件。

二总体方案设计 1.程序开发环境 a.开发环境:eclipse b.系统环境:windows xp/7 c.设计工具:Microsoft office 2003 2.整体流程图 图1 流程图 3.功能模块图

C语言贪吃蛇程序设计说明书

C语言贪吃蛇程序设计说明书 题目:贪吃蛇游戏 学校: 系别: 专业 班级: 姓名: 学号: 指导老师: 日期: 一、设计题目: 贪吃蛇是一款经典的休闲游戏,一条蛇在密闭的围墙内,随机出现一个食物,通过控制方向键操作小蛇不停的朝着食物前进,直到吃掉食物。每吃一个食物,小蛇都会长长一截,随之难度增大;当小蛇头撞到墙或自己时,小蛇死亡。 二、功能设计: 本游戏要求实现以下几个功能: (1) 用上、下、左、右键控制游戏区蛇的运动方向,使之吃食而使身体变长; (2) 用户可以调节蛇的运行速度来选择不同的难度; (3) 游戏分多个难度级别; (4) 用户可自选颜色; (5) 记录成绩前五名的游戏玩家; (6) 增加背景音乐; (7) 提高障碍物和游戏级别。 三、程序模块图: 贪吃蛇游戏 初画控设帮 始图制置助 模模模模化 块块块块

墙蛇食移食死变成等音 体身物动物亡长绩级效 2 四、算法流程图: 开始初始化界面和蛇身 放置食物 获取按键 开始运动 碰到边界 是 否 否蛇吃到食 是 蛇长大 蛇死亡是 继续 否 结束 3 五、函数原型与功能 1.主函数:void main() 启动程序,触动其他函数。 2.初始化:void init () 设置背景框大小、蛇体初始值,随机产生食物。 3.随机产生食物:void setfoodcrd()

设置食物生成坐标,0表示食物被吃。 4.画食物:void showfood() 用矩形框来画食物 5.画蛇:void showsnake() 根据蛇的坐标和节数,循环用矩形框来画蛇。 6.蛇移动:void snakemove() 根据按键,重设坐标 7.改变蛇的方向:void changeskdir() 响应用户的运动方向 8.判断蛇是否死亡:void judgeslod 判断蛇是否碰到自己或墙。 9.判断蛇是否吃到食物:void judgefood() 判断是否吃到食物,吃食后变0,蛇增长一节。 10.结束游戏:void gameover() 结束话语,并执行下一步。 六、基本代码 #include #include #include #pragma comment(lib,"Winmm.lib") #include "MyTimer.h" #define SIZEMAX 100 /*蛇最大长度*/ #define SPEED 100 /*初始速度*/ #define len 20 /*蛇宽度*/ #define lm 10 /*蛇每次移动距离*/ #define initlen 600 /*初始化窗口正方形的长度*/ #define Min_snakelen 2 /*蛇的最小长度*/ typedef struct { int x,y; }DIR; int snakelen=Min_snakelen; /*蛇的长度*/

C语言万年历程序设计

C语言万年历程序设计 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-

目录 第1章需求分析 (6) 第2章概要设计 (6) 第3章详细设计 (11) 第四章运行结果及分析 (17) 1.登陆界面 (17) 2.显示某年全年日历 (17) 3.显示某月日历 (18) 第5章课程设计心得 (20) 参考文献 (21)

第1章需求分析 (1)程序运行时,首先给出四个菜单选项和输入提示: 图1-1 (2)用户可以通过主菜单选择不同选项。输入1,通过输入年份可显示一年每个月份的日历;输入2,通过输入年份和月份(中间以空格分开)可显示该月的日历;若输入3,通过输入年份月份和日期(中间以空格分开)可显示该日的星期;输入0,则退出查询系统。 第2章概要设计

1.菜单选择界面可通过下面所示函数时现; 主要思路: 通过while语句与swich…case以及if条件语句实现菜单的循环功能和不同选项的功能实现。 闰年与平年的判断: 代码如下: void main() { int year,month,day,a,b; while(1) { printf("\n\n\n\n");

printf(" **********************************************************\n \n"); printf(" * * \n"); printf(" 欢迎进入万年历查询系 统 \n"); printf(" * * \n\n"); printf(" **********************************************************\n \n\n"); printf(" 1 年历 2 月历 3 日历 4 退出\n"); printf(" 请输入您的选择<1~4>,按回车键确定: "); scanf("%d",&b); switch(b) { case 1: printf("\n请输入您要查的年份: "); scanf("%d",&year); a=x3(year,1,1); if(a==0) { printf("错误!请您重新输入。\n"); break;} nianli(year); break; case 2: printf("\n请输入您要查的年和月,年月之间用空格隔开: "); scanf("%d%d",&year,&month); a=x3(year,month,1); if(a==0) { printf("错误!请您重新输入。\n");

基于STM32的智能万年历课程设计说明书

课程设计说明书 设计题目:基于STM32的智能万年历 专业:电气工程及其自动化 班级: 设计人:

课程设计任务书 学院电气信息系专业电气工程及其自动化 一、课程设计题目:基于STM32的智能万年历 专题名称:最小应用系统 二、课程设计主要参考资料 (1)刘火良,杨森.STM32库开发实战指南[M].北京:机械工业出版社.2013.5 (2)ADS7943中文参考资料[M/CD]. (3)ILI9320控制器中文参考资料[M/CD]. 三、课程设计应解决主要问题 (1)最小应用系统:包括MCU、复位、启动、晶振、电源等。 (2)日历的显示和设置; (3)万年历的算法和实现; (4)定时闹钟功能; (5)无线设置功能。 四、课程设计相关附件(如:图纸、软件等) (1)软件:Keil μVision4 (2)开发平台:神州Ⅱ号STM32嵌入式技术开发板 五、任务发出日期:课程设计完成日期: 指导教师签字:系主任签字:

指导教师对课程设计的评语 指导教师(签章): 日期:

摘要 单片机应用技术飞速发展,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及生活中广泛使用的各种智能IC卡、电子宠物等,从大到国家防卫,小到日常生活,方方面面都离不开单片机。单片机是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。 二十一世纪的今天科技与经济迅速发展,人们的生活节奏变得越来越快,生活水平越来越高,对于生活的品味和质量的要求也更高。人们不再满足于只能提供简单计时功能的时钟,希望在能保证计时精确的基础上能多添加一些其他功能,诸如日历、定时等。 本文主要介绍了以STM32F103VCT6开发板为核心部件来设计的一款万年历,以其内部的RTC时钟模块作为时钟,用TFTLCD液晶显示器作为显示模块,时钟电路能准确提供24小时制时间、平年闰年的判断以及定时。采用Keil uVision4进行编写调试程序,以神州二号嵌入式技术开发板为硬件平台进行设计,最终实现在显示屏上显示时间、日期、以及进行定时等功能。 以基于STM32的智能万年历作为设计的课题,因为它有很好的开放性和可发挥性,不仅考察了对单片机的掌握能力而且强调了对单片机扩展的应用。另外液晶显示的万年历已经越来越流行,特别适合在家庭居室、办公室、大厅、会议室、车站和广场等地方使用,它具有显示清晰直观、走时准确、可以进行夜视等功能,并且还可以扩展出其它多种功能。所以,电子万年历作为设计课题很有价值。 经过两周的课程设计,我们完成了按键和触摸两种方式对万年历的控制,实现了基本的万年历功能和闹钟功能。本次课程设计让我对万年历有了深刻理解,更让我对stm32有了更进一步的学习。 关键词:STM32F103VCT6;最小应用系统;万年历

自动程序的设计说明

自动程序设计 自动程序设计的含义 自动程序设计,是指采用自动化的手段进行程序设计的技术。后引申为采用自动化手段进行开发的技术和过程。其目的是提高生产率和产品质量,并且它在软件工程、流水线控制等领域均有广泛的运用。 自动程序设计的含义按广义和狭义,横向和纵向,可以分成几个类型。 广义含义 按照广义的理解,自动程序设计是尽可能借助计算机系统,尤指自动的程序设计系统进行工程开发的过程。这里的开发指的是,从问题的非形式描述,经形式的软件功能规格说明、设计规格说明,到可执行的程序代码、调试,及至确认、交付使用的全过程。 狭义含义 按照狭义的理解,自动程序设计指的是从形式的功能和规格的说明,到可执行的程序代码的这个过程的自动化。 纵向理解 按纵向理解,低级的自动化指从设计规格说明,到可执行的程序代码这一过程的自动化,系统只是起到了程序员的作用;中级的自动化指的是从除了设计还有功能的规格说明,到可执行的程序代码的过程的自动化,系统除了起到程序人员的作用外,还起设计员、系统分析员的作用;高级的自动化则解决了从非形式的描述到可执行的代码当中整个

过程的自动化问题,系统除了起程序员、设计员、系统分析员的作用外,还起到了领域专家的部分作用。 横向理解 按横向理解,在上述各种纵向理解级别上,根据人工干预的程度,又可区分各种不同的自动化级别。 自动程序设计的任务是设计一个程序系统,它接受关于所设计的程序要求实现某个目标非常高级描述作为其输入,然后自动生成一个能完成这个目标的具体程序。在某种意义上说,编译程序实际上就是去做“自动程序设计”的工作。编译程序是接受一段有关干某件事情的源码说明(源程序),然后转换成一个目标码(目的程序)程序去完成这件事情。而这里所说的自动程序设计相当于一种“超级编译程序”,它要求能对高级描述进行处理,通过规划过程,生成的到所需的程序。因而自动程序设计所涉及的基本问题与定理证明和机器人学有关,要用到人工智能的方法来实现,它也是软件工程和人工智能相接合的课题。 自动程序设计的关键技术 从关键技术来看,自动程序设计的实现途径可归结为演绎综合、程序转换、实例推广,以及过程实现等4种。 ①演绎综合。其理论基础是,数学定理的构造式证明可等价于程序推导。对要生成的程序,用户给出它的输入、输出数据必须满足的条件,条件以某种形式语言(如谓词演

软件设计文档国家标准-概要设计说明书

概要设计说明书 1引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料 2总体设计 2.1需求规定 2.2运行环境 2.3基本设计概念和处理流程 2.4结构 2.5功能器求与程序的关系 2.6人工处理过程 2.7尚未问决的问题 3接口设计 3.1用户接口 3.2外部接口 3.3内部接口 4运行设计 4.1运行模块组合 4.2运行控制 4.3运行时间 5系统数据结构设计 5.1逻辑结构设计要点 5.2物理结构设计要点 5.3数据结构与程序的关系 6.1出错信息 6.2补救措施 6.3系统维护设计 1引言 1.1编写目的 说明编写这份概要设计说明书的目的,指出预期的读者。

1.2背景 说明: a.待开发软件系统的名称; b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。 1.3定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 1.4参考资料 列出有关的参考文件,如: a.本项目的经核准的计划任务书或合同,上级机关的批文; b.属于本项目的其他已发表文件; c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标 题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2总体设计 2.1需求规定 说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录C。2.2运行环境 简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录C。 2.3基本设计概念和处理流程 说明本系统的基本设计概念和处理流程,尽量使用图表的形式。 2.4结构 用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系. 2.5功能器求与程序的关系

万年历

科名片 万年历(gregorian solar calendar and chinese lunar calendar)我国古代传说中最古老的一部太阳历。为纪念历法编撰者万年功绩,便将这部历法命名为“万年历”。而现在所使用的万年历,实际上就是记录一定时间范围内(比如100年或更多)的具体阳历或阴历的日期的年历,方便有需要的人查询使用,与原始历法并无直接联系 目录 由来 1. 第一个版本 2. 第二个版本 择日宜忌 阳历与阴历 在线万年历 干支年历歌诀 图书《万年历》(2009) 1. 基本信息 2. 内容简介 3. 图书目录 图书《万年历》(2008) 1. 基本信息 2. 内容简介 3. 目录 由来 1. 第一个版本 2. 第二个版本 择日宜忌 阳历与阴历 在线万年历 干支年历歌诀 图书《万年历》(2009) 1. 基本信息 2. 内容简介 3. 图书目录 图书《万年历》(2008) 1. 基本信息 2. 内容简介 3. 目录 展开 编辑本段由来 第一个版本 要想 ?? ?? 追寻万年历的由来,那故事得从远古时代的商朝说起……有名樵夫唤做万年,有一天他上山砍柴,砍罢了就坐在树下休息。他眼望著树影出神,心中想的,仍是如何将节令定准的事。

不知不觉过了大半个时辰,他才发现地上的树影已悄悄地移动了方位。万年灵机一动,心想,何不利用日影的长短来计算时间呢?回到家后,万年就设计了一个“日晷仪”。可是,一遇上阴雨天,日晷仪又失去效用了。 有一天,万年在泉边喝水,看见崖上的水很有节奏的往下滴,规律的滴水声又启发了他的灵感。回家後,万年就动手做了一个五层的漏壶,利用漏水的方法来计时。这么一来,不管天气阴晴,都可以正确地掌握时间了。有了计时的工具,万年更加用心的观察天时节令的变化。经过长期的归纳,他发现,每隔三百六十多天,天时的长短就会重覆一次。只要搞清楚日月运行的规律,就不用担心节令不准了。万年就带著自制的日晷仪及水漏壶去觐见天子祖乙,说明节令不准与天神毫不相干。祖乙觉得万年说的很有道理,就把万年留下,在天坛前盖起日晷台、漏壶亭,又派了十二个童子供万年差遣。从此以后,万年得以专心致志的研究时令。过了一段日子,祖乙派阿衡去了解万年制历的情况。万年拿出自己推算出的初步成果,说:日出日落三百六,周而复始从头来。草木荣枯分四时,一岁月有十二圆。 阿衡听後,非常忐忑不安,他担心制出准确的历法,得到天子重用,直接的威胁到他的地位。於是阿衡就以重金收买了一名刺客,准备行刺万年。无奈万年全心研究时令,几乎从不离开所住的日月阁。刺客只好趁夜深人静之时,挽起了箭射杀万年。只听得嗖的一声,一箭射中了万年的胳膊,万年应声倒下。童子们高喊抓拿刺客,守卫的兵士及时抓住了刺客,将他扭送天子。祖乙问明了是阿衡的诡计,就下令将阿衡收押,亲自到日月阁来探望万年。万年就把自己最新的研究成果报告给祖乙:现在申星追上了百星蚕百星,星象复原,子时夜交,旧岁已完,时又始春,希望天子定个节名吧!祖乙说:春为岁首,就叫春节吧。当时祖乙见万年为了制历,日夜劳瘁又受了箭伤,心中不忍,就请他入宫调养身体,万年答道:“多谢天子厚爱,只是目前的太阳历还是草历,不够准确,要把岁末尾时也闰进去。否则,久而久之,又会造成节令失常。为了不负众望,我必须留下来,继续把太阳历定准。”又经过了数十个寒暑,万年精心制定的太阳历终于完成了。当他把太阳历献给祖乙时,已是个白发苍苍的老人了。祖乙深受感动,就把太阳历定名为万年历,并封万年为日月寿星,以上就是万年历名称的由来。 第二个版本 相传,在很久以前,有个名叫万年的青年,看到当时节令很乱,想把节令定准。一天,他上山砍柴,坐在树阴下休息,树影的移动启发了他,他设计了一个测日影计天时的晷仪。可是,天阴雨雾,影响测量。后来,山崖上的滴泉引起了他的兴趣,他又动手做了一个五层漏壶。天长日久,他发现每隔三百六十多天,天时的长短就会重复一遍。当时的国君叫祖乙,天气风云的不测,使他很苦恼。 一个名叫阿衡的大臣,为讨好皇上,奏称要设天台敬祭天神。祖乙认为有理,便带领百官去祭天,却无济于事。万年知道后,忍不住就带着日晷和漏壶去见皇上,对祖乙讲清了日月运行的道理。祖乙听后龙颜大悦,感到有道理。于是把万年留下,在天坛前修建日月阁,筑起日晷台和漏壶亭。并派了十二个童子服侍万年。祖乙对万年说:"希望你能测准日月规律,推算出准确的晨夕时间,创建历法,为天下的黎民百姓造福。"有一次,祖乙传旨要阿衡去了解万年测试历法的进展情况。当他登上日月坛时,看见天坛边的石壁上刻着:日出日落三百六周而复始从头来。草木枯荣分四时,一岁月有十二圆。阿衡见此,知道万年的历法已研究成功,心中忐忑不安。他万分惧怕万年因创建历法而得宠,国君会怪罪自己提出祭祀天神的主意。于是,他阴谋策划,派了一个刺客去除掉万年。刺客攀上日月阁,见万年正在阁上观察星斗,便张弓搭箭,准备射死他。谁知,刺客被卫士发现,被当场缉拿。祖乙知后,惩处了阿衡,亲自登上日月阁看望万年。万年指着天象,对祖乙说:"现在正是十二个月满,旧岁已完,新春复始,祈请国君定个节吧。"祖乙说:"春为岁首,就叫春节吧。"冬去春来,年复一年。后来,万年经过长期观察,精心推算,制定出了准确的太阳历。当他把太阳历呈奉给

Java课程设计-万年历

河北科技大学课程设计报告 号:学生姓名:学 专业班级:程序设计课程设计Java课程名称:学期学年第 2 2 015 学年学期: 2 014 — 指导教师:刘伟月年 2 0

的?.................................................................. ................................1?? 2.需求分................................................................... .........析................................1? 3.总体设计................................................................... ........................................1? 4.详细设计................................................................... ........................................1?

5.软件测试................................................................... . (10) 6.课程设计总结................................................................... ................................11. 一、课程设计目的(1)熟练使用java语言编写程序,解决实际问题。? (2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;? (3)学会自己调试程序的方法并掌握一定的技巧。 二、需求分析本程序的要求为: 1.使用图形用户界面;? 2.本程序能够实现日期与星期的查询。 ?三、总体设计(1)可以通过图形界面显示日历。? (2)能以月历形式显示日期与星期。? (3)支持用户自己输入年份,可以通过上一年,下一年等按钮来选择年份和月份。? ?四、详细设计1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。 ,0若是取余得几既为星期几,7使总天数除以输出月份第一天为星期几的算法:2. 则为星期日。? 3.算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。? 4.查询年份必须为四位有效数字,否则不予显示。 程序源代码: import import import import import import; import import import ; import ; import import import java.awt.*; import import java.text.*; import ;

软件开发文档之详细设计说明书

软件开发文档之详细设计说明书 时间:2008-03-24 12:31:06 来源: 作者: 点击量:[ 繁體中文] 1.引言 1.1 编写目的 说明编写这份详细设计说明书的目的,指出预期的读者。 1.2 背景 说明: a.待开发的软件系统的名称; b.列出本项目的任务提出者、开发者、用户以及将运行该项软件的计算中心。 1.3 定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 1.4 参考资料 列出用得着的参考资料,如: a.本项目的经核准的计划任务书或合同、上级机关的批文; b.属于本项目的其他已发表的文件; c.本文件中各处引用到的文件资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。 2. 程序系统的结构 用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。 3. 程序1(标识符)设计说明 从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。3.1 程序描述 给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是常驻内存还是非常驻?是否子程序?是可重用的还是不可重用的?有无覆盖要求?是顺序处理还是并发处理……等)。

3.2 功能 说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。 3.3 性能 说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。 3.4 输入项 给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。数量和频度、输入媒体、输入数据的来源和安全保密条件等等。 3.5 输出项 给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。 3.6 算法 详细说明本程序所选用的算法,具体的计算公式和计算步骤。 3.7 流程逻辑 用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。 3.8 接口 用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。 3.9 存储分配 根据需要,说明本程序的存储分配。 3.10 注释设计 说明准备在本程序中安排的注释,如: a.加在模块首部的注释; b.加在各分枝点处的注释;对各变量的功能、范围、缺省条件等所加的注释; c.对使用的逻辑所加的注释等等。 3.11 限制条件 说明本程序运行中所受到的限制条件。 3.12 测试计划 说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。 3.13 尚未解决的问题

万年历应用小程序设计报告

题目:万年历应用小程序 一、题目陈述: 设计一个万年历,要求具有显示年份、月份、日期的功能,与windowsXP 系统的日期与时间的界面和功能类似。 二、问题分析: 万年历的界面可由内容面板类panel 和spinner 、textArea 、comboBox 等容器构成;布局可以由BorderLayout 、FlowLayout 、GridLayout 使其达到美观整齐的效果。万年历功能的实现是通过添加相应的监听器和事件处理函数来完成的。 三、题目设计: (一)、类设计: 1、 面板类CalendarDemo :嵌入显示月份的comboBox 和显示年份的spinner ,以及显 示日期的textArea 。 2、 窗口类CalendarTest :镶入面板,设计窗口大小等属性,并包含主函数。运行后显 示该窗口。 3、 类与类之间的关系: (二)、界面设计: 根据windows 的日期界面,利用JPanel 提供的BorderLayout 、FlowLayout ,将包含comboBox 和spinner 的panel1放在NORTH 区,包含textArea 的panel2放在CENTER 区。CalendarDemo 类的对象panel 的titledBorder 设置为“日期”

(三)、事件处理: 匿名内部类事件监听器做事件处理:用comboBox实现月份变换改变日期变换的PopupMenuListener()、用spinner实现年份变换改变日期变换的ChangeListener()。 具体处理方式: (四)、主要的成员变量和成员函数: 1、面板类CalculatorDemo:JComboBox comboBox;JSpinner spinner;JTextArea textArea; JPanel panel1,panel2;String[] monthsString[] date;int thisYear, thisMonth;Public void typeset() ; 2、窗口类CalculatorTest:CalendarDemo panel;public static void main; 四、源代码: import javax.swing.*; import java.awt.*; import javax.swing.event.*; public class CalendarDemo extends JPanel { JComboBox comboBox; JSpinner spinner;

软件设计说明书三篇

软件设计说明书三篇 篇一:软件详细设计说明书 作者: 完成日期: 签收人: 签收日期: 修改情况记录: 1 引言 1.1 编写目的 随着证券交易电子化程度的不断提高,券商对于各种业务提出了新的要求,为了满足券商的发展需求,更好的为客户提供服务,现结合原有各版本的证券交易软件的优点和特点,开发一套采用Client/Server结构的证券交易软件管理系统(SQL版)。本系统从底层予以优化,使整个系统的运行速度得到较大提高,通过重新优化数据库内部结构,使系统的可扩充性得到极大提高。 本说明书给出SQL版证券交易系统的设计说明,包括最终实现的软件必须满足的

功能、性能、接口和用户界面、附属工具程序的功能以及设计约束等。 目的在于: ?为编码人员提供依据; ?为修改、维护提供条件; ?项目负责人将按计划书的要求布置和控制开发工作全过程; ?项目质量保证组将按此计划书做阶段性和总结性的质量验证和确认。 本说明书的预期读者包括: ?项目开发人员,特别是编码人员; ?软件维护人员; ?技术管理人员; ?执行软件质量保证计划的专门人员; ?参与本项目开发进程各阶段验证、确认以及负责为最后项目验收、鉴定提供相应报告的有关人员。 ?合作各方有关部门的复杂人;项目负责人和全体参加人员。 1.2 范围 说明: a.待开发的软件系统的名称:模拟股票交易系统 b.列出本项目的任务提出者、开发者、用户以及将运行该项软件的单位。 1.3 定义 列出本文件中用到的专门术语的定义和缩写词的原词组。 本报告用到的术语符合国家标准《软件工程术语(GB/T11475-1995)》。 1.4 参考资料

课程设计万年历的设计52503328

课程设计万年历的设计52503328

兰州理工大学 计算机与通信学院 2014年秋季学期 面向对象课程设计 题目:万年历的设计

序言 《面向对象的程序设计》是计算机专业一门重要的专业基础课。此次课程设计的目的是以面向对象程序设计语言为基础,通过完成一些具有一定难度的课程设计题目的编写、调试、运行工作,进一步掌握面向过程和面向对象程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实际相结合。从而提高自我分析问题、解决问题的能力。通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《C++语言程序设计》的基本理论知识,理论联系实际,进一步培养学生综合分析问题、解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握面向对象的程序设计方法。 (6)进一步掌握在集成环境下如何调试程序、修改程序和程序的测试。

目录 摘要 (2) 第一章系统总体设计 (3) 一.理论说明 (3) 二.流程图说明 (4) 1.总体流程说明图 (4) 2.部分流程说明图 (4) 第二章系统详细设计 (7) 一.主要组成部分 (7) 二.源程序 (9) 第三章系统测试 (34) 四软件使用说明书 (40) 一.系统运行环境 (40) 二.系统操作提示 (40) 总结 (41) 参考文献 (42) 致谢 (42)

相关文档
最新文档