公务员期刊网 精选范文 软件设计开发研究范文

软件设计开发研究精选(九篇)

软件设计开发研究

第1篇:软件设计开发研究范文

[关键词] 汉语拼音;移动学习;学习理论

随着移动互联网技术的迅速发展,智能手机已成为人们生活中的一部分,全面而深刻地改变着人们的交往方式、生活方式和学习方式。自美国加州大学伯克利分校的人机交互研究室于2000年启动名为“移动教育(Mobile Education)”的项目以来,全球教育界和移动设备研发商都开始密切关注移动学习(Mobile Learning)的研究与实践。移动学习是指学习者在自己需要学习的任何时间、任何地点,通过移动设备和无线通信网络获取学习资源,与他人进行交流、协作,实现个人与社会知识建构的过程。[1] 它具有学习环境随意性、学习时间零碎性、学习活动情景性等特点。

汉语拼音是小学低年级学生的重要学习内容,是少儿学习汉字的基础。要想提高汉语拼音教学的效率,就必须充分激发学生的学习兴趣。《语文课程标准》(以下简称《课标》)指出:“汉语拼音教学尽可能有趣味性,宜以活动和游戏为主。”《课标》还指出,拼音教学主要是让学生学会正确拼读。但是,由于受方言的影响,以及家庭、幼儿园等学前教学的不规范性,给拼音字母及音节的准确认读带来了许多困难。如何根据少儿的认知特点,把移动学习应用到少浩匆艚萄е校设计开发一款适用于少儿拼音学习的移动学习软件,使少儿能够随时随地开展有趣的拼音学习,提高拼音学习效果,是一个值得研究的问题。

本文在移动学习理念的指导下,充分利用移动终端设备携带方便、触摸操作、无线通信、图文声并茂等性能特点,为少儿设计开发了一款拼音移动学习软件。该软件由Web站点和APP两部分组成。Web的主要用户是教师,为教师提供了拼音教学内容动态管理和学生信息动态管理等功能。APP的主要用户是学生,为学生提供了拼音认读、拼读和拼音游戏等学习模块,让少儿在具有精准发音的环境中学习拼音, 即使没有父母或教师在身边,也能学习纯正的拼音发音;APP软件运行在智能手机上,可以让学习者随时随地利用零碎时间开展学习;而且APP软件中图文声并茂的学习内容和“拯救喜羊羊”等游戏情境的创设,更能激发学习者的学习兴趣。

一、少儿拼音移动学习软件的设计

少儿拼音移动学习软件的设计要根据少儿拼音教学目标要求,在相应教学理论的指导下,遵循少儿的认知规律,充分利用移动学习环境的特点来展开。

(一)学习理论基础

学习理论是认知心理学的一个分支学科,旨在揭示“什么是学习”“如何进行学习”的理论。由于学习过程的复杂性,心理学家从不同角度、运用不同的方法对学习问题进行了大量的实验研究,产生了各种学习理论的流派――行为主义、认知主义、建构主义等。这些不同的流派各有特点,相互补充,适用于不同的情形。

行为主义学派认为,学习是学习者对外部刺激的反应;只要控制好外部刺激,就能控制和预测学习效果;促进学习的最好方法是强化。在行为主义学习理论的指导下,移动学习软件的设计要遵循小步子推进、积极交互、及时强化的原则:要把教学内容划分成细小的单元,便于学习者利用零碎时间开展学习;在每一个细小学习单元之后,要安排交互练习,促进学生对所学知识的积极反应;反馈要及时,使外部刺激能得到及时强化。在行为主义学习理论指导下,移动学习软件的基本学习过程是呈现、作答和反馈。它适用于开发练习型移动学习软件,促进学生对所学知识的复习和巩固。

行为主义学习理论的主要缺陷是,它忽视了学习者内部心理机制对学习过程的重要作用。随着对人类学习过程研究的深入,出现了另一个流派――认知主义。认知主义认为学习是学习者对外部刺激的一个主观能动的内部心理加工过程。认知主义强调学习者的主体能动性、强调新旧知识的联结。在认知主义学习理论的指导下,移动学习软件的设计要充分考虑到学生的内部心理过程:要做学习者特征分析,根据学习者特征教学内容做精心设计与组织;要充分激发学习者的学习兴趣并调动其学习主动性,以充分促进学习者对学习内容的主动的、选择性加工。

早期认知主义对于人类内部心理机制的解释过于简单机械化了。随着对人类学习过程研究的深入,逐渐从认知主义中分离出了一个新的流派――建构主义。建构主义认为,学习是学习者在一定的情境下,借助他人的帮助,利用必要的学习资料,通过意义建构的方式获得的。情境、协作、会话和意义建构是建构主义学习环境的四大要素。在建构主义学习理论指导下,移动学习软件的设计要充分发挥移动技术“携带方便、触摸交互、无线通信、多媒体表现”等性能优点,为学习者营造自主、探究、协作的学习环境,促进知识内化和能力培养。例如,可以开发移动教育游戏软件,寓教于乐,让学习者在竞争、过关中增长虚拟能力,进而增长现实能力。

(二)软件设计

将移动学习应用到少儿拼音教学中,设计开发少儿拼音移动学习软件,要在学习理论的指导下,充分发挥移动设备本身的性能优势,做好学习目标设计、功能模块设计、系统架构设计和学习过程设计。

1.学习目标设计

移动设备具有图文声并茂的性能优势,它在帮助少儿掌握声母、韵母、声调的发音,学习拼音的正确拼读等方面具有得天独厚的优势。为此,我们将少儿拼音移动学习软件的教学目标设计为:帮助学习者掌握单韵母、声母、组合韵母的正确发音;能够正确区分韵母和声母;能够读准声调,并学会正确拼读汉语拼音。

2.功能模块的设计

根据既定的学习目标和学生的移动学习需求,我们设计了软件的功能模块。如图1所示:本件由Web站点和APP软件两部分组成。其中,APP软件是为学生开发的,主要为学生提供了拼音认读、拼读和拼音游戏等模块;Web站点是为教师开发的,主要为教师提供了各类教学内容的维护和学生信息的维护等功能。

3.系统架构的设计

本软件采用B/S(Browser/Server,浏览器/服务器)和C/S(Client/Server,客户端/服务器)混合架构。如图2所示:Web站点采用B/S架构。教师只要打开Web浏览器,就可以远程访问Web站点的所有功能,实现对拼音教学内容的动态更新和维护。教学内容存放在服务器上,可以被多个学生用户共享和访问。B/S架构大大简化了客户端的配置,提高了开发效率,又方便了用户的使用和后期维护。APP软件采用C/S架构。学生在智能手机上下载并安装APP软件之后,就可以通过APP与Web站点之间的无线通信功能,从Web站点上获取最新的拼音教学内容,然后通过APP的功能模块开展拼音学习。

4.学习过程设计

学生下载、安装并运行APP 软件之后,就可以看到拼音认读、拼音拼读、拼音游戏三个功能模块。学生自主选择一个模块,点击进入,即可开展相应的学习。

(1)拼音认读

拼音认读模块的学习过程如图3所示:分为学习和练习两个阶段。

在学习阶段,根据学习内容的不同,学习者可以进行单韵母、声母和组合韵母的跟读学习。它们的具体学习过程基本相同。以单韵母“[ā] ”的跟读为例,学生首先看到屏幕右侧一个大大的“[ā] ”文本,知道[ā] 的外形;然后他再点击屏幕左侧“[ā] ”的发声提示图,就可以听到关于该单韵母发声的儿歌“圆脸小姑娘,小辫右边扎,要问她是谁?就是[ā] [ā] [ā] ”,从儿歌中,学生可以获得关于单韵母“[ā] ”发音的感性认识;最后学生可以依次点击右下方标有四个声调“ā”“ᔓǎ”“à”,就可以清楚地听到单韵母[ā] 四个声调的发音。通过聆听和跟读,学生就可以较好地掌握该单韵母的发音。

练习阶段提供了两种练习方式:“听一听选一选”“给声母和韵母找家”。其中,“听一听选一选”练习模块的目的是帮助进一步熟悉韵母和声母的发音,并在声母韵母的发音与外形之间建立牢固的连接,以后看到这个声母或韵母的外形,就能立刻从记忆中提取出该声母或韵母的发音。根据“小步子推进、积极交互、及时强化” 的原则,我们设计了“听一听选一选”模块的练习过程,具体是:运行在智能手机上的APP软件,首先从本地题库中提取一道声母/韵母的拼一拼选一选的题目呈现出来,包括四个选项和一个发音,发音暂不播放;当学习者点击屏幕上的小姑娘时,系统播放发音;学习者根据发音,从四个选项中选出该发音所对应的声母或韵母;系统会对学生的选择做出判断,并给出相应的反馈,及时强化;做完这道题后,学习者可以点击“下一题”按键进入下一题的练习,也可以点击“上一题”按键重做上一题。

