软件设计与开发范文

时间:2023-06-08 09:09:17

引言:寻求写作上的突破?我们特意为您精选了12篇软件设计与开发范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。

软件设计与开发

篇1

软件是相对硬件而言的,它是计算机系统中一系列按照特定顺序组织起来的计算机数据和指令的集合。教育软件则是指根据教学目标设计的,表现特定教学内容,反映一定教学策略的计算机教学程序。[5]幼儿教育软件毫无疑问是教育软件中的一种类型,是在一定的学习理论指导下,为幼儿提供的涉及教育内容、教育活动或学习工具的应用软件。[6]它的服务对象是幼儿与幼儿园教师,它的应用目的是借助计算机功能以支持和促进幼儿的学习与发展。在学前教育领域,幼儿教育软件按照幼儿学习的特点可以大致分为两类:一类是以行为主义学习理论为指导的“训练一练习”型软件(DrillandPracticeSoftware);另一类是以建构主义学习理论为指导的“发展适宜性”软件(DevelopmentallyAp¬propriateSoftware)。[7]前者强调对幼儿学习与行为反应的强化,比较适用于幼儿园封闭式、事实性问题的教与学,如常见的图形与色彩辨识软件等;后者则强调为幼儿提供丰富的探索、操作、解决问题的情境,让幼儿在软件环境与学习互动中实现对新知识与技能的意义建构,比较适用于幼儿园开放性、生成性问题的教与学,如IBM公司研发的Edmark益智软件等。但无论哪种类型的幼儿教育软件,它们都应具备以下三点属性:第一,软件属性,即软件的构成、设计与开发流程、技术规范等符合一般性软件的特征;第二,教育属性,即符合幼儿认知与发展规律,体现一定的幼儿教育原则与方法,尤其是那些与幼儿园五大领域课程相配套的教育软件;第三,思想属性,即承载的内容具有积极的教育意义,也就是说通过使用软件要能使幼儿在智力、情感、价值观等方面得到适宜的发展。二、幼儿教育软件设计开发原则

(一)发展适宜性原则

“发展适宜性”(Developmentallyappropriate),是1986年全教协会(NationalAssociationforE¬ducationofYoungChildren,简称“NAEYC”)为扭转国家教育改革造成的幼儿教育小学化倾向而提出的一种教育理念,它是全美乃至世界许多国家指导幼儿教育的一种立场或基本原则。在此原则中,发展的主体是“幼儿”,发展的标准是“适宜”,其核心理念可以概括为四个方面:一是幼儿教育软件应尽可能降低幼儿在操作软件时对成人指导的依赖;二是重视幼儿发展的规律、个性差异以及文化差异,包括幼儿生理、心理的特征,独特的个性与学习风格,不同的知识与技能基础以及社会背景等;]三是任何幼儿教育软件在“内容设计”与“技术实现”上都不是绝对的“适宜”或“不适宜”,而是处在二者之间的某一点上。幼儿教育软件设计与开发要尽可能靠近“适宜”的那一端;四是幼儿教育软件设计与开发策略是多元的、开放的和包容的。

(二)启蒙性原则

启蒙强调以幼儿为本,主张幼儿个性与自由的解放。9]幼儿教育软件资源是实施幼儿教育的重要材料,因此启蒙性原则也是幼儿教育软件设计与开发的重要指导原则。幼儿教育软件设计与开发应站在幼儿的立场,用幼儿已知的“类似性常识”来说明新知识和技能的原理。为此,幼儿教育软件在主题与内容选择上,_要广、博、浅,不宜偏、窄、深,体现对幼儿品德、智力、体育及审美的启蒙等;二要强调发生在幼儿身边的,为幼儿所熟知的、能理解的事或物。幼儿教育软件的内部结构与所体现的价值也不应以学科能力发展为目的,而应以诱导幼儿潜能的自然开启为目的。幼儿教育软件设计的出发点在于为幼儿打开通向某方面的窗口,但并不要求他(她)们走进去对此做很深入的探究。

(三)趣味性原则

3~6岁幼儿的注意力与耐心表现出明显的不足,如5~6岁幼儿注意力的稳定时间仅为7分钟左右,因此优秀的幼儿教育软件要能吸引幼儿沉浸于软件之中。常言道“兴趣是孩子最好的老师”,幼儿如若对某事物产生了浓厚的兴趣,他便会主动去认知、去探索、去实践,并在这一过程中产生愉快的情感与体验。趣味性原则在幼儿教育软件设计中的应用主要是寓教于乐。幼儿教育软件资源设计的各个环节与展开过程都要充满趣味与欢乐,以激发幼儿浓厚的兴趣,提高幼儿的积极性和求知欲,引导幼儿从软件或数字化资源中获取知识与技能。这要求软件设计者能贴近幼儿兴趣,选择幼儿生活中有趣的、喜闻乐见的事或物来替代那些抽象化的知识与道理。软件开发时,还要善于运用艺术审美的法则,通过精美的画面、美妙的音乐让幼儿在轻松愉快的氛围中接受良好的教育与启发。

(四)技术规范原则

技术规范原则包括技术标准规范、应用规范、操作控制规范等。技术标准规范指元数据的素材格式、开发技术、语言代码、传输接口等均有统一的标准,这是幼儿教育软件资源实现共享的前提,否则容易造成资源的重复建设与浪费。技术应用规范指资源开发不能为了技术而应用技术,而要让技术成为实现教育目的的适宜性手段,比如实际生活中北方的雪、动植物特征、火箭升空等场景,尽量采取实景拍摄,让幼儿有身临其境的感受,在幼儿心目中与真实事物越是接近的才越是最美的。对抽象的、理论化的故事与语言等,应运用形象的“动画”或“动画与模拟相结合”的技术手法实现。操作控制规范指幼儿软件的操作使用要简单、灵活、可靠。开发的课件、动画等内部系统结构清晰简洁,技术实现要通用、可靠,体现必要的交互而不觉繁杂。操作界面应尽可能采用寓意明确的按钮和图标,甚至考虑配以按钮与图标的发音等。

根据幼儿教育软件的内涵及设计与开发的原则,我们提出三种比较科学、适合的幼儿教育软件资源设计与开发模式,具体如下:

(一)移情式设计模式

移情是心理学术语,最早由德国心理学家利普斯(lips)提出。心理学界认为人的认识领域存在着“物”“自我”“他者的自我”三种心理成分。“物”一般需要通过知觉来理解“自我”需要通过内部知觉才能理解,而“他者的自我”则必须通过移情方式来理解。移情是一个人感受到他人的情感、知觉和思想的一种心理现象。运用移情模式设计与开发幼儿教育软件的核心理念是理解幼儿、基于幼儿发展、以幼儿为中心,其最关键的环节在于如何解决移情的问题。为了充分理解用户的体验,至少要关注以下三种数据:语言数据“说”,表达人们知道的和讲述的)、行为数据“做”,观察人们是怎么做的),以及情感和梦想的数据“想”,描述当前体验的非语言化的结构性方淘,三者之间的层级关系及体验模型如图1所示:

出色的幼儿教育软件应能准确了解幼儿使用软件中的状态及幼儿使用软件的体验。设计者要善于收集幼儿对该软件相关问题的描述性数据、观察幼儿操作与使用行为的数据以及想象幼儿所感知的使用体验数据。这些数据是开发以“幼儿为中心”软件的基础。幼儿教育软件的开发是根据幼儿发展需求创建出软件系统或软件部分的过程,一般包括前期策划、需求分析、资源设计、技术实现、测试与评价、应用推广等环节,下面从一般性软件的开发过程简要说明移情模式的应用。

如图2所示,移情设计在幼儿需求分析环节的主要任务是掌握幼儿信息化学习特征。幼儿教育软件的受用对象是幼儿,移情分析时既要选取那些经常使用信息化软件的幼儿,又要选择一部分未来将使用信息化软件的幼儿以及具有某些特殊需要的幼儿群体,后两类幼儿的参与能提供更加有效的软件设计灵感。根据移情设计模型,常用移情策略有:通过记录分析幼儿的表述和思考,获取幼儿明确的或可观察的体验;通过幼儿在日常活动中操作、使用软件的行为,获得幼儿可直接观察到的体验或操作使用行为所暗示的体验;分析幼儿使用信息化软件的“所想”(知道、感觉、梦想),深度发掘幼儿对信息化软件的认知与情感体验。通过这一系列过程,我们将详细了解幼儿对教育软件资源的“他我体验”,这是移情设计的重要数据。那么,接下来的主要任务就是通过幼儿的移情分析,设计信息化软件的模块划分、组织结构、层次结构、逻辑调用关系等。在幼儿教育软件开发的测试与评价环节,还将再次运用移情分析策略进一步完善幼儿软件的设计等。

移情设计需要特别强调的是关于“想”的数据获取策略,主要操作工具有“情感工具”和“认知工具”两种,前者如可视化的建构技术等,后者如心理地图等。通过上述分析,使用移情设计指导幼儿教育软件设计与开发的关键是:科学选择幼儿群体、正确使用移情策略与工具、怡当地融移情分析数据于软件设计之中。

(二)启发式设计模式

