软件开发工具

2024-07-07

软件开发工具(精选12篇)

软件开发工具 篇1

据国外媒体报道,微软推出了Windows Phone 7 Series软件开发工具,让开发人员为这个新的操作系统创建应用程序和游戏。

微软.Net开发者平台副总裁Scott Guthrie在MIX10会议上证实说,Windows Phone 7应用程序将建在Silverlight (微软对Flash的回应) 技术的基础上并且支持电容式多点触控显示屏、地理位置、推播通知以及支持数字版权管理的硬件加速的视频功能。

游戏将采用微软的XNA Game Studio制作。这个工具原来是为制作Xbox Live服务的游戏制作的。

在Windows Phone 7手机上玩的游戏能够继续在电脑和Xbox游戏机上玩。

Windows Phone 7应用程序将通过升级的Windows Phone市场提供。与Android市场类似,Windows Phone市场将提供一种试用之后购买特点。

微软还发布了Silverlight 4软件的候选发布版,正式版本预计在近期推出。

软件开发工具 篇2

网络通讯工具也是基于与其相对应的协议来实现数据传输的目的。如电子邮件常用的协议有SMTP、POP3协议,即时通讯工具软件常用UDP协议来传输数据,网络电话常用TCP和UDP协议来传输数据。

 SMTP协议简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,我们就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转你发出的电子邮件。

Android开发工具初探 篇3

不可或缺,安装Java运行环境

如果大家有看过我们去年第33期的《一个APP是怎么诞生的》,就知道Android应用实际上是基于Java语言开发的,所以我们开发应用时首先要有一个Java运行环境。