“给声母和韵母找家”练习模块的目的是帮助学习者进一步区分哪些是韵母哪些是声母,能把它们正确归类,以便为后续的拼读和正确标写声调打下基础。“给声母和韵母找家”的具体练习过程是:运行在智能手机上的APP软件,首先从本地题库中提取一道给声母和韵母找家的题目呈现出来,包括若干个声母、若干个韵母、一个房子代表声母的家、另一个房子代表韵母的家,以及一个题目音频;鉴于该年龄段的学习者识字量不多,所以系统会先自动播放题目音频,告诉小朋友题目的意思,然后等待小朋友的拖动操作;小朋友根据所学知识,选取一个声母或韵母,将其拖到一个房子里;系统会自动判断小朋友给该声母或韵母找的家是否正确,并给出相应的反馈,及时强化。

(2)拼音拼读

拼音拼读模块的学习过程如图4所示:也分为学习和练习两个阶段。

在学习阶段,学习者可以进行拼音的跟读学习。它们的学习过程与认读模块中的学习阶段基本相同。以拼音“shé”的跟读为例,系统会在屏幕左侧呈现一张蛇的图片,并在右侧呈现拼音文本“shé”,以帮助学习者建立实物与拼音的联系;学习者点击文本“shé”,系统就会播放这个拼音的音频,引导学生怎样用声母和韵母拼出 “蛇”的拼音。

练习阶段提供了两种练习方式:“听一听选一选”“看图找朋友”。其中,“听一听选一选”练习模块的目的是帮助学习者进一步熟悉拼音的拼读方式,并能在拼音的发音与拼音文本外形之间建立牢固的连接。它的具体练习过程与“认读”模块中的“听一听选一选”基本相同,只是练习内容改成了由声母和韵母组成的拼音,而不再是单个的声母或韵母了。

“看图找朋友”练习模块将通过玩对对碰游戏的方式,让学习者为每个实物图片选择正确的拼音。认知主义学习理论强调新旧知识的联结。奥苏贝尔是认知主义学习理论的代表人之一,他提出了“有意义学习”理论,指出只有当新旧知识之间建立非任意的实质性的联系时,有意义的学习才能发生,才能引起学习者能力的发展变化。“看图找朋友”练习模块的就是以学习者原有认知结构中已经掌握的非常好的关于实物的认知为“固着点”,把新学的拼音知识“系”到这个“固着点”上,从而在新旧知识之间建立实质性的联系,使拼音学习变成有意义的学习,而不是机械的拼读与记忆。该模块的具体练习过程是:运行在智能手机上的APP软件,首先从本地题库中提取一道看图找朋友的题目呈现出来,包括若干个拼音文本和若干个实物图片,文本和图片的排列次序是随机打乱的。小朋友选取一个拼音,进行拼读,明白其意思之后,再挑选出一个该拼音所代表的实物图与之匹配;系统会自动判断小朋友的匹配是否正确,并及时给出相应的反馈。

(3)拼音游戏

为了激发学习者的学习兴趣,我们设置了一个闯关游戏“拯救喜洋洋”,寓教于乐,让学习者在闯关过程中融会贯通所学的拼音知识。游戏中,小朋友扮演喜羊羊的角色,它正在被灰太狼追赶。喜羊羊已经被灰太狼追赶到了一条小河边,河对岸就是羊村,村长、沸羊羊、美羊羊都在河对岸呼喊着叫喜羊羊快过河。然而河上没有桥,只有三块大石头。看来,喜羊羊只能通过这三块石头跳跃着过河了。可是,每块石头上都有一道拼音题,喜羊羊必须用所学的拼音知识答对石头上的题才能跳到相应的石头上。如果回答错了,灰太狼就会更加逼近它。喜羊羊必须全力以赴,答对所有题,才能脱离险境。游戏的具体流程如图5所示。

二、少儿拼音移动学习软件的开发

(一)Web站c的开发

为了使程序结构清晰、提高代码的可重用性,同时也为了提高Web站点的可维护性和可扩展性,Web 站点的开发采用了SSH(Struts2 + Spring3 + Hibernate)整合框架,把表现逻辑和控制逻辑分离开来,分别由表现层、业务逻辑层来处理。在SSH整合框架中,Struts负责实现MVC,即实现模型(Model)、视图(View)和控制器(Controller)的分离,以降低系统架构的耦合性;Spring负责业务逻辑的处理,Hibernate进行数据的持久化。具体而言,就是在表现层,由JSP页面负责人机交互,接收用户请求(Request)并把系统响应(Response)反馈给用户。当用户在JSP页面上发出一个请求(Request)时,Struts的核心控制器就会拦截这个来自用户的请求,并迅速在配置文件struts.xml中查找与该请求匹配的Action,然后把该请求委派给相应的Action去处理。在业务逻辑层中,Spring(applicationContext.xml)负责向Action提供业务模型(Model)组件和DAO(Data Access Objects,数据访问对象)完成业务逻辑。在数据持久层,通过Hibernate的对象化映射实现和数据库的交互,处理DAO组件请求的数据,并返回处理结果。最后处理结果返回给JSP页面呈现给用户,此时系统控制权又转移给Struts。

(二)APP与Web站点之间数据通信的实现

本软件采用JSON(JavaScript Object Notation)作为数据交换格式,通过HTTP通信实现了Android应用程序与Web Server之间的数据通信。JSON是一种轻量级的数据交换格式,它能够描述一个复杂对象的集合,而且 JSON 易于人阅读和编写,也易于机器解析和生成。

APP软件与Web站点之间的数据通信过程如图6所示:APP软件访服务器端的MySQL数据库时,先要利用 HTTP 协议发送 Request 请求给Web站点,Web站点调用Struts API根据请求访问SQLServer数据库获取数据,然后把数据封装成 JSON 格式,通过 HTTP 协议回传给 APP软件;APP软件对得到的数据进行 JSON 解析,然后存储到本地SQLite数据库中。这样,以后APP软件运行时所需的数据就可以直接从本地SQLite中读取了,学习者即使在没有WLAN的环境下也能正常学习了。

(三)APP软件的开发

APP软件预置了一些教学内容,学生在脱机模式下就能进行学习。更重要的是,APP在WLAN的环境下,能自动和Web 站点进行数据通信,及时获得最新的教学内容,更新本地的教学内容库,使学生能与最新的教学内容同步。APP软件的开发也采用了MVC的思想,将表现逻辑和控制逻辑分离开来,使程序结构清晰,提高可扩展性和可维护性。APP软件的运行效果如图7所示。

总之,本软件能较好地激发少儿的学习兴趣,有助于少儿利用零碎时间随时随地学习纯正的拼音发音,并学会正确拼读汉语拼音,具有较高的实用性和推广价值。今后,我们将进一步完善游戏画面,使之更加精美。

参考文献

[1] 余胜泉.从知识传递到认知建构、再到情境认知――三代移动学习的发展与展望[J].中国电化教育,2007,(06).

[2] 赵小刚.现行《汉语拼音方案》及拼音教学研究[J].北京教育学院学报,2013,(01).

[3]吴艳玲.小学生汉语拼音学习存在的问题与对策[J].教学与管理,2014(29).

[4]李璐.语音识别的拼音学习中发音识别和评分模块的系统设计[J].黑龙江科技信息,2010,(01).

[5]刘和荣.创设多种手段 激发小学生学习汉语拼音兴趣[J].教育教学论坛, 2013,(42).

[6] 龚成莹,邢敬宏,胡银保. 基于JSON 的Android 移动终端与PHP及MySQL数据通信[J].工业仪表与自动化装置,2013,(01).

第2篇:软件设计开发研究范文

[关键词]计算机软件;开发设计;研究探讨;对策建议

中图分类号:TH523文献标识码:A文章编号:1009-914X(2017)32-0000-01

1我国软件设计方式的现状

虽然我国的软件开发技术中出现了很多设计方法和支持设计工作的工具,设计工作也取得了不少成果。但在设计中还是存在很多问题和难题。

1.1需求分析不充分

需求分析作为软件开发的重要部分,是软件功能和应用的重要体现,也是软件开发设计的核心。但是很多软件开发人员对于软件需求不甚理解,在开发的过程中常会出现开发的程序功能不符合需求的要求,这就造成了软件开发效率低下,且无法达到软件项目产品的需求。

1.2规划不够实际

因为在软件设计中会存在诸多的程序和过程,一般较为复杂,但在实际的设计中没有按照规范合理的制定设计的计划,对于庞大的系统工程只花费小部分的时间来完成,设计质量也就很难保证。所以,需要拿出足够的时间和精力来安排整个工作,包括设计、规划、测试、维护等过程。

1.3测试不够充分

目前,虽然很多开发人员在进行软件开发的时候会进行代码测试,但是在后续的系统测试上却很不足。很多的软件产品重在开发,对于软件测试方面的重视程度不足,造成了开发完成的软件在后期的使用中出现很多的软件漏洞,这对于软件维护工作造成了巨大压力。因为软件开发完成之后,将会上线应用但是在不同的应用环境中会出现各种问题。

2目前主要的软件设计方法

2.1模块化设计法

计算机软件开发的时候需要用到模块化设计,此方法可以有效减少计算机软件设计和开发的难度,并且还可以在软件开发的过程中添加程序或者删改程序。因为模块化设计,其主要是将一个软件程序分为若干个小程序,通过相应的设计原理和编码处理实现每个模块的功能,最后再根据模块功能组成一个巨大的软件系统。软件设计过程中要求模块化设计的相当多,且多个模块设计由多人共同完成,计算机软件通过不断的调整,使得程序在运行的过程中更加稳定。通过模块设计实现整个软件系统的搭建,更加方便软件编写。