“启发式设计”与“启发式教学”二者内涵不同、应用领域也不相同,但却具有相同的指导思想。启发式教学源远流长,在中国两千年前就有《学记》“不愤不启,不悱不发”的记载,西方古希腊学者苏格拉底约在公元前400年也提出过“产婆术教学法”,即今天的启发式教学。启发式教学更多的时候被我们看作是一种教学指导策略。[1“启者开其意,发者达其辞”,启发的基本内涵是根据学习者的实际,采用一定的情境手段,引导学习者积极主动学习的一种策略。在工程学界,启发还是一套数字化软件或资源的设计开发规则。运用启发式规则开发幼儿教育资源的重点包括两个方面:幼儿软件内容在组织上的启发式教学设计、教育软件系统架构的启发式原则应用。

“启”是幼儿教育软件内容与结构的体现,》发”是幼儿使用软件过程中内心认知活动的体现,幼儿教育软件的设计与开发要赋予软件以“启”的基本属性和“发”的潜在特质。启发式设计模式以“幼儿”为中心选择软件的内容及呈现方式是要符合幼儿的年龄特征,二是内容选材要求简单、典型、直观形象且适合用画面语言表达。在软件内容素材的组织上应尽可能多地创设一些启发式的认知情境,常用手段主要有启发式问题、启发式讲授、启发式示范等。启发式问题是通过预先设计的一系列具有内在关联的提问,使幼儿的注意力集中在软件的某一问题上,从而调动幼儿学习与参与教学活动的积极性,促使幼儿自愿地去探究知识、操练技能。但在软件设计中,提问并不完全等同于启发,启发问题还要能创建出一定的情境认知空间,即提供幼儿充分想像与交互的可能。启发式讲授则是对幼儿园课程中的一些原理、方法、客观事物等内容,在讲授时采用形象化、艺术化的表达,如加强比喻、拟人、抒情、修辞的运用等。启发式示范主要对幼儿教育活动实施引导性操作。幼儿教育软件中的一些技能实践性教育,如剪纸、体操等,设计时要把握边示范、边讲解,正误操作相结合的策略。逼真的错误示范对于幼儿也能起到良好的启发作用。幼儿在使用软件时能通过对比、甄别,对正确的操作或运动形成更加深刻的印象。

启发式思想在计算机工程软件研发中也演绎出了一套自我发现能力或运用某种方式或方法去判定事物知识和技能的优化设计模式。它能优化软件的结构使其更加适合幼儿的思维,对幼儿教育软件设计与开发具有重要的指导价值。针对幼儿教育软件系统结构设计,具体要求:单个模块的规模要适中且相对独立。心理学研究表明单个模块最好控制在一页“纸或界面”内,超过这个范围就会降低幼儿可以理解的程度。模块若太小会导致软件的开销过大,进而增加接口的复杂性,降低软件的稳定性,因此要通过分解、合并手段降低模块间的耦合,如共有模块内容,可以单独设计成独立的模块;幼儿教育软件模块间的接口要尽可能简单,多设计单入、单出口的模块。确保软件模块的进入与退出方便容易,确保接口间的信息传递简单、高效,与模块功能相一致等;幼儿教育软件的系统架构、模块的扇入(多少个上级模块可以直接调用该模块)、扇出(一个模块可直接调用的模块数量、宽度(同一层级的模块数量、深度(软件的总层数)要适中,符合幼儿的认知能力。根据幼儿心智特点,笔者认为扇入、扇出以不超过3个为宜,宽度、深度以不超过5个为宜。启发式设计模式在幼儿教育软件的内容与结构设计开发上具有非常实用的指导价值。

(三)娱教式设计模式

娱教不同于“寓教”,娱教一词由国外翻译而来,英文为“Edutainment”,是“Education(教育)”和“Entertainment(娱乐)”两个词的组合。娱教技术是以尊重学习者当前的生活价值为基础,通过创建、使用与管理怡当的技术过程和资源以促进“学习者生活体验和乐趣”与“教育目的和手段”相融合的理论与实践。[13]在国内学者常把它理解为一种理念,以幼儿教育软件开发为例,娱教设计是在尊重幼儿生活的前提下,把幼儿生命的体验与乐趣转变为幼儿数字化资源内容与过程的统筹规划。

娱教模式设计与开发幼儿教育软件的核心要点:一是隐性的教育目标与内容。把幼儿的教育内容融合到幼儿游戏或活动中,让幼儿在使用软件或资源时,不知不觉地达到教育的目的;二是适宜的交互。没有交互就没有反馈效应(对结果的了解能强化学习者的投入与效率),幼儿就很难被设计的软件或资源所吸引。幼儿与软件资源的“对话”能增强幼儿活动的趣味性;三是引人入胜的界面。资源呈现界面要做到友好、美观、卡通及幼儿化,尽量吸引幼儿的注意。娱教模式设计与开发的关键环节:一是尊重幼儿的权利,把资源受用对象视为一个独立的、完整的人,选择幼儿喜欢的方式去表达软件内容,通常采用故事、操作、音乐、角色扮演、游戏等形式;二是努力构思创设富有乐趣的、人性化的软件或资源意境。软件设计前首先对幼儿进行心理特征分析,精心设计和挑选软件开发需要的素材,巧妙运用交互策略,合理安排内容组织结构及导航等。优美、好玩的界面足以激发幼儿的兴趣,进而达到娱教的目的;三是设计过程通盘考虑娱乐性与教育性的平衡问题,这也是娱教设计指导幼儿信息化软件设计的关键。对娱教类软件资源的设计与开发来说,若娱乐的成分过多,软件或资源的应用就会变成一次简单的娱乐行为,从而遗失教育的价值;倘若教育的目的性过于明确突出,又会降低幼儿的兴趣感,压抑幼儿的积极性。如何把握二者的比例,笔者认为对于幼儿教育软件而言,则是“三分教育,七分娱乐”,甚至娱乐的成分可以再高一些,这样才能更加契合幼儿园教育活动的特点一一游戏化。

以上三种模式是具有发展适宜性特色的幼儿教育软件设计与开发模式。需要指出的是模式的价值不在于为我们提供具体的操作步骤或临摹框架,而在于它能为我们提供思考问题的方式或视角。在幼儿软件设计与开发实践中,我们要深入领会模式背后的精神,依据具体需要,或重组、或调整、或删减地灵活运用。

教育教学软件的开发过程与一般意义上的软件开发过程略有差别,教育教学软件的开发过程具有典型的教学性,如突出教学设计、体现一定的学习方式等,其大致流程如图3所示,包括选择主题、教学设计、系统设计、稿本设计、软件制作、测试修正等六个环节,下面我们将就教育软件设计开发的主要环节,给幼儿教育软件开发提出一些具体建议。

   (一)幼儿教育软件的选题

幼儿教育软件设计与开发的第一步就是确定主题,也就是该软件要实现什么教育目标,达到什么样的效果。主题确定之后方能围绕主题展开相应的设计。幼儿教育软件主题主要来源于幼儿园培养目标,但一个简单的软件或软件的某一模块,其主题不宜太多,最好只针对某个方面。选题具体可以通过解读《幼儿园工作规程》《3~6岁儿童学习与发展指南》等,选择其中的培养点,如卫生习惯的培养、热爱家乡情感的培养等作为软件的主题。软件主题也可以依据幼儿园五大领域课程的教材内容来确定,对于幼儿园课程教材中的那些难以用语言和传统媒体表达的重点与难点,且宜用多媒体形式演示或分解的内容,可以作为较好的开发主题。

(二)幼儿教育软件中的教学设计

教学设计是用系统论的观点与方法,分析学习者特征,确定教学内容与教学目标,选择与设计媒体信息,建立教学内容知识结构,设计相应评价与总结的过程,具体包括“幼儿特征分析”“软件内容选定”“内容呈现方式选择”“教学内容逻辑结构组织”等工作。

幼儿特征分析包括智力因素分析和非智力因素分析两个方面。智力因素的相关特征涉及知识基础、认知能力和认知结构变量等;非智力因素的相关特征涉及幼儿的兴趣、动机、情感、意志和性格等。不同年龄的幼儿,其生理、心理的发展水平与接受能力差别很大,幼儿软件设计必须具体分析软件所适用的那个年龄阶段的幼儿生理与心理特征,因此作为软件设计与开发者,还必须对幼儿发展心理学有一定的了解,知道3~6岁幼儿在感知觉、学习(认知)、言语、智力、个性化及社会化等方面的发展规律,如4岁的幼儿不能区分同一色系中深浅不同的颜色,不能理解“前天”与“后天”的概念,也不能辨认菱形与平行四边形等图形。[16]

幼儿软件内容选择应重点考虑:一是关注幼儿生活。以发展适宜性为原则选取幼儿身边的人或事、幼儿能认知与理解的素材或事件,并对其进行适当加工与改编;二是关注中国经典传统文化,主要指中华文明传承下来的反映民族特质和风貌的文化,它是中华民族几千年的结晶,如儒家经典、唐诗宋词、民族戏剧、民谣曲赋等。它们对幼儿文明礼仪及道德习惯的培养具有重要意义;三是关注幼儿园办学特色。主要指幼儿园在长期发展中形成的某方面稳定的、独特的优势品质,如德育、美术、舞蹈等优势特色。该主题资源的信息化一方面有利于幼儿园知名度的提升,另一方面有利于优质信息化资源的共建共享;四是关注地方区域性特色文化。主要指某地区或幼儿园所在家乡特有的经典文化、传统文化、生活习俗等,如北京的京剧,广东的民谣,甘肃的皮影等。具有区域文化特色的软件资源既能宣传家乡美又能加深幼儿对家乡的认识,培养幼儿热爱家乡的情怀。

内容呈现策略主要采用情境创设策略和活动设计策略。情境创设主要为幼儿提供一个完整的、真实的生活背景,以此为支撑启动教学,引起幼儿的注意,调动幼儿的积极性。同时,支撑情境的表征与视听觉形式还要能促进幼儿在活动中与其他幼儿、教师之间的互动、交流及信息分享,从而促进幼儿的意义建构。幼儿园领域课程的内容通常是幼儿生活经验的总结与提炼,有效的学习还必须把它还原到幼儿近乎真实的生活情境中。幼儿软件活动设计应重点关注三个方面:一是活动的背景。描述活动的任务、规则、方式等;二是活动的组织。用具有吸引力的表征,为幼儿设置一个真实、富有挑战的任务;三是活动的操作空间。为幼儿完成活动提供一定的工具和引导等。

(三)幼儿教育软件的系统设计

软件系统设计包括超媒体结构设计、交互界面设计、导航策略设计等。幼儿软件系统框架以软件知识点之间的相互关系及活动环节的顺序为主。首先,由于幼儿思维的单维度性,软件的键出信息、从一个页面进入另一个页面、返回主页、结束与退出链接不宜太多。软件系统链接若过于复杂会使幼儿迷糊、厌烦,从而影响幼儿的判断与学习效果。一般情况下幼儿教育软件的结构要求:一是简明清晰,如上述扇入扇出不超过3个,宽度与深度不超过5个等;二是节奏适中、舒缓平和,重要的内容与故事情节可以多种形式重复展现。其次,软件交互功能的引入,为画面组接提供多种链接方式,使得—组画面可以有选择地与多组画面中的一组进行链接,17]让幼儿通过鼠标、键盘、触摸设备与软件方便快捷地实施互动交流。软件的交互形式主要有菜单、按钮、图标、热键、窗口、对话框等。按钮、图标交互方式相对而言比较适合幼儿的认知水平和习惯,是较为合适的选择。尽管实践中幼儿与软件的交互行为很少且难以控制,但交互的设计能起到使软件直观易懂、操作简单的作用。再次是关于幼儿软件的导航设计。导航是软件提供给幼儿及幼儿园教师快速找到学习目标的路径提示,常见有检索导航、帮助导航、线索导航、导航图导航、书签导航等。幼儿软件导航策略主张采用热区方式以形象化的图示放置于页面显眼的位置并配以该功能的语音,鼠标经过时发出相应声音。幼儿通过浏览、观察软件中的学习与活动信息网络结构图(通常为形象化的图标、按钮等},找到自己需要的信息。

(四)幼儿教育软件的稿本设计

幼儿教育软件的稿本设计主要是对幼儿软件中将要用到的文本、静止画面、运动画面等信息如何显示以及声音如何运用等进行细化说明。其中,文本内容显示的语法规则:幼儿教育软件素材一般很少使用文本或使用很小的文本等。™文本显示以观看清楚为原则,一方面合理选择字体、字号、行间距、字间距等,使之符合幼儿的视觉习惯,每屏字的区域不要超过整屏的60-70%。另一方面,合理选择色彩和明亮度,幼儿能识别的色彩有一定规律,色彩设计应巧妙利用反色与混色原理,避免颜色与背景的“顺色”现象,还要确保明亮级差在40~50级以上。

静止图像内容的语法规则:静止图像有图形与图像两种类型,它们的艺术性优劣体现在平面构成和色彩构成的好坏。平面构图主要把握匀称、比例、对称及均衡等规律的应用。匀称指均匀和谐分布;比例如黄金分割比例等;对称指结构空间等现状或重复出现;均衡指左右、上下、前后布局不等形而等量的情况,即双方虽然外形大小不同,但是视觉分量是对等的。在色彩运用上,色彩容量不宜超过五种,太多的色彩会增加幼儿的观看时间,引起幼儿的疲劳,夸张的色彩变化会让幼儿感到不真实,且不利于幼儿注意力的保持。

运动画面内容的语法规则:画面运动的方式有多种,如镜头的运动,机位的运动,电脑特技实现的运动,还包括蒙太奇组接手法的运动感,但无论哪一种运动都遵循一个基本规律,即有序、和谐且符合幼儿的视觉经验与心理观看顺序。此外,幼儿的注意力只有几分钟时间,建议运动画面尽量采用短小的视频录像、形象的动画,或者多种方式的组合共同表达一个主题。

声音内容的语法规则:软件声音包括解说、音乐、音效等。由于幼儿的识字水平有限,解说是很关键的要素。幼儿教育软件的解说速度要慢,每秒钟不得超过3个,最好使用儿童的语气或直接由儿童配音,可全文念读,也可字少念多。音乐主要用于烘托气氛、营造意境,起到重要的陪衬作用。虽然是陪衬元素,但也要做到:_要与主题基调一致;二要避免分散幼儿的注意力或让幼儿产生离题的遐想。音效主要由计算机或其他音频设备对需要的声音进行模拟,如关门声、动物的叫声等。音效应用既要做到真实细腻,又要符合幼儿的接受心理与听觉习惯,不能太过强烈与刺激。此外,音乐与音响在软件中建议尽量设计“控制音量”和“开关”按钮,以便在使用中更加人性化。

(五)幼儿教育软件的制作

幼儿教育软件的制作主要完成素材加工处理、软件编辑合成、软件测试打包等工作。它与其他类型软件的制作过程基本一致,这里不再分步详述,而仅从整体上给出制作的一些建议:

一是倡导多元合作的制作模式。多元合作有利于优势组合,形成合力。幼儿教育软件制作一般需要三类人员的参与:一是教育技术研究人员,主要完成素材加工、平台搭建、软件编辑、软件维护与调试等;二是学前教育研究人员,主要依据稿本审核软件内容及实施软件教学策略与方法等;三是一线幼儿教育人员,主要是幼儿园相关工作人员,他们能提供幼儿教育实践经验、幼儿心理特征描述、相关软件测试环境及软件试用与使用反馈等数据。

二是倡导幼儿直接参与软件制作。幼儿参与软件制作是软件发展适宜性的最好体现。20世纪70年代末,美国教授帕普特(SeymourPaperl)及其同事首次让儿童以测试者的身份加入Logo语言的设计,开创儿童参与软件设计的先河。-随后很多研究者分别对幼儿直接参与幼儿软件制作过程进行了尝试性探索。幼儿不仅能够参与软件制作,而且还能为软件制作带来意想不到的创意。幼儿参与软件制作能让软件反映幼儿的声音、展现幼儿的视角、注入幼儿的想法等。注意,幼儿参与制作与移情设计模式有一定区别,移情设计并不一定要求幼儿直接参与,通常由设计者采用移情策略获取幼儿的体验数据。

篇2

中图分类号:TP311.52 文献标志码:A 文章编号:1673-8454(2014)20-0073-02

从事学校心理健康教育,常遇到心理测评。对于个体测评而言,手工操作简单量表(SAS、SDS等)尚能应付,稍复杂的(SCL―90等)就感到烦与累了,16PF、MMPI等则望而生畏且准确性还难以保证;对于团体测评来说,手工几乎难以实现,市售软件价格较高,电脑移植不方便,查询分析不能满足个性需求。可否DIY网页呈现、即插即用、满足特殊需要的心理测评软件?本文将与同仁分享。

一、心理健康教育测评软件开发的一般方法

DIY心理健康教育测评软件可通过建立便携式数据库网站实现。[1]

1.前期准备

(1)知识准备。我们将要做的工作是建立一个数据库网站,事先应找到ASP和DreamWeaver两类书籍以备用。

(2)软件准备。建立网站(制作网页)需要相应软件作平台,这里主要是制作网页的软件(如DreamWeaver)和编译软件(如NetBox等)。

2.软件开发

心理健康教育测评软件(数据库网站)的一般开发过程如下:

(1)设计“主页”。主页有两大功能――测验与查询。测验就是启动量表让被试回答问题,查询则报告测评结果。用“超级链接”指向“问卷”网页实现测验功能;通过口令(设置密码)进入相应的“查询”网页。

(2)制作“问卷”网页。将测验量表制成网页,让测题呈现于电脑屏幕,前面再加上学生的基本信息。制作时答案分别处理,单选题用“单选按钮(radio)”,多选题用“复选框(checkbox)”,学生基本信息则根据情况选用“文本框(text)”等表单元素。学生基本信息、答案在网页上供被试输入或选择,在电脑后台分别对应相关变量。

(3)建立数据库。建立数据库存放测评信息,可用ACCESS或EXCEL新建一个数据库文件,一般应考虑学生基本信息(学号、姓名、性别、年龄、测验日期与时间等)、回答信息(被试选择的答案)、其它信息(检验是否重复提交)等,其数据结构(字段名称、类型、长度等)要与上步中答案变量相应(不是相同),以便建立数据联系。如果制作MMPI(至少399题)测验,许多非大型的数据库目前还无法突破255个字段,而EXCEL2007版不受此限。

(4)接收数据。建立一个专门网页,使用ADO数据访问技术访问数据库,再用SQL(主要是Insert语句)将被试回答的内容有序存入相应的数据表。此网页以后台运行为主,前台一般不向用户呈现信息(特殊情况提醒除外)。

(5)制作“查询”网页。查询网页是接受用户查询要求,并将其转换为相应查询命令的网页。前台供用户选择查询条件,后台则将其转为相应变量。此步的关键是将用户的查询条件(后台的相应变量)转换成SQL的SELECE语句。

(6)制作“测评结果”网页。根据量表测评规则(积分法、常模及解释等)和用户要求对数据进行统计和分析,以网页或打印的方式将测评结果展示给用户。结果展示方式多种多样,以数据呈现较容易,即将相应数据显示到网页上,但不够直观。而以图形方式则一目了然,如EXCEL,它能以图形(条形图、折线图、饼图等)直接呈现,也可采用相关软件(如VBChart、ASPChart等)辅助制作。查询内容一般有查询被试答案、查询分量和综合分析报告等。如“中小学生心理健康测验(MHT―CR)”可以数字表现分量,也可以折线图表现分量,报告可以批量,也可以个别;再如“大学生人格问卷(UPI)”结果分别以第一类、第二类和第三类报告被试信息;SCL―90结果既有曲线,也有数字,还有文字分析与建议。此步工作随用户需求难易程度差异较大。

制作网页时,凡是与数据相关(无论是存入还是查询)的网页,都要创建(如与之间)与数据库的连接,以便对数据库进行操作。

3.编译打包

网页运行要有支撑平台(浏览器),还须有引擎才能启动。网上有多种类型的引擎,各有特点。它们体积小,速度快,如绿三角AWS、绿四叶SERVICER(新生命专用)和红色字母b的Netbox。

源文件一般都是各自独立散布的,既不便于移植,更不利于产权保护。利用相关软件可以将它们编译成文件数量少、体积小且可以独立运行的文件。编译软件较多,如Netbox,国产软件,网上可下载,使用有说明。启动Netbox可以将所有网页(不含数据文件)编译成一个引擎文件(EXE文件,一般不足1M),配上相应的数据文件便可使用。编译后的软件置于U盘,即插即用,尤其适用于局域网,也可放在网站上。

二、心理健康教育测评软件专项功能开发

心理健康教育测评软件(数据库网站)可根据需要开发多种功能,举例如下。

1.建立心理档案

对于一些规模较大的学校(学生数千),可根据需要将相关心理量表(如“卡特尔人格特质(16PF)”等)做成问卷网页,收集学生的心理特征数据,建立心理档案数据库。为保证学生提交答卷的有效性,可(用JS语句)设置“限制与提醒”,对于每题必答测验,如有漏答题则不让提交答卷,并将光标自动移到该题处,让被试重新回答;如问题“与你童年一起生活的有:A.父亲;B.母亲;C.祖父;D.祖母……X.以上都不是”,有些能同时选择,而有些则不能。软件应自动查找矛盾回答,适时提醒被试选择或更正。

2.建立本体常模和心理健康统计学标准

许多著名心理量表因无适用常模而被束之高阁。具有一定规模的学校或区域可将某个测试群体(2000或3000以上)作为常模团体,通过标准化操作来收集数据,经过统计处理(平均值与标准差)得到常模,作为个体的参照常模。

心理健康统计学标准认为,健康心理是围绕某一群体的心理健康常模,在两个标准差(2S)范围内不断上下波动的相对平衡过程。[2] 有了本体常模,就可以用A(平均值)和S(标准差)表示健康心理的统计学标准:上限为A+2S,下限为A-2S。

3.用于个案(或同质群体)研究

以心理量表的某个或几个分量的界限值作为查询(SELECT语句 中WHERE子句)条件,提供相应个案(或同质群体),如将MHT―CR中的“对人焦虑”和“过敏倾向”分量作为条件查询个案(或同质群体)。

4.评估心理健康教育效果

将相应的心理量表制成网页问卷,收集相关数据,评估学生的心理健康教育效果。

5.预测(预警)危机

将适合学生的心理健康水平评估量表制作成网页,对学生进行普测,再以相应的标准设定界限,如前述的心理健康统计学标准,对数据进行分析、预测,并对超出正常范围的个体提出警示。

6.选择专业(高考志愿)、规划职业生涯

可用16PF对高考生作测验并分析,看看哪些专业适合,并预测大学学业成绩。也可用霍兰德(HOLLAND)职业兴趣测验,以供高考生作多种选择或职业生涯规划。[3]

7.评估睡眠状况

升学压力大,许多学生睡眠不足,特别是高中生,可以用匹兹堡睡眠质量指数(PSQI)编制相应网页,供学生自我评估睡眠质量。

三、注意事项

1.使用期限

软件成熟得有个过程,一般要经历试用与改进、使用与完善几个循环才相对“健壮”。因此,最好设个期限,到时自动失效,再更完善的软件。

2.适用范围

心理健康教育测评软件的针对性很强,应当明确它的适用范围,譬如MHT―CR是专门用来测评中小学生心理健康状况的,不可用作其它目的,更不可强行对学生进行测评。

四、结束语

DIY心理健康教育测评软件不难,只要肯在看书与上网两方面下功夫。看书――品尝“筵席”,上网――享用“快餐”。看书是学习系统理论,掌握一般方法,上网是学习前人(网友)如何解决千变万化的现实难题,二者相辅相成。想让心理健康教育测评得心应手,还是DIY吧! 参考文献:

篇3

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)36-0231-04

1 背景

PSD-BPA电力系统分析程序(以下简称“BPA程序”),是中国电力科学研究院在引进消化原版BPA程序代码后重新开发的一款电网仿真计算软件,具备电力系统潮流、稳定、短路电流、小扰动、无功优化、动态等值等计算分析功能,其新一代集成操作环境(PSDEdit平台)在文件操作、数据编辑、参数维护、结果分析、仿真计算等方面做了大量更新升级,使用更加便捷。

然而,BPA程序在实际使用过程中仍然存在一些不足,主要体现在计算数据与设备参数双向转换、设备典型参数管理、设备参数智能纠错、计算数据自由组合查询和数据修改批处理等方面,难以满足目前大电网仿真计算数据维护使用要求。

本文面向BPA软件平台,研究开发具有电网计算数据参数管理、数据查询和纠错检查等功能的智能辅助软件(以下简称“辅助软件”),以提高仿真数据处理效率,降低人工维护出错率,对提升电网规划设计工作水平有积极意义。

2 功能设计

BPA程序的数据以文本方式管理,数据格式定义十分严谨,设备信息和参数都隐含在数万行的文本数据中,难以归类、查询、统计和管理。结合上海电网规划仿真实际工作需要,本文开发的辅助软件主要功能为:1)数据双向处理功能;2)典型参数管理功能;3)数据智能纠错功能;4)自由组合查改功能;5)通用批处理功能;6)潮流调制辅助功能。开发过程中,为确保软件功能的实用性和先进性,开发人员与需求方需保持紧密联系,随时开展信息交互和意见反馈(图1)。