这Java运行环境的安装非常简单,去官网(http:// tinyurl.com/d54xddx)将安装文件下载到电脑中,直接安装即可。这里要注意的是该网站提供了各种操作系统的版本。32位Windows版本的名称叫做“jdk-7u2-windows-i586.exe”,不要下错了哟!下载后双击安装,如果你没有特殊要求,直接按照默认设置,一路点击“下一步”直至完成即可(如图1)。如果你C盘空间不足,那么可以更改目录安装到其他盘,但一定要记住你安装的目录地址,因为之后的配置会使用到它。

必不可少,使用Android开发工具包

接下来,Android开发工具包(SDK)也是必须有的,它包括了一大堆开发应用时需要的各种必备程序。没有它,我们的Android应用就只能是一堆堆代码,它是开发Android应用的核心组件。

Android开发工具包的安装也很简单,直接下载安装版一路点击“Next”即可(http://tinyurl.com/ 7dqml9m,另外还有个压缩包版,安装很麻烦,不推荐下载),它除了将SDK文件安装到指定位置外,还兼具自动配置系统环境变量和检测Java运行环境是否正常等功能,可谓安装配置一条龙。

安装完毕后,在“开始”菜单的程序栏能看到“SDK Manager”和“AVD Manager”两个工具。目前它俩都还只是个空壳子,我们首先需要在“SDK Manager”中将需要的Android平台版本以及相关程序下载下来,才能编译以及运行相关的应用。比如我想编写的应用主要是在Android 2.3上面使用,那么运行“SDK Manager”,勾选“Android 2.3.3(API 10)”的复选框,然后点击“Install × Packeges”进行下载安装(如图2)。

至于那个“AVD Manager”是干啥的呢?“AVD Manager”是用于管理Android虚拟机的工具。虚拟机测试是很重要的工作,它的创建很简单,点击“New”按钮,简单设置一下虚拟机的参数如内存大小和屏幕分辨率等,再点击“Creat AVD”建立虚拟机(如图3)。之后再选中创建的虚拟机,点击“Start”就能启动。

专用工具,让编程事半功倍

从易用性的角度来看,Android开发工具包除了调用虚拟机时非常直观(有图形界面)外,其他功能如生成、调试和安装程序时,都需要在命令行工具上输入各种复杂的命令才能完成,既不直观也不方便,初学者较难掌握。如果想要更方便地调试安装应用,我们还需要专门的集成开发环境工具(IDE)来帮忙。对于编写Android应用来说,通常推荐大家使用Eclipse这个免费的开发工具(如图4)。

Eclipse的安装比之前的两个工具还要简单,它是一款绿色软件,将官网(http://www.eclipse.org/ downloads/)提供的压缩包解压,点击其中的“Eclipse. exe”就可以使用了。只是官网提供的版本有很多,初学者很可能不知道下载哪一款来使用。对于这一点,Google已有定论,你只需要在“Eclipse IDE for Java Developers”、“Eclipse IDE for Java EE Developers”和“Eclipse Classic”三个版本中选择任何一个都行。

特供插件,让专用工具更好用

Eclipse很强大,但之前下载的版本还是基于Java语言编程的,想要与Android编程无缝衔接,还需要一个专门的插件。

有了这个插件,Eclipse才能算得上是真正的Android编程工具。代码编写、界面设计以及输出并调试APK文件等操作都可以通过Eclipse来实现,而不用去开启额外的调试工具。该插件的安装要比前面要复杂一点,不过也就是两个步骤的事儿。

Step1:运行Eclipse程序,选择“Help→Install New Software”,在Available Software窗口中点击“Add”按钮。在弹出窗口中,Name一栏输入“ADT Plugin”, 在Location一栏输入“http://dl-ssl.google.com/android/eclipse/”(如图5),点击“OK”按钮返回Available Software窗口(有时要将http改成https才能生效)。在该窗口下点击“Select All”,再一路点击“Next”直至插件下载安装完成。

Step2:安装完成后需要重启Eclipse。在Eclipse重启后,选择“Window→Preference”后可以在分类列表中看到“Android”这一项。然后我们需要告诉Eclipse,我们将Android开发工具包安装在了什么地方。把先前记录的地址输入到“SDK Location”后面点击“OK“保存(如图6)。

至此我们的开发工具都设置好了!怎么开启我们的第一个Android应用呢?点击“File→New→Project”,在弹出窗口展开“Android”目录,选择“Android Project”,然后按照要求把你的第一个APP名字等信息填好,点击“OK”。然后按下“Ctrl+F11”键。如果之前你有新建虚拟机,那么Eclipse便会编译你刚刚新建的这个应用,并调用相应的虚拟机来运行它。这个我们连一行代码都没有写的应用会显示啥呢?我们一开始开始就说了嘛,会显示“Hello World”(如图7)!

Android

掌上租房方便可靠

软件类型:生活

适用固件:

2.0及以上固件版本推荐指数:★★★★★

对于很多毕业后到大城市打拼的“童鞋”而言,租房费用无疑是每个月最重的开支。如果缺乏租房经验的话,没准租的地方又贵又不方便,甚至还有可能上当受骗。

《掌上租房》是一款号称手机上最专业的租房搜索应用,它聚合了好租、搜房、58和赶集等数千家网站、200多个城市的租房房源,能智能过滤掉中介和虚假房源,从而保证租房房源真实有效。各位想租房的“童鞋”不妨来体验一下哟!

拍拍照片赚赚话费

软件类型:摄影

适用固件:

1.6及以上固件版本推荐指数:★★★

如今手机摄像头的效果是越来越好了,POP熊经常看到很多游客直接用手机代替相机拍照,这让那些辛苦背着数码单反相机的游客情何以堪呀!其实手机拍照不但方便,它比起相机来还有个优势,就是能赚取话费哦!

这并非玩笑,只要在手机上安装《拍照送话费》这款APP,然后在出行时拍摄城市建筑风貌照片并上传,就能赚取到话费。每月都觉得话费不够用的朋友不妨多拍些照片来补贴话费吧!

火车车票轻松查询

软件类型:旅游

适用固件:

1.5及以上固件版本推荐指数:★★★★

又是一年一度的春运高峰期了,这时候买火车票成为了一个大难题,甭管你的回家过年计划做得再好,没票那都是浮云。这时候《火车票查询》这款APP就派上用场了,它不仅支持站站查询、车次查询和车站查询,在每一种查询结果中都还提供了余票查询,还支持短信转发呢!

特效强大拍照给力

软件类型:摄影与录像软件价格:免费

推荐指数:★★★★★

得益于采用了优质的摄像头,iPhone 4和iPhone 4S的拍摄效果已经不输给卡片相机了,难怪越来越多的用户乐于把它们当成相机来使用。所谓好马配好鞍,如果嫌iPhone自带的拍照软件不够给力的话,不妨来试试新出的PowerCam吧!它内置了50多个独特的效果,无论是拍照还是摄像,效果都是所见即所得,无需后期编辑。独创的智能拍摄功能以及人脸检测功能更是媲美专业相机,POP熊强烈推荐大家使用!

小米司机贴心秘书

软件类型:生活

软件价格:免费

推荐指数:★★★★

常在路上走,哪有不违章。如今买车的人越来越多,拥挤的交通、上涨的油价、恶劣的天气和该死的限行都让开车的人变得心情浮躁,一不小心就会违章驾驶。对此,POP熊推荐各位司机朋友使用《小米司机》这款APP。

该软件包含全国交通违章查询、油价查询和每天限行提醒等车主常用功能,是每一个开车人士贴心、必备的“小秘书”哦!当然,POP熊是从来不担心自己会违章的,无车一族毫无压力地漂过。

搜狗地图方便好用

软件类型:导航

软件价格:免费

推荐指数:★★★★★

软件开发工具 篇4

目前, 很多学校为便于学生日常管理, 配备辅导员或班主任等管理人员来管理学生的学习和生活。为了方便讨论, 下面所提到的辅导员都是指这类人员。

了解学生的基本情况是辅导员做好本职工作的重要条件之一。学生管理部门也希望通过大赛或考试等途径评测辅导员了解学生基本信息的程度。本软件正式基于这个目的开发的。

软件运行界面如图1所示。

2 开发环境

基于Java平台, 利用NETBEANS6.1开发的桌面软件。该软件采用MySQL数据库存储学生信息和辅导员信息, 并采用Navicat作为数据库操作前端图形界面。

SWING是一个用于开发Java应用程序用户界面的开发工具包, 它以抽象窗口工具包 (AWT) 为基础, 且具备跨平台特点。借助SWING的强大功能, 开发人员只用很少的代码就可以创建优雅的用户界面。

NETBEANS是由Sun Microsystems公司建立的开放源代码的软件开发工具, 可用于多种不同类型软件的开发。

MySQL Server是一个小型关系型数据库管理系统, 开发者为瑞典MySQL AB公司。由于其体积小、速度快、总体拥有成本低, 尤其是开放源码这一特点, 许多中小企业为了降低成本而选择MySQL作为数据库。

Navicat是MySQL前端图形用户界面, 它可以针对本地或远程的MySQL服务器进行管理, 可以运行于3种操作系统平台上———Windows、Mac OS X和Linux。

3 软件设计

3.1 目标

本软件主要用于检测辅导员的基本功, 考察他们是否充分了解学生的情况, 比如:学生家庭情况、学习情况、思想情况等, 以便针对学生的实际情况更好地管理和帮助学生。

(1) 本软件应提供下拉菜单, 供检测者选择被测人员。

(2) 为了使得检测尽可能科学合理, 软件具备随机抽取功能, 能够随机抽取一张学生图片, 并在屏幕上显示。当检测者单击“开始”按钮后, 学生图片按照一定的速度在屏幕中切换;单击“停止”按钮后, 图片不再切换。当图片停止切换后, 先由被测人员讲解屏幕显示学生的具体情况, 然后由检测者决定是否显示学生的详细信息, 并针对被测者讲解的具体情况给被测者打分。

(3) 为了适合不同情况的需要, 软件应具备图片切换速度调整功能 (图1中的滑动杆) 。

3.2 数据库

在MySQL Server中创建数据库“instructorsexam”, 并建立数据表“teacher”和“student”。数据表“teacher”的主键是“id”, 数据表“student”的主键是联合字段“teacherID”+“id”。建立数据表可以使用Navicat软件, 如图2所示。

数据表“teacher”和“student”的字段含义如表1和表2所示。数据表“student”的字段“teacherID”与“teacher”的字段“id”具有多对一的关系。

数据表“teacher”的定义如下:

数据表“student”的定义如下:

需要说明的是, 学生照片应按照一定规格制作, 建议尺寸295*413像素。照片可以存储在数据库中, 也可以直接存放在软件安装路径下。本软件为了简单起见, 首先将学生图片编号 (图片编号与数据库中的学生编号一致) , 然后将图片分别存放在“photo”文件夹中以教师编号为子文件夹的路径下。

软件运行过程中, 用户一旦选定了辅导员, 并单击了“开始”按钮, 软件便在指定路径下搜寻学生照片, 并根据找到的图片数量产生一个随机整数i, 并显示以整数i为编号的学生图片。随机显示学生图片的过程会一直进行下去, 直到用户单击了“停止”按钮为止。

3.3 界面

在开发环境NetBeans中创建桌面应用程序InstructorsExam, 并设计如图1所示的主界面“MainJFrame.java”。主界面“MainJFrame.java”中涉及界面元素定义的代码以及全局变量的定义如下所示:

3.4 核心代码

本软件所有Java类文件都在包myPackage中, 包myPackage包含的类文件如图3所示。其中类“DbBean.java”负责数据库操作以及系统初始变量的定义;类“LoadImage.java”负责装载和设置图片;类“MainJFrame.java”负责系统初始化, 同时为用户提供操作界面;类“MySlidder.java”负责定义和初始化速度滑杆控件;类“NewTimerTask.java”负责产生随机数、设置学生图片和其他信息;类“TimerCallClient.java”负责定义定时器并配置定时器参数;类“OpFile.java”负责完成图片文件的操作;类“Student”和类“Teacher”是两个实体类, 分别负责定义学生和教师对象。

下面就“开始”按钮所涉及的关键代码做出说明。

单击“开始”按钮后, 软件系统首先获取学生图片信息, 并将图片ID列表保存在变量“photoList”中;接着调用定时器类“TimerCallClient”的“run”函数, 由该函数创建类“NewTimerTask”的实例变量“timerTask”, 并将参数传递给变量“timerTask”, 由变量“timerTask”的“run”函数设置学生图片和学生信息。各函数之间的调用关系如图4所示。

代码1是类“MainJFrame”中的部分代码, 代码2是类“TimerCallClient”中的主要代码, 代码3是类“NewTimerTask”中的主要代码。具体如下所示 (注意“TimerCallClient”和“NewTimerTask”中“run”函数的参数列表) :

代码1:

代码2:

代码3:

4 软件安装

软件开发完成并测试通过后, 即可进行安装。安装前需要在开发环境“NeatBean”中生成jar文件“InstructorsTest.jar”。

软件安装比较简单, 主要是配置好Java工作环境和数据库环境。建议按照如下顺序进行安装并进行测试。

(1) 安装jdk1.6环境平台。

(2) 安装配置MySQL 5.0数据库服务器。安装配置数据库服务器时, 建议将数据库服务器默认语言配置为“gbk”;并确保MYSQL服务正常启动。

(3) 安装Navicat数据库操作客户端软件, 并确保Navica能够正常访问数据库服务器。

(4) 通过Navicat软件登录到数据库服务器, 并创建数据库“instructorsexam”, 在数据库“instructorsexam”中建立数据表“teacher”和“studeent”, 并输入几条测试记录。

(5) 由于本软件假定学生照片与运行文件放在同一路径下, 因此, 首先将整理好的学生照片统一放在“photo”文件夹中 (当然, 需要为每个辅导员建立一个子文件夹, 子文件夹的名称与数据库中辅导员的ID一致) , 然后将图片文件夹“photo”、运行文件“InstructorsTest.jar”放置在磁盘同一路径下。

(6) 双击文件InstructorsTest.jar即可运行软件。

5 结语

基于实际开发的软件项目, 系统地介绍了基于Java平台的小型桌面软件开发的一般流程, 给出了界面设计、数据库设计、核心代码;同时为了便于读者进行测试, 还给出了软件安装方法。

参考文献

[1]netbeans.org[CP/OL].http://netbeans.org/kb/docs/web/jsf20-support.html.

[2]http://www.onjava.com/pub/a/onjava/2005/07/13/jsfupload.html, 2005.

[3]The Java EE 5 Tutorial.http://java.sun.com/javaee/5/docs/tuto-rial/doc/index.html.

[4]刘永立, 白地动.基于Java平台的网上成绩管理系统的设计与实现[J].中国教育信息化, 2010, 1:48-52.

[5]刘永立.B/S结构教学管理系统的设计[J].电脑编程技巧与维护, 2009, 18:121-123.

[6]http://www.w3schools.com/.

[7]http://www.htmlhelp.com/.

[8]http://www.w3c.com/.

[9]Madhu Siddalingaiah Stephen D.Lockwood.Java开发人员指南.机械工业出版社, 2000.

画图软件教案-工具举例 篇5

第1课 初识画笔

教学目标: 认识“画图板”窗口。教学时间:1课时 教学过程:

同学们,喜欢画画吗?在我们的电脑中有一个强大的工具软件叫“画图板”,在这个软件里面有用不完的“颜料”和“画布”,使用它可以绘制美丽的风景画、人物画、想象画,还可以用它制作名片、明信片和贺卡。

上图所示就是使用“画图板”程序画的画,怎么样,心动了吗?下面我们一起来学习使用这个软件吧。

一、启动“画图”

1、画图程序是电脑中一个非常有趣实用的小程序,启动方法如下: 步骤1:启动电脑后,使用鼠标左键单击“开始”按钮; 步骤2:在弹出的菜单里选择“娱乐”;

步骤3:使用鼠标左键单击“画图”即可启动程序。

2、也可以使用画图程序的快捷图标起动程序:点击桌面“娱乐(4)”按钮,双击“画图”图标启动程序。

二、认识“画图”

1、画图的窗口

“画图”窗口主要有3个区域,左边是工具栏,下面是颜料盒,中间的大块区域就是绘图区(画布)等。

2、练一练

将下面的工具和它们对应的名称连接起来。曲线 画笔

文本 选择(椭圆的)颜色提取器

连接线 填充

颜色橡皮擦 喷雾罐

直线 选择(自由形式)

多边形

电脑画图软件教案

3、想一想

尝试使用工具箱中的不同工具,并注意观察工具箱下方“工具状态选择器”的变化。

4、看一看

使用“图像(I)”菜单中的“改变大小/缩放(E)„„”命令可以调整画图区的大小。

三、退出“画图”

使用完“画图”程序后,要正确地退出“画图”程序。

单击“关闭”按钮后,出现对话框,分别点击“保存(S)”、“放弃(D)”、“取消(C)”,看看它们分别有什么作用?

四、讨论坊:

还有哪些计算机软件能帮助我们画图?

五、成果篮:

电脑画图软件教案

第2课 画圆

教学目标: 学习“椭圆”、“刷子”工具的使用方法。教学时间:1课时 教学过程:

一、画云

1、用“椭圆”工具画出图中的“云”。

2、画图时,如果发现画得不满意,可以选择“编辑(E)”菜单中的“撤销(U)”命令取消刚才的操作,注意最多只能撤销三步操作。

二、画气球和太阳

1、选择不同的颜色画出彩色的气球。

2、用同样的方法,画出另两只气球和太阳。

3、选择“椭圆”工具后,按住Shift键拖动,就能方便地画出圆。

4、练一练

①画出下面的图形。

②用“刷子”或“铅笔”工具画下面的图画:

三、保存作品

画好“云、气球和太阳”后,应及时保存。

四、实践园:

选择自己喜欢的颜色画下面的图画。

五、成果篮:

电脑画图软件教案

第3课 填充颜色

教学目标:学习画彩色的图形。教学时间:1课时 教学过程:

一、画气球、太阳

1、选用“椭圆”工具中的填充模式,可以画出彩色的气球和太阳。

2、用同样的方法画出另外两只气球。

3、知识屋:

单击颜料盒中的颜色块,设置前景色;右击颜色块,设置背景色。其实在画画的时候使用前景色和背景色就可以画画。选取刷子工具,在画图区域按下鼠标左键,能使用前景色画画,按下鼠标右键,可以使用背景色画画。

二、加新的颜色到颜料盒

在填充颜色的过程中,我们发现从颜料盒中可以选择的颜色只有22种,很多想要的颜色在颜料盒中并没有,需要添加新的颜色到颜料盒中。

步骤1:使用鼠标左键单击颜料盒中与自己需要的颜色最接近的一种颜色,比如在第一排颜色中的最后一个棕色;

步骤2:单击菜单栏中的“颜色”——“编辑颜色”;

步骤3:在弹出的编辑颜色对话框中,选择基本颜色后单击“确定”,所选择的颜色就被添加到了颜料盒中。

如果在“基本颜色”中没有找到需要的颜色,还可以使用鼠标指针到左边的颜色中去选择和编辑需要的颜色,然后单击“添加到自定义颜色中”按钮,这时新的颜色就到了“自定义颜色”框中;

步骤4:单击“确定”按钮,关闭编辑颜色对话框,返回画图程序,可以看到新的颜色出现在了颜料盒中。

三、涂出彩色气球和太阳

1、选择“用颜色填充”工具,也可以给图形涂色。

2、提示牌:

“用颜色填充”工具只适用于对封闭区域进行涂色。

四、实践园: 画出下面的图画:

五、成果篮:

电脑画图软件教案

第4课 画矩形

教学目标:学习用“矩形”工具画长方形和正方形。教学时间:1课时 教学过程:

一、画火车头和车厢

1、用“矩形”工具画出火车的头和车厢。

火车头和车厢都可以看成由一个个的长方形组成,在画图程序中,用来绘制长方形和正方形的工具叫矩形工具。在工具栏上单击直角工具按钮就可以画长方形了。

当将鼠标指针移动到直角矩形工具按钮上单击鼠标左键时,我们看见在工具状态栏上显示直角矩形工具有3种画图模式:“没有填充”、“以背景色填充”和“以前景色填充”。选择不同的模式画图会有不同的效果,在这里选择第一种“没有填充”模式。

从绘制的长方形可以看出,图形的边框线条很细,通过下面的方法可以进行调整。步骤1:使用鼠标左键单击工具栏上的直线工具按钮; 步骤2:在直线工具下面的选择框中选取合适粗细的线条;

步骤3:用鼠标左键单击工具栏上的直角矩形工具,现在绘制的矩形的边框就是刚才选择的线条了。

为了美观,火车的车头和车厢画成边框线为所示的工具状态栏上第二种粗细的线条。

2、使用直角矩形工具画长方形

步骤1:单击画图工具栏上的直角矩形工具按钮;

步骤2:将鼠标指针移动到画布上,这时鼠标指针变成了十字形状,在需要开始绘制长方形的地方,按下鼠标左键不放,拖动鼠标,随这鼠标指针的移动,屏幕上出现一个矩形。

步骤3:当觉得画的长方形比较适合的时候,松开鼠标左键完成绘制。

选择了直角矩形工具后,在拖动鼠标的同时按下键盘上的shift键,这样就可以画出标准的正方形。

二、画车窗

1、使用圆润矩形工具画边角是圆形的矩形

在画火车的时候,车厢可以画成标准的长方形,但是窗口却是有圆的长方形,画图程序里面称这种圆角的长方形为“圆润矩形”。

电脑画图软件教案

步骤1:单击工具栏上的圆润矩形工具按钮;

步骤2:将鼠标指针移到画布上,当指针变成十字形时按下鼠标左键拖动鼠标到合适的位置后松开就完成了圆润矩形的绘制。

2、如果需要绘制长和宽一样的圆润矩形,只需要在绘制中一直按住键盘上的shift键就可以了。

三、实践园:

使用矩形工具绘制一台计算机和一台打印机,使用椭圆工具画一朵花。

四、成果篮:

电脑画图软件教案

第5课 画线

教学目标:

1、认识直线工具和它的画图方法。

2、使用直线工具、画笔工具和刷子工具画一艘帆船。教学时间:1课时 教学过程:

你能在“画图”中画出一艘“帆船”吗?

一、画船身和桅杆

1、画船身

步骤1:启动画图程序后,将鼠标指针移动到工具栏上,指向直线工具按钮后单击鼠标左键;

步骤2:选择的直线工具后,在工具栏的下方出现了线条的粗细选择栏,可以根据需要选择线条的粗细;

步骤3:在颜料盒中选择我们需要的颜色;

步骤4:在绘图区域画线的位置单击鼠标左键,然后按住鼠标左键不放移动鼠标,这是我们可以看见刚才单击的地方作为开始点,同移动的鼠标指针顶点连成了一条线,移动鼠标指针到适合的位置放开鼠标左键就可以画出一条直线了。

2、画桅杆

画出船身后,我们改用比较粗的线条来画桅杆。画桅杆时,拖动鼠标同时按下shift键可以画出垂直的线条。

画桅杆时,我们希望桅杆的线条是笔直的。使用直线工具,拖动鼠标的同时按下键盘上的Shift键,这样画出的线条就是笔直的线条。

二、画船帆

船帆由于有风在吹,上下是直线,而左右是两条曲线。步骤1:使用直线工具绘制船帆的上下两条线。

步骤2:船帆两边的线条是曲线,这是我们需要改用画笔工具画曲线,画的时候注意鼠标左键一直按下,途中不能松开。

如果在画曲线的时候希望线条粗一些,也可以改用刷子工具来画。画笔工具绘制的线条 7 电脑画图软件教案 都比较细。

三、画水波

1、水在风的吹动下,会出现水的波纹,在画面上表现为一些弯曲的线条,我们可以选择画笔工具,并且选取蓝色来画。

步骤1:在颜料盒里选择蓝色。

步骤2:单击“曲线”工具,画出一条直线。步骤3:按住左键向上拖动,开成第一个弧度。步骤4:按住左键向下拖动,开成第二个弧度。掌握了画曲线的方法,就可以容易地画出水波纹了。

2、看一看

在画曲线的时候,主要需要3个过程:第一是画出曲线的开始点和结束点,这时是一条直线;第二需要确定曲线的弯曲程度;第三是确定曲线的绘制。

3、议一议

①怎样画比较长的水波纹? ②线条如何连接?

③使用刷子工具画画的时候,选择不同的线条效果可以画出不同形状的图画,想一想下面的图画是怎样画出来的。

四、使用曲线工具画封闭的曲线

利用画封闭曲线的方法,我们可以画出花瓣。

五、实践园:

1、完成帆船的绘制,并在船的上方添加海鸥。

2、使用直线和曲线工具,创作下面的图形。

六、成果篮:

电脑画图软件教案

第6课 修改图形

教学目标:学习“橡皮/彩色橡皮擦”和“放大镜”工具的使用。教学时间:1课时 教学过程:

一、用橡皮修改

1、在画图的过程中我们总要涂涂改改,用“橡皮擦/颜色橡皮擦”工具按钮可以擦除需要修改的地方。

步骤1:用鼠标左键单击工具栏上的橡皮擦工具;

步骤2:将鼠标指针移动到绘图区域,这是鼠标变成了橡皮擦的形状,按住鼠标左键并且拖动鼠标,就可以擦除不需要的画面。

2、看一看

背景色是什么颜色,你的橡皮擦就是什么颜色的橡皮擦,所以在选取背景色的时候,需要根据你画画的情况来调整选择的背景色。

3、议一议

①如果画错了大片区域,用“橡皮擦”工具去擦除又比较麻烦,你能想出更好的方法吗?

②如果只是现在这一步画错了,想取消这一步的操作,该怎么做?

二、用选定工具修改

首先画两个交叉的圆,然后擦除多余的部分,就形成了弯弯的月亮。步骤1:用“椭圆”工具画出两个交叉的圆,单击“选定”工具。

步骤2:拖动,选定要擦除的部分,单击“编辑(E)”菜单中的“清除选定内容(L)”命令。

步骤3:用“颜色填充”工具填充合适的颜色。

“选定”工具只能选定矩形区域,如果要选定不规则的区域,可以使用什么工具呢?

三、用放大镜修改

可以借助“放大镜”工具来画比较小的星星。步骤1:单击“放大镜”工具。步骤2:选择合适的放大倍数。步骤3:在画星星的位置单击。

步骤4:用“直线”工具画星星,并填上喜欢的颜色。步骤5:单击“放大镜”工具,星星恢复原来的大小。

四、实践园:

用所学工具画出下面图形:

五、成果篮:

电脑画图软件教案

第7课 画多边形

教学目标:

1、认识多边形工具并能正确使用。

2、用多边形工具结合其他工具来绘制房屋。教学时间:1课时 教学过程:

在前面学习了使用直角矩形工具来画长方形,但是长方形只有四条边,超过了四条边的图形如何画呢?

一、画屋顶

房屋的屋顶是一个多边形,下面就选择工具栏上的多边形工具来画房屋的屋顶。步骤1:单击工具栏上的多边形工具按钮;

步骤2:移动鼠标指针到画布上,单击鼠标左键确定开始点也就是第一个关键点,按住鼠标左键不放拖动鼠标到第二个关键点后松开就画出第一条线段,方法同直线画法一样;

步骤3:第一条线段画完后并没有结束多边形的绘制,再次移动鼠标指针到第三个关键点后按下鼠标左键就出现一条线段同第一条线段相连接;

步骤4:根据设计的图形画到最后一个关键点后,双击鼠标左键,这时可以发现,最后的关键点和第一个关键点位置重合,形成一个封闭的图形。

这样一个多边形就绘制完成了。多边形工具画的是一个封闭的图形,所以在图形没有完全封闭以前,也就是结束点没有回到开始以前都算没有完成。

二、画房子

1、前面只画了房屋的屋顶,使用直线工具将房屋的整个部分完成。步骤1:单击工具栏上的直线工具按钮;

步骤2:使用直线工具画出房屋的主体部分,注意画的时候需要考虑房屋的透视效果,根据房屋的角度,只能画出房屋的一个侧面,并且注意线条的倾斜。

2、接下来绘制房屋的窗和门。根据们和窗户的特点,可以将门和窗户看到长方形,使用工具栏上的直角矩形工具来绘制。

步骤1:单击工具栏上的直角矩形工具按钮 : 步骤2:在房子的上面画出长方形门和窗户.三、其他

1、画完了房子,接下来可以继续使用多种工具来画房屋的周边环境以及其他物品,使画面更加生动。

2、使用多边形工具和使用直线工具来画图有什么不同?

四、实践园:

使用多边形工具,并结合其他工具的使用画出身边的房屋。

五、成果篮: 电脑画图软件教案

第8课 复制与粘贴

教学目标:学习复制、粘贴图形的操作。教学时间:1课时 教学过程:

上美术课的时候,如果老师让我们画几个一模一样的图形可就麻烦了,我们需要不停地画,而且还不能保证画出来的图形完全一样。

但是在计算机上使用画图程序操作可就简单多了,我们只需画出一个来,其他的就像是孙悟空的毫毛,会变成许许多多一模一样的孙悟空来。

一、画出一个孙悟空

二、选定孙悟空

步骤1:单击“选定”工具。步骤2:选定孙悟空。

三、复制、粘贴、移动孙悟空

步骤1:单击菜单栏中“编辑”下的“粘贴”选项;

步骤2:然后再单击菜单栏中“编辑”下的“粘贴”选项,这时被复制的图像区域出现在编辑窗口的左上角;

步骤3:单击应用不透明背景,选中的部分将全部显示。将鼠标指针移动到粘贴的部分,鼠标指针变成十字移动状态,按下鼠标左键可以将粘贴的部分拖移到画图区的任意一个位置。

在选择了需要复制的区域后,按下计算机键盘上的ctrl键的同时使用鼠标左键拖动复制的区域,可以快速地将选择区域复制并粘贴。

四、讨论坊:

1、选定一个孙悟空,先使用“剪切(T)”命令,再使用“粘贴(P)”命令,你发现了什么?

2、单击“选定”工具,工具箱下方显示出“应用不透明背景”和“应用透明背景”两种方式。一般地,选择“应用透明背景”方式。看看有什么不同?

五、实践园:

1、利用复制和粘贴命令,画下面的图画。

2、利用本课所学的知识画出下面的图画。

六、成果篮:

电脑画图软件教案

第9课 调整图形

教学目标:

1、认识菜单栏上各种变形命令的操作。

2、学会图形的旋转和变形处理。教学时间:1课时 教学过程:

运用裁剪、移动和复制的操作,可以变出很多个孙悟空。可是这些孙悟空都是朝着一个方向的,这时,使用“翻转/旋转”命令可以改变它们的方向。

一、画大鸟和小鸟

首先画一只大鸟,然后我们将要利用这只大鸟变形处理成一只小鸟。

1、画大鸟

2、将大鸟变形成小鸟

小鸟同大鸟的外观并没有大的差别,通过把画面中的大鸟自由变形,我们就能得到一只小鸟。

步骤1:使用选定工具,将大鸟选中;

步骤2:单击菜单栏上的“编辑”“复制”,然后再次单击“编辑”“粘贴”,将大鸟的图形复制粘贴到画布上;

步骤3:移动鼠标指针到选择区域周围的8个控制柄上,按下鼠标左键拖动,将大鸟变成一只小鸟。

二、图画的旋转和变形

1、图形的旋转

下面需要一只反方向的鸟,我们将使用翻转和旋转命令。步骤1:使用选定工具将大鸟选中;

步骤2:单击菜单栏中的“选择范围”“翻转”;

步骤3:在打开的翻转设置对话框中,使用鼠标左键在“水平”前点一下,然后单击“确定”按钮完成。

返回到图像的窗口中可以看见,小鸟已经翻转了180度,同原来的鸟成了相反的方向。如果你需要按一定角度旋转,首先在“旋转”对话框中,在出现的90度、180度和270 12 电脑画图软件教案 度的选项,根据需要选择既可。

2、图形的变形

根据需要,我们要将反方向的大鸟改变角度。步骤1:使用选定工具将大鸟选中;

步骤2:单击菜单栏上的“选择范围”“扭曲”;

步骤3:在“扭曲”对话框中,根据需要的数字输入框中输入数字,然后单击“确定”按钮。

返回画图中可以看见图形根据输入的数字进行了变形处理。

3、看一看

拉伸分为水平拉伸和垂直拉伸,当然图形没有变化的时候为100%,在数字输入框中可以输入从1-500之间的数字,输入的数字大于100表示放大,输入的数字小于100表示缩小。在扭曲输入框中的标准是0度,输入数字在-89度到89度之间。水平扭曲中,大于0度向右边扭曲,小于0度向左边扭曲。

在这里,我们将反向的大鸟水平翻转,垂直扭曲15度。小鸟水平拉伸70%,垂直拉伸70%。

三、实践园:

1、试一试“拉伸”和“扭曲”操作的不同点。

2、画下面的风景画。

四、成果篮:

电脑画图软件教案

第10课

添加文字

教学目标:

1、认识工具栏上的文字工具。

2、能利用文字工具在图形上面添加文字。教学时间:1课时 教学过程:

画好了一幅果园后,可以使用工具箱中的“文字”工具添加文字。

一、给图画上加文字

步骤1:单击工具栏上面的文字工具按钮;

步骤2:将鼠标指针移动到画图区域,当鼠标指针变成十字形状后,按下鼠标左键拖动鼠标,在画图区域上拉出一个文本框;

步骤3:将文字状态调整到中文输入法,在文字输入框中输入“美丽的果园”; 步骤4:如果觉得文字太小,可以单击菜单栏上的“查看”下的“文字工具栏”选项; 步骤5:在弹出的文字工具栏上将文字改成“宋体”,字号改成36号。

最后关闭文字工具栏,返回图像编辑窗口,使用选定工具将输入的文字移动到合适的位置。

完成的作品有美丽的小鸟,还有文字,图文并茂,生动形象。

二、讨论坊:

1、如果关闭了文字工具栏,并且使用了其他工具,这个时候文字还可以更改吗?

2、文字框出现的同时,会出现文字工具栏。怎样使文字变成彩色?

3、添加文字时,如果没有出现文字工具栏,可以单击“查看(V)”菜单中的“文字工具栏(E)”命令,当该命令前面出现“×”,说明文字工具栏可以显示了。

三、实践园:

1、画一副气球画,在气球上用画笔工具写字,在气球旁用文字工具添加文字,比一比哪一种更好看。

2、制作一副带有文字的作品。

一款工具来 软件多“下岗” 篇6

1. 日常办公 不安装Office也行

出差在外,如果电脑中没有安装Office套件,别人发来一份Word文档、Excel表格或PPT幻灯片,需要阅读或编辑,该怎么办?

这时,只需启动Free Editor,直接打开收到的Office文档,就可以在窗口中进行查看或编辑(图1)。窗口上方是文件操作工具按钮,而下方是类似于Word软件的格式栏,使用非常方便。

Free Editor能够打开从MS Office 2003到2016版的主流文档格式。对于WPS文档,若用MS Office兼容格式存档,也可以用此软件打开。

2. 生活娱乐 不再为格式发愁

生活中,电子书阅读、影音播放占比很大。如果下载了EPUB、PDF、MHT、PDF等格式的电子书,还要去寻找安装各种对应的阅读器吗?对于数码照片、音乐视频文件,不装三两个浏览器或播放器能搞定吗?当然可以,Free Editor读书、播放音视频都很顺手,看图的同时还支持图片编辑操作。

3. 代码编辑 让Editor们靠边站

软件授权许可工具设计 篇7

现在很多软件包括大型行业软件和共享软件都是在一定条件下运行的, 这个条件就是与计算机硬件信息、时间限制绑定的授权许可 (license) 文件, 软件在该授权文件许可条件内运行, 一旦条件不满足, 软件即刻停止运行或在限制功能的条件下运行。通过这种方法既可以让软件在一定范围、期限内运行, 也可以控制软件的功能, 达到加密的目的。很多大型行业软件也是采用首先生成用户试用的授权许可, 一旦过期必须购买正式授权许可才能继续运行的方法来加密。

通过开发一个完整的与Flexlm类似功能的软件许可工具, 来展现软件授权的开发方法、技术和技巧, 用户可在此基础上开发完成自己的加密授权软件。

2 组成与功能

2.1 组成

软件授权许可工具由软件授权许可引擎和软件授权许可集成环境组成, 如图1所示。

2.1.1 引擎

软件授权许可引擎完成授权所有的核心功能, 封装在动态库中, 包括生成、校验注册码, 供集成环境和应用软件调用。

2.1.2 集成环境

通过调用软件授权许可引擎的功能, 通过人机界面完成应用软件注册码的生成、修改、发布。

2.2 功能

2.2.1 提取硬件信息

提取计算机硬件信息, 包括:硬件ID、硬盘序号、网卡MAC地址等信息。

2.2.2 生成注册信息

应用程序生成计算机硬件信息、用户名称等注册信息。

2.2.3 生成授权文件

根据软件运行计算机的硬件信息、时间限制条件生成授权文件, 其中包括注册码。

2.2.4 生成、校验注册码

根据计算机硬件、注册信息生成注册码, 并与授权文件中的注册码比较, 返回结果, 据此判断是否为合法的license。

3 软件授权许可引擎

3.1 提取硬件信息

提取的硬件信息主要包括硬件ID、硬盘序列号和网卡MAC地址信息。

3.1.1 硬件信息

3.1.2 硬盘序列号

3.1.3网卡MAC地址

3.2 注册码

根据注册信息生成注册码, 采用类似于用于数字签名的MD5码。

3.2.1 MD5

MD5的全称是Message-digest Algorithm 5 (信息-摘要算法) , 用于确保信息传输完整一致, MD5广泛用于操作系统的登录认证上, 如UNIX、各类BSD系统登录密码、数字签名等诸多方。如在UNIX系统中用户的密码是以MD5 (或其他类似的算法) 经Hash运算后存储在文件系统中。当用户登录的时候, 系统把用户输入的密码进行MD5 Hash运算, 然后再去和保存在文件系统中的MD5值进行比较, 进而确定输入的密码是否正确。通过这样的步骤, 系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这可以避免用户的密码被具有系统管理员权限的用户知道。MD5将任意长度的“字节串”映射为一个128bit的大整数, 并且通过该128bi反推原始字符串是困难的, 换句话说, 即使你看到源程序和算法描述, 也无法将一个MD5的值变换回原始的字符串, 从数学原理上说, 是因为原始的字符串有无穷多个, 这有点象不存在反函数的数学函数。

3.2.2 生成注册码

由用户名称、单位名称、硬件标识信息、硬盘序列号、网卡MAC地址、软件名称、版本号、时间组成新的串, 用户可将这些信息根据自己的算法进行组合、变换, 产生独有的注册信息, 由注册信息产生注册码, 即MD5码。

3.2.3 授权文件

授权文件采用XML文件, 基于TinyXML实现。TinyXML是目前非常流行的一款基于DOM模型的、非验证的轻量级C++解析器, 简单易用且小巧玲珑, 非常适合存储简单数据, 配置文件, 对象序列化等数据量不是很大的操作, 在很多开源项目中使用。TinyXml不支持验证, 但是体积很小, 用在解析格式较为简单的XML文件, 比如配置文件时, 特别的合适。TinyXML是一个开源的解析XML的解析库, 能够用于C++。这个解析库的模型通过解析XML文件, 然后在内存中生成DOM模型, 从而可以很方便地遍历这棵XML树。DOM模型即文档对象模型, 是将整个文档分成多个元素, 并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。典型的授权文件如图2所示。

授权文件的处理封装在CRegisterInfo_XML类中。

具体实现为:

3.2.4 注册码合法性检查

校验注册码如下:

4 集成环境

软件授权许可集成环境对注册码进行管理, 其界面如图3所示。

4.1 读取注册信息文件

4.2 锁定计算机

所谓锁定计算机, 就是生成的注册码是计算机硬件绑定, 如果不绑定, 则生成的注册信息不与硬件信息绑定, 即将计算机硬件ID、硬盘序列号和网卡MAC地址为一个固定值, 即“ANY”。

4.3存储注册码

4.4 动态修改注册码

当注册信息发生变化时, 自动生成注册码。

5 应用软件

5.1 注册信息

如图4所示。

5.2 注册

如图5所示。

5.2.1输入注册文件

5.2.2注册

测试程序没有注册时如图6所示。

注册以后如图7所示。

6 结语

主要介绍了开发软件许可工具的完整过程与技术, 可进行两方面的改进:改进生成注册码的算法, 如采用sha-1等较新算法;可增加静态、动态反跟踪方法, 如可采用参考文献4提供的方法, 对核心算法如生成、校验注册码等核函数法进行加密处理, 使加密更加坚固, 形成商业化的加密工具。

参考文献

[1]Nicolai M.Josuttis.C++标准程序库.武汉华中科技大学出版社, 2002.

[2]http://www.globetrotter.com.

[3]http://www.sourceforge.net/projects/tinyxml.

软件分析技术与工具 篇8

关键词:软件分析,软件测试,软件度量,内存分析,代码覆盖

1 软件开发工具简介

就像存在软件工具帮助构建软件代码一样, 也存在着工具监视软件运行时的行为。这些软件分析工具能够可视化软件执行的历史。软件分析工具有四种基本的类型。

(1) 代码覆盖:度量软件代码被执行的数量。 (2) 指令跟踪:为代码执行时发生的事件创建记录。 (3) 内存分析:跟踪代码在内存中的使用情况并识别可能的错误。 (4) 性能分析:识别性能的瓶颈和其他问题, 允许微调应用以达到更高的性能。

软件分析工具和传统调试的主要区别在于软件分析工具不需要终止应用的运行而测试它, 调试需要重复开启和终止应用来检查代码的执行从而理解应用中的控制流。调试方法在嵌入式环境中存在着问题, 在嵌入式的环境中, 系统是不能被停止的, 停止系统本身也阻碍了分析的进行, 例如控制交通运输系统的动力软件。在这样一个实时系统中, 在系统运行的时候收集信息并监视控制流是非常重要的事情, 只有这样, 开发者才能确保软件性能和操作设计说明得以满足。这种技术可以用来帮助确认系统在部署之后一切运行正常。

传统的调试技术在多处理器的应用环境中也显得捉襟见肘。在当今的系统中, 多线程和多任务的运行已经非常普遍, 监视每一个线程上发生的事情非常重要。线程之间是如何交互的?停止某个应用是否影响了其他线程?一个理想的软件分析工具应该能够依附于运行的系统而不对它产生任何干扰。

2 使用软件分析工具的好处

2.1 加速软件开发过程

使用软件分析工具最大的好处是深入理解软件在真实环境中如何运行以及帮助开发者在软件开发过程的早期识别错误。在系统崩溃之前尽早找到并修复错误是一件非常重要的事情。这些工具能够探测到那些终止系统运行后进行测试所不能发现的错误。

为了能够真正理解多线程在执行并发任务时它们之间的交互, 人们必须能够检查应用与RTOS之间的交互。监视实时的数据流有利于探测内存的问题, 并且能够使问题更加容易的得到解决, 最终的结果是加快了软件开发的过程。内存分析和指令跟踪直接影响了开发的速度。

2.2 调整最大性能

软件分析工具能够帮助确定软件性能的准确性。通过消除未使用的代码和紧密的过程环路, 代码能够调整到最大的性能, 保证整个系统性能高于每个部分的总和。性能分析的使用保证实时的要求能够得到满足。测量仪器有着明显的优势, 因为它能够识别每一个特定函数的执行情况。相反的, 抽样工具可能会忽略碰巧发生在抽样偏差以外发生的事情。

3 贯穿整个开发周期的软件分析

当选择使用哪一个软件分析工具的时候, 考虑完整的软件开发过程是非常重要的。软件分析工具能够提供软件开发周期中每一个阶段的数据。

3.1 开发阶段

当软件停止模式不可选时, 软件分析工具增强了调试器的功能。指令跟踪工具能够提供性能的度量, 与此同时还可以区分RTOS交互, 上下文转化和性能瓶颈。最有效的工具不仅能够追踪函数的执行路径, 而且能够提供函数内部清晰的视图。

在处理故障时, 软件跟踪工具是非常关键的。通常, 对于很难探测到的错误, 确定是由什么原因导致的错误是非常困难的。基于这一事实, 重新构建一个同一的环境通常是不可能的事情。系统在发生故障时的快照通常不够充分, 需要更多更完备的历史运行情况。跟踪工具揭示了一些导致故障的事件, 基于硬件的分析工具在更多类似的情况下具有优势, 因为它收集并存储了系统的跟踪数据。因此, 即使系统崩溃或发生意想不到的意外, 跟踪数据崩溃或者数据丢失的风险也会比较小。

3.2 调整阶段

软件开发出来是要运行的, 但这并不意味着软件已经准备好了运行, 必须调整软件以达到最佳的性能。当度量了软件的性能并发现性能比较低下时, 软件分析工具此时显得极为重要。常用的软件分析工具的方法有两种:

(1) 仪表法。通过应用标注到特定的代码行, 这种仪表方法能够提供应用性能的准确度量。但这种方法增加了代码的数量。因此, 找到一个能紧密聚焦专门问题的工具显得非常重要。存在着一些硬件的解决方案最小化对最终代码的影响。 (2) 抽样方法。抽样方法不会改变代码的大小, 但是不能像仪表方法那样提供百分之百的准确性。抽样方法同样需要一些监视器, 这些监视器会占用系统资源, 影响它的性能和测试的准确性。

4 总结

C#开发邮件工具 篇9

在工作中, 邮件的发送和接收应该是经常要使用到的功能的。因此知道电子邮件的应用程序的原理也是非常有必要的, 在这一个专题中将介绍电子邮件应用程序的原理、电子邮件应用程序中涉及的协议和实现一个简答的电子邮件收发器程序。

2 邮件应用程序基本知识

2.1 电子邮件原理及相关协议

说到电子邮件的原理, 其实和现实生活中寄邮件和寄包裹是一样的原理的。就先回顾下现实生活中寄邮件的流程吧———首先, 先写好信, 信封上面写好收信人的地址, 写信人的地址, 然后把信放到寄信箱中, 邮局的人会某个时候去这个信箱中的信取出来, 然后邮局的人根据信封上写的收信人地址进行转发到当地的邮局, 当地邮局把信寄到收信人的信箱中 (寄包裹的话可能会电话联系, 像在淘宝, 京东买的东西的, 收货人就是通过电话联系一样) , 最后收信人会到自己的信箱中收取信件。上面大致是平时生活中寄信的一个流程。前面已经讲过电子邮件的原理和这个差不多的下面就介绍本专题中电子邮件的原理, 大家可以和现实生活中的寄信过程进行对比, 这样可以更加容易理解和掌握:

通过电子邮件应用 (例如基于客户端的Outlook电子邮件软件和一些基于Web的电子邮件系统———新浪邮箱、谷歌邮箱、QQ邮箱等都属于电子邮件应用) 将一封写好的邮件 (相当于现实生活中的信, 当然邮件也要写明收件人地址, 邮件内容等信息的) 通过电子邮件协议 (SMTP, 在后面的电子邮件相关协议中会介绍) 发送到SMTP服务器 (就是存储邮件的地方, 相当于生活中的邮局一样) , 然后SMTP服务器根据收件人的地址通过SMTP协议转发到相应SMTP接收服务器上, (SMTP服务器进行转发相当于现实生活中邮局的人配送信的过程, 配送到收件人当地的邮局, 然而现实生活中邮局都是一家, 所以可以相互识别———意思就是发送到当地邮局, 当地邮局会接收, 并且帮助你发送到指定人的信箱中, 在网上就是通过SMTP协议来规定这样的一个过程的, 发送到别人的SMTP服务器上别人的服务器必须要认识发送来的邮件并接收) 结束, 接收端邮件服务器 (POP3服务器) 把邮件存放到接受者的电子信箱内 (相当于当地邮局的人把信放到收信人的邮箱中) , 最后收件人可以登录自己的电子信箱, 再与POP3服务器进行连接, 从POP3服务器上下载发送来的邮件, 这样在收件人的电子信箱中就可以看到发送来的电子邮件了 (这就是现实生活中收信人从自己的信箱中取信的一个过程) 。

上面已经把电子邮件的原理和现实生活中寄信的过程进行对比, 相信大家可以更加清楚电子邮件的原理和发送接收过程的, 其实网络上的很多应用都可以以现实生活的例子去理解, 这样的话可以加深对知识的理解。下面就介绍下电子邮件中的相关协议的内容:

网络上的应用的核心就是协议, 因为协议让网络上的客户端相互认识发生来的数据, 所以电子邮件应用也不例外, 也有相关的电子邮件协议来完成发送电子邮件和接收电子邮件的过程, 这些协议主要是:SMTP (简单邮件传输协议, Simple Mai Transfer Protocol) 、POP3 (邮局协议, Post Office Protocol) 和IMAP (网络邮件访问协议, Internet Message Access Protocol) 。

(1) SMTP———SMTP主要负责将邮件从一台机器转发至另一台机器 (可以对照上面电子邮件的过程来理解SMTP的作用) 。

(2) POP3———3表示POP协议的版本, 主要负责将邮件从邮箱中 (POP3服务器) 传输到本地计算机。

(3) IMAP———现在常用的版本为第四版本, 即IMAP4, 主要负责邮件的检索和处理功能, 客户端不需要下载邮件到本地计算机, 可直接从邮件客户端软件对服务器上的信件和文件目录进行操作, 它是POP3的替代协议。

2.2 邮件系统分类

邮件系统主要分为两类的———基于客户端的邮件系统和基于Web浏览器的邮件系统。Office OutLook就是基于客户端的邮件客户端系统, 而像我们经常使用的QQ邮箱、新浪、网易邮箱等都是属于基于Web浏览器的邮件系统, 基于客户端的邮件系统的收发过程, 通过如图1所示来描述。

发送方通过邮件客户端, 将编辑好的邮件向邮件服务 (SMTP服务器, 在发送过程中也叫发送端邮件服务器) 发送, 发送端邮件服务器根据收件人的地址来识别接收端邮件服务器 (POP3服务器) , 然后向POP3服务器发送邮件信息, 接收端邮件服务器将邮件存放在接收者的电子信箱中, 并告知接收者有新邮件, 接收者通过邮件客户端与POP3服务器连接后, 就可以查看新邮件。

然而, 基于Web浏览器的邮件系统与基于客户端的邮件系统不同的地方如下:

(1) 基于Web浏览器邮件系统用户代理 (代理的概念也就是用户不是直接与服务器进行通信, 而是通过代理的方式, 让代理去与服务器通信, 然后用户在从代理中获的服务器的信息, 代理也就是中间人的作用, 相当于生活中中介, 在.net中很多技术都用到了代理, 例如委托的概念其实也就是代理的一个概念的) 是Web浏览器, 基于客户端的邮件系统而是邮件客户端应用程序, 一般是Windows Form程序。

(2) 浏览器发送邮件到SMTP服务器和从POP3服务器中获得邮件的方式都是通过HTTP协议来实现, 与基于客户端的邮件系统不同 (基于客户端的邮件系统发送通过SMTP协议或ESMTP (Extended SMTP) , 获得通过POP3或IMAP协议) 。

2.3 目前主要的电子邮件服务系统

电子邮件服务系统———就是向大家提供邮箱服务的服务系统, 这样的系统当然是由专门的公司进行研发的, 一般叫这样的公司为邮件服务商, 平常使用的网易邮箱, 新浪、Gmail邮箱等都是建立在电子邮件服务系统。现在主要电子邮件服务系统主要有下面几种:

(1) 基于Postfix/Qmail的邮件系统。例如, 雅虎邮箱基于Qmail系统。

(2) 微软Exchange邮件系统。

(3) IBM Lotus Domino邮件系统。

(4) Scalix邮件系统。

(5) Zimbra邮件系统。

(6) MDeamon邮件系统。

3. Net平台对邮件发送功能的支持

在.Net类库中, 在System.Net.Mail命名空间下定义了对邮件处理的类, 这样使邮件的发送更加方便 (这些类也就是对SMTP协议的封装, 使我们更好地区编程, 只需要使用类中的方法和属性等去完成邮件的发送, 避免写复杂的SMTP协议的命令) 。

C#提供了一系列邮件相关的类, 在这里就不一一介绍了, 大家可以参考MSDN去看每个类的使用, 并且在后面程序的实现部分也会有详细的注释去介绍程序中使用到类的使用。需要注意的是:C#提供的类中只有SMTP的字样, 却没有POP3这样的字样, 这说明.Net类库本身中并没有提供对POP3协议的封装类, 但是可以使用Jmail组件来完成从POP3服务器中收取邮件的功能, 具体的使用将在后面的邮件收发器程序中邮件的接收部分介绍。

4 邮件收发器程序的实现

4.1 邮件发送功能

4.1.1 SMTP协议

SMTP协议是用于电子邮件的传输的协议, 电子邮件是通过SMTP服务器进行发送的, SMTP服务器的默认端口为25, 通常发送邮件有两种方式———一种是不使用客户端认证, 即客户端可以使用匿名发送邮件 (这种方式叫做SMTP) ;另一种是客户端必须提供用户名和密码认证 (这种方式叫做ESMTP, Extended SMTP) 目前大部分邮件服务器采用用户名和密码认证的方式。

客户端发送邮件过程为———先通过客户端软件 (本程序中的邮件收发器) 将邮件发送到SMTP服务器, 然后再由SMTP服务器发送到目标SMTP服务器。下面介绍SMTP协议的内容:

SMTP协议总共定义了14个命令, 命令由命令码和气候的参数域组成, 不区别大小写 (通过前面专题的讲述可以得出各个协议的命令组成都差不多的) , 表1就简单介绍下5个常用的命令码:

电子邮件由信封、首部、正文和结束符号4部分组成, 下面就具体介绍下这4个部分的内容:

(1) 信封

信封包括发信人的邮件地址和接收人的邮件地址, 具体对应两条SMTP命令———Mail from:mytest1989@sina.cn (发信人的地址) 和Rcpt to:test@126.com。

(2) 首部

首部中常用的命令有:

1) Subject:<邮件主题>———表示邮件的主题。

2) Date:<时间>———表示发邮件的时间。

3) reply-to:<邮件地址>———表示邮件的回复地址。