2.2数据流设计法

在计算机软件系统开发过程中,很多都是面向有结构层次的设计,而且,在很多的领域应用当中,很多只是只有数据,没有相应的结构层次,如,科技领域和工程领域等方面,对于这些计算机领域设计中可能会技术上的困难,而对于软件开发过程中的数据流设计,可以针对数据流进行设计的全新方式,这样就能够有效地打破结构层次的设计,在很多程度上可以很好地解决各个领域重大软件的设计难题。

在数据流的设计环节过程中,主要是通过设计对象各个方面的信息进行收集和整理,之后就可以根据所搜集的信息进行软件设计。在这一过程中,必须要建立阶段使用的结构化的数据流图特征,之后对这些信息进行详细分析和准确分析,判断相应的数据信息流是属于变换型还是事务型,之后就能够分别对变换型和事务型进行分析,从而可以很好地得出软件设计的相应结构。

2.3数据结构设计法

数据结构设计法有两种,Jackson和Warnier两种,但两种方式基本相同,Jackson主要用层次图来表示数据结构,后者主要采用图来提供较为详细的设计过程。数据结构主要应用于商业的数据处理。

數据结构设计法主要面向问题,基本思想是:问题和解决问题的方式之间必然存在某种特定的关系,所以在数据结构上直接建立程序结构,来得出程序结构的过程描述。设计中主要采用顺序、选择和重复等三种结构,使得该设计和详细设计中没有明显区别,主要的设计步骤为:

(1)根据数据结构的不同,建立对应的程序控制结构,描述输入和输出数据的结构过程。

(2)将程序的操作过程列出,并且将所有的操作分配到控制的结构中。

3我国软件开发设计的发展前景

3.1网络化设计

如今是一个信息发达的互联网时代,计算机软件的应用和发展是与网络息息相关的。我国当前正处于互联网高速发展的阶段,互联网作为与世界沟通的有效交流渠道,正在发挥着越来越重要的影响。因此,计算机软件技术在发展的过程中要紧跟互联网的脚步,向网络化趋势发展,从而为更多的用户提供高质量的服务。相关的开发技术人员要及时掌握最新的发展动态,并朝着这个方向不断前进。

3.2服务化设计

所谓的服务化趋势指的是为人们服务。现阶段市场上出现的计算机软件非常多样化,遍布在人们的生活当中。但是真正高质量的软件仍然是供不应求,许多软件都是盗版,满足不了用户的需求。对于软件开发来说,用户的需求就是开发人员进行不断研究、创新的动力,也是重要前提。软件在开发的过程中,要注意对客户需求的了解,然后对需求进行详细地分析,从而设计出更为具体化、个性化的软件产品。所以,当前软件开发人员最重要的核心理念就是要以服务客户为主。

3.3开发智能的软件设计系统

智能的软件设计系统主要是指通过使用知识工程和人工智能中的技术,研究出智能的的设计系统,然后将软件的需求规范转换成设计来表示,最后将设计表示成源代码。

(1)明确从需求分析阶段到设计阶段,设计过程需要的软件信息,并且要明确设计该智能系统,需要何种软件知识来支持。

(2)明确需要的图形工具,以方便适应于人机交互。

(3)明确表示验证和确认技术需要的基础知识,避免知识的匮乏。

3.4发展软件可重用技术

软件的组装设计技术和接口技术都是亟待解决的重要的问题,为了保证软件设计中可以对软件进行重用,将重用成分进行标准化,实现设计的规范化。其中在设计阶段,软件的可重用部分主要涵盖设计规格说明、设计文档、数据结构、模块和设计结构等内容。

在软件的设计中,智能的软件设计系统、软件可重用技术和软件自动生成技术等不仅会影响着设计过程,还会对整个软件开发的过程产生改变,极大的提高了软件的设计效率和生产质量。

结束语

现阶段,软件是当前计算机系统中最为重要的组成部位,只有在软件的测试、设计和后期维护等方面加强设计,切实根据软件系统的设计规范和要求建立成为一个同一层次的模块,随着科学技术的不断发展,只有不断优化软件开发过程中的各个环节,针对以上的问题进行深入分析,并得到有效地的解决,才能更好地促进计算机软件开发设计共走的顺利进行。

作者:姚远

参考文献 

[1] 贾守国.计算机软件开发过程质量的项目管理对策[J].计算机光盘软件与应用,2012,21:204+206. 

第3篇:软件设计开发研究范文

1 云平台包装设计给软件开发带来的影响

 

云平台能够实现更多数据库的整合使用,在软件开发阶段可以充分的调动这些数据库,实现更高效理想化的使用效果,并且随着管理计划的进一步开展,也能在现场形成高效稳定的使用形式。传统的软件开发技术中,需要对操作平台的功能进行进一步完善,并帮助提升运行使用效率,现场所存在的问题中,都能够通过数据库的调动使用来解决,避免数据受到进一步的影响,也能帮助提升管理安全性。通过云平台下的包装设计,软件开发所面对的平台更大,技术实现不会再受到影响,也能在基层中达到理想化的运行使用效果,促进管理任务能够进一步提升。基层中常常会出现的一些问题,在云平台的调动作用下,都得到了充分的解决,同时也能避免发生严重的质量不达标现象,进一步提升运行使用的安全性。对于平台的管理,也能借助云平台来实现远程控制。

 

1.1 云平台的三种主要服务模式

 

首先是资源整合功能,能够根据使用者发出的请求,在网络环境中快速的找到相关运行使用参数,并通过技术性方法来进一步解决,当系统进入到设计阶段时,云平台还能够为设计人员提供相关的参数,达到更理想化的使用效果,同时也能避免风险隐患问题再次发生,为基层工作任务开展创造合理的运行环境。

 

其次是平台的自身服务功能,在现场遇到不合理的现象时,能够通过技术方法来进行现场的调控,云平台自身也具有控制能力,所进行的软件开发会充分利用平台中的资源,达到理想化的使用标准,并针对常见问题探讨有效的解决方法,为接下来将要进行的管理任务创造可行性方案。

 

最后是软件服务,在云平台的调动作用下,各个平台之间能够形成稳定的运行体系,在功能上也能够互相补充,共同完成系统平台的操作任务,当基层中出现不稳定的使用状态时,才能进一步提升设备的参数运行标准,帮助提升工作内容方面的安全管理依据。

 

2 基于云平台包装设计的软件开发规划

 

严格按照使用功能对各个模块进行划分,并体现出技术方面的可行性研究结果,当系统被投入到使用环节后,在软件内部能够根据所接收到的请求调动各项运行使用需求,达到更加理想化的使用标准,并通过技术手段来进一步完善,实现对运行中软件功能的进一步更新,并促进使用效果能够进一步的完善提升的,达到理想化的运行使用效果。在所进行的软件开发任务中,还要严格按照包装技术实现各个模块之间的相互配合,严格按照功能系统来实现软件内部控制模块的区分,避免在使用控制中出现混乱的现象,影响到功能的具体实现。

 

云平台强大的数据整合技术也要配合使用,筛选出对软件开发有利的参数,其中存在的不合理现象也能得到控制,充分发挥云平台的先进性以及促进作用。

 

3 基于云平台包装设计的软件系统设计

 

3.1 软件系统设计及实现

 

软件系统设计可以参照已有平台的经验来进行,但更要注意的是使用期间是否会出现一些不合理的内容,观察在现场可能会出现的相关问题。将软件开发以及系统设计与云平台紧密配合,达到最理想的运行使用效果,软件功能实现与插件设计也有很大的关系,通过插件技术也能完善后期对软件功能的补充,达到更理想化的使用效果。目前常用的主流技术包括AJAX,该种开发技术能在基层中形成稳定的运行使用体系,通过技术方法来实现控制功能,发现在技术中存在一些不稳定的情况,此时需要通过技术完善来进一步提升系统的参数检测效率。通过这种技术方法来避免实用效果受到严重的影响。其次是模拟技术的运用,软件开发以及使用都存在很大的不适应性,其中比较明显的一项是使用功能方面存在很大的不足,短时间内这一功能很难快速的完善。

 

3.2 系统架构设计

 

基于云平台的系统技术架构可以分为云端和客户端两部分,其框架层次两端有所不同。在云端,可以分为四个层次,由高层到低层依次是应用层、应用支撑层、数据管理层、网络服务层。应用层提供功能模块的应用;应用支撑层为系统提供技术支撑;数据管理层由元数据、基础数据、业务数据和决策数据构成,实现数据的分类存储;网络服务层则是云平台作为一个网站所必须具备的功能。系统构架设计关系到最终功能实现,因此要得到高度重视。

第4篇:软件设计开发研究范文

目前,高职软件开发类专业的人才培养目标大多设定为满足程序员等类似岗位的职业需求上。要求学生能够掌握相关开发工具以及开发语言的使用,能够参与到相关项目的开发工作当中。但随着软件系统的业务需求越来越多样、系统规模越来越庞大、应用环境越来越复杂,软件系统的开发无论是在技术上、结构上以及工具上对开发人员都有了更高的要求。从而导致了教学效果差,教学目标难以实现等问题。另一方面从学校走出来的学生又不能满足企业需求。