本文辅助软件是针对BPA格式计算文件的数据处理和电网设备的参数管理辅助工具,在专家干预基础上形成典型参数库,为规划数据搭建和参数校核纠错提供支撑,其数据处理流程图如图2所示。

3 软件开发

BPA智能辅助软件具备“数据双向处理、典型参数库管理、数据智能纠错、自由组合查询修改、通用批处理、潮流调整辅助处理”六大类使用功能。从软件开发角度看,具备“底层、中间层、用户层”三级架构(图3),自下而上形成BPA智能辅助软件面向用户的最终使用功能。

软件开发工具选用Visual Studio 2015,数据库开发选择ACCESS 2007,开发工具界面友好、与EXCEL等常用办公软件结合度高、开发周期短。本文结合BPA数据格式定义和实际电网仿真计算需求,开发完成六大类功能模块如下:

1)数据双向处理

目前BPA软件的数据以文本方式存放,电力系统的设备信息和参数都隐藏在数万行的文本数据中,且数据交叉存放的情况十分普遍,客观上造成计算数据中的设备信息难以统计和管理。本辅助软件可以读入BPA数据,识别各类型卡片及字段,提取参数纳入数据库和EXCEL表进行集中管理,且具备“提取参数”和“复原参数”双向导入导出功能,该功能模块流程图如图4。

2)典型参数库管理

本功能模块具备“提取参数”和“生成参数”功能,其中“提取参数”指从仿真计算数据中提取出各种型号的线路、变压器和发电机元件参数,经过专家干预处理,形成电网仿真计算的典型参数库;“生成参数”指从典型参数库中选配出型号、规模、来源均合适的元件模型参数,并同步生成所需要的仿真计算数据卡,该功能模块流程图如图5。

3)数据智能纠错

BPA平台中数据格式要求十分严格,人工维护数据极易出错。智能纠错功能可以扫描BPA潮流、稳定数据文件,自动校核数据格式和参数取值方面的错误,给出存疑数据推荐值,具备一键式纠错处理和逐条逐项处理等不同纠错处理模式,该功能模块流程图如图6。

4)自由组合查询修改

该功能可实现对BPA潮流、稳定数据的模糊查询、精确查询和按节点名查询,并且可以在查询结果中再次进行多轮精细化查询。对查询结果可以进行批处理修改操作,如指定字段的部分内容替换、指定位置的内容替换、指定字段的数值统计与调整,修改后的数据可导回原文件保存,该功能模块流程图如图7。

5)通用批处理

该功能可轻松实现节点负荷分配、机组类型设置、线路型号和线路额定电流填写、节点分区编码等大批量共性数据替换任务,该功能模块流程图如图8。

6)潮流调整辅助处理

特大型电网的潮流数据在调制潮流时,收敛性较差,人工手动逐点修改数据的工作效率太低。潮流调制辅助功能,可以根据分区信息筛选操作对象,批量调制发电机出力、负荷值、机端电压等关键设备参数,可有效提高大电网潮流调制的工作效率,该功能模块流程图如图9。

4 运行实例

本软件的“自由组合查改”功能模块,提供了“模糊查询”、“精确查询”和“按点名查询”三种查询模式(图10、图11),其中模糊查询模式可实现多轮次递进式查询,精确查询模式则可实现多达三组的组合条件约束查询,按节点名查询方式可实现特定查询需要。经检验,该功能模块可满足目前规划仿真计算时的所有数据查询需求,具有查询速度快、效率高,数据定位准确等特点,且具备查询结果批处理修改功能。

算例的具体操作步骤如下:

1)选择待处理BPA格式计算数据,潮流数据以“*.dat”为后缀,稳定数据以“*.swi”为后缀,必选项;

2)选择“模糊查询”按钮,填写查询关键字,如“南桥”,必选项。若选择“精确查询”按钮,可采取“AND”、“OR”策略,自由组合最多三组查询条件;

3)c击“刷新查询”按钮,第一次查询或重新查询使用,查询结果显示在右侧“查询处理结果”文本框区域中;

4)选择待处理数据卡片类型,如“B”,必选项;

5)选择批处理策略(共四种:“字段替换”、“字段全覆盖”、“字段数值调整”和“任意位置替换”),选择待处理字段名称,填写待处理字段的筛选阈值和目标值,必选项;

6)点击“执行按钮”,批处理结果即可在“查询处理结果”文本框区域更新显示,处理过程信息在“执行”按钮下方的文本框中显示;

7)点击“导回原文件”按钮,将所有处理结果全部导回到左侧的原文件中更新显示;

8)点击“另存为”或“保存”按钮,将所有处理结果保存到源文件中;

9)点击“调用计算程序”,可直接调用默认BPA主程序打开保存后的计算数据;

10)双击右侧“查询处理结果”文本框中任意一行数据,激活“参数校核”按钮,对选中数据行开展进一步参数校核处理;

1)选择待校核数据卡的典型参数筛选字段,如线路数据卡的“类别”、“线型”、“电压”和“来源”,必选项;

2)填写待校核阈值参数,如线路数据卡的“长度”参数,本软件可自动折算出所需典型参数数据,必选项;

3)勾选待替换字段,点击“替换”按钮,将本软件自动生成的典型参数替换到原始数据卡中;

4)点击“保存”按钮,将参数校核后的原始数据卡保存到查询结果文件中;

5)在查询主界面中,点击“更新”按钮,可将步骤“14”中保存的数据卡更新至“查询处理结果”区域,进一步点击“导回原文件”、“保存”或“另存为”按钮,可将参数校核结果数据导回并保存到BPA源文件中。

5 结束语

面向BPA的电网规划智能辅助软件,立足需求、积极创新,具备数据双向处理、典型参数管理、数据智能纠错、自由组合查改、通用批处理和潮流调制辅助等六大主体功能,已能满足电网规划仿真计算数据处理基本需求。经过大量的软件功能测试和电网规划仿真计算实际应用,全面检验了BPA智能辅助软件的先进性、可用性和可靠性。项目成果的应用,提高了仿真计算数据维护的工作效率,降低了数据处理出错概率,加快了潮流调制收敛的工作速度,具有较好的推广应用价值。

参考文献:

[1] 印永华, 卜广全, 汤涌, 等. PSD-BPA 软件新一代集成操作环境使用指南[M]. 北京: 中国电力科学研究院, 2015.

[2] 印永华, 卜广全, 汤涌, 等. PSD-PF潮流程序用户手册(V4.3)[M]. 北京: 中国电力科学研究院, 2015.

篇4

中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)05-1121-02

