软件工程行业分析报告范文

时间:2023-10-20 17:25:40

导语:如何才能写好一篇软件工程行业分析报告,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

软件工程行业分析报告

篇1

针对《软件工程》教学过程存在的困难,提出构建《软件工程》课程纵向教学体系。《软件工程》课程纵向教学体系包括3个层次:理论教学方面:改进理论教学方法,调动学生主动性,培养学生学习兴趣;实践教学方面:结合具体项目,训练学生运用相关原理指导软件开发的全过程,提高学生灵活运用所学理论知识解决实际问题的能力;课外实训:校企合作,使学生深入企业项目开发,培养高素质软件工程人才。

1.1案例教学法在理论教学中的应用

案例教学法,是指教师在课程第一次授课前选取一个完整、难度适宜的软件开发案例;然后分阶段的在每章理论授课结束后,结合所讲章节的理论知识提出与章节内容相关的有引导性作用的问题,让学生认真分析、研究案例,开展问题研讨会,并为学生分配任务,使学生在课后收集相关资料,指导学生运用所学的相关原理来分析案例,并在规定的时间内(两周后)提交案例分析或设计报告,调动学生的学习主动性,培养学生的学习兴趣的教学方法。教师在理论授课时,注重构建学生的知识体系。在学习章节内容前,说明本章节所涉及的专业基础课程及学生所需要具备的理论素养,给学生布置任务,重新学习涉及的专业基础知识;理论授课时,把章节理论知识与已学基础课程知识相结合,根据课程例题,详细讲解理论知识,并注意提示学生已学知识在例题中的运用,从而深入浅出,帮助学生把已学知识和章节理论知识结合起来,形成知识网络。在需求分析章节的分析系统的数据要求处,指明分析系统的数据要求,通常采用建立数据模型的方法。抽出部分学生按照他们准备的PPT来详细讲解以上问题,不足之处让其它同学补充。课后,教师把准备的问题解答PPT发给大家,使学生查漏补缺,建立知识网络,打下扎实的理论基础。章节授课结束后,通过案例教学法,训练学生灵活运用所学理论知识体系解决实际的问题的能力,给同学们列出需求分析报告--需求规格说明书的提纲,要求每个学生提交一份需求分析报告。比如,案例--学生公寓管理系统,请大家运用需求分析章节所讲的知识,深入学校公寓针对学生、公寓管理员做需求调查(要求灵活运用几种所讲的需求调查方法:访谈、问卷和场景),召开需求评审会议,验证需求的正确性与有效性,两周后提交需求规格说明书。

1.2项目驱动实践教学,理论联系实际

在理论授课结束前,老师提供若干个难度适中、开发时间在一个月左右的题目。学生以小组为单位(通常5-8人)组建自己的软件开发团队,并推选小组长,负责项目管理,根据小组成员的兴趣和爱好选择一题。团队成员应均衡,以便做好分析、设计、编程及测试的分工。小组成员之间相互合作,开始实践教学环节。选择结构化或面向对象的软件工程方法,按照软件开发生命周期的各个阶段,分阶段有顺序的进行软件项目开发。每位小组成员都要参与各个阶段的软件开发,每个阶段各个成员的任务由组长分配,管理。每个小组成员全程参与软件工程的各个阶段,把理论知识运用到实践项目的开发,由项目驱动实践教学,真正用所学理论知识指导项目的开发,为学生深入理解并灵活运用理论知识提供了良好的实践机会,提高了学生的动手能力。实践环节结束,每个小组提交与选题对应的已实现的系统,并提交相关的设计文档。如开发小组选择面向过程的软件工程方法,需提交可行性研究报告、开发计划、需求规格说明书、总体设计的相关文档(系统说明、用户手册、测试计划、详细的实现计划以及数据库设计结果)、详细设计的相关文档(流程图及人机界面设计资料、用户帮助设施设计资料)、实现及测试总结、项目总结等。通过项目实践,学生会深刻认识并理解掌握所学理论知识,并且可以结合自身特点和软件工程的相关就业方向(前台开发、后端设计、测试、维护等),确定自己的未来职业发展方向,继续深入学习,拓展自己的专业知识深度,为就业打下坚实的理论和实践基础。

1.3校企合作,培养高素质软件工程人才

经过实践环节,学生对未来职业发展方向有了初步选择。在大四学期的实习环节,学校与相关合作企业进行对接,学生结合专业兴趣和职业发展方向,选择合适的企业进行校外实习。校外实习一般分三个阶段:理论知识的巩固与强化学习;职业定位方向核心技术学习;以团队为单位,参与实际项目,培养学生的动手能力和团队精神;结合以上三个阶段的学习内容,独立完成一个实际商用项目。举例:如果职业定位为J2EE软件开发,校外实习的第一阶段学习JAVA语言核心内容,Oracle数据库技术,WebCilent编程和WebServer编程,结合具体项目把以上知识运用到实际项目的开发中。第二、三阶段贯穿项目深入学习JVAVEE企业级框架。第四阶段以开发团队小组成员的身份参与一个实际商用项目开发,使学生综合运用所学知识解决实际问题。如果职业定位为软件测试,第一阶段学习测试基础并结合企业内部开发的自动化测试管理平台进行理论知识强化。第二阶段重点学习系统测试的相关技术,并结合具体项目使学生参与系统测试,编写与之相关的需求规格评审,系统测试计划、测试方案、测试用例、测试报告等文档资料。第三阶段学习软件功能测试自动化和性能测试技术,并学习企业使用的主流测试工具进行相关项目的自动化测试工具。第四阶段结合实际商用项目,综合运用所学知识,运用相关的自动化测试工具,进行项目测试,编写相关测试文档。通过项目实训,使让学生深入项目开发,把学生培养成专业理论知识扎实,动手能力突出的高素质软件工程人才。

2结语

篇2

关键词:软件工程;实践;教学改革

软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义:

1)Barry Boehm给出的定义:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。

2)IEEE在软件工程术语汇编中的定义是:

① 将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;

② 在①中所述方法的研究。

3)Fritz Bauer在NATO会议上给出的定义:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。

4)《计算机科学技术百科全书》中的定义:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。

目前比较认可的一种定义是:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验且证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

学生对软件工程课程的理解与掌握程度将直接影响学生毕业后软件开发能力和项目管理能力,同时

因为该课程的抽象性和实践性强的特点,常规的教学方法和实践模式使学生无法真正理解与掌握软件工程的精髓,更难以做到学以致用。笔者看来,本科阶段软件工程教学的重点在于学习经过时间考验且证明正确的开发方法、管理技术等。首先,要让学生深刻意识和体会到软件工程对实际软件项目的指导作用;其次,学生要掌握相关的理论、方法和技术。在实际的教学过程中,只有将两者很好地结合,学生才能够真正地将科学的工程方法应用到今后的学习和工作中去[1-2]。

1教学现状分析

软件行业用人单位普遍认为计算机专业毕业生的素质与工作预期相差较远;计算机专业已毕业的年轻从业人员对自己前几年在大学学到的知识不甚满意。因此软件工程专业中注重实践类课程的教学内容与教学理念有必要按照就业市场的需求进行调整[3-5]。

据笔者近年的教学体会,目前软件工程教学过程中主要存在以下问题。

1) 大多数学生自身没有实际的项目经验,如果教师仍采用传统的教学方式,学生容易感到知识空洞和乏味。

2) 实践环节仍以编程为主。目前的软件工程实践环节多为老师提供若干题目,学生采取分组的形式共同完成课题。该环节老师会要求大家按照软件工程的过程和方法去做。但是,实际情况往往是:学生将任务重点仍放在程序的编写上,而作为约束开发的文档往往是学生在程序开发完成后补充上来的。这样,软件工程实践的目的并未达到,并未让学生真正领会和认识到软件工程并不仅仅是开发程序,任何一个环节对整个项目来说都是重要的。

3) 实践环节所布置的软件项目课题多没有实际的应用和用户群体,学生不过仍然是按照书本或相关参考资料来完成相应的文档或程序,学生并未学会如何将所学的理论知识应用到实际的项目中。

2创新模式

针对目前软件工程教学过程中的诸多问题,笔者在实际教学过程中进行了一系列的探索和实践。如图1所示,在课堂教学环节中,让学生担当一定的角色,学生带着任务来学习,积极参与到课堂教学活动中;同时开展校园创新实验室,真实演练软件工程的过程;此外,还建立了校外实习基地,学院还定期开展校园软件大赛等活动。各个环节有序进行,充分调动了学生学习的积极性,收效颇佳。

图1软件工程教学与实践模式

2.1课堂教学设计

教师从课堂入手,让课本的理论知识变得生动起来,富有趣味性,引导学生主动学习。课堂仍以理论知识讲解为主,但是打破以往以教师讲解为主的教学模式,让学生参与进来,做到师生互动。