为了能够更好地满足社会需求,大多数高职院校的软件类专业都开展了课程建设和改革,在技术及实践类课程中采用了项目化教学等方式方法。在培养学生专业技能的基础上,更注重培养他们分析问题及解决问题的能力本文由http://收集整理、团队协作能力、沟通能力等职业素质。在项目化课程中教学项目承载着知识技能以及职业素养的培养,因此,能否合理地设计教学项目在很大程度上会影响项目化教学的效果。目前,高职院校软件类专业相关课程的教学项目都具备一定的实用性背景,能覆盖课程相关的主要知识技能,能较好地培养学生的实践能力。但是在学生工程能力的培养、开发内容以及工具使用上还与实际开发和企业的工程项目需求有较大的差异。学生在完成相关课程的学习后还难以马上投入到实际工作中。

cdio工程教育模式作为近年来国际工程教育改革的最新成果已被越来越多的本科及高职院校的工科类专业借鉴和采用。cdio将学生的培养目标分成基础知识、个人能力、人际团队能力和工程系统能力四个层面,在培养学生基础理论和专业知识的同时,更是通过贴近现实的工程场景来培养学生的综合能力。wWW.133229.CoM工程能力作为cdio中的一个重要内容,对学生的培养起着关键作用。对刚刚踏入社会的高校毕业生而言,他能够融入实际工程中的能力显然比他所具备的专业技能的深度更为实际。因此,如何融入cdio的理念以及如何培养学生的工程能力,是软件开发类课程教学项目设计的关键问题。

一、注重增强学生的工程体验

软件开发是一项对语言技术和逻辑思维有一定要求的工作,也是一项需要通过长时间的实践积累才能逐步提高的工作。但是很多高职院校的软件技术类专业中的一种开发技术的课程最多也只能安排到两门课,一般为120个左右的课时。这样的时间对于学生掌握一种开发技术而言显然是不够的。目前,很多院校课程的教学还是侧重于技术的培养,总是力求在有限的时间内将更多的技术传授给学生,将教学项目设计的过于实用,功能复杂规模庞大。但是这种做法对我们高职的学生而言,收效甚微。

因此,在课程教学项目的设计上不要过分追求项目的功能丰富层度和覆盖的知识技能面。应将关键点设定为整个项目的开发流程和实现过程上。重点是让学生通过该教学项目的实施,能够了解到软件项目的实际开发流程,以及在开发过程中每一步要做的工作,并能够在实践学习的过程中掌握一定的知识技能。在教学项目中尽可能设置一些沟通交流的环节,让同学们在模拟真实环境的同时能够培养沟通交流的能力。从而通过工程体验的增强来提高学生的工程能力。

二、突出培养学生的核心能力

高职软件开发类专业学生的培养目标不是技术精英,而是能干技术活的开发人员。要想在有限的时间里面既培养学生的工程能力又培养学生的知识技能,就需要对知识技能进行优化,梳理出其中核心的部分,并作为教学和训练的重点。在实际设计时可以通过如下的几个步骤来进行:(1)对区域内主要软件应用进行汇总分类,了解学生毕业在区域就业后可能从事开发或运营的软件项目类型;(2)对这些项目进行归纳分析,总结出它们中类同的、通用的功能模块以及所对应的知识技能;(3)梳理这些功能模块,并将它们转化成需要进行教学的核心内容。

第5篇:软件设计开发研究范文

从某些方面看来,软件工程开发的本质就是从高层概念发展到底层概念,在一定程度上进行高级处理的软件编写。而大型软件的系统开发,过程比较复杂,通常受到进度、成本、有关人员与实用技术等方面的制约,因此,一般把软件工程定义为软件工程通常应用的工程主要原理、方法与技术,然后按照开发进度与预算,更好的满足使用者关于软件产品维护、定义、与开发方面相关的要求。此外,软件技术设计程序设计模式、语言、系统的平台与开发软件的工具等,在初始时期瀑布开发模式一直到后期螺旋方式迭代的开发,以及发展到现在软件敏捷开发的方法,基本都展示不同时代软件在开发过程中不同的认识。不少学者相继总结出开发软件的许多方法与步骤,例如数据库总体规划模型、瀑布型与原型模型。但是软件工程学并不代表彻底解除软件危机。在现代社会高度发展与软件工业不断进步的背景下,大多数大型、复杂软件开发工程,因为软件开发项目理论性过强,实施方式还存在局限性,造成诸多软件危机。新时代涌现不少新方法与新思想,例如:人工智能、CASE新型软件开发模型与软件再用等,使新时代的软件工程不断发展与进步,给软件的工程学奠定坚实的基础,软件工程从根本上发生质的改变,也就是软件生产标准化、软件的生产社会化与软件生产自动化。

2软件工程的发展历程

关于软件工程的发展历程一般有四个过程:二十世纪六十年代末,逐渐关注程序的结构,随后产生结构化程序设计的想法,并正式提出软件工程和软件工程的想法这一名词;二十世纪七十年代人们慢慢关注软件工程开发,逐渐探索设计方式和结构化研究,设计软件程序的方式分析已经成为单独分析的范围,其中数据也作为核心的数据抽象概念被提出,慢慢产生软件工具;二十世纪八十年代,程序设计的方法学渐渐被软件开发的方法学所取代,软件工程的环境与辅助的软件工程成为研究热点,逐渐流行面向对象的技术与方法;二十世纪九十年代面向对象的技术与方法成为主要开发软件的技术,探究软件过程变成热门首要的任务,改善企业软件成为重点,构建软件技术和软件复用也被看成唯一可以将软件危机彻底清除的有效方法。

3关于软件工程应用的实施

3.1制定开发计划

进行软件开发前,需要根据具体情况做出项目开发的有关目标,同时制定科学合理的研发计划,这样才可以有效规避软件开发中的被动与盲目局面。一般情况下,在软件开发计划制定过程中,还要充分考虑相关法律条规与社会规范等,软件开发过程必须严谨与周密。才能够让软件工程开发技术获取一定成效。

3.2分析定义与需求

需要认真分析同时定义软件项目开发过程中相关的一些需求,使用者与软件项目开发研究人员共同探讨一些需要满足的需求,还要对相关软件进行准确描述,并编写相关系统功能与软件具体需求的说明书,再提交给上级管理机构实施评审。

3.3设计软件

对于软件工程来说,其核心就是软件的设计,也就是及时把使用者需要转换成实际开发软件策略。而设计软件主要由详细设计与总体设计两个部分共同组成,其中总体设计一般按照用户需求实际数据进行设计,然后使用设计结构相关技术,将软件设计模块准确导出。另外,详细设计一般是通过自然语言、表格与图形等方面工具来设计,根据设计模块具体准则详细描述每一个软件的模块,例如:较高的内聚性、合并与分解及较低的耦合性,同时模块接口、作用与控制的范围都必须根据步骤来设计。

3.4编写程序

将用户要求变成计算机可以接受的样式,编写每一个版块的程序,并写成以特定设计程序语言来表示源程序的清单,一般能够自然编写的软件程序结构会比较好,这类程序清晰易读,方便用户使用。

3.5测试软件

软件质量真正得以保证一种重要方式就是软件的测试,也就是在软件测试设计实例应用基础上准确检验软件的每个部分,通常是使用白盒法、黑盒法,黑盒法通常是按照程序物理性质测试各个功能实际达标情况,而白盒法则是按照程序逻辑设计结构测试相关目标。但是两种方法都需要实行人工、目标与系统等的测试,再根据规定每一项要求,准确实施有效测试,更好的决定软件开发达标程度与真正落实使用情况。

3.6运行和维护软件

已经真正投入使用后的交付软件基本进入运行的阶段,此阶段一般持续时间较长,因此需要不断修改、诊断软件运行时的一些问题,其中包含预防性、完善性方面的维护,而且维护重要性普遍提高,加之本阶段是工程软件设计的最后阶段,更是最重要的一个阶段,因此需要高度重视。

4软件研究

通常关于软件研究内容一般包含以下几个部分:首先,需要研究模型和本质,也就是软件结构模型与组成元素,其给软件中良好结构的性能及有效运行过程提供了有效前提;其次,对于部分软件性质比较特殊的模型,可以研究一些先进开发的技术,在一定程度上提升软件系统的开发质量和效果;最后,需要研究特定领域中的软件,或是部分特别的应用软件。关于研究软件技术具体内容通常包含软件工程与软件语言两部分。其中软件语言也就是软件中书写的语言,其主要由功能级与需求级、实现级语言三部分共同组成,且不同语言的处理方式也存在差异性,其中软件工程就是分析利用数学理论与计算机的科学来实施软件开发。具体是把开发软件方式当做研究内容软件的具体方法,把软件生命的周期用来研究软件内容的工程,并把研发自动化的软件作为CASE内容中的环境与工具,这样可以更好地为各种使用的系统开发奠定基础。

5软件工程的发展趋势