Design and Development of ERP Software Facing the Mid- and Small-scale Enterprise Based on 3-Tier Data Architecture

CHEN Yang, HU Cai-Ping

(Nanjing University of Aeronautics and Information Science and Technology Institute, Nanjing 210016, China)

Abstract: ERP is an core information system, which reallocates enterprise internal resources and increases the efficiency of enterprise work. It can effectively reduce production cost, shorten the stock and production cycle, improve product quality and customers satisfaction and realize the fast reaction to the market. For the never-ending changes and improvement of information technology,it is particularly important to research and develop the ERP system for s the Mid- and Small-scale Enterprise. This paper expounds the idea and methods to develop the ERP system Facing the Mid- and Small-scale Enterprise, which is under Windows environment, based on the .net platform, using C# and SQL Server 2005, using 3-Tier Data Architecture, combined with the merit of C/S and B/S.

Key words: ERP; C/S; B/S; .net; 3-Tier Data Architecture

ERP(Enterprise Resource Planning),也称企业资源计划系统,是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。ERP就是一个对企业资源进行有效共享与利用的系统。是一个以企业内部资源整合、提高企业运行效率为核心的信息系统,用来识别和规划企业资源,从而获取客户订单,完成加工和交付,最后得到客户付款,最终获得收入和利润。实际上,ERP系统就是将企业内部所有资源整合在一起,对采购、生产、成本、库存、销售、运输、财务、人力资源进行规划和优化,从而达到最佳资源组合,获取最高利润的行为。

一个企业的成功,在很大程度上取决于对变革的适应能力、反映能力和应变能力。企业要想保持健康快速地发展就必须,研究和把握产业的发展方向才能不断地撷取到盈利的先机。在这样的大环境下,很多企业都引入了新的管理思想和现代化管理手段来提高企业管理水平,从而在市场中取得竞争优势。而目前绝大多数企业普遍采用且最有效的方式就是实施ERP系统,本系统做为钢加行业的专业管理软件,能够有效地降低企业库存和生产成本、缩短产品生产周期、提高产品质量和客户满意度、减少企业呆帐并实现对市场的快速反应。

调查显示,目前企业ERP应用主要是财务管理、采购与销售、客户服务、日常办公、劳动人事、物流等方面,这些应用比例集中在38-44%之间。外部采购和销售运营分别占33.7%和31.0%;客户服务和物流配送分别占29.3%和28.2%;科技研发、生产工艺和计划决策比例在21%左右,营销宣传比例为15.6%。目前企业应用ERP系统的品牌认知度占第一的是ORACLE,占22.0%;其次是SAP,占到17.8%;我国的用友和金碟在国内也分别占有一定的市场份额;但有相当数量的企业选择了自主开发ERP系统。可见目前ERP企业提供的产品难以完全满足企业发展的需要,自主开发和进行二次开发依然占居了相当高的比例。

ERP的传统应用集中在大型企业,我国的ERP实施也是从大型企业开始。但是ERP作为一种先进的管理体系,不仅大型企业需要,中小型企业同样需要。一般来说,优秀的国外ERP软件会在许多方面都相对做得十分精深,但问题是首先价格居高不下,有时又过于严谨、和深度太高。目前市场上许多主流的ERP软件看似功能非常强大,业务流程要什么有什么,几乎涵盖了企业的所有业务,可是对于中小企业来说不实用,细节问题太多,真正用起来的时候操作复杂不说,操作流程不连贯、各模块之间接口不紧密、软件升级繁琐、客户端维护成本高昂等问题也是不可避免。

针对目前国内ERP行业及中小型企业实际运行现状,我们应当调整思路,开发出适合广大中小企业使用的ERP产品。而这个产品应当具备这样的一些特性:1) 紧密联系企业实际情况,化繁为简,方便企业的各部门员工高效地操作管理;2) 结合C/S与B/S的特点,开发出多种操作界面并存的管理系统,既方便在局域网内使用客户端进行操作,又可以通过浏览器的方式进行数据查询与管理;3) 软件升级方便,客户端维护简单,不需要大量的软硬件维护人员;4) 较为低廉的软件价格与方便的系统后期维护。

依据上述需要满足的条件,我们在设计产品时采用了如下的设计思路:

1 开发语言及环境选择

C#是一种精确、简单、类型安全、面向对象的语言,也是作为平台支持下一代Internet的可编程结构的代表性语言。同时具有健壮、安全、可移植性、多线程、组件模式等优点。由于同为微软公司推出,所以C#在Windows环境下可以说比其他语言具有更大的优势。SQL Server 2005是微软的新一代数据管理和分析解决方案,它将给企业级应用数据和分析程序带来更好的安全性、稳定性和可靠性,使得它们更易于创建、部署和管理。C# 与SQL Server 2005 捆绑紧密,都基于.net平台,整合度更好,没有兼容性的烦恼。

2 使用三层架构:界面层、逻辑层、数据层

从开发角度和应用角度来看,三层架构比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度上降低了开发的难度。三层架构属于瘦客户的模式,用户端只需一个较小的硬盘、较小的内存、较慢的CPU就可以获得不错的性能。三层架构的另一个优点在于可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级CPU有效。三层架构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。

3 数据存取使用存储过程

模块化的程序撰写:只需建立一次Stored Procedure,储存在数据库中,就可以让不同的程序呼叫。执行效率佳:如果需要大量或反复执行的数据处理,Stored Procedure的执行速度会比T-SQL程序代码的批处理快。因为 Stored Procedure 是在建立的时候进行剖析和最佳化,所以执行一次以后存在内存中。而程序代码则是每次执行时都要反复地从客户端传到服务器。 减少网络流量:即使是好几百行T-SQL程序代码的作业,也只要透过一个指令就可以执行Stored Procedure中的程序代码,而不必在网络上传送几百行程序代码。

设计后的客户端窗口如图1、图2所示。

客户端可以通过IE自动下载和升级,即便身在外地,也可以很方便的使用系统各项功能。如图3所示。

4 系统优点

基于以上设计方案,系统有以下优点:1) 系统伸缩性好,易于扩展,可以同时支持C/S和B/S 结构,以满足用户在不同环境的需求;2) 使用组件模式,方便针对不同厂家设计接口,达到高效交换数据的目的(需要提供技术资料);3) 升级维护灵活,在服务器端新版本,客户端运行时自动升级;4) 运行效率高,对分布式的用户硬件配置要求低,服务器配置稍好即可。

依据上述的系统研究方案,本系统定位于面向国内中小企业的ERP产品,在设计上,底层采用三层数据结构:即数据层、业务逻辑层、界面表示层。数据层用来管理和处理数据;业务逻辑层用来定义数据规格、实现常用功能;表示层用来和用户进行交互。使用的开发工具是微软的Visual Studio 2005集成开发工具,采用Microsoft C# 做为前台开发工具。三层数据架构做好之后,客户端上所涉及到的功能,其实已经在业务逻辑层上实现,后面不论是应用程序客户端还是浏览器的界面,我们只是需要调用这些设计好的功能。

在三层数据架构的基础上,主要的核心工作量已经在服务器上完成,面向客户的方式可以根据环境来选择,甚至可以同时做成两种方式,即面向用户的应用程序客户端和通过外网的浏览器方式兼而有之。如果在公司内部,对数据的安全性要求比较高的,那我们可以通过客户端来操作;但是对于相对比较简单的,比如说一般的查询,我们也可以提供浏览器的方式来实现。这样就方便了公司用户不论在内外环境都能对数据进行访问和操作的要求,同时兼顾了C/S的安全性及B/S的方便性这两项优点。

在系统功能设计上,对采购、生产、成本、库存、销售、运输、财务、人力资源等进行模块化管理,针对企业实际运作流程,优化系统结构,去除不必要的管理功能界面,预留接口,方便今后扩展。软件升级方便,登录系统后自动在后台实现更新。操作界面尽量简便,可实现多途径操作,方便用户使用。

网页上所需要实现的一些高级功能,通过JAVA Script或者VB Script脚本生成,或者利用ActiveX控件来实现。

这样的产品设计方案,系统将会对广大中小企业的采购、生产、成本、库存、销售、运输、财务、决策、人力资源等方面起到积极而有效的作用,本系统在各业务流程上有针对性的设计和改良,将使得企业管理人员在软件操作过程当中,不会出现操作流程不连贯、各模块之间接口不紧密、软件升级繁琐、客户端维护成本高昂等问题。C/S结构与B/S结构两种模式的混合运用,将更加贴近中小企业的实际应用情况,方便企业在实际操作流程中高效地运用本产品来管理企业,达到最佳的资源组合。

不同规模的企业的运营和管理的模式不同,灵活实施ERP,使ERP具有中国特色。这样中小企业同样可以利用现代化的管理手段,创造出更大的经济效益和更多的社会价值。

参考文献:

[1] 陈欣欣.ERP在我国企业的应用研究[J].商业经济与管理,2003(1):33-36.

篇5

使用C++语言进行跨平台的开发,目的是把应用程序的代码处理成能够在已有的平台下使用和能执行文件。但是在其他平台中,处理后的文件不可以被使用,特别在Windows与Unix平台下更不能使用。所以,要解决和处理这个缺陷,就要将源程序的代码翻译成在各个平台下都能使用的文件。通过几十年的发展和演变,C++语言基本上能够在所有的平台下进行工作,但是在不同平台下的编译也会不同,也造成了语言之间的不同。同样的,设计一个新产品就要对操作系统的函数进行使用和调用。因此,要避免这种区别就要在代码中使用条件选择编译、进行工程模式编译或可以使用预编译。各种平台使用的程序编译手段也是不一样的。要使在不同平台下进行程序编译时出现最小的差别就要手动对编译条件的设置控制或管理。使用脚本文件和环境变量,还可以使用第三方软件对代码进行动态编译,这样就能使跨平台开发的难度简化。

1 跨平台的概念

在软件开发中有个很重要的概念就是跨平台,跨平台和操作系统无关也与硬件环境不相关联。如果一个应用程序是在操作系统下开发和设计的,那把它放在其他操作系统中也能使用。随着软件工程的发展对跨平台开发的需求也在不断的增加,所以要开发出能够在各种各样的平台下都能使用的应用程序,就能为应用程序创造很大的市场份额。

2 跨平台的开发所需要的环境

软件编辑器、程序编译器和程序调试器是构成开发环境的三个组成部分。Sandbox是进行代码编译和调试的软件,其内部含有各种平台下需要的不同种类的依赖库和代码库。在程序的开发中它还含有各种源代码。它的配置对多元化的平台的要求也是很高的,通常讲,C/C++语言的软件开发和编译要在各个平台上能够使用,还要注意以下问题。

1)最终结果的质量:Sandbox中所选择的工具是否能够产生最好的代码。是否能够产生最简洁,最友好的配置文件以及在捕捉错误和调试时是否能够提供足够的支持。

2)Sandbox中含有的工具是否可以使应用程序与多元性的目标平台进行合理的整合。

3)创立的Sandbox是不是可以使管理更加的简单,即能否在不同的平台进行变换时出现最小差异的文件。

对跨平台开发来说实现抽象是很重要的一个因素,但是利用与平台相关的工具包也需要使用相适应的工具。这些开发工具往往并不是统一的,比如Linux上流行的GCC在Windows下的使用并不如VisualStudio.nct中的C++。要达到这个目的,就要把用抽象以及相关的设计使用新的开发手段进行开发,实现在不同的平台下都能进行编译。

3 C++语言的跨平台软件开发的设计

3.1 避免语言的扩展特性

不管我们依据哪一种形式的方法进行编程,一般要选择比较老的程序库或文件。比较老的程序库里面的一些原有程序和公式都是很规范的和标准的,不像现在的一些新的程序库一样比较的杂乱无章。有非常普遍出现的故障在跨平台上产生,有时在获得支持后,还是会出现没有定义精确的事故。跨平台开发是对异常灵敏度要求很高的,无限度的利用新特性,就会使软件很难排除异常情况。所以,在跨平台开发时要调用C++的标准函数模型,这样就会使已开发的软件和产品的稳定性更加强。

3.2 实现动态处理

在实际的开发过程中,每当编写一个旨在多种环境中运行的可移植代码库时,项目的开发就会不可避免的面临一个问题,即怎样处理在一个平台上有而在另外一个平台上没有的特性。

3.3 使用脚本文件进行管理

要达到使编写的程序代码简洁、易懂的目的,要使软件的结构更加的合理,这就要求先把与平台相关联的文件和数据库分割开来,再把在开发期间要用的脚本文件进行编译,再合理的分到各个部位。在使用应用程序时,要把配置文件里的配置选项调出来进行读取里面的程序。因此,当跨平台软件开发时,要使与平台相关联的文件全部进行分离,要利用特殊的手段来实现该功能。

3.4 使用安全的数据串行化

如何使用安全和可靠的对数据进行存储和加载是跨平台要解决的核心问题。利用软件的“fwrite”或“fread”指令可以对每个编译器和单一目标平台处理。若果是在跨平台的操作环境中,利用这种方法对数据进行存储和加载就不能做到平台间的独立性。如果要利用跨平台对数据存储到目标文件外,不同平台间是有差异的,这样也会引起结果的多样性。

3.5 跨平台开发中的编译与测试

当进行跨平台软件开发时会与修改和编写的很多代码有关联,相关联的代码会在很长的时期内不能在另外的平台检测,也会造成bug的潜藏时间增长。所以,要在多个不同的平台下进行测试,这样就能及时发现bug。

3.6 实现抽象