课程初期,学生自愿结合组成团队,按照实际项目中的角色分为:项目经理、系统设计师、程序开发人员、测试人员、文档人员、后期维护人员等。通常,项目课题的来源是企业的实际项目。通过一个完整、真实的案例,每位学生担当实际的角色共同负责一个软件工程的项目,将课本的理论知识和实际项目完好结合起来;通过实际案例的真实演练,软件工程的各个环节和知识点逐步渗透到学习中去,很好地调动了学生的学习主动性。

2.2校园创新实验室

校园创新实验室目的在于启发学生独立思考,强调学生对知识的实际应用能力。

由于课堂学时所限,校园创新实习实验室是课堂教学的有益补充。例如,在讲解软件工程生命周期的各个阶段,要求学生提交相应的可行性分析报告、需求文档、设计文档、程序代码等,并采取相互监督的方式来检查其他小组的进展;在讲到可行性报告一章,要求每个小组采取会议形式,在实验室开展模拟招标会……课程每讲一部分内容,要求以小组为单位提交相应的文档或程序。学生通过实际的项目,将所学的理论知识应用到其中,做到学以致用。在实际的过程中,每个人在软件工程的各个环节都要实践,因此可以采取不断变换角色的方式来进行[6-7]。

校园创新实验室模拟软件公司开发管理模式,是学生课外科技、课外实践、开发训练、社会服务活动的基地,为学生在校期间提供了良好的就业实战平台。校园创新实验室具有以下特点:

1) 打破以往固定上机时间模式,开放时间为每天早上7点到晚上10点,时间较为灵活,学生可以根据自己的时间合理安排。

2) 每个实验室由2~3位同学负责管理实验室的硬件设备,软件维护升级等相关工作,每个实验室配备一名教师辅助管理。

3) 实验室每天有固定人员值班,负责学生的签到以及日常的管理等。学生负责人定期将签到表汇总提交相关课题指导教师。

4) 实验室的环境布置采用分组圆桌形式,方便小组的讨论和交流。

2.3校外实习基地

我校与本地的软件企业联合,开展校外实习基地,在课程结束后进入软件工程校外实习环节,让学生融入到真实的开发环境中去。

有了上一个学期的理论基础和校内创新实验室的经验,我们根据实际情况,有选择地让学生进入企业,跟随项目组一起,参与到真实的项目中去。校外实习过程中,要求学生认真记录项目过程开展的各项工作,并积极参与到各阶段的工作中去。所有环节结束后,要求学生以报告的形式将自己的体会告诉大家。作为课堂教学的补充,我们通常请同学重点讨论下面的内容:

1) 软件工程生命周期在实际项目中和理论上的是否一致,有哪些不一样的地方,为什么在实际中要这么做。

2) 软件工程对实际项目的指导作用在哪里。

3) 今后教学的改革重点在哪里,如何更加有效促进校企实践教学的改革。

学生的总结很重要,除了能够规范自己今后在软件行业的开发流程,对低年级的同学也有较好的启发。

2.4丰富的课外实践

为了提高学生学习的兴趣,我校还开展了“三个一”工程,即一种程序设计语言及平台、一个作品、一万行代码经验。在学习过程中让学生带着问题去看书,带着任务去学习,在软件工程后面的学期要求每位学生完成一项实用性课题。

我校每年都要举办计算机技能大赛、软件知识大赛和软件设计大赛三大赛事,从技能到知识再到设计,与课程学习紧密配合,从课外的另一条学习路线促进学生自主学习。

此外,我校组织学生参加省级各类软件大赛,如省青年创新软件设计大赛、省程序设计竞赛、省大学

生程序设计竞赛、863软件园杯大赛等,我校选送的学生软件作品多次获得嘉奖。

学校还多次邀请行业工程师、学术专家给学生做报告,让学生们接受了一些最前沿的科技信息,受益匪浅。

3结语

结合我校近几个学期的教学改革情况来看,较以往取得了更好教学效果。

1) 每个学生都是带着任务来学习的,学生上课积极性较以往有较大提高,课堂气氛活跃。

2) 学生对软件工程课程的重要性有了更深刻的认识,对其在软件整个过程中的指导作用有了更好的体会和理解。

3) 就业率有所提高。学生因为有实际的项目经验,受到用人企业的欢迎。

当然,目前的教学方式还有待于进一步改革,如学生因为掌握的编程语言有限,所以在后期的校外实际项目中显得力不从心;此外,实际项目的周期有长有短,和学生的学习实践结合不是很好。如何把校企实践教学结合的更加紧密和有效,是我们今后的研究和探索内容。

参考文献:

[1] 普雷斯曼. 软件工程:实践者的研究方法[M]. 郑人杰,译. 北京:机械工业出版社,2006:2-12.

[2] 林丕源,刘才兴. 本科软件人才培养探索与实践[J]. 计算机教育,2009(16):77-79.

[3] 张学辉. 新就业形势下软件工程专业实践教学探索[J]. 计算机教育,2009(15):127-128.

[4] 林丕源,刘才兴,张明武,等.以就业为导向的软件工程专业的实践教学改革初探[J]. 实验室研究与探索,2007,26(12): 238-240.

[5] 郁书好,苏守宝,刘正余. 基于项目驱动的软件工程教学模式研究[J]. 皖西学院学报,2009(5):60-62.

[6] 张炜,陈峰,祝勇仁. 开放式创新实验室建设与学生创新能力培养模式的研究[J]. 高等理科教育,2008,78(2):70-73.

[7] 白广梅. 关于创新实验室建设的思考[J]. 实验技术与管理,2007,24(2)136-138.

Teaching Module of Software Engineering Based on Practices

YANG Hua, SHENG Jianhui

(Department of Computer Science and Technology, Zhongyuan University of Technology, Zhengzhou 450007, China)

Abstract: Software Engineering is a strong practical course. According to the features of this course and the focus of undergraduate teaching, this article puts forward an application-oriented teaching method, carries out a series of teaching activities such as teaching reform, the campus laboratory, practice bases outside school, extra-curricular series of practice and so on. These reforms effectively improve the enthusiasm of students.

篇3

第三方测评的目的和意义

企业在信息系统的建设过程中,按照软件工程理论,在系统上线之前,企业首先要求系统开发商进行内部测试,提交相对稳定的版本,然后企业自身将安排进行用户测试,以保证系统满足客户需要。但这两种测试都存在缺点和不足。系统开发商在进行内部测试过程中,除了个别利益驱使造成的问题外,思维定势也局限了测试人员的工作,容易造成问题的漏测与误判,这一问题在涉及业务流程、安全可靠性、易用性、可扩充性和用户文档等方面体现得尤为突出。另外,用户在自测过程中,虽然对系统功能较为了解,但一般用户对于计算机领域知识不可能也没有必要深入研究,在测试过程中无法对系统进行深入分析,因此在用户自测过程中,在系统性能测试、网络测试、硬件测试方面根本无法进行专业的测试,存在较大缺憾。

鉴于开发商内部测试和用户测试存在的问题和不足,必须引入第三方专业测评机构进行测试,以避免上述问题的发生。

引入第三方测试的目的主要在于提高信息系统质量、降低运营风险、减少后期维护成本、保障软件工程质量。第三方测评的意义在于:保证测试工作的客观性。

专业的第三方测试机构按照与业主签订的合同约定,不会刻意维护开发方的利益,这保证了测试工作在一开始就具有客观性。第三方一般属于权威的专业测试机构,因此能够严格按照软件工程的要求,以软件工程的标准要求开发方与业主方进行配合,从而较好地体现软件工程的理念。

保证测试工作的权威性

第三方测试机构丰富的行业测试经验有利于从用户角度及专业角度看待系统,更好的进行测试工作。此外,由于系统的规模较大,开发商很难投入足够的人力与物力进行测试工作,同时也缺乏专业的测试工具(一般价格较昂贵)及丰富的工具使用经验,而专业的第三方测试机构拥有长时间经验积累,能够参照以往行业信息化项目的测试案例,更好的完成验收测试工作。保证测试工作的公证性

第三方没有参与业主方的需求定义以及开发方的需求分析、设计与编码工作,因此只能通过对需求定义、需求分析、设计、使用文档等的分析来深入理解系统,有利于公正的评价系统出现的问题。引入第三方测试后,由于测试方的权威性与相对客观的位置,便于调解业主方与开发方之间的矛盾,有利于系统中问题的解决。

第三方测评的内容

第三方评测的内容主要包括:功能度、性能、安全性、可靠性、易用性、兼容性、可扩充性、用户文档等方面的测试,能够发现系统功能、性能及业务流程方面存在的问题。通过对照需求分析报告、设计说明书及用户手册对问题进行分析,能够发现不同环节引入的缺陷:

需求分析阶段的问题

对用户需求不合理的简化,造成系统功能及性能方面出现重大缺陷;将用户需求复杂化,造成系统冗余程度过高,降低系统运行效率,提高项目开发成本与使用成本。

设计阶段的问题

未能反映需求中的用户要求,造成系统功能的遗漏;对需求的理解不准确,造成系统功能实现的错误;设计方法选择不当,造成系统结构不合理,导致运行效率降低和稳定性下降。

开发阶段的问题

未按照设计进行编码或编码错误,造成系统功能错误、性能不满足要求、业务流程产生断点。

