嵌入式系统课程报告

发布 2022-10-21 07:50:28 阅读 3215

《嵌入式系统》课程报告。

学生姓名: 车良康

学号: 20091002977

班序号: 116092—14

指导教师: 徐战亚

中国地质大学(武汉)信息工程学院。

2011 年 10 月。

题目:仿picasa**浏览系统。

1、引言。1.1、项目背景。

picasa是一款可帮助您在计算机上立即找到、修改和共享所有**的软件。每次打开picasa时,它都会自动查找所有**(甚至是那些用户已经遗忘的**),并将它们按日期顺序放在可见的相册中,同时以用户易于识别的名称命名文件夹。用户可以通过拖放操作来排列相册,还可以添加标签来创建新组。

picasa 保证用户的**从始至终都井井有条。picasa还可以通过简单的单次点击式修正来进行高级修改,让用户只需动动指尖即可获得震撼效果。而且,picasa还可让用户迅速实现**共享——可以通过电子邮件发送**、在家打印**、制作礼品cd,甚至将**张贴到用户自己的blog中。

本系统将仿照picasa的部分功能,如picasa的缩略图浏览方式、单个**的浏览方式、幻灯片式的****等。本系统同时添加有一些独有的功能和浏览方式。

1.2、编写目的。

本文档将对本系统的详细设计方案,本系统的完成程度,以及开发人员的心得等做详尽的描述。本文档用于,让未参与开发的人员快速了解系统细节和设计思路,并对系统的改进和维护作出宝贵建议。

1.3、设计依据。

本文档将依照标准《概要设计说明书》与《模块设计说明书》的规范进行编写。

2、总体设计。

2.1系统设计原则。

仿picasa**浏览系统主要需要遵循以下几个原则:

实用性原则:这是所有应用软件最基本的原则。直接衡量系统的成败,每一个提交到用户手中的系统都应该是实用的,能解决用户的实际问题,否则该设计就是垃圾。

本系统必须可以使用户能够感到系统的可用性。

标准化原则:本系统必须按照标准化的方法进行开发与设计。为了可以与其他系统兼容,本系统必须使用标准化的接口与格式。

可靠性原则:这也是所有应用软件最基本的原则,不可靠的系统是无法提供给用户使用的。本系统必须是可靠的。

在用户做出一些不正确或非法操作时,本系统必须阻止此操作并给与提示。同时,本系统必须拥有较好的容错性,在出现一般错误的情况下,不至于导致系统崩溃。并且,在错误出现之后,可以很快的恢复到正常状态,记录下错误原因。

高效性原则:本系统必须是高效的。在用户访问了大型数据时,也能保持一定的效率和稳定性。当**分辨率过高或文件过大时,仍可以有效的、快速的响应用户的需求。

适用性和扩展性原则:本系统必须具有一定的适用性,可以适用于大多数的操作系统。同时,本系统必须具备一定的可扩展性。

利用可扩展的设计方案,使得本系统可以随时比较容易的扩充其功能,实现快速的再次开发。

安全性原则:本系统必须具有一定安全性。这里指的是在一定范围类安全,而不是绝对的安全。

2.2、设计中应用的关键技术。

本系统使用j**a编写,并使用sun公司提供的各种api和jdk类库。使用awt包中的组件,可以很容易的开发桌面可视化程序。本系统使用了多线程编程,用以**的特效显示。

2.3、总体结构。

2.3.1、界面结构。

2.3.2、功能结构。

3、界面设计。

界面分为三个部分:启动界面、主界面、浏览界面。

3.1、启动界面。

启动界面比较简洁,仅有一张**显示。**将把本系统的logo以及主要风格第一时间内呈现出来。启**片内容与google的picasa系统类似。

3.2、主界面。

主界面将模拟google的picasa系统,主要布局方式与其十分相似。主界面包括有菜单栏、工具栏、文件夹框、略缩图框、状态栏这5个部分组成。

菜单栏】位置:位于最顶部。

尺寸:由jvm自己控制。

工具栏】位置:位于菜单栏的下面。