实现抽象是处理跨平台中应用程序能被移植难题的有效方式。通过这种方式我们就能不利用一般的结构体系而进行单独的软件开发,同时还能够使编出的程序更加的独立化和简洁化。当对跨平台进行开发时,会有非常多的函数要进行利用,但是开发时不用编译所有的函数,通常使用的方法是封装,这些就是实现抽象的过程。封装的方法并不是在任何情况下都是适用的,当遇到一些特殊的情况时,我们要使用其他的方式来进行程序的调用,我们提前可以将编写好的功能程序存放到程序空中,并以该功能命名,当我们使用该程序或公式的时候,可以直接调用该功能的程序,便可以实现该功能。不管选用哪一种方式无非是对任意接口函数与平台中的联系进行隐藏。

4 结束语

本文主要介绍了跨平台的定义和进行跨平台设计所需要的环境以及怎样进行跨平台设计。在进行跨平台设计的过程中我们结合了其他软件设计的一些思路和方法,经过大量的软件设计实践,得出了一套跨平台设计的方法和手段。与此同时我们还要在开发的软件中加入更多的功能和操作容积。对跨平台进行设计而言,经验是很重要的,经验越丰富的设计工程师设计的软件的功能会越好一些,没有经验的工程师,在首次设计时很难利用跨平台设计一个非常完美的应用软件。所以,本文介绍了跨平台软件设计的一些技术,希望可以为跨平台的开发的设计工程师提供一些帮助。

篇6

中图分类号:TP316文献标识码:A文章编号:1009-3044(2010)17-4707-02

The Design and Development of the Software and Hardware Based on SOPC Technology

WAN Ya-pin

(Department of Photo-electricity Equipment, the Academy of Equipment Command & Technology, Beijing 101416, China)

Abstract: With extensive application of soft nuclear SOPC technology, the embedded system design process is becoming flexible and efficient. With an example of Flash controller based on the Nios II, this paper introduces the hardware and software development process of SOPC system.

Key words: SOPC; Nios II IP core; Flash

SOPC(System On a Programmable Chip)[1]是指用可编程逻辑技术把整个系统放到一块硅片上,它是一种特殊的嵌入式系统。它一方面是片上系统(SOC),单个芯片完成整个系统的主要逻辑功能;同时还是可编程系统,具有灵活的设计方式,并具备软硬件在系统可编程功能。该技术将EDA、计算机设计、嵌入式系统、工业自动控制系统、DSP及数字通信系统等技术融为一体,结合了SOC和PLD、FPGA各自的优点,目前已经被广泛应用于许多领域。与基于ASIC的SOC相比,SOPC具有开发软件成本低、硬件实现风险低、产品上市率高、系统结构可重构及硬件可升级、高附加值、易学易用等优势。该技术最早是美国Altera公司提出的,目前Altera Quartus II设计软件的所有版本已包含了SOPC Builder这种系统级开发工具。有了SOPC Builder这个平台,可以自动集成系统组件,快速开发定制新方案,为已有方案添加新功能提高性能。通过该软件库中的组件可以快速地完成系统硬件的开发设计。同时库中还包含了一系列IP核(Intellectual Property Core),即知识产权核,用户可以通过调用这些预先定义并验证好的模块减轻开发负担,避免重复劳动。

2004年6月,Altera公司在全球范围内推出了支持Cyclone II 和Stratix II等新款FPGA系列器件的Nios II 嵌入式处理器。该处理器使用32位的指令集结构(ISA),完全与二进制码兼容。这是一种可配置的软核嵌入式处理器,与传统的硬核SOPC[2]或者固核[3]解决方案在外设、存储器接口、性能特性和成本方面都有明显优势。开发系统可提供三种处理器以及超过60个设备IP核由开发者自由选择,并且Nios II内核在FPGA中所占资源很少,用户甚至可以获得超过200DMIPS性能。在性能提升方面,它支持多CPU内核、多种FPGA系列、多处理器系统、硬件加速以及定制指令。

1 开发流程

基于Nios II的SOPC系统设计流程如图1所示,下面简要叙述开发流程。系统的顶层电路设计在Quartus II中完成,硬件和软件设计分别借助SOPC Builder和Nios II IDE工具。此过程都是在线可编程的,测试满足性能要求后将程序下载到外部存储器件后就完成了系统开发。

首先根据所设计系统的性能和经济要求选定FPGA器件,进行整体的方案设计和资源估计,接下来在Quartus II 中建立新工程,启动SOPC Builder进行Nios II嵌入式处理器的硬件设计,创建Nios II系统模块;然后回到Quartus II,将刚才创建的图标添加到工程的BDF文件中然后锁定管脚完成电路设计,再编译工程文件并下载,完成硬件设计过程。

用户在完成硬件设计的同时可以进行软件开发。一些算法或控制程序可以用C语言预先编写,在Nios II IDE环境中对软件进行编译和调试。在系统开发调试过程中可以将编写好的软件直接下载到开发板上运行,达到功能要求后下载存储于Flash中。

创建Nios II系统模块时,要在SOPC Builder的元件池中选择合适的CPU和器件。其中CPU有快速型、经济型和标准型三种可选内容,器件包括标准设备60余种,如UART、间隔时钟、并行I/O接口、SPI、DMA和SDRAM控制器、存储器接口、以太网接口、JTAG UART接口和用户逻辑接口等。如果这些标准的设备不能满足要求,用户可以自己创建设备并通过用户逻辑接口向导将其集成到系统中,形成用户定制设备。同时用户也可以自定义命令,这种用户定制指令虽然没有自定义外设速度提高幅度大,但是它灵活、简便,使设计者能够直接将定制逻辑集成到算术逻辑单元(ALU)中去,是处理算数运算和加速逻辑的有效途径。选定的系统模块后指定基地址,系统会自动分配默认的基地址,用户也可以根据要求更改这些默认值。进行系统设置然后生成模块。

2 Flash控制器

Flash是闪速存储器,和Sram、Sdram相比,Flash的读写操作比较慢,所以一般用来存储程序和需要掉电保存的数据,在系统启动后,由系统把程序从Flash中读出,然后写入Sram或Sdram中运行。由于不同厂家的Flash的擦写时序往往是不一样的,Nios只支持部分常用的Flash,对于不支持的Flash类型,只能由设计者自己完成自定义组件来驱动所选择的器件。但是,Nios支持CFI(Common Flash Interface,公共Flash接口)命令集,因此,只要选择了CFI接口的Flash,就可以获得支持。另外,Flash和Sram都挂在同一个Avalon三态总线桥上,因此它们可以共用一些引脚。

Flash可以被当作普通内存来访问,也可以使用系统提供的函数来访问。访问Flash有两种方式,一种是单一访问,读写的对象是整个Flash;另一种是细粒度访问,读写的对象是Flash内的块。

Nios II IDE软件提供flash programmer这种方便的Flash编程途径,通过这个编程器允许用户直接把程序或者数据写入Flash中。除了CFI Flash,此编程器还可以编程任何连接到FPGA上Altera公司的EPCS串行设置器件。

整个硬件设计过程先在Quartus II中建立工程,接着打开SOPC Builder选择CPU、UART和Flash等其它必要的外部接口以及存储元件,设置和分配好基地址后生成元件;然后回到Quartus II中的顶层电路,打开刚才生成的元件并配置和分配管脚完成电路设计,最后编译下载到电路板。

进行软件设计时打开Nios II IDE软件,建立新的软件工程,设置工程路径指向当前硬件设计系统,编写程序,编译、运行并调试,调试成功后,可将程序通过软件中的Flash Programmer工具下载到外部Flash。

如果需要更改,调试通过后可以重新进行硬件设计,此过程实现极为简单,更新过程自动化,突出体现了SOPC设计灵活高效的特性。

3 结束语

基于Nios II的串口通信设计过程分为软硬件两部分,借助了Altera公司的软件开发平成。SOPC技术利用IP库,可快速生成系统,开发周期短,灵活高效。

参考文献:

[1] 任爱琴.基于FPGA的嵌入式系统设计[M].西安:西安电子科技大学出版社,2004:181,192-198.

[2] 潘松.SOPC技术实用教程[M].北京:清华大学出版社,2005:1-3.

[3] .基于SOPC的嵌入式系统设计[J].仪器仪表用户,2008,2(15):59-61.

篇7

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)06-0091-02

软件开发通常需要在完成问题的定义和规划的基础上,经历需求分析、软件设计、编写代码和软件测试等四个阶段[1],其过程是一个复杂、甚至循环反复的过程。传统的开发方法通常需要在进行具体的开发之前确定用户的全部需求,然后据此制定一个跨越整个软件项目开发周期的详细计划,之后的开发过程均以此为依据。这种开发模式的优点是可以很好地保持整个软件设计的一致性,而缺点就是一旦情况发生改变,需要调整框架结构,这个详细的计划就有可能作废,导致产生大量的没有应用价值的复杂文档,无谓地提高了软件开发的成本和难度。为了规避上述这些传统的重型开发方法的弊端,近年来出现一种新的轻量级软件开发方法――敏捷开发方法,该方法是一种典型的轻型软件开发方法,它集众多轻型软件开发方法的优点,强调以人为本,突出“适应性”的特点[2],能够快速根据软件开发过程中的各种变化及时作出调整,最大限度降低软件开发的成本和风险。

本文在比较敏捷开发与传统开发方法的优缺点的基础上,分析了敏捷开发模式的核心思想和设计理念,结合具体项目探讨了基于敏捷开发模式的软件架构的设计方法,包括采用的设计技术、构建思路和执行规范等。

1 敏捷开发模式与传统开发方法的比较

敏捷开发是近来备受关注的软件开发方法,它是一种基于迭代思想的软件开发方式,以人为核心驱动整个软件开发流程的实施和推进,它是管理软件开发过程的一种新方法和新思路。在敏捷软件开发中,软件项目被划分成若干个子项目,通过多次迭代细化完成,每次迭代都有明确的目标并能快速交付可运行的软件[3]。敏捷开发侧重概念和软件架构的设计而简化软件的详细设计部分,为后期留下调整的空间。采用敏捷开发的软件项目时,其软件架构在初期的设计只是做到刚好满足需求即可,后期根据对于软件需求的理解和更新需求,采用重构技术逐步调整设计。敏捷开发由一组简单却相互依赖的实践步骤结合而形成的有机整体,突出了存在于“人”之间的关联,包括程序员之间的沟通、开发团队与客户之间的反馈,注重双方创新的勇气和软件系统的简单 [4]。通常从软件项目启动之初,就强调通过周期性的软件测试来获得需求反馈,程序员尽可能早地把软件初稿交给客户使用,并配合客户通过使用该软件发现其中的漏洞,进而对软件的初稿进行优化,同时及时应对客户对软件提出的新的需求。表1显示了敏捷开发模式与传统开发方法的区别和优势。

表1 敏捷开发模式与传统开发模式的比较

[开发阶段\&方法对比\&敏捷开发模式\&传统开发模式\&需求分析\&将用户需求进行分解,形成开发故事,通过迭代细化,增加新的用户故事\&开发初始阶段获取用户需求,制作详细的需求分析文档,该文档指导整个开发周期\&软件设计\&根据客户的当前需求进行设计,最简单的既是最好的,不过分构建,不做预先设计\&获得用户需求文档后,严格按照文档实施设计\&代码编写\&利用重构技术简化代码,编程人员与测试人员结对编写通过测试的代码,持续集成\&由编程人员编写,由测试人员对代码进行审核\&软件测试\&在编写代码之前先编写测试代码,自动化完成测试\&编码完成后单独进行各种测试\&]

从表1可以看出,敏捷开发对传统的软件开发的四个阶段都进行了相应的改进,模糊了“阶段”的概念,避免了传统软件开发方法的繁琐和死板,使其更加灵活,可以及时响应客户的最新需求动态调整开发过程和软件架构,将简单的、不多的开发步骤不断迭代细化、优化改进为用户最为满意的结果。

2 基于敏捷开发模式的软件架构设计

通过前面的分析,基于敏捷开发的架构设计包括三方面的核心要素:一是敏捷架构设计的整体思路;二是敏捷架构设计所采用的关键技术;三是设计和执行过程的规范化管理。

2.1 设计思路

敏捷开发的突出优势在于以快速的、增量式的开发方式,第一时间将可工作的软件交付客户手中,然后根据与客户的交流,反馈软件的使用情况,根据客户需求调整软件结构。它是一种始终以人为核心的,迭代升华、循序渐进的开发方法,这一思想贯穿敏捷软件开发的方方面面。对于软件架构的设计也遵循这一原则,图1显示了基于敏捷开发模式的软件架构设计过程。

从图1可以看出,敏捷型软件的开发过程也是软件功能逐渐完善,版本逐渐升级的过程。换句话说,敏捷开发中架构设计采用的是进化式的设计方法,即在软件开发的整个周期中,通过一次又一次的迭代细化来修改、完善和充实设计方案,使得架构获得最优化,最大限度满足客户对软件的需求。需要注意的是,采用进化式的软件架构方法应遵循三个原则:1)当前迭代架构的设计应当最大限度避免伤害已经实现的架构和功能;2)当前迭代架构的实际应当与邻域模型始终保持一致,避免邻域误解而造成开发成本的增加;3)架构设计要完整,架构模型的各个层次应当统一。

在敏捷开发中,每一次迭代的架构设计过程大概需要经过6个环节,首先根据用户的整体需求提取出当前迭代中的需求,然后进行邻域建模,随后根据该模型进行概念性架构设计,若此次设计符合客户需求,下一步进行软件架构的细化,之后是对该架构设计进行用户的验证,如果用户的需求发生变化,则重新进行第一阶段的需求分析。

2.2关键技术

