软件设计开发研究(精选5篇)
软件设计开发研究范文第1篇
关键词:软件开发 散装填料 流体力学 负荷性能图 设计及核算
填料塔是化工生产中常用的一种分离设备,广泛地应用于精馏、吸收、解吸、气体洗涤、液体萃取等单元操作过程。自20世纪初,填料塔应用于工业分离过程以来,在增产、节能、提高产品质量、改善环境和减少投资等方面的优势明显,应用范围越来越广,而填料塔的设计要求也越来越高。
1 计算模型的确定
1.1 液泛气速计算模型
文献针对鲍尔环,用Eckert通用关联图、Bain-Haugen公式、Billet等泛点气速预测模型与实验值进行了对比,结果表明Bain-Haugen公式与实验数据吻合的较好,因此本文采用Bain-Haugen公式作为液泛气速计算模型。
1.2 塔径计算模型
塔径的计算方法主要有泛点法、载点法和FP-Cmax图法。若要求操作稳定,压降小,则可以选择载点以下的操作气速。但目前对于载点关联式的研究较少,并且在很多场合下(尤其在大液量时)载点气速难以确定,而泛点算法则是在填料塔计算中普遍使用的方法。FP-Cmax图法是工业上普遍用来计算规整填料塔塔径。因此本文采用泛点法作为塔径的计算模型。
1.3 压降计算模型
计算填料塔压降的模型方法分为两类,一类是专门适用于某特定类型的,这种模型算法往往由填料开发者提出,有些没有公开发表,需向填料制造商咨询;另一类是通用的计算模型。
目前主要的压降算法模型有Eckert通用关联图、Billet模型、S-B-F压降模型、新Eckert通用关联图、Kister通用关联图、BRF法、Robbins法。以文献的实验数据为基准值,对适用于散装填料的模型进行了比较计算,结果表明新Eckert压降通用关联图与实验值比较吻合,因此本文采用新Eckert压降通用关联图的拟合公式作为压降计算模型。
1.4 持液量计算模型
持液量的计算模型主要有Mackowiak模型、Billet模型、大竹模型、Rocha模型等。文献认为Mackowiak模型和大竹公式的误差较大;Rocha模型较为复杂,参数众多,文献只提供部分参数;文献认为Billet模型的预测值与实验值误差较小,尤其在恒持液量区,因此本文采用Billet模型作为持液量的计算模型。
1.5 等板高度计算模型
目前等板高度的计算模型有Hands and Whitt公式、Frank公式、Murch公式、Strigle公式、Rocha模型、Brova公式、Lockett模型、Carillo模型等。有文献推荐Frank公式作为等板高度计算模型,因此本文采用Frank公式。另外,可根据填料厂家提供的等板高度推荐值手动输入。
2 负荷性能图限制线确定
2.1 负荷性能图气相上限线
填料塔内气体流率增加,持液量趋于增加,压降也相应增加,在泛点处液体在填料表面处积累并逐渐增多,气体负荷略微增加,压降将趋于无穷大,此时填料床层出现液泛现象。许多实际情况下,操作可以维持在泛点,但这种操作状况极不稳定,操作性能较差。因此本文将泛点时的气体量作为负荷性能图的气相上限线。
2.2 负荷性能图气相下限线
气相流速与填料层持液量和压降有明显关系,气速降低,填料层持液量和压降也降低,当气速下降到一定程度时,塔内气液相湍动程度明显降低,气相分布不均,则气液传质效率明显降低。
Kister以压降作为判断气相负荷下限的标准,由最小压降计算出气相负荷的下限,推荐操作时散装填料层的压降应不低于0.1英寸水柱/英尺填料层高度,而在实际操作中操作压降低于上述推荐值时仍可处于正常操作状态。因此以Kister的推荐值作为计算气相负荷下限的标准并不准确。孙津生认为当气相负荷因子在0到0.6时,存在一个传质拐点,在此拐点以下,传质效率大幅下降,而在实际工程设计中如果负荷因子取在0.5~0.6之间时,一般认为风险较大,所以本文将气相动能因子为0.6时的气相负荷作为负荷性能图的气相下限线。
2.3 负荷性能图液相上限线
由于填料具有较大空隙率,与板式塔相比,填料塔一般不会发生液相超负荷现象,所以对于填料的液相负荷上限研究较少。文献研究表明对于高效填料塔最大液相喷淋密度应低于200 m3/(m2?h),但对于填料吸收塔最大液相喷淋密度超过200 m3/(m2?h)时,部分情况下,也处于正常操作状况。关于填料的最大液相喷淋密度还有待于进一步研究。本文暂采用最大喷淋密度200 m3/(m2?h)作为负荷性能图的液相上限线。
2.4 负荷性能图液相下限线
要保证填料塔正常操作,必须有一定的液体喷淋量。当液相的操作负荷低于某一值时,填料单体提供的表面积得不到有效的润湿,液体在填料表面不能建立稳定的液膜, 从而降低了气液传质效率。因此,本文以最小喷淋密度作为负荷性能图的液相下限线。
2.5 负荷性能图液泛线
填料塔中液相在填料表面形成液膜流动,气相向上流动对液膜流动产生牵制作用,随气相速度增加,液膜下降速度逐渐减小,气相速度增加到一定程度时液膜增厚,气相速度进一步增加,液膜进一步增厚,如此循环,持液量增加。最终液相变为连续相,气相成为分散相,此现象即为液泛。同理,当气相速度一定时,液相喷淋量增加到一定后,也会造成液泛现象发生。因此液泛可以反映填料塔内气液两相相互影响的极限值。本文以Eckert关联图中泛点线的回归解析式作为负荷性能图的液泛线。
3 软件设计功能考核
用水吸收空气中的SO2气体,混合气体处理量为100kmol,其中SO2的含量为7%,空气含量93%,要求净化气中SO2的含量达到15%(mol),操作压力为常压,气体入口温度为25℃,洗手液中不含SO2,水入口温度为25℃,要求设计吸收塔,对其进行工艺计算并输出填料塔的负荷性能图。
其中液相流率L=72530kg/s,气相流率G=3148kg/s,理论板数10块,其他物性参数:=998.2kg/m3,气相密度=1.383kg/m3,液相粘度=1mPa?s,气相粘度=0.018 mPa?s,液相表面张力0.07154N/m。选用DN38塑料鲍尔环填料。设计及核算结果如表1所示。
4 结语
软件的计算结果和核算结果与文献值相差较小,误差在工程允许误差范围内,所以本软件计算结果准确可靠,可应用于实践。另外软件绘制出了填料塔的负荷性能图,表示出了填料塔的可行稳定操作区域,为填料塔设计、改造提供了直观的依据。
参考文献:
[1] 李军,陈亮,孙兰义等.填料萃取塔设计软件CUP-Tower的开发[J],石油化工设备,2009,38(3):20~23
[2] 田正义.规整填料塔软件开发[D].青岛:青岛科技大学,2009
软件设计开发研究范文第2篇
关键词:AutoCAD二次开发;室内设计软件;VisualLisp
基金项目:福建省教育厅科技项目(JB12209)
1 引言
在室内设计的创作上,AutoCAD为其提供了广阔的空间,给设计师提供了多种多样的设计途径和制作空间。相对于徒手绘制而言,AutoCAD为设计者在室内平面图的制作上提供了更为方便、快捷、精确的操作。虽然 AutoCAD本身的功能集已经足以协助设计者完成各种设计工作,但AutoCAD并不具备室内设计这种特定专业领域的专用设计工具,这样就需要用户对其进行二次开发,以提高室内设计的效率。
本文将针对室内设计中专用绘图工具、专用图形库和专用对话框进行二次开发研究。
2 AutoCAD二次开发方法
2.1 AutoCAD软件开发途径
开发AutoCAD软件的方法有两种:一种是利用众多的技术人员开发自主版权的AutoCAD软件,如华中理工大学开发的项目AutoCAD;另一种是在AutoCAD基础上进行二次开发,如天和公司的AutoCAD等。有自主版权的AutoCAD软件,都要花费大量人力物力同心协力完成的。而采用二次开发方法开发软件相对是一种便捷的途径。
2.2 AutoCAD二次开发工具选择
2.2.1 VBA
VBA是嵌套在AutoCAD中的一个基于对象的编程环境,它提供了丰富的开发能力,提供了面向对象的程序设计方法,能直接在AutoCAD内部执行。VBA工程能够单独存储或放在图形文件中,且能快速高效的创建对话框,有助于使工作自动化,提高工作效率。但VBA不能随心所欲地使用AutoCAD命令,且源程序始终以相当容易接近的方式,暴露在最终用户面前,常会因为用户的误操作而使正常的应用程序出错甚至崩溃。
2.2.2 Object ARX
ARX是一个以C++语言为基础,面向对象开发环境和应用程序接口。ARX运行速度更快,运行更稳定、更简单,可以直接实现多图档操作,并能有效地利用内存。ObjectARX包含一组动态链接库,能直接利用AutoCAD核心数据结构和代码,并能对AutoCAD作直接的函数调用。但其对开发者的编程能力要求较高,同时开发过程也相当复杂,且程序运行风险较大。
2.2.3 AutoLisp和VisualLisp
AutoLisp是一种人工智能语言。嵌入AutoCAD内部的目的是为了使用户充分地利用AutoCAD进行二次开发。在AutoCAD的二次开发工具中,它是唯一的一种解释性语言,它既可直接增加和修改AutoCAD命令,随意扩大图形编辑功能,建立图形库和数据库,又能直接调用几乎全部的AutoCAD命令。AutoLisp具有语言规则十分简单,易学易用,应用广泛;直接针对AutoCAD,易于交互;解释执行,立竿见影等优点。但其功能单一,综合处理能力差;程序运行速度慢;源程序保密性差。
VisualLisp是设计用来加速AutoLisp程序开发的软件工具,使用户在创建和修改源代码、程序测试和调试时更容易。
综上所述,我们可以看出VBA和ARX主要用于编写复杂庞大以及其接近于AutoCAD底层数据的软件,而AutoLisp和VisualLisp能充分灵活地使用AutoCAD的现有功能,是一般工程技术人员开发AutoCAD的理想工具。AutoCAD二次开发工具的选用,将直接影响到二次开发的周期、编程难度、开发效率及软件的后期维护。在选择时我们即要考虑程序的运行速度、程序控制AutoCAD的能力、稳定性、可移植性及技术难度也要考虑开发者自身的条件,对语言的熟悉程度等。综合考虑,本文使用AutoLisp和VisualLisp在AutoCAD2023平台进行二次开发。
3 总体结构及功能实现
总体结构和功能主包括菜单定制、绘图工具、图库管理和对话框四个部分,以下分别介绍。
3.1菜单定制设计
用户可以根据需要通过任何文字编辑工具打开ACAD.mnu根据自己的操作习惯定制。这样,用户可以从菜单文件中删除很少使用的命令,也可以定义新的命令,实现菜单个性化设置,方便操作。下面就下拉式菜单的定制做介绍,结果如图1所示。
***POP7
**DRAW
ID_MnDraw [绘图(&D)]
ID_Line [直线(&L)]^C^C_line
ID_Ray [射线(&R)]^C^C_ray
ID_Xline [构造线(&T)]^C^C_xline
ID_Mline [多线(&M)]^C^C_mline
ID_Paraline [外摆线(&P)]^C^C_Swing
ID_Rose [三叶玫瑰线(&O)]^C^C_Rose
[--]
ID_Pline [多段线(&P)]^C^C_pline
ID_3dpoly [三维多段线(&3)]^C^C_3dpoly
ID_Polygon [正多边形(&Y)]^C^C_polygon
ID_Rectang [矩形(&G)]^C^C_rectang
图1 下拉菜单定制结果示意图
3.2 绘图工具设计制作
针对室内设计对特殊曲线的需求,这里以定制三叶玫瑰线为例说明。
在AutoCAD2023中,模拟曲线一般有以下三种方法:
1)把曲线划分成极微小的曲线段,每微小的曲线段用微小直线段代替,以大量的直线段模拟曲线;
2)先计算出曲线上的控制点,然后使用多段线、样条曲线穿过这些点,绘制曲线;
3)设法创造出曲面、实体,然后从曲面、实体中提取曲线。
直线模拟法比较容易理解,所以我们利用这种方法设计三叶玫瑰线。但此种方法可能会产生大量的图形对象,占用大量的计算机资源和绘图时间。
三叶玫瑰线的方程是:r=asin(3Φ)需使用坐标变换方程:x=rcosΦ,y=rsinΦ
程序如下:
(defun c:Rose(/ a b c m x0 x1 x2 y1 y2 n1 n2) ;定义函数名名称为Rose
(setq a 0.9) ;给参数赋值
(setq b 0.5) (setq r 3.0)
(setq x0 0.0) ;给特称点赋值
(setq m 0) ;设置自变量的起点
(while (
(setq h 0.01) ;设置自变量的步长
(setq x1(* a (sin(* 3 m))(cos m))) ;计算起点的横坐标
(setq y1(* a (sin(* 3 m))(sin m))) ;计算起点的纵坐标
(setq m(+ m h)) ;设置自变量的变化规律
(setq x2(* a (sin(* 3 m))(cos m))) ;计算终点的横坐标
(setq y2(* a (sin(* 3 m))(sin m))) ;计算终点的纵坐标
(setq n1(list x1 y1)) ;构造直线段起点点对
(setq n2(list x2 y2)) ;构造直线段终点点对
(command "line" n1 n2 "") ;绘制直线
) ;结束循环体
(setq nz0(list 0 0) ;指定纵坐标的起点
nz1(list 0 0.8) ;指定纵坐标的终点
nz3(list 0 0) ;指定坐标横轴起点
nz4(list 0.8 0) ;指定坐标横轴端点
) ;结束定义坐标的三个点 (command "layer" "m" 1 "c" 1 "" "") ;设置纵轴的颜色
(command "qleader" nz1 nz0 \E) ;绘制纵轴
(command "layer" "m" 2 "c" 6 "" "") ;设置横轴的颜色
(command "qleader" nz4 nz3 \E) ;绘制横轴
(command "layer" "m" 0 "on" "" "") ;返回0图层待命
) ;结束整个函数定义
结果如图2所示。
图2三叶玫瑰线示意图
3.3 图库管理设计
在室内设计系统中,要用到很多常用的物品,如家具、灯具等。虽然可以直接用AutoCAD提供的功能绘出这些图形,但并不方便。因此,我们需建立图库管理系统,保存图块,供设计者在进行室内设计时调用。
用AutoLisp建立的图库管理系统,是将每个图块用一个Dwg存放,使用时调用“INSERT”命令插入。
功能实现如图3所示:
图 3 图库管理示意图
绘图时调用“INSERT”命令插入操作即可完成。
3.4 对话框的应用
对话框的使用给用户提供更多的信息和选择,能够适应众多不同的个性化需求,强化使用者输入数据时的操作舒适性。对话框具有以下特点:
1)允许用户在对话框界面进行输入输出操作;
2)界面可包含丰富的信息量,可图文并茂、同时显示多项信息;
3)对话框界面形象友好;
利用对话框语言DCL设计对话框的显示方式和内容,使用AutoLisp编制支持对话框的应用程序便可完成数据的输入、传递和输出。
4 实例分析
使用该二次开发平台可以快速绘出室内装饰平面图(如图4所示)。经过对比,可以提高百分五十的工作效率。
图 4 利用该平台快速绘出二居室装饰平面图
5 总结与展望
本文仅是对开发方法进行研究,总体设计和功能实现都仅仅是部分的实现,要作为商用软件使用,需要投入一定的人力物力进行深入全面的研究和开发。
就如这里设计的图库管理系统,使用图库时是调用“Insert”命令插入。但如果要调用的图块较多时,而且图库又分许多类,每类中又包含许多组,如家具库、电器库、卫生设备库等,家具库中又分床组、桌组、椅组等,这样就会给用户的使用带来许多不便。如果能在这个图库管理系统里采用一种集中式符号库的管理方法来建立图库,即将许多图块放在一个图形文件中保存,每个物体的图形作为该图形文件中的一个图块,查找时可根据图块名找到所需的物体的图形。这样用户就能够更好地使用图库。
参考文献
[1] 郑立楷,卢择临,王成煌.AutoCAD VBA二次开发教程[M].北京:清华大学出版社,2006
软件设计开发研究范文第3篇
关键词:集成开发环境;软件总线;构件;无线传感器网络;TinyOS
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)11-20374-03
1 引言
TinyOS是由UCBerkeley分校的研究人员针对无线传感器网络资源有限,通信响应要求及时的特点而设计的一种嵌入式操作系统。由于TinyOS为非商业的操作系统,未提供开发环境。如何构造一集成开发环境,既满足不同开发阶段及不同领域开发者的需求,又兼顾未来新的开发方法的需要,一直是值得关心的问题。目前出现了许多基于TinyOS的开发平台,但这些开发平台存在的主要问题是:结构化的体系结构,运行时不可以动态配置模块,扩展性及集成性不强。在认真研究当前的基于无线传感器网络开发平台的优缺点后,本文提出了基于软件总线的传感器网络集成开发环境TosIDE,该平台采用“软总线+软构件”的体系结构,满足特定功能模块在开发环境中灵活安装,卸载和替换,具备良好的扩展性。
2 传统IDE结构及其存在的问题
目前无线传感器网络应用系统的IDE结构可以分为两种[1,2]:
(1)单块式(Monolithic)结构:该结构开发平台一般由一个功能模块集组成,一个模块可能由多个过程组成,任一过程可以调用其它过程,这样模块间的交互关系是网状关系,关系复杂,扩展这类开发平台比较困难,修改一个过程或模块可能会导致多个相关的过程或模块发生错误(如图1所示)。
(2)层次(layered)式结构:该结构将开发平台划分为若干模块,然后将它们按层组织起来。每个模块提供一组其他模块可以调用的功能,并且任何一层的代码只能调用较低层的的功能。层次化结构有助于组织开发平台的开发过程,减少诊断和修改错误的工作。一个完整的层的功能实现可以整个被代替,而不会影响系统其他部分。层次化方法的不足是每一层都有明确的功能,对某一层的功能上的较大改变会对与其直接关联的上下层产生很大的影响,因此难以实现对开发平台的裁剪。针对以上传统开发方式的不足,本集成开发环境采用基于构件的软总线开发方法(如图2所示)。
3 软件总线定义及数学描述
从软件体系结构的角度看,软件总线作为一种连接件(Connector) ,为构件提供了通信、协作和便利的服务,实现了构件集成设施和构件逻辑处理功能的分离,将构件集成设施从以前的隐式方式改为显式方式,是用于构件集成的结构性软件部件[5]。
从一般性的角度出发,我们首先给出软总线的数学描述,对于软件总线的软件体系架构,有如下数学描述[3]:
定义1:软件总线架构TBA = {C,I,M,S,R},其中C是系统的构件集,I是软件总线接口集,S是系统的状态空间集,M是软件总线方法集,软件总线的方法是系统状态改变的触发源m = ( si sj ) , R 是约束规则。
定义2:软件构件C={(ti,ai,s)|s=aiti},其中t是工具构件,a 是构件适配器。
定义3:软件总线接口I={m ∈M|Selector (m,Qi)} ,其中Selector(m,Qi) 是选择函数,函数接收方法集中的方法,返回满足条件为Qi 的接口I中的方法。
以上为软件总线的基本数学描述定义。在此基础上,人们进一步将软件总线结构建立在软件重用的思想上,形成一种“软总线+软构件”的体系结构。图3为一种“软总线+软构件”结构示意图,各个构件通过与软总线相连组成一个实现某种功能的复合构件。
在此种结构中,构件之间不再直接连接,而是以软总线作为连接件,集成为一个整体,各构件之间的交互通过总线间接连接,大大降低构件的耦合度,各构件在接口不变的情况下可独立修改,有利于各构件的并行开发[4]。
4 基于软总线的IDE体系结构
TosIDE的结构如图4所示:
根据子系统、适配器及软件总线在消息传递过程中所出的位置和功能,TosIDE的体系结构分为三层:最上一层为构件应用层,软件总线为该层提供接口,欲加入总线的子系统需符合接口规范(软件总线接口定义),才能加入集成开发环境中;应用层的构件由负责实现项目开发的各功能子系统组成,为开发直接使用的应用模块。中间一层为总线适配层,负责应用层的构件与总线系统的连接,实时响应总线和构件的消息发送请求,并适配彼此之间传递的消息格式,使消息符合接收方的格式要求;最底层为通信层,该层负责构件的注册、注销以及构件之间的数据通信,并且屏蔽具体数据通信的细节,对外提供统一的数据通信接口。
这种体系结构具有以下几个主要的特点:
(1)层次性,整个系统的体系结构逻辑上分为三层,层次清晰,结构简单。
(2)可扩展性强,使用统一的接口规范,提高了系统的可扩展性及可配置性。
(3)开放式的结构,系统在提供不同功能的构件供用户选择的同时,也允许用户或第三方开发构件,并可以比较方便地增加到系统当中。
从无线传感器网络软件开发的不同阶段及功能,把TosIDE分成功能相对独立且结构简单的多个软件模块DD项目管理、组件管理、代码编辑、版本控制、组件视图连接、交叉编译调试等,并封装为构件,然后通过(Agent)连接到软件总线上,形成一个功能完整,支持整个软件开发阶段的集成开发环境。的主要功能是负责将软总线的服务请求转发给构件,负责构件与总线间的消息格式转换。
5 集成开发环境关键技术
软件开发的目标就是将用户的需求转化为软件产品,其中很重要的一个过程就是将用户需求分解为一个个相互关联的模块(构件)[8] 。构件集成的开发环境有两个很重要的问题需要解决: ①模块之间的接口定义及其集成; ②模块之间的通信。
5.1 构件集成机制
TosIDE集成开发环境支持用户根据特定需要开发构件加入到系统中。由于用户自行开发的构件类型千差万别,存在不同的开发方法;具有不兼容性,因此必须引入完善的构件集成机制来协调这些工具高效地支持整个软件开发过程。
对于构件的集成通常有四种方式:数据交换、公共工具访问、公共数据管理和全集成方式[1,6]。综合考虑以上四种集成方式各自的特点,TosIDE采用公共工具访问方式,用户在一致的界面下以相同的方式调用众多不同的工具,各个构件之间的数据交换使用点到点的交换方式,通过翻译程序(即总线)作中介进行数据格式转换(如图5所示)。由于传感器网络软件的开发常常划分为多个明确的开发阶段,不同阶段的功能模块间往往是串行工作方式,一个功能模块的输出往往是另一个功能模块的输入,因此,使用基于点到点交换方式的公共工具访问集成方式比较符合集成开发环境开发过程中的串行工作方式。
5.2 构件之间的通信机制
在该集成开发环境中,构件可动态配置且不同类型的构件可集成到系统中,构件之间通信的高效性成为一个不容忽视的问题。在TosIDE中,各功能模块之间通过工具总线进行双向的消息传递。消息是一个用于构件与软总线之间信息交换的数据包,通常包含消息头和消息体。消息头中定义了一系列的约定属性,比如同步/异步,控制/数据,校验信息等等;消息体即为欲交换的数据。消息可以处理同步和异步系统调度。
整个系统消息传递机制可描述如下:
(1)构件发出消息,总线查询对应的,若无则通知组件重发或者处理异常;
(2)如果消息有效,则消息进入总线消息队列中,根据消息头信息,总线可能需要将消息拆分,并根据订阅信息将相关消息送往各个订阅的构件,如果没有构件订阅该种消息,向发出消息的构件送回异常;
(3)在收到系统总线的服务调用后,判断构件有效性,有效则向构件请求服务调用,否则向发出消息的构件送回异常;
(4)构件在收到发来的服务调用请求后,响应并直接和发送消息的构件通信;
(5)系统中各个,根据需要轮询系统消息队列,如果得到新的消息则将消息取出,过滤掉不需要的消息,转换为组件能够处理的消息,并根据时序重新组织消息提供给组件;
6 结束语
本文是基于无线传感器网路操作系统TinyOS的集成开发环境的研究与设计。针对集成开发环境将各功能模块集成为一个整体的特性,采用“软总线+软构件”的体系结构,这种体系结构具备可扩展性、可维护性、可复用性。
参考文献:
[1] Kurt C. Wallnau.Peter H.Feiler.Tool Integration and environment Architecture.Technical report of SEI,Carnegie Melton University,1994.
[2] Paul F.Zarrella.CASE Tool Integration and Standardization.Technical report of SEI Carnegie Mellon University.l994.
[3] 蔡勇,桑楠,熊光泽.一种基于工具总线的CASE集成模型[J].计算机应用,2002.
[4] 杨芙清,梅宏,李克勤.软件复用与软件构件技术[J].电子学报,1999, 2(27):68-75.
[5] 郭兵,熊光泽,沈艳,等.工具总线模型研究[J].计算机应用,2003,23(5):1-3.
[6] Reiss S. Connecting tools using message passing in the field environment. IEEE Software,1990,7(4):57-66.
[7] David Gay,Phil Levis,David Culler.Software Design Patterns for TinyOS.LCTES'05,Chicago,Illinois,USA,June 15-17,2005.
软件设计开发研究范文第4篇
关键词:CDIO;教学项目;高职软件
目前,高职软件开发类专业的人才培养目标大多设定为满足程序员等类似岗位的职业需求上。要求学生能够掌握相关开发工具以及开发语言的使用,能够参与到相关项目的开发工作当中。但随着软件系统的业务需求越来越多样、系统规模越来越庞大、应用环境越来越复杂,软件系统的开发无论是在技术上、结构上以及工具上对开发人员都有了更高的要求。从而导致了教学效果差,教学目标难以实现等问题。另一方面从学校走出来的学生又不能满足企业需求。
为了能够更好地满足社会需求,大多数高职院校的软件类专业都开展了课程建设和改革,在技术及实践类课程中采用了项目化教学等方式方法。在培养学生专业技能的基础上,更注重培养他们分析问题及解决问题的能力、团队协作能力、沟通能力等职业素质。在项目化课程中教学项目承载着知识技能以及职业素养的培养,因此,能否合理地设计教学项目在很大程度上会影响项目化教学的效果。目前,高职院校软件类专业相关课程的教学项目都具备一定的实用性背景,能覆盖课程相关的主要知识技能,能较好地培养学生的实践能力。但是在学生工程能力的培养、开发内容以及工具使用上还与实际开发和企业的工程项目需求有较大的差异。学生在完成相关课程的学习后还难以马上投入到实际工作中。
CDIO工程教育模式作为近年来国际工程教育改革的最新成果已被越来越多的本科及高职院校的工科类专业借鉴和采用。CDIO将学生的培养目标分成基础知识、个人能力、人际团队能力和工程系统能力四个层面,在培养学生基础理论和专业知识的同时,更是通过贴近现实的工程场景来培养学生的综合能力。工程能力作为CDIO中的一个重要内容,对学生的培养起着关键作用。对刚刚踏入社会的高校毕业生而言,他能够融入实际工程中的能力显然比他所具备的专业技能的深度更为实际。因此,如何融入CDIO的理念以及如何培养学生的工程能力,是软件开发类课程教学项目设计的关键问题。
一、注重增强学生的工程体验
软件开发是一项对语言技术和逻辑思维有一定要求的工作,也是一项需要通过长时间的实践积累才能逐步提高的工作。但是很多高职院校的软件技术类专业中的一种开发技术的课程最多也只能安排到两门课,一般为120个左右的课时。这样的时间对于学生掌握一种开发技术而言显然是不够的。目前,很多院校课程的教学还是侧重于技术的培养,总是力求在有限的时间内将更多的技术传授给学生,将教学项目设计的过于实用,功能复杂规模庞大。但是这种做法对我们高职的学生而言,收效甚微。
因此,在课程教学项目的设计上不要过分追求项目的功能丰富层度和覆盖的知识技能面。应将关键点设定为整个项目的开发流程和实现过程上。重点是让学生通过该教学项目的实施,能够了解到软件项目的实际开发流程,以及在开发过程中每一步要做的工作,并能够在实践学习的过程中掌握一定的知识技能。在教学项目中尽可能设置一些沟通交流的环节,让同学们在模拟真实环境的同时能够培养沟通交流的能力。从而通过工程体验的增强来提高学生的工程能力。
二、突出培养学生的核心能力
高职软件开发类专业学生的培养目标不是技术精英,而是能干技术活的开发人员。要想在有限的时间里面既培养学生的工程能力又培养学生的知识技能,就需要对知识技能进行优化,梳理出其中核心的部分,并作为教学和训练的重点。在实际设计时可以通过如下的几个步骤来进行:(1)对区域内主要软件应用进行汇总分类,了解学生毕业在区域就业后可能从事开发或运营的软件项目类型;(2)对这些项目进行归纳分析,总结出它们中类同的、通用的功能模块以及所对应的知识技能;(3)梳理这些功能模块,并将它们转化成需要进行教学的核心内容。
在进行教学项目设计时,首先从增强学生工程体验出发,根据实际的工作流程来将教学项目划分为多个子项目,每一个或多个子项目能覆盖实际工程的某一个典型环节。然后,将前面所归纳出的核心内容以工作过程的形式分布在各个子项目中。这样,在实际教学中就可以通过各核心知识技能的掌握来完成各子项目,然后通过各子项目的开发来实践整个软件系统的工程。当然,在设计核心内容时,一定要把握重精不重量的原则,让学生能够把各个关键任务的每一个环节都做清楚、做到位。这样,学生就较为扎实地掌握软件开发中的一些实用性和关键性部分,就为日后的工作打下良好的基础。
总的说来,对现在的高职类软件开发类课程而言,注重学生在工程能力方面的培养比学生在知识技能深度广度上的培养更为重要。用人单位对我们高职学生的要求并不是体现在其专业能力的深入层度上,而是要求高职学生能顺利的融入工作环境上。因此,在课程的教学项目上一方面要注重增强学生的工程体验,让学生对软件开发的各个环节能有较好的了解和认识,帮助他们能够较快较好地融入实际工作中;另一方面要培养学生的核心能力,让学生能在相对短的教学时间内掌握实用的、核心的知识技能,从而面对更为多样的项目类型和职场环境。
参考文献:
[1]金伟祖.CDIO教育理念在课程项目设计中的运用.计算机教育,2023.
[2]赵娜.基于CDIO的“软件项目开发入门”综合技能实践课程.计算机工程与科学,2023.
[3]贾小妮.基于CDIO理念的“工程项目管理”之应用.价值工程,2023.
软件设计开发研究范文第5篇
关键词:教育软件;软件设计;创意计算;所取成果
中图分类号:TP311
教育软件的开发并不是一蹴而就的,是通过众多的过程之后才能够完成的。比如说进行教育软件的开发首先要进行的就是对环境进行开发,其次就是教学设计,软件设计,后续的阶段就是教育软件的实现、评价以及维护环节。
将创意设计应用到教育软件的设计之中,所具有的含义即利用产品设计学科中的思想以及规律等等来对教育软件进行设计。教育信息化体系如图1所示:
图1
1 教育软件
教育软件可分为广义以及狭义的两个方面。广义上的教育软件就是一切的基础就是计算机软件技术,所有的替教育发展提供服务的软件都可称之为教育软件。这种软件包含的有教育资源软件、教学辅助以及支撑软件意义行政管理软件等等的一系列软件。狭义上的教育软件就是软件产品是具有特定的教学内容的并且还具有自身独特的教学目标。这类软件还包含的有自学以及教学辅助软件。狭义上的教育软件中的教学辅助软件还可分为课件开发软件以及考试类软件等等的软件。
教育软件具有非常多的意义:其一、在对教育软件进行开发的时候,有必要深入的分析学习过程以及规律,而这项工作并不简单,通常将人类的学习过程以及人类对事物的认知规律认为是人类大脑活动中最为复杂的过程。其二、要想对教育软件进行有效合理开发,就要深入的理解学科知识并且还要对这些学科知识进行综合。其三、教育软件对人机界面有着非常高的技术要求,这样的原因就是因为在对教育软件进行应用的时候有大量的人机互动才能够对知识有着良好的理解。其四、教育软件的开发工作所涉及的方面主要有两个,一是教育领域,二是计算机领域。因此要想对教育软件进行合理的开发,这就需要上述两个领域的专家共同协作,一起进行开发。
教育软件的开发和普通软件的开发有很多地方都是相同的。主要有以下的几个过程:环境分析教学设计软件开发编码实现软件评价软件维护。
教育软件的开发相比较普通软件开发多了众多具有科学背景的技术人员,不仅仅这样在对教育软件进行开发的指导思想就是教育思想理论。环境分析工作主要就是分析教学目标以及使用的对象等等;教学设计工作主要要做的就是确定教学内容以及将知识结构给设计出来;教育软件设计要设计的是整个教育软件,包含各个不同的方面;实现编码的工作就是凭借教育软件设计内容进行软件开发编码;对教育软件进行评价主要就是对教育软件的质量进行评价还有就是要回答满足教学需求的部分的问题;最后的一步,软件的维护,主要就是跟随教学需求的变化,升级修改教育软件等等工作。
2 创意计算
创意,早期定义就是能够将“新的”、“有用的”产品生产出来的一种能力。在21世纪,最缺乏的就是创意。创意可以应用的领域非常的广泛,无论是个人还是社会都能够成为创意的实施对象。
创意计算是一种新兴领域,直观对创意计算的解释就是通过采用创意来进行计算。但是在教育软件设计工作中,创意计算具有独特的地位以及意义,在计算机软件工程领域之中称创意计算――软件开发。所以在计算机软件领域里面对创意计算的直观解释就是采用创意来对希望的软件进行开发。创意计算中的“创意”指的就是:采用非计算机软件领域的其他类似物理、化学、艺术等等的学科的领域思想以及理论来对软件进行开发。所以,跨学科则是创意计算所有特点中最大的一个,正是由于创意计算的这个特点才能够为软件的开发提供一些新意。
当今社会已经对创意计算有了一定的注意度,受重视度也在日益提高,创意计算能够将在传统教育软件设计开发中所遇见的业内无法解决的问题给解决掉,为教育软件的开发所作出的贡献是非常巨大的。创意计算所涉及的学科非常大多,涉及到物理、化学、教育以及艺术等等的领域。
因为创意计算出现的时间并不是很长,所以创意计算的研究所处的阶段还是初级阶段。虽说创意计算(Creative Computing)已经有了自己的思想,但是在很对方面的研究还远远达不到理想的水平,存在的问题还是有很多的:(1)对创意计算所能够解决的问题并没有一个系统的归纳性总结;(2)对合适的学科思想理论以及规律方法的选择并没有深入的研究,取得的成果不多;(3)由于创意计算具有跨学科的特点,所以对软件研究员的挑选以及组织要有一定的模式,但是现在的这方面的研究程度也是不够的;(4)教育软件的开发研究涉及的领域较多,所以需要的研究人员也是具有不一样的学术背景的,不同学术领域的研究人员之间的研究交流以及合作也没有良好的研究程度;(5)创意计算作为新兴领域,这个领域的研究还缺乏专门的研究方法,研究创意计算的方法所具有的问题有以下几点:1)现在,就现在拥有的学术领域中存在的众多研究方法是否能够利用其中的一种或者几种来对创意计算领域进行研究;2)若是有合适的研究方法,还需要考虑的就是所选的研究方法是否对研究创意计算适合;3)用这些研究方法来研究创意计算是否足够;4)在每一个领域都有着具备自己独特特点的方法,所以就创意计算领域而言,是否有必要提出新型的研究方法来研究创意计算;5)若是有必要提出新型的研究方法来研究创意计算,新型研究方法的提出方法又是什么。
3 创意计算在教育软件研究中的应用
创意计算应用与教育软件设计的研究要提供研究方法,促进研究创意教育软件设计方法。研究教育软件,所研究的就是教育软件设计方法的创意方向,研究研究传统教育软件过程中所存在的问题;凭借这些问题,研究出创意教育软件设计方法的研究形式;对研究出的研究方法进行应用,提供应用实例。研究内容图示如下:创意方向研究方法应用实例。
创意计算所能够解决的问题在于:没有融入教育思想、不用考虑设计的效率、适应需求的程度不够等等。这三个就是现如今的软件工程领域不能够解决的问题,进行软件开发,就会有问题出现,所以在其他学科寻找觉得方法是非常有必要的。传统的教育软件设计方法存在如下问题:没有融入教育思想,缺乏关于设计效率的考虑、没有将设计数据结构包含在其中,适应需求变化的程度不够,软件重用现象解决起来比较困难,对研究设计人员以及环境的设置考虑有所欠缺等等。
4 结束语
计算机软件工程领域发展到现在,存在的问题依旧是很多的,无法解决的问题也是很多的,创意计算的目的就是将其他领域方法、思想引入到教育软件设计领域,解决这些无法解决的问题。创意计算所具有的发展空间还是非常大的。
参考文献:
[1]张璐.创意计算应用于教育软件设计研究方法的研究[D].东北师范大学,2023.
[2]史凯.基于网路的中小学教育软件的研究与设计[D].同济大学,2008.
[3]林广成 教育软件的人机界面设计研究[D].首都师范大学,2005.
[4]方海光,张景中 教育软件可用性评测研究[J].电化教育研究,2008.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yyfangchan@163.com (举报时请带上具体的网址) 举报,一经查实,本站将立刻删除