4) Content-Type:<邮件类型>———表示邮件包含文本、HTML超文本和附件的类型。

5) X-Priority:<邮件优先级>———表示邮件发送的优先级, 优先级为3表示为普通邮件;如X-Priority:3。

(3) 正文

正文当然指的就是邮件的内容了, 用Data命令指定, 首部以一个空行结束, 下面就是正文部分。

(4) 结束符号

邮件以“."结束,

接收方收到SMTP命令之后, 会给出一个响应码, 每个命令都只有一个响应码, SMTP响应码也是由3位数字组成, 后面附加一些文本信息, 响应信息的格式为:

响应码<空格>文本信息<回车换行>

客户端发出一条命令后, 服务器端返回一个响应, 发送者在发送下一条命令前必须等待服务器的响应, 成功接收到响应码后才继续发送命令。

附:SMTP常用的响应码:

响应码解释响应码解释

211系统状态或系统帮助响应421服务未就绪, 关闭了传输通道

214帮助信息501参数格式错误

220服务就绪502命令不可实现

221服务关闭传输通道535用户验证失败

235用户验证成功553邮箱名不可用, 要求的操作未执行

334等待用户输入验证554操作失败

354开始邮件输入

4.1.2 邮件的发送过程

(1) 客户端与服务器建立连接 (该步中客户端首先发送EHLO local连接命令, 服务器如果返回“220”响应码表示服务器准备就绪了, 客户端再继续发送“Auto login”命令, 请求登录, 服务器收到命令后返回“334”响应码, 表示要输入用户名, 之后客户端发送用户名命令, 等到响应后再发送密码命令, 具体在程序的实现中也会有注释。)