用户手册的问题

对系统功能模块描述不完整;与系统实际功能不一致;缺乏必要的操作实例。

通过对系统存在问题的分析后,第三方测评机构将提交问题报告,问题报告在对问题现象描述的基础上,按照问题的严重程度进行分类,分析问题产生的原因并提出修改建议。被测评单位可参照问题报告,向开发商提出系统修改的要求。

在问题修改完成后,将进行回归测试,一方面检查问题的修改情况,另一方面测试相关模块是否产生新的问题。回归测试工作实现了对系统缺陷的全过程跟踪,从而有效保证缺陷的及时解决。

在回归测试的基础上,完成系统的测试报告,测试报告对系统的功能、性能、流程的综合情况进行分析并对系统整体情况进行评估,令面把握系统总体质量情况,为系统的后续开发、推广和运行打下基础。

第三方测评的效益分析

以某单位信息系统的测评为例,在引入第三方专业测评机构之前,该项目的开发商和用户已经进行了详细的内部测试和用户测试,但并没有形成完善的测试报告,同时系统在功能、性能方面依旧存在缺点和不足,在易用性和资源占用情况等方面存在效率不高的问题。

为全面了解信息系统的运行情况,提高业务执行效率和系统稳定性,该单位聘请第三方测评机构,从功能度、性能、安全性和易用性四个方面对该系统进行了专业的测评。

在功能度方面,主要围绕信息系统的核心模块功能点以及业务流程进行了详细测试;在性能方面,主要针对该系统的十几个关键业务点进行负载压力测试,同时监控应用服务器和数据库服务器的资源使用情况,包括CPU占用率、硬盘使用状况以及事务处理平均响应时间等相关参数,考察系统在各种情况下的性能表现;在安全可靠性方面,结合功能考察软件的用户权限限制、用户和密码封闭性、留痕功能、屏蔽用户错误操作、错误提示的准确性、数据备份恢复手段等方面;在易用性方面,考察了软件的用户界面友好性、易学习性和易操作性等等。

篇4

关键词:软件工程;国外模式;能力导向;人才培养

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

1引言

截至2008年底,中国软件产业规模达到7000亿元,并继续保持20%以上的增长势头。当一个产业面对蓬勃发展的市场的环境的时候,如果没有足够人才资源,就不会有产业的繁荣。尽管我国有世界上最大的教育资源,但困扰中国软件自主创新的主要就是人才瓶颈的问题。由于人才总量缺乏,中国软件行业从业人员流动性极大,中小企业新招来的员工工作一年后,就可能会被一些大公司挖走,这也成为中小企业难以做大的重要原因之一。目前许多软件企业的投资要围绕着人才来建立,因为获得足够的合格的人才已经变成了一个困难的事情。与此形成鲜明对比的是,每年都有大量的毕业生难以找到合适的工作,因为多数企业都要求新招聘的员工要有两年以上的工作经验。这说明我们培养的毕业生与企业的要求还有较大的差距。此外,经济全球化也对人才培养标准提出了国际化的新要求。跨国公司进入我国需要大量具备国际化特点的本土人才,我国的企业走出国门同样也需要很多国际化的人才,国内人才市场已经成为国际人才市场的一部分。因此人才培养必须符合国际化的标准。

我国也有许多产业界和教育界人士从不同的角度、不同的层次对工程教育进行了广泛深入的研究和探索,他们从工程人才的培养目标、课程改革,综合素质,综合实践能力,创新能力和团队精神等等方面进行了研究和探索。这些研究表明,现代工程呈现出科学性、社会性、实践性、创新性、复杂性等特征,这就要求当前高等工程教育培养的工程师不仅要有扎实的专业知识和技能,而且要有高尚的道德品质,要有一定的政治、经济、法律、人文、环境、管理等知识,以及与之相应的素养与技能。

本文结合浙江科技学院在软件工程专业培养计划和课程教学层面的改革探索对此进入研究。

2浙江科技学院中外合作项目介绍

浙江科技学院是教育部确定的中德合作培养高等应用型人才的试点院校。1990年,中德两国政府正式换文,开始两国政府级合作建设我校的项目。参照德国应用科学大学的教学模式,进行了一系列的教学改革,引进两个实践学期,与企业建立密切的合作关系,形成并逐步完善了高等应用型本科人才的培养模式;引入了注重创新实践能力培养的“项目教学”方式;开展模块式教学, 为开设共同的国际化专业奠定基础。引进实践型教学模式,以此促进应用型、适应地方需求的高等教育体制的建立。

2003年12月,浙江科技学院与澳大利亚南昆士兰大学(University of Southern Queensland)合作举办计算机科学与技术专业本科教育合作项目获得国务院学位办批准。5年来,我校与南昆士兰大学就人才培养、教学改革等方面进行了广泛而卓有成效的合作,取得了显著的办学成效。

3能力导向的软件工程人才培养方案

近年来,作为主要的二级学院信息学院认真研究总结了与德国FH和澳大利亚合作办学的经验,认识到如今的工程师除了要牢牢掌握专业相关的知识和能力外,还必须具备终身学习的能力、良好的交流能力、团队合作能力,必须具备对本专业、本行业乃至社会、历史、文化、环境等方面的系统性的理解能力,然而在我们传统的专业培养理念中,并没有明确地、完整地涵盖这些能力的培养。因此,在我们探索新的培养理念、培养模式时,要把学生的知识结构、专业能力同他们的终身学习能力、交流合作能力、大工程观念一同考虑,让他们有机地体现在整个培养计划中。因此我们以能力为导向,提出了“优化基础,强化能力”的培养计划和课程教学的改革目标,并全面修订的培养计划和课程大纲。由于不同的专业内涵不同,因此针对不同的专业应有不同的描述。针对软件工程专业方向,学院首先对学生需要培养的能力进行了研究,提出了下列要求(如表1所示):

以上的一些能力,在我们教学体系中常常被忽视,比如良好的职业道德和责任感,而这往往是至关重要的,因为当用户把系统交给软件工程师后,就相当于把职业生命的一部分交出来了。除了用户的工作可能严重依赖于软件系统外,用户许多重要的商业秘密和保密信息也依赖于系统。又比如人文素质,由于软件系统往往会涉及到文化、道德、宗教等方面冲突,因此软件工程师必须了解并理解用户这方面的要求。另外,交流沟通能力在工作中也常常起着重要的作用,因为软件工程师需要不断地与各类用户、管理人员、技术人员等进行交流,了解他们的需求,向他们陈述项目的情况。对软件工程师而言,终身学习能力显得尤其重要,因为软件产业相关的原理、技术、方法和工具等更新速度非常快。

在研究分析软件工程师所需能力的基础上,以能力培养为导向,参考澳大利亚办学模式,对人才方案进行了改革。从软件工程的系统性、整合性出发,优化基础课程、发展人文课程和跨学科相关课程。如增加《论语》等中国传统文化的课程,增加了“信息科学技术导论”等具有导引性的基础课程。为了使学生能获得更适合个人背景和兴趣的知识,在培养计划中不断引入多种选择,开设了多门选修课,选修课程的比例从15%提高到了30%,拓宽了专业课的知识面,而且尽可能拓宽课程基础内容, 以使学生形成灵活的思想和宽广的知识背景。

4能力导向的软件工程专业课程教学改革

4.1按课程群分组制定大纲,进行模块化教学

在教学大纲的编写方面,结合学科发展和学科自身的内在规律,改变以往各课程独立制定大纲的方式,代之以按课程群分组制定大纲,从而使得教学内容的总体布局、课程之间的衔接科学合理,同时避免出现知识盲点和教学内容的重复现象。课程教学分为课堂教学、辅导课和实践课三个模块进行,强调理论与实践相结合,模块之间衔接紧密。课堂教学模块主要介绍一个教学单元的主要内容以及重点、难点的讲解,类似我们的课堂教学;辅导课模块主要是针对上一次课堂教学的教学内容组织学生进行分组讨论,以基于问题的交互式方式为主,调动学生主动思考、积极参与;实践课模块就是实验课,根据实验任务书进行安排。

4.2大量采用案例教学法,并让学生以角色扮演的方式参与到实际案例中

参考澳大利亚南昆士兰大学的方式设置的,主要是以课程内案例分析设计为手段,每门核心课程每个知识点均有相关案例用于讲解分析,同时有二次案例设计大作业。强调知识的实际应用,启发学生积极思考,提高学生的课堂参与度和学习主动性。比如“系统分析与设计”课程围绕着软件开发生命周期(SDLC)的主线,把11章内容分为系统规划、系统需求分析、系统设计、系统实现和系统维护5大块,通过一个实际案例(美国某大学的Mountain Library System)贯穿始终,相应知识点配有其他案例作补充,围绕着课程主线,把知识点逐步渗透,实际的案例讨论和应用将理论与实际完全结合起来,既有逻辑性,也有趣味性。

