时间:2022-09-02 17:46:22
引言:易发表网凭借丰富的文秘实践,为您精心挑选了九篇界面设计毕业设计总结范例。如需获取更多原创内容,可随时联系我们的客服老师。
关键词:互联网+;交互设计;教学方法
交互设计作为21世纪的新兴学科,是一个多领域交叉性的学科,与众多传统互联网专业不同,交互设计在分析研究产品时,更加注重“产品---环境---用户”三者之间的相互关系,同时也十分关注用户的需求。交互设计对于从业者的要求不仅仅是在技术方面能够灵活应用专业知识完成设计任务,更重要的是研究者在实际的过程中与用户沟通,获取用户的真实需求,从而提升产品的依赖性。当前,我国高校培养体系并不完善,特别是在高职院校的培养体系中,往往只侧重于学生的实际动手能力,容易忽视交互设计流程与用户需求的关系,如此往复,无异于机械训练[1]。为了使交互设计有一个更合理的教学方法,本文就此做探讨与研究。
1交互设计与教学现状
近几年,随着“互联网+”逐渐升温,交互设计专业市场需求也不断壮大。为此,很多高职院校已经将交互设计专业方向设为了热门专业,虽然各高职院校都明确了交互设计方向,却忽略了交互设计的专业特点,结果教学模式照搬其他设计学科,如此便出现穿新鞋走老路的问题。交互设计与传统艺术设计专业不同,创新对于交互设计并不是最重要的,交互设计更重视用户的真实反馈,更多关注用户在使用产品时的真实体验。在培养学生方面,艺术设计专业以技能为主,注重培养学生的创新创造能力,但是交互设计的培养只是把技术作为一种手段,学生更应该注重如何研究用户,如何把用户的需求转化为交互流程[2]。如此一来,高职院校中偏重于技能训练的培养模式,在交互设计的教学培养体系中就显得有些失衡。在国际交互设计的发展模式中,交互设计的应用领域并不集中于互联网方面,很多国外的交互设计更加重视用户研究、交互方式、环境融和等方面,其应用领域则更加广泛,不仅仅是互联网虚拟交互,同时也在医疗、教育等实体领域发挥了巨大作用,并取得了一些令人瞩目的成绩。例如,SimoneM.DeDroog等人通过研究儿童在阅读绘本时的认知行为特点,改进儿童绘本的交互式分享阅读体验,以增进儿童对胡萝卜的摄入量。由此可见,当前欧美的交互设计在应用领域方面明显领先国内。但是,单就互联网交互设计而言,我国信息产业发展迅猛,并非他国可以类比。因此,交互设计教育方法改革,还是应该以我为主,国外为辅。
2教学改革的思路
专业教学培养体系并非固定不变,高职院校的专业建设应该根据社会实际岗位的真实需求来应对与改变,企业需要什么样的人才,社会发展需要怎样的职业素养,高校就应该创造适应的空间。目前,交互设计发展较快,通过调研发现,对于学习交互设计的学生而言,首先需要具备一定的界面设计能力,其次需要拥有良好的用户沟通和团队协调能力,最重要的是设计者清楚交互设计的整个过程,明白产品开发设计的全部流程。而在学校培养学生期间,除了单一的基本课程学习外,如何将每个课程串联起来,是能否让学生体验到整个设计流程的关键。以往的教学模式是根据所学习的课程分段式教学,这样最大的问题是学习内容很难与实际课题结合,学生只知道所学习的内容,却不知道如何在设计过程中去应用[3]。因而,交互设计必须积极探索新的教学模式,这种模式可以是开放式的,甚至是颠覆性的,目的是让学生能够清楚每一门课程的作用和在交互设计中的位置。针对这一目标,新的教学模式应该具有如下特点:第一,化繁为简整体教学。可以将关联度相近的课程结合,减少课程之间的分割,如图形软件学习课程等。第二,课程设置前后关联。每一门课程应该与前后课程呼应,增添课程之间的联系,如交互设计课程之前就需要开设用户研究课程。第三,设计流程循环教学。每一次课程学习都是一个独立的设计过程,这样学生长时间积累就可以对设计流程了如指掌。第四,重点内容重点突破。在一些重点难点的环节,需要开设专题训练,从而达到更好的教学效果,如开设用户研究方法的课题,就可以让学生们在短时间内提高对用户研究方法的理解和执行力。按照这样的改革思路,课程与实际项目接轨,高职院校则变为了企业发展的前沿阵地,课堂则成为了专业培养与设计实践的桥梁。
3教学改革的方法
经过实践调研发现,当前各互联网企业普遍遵循一个较为详细的交互设计流程(如图所示)。根据上述的设计流程,可以推断出目前交互设计岗位不但需要有一定的设计能力,同时也需要设计者能够参与用户研究与产品编程,这样对交互设计的学习者而言就需要具备较为综合的能力:第一,界面设计能力。能够从事最基本的界面设计工作,读懂设计规范,按照标准完成界面设计任务。第二,交互流程设计能力。能够将用户需求与产品功能相结合,设计出符合用户需求的产品框架图。第三,用户研究与分析能力。能够通过一定的方法来挖掘用户的真实需求,并根据用户需求确定产品方向。第四,计算机编程能力。能够看懂计算机编程语言,可以与程序员无障碍沟通。第五,视觉设计能力。能够从事一定的视觉设计工作,对于视觉化的信息有较敏感的嗅觉。因此,想要成为一名合格的交互设计师,就应该拥有界面设计、交互设计、用户研究、计算机编程和视觉设计等诸多能力。而对于高职院校而言,不但要在课程上开设与相关能力所对应的课程,例如:用户体验与研究、界面设计、交互设计、图形图表设计等[4];也要做好各个课程之间的衔接,巧妙设置课程前后顺序,如用户体验与研究的课程需要在交互设计课程前开设与完成。当然,交互设计教学体系中最重要的是开展项目教学的模式,这种项目教学模式不但可以通过工作坊的形式进行,也可以加入到日常的课程学习中。例如,在《视频剪辑与动画制作》的课程中,一方面可以结合项目或比赛设置课题,另一方面也可以巧妙地与之前结束的界面设计课程相结合,做到平面界面的动态演示,从而让学生们体会到如何从平面展示走向多媒体展示。通过具体案例分析与研究,现总结改革方法如下:
3.1专师辅导,小班化
教学交互设计需要学习者具有一定的沟通能力,能够在用户的言谈举止中发掘用户的真实需求,这需要在平日的教学中,教师与学生形成一对多的关系,尽量做到逐个辅导学生,手把手教授,与每一位学生沟通交流,传授心得,因而小班化的教学模式对于用户研究的课程而言十分必要[5]。
3.2集中授课,结合项目
设计类课程与其他学科课程稍有区别,其更加注重学习的应用能力,并且通常学生能够立竿见影地感知设计效果,应用效果也可以在短时间内得到验证。因此在教学过程中,尽量缩短课程的跨越时间,使得学生可以在较短的时间内集中精力完成相关课程的学习和练习,并在练习中,尽量寻找一些实际的案例,通过实践来检验教学的成果。
3.3开设工作坊,培养团队意识
所谓工作坊式教学,指在短期内组建学生团队,设立课题,让学生自行完成设计项目,期间老师可以引导学生展开工作,但是最终的任务应该由学生自行组织完成。工作坊式教学是类似于当前各大企业内部设计团队的工作模式,这种模式能够培养学生的团队合作能力、分工协作意识以及综合处理人—事—物的关系等能力。这种教学模式,就像一块职场试金石,能够及时发现学生面对职场竞争的优缺点。
3.4参与比赛,以赛代练
当前各种设计竞赛层出不穷,以参赛的形式磨练学生团队意识和设计能力不失为一种可靠而有效的手段。但是在参与比赛的过程中需要注意比赛只是教学的一个环节,相对于比赛的结果,更应该注重学生在比赛过程中的成长,不能为了获奖而盲目地参加各种比赛,最后竹篮打水一场空。
3.5毕业设计,高度重视
毕业设计是检验学生学习效果的重要方式,是学生大学的最终作品。因此,毕业设计的教学对学生至关重要,但由于工作和实习的压力,很多学生在大学的最后一年将更多精力用在了找工作或者各种职位考试中,毕业设计则逐渐成为鸡肋。虽然老师会有节点要求,但是大多数学生却并不会在意,这样一来毕业设计就成了最后毕业前期临时冲刺的作品,设计质量没有保障,设计流程也完全被打乱。因此,各高校应该加强对毕业设计的要求与管理,提前做好毕业设计的工作与安排,让学生能够妥善处理毕业设计与工作实习等事项,从而为大学最后的作品画上一个圆满的句号[7]。
4总结
综合以上几点,高职院校在交互设计教学体系的建设中,需要更加注重课程的教学效果,最好能够在相关课程的教学结束后有统一的项目实践进行教学验证。这样既为学生创造良好的实践机会,又找到了教学成果的试金石,可谓一举两得。但同时也应该注意到,教学与项目结合需要有一个平稳的过渡,应该避免生搬硬套,生硬地将各种项目附于课程教学中,其结果往往适得其反。此现象在当前高职院校各个专业教学中屡见不鲜,希望广大的教学同仁能够引起足够重视。
参考文献
[1]杜京明.高校艺术设计教学改革初探[J].才智,2014(8):74.
[2]蒋蕾.交互体验时代下的书籍设计教学改革探究[J].文海艺苑,2016(8):201.
[3]赵芳.“互联网+”下交互设计的“微”教学改革[J].美术大观,2016(6):163.
[4]丁亮.高职院校艺术设计教学改革初探[J].教育教学论坛,2013(30):208.
[5]唐帆.高职院校包装设计课程教学研究[J].湖南包装,2015,29(3):93-94.
[6]张祯军.教学改革的思考与实践[J].教育与学习,2017(3):95.
关键词:高校;学分制;毕业设计;信息化管理
中图分类号:TP319 文献标识码:A 文章编号:1673-8454(2012)09-0027-03
对于实施学分制教学管理模式的高等院校来说,学分制打破了在我国延续近半个世纪的本科生传统培养模式,使得学生在一定范围内具有了自主选择学习内容、学习进度和授课教师的权利和主动性,体现了以人为本的个性化教育理念,促进了教学质量、学生能力和素质的提高。但是由于我国高等教育现状与教育资源的限制,在实施学分制的过程中,也暴露出一些需要进一步改进和完善的问题,比如培养计划仍然过于刚性,学生选课、选教师余地较小,尤其是实践环节的教学,仍然以传统的指令性安排为主,难以体现学分制教育的基本理念。
一、毕业设计的意义及管理现状
1.毕业设计的意义
高等工科院校的毕业设计是检验教学计划是否达到本科生培养目标的重要环节。它通过深入实践、了解社会、完成毕业设计任务或撰写论文等诸环节,着重培养学生综合分析和解决问题的能力和独立工作能力、组织管理和社交能力;是学生在校期间学习深化、拓宽、综合运用所学知识的重要过程;是学生学习、研究与实践成果的全面总结;是学生综合素质与工程实践能力培养效果的全面检验;是实现学生从学校学习到岗位工作的过渡环节;是学生毕业及学位资格认定的重要依据;是衡量高等教育质量和办学效益的重要评价内容。
2.管理现状分析
目前在学分制下,普通高校的毕业设计仍基本沿袭过去的运行模式,首先由指导教师将毕业设计题目提交至院系,并由院系进行审查,再由各系按照一定原则进行毕业设计学生的分配,最后在院系监管下由指导教师负责完成毕业设计过程中学生诸多环节的指导与设计文档的提交。整个过程十分繁琐,院系管理工作量大。在毕业设计运行过程中存在以下问题亟待解决:
(1)毕业设计基本信息汇总。毕业设计开始前后,学生信息、课题信息和指导教师信息等毕业设计基本信息的汇总仍主要靠人工来完成,效率低下、重复性高且容易出错、耗时耗力、极不经济。
(2)毕业设计管理规范和细则的下发。在毕业设计的运行过程中,院系级管理机构经常会一些管理规范和细则,用于指导毕业设计,促使毕业设计顺利进行,通常以纸质文件下发到个系室,时效性较差。
(3)毕业设计各种文档的规范性。在毕业设计完成过程中,学生设计文档(论文封面、开题报告、文献综述、外文翻译和设计论文)和教师设计文档(任务书、进度表、指导教师评语、评阅教师评语和答辩小组评语)等文档格式标准不够完善,造成设计文档不够规范,不利于资料的保管和维护。
(4)学分制下毕业设计成绩提交。目前大多高校选课系统对毕业设计的运行采用课程教学的选课模式,而毕业设计的分配采用自然班或专业班,因此,校、院管理模式存在不一致现象,造成成绩提交难以操作,容易出错。
(5)毕业设计基本信息统计。毕业设计完成后要进行毕业设计总结与资料收集,档案管理,学生毕业设计成绩统计分布,指导教师工作量统计等,采用传统的人工统计法费时费力,且计算容易出错。
针对上述情况,使用电子文档替代纸质文档、网络化办公替代传统办公模式显然是办公自动化的一个进步,电子文档也越来越多地在高校毕业设计中得到使用,但是大部分文档分散存放于个人电脑中,管理缺乏科学性,文档安全性差,检索麻烦且困难,不宜共享访问,降低了文档使用率和使用价值。因此,搭建一个有效的毕业设计信息化管理平台,进行科学高效的管理势在必行。
二、毕业设计信息化管理平台的构建
1.信息化平台设计目标
针对学分制下本科毕业设计相关学生、指导教师和教务人员在毕业设计选题、中期检查、毕业设计答辩等阶段共同参与教学活动的特点,构建基于公共的Web服务的、多用户角色的毕业设计信息共享管理系统平台,旨在解决教学活动参与者在各阶段所面临的工作流程繁杂、工作量大的实际问题,并且充分发挥学分制下学生选题的自主性,避免学生被动参与该过程而缺乏毕业设计创新性的现实问题。
该系统平台从系统管理员、教务秘书、指导教师和学生四个用户角色在毕设过程中参与的业务范畴出发,分析其各自在系统管理、毕业设计选题、中期检查、毕业设计答辩以及公共信息管理方面的工作流程,通过开发与之相对应的系统功能来实现网上业务,辅助完成整个毕业设计工作,减少手工工作强度,提高管理水平和工作效率。
2.系统工作流程分析
按照毕业设计实施的总流程,毕业设计信息化管理系统的业务流程可以从选题、中期检查、毕业答辩三大部分来完成。分析获得的具体管理流程如图1所示。
在此工作流程图中,中间部分是毕业设计信息化管理系统内部核心业务流程,涉及从毕业设计开始到选题信息、确定指导教师、题目申报、学生选题、题目审核调配;从中期检查信息到中期检查结果公布;从答辩信息公布到毕业设计成绩公布。该流程图左边部分是毕业设计信息化管理系统各阶段相应流程应该生成的报表,而右边部分则是要完成整个毕业设计任务应该在系统外部实施的业务流程。
3.系统开发环境分析
考虑到系统用户多且分布广,运行的硬件和软件环境均不一,因此采用基于Web的B/S结构作为系统开发模式,为开发语言。由于系统所承载的信息量大,并且对数据管理系统的可靠性、安全性要求高,因此选用SQL Server 2000作为系统数据的存储平台。为进一步提高系统的稳定性,拟将系统程序和数据库分别放到Web服务器和数据库服务器上进行维护管理。
三、系统实现
1.系统功能设计
根据毕业设计信息化管理系统总的业务流程要实现选题、中期检查、毕业答辩三大业务的管理要求,该系统从系统管理、选题管理、中期检查管理、中期检查管理、公共信息管理和统计报表几个大的功能模块来完成整个系统的功能目标,系统的功能框架如图2所示。
2.系统界面设计
友好的系统界面是保障系统顺利实施的重要条件之一。采用结构化的程序设计思想,结合用户操作习惯以及提高信息输入效率,利用模块化的设计方法完成了系统用户界面的开发。系统主要界面如图3、图4所示。
四、结束语
通过本系统的开发和实施,可以辅助学生自主选择毕业设计指导教师和设计题目,查看中期检查结果,查看毕业设计成绩,以此结合学生兴趣来激励学生的毕业设计创新性,突出了学分制下学习的自主性和灵活性的特点。指导教师也可进行网上申报题目,提交中期检查结果和毕业设计成绩,查看各个阶段的工作信息,从而节省大量的时间;教学管理人员通过网上审批题目、审核、调配选题结果,能够更加快速直观地完成该工作任务,并通过系统生成的报表方便后期统计工作,从而在很大程度上降低手工工作强度,减少统计出错,提高工作效率。
参考文献:
[1]艾西拉甫·买苏提.提高毕业设计教学质量探讨[J]. 中国建设教育, 2008 ,10(10):26-28.
[2]李浩君,吴皖赣.高校毕业设计过程质量管理系统的设计与实现[J].中国教育信息化,2011(1):49-52.
[3]李志红.机械类应用型本科毕业设计问题与对策[J]. 安徽工业大学学报(社会科学版),2011,28(4):122-123.
关键词:高等教育;软件工程;课程改革;可用性
0 引言
软件工程从上世纪六十年代诞生以来,已经成为计算机科学领域中一个非常重要的独立学科。我国许多高校均开办了软件工程专业,为社会培养了大量的应用型软件人才。但和计算机的其他专业相比,软件工程专业在办学思路,教学模式、课程结构上还存在很多需要探索和改进的地方。软件工程专业的教学目标是培养软件开发人才,课程设计围绕软件开发的主线,教学围绕“程序语言、开发工具、软件设计、项目管理、软件测试”这条主线展开,主要是培养学生软件开发技能、降低软件开发的难度、提高代码的重用率、保证软件项目的正确实施和保证软件的功能完善等。从整体上看,虽然在软件设计之初也有用户需求分析的内容,但还是忽略了软件的可用性。在软件工程专业教育中忽略软件可用性内容将会产生如下严重的问题:所培养的软件开发人员缺少以用户为中心的观念;不能很好地领悟满足和引导用户的需求;无法开发出用户真正满意的软件。开发人员即使应用了最先进的软件技术,开发出的系统也可能没有多少使用价值。所以在完善软件功能的前提下,必须提高其可用性,增强与最终用户的沟通,改善用户的使用体验。同时,依据IEEECC 2001SE推荐软件工程核心课程工程化理念的设置模式,在软件工程专业的教学培养过程中增加工程化较强的软件可用性教育。
1 可用性教育的内容
可用性是交互式IT产品的重要质量指标,指的是产品对用户来说有效、易学、高效、好记、少错和令人满意的程度,即用户能否用产品完成他的任务、效率如何、主管感受怎么样,是从用户角度所看到的产品质量,是产品竞争力的核心。自八十年代以来,人们对产品可用性的重视促进了可用性工程(Usability Engineering)这一概念的出现,并相应地形成了一个在学术界和工业界均十分热门的领域。可用性工程是一个涉及心理学、人类工效学、工业设计和计算机等多学科交叉的领域,是以提高和评价产品可用性质量为目的的一系列过程、方法、技术和标准。可用性工程是开发IT产品及用户界面的一种工程方法论,贯穿于产品生命周期的各个阶段,其核心就是以用户为中心(UCD:User-Centered Designer)的设计方法论,强调从用户的角度进行产品的设计和开发。
在软件工程专业的教育过程中增加可用性内容,是为了让学生树立人本思想,学会使用以用户为中心的软件设计方法。具体地讲。针对软件工程专业的可用性教育可从“研究用户”、“用户界面设计”和“可用性评估”三个方向进行。其中“用户研究”和“用户界面设计”是整个可用性教育中的重点内容。
1.1 研究用户
1.1.1 用户研究的重要性
软件工程专业中的软件工程课程,从传统软件工程学的角度描述了需求分析的重要性,说明了需求是回答“系统必须做什么”这个问题。具体一般采用结构化分析方法。需求分析阶段给出可行性研究文档和数据流图,所以传统软件工程需求分析主要是以数据为中心,工作的中心是数据。而前期的可行性研究阶段主要是从技术、经济、操作这三个方面展开的。虽然其中有用户参与,但用户的参与对系统的影响非常微弱。因为缺少对最终用户的深入研究,传统软件工程学方法无法将用户的真正需求分析清楚。用户是产品成功与否的最终评判者,我们认为软件产品的设计应强调用户需求至上,将用户研究放到一个更高的地位,形成真正以用户为中心的产品设计策略。通过对用户的深入研究,了解用户的目标、行为和观点,关注用户的情感,然后把他们的需求作为软件产品设计的第一任务。
1.1.2 用户研究曲目标
软件工程专业教育中用户研究的目标是,通过对软件产品需求的深入研究,确定软件产品的特定用户群、界定软件产品目标任务、确定系统功能与参数以及软件产品可用性评价标准等。
1.1.3 用户研究的内容
用户研究的内容可以具体体现在以下四点。
第一,让学生了解在软件设计过程中,需要平衡用户思维模式、系统运行模式和设计者思维模式,需要将用户的需要和系统所能提供的资源有机地结合起来。作为软件设计者的思维模式,应该综合考虑用户在完成系统任务过程中的全部用户体验。
第二,明确软件设计能够满足用户的要求,首先必须能够认定软件产品的目标用户。可利用用户特征法对用户进行分析和描述从而认定目标用户。
第三,必须明确用户目标并不是产品或系统设计目标的总和。软件产品必须平衡商业目标、用户目标和设计目标之间的关系。
第四,研究市场竞争,用户的总和是市场的主体,用户的需求构成了市场的需求。所以研究市场可以很好地在市场的环境下,赢得用户而获取经济效益。
1.2 用户界面设计
1.2.1 用户界面设计的重要性
软件产品成功与否和界面设计密切相关。在界面设计阶段须在前期用户研究的基础上完成对软件的形式定义、视图定义、功能定义、功能组合及顺序、关键路径定义、交互框架等。这些内容在传统的软件工程课程中涉及很少。
1.2.2 用户界面设计的目标
用户界面解决的问题是:如何设计用户界面以有效地帮助用户完成他们的任务。在软件工程专业的可用性教育过程中,主要向学生介绍学术界和工业界经过长时间实践和探索总结出的用户界面设计方法。用户界面设计包括技术、美学和人文等多学科成分,没有一种设计方法能够完全顾及这些设计的复杂性因素,所以在具体的教学过程中,应该告诉学生以开放的态度应对设计过程中的各种特殊问题。
1.2.3 用户界面设计的内容
用户界面设计主要集中在信息架构设计、用户交互设计、可及性(Accessibilify)设计等内容。
(1)信息架构设计。该部分主要让学生了解将软件若干信息组织在一起的方法,完成软件功能定义、功能组合及顺序、以及关键路径定义等问题。信息架构的内容非常广泛,在教学过程中,除了向学生介绍了信息架构的基本知识,还要介绍当前工业界应用广泛的“卡片分析法和聚类分析法(Cluster Analysis)”。
(2)用户交互设计。该部分主要让学生了解交互式系统设计的基本规则和方法,熟练掌握常用软件的会话风格设计、人机界面模式、交互流程设计等。
(3)可及性设计。用户需求是无止境的,但指标是确定的,要根据资源、技术、方法和手段确定我们可以达到的哪些指标。
1.3 可用性评估
可用性评估部分应向学生介绍基本的可用性评估方法:用户测试法。教学中介绍常用的用户测试要求书的基本写法、软件可选用性测试任务设计方法、问卷设计方法、测试结果统计分析方法煅基于统计结果的可用性重构方法等。
2 可用性教育的实施原则和步骤
理论的进步和技能的进步,是人类社会发展的两个方面。没有理论指导的劳动,在哲学上只能称是低层次的活动,不能称为实践活动;反之,没有技能的支撑,理论只能停留在书本和口头上,再好的设计也成不了现实。所以可用性教育的原则是让学生在理论知识的基础上充分进行实践活动,通过实践加深对软件可用性的理解,并掌握具体的软件可用性施法方法和技术。
在软件工程专业中实施可用性教育一般可以采用两种方法,第一,在课时能够保证的情况下设计可用性工程教学计划为独立授课方式,课时可以设定为32学时,学分2分,可以安排在软件工程专业大三下学期或大四上学期进行,先修课程为“软件工程”或“面向对象软件工程”以及“可视化程序设计”等;第二,如果课时不足,不能设为独立授课方式,则可将可用性教育内容分散到其他专业课程中,如在“软件工程”课程中加入用户研究部分内容、在“可视化程序设计”中加入用户界面设计部分内容、在“软件测试”中加入可用性评估内容。
独立授课的考核方式,可以采用理论加实践的方式,理论部分主要考察学生对可用性的认识、一般用户研究方法、用户界面设计准则和可用性评估方法等内容;实践部分主要考察学生灵活运用软件可用性设计方法的能力,在实践考核过程中,可以用大作业的方式,将学生分组,在小组内学生合作完成软件项目开发。
3 软件工程专业可用性教学效果评价
对已实施可用性教育的软件工程专业,评价其教学效果可以从以下几个方面进行:需求分析的准确性和实际开发软件的可学习型、易用性、使用效率、错误率、用户体验、用户综合满意度等。
作者在实际的教学过程中,通过对比发现,实施了可用性教学的软件工程专业学生,毕业设计软件作品的整体水平高于没实施过可用性教育的学生的作品;同时对已经毕业的学生进行跟踪调查发现,实施了可用性教学的学生在软件公司的适应能力、客户沟通能力、客户需求发掘能力都表现较好。
0 引言
毕业设计是本科教学中非常重要的一个教学环节,是对学生所学知识的检验和总结,是培养学生独立分析和解决问题能力的重要手段,也是学生进入工作岗位前的最后一次实战演习;并且,它是本科教学水平评估指标体系的重要指标之一,是考核学校本科教学水平和质量的重要内容。
软件开发是计算机专业毕业设计中一个重要组成部分。学生开发的软件质量直接反映出毕业设计质量,而指导教师的指导和监控对学生开发软件的质量高低有很大影响。本文首先介绍了软件类毕业设计的特点、遇到的问题及其原因分析,然后将敏捷软件开发技术应用于指导和监控软件类毕业设计,最后通过具体的实践对其进行总结。
1 目前状况及问题
1.1 软件开发类毕业设计的特点
本科计算机专业毕业设计中,软件开发占很大比重。而软件开发类毕业设计与其他专业的毕业设计以及商业化软件开发又有很大不同,主要体现在:
(1)设计的最终目的是要生成可运行的、实现一定功能的、错误率较低的实际软件产品,而不仅仅是提交一份文档报告。
(2)设计小组成员分工合作,要将各人的成果整合,形成完整的软件;小组每个成员不是完全孤立的,每个人的工作都与其他人息息相关。
(3)项目小组一般只包括一个人或几个人,人数较少,远少于一般商业化软件开发项目小组的人数。
(4)小组成员没有足够的团队意识,没有足够的软件工程经验,一般没有作为一个团队的成员共同开发过软件产品。
(5)项目开发过程不完全,编码的结束即意味着项目的结束。项目不要求有完整的工程化的分析和设计文档。
(6)有些软件开发没有与商业项目挂钩,也就没有真实客户的需求对其进行功能和性能上的监控。
1.2 遇到的问题及原因分析
根据上面的特点可以看出,普通毕业设计的指导方式或是工程化的控制手段,并不能适应软件开发类毕业设计,最终会导致毕业设计质量低下,学生得不到真正锻炼。比较突出的问题主要表现在以下几个方面:
(1)项目组成员各人任务不明确,能力参差不齐,并且有时没有充分地交流设计思想,最后导致软件各个功能模块无法有效整合。
(2)项目需求因为各种原因不断改变,软件不断修改,最终完成的软件产品达不到设计要求。
(3)编码开始后,软件的错误和缺陷不断涌现、不断累积,最终无法控制。
这些问题的产生,固然与设计选题、学生能力、实验环境以及教师的指导力度分不开,最重要的还是与教师的指导和监控方式有关。应当采用恰当的指导和监控方式,最大化地促进学生能力的提高,最有效地根据各个学生的特点,推动学生逐步达到毕业设计软件质量和功能的要求。
2 敏捷软件开发技术的应用
采用适当的指导和监控方式,实际就是要求教师对学生软件开发应用适当的软件过程模型,也就是软件开发的工程化控制手段。
2.1 敏捷软件开发简介
传统的软件工程方法中的架构设计与程序开发在时间上是先后分离的,这种分离常常导致一些脱离实际的设计和脱离设计构想的编程,导致最终软件开发的不理想甚至是失败。鉴于以上问题,敏捷软件开发技术应运而生。
敏捷软件开发以交付而不是以构造为核心,它强调的是交付对客户有价值的软件,而不是用户需求中所描述的软件。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷软件开发方法提倡采用先进的技术和高水平的小型团队,并辅以人性化的管理,充分发挥软件开发者的才华,建立畅通的交流机制,使软件开发团队水平和软件质量共同提高。
敏捷式开发采用适应性方法,而传统的软件工程学采用的是预测性方法。敏捷式开发是以人为主的,而传统的工程学是以过程为主的。二者的主要区别存在于它们对软件开发过程的描述中,也就是说,敏捷开发实现当前最需要的功能,然后根据变化来修正和改进;而传统软件工程学一开始就将软件的各种架构预测好,然后采用固定的过程来实现这种架构。软件开发中的变化是不可避免的(通常传统软件开发的失败主要原因就是不能很好适应这种不可预知的变化),因此就要找到一种新的方法能够更有效地适应变化,这其实也就是敏捷式开发方法所要达到的效果。
可以看出,上述的敏捷软件开发的许多特点正是与软件开发类毕业设计的许多特点不谋而合,例如,小型的开发小组,适应性(适应不可预测变化)的开发机制,短期的交付(毕业设计一般都在半年甚至更短时间内完成软件的交付),充分发挥小组成员的特点,建立畅通的交流机制等等。因此,将敏捷开发思想引入毕业设计中的软件开发,不失为解决后者诸多问题的很好尝试。
2.2 敏捷软件开发应用 敏捷软件开发技术包含若干的价值观、原则和实践方法。将其用于毕业设计的指导和监控,主要应包含如下原则的应用:
2.2.1 增量式开发
传统软件类毕业设计采用传统软件工程学指导方法,先进行需求分析,然后根据需求进行功能模块划分,接着开始编程。如果最初阶段不能很好地完成分析和设计任务,后面的软件开发将出现严重问题。
而在敏捷软件中,采用的是增量式开发,对于难度较大的软件设计,不是一步吃透功能,而是逐步添加功能,在改进的过程中促进学生能力的提高。在笔者指导的一项毕业设计中,要求学生用Java编制网络实时通讯软件。采用增量式开发方法,先要求学生实现基本功能,即发送字符串到另外一台计算机,使用 Windows的超级终端作为接收机进行测试;接下来要求学生实现程序互相发送和接收字符信息;然后,实现聊天室的多人聊天的线程控制;进一步可以实现数据库存储登录用户信息,并进行验证;最后,实现其他功能,例如网络硬盘,文件传输等等。在开发过程中,增量式设计能够让学生逐步进入高层次的内容,而不是一开始就进行高难度的开发。并且,通过逐步修改代码,可以提高学生阅读代码和优化代码的能力,学生的编程水平得到很好的提高。
2.2.2 可持续的开发速度
敏捷开发技术不要求团队一开始就尽全力完成任务,而是尽量保持一种稳定的、可持续的开发速度;团队的成员必须始终保持旺盛的精力和警觉的思想。
在很多毕业设计中,一开始学生就以极高的热情和全力以赴的状态去工作,然而随着进度的延缓,错误不断增多,以及越来越复杂的需求变化,学生的热情迅速减退,最终影响设计成果。因此,指导老师必须充分调动学生的积极性,又不能让学生的精力过早地消耗,要保持一个稳定的进度。
2.2.3 简单
敏捷软件开发方法采用最简单的方式实现当前最需要的功能。在毕业设计中,针对某一个功能,采用尽量简单的方式去实现,不需要考虑为了将来的功能而进行“提前的准备”。因为这种“提前的准备”往往会让学生考虑问题过多,反而忽略了当前最重要的内容。
然而,简单并不代表着功能的缩减,当某些功能的实现成为必须的时候,敏捷软件开发方法采用在代码上改进的方式来完成,并且以此为机遇,充分进行反省,让学生在改进中得到进一步提高。
2.2.4 结对编程
结对编程是敏捷开发和极限编程(XP)的重要实践,它是指两个程序员结对使用同一台计算机完成编码——其中一位控制键盘并输入代码,另一位观察输入的代码并寻找着代码中的错误和可以改进的地方。这种方式能极大地促进知识在团队中的传播,并有效降低代码的错误率。
在毕业设计中,根据学生的特点,采用结对编程方式,可以让学生充分交流,互补所短,互用所长,互相学习。例如,在网页制作类的软件开发中,ASP脚本编程人员和界面设计人员结对,能够充分利用二者的特点,将脚本程序和网页界面元素有机地结合起来,形成功能完善,界面美观的动态网页。
2.2.5 适应改变
敏捷开发的一个重要特点就是它能够很好地适应改变,并且欢迎改变。这里的改变主要是指功能需求方面的改变。而敏捷开发对改变的适应,主要是通过增量开发,持续交付以及不断地改进与反省来实现的。
在毕业设计中,设计题目一经给出,主要方向不能变。然而选择题目的学生是变化的,个体能力有时候有很大差别,并且在开发中会碰到很多不能预知的技术问题。采用敏捷开发中的过程控制手段,可以有效地让毕业设计小组更好地应对各种变化,不会因为突发因素导致软件开发的失败。
2.2.6 个体激励和交流
毕业设计的重要目的是促进学生各方面能力的提高,采用的手段可以有很多。在敏捷设计中,强调个人能力在团队中的充分展示。把这种思想应用于毕业设计指导中,可以采取定期召开小型交流会议的方式,让每一个组员充分发挥自己的能力,以“头脑风暴”的形式对系统当前状态和改进方式进行畅所欲言的交谈。通过这种形式的交流,能够充分调动整个小组成员的积极性,及时发现系统开发过程中的各种问题,增强整个小组的凝聚力,有效提高学生的团队协作能力。
2.2.7 反省
好的团队并不只是埋头工作,他们会思考如何工作和为什么工作。在毕业设计指导过程中,指导教师应当在适当的时机提醒学生对开发工作中各项内容进行反省,让学生能够有机会去辨别可能或已经发生的错误。反省不仅仅是简单的思考过程,反省的后面应该紧跟着行动,学习是反省的行为,要能够将错误造成的危害尽早地阻止,并从中学习,以免同样错误的再次发生。
2.2.8 其他原则
敏捷软件开发技术还包含其他一些原则,在设计中包含了面向对象设计的一些基本原则,例如单一职责原则(SRP)、开放一封闭原则(OCP)等等。要将这些设计原则应用到具体的软件开发中,需要学生熟悉面向对象程序设计的相关概念和技术。
将敏捷软件开发技术应用到毕业设计的指导过程中,需要指导教师本身对它有较为深刻的理解,并且勇于进行大胆的尝试一毕竟敏捷开发的很多实践是与传统软件工程学方法相悖的。指导教师可以先在某一门程序设计课的课程设计中采用这种思想,然后进行相应的调整,再将其应用于毕业设计的指导工作。
3 结束语
将敏捷软件开发技术应用于指导毕业设计,能够充分适应软件类毕业设计的特点。在实际采用这种方法对我校的两组毕业设计小组进行指导的过程中,可以看出,这两组同学在对语言工具和相关知识不是很熟悉的情况下,采用渐进的方式,逐步实现设计要求的功能,并且不断对代码进行改进,软件完成的质量比其他小组明显要高。毕业答辩中,小组成员能够很清晰地阐述其软件开发进程以及相关知识的学习过程。并且,小组成员通过毕业设计加深了交流,团队协作能力有了大幅度的提高,小组成员个人的精神面貌也有了较大的改变。
建筑中,结构是为建筑物提供安全可靠、经久耐用、节能节材、满足建筑功能的一个重要组成部分,它与建筑材料、制品、施工的工业化水平密切相关,对发展新技术。新材料,提高机械化、自动化水平有着重要的促进作用。
由于结构计算牵扯的数学公式较多,并且所涉及的规范和标准很零碎。并且计算量非常之大,近年来,随着经济进一步发展,城市人口集中、用地紧张以及商业竞争的激烈化,更加剧了房屋设计的复杂性,许多多高层建筑不断的被建造。这些建筑无论从时间上还是从劳动量上,都客观的需要计算机程序的辅助设计。这样,结构软件开发就显得尤为重要。
一栋建筑的结构设计是否合理,主要取决于结构体系、结构布置、构件的截面尺寸、材料强度等级以及主要机构构造是否合理。这些问题已经正确解决,结构计算、施工图的绘制、则是另令人辛苦的具体程序设计工作了,因此原来在学校使用的手算方法,将被运用到具体的程序代码中去,精力就不仅集中在怎样利用所学的结构知识来设计出做法,还要想到如何把这些做法用代码来实现,
4.文献研究概况
在不同类型的结构设计中有些内容是一样的,做框架结构设计时关键是要减少漏项、减少差错,计算机也是如此的。
建筑结构设计统一标准(gbj68-84)该标准是为了合理地统一各类材料的建筑结构设计的基本原则,是制定工业与民用建筑结构荷载规范、钢结构、薄壁型钢结构、混凝土结构、砌体结构、木结构等设计规范以及地基基础和建筑抗震等设计规范应遵守的准则,这些规范均应按本标准的要求制定相应的具体规定。制定其它土木工程结构设计规范时,可参照此标准规定的原则。本标准适用于建筑物(包括一般构筑物)的整个结构,以及组成结构的构件和基础;适用于结构的使用阶段,以及结构构件的制作、运输与安装等施工阶段。本标准引进了现代结构可靠性设计理论,采用以概率理论为基础的极限状态设计方法分析确定,即将各种影响结构可靠性的因素都视为随机变量,使设计的概念和方法都建立在统计数学的基础上,并以主要根据统计分析确定的失效概率来度量结构的可靠性,属于“概率设计法”,这是设计思想上的重要演进。这也是当代国际上工程结构设计方法发展的总趋势,而我国在设计规范(或标准)中采用概率极限状态设计法是迄今为止采用最广泛的国家。
结构的作用效应常见的作用效应有:
1.内力。
轴向力,即作用引起的结构或构件某一正截面上的法向拉力或压力;
剪力,即作用引起的结构或构件某一截面上的切向力;
弯矩,即作用引起的结构或构件某一截面上的内力矩;
扭矩,即作用引起的结构或构件某一截面上的剪力构成的力偶矩。
2.应力。如正应力、剪应力、主应力等。
3.位移。作用引起的结构或构件中某点位变(线位移)或某线段方向的改变(角位移)。
4.挠度。构件轴线或中面上某点在弯短作用平面内垂直于轴线或中面的线位移。
5.变形。作用引起的结构或构件中各点间的相对位移。变形分为弹性变形和塑性变形。
6.应变:如线应变、剪应变和主应变等。
极限状态整个结构或结构的一部分超过某一特定状态就不能满足设计规定的某一功能要求,此特定状态称为该功能的极限状态。极限状态可分为两类:
1.承载能力极限状态。结构或结构构件达到最大承载能力或达到不适于继续承载的变形的极限状态:
(1)整个结构或结构的一部分作为刚体失去平衡(如倾覆等);
(2)结构构件或连接因材料强度被超过而破坏(包括疲劳破坏),或因过度的塑性变形而不适于继续承载;(3)结构转变为机动体系;
(4)结构或结构构件丧失稳定(如压屈等)。
2.正常使用极限状态。结构或结构构件达到使用功能上允许的某一限值的极限状态。出现下列状态之一时,即认为超过了正常使用极限状态:
(1)影响正常使用或外观的变形;
(2)影响正常使用或耐久性能的局部损坏(包括裂缝);
(3)影响正常使用的振动;(4)影响正常使用的其它特定状态。
结构设计的基本任务,是在结构的可靠与经济之间选择一种合理的平衡,力求以最低的代价,使所建造的结构在规定的条件下和规定的使用期限内,能满足预定的安全性、适用性和耐久性等功能要求。为达到这个目的,人们采用过多种设计方法。以现代观点看,可划分为定值设计法和概率设计法两大类。
1.定值设计法。将影响结构可靠度的主要因素(如荷载、材料强度、几何参数、计算公式精度等)看作非随机变量,而且采用以经验为主确定的安全系数来度量结构可靠性的设计方法,即确定性方法。此方法要求任何情况下结构的荷载效应s(内力、变形、裂缝宽度等)不应大于结构抗力r(强度、刚度、抗裂度等),即s≤r。在20世纪70年代中期前,我国和国外主要都采用这种方法。
2.概率设计法:将影响结构可靠度的主要因素看作随机变量,而且采用以统计为主确定的失效概率或可靠指标来度量结构可靠性的设计方法,即非确定性方法。此方法要求按概率观念来设计结构,也就是出现结构荷载效应3大于结构抗力r(s>r)的概率应小于某个可以接受的规定值。这种方法是20世纪40年代提出来的,至70年代后期在国际上已进入实用阶段。我国自80年代中期,结构设计方法开始由定值法向概率法过渡。
面向对象编程
使创建windows程序较为容易的关键技术是面向对象编程,或oop。这种技术可以创建可重用组建,它是程序的组成模块。
几个定义
控件提供程序可见界面的可重用对象。控件的示例有文本框、标签和命令按钮。
事件由用户或操作系统引发的动作。事件的示例有击键、单击鼠标、一段时间的限制,或从端口接收数据。
方法嵌入在对象定义中的程序代码,它定义对象怎样处理信息并响应某事件。例如,数据库 对象有打开纪录集并从一个记录移动到另一个记录的方法。
对象程序的基本元素,它含有定义其特征的属性,定义其任务和识别它可以响应的事件的方法。控件和窗体是visualbasic中所有对象的示例。
过程为完成任务而编写的代码段。过程通常用于响应特定的事件。
属性对象的特征,如尺寸、位置、颜色或文本。属性决定对象的外观,有时也决定对象的行为。属性也用于为对象提供数据和从对象取回信息。
5.设计主要内容
本软件适用于现浇钢筋混凝土多层、多跨的框架的设计。毕业设计要完成的工作包括:
1.平面钢架分析程序的改造
对结构力学教研室版平面钢架分析程序进行修改和补充。要求:
(1)编写自动生成节点坐标和单元节点编号的程序,或以图形方式输入计算简图。
(2)修改程序,使之适合多工况内力计算;(3)根据输入、输出数据的特点,设计适当的人机界面。输出应可选的显示各构件端力和内力图。
2.编写钢筋混凝土多层多跨框架机构的构件设计程序
(1)根据有关的规范,应明确计算的各种荷载(恒载、楼屋面活载、风荷载和地震作用等)的计算方法,在次基础上编写自动生成各种荷载作用下的结点荷载和单元荷载的程序。
地震作用按底部剪力法确定。自振周期用经验公式确定。
(2)计算各种荷载单独作用时框架各杆件的内力。计算结构存放在各自的杆端力(随机)文件中。
对竖向荷载下的梁端弯距进行塑性调幅。
(3)在(2)中产生的杆端力文件基础上,分别计算各种可能的荷载组合下,梁、柱控制截面的内力。计算结果存放在适当的文件中。
(4)从(3)生成的文件中选出最不利组合,同时给出截面配筋。
梁、柱截面配筋的确定应考虑抗震设计的要求。
(5)部分编程较熟练的同学可根据计算结果和构造规定,用auto-cadvba绘制梁、柱配筋图。
5.成果形式
本毕业设计的成果应包括:
1.可运行的、并能给出正确计算结果的源程序
在存放源程序的软盘中,应至少有一个算例的数据文件,可在基本不需另外键入数据的前提下,显示正确地运行结果。
2.软件使用手册
这是为用户准备的关于软件使用方法、操作步骤和其他必要的文字材料。
3.软件说明书
这是软件作者的工作档案,是软件维护的基本资料。其中应包括:
(1)软件所依据的工作档案、力学和工程结构模型的较为详细的描述,主要的计算公式及其使用的符号的含义,重要算法的文字说明:
(2)程序的结构:模块的划分的情况、各模块相互之间的关系及各模块的功能;
(3)带有较为详细的注释的源程序文本。其中应注明各标识符的含义(尽可能的采用通用公式中的符号)。各程序段的功能、相应的数学公式和特殊算法的说明;(4)为使他人根据软件说明书读懂你的程序所必需的其他资料。
(5)部分编程较熟练的同学可递交梁、柱配筋图纸一张。
4.对自己所编程序的评价
(1)对算例计算结果的合理性进行必要的分析;
(2)总结软件设计过程中的经验和及教训,提出设计改进意见。
以上各项资料处源程序文本以软盘形式提交外,其余均用计算机打印。
6.进度计划
第一周毕业实习,参观工程,收集资料。
第二周需求分析:描述计算机模型,编些初步的软件说明书。
第三周软件设计:选择模块划分的方案
第四周模块设计:数据输入界面设计(梁柱截面数据)
或数据输入界面设计(可视化图形输入)
第五周数据输入界面设计(框架数据、附加荷载)
第六周模块设计:荷载计算(恒载、活载),相应的内力计算
第七周荷载计算(风荷载、地震作用),相应的内力计算
第八周模块设计:梁配筋计算
第九周梁荷载组合,确定梁配筋
第十周梁荷载组合,确定梁配筋
第十一周模块设计:柱配筋计算
第十二周柱荷载组合,确定柱配筋
第十三周柱荷载组合,确定柱配筋
第十四周软件测试或用autocadvba绘制梁、柱配筋图;
第十五周软件测试
第十六周整理源程序,编写软件说明数和用户手册
2.项目研究背景:
所要编写的结构程序是混凝土的框架结构的设计,建筑指各种房屋及其附属的构筑物。建筑结构是在建筑中,由若干构件,即组成结构的单元如梁、板、柱等,连接而构成的能承受作用(或称荷载)的平面或空间体系。
编写算例使用建设部最新出台的《混凝土结构设计规范》GB50010-2002,该规范与原混凝土结构设计规范GBJ10-89相比,新增内容约占15%,有重大修订的内容约占35%,保持和基本保持原规范内容的部分约占50%,规范全面总结了原规范实施以来的实践经验,借鉴了国外先进标准技术。
3.项目研究意义:
建筑中,结构是为建筑物提供安全可靠、经久耐用、节能节材、满足建筑功能的一个重要组成部分,它与建筑材料、制品、施工的工业化水平密切相关,对发展新技术。新材料,提高机械化、自动化水平有着重要的促进作用。
由于结构计算牵扯的数学公式较多,并且所涉及的规范和标准很零碎。并且计算量非常之大,近年来,随着经济进一步发展,城市人口集中、用地紧张以及商业竞争的激烈化,更加剧了房屋设计的复杂性,许多多高层建筑不断的被建造。这些建筑无论从时间上还是从劳动量上,都客观的需要计算机程序的辅助设计。这样,结构软件开发就显得尤为重要。
一栋建筑的结构设计是否合理,主要取决于结构体系、结构布置、构件的截面尺寸、材料强度等级以及主要机构构造是否合理。这些问题已经正确解决,结构计算、施工图的绘制、则是另令人辛苦的具体程序设计工作了,因此原来在学校使用的手算方法,将被运用到具体的程序代码中去,精力就不仅集中在怎样利用所学的结构知识来设计出做法,还要想到如何把这些做法用代码来实现,
4.文献研究概况
在不同类型的结构设计中有些内容是一样的,做框架结构设计时关键是要减少漏项、减少差错,计算机也是如此的。
建筑结构设计统一标准(GBJ68-84)该标准是为了合理地统一各类材料的建筑结构设计的基本原则,是制定工业与民用建筑结构荷载规范、钢结构、薄壁型钢结构、混凝土结构、砌体结构、木结构等设计规范以及地基基础和建筑抗震等设计规范应遵守的准则,这些规范均应按本标准的要求制定相应的具体规定。制定其它土木工程结构设计规范时,可参照此标准规定的原则。本标准适用于建筑物(包括一般构筑物)的整个结构,以及组成结构的构件和基础;适用于结构的使用阶段,以及结构构件的制作、运输与安装等施工阶段。本标准引进了现代结构可靠性设计理论,采用以概率理论为基础的极限状态设计方法分析确定,即将各种影响结构可靠性的因素都视为随机变量,使设计的概念和方法都建立在统计数学的基础上,并以主要根据统计分析确定的失效概率来度量结构的可靠性,属于“概率设计法”,这是设计思想上的重要演进。这也是当代国际上工程结构设计方法发展的总趋势,而我国在设计规范(或标准)中采用概率极限状态设计法是迄今为止采用最广泛的国家。
结构的作用效应常见的作用效应有:
1.内力。
轴向力,即作用引起的结构或构件某一正截面上的法向拉力或压力;
剪力,即作用引起的结构或构件某一截面上的切向力;
弯矩,即作用引起的结构或构件某一截面上的内力矩;
扭矩,即作用引起的结构或构件某一截面上的剪力构成的力偶矩。
2.应力。如正应力、剪应力、主应力等。
3.位移。作用引起的结构或构件中某点位变(线位移)或某线段方向的改变(角位移)。
4.挠度。构件轴线或中面上某点在弯短作用平面内垂直于轴线或中面的线位移。
5.变形。作用引起的结构或构件中各点间的相对位移。变形分为弹性变形和塑性变形。
6.应变:如线应变、剪应变和主应变等。
极限状态整个结构或结构的一部分超过某一特定状态就不能满足设计规定的某一功能要求,此特定状态称为该功能的极限状态。极限状态可分为两类:
1.承载能力极限状态。结构或结构构件达到最大承载能力或达到不适于继续承载的变形的极限状态:
(1)整个结构或结构的一部分作为刚体失去平衡(如倾覆等);
(2)结构构件或连接因材料强度被超过而破坏(包括疲劳破坏),或因过度的塑性变形而不适于继续承载;(3)结构转变为机动体系;
(4)结构或结构构件丧失稳定(如压屈等)。
2.正常使用极限状态。结构或结构构件达到使用功能上允许的某一限值的极限状态。出现下列状态之一时,即认为超过了正常使用极限状态:
(1)影响正常使用或外观的变形;
(2)影响正常使用或耐久性能的局部损坏(包括裂缝);
(3)影响正常使用的振动;(4)影响正常使用的其它特定状态。
结构设计的基本任务,是在结构的可靠与经济之间选择一种合理的平衡,力求以最低的代价,使所建造的结构在规定的条件下和规定的使用期限内,能满足预定的安全性、适用性和耐久性等功能要求。为达到这个目的,人们采用过多种设计方法。以现代观点看,可划分为定值设计法和概率设计法两大类。
1.定值设计法。将影响结构可靠度的主要因素(如荷载、材料强度、几何参数、计算公式精度等)看作非随机变量,而且采用以经验为主确定的安全系数来度量结构可靠性的设计方法,即确定性方法。此方法要求任何情况下结构的荷载效应S(内力、变形、裂缝宽度等)不应大于结构抗力R(强度、刚度、抗裂度等),即S≤R。在20世纪70年代中期前,我国和国外主要都采用这种方法。
2.概率设计法:将影响结构可靠度的主要因素看作随机变量,而且采用以统计为主确定的失效概率或可靠指标来度量结构可靠性的设计方法,即非确定性方法。此方法要求按概率观念来设计结构,也就是出现结构荷载效应3大于结构抗力R(S>R)的概率应小于某个可以接受的规定值。这种方法是20世纪40年代提出来的,至70年代后期在国际上已进入实用阶段。我国自80年代中期,结构设计方法开始由定值法向概率法过渡。
面向对象编程
使创建Windows程序较为容易的关键技术是面向对象编程,或OOP。这种技术可以创建可重用组建,它是程序的组成模块。
几个定义
控件提供程序可见界面的可重用对象。控件的示例有文本框、标签和命令按钮。
事件由用户或操作系统引发的动作。事件的示例有击键、单击鼠标、一段时间的限制,或从端口接收数据。
方法嵌入在对象定义中的程序代码,它定义对象怎样处理信息并响应某事件。例如,数据库对象有打开纪录集并从一个记录移动到另一个记录的方法。
对象程序的基本元素,它含有定义其特征的属性,定义其任务和识别它可以响应的事件的方法。控件和窗体是VisualBasic中所有对象的示例。
过程为完成任务而编写的代码段。过程通常用于响应特定的事件。
属性对象的特征,如尺寸、位置、颜色或文本。属性决定对象的外观,有时也决定对象的行为。属性也用于为对象提供数据和从对象取回信息。
5.设计主要内容
本软件适用于现浇钢筋混凝土多层、多跨的框架的设计。毕业设计要完成的工作包括:
1.平面钢架分析程序的改造
对结构力学教研室版平面钢架分析程序进行修改和补充。要求:
(1)编写自动生成节点坐标和单元节点编号的程序,或以图形方式输入计算简图。
(2)修改程序,使之适合多工况内力计算;(3)根据输入、输出数据的特点,设计适当的人机界面。输出应可选的显示各构件端力和内力图。
2.编写钢筋混凝土多层多跨框架机构的构件设计程序
(1)根据有关的规范,应明确计算的各种荷载(恒载、楼屋面活载、风荷载和地震作用等)的计算方法,在次基础上编写自动生成各种荷载作用下的结点荷载和单元荷载的程序。
地震作用按底部剪力法确定。自振周期用经验公式确定。
(2)计算各种荷载单独作用时框架各杆件的内力。计算结构存放在各自的杆端力(随机)文件中。
对竖向荷载下的梁端弯距进行塑性调幅。
(3)在(2)中产生的杆端力文件基础上,分别计算各种可能的荷载组合下,梁、柱控制截面的内力。计算结果存放在适当的文件中。
(4)从(3)生成的文件中选出最不利组合,同时给出截面配筋。
梁、柱截面配筋的确定应考虑抗震设计的要求。
(5)部分编程较熟练的同学可根据计算结果和构造规定,用Auto-CADVBA绘制梁、柱配筋图。
5.成果形式
本毕业设计的成果应包括:
1.可运行的、并能给出正确计算结果的源程序
在存放源程序的软盘中,应至少有一个算例的数据文件,可在基本不需另外键入数据的前提下,显示正确地运行结果。
2.软件使用手册
这是为用户准备的关于软件使用方法、操作步骤和其他必要的文字材料。
3.软件说明书
这是软件作者的工作档案,是软件维护的基本资料。其中应包括:
(1)软件所依据的工作档案、力学和工程结构模型的较为详细的描述,主要的计算公式及其使用的符号的含义,重要算法的文字说明:
(2)程序的结构:模块的划分的情况、各模块相互之间的关系及各模块的功能;
(3)带有较为详细的注释的源程序文本。其中应注明各标识符的含义(尽可能的采用通用公式中的符号)。各程序段的功能、相应的数学公式和特殊算法的说明;(4)为使他人根据软件说明书读懂你的程序所必需的其他资料。
(5)部分编程较熟练的同学可递交梁、柱配筋图纸一张。
4.对自己所编程序的评价
(1)对算例计算结果的合理性进行必要的分析;
(2)总结软件设计过程中的经验和及教训,提出设计改进意见。
以上各项资料处源程序文本以软盘形式提交外,其余均用计算机打印。
6.进度计划
第一周毕业实习,参观工程,收集资料。
第二周需求分析:描述计算机模型,编些初步的软件说明书。
第三周软件设计:选择模块划分的方案
第四周模块设计:数据输入界面设计(梁柱截面数据)
或数据输入界面设计(可视化图形输入)
第五周数据输入界面设计(框架数据、附加荷载)
第六周模块设计:荷载计算(恒载、活载),相应的内力计算
第七周荷载计算(风荷载、地震作用),相应的内力计算
第八周模块设计:梁配筋计算
第九周梁荷载组合,确定梁配筋
第十周梁荷载组合,确定梁配筋
第十一周模块设计:柱配筋计算
第十二周柱荷载组合,确定柱配筋
第十三周柱荷载组合,确定柱配筋
第十四周软件测试或用AutoCADVBA绘制梁、柱配筋图;
第十五周软件测试
第十六周整理源程序,编写软件说明数和用户手册
所要编写的结构程序是混凝土的框架结构的设计,建筑指各种房屋及其附属的构筑物。建筑结构是在建筑中,由若干构件,即组成结构的单元如梁、板、柱等,连接而构成的能承受作用(或称荷载)的平面或空间体系。
编写算例使用建设部最新出台的《混凝土结构设计规范》gb50010-2002,该规范与原混凝土结构设计规范gbj10-89相比,新增内容约占15%,有重大修订的内容约占35%,保持和基本保持原规范内容的部分约占50%,规范全面总结了原规范实施以来的实践经验,借鉴了国外先进标准技术。
2.课题名称:
钢筋混凝土多层、多跨框架软件开发
3.项目研究意义:
建筑中,结构是为建筑物提供安全可靠、经久耐用、节能节材、满足建筑功能的一个重要组成部分,它与建筑材料、制品、施工的工业化水平密切相关,对发展新技术。新材料,提高机械化、自动化水平有着重要的促进作用。
由于结构计算牵扯的数学公式较多,并且所涉及的规范和标准很零碎。并且计算量非常之大,近年来,随着经济进一步发展,城市人口集中、用地紧张以及商业竞争的激烈化,更加剧了房屋设计的复杂性,许多多高层建筑不断的被建造。这些建筑无论从时间上还是从劳动量上,都客观的需要计算机程序的辅助设计。这样,结构软件开发就显得尤为重要。
一栋建筑的结构设计是否合理,主要取决于结构体系、结构布置、构件的截面尺寸、材料强度等级以及主要机构构造是否合理。这些问题已经正确解决,结构计算、施工图的绘制、则是另令人辛苦的具体程序设计工作了,因此原来在学校使用的手算方法,将被运用到具体的程序代码中去,精力就不仅集中在怎样利用所学的结构知识来设计出做法,还要想到如何把这些做法用代码来实现,
4.文献研究概况
在不同类型的结构设计中有些内容是一样的,做框架结构设计时关键是要减少漏项、减少差错,计算机也是如此的。
建筑结构设计统一标准(gbj68-84)该标准是为了合理地统一各类材料的建筑结构设计的基本原则,是制定工业与民用建筑结构荷载规范、钢结构、薄壁型钢结构、混凝土结构、砌体结构、木结构等设计规范以及地基基础和建筑抗震等设计规范应遵守的准则,这些规范均应按本标准的要求制定相应的具体规定。制定其它土木工程结构设计规范时,可参照此标准规定的原则。本标准适用于建筑物(包括一般构筑物)的整个
结构,以及组成结构的构件和基础;适用于结构的使用阶段,以及结构构件的制作、运输与安装等施工阶段。本标准引进了现代结构可靠性设计理论,采用以概率理论为基础的极限状态设计方法分析确定,即将各种影响结构可靠性的因素都视为随机变量,使设计的概念和方法都建立在统计数学的基础上,并以主要根据统计分析确定的失效概率来度量结构的可靠性,属于“概率设计法”,这是设计思想上的重要演进。这也是当代国际上工程结构设计方法发展的总趋势,而我国在设计规范(或标准)中采用概率极限状态设计法是迄今为止采用最广泛的国家。
结构的作用效应常见的作用效应有:
1.内力。
轴向力,即作用引起的结构或构件某一正截面上的法向拉力或压力;
剪力,即作用引起的结构或构件某一截面上的切向力;
弯矩,即作用引起的结构或构件某一截面上的内力矩;
扭矩,即作用引起的结构或构件某一截面上的剪力构成的力偶矩。
2.应力。如正应力、剪应力、主应力等。
3.位移。作用引起的结构或构件中某点位变(线位移)或某线段方向的改变(角位移)。
4.挠度。构件轴线或中面上某点在弯短作用平面内垂直于轴线或中面的线位移。
5.变形。作用引起的结构或构件中各点间的相对位移。变形分为弹性变形和塑性变形。
6.应变:如线应变、剪应变和主应变等。
极限状态整个结构或结构的一部分超过某一特定状态就不能满足设计规定的某一功能要求,此特定状态称为该功能的极限状态。极限状态可分为两类:
1.承载能力极限状态。结构或结构构件达到最大承载能力或达到不适于继续承载的变形的极限状态:
(1)整个结构或结构的一部分作为刚体失去平衡(如倾覆等);
(2)结构构件或连接因材料强度被超过而破坏(包括疲劳破坏),或因过度的塑性变形而不适于继续承载;
(3)结构转变为机动体系;
(4)结构或结构构件丧失稳定(如压屈等)。
2.正常使用极限状态。结构或结构构件达到使用功能上允许的某一限值的极限状态。出现下列状态之一时,即认为超过了正常使用极限状态:
(1)影响正常使用或外观的变形;
(2)影响正常使用或耐久性能的局部损坏(包括裂缝);
(3)影响正常使用的振动;
(4)影响正常使用的其它特定状态。
结构设计的基本任务,是在结构的可靠与经济之间选择一种合理的平衡,力求以最低的代价,使所建造的结构在规定的条件下和规定的使用期限内,能满足预定的安全性、适用性和耐久性等功能要求。为达到这个目的,人们采用过多种设计方法。以现代观点看,可划分为定值设计法和概率设计法两大类。
1.定值设计法。将影响结构可靠度的主要因素(如荷载、材料强度、几何参数、计算公式精度等)看作非随机变量,而且采用以经验为主确定的安全系数来度量结构可靠性的设计方法,即确定性方法。此方法要求任何情况下结构的荷载效应s(内力、变形、裂缝宽度等)不应大于结构抗力r(强度、刚度、抗裂度等),即s≤r。在20世纪70年代中期前,我国和国外主要都采用这种方法。
2.概率设计法:将影响结构可靠度的主要因素看作随机变量,而且采用以统计为主确定的失效概率或可靠指标来度量结构可靠性的设计方法,即非确定性方法。此方法要求按概率观念来设计结构,也就是出现结构荷载效应3大于结构抗力r(s>r)的概率应小于某个可以接受的规定值。这种方法是20世纪40年代提出来的,至70年代后期在国际上已进入实用阶段。我国自80年代中期,结构设计方法开始由定值法向概率法过渡。
面向对象编程
使创建windows程序较为容易的关键技术是面向对象编程,或oop。这种技术可以创建可重用组建,它是程序的组成模块。
几个定义
控件提供程序可见界面的可重用对象。控件的示例有文本框、标签和命令按钮。
事件由用户或操作系统引发的动作。事件的示例有击键、单击鼠标、一段时间的限制,或从端口接收数据。
方法嵌入在对象定义中的程序代码,它定义对象怎样处理信息并响应某事件。例如,数据库对象有打开纪录集并从一个记录移动到另一个记录的方法。
对象程序的基本元素,它含有定义其特征的属性,定义其任务和识别它可以响应的事件的方法。控件和窗体是visualbasic中所有对象的示例。
过程为完成任务而编写的代码段。过程通常用于响应特定的事件。
属性对象的特征,如尺寸、位置、颜色或文本。属性决定对象的外观,有时也决定对象的行为。属性也用于为对象提供数据和从对象取回信息。
5.设计主要内容
本软件适用于现浇钢筋混凝土多层、多跨的框架的设计。毕业设计要完成的工作包括:
1.平面钢架分析程序的改造
对结构力学教研室版平面钢架分析程序进行修改和补充。要求:
(1)编写自动生成节点坐标和单元节点编号的程序,或以图形方式输入计算简图。
(2)修改程序,使之适合多工况内力计算;(3)根据输入、输出数据的特点,设计适当的人机界面。输出应可选的显示各构件端力和内力图。
2.编写钢筋混凝土多层多跨框架机构的构件设计程序
(1)根据有关的规范,应明确计算的各种荷载(恒载、楼屋面活载、风荷载和地震作用等)的计算方法,在次基础上编写自动生成各种荷载作用下的结点荷载和单元荷载的程序。
地震作用按底部剪力法确定。自振周期用经验公式确定。
(2)计算各种荷载单独作用时框架各杆件的内力。计算结构存放在各自的杆端力(随机)文件中。
对竖向荷载下的梁端弯距进行塑性调幅。
(3)在(2)中产生的杆端力文件基础上,分别计算各种可能的荷载组合下,梁、柱控制截面的内力。计算结果存放在适当的文件中。
(4)从(3)生成的文件中选出最不利组合,同时给出截面配筋。
梁、柱截面配筋的确定应考虑抗震设计的要求。(5)部分编程较熟练的同学可根据计算结果和构造规定,用auto-cadvba绘制梁、柱配筋图。
5.成果形式
本毕业设计的成果应包括:
1.可运行的、并能给出正确计算结果的源程序
在存放源程序的软盘中,应至少有一个算例的数据文件,可在基本不需另外键入数据的前提下,显示正确地运行结果。
2.软件使用手册
这是为用户准备的关于软件使用方法、操作步骤和其他必要的文字材料。
3.软件说明书
这是软件作者的工作档案,是软件维护的基本资料。其中应包括:
(1)软件所依据的工作档案、力学和工程结构模型的较为详细的描述,主要的计算公式及其使用的符号的含义,重要算法的文字说明:
(2)程序的结构:模块的划分的情况、各模块相互之间的关系及各模块的功能;
(3)带有较为详细的注释的源程序文本。其中应注明各标识符的含义(尽可能的采用通用公式中的符号)。各程序段的功能、相应的数学公式和特殊算法的说明;(4)为使他人根据软件说明书读懂你的程序所必需的其他资料。
(5)部分编程较熟练的同学可递交梁、柱配筋图纸一张。
4.对自己所编程序的评价
(1)对算例计算结果的合理性进行必要的分析;
(2)总结软件设计过程中的经验和及教训,提出设计改进意见。
以上各项资料处源程序文本以软盘形式提交外,其余均用计算机打印。
6.进度计划
第一周毕业实习,参观工程,收集资料。
第二周需求分析:描述计算机模型,编些初步的软件说明书。
第三周软件设计:选择模块划分的方案
第四周模块设计:数据输入界面设计(梁柱截面数据)
或数据输入界面设计(可视化图形输入)
第五周数据输入界面设计(框架数据、附加荷载)
第六周模块设计:荷载计算(恒载、活载),相应的内力计算
第七周荷载计算(风荷载、地震作用),相应的内力计算
第八周模块设计:梁配筋计算
第九周梁荷载组合,确定梁配筋
第十周梁荷载组合,确定梁配筋
第十一周模块设计:柱配筋计算
第十二周柱荷载组合,确定柱配筋
关键词:编程语言;教学;教学模式
中图分类号:G64 文献标识码:B
文章编号:1672-5913(2007)02-0051-02
1引言
在计算机专业本、专科和非计算机专业的计算机教学中,学校几乎都设置了高级语言程序设计或数据库管理语言的程序设计课程。与一些应用软件或工具软件相比,编程课程的教学具有较大的灵活性,这使得学生掌握起来有一定困难,教师教学也有一定的难度。采用何种教学模式进行教学就成为编程语言教学的一个关键。笔者经过多年的教学实践,总结出了编程语言教学的感性认识、算法分析、代码讲授、功能变化的教学模式,这些在实际教学中收到了很好的效果。
2编程语言教学模式探讨
在下面的讨论中,以Java语言编写查询记录的程序为例进行说明。
2.1 感性认识
这里的感性认识是指先让学生对要讲授的程序有一个感性的认识。即先运行程序,显示程序的运行结果,让学生了解程序的运行界面、控件的布局、操作顺序及整个程序的功能。使学生对要讲授的程序有一个感性的认识,这对于理解算法及编程代码都是非常有利的。
通过运行界面,学生可以了解整个界面的布局,即各个控件的摆放位置及相互关系,之后在文本框输入查询条件(书名)并单击“确定”按钮后,即显示出查询结果,这让学生了解操作顺序并看到运行的结果,同时也知道了整个程序的功能。
2.2 算法分析
根据上面演示的界面、操作顺序及运行结果,详细分析程序的功能,在此基础上,我们分别从界面设计、事件代码两个方面进行算法分析,找出程序实现的算法并画出程序流程图。
例如,对于查询记录程序,其界面设计的算法分析如下:由于是在窗口内显示界面,所以应先创建一个窗口类Frame类的子类。在子类的构造方法中创建标签、文本框、按钮等对象;设计相应的布局,通过面板等容器将这些对象添加到窗口中;添加诸如按钮等对象事件的监听。
对于在文本框中输入书名,并单击“确定”按钮,处理按钮事件的算法分析如下:到数据库中查找满足条件的记录,如果没找到就显示相应的信息,并重新输入查找条件;如果找到了就将找到的记录放在相应的面板等容器中并显示。
其他如“打印”和“退出”等按钮事件处理算法按相应的要求给出。
根据上面的算法分析,画出程序的流程图如图1所示。
图1程序流程
对上面的流程图教师要进行详尽的讲解,使学生真正了解程序的算法,这对后面书写程序代码非常重要。因为代码的编写就是将算法变成能运行的程序。
因为许多程序可以有多种算法,在教师讲授自己的算法之前,可先让学生写出自己对这个问题的算法分析(这就要求学生要事先预习教学内容)并画出流程图,再对学生的算法进行简单评价。
2.3 代码讲授
根据上面的算法分析,教师可采用下面两种方式讲授程序代码:一种是逐条给出并在讲解过程中启发学生如何写代码,这时可以启发学生思考要想完成算法的某一功能应如何给出代码。教师可以先让学生给出代码,然后按学生给出的代码演示运行结果,看是否达到了算法的要求,如果达到要求应给予积极的评价;没有则应和学生一起分析问题出现在哪里,找出正确的思路,直至给出正确的代码。学生给出的代码可能会有多种,可选择有代表性的几个进行演示及分析,不要只讲正确的代码方案,不正确的代码方案也可作为反例提醒同学们注意,这样对于鼓励学生参与互动教学有积极的作用。另一种是代码全部给出,之后按算法要求讲解每一条语句的作用,再讲解每一段的作用并解释它实现了算法的哪一个功能。前者占用课堂时间较长,但对启发学生的编程思维有好处;后者占用课堂时间短,提高了课堂效率,但学生掌握程序代码效果不如前者。教师在教学中可根据学生情况、教学内容的复杂程度及课时数进行选择。在讲解过程中教师一定要结合算法,注意讲清每条语句或每一段代码能完成算法中的哪一步。在此过程中,为了说明某条语句或某段代码的作用,可边讲解边演示其运行的结果,这样效果会更好。
2.4 功能变化
在讲解清楚上面的程序之后,可对程序的语句或程序段进行修改,例如删除某些语句、修改某些语句,并演示删除或修改变化后的运行效果,使学生加深对某些语句或程序段功能的理解,以拓展本程序的知识点。同时教师要注意鼓励学生大胆探索新的算法,对于虽不完美,但经过指导也能实现程序功能的算法要给予积极的表扬和肯定,推崇学生自己动脑、动手进行程序设计与修改是非常必要的。
3结束语
以上只是作者在教学中总结出的一点体会,在以往的教学中应用这种模式进行实践并收到了较好的效果。学生不但学会了编程语言,同时也学会了编程思想及编程方法。在毕业设计中,学生做出了较好的管理信息系统,并在“大学生科研训练计划”的信息系统开发中取得了较好的成绩。当然,编程语言教学模式多种多样,许多同行都有自己的优秀的教学模式,笔者会在今后进一步学习和吸取这些经验,不断提高自己的教学效果和水平。
参考文献:
[1]印F.Java语言与面向对象的程序设计[M].北京:清华大学出版社,2000.
[2]耿祥义.Java2实用教程[M].北京:清华大学出版社,2004.
[3]Bruce Eckel .Thinking in Java(Third Edition)[M].北京:机械工业出版社,2004.
[4]Harvey M.Deitel,Paul J.Deitel .Java大学教程[M].北京:电子工业出版社,2004.
关键词:“全纳教育”;毕业设计;课程改革;批判教育学;学习风格
我院计算机专业的“毕业设计”课程改革历时十年,课程改革举措主要有三项:一是将“软件工程学”与“毕业设计”课程综合为一门课来上,将软件开发的理论与软件开发的实践相结合。二是由学生自主选题,自由“组阁”。三是以提交软件文档作为中期考核,以课题验收答辩作为课程终考形式。现以“全纳教育”理念审视十年来的课程改革,对其间亲历的典型教学事例作反思分析,以期与同行分享所思所得。
一、我们要实施“全纳教育”
“全纳教育”就是要全部或充分接纳(inclusion)学生,不排斥(exclusion)任何学生。“全纳教育”作为一种思潮,首先于20世纪90年代中期在特殊教育领域兴起。[1]1994年联合国教科文组织在西班牙萨拉曼卡召开了“世界特殊需要教育大会”。在此次会议通过的“萨拉曼卡宣言”中,首次正式提出了“全纳教育”。提出“全纳教育”的初衷是让残疾儿童回归“主流学校”,和普通儿童一起学习。在其后的发展过程中,“全纳教育”被赋予了一种更广泛的含义,即关注全体学生,承认所有学生之间的差异,满足所有学生的不同教育需求,从而使所有学生享有平等的受教育的权利,使所有学生都得到适合自己的发展。“全纳”的教育理念,是社会向民主化、和谐化发展的过程中,对教育改革发展的诉求。从20世纪占主流的“淘汰式”教育,到新世纪必将成为主流的“全纳教育”,是历史发展的必然。在基础教育、高等教育、职业技术教育等广泛的教育领域开展“全纳教育”,是当今全球教育改革发展的大趋势。对此,很多一线教师已经从自己的教学实践中予以体认。以下所述,就是笔者亲历的一个事例。由布西,山东教育学院计算机科学与技术系副教授。
02级专科班有两个学生,“毕业设计”经常不到课。他们的前期课成绩不太好,有的科目考试不及格。我分别找他们谈话,举出往届学生的事例告诉他们,理论课没有考好,不等于毕业设计也作不好。在和同学的合作中,在实践中一定能学到很多东西。我又询问了他们各自的兴趣、特长是什么。其中那个男生告诉我,他比较喜欢上网,玩游戏。于是我把班中同学呈报的毕业设计课题表拿给他参考。他选择了“08奥运网站”的毕业设计课题,承担了其中一个球类部分网页的设计。很好,这个男生发挥了自己的积极性和长处,从网上下载了许多图片、图像,经过处理,嵌入到网页中,使网页变得生动、实际,包括姚明的“扣篮秀”等,十分精彩。同组同学对他也刮目相看。由于他在网页设计中的出色表现,其毕业设计成绩被教师评为优秀。另一个女生,也参加到一个“班级通讯录”的课题开发中。她良好的形象思维,使网页设计简洁、雅致,笔者对她进行了鼓励。她在网页交互程序设计中感到有困难,笔者就请一个编程较好的同学对她辅导、帮助。有一次实验课,当其他学生都已离去,她仍独自留在实验室继续做课题,似乎没有觉察到下课时间已到,情此景令人感慨不已。
从“逃课”到“最后一个离开实验室”,学生前后表现的巨大反差确实发人深省:只要我们给学生足够的尊重和耐心,既严格要求又能给予实际的帮助,就可以点燃他们心中的自尊、自信和求知的火焰。如果当初对这两个学生“放羊”不管,结果完全会是另一个样子。试想,我们怎么能够一面讲“以学生为本”、“一切为了学生的发展”,一面又自觉、不自觉地(习惯地)用淘汰式理念、策略对待学生,排斥、贬低一部分学生呢,那种做法与我们的教育目标背道而驰,更与“全纳教育”思想毫不相容。
二、“全纳教育”的实践是一个过程
“全纳教育”不仅仅是一种教育理念和教育价值取向,更是一种促进学生学习的过程。这一过程将促进全体学生的参与,促进学生之间的协作,充分体现学生不同兴趣、个性、特长、基础和需求,而不是让所有学生都适应一个预定的整齐划一的标准。令人遗随的是,以往我们的课程设计总是以教师为中心,以教师擅长的方式进行,而很少考虑到学生的需求和学生所适合的学习方式。这是不能实现“全纳”的一个根本原因。为了回答“我们为什么可以全纳”这个问题,有必要对“毕业设计”课程改革中的某些事例作反思分析。
1.可以“全纳”的“批判教育学分析”:让学生“全员参与”,在协作中发展,在自主学习中发展
“全纳教育”最重要的思想是注重人人参与,注重依靠集体的力量和相互合作来解决个体的问题。这一思想的渊源实际上可以追溯到20世纪60年代末、70年代初在联邦德国出现的“批判教育学流派”。[2]该学派的代表人物之一克拉夫基(w.Klafki),将自决能力、参与能力和团结能力视为普通教育的三大目标。他主张“解放教育”,使学生从外来的强制性与对他人的完全依赖中解放出来,能够根据自己的认识和判断决定自身事务,决定自己的选择,并能以平等的地位与他人一起参与共同事务,解决共同问题,为此也应当乐意帮助那些失去自决和参与的人而因此接受这种帮助。为了达到上述教育目标,“批判教育学”学派主张应实行“开放式教育”原则,使学生尽可能早在尽可能多的领域做到自决。“批判教育学”的教育目标和教育原则,在“毕业设计”课程改革中得到充分的诠释。“毕业设计”的自主选题及自由结合的课题组形式,有利于促进学生的参与,有利于促进学生的协作,有利于促进学生在自主学习中成长。在“毕业设计”课程的教学中,我们经常可以看到这样一种现象,一个学习成绩和学习能力都看似一般的课题小组,居然能够做出“优秀”的设计,这从一个侧面印证了维果茨基关于“个人的认知结构是在社会交互作用中形成的”观点。[3]学生完成毕业设计后所收获的不仅仅是知识、技能和专业经验,更重要的是一份自信,一种成就感,一种克服了种种困难最终“赢”得愉悦。他们从中认识了自身的力量,认识了团队合作的力量。这对于学生毕业后较快融入社会,将会产生深远的影响。
2.可以“全纳”的学习心理分析:认识学生不同类型学习风格的差异,让学生在适合自己的学习方式中发展
谈到学生差异,很多人考虑较多的是学生的兴趣、特长、基础、智力(聪明不聪明),而很少考虑学生的学习风格类型,即学生适合(偏好)以怎样的方式去学习。美
国教育心理学家柯勃(Kolb D.A)依据其经验学习理论对学生学习风格进行分类研究,总结出四种典型风格:[4]发散型(Diverger),以经验感觉和省思观察方式为主;②调适型(Accommodator),以经验感觉和主动操作方式为主;③收敛型(Converger),以抽象分析和主动操作方式为主;④同化型(Assimilator):以抽象分析和省思观察方式为主。一般说来,只有抽象分析风格,才能较好地适应通常课堂教学以概念演绎和形式化描述为主的讲授方式,其他风格则不易适应而常遭排斥。但这并不等于可以据此给学生贴上“优”、“差”的标签。在多年来的“毕业设计”课程教学中,笔者早已发现了一个“怪”现象,许多课题组的开发骨干、最终评为优秀的学生,多数都只是前期课考试70、80分的学生,其中有的还有不及格的学科。相反,前期课成绩较好的学生中,有些在毕业设计中表现平平,遇到问题办法不多,一筹莫展。
“范例学习”和“错误尝试”,恰恰是上述具有“观察性”、“活动性”学习风格的典型特征。实践表明,在很多情况下范例学习和实践的方法(在“做”中学),是比较单纯逻辑分析和概念演绎方法更有效地掌握知识和解决问题的方法。“毕业设计”课程实践性强的特点,比较适合具有“观察性”和“活动性”风格的学生学习与发挥,这或许就是他们之中某些人,虽然前期课考试成绩一般,却在毕业设计中有上乘表现的一个原因。对于“抽象性”风格的学生,也特别需要通过作实际课题锻炼动手能力,弥补“纸上谈兵”的知识结构缺陷,才能成为“文武双全”的更具创造性的人才。课程改革要能够包容所有不同风格的学生的充分发展,这是可以实现“全纳”的一个必要条件。
三、“全纳教育”的实践案例:“毕业设计”课程教学设计剖析
作为“全纳教育”实践的一个案例,现对“毕业设计”课程的教学设计略作分析。
表1“毕业设计”教学过程与教学设计
教学过程:教学设计(策略)
理论课讲授:(1)少而精,某些章节以讲座方式进行。(2)让学生结合自己的选题完成前期各阶段文档。(3)理论课讲授与以下各阶段交叉进行。
选题阶段:(4)学生根据自己的特长、需求自主选题,自由“纽阁”。(5)组织选题讨论,通过“开题讲演”、提问、质疑完善选题。(6)鼓励创新,包括选题内容、设计方案、实现方法、界面设计、游戏、广告创意等。(7)市场导向,利用节假日安排学生做用户调查,克服“想当然”的主观成分。(8)为每个课题组配备一名指导教师,配备时要考虑教师所任学科、工作经历及特长。
开发阶段:(9)请有实际开发经验的工程师、资深教师、研究生讲座、答疑,为学生引路。(10)共享往届学生的文档、软件、论文的范例,或让学生自行检索有关案例做参考。(11)让学生上网主动获取所需知识,并通过Email、QQ、BBS与教师、网友交流。(12)课题组内、课题组间都要发挥团队协作力量,实现优势互补。(13)特别注意发挥骨干作用,带动其他同学共同前进。(14)教师将自己的研究心得、往届学生解决问题的经验与学生分享,形成新的经验。(15)鼓励学生主动联系到企业见习、实习,借企业之船过河。(16)培养学生克服困难的毅力,鼓励他们在最后阶段“再坚持一下”,不轻易打退堂鼓。
课程考核:(17)教师集体参加,集体评议,学生人数较多时将教师分为几个小组。(18)综合评定成绩,要将课题演示、答辩、文档(本科生还包括论文)综合考虑。(19)评估标准多元化,不以编程的复杂性为唯一的标准,要向创新性、实用性倾斜。(20)评估标准分层次,对不同特长、不同基础的学生要实事求是给予成绩。
教学设计的要旨是为学生提供一个开放的对话的教学环境。为了解决课题开发中遇到的各种问题,学生需要不断学习、不断思考、不断实践,需要和同伴、教师、专业人员、网友等进行广泛的对话。由此可见,“毕业设计”课程教学设计应遵循的主要原则就是自主性、协作性和实践性。
四、“毕业设计”课程改革的启示
从“毕业设计”课程改革所获得的初步成效中,我们可以得到怎样的启示呢?
1.教育观念由“淘汰”式到“全纳”的转变。“毕业设计”课程改革的关键环节,是“自主选题”,而不是用一个统一的课题模式,如“设计一个管理信息系统”来要求所有的学生。“自主选题”的举措从根本上将“要我学”、“要我做”转变为“我要学”、“我要做”,极大地促进了所有学生的积极参与,使每一个学生都能根据自己的爱好、意愿选择课题,并且根据自己的特长、基础选择在课题组中的任务分工,进而主动地去学习、研究。学生潜能得以充分发挥,常常超乎教师的想象。由此我们可以得到一个重要启发,假如在公共基础课、专业基础课、专业课的设置中,减少“必修课”数目,增加“选修课”数目,给学生更多地自主选择课程的权利,而且在必修课中也区分不同级别的要求(一级、二级或A、B等)供学生自主选择,而不是用统一的课程和课程标准要求所有学生,这样就能更好地满足所有学生的不同需求,充分发挥学生学习的积极性,使更多地学生跟上教学进程,得到适合自己的发展,从而实现“全纳教育”的目标。