(2) 客户端发送邮件的信封。

(3) 开始发送邮件数据, (包括邮件首部, 正文和结束符号, 注:结束符号要单独占一行, 表示邮件发送结束) 。

(4) 客户端与服务器断开连接。

4.1.3 发送功能的实现代码

相信有了上面的理论解释邮件发送的过程后, 实现邮件发送的功能并不难的, 并且.net类库中SMTPClient类封装了SMTP协议, 使得实现邮件发送功能就不要记住那些具体的命令了, 只需要使用该类中提供的方法来完成邮件的发送 (当然你也可以通过发送命令的方式实现, SMTPClient类的方法也是完成发送命令功能而已的) , 下面是邮件发送功能的核心代码:

4.2 邮件接收功能

4.2.1 POP3协议

前面介绍了邮件的发送, 当然接收者需要登录邮箱来查看收到的邮件了, 此时就必有有一个协议去读取服务器上邮件, POP3就是这样的一个协议。还有两外一种协议也是用来接收邮件的———IMAP协议, 它与POP3协议区别有:

(1) IMAP使用的端口号是143而POP3邮件服务器通过监听110端口来提供POP3服务。

(2) IMAP允许客户端在邮件服务器上建立文件夹来保持邮件, 而不用把邮件下载到本地。而POP3需要把邮件下载到本地。和SMTP协议一样, 客户端要通过POP3协议从POP3服务器上获取邮件, 也需要先与POP3服务器建立TCP连接, 等待服务器向客户端发送确认信息表明连接成功时, 客户端才可以继续发送命令给服务器来获取邮件, 在POP3协议中, 规定的命令也是几十条的, 每条命令由命令和参数两部分组成, 都是以回车换行结束, 并且命令和参数之间由空格分隔, 命令通常也是由3-4个字母组成, 参数最多可以为40个字符的长度, 而服务器的响应信息是由一个状态码和可能附加信息的字符组成, 所有的响应信息也是以回车换行结束的。状态码和其他协议定义的状态码有点不一样, POP3服务器响应的状态码有两种———“+OK” (确定) 和"-ERR" (失败) 。这样客户端可以通过检查响应的状态码所包含的字符来判断服务器是否响应客户端发送的命令, 即响应信息中包含“+OK”表示成功响应, 包含“-ERR”表示服务器未响应。同时在程序的实现中大家可以通过Debug来查看响应消息的组成, 这样可以加深理解。