近几年来计算机网络应用随处可见,网络也给人们提供众多的资源,因此当下软件研究重点就是整合网络资源,让资源可以有效的服务于使用者。同时网络的特点包含异构性、分布性与开放性,而这些特点传统软件显然比较缺乏,这就使软件工程发展出现新问题,也就需要软件工程使用新方式解决这个问题,而具备代表性的技术就是研究中间技术。由于网络普遍化,使软件环境渐渐转向动态与开放,为使软件系统适应这种发展的方向,就出现了柔性与多目标形态。这就给软件研究创造了新机遇,使研究人员可以研究出和网络动态、开放环境相适应的新技术,这样今后网络技术就可以全方面满足新时期人们的需求。

6结语

第6篇:软件设计开发研究范文

关键词:面向Agent软件工程;基于Agent系统;Agent理论;技术

1概念

面向Agent软件工程,其工作原理是将Agent看作为模型的构成条件,同时围绕对应的基本条件有条不紊的开展与系统相关的系列活动,被认为是目前技术性较强的软件开发模型。不管是软件系统还是应用系统,它的内部构成都包括多个Agent,Agent表现出来的特点主要有自发性、反应性、社会性和自主性,属于行为自控的行为实体。Agent与Agent之间表现出来的结构关系较为复杂,其作用是由高层相互交换来实现的,在这样的前提下达到系统设计的预期目标。面向Agent软件工程针对系统研发来讲,不仅为其构建了系统平台,同时还完成了理论的提供和技术环境的提供。它主要通过系统的模块分解,数据建模和抽象理论完成系统数据的阐述和管理,达到了系统设计的基本要求和目标,这样更可以促进系统难度的提升和灵活性的增加,在此基础上还增加了维护性特点和重用性特点。面向Agent软件工程包括的基本思想与定义在理论论与软件工程整体规划处于同一个轨道线。以往的数十年间,软件工程始终在探索一套能够促进其研发能力的系统,而这个系统基本特点要体现出来自然抽象和功能强大,在科学管理的前提下帮助系统建模工程的完成和技术改进。面向Agent软件工程侧重反映出来软件的抽象特点和研发技术水平。

2研究现状分析

(1)技术方面。面向Agent的需求工程不仅融合了Agent同时还融合了Agent系统定义自身携带的特性,这些特性为系统的建模及研究创造了研发条件。相关领域的分析涉及到的学科不仅有认知学,同时还兼具有社会与组织两个学科。常见的研究内容涉及到的框架是i3框架、ALBERT、Tropos、NFR、RoMAS等。最近一段时期以来,研究者找到了大量面向Agent的建模语言其目的是为Agent系统描述提供支持,为系统描述等工作提供帮助,常见工作内容包括AgentUML,AML,MAS2ML,OrgS,CAMLE等。因为软件Agent具备的特性和内部构造模块的其他特点,面向Agent软件引起研究者关注的侧重点是其应用部分。通过使用面向Agent的软件的工作形式,面向Agent软件开发出现了形式多样的与其相对应的系统模型,所以前提是技术手段必须具备只有这样才可以达到系统规定的精益求精的要求。(2)管理方面。当前通过使用面向Agent软件工程进行项目研发的成果较少,人们对来Agent软件工程内在需求知之尚少,同时也不了解该软件在实用过程中具体要求是什么,所以未深入开展相关的探索。(3)工具方面。处于工具状态下的面向Agent软件表现出来的状态较为灵活。一直到现在应用领域和研究领域推向市场的Agent的CASE工具有数十种之多,在此基础上可以为面向Agent软件工程各个研究环节创造更多的研发条件。

2.1面向Agent的开发方法

基于Agent以及其他相关概念、借助于面向Agent的软件开发思想对系统进行工程化开发的方法学是面向Agent的开发方法,包括面向MicrosoftAgent的分析方法、面向Agent的设计方法。它提供了相应的建模语言以及结构化和良定义的过程对基于Agent系统(包含应用系统以及软件系统)进行全方位的分析、描述与建模,支持软件寿命使用中软件设计和需求分析(从大众化需求的分析)两个过程的软件开发工作。到现在人们已经提出了近百种面向Agent的开发方法,并且陆陆续续有新的方法出现。大部分方法是通用的,不限定实现技术平台和应用领域;小部分方法是专用的,专门针对某个平台、特定的应用和某个实现技术。按照现有方法所需求的差异性和主要技术背景,可以将所有的面向Agent设计方法和软件分析分为以下三个方面。实际上基于Agent系统进行分析和设计的方法是以各种技术手段集成在一起来进行的。(1)基于对象技术。该类别的方法依靠于面向某种软件开发方法,通过将Ag-ent视为一种特殊的对象建模语言(尤其是UML)的扩充以及用现有面向对象软件开发方法来支持对基于Agent系统进行分析、建模和设计。(2)基于知识工程。对基于Agent系统进行建模、分析和设计的进行依靠于知识工程(如人工智能、认知科学等)领域的逻辑概念、思想和技术。一种常用的方法是将Agent视为由各种认知部件所组成的意向系统,比如信念、目标、意图等。代表性工作包括Tropos,DESIRE,MAS2CommonKADS,Styx,AAII等。(3)基于组织思想。这种办法的思想基础就是社会学和组织学,并且用这两门学科中不具体的定义来叙述描绘基于,在此前提下再对其进行分析和建模,这些抽象的定义包括社会角色、社会组织以及组织成员共同遵守的规则、需要承担的责任等等。该办法的典型性工作有Gaia,AALAADIN,Ro2MAS等。①几乎所有的建模方式对软件开发都有着很大的影响,主要是对开发的过程和程度协助,但是因为不同的建模方式运用的定义和语言都是不同的,所以这种帮助的程度也不会一样。对于基于Agent系统来说,每种建模方式都具有独特的理解认识。②如果用户面对的是Agent的开发方法,那么就很难全面详细的掌握所有方法的优劣、之间存在的不同以及适合使用的场所等等。从而导致根据特点确定合适的开发形式的难度大大增加。③虽然每一种形式都有优势,但是几乎没有一种形式能集中所有的优势,有优势的同时,也必然存在着一定的劣势。④软件开发者之间和软件开发者和用户之间要想随时实现即时有效的沟通很难,因为虽然大部分面向Agent的开发方法都差不多,可是其实质还具有很大的差异。根据以上论述可知,形成一个保准统一、具有很大优势,还能被所有相关人员认可的方式,将是整个学术范围和工业范围内的努力方向。当然,这也是一个巨大的挑战,因为这必须要把各个面向Agent的开发方法进行对比研究,集中所有的有点,去掉所有的缺点。

2.2面向Agent的程序设计

面向Agent的程序设计实质上是一种新型的程序设计模型,它的基础是Agent软件系统的开发,基本编程是Agent,而设计的目标就是Agent的运行单元。程序语言对于面向Agent的程序设计来说,是最重要的也是必不可少的一项工作。程序语言是程序员对编程改写目标系统软件的基础。目前来看,相关人员已经研究出了几十种能帮助面向Agent的程序设计的程序语言。通过分析这些语言技术层面上的不同,的一个必要的、同时也是最基本的工具就是该程序设计的语言。程序设计员可以通过它对目标软件系统进行编程和改写。到现在,人们总共提出了数十种。依据这些语言技术层面的差异性,可以大致对其进行如下分类:面向Agent的程序设计语言笼统的分为以下几类别。(1)以LISP技术为基础。这种程序语言以运用了LISP的语法形式而得名,它就是采用和LISP语法形式差不多的句子对Agent的组成部分进行表达,也包括对Agent系统的行为或者系统之间互相交流沟通。运用这种理论系统比较严谨的语法系统来进行编程和改写,对于提高Agent系统的功能性有很大的帮助。运用LISP的语法形式的工作分类有Shoham开发的AGENT20、还有Thomas开发的PLACA、以及Davies和Edwards提出的AG-ENT2K1。(2)基于逻辑技术。逻辑系统包括一阶谓词逻辑以及时序逻辑等等,逻辑系统也可以作为Agent的程序设计语言来使用,在程序编写的时候,就用逻辑系统来对Agent系统的各种方式以及内部组成里进行表述和定义,例如相关知识、意图和信念、原子动作和规则等都可以用逻辑技术来表述定义。逻辑技术的理论系统和语义定义都相当严谨。因此运用了逻辑技术的Agent系统可以作为定理证明器来使用,Agent系统的工作过程也可以看做是一个证明定理的过程。它的典型代表有由Fisher提出的并发METATEM、由Giacomo和Lesperance等人提出的CON-GOLOG、由Hindriks等人提出的3APL等等。(3)基于对象技术。此项面向Agent程序设计的语言是在对拓展原来程序语言的基础上,运用了面向对象的软件开发技术和软部件技术而形成的一种Agent系统程序语言。它属于在语言级上对Ag-ent系统程序语言提供支。通常情况下,这项技术都是把Agent系统当成一个特有的对象,用Agent内部功能的预定义软部件来编程和实现Agent系统,它的前提是使用的软部件必须是一组已经封装的特殊类。运用这种技术,可以利用预编译生成由面向对象程序设计语言(如Java)所描述的程序代码了,也可以把用户编程直接表述成能运行的代码,并且实现其在目标平台上运行的目的。最终生成能够运行的目标代码,还要用面向对象程序设计语言编译器对其进行编译。到2000年为止,面向Agent系统程序语言方面的研究经历了一个由活跃到沉寂的过程,影响研究现状的主要因素就是技术问题。到最近几年,这方面的研究又再次掀起热潮,因为人们已经清楚程序语言的设计是软件开发顺利进行的重要保证,而且是不可或缺的一环。Agent系统系统本身功能性和实用性的提高,也必须要建立在程序语言的不断更新换代上。到目前为止,相关人员研究制定出的Agent系统程序语言,通常都有下面几个特征:①原型化。程序语言本身就是已经固化的知识系统,实用性小。②研究性。程序语言并不能为人类工业化具体服务,只是用来检验一些理论是否正确可行。③非商业性。程序语言语言目前的开发系统环境都有待改善,其可行程度和简便程度方面的指标还不高。