“市场导论”课程让学生作为市场调查员来分析相应的调查内容,最终完成调查报告;“信息安全原理”要求学生以企业安全顾问的角色对企业的运行过程及网络架构进行诊断,找出问题并提出解决方案和整改措施,并模拟真实场景进行全英语答辩;“高级系统分析与设计”课程让学生站在系统分析员和设计员的角度对实际项目案例进行分析和设计,在分析的过程中学习相应的理论知识,最终完成分析报告和设计报告。

4.3将教学与职业技能考试、各类竞赛相结合

借鉴澳方课程教学与职业技能考试相结合的经验“系统规划与管理”课程完全是按照国际信息技术服务ISO/IEC20000的标准开设的,要求学生通过这门课程的学习取得ITIL Foundations Certification证书。将“软件质量保证与测试”和“软件项目管理与案例分析”课程列入教学计划,要求学生在学完这两门课程后,取得“软件测试工程师”和“项目管理师”的职业证书。

为提高优秀学生科技创新能力设置了各类专业大赛、技术创业计划等,鼓励优秀的学生参与探索创新或创办公司。培养学生解决实际问题的能力、合作沟通能力,也加深了学生对专业的了解,提高了专业兴趣和学习动力。

4.4构建从基础到应用一体化的课程知识体系

引进的澳方课程“网络与分布式系统”涵盖了国内的“计算机网络”、“计算机网络组网技术”和“计算机网络配置和管理”等多门课程,从偏重于基础理论的计算机网络知识的介绍,再扩展到比较实用的组网技术和网络配置、管理能力的培养,一应俱全,一脉相承。将理论和实践直接结合,学生实践应用能力的培养得到了保证。根据这种知识体系的构建模式,在软件工程专业培养方案上,优化、裁减了专业基础课程,淘汰或合并了6 门过分强调底层基础理论的专业基础课,加入了更多的实用新型技术的课程,突出应用能力的培养。

4.5加强以能力导向的实践教学

强调实践性教育以培养学生的实践能力、团队合作能力和科研创新能力。大幅度提高实践实验实践教学的比例,占总学时的比例从15%提高到了35%。实验实践教学主要有三个层面。

(1) 为了强化本专业的主要核心知识、能力和素质而设立的实际工作项目。

实践教学环节主要参考德国FH的方式设置的,主要有三个环节,①是在第二学年设置了两周的到企业单位进行的认知实习,以介绍本专业核心内容及调动学生兴趣为目的;②是在第四学年上半年设置的12周的企业实习,以实际参加企业的工作,目的是大幅度地提升学生协同工作能力、工程―社会系统适应能力,应用专业知识解决实际问题的能力;③是第四学年下半年设置的毕业设计,以综合应用专业知识和能力,以工程的思维独立地完成系统设计开发为目的。

(2) 为加强一组相关核心课程知识与能力综合要求而设置的项目。

以项目为载体,将学生的基础知识学习和综合能力训练、扎实的课程学习和广泛的探索兴趣结合起来,将知识学习和能力培养、团队合作精神、工程思维以及系统分析设计能力等有机地结合起来。培养计划从大一到大四各个学年中,分别设置了程序项目设计,数据库应用系统设计,集成程序开发设计,软件工程综合项目设计等教学环节,每个环节均单独设置单独考核。学生的学习也从个人工作,演变成小组工作,团队工作,教学方式也从应用训练,演变为项目设计,综合项目开发等。

4.6能力导向的教学评估系统改革

通过中澳合作办学项目,引进了南昆士兰大学的课程评价体系――形成性考核。

形成性考核是指对学生学习过程的测评和对学生课程学习的阶段性考核,是教学过程管理的重要环节,其目的是要加强对学习过程的指导和管理,及时反馈学习信息,指导教学,提高学生的综合素质和能力。

课程形成性考核一般包括记分作业考核、专门设计的课程大作业、实验以及对学生课程学习过程的考核监控等。每门课程教学内容考核的具体要求在该课程教学大纲中应作出明确规定。

(1) 记分作业考核根据学生完成记分作业的质量,评定形成性考核成绩。一门课程的记分作业一般应为3~5次。

(2) 专门设计的大作业考核是指根据课程需要为形成性考核而专门设计的综合性作业。根据学生完成作业的质量,评定形成性考核成绩。专门设计的大作业侧重于对学生应用、分析、综合、实践能力的测试,由任课老师自行拟定。一门课程的大作业一般为2~3次。

(3) 学生课程学习过程的考核监控是指对学生平时整个课程学习过程真实情况的考核。主要包括对学生的课堂笔记、课堂讨论等学习过程情况的量化记录检查进行的考核。

(4) 将期末考试,形成性考核和平时成绩进行有机的结合,有效的监控教学过程,改善教学时空分离的状况,改革教学过程管理,达到提高教学质量的最终目的。

形成性考核体系有利于科学地考核学生的课程知识掌握程度和实际运用能力,实现由应试教育向能力培养转变。

5结束语

在整个探索过程中,我们始终坚持以下指导思想:(1)先进性:结合浙江省经济社会发展对人才的需求和我校的办学实际,注重引进国外优质教育资源和先进教育理念,体现中外合作办学的先进性。(2)主体性:始终坚持“以我为主,为我所用”办学指导思想,通过中外合作办学深化教学改革,提高教学质量,探索软件工程人才培养新途径。

通过借鉴国外优质教育资源和先进教育理念,深化教学改革,提高教学质量。软件工程方向的这些主要改革内容从2004级70名同学开始实施,与实施前相比,学生的知识掌握程度,知识运用能力,交流沟通能力、管理能力及职业素养都得到了大幅度地提高。

我们将在接下来的工作中,继续积极研究、探索,为我国软件工程人才培养的改革作出贡献。

参考文献:

[1] 周杏鹏,马旭东,孟正大,等. 注意整体优化突出能力培养[J]. 高等工程教育研究,2006(5):75-76.

[2] 谢笑珍. “大工程观”的涵义、本质特征探析[J]. 高等工程教育研究,2008(3):35-38.

[3] 陈国聪,张济生. 开展工程综合实践培养学生实践能力[J]. 高等工程教育研究,2004(2):80-82.

篇5

关键词:应用软件;用户测试要求;测试人员素质;软件危机

1 引言

应用型软件测试人才的需求随着软件业的迅猛发展,软件产品的质量控制与质量管理正逐渐成为企业生存与发展的核心[1]。目前应用软件作为直接服务于最终用户的软件无可非议地占住着绝大多数的软件市场份额,不仅数目庞大,而且对经济社会的发展起着积极的推动作用。应用软件针对性强,软件的开发不是很规范,呈现出“重开发,轻测试”的趋势。有的开发小组根本没有反映用户需求的测试方案,测试人员不断重复“开发-测试-修改-测试-再修改-在测试”过程,用户交流困难,开发节点一推再推,开发经费不断追加,造成软件产品质量问题十分突出,经常形成“软件危机”。

本文认为,应用软件不同于其它软件,应用软件必须充分反应用户的要求。测试人员除了应具备软件素质外,还必须具备应用素质。

2 应用软件测试的用户需求

应用软件测试同其它软件测试一样,同样需要准备测试环境、测试大纲等。不过测试大纲除了响应软件功能和性能要求外,还需要深刻反应用户意图。即界面符合性、功能符合性、流程符合性和操作符合性。

界面符合性。由于应用软件面向行业,有的面向一个企业,有的甚至面向一个用户,因而软件界面必须具备用户特征,在功能布局、信息安排及色彩搭配上反映用户要求。考虑系统集成,软件界面还必须显示链接嵌入软件或比较方便被其它软件调用。

功能符合性。功能符合性除了考虑软件设计目标,主要考虑用户意图实现否。用户一般对繁杂的软件工程步骤不了解,但希望每一项功能实现都是他想要的,任何缺失功能或不能理解的功能,用户都不会接受,企图说服用户的企图往往会失败,用户不满意意味着这项功能需要重新开发。

流程符合性。流程即将一个一个功能串起来实现某一个过程。软件开发人员按照软件工程规范设计软件流程,用户按照工作规范组织功能,两者侧重有些不同,又可统一考虑。即先按软件工程设计,再考虑用户工作规范。软件工程规划底层实现,用户工作规范考虑上层功能链接。流程还有一个跳转的问题,符合前行条件即往下走,符合跳转的条件即跳转,跳转中符合前行即往前跳,需要打回即往后返。流程跳转问题必须符合用户工作要求,否则软件无法使用。

操作符合性。即软件的操作必须符合用户的工作习惯。这是一个软件可用性问题,不考虑用户习惯的软件很难推广。用户习惯与用户工作经历、技术水平及相关软件密切相关,软件开发除了尽量考虑群体用户习惯外,还可以通过反复培训提高用户软件理解、操作水平。

3 应用软件测试人员素质要求

软件测是人员一般都具有高度的责任心、较强的探索精神、良好的沟通能力,具有较强的逻辑思维能力和自主学习能力,具有扎实的计算机基础知识、全面的业务知识,以及娴熟的测试技能人才[2]。应用软件测试人员除了具有一般软件测试能力外,还应该具备专业知识、沟通能力和规范化操作。软件测试工程师作为软件质量管理和控制领域的专业应用型人才,必须具备以下几个方面的职业素质:

这里专业知识是指应用软件服务的专业领域知识,应用软件测试人员工作前需系统学习该领域专业知识。知识学习可以分步进行,先在宏观层面学习,后在具体层面学习。测试也可以同时进行,先进行整体性测试,后实施详细测试。否则在测试时难以发现专业逻辑性问题。

沟通能力即测试人员的理解能力和表达能力。要理解用户意图,软件测试人员必须与不同角色的人员进行交流,包括用户领导层、用户管理层及用户操作层、技术支持和培训人员等,这就要求测试人员有良好的交流能力和沟通技巧,能够清晰地表达自己的观点,友好地与他人协作,也能够充分理解用户意图,以利于项目顺利进行。另外,软件测试包括了对软件过程管理、软件项目管理、软件质量管理和软件开发生命周期文档的检查。程序的各个开发阶段是相互衔接的,前一阶段的工作如果出现的问题不及时解决的话很自然的会影响到下一阶段的,所以对于一个项目的顺利完成,测试人员的协同合作能力也是非常重要的。

规范化文档。软件测试文档是测试过程中的阶段性产品,主要涉及测试计划、测试用例编写、测试分析报告、测试结果和测试文档评审,它起着规范化操作、存档及复查的作用。应用软件测试必须将测试文档做到实用、严谨、有理有据、有分析有结论,这就要求软件测试人员必须具备较强的逻辑思维能力、理解能力和撰写能力,这有利于测试人员更好地把握用户需求,设计好测试用例,进而有效地执行测试任务,保证整个测试项目的效果。

扎实功底。作为应用型软件测试人员,不仅要全面掌握基础的测试原理、测试过程和测试方法,还要精通自动化测试技术和测试工具的使用,娴熟地开展测试流程管理、缺陷管理,掌握一门脚本语言;不仅应具备软件设计和编程技能,可以进行测试脚本的编写、测试工具软件的开发,而且还要明白被测试软件系统的实现原理、方法以及涉及的各种系统平台、技术等;不仅应该掌握网络、操作系统、数据库、中间件等计算机基础知识,还能对各种系统平台进行分析与调优;不仅具有良好的质疑精神,而且自信心、责任心强,细心和耐心,善于积累各项经验,洞察力敏锐[3]。

4 结束语

应用软件测试不同于系统(或平台)软件测试,应用软件测试面对的是最终用户,系统软件测试面向的是高层次软件人员。所以应用软件测试必须围绕“最终用户”做工作,完全把握用户意图,软件质量才有保障。

参考文献:

[1] 兰景英.应用型软件测试人才培养模式探索与实践.潍坊教育学院学报,2011;24(4):71-73

篇6

国内对软件知识产权保护的立法状况为:我国于1990年9月颁布了《中华人民共和国著作权法》,计算机软件初次被列为著作权保护的范围,其第三条明确规定本法所称的作品包括计算机软件;1991年6月颁布了《计算机软件保护条例》,计算机软件被给予了专门的保护,其第二条规定计算机软件包括计算机程序及其文档;随后,2001年9月《著作权法》被修订以满足软件保护的需求;为了与世界贸易组织的相关规定相一致,2001年12月我国修订了《计算机软件保护条例》;2002年2月颁布了《计算机软件著作权登记办法》,自此,著作权法(版权法)成为了我国计算机软件保护的主要方式。

2我国软件知识产权的法律保护存在的问题

2.1目前立法对知识产权保护不理想

目前,我国主要以著作权法(版权法)对计算机软件进行保护。但是,著作权法主要用于保护以文字形式体现的文学、艺术作品。同时以专利法和商业秘密法等作为辅助保护方式。然而,专利法主要用于保护新的技术方案或新的设计,商业秘密法则主要用于保护需要采取保密措施的技术信息和经营信息。

2.2计算机软件知识产权保护存在滞后现象

计算机软件的发展,历经了从数值到非数值计算,从机器语言到高级语言编程,从结构化到面向对象的程序设计过程。从计算机出现到现今,计算机软件发展非常迅速,其开发技术往往在短时期内可以发生重大的变化。而我国对于计算机软件保护的主要立法为2002年2月颁布了《计算机软件著作权登记办法》,对知识产权保护滞后。

3软件知识产权保护建议

3.1软件生命周期内所产生的智力创造成果

软件生命周期定义为:计算机软件从开始计划开发到最后终止使用的整个存在阶段。按软件工程角度分阶段,软件的生命周期由软件定义、软件开发和运行维护3个时期构成,每个时期又由多个子时期构成。每个时期的阶段性成果都不一样,呈现形式也有所不同,例如,可行性分析报告、总体设计文档等。这些成果都是计算机软件中智力成果的表现,在某一程度上都应该得到相应的保护。但由于每一成果所包含的劳动和价值程度不同,则对其知识产权的预期也有所区别。

3.2每一时期成果存在形式

一个软件的生命周期内,成果的形式多种多样,可以是文档,图表,代码等等。若是深入分析,还可以有更多的形式。所以针对多种成果制定具体的保护形式,对于形成理想效果的计算机软件知识产权保护机制至关重要。

3.3合理保护智力成果方式

成果的不同,其劳动和价值也不同,对于软件生命周期内产生的多种多样的成果,制定合理的软件知识产权保护方式很有必要。建议从中国软件行业发展的实际情况,分析国内外软件知识产权相关法律和条约,结合软件生命周期的特点,从而形成合理且可以达到理想效果的计算机软件知识产权保护法或机制。

4结语

篇7

关键词:需求分析;网站信息系统;面向本体方法

DOIDOI:10.11907/rjdk.162156

中图分类号:TP319

文献标识码:A 文章编号文章编号:16727800(2016)011016502

0 引言

随着“互联网+”的蓬勃发展,越来越多的企业更注重在互联网上挖掘潜在商机,企业网站建设需求量大。网站项目需求分析是网站项目开发的关键,是整个项目的基础,关系到项目开发效率和质量。保证项目开发满足用户需求是网站开发项目管理者需要面对的问题。

1 网站需求分析内容

网站信息系统需求分析即对网站系统提出完整、准确、清晰、具体的需求[12]。需深入描述网站项目的功能和性能,比如网站架构、基本信息配置、文章管理、产品管理、留言管理等功能以及页面响应速度、数据库防注入等性能。

2 网站需求分析难点

(1)客户对需求描述不清楚。如客户对需求描述不清楚或不具体时,就需要项目需求分析人员结合行业经验,网站项目实际,采用通俗易懂的语言帮助客户描述需求[34]。

(2)需求发生变动。应尽可能详细分析哪些需求是稳定的,哪些需求可能发生变化,同时在项目合同上详细描述,以免项目实施后期产生分歧。

(3)客户和开发人员理解不一致。客户对网站信息系统了解程度不同,为此在需求分析阶段应与客户进行充分沟通交流,并形成预期效果图、功能操作流程图,也可向客户展示与其需求一致或功能相似的现有网站信息系统,确保客户与分析人员对需求理解一致。

3 网站需求分类

基于网站建设行业实际,网站信息系统需求通常分为功能需求和非功能需求。功能需求通常会使用功能结构图来体现,如图1为某企业网站功能模块。

非功能需求通常由性能需求、可靠性需求、易用性需求、安全性需求、运行环境约束、外部接口和可保障性需求7个方面组成,如图2所示。

(1)性能需求。包括网站打开速度、网页响应时间和并发连接数、网站空间(即虚拟主机)性能等。

(2)可靠性需求[1]。网站在运行过程中是否稳定。

(3)易用性需求。网站界面美观,产品等操作方便。

(4)安全性需求。包括用户登录验证、网站数据库防注入等安全方面的要求。

(5)运行环境约束。网站运行环境与网站开发语言有关,如使用php语言开发的网站信息系统通常在“php+mysql+apache”环境下运行。

(6)外部接口。网站信息系统与其它系统之间的接口要求。

(7)可保障性需求。包括网站可配置性、可扩展性、可维护性、可移植性等方面的要求。

4 网站信息系统需求分析方法

(1)功能分析方法。该方法是网站项目实施中最常用的一种分析方法,以网站信息系统的功能为中心逐级展开分析。首先定义网站具有哪些功能模块,并分析各模块之间的关系;然后对网站功能模块作进一步分析,以确定是否存在子功能模块,直至具体功能操作;最后形成网站项目的整个功能结构,如网站信息系统文章管理模块可进一步分为公司新闻管理和行业新闻管理,具有添加、修改、删除等操作。

(2)数据流方法。也称结构化分析,能直观地体现数据在网站信息系统中动态流动的过程,通常使用数据流图表示,并使用数据字典对数据流进行详细说明,此方法的关键是动态跟踪数据流。

(3)信息建模方法[5]。其核心是实体和关系,主要工具是语义数据模型[3](实体关系图),用属性描述对象,增添对象与对象之间的关系,并细化描述。如图3为网站信息系统中文章管理的用例图。