4.2.2 邮件接收的过程

客户端从服务器接收邮件的过程主要经历3个状态:授权状态、操作状态和更新状态

(1) 授权状态———客户端发送与POP3服务器的TCP连接请求, 服务器接收后发送一个响应确认信息之后, 此时客户端需要发送正确的用户名和密码进行确认, 因为在邮件服务器上有很多用户邮箱, 只有提供正确的用户名和密码才有权限访问自己的邮箱, 就像现实生活中邮箱的钥匙一样的。

发送用户名命令:USER test@s126.com

发送密码命令:PASS****** (这两个命令都在代码中有给出的, 大家可以参考代码来理解邮件的接收过程)

(2) 操作状态———如果客户端提供了正确的用户名和密码, 则授权状态也就通过了, 就相当于打开了在服务器上自己的邮箱, 现在用户就有权限进去下载, 查看和删除邮件等操作, 然后在现实生活中的取邮件和删除邮件都很简单 (只要打开了邮箱门, 用手去拿就可以了) , 然后在网络应用上, 这些操作都需要发送POP3命令给服务器, 服务器接收到命令后再给出响应。操作中常用的命令有:

1) STAT命令———该命令从服务器中获取邮件总数和总字节数, 服务器响应命令返回邮件总数和总字节数

如:

?

客户端发送POP3命令:STAT

服务器响应命令:+OK 2 1340
服务器响应命令。

2) LIST命令———该命令从服务器中获得邮件列表和大小, 服务器响应命令返回列出邮件列表和大小。

如:

?

客户端发送POP3命令:LIST

服务器响应命令:+OK 2 message (1430 octect)

服务器响应命令:1700

服务器响应命令:2730

服务器响应命令:<一个空行>

3) RETR命令———该命令从服务器中获得一个邮件, 格式为RETR<邮件编号>

如:

?

客户端发送POP3命令:RETR 1

服务器响应命令:700 octets

服务器响应命令:<邮件头和内容>

服务器响应命令:<空行>

4) DELETE命令———该命令告诉服务器将邮件标记为删除。 (此时只是逻辑删除)

(3) 更新状态———客户端发送QUIT命令后, 此时就进入更新状态, POP3服务器释放在操作状态中取得的资源, 并将逻辑删除的邮件进行物理删除, 然后关闭与客户端的TCP连接。这样整个邮件处理的过程就结束了。

4.2.3 接收功能的实现代码

有了前面接收邮件过程的介绍, 再参考代码的实现, 相信大家可以更好的理解客户端从POP3服务器中获取邮件的过程, 由于.net类库并没有封装POP3协议的实现类, 要实现邮件的获取可以采用发送命令的方式, 也可以使用Jmail组件, 这个组件其实就是POP3协议的封装类, 既然微软没有做, 其他公司做好后来并简单的实现邮件的接收的一个类库罢了。然后在使用这个组件的过程中出现了好几个问题, 在源码中都做了解释, 大家可以下载源代码后查看。