2.3面向Agent的CASE工具和环境

我们把帮助软件开发者更加快速有家高效的完成Agent系统的一组软件,称作面向Agent的CASE工具和环境。它能够有效支持Agent系统在原有的定义和技术的基础上,对Agent系统进行开发,比如它可以为开发提供需求分析、软件设计、系统实现和验证等等。最近几年年,有关这项技术的研究逐渐升温,到现在为止,学术范围和工业范围已经公布了数十种面向Agent的CASE工具和环境,而且其种类还正呈现不断增多的趋势。虽然其种类繁多,特点也各有不同,可是总体来看AgentCASE工具和环境可以分成下面这几类:(1)开发包和可重用库。开发包与可重用库的使用在很大程度上节约了软件开发成本。对于Agent软件开发也是一样。对于当下主流的软件开发技术,如针对于软件语言开发类的Java、C++等。其可以通过软件开发包和可重用库如JATLite,MicrosoftAgent实现二次开发。实现创建Agent的软件系统(包括Agent类、Agent接口)的软件重塑,从而集成可用的软部件系统。(2)体系结构框架。面向Agent的体系结构框架随着计算机软件的发展是非常普遍的,而针对于CASE工具环境的结构数目也是非常多的(如OpenAgentArchitecture,JAFMAS等)这类工具框架的主要作用就是构建软件运行机制,实现内部体系的运作,构建快速通道Agent。(3)开发工具集。开发工具集工作环境通常只有独立一个,这样是为了后期处理系统的完整性和统一性。主要代表有AgentBuilder,Zeus等,其主要价值是用以支持软件开发人员对目标软件系统进行分析、设计、实现、部署和测试等。(4)基础设施和平台。基础设施和平台主要是为面向Agent的CASE工具和环境提供服务,主要包括通信服务、安全服务、目录服务、移动服务等在类的基础服务,目前在我国主要流行的面向Agent的CASE工具和环境主要有Voyager,ADE,Grasshopper等。综上所述,在对面向Agent的CASE工具和环境的理论研究方面我们取得了长远的立足,但是就使用价值和使用情况来说,还是一个未知数。因此我们就要避免当下基于Agent系统开发过程中存在的诸多问题和不足。例如①人机交互的困难;②对象混乱,没有实现一对一的使用模式;③缺乏明确的方法论支持;④市场通用价值。

3问题和挑战

面向Agent软件工程远未成熟,离工业化、大规模的应用尚有很大的差距,还不能为广大软件开发人员所接受,尤其是要成为一种主流的软件工程化开发技术还面临着一系列挑战性的问题。

3.1基础理论

人们很早以前就认识Agent理论的重要性并于1963年开始萌发了Agent理论研究的研究思想,但是知道20世纪90年代年后人们才真正意义上上的重视起来并着手开始研究。自从人们认识到Agent理论的重要性以后,大量的科研人员不断对其进行研究,无论是Agent的理论还是具体的实际应用人们丝毫不放过任何可以进行研究利用的方面。鉴于整个软件系统的质量的好坏受Agent的性能的影响,在我们实际通信中就要按不同的要求设计出高性能和高品质的软件系统。对于用户的不同要求的用户安装不同大小和功能的系统。因此,对于Agent理论的基础理论研究必须掌握得非常牢靠才行。早期人们研究的这个Agent理论模型对原理进行了合理详细的解释,它主要的基本理论基础就是他把微带辐射单元看成了一个在水平方向上不会产生变化的线状的BDI逻辑和模型,而在长度的方向上,电场进行的时余弦变化。我们这样就可以把他看做是拥有两个开路端的原型化语言AGENT20及其解释器。对于这个等效的解释器,我们可以把贴片表示为,且他们做的是相同方向的激励并且都是向地面上方的半空进行辐射的缝隙。不仅如此,科学家还给出了进行这个简单计算的计算公式,这个公式不需要进行大量的数据采集和计算,只适用于工程上的计算,但是只能够运用意图理论和自主计算理论这两种类型。基础理论的研究对于面向Agent软件工程而言是极为重要,他们将为面向Agent的工程实践技术以及工具的研究与发展提供理论指导并奠定扎实的理论基础。

3.2关键技术

(1)软件开发方式。通常情况,软件开发方式主要是语言建模与过程开发的有机融合的过程。针对建模语言来说,如果技术标准进一步统一,那么我们可以完善对应的针对Agent的建模语言。这要在语言表达能力与语言简洁性之间做出考量,包含形式化以及半形式化的语言表义基础,展露多视角、多非具体方面的思维,给予适当的语言设备以表示在Agent系统基础上的特性,比如自然抽象和封装这两方面,可以在维持繁琐Agent系统基础上进行效果性显著的建模。针对建模过程来说,必须给予明确的释义过程以维持针对Agent系统的软件开发项目。特别是因为在软件开发中常常会出现非同一抽象层次、非同一视角的该系统模式,但是众多系统模式从内在逻辑上讲是不可分割的,所以必须给予科学的技术援助以维持模式的转化,必须针对模式间是否一致做出抽查测试。(2)软件体系结构和设计模式。当前,我们对在Agent系统基础上的软件模式层次探讨还不够深入。一些针对Agent系统的软件开发方式与Agent类系统的技术方式的具体实施是通过基础模板来实现的。如果用对象类和对象来比喻Agent类和Agent的话,那么对象类是Agent类,对象是Agent。可以这样说,在Agent系统软件模板和Agent基础之上的两者关系不但是实际比例关系,还可以包括动态绑定之间的关联性,来切实显露Agent的相关特性、展现Agent技术优点和适应非静态、非封闭系统研发的需求。除此之外,我们更要通过其他科学方法以探讨、设计规划与阐释在Agent系统基础上的软件整体层次,还要凝练和总结出各式各样的设计规划模板。我们在探讨设计规划模板和软件重新的时候,必须要立足于Agent软件开发建设产业,这样的广泛运是十分重要的。(3)程序设计思想和语言。目前,针对Agent系统设计开发的语言难以满足用户的需求,为数不多的受众是理论界的学者和研究员。同时,使用针对Agent程序设计开发的语言系统在消费市场上并不多见,远远跟不上C++与Java的使用程度,它还是不成熟的技术,因而吸引不了许多软件工作者的青睐,也无法打入软件工程的广阔发展空间。我们对Agent系统设计开发的探讨还不够深入,现在无论是理论界和生产中还没有出现针对Agent程序设计开发理念的系统,以控制Agent设计语言开发和编写结果软件系统进的程序。一些系统设计语言的开发是根据人工智能专家的理念产生的。虽然该语言在具体使用功能上可以稍微适应针对Agent程序设计的需求,然而针对系统自身的简易实用性没有注入很多精力进行研究。针对这方面的理论和实践探究需要尽可能吸收自主研发的Agent执行机制和该系统的整体层次的相关经验。

4结论和进一步研究

针对Agent的软件设计开发展现了和现在不同的主要采用的技术思想方法。将此用在维持繁琐系统的工程设计研发上,既是软件开发技术的全新尝试和典型模式,同时也为网格、普适计算与语义Web等相关研究给予了良好的范例。所以,这几年理论界与其他科学界十分青睐针对Agent软件工程的研究工作。有的人断言,这是一次全新的工业技术革命。针对Agent软件工程设计研发的理论研究,Agent软件工程不是一个独立的研究分支,其主要贯穿了其他学科的很多知识。在技术手段上融合了当下研究最为热门的学科。例如社会经济学、组织行为学、认知科学等。使得Agent软件工程复杂的运算系统得到了简易处理。随着学科之间的联系更加广泛,Agent软件工程也显示出了自己的学科价值优势。比如,在虚拟计算机研究领域,就利用到了Agent的概念和思想。其起到的作用将更加将计算机的分布资源实现按需整合。这极大的将面向Agent软件工程的应用价值推向市场化。一方面,计算机等计算与Agent软件工程的有机融合将会拓宽Agent软件工程的应用领域;除此之外,计算之间的搭接显露了Agent软件工程的应用缺口和使用价值定向。使得今后的Agent软件工程研究更加趋于方向化,目标研究。这将会使得为面向Agent软件工程走向大规模、工业化应用提供广阔的应用背景。

参考文献:

[1]潘卫华,潘卫红,孙淑琪.移动Agent技术在分布式数据库系统中的应用[J].华北电力大学学报,2003(1).

[2]尹章才.一种新的编程方法——面向Agent的程序设计[J].信息技术,2002(3).

[3]王昱,周成平,丁明跃.基于多的网络图像下载模型的设计研究[J].华中科技大学学报(自然科学版),2002(1).