敏捷开发中的关键技术有两个方面,一是重构技术,在敏捷开发中就是通过重构技术快速适应不断变化和频频变更的设计环境的。所谓重构,就是充分利用软件现有的功能,通过对整体架构和程序代码的局部调整,提高软件质量和性能,使软件架构的设计模式更加合理化,提高软件的延伸性。本质上说,重构就是在尽量保留软件现有功能的基础调整软件的内部结构,降低软件的升级成本。重构技术贯穿软件开发的整个过程,包括架构重构、设计重构、代码重构和业务重构等[5]。二是设计模式,在软件的重构过程中,通常使用设计模式来改进已有的设计。设计模式实际上是众多软件开发人员在开发过程总结出来的技巧和设计经验,可以反复借鉴。在敏捷开发中,代码重构阶段可以借助设计模式,使程序更加可靠和便于理解。敏捷开发中的设计模式如图2所示。

2.3 过程管理

根据敏捷开发的简单、沟通、反馈、勇气、快速交付可工作软件等基本原则,一个成功的敏捷架构需要开发团队相互合作共同完成以下四个步骤:第一,由产品负责人制定产品列表,并对列表中用户故事按照优先级进行排序,然后从中选择一组作为当前设计目标,罗列出其中的子任务;第二,由架构师制定初始架构,包括架构愿景的确立、架构样式的定位和设计模式的建立等;第三,架构师和团队增量维护架构,即在客户对于交付的产品有新的需求或者需求发生改变时,应及时给予响应,架构师应当与团队之间不断进行沟通,促进整个团队与整体架构的认识,通过重构的方式增量维护架构;第四,确定每次迭代架构增量内容,通过架构师和团队成员的沟通,获得对于架构的反馈意见,获得新增的架构内容。

一般来说,所有的建模都是在白板上完成的“足够”的建模,通过以上四个步骤,模型会随着每次迭代慢慢成长、逐步改进,最终完全符合用户的需求。

3 敏捷开发模式在“在线教学系统”项目软件架构中的应用

该在线教学系统是一个面向高职院校的中小型软件开发项目,由于项目的开发周期较短,用户需求不明确,因而该系统的客户需求极可能发生变化,此种情况下,采用简单快捷、适应能力强的轻型敏捷开发模式再合适不过。下面结合该项目的开发实际阐述敏捷软件开发方法的具体应用。

3.1 初始化功能模块的确定

敏捷软件开发强调现场客户的参与。在软件开发过程中,开发人员随时与该软件的主要客户,如教师、学生登沟通相关业务问题、、汇报项目进展情况,并获得反馈与支持。根据此项目的用户需求,确定了最初的用户故事,选择在线考试子模块为优先实现的功能模块,如图3所示。

3.2 迭代式开发

软件开发小组根据架构师提出的初始软件架构,由编程人员和测试人员两两结对共同进行软件的设计、编码和测试,整个过程遵循简单、重构、集体所有的原则, 便于优化系统内部结构以消除冗余,提高代码的质量和可读性。开发人员应当尽快将初始的架构予以实现并交付客户试用,获得反馈意见。根据用户的反馈信息,在“在线教学系统”项目中,在线考试子模块需要增加身份验证模块、输入有效性验证以及信息加密存储等系统安全性设计内容。

3.3 小型

敏捷软件开发要求结合业务和技术情况,快速交付可工作的产品,并确定下一次的范围,即小型发。结合本系统的开发时间要求,整个开发周期的计划如表2 所示。

4 结束语

本文详细分析了敏捷开发模式中软件架构的设计方法,并系统阐述了敏捷开发实际软件开发案例“在线教学系统”项目中的应用,充分显示了敏捷开发的简洁性和灵活性的特点。

参考文献:

[1] 张海藩. 软件工程[M]. 北京:清华大学出版社,2010.

[2] 李白桦. 学生管理信息系统的敏捷开发[J].大连铁道学院学报,2006,27(4):60-62,68.

篇8

一、引言

传统的ATS(Automatic Test System),即自动测试系统的软件设计方法中,要求测试人员面向测试仪器进行编程操作,测试软件则根据被测试的代码段的要求进行编程。这种软件设计方法有着层次分割不清的问题,容易将系统软件和测试软件的功能混淆,增大测试程序、测试仪器以及被测对象的关联性,严重降低了测试代码的可移植性。另外,传统的测试方法中,测试功能比较单一,由于测试代码已经被固化,因此测试功能得不到优化升级,缺乏灵活性。

目前,ATS得到了飞速发展,自动测试系统的单一、专用功能正在向通用的多元化功能方向发展。但是,如何实现测试软件的通用性仍然是一个急需解决的问题。本文以通用性ATS软件开发平台为研究对象,提出了通用型ATS软件开发平台的框架结构和设计方法。本文设计的通用性ATS软件开发平台能够有效地帮助测试人员提高维修以及测试工作,并且具有较高的推广价值。

二、通用性ATS软件开发平台的结构和功能

通用性的ATS软件开发平台主要的功能,是提供给用户一个通用性的测试软件开发工具,通过该软件开发平台运行测试系统的开发过程。通用性的ATS软件开发平台的功能一般分为如下五类:第一类,能够对测试资源进行动态的配置和重构;第二类,能够对测试对象的硬件资源进行初始化、扫描以及初始化等功能;第三类,为测试程序提供完备的开发与调试的空间;第四类,给测试程序提供强大的数据处理功能;第五类,对系统的消息系统,例如中断、触发等等,而且还能够满足系统资源并行处理。

三、通用性ATS软件开发平台的相关技术

IEEE1232的标准是将ATS体系结构进行层次划分的标准。通用性ATS软件开发平台要求与NxTestATS的框架对接。如何实现接口标准的规范、组件技术、软件的统一开发过程以及UML技术均是设计通用性ATS软件开发平台的关键技术。另外,本文研究的通用ATS软件开发平台主要是基于STD标准。基于STD标准的开发关键技术,能够利用C和C++等通用的程序设计语言开发基于信号的组件。在测试的时候,这些基于信号的组件可以进行信号操作,并且这些组件为TPS提供了可移植性能。

四、通用性ATS软件开发平台的设计

本文针对基于信号组件的通用性ATS软件开发平台进行研究与设计。本文给出的通用性ATS软件开发平台主要由信号组件、接口框架、测试仪器信号驱动器以及资源管理器构成。其中,信号组件则作为独立的COM组件,并且COM组件作为资源管理器以及仪器信号驱动的父类组件。下面探讨了每个功能组件的功能描述。

信号组件中,每个信号组件与一种信号进行一一映射,信号的类型可以参考STD标准。具体的功能,首先是将客户程序的输入信号的信息进行存储,并储备为仪器信号驱动的调用参数。其次是能够存储测试的结果,测试的应用程序进行吊调用。

接口框架中的功能描述为,将面向信号的仪器驱动接口的方法与属性进行定义,为其他组件的调用做准备。

资源管理器中,作为应用程序与仪器驱动信号驱动的中间层次,能够利用检索仪器的XML文件,进行仪器的查询,并且能够创建具体的仪器信号驱动程序。

作为仪器信号的驱动功能是进行测试的实现,通过对底层仪器驱动函数的封装,实现具体仪器信号测试的功能。

结束语

本文首先针对传统的ATS以及当前的通用性ATS进行比较,深入分析了通用性ATS的优势,详细阐述了ATS软件开发平台的功能与结构,对通用性ATS的相关技术做了深入的探讨,最后给出了以面向信号为基础的通用测试软件开发平台的设计。该通用性ATS软件开发平台具有广泛的应用范围,并且能有积极的提高测试人员的维护以及测试工作效率。

参考文献

[1] 叶海明,周绍磊,王昆平. 通用测试系统软件平台设计[J]. 国外电子测量技术. 2010(02):111-113.

篇9

中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2012) 06-0000-02

一、引言

计量体系控制着企业的生产过程,其有效运行与否对于企业的运转是相当重要的。实验室内部的计量工具以及相关设备的有效管理,是准确检测数据,保证其可靠性的前提。长久以来,各企业和单位内部的计量工作都是通过人工的手工尽心,由于其工作效率低、过程繁琐、并且较容易出错、测量难查询等等,已经不足以满足目前的计量管理的需要。目前,应用计算机来解决并适应复杂的管理要求和计量认证是一种合理的发展趋势,形成管理的网络化和智能化更能很好的解决上述问题。鉴于此,相关部门对计量要求和工作性质都做了具体的修订和更新,以更满足现有计量检验工作。由于管理章程的实施,原有的计量管理系统或者程序需要更新,来提高工作质量以及效率,本文依此对系统进行设计。

二、系统的相关介绍

(一)计量管理系统

计量管理学科作为计量学和管理学相互融合的一门新学科,计量学主要是来研究测量、保证准确和统一的一门科学,而管理学主要是研究系统活动的规律和基本方法的科学。管理学应用于企业日常生活的方方面面,它的存在产生以及发展适应了现代化社会大生产的需要,管理学本身就是一门交叉学科,具有综合的作用。计量管理学将两学科有机的结合起来,能够更好的提高企业的工作效率。

在计量管理系统的使用中,可将其分为两个层次,即数据采集和信息使用。然而数据采集又分为被检定计量器具的信息和设备本身的信息以及计量标准信息的采集,其中备件信息的采集主要根据不同人员的不同分工来共同完成采集,设备信息以及计量标准嘻嘻的采集主要是由相关设备管理部门的人员进行数据的录入以及设备的维护;以及快速的查询和统计功能使得信息得以高效的使用,使用者可以得到每一类的需求统计,并对这些统计数据及时分析,进而为相关决策提供可靠准确的依据。计量管理系统的应用在一定程度上提高了工作效率,建立了较好的社会形象,并得到了预想的效益和效果,已经成为现在日常工作中不可或缺的系统工程工具。

(二)职能划分

在阅读计量管理的工作流程和了解工作人员的职能基础上,可以将各工作人员的职能按如下方式来划分:(1)主要负责人员:主要来负责制定各种计划表、申请表、统计表等等。(2)计量人员:核对(1)中负责人员制定的检查检清册,根据实际工作中的具体情况来提交个工作过程的申请表,以及相关仪器的具体使用情况,并且及时如实填写清单以便录入和检测校核之用。(3)检定人员:检定仪器仪表,并将结果反馈给相关部门。(4)录入人员:将(3)中检测人员反馈的检测结果录入计算机中,并通过计算机传递给相关负责人。

三、系统内部结构设计

(一)设计特点

本文中所述系统采用的模式是客户/服务器,这种模式的特点如下:(1)拥有数据管理系统,进行数据管理,便于实验操作。(2)系统内部客户端用来访问显示个更新各类数据。(3)用户提出申请,此类申请通过系统内部服务器来传输并且提交,客户端内部包括两方面,即用户可视界面和企业内部逻辑,现行网络上传输的各种数据是通过客户端向服务器提出并传送服务请求,同时客户端所显示的响应结果以及错误信息通过服务器发送并且传输。(4)具有双侧结构的数据库程序在一定程度上很好的分离了程序和数据,所以可以分两方面进行程序的开发和维护,与此同时也在很大程度上减少了工作量,降低网络流量的使用。(5)以服务器为桥梁,客户端接收到各类授权信息,这就决定了此类组合的框架具有良好的可靠性和较高的安全性,来满足不同种类的需求。

(二)设计要求

在充分了解计量管理系统的工作流程和性质的基础上。对于设计过程中的要求,提出以下几个方面:(1)应该根据自适应的检测设定周期,在用户所要求的计划区间内,得到计量工具的周检清册以及相关的年度计划表。(2)能够资识别相关程序,并且可以转换并且核对计量人员从上个工作环节提交的计量申请表。 (3)系统还应该适用于各类或者任何组合条件,来检测和查询计量工具的检测计划以及相关的检测记录等等。 (4)应该提供输入功能,用来输入计量工具的检测和校准记录,并且根据检测得到的结论等等,来自动记录和更新计量器具内部的记录已将相应的检测项目的内容,以便于下次检测和校核的准确,形成一种良性的循环。 (5)系统内部还应该设有计量工具的预警提示和超时报警功能,并且配有相应工具来打印预警提醒表和超时报警表,来保证系统安全高效的运行, (6)客户端通过服务器授权,在这个授权的范围内,计量人员有权限直接改变仪表仪器的位置以及查看加亮的数据,使用人员也可以直接查看仪表仪器的测量情况,以便于正常的简便的工作。

(三)数据库的内部设置

系统内部数据库的设置从以下几个方面来进行考虑,如数据可的可扩展性、规模、服务器的维护成本等方面,并且数据库的软件选为MySQL。此款软件完全符合最新的标准,并且将所有数据库关联在一起并使其具备应具有的基本功能,来满足计量工作中对于数据使用的全部要求。MySQL的特点主要是:安装过程较为方便简单,查询速度较其他软件来说较快,跨平台使用特性较好,并且能提供相关技术来支持储存过程和触发器。

1.用户组以及用户组权限划分。数据库内部的用户是广泛的,具有全局性的,并且是对内部所有数据表都有效地。然而,对于某一个数据表而言,通过管理只需要让给中类别的用户具有相应的权力即可,并非所有用户要掌握所有的权力,这样可以方便用户以及权限的管理。在该系统的数据库中引进用户组的概念,这样可以使用户的管理简单化。数据库中的对象以用户组的形式存放在数据库中,不同的用户组分别属于不同的数据库,依据实际需求的分析把数据库的用户以及用户的权限按着如下分类进行划分:第一,系统内部管理人员,主要负责数据库内部服务器的管理以及维护。第二,计量管理小组,主要负责日常的计量检定以及相关结果录入的工作。第三,计量负责小组,主要是从事核对、反馈、以及执行计量人员所提交的各类申请表,比如检定申请表等。第四,科室计量工作小组主要负责提交检测申请表,添加仪器仪表中的鉴定表中的设备,同时还负责管理并记录数据库的使用部位,并在科室内部做好备注。第五,科室技术人员工作小组,可以直接查询科室内部仪器仪表数据计量的情况。