实现邮件接收的核心代码如下:

4.3 程序运行结果

首先输入邮箱名和密码登录到POP3服务器来获取邮件列表的演示, 如图2所示。

然后在邮件列表中选中一个邮件进行阅读, 然后进行回复邮件的操作演示 (邮件的发送都可以附加附件发送出去) :阅读邮件的界面, 如图3所示。

回复邮件的界面, 如图4所示。

同时点击发送按钮后, 就可以把邮件发送到sina的SMTP服务器上, 再由新浪的SMTP服务器转发到QQ的SMTP服务器, QQ的POP3服务器中QQ的SMTP服务器获取收到的邮件, 当QQ用户输入正确的邮箱名和密码后就可以从QQ的POP3服务器上获取收到的邮件。

点击发送按钮后成功发送邮件的图片, 如图5所示。

5 结语

Maya背光控制工具开发 篇10

比如在Maya的灯光模块中, 经常需要给物体打上背光, 而背光的位置和角度往往是与摄像机相对的, 且背光, 物体, 摄像机三者常常在同一直线上。但是制作过程中, 设计师为了达到理想的视觉效果, 经常会多次改变物体或摄像机的位置, 但这样也需随之重新调整背光的位置和角度, 非常麻烦, 降低了工作效率。

Maya背光控制工具, 是在MAYA基础上利用MEL脚本进行二次开发生成的, 为使用户操作方便, 编写了友好的交互式图形用户界面, 可将摄像机、所选物体以及背光灯自动建立各种约束, 使得设计师移动摄像机或物体时, 背光灯会随之自动进行相应调整, 保证摄像机、物体、背光灯仍在同一直线上, 同时确保背光灯方向始终指向所选物体, 提高了设计师的工作效率和产品质量。