[4]何卫平,蔡鸿明,秦忠宝,李冰.面向工业造型设计的产品设计定位方法研究[J].计算机工程与应用,2002(4).

[5]党辰,王嘉祯,王素贞.基于组件的移动Agent平台设计与实现[J].计算机工程与设计,2009(3).

[6]周文军,刘斌.面向Agent技术[J].微处理机,2009(1).

[7]赵少东.面向对象与面向Agent的比较[J].现代计算机,2005(11).

[8]刘霞,吕翠丽,赵鑫.Agent软件技术应用实例[J].中国校外教育,2012(9).

[9]潘卫红.移动Agent技术及其在分布式系统中的应用研究[D].华北电力大学,2002.

[10]张宇晴.Agent在分布环境中的工程应用[D].华北电力大学(河北).2004.

[11]黄达安.基于MobileAgent的K-WebService系统的设计与实现[D].暨南大学,2006.

[12]於蓓蓓.溪洛渡水电站场内交通系统层次多系统及其决策问题的研究[D].天津大学,2006.

[13]高雅田.基于Agent的油井作业施工总结智能分析系统研究[D].大庆石油学院,2007.

[14]朱莉丽.基于移动Agent的分布式电子商务框架研究[D].武汉理工大学,2008.

第7篇:软件设计开发研究范文

关键词:软件工程;Agent技术;软件质量

据我国相关部门调查得知,在2014年我国软件以及信息服务行业一年内创造了近4万亿的利润,同去年相比增长了20%,但是在软件出口方面却呈现出增长速度降低的趋势。这些数据能够说明,我国软件工程的核心竞争力明显不足,所以我国应加大软件工程研究力度,不断发展、创新技术,才能够在竞争激烈的国内外市场中站稳脚跟。

1.软件工程

软件工程这个词汇首先在1960年被提出,那时研究人员只是将软件工程理解为构建计算机程序的技术,能够使计算机在一定条件下快速完成工作。早期的计算机发展速度较为缓慢,人们对软件工程缺乏重视,所以导致软件工程发展速度较为缓慢,但是随着计算机技术的高速发展,软件行业发展潜力巨大,并且其管理技术成为一个专门的学科。软件工程的重要组成部分是技术和管理,所以不断研究管理工程和技术工程才能够延长软件的生命周期,使软件工程更具活力,创造更多的价值,更好服务于社会和人民群众,满足各阶层人们的需求。

2.Agent技术概述及面临的问题和挑战

2.1Agent技术概述

Agent技术是在传统计算机技术发展停滞的情况下产生的。在1980年之后,我国社会各领域进入高速发展阶段,人们的生活质量不断提升,各种信息分布存在,Agent技术应运而生。1990年之后,Agent技术已取得一定的成就,理论不断完善,应用范围越发广泛。较多软件公司纷纷引入Agent技术。Agent技术能够在特定的环境下自主工作,能够控制计算机软件程序,也就是所谓的智能化。Agent技术能够在遇到问题时,第一时间分析问题,让工作人员能够明白问题产生的原因,然后顺利解决问题。Agent技术采取一种动态分析的方式分析问题,能够分析清楚复杂的问题,减少企业在工作过程中遇到的麻烦。随着Agent技术的发展,逐渐实现发现问题并解决问题的功能,并朝着更加实用化的方向发展,涉及的领域也越发广泛。

2.2面临的问题和挑战

基于Agent技术的软件工程发展一直受到关注,并取得了较多的研究成果,但是这种新型软件开发技术依然存在较多的问题。这些问题给业界人员带来了巨大挑战,主流软件工程领域并没有全面接受Agent技术,也没有在工业领域大规模应用,所以只有解决这些问题才能够使Agent技术得到广泛应用。

2.2.1忽略软件工程关注点

软件工程开发较为关注成本、质量、效率,这些因素是决定软件能否开发成功的关键。比如,在进行软件工程系统分析、设计时,应应用继承、封装等技术,才能够提升软件的开发质量和效率。现阶段人们对基于Agent的软件工程认识不深入,所取得的技术成果也只是在某些特殊环节,忽视了Agent软件技术应注意的较多因素[1]。在这种情况下,Agent技术实用性较差,使工程研究人员对Agent技术的认可度下降。

2.2.2没有统一的软件

Agent模型Agent软件工程中的Agent模型应具有多样化特点。较为典型的软件中应包括反应式和BDI。但是这种多样化Agent软件一般会存在三方面问题,第一是不能够明确理解Agent软件模型;第二是当设计特定软件时,不知道该使用什么样的模型;第三是不同的Agent软件模型相互操作较为困难。所以没有简洁、统一、有效的软件Agent模型阻碍Agent技术在工业领域中的广泛应用。

2.3高、低层之间存在问题

在软件开发时一般需经分析、设计、实现以及测试环节才能够完整开发出软件[2]。在软件开发过程中,需要通过分析、设计、实现、测试后采用统一的概念和抽象来保障各个环节正常衔接。现阶段,在基于Agent进行软件开发时,在设计阶段和分析阶段各个环节往往不能够通过统一抽象的方式实现,各层方法与底层实现模型出现一定的脱节情况,最终还需要工作人员转换才能完成。大多数软件设计方法在分析和设计阶段都是基于社会学思想进行设计和分析的,并以此建立高层模型。没有深入研究通过哪种方式能够将高层模型转换为底层BDI模型,导致根据这些方案基于Agent进行软件开发时出现较多困难。

3.Agent软件工程问题应对措施

通过上述分析可以发现,基于Agent的软件工程依旧存在较多问题,只有逐步解决这些问题才能够使Agent技术得到更多人的认可,才能够被应用到更多领域。要想让基于Agent的软件工程在支持和研发复杂系统开发方面发挥更大的作用,就必须研究其中的关键环节。

3.1完善程序设计的各个环节

程序设计一般包括理论、方法、语言、工具四个部分[3]。Agent程序设计使基于Agent的软件工程发展陷入瓶颈,只有解决程序问题,基于Agent的软件工程才能进入全新的发展阶段。在Agent程序设计方法方面,需要对特定的Agent程序设计进行研究,从而能够为Agent程序程序构造提供高质量的技术指导。比如,通过哪种组织模块能够实现重用,并能够提升软件系统的维护性。在Agent程序设计语言方面,应研究Agent程序设计语言设施。在进行Agent程序设计时不能只是单纯设计语法、语义,还要研究语言应用和分析以及设计方法,使语言表达具简捷和实用。所以,要关注组织程序设计和目标程序设计。在程序设计的支撑工具和环境方面,需要开发和提供E-clipse这种集集成性、开放性、可靠性、有效性为一体的设计支撑工具和环境。

3.2验证和确认

质量是衡量一个软件是否合格的重要标准,而质量也一直是基于Agent的软件工程较为薄弱之处[4]。所以应加大软件质量研究力度,完善验证和确认技术,保障软件的最终质量。在测试Agent软件时,应针对Agent规约、设计和软件测试技术方面,解决环境开放性、Agent自主性以及适应性问题,问题解决之后再进行测试,为Agent技术工程化提供技术支持。在Agent模型检测方面,首先应分析Agent技术特点,然后有针对性地研发每种检验技术。

3.3解决系统复杂问题

一项技术能否长久存在取决于能否解决技术出现的各种问题。多年以来,Agent技术一直被研究人员定义为潜力巨大的技术,但是经过多年的发展却始终没有发挥出理想的作用。比如,许多Agent软件方法或者建模语言都无法支持任何环境下的动态活动。所以,在未来研究过程中基于Agent的软件工程应着重研究以下几个方面。环境方面,环境是构建系统中较为重要的元素。对于一些较为复杂的系统来说尤为重要。所以,应针对开放环境的特征,深入研究环境建模、表示、分析、感知、系统和环境环境交互,使这几个环节能够与Agent技术相结合。适应性方面,由于环境具有动态性特点,并且具有不可控的特性,所以根据系统的复杂性原则应建立能够适应环境的系统。自主软件Agent在适应性系统开发方面具有较大优势,自主性也就是能够自主调节的特征,所以,要分析系统复杂的特点,提高Agent软件工程技术适应性,使开发出的软件能够在各种复杂的条件下正常运行。

3.4集成与借鉴

软件工程已在我国发展四十余年,通过大量的实践研究总结出了较多的普适性原则、策略以及经验。比如,在模块化、高内聚、低耦合、重用、模型方面都取得了较大的成果。但是,如果想让基于Agent的软件工程在工业领域中发挥更大的作用,就需要借鉴其他软件工程取得的成果,研究其方法和技术,才能够不断完善Agent软件工程技术。所以,未来在研究基于Agent的软件工程时应加大Agent软件重用、面向Agent软件设计模式、多Agent系统软件结构模式以及Agent模型转换模式等方面的研究力度,促使基于Agent的软件工程发展越来越好。

4.结语

基于Agent的软件工程应用研究已有十几年,在这期间基于Agent的软件工程取得了不错的成绩,在方法学、建模语言、支撑工具方面都获得了不错的进展,但是系统功能依旧没有发挥出理想的作用,使基于Agent的软件工程发展陷入瓶颈,具有较大的局限性,所以在未来的发展中应反思开发过程中存在的问题,然后一一解决这些问题,以发挥出基于Agent的软件工程的作用。

