夜上海论坛前言:我们精心挑选了数篇优质软件工程论文文章,供您阅读参考。期待这些文章能为您带来启发,助您在写作的道路上更上一层楼。
近几年,计算机软件工程夜上海论坛的应用领域日益广泛,具体包括各种程序设计语言、数据库技术、软件设计模式、操作和数据指令的标准、应用系统平台和软件开发工具。鉴于传统软件工程存在的诸多缺限,还有功能对象的转变和应用范围的扩大。无论是作为软件研发的开发商还是作为软件直接应用的用户都要进行软件的升级。软件升级需要达到几点要求,包括要有非常高的工作效率,靠的住的安全性,增加软件的应用寿命和能够进行方便的修改重生成特性。
夜上海论坛 1.1软件要具有高的工作效率
夜上海论坛 软件升级几乎涵盖了所有软件相关组成结构,要充分审核任何一个重要结构,做必要的改造。升级后软件要明显优于未升级前,对任务的处理时间要有较大的提升。具体来说就是,要对空间、时间等资源进行充分高效的利用,例如对计算机数据库技术一定要充分挖掘数据的可利用价值。同时,始终保持用户至上的理念,不断提高用户操作的便捷性是软件升级最重要的目标。应该在原有的基础上增加修改程序、组装软件和调整指令等必要的新功能。
1.2软件要安全可靠
互联网的广泛应用方便了人们的工作生活,对计算机的广泛应用起到了不可忽视的推动作用。但由于它的开放性也给黑客提供了作案方便。黑客善于利用应用软件对计算机系统实施攻击,通过对软件代码的反编译,植入和修改破坏软件安全性以达到个人的目的,使得用户蒙受巨大的精神或经济损失。所以软件升级改造必须要考虑软件的安全防御功能。
夜上海论坛 1.3尽量延长软件的使用寿命
软件开发设计前期调查,需求分析,开发,维护等多个阶段,其过程复杂,需要投入大量的人力、物力和财力。所以从成本消耗的调度看,新软件要尽量延长使用寿命,缩短产品更新换代的周期。就拿杀毒软件而言,每年市场上销售的杀毒软件数量巨大,对就的软件增加和完善功能必须要确保其在规定的时间内无需更换。同时,为了创造良好的经济效益,使用周期也应该得到延长。
夜上海论坛 1.4方便修改重新生成
为了减少软件开发的投入,还可从软件后期维护着手。对于软件后期维护也是软件周期中花费最大的,只要设法减少这一阶段的投入,就会大大减少软件的成本。因此,开发软件时考虑留有修改余地,使得软件便于修改重新生成就显得尤为有意义,另外也会有效的减少设计工程师的操作难度。
2计算机软件工程升级策略考虑
2.1软件工程设计要有科学性
软件开发的第一阶段就是设计,软件工程的升级设计一定要以科学为指导。例如,对于研发程序代码要考虑软件模块化。对外要考虑软件的抽象和信息隐蔽特性,以及软件的局部化、一致性原则和适应性等特征。选择恰当的科学的设计方法,能够为这些特征的实现提供方便,达到科学性设计这一目标,突出升级软件后的优势特征。
2.2要全面兼顾市场需求
软件开发的直接目的就是服务于市场需求,一个脱离市场需求的软件产品是对经济资源的浪费。同样,软件的升级也要有市场需求为支持,在满足市场基本需求的前提下,进行相关的研究和开发,才会使工作有价值,避免由于开发设计不当造成资源浪费。另外,作为计算机组成的两大部分,软件和硬件一直都存在计算机产品开发不可兼得的问题,无时无刻不逼迫使得软件开发单位考虑两者互相的影响与制约的关系,做出权衡。如此一来,面对具有多变性的市场,在采取有效控制之前,必须对市场有全面的掌握和理解,才能开发出更加满足社会需要的软件产品。
夜上海论坛 2.3把握智多种发展趋势
2.3.1智能化智能化不仅出现在计算机科学领域,它是现代通信与信息技术、行业技术、计算机网络技术和智能化控制技术综合到一起针对某一方面的应用。在人工智能化应用与计算机领域的今天,这个趋势必然会与现代通信技术、计算机网络技术与现场总线的控制技术飞速发展,一起给人们的生产生活带来巨大的变革。
2.3.2服务化随着计算机软件技术的发展和应用软件的广泛普及,计算机软件技术及产品的服务化将成为一种大趋势。未来,软件开发商会以一种服务的形式提供软件,利用网络提供方式,将各种软件放在服务器的主机上,客户可根据选择下载安装某种应用软件。当然客户也可以与软件开发商联系,提出自己的要求,订购软件服务。通过网络享受软件和硬件资源,软件维护升级等,使软件真正的服务于人民。
夜上海论坛 2.3.3融合我国对工业发展策略调整以及传统工业的升级,必然会加快电气化、机械化和自动化这些硬设备向信息化、数字化和网络化等软设备转变。计算机软件技术的融合化是我国信息化和工业化融合的一支重要力量。随着工业化不断推进和传统产业升级加快,工业软件的需求会进一步加大,我国计算机软件软件产业会不断发展壮大,推动计算机软件技术融合,以适应发展需要。
夜上海论坛 2.3.4开放化随着软件工程的蓬勃发展,早期封闭性强的收费性软件发展模式以慢慢不再适应大的形式。为了给提高计算机软件质量的提高创建机遇,逐步打破软件技术和知识产权的垄断,开发化已变成不可阻挡的趋势。计算机软件源代码的开放,将意味着软件产品逐步标准化,这将有利于我国计算机软件产业的更新换代和全面升级。在这种趋势下,也势必会使我国计算机软件开发效率得到较大提高。
夜上海论坛 2.4提供工程化支持,强化升级管理
夜上海论坛 新软件必须大幅增强软件的使用价值,具有很强的软件工程使用多用性,这些就需要软件工程的支持。主要包括软件工具和环境要对软件工程有足够的支持,以及充分保障软件工程项目的质量、技术和开销。这些都由对软件工程所提供的支撑质量和效用所决定。软件工程的管理作为另外一项比较重要的方面直接影响了对可用资源的有效利用,大幅提高软件组织的生产单位产出率,生产出合格的软件产品等问题。在参照市场需求下,提前做好准备,制定软件工程的管理制度,加强新旧产品升级空隙的质量监督和管理是电子产品研发企业必须做好的工作。
3结束语
夜上海论坛 1.1专业定位不适应社会需求
专业人才培养不具有明确针对性,人才培养结构合理性欠缺,专业人才培养层次相对单一。造成这一问题根源是地方院校对行业企业实际需求不明,导致专业人才培养定位不清。毕业生虽然专业知识结构比较全面,但实际工作能力不强,无法满足企业实际需求。
1.2专业课程设置不合理
课程体系建设是地方高校软件工程未来走内涵发展道路的核心。从调研地方本科学校现有软件工程课程体系实情来看,传统“学术型”课程体系架构占据主导,“应用型”与“学术型”课程体系架构区分度不明显。
夜上海论坛 1.3教师队伍应用型能力欠缺
地方高校软件工程现有师资队伍的实践能力不足,专业教师参与企业生产科研活动的力度不够。双师型结构教师比例低于30%。
1.4专业人才就业率低与企业“无人可用”矛盾冲突明显
软件工程专业高层次应用技术和技能人才数量严重不足,同时应用技术和技能人才培养的学历层次不高不能满足企业实际需求。地方高校软件工程专业定位和人才培养目标不明确、教学方式方法缺乏科学性、系统性,实践教学体系不完善,没有与行业就业有效对接,导致培养的人才无法满足社会生产实际需求,导致“软件工程专业毕业生无职可就,软件开发行业以及相关软件应用单位招不到满意的员工”现状普遍存在。
夜上海论坛 2软件工程专业课程体系理论设计
夜上海论坛 以行业、企业实际对人才需求为引导,软件工程专业毕业生真实就业情况调查为依托,地方高校软件工程专业课程一线教师众多教学研究成果为参考,专业教师在企业挂职学习经验体会为借鉴,围绕地方高校软件工程专业课程教学体系存在事实问题,来对地方本科院校软件工程课程体系建设进行设计建设。设计建议如下:
2.1学科建设
夜上海论坛 以专业相关的行业、企业人才的实际需求和当前使用的主流开发工具或技术为依托来不断调整专业架构,优化专业人才培养方案,完善人才培养目标,对专业进行合理定位,系统性调整教学方式方法,从而实现以行业、企业对人才的需求来引导地方本科院校软件工程专业的学科建设。
2.2校企办学
学科建设以输出满足行业、企业需求合格的应用型人才为目标,通过校企联合办学,对学生进行定向培养、训练,专业课程体系嵌入资格认证课程模块,实训课程以企业开发项目方式贯穿培养环节以达到提高专业人才的实际动手能力。
2.3师资建设
夜上海论坛 采取教师企业挂职锻炼参与企业项目研究开发,共同承接开发项目等方式锻炼提高师资队伍实战能力。教师在企业实战经历和相关经验成果带入到日常的教学环节,不仅能促进专业教师学术、科研能力提升,还能够最大程度丰富、提高专业学科建设。
3三层结构课程体系建设
软件工程专业课程体系建设以工程教育理念为指导,项目实战为背景,社会需求为导向,提高学生专业素养、理论知识体系以及实践能力为宗旨。学生完整地专业培养环节结束后具有程序设计,系统分析,软件设计、开发,项目管理,网络和移动通信终端应用开发能力。
3.1基础理论
夜上海论坛 由公共基础课程和专业基础课程构成:
①公共基础课程主要涵括地方高校各现行必修公共课程,
夜上海论坛 ②专业基础课程是专业课程坚实的理论基础,专业必修前导课程,是对软件工程专业基本“计算”概念理解、掌握,问题计算求解能力和构建中小规模软件系统综合能力的初步培养。
3.2专业理论
以市场对人才需求为导向、行业最新前沿技术为引领、专业骨干课程为核心、专业素质全面拓展和综合素养整体提高为目标来对专业主干课程进行建设,主要包括以下几类课程:
3.2.1面向行业认知能力培养课程主要包括对行业、企业认知学习以及计算机专业知识学习等专业认知方面课程。一般包括行业相关法律、法规,从业道德规范,行为准则,经营管理常规模式,软件项目开发流程等认知类课程。
3.2.2计算机编程与算法设计能力课程算法设计类课程主要包含离散数学、数据结构、算法分析以及数据结构课程设计等方面的课程;编程课程主要包含C语言程序设计、面向对象程序设计等传统程序设计语言课,还包括当下企业应用最为广泛的,最流行的技术前沿课程。
3.2.3软件工程专业系统分析课程系统分析能力课程主要包括操作系统、计算机网络,软件工程、数据库原理等系统类课程。
3.2.4系统实现与集成能力课程系统实现与集成能力方面课程主要包括网络编程、移动互联开发编程、编译技术、软件开发以及软件测试等课程。
3.3实践
以校企联合培养为手段,一至两学年时长为周期,贴近企业实际需求为指导,综合技能全面提高为目的来对专业学生进行实践能力培养,方式如下:
3.3.1校企共同建设实训课程以项目介入为主线,企业实际效益项目和高校产学研项目为实际授课主体。引进企业优秀项目人才或具有企业项目实战经验的教师来对专业人才展开课程实训,全面提高学生专业技能水平,综合素养。校企共同培养模式不但能够提高学生工程实践能力,知识转化生产实际速度,同时反向激发学生探究、学习知识的热情,最终提高就业竞争力。
3.3.2合作企业岗位实训针对毕业学生和部分专业老师做岗位综合实训:
①学生岗位实训:让学生真实参与企业项目实战,充分消化吸收前期所学理论和技能知识,进一步提升学生综合能力,为就业夯实基础。
夜上海论坛 ②老师岗位实训:专业老师参与企业项目研发,并将企业项目开发经验和技术进行梳理总结、编纂成册,运用到实际日常教学环节,促进教学质量提高,有利于缩短理论转化实际成果周期。
3.3.3校企合作运用项目方式指导学生做毕业论文(设计)毕业论文(设计)是对学生的专业知识掌握程度与提升高度的一次全面的考核,同时也是培养学生综合运用所学知识,独立地分析问题和解决问题的能力的一次全面的实训。但是传统的教育模式导致大多地方院校工科专业学生毕业论文流于形式,与实际脱节。通过与企业合作运用项目方式指导学生做毕业论文(设计)弱化学生对毕业论文(设计)的抵触情绪,可以进一步让学生了解行业企业实际运作规范及最新技术,进一步加强对学生实践和技能能力的培养,为毕业后从容就业夯实基础。
4结语
近几年,各大学积极探索与地方企业合作办学,形成了以服务地方经济为目的,政府主导、校企参与、优势互补、互惠互利、具有生机和活力的综合性大学,但是在具体实施过程中还存在不利于发展的因素,比如在合作过程中各方的利益保障和风险承担、各部门的政策差异等,仍需要学者们进一步研究。从学校的角度来说,培养软件专业的人才,需要与企业合作,才能事半功倍。
二、校企合作存在的问题
(一)学校与企业之间交流不畅通
高校与企业虽然已经开始合作,但是校企之间缺少信息交流,学校很难及时了解市场的变化情况,企业也较难了解学校科研方面的新成果。在人才培养上,学校对当下市场需要什么样的人才,这些人才需要具备怎样的素质和技能都知之甚少,学校与企业之间没有真正建立起以社会发展为主导的适应社会发展的人才培养机制;在课程设置上,学校还是侧重于理论知识的学习,应用型课程开设的少,忽视实践技能的培养,偏离校企合作的最终目的。
夜上海论坛 (二)校企合作没有真正做到服务地方经济和特色产业
夜上海论坛 校企合作是以服务地方经济和促进社会发展为目的的,但是在实际操作中没有做到,使得校企合作动力不足,没有建立互惠互助的合作模式,因而合作积极性不高。从学校的角度来看,学校科研大多是以自己的爱好兴趣进行,没有结合地方企业的发展情况,脱离实际。从企业方面来看,面对激烈的竞争市场,学校的科研成果虽有一定的商业价值,但是企业重视眼前的利益,经营周期短,不愿大学生来企业实习,对引进的新技术缺乏科技内在助力。
夜上海论坛 (三)校企合作的管理体制及政策法规不健全
校企合作模式中,虽说学校与企业之间在某些层面中达成了合作的关系,但是在其管理体系上尚没有一套统一的合作机制,导致管理层面失效或缺失现象出现。另外,校企合作关系中,两者各自隶属于不同的管理部门,各自有其相应的管理体系,在管理中往往会因为利益关系而出现一些问题,影响校企合作的效果。所以,校企合作模式办学,亟待一套完善统一的管理体制以及政策法规来规范和协调双方之间的关系,以促进校企合作的共赢开展。
夜上海论坛 (四)校企双方利益分配机制不完善
校企合作双方是隶属于不同机构的部门,对合作所得利益的分配存在差异,如科研成果转让过程中的价格问题、合作共建研发实体的各方投资比例与利益分配问题、成果的归属权问题以及知识产权问题、相互兼职待遇问题等,这些问题的产生主要在于缺乏利益共享、风险共担的机制和制度。
三、软件专业综合改革措施
(一)采用“3+1”办学模式,优化人才培养方案
夜上海论坛 现在企业发展需要的技术人才不仅要有扎实的理论基础,还应该有较强的实际动手能力和工程实践能力。在传统教学中,老师和学生们闭门造车,偏重理论知识。对于这一情况,学校采用“3+1”模式,即3年在学校学习理论知识,通过校内学习使学生掌握软件工程专业理论知识和基础技能,提高学生的认知能力,熟悉各种专业软件的操作技能。1年在企业进行实习和顶岗见习,培养学生的实际操作能力及运用所学的知识参与真正的软件开发项目和解决遇到的实际问题,还可以利用这难得的机会了解一些软件的业务工作状况和开发软件所用的工具等,提升学生的职业素养和团队意识,增强学生的沟通能力,以备成为一名合格的员工。人才培养方案是以人才培养目标为指导,以现有的资源进行合理教学的一整套教学培养措施和方法。制定优良的教学方案应根据社会对人才的需要情况来设计,制定适应社会发展的培养方案,培养具有创新能力和团队合作能力的优秀软件工程人才。在学生进入企业实习这一环节,学校与企业需要建立完善的安全教育机制和顶岗实习制度,由于学生刚进企业,对企业的环境还不能适应,应定期组织企业、学生、老师进行交流,帮助学生解决困难。在教育方面,实现资源共享,老师进企业学习,工程师进教室授课,老师与工程师合作开发软件项目等。通过共建、共享校企双方的优质师资队伍,不但能有效地提升课堂教学质量,还能增加学生实践动手的机会,让理论知识与实践能够充分的结合,适合学校人才培养的发展规律。
(二)建立学校和企业互动平台,帮助学生完成毕业设计
论文题目XXXXXXXXXXXXXX
工程领域软件工程
指导教师XXX教授
作者姓名XXX
夜上海论坛 学号XXXXXXXXXX
分类号密级
UDC注1
学位论文
XXXXXXXXX
(题名和副题名)
XXX
(作者姓名)
夜上海论坛 指导教师姓名XXX副教授
电子科技大学成都
夜上海论坛 XXX(姓名、职称)
(单位名称、地点)
(职务、职称、学位、单位名称及地址)
夜上海论坛 申请专业学位级别硕士专业学位类别工程硕士
夜上海论坛 工程领域名称软件工程
夜上海论坛 提交论文日期论文答辩日期
学位授予单位和日期电子科技大学
答辩委员会主席
评阅人
2010年月日
注1:注明《国际十进分类法UDC》的类号
独创性声明
本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我
夜上海论坛 所知,除了文别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。
签名:日期:年月日
论文使用授权
夜上海论坛 本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。
(保密的学位论文在解密后应遵守此规定)
签名:导师签名:
日期:年月日
摘要
多层陶瓷电容器(MLCC)是表面组装电路中最重要的电子元件之一。使用贱金属(Ni或Cu)代替昂贵的贵金属Pd或Ag/Pd合金作为内电极,可以极大地降低MLCC的生产成本。
本论文正是针对上述问题,以BaTiO3基抗还原陶瓷材料为主要的研究对象,在深入分析BaTiO3陶瓷的改性机理的基础上,对材料和工艺问题作了创新性和探索性研究。主要内容为:
1.详细研究了稀土元素对BaTiO3-Mg-R(R=稀土元素La、Pr、Ce、Nd、Sm、Gd、Dy、Ho、Er、Yb)体系的微观结构和介电性能的影响。
2.详细研究了各种掺杂离子对壳-芯结构的BaTiO3-Mg-R(R=Yb、Ho)系统的介电性能的影响及其改性机理。
3.研究了3d元素对BaTiO3-Yb-M(M=3d元素Cr、Mn、Fe、Co、Ni和Zn)系统的改性机理。
4.研究以溶胶-凝胶法制备的复合氧化物掺杂剂对(Ba,Ca)(Ti,Zr)O3(BCTZ)和BaTiO3粉料进行改性,从而制备抗还原Y5V和X8R材料的新工艺。
夜上海论坛 关键词:改性机理,抗还原,壳-芯结构,复合氧化物掺杂剂
ABSTRACT
Ceramicmultilayercapacitors(MLCC)areoneofthemostimportantelectroniccomponentsatthesurfacemountingofelectroniccircuits.Asubstantialcostsavingcanbeachievedbyutilizingbasemetal(NiorCu)electrodeasinternalmetallizationinMLCCoverthemoreexpensivepreciousmetalssuchasPdorAg/Pd.┄┄
Inthisthesis,thebasicmodificationmechanismsofBaTiO3havebeenanalyzed.Thennovelmaterialsandprocessareexploredandinvestigatedfornon-reducibledielectrics.
夜上海论坛 Themainresultsareasfollows:
1.TheeffectsofrareearthelementsonthemicrostructureanddielectricpropertiesofBaTiO3-Mg-R(R=rareearthelementalsLa,Pr,Ce,Nd,Sm,Gd,Dy,Ho,Er,Yb)systemareinvestigatedindetail.┄┄
夜上海论坛 2.Theeffectsofvariousionsonthedielectricpropertiesofthecore-shell-structuredBaTiO3-Mg-R(R=Yb,Ho)systemarestudiedindetailandtherelativemecha51lunwen.com/example_format/nismsarediscussed.┄┄
3.Themodificationmechanismsof3delementsareinvestigatedintheBaTiO3-Yb-M(M=3delementsCr,Mn,Fe,Co,Ni,Zn)system.Core-shellstructureisfoundinallthe3d-Yb-codopedsamples,resultinginimprovementofTCCbehavior.┄┄
夜上海论坛 4.Anovelroutehasbeendevelopedtopreparenon-reducibleY5VandX8Rmaterials,inwhichsol-gelderivedcomplexoxidedopantsareappliedtoultrafine(Ba,Ca)(Ti,Zr)O3(BCTZ)orBaTiO3powders.
目录
第一章绪论1
1.1多层陶瓷电容器的发展概况及现状2
1.1.1多层陶瓷电容器的结构和发展趋势3
1.1.2BME-MLCC带来的挑战和机遇4
1.2钛酸钡基抗还原介质材料的研究历史及现状30
夜上海论坛 1.3本论文的选题和研究内容31
夜上海论坛 第二章BATIO3陶瓷的微观结构和改性机理32
2.1BATIO3的微观结构35
2.1.1BATIO3的晶体结构38
夜上海论坛 2.1.2BATIO3的铁电畴结构38
2.2BATIO3陶瓷的改性机理39
2.2.1铁电陶瓷的展宽效应40
2.2.1.1相变扩散型展宽效应41
2.2.1.2固溶缓冲型展宽效应41
2.3化学非均匀性晶粒结构42
2.4本章总结43
第三章结论和展望45
3.1本论文研究总结45
3.2前景展望46
致谢47
参考文献48
第一,用进式和并发式开发流程取代传统的瀑布式开发。由系统设计和建模、开发与挂历组件、系统分析和项目的组织一同构成了整个过程。开发时,利用装配和组合组件,来实现耦合松散的结构模块。第二,在开发组件软件工程的时候,组件为整个开发过程的核心,收集组件时在需求分析阶段完成的,实现后,对于设计、装配、测试软件要按照一定的顺序去做。在应用的组件和系统的需求之间完成了权衡之后,开发者的重要工作则转向了开发工具、装配模型和组件,只有这样,能够将开发的效率有效提升上来。第三,面向接口、面向连接和面向重用为组件软件工程的主要开发方法。应用程序和组件的开发为整个开发的两个重要组成部分。在开发组件的时候,待定领域要对口针对,建立模型、深入分析,进而将组件的实际功能确定出来,然后,对对外接口进行规划与设计,对内部的细节进行落实与实现,完成管理和部署软件工作。在设计组件时,不同组件间的粒度不能太大,只要能满足一个逻辑功能对单个的需求即可,不必追求功能的全和。此外,对于提升整个应用系统复用能力,要满足组件的接口。此外,简易性和实用性也是不能缺少的。在设计完某一组件后,用二进制代码形式将某一组件编辑出来,而且在重要的组件库中进行存放,便于今后使用,组件的数据库应用系统即为组件库,组件的分类和描述,加入和删除组件为其两个重要的功能。在开发应用程序时,利用设计组件生成组件清单,将查询数据库时需要的组件提供出来,然后有效的利用现有的组件,自行开发和重构没有的组件,并且向组件库中存入。
二、对软件工程的管理分析
夜上海论坛 开发管理为现阶段组件工程开发中的一项重要工作内容。在开发了组件化软件工程之后,使工业化的软件工程成为了现实,专业化的流水线分工用很少的组件开发岗位就能够予以实现,对专业编程岗位不用过多的选择应用。但是,系统分析员在当中是绝对不能缺少的,设计组件系统的工作人员和维护管理组件库的工作人员为软件工程管理中的基础岗位,因此,对于软件工程中所涉及到相关知识,他们必须要认真扎实的进行掌握,然而,随着组件工程的发展,就不再过多的需要那些大量的编程人员。为了能够协调的开展起各个岗位的工作,将工作效率提升上来,为软件工程进行开发时的一个重要环节。在开发组件软件工程的过程中,对于接口标准一定要予以符合,并且还要通过严格的测试,在对通用性、互操作性和重用性进行了综合的考虑之后,进而将可信任和可靠的商业化软件构建起来。
夜上海论坛 三、结语
1.1教学目标不明确
“C”是很多高校普遍开设的一门课程,大部分学校教学方法大同小异:课堂讲授+上机实验,教学目标也集中于让学生掌握C的各种重难点,比如数组、函数、指针等。其实不同专业人才培养目标中本课程的作用差异较大,采用模式化的教学方法和雷同的教学目标是不合理的。此外很多教学方法忽略了编程思想锻炼,局限于讲授语言本身,变成了教“语言”而不是“程序设计”。
1.2学生动手应用能力较弱
夜上海论坛 多年来,大部分学生学习完本课程后,仍难以针对一个简单应用编制程序,此问题十分普遍。一般C语言教材,都是先介绍程序设计基础知识,然后介绍各种数据类型和输入输出等语句,由于内容枯燥,因此学生逐渐丧失了学习兴趣,甚至不愿上机,浪费了宝贵的实验机会。此外各种例题、习题也是数学性较强或者演示性质较强,比如牛顿迭代、水仙花数、10整数排序等,这些内容和实际应用关系相去甚远。
夜上海论坛 1.3未体现卓越工程师培养特色
如前所述,卓越工程师培养的不仅是一个程序员,更重要的是培养学生具有扎实的理论基础和创新能力,为进一步从事设计、架构规划打基础。由于课时所限,计算机专业的一些理论课程如自动机、组合数学等一般未纳入软件工程的培养方案,但对于卓越工程师而言,初步学习这些内容是必要的。此时如果在相关课程中融合部分上述知识将大有益处。
夜上海论坛 1.4没有为后续课程打下良好基础
一方面由于例题和习题所限,在学习“C语言”时学生未能充分理解软件工程的一些重要思想如模块化等,导致编程时思路混乱、僵硬。另外由于课时所限,结构、文件等章节经常被略讲甚至不讲,导致学生在后续课程学习时基础薄弱。
2教学改革措施
针对上述问题,结合软件工程卓越工程师培养目标,在近年来的教学实践中我们采取了如下教学改革措施:
2.1实验室授课
夜上海论坛 对于程序设计课程,学生在课堂听讲时,是一种静态的信息接收过程。当讲到各种知识点时,如果能够即时编程验证,将成倍地提高学生对信息的吸收消化效果。基于此,近年来我们努力实现了全程在实验室机房授课,学生可以实时动手分析,教师也可以从讲台主机远程指导、控制学生设备,效果良好。
夜上海论坛 2.2采用国外教材及引入软件工程思想
夜上海论坛 “C”的国内教材大都偏向初学者,存在细节被过度简化的问题,不利于实现培养面向实践的工程师的目标。为此我们采用国外知名教材进行授课。该教材的最大特色是面向应用,对C语言的应用特征、程序设计的特色描述详尽,例题及习题应用性很强,并且可结合软件工程的基本思想进行讲解,例如商品条码校验位计算、扑克牌发放及手牌比较、零件数据管理等。学生学习后,在后续应用性课程中能够很快上手并进行拓展。
2.3编程思维训练
我院“C”课程开设在大一上期,其目的是引导学生进入编程领域。因此在教学时,我们避免拘泥于C本身的语法细节,而是淡化其语言色彩,偏重讲述如何利用程序语言来处理问题。在此列举一例:很多C课程都会讲授如何编程打印一个由星号组成的菱形。某些教材上给出的解法是将菱形分为上半部和下半部分,用两个循环来打印,这种方法对学生思维训练无太大帮助。笔者在授课时,采用了如下思路:将菱形放入一个二维坐标系(原点在左上角),画出菱形所在区域边界,由此写出区域的解析表达式|x-3|+|y+3|≤3,从而得到程序循环中的核心判断语句.
2.4有机引入计算机理论课程知识
如前所述,软件工程专业一般不开设有限状态机等理论课程,但是作为卓越工程师,掌握这些知识是必要的。为此我们在课程中有意识地引入了这方面的知识,给学生提供初步认知,为有意自学者提供基础。例如,一直以来学生在学习“计算一个句子中单词个数”这一经典程序时,总是不明所以。为此我们另辟蹊径,采用如下方法讲授。首先抽取问题核心:把句子看成是由字母序列和空格序列(单词间可能有多个空格)交替组成的一个字符串。程序处理的方式,是对句子中的所有字符进行逐一扫描,然后在这个过程中判定单词的出现,如出现则把计数变量加1。其次将问题抽象化:用有限状态机来描述上述过程。其中“1”代表当前扫描字符“位于字母串中”这一状态,“0”代表当前扫描字符“位于空格串中”这一状态。当“扫描到字母”事件或者“扫描到空格”事件发生时,扫描器的状会被改变,如图箭头所示。我们关心的是当处于状态0时,“扫描到字母”事件发生的情况。此时意味着之前扫描到的是空格,现在是字母,即到了一个单词起始处,故此时计数变量加1。然后引导学生将问题转化为表格描述,(第一行表示事件,第一列表示状态,中间单元格表示某事件发生后,应进行的状态转换及其他操作),进一步地可以精炼为(b)。由此可得到示流程图。在此基础上学生很容易写出程序。这种教学法十分透彻,为学生今后自学相关知识打开了一扇大门。
夜上海论坛 2.5作业批改及考试规范化
为了避免传统教学中学生作业及考试批改过程低效,分析困难,且难以发现问题的缺陷的情况,我们开发了一套C语言作业及考试批改系统,该系统通过代码分析及用例执行等方式,客观地对学生程序进行判定,一方面提高了教学效率,另一方面更重要的是促使学生养成良好的编程习惯,改变了以往在纸面上写代码的随意性,从而培养起作为一个软件工程卓越工程师必备的素质。
3结语
1.1课程群构建
构建课程群要明确同一课程群或不同课程群涉及的不同课程间知识的融通和衔接,如专业基础课程群中的Java语言程序设计、数据结构课程要与后续课程Struts网站开发、Android手机项目开发课程进行无缝衔接,以确保学生有扎实的基础和科学的知识结构.同时,应结合CDIO模式将理论教学与实践教学有机结合,避免学生教与学迷茫,将学生的思维方法与创新能力有机结合.课程群的构建要根据学生的综合因素设定必修课程,学生也可以根据个人兴趣爱好及未来择业方向选取不同的课程群.
夜上海论坛 1.2课程群的实践体系
软件工程专业课程群是以软件技术应用性为主的课程群,实践课程群体系直接影响到学生能力的培养.为此,对课程群的实践体系进行了改革.一是改善该课程群的实验环境[8],更新了60台计算机设备,提高了内存、硬盘容量等,建立了软件实验室两个校内实践基地;二是增加了软件项目管理等课程的设计性与综合性实验;三是新增了Android手机移动开发课程的课程设计;四是实验开放项目立项.形成了完整的实验、课程设计、校内实践与实验开放项目一体化的实践课程体系.
夜上海论坛 1.3课程群的实施方案
夜上海论坛 鼓励学生基于课程群内容开展课外创新项目,或直接参与教师的科研项目构思、设计与实施,学生可以选择基于Android的游戏设计开发游戏项目,也可以选择Eclipse等工具开发桌面程序或企业项目等,培养创新能力;鼓励学生组成团队,自己申报立项,结合课程研究项目动手完成自主实验,并积极组织开展以各种APP程序设计类竞赛为主的实验项目,以推进大学生科研训练计划.同时,学生能够运用所学的知识,发挥自身的主观能动性,积极进行创新性思维,提高专业应用能力、技术开发能力及团队协作能力等.
2结语
软件工程监理与网络工程监理共同构成信息系统工程监理,软件工程监理与网络工程监理不同,网络工程监理贯穿于网络建设的整个过程,为网络建设的单位提供网络质量控制、确定系统集成商、论证网络方案以及提供咨询等服务,网络工程监理的目的在于帮助业主建设最具性价比的网络系统。而软件工程监理则是指对信息系统工程进行监理,主要对信息系统应用工程以及信息资源系统实施监理工作,所以,必须要根据软件工程思想来对整个软件建设的生命周期实施全过程监理工作,除此之外,还要实施配置管理过程监理、管理过程监理、质量保证过程监理,为用户提供帮助和咨询,帮助其建设服务项目,实施软件工程监理最终的目的就在于帮助业主单位建设出一个生命力持续、质量高的软件系统。
2意义
夜上海论坛 因为软件工程具有自身的特征,再加上在信息技术等领域中,业主单位的经验不足,缺少技术人才,因此,业主单位自己开展软件工程监理工作并不能提升其项目建设水平和项目投资效益。软件工程监理不仅可以保证业主单位投资工程的进度和质量,客观处理好投资项目进度、质量以及投资的关系,更可以为政府信息系统工程建设保驾护航,保证政府信息系统工程的质量。除此之外,实施软件工程监理工作还能够对承建单位与业主单位之间关系进行协调,在项目实施过程中,当承担单位与业主单位产生争议的时候,均希望会有第三方介入,软件工程监理单位就是第三方。监理单位可以在工程维护阶段、工程验收阶段、工程实施阶段、工程设计阶段以及工程立项阶段等软件工程监理的整个过程中对其效果实施权威、恰当、公平和公正的评价。再加上国家的信息产业的主管部门了开展软件工程监理工作的制度,从本质上为我国信息系统工程实施提供了强有力的保证和监督,进一步对我国信息化工程建设工作发挥保障作用。
3过程
对于软件工程监理来说,明确监理环节和内容是监理活动得以顺利开展的基础和前提。软件工程与一般的土建工程、电气工程的差别非常大,其监理活动也具有独特的特点,下面简单分析一下软件工程监理可以分成哪几个环节以及各个环节的监理要点。
夜上海论坛 3.1招标阶段的监理
夜上海论坛 招标是软件工程开展下去的第一步,只有做好充分的准备,才可能满足业主的期望,这一环节的成败将会直接影响到整个软件工程项目的成败。在招标阶段,合同成功签订表明该环节的结束,业主与软件开发商签订了具有法律效应的合同,双方具有了相互约束、相互配合的法律关系,是保证接下来工作顺利进行的基础。在这一环节中,监理工作主要包括这样几部分:(1)监理人员协助业主编制招标计划、审核软件工程的需求等。(2)监理人员仔细审核标书。(3)协助业主明确软件工程的目标、内容、功能以及进行软件工程的预算。(4)审核承建合同,仔细审核合同中的软件工程功能、技术指标、测试内容、验收要求、双方责任等内容。(5)协助业主与其他软件开发商进行良好的信息沟通,确保双方沟通的顺畅。在招标阶段,软件开发商尚未走进工程项目中,故此监理人员的主要职责是审核和确认,做好前期基础性工作。
3.2设计阶段的监理
夜上海论坛 设计阶段是软件工程项目的一个关键阶段,虽然设计费用仅占软件工程项目总造价比例的1%-3%,但是其对整个项目的顺利开展以及造价、质量、进度等的管理影响非常大,设计方案质量高低将直接影响到软件工程项目实施过程中的开发与配置。在这一阶段,监理内容主要是:(1)审核软件系统的需求是否合理,以及实施路线、关键技术等内容是否合理,签署审核意见。(2)监理人员协助业主开展设计方案的评审工作。(3)组织业主、专业人员对软件工程项目测试方案、验收方案等进行详细审核,并签署审核意见。(4)结合合同要求进行进度计划审核,并确认进度计划的可行性、合理性,签署审核意见。(5)协助业主配合软件开发商开展软件工程实施前期的调查。在设计阶段,监理重点内容就是对设计方案进行细之又细、慎之又慎的审核。
夜上海论坛 3.3实施阶段的监理
在软件工程项目实施阶段,一般可以分成需求分析、设计、编码、测试这4个步骤,每个步骤都有相应的监理内容和侧重点。(1)需求分析是软件工程实施的第一步,是保证最后开发出来的软件产品符合业主需求的基础,这一阶段的工程内容主要包括词汇表、用例模型、用例规约等内容,而对应的监理内容则包括监督需求分析过程、审核需求分析计划、审核需求分析结果等内容。(2)是设计阶段的监理过程,主要包括监督软件开发商的设计过程、审核设计计划、审核软件结构文档、监督软件设计结构中存在的问题并提出意见等。(3)编码阶段的监理,这一阶段是将软件开发商的设计思想变成计算机语言的过程,监理任务主要是审核项目组的人员、设备、进度计划等,并实时掌握软件开况,确保软件工程开发能按照进度计划顺利开展。(4)测试阶段的监理。软件工程的测试一般可以简单分成单元测试、集成测试、系统测试等内容,而监理内容则主要是审核测试计划、监督测试流程、复核测试结果等。
3.4验收阶段的监理
夜上海论坛 验收阶段是软件工程项目的最后一个阶段,该阶段就是软件系统的试运行、验收移交过程,监理内容则主要是对软件系统进行细致的审核、监督、验证、测试、确认。
4应用分析
正确的软件工程监理方法有助于保证软件工程监理质量,从而确保软件工程质量,但目前国内软件工程监理工作中,还没有形成系统的监理方法体系,只有一些零散的监理方法和理论,比如,PDCA戴明环、鱼骨图等。在软件工程项目中,监理单位扮演的是技术方角色,其与普通土建工程的旁站监理不同,需要从软件工程项目一开始就做好进度、成本、质量等方面的监理,确保软件工程的顺利开展。
4.1质量控制
在质量控制方面,最常用的方法是鱼骨图和PDCA戴明环。在运用鱼骨图进行软件质量控制时,首先需要确立质量控制目标,分析影响质量的因素,并对这些因素进行深入分析,在鱼骨图上标出来,讨论解决问题的方法,并标出解决方法的权重,以此来控制软件工程质量。比如说:在软件工程具体某实施项目的质量分析上,从人、机、料、法、环5个角度分析现场作业的质量因素。例如:某税收管理系统建设中,监理单位为有效控制工程质量,在需求分写环节非常重视需求的调研以及需求分析结果的审核,运用鱼骨图从人、事、时、地、物五个方面分析影响因素。
4.2进度控制
在进度控制上,软件工程监理常采用甘特图进行,而采用这一方法的前提是对软件工程项目的任务了如指掌,绘制出详细的工作任务分解结构图,将所有项目的开始时间、工期等到标注到甘特图上,然后结合软件工程项目的特点确定控制关键点,并确定项目的关键路径,确定项目活动之间的相互依赖关系以及时序进度,按照项目类型将项目联系起来。例如:在某税收管理系统工程项目的进度监理管理中,监理人员绘制甘特图,对软件开发商的进度计划进行整体分析,发现其中存在这样几个问题:任务阶段划分不明确、任务间的关系不合理、关键任务不明确、忽略国家宏观政策对项目的影响等,结合这几个问题要求软件开发商立即进行进度计划的调整和整改,得出最优化的进度计划,并确保整个软件工程实施都处于受控状态,有效保证软件工程项目的顺利开展。
5结语
软件工程是当前一项很有发展潜力的产业,且相关技术已经成为一门独立的学科、热门学科。各高校响应教育部减时提效的倡议,积极探讨如何提高软件工程实践课程的时效性,提高学生的解决实际问题的能力。
一、软件工程实践课程现状分析
夜上海论坛 软件工程实践课是一门实践性非常强的学科,但目前实践教学体系与软件产业需求以及专业培养目标十分不协调,实践课程教学缺乏理论指导,产学脱节,所学内容大都比较陈旧落后;本学科教师掌握的学科内理论知识较多,实践操作能力和教学经验较少,导致软件工程专业学生常常是纸上谈兵,创新能力欠缺,实践操作能力差,学科发展后劲不足。
夜上海论坛 二、优化软件工程实践课程的教学模式
夜上海论坛 软件工程实践课程的教学过程当中,加强工程实践教学环节,提高解决实际问题的能力是培养软件人才的主要目标。从以下几个方面着手优化软件工程实践课程的教学模式。
夜上海论坛 1、注重教学理论与教学实践相结合,采取多元化教学
夜上海论坛 在理论教学中,采取多元化教学方式,让学生积极参与教学过程,激发学生学习兴趣。例如,可采用多媒体课件+Mooc混合模式进行教学,强化课程相关理论,在教学同时进行Mooc制作,通过微信平台等共享,使学生能够及时对课程内容复习。同时开展丰富的教学实验和社会实践,在课堂教学当中,缩减理论教学时长,增加教学实践,锻炼学生实践操作能力,
夜上海论坛 2、明确软件工程技术发展方向,大力开展实践案例教学
研究软件工程技术发展方向,对软件工程人才的培养意义重大。有时候,软件工程将相关工程中引入管理工程学和系统工程学以促进软件工程学的发展。软件工程在技术上有如下基本要求:更好的适应操作环境,丰富的拓展接口,后期维护的方便性;软件工程又具有软件开发语言较丰富,软件开发具有开放性等特点。软件工程主要的发展方向是:可视化编程,web应用程序设计,數据库管理,软件测试,图形图像制作,多媒体制作等。因此,对软件开发者提出了更高的要求,就需要在软件工程实践课程的教学优化过程中,着眼于全球化、模块化、开放化加大教学优化力度,大力开展软件工程实践案例教学。多多设计贴近学生生活的工程化案例,且软件生命周期的各个阶段都应在工程化案例教学中得以体现。在设计软件工程教学案例时,难度适中,模块数量不易过多。
软件工程专业技能训练是实践教学体系的着力点。在典型案例的讲解过程中,引导学生能够学会结合企业需求,兼顾多方面因素,使开发的软件具有良好的兼容性,更加适众,及时对软件做好调试,更好的提高软件工作效率;满足客户的个性化需求,在软件内留有功能扩展接口等。在实践案例教学过程中,培养学生的合作意识和团队意识,完成案例分析到职场应用的有效过渡。
夜上海论坛 3、提高教师专业素养,构建新型软件工程人才培养模式
加强对软件工程课程教师的授课能力的培训,提高授课教师的教学能力和自身专业素养,不仅仅掌握理论知识,还兼具丰富的实践经验,提升自己的知识储备,在课堂教学中,积极调整教学内容,注重增加新技术内容、反应软件工程发展新动向的内容。同时,学校也应完善教学质量评价系统,并应构建新型软件人才培养模式,考虑到社会发展的真正需求,反馈软件企业的诉求,注重培养学生实践能力和创新思维,实现对教学质量的有效保障,优化教学体系。总之,软件工程实践教学体系的构建和实践是一个系统的、长期的过程,还需要我们不断地探索,进一步提高人才培养质量。
夜上海论坛 1.1培养计划的局限
在高等学校软件工程专业培养计划中,学科知识一般分为多门课程讲授,每门课程再分成单独的理论课和实验课,学生在毕业设计时才有机会综合运用各个课程的知识。软件开发强调的是软件工程学科知识的综合运用,因此只有尽多、尽早地进行实际项目的开发,才能掌握各门学科之间的内在联系,加深对软件工程专业核心知识的掌握。
1.2理论教学和实践的差距
从目前软件公司的发展阶段来说,大部分公司从事的是行业软件开发,这些公司对学生的实际编程能力要求较高。然而,高校强调的是基础理论的学习,公司频繁使用的知识(如J2EE编程技术、IT项目管理、软件测试技术等)在高校中均被列为选修课或考查课,导致学生的重视程度不够,忽视对这些课程的学习。另外,软件工程专业发展迅速,许多软件公司已经开始推出云计算、大数据和移动互联网的新产品,高校的培养计划远远落后于软件公司要求,学生在学校没有机会接触到相关知识。
1.3创新意识的缺乏
如果学生的学习目标仅仅是学习基础的专业知识并考试过关,那么学生的创新能力就无法得到激发[3]。因此,软件工程专业的学生需要积极参加各种综合性实验和创新实验,在项目背景下同老师积极沟通,提高自我学习能力,具备软件工程专业要求的核心能力。
2虚拟企业创新实验平台的构建和实施
2.1教学改革方案的研究目标
教学改革的研究目标是在高校软件工程专业人才培养中建设基于虚拟企业的教学与实践培养平台和环境,引入项目制实践教学方法,引导学生培养独立分析问题和解决问题的能力,激发学生的学习兴趣和热情,提高学生的实际动手能力,同时促进教师进行相关主干课程的教学方法创新,使高等学校的理论教学和实践教学密切结合,培养出符合当前社会需求的专业人才。
2.2教学改革的基本思路
教改方案的基本设计思路:在软件工程创新实验教学过程中,把软件企业的运行管理机制引入实验项目,让学生扮演软件企业中的各种角色;结合软件工程专业学习的相关理论知识,使学生能够更真实地体会企业运作环境,在创新项目中灵活运用各种理论知识,完成一系列阶段性成果(如需求文档、设计文档、系统实现和测试用例等),达到创新实验教学的目的。
夜上海论坛 2.3虚拟软件企业的建立
一个软件企业通常包括研发、市场、行政、人事和运维等多个部门,比较小型的软件公司规模也在50人左右。考虑到软件工程专业的学生在毕业初期通常在研发部门工作,我们设计出仅包含研发部门的虚拟软件企业。在研发部门的人员配置中,通常包括部门经理、项目经理、需求开发人员、软件开发、软件测试等几个角色。创新实验通常持续1~2年,每个指导教师同时指导2~4个项目,一个项目组一般包括5名学生,可以通过自己推荐或者团队选举的方法在所有参加项目的学生中选拔虚拟企业总经理,由指导教师担任专家顾问。项目组成员按照均衡矩阵型组织结构进行部门分工并按照工作职责分别进入软件开发部和软件测试部,各个创新实验的项目组长同时担任项目经理,其他学生可以根据自己的专业能力和兴趣特点分别担任不同角色。指导教师在项目运行的不同阶段可以让学生互换角色,使学生体会不同角色在项目运行中的作用,加深对专业知识的理解。虚拟企业组织架构如图1所示。随着创新实验的新增和结束,虚拟企业的人员构成也进行相应变化。指导教师可以根据不同阶段的教学进程,组织该团队相关专业技能的实践训练和专业知识学习。在设计虚拟软件企业时,教师可对软件公司的职能部门进行一定裁剪,这样的虚拟企业虽然简单,但是可操作性很强,学生可以在虚拟企业的运行过程中对企业运行环境有较为真实的体验。在虚拟企业的成立初期,全体企业成员经讨论建立起人力资源和沟通管理的相应制度,每个成员都要认真执行规章制度,确保虚拟企业可以长期有效运行。虚拟企业的骨干人员要定期检查虚拟企业运行中存在的问题,对相应的规章制度进行修订。
2.4虚拟软件企业的管理和运行在软件公司的管理中,公司对项目的进度、质量、成本等指标有着很严格的控制。与之相反,学生在学校参加课程设计和实训项目时,通常把注意力集中在专
夜上海论坛 业知识的运用上,对软件公司的主要考核点不够重视。因此,在虚拟企业的运行中,教改方案引入了软件公司的项目管理流程。在项目启动初期,由项目团队制订项目计划,强化关键指标(如范围、时间、质量);在项目运行过程中,每周召开项目会议,检查项目进度和质量,由指导教师给予项目小组相应反馈;在项目关键时间点,邀请其他教师对项目进行同行评审。指导教师需要参考软件公司的管理制度,制订有效的团队运行制度,建立团队监督和约束机制,确保项目团队能够积极、高效地运营。
夜上海论坛 2.5结合软件工程专业内容的创新实验教学
夜上海论坛 通过参与创新实验,学生可以掌握软件工程、项目管理、程序设计、软件测试、职业素养等综合知识。创新项目涉及的知识不仅包括创新项目执行学期中所学的课程,还包括已学过和未学过的课程,见表1[4]。指导教师在安排项目小组进度时要注重学习的渐进性和连续性,对未学课程的重点和难点进行介绍,让项目小组利用课余时间自学相关内容。通过创新项目的训练,学生可以把跨学期的多门课程知识综合运用到软件公司项目的开发过程中。学生在创新实验的执行过程中。要重点体会各个课程的关联,做到各门课程知识的融会贯通。
2.6有效的评价机制
夜上海论坛 在目前的创新实验评审过程中,评审方式以小组答辩为主,项目小组得到的反馈主要来自教师单方面评价。为了贴近软件公司的绩效考评,提高学生进入企业后的适应能力,我们在创新实验评审中引入在大型软件企业广泛应用的360度绩效考核。360度考评方法主要强调全方位、客观地对员工进行考评,除了通过最终成果考查员工,还考查员工的工作努力程度,使得绩效考评能全方位地反映员工的表现和业绩。360度考评方法又称为全视角考评方法,指除了被考评人本人和被考评人的直接上级外,其他上级、同事、下级、客户都可以担任考评者,不同的考评人可以从多个角度对被考评者进行全方位评价,再通过相应的反馈程序促进被考评者改变自身行为,最终帮助被考评者提高业绩。这种基于虚拟企业创新项目实验的教学效果评价体系,除了培养学生在相关专业岗位上的实践能力和解决问题能力,还对学生的职业素养和沟通能力进行多方面的评价,使创新实验的学习过程与评价体系更加贴近现实企业的需求。
3结语
夜上海论坛 (一)实践教学有待加强在很多高等院校,软件工程专业的前身是计算机专业,尽管高校依据社会的需求对专业的名称进行了调整,但其教学过程却是完全仿照计算机专业进行的,从本质上来说就是“换汤不换药”,根本不能真正满足社会对人才的要求。还有一些高校尽管对教学模式进行了调整,增设了实践教学和学生实习环节,其出发点是好的,但在具体的实施过程中过于应付,具体表现为对实践教学的重视度不够、实践教学设施落后、学生实习过于形式化等,实践教学的开展过于敷衍应付,难以发挥应有的作用。
夜上海论坛 (二)人才培养模式与社会需求格格不入软件工程专业是随着计算机和网络的发展逐渐兴起的一个新兴专业,高等院校在人才培养目标、教学方式、教学内容、实践教学等方面都缺乏经验,至今仍处于发展的初步阶段。在这个过程中,由于高校人才培养目标的不明确导致教师的教学缺乏针对性、实践性和需求性。此外,在教材的选用、教学内容的制定等方面也与软件产业的发展脱轨,教学内容陈旧、教材更新速度慢等导致学生学到的都是死知识,再加上处于高校这个封闭的环境中,学生很难接触到软件产业发展前沿的知识和信息,认识不到知识的真正价值,因此,理论落后、实践能力差、创新能力差,即使进入社会也缺乏一定的竞争力。
二、高等院校软件工程专业的建设思路
(一)改革和优化课程体系课程体系和课程内容是人才培养的基础,合理的课程设置是人才培养的关键。高等院校可以从三个方面进行软件工程专业的课程体系改革和优化:第一,围绕能力培养和社会需求进行。在具体的实施过程中,高等院校在软件工程专业要注重对基础课程、交叉学科课程、选修课程、实践课程、创新课程的设立,围绕这几个方面进行课程设置,使新的课程体系符合“厚基础、精方向、重应用、突特色、强外语”的原则,不同的高校可以依据自身的情况以及特色进行调整,最终确定符合高校自身、符合社会发展、符合软件产业发展的课程体系;[2]第二,围绕课程群进行。现阶段的软件工程专业主要分为五个课程群:素质培养课程群、应用能力培养课程群、基础理论课程群、专业技能课程群、研究性课程群。其中,高校要特别重视专业技能课程群,提高此课程群课程设置的比重,重点培养学生的专业技能;第三,围绕毕业设计进行。毕业设计是学生知识运用能力、动手操作能力、团队协作能力、科研能力、表达理解能力等方面的综合体现,而这些能力也正是软件产业发展对软件从业人员提出的要求,因此,高校应该重视对软件工程专业学生进行这些能力的培养。
(二)建立教学团队建立教学团队是对教育部提出的“实施高等学校本科教学质量与教学改革工程”的响应。教学团队的建立要依据教师的职称、学位、教学效果、科研能力等进行,在年龄上要搭配好,让经验丰富的老教师带动青年教师的发展,积极鼓励青年教师参与教学团队组织,提高自身的实践能力,同时也可以积累实践经验。
(三)加强师资队伍建设师资队伍的建设可从三个方面进行:第一,组织教研活动。活动的对象是教师,活动的形式为师范讲课、交叉听课、说课等。高校可以定期开展教研活动,让每个教师参与其中,加强教师之间的互动交流,青年教师也可以借此机会多向教学经验丰富的老教师学习,同时,教师可以在这个活动中针对教学方式、教学内容、教学理念等进行探讨,以此提高教师的教学积极性;[3]第二,重点培养青年教师。青年教师作为软件工程专业的中坚力量,必须具备较强的教学能力、扎实的理论基础、丰富的教学实践,以加快高校软件工程专业的发展。高校可以通过以下措施加强对青年教师的培养:到软件企业进行试训、建立教学团队、建立课程建设和改革项目、对申报项目成功的教师给予一定的奖励等;第三,注重对“双师型”教师的引进和培养。“双师型”教师指的是理论知识和实践经验同样丰富的教师。高校可以通过引进和培养两种方式增加自身的“双师型”教师的比重,引进指的是聘请企业或者科研单位的优秀软件人才,培养指的是将本专业的教师安排到企业接受培训或者挂职,丰富他们的实践经验。
⑴开发出自带防护功能的软件。计算机系统非常庞大,除了必备软件,在许多行业还装有专门的软件。面对如此复杂的软件系统,软件的维护工作不易开展。因此,在软件的开发过程中要加大对防护功能的有效应用,使软件自带效果较好的升级、保密、病毒查杀等功能,使其在软件运行过程中做好第一道防护工作。⑵在程序设计中使用高级语言。每一个软件都是由一定层次的语言编码而成的,像机器语言和换边语言这样层次较低的语言,虽然在操作的过程中较简单,但是不利于在使用的过程中进行软件的维护。因此,要在软件开发时使用较高层次的语言,增加软件对用户指令的智能识别能力,通过技术的手段让软件维护工作简单化、精细化。⑶严格把关软件的质量。计算机软件不同于其它实物,它的质量优劣直接影响着软件的运行效果,质量好的软件给软件维护减轻了负担,能够减少计算机软件问题的出现,这也意味着对计算机软件在源头上进行了维护。
2用户方面
⑴养成计算机软件维护的意识。对于多用户而言,计算机软件的维护似乎没有什么实际意义,只要不影响到自己的工作,没有必要去进行维护。⑵安装防护能力强的杀毒软件。为了保证计算机软件的安全运行,安装防护能力较强的杀毒软件是必要的。⑶经常清理计算机内存。计算机内存过多也会影响软件的安全性和运行效率,因而要定期进行计算机内存清理。对计算机内存进行清理包括对无用文件的清理,也包括对非常用软件的清理,尤其要注意的是要尽量减少C盘的储存数据。⑷经常对硬盘进行维护。对硬盘进行维护能减少垃圾数据对软件的影响,维护硬盘主要在于:第一,定期对硬盘进行扫描、清理、木马查杀等,清理废弃的数据,减少对内存的占用。第二,要注意对重要文件进行备份,减少计算机风险。⑸养成文明上网的习惯。第一,不浏览不健康的网站,减少电脑接触病毒的机会。第二,不打开来路不明的链接地址。第三,不进行“翻墙”行为,减少恶意木马的攻击。
3计算机软件工程维护中需注意的问题
3.1促进软件开发者和用户的合作维护并不是某一方的工作,而是软件开发者和用户共同的课题。作为软件开发者,应该不断改进技术,在提高软件使用性能的同时加强对软件防护性技术的探索。作为用户,应该在计算机使用过程中养成良好的软件维护意识,并将工作过程中出现的问题反馈给计算机软件开发者,以便在后期开发中改进相应技术。
3.2加强对相关软件维护知识的宣传为了提高用户的计算机维护技术,应该加强维护知识的宣传。首先,经营商应在用户购买电脑时给予详细的讲解,让用户意识到软件维护的重要性。第二,开发者应制订详细的维护说明书,减少用户的疑惑。第三,网络管理者可以在相应电脑界面给出维护建议,提醒用户及时对电脑进行维护。
4结语
针对《软件工程》教学过程存在的困难,提出构建《软件工程》课程纵向教学体系。《软件工程》课程纵向教学体系包括3个层次:理论教学方面:改进理论教学方法,调动学生主动性,培养学生学习兴趣;实践教学方面:结合具体项目,训练学生运用相关原理指导软件开发的全过程,提高学生灵活运用所学理论知识解决实际问题的能力;课外实训:校企合作,使学生深入企业项目开发,培养高素质软件工程人才。
1.1案例教学法在理论教学中的应用
案例教学法,是指教师在课程第一次授课前选取一个完整、难度适宜的软件开发案例;然后分阶段的在每章理论授课结束后,结合所讲章节的理论知识提出与章节内容相关的有引导性作用的问题,让学生认真分析、研究案例,开展问题研讨会,并为学生分配任务,使学生在课后收集相关资料,指导学生运用所学的相关原理来分析案例,并在规定的时间内(两周后)提交案例分析或设计报告,调动学生的学习主动性,培养学生的学习兴趣的教学方法。教师在理论授课时,注重构建学生的知识体系。在学习章节内容前,说明本章节所涉及的专业基础课程及学生所需要具备的理论素养,给学生布置任务,重新学习涉及的专业基础知识;理论授课时,把章节理论知识与已学基础课程知识相结合,根据课程例题,详细讲解理论知识,并注意提示学生已学知识在例题中的运用,从而深入浅出,帮助学生把已学知识和章节理论知识结合起来,形成知识网络。在需求分析章节的分析系统的数据要求处,指明分析系统的数据要求,通常采用建立数据模型的方法。抽出部分学生按照他们准备的PPT来详细讲解以上问题,不足之处让其它同学补充。课后,教师把准备的问题解答PPT发给大家,使学生查漏补缺,建立知识网络,打下扎实的理论基础。章节授课结束后,通过案例教学法,训练学生灵活运用所学理论知识体系解决实际的问题的能力,给同学们列出需求分析报告--需求规格说明书的提纲,要求每个学生提交一份需求分析报告。比如,案例--学生公寓管理系统,请大家运用需求分析章节所讲的知识,深入学校公寓针对学生、公寓管理员做需求调查(要求灵活运用几种所讲的需求调查方法:访谈、问卷和场景),召开需求评审会议,验证需求的正确性与有效性,两周后提交需求规格说明书。
1.2项目驱动实践教学,理论联系实际
夜上海论坛 在理论授课结束前,老师提供若干个难度适中、开发时间在一个月左右的题目。学生以小组为单位(通常5-8人)组建自己的软件开发团队,并推选小组长,负责项目管理,根据小组成员的兴趣和爱好选择一题。团队成员应均衡,以便做好分析、设计、编程及测试的分工。小组成员之间相互合作,开始实践教学环节。选择结构化或面向对象的软件工程方法,按照软件开发生命周期的各个阶段,分阶段有顺序的进行软件项目开发。每位小组成员都要参与各个阶段的软件开发,每个阶段各个成员的任务由组长分配,管理。每个小组成员全程参与软件工程的各个阶段,把理论知识运用到实践项目的开发,由项目驱动实践教学,真正用所学理论知识指导项目的开发,为学生深入理解并灵活运用理论知识提供了良好的实践机会,提高了学生的动手能力。实践环节结束,每个小组提交与选题对应的已实现的系统,并提交相关的设计文档。如开发小组选择面向过程的软件工程方法,需提交可行性研究报告、开发计划、需求规格说明书、总体设计的相关文档(系统说明、用户手册、测试计划、详细的实现计划以及数据库设计结果)、详细设计的相关文档(流程图及人机界面设计资料、用户帮助设施设计资料)、实现及测试总结、项目总结等。通过项目实践,学生会深刻认识并理解掌握所学理论知识,并且可以结合自身特点和软件工程的相关就业方向(前台开发、后端设计、测试、维护等),确定自己的未来职业发展方向,继续深入学习,拓展自己的专业知识深度,为就业打下坚实的理论和实践基础。
1.3校企合作,培养高素质软件工程人才
经过实践环节,学生对未来职业发展方向有了初步选择。在大四学期的实习环节,学校与相关合作企业进行对接,学生结合专业兴趣和职业发展方向,选择合适的企业进行校外实习。校外实习一般分三个阶段:理论知识的巩固与强化学习;职业定位方向核心技术学习;以团队为单位,参与实际项目,培养学生的动手能力和团队精神;结合以上三个阶段的学习内容,独立完成一个实际商用项目。举例:如果职业定位为J2EE软件开发,校外实习的第一阶段学习JAVA语言核心内容,Oracle数据库技术,WebCilent编程和WebServer编程,结合具体项目把以上知识运用到实际项目的开发中。第二、三阶段贯穿项目深入学习JVAVEE企业级框架。第四阶段以开发团队小组成员的身份参与一个实际商用项目开发,使学生综合运用所学知识解决实际问题。如果职业定位为软件测试,第一阶段学习测试基础并结合企业内部开发的自动化测试管理平台进行理论知识强化。第二阶段重点学习系统测试的相关技术,并结合具体项目使学生参与系统测试,编写与之相关的需求规格评审,系统测试计划、测试方案、测试用例、测试报告等文档资料。第三阶段学习软件功能测试自动化和性能测试技术,并学习企业使用的主流测试工具进行相关项目的自动化测试工具。第四阶段结合实际商用项目,综合运用所学知识,运用相关的自动化测试工具,进行项目测试,编写相关测试文档。通过项目实训,使让学生深入项目开发,把学生培养成专业理论知识扎实,动手能力突出的高素质软件工程人才。
2结语
夜上海论坛 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。其涉及面非常广,例如程序设计语言、数据库等方面被囊括其中。在现代社会中,软件被应用于生活与工作中。例如,人们在日常生活中可以采用美团这一手机应用进行订餐、购票等;在需要用车的时候可以打开滴滴打车软件寻找快车。更普遍的例子莫过于淘宝和支付宝了。这两大手机应用极大地方便了人们的生活,人们购物不再局限于实体店,而是可以随时随地打开淘宝,挑选自己想要的的东西。支付宝的随时支付特点也方便了大众。当我们出门时忘记带现金也不用感到担心,支付宝也可以完成支付任务。可以说,软件被应用于人们生活的各个方面,极大地便利了人们的生活。同时,在生产和工作中,软件的影子也随时可见。随着科技的不断发展,农业、工业、服务业等各行各业都引用了信息技术的软件,提高了工作效率。
夜上海论坛 2软件工程技术发展趋势
软件工程作为信息技术的核心之一,其发展趋势和前景影响了我国信息技术产业的发展。结合国内外软件工程技术的发展程度及社会发展需求,软件工程技术发展趋势为全球化、外向化、分块化。
2.1全球化趋势
经济发展正在全球化,政治治理也在全球化的进程当中。全球化是当今社会发展的必然趋势,软件工程技术的发展也无法逃离全球化的漩涡。就目前软件工程的发展现状而言,国外的技术更为成熟。因此,我国软件工程技术的发展,必然要加强与国外成功企业进行合作交流,互相输入输出。故软件工程技术发展的全球化趋势和特点会更加突出。而全球化的趋势之于我国信息产业是机遇,但同时也带来了诸多挑战。与国外成功企业的合作交流,我国企业能够学习到其中优秀的管理办法和经验,以及优秀的鼓励员工进行创新的夜上海论坛和氛围。但同时,也会存在诸如核心技术的保护等问题。因此,我国企业面临机遇,同时也要做好相应的工作,提高应对挑战的能力。
2.2外向化趋势
夜上海论坛 随着全球化趋势的不断加强,软件工程技术的发展趋势必然也会表现为外向化。此趋势在软件开发方面会更加凸显。在现下的中国,小米已经开放了其软件开发的平台,让有想法、有行动力的年轻人参与其中。因此,外向化的趋势可以帮助软件工程公司开发出更多新鲜有趣、能够更好地便利人们生活的软件,提高公司利润的同时也方便了人们。同时,在不断扩大外向趋势的同时,软件工程发开人员也能更容易地发现目前正在运行的软件存在的不足和缺陷,进而采用更为便捷的方式对其进行修复和修改。由此看来,外向化的趋势还能提高开发人员的工作效率。
2.3分块化趋势
软件工程是一个非常庞大的学科,其涉及面非常广泛。在未来的发展过程中,软件工程行业必然会进行分块专攻。伴随着全球化和外向化的趋势不断加强,行业内竞争、国际竞争日趋紧张,软件工程开发公司的形势更为严峻。在竞争如此强烈的市场中如何找到属于自己公司的价值,这是未来每个公司的管理层都需要考虑的问题。为了赚取更大的利润,也为了能够在某一个方面能有自身独特的成就,软件工程未来发展的趋势必然是分块化。通过分块,各公司能够做到“术业有专攻”,进而更加能够集中力量突破本领域的难题。定位的准度和精度越高,越有利于公司自身的发展。
3有效推动软件工程发展趋势的举措
夜上海论坛 3.1转变管理观念和模式
迎合软件工程技术未来的发展趋势,进而为公司做出准确的市场定位,需要公司的管理层首先转变管理理念。管理层需要转变过去只为追求公司利益而忽略员工创新发展的管理理念。国内软件工程技术开发公司应当向国外成功的企业学习,学习他们那种鼓励员工创新发展、提出自己想法,让他们实现自己想法的公司文化氛围和企业环境。在这之后,管理层应当敢于对目前的管理模式作出改变,营造一种有利于员工创新发展的管理氛围,进而为公司的创新发展提供条件。
3.2培养一批高素质的开发人员队伍
夜上海论坛 要有效地进行软件开发工作,必须有人才支撑。因此,软件工程技术开发类公司应当注重在平时培养一批技术过硬的开发人员队伍。通过这批人才队伍,带动全公司进行创新工作,为软件工程技术开发工作注入新鲜的血液和思想,从而为公司在市场上占领一定份额奠定坚实的基础。这批高素质的人才队伍也会对公司的夜上海论坛环境的发展发挥自己的力量。通过他们的带动作用,就像我国“先富带后富”一样,有一个影响作用,进而影响到公司的每一个员工,让公司上下都洋溢着创新的气氛。同时,在这批高素质的人才队伍的带领下,我国相关企业在进行对外交流合作的时候也更能达到目的和效果。综上,一批高素质的人才队伍有利于公司的长远持续发展,更有利于公司员工个人的素质提高。
作者:郑宇 单位:贵州财经大学信息学院
参考文献
[1]胥鹏程.浅析软件工程技术在网络时代背景下的发展[J].西部皮革,2017(06):1.
[2]曹金俐.计算机软件开发技术及其发展趋势[J].电子技术与软件工程,2017(06):59.
[3]任洪君.高可信软件工程技术[J].电子技术与软件工程,2017(04):53.
[4]李攀.计算机软件工程技术中的逻辑运用[J].科技传播,2017(04):35-36.
夜上海论坛 [5]吴宇.基于新时期下计算机软件开发技术应用及发展趋势的探析[J].中国新通信,2017(04):114.
此软件项目设计阶段的主要职责就是对软件工程的具体编程使用语言、如何选择操作系统以及运行平台等进行概要设计,并且还要选择适合的瀑布式开发方式,进而根据特定的市场需求对潜在的编程、模型进行选择。同时,还要对具体编程项目的分析情况以及设计编码情况进行正确量定,建立起科学合理的分析文档。此外,在此设计阶段还要对目标系统结构中的模块与接口、硬件和软件配置、数据具体结构等进行设计。
2编码单元测试与联合测试
夜上海论坛 软件开发测试人员一定要根据特定的软件开发工具以及具体研发人员的特长设定研究编码,并对每个软件测试单元和数据库定义进行相关操作,通过相应的语言开发工具来进行正确研发、调试、测试使软件更加符合用户的具体需求。软件开发者需要严格按照规定的程序将各个软件单元、模块以及硬件、网络和其它系统资源联系起来,通过集中化的测试来达到试运行的要求。在对系统集成和测试结果进行综合评审时,要对集成测试分析报告进行正确研究,确保结果的正确性。测试流程程如下图1所示。
夜上海论坛 3试运行以及后期维护
软件开发人员首先要在试运行之前选择合适的应用和试点范围,在做好各项试点记录后对运行支持的系统进行总结。此外,还要做好各项数据转换、系统切换工作,确保新旧系统能够正常运行。等新开发软件程序投入应用后,需要进行后期维护操作,并辅以适当的修改。主要包括有以下三大主要步骤:第一,分析和理解软件工程程序、修改程序、重新验证程序。其中分析和理解程序这项维护操作的核心目的是能够准确把握程序的功能和目标,这对于提高软件的正确性具有重要意义。第二,修改程序。要有计划、有目的、有规则性地对软件进行修改,通过对相关程序设计的认真修改来切实达到应用性效果。第三,重新验证程序。对软件程序进行重新验证的目的就是通过对其进行修改来进一步提高其正确性。
4结语