(4)面向对象方法。该方法的基本策略是将容易变化的元素隐藏起来,对比较稳定的元素建立总体结构。采用该方法能加强对问题域和网站系统责任的理解,加强有关人员之间的交流,对需求变化具有较强的适应性[6]。

(5)面向本体方法。该方法是面向对象方法的有效补充和提升,它强调相关领域的本质概念以及这些概念之间的关联。其实质是在面向对象方法中引入对象关联,并给出各种关联的语义和语用。首先用自然语言描述网站信息系统事务;然后确认网站信息系统的本体和对象;其次形成网站信息系统需求的预定义;最后在领域本体搜索相关知识并和需求预定义合并,得到完整的网站信息系统需求定义[67]。

(6)形式化方法。该方法主要使用一种形式语言进行公式推理,并通过证明得出结构可行性的结论,得到网站信息系统的需求规格说明书,规范开发过程,保障系统性能。

5 网站信息系统需求分析

需求分析阶段的参与人员包括客户、网站信息系统分析员、网站设计开发人员和网站项目管理人员,如图4所示。

网站项目管理人员(通常是项目经理)负责处理项目所有事务性质的工作,使网站项目能够在预算内按时保质完成;网站系统分析员需与用户充分沟通交流,共同拟定网站开发计划;用户、网站系统分析员和网站设计人员共同制定网站需求说明;网站系统分析员与网站设计开发人员根据网站需求说明书,设计出网站信息系统的原型。

网站需求分析过程如图5所示。

(1)网站可行性分析。明确现有技术能否满足用户需求,制定预算,通常形成可行性分析报告。

(2)需求分析与描述。基于对现有系统的分析,与客户讨论网站信息系统需求,形成文档,明确用户需求和功能需求,其中用户需求是从客户角度对网站系统需求的抽象描述;功能需求描述网站信息系统具体功能。

(3)需求有效验证。组织相关人员对需求进行评审验证。

(4)网站需求说明书。说明书是用户、开发人员交流的重要文档,是网站信息系统设计与开发的基础和依据,同时可作为项目后期测试和验收的依据。

6 结语

需求分析是网站系统开发的基础,对整个网站项目实施具有至关重要的作用,应根据网站项目实际选择合适的需求分析方法,按照需求分析过程模型进行分析,并最终形成网站需求说明书,为后续网站设计开发打下基础。

参考文献:

[1] 王继成,高珍.软件需求分析的研究[J].计算机工程与设计,2002,23(8):1821.

[2] 徐赛华.软件需求分析研究[J].吉林师范大学学报:自然科学版,2006(1):104110.

[3] 王虎.软件需求分析探讨[J].科技情报开发与经济,2008,18(13):148149.

[4] 周昕.互联网网站需求分析[J].无线互联科技,2015(1):2121.

[5] 方木云,刘辉.高级软件工程[M] 北京:清华大学出版社,2011.

篇8

关键词 软件开发;进度;管理;80-20原则

中图分类号:F426 文献标识码:A 文章编号:1671-7597(2014)07-0166-02

软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。因此,怎样对软件项目进行有效的管理是急需研究的课题,国内外专家学者也展开了相关的研究。

张家浩[2]以现代软件工程为核心,系统分析了项目管理领域中软件项目存在的问题,提出在理想和现实之间选择平衡点的建议和方法。林锐[2]编写的《IT企业项目管理:问题、方法和工具》一书为IT企业提供了专业性很强、行之有效的项目管理方法和相应的工具,解决了大多数IT企业的软硬件开发项目管理混乱、质量低下、进度延误、费用超支等问题。哈罗德・科兹纳[4]在《项目管理:计划、进度和控制的系统方法》一书中讨论了时间管理、冲突管理等问题,分析了影响项目成功的因素。石慧[4]运用动态规划的思想和网络计划的方法,利用马尔可夫链模型进行软件项目进度预测,对软件开发项目中的计划和控制应用进行研究,构建了一个并行的IT项目进度马尔可夫链预测模型。

由于缺乏相关的法规政策,软件项目开发的进度很大程度上取决于程序员自身的专业技能和职业道德水平。由于没有一个标准划分,管理上有很多问题不容易解决。本文对影响软件开发进度的主要因素进行分析,阐明了进度管理的重要性,并对具体的项目开发进度管理方法进行了探讨。

1 影响软件开发项目进度的主要因素

软件项目在开发过程中,有很多影响其进度的因素,内因、外因、主观、客观因素均有,情况比较复杂。为顺利管理软件开发项目进度,首先要对其中主要影响进度的因素有所了解。

1.1 80-20原则,未按原计划执行进度

80-20原则用在经济学中是指百分之八十的价值是来自20%的因子,其余的20%的价值则来自80%的因子。在计算机软件开发领域,我们可以这么理解:80%的项目工作可以在20%的时间内完成,而剩余的20%的项目工作需要80%的时间。

一般来讲,这剩余的两成工作属于比较难的技术关键部分,通常出现在后期。由于软件开发过程的不确定性,在任何技术关键点上都可能遇到难题,这与开发人员本身的分析、设计、编程风格有关,难以预测。在实际过程中,完全无法预测在什么时候会遇到(甚至可能在最后一步)能导致全盘重建的问题,因此原计划进度一般会调整。

1.2 预算、质量要求等的变更及适应性调整不及时

除了对项目本身的工作量估算不合理之外,设计人员的理解也可能造成问题。如开发人员理解的情况与实际情况有偏差,在没有充分沟通并确认时开展项目,过程中又会变更,在验收阶段可能才发现“审题错误”,造成资源浪费,同时与之相关横向、纵向项目的进度也会受影响,易产生“软件危机”。此外,其他问题如设备、人力不符合要求或调整,都会影响实际进度。

1.3 前期可行性分析不充分

由于项目参与人员的经验或素质原因,在项目开始前的准备不足,对项目状态信息收集的不足,没能好好把握项目的内容,容易造成对项目的了解不符合实际情况,加上高估自身工作能力,这就会对进度造成影响。如果没有充分的理解和准备,项目整体就会受到很大的影响,对项目本身的低估其实是对自身的一种高估,这样会使得预期的进度在实际进展过程中不仅很难实现,而且容易对工作人员的士气形成打击。

1.4 其他因素

假设、约束、风险等条件考虑“不周”造成项目进度计划中未考虑一些不可预见的事件发生。例如软件开发项目还会因为项目资源特别是人力资源缺失(如人员生病、离职、开发人员临时有其他救急任务)等原因,对项目进度控制造成影响致命影响。即项目及时完成是基于环境不变、任务不变、资源不变动等假设。软件开发主要是靠程序员来进行,软件体现出程序员的不同风格,因此程序员本身的主观性也会造成影响。在进度安排的时候应当适当配置应急预案,预留空余。

2 软件开发项目进度管理的目的

加强软件开发项目进度管理是软件开发行业发展的必要手段,也是必经之路。项目进度控制和监督的目的是:增强项目进度的透明度,及时发现项目中存在的问题并改正,对项目进展加以督促等,保证项目按时完成。

合理的管理手段可以加强项目的监督控制,对项目进度完成情况有一个大致的了解和评估,一旦出现问题可以及时沟通交流;遇到有落后进度情况及时督促,对有理解偏差的情况及时发现、及时纠正等。

软件开发时实施进度控制是项目管理的关键。一般一个部门同时会接多个项目,并行处理过程易造成混乱。通常,一个项目会由多部门的课题组共同负责,分项目之间横向并列或纵向承启,分部越多就越容易受影响。因此各分项目的准时能确保项目实施进度,对项目进度的合理管理可以起到协调作用。进度控制是项目管理过程中一项最重要的监控内容,负责对项目周期的整体把握与控制。通过软件开发项目进度管理方法,对各个分项目的进度进行控制,保证每个分项目各自按照项目计划书中的预期进度安排完成各自的内容,对于其中出现的问题及时予以纠正,从而保证项目整体的顺利完成。

3 软件开发项目进度管理方法

3.1 对项目本身充分了解

在制定项目计划书之前,首先应当对充分了解项目本身。项目进度控制的前提是有效地计划和充分掌握第一手信息,通过实际值与计划值进行比较,检查、分析、评价项目进度。对项目的充分了解是制定一个可行性分析报告的必要条件。除了了解项目相关技术内容、发展情况外,还应包括主要设备(工具软件)、项目参与者的情况,以合理分工、科学管理。

3.2 项目计划书与定期的进度报告

为了按期完成软件交付任务,目前软件开发单位陆续采取了很多控制进度的管理手段,其中最为广泛实用的就是项目计划书和定期的进度报告的提交。项目计划书和进度报告都是参考传统的工程项目管理方案,同时结合软件开发本身的特点进行的改进。作为项目进度控制的基准,项目计划书是项目的阶段成果完成情况的一个预期与管理依据。根据计划书中的时间安排,在项目的每个阶段点,项目负责人需要向相关管理人员(部门)书面提交阶段工作汇报与计划。在进度报告中,要有完成情况、存在问题、下一步安排等,实际上就是项目执行人员的对总结、分析、开发反思。

3.3 进度协调会