2.数据结构。数据库的构成有以下几个方面,即器具状态记录表、检测表及其记录表、用户表和报废表。

(四)客户端的软件设计

客户端软件通过Delphi来开发客户端软件,软件的菜单和功能如下所示:(1)文件,文件菜单主要具备导入、输出、打印和退出的功能。软件菜单和功 (2)配置,配置菜单主要具备数据备份、数据导入、密码更改和周期的设置等功能。(3)查询修改,查询修改菜单主要具备简单查询和组合查询两方面的功能。 (4)报表,报表主要应该能够制定并能够传送如下表格如年度计划表、管理统计表、周期检定清册和科室仪表清册等。(5)计量审核,计量审核菜单主要具备仪器传送审核、新增仪器审核、仪器改级审核、一起延期审核、一起的封存、开封、报废的审核等功能。(6)帮助。

五、结语

本文阐述了计量管理系统的基本框架和整体设计方案,以及客户端软件的开发应用,将整套系统投入运行之后,可以对仪器仪表的检测结果、有效使用率、使用寿命以及仪器的性能等等方面进行进一步的分析和统计,为以后仪表仪器的购买和检测标定提供了可靠的依据。另外系统的操作界面简单美观,易于操作,因此可以在短时间使工作人员掌握系统的使用方法,将系统应用于日常的工作中。自系统开始投入使用到现在,工作人员通过系统对于设备的信息等情况有比较清晰的了解,因此管理效率得到一定的提高,同时还保证仪器的周期性检定。在不断地使用过程中,系统还会不断地改善和提高,以适应更广泛的要求。随着该计量管理系统的逐步建成和完善,计量工作可以完全的拜托手工或者人工的计量工作模式,各设备以及各设备内部零部件的详尽信息都可以随时随地的通过网络来进行检索和查询。在仪器仪表的检测中起到了作用,在一定程度上提高了计量工作的效率并且真正的实现的工作的自动化和无纸化。

参考文献:

[1]郑建挺,范泽辉,潘光斌,李双军.知识化计量管理系统设计技术研究[J].中国计量,2006,(10):2-3

篇10

1 软件开发的条件及现状

 

当今世界,全球化和信息化已经成为不可抵挡的发展趋势。信息网络技术飞快发展,科学技术前进脚步加快,促使我国计算机事业的发展,软件开发技术也在不断的提升。但与世界其他发达国家进行对比,我国的计算机技术还是比较落后的,尚且处于发展的初级阶段,并且在开发设计过程中还存在较多问题。因此,找出我国计算机软件开发设计的问题和难点,进而提出有效的解决对策,这样才能为计算机软件设计工作的顺利进行提供保障。

 

2 开发设计中存在的问题

 

2.1 缺乏分析

 

目前,我国计算机开发人员能力不足,在具体开发过程中,设计人员无法对软件开发进行分析和研究,因而导致在实际运用过程中出现大量问题。例如用户数据容易丢失、计算机程序被破坏,计算机联网不稳定等。这些问题的出现,对于计算机软件开发企业的发展造成了阻碍,还会使计算机软件使用者的个人信息泄露,严重的甚至会影响生活。寻根究底,这主要是因为开发人员对于开发工作不重视造成的,他们不充分分析开发流程和设计涉及的数据信息,使得用户电脑所安装的程序不稳定,没有达到设计预算要求的效果。此外,一些软件开发人员对于开发过程中涉及的项目数据和使用目的不进行分析,使得开发设计环节笼统性大,数据不完整,从而降低计算机软件用户的使用效率,这在一定程度上阻碍了我国计算机软件的开发进程。

 

2.2 质量得不到保障

 

与其他产品的设计相比,计算机软件开发设计是一项较为复杂,并且要将多个程序组合起来的工作。在实际的开发操作中,工作人员切不可马虎大意,如果开发人员工作不认真或是没有按照相关的要求和标准开展工作,那么软件开发设计工作是得不到有效规划的。例如一些软件程序的开发正常情况下只需要半小时就能完成,但相关的开发人员没有遵循相关规定程序工作,这样就会延长软件开发的时间,而软件的质量也会大打折扣。软件开发设计复杂,需要开发人员按照国家相关法律法规的标准进行开发,这样才能保证开发的效率和工程的质量。

 

3 开发设计问题的解决对策

 

3.1 方法模块化

 

计算机软件开发设计的方法模块化是软件开发工程未来发展的方向和目标。从我国当前软件开发的情况看,由于开发人员工作疏忽,并且没有按照相关的规定对软件开发所涉及的数据信息进行实质性的分析,这样就使软件设计的质量得不到提升。而模块化设计方法则解决了这一问题。

 

3.1.1 模块化设计方法的优势

 

随着网络科技的发展,模块化软件设计方式是计算机软件设计领域发展的趋势,运用模块化设计方法,不仅可以保证计算机软件的使用效率,还能够提升软件开发人员的工作效率。模块化设计方法具有很大的优势,这主要体现在利用这种方法设计的计算机程序可以随意的更改软件程序内容,这一定程度上能够降低软件设计的复杂性。

 

3.1.2 模块化方法的工作原理

 

模块化软件开发设计方法将整个设计程序分为若干个小的程序,开发人员完成小程序设计后,需要将小程序逐个组合起来,从而形成完整的计算机软件程序。但在这个方法的使用当中,软件开发设计人员需要注意,设计小程序的过程中,要把小程序作为独立个体进行设计,并且保证设计的小程序的正确性,这样才能保证大程序的顺利组合。

 

3.1.3 模块化设计方法的缺陷

 

虽然模块化设计方法能够提高软件设计人员的工作效率和软件质量,但这种模式也存在一定缺陷。它是一种独立存在的形式,如果计算机系统发生自动分解,那么很多的程序就只能够根据分解的具体情况都程序进行修改、删减或增添,而计算机的下级模块就无法调试为更高级别的模块。因此,计算机软件设计人员必须严格遵循相应的统计原则,这样才能保证模块化设计方法在软件开发设计中的使用。

 

3.2 层次化设计

 

数据结构信息是计算机软件开发设计工作中的重要一部分,也在计算机系统中占有重要地位。从我国目前计算机软件设计发展情况看,大多数企业已经实现了软件设置程序结构化,并且对设计结构进行层次化,但大部分企业却没有对数据结构进行层次化,这就容易使软件设计数据信息流失或是出现图文信息特征不明确的问题。因此,加快数据信息结构层次化是当前要考虑的主要问题之一。通过信息的全面采集和调整优化内部数据结构,再以详细的图文和信息流特征为基础对软件数据结构进行准确分析,得出合理的软件设计结构。另外,还需要控制好影响数据结构设计的祸合和内聚,这样才能解决数据结构难点问题。

 

3.3 设计多元化

 

目前,Warnier是我国计算机软件数据结构设计的方式,它不仅能够利用图标结构将计算机软件中数据难点直观的表达出来,还能根据相应的数据结构设置控制结构,为计算机软件中的难点问题提供解决办法。数据结构设计主要有三种类型,表现为重复、顺序以及选择。数据结构设计操作流程分为四步,一是分析数据结构,二是得出相关结论,建立程序控制结构,三是列出数据结构设计的整个过程,四是将数据结构分配到对应的内部系统中。总之,重视计算机数据结构设计这一环节,并且加大投入力度,对于解决开发中的难点问题很有帮助,同时还能够使数据结构向多元化方向发展。

 

4 结语

 

篇11

中图分类号:G642 文献标识码:B

1引言

在开放教育和远程教育中,网络教学正被越来越多地使用,开发适用于网络教学的高质量的网络课程已经成为发

展网络教育的一个非常重要的课题。

《现代远程教育技术标准体系和11项试用标准(简介)》中对网络课程进行了定义。网络课程是通过网络表现的某门学科的教学内容及实施的教学活动的总和,它包括两个组成部分:按一定的教学目标、教学策略组织起来的教学内容和网络教学支撑环境。

“软件工程”课程是本科计算机专业的一门重要课程。在当前的教学中,特别是开放教育和远程教育中还存在着很多欠缺,案例太少,或者各章中的案例相互割裂,使得学生学完该课程之后无法形成整体的软件工程概念和思想。因此设计和开发贯穿整个教学过程的案例成为“软件工程”网络课程的必然选择。

2 “软件工程”网络课程的教学内容设计

2.1以案例为中心

当前的计算机相关专业实践教学环境存在诸多薄弱环节,特别是在软件工程教学中,很难为学生提供一个全面的感性认识。而当前的教学是离散的过程,没有提供一个完整的商业软件的实例来讲解商业软件开发的全部过程。经过调查研究、综合对比和专家论证,我们选择了某

软件公司的商务软件“应急系统”作为整个软件工程网络课程的案例。选择该软件的原因是该系统在Windows平台上基于C++开发,而C++是大部分计算机科学与技术专业的学生都学习过的第四代开发平台,不足的地方是部分学生不了解应急系统。在教学内容设计中我们先对此公司“应急系统”的相关知识作了简单介绍,然后把软件工程的各个阶段与该软件的相关内容进行了一一映射和组合,公开了大部分相关设计和源代码。

2.2兼顾面向过程和面向对象

当前软件设计与开发的手段一般采用面向过程和面向对象这两种方法。虽然“应急系统”是采用面向对象方法设计的,但是我们补充了面向过程的设计内容,这样学生通过比较,既能熟悉和了解面向过程和面向对象的设计方法,又增强了理解,从而获得了比较好的教学效果。

3网络课程支撑环境的设计

3.1总体结构

系统设计应由上而下进行。首先设计总体结构,然后再逐层深入,直至进行每一个模块的设计。总体设计主要是在系统分析的基础上,将整个系统划分为若干子系统,子系统则由若干模块组成。数据的存储以及整个系统实现等方面都进行了合理的安排。图1所示为“软件工程网络”课程开发与设计的总体结构图。

3.1系统开发平台――Dorado MVC架构

Dorado全称“Dorado Web应用开发套件”,包含:Dorado Web UI控件集及UI引擎(Dorado Web UI Components and UI Engine),Dorado可视化集成开发工具 (Dorado Studio),Dorado MVC开发框架和Dorado Web应

用框架。其中Dorado MVC开发框架的主要功能有:提供类似Struts的MVC开发框架,以便更加方便地利用Dorado套件进行基于MVC架构的开发;提供性能监控控制台,可以方便地对系统运行过程中各功能点的运行效率进行统计和分析;支持国际化资源配置;支持模块化配置。Dorado MVC开发框架是一个可选件。Dorado套件完全支持各种第三方开发框架,如Struts、WebWork等。我们利用Dorado与目前较为流行的Struts+Hibernate+Spring进行协同开发。

3.2系统主要模块算法与设计

(1) 集合混淆算法

客观题测试用于学生自测。题目是随机排列的,顺序与数据库的存储顺序不同,它使用了Java.util.Collections中的shuffle(List list)方法来实现,下面是其在JDK 6.0中的算法和代码。

使用指定的随机源随机更改指定列表的序列。所有序列更改发生的可能性都是相等的,假定随机源是公平的。

此实现向后遍历列表,从最后一个元素向前一直到第二个元素,将随机选择的元素重复交换到“当前位置”。元素是从列表中随机选择的,从第一个元素运行到当前位置。

此方法以线性时间运行。如果指定列表没有实现RandomAccess接口并且是一个大型列表,则此实现在改组列表前将指定列表转储到该数组中,并将改组后的数组转储回列表中。这避免了二次型行为,该行为是因为在适当位置改组一个“有序访问”列表而引起的。

private static Random r;

public static void shuffle(List list) {

if (r == null) {

r = new Random();

}

shuffle(list, r);

}

public static void shuffle(List list, Random rnd) {

int size = list.size();

if (size < SHUFFLE_THRESHOLD || list instanceof RandomAccess) {

for (int i=size; i>1; i--)

swap(list, i-1, rnd.nextInt(i));

} else {

Object arr[] = list.toArray();

// Shuffle array

for (int i=size; i>1; i--)

swap(arr, i-1, rnd.nextInt(i));

// Dump array back into list

ListIterator it = list.listIterator();

for (int i=0; i

it.next();

it.set(arr[i]);

}

}

}

(2)DES加密算法

由于客观题的随机排列,使得试题的排列次序与数据库中有所不同。同时,考虑到通过逐条在数据库中查询来校验答案对数据库的压力过大,所以事先查询出试题的答案,然后根据打乱后的试题次序把正确答案拼成一个字符串,然后加密放到页面的隐藏域中。这样一来,当提交试题查看结果时不用再次查询数据库,只要把答案字符串解密,然后分割成数组校验即可。

这里的加解密采用了DES算法。

DES算法的入口参数有三个:Key、Data、Mode。其中Key为8字节共64位,是DES算法的工作密钥;Data也为8字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。

DES算法是这样工作的:如Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位),作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点。数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。

下面是加密算法的部分代码(解密原理类似):