该控制工具的实现原理, 利用了数组变量, 通过点约束和目标约束, 以及借助第三方物体等方法完成。开发平台为MEL (Maya Embedded Language) , 即Maya的嵌入式脚本语言。

Maya背光控制工具, 大体分为用户界面和智能控制两个模块:

1.图形用户界面。主要包括界面布局, 文本显示, 按钮设置等内容, 且应考虑到如果该脚本被重复执行易出现的问题及解决方法。实现代码如下:

用户操作界面效果如图1所示:

2.智能控制部分, 主要借助数组变量, 利用点约束和目标约束来完成。

(1) 将用户所选对象放到一个三元数组中, 即物体, 背光, 摄像机作为一个数组的三个元素。实现代码如下:

(2) 借助第三方物体确定被选物体的中心。实现代码如下:

(3) 对背光进行点约束和目标约束。实现代码如下:

软件开发工具 篇11

第一步:首先从官方网站分别下载7-Zip(http://www.7-zip.org/)、gsed.exe(http://gnuwin32.sourceforge.net/packages/sed.htm)的最新版本,解压缩到相应的文件夹。

第二步:打开记事本,将下列代码保存为扩展名为.cmd的批处理文件:

@echo off

7z.exe l *.zip|gsed.exe -rn "/^(Path|[0-9]{4})/{s/^Path = //;ta;s/([^ ]+ +){5}//;G;s/(.*)n(.*)/2\1/;s/$/rn/;p;d;:a;h;s/^/rn/;s/$/rn/;p}">test.txt

start test.txt

上述代码中,7z.exe可以枚举zip、rar两种格式的压缩包,gsed.exe则用来枚举压缩包内部的文件列表。将这个.cmd文件与需要枚举的压缩包、7z.exe、gsed.exe放在同一路径下,运行之后即可获得类似于左图所示的效果。

软件开发工具 篇12

在本届论坛开放平台分论坛上, 中国移动通信研究院院长黄晓庆发布了创新的工具开发平台, 通过为工具开发者打造成本低廉、盈利可观的平台环境, 进而促进工具以及应用的规模发展, 同时也为中国移动更好地整合及利用其能力资源提供了路径。

“通过以‘云计算+统一能力开放’为技术特征的开放云平台, 工具开发者也可以像应用开发者一样实现低门槛进入与便捷创新, 并通过工具商店的创新商业模式实现盈利。此次中国移动发布的工具开发平台具有标志性意义, 如后续进展顺利有望规模推动移动互联网应用的创新与普及。”受访业内人士表示。

工具“蓝海”尚待布局

今年以来, 各主流互联网以及移动互联网厂商纷纷布局云计算以及开放平台, “开放+云计算”已成为不可逆转的行业趋势。云计算方面, 随着云计算技术的迅猛发展, 平台级PaaS服务时代已经到来, 目前谷歌、阿里巴巴、新浪等都推出了自有PaaS服务;而开放平台方面, 互联网业务模式已呈现出显著的“开放化”特征, 腾讯、谷歌、新浪、阿里巴巴等纷纷将开放平台视为不二法则。

同时, 既有实践表明, 模式创新是保持移动互联网竞争力的关键。此前, 以“应用”为核心的苹果App Store模式不仅推动了移动互联网应用规模创新与普及, 也真正开启了移动互联网时代。目前诺基亚、中国移动、谷歌纷纷推出了自有应用商店, 有效促进了移动互联网产业的发展。

“当前, 应用开放平台及创新已是‘红海’, 在这样的情况下, 移动互联网产业急需新平台、新模式的推动。事实上, 作为应用创新的基础, 工具和应用同等重要, 而工具目前尚处‘蓝海’状态, 鉴于此, 中国移动创新地提出了工具商店及工具开发平台模式, 期望以此拉动工具及应用的下一轮快速发展。”黄晓庆表示。

打造“技术+平台+模式”闭环

此外, 从内部需求来看, 中国移动在开展移动互联网业务过程中面临两方面的突出问题。一方面, 业务垂直竖井式发展, 缺乏有效协同, 无法体现规模效应;另一方面, 缺乏真正的统一公共平台, 以至于运营商的大规模运营能力以及特色能力资源没有被充分利用。这无疑也是中国移动提出工具开发平台的重要原因。

据悉, 目前, 中国移动正在酝酿对传统竖井式业务模式进行变革, 构建以“云计算+统一能力开放”为技术特征的开放云平台, 探索和实践“工具商店”创新模式, 形成“技术+平台+模式”的生态闭环, 以拉动整个移动互联网产业升级。

“中国移动若想做好工具开发平台, 需要从技术、平台、模式三方面努力, 技术方面, 中国移动只有自身具备过硬的云计算、能力开放技术, 才有能力支撑整个工具开发平台的持续发展;平台方面, 要求中国移动搭建一个开放的云平台以降低工具开发者整体成本;而模式方面, 则要求中国移动推出新的商业模式以保障工具开发者规模盈利。”黄晓庆表示。

事实上, 目前中国移动已在“技术、平台、模式”三方面做足准备。技术领域, 中国移动云计算IDC基础设施以及IaaS云服务都可以支撑其提供PaaS云服务, 目前中国移动已具备提供多层次云服务的能力。

平台领域, 中国移动已与产业链各方合作, 研发了开放云平台OMP (Open Mobile-Internet Platform) 产品, 向开发者提供“能力开放、开发工具和托管环境”的一站式服务, 支持开发者进行移动互联网应用创新。“开放云平台包括三部分, 其中能力开放引擎可整合并安全开放电信网、互联网、IT资源能力, 保证能力和应用全生命周期管理和深度运营;应用开发引擎是终端/WEB应用的统一开发工具, 可支持能力模拟、应用本地测试和到云环境的一键部署;而应用运行引擎可实现基于云计算PaaS的应用托管环境, 提供精细的资源计费和零维护的运营体验。”黄晓庆表示。

工具商店可实现多方共赢

模式方面, 中国移动创新提出了“工具商店”模式, 旨在为开发者提供工具库, 为应用开发者和工具提供者搭建桥梁。“工具商店不同于应用商店的B2C商业模式, 其是B2B的模式, 不仅提供各种开发应用所需的工具, 激活开发者创新力, 而且通过建立工具发布机制和商务模式, 汇聚更广泛的开发者, 并围绕工具商店建立开发者生态圈, 以全新的商业模式激发效益增长。”黄晓庆表示。

作为业界首个工具商店, 其具备五方面的核心优势。首先, 收益模式清晰, 工具开发者可通过销售工具持续收益;其次, 特色资源丰富, 可为工具开发者提供短彩信、语音、定位、GIS、手机支付、IDC资源等中国移动特色资源;第三, 可提供多层次工具, 通过工具商店, 应用开发者可以获得API、组件、IT资源、模板、代码、第三方等工具;第四, 可为应用和工具开发者提供在线编辑环境、离线统一开发环境等开发环境支持;第五, 可实现从工具试用到应用孵化、托管的全程支持。

上一篇:互动路径下一篇:肿瘤学