在软件开发项目中,一个项目通常由不同的项目团队合作完成,企业有专门的合同管理部门负责项目的分、转包、合同期与进度计划的协调。项目经理应该及时掌握这些情况,按计划进行计划进度与实际进度的动态比较,定期向客户提供可靠反馈。这通常是通过进度协调会来完成的,参与项目的每个团队负责人通过协调会了解相关方的进度、探讨问题,根据对方完成情况动态调整自己的进度。

3.4 阶段性审查与应急措施

软件开发项目进度管理过程需要从项目从准备到开始到进行到完成的各个不同阶段都采取不同的方法进行控制管理,全面把握项目进程。在准备阶段需要提供项目信息,同时确定项目研究进度;编制阶段计划和项目总进度计划;控制该计划的执行;而需求分析和设计阶段控制的任务是编制与用户的沟通计划、需求分析工作进度计划、设计工作进度计划,控制相关计划的执行等。最后,实施阶段进要求编制实施总进度计划并控制其执行;编制实施计划并控制其执行等。

在项目设计书中应当有关于应急预案的内容,这是我国现在工程管理、软件开发管理都比较容易忽略的一个内容,其本质是对项目过程中可能出现的干扰和影响的一个预测,对项目整体的合理把握。针对可能的问题,提出一定的解决方案,而在实际过程中,一旦出现问题,具体应当结合实际情况确定,避免产生相反的效果。

4 结束语

软件项目的开发与传统的工程项目具有很大的区别,软件本身具有无具体形态、缺乏标准等特点,开发过程不确定性大,主观因素影响对软件质量影响较大,因此进行项目进度管理探讨十分必要。本文通过总结进度管理上可能存在的问题,提出了可以采取的管理手段,希望能对实际工作有参考价值。

参考文献

[1]张家浩.软件项目管理―华鼎项目管理书库[M].北京:机械工业出版社,2009

[2]林锐,唐勇,黄曙江.IT企业项目管理:问题、方法和工具[M].北京:电子工业出版社,2005.

[3]Harold Kerzner.项目管理―计划、进度和控制的系统方法[M].杨爱华等译.第7版,北京:电子工业出版社,2012.

[4]石慧.软件开发项目的进度计划与控制研究[D].湖北:武汉理工大学,2009.

篇9

关键词:计算机学科;专业教师;实践能力;专业素质

文章编号:1672-5913(2010)08-0080-04

中图分类号:G642

文献标识码:A

当今社会需要创造性人才,更需要具有综合实践能力的工程技术人才。高等教育必须适应这种社会需求,尤其是以应用型人才培养为目标的我校,更应该重视学生综合实践能力的培养。教师是高校人才培养的主体,教师的工程实践能力高低必将直接影响应用型人才的培养质量。国家教育部副部长王湛曾说过:“师资问题始终是关系到教育改革和发展的大问题,没有一支高素质的教师队伍,就不可能有一个高水平的教育。”很难想象,在一个新思想、新设备、新技术不断涌现的信息时代,一个缺乏具体专业实践经验的老师能够在教学环节中不断引进工程实际内容,启发、引导学生运用工程的观点和方法分析、解决实际问题。因此,要使我们培养的大学生毕业后能胜任所从事的理论研究或实践性很强的工程技术工作,教师除具备较高的专业理论知识水平外,还须具备相当的工程实践能力。

1 计算机学科的特点及对教师实践能力的要求

计算机学科是科学性与工程性并重的学科,具有理论和实践紧密结合的特征。理论知识可以指导实践,而实践教学是获得感性认识、深入理解理论知识的必要教学环节。按照建构主义教学观,学生学习知识的过程,是在教师帮助下的意义重建过程。只有教师实践能力强,精通所教授的知识,才能很好地帮助学生实现所学知识的意义重建,尤其是对应用型人才培养过程,教师实践能力的强弱显得更加重要,直接影响着教学水平的提高。这就要求教师一定要重视实践能力的培养与提高。

计算机学科的另一个特点是它的广泛应用性和工具性。随着计算机的发展和普及,各行各业在计算机应用的技术推动下,取得了跨越式的发展。计算机技术是推动各种行业现代化的功臣。应该看到,无论是计算机在金融管理、电子商务、现代化仓储管理、现代化物流管理还是在现代汽车制造、工业工程等领域,都发挥重要的作用,但这些应用都是计算机和相关领域知识结合的产物。因此,要想培养面向应用的高素质人才,就要在讲授计算机的同时,还要介绍计算机与其他领域的结合方法,对可编程控制器、数据采集、接口技术等领域的相关知识进行了解。这就要求教师广泛参与工程实践,了解和掌握相关领域的技术发展,把计算机和其他领域紧密结合,才能在教学中把计算机应用的技术和方法讲透讲好。

从计算机学科的理论科学性的角度考虑,主要是培养学生的计算机理论基础知识,对教师的要求是必须对其所讲授的理论基础知识有深度的理解,而这种深度的理解不经过良好的实践经验是无法达到的。所以,就需要教师具有较强的实践或实验能力,这种实践或实验能力既包括实验室的实验能力,又包括工程应用的实践能力。涉及到一些具体的课程,比如,编译原理、操作系统、体系结构、计算机组成原理、算法分析与设计等理论性较强的课程,其实践性训练主要在实验室完成,因此要求任课教师应具有较强的实验设计能力和较强的实验实施指导能力,这种实施指导能力不仅需要教师对计算机本身的结构和原理非常熟悉,而且还需要教师具有良好的编程基础,而只有教师具有充分的工程实践或实验室实验,才能锻炼出所需的实验实施指导能力。

从计算机学科的工程性角度考虑,就是要培养学生的计算机工程应用能力和水平,对教师的工程实践能力要求更高,只有教师参加过实际的工程项目或研究项目,才能对所讲课程的理论基础理解透彻,才能把课讲得精彩,提升学生的学习兴趣,取得好的学习效果。高级语言程序设计、数据结构、数据库、软件工程、网络工程、面向对象技术等课程就是要求具有很强工程应用实践经验才能讲出精彩的课程。例如,在讲授数据库技术课程时,如果教师没有做过真正相关的数据工程项目,很难把如何设计数据库、如何应用存储过程提高数据库的访问效率等技术讲透彻。再比如,在讲授编程技术时,如果没有实践经验,很难将多线程编程技术讲透彻。因此,计算机专业的许多课程都要求教师必须具有很强的动手实践经验和实践能力。

2 目前存在的问题及分析

由于目前计算机技术的飞速发展,计算机专业教师知识的更新速度跟不上,根据作者的观察和分析,目前造成计算机科学技术学科教师实践能力不强的主客观原因主要有以下几条:

(1)专业本身特性所决定。计算机科学技术的发展速度一日千里,新技术、新方法、新软件等层出不穷,很多老师由于教学任务繁重,没有时间来提高和学习。

(2)教学任务繁重,缺少实践。在许多以应用型人才培养为主要目标的大学里,它的师生比往往是很小的,与那些研究型大学相比,教师的教学任务要繁重得多。恰恰以应用型人才培养为目标的高校教师,其本身的工程实践能力应该是很强的,它应该有时间钻研技术的实现方法,承担或参与一些横向的软件开发或其他的计算机应用技术项目,但他的很多时间都用在了教学或其他的一些事情上了,没有时间提高自己的实践能力。

(3)科研项目参与少,工程性的项目甚至都没有接触过。有些教师多年来守着一两门基础课或专业基础课,只是进行教学工作,很少了解计算机技术的飞速发展,很少参与实际的科研项目,更不去参加工程性实践项目。软件开发的一套理论知识只是停留在书本上,具体在实际工程中如何应用这些理论并不知道,当然对学生的教学也是照本宣科,甚至连教材上的错误也发现不了而一并教给了学生。

(4)各种级别的评比与评奖种类繁多,占用了教师的大量时间。目前和其他行业相似,某些政府部门和行业协会为了某种利益或出于一些不必要的原因,做出很多意义不大的评比与评奖,使许多教师穷于应付。如果有些教师不愿随波逐流而不去参加这些意义不大的评比与评奖,而另外一些教学或科研水平非常一般的教师参加了这些活动,反倒获得了所谓的奖项或名次,这些奖项和名次又会让学校当作是为学校争了光的标志大肆宣传,使得某些业绩本来平平的老师在职称评定与晋升等方面获得好处,而那些本来业务水平很高的教师由于无暇参加这些无谓的评比与评奖,反倒没有得到所谓的奖励。如果教师为了自己的晋升和名誉,把很多精力投入到这上面去,哪里还有时间去做科学研究、去钻研业务、去参与一些工程项目?教师的很多时间都投入到填写各种表格和各种申请书中,哪里有时间学习和钻研新技术和新方法, 实践能力当然不能得到提高。

3 提高计算机学科教师实践能力的措施及途径

3,1实现教师队伍来源的多元化和合理的组织机制