public class DesEncrypt {

private Key key;

/**

* 根据参数生成KEY

*

* @param strKey

*/

public void getKey(String strKey) {

try {

KeyGenerator _generator = KeyGenerator. getInstance("DES");

_generator.init(new SecureRandom (strKey.getBytes()));

this.key = _generator.generateKey();

_generator = null;

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 加密 String明文输入,String密文输出

*

* @param strMing

* @return

*/

public String getEncString(String strMing) {

byte[] byteMi = null;

byte[] byteMing = null;

String strMi = "";

BASE64Encoder base64en = new BASE64Encoder();

try {

byteMing = strMing.getBytes("UTF8");

byteMi = this.getEncCode(byteMing);

strMi = base64en.encode(byteMi);

} catch (Exception e) {

e.printStackTrace();

} finally {

base64en = null;

byteMing = null;

byteMi = null;

}

return strMi;

}

/**

* 解密 以String密文输入,String明文输出

*

* @param strMi

* @return

*/

public String getDesString(String strMi) {

BASE64Decoder base64De = new BASE64Decoder();

byte[] byteMing = null;

byte[] byteMi = null;

String strMing = "";

try {

byteMi = base64De.decodeBuffer(strMi);

byteMing = this.getDesCode(byteMi);

strMing = new String(byteMing, "UTF8");

} catch (Exception e) {

e.printStackTrace();

} finally {

base64De = null;

byteMing = null;

byteMi = null;

}

return strMing;

}

(3) 章节维护算法

本网络课程中的课程章节、目录均为树形结构,其数据模型采用了树的模型,然后通过递归从根开始逐层遍历显示每个节点,便于导航学生学习。

下面是显示树形结构的代码,由于树形结构的显示使用了ExtJs(Ajax)框架来渲染,所以代码最终将产生JavaScript代码的字符串,交由ExtJs框架完成最后显示工作。

public String getExtTreeString(String prexHref ,String target ,boolean allowEdit ) {

......

//查询根节点(包含子节点层次)

Course rootWithHierarchy = treeNodeDao. getTreeRootWithHierarchy();

StringBuffer rootInfo = new StringBuffer();

//构造ExtJs的树形代码

appendInfo(rootWithHierarchy , rootInfo);

StringBuffer treeInfo = new StringBuffer("new Ext. tree.AsyncTreeNode(" + Constants.PLACEHOLDER + rootInfo + ")");

return ExtUtil.formatExtStr(treeInfo);

}

private void appendInfo(Course node , StringBuffer buf){

if(node == null) return ;

//如果是叶子节点,构造叶子信息

if(node.getIsLeaf()) appendLeaf(node,buf);

//如果是目录,构造目录信息

else appendFolder(node , buf);

}

private void appendFolder(Course node , StringBuffer buf){

buf.append(",{text:'" + node.getText() + "',");

if(allowEdit){

buf.append("href:'"+prexHref+node.getId()+"',");

buf.append("hrefTarget:'" + target + "',");

}

buf.append("id:'" + node.getId() + "',");

buf.append("leaf:false,");

buf.append("children:[" + Constants.PLACEHOLDER);

//遍历子节点,构造子节点信息

for(Course child: node.getChildren()){

appendInfo(child , buf);

}

buf.append("]}");}

private void appendLeaf(Course node , StringBuffer buf){

buf.append(",{text:'" + node.getText() + "',");

buf.append("id:'" + node.getId() + "',");

buf.append("iconCls:'user',");

buf.append("href:'"+prexHref + node.getId() + "',");

buf.append("hrefTarget:'" + target + "',");

buf.append("leaf:true");

buf.append("}");

}

从上述代码中可以看出,首先找出(包含子节点信息的)根节点,然后通过appendInfo方法来产生ExtJs的JavaScirpt代码,appendInfo会根据节点类型(叶子或目录)来调用appendLeaf或appendFolder方法,其中appendFolder首先生成该目录的信息,然后逐个显示子节点信息,子节点又会调用appendInfo方法。就是这样递归的调用,形成了最终的字符串,然后通过服务器传到表现层,通过ExtJs来显示整棵树。

4结束语

我们在设计和开发“软件工程”网络课程时,采用基于案例的教学内容设计,同一个案例贯穿所有章节,增强了学生对知识点的掌握和理解。开发环境采用Dorado MVC架构(Struts+Hibernate+Spring),获得了好的效果。这种开发模式与传统MVC的开发模式比较,其最大的优势在于可以节省开发人员在开发Web应用表现层式的工作量,同时又为用户提供非常友好的交互界面。

从表1中可以看出,本文采用的方法在开发工作量、用户界面、软件可扩展性等三个方面都具有相当大的优势。

本网络课程的设计和开发是从教学内容和网络教学支撑环境两个方面展开的,已在教学中使用一年,收到了较好的教学效果。特别是课程章节采用树型结构,使得学生在自主学习的过程中获得了更好的导航效果,提高了学习效率。下一步的工作是多增加艺术性方面的内容,尤其是媒体素材设计方面。

篇12

关键词 :C++语言;跨平台;软件开发;设计研究

现如今计算机语言中C++语言使用频率和次数最多,同时编程速度较高,进而广泛的应用于跨平台软件的开发设计中。跨平台作为软件开发中的重要概念之一,不仅仅依赖于实际的操作系统,结合跨平台开发的实际需求,逐渐推动了现代化软件工程的蓬勃发展。因此本文对基于C++语言的跨平台软件开发设计进行研究有一定的经济价值和现实意义。

1、C++语言的相关概述

C++语言主要是由C语言演化而来的,C语言开发演化过程中,逐渐注重系统软件开发的特性,并伴随着C++语言的兴起,其新特性逐渐增加。当前C++语言和其它相对高级的语言相比较而言,有着特殊的运行性能,在实际的运行过程中,并不需要借助于虚拟机将其作为中介,进而将C++语言的运行效率显著提高。

同时C++语言在实际的开发过程中,往往有着相对较低的开发成本,C++语言应用的过程中,逐渐被引入各种各样的特性,将其在泛型编程拓展过程中,对于高层次的软件工程问题有着一定的积极作用。

总之,C++语言有着相对根本性的优势,不仅仅可以用于高级系统程序的设计和3D游戏的开发应用,同时也可用于数值科学计算以及通用程序设计等。

2、跨平台软件开发环境

2.1 跨平台的相关概念

跨平台作为现代化软件开发中相对重要的一种概念,不仅仅对操作系统没有一定的依赖性,同时对于硬件环境也没有一定的依赖性,而在实际的开发应用程序过程中,更要将其在另一个操作系统下保持有着正常性的运行,基于跨平台的实际需求,就要结合现代软件工程的发展,对各种不同的平台加以支持,进而将其带给市场的潜力充分发挥。

2.2 跨平台软件开发需要的环境

一般而言,开发环境构成的过程中,往往需要有着一定的软件编辑器、程序调试器以及程序编译器三种,但是就其实质性而言,Sandbox这种软件不仅仅可以实现代码的编译,同时也可实现代码的调试,其内部同样各种各样的平台中往往需要有着各种各样的代码库和依赖库。开发程序中,同样也存在多种类型的源代码,在C++语言的软件开发和编译中,就要做好最终结果质量的控制,并有最好的代码产生,在对错误捕捉和调试过程中往往需要一定的支持。

跨平台软件开发主要是将抽象实现的一种重要因素,往往需要将抽象以及相关的一些设计逐渐的借助于新的开发手段进行开发研究,实现在不同平台上都能实现特殊的编译。

3、C++语言的跨平台软件开发设计

C++语言跨平台软件开发设计过程中,更要做好各个环节的综合设计,就其实质性而言,C++语言的跨平台软件开发设计可以从以下几个环节做起:

3.1 将语言的扩展特性避免

一般而言,任何语言在编程的过程中,往往都是对相对较老的程序以及文件进行选择。这些相对较老的程序包含一些原有的程序和基本公式,相对来说这些程序和公式不仅仅有着规范性,同时也有着标准型,而当前现代化的新程序库相对来说是杂乱无章的,在跨平台上产生过程中,常常面临各种各样的故障,虽然会获得一定的支持,同时也会有不精确定义的事故存在。

C++语言的跨平台软件开发设计过程中,就要避免语言存在一定的扩展特性,这种跨平台开发过程中往往有着相对较高的异常灵敏度,无限度的对新特性利用中,就要借助于C++语言标准函数的基本模型,并保证开发软件和产品有着相对较强的稳定性。

3.2 将动态处理实现

C++语言跨平台软件开发中,就要对多种环境运行的可移植代码库加以编写,在实际的项目开发过程中,就要对可能存在的问题加以避免,并处理好一个平台在另一个平台上没有特性这一问题,进而实现动态性的处理。

3.3 借助于脚本文件实现管理

就C++语言的跨平台软件开发设计而言,就要做好脚本文件的基本管理工作,保证编写的程序代码不仅仅有着简单易懂的特点,同时也要有着一定的简洁性,对合理的软件结构进行构建,将和平台相关的一些文件以及数据库充分的分隔,在实际的开发过程中借助于脚本文件进行某种程度上的编译,将其在各个部位合理的分配。对应用程序使用的过程中,就要将配置文件中的相关配置选项调出来,进而将里面的程序读取,并在跨平台软件开发过程中,尽可能的保证平台相关联的文件进行全部的分离,借助于特殊的手段将该功能充分实现。

3.4 对安全的数据串行化使用

现如今,C++语言的跨平台软件开发设计过程中,对于如何保证跨平台数据存储的安全性和可靠性这一问题,始终是当前软件开发设计的核心问题之一,而C++语言的跨平台软件开发设计过程中,可以借助于软件的fread指令,做好对每个编译器和单一目标平台的综合性处理,并在实际的跨平台操作环境中,借助于实际方法对数据进行不同程度上的存储和加载,进而对平台的独立性加以保障,借助于跨平台将数据在目标文件进行存储过程中,一般而言,不同的平台间往往有着一定的差异,在实际的处理过程中,同样也将会有着多样性的结果特征。

3.5 C++语言跨平台开发中的编译和测试

C++语言跨平台开发变异和测试过程中,更要做好科学化的编译和测试,在实际的跨平台软件开发过程中,尽可能的保证相关联的一些代码在长时间的使用过程中,保证其代码可以在另外的平台上加以检测,并借助于不同的平台进行测试,进而将bug及时的发现。

3.6 实现抽象

一般而言,实现抽象主要是对跨平台应用程序中被移植过程中有着一定的有效性,通过对这种方式加以借用,进而实现软件的单独性开发,并将具有独立性和简洁性的程序拿出,在实际的跨平台开发设计过程中,往往需要对多种函数进行利用,进而在实际的开发过程中,并不用对所有的函数进行变异,而C++语言跨平台软件设计过程中,主要是对封装方法加以采用,进而将抽象的过程实现,这种封装方法相对来说,需要视情况而定,一旦存在相对特殊的情况时,就要借助于其它的方式做好程序的基本调用工作,并做好对该功能的基础命名工作。实现抽象的过程中,一旦对该程序及其公式使用之后,就要将该功能的主要程序直接调用,并将该功能充分实现。

3.7 C++语言跨平台软件开发的实现过程

C++语言跨平台软件设计开发的实现过程中,首先就要做好功能模块实现过程和非功能模块实现过程,在代码编写之前,就要对源代码在文本编写过程中的相关编辑策略加以规定,对\t格式加以统一,并使得代码的结构尽可能有着简单化的基本特点。

C++语言跨平台软件开发实现过程,同样也要对统一的工程宝建立,并对跨平台的代码库加以建立,借助于平台依赖库对平台相关代码进行封装,做好对处理器差异、编译器差异的合理控制,保证有着对齐的内存和有着顺序的字节,并将平台无关的代码实现,做好内存的管理。

操作系统和接口库实现的过程中,往往不同的操作系统将会存在各种各样的系统限制,在实际的开发设计过程中,更要对限制的参数进行适当的调整,并做好对文件描述符的基本限制,尤其是在Unix系统中,就要借助于文件的描述符这种系统性的资源,提高程序的通用性和灵活性。网络程序开发过程中,任何一个网络连接将会对一个文件描述符占用,一旦程序将很多的Socket连接打开,其程序在实际的运行过程中借助于fopen将难以打开文件。对这一问题如何加以解决呢?可以将其系统逐渐的升级为64位系统,同时还可以采用64位方式编译程序,对sys/io.h中的函数操作文件加以使用,并对文件池技术加以采用,将一部分文件描述符预留。进程和线程在实际的限制过程中,就要对线程数进行创建,并将符的数量以及进程线大小的限制加以描述,其操作系统抽象层中操作系统函数不能直接的被调用,更应该将其在一个操作系统抽象层中包装的库中实现,将其在底层的操作系统中直接的脱离出来,并保证系统调试有着相对有效的起点。

用户界面的实现过程中,就要做好跨平台软件图形界面的基础设计工作,将程序基础的逻辑代码和数据构成,金可的借助于跨平台的开发工具包,借助于C++语言实现,进而开发利用C++语言跨平台应用程序的一种用户界面,进而做好相关界面的控制。

结语

总而言之,本文在对C++语言的跨平台设计进行研究时,通过对C++语言和跨平台需要的环境进行分析,进而对C++语言跨平台设计做了主要的探讨,进而总结出,C++语言跨平台设计过程中,不仅仅要有着相对丰富的经验,同时更要在开发的软件中将更多的功能和实际的操作容积加入,借助于相对优越的设计,综合性的提高软件的额功能。本文研究分析C++语言的跨平台设计时,希望其中的设计思路以及相关的理论基础为更多的跨平台开发设计工程师给予一定的帮助,同时本文中存在的不足之处还望更多相关研究人员给予指正。

参考文献:

[1] 张驰. 基于C++语言的跨平台软件开发的设计与实现[D]. 北京交通大学,2010.

[2] 侯成杰. 航天器C语言软件常见编程错误分析及检测方法研究[J].空间控制技术与应用,2013,06:53-57.

[3] 杨波,沈承舒. 面向嵌入式软件开发的C语言程序设计课程改革探索[J]. 计算机教育,2014,05:105-107.

[4] 吴兴华. 基于C语言软件开发的效率、移植及调试[J]. 数字技术与应用,2013,12:172.

[5] 杨鹏. 基于C++语言的跨平台软件开发的设计[J]. 硅谷,2014,04:19+21.

[6] 徐巍. 跨平台移动开发框架的比较分析与实例开发[D]. 吉林大学,2014.

友情链接