尺寸:宽度与主框体相等,高度为50px。

文件夹框】位置:位于主框体左侧。左上角坐标为(10,60)。

尺寸:宽度为200px,高度为主框体高度减去150px。

略缩图框】位置:位于主框体右侧。左上角坐标为(220,60)。

尺寸:宽度为主框体宽度减去250px,高度为主框体高度减去150px。

状态栏】位置:位于最下侧。

尺寸:宽度为与主框体相等,高度为30px。

3.3、单图浏览界面。

浏览界面主要用于浏览单个**。界面仅由**浏览框和工具栏组成。

**浏览框】位于中心。

工具栏】位于最下侧,高度为40px。

3.4、自动**界面。

自动**界面将以全屏显示。

3.5、单图浏览幻灯片界面。

单图浏览幻灯片界面将以全屏显示。

4、系统功能设计说明。

4.1、启动界面功能模块。

启动界面没有可使用的功能。仅在系统启动的时候,存在3秒左右。

实现方式:使用一个jwindows容器来显示启动画面。在jwindows容器中绘制一个启**片,然后利用计时器控制此容器显示时间。

当定时时间倒时,调用此容器的setvisible(false)方法隐藏此容器,接着调用主框架jframe的setvisible(true)方法启动主框架。

启动画面。4.2、菜单栏功能模块。

菜单栏中的主要菜单有:文件(f)、工具(t)、帮助(h)。

菜单栏。文件(f)】

文件中包括的菜单有:文件另存为(a)、文件重命名(r)、文件删除(d)、退出(x)。其中的文件另存为(a)、文件重命名(r)、文件删除(d)将使用**文件操作功能模块的对应功能(在4.

6节描述)。

退出(x):退出本系统。点击后,弹出提示框(见图)。选择是,则退出;选择否,取消本次操作。

实现方法:使用joptionpanel类来显示提示对话框。使用file类的delete方法来实现删除操作。

退出提示对话框。

工具(t)】

工具中包括菜单有:设置(s)。

设置(s):点击后,将弹出设置对话框。

在设置对话框中,允许设置的项目有:略缩图的显示大小,略缩图的水平最小间隔,略缩图的垂直间隔;略缩图的缓存大小;自动**的时间间隔。

略缩图的显示大小:在略缩图的列框模式下,每个略缩图的显示尺寸。

略缩图的水平最小间隔:在略缩图的列框模式下,略缩图水平间隔由软件自动计算,但其结果不小于已设定的最小间隔。

略缩图的垂直间隔:在略缩图的列框模式下,略缩图的垂直间隔。

略缩图的缓存大小:在略缩图的浏览模式下,**在内存中的缓存尺寸。(过大将占用大量内存,过小将使**不清晰)

自动**的时间间隔:自动**功能下,每**一张**的间隔时间。

实现方法:继承jdialog类来设计一个设置对话框。其中包括jlabel、jtextfield、jbutton等组件。

帮助(h)】

帮助中包括菜单有:关于(a)。

关于(a):点击后,弹出关于对话框。在关于对话框中,最开头是本软件的logo;接下来是关于本软件的关于说明;最后是确定按钮。

关于对话框。

4.3、文件夹选择功能模块。

文件夹框的主要功能是提供一个可以选定本地文件夹的树结构视图。此视图以“我的电脑”为根,以树结构遍历本地的每一个文件夹。此视图只显示文件夹,而被选中的文件夹路径将发送至**读取线程,进行**读取。

实现方法:使用jtree类来构建树形视图,并将其放入jscrollpanel容器中,以实现活动条效果。文件夹遍历算法采用csdn上**的一个源码。整体效果如下图:

整体效果:根目录:

展开文件夹效果:

点中文件夹效果:

4.4、略缩图显示功能模块。

缩略图框的主要功能是提供**的选择与初步浏览。此视框拥有两种不同的显示模式:一种是缩略图列框模式,另一种是缩略图浏览模式。两种模式的切换可以使用工具栏的模式切换按钮。

4.4.1、缩略图列框模式。