按照系统思考模式的思想,组织和系统对于个体行为的影响是十分重要的。学校的人事制度以及管理措施的导向,对于提高和发展教师的实践能力有着十分重要的影响。我们提出有计划地从计算机企业或科研单位引进高素质的、具有工程实践经验的技术人员充实师资队伍,尤其是实践性教学师资队伍。也可以采用以兼职的方式聘请一些校外实践能力强的工程技术人员,参与学校计算机课程设计、毕业设计等实践课程讲座或指导。但聘请的工程技术人员一定要经过学校或学院学术指导委会员会鉴定和考核,看这些人员的水平和资历是否符合我们的要求。目前社会上具有一些专职的承担学校学生实习或毕业设计的指导公司,公司的人员没有任何的工程实践经验,只是赚取学校拨到每个学生头上的实践学习费用,如果请这样的人员指导学生,效果会很差的。当然,在改革用人机制的同时,一定要采用某种激励措施,鼓励现任教师积极参与科研项目,尤其是横向科研项目,提高自己的工程实践能力。

3,2青年教师应该具有“两种经历”

两种经历即具有与企业、科研机构或国内著名高校的合作研究的经历;应该具有主持或参加服务社会的横向科研项目的经历。横向项目尽管听起来级别不高,但的确是最锻炼人的。有些横向项目真正是硬碰硬的真功夫,绝不像有些纵向项目写几篇论文就能够应付交差的,任何的马虎和大意都完成不了,所以只有参加过真正实践项目的人才对所要教授给学生的理论理解得透彻,才能够把课讲得精彩。

3,3减少不必要的评比,让教师休生养息

学校应该抵制或不要太重视和宣传那些意义不大的评比与评奖,这种评比与评奖不但起不到促进教学科研的发展,反倒会引起一些腐败和不公。比如,最近网上披露的全国教学名师的评比,大多数教学名师都是具有一定官衔或职务的人,而真正一线教师很少。再比如很多学校每年都要评比所谓的“三育人”先进分子,各部门随便推荐一下就上去了,但被评为“三育人”先进的某些人,根本看不出先进在那里,这种评选,不但起不到任何的榜样作用,反倒起一些消极作用,所以,建议各学校都不要做过多的评比和评奖等,尤其是那些意义不大的评比,让教师休生养息、心平气和的练内功、提水平,做一个真正有水平的教师,提高自己的工程实践能力,无愧于学生与家长的信任。其实学生对老师的评价才是最好的评比与奖项。

3,4鼓励教师参加工程实际项目,提高对所教内容的理解度

工程实践项目是在所学理论知识的指导下进行的,但通过工程实践项目又可加深对理论的理解,提高课堂讲解的深度和趣味度,增加学生的学习兴趣。例如,计算机学科的软件工程理论本来是用来指导软件开发的,但没有经过软件开发的教师编写出的教材和讲授的内容将是空洞的一些大道理。只有经过实际项目训练的人,才能够体会到需求分析怎么去做,需求分析报告如何编写。因此,看一些软件公司编写的项目需求报告分析比软件工程教材上所写的要好得多。再比如,在进行实际应用的管理信息系统开发时,都要涉及到数据库设计问题,如果参加过真正的信息系统开发项目的教师讲这样的课,就会以自己的体会对教材所讲解的方法进行举例讲解,深入细致地介绍数据库的设计方法和思想,如果没有参与过实际开发管理信息系统的教师,可能就只能照本宣科,把教材的内容读给大家,生动性、感知性都不会很好,学生也就提不起听讲的兴趣,教学效果当然不会很好。

3,5鼓励教师兼学其他学科的知识

计算机科学技术学科除了计算机自身技术的发展与研究之外,计算机应用技术的研究是其重要的一支。计算机已经和通讯、金融、机械自动化、交通运输等领域紧密联系,可以说,现在的各行各业都离不开计算机,各行各业的技术进步和发展依赖于计算机应用水平的技术和发展。作为培养应用人才的计算机工程专业,将来很多学生毕业后可能会从事各行各业的计算机应用,尤其是面向工业化发展的机电一体化项目,因此,教师如果能够兼学其他计算机相关学科的知识,比如自动化方面的知识,就能够为学生在计算机应用技术的方法和系统设计方面作详细讲解,必将激发学生兴趣,获得好的教学效果。

4 结语

篇10

关键词:智能化技术;电气工程;自动化控制;应用

现如今社会在科技的引领下日新月异,电气工程自动化程度相较以往有了十足的进步。这对于电气工程行业而言是一项崭新的发展方向,智能化控制技术常常被认为是人工智能科技,系统可自主对相关信息展开收集工作,并利用计算机进行数据整理,在短时间迅速给出分析报告,并同时做出相应判断,可以有效的应对突况与处理复杂的问题。电气工程在实现向自动化控制这一方向转变的过程中,如果我们充分利用智能化技术为核心解决方案,对于电气工程行业而言将会是革命性的进步。

1智能化的主要特征

智能化在电气工程领域具备一下三种特征:首先表现为具备较高的效率,由于电气工程自动化控制主要依赖于数控计算机完成控制过程,使用了多种先进的专用控制、运算芯片为自动化控制核心,确保了极高精度的同时也做到了在最短的时间内完成操作。其次表现为多种工序可同时协调进行且互不干扰,极大的减少了工艺衔接与等待时间,效率得到了成倍的提升,这也是电气工程今后发展的主要方向,将在未来得到全面的实现。最后表现在计算处理可视可控。系统使用极为高效的自动化系统实时分析处理数据等其他信息,将可视化的概念落到实处。智能化的诸多优势与特点在许多实验与现场展示中进行了充分的体现,因此,如今的电气工程行业有越来越多的工程要求安装并使用自动化控制系统。智能化系统在对数据进行分析处理之时,其整个过程极为统一,具体表现在面对之前并没有遇到的数据会依据实际情况进行估计,同时面对种类复杂对象进行处理的过程中也会分门别类的进行对待。如果出现自动化控制效果偏离预期值时,系统将启动自动化检查功能,仔细的核查所有环节,直到发现导致问题出现的根源,并依据事先设定的预案结合实际情况进行处理。在另一方面,电气工程中自动化的实现过程中,必须保证其控制性能处于较好的状态,利用智能化控制方案后,对于控制性能有了显著的改善。智能控制器在很多方面与传统控制器相比存在着较多的差异,智能控制器可以实现高度的自动化,可在完全独立自主的条件下监测周围实时情况并有针对性的进行自主控制,能够实时的做出反应,因此智能化的推广能够显著提高电气工程自动化水平。电气工程如果运用智能化控制器,可显著减少系统中对于专业人员的需求,将远程操作的设想变为现实。

2电气工程自动化控制中智能化技术的应用

第一,智能化技术因其具备优秀的自检功能,因此对于设备的故障诊断可以实现高度无人化,故障只要出现,对于电气设备的正常工作会带来严重的不良后果,需要在第一时间进行解决,而就故障本身而言,并不是完全偶然的现象,其产生之前会有一些问题的根源,引入智能化数控系统后,即可在整体上实现对电气工程的完全掌控,在全面自检的过程中不会遗漏每一处细节,从而及时找到故障原因。故障产生的根源如果不能被发现,紧接着进行的维修工作也就无从下手,例如在电气工程中经常出现的变压器发生漏油的问题,如果引入智能化自检之后,自动化系统首先可对变压器进行详细的检测,根据数据库进行故障分析与排查,从而准确定位故障所在点,实现精准维修的可能。第二,便于更加深入的优化设计。对于电气工程而言,电气设备在进行设计的过程中需要考虑很多的因素,复杂程度高,需要设计者深入掌握电路、电机等学科的知识,并能够有机的进行结合。传统电气设备结构复杂,人机工程较差,相关从业者难以针对实际情况确定完全适用的方案,而在电气工程引入智能化技术之后,研发产品的周期大大缩短,特别是使用计算机技术服务智能化控制系统设计,成倍提高了研发关节的效率,并且极大降低了设计失误的可能。在人工智能系统中有两处主要的核心技术,即为遗传算法与专家系统,能够保证系统具备极高的稳定性与较高的技术水准。因此,如今及未来主要的电气设备都将全面利用智能化技术进行设备的设计。第三,智能控制。电气自动化控制过程的实现引入当今最为先进的智能化控制技术,其将会给整个电气行业带来革新,实现无人管控、远程管理、高效率等诸多美好设想;智能化控制技术与电气工程的有机结合,帮助实现高度自动化控制,充分展示了智能化技术的突出优势,将会对智能化技术在更多行业的实现带来良好的示范效应。

3结束语

智能化理论的提出在当今具有重要意义,智能化技术在根本是以人工智能为核心点,并深入介入到电气自动化控制系统的实现中,进而有效降低故障并精准进行分析,同时智能化控制带来的高度无人化及高效率对电气行业开创了崭新的未来,综上所述,必须大力推进电气工程行业实现全面智能化,进而保证电气行业整体水平再上一个台阶。

参考文献:

[1]翟磊.电子工程自动化控制中的智能技术分析[J].消防界(电子版),2016(06).

[2]张雪,马青强,高健.智能化技术在电气工程自动化控制中的具体应用探析[J].科技展望,2015(05).