导语:如何才能写好一篇软件开发工程师,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
岗位描述:
1、负责公司网站开发和维护;
2、负责对网站进行实施,测试;
3、负责现有网站的维护和升级;
4、负责解决开发过程中的技术问题;
5、负责网站开发文档编写工作。
任职资格:
2、一年以上web开发经验;精通html/xml、javascript、css、jsp、java语言及sql;
3、能独立完成大型网站架构设计及实现;
4、熟悉webservice、ajax等技术;
5、了解photoshop、flash、dreamweaver等软件的使用,了解sql或oracle等数据库;
【关键词】TDD;测试驱动开发;软件工程
1TDD的理论模型和优势特性
1.1TDD的理论模型
TDD模式在理念上是以用户需求为导向,通过各级各类测试确保所有的需求都能被照顾到,在代码不断增加和重构的过程中,检查所有的功能是否正确。从开发流程上来说,首先根据需求编写一个测试,此时因为没有实现该功能,所以运行这个测试可预知其失败。然后编写最少量的代码不断迭代重复,直到测试通过为止。最后,根据简单代码的重复情况和代码之间的合理结构,考虑是否需要重构代码。简而言之,TDD是戴两顶帽子思考的开发方式:先戴上实现功能的帽子,在测试的辅助下,快速实现其功能;再戴上重构的帽子,在测试的保护下,通过去除冗余的代码,提高代码质量。测试驱动着整个开发过程:首先,驱动代码的设计和功能的实现;其后,驱动代码的再设计和重构。如图1所示。
1.2TDD的优势特性
1.2.1TDD在客观上提升了代码的质量技术人员编写刚好满足需求又能通过测试的代码,将代码量和代码本身的出错概率降至最低,客观上保证了代码的质量。1.2.2TDD在主观上要求了需求和开发的一致测试是以业务需求为导向,促进了技术人员和业务客户之间的交流,所有需求测试能够通过,也即说明业务功能全部满足。1.2.3TDD在构架上保证了简洁高效的类、库和API由测试导向的功能调整,使得所有类、库和API都在围绕快速实现功能来设计,并且实现后马上测试,各项设计能够马上进行调整。1.2.4TDD在开发上促进了代码优化重构通过各层级的测试,有助于从系统中清除大量累计产生的寄生代码,整个开发流程在测试、通过、重构之间循环流转,螺旋渐进式的修正保证了代码不断优化重构,并且避免了递归错误的出现。
2TDD的实践问题和发展方向
2.1TDD的实践问题
2.2TDD的发展方向
3结语
1.1代码编写
通过对软件数据进行分类整理,在进行缺陷软件的排除工作以后,根据软件开发过程中的各种信息进行全新的代码编写。基于代码编写人员的编写经验,在一般情况,对结构功能与任务类似的模块进行重新编写,这些重新编写的模块应遵循特定的编写规则,这样才能保证代码编写的合理有效性。
1.2错误重现
代码编写完成以后开发者会将这些代码进行版本的确认,然后将正确有效的代码实际应用到适当版本的软件中去。而对于存在缺陷的代码,开发者需要针对代码产生缺陷的原因进行分析,通过不但调整代码内的输入数据,直到代码内的数据与程序报告中的描述接近为止。存在缺陷的代码往往会以缺陷报告的形式对开发者予以说明,由于缺陷报告的模糊性,常常会误导开发者,进而造成程序设计混乱。
1.3理解行为
软件开发者在设计软件的过程中需要明确自己设计软件中每一个代码的内容,同时还需要理解其他开发者编写的代码,这样才能有效地完善软件开发者的编写技术。同时,软件开发者在进行代码编写的过程中,需要对程序行为进行准确的理解,以此保证软件内文档和注释的准确性。
1.4设计推究
开发者在准备对软件进行完善设计的过程中,首先需要彻底了解软件的总体设计,对软件内部复杂的系统机构进行详细研究与分析,充分把握软件细节,这有这样才能真正实现软件设计的合理性与准确性。
2.软件工程数据挖掘测试的有效措施
2.1进行软件工程理念和方法上的创新
应通过实施需求分析,将数据挖据逐渐演变成形式化、规范化的需求工程,在软件开发理念上,加强对数据挖掘的重视,对软件工程的架构进行演化性设计与创新,利用新技术,在软件开发的过程中添加敏捷变成与间件技术,由此,提高软件编写水平。
2.2利用人工智能
随着我国科学技术的不断发展与创新,机器学习已经逐渐被我国各个领域所广泛应用,在进行软件工程数据挖掘技术创新的过程中,可以将机器学习及数据挖掘技术实际应用于软件工程中,以此为我国软件研发提供更多的便捷。人工智能作为我国先进生产力的重要表现,在实际应用于软件工程数据的挖掘工作时,应该利用机器较强的学习能力与运算能力,将数据统计及数据运算通过一些较为成熟的方法进行解决。在软件工程数据挖掘的工作中,合理化的将人工智能实际应用于数据挖掘,以此为数据挖掘提供更多的开发测试技术。
2.3针对数据挖掘结果进行评价
通过分析我国传统的软件工程数据挖掘测试工作,在很多情况下,传统的数据挖掘测试技术无法做到对发掘数据的全面评价与实际应用研究,这一问题致使相应的软件数据在被发掘出来以后无法得到有效地利用,进而导致我国软件开发工作受到严重的抑制影响。针对这一问题,数据开发者应该利用挖掘缺陷检验报告,针对缺陷检验的结果,制定相应的挖掘结构报告。同时,需要结合软件用户的体验评价,对挖掘出的数据进行系统化的整理与分析,建立一整套严谨、客观的服务体系,运用CodeCity软件,让用户在的体验过后可以对软件进行评价。考虑到软件的服务对象是人,因此,在软件开发的过程中要将心理学与管理学应用于数据挖掘,建立数据挖掘系统和数据挖掘评价系统。
3.结束语
关键词:软件工程;数据挖掘;开发测试技术
作者简介:文娟(1982-),女,湖南长沙;研究方向:计算机应用,大数据,云计算。
1软件数据挖掘简介
2软件工程数据挖掘的技术特点
在开发软件的过程中通常会产生大量的数据,这些数据统称为软件工程数据。这部分数据拥有重要的功能及作用。例如,能进行有效的文档设计、对文档可行性进行分析,生产软件代码、确定软件版本等。由此可见,软件工程数据的产生对软件开发工作具有重要贡献。作为一项信息工作,复杂而系统是数据挖掘最大的特点,重要的信息只能在大量的数据中筛选和应用。现阶段我国在积极进行计算机技术研究的过程中开展了软件工程数据挖掘工作,充分代表了我国在信息技术中的创新性[3]。在软件工程领域中有效应用软件工程数据挖掘技术,能够更地进行提取和分析挖掘技术,也能够保证软件开发及使用者在日常工作过程中享有更加完善的服务。
3面向软件工程数据挖掘的开发测试技术
3.1代码理解
开发软件流程中,工作人员需要解决很多问题,其中包括:首先,维护项目代码。然而原有文档在项目当中已经超出使用期限,也有很多情况下该文档已经消失;其次,修改项目缺陷。然而这一过程中,工作人员根本没有项目代码的详细资料;再次,审查项目代码。由于代码众多,工作人员的工作难度较大;最后,提取项目架构设计。这一过程中工作人员通常只能够掌握其源代码[4]。针对以上问题,分层聚类是工作人员面对源代码的主要方式,可视化展示不同的模块,这样一来能够更加准确地掌握项目架构在代码中的体现。分层聚类法的有效应用,能够促使源代码的分析更加精确,而这一方法在使用过程中通常包含2个内容,即聚类分别建立在PageRank和调用入口基础之上。
3.2代码开发
3.3回归测试
在开发软件应用以后,使用者在使用过程中经常会出现修改代码的状况,这一状况产生于使用以前和使用过程中,产生这种状况的主要原因是功能更新及代码缺陷等现象的存在。如在更新代码以后,需对其重新,在这之前,需要精确测试代码,就是所谓的回归测试。这一步骤实施的主要原因是对修改软件进行验证,从而充分发挥软件使用过程中的功能[6]。在这种情况下,软件在使用过程中,回归测试的价值不容忽视,对软件质量具有直接影响。新时期,我国在积极进行面向软件工程数据挖掘的开发测试技术研究的过程中,应当首先注重创新软件工程理念及措施。
4结语
综上所述,软件工程数据挖掘指的是在软件挖掘过程中产生的海量数据,被深入挖掘以后产生重要的、有价值的数据。这部分数据的有效应用能够促使软件开发更加便利和顺畅,能够促使开发出来的软件更具使用价值,使用寿命也更长,在此技术基础上进行的开发测试技术,能够为提高软件工程开发效率起到促进作用。因此,现阶段积极加强面向软件工程数据挖掘的开发测试技术的研究具有重要意义。
参考文献
[1]陈媛.基于数据挖掘的软件缺陷预测技术研究[D].长春:中国科学院研究生院长春光学精密机械与物理研究所,2012.
[2]朱沿旭.面向开源社区的Web数据抽取与挖掘关键技术研究[D].长沙:国防科学技术大学,2011.
[3]胡瑞飞.面向机械工程计算机测试系统的数据挖掘技术研究[D].成都:四川大学,2006.
[4]张律.面向数据挖掘的科研信息管理系统的研究与开发[D].成都:电子科技大学,2013.
[5]沃高全.基于实时可视化数据挖掘的高并发性能监测系统设计与实现[D].上海:复旦大学,2010.
[6]宫健.基于信息挖掘技术与J2EE架构的校园智能教务系统的研究与应用[D].西安:西北工业大学,2004.
1知识共享有效性及其影响因素分析
1.1软件开发项目团队知识共享有效性概念
管理大师彼得·德鲁克提出[1]:“对于管理者来说,‘有效性’就是通过管理活动提高绩效,使组织能够由小变大,由弱变强;是管理者达到目标和绩效的必要手段”。我国学界对有效性的界定,借鉴《如何建立有效质量体系》中的解释,“是系统对外部环境所作的贡献”,此处有效性被界定为一种系统的概念。国内学者也在有效性的界定上做了很多工作,吕学清认为[2]:“要增强学校过程管理的有效性,管理工作必须讲效果、讲效率。”李春旺则提出虚拟企业内的知识共享有效性,是共享资源投入和效果输出的综合反映,在此基础上建立了知识共享效果和成本评价指标体系。”因此,软件开发项目团队知识共享有效性是一种持续有效性,它不仅强调着团队产出的有效性,更需要成员在良好的团队氛围下积极的知识共享态度和意愿,以保障软件开发项目团队绩效的有效提升。
1.2软件开发项目团队知识共享有效性影响因素分析
随着团队管理实践的逐渐深入,知识共享有效性的系统观点逐渐被学者接受,知识共享的过程性和时滞性等过程因素也逐渐被纳入知识共享有效性评价上[3]。在理解团队知识共享过程的基础上,应进一步从过程有效性的影响因素上对其进行把握。有学者认为,知识共享有效性是态度、环境及共享活动等的共同作用结果。我国学者沈凌(2009)则提出团队知识共享的投入与输出的系统评价指标,其中投入指标包括团队输入、团队过程及团队建设等,输出指标包括各项静态指标等[4]。鉴于上述分析,软件开发项目团队内知识共享的有效性评价,早不止限于对创新产出的定量测量,而同时应考虑知识共享较难测量的过程因素,如软件开发项目团队知识共享的过程中的成员异质性特征(如成员性别、个性、能力等),团队创新环境建设,团队整体激励机制等。
1.2.1个体知识共享的态度因素
作为知识共享的重要影响因素之一,软件开发项目团队成员的个性倾向决定着成员知识共享的态度与主观准则。知识共享态度是共享活动的前提,直接决定知识共享意愿乃至行为的发生,包括成员的内外部报酬预期及对团队目标的认可和重视。个体知识共享的态度因素,主要包括如下几点:
(2)内在报酬预期。Scott&Walker曾提出,知识性员工的内在报酬是知识共享最主要的影响因素。软件开发项目团队以创新任务为导向,其人力资源管理实践显示,他们较一般成员更重视内在报酬的获得(如公开发表成果、奖励等)。因此,软件开发团队成员对内在报酬是否具有预期,是衡量其知识共享态度的重要指标。
(3)团队目标承诺。团队目标承诺,是成员对团队合作所要实现的目标预期,正向影响着团队成员的知识共享行为。若对团队的核心价值具有目标承诺,成员将更愿意共享各自的知识。
(4)自我效能。Bandura认为,自我效能是个体对达成其完成某一特定工作的自我能力的判断,用来解释具有相同行为技能的主体或其自身在不同条件下采取相同行为时的表现差异。软件开发项目团队成员的自我效能即其对自身知识共享能力的判断。它直接影响知识共享行为,或通过激发并维持知识共享意愿从而间接影响共享行为:自我效能高的成员更倾向于选择有挑战性和困难的共享行为,并更加努力坚持等。
1.2.2知识共享能力指标
软件开发团队成员知识共享的能力包括沟通能力、理解能力和知识与技术的应用能力等。主要体现为成员愿意共享知识的前提下,传授知识,学习、接受知识及创新的能力等。
(2)知识传授能力。知识共享是知识拥有者与接受者间的交互行为,开始于知识拥有者对知识的传递,知识拥有者不仅传授共享所需的显性知识,更多则是传授隐性知识及所需的方法,帮助知识接受者更好理解和掌握隐性知识。知识拥有者的沟通表达和演示能力越强,隐性知识的交流和共享的效率就越高。
(3)知识学习能力。软件开发项目团队对项目成果的追求,促使成员从团队内外寻求并学习有效知识。知识接受者通过对团队内符合需要的知识拥有者进行评价,会有选择有目的地向知识拥有者学习,最终还包括将其所得到的隐性知识与现有的知识融合,开发出新知识的行为过程。接受者的知识学习能力越强,知识共享的效率自然就越高。
(4)创新能力。软件开发项目团队成员的知识创新能力是成员运用所学知识和辅助工具创造出新的知识、技能与创新软件成果等的能力。创新能力的大小,往往从很大程度上反应了创新成果的多少,成员的创新能力越强,其创新智力成果就会越显著。
1.2.3团队环境指标
团队知识共享氛围的优化,有利于提高知识共享活动的效率,营造团队共享氛围,可通过团队内部创新支持文化建设,成员信任水平的强化及知识共享平台建设等方式实现。
(2)知识共享平台建设。软件开发团队是以知识等创新为追求的组织形式,团队内部知识共享平台的建设完善包括为成员进行知识共享的畅通的信息及创新知识交流与沟通的网络平台建设。如果团队的技术基础薄弱,没有有效的网络系统和通信系统,共享的途径少,共享平台不完善,就会大大减少知识的需要方和所有方之间的接触机会,不利于成员间的交流共享,对知识的有效共享形成障碍。
2软件开发项目团队知识共享有效性评价
指标体系构建
Bandura的社会学习理论认为成员的学习行为是成员自身的态度和外部环境因素的交互结果,在总结有关文献的基础上,本研究分别从软件开发项目团队成员的知识共享态度、能力及团队氛围因素等方面构建包含3个一级指标及10个二级指标的评价指标体系以评估软件开发项目团队成员知识共享的有效性。经过专家修正后,得到图1所示指标体系。
3软件开发项目团队知识共享有效性评价模型
确定软件开发项目团队知识共享有效性评价的目标层次结构,包括总目标层、中间准则层及指标层。为科学准确的明确这共享有效性指标,构造下述成对比较矩阵(见表1)。
首先,构造准则层要素的判断矩阵,并计算权重:
通过两两比较得到的判断矩阵可以表示如下:
将判断矩阵每一列正规化,并得出其特征值ω(见表1),同时计算判断矩阵的最大特征值λmax并利用一致性检验指标CI进行一致性检验,通过相对一致性检验的指标公式CR=[CIRI,]可以得到对应的一致性检验值,当一致性比率CR<0.1时,判断矩阵有满意的一致性,否则,应对矩阵进行调整,直至满意(RI表示平均随机一致性指标,表2列出了1~9阶判断矩阵相应的RI值)。
此时,λmax=4.045,CI=[λmax-nn-1]=0.0145,CR=[0.00240.9]=0.016<0.1。
上述所示的两层指标间的两两比较矩阵,对表现出了较好的一致性,但还需对层次总排序进行一致性检验,如表6所示。
通过上述分析可知,成员自身共享知识的态度和软件开发团队的共享文化建设是决定着知识共享有效性的重要方面。其中成员共享态度中自我效能感认知占19.9%,成员的目标承诺占14.81%;团队文化指标中的信任条件和鼓励创新的文化氛围均占18.37%。而对于成员的共享能力,尽管同样是知识共享有效实现的重要指标,其重要性不及态度与团队共享文化环境建设。分析原因主要在于在软件开发项目团队中,成员的知识水平及知识储备丰富等特点确保了成员知识共享能力。
利用层次分析法对软件开发项目团队的知识共享有效性进行系统分析后得到知识共享有效性影响因素模型,且各指标对软件开发项目团队的知识共享有效性作用不一,团队管理者可根据各指标的不同影响程度作出相应决策。
4软件开发项目团队知识共享有效性提升建议
(1)构建和谐团队共享平台。团队成员在对团队基本价值观及其他成员产生人际信任时,会感到自身有义务提供高效而有效的隐性知识,因此可以通过合理利用硬件设施如会议室、休息室及户外场所等举办团队内部的经验交流会、沙龙乃至拓展活动等,使成员在轻松的文化氛围和环境中获得更多的信任,从而更加愿意采取知识共享行为,使团队成员之间和团队成员对团队整体产生足够的信任,以发挥出更大的努力,提高团队产出。
(2)建立科学、多元的知识共享报酬制度。现代经济活动中,理性行为下的个体对报酬的追求是其做出决定的最初原因。软件开发项目团队成员追求的最直接的目标是伴随着软件创新成果的形成而产生的直接经济报酬,因此,团队要建立科学而合理的团队知识共享报酬机制。与此同时,要通过建立更加多元化的非物质共享报酬机制,如团队内部专利申请奖励、知识产权保护、团队成员额外休假制度、团队内或团队外组织的职位晋升等。满足团队成员外在的与内在的经济报酬的预期,提高软件开发项目团队的知识共享有效性。
总之,软件开发项目团队的知识共享是复杂而动态的系统工程,针对知识共享有效性的激励机制同样是一个循序渐进的过程。激励过度会增加组织的成本且并不容易产生有效的员工效用,过小则无法激起员工的共享意愿,因此,针对软件开发项目团队成员的知识共享影响因素实施激励并及时反馈是软件开发项目团队创造高效创新成果,获取竞争优势的重要保障。
[1]杨雨山.德鲁克的管理精髓[M].北京:中国铁道出版社,2009.
[2]吕学清.增强学校过程管理的有效性[J].青海教育,2005(z1):3233.
[3]李春旺.虚拟企业知识共享有效性与激励研究[D].合肥:安徽农业大学,2007.
[4]沈凌.基于本体的知识团队有效性形成机理及评价研究[D].武汉:武汉理工大学,2009.
[5]班杜拉,林颖.思想和行为的社会基础:社会认知论[M].上海:华东师范大学出版社,2001.
[6]刘瑜,王建武.研发人员知识共享绩效评价指标研究[J].中国酿造,2008(16):114116.
[7]波.网络组织中知识共享效率评价指标体系的建设[J].情报杂志,2009(1):6871.
[8]安中涛,安世虎.个体知识共享绩效评估参考模型[J].情报科学,2006(3):396399.
.InformationSystemsResearch,1994,5(4):400421.
[10]单雪韩.知识共享的影响因素分析与实现对策研究[D].杭州:浙江大学,2010.
.AcademyofManagementJournal,1994,37(3):580607.
[12]徐瑞平,陈莹.企业知识共享效果综合评估指标体系的建立[J].情报方法,2005(10):25.
本次大会以“提振经济效能,创新智引转型”为主题,通过权威的政策解读,案例分析、圆桌对话等环节深入探讨了中小企业转型升级、中小企业竞争力塑造,以及中小企业接轨国际等话题。大会指出,中小企业是国家推进“互联网+”行动的主战场,要加速中小企业与“互联网+”的融合,助力行业中小企业打造竞争力,推动中小企业转型升级。
北京软达启航科技发展有限公司(以下简称软达启航),也是一家专业软件开发与测试解决方案提供商,从事软件产品开发、软件产品测试、软件开发测试咨询、软件开发测试项目外包、软件开发测试人才外包、软件开发测试人才猎头服务。软件测试工具销售和软件测试中高级人才培训等业务。在功能测试、性能测试、商业自动化测试、开源自动化测试、白盒测试和网络信息安全测试等领域居于国内领先地位。
微软公司开发VisualStudio2005的过程历时3年,投入100亿美元,使用了400名项目经理、7000余名软件开发工程师、7500余名软件测试工程师。开发工程师与测试工程师的比例达到了1:1。软件测试的重要性由此可见一斑。
软件上市必先测试
随着国内软件产业和全球软件外包的迅猛发展,软件产品的质量控制与质量管理正逐渐成为企业生存的核心。为了保证软件在出厂时的“健康状态”,几乎所有的IT企业在软件产品前都需要大量的质量控制工作。美国质量保证研究所对软件测试的研究结果表明:越早发现软件中存在的问题,开发费用就越低;在编码后修改软件缺陷的成本是编码前的10倍,在产品交付后修改软件缺陷的成本是交付前的10倍;软件质量越高,软件后的维护费用越低。
作为软件质量控制中的重要一环,软件测试工程师应运而生。软件测试工程师的工作就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品满足需求。
人才拥有“双高”地位
软件测试工程师本身是一个在软件产业化过程中突显出的一个新型软件技术职业,对刚刚开始进入产业化的我国软件企业而言,更是一种必需的技术岗位。
然而,目前国内软件测试市场中的人才情况却令人尴尬,据信息产业部门调查数据表明,国内软件测试工程师的行业需求超过30万人,而实际从业人数不超过5万人,其中具备5年以上从业经验的软件测试工程师不超过1万人,可以说在软件行业,内部的人才积累很少,而国内的大学教育在这方面基本上还处于空白状态,即使目前在软件测试工程师岗位上从业的技术人员,多数也是处于边工作边学习的摸索状态,其专业能力的提升非常缓慢,亟需进行系统的培训和学习。
软件测试工程师的巨大缺口造就从业人员的可观薪水。中国软件行业协会游戏软件分会副会长刘金华表示,在企业内部,软件测试工程师基本处于“双高”地位,即地位高、待遇高,目前有一年工作经验的软件测试人员的月薪一般都能够达到6000-8000元,有的人月薪可高达10000-15000元。可以说他们的职业前景非常广阔,从近期的企业人才需求和薪金水平来看,软件测试工程师的年工资有逐年上升的明显趋势。
1.1盲目性应用
1.2无规范性操作
2项目管理在软件开发中的应用措施
(1)对软件开发项目的成功标准做准确的设定。
(2)对项目之间的各种要求把握要合理。
(3)对软件的标准进行新的定义。
(4)建立适合的沟通渠道。
(5)制作个人计划。
(6)具备完备的需求说明。
(7)对任务进行有规律的分配。
(8)选择正确的技术并进行相应的估算。
项目管理在软件开发中的具体作用为:
(1)可实现人力、物力、财力的合理分配。
(2)对企业软件的启动、研发进行高标准的组织。
(3)合理的对各个项目进行合理的划分,实现层次管理、合理分配。
(4)调动员工的积极性,实现企业利益的最大化。因此,可以看出项目管理可有效地促进软件开发的进程与管理,是实现软件开发任务、资源管理、成本预算、项目跟踪及企业利益的良好标尺。实现项目管理与软件开发结合是企业形成良好的业务循环的重要手段。项目管理在软件开发中具体的应用措施有:
2.1完善制度
2.2初步设计
2.3硬件选型
硬件选型的过程就是根据软件的运行状况选择其运行于哪种硬件上的过程。硬件设备的选择需要根据所开发软件的类别进行选择,例如:开发小型单机软件,需要一台电脑就够了,但是开发大型单机软件则不一样了,需要多台电脑、外网网线、路由器、局域网。项目管理的软件开发首先要构建软件系统,做好预算,不断改进设计模型,做好项目资源管理的控制和软件的优化方案。其次,需要对软件系统进行测试,根据项目管理对软件的需求设计科学合理的测试方案,不断完善硬件选型上的不足,做到硬件与软件的科学有效运行。
2.4软件设计
2.5软件的测试
软件的测试是检测所开发软件好坏的良好标尺。软件的测试,即由软件工程师编制代码后,按照《测试大纲》进行自测,并将自测后的数据进行可靠性的综合分析测试。其主要包括:
(1)功能性测试,即对产品的每一项功能进行逐一测试。
(2)应用性测试,即将所开发产品运行与实际操作中,进行现场模拟的EMC、EMI测试。并根据测试的结果,做好详细真实的记录,列出不合格项目,有待加强项目、研发人员定位等确立故障的具体原因,为故障的分析与改正打下基础。
2.6文件归档
文件的归档,即对所开发的软件项目做出完整的整合记录,实现软件的可升级性、可维护性、可继承性及可完善性的良好数据说明系统,是加强积极管理的有效手段之一。对于软件来说,确保一次性研发成功最好,若中途发生了变差,则需要进行修改,在对软件系统进行修改的时候,就需要对文件再次进行归档。所要归档的文件一般有:
(1)软件的研发报告。
(2)软件的可行性分析报告。
(3)软件的初步设计方案。
(4)硬件的详细设计方案。
(5)软件的详细设计方案。
(6)系统的结构详细设计。
(7)软件的测试结果。
(8)审批明确的生产文件。
(9)详细的使用说明书等。
3结束语
案例教学是软件测试教学中的常用手段,对学生理解测试方法有着很重要的作用,但是目前高校教学普遍存在着教学案例陈旧过时,大部分教学都沿用了传统的教学案例。这些案例大都没有介绍软件测试的工程方法和实现过程,并且没有进行难度的区分,很难达到好的教学效果。
本专业的教师经过多年的实践,总结了大量的教学经验,按照实际工作中典型的工程师团队所需的各种技能知识为导向,按照复杂度渐增、螺旋递进的原则设置卓越软件工程师课程体系与内容,把传统的以学科知识的系统性为导向的横向课程体系改造为以个人职业角色发现和能力提升为导向的、适应团队教育培养的新型纵向课程体系。软件测试课程是软件工程卓越工程师培养课程体系的重要组成部分,课程总体跟随整体培养课程体系的大方向,并结合自身的特点进行建设。
1复杂度渐增式开设课程
2基础与实践并重,充分利用虚拟实践平台课程
的开设充分考虑到测试重实践,并且与软件开发其他阶段联系紧密等特点;同时也考虑到了此时学生正处于学习阶段,直接参与实际项目对学生的学习并不能起到很好的作用,因此在课程学习阶段充分利用了校内软件实训基地,创建网上“虚拟企业”,引入企业管理模式,在这种虚拟平台下,针对基础的知识点开设虚拟项目[3],模拟软件测试的真实工程环境。学生在自己组合团队中有各自的工程任务,针对性实用性很强,学生能够在完成自己任务的同时感性的认识测试岗位工作,体会到软件测试在整个软件开发过程中的作用,将单项知识技能之间关联在一起,系统的运用专业知识和技能。
3采用螺旋式的案例教学,案例与其他软件开发阶段贯穿
1、仪器仪表工程师
仪器仪表工程师是指在工业自动化仪表与控制系统、科学仪器、电子测量与电工测量仪器、医疗仪器、各类专业仪器、传感器与仪器仪表元器件及功能材料等行业从事仪器仪表的设计、安装、保养等工作的专业技术人员。
2、硬件工程师
硬件工程师HardwareEngineer职位要求熟悉计算机市场行情;制定计算机组装计划;能够选购组装需要的硬件设备,并能合理配置、安装计算机和外围设备;安装和配置计算机软件系统;保养硬件和外围设备;清晰描述出现的计算机软硬件故障。
3、销售工程师
销售工程师,是指能够独立管理和策划商品的区域销售,营销业务的高级销售人才。其应具有极高的市场经验和敏感的市场观察力,分析力,要求能够独立管理商品的销售业务。
4、电气工程师
从事勘测、规划、设计、电力工程建筑、安装、调试、技术开发、实验研究、发供电运行、检修、修造、电网调度、用电管理、电力环保、电力自动化、技术管理等工作的电力专业工程技术人员
5、嵌入式软件工程师
现代化社会的发展,软件工程广泛应用到嵌入式系统、人机界面、翻译器、电子邮件及数据库和各项操作系统中。在此基础上,还受到了航空、工业、政府部门及银行等各个行业的大力追捧,大大减少了各行业工作人员的工作总量,有效提高了他们的工作效率,并促使人民群众的生活质量得到提高,带动了社会经济的发展。软件工程的开发离不开软件工程师,根据领域的不同又分成系统测试员、分析员、工程师及程序员等,统称为软件工程师。他们肩负着对费用合理、质量良好的软件产品的开发,通常情况下,其主要以产品的可靠性、安全性、可维护性、实用性、功能性等指标来衡量软件产品的整体质量。
2软件工程开发技术
2.1软件标准化应用技术
2.2软件构件和软件重用技术
2.3中间件技术的采用
中间件平台作为软件系统开发和运行的支撑,是实现构件技术的前提。中间件适用于合适的平台上,加速软件的隔离和抽象,最终形成构件。因此,中间件技术在软件行业中备受青睐,根据分布对象、通信、事务处理、调用远程过程、访问中间件这五大类进行划分,具有划时代的意义。
3软件工程开发过程
3.1用户需求分析
用户需求分析即为在构建或改变软件系统时,应根据新系统的定义、范围及功能等内容进行用户群体需求分析,并综合分析数据准确把握系统定位,以开发出优质的系统软件。该过程中,协调需求分析员和软件工程师之间的关系是十分关键的,两者强强合作后,应首先找准目标用户群,并针对用户的实际需求确定系统软件的各项功能,最终制定出最佳系统开发方案。
3.2软件系统分析
3.3软件测试
4软件工程开发的基本特征与应用情况
4.1明确性
软件工程在进行软件设计时就已经根据人们多种多样的需求制定了明确的目标。软件工程设计的任务是在工程实施或者产品投产之前,为这项工程或产品提供各种需求的标准,这一任务正是体现了软件工程中“需求分析”的特点,并且需求分析的质量对软件开发的成败有着直接影响。在这个阶段中,开发技术人员需要不断的与用户进行沟通和交流,完全明确软件开发项目的概念,最终形成一个完整的、清晰的、明确的开发目标。
4.2完整性
在用户或者服务器系统的应用中,保证信息准确无误的重要条件是数据及数据处理的完整性。因此,在软件开发的过程中,确保数据及数据处理完整性的逻辑要求是最为严密的。例如,有时在处理一个事物的过程中,会修改多个表格数据,如果在修改中发生了任何细小错误,都必须放弃整个处理过程,而不是其中的一个过程,然后返回最开始的阶段,以确保操作的完整性,从而保证了数据及数据处理的完整性。
4.3规范性
应用软件的开发工作在不同人员进行修改时需要能较为容易的接手,因此开发应用软件必须保证规范性。由于软件在开发的过程中需要按照一定的规则进行对象组合,所以能符合标准。但是如果是群体开发软件,由于每个程序员的想法及工作习惯都不相同,因此不容易符合标准,而软件开发的标准极为重要,必须保证其规范性,所以在软件开发的过程中,程序员之间需要多沟通交流,确保软件的顺利开发。
4.4易维护性
由于在软件开发的过程中,对象组合具有继承性,在对祖先对象进行修改时,也会对其继承对象造成直接影响,提高了软件程序在一定程度上的维护性。并且,逻辑规定和语法规定相同,群体开发软件不会因为个人特有的思想与工作习惯受到影响,从而使软件开发的维护性得到了保证,也提高了相互之间互相弥补的可能性。
4.5创新性
科学技术需要发展,发展离不开创新。随着工程技术的不断创新,软件开发出的产品在满足人们高要求的同时不断进步,为了获得广大用户的信任与支持,系统分析员在进行系统分析时,应当全方位了解广大用户的需求,针对用户的各种需求提出可行性方案,并且在不断的与用户交流中完善与改进方案,在如此反复中完成整个设计开发的过程。