参考文献

[1]王文新,吴敏.浅析基于Agent的复杂系统的船舶货运软件工程的发展[J].电子测试,2014(5):130-131.

[2]李丽.基于AUML的面向Agent网络考试系统的建模方案研究[J].信息与电脑(理论版),2013(9):77-78.

第8篇:软件设计开发研究范文

1.1系统工程方法的概述

系统工程方法作为现代科学决策方法,主要将相关问题及情况分门别类,确定边界,侧重各门类之间内在联系,确保处理方法的完整性,采用全面和运动的观点、方法分析主要问题及整个过程。其具有综合性、科学性、实践性等特点。利用系统工程理论指导软件开发和维护,主要使用工程化概念、原理、技术及方法开展软件开发、维护的工作。当前,软件开发方式主要存在三种方式:自顶向下的结构化方法;基本要素为对象、类、继承等的面向对象方法;简单的形式化方法。采用系统工程方法是用系统的原理、方法研究系统的对象,立足整体系统,制作出科学的工作计划及流程,有效地完成任务。

1.2系统工程方法的基本内容

系统工程方法依从系统全局观点,从系统与要素、系统与环境之间相互联系、相互作用出发研究相关对象,实现最佳处理问题的目标。其基本内容有:全面调查研究有关资料和数据,提取有效信息,系统了解相关问题信息,进一步确定完成任务所需条件;提出相关方案,展开定性和定量的理论分析,进而进行实验研究,客观评价系统技术性能、经济指标,注重社会效果,为最终方案在理论和实践上做铺垫;经由系统分析与综合,比较和鉴别出最优系统设计方案进行实施;依据系统设计方案,制定有效计划,将开发研究出的系统投入使用,并对系统的性能、工作状态及社会反应作出相关评价和检验。

2系统工程方法在计算机软件设计中的应用

2.1提出任务

计算机软件开发交办单位针对软件开发系统向开发人员提出要求,布置相关开发软件任务。在提出任务阶段,交办单位下达任务书,并与开发人员签订合同,同时,对项目有直接管理权限。开发人员需对任务书认真研究、分析其内容。

2.2论证和批准

开发人员对需开发的软件系统进行可行性研究,从而提出有效方案,后由专家学者做评审工作,并通过主管部门的批准,再进行系统的开发工作。这是软件系统开发的首要前提,需开发人员经过精心搜索有用信息做储备资源,调查市场行情,综合考虑经济可行性、技术可行性以及法律可行性等问题。

2.3需求分析

可通过网上调查问卷的形式,了解用户在软件系统方面的期望,从而对开发软件系统的功能、性能、运作速度、设计限制等进行总体分析,制作出严谨的规格说明书,以支持后续软件的开发进程。

2.4概要设计与详细设计

软件的概要设计与详细设计是软件开发的重中之重。软件概要设计依据上述准备工作,建立起目标系统软件的整体架构及总体结构与模块间的互相联系,设计完整的数据结构,从而定义各接口和控制接口。同时需要对相关部分进行审核。而软件的详细设计则是对概要设试,以便用户使用手册的编写及完善。

2.5成果鉴定与推广应用

最后,开发人员需将开发设计出的系统软件,在用户实际使用环境中试安装,并在责任时间里运行,在通过正式鉴定后交付用户,并提供指导用户使用与在用维护服务。同时,在用户使用阶段,开发人员需关注软件运行进程,并对软件系统进行维护。

3结束语

第9篇:软件设计开发研究范文

【关键词】电子计算机;自动控制;技术原理

随着我国社会生产信息化与自动化趋势的不断推进,电子计算机控制技术的应用得到了广泛应用。在这一情况下,做好计算机控制技术的基础理论研究,用于促进控制技术的有力发展,就成为了当前自动化控制技术与计算机实用技术研究者的重要研究内容。在这一研究中,技术人员以计算机控制系统组成、特点与设计技术为基础,结合新型控制技术的运行原理开展了控制技术原理研究,为计算机控制技术的发展与实用性提高提供理论研究支持。

1计算机控制技术概念分析

电子计算机控制技术的应用,来源于计算机技术的高速发展。技术研究者在研究中将这一技术定义为以下内容:计算机控制技术是以电子技术、自动控制技术、计算机应用技术为基础的自动化控制技术,其运行的核心为计算机控制技术。所以计算机控制技术,在实际运行中包括了综合可编程控制技术、单片机技术、计算机网络控制技术等多项技术内容。在自动化控制研究中,计算机控制技术的应用可以很好提高自动控制精密度与控制效率,降低控制管理成本。

2控制系统运行原理研究

在计算机控制系统包括了硬件系统和软件系统两个主要系统。自动控制过程即是通过两个控制系统的配合完成。下面我们分别就这两个系统的运行原理进行研究。

2.1硬件系统运行原理

计算机自动控制系统的作用是通过对控制数据信息分析,在通过数据信号完成自动控制的计算机及相关控制设备。在实践应用中,技术人员将其分为通用机系统与控制机系统,两个组成系统。通用机系统在运行中主要是按照软件程序,通过主机对控制数据进行计算、分析、存储以及控制命令的工作。而控制系统则是将通用机系统的命令,发送到控制设备中,完成对自动化系统的控制过程。所以在计算机控制硬件系统中,控制机系统实际上是通用机系统的外延系统,负责完成通用机系统的命令,同时将所控制设备产生的数据信息反馈到通用机系统,完成控制系统与被控制设备的数据交换过程。

2.2软件系统运行原理

如果将硬件系统比喻为控制系统的躯体与器官,软件系统则是计算机控制系统的神经系统,负责指挥计算机控制系统的正常运行。自动控制软件系统在实际运行中,包括了系统软件与应用软件两个组成部分。系统软件是计算机软件运行的基础,负责对应用软件提供支持,同时负责对系统自身运行提供帮助。如计算机各类操作系统、计算机运行的监控软件、语言与数据处理软件等,都是系统软件的组成部分。而应用软件则是通过程序运行,完成通用机与控制机系统发出的各项控制指令,完成对被控制设备的控制工作。

3计算机控制系统实践操作原理

在计算机控制系统运行中,硬件系统与软件系统的配合工作过程大体如下。

3.1控制系统设计

技术人员在计算机控制设置中,首先需要做好控制系统的设计工作。其主要工作内容包括以下程序。首先确定系统需要的控制任务说明书。在控制系统设计开始前,技术人员需要了解被控制设备的技术参数、运行原理,以及设备生产加工工艺流程、精度要求、设备运行需要实现的功能等各项技术指标。除此之外,技术人员还需要对设备运行环境、操作技术人员素质等外界因素进行信息统计、分析,制定出有效的控制设计任务说明书。这一过程是控制系统设计的基础工作,对于设计过程起到了有力的支持作用。

其次制定系统总体方案设计。在任务说明书基础上,技术人员即可对系统控制总体方案进行设计。方案设计的内容包括了以下内容。一是根据任务书内容,选择硬件与软件系统。根据任务书内容,技术人员在成本、技术指标等条件下,选择合理的计算机硬件主机、周边设备,以及系统软件与应用软件。其选择因素包括了系统控制质量与效率、系统整体造价与工时限制等几个主要因素。二是合理配置硬件与软件系统。在系统硬件与软件系统选择完成后,技术人员还应在方案设计中充分考虑硬件与软件系统是否匹配,合理配置计算机系统使其发挥出最佳效果。三是完成设计方案。在完成以上工作后,技术人员需要将控制系统总体方案落实在文件中。在设计方案文件中应包括硬件系统微处理器选择、计算机内外存储器容量选择、接口电路类型与连接方式、控制系统传感器类型、控制系统应用软件开发环境的配置以及硬件系统配置设计与调试工作内容等主要方案内容。

最后是完成控制系统应用软件设计。在硬件与软件总体设计方案基础上,技术以方案要求与控制工作实际过程出发,开始应用软件的设计工作。软件设计的内容包括了软件控制功能设置,以及控制功能运行的逻辑与时序关系。应用软件设计过程中,技术人员需要用软件流程图表述出来。再按照流程图内容,设计出应用相应的应用程序,搭建控制应用软件系统。

3.2控制系统主要方式简析

控制系统在设计完成后,即可进入控制管理阶段。在这一阶段,控制管理可以分为程序控制、反馈控制以及应急控制三个主要组成部分。程序控制主要是按照应用软件程序,由通用机系统向控制机系统命令,再由控制机系统控制被控制设备完成指令。反馈控制主要由被控制设备发出反馈信号,再由控制机与通用机系统进行分析,再根据分析结果做出控制指令。这种控制模式需要与监控系统配合进行。应急控制主要是在设备故障、自然灾害等突况下,控制系统采用的应急转换、手动控制等特殊的控制方式,是应对突发紧急情况下的控制措施。由于这种控制方式较为特殊,一般不会采用。

4结束语

计算机自动控制技术的核心在于系统设计与运行两个主要内容。为此技术人员以计算机控制技术系统组成为切入点,结合其设计与控制方式,开展了技术专项研究。为计算机控制技术水平的提高打下有力的基础。

参考文献

[1]于文新,楚书来.计算机控制技术在自动化生产线上的应用[J].煤炭技术,2013(08).