此模式下,**的缩略图以阵列的形式展现出来。缩略图的尺寸都比较的小,以便可以容下大量的缩略图。缩略图的大小可以在设置中进行调整。大体效果见下图:

大体效果图。

缩略图的排列方式不定,并保持**的原始比例。当改变主框体大小的时候,缩略图将重新算计位置和间隔,使用平均计算的方式使得摆放的位置自然均匀。从而产生拉动主框体,**跟随调整位置的效果。

其效果和google的picasa系统类似。为每个**绘制较细的灰色边框,并绘制阴影效果,使得**更有立体感。

当用户用鼠标单击某一**时,此**将被选中,并用粗蓝矩形标出(见图)。此时,可以对此**进行菜单栏中的另存为、重命名以及删除操作。

选中**以蓝色框标出。

当用户用鼠标双击某一**时,将进入浏览界面。用户可以通过浏览界面,认真、仔细的观赏此**。

实现方法:所有缩略图都显示在jpanel面板中。通过重载jpanel类的paint(graphics g)方法,可以对面板进行自由绘制。

使用方法来绘制略缩图,而缩略图的缓存数据存放在bufferedimage对象中。所有的bufferedimage对象使用一个linkedlist链表来管理,以达到易于存取。

4.4.2、略缩图浏览模式。

此模式下,**的缩略图以类型于**影片的方式展现。缩略图的尺寸比较大,以便使用户看得更清楚。

大体效果图。

每次有三张**显示出来,正中心的**为当前**,在最前方;左边的**为上一张**,在后方;右边的**为下一张**,在后方。三张**的比例不变,仅在必要时做适度放缩。

当点击当前**时,将进入浏览界面。当点击上一张或下一张**时,三张**将发生移动和渐变,直到点击的那张**到达当前**的位置,同时左右**也发生变化。变化时拥有半透明特效。

特效变化过程。

实现方法:重载jpanel类的paint(graphics g)方法,获取面板的自由绘制权利。通过开启一个时间线程来控制每个**在某一时刻的位置、尺寸以及透明度。

快速**每一帧的图像,则会形成动画效果。

4.5、单图浏览功能模块。

4.5.1、单图浏览界面。

单图浏览框的主要功能是浏览单个**,整个框将放置一张**。若**尺寸小于框体的尺寸,则显示**原始尺寸。若**尺寸大于框体尺寸,则按原始比例略缩到框体放得下的尺寸。

高度被限制的情况。

高度被限制的情况。

**较小情况。

4.5.2、单图浏览(幻灯片)

单图浏览幻灯片是模仿picasa的单图浏览方式。当点击单图幻灯片后,背景桌面将成暗黑色,**就由小变大的出现在界面中。最终,如果**足够大,就占满整个屏幕,如果**较小,就按实际大小显示在中心位置。

**可以使用鼠标任意拖动,也可以利用鼠标滑轮改变**大小。

嵌入式系统报告

北京联合大学信息学院。嵌入式系统应用课程设计 实验报告。题目 基于arm9的电子时钟设计。时间2013.11.26 一 课程设计评分表1 二 设计任务书2 三 概要设计2 四 详细设计3 五 调试过程及结果分析10 六 设计 调试中的体会及建议13 七 参考文献13 课程设计评分表。基于arm9的电...

嵌入式系统报告

浙江理工大学。rm嵌入式系统技术及应用 课程报告。题目 基于stm32的呼吸灯设计。专业 电气工程及其自动化。班级 10电气工程及其自动化1班。姓名 杨家卫。学号 b103828 指导老师 顾敏明。本次设计基于对这一学期相关内容知识的整合,将相关知识应用在野火开发板上,实现设计目标的过程。stm32...

嵌入式系统报告

目录。一背景介绍 1 二系统总体设计 1 2.1 博创netarm2410 s开发平台 1 2.2 硬件体系结构 2 2.2 软件体系结构 2 三系统具体设计 3 四系统调试结果 3 五个人具体工作 4 5.1 本机qtopia虚拟平台的建立 5 5.2 qt交叉编译环境的建立与开发板库文件的加载 ...