论文查重粗略可以分成初稿查重,终稿查重。
国内大查重软件大概有:
知网查重系统,Paperbye查重软件,万方查重系统,维普查重系统;
还有国外的查重系,Turnitin,Grammaly语法检测,Plagiarisma系统等
初稿查重系统
硕博本科毕业论文,可以选择paperbye、万方,维普等。
定稿查重系统
如果是硕士博士毕业论文查重定稿了,多数选择是知网查重系统。
论文查重软件哪个好?我把论文查重分为三个步骤(1.初稿检测2.中稿降重3.定稿检测)论文查重不可能是一帆风顺,一次性完成的
1、知网论文查重系统:知网查重系统应当是不少人都有所了解的一个查重网站,它具备的优势也十分突出,如数据库庞大、文章、资料更新及时,可以为使用者提供十分可靠的查重结果;知网查重系统还具备了批量上传、下载测试结果等功能,操作起来也十分的方便快捷,便于保障使用者的查重效率,节省查重时间。2、PaperPass检测系统: PaperPass采用 了自主研发的动态指纹越级扫描检测技术,具备查重速度快、精度高的优点,高度的准确率可以为使用者提供精确的查重报告,有利于使用者及时的对论文进行修改、调整。3、万方论文查重系统:万方查重系统采用的检测技术十分先进科学,能够为使用者提供多版本、多维度的论文查重报告;万方查重系统还可同时为科研管理、教育教学、人事管理等多个领域的学术机构提供学术成果相似性检测服务。4、维普论文查重系统:该论文查重系统采用了国际领先的海量论文动态语义跨域识别加指纹比对技术,能够快捷准确的检测论文是否存在抄袭问题;中文期刊论文库、硕博学位论文库、高校特色论文库、互联网数据资源等多个数据库的存在,也使得维普论文查重系统能够高效的比对文本数据。一、论文查重标准是什么?我国大部分高校要求本科论文重复率不高于30%。当然,学历越高,对论文的要求就越严格。对于大学硕士生和博士生教育来说,他们对论文的查重要求一般不高于20%和10%。然而,不同的大学对查重率有不同的要求。例如,一些严格的学校要求本科生的论文不超过20%。除了学生论文外,期刊论文检查权重率的要求也与期刊的等级有关。核心期刊论文查重率要求更高,不能超过15%,高级期刊论文查重率要求小于20%,普通期刊论文查重率小于30%才能发表。二、论文查重到底怎么查的?论文查重是借助论文查重系统进行的,论文作者只需要把论文上传到查重系统,系统会根据论文目录进行分段查重。查重系统会根据连续出现13个字符的重复来计算论文的整体查重率。由于不同系统的数据库包含不同的文献和算法,查重结果会有所不同。在选择论文查重系统是,尽量选择跟大学或者大学要求一致的查重系统,或者企业选择一个安全、可靠、准确的第三方查重系统设计进行管理自查。
PaperBye论文查重软件标准版是免费版,每日不限制篇数和字数,完全彻底免费查重!
目前分两个版本,一个是标准版,一个是旗舰版,标准版8个比对数据库,旗舰版12比对数据库。
使用方法如下:
第一步,打开paperbye官网用微信扫码关注公众号登录
第二步,登录成功后,选择永久免费标准版本,上传需要查重的论文;
第三步,提交成功后,点击“查看检测报告”即可;
第四步,如果需要进行论文在线改重或机器降重,可以在查看报告列表查看
根据自己需求,在线改重,如果报告比例较高,自己进行修改的话,可以在报告里一边修改一边查重,及时反馈修改结果;机器改重,就是软件辅助自动修改文章降重,可以辅助自己提供论文修改效率。
1、中国知网查重知网查重结果的准确度是很高的,是如今国内最权威的论文查重软件,其中收录的数据库很全面,并且有海量的资源。检测本科论文适合使用知网pmlc论文查重系统,检测硕博研究生论文适合使用知网论文查重系统,很多高校也都是与知网合作,大家需要根据自己论文的类型选择对应的知网论文查重系统。2、万方检测和维普网检测这两个论文查重也有部分学校使用,也是国内除知网以外的主流论文查重软件,检测严格性不如知网,但是检测速度较快,收费价格也比知网便宜,查重结果准确也比较高,部分学校也是认可的。、3、PaperPP论文查重PaperPP一款致力于为广大有论文查重需求的人们提供恰当有效查重服务的对软件,性价比很高,收费价格十分亲民接地气,还有机会能够免费查重,对于大学毕业生来说是一大福利,其查重质量和安全性都比较高。4、PaperPass论文检测这个是前几年兴起,近几年比较活跃的一个论文查重系统,价格中等,也是有一部分人使用具有一定知名度的软件。5、PaperYY论文检测价格也比较便宜,同样适合用来检测论文初稿,不建议使用其来检测论文终稿,因为数据库资源比知网相差还很多,查重结果准确度没有知网那么高的精确度。
PaperFree为用户人性化完美实现了“免费论文检测—在线实时改重—全面再次论文检测—顺利通过论文检测“的整个全过程。“在线改重”功能实现了一边修改论文,一边论文查重,改哪里检测那里;按实际修改句子收费,不改的内容不收费;
论文完成后我们就需要对论文进行查重,学校会提供1-2次免费知网查重的机会以此方便同学检测论文重复率。但是在还没有定稿之前尽量不要使用学校的查重,定稿之前我们可以选择其他的查重系统检测重复率同时进行修改,那么怎么去选择查重软件呢?第一、论文查重软件的选择很重要,如果是一些不靠谱的查重不仅浪费钱还会浪费掉宝贵的时间,查重结果可能不准确还会导致论文泄露。所以当我们选择的时候特别要注意不要只关注价格。第二、实在不知道选择我们可以问问学姐学长请他们帮忙推荐几个毕竟都有使用过的经验。我们最好是选择比较热门、官方认证过的论文查重系统,比如知网、维普、万方、paperfree论文查重系统等等,都是有正规营业执照安全性有保障。数据库里面收录的文献数据比较的全面,不同类型的查重都可以进行。第三、初稿我们可以选择免费的查重系统进行修改,一些查重系统还能在线进行修改实时进行查重,能让我们更好地了解到修改的效果。学校要求很严格,论文写作时也要注意尽量不抄袭自己写,重复率过高降导致无法毕业无法参加答辩。定稿建议使用学校规定的查重系统进行检测,其他系统只是做个参考且学校是不认可的最终我们论文还是要上交学校的。
论文查重软件排行榜以下三个好。
1、知网论文查重软件数据库比较强大,并且可以分类对论文进行检测,有本科论文查重入口,硕博论文查重入口,职称论文查重入口,初稿论文查重入口等。是目前高校使用最多的软件。对于本科毕业论文检测拥有独特的大学生联合对比数据库。检测结果基本上跟学校一致。
2、万方、维普是这几年兴起的论文查重软件,数据库没有知网齐全。版本也没有知网多,如果学校要求使用这两个查重,大家就可以去选择,如果没有要求选择这两个系统,大家就不要存在侥幸心理。
3、paperfree论文查重软件,是比较长久的论文查重软件,仅次于知网论文查重,在市场上得到了很多学校和毕业生的认可,也是很多学校要求使用的论文查重系统,查重速度快,查重结果准确,费用非常的低。
论文查重软件介绍如下:
:这个论文查重系统是全球首个中文文献对比度的查重系统,而且经过多面的发展已经成为了最值得信赖、最可靠的论文查重系统,当然这个查重系统也是有相对应的查重软件的,只需要自己用手机号注册一个账号。
然后登陆进去之后就会看见一个“申请免费查重”的按钮,点击按钮申请之后,通过了就可以免费查重了,但是由于名额有限,所以每天只有前1000名可以享受免费查重的优惠;(推荐指数:3颗星)。
2.知网:知网是目前使用做广泛的论文查重系统,而且也是可以免费查重的,如果不是在自己学校图书馆使用知网查重的话,大家也可以使用知网这个查重软件,一般只要是新用户都会有一到两次的免费查重论文的机会的。(推荐指数:5颗星)。
:这个论文查重软件也是可以免费查重的,而且也是比较靠谱的,这个论文查重软件和知网等比较大牌的论文查重系统都是有着合作的。
但是最划算的还是关注papertime这个查重系统的公众号,只需要邀请微信好友助力就可以免费查重1000字,最高可以免费查重十万字,这是最划算的。(推荐指数:3颗星)。
:这个软件不仅给出更精准的查重结果,还在PaperYY的检测报告中清楚的标出论文优化的方案。
针对查重意见对重复的部分进行论文的降重,如针对“修改建议”进行修改,或者直接点击“自动降重”对该重复内容进行降重对于前期论文的查重、修改参考的性价比很高。(推荐指数:2颗星)。
5.超新星大雅:这个查重是学习通自带的查重系统,并且每天每个账号均有一次免费的机会,文献库相对较多,但是可能需要大家多次查重才能通过。(推荐指数:2颗星)。
最好的是学校要求的定稿检测系统,多数学校指定的是知网查重,前期初稿检测可以使用papertime免费查重软件,通过海量数据库对提交论文进行对比分析,准确地查到论文中的潜在抄袭和不当引用,实现了对学术不端行为的检测服务。
PaperFree为用户人性化完美实现了“免费论文检测—在线实时改重—全面再次论文检测—顺利通过论文检测“的整个全过程。“在线改重”功能实现了一边修改论文,一边论文查重,改哪里检测那里;按实际修改句子收费,不改的内容不收费;
免费论文查重的软件有知网,维普、万方等。
1、知网。
知网建设及其产业化运作机制,为全社会知识资源的高效共享提供了丰富的知识信息资源,有效的知识传播与数字化学习平台;为知识资源生产出版部门创造互联网出版发行的市场环境与商业机制,对促进教育、科技、文化、出版等事业和文化创意产业发展提供了大有作为的信息网络空间。
2、维普。
维普网是重庆维普资讯有限公司于2000年推出的一家综合文献数据库。维普网包含数据库出版发行、知识网络传播、期刊分销、电子期刊制作发行、文献资料数字化工程等多种个性化服务。维普检测系统,提供本科生论文检测,硕博论文检测,职称论文检测,投稿论文检测,结果与学校相同。维普适用于中文论文,英语论文,小语种论文等检测查重。
3、万方。
万方论文检测系统采用科学先进的检测技术,实现海量学术文献数据全文比对,秉持客观、公正、精准、全面的服务原则,为用户提供精准详实的相似性检测结果,呈现多版本、多维度的检测报告,有效地为科研管理、教育教学、出版发行、人事管理等各领域的学术个体或学术机构提供学术成果相似性检测服务。
软件设计毕业设计论文题目
软件设计毕业设计论文题目如何拟定,大家有参考的范文吗?以下是我为大家整理的关于软件设计毕业设计论文题目,希望大家喜欢!
1) 组合型板翅式换热器热力设计软件的开发
2) 导波结构健康监测系统软件数据管理模块设计
3) 基于SAP2000分析平台的变电站构架设计软件
4) 通用型激光加工工艺控制软件的领域模型设计
5) 基于蚁群算法的自动化立体车库监控软件的优化设计
6) 发电厂自动抄表软件人机交互界面设计
7) 不同种植设计软件对种植体位置偏差的影响
8) 玉米自动考种流水线控制系统设计--基于MCGS嵌入式组态软件
9) 嵌入式实时软件在计算机软件设计中的运用研究
10) 嵌入式实时软件在计算机软件设计中的运用
11) 测控数据实时监测软件设计方法研究
12) 体验模型指导下的云办公软件社会化分享设计
13) 计算机软件开发设计的难点分析
14) 无人机地面在线检测软件的设计
15) 配网数字化规划设计档案一体化软件设计研究
16) 嵌入式系统设计实验的Qt MIPS仿真软件开发
17) Solidworks参数化设计软件在我国家具研发中的应用
18) 会议电视系统平板会控软件设计与实现
19) 锅炉设计中引入三维设计软件的思考
20) 平面设计软件与DICOM图像数据处理技术
21) FLASH动画设计软件在多媒体技术中的应用
22) 无人机飞控计算机自动测试软件设计与开发
23) 基于虚拟现实技术的软件界面设计与研究
24) 面向掩星观测的软件接收机设计
25) 基于软件通信体系结构的波形FPGA软件设计方法
26) 基于MATLAB的`同步发电机原动机及其调速系统参数辨识与校核可视化软件设计
27) 基于USB的软件综合安全模块设计及应用
28) 面向大数据处理的内容服务器软件设计与实现
29) 基于Android终端的企业即时通信软件的设计与实现
30) 临时限速服务器软件设计优化研究
31) 锥形束CT与simplant软件辅助设计模拟种植下颌牙列缺损的临床研究
32) 面向复用的软件设计方法研究
33) 电网规划数据处理辅助软件的流程设计
34) GPS农田平地机土方量及设计高程计算软件开发
35) 基于STC89C52的智能台灯软件设计
36) 浅析计算机平面设计中设计软件的相互结合与应用
37) 商业固体激光器设计软件应用研究
38) 体育运动会比赛软件系统的设计与研究
39) 综合化航空电子系统网络传输延迟测试软件设计
40) 基于XML的监控软件快速设计技术
41) 基于三维动画软件的服装设计分析与研究
42) 基于Matlab的水与蒸汽热力学性质查询软件设计
43) 机顶盒软件模块设计及实现
44) 剪纸拼接与PS软件设计截骨矫正强直性脊柱炎后凸畸形的对比
45) 基于联合辅助设计软件的试验仪控数字化平台开发
46) ZBrush数字雕刻软件在电脑首饰设计中的应用
47) 对以用户体验为导向的智能手机应用软件界面设计的几点探讨
48) 点云数据生成软件的设计及其在月饼模具逆向设计与制造中的应用
49) 一种新型的有源交错并联Boost软件开关电路设计
50) 基于第一创造法的可拓创新软件设计
51) 基于DCS的工程项目设计软件介绍
52) 一种复杂模式网传数据软件模拟器的设计
53) VB环境下交互式GMT地学绘图软件的设计及实现
54) 基于等效的单体包装机软件模块化设计研究
55) 基于Visual Basic的工程数量计算软件设计与开发
56) 基于数据库的油气管道线路施工图设计软件二次开发
57) 基于EDA软件的滤波器设计
58) 基于Android的可配置工业远程监控软件设计与实现
59) 基于图像方式的受电弓滑板磨耗检测系统软件设计
60) 基于移动互联网的个人健康管理软件设计与实现
61) 老年人的握力测量软件沉浸式界面设计
62) 基于XMPP协议的Android即时通信软件的设计与实现
63) CFD软件自动化验证确认云平台设计与实现
64) 基于模糊聚类的色选机上位软件系统研究与设计
65) 双排桩支护结构理正软件设计计算与有限元(MIDAS/GTS)模拟分析
66) 移动端智能手机软件产品的UI设计研究
67) 基于ZYNQ的软件无线电平台设计与实现
68) 基于面向对象的纸机传动系统软件设计的研究
69) 软件企业设计人员胜任力模型研究
70) 算法可视化软件设计中关键问题的研究
71) 基于参与式设计方法的移动端烹饪软件界面设计研究
72) 支持语音识别功能的Andriod记事本软件设计与实现
73) 中小企业财务软件设计与应用
74) 基于Android的便携式心电监护系统软件的设计
75) 通用测试系统软件架构及关键技术的设计与实现
76) 基于双DSP的制导飞行器控制系统的软件设计
77) 达芬奇技术下的视频处理及传输系统的软件设计与实现
78) 基于SolidWorks的管壳式换热器辅助设计软件研究
79) 医学影像处理与分析软件平台设计与实现
80) 软件园研发建筑空间形态设计研究
81) 基于数据库的滑动轴承设计计算软件开发
82) 基于AutoCAD的滴灌工程设计软件研究与实现
83) 基于Gaudi的CSR外靶实验数据处理软件框架设计
84) 轮式起重机回转系统设计计算软件开发
85) 轮式起重机转向系统设计计算软件开发
86) CS公司软件开发人员薪酬体系优化设计研究
87) 基于可拓创新方法的产品创新软件设计与实现
88) 数字示波器自动校准软件设计
89) 基于Linux的多功能监护仪软件设计
90) CFETR设计软件集成平台研发
软件设计毕业论文致谢
致 谢
经过四个多月的构思与设计,在指导老师的精心指导和安排下,本系统已经设计完毕。其使用功能基本符合公司在实际工作的需要,具有一定的实用性。但是由于时间比较仓促,加上本人软件设计经验的`不足。因此,在分析问题、解决问题时显得不够严密、完善,还需要在以后的工作中不断地改进和完善。
在这次的毕业设计中,让我深深地体现到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识、缜密的思维、严谨的工作态度以及较高的分析问题、解决问题的能力,而我在很多方面还有欠缺。最后,我要衷心感谢老师在我的设计过程中给予我的极大帮助,使我能够及时、顺利地完成此次的毕业设计。同时,也要感谢我的老师和同学们及实习企业在本系统的设计过程中给予我的支持和帮助。
软件工程毕业设计论文
大学生涯就要结束,大家是不是都在忙着自己的毕业论文呢?软件工程专业的同学们,我为大家整理了该专业相关的论文,供大家参考!
一、软件工程专业毕业设计存在的主要问题
(一)毕业设计题目设置与选题方面
题目设置不合理,类别与层次不清晰,选题匹配效果差[2]。学生的毕业设计课题一般都按照指导老师的研究方向和实际工程项目提供,但每年真正来源于工程实践题目比例较少。部分题目理论性强,学生根据所学知识不能很好理解;部分题目开发工具复杂,占用了毕业设计的大部分时间。在选题时可能导致学生想选的题目选不上,能力差的学生所选题目难度大,影响学生的积极性,导致选题效果差,造成毕业设计很难完成。
(二)毕业设计过程监控方面
毕业设计监控工作实施困难,效果较差。软件工程专业毕业设计一般包含选题、开题、中期检查、程序测试、撰写毕业论文、答辩、成绩评定。但对这些环节的监控有时候会形成空白带,毕业设计不在实验室进行,有的学生在实习单位实习,有的学生在外地找工作,老师不能定时与学生见面,老师无法了解学生的具体情况,且学生提交的各阶段文档流于形式,只有指导教师在进行监控,未形成完善的监控体系,导致监控不到位,监控效果较差[3]。
(三)毕业设计论文答辩方面
答辩考核方法单一,答辩仅由学生的讲解和老师的提问两个环节组成,考核准确度低。答辩通过门槛较低,答辩只对学生的毕业设计进行排名,一般排名在最后的学生才可能不及格,不利于提高学生毕业设计积极性,造成大部分同学仅以答辩及格为目标,思想上不重视,答辩准备工作不扎实。再由于软件工程专业特点,毕业设计软件作品评分标准难于量化,考核具有一定难度,也造成答辩效果不好。同时为了提高学生毕业率和就业率,毕业答辩的质量控制有所放松,直接导致了软件工程专业毕业设计质量难以保障。
二、软件工程专业毕业设计的教学改革
针对上述各项实际问题,主要进行的相关工作具体如下:
(一)合理设置毕业设计题目,动态选题
依照软件工程专业的以市场需求为导向,培养应用型软件工程人才的培养目标,在毕业设计题目设置环节,紧紧围绕工程实际型、创新项目型、竞赛题目型、科研项目型等类型进行题目设置,以适应市场动态需求。同时着力避免在毕业设计题目中设置虚拟型题目、理论研究型题目、综述型题目、分析设计型题目等。在选题过程中,通过毕业设计管理系统(如图1所示)进行多轮双向动态选择,动态调整题目各项技术参数以保证学生能选择一个适合自己能力且能有利于自己以后工作的题目[4]。这样,在选题之后,每个指导老师就可以根据学生不同能力进行分别指导,使不同能力的学生都能够运用其所学知识解决工程实际问题,都能够通过毕业设计增强工程实践能力、工程设计能力与创新能力。近四学年软件工程专业毕业设计各类题目汇总。
(二)毕业设计过程实行三级监控管理机制
学校成立以主管副校长为组长的毕业设计工作领导小组以加强毕业设计宏观调控,学院成立以教学副院长为组长的`毕业设计工作领导小组以加强毕业设计协调与监控工作,软件工程专业成立以专业负责人为组长的毕业设计工作小组落实并实施毕业设计各环节具体工作[2]。具体参见下图2。在实现毕业设计过程管理的三级管理机制的同时,为保障毕业设计工作质量,软件工程专业要求所有指导教师必须具有中级以上技术职称或硕士以上学位且有一定工程实践经验,具有较高教学、科研水平和创新能力,师德良好,工作态度认真负责。在每年的毕业设计指导工作开始前都对指导教师进行资格审查,择优任用,且每位教师指导的学生不超过6人,以保证指导教师对学生的充分指导[5]。
(三)毕业设计过程量化考核
以往软件工程专业毕业设计成绩通常由三部分组成:一是学生的平时表现由指导老师把握;二是学生的毕业论文成绩。由专业其他指导老师进行评阅;三是现场答辩成绩。由所在组的指导教师按照相关评分标准打分并取平均分。这样基本能够保证毕业设计成绩的公正,但是由于只有毕业答辩环节具有约束力即答辩未通过则总成绩不及格,其他环节不具约束力,因此造成毕业设计前期、中期工作流于形式,前期、中期阶段提交的文档趋于应付、质量不高,最终导致毕业论文质量较低[6,7]。为此,软件工程专业经过几年的探索与实践,实施了毕业设计各阶段的软件工程生命周期量化考核法即各个阶段量化考核,且考核成绩不合格者不能进行下阶段毕业设计工作,必须加以整改,整改通过后才能进入下一阶段毕业设计工作。经过几年的实践证明该考核方法切实可行,能够保证毕业设计各个环节的质量,最终提高毕业设计总体质量。
(四)在毕业设计过程中进一步提高学生工程能力与创新能力
辽宁工业大学于2011年制定并实施了大学生创新团队机制,建立了大学生创新项目申报机制引导大学生开展创新活动;引导学生每年都参加校级、省级、国家级软件设计大赛等各类各级比赛[8]。随着学校和学院创新教育活动多年持续深入开展,软件工程专业学生的创新与创业活动取得了显著成果。超过1/4的软件工程专业学生能够独立主持创新性项目,并以该项目为原型申报毕业设计题目[9],同时参加省级、国家级计算机竞赛并获得奖项。通过主持校级及省级创新项目既毕业设计题目,学生工程能力、创新能力得到极大锻炼与提高,本专业毕业生就业率与就业质量明显提高。软件工程专业学生主持参加创新项目既毕业设计题目情况见表3。
三、结束语
软件工程专业毕业设计是一个极具综合性、实践性的重要环节,是对学生大学四年学习后面向社会与企业前的有且仅有的一次大检验,它不仅检验了学生所学知识、能力与综合素质,还检验了软件工程专业的培养目标、培养模式、课程体系、实践体系、创新体系等相关环节[10]。经过几年的探索与实践证明,软件工程专业所做的系列教学改革工作中的毕业设计教学改革工作有利于进一步增强学生的工程实践能力和创新能力,有利于提高软件工程专业毕业设计质量,有利于提高软件工程专业学生就业率与就业质量。虽然软件工程专业毕业设计教学改革工作取得了一定的成绩,社会认可度逐年稳步提高,但如何动态调整教学计划以跟进市场需求变化;如何深入开展大学生创新创业教育活动以进一步增强更多软件工程专业学生的实践能力及创新能力;如何进一步加强专业教师工程实践能力、工程设计能力与工程创新能力以提高毕业设计指导效力;如何提高毕业设计过程管理效率等问题仍然是软件工程专业所面临的严肃课题[11]。因此,软件工程专业的毕业设计教学改革工作也一定会紧跟时代变化,与时俱进。
幼儿教育软件设计与开发策略论文
从信息化发展框架来看,教育软件资源的设计与开发是教育信息化建设与发展的核心与重点,[1]p]是教育信息化发展的首要突破口。同样,幼儿教育软件资源的设计与开发也是学前教育信息化发展的重要任务,是学前教育信息化有效实施的重要前提。但是,由于我国学前教育信息化目前尚处于发展的初级阶段,优质信息化软件资源依然十分短缺,[4]因此对幼儿教育软件资源设计与开发的研究具有非常重要的意义。
一、幼儿教育软件的内涵
软件是相对硬件而言的,它是计算机系统中一系列按照特定顺序组织起来的计算机数据和指令的集合。教育软件则是指根据教学目标设计的,表现特定教学内容,反映一定教学策略的计算机教学程序。[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语言的设计,开创儿童参与软件设计的先河。-随后很多研究者分别对幼儿直接参与幼儿软件制作过程进行了尝试性探索。幼儿不仅能够参与软件制作,而且还能为软件制作带来意想不到的创意。幼儿参与软件制作能让软件反映幼儿的声音、展现幼儿的视角、注入幼儿的想法等。注意,幼儿参与制作与移情设计模式有一定区别,移情设计并不一定要求幼儿直接参与,通常由设计者采用移情策略获取幼儿的体验数据。
三是常用编辑软件及组合。教育软件开发工具可分为两类:一是素材处理工具软件,主要用于素材生成、美化、加工等;二是编辑合成工具软件,主要用于语言编写、素材集成、数据库支持等。
五、结语
过去,国内幼儿教育软件尽管在数量上、内容上发展非常迅速,但在质量上却不容乐观。[21]幼儿教育软件是幼儿知识多样化呈现与多元化交互的重要形式,是信息技术有效促进幼儿自主学习与发展的前提。本文系统探讨了幼儿教育软件设计与开发策略,以期能为幼儿教育软件发展尽绵薄之力,同时希望由此引起广大研究者与幼儿教育工作者对该问题的关注。相信在大家的共同努力与参与下,幼儿教育软件将在科学性、适宜性、系统性等方面有较大的提高。
你好。软件设计模式就是Uml统一建模语言的技巧性概念。主要研究各个类模块和接口之间的安排与搭配,也是为程序员提供交流的一个很好的平台。利用软件设计模式您可以做出质量更高,代码更少,扩充更容易的软件。我个人理解它更像是一个工具箱,可以让你生产出更漂亮、更简洁的代码。我的回答您还满意吗?
[编辑本段]基本信息软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义: 软件工程(1)、BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。 (2)、IEEE在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究 (3)、FritzBauer在NATO会议上给出的定义:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。 目前比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 (4)、《计算机科学技术百科全书》中的定义:软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。[编辑本段]目标软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用软件工程性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。下面分别介绍这些概念。 (1)可修改性(modifiablity)。容许对系统进行修改而不增加原系统的复杂性。它支持软件的调试与维护,是一个难以达到的目标。 (2)有效性(efficiency)。软件系统能最有效地利用计算机的时间资源和空间资源。各种计算机软件无不将系统的时/空开销作为衡量软件质量的一项重要技术指标。很多场合,在追求时间有效性和空间有效性方面会发生矛盾,这时不得不牺牲时间效率换取空间有效性或牺牲空间效率换取时间有效性。时/空折衷是经常出现的。有经验的软件设计人员会巧妙地利用折衷概念,在具体的物理环境中实现用户的需求和自己的设计。 (3)可靠性(reliability)。能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。对于实时嵌入式计算机系统,可靠性是一个非常重要的目标。因为软件要实时地控制一个物理过程,如宇宙飞船的导航、核电站的运行,等等。如果可靠性得不到保证,一旦出现问题可能是灾难性的,后果将不堪设想。因此在软件开发、编码和测试过程中,必须将可靠性放在重要地位。 (4)可理解性(understandability)。系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 (5)可维护性(maintainability)。软件产品交付用户使用后,能够对它进行修改,以便改正潜伏的错误,改进性能和其他属性,使软件产品适应环境的变化,等等。由于软件是逻辑产品,只要用户需要,它可以无限期的使用下去,因此软件维护是不可避免的。软件维护费用在软件开发费用中占有很大的比重。可维护性是软件工程中一项十分重要的目标。软件的可理解性和可修改性有利于软件的可维护性。 (6)可重用性(reusebility)。概念或功能相对独立的一个或一组相关模块定义为一个软部件。软部件可以在多种场合应用的程度称为部件的可重用性。可重用的软部件有的可以不加修改直接使用,有的需要修改后再用。可重用软部件应具有清晰的结构和注解,应具有正确的编码和较低的时/空开销。各种可重用软部件还可以按照某种规则存放在软部件库中,供软件工程师选用。可重用性有助于提高软件产品的质量和开发效率、有助于降低软件的开发和维护费用。从更广泛的意义上理解,软件工程的可重用性还应该包括:应用项目的重用,规格说明(也称为规约)的重用,设计的重用,概念和方法的重用,等等。一般来说,重用的层次越高,带来的效益也就越大。 (7)可适应性(adaptability)。软件在不同的系统约束条件下,使用户需求得到满足的难易程度。适应性强的软件应采用广为流行的程序设计语言编码,在广为流行的操作系统环境中运行,采用标准的术语和格式书写文档。适应性强的软件较容易推广使用。 (8)可移植性(portability)。软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。为了获得比较高的可移植性,在软件设计过程中通常采用通用的程序设计语言和运行环境支撑。对依赖于计算机系统的低级(物理)特征部分,如编译系统的目标代码生成,应相对独立、集中。这样,与处理机无关的部分就可以移植到其他系统上使用。可移植性支持软件的课重用性和课适应性。 (9)可追踪性(tracebility)。根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力。软件可追踪性依赖于软件开发各个阶段文档和程序的完整性、一致性和可理解性。降低系统的复杂性会提高软件的可追踪性。软件在测试或维护过程中或程序在执行期间出现问题时,应记录程序事件或有关模块中的全部或部分指令现场,以便分析、追踪产生问题的因果关系。 (10)可互操作性(interoperability)。多个软件元素相互通信并协同完成任务的能力。为了实现可互操作性,软件开发通常要遵循某种标准,支持折衷标准的环境将为软件元素之间的可互操作提供便利。可互操作性在分布计算环境下尤为重要。 软件工程活动是“生产一个最终满足需求且达到工程目标的软件产品所需要的步骤”。主要包括需求、设计、实现、确认以及支持等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件体系结构,包括子系统、模块以及相关层次的说明、每一模块接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。支持活动包括修改和完善。伴随以上活动,还有管理过程、支持过程、培训过程等。[编辑本段]过程生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。[编辑本段]原则软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。软件工程的原则有以下四项软件工程师基本原则:1)选取适宜开发范型该原则与系统设计有关。在系统设计中,软件需求、硬件需求以及其他因素之间是相互制约、相互影响的,经常需要权衡。因此,必须认识需求定义的易变性,采用适宜的开发范型予以控制,以保证软件产品满足用户的要求。2)采用合适的设计方法在软件设计中,通常要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。合适的设计方法有助于这些特征的实现,以达到软件工程的目标。3)提供高质量的工程支持“工欲善其事,必先利其器”。 在软件工程中,软件工具与环境对软件过程的支持颇为重要。软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。4)重视开发过程的管理软件工程的管理,直接影响可用资源的有效利用,生产满足目标的软件产品,提高软件组织的生产能力等问题。因此,仅当软件过程得以有效管理时,才能实现有效的软件工程。 这一软件工程框架告诉我们,软件工程的目标是可用性、正确性和合算性;实施一个软件工程要选取适宜的开发范型,要采用合适的设计方法,要提供高质量的工程支撑,要实行开发过程的有效管理;软件工程活动主要包括需求、设计、实现、确认和支持等活动,每一活动可根据特定的软件工程,采用合适的开发范型、设计方法、支持过程以及过程管理。根据软件工程这一框架,软件工程学科的研究内容主要包括:软件开发范型、软件开发方法、软件过程、软件工具、软件开发环境、计算机辅助软件工程(CASE) 及软件经济学等。[编辑本段]基本原理自从1968年提出“软件工程”这一术语以来,研究软件工程的专家学者们陆续提出了100多条关于软件工程的准则或信条。美国著名的软件工程专家巴利·玻姆(Barry Boehm)综合这些专家的意见,并总结了美国天合公司(TRW)多年的开发软件的经验,于1983年提出了软件工程的七条基本原理。 玻姆认为,这七条原理是确保软件产品质量和开发效率的原理的最小集合。它们是相互独立的,是缺一不可的最小集合;同时,它们又是相当完备的。 人们当然不能用数学方法严格证明它们是一个完备的集合,但是可以证明,在此之前已经提出的100多条软件工程准则都可以有这七条原理的任意组合蕴含或派生。下面简要介绍软件工程的七条原理:1、用分阶段的生命周期计划严格管理这一条是吸取前人的教训而提出来的。统计表明,50%以上的失败项目是由于计划不周而造成的。在软件开发与维护的漫长生命周期中,需要完成许多性质各异的工作。这条原理意味着,应该把软件生命周期分成若干阶段,并相应制定出切实可行的计划,然后严格按照计划对软件的开发和维护进行管理。 玻姆认为,在整个软件生命周期中应指定并严格执行6类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划。2、坚持进行阶段评审统计结果显示: 大部分错误是在编码之前造成的,大约占63%错误发现的越晚,改正它要付出的代价就越大,要差2到3个数量级。 因此,软件的质量保证工作不能等到编码结束之后再进行,应坚持进行严格的阶段评审,以便尽早发现错误。3、实行严格的产品控制开发人员最痛恨的事情之一就是改动需求。但是实践告诉我们,需求的改动往往是不可避免的。这就要求我们要采用科学的产品控制技术来顺应这种要求。也就是要采用变动控制,又叫基准配置管理。当需求变动时,其它各个阶段的文档或代码随之相应变动,以保证软件的一致性。4、采纳现代程序设计技术从六、七时年代的结构化软件开发技术,到最近的面向对象技术,从第一、第二代语言,到第四代语言,人们已经充分认识到:方法大似气力。采用先进的技术即可以提高软件开发的效率,又可以减少软件维护的成本。5、结果应能清楚地审查软件是一种看不见、摸不着的逻辑产品。软件开发小组的工作进展情况可见性差,难于评价和管理。为更好地进行管理,应根据软件开发的总目标及完成期限, 尽量明确地规定开发小组的责任和产品标准,从而使所得到的标准能清楚地审查。6、开发小组的人员应少而精开发人员的素质和数量是影响软件质量和开发效率的重要因素,应该少而精。 这一条基于两点原因:高素质开发人员的效率比低素质开发人员的效率要高几倍到几十倍,开发工作中犯的错误也要少的多; 当开发小组为N人时,可能的通讯信道为N(N-1)/2, 可见随着人数N的增大,通讯开销将急剧增大。7、承认不断改进软件工程实践的必要性遵从上述六条基本原理,就能够较好地实现软件的工程化生产。但是,它们只是对现有的经验的总结和归纳,并不能保证赶上技术不断前进发展的步伐。因此,玻姆提出应把承认不断改进软件工程实践的必要性作为软件工程的第七条原理。根据这条原理,不仅要积极采纳新的软件开发技术,还要注意不断总结经验,收集进度和消耗等数据,进行出错类型和问题报告统计。这些数据既可以用来评估新的 软件技术的效果,也可以用来指明必须着重注意的问题和应该优先进行研究的工具和技术。[编辑本段]方法学软体工程的方法有很多方面的意义。包括专案管理,分析,设计,程序的编写,测试和质量控制。 软件工程师软体设计方法可以区别为重量级的方法和轻量级的方法。重量级的方法中产生大量的正式文档。 著名的重量级开发方法包括ISO9000,CMM,和统一软体开发过程(RUP)。 轻量级的开发过过程没有对大量正式文档的要求。着名的轻量级开发方法包括极限编程(XP)和敏捷流程(AgileProcesses)。 根据《新方法学》这篇文章的说法,重量级方法呈现的是一种防御型的姿态。在应用重量级方法的软体组织中,由于软体项目经理不参与或者很少参与程序设计,无法从细节上把握项目进度,因而会对项目产生恐惧感,不得不要求程式设计师不断撰写很多“软体开发文档”。而轻量级方法则呈现“进攻型”的姿态,这一点从XP方法特别强调的四个准则—“沟通、简单、反馈和勇气上有所体现。目前有一些人认为,重量级方法合于大型的软体团队(数十人以上)使用,而“轻量级方法”适合小型的软体团队(几人、十几人)使用。当然,关于重量级方法和轻量级方法的优劣存在很多争论,而各种方法也在不断进化中。 一些方法论者认为人们在开发中应当严格遵循并且实施这些方法。但是一些人并不具有实施这些方法的条件。实际上,采用何种方法开发软体取决于很多因素,同时受到环境的制约。[编辑本段]主要课程外语、高等数学、线性代数、高等代数、电子技术基础、离散数学、计算机引论(C语言)、数据结构、C++程序设计、JAVA程序设计、Delphi程序设计、汇编语言程序设计、算法设计与分析、计算机组成原理与体系结构、数据库系统、计算机网络、软件工程、软件测试技术、软件需求与项目管理、软件设计实例分析、CMM/ISO9000等。 另外,还包括操作系统、软件体系结构概论、设计模式、多媒体技术基础、UML建模、概率论、大学英语等,部分院校还会包括大学物理,工程制图,数值分析等。[编辑本段]发展方向敏捷开发(Agile Development)被认为是软体工程的一个重要的发展。它强调软体开发应当是能够对未来可能出现的变化和不确定性作出全面反应的。 敏捷开发被认为是一种“轻量级”的方法。在轻量级方法中最负盛名的应该是“极限编程”(Extreme Programming,简称为XP)。而与轻量级方法相对应的是“重量级方法”的存在。重量级方法强调以开发过程为中心,而不是以人为中心。重量级方法的例子比如CMM/PSP/TSP。 面向侧面的程序设计(Aspect Oriented Programming,简称AOP)被认为是近年来软体工程的另外一个重要发展。这里的方面指的是完成一个功能的对象和函数的集合。在这一方面相关的内容有泛型编程(Generic Programming)和模板。[编辑本段]需求分析软件工程中包含需求、设计、编码和测试四个阶段,其中需求工程是软件工程第一个也是很重要的一个阶段,本文以医院管软件工程需求分析理系统为例详细介绍了需求工程的构成和进行方法。 首先人们必须了解需求工程和其他项目过程的关系: 图1需求与其他项目过程的关系 软件需求包括三个不同的层次-业务需求、用户需求和功能需求-也包括非功能需求:业务需说明了提供给客户和产品开发商的新系统的最初利益,反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明;用户需求文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明;功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。 需求工程分为了需求开发和需求管理两个阶段:下面就以这两个阶段说明: 一,需求开发 需求开发又分为需求获取、需求分析、编写规格说明书和需求验证。以下列出和讲解分析常规的步骤,当然应按照项目的大小和特点等实际情况我们应该自己确定合适的步骤。 1.需求获取: 1)确定需求开发过程:确定需求开发过程确定如何组织需求的收集、分析、细化并核实的步骤,并将它编写成文档。对重要的步骤要给予一定指导,这将有助于分析人员的工作,而且也使收集需求活动的安排和进度计划更容易进行。 2)编写项目视图和范围文档:项目视图和范围文档应该包括高层的产品业务目标,所有的使用实例和功能需求都必须遵从能达到的业务需求。项目视图说明使所有项目参与者对项目的目标能达成共识。而范围则是作为评估需求或潜在特性的参考。 表1项目视图和范围文档的模板 a、1背景在这一部分,总结新产品的理论基础,并提供关于产品开发的历史背景或形势的一般性描述。 a、2业务机遇描述现存的市场机遇或正在解决的业务问题。描述商品竞争的市场和信息系统将运用的环境。包括对现存产品的一个简要的相对评价和解决方案,并指出所建议的产品为什么具有吸引力和它们所能带来的竞争优势。 a、3业务目标用一个定量和可测量的合理方法总结产品所带来的重要商业利润,把重点放在给业务的价值上。 a、4客户或市场需求描述一些典型客户的需求,包括不满足现有市场上的产品或信息系统的需求。提出客户目前所遇到的问题在新产品中将可能(或不可能)出现的阐述,提供客户怎样使用产品的例子。确定了产品所能运行的软、硬件平台。 a、5提供给客户的价值确定产品给客户带来的价值,并指明产品怎样满足客户的需要。 a、6业务风险总结开发(或不开发)该产品有关的主要业务风险,例如市场竞争、时间问题、用户的接受能力、实现的问题或对业务可能带来的消极影响。预测风险的严重性,指明你所能采取的减轻风险的措施。 项目视图陈述编写一个总结长远目标和有关开发新产品目的的简要项目视图陈述。项目视图陈述将考虑权衡有不同需求客户的看法。它可能有点理想化,但必须以现有的或所期待的客户市场、企业框架、组织的战略方向和资源局限性为基础。 主要特性包括新产品将提供的主要特性和用户性能的列表。强调的是区别于以往产品和竞争产品的特性。可以从用户需求和功能需求中得到这些特性。 假设和依赖环境在构思项目和编写项目视图和范围文档时,要记录所作出的任何假设。通常一方所持的假设应与另一方不同。 首次发行的范围总结首次发行的产品所具有的性能。描述了产品的质量特性,这些特性使产品可以为不同的客户群提供预期的成果。随后发行的范围如果你想象一个周期性的产品演变过程,就要指明哪一个主要特性的开发将被延期,并期待随后版本发行的日期。 局限性和专用性明确定义包括和不包括的特性和功能的界线是处理范围设定和客户期望的一个途径。列出风险承担者们期望的而你却不打算把它包括到产品中的特性和功能。 客户概貌客户概述明确了这一产品的不同类型客户的一些本质的特点,以及目标市场部门和在这些部门中的不同客户的特征。 项目的优先级一旦明确建立项目的优先级,风险承担者和项目的参与者就能把精力集中在一系列共同的目标上。达到这一目的的一个途径是考虑软件项目的五个方面:性能、质量、计划、成本和人员。e.产品成功的因素明确产品的成功是如何定义和测量的,并指明对产品的成功有巨大影响的几个因素。不仅要包括组织直接控制的范围内的事务,还要包括外部因素。如果可能,可建立测量的标准用于评价是否达到业务目标. 3)用户群分类:产品的用户在很多方面存在着差异,例如:用户使用产品的频度、他们的应用领域和计算机系统知识、他们所使用的产品特性、他们所进行的业务过程、他们在地理上的布局以及他们的访问优先级。根据这些差异,你可以把这些不同的用户分成小组。用户类不一定都指人,你可以把其它应用程序或系统接口所用的硬件组件也看成是附加用户类的成员。以这种方式来看待应用程序接口,可以帮助你确定产品中那些与外部应用程序或组件有关的需求。将用户群分类并归纳各自特点为避免出现疏忽某一用户群需求的情况,要将可能使都有所差异。详细描述出它们的个性特点及任务状况,将有助于产品设计。 4)选择产品代表:择每类用户的产品代表为每类用户至少选择一位能真正代表他们需求的人作为那一类用户的代表并能作出决策。这对于内部信息系统的开发是最易实现的,因为此时,用户就是身边的职员。而对于商业开发,就得在主要的客户或测试者中建立起良好的合作关系,并确定合适的产品代表。他们必须一直参与项目的开发而且有权作出决策。每一个产品代表者代表了一个特定的用户类,并在那个用户类和开发者之间充当主要的接口。 5)建立核心队伍:建立起典型用户的核心队伍把同类产品或产品的先前版本用户代表召集起来,从他们那里收集目前产品的功能需求和非功能需求。这样的核心队伍对于商业开发尤为有用,因为你拥有一个庞大且多样的客户基础。与产品代表的区别在于,核心队伍成员通常没有决定权。 6)确定使用实例:让用户代表确定使用实例从用户代表处收集他们使用软件完成所需任务的描述-使用实例,讨论用户与系统间的交互方式和对话要求。在编写使用实例的文档时可采用标准模版,在使用实例基础上可得到功能需求。 一个单一的使用实例可能包括完成某项任务的许多逻辑相关任务和交互顺序。因此,一个使用实例是相关的用法说明的集合,并且一个说明是使用实例的例子。在描述时列出执行者和系统之间相互交互或对话的顺序。当这种对话结束时,执行者也达到了预期的目的。 对于一些复杂的使用实例,画出图形分析模型是有益的,这些模型包括数据流程图、实体关系图、状态转化图、对象类和联系图。 使用实例的描述并不向开发者提供他们所要开发的功能的细节。为了减少这种不确定性,需要把每一个使用实例叙述成详细的功能需求。每一个使用实例可引伸出多个功能需求,这将使执行者可以执行相关的任务;并且多个使用实例可能需要相同的功能需求。使用实例方法给需求获取带来的好处来自于该方法是以任务为中心和以用户为中心的观点。比起使用以功能为中心的方法,使用实例方法可以使用户更清楚地认识到新系统允许他们做什么。 每一个使用实例都描述了一个方法,用户可以利用这个方法与系统进行交互,从而达到特定的目标。使用实例可有效地捕捉大多数所期望的系统行为,但是你可能有一些需求,这些需求与用户任务或其他执行者之间的交互没有特定的关系。这时你就需要一个独立的需求规格说明。 7)召开应用程序开发联系会议:召开应用程序开发联系会议应用程序开发联系会议是范围广的、简便的专题讨论会,也是分析人员与客户代表之间一种很好的合作办法,并能由此拟出需求文档的底稿。该会议通过紧密而集中的讨论得以将客户与开发人员间的合作伙伴关系付诸于实践。 8)分析用户工作流程:分析用户工作流程观察用户执行业务任务的过程。画一张简单的示意图(最好用数据流图)来描绘出用户什么时候获得什么数据,并怎样使用这些数据。编制业务过程流程文档将有助于明确产品的使用实例和功能需求。你甚至可能发现客户并不真地需要一个全新的软件系统就能达到他们的业务目标。 9)确定质量属性:确定质量属性和其它非功能需求在功能需求之外再考虑一下非功能的质量特点,这会使你的产品达到并超过客户的期望。对系统如何能很好地执行某些行为或让用户采取某一措施的陈述就是质量属性,这是一种非功能需求。听取那些描述合理特性的意见:快捷、简易、直觉性、用户友好、健壮性、可靠性、安全性和高效性。你将要和用户一起商讨精确定义他们模糊的和主观言辞的真正含义。 10)检查问题报告:通过检查当前系统的问题报告来进一步完善需求客户的问题报告及补充需求为新产品或新版本提供了大量丰富的改进及增加特性的想法,负责提供用户支持及帮助的人能为收集需求过程提供极有价值的信息。 11)需求重用:跨项目重用需求如果客户要求的功能与已有的产品很相似,则可查看需求是否有足够的灵活性以允许重用一些已有的软件组件。