基于软件工程过程的模拟实践教学研究与应用

来源 :中国新通信 | 被引量 : 0次 | 上传用户:zhangdong1231
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】    《軟件工程》是软件工程专业的一门理论与实践并重的核心课程。基于SimSE游戏的软件工程过程与实践教学的研究与应用以满足《软件工程》的实战化授课需求,也为后期软件工程专业教学研究与实践提供必要的支撑和参考。
  【关键词】    软件工程过程    SimSE    模拟    实训
  引言:
  《软件工程》的实践教学可以在项目计划、需求分析、概要设计、详细设计、编码与测试、过程管理(沟通管理、需求管理、项目管理、人员培训、软件过程改进、风险管理以及收益管理等)各阶段中使用模拟方法建立项目成员间一致的交流方式[1],以此提高学生的沟通分析能力、团队协作能力、撰写软件开发文档能力。
  SimSE模拟是软件工程中单个操作者角色的教学模拟器,操作者扮演软件开发团队中相应角色,按事先设定好的任务和实践过程完成角色规定的工作任务,提交相应的工作成果。SimSE游戏软件的图形界面为虚拟办公室和相关的项目信息,如需求文档、设计文档、开发工具和代码等,操作者可以利用管理知识和提示信息来作出管理决策,在一定时间和预算范围内完成项目的开发[2]。SimSE游戏软件的模型构建器则是教师根据软件项目开发过程自行设计的实践方案,便于学生可以以相应角色进行“游戏”模拟不同工作岗位的软件项目职责。
  本文研究以软件工程过程为主线,模拟真实软件开发过程和软件项目管理,使学生在模拟过程中以不同角色完成规定工作和提交产品,并按规则给出评价分数。
  一、研究背景与意义
  软件工程是指导计算机软件开发和维护的一门工程学科,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护[7]。基于软件工程分阶段生命周期的软件过程,包括:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、RUP、敏捷过程与极限编程等,其中定义了运用方法的顺序、应该交付的文档资料、质量保证和协调变化的管理措施,以及各开发阶段任务完成的里程碑等细化内容。
  基于以上内容,各高校软件工程课程教学方法大致是基于案例或项目开发的实践与应用讲解、从不同角度把抽象的理论与方法具体化讲授、适当增加课堂实践内容及调整兴趣度开展教学、采用小组合作和模拟角色实施软件开发过程演练、以创新课程评价内容和方法为目标的激励授课方法等。从教学、实践和效果评价来看,都是以不同角度、不同力度和不同目标为软件工程教学总目标服务,具有一定的局限性。
  以游戏形式的基于软件工程开发过程的模拟角色的教学实践软件平台目前在国内还没有明确提出及实践应用。本文的研究即是从软件工程课程教学目标与实训需求出发,依据软件工程开发过程理论指导,研究基于角色的模拟真实软件开发场景的实训平台,解决软件工程理论教学和实践效果与真实软件开发与管理过程效果的不一致问题,在满足民办高教实训需求方面是具有实用价值,也为后期软件模拟平台的开发提供基础设计参考。
  二、实训平台研究与设计
  软件工程实训模拟软件系统功能包括:用户注册、角色选择、规则制定、场景选择、执行过程监控、检查评价等,教师和学生均可使用浏览器通过互联网进行模拟实训。教师通过用户注册、规则制定、场景选择、检查评价等功能进行基于软件开发模型的软件开发过程规则制定、场景设定、评价策略与分数计算;学生通过注户注册和角色选择功能模拟用户、项目经理、系统分析师、软件设计师、程序员、测试员完成软件开发模拟过程后得到总评分数;系统基于时间按设定规则自动执行,并提示学生完成规定工作和提交产品;系统评价总分包括:过程分数是根据学生完成工作过程是否符合规则设定得到;产品分数是根据学生提交产品的质量得到;系统支持相同项目在某时间点后不同分支执行过程的结果图数据对比。
  系统采用B/S架构风格、事件驱动架构风格和基于规则的系统架构风格。将系统部署在Web服务器,进行负载均衡配置,数据库服务器单独设立,方便实训课程增加而导致的持久化的数据量加大,可以按需扩展。对实训软件场景页面变化不大设计使用前端缓存技术和WebSocket技术,提高页面交互的实时性和访问速度。由HTML5+CSS3+JavaScripts构建前端页面,利用前端缓存技术,浏览器将不经常变的页面内容保存在本地,以便下次访问时直接加载。将前端缓存技术与WebSocket API 结合,使浏览器和服务器只一次握手就可直接快速传送数据,性能优于AJAX轮询机制。
  模拟实训系统使用事件驱动架构风格是解决在系统自动执行规则和评价过程中角色和规则的触发关系问题。系统设计是首先由教师基于软件开发模型对执行规则和评价方法制定;其次是用户在使用时先确定角色和开发模型(即规则),再由系统自动执行规则和评价,要求实训用户角色和规则是解耦的。使用事件驱动架构风格,即可以进行规则的集中注册,也实现了用户角色与规则的解耦;实现了通过角色的确定和规则的选择在系统自动执行过程中,系统自动调用触发事件所注册的规则,完成参与角色之间按规则交互的应用场景。在采用事件驱动架构风格进行编码时,使用Spring框架,消息队列管理完全基于配置,简化了编码难度,结构清晰简单,可维护性好,降低了项目开发难度;在功能扩展方面,便于修改规则和增加规则主题,以及不同规则间的组合。
  模拟实训软件将基于规则的系统架构风格应用在整体三层架构中的中间层----应用逻辑层,解决制定规则集、规则解释器、选择器规则制定与解释和系统自动执行问题。教师通过表示层来编辑规则,应用逻辑的实现代码抽象为规则,生成规则集的执行逻辑;学生则得到由系统按规则自动执行后的结果评价。采用基于规则的系统架构风格进行设计,首先基于软件开发模型特征抽象规则集;其次是从应用程序代码中分离执行决策,基于Prova+Mandarax设计规则引擎则/解释器,用于系统基于时钟自动执行规则时监控执行状态,便于根据时钟进行状态更新;然后是实现用户接口接受数据输入、解释业务规则、跟踪执行的事件等模拟功能。其中规则集和状态管理器为标准部件,其他为可变部件。采用基于规则的架构风格设计成功的将规则集、规则解释器、选择器、工作内存以及解释问题有机的结合到一起,即便于规则的制定和解释,也实现系统的自动执行。   考虑到后期的开发工作及相关系统的集成与数据共享问题,采用SOA架构模式+ESB总线封装集成实训相关业务,实现应用集成;为了解决各系统间数据共享问题,采用数据仓库技术对实训数据进行定义、清洗、分发和传送,实现数据集成。基于软件工程过程的模拟实训软件架构设计如图1所示,下层为上层提供服务。
  在软件工程实训模拟软件系统中,数据存储的关系模型主要部分如下:
  学生(学号,姓名,性别,地址,电话,用户类型,密码,登录名,文件,班级ID,用户ID);
  班级(班级ID,名称,类型,状态);
  教师(教师ID,姓名,授课时间,用户类型,登录名,密码,工号,班级ID,用户ID,课程ID);
  课程(课程ID,课程名称);
  课程成绩(学号,课程ID,课程成绩,评价);
  用户(用户ID,登录名,密码);
  用户选择角色(用户ID,角色ID,用户角色,选择角色时间);
  角色(角色ID,名称);
  角色提交文档(角色ID,文档ID,提交时间,保存地址);
  文档(文档ID,文档名称,文档类型,文档类型ID);
  文档类型(文档类型ID,类型名称)。
  三、结束语
  本文研究实践证明,软件工程课程教学过程采用游戏的形式,将学习与娱乐有机的整合到一起,是可以有效的提高学生学习积极性和学习效果。使影响软件开发项目是否成功的各类因素及其组合通过游戏形式对学生和教师产生深远的影响,通过不断调整实施策略来保证软件开发项目成功的高比率。
  参  考  文  献
  [1] James S.Collofello. University/Industry Collaboration in Developing A Simulation Based Software Project Management Training Course[C]//Thirteenth Conference on Software Engineering Education and Training, March, 2000, Austin, Texas, USA:161-168.
  [2] 李广原,胡秦斌. 软件工程课程模拟教学法初探. 计算机教育. 2011年第13期. 92-95
  [3] 韦宇炜,聂笃宪. 软件工程课程设计教学模式探讨[J]. 考试周刊,2010(11):159-160
  [4]  SimSE OnLine.<http://www.ics.uci.edu/~emilyo/SimSE/>
  [5] 李廣原,马楠. 国外软件工程教学法初探. 计算机教育. 2011年第1期. 92-95
  [6] Jazayeri M. The Education of a Software Engineer[C]//Proceedings of the 19th International Conference on Automated Software Engineering. Linz,Austria:IEEE,2004.
  [7] 张海藩,牟永敏. 软件工程导论. 清华大学出版社. 2013年8月第6版. 5-15
其他文献
【摘要】 随着时代发展,信息技术应用已成为不可或缺的重要组成,保障信息安全逐渐成为国家安全重要组成部分,是构建大安全格局必要元素之一。网信工作领域默默付出,网络安全攻防演练已成为各大型企事业单位网信部门的必要工作,为做好演练防守工作,各关键部门也在为不断提升防守水平做着积极的努力。本文立足网络安全理论,用通俗易懂的语言向大众阐述相关概念,从攻防技术介绍,到网络安全防护体系构建,浅析网络安全体系建
【摘要】 现在网络已经涉及到各个行业,不论哪个行业都会通过计算机技术来简化工作流程,不仅为员工带来了便利,还提高了工作的完成度。医院也开始把计算机技术应用到医院信息系统中,但是随着网络的普及,网络数据信息的安全性就受到了挑战,网络安全问题就成为了医院网络安全管理的重点,毕竟医院的数据太过特殊,涉及到很多人的隐私。  【关键词】 医院 信息系统 网络安全  引言:  医院的日常工作对计算机的
【摘要】 近年来,中国的大型互联网工程计划建设数量也越来越多。在移动互联网与信息相融合的巨大背景下,广电计划必然会面临一些全新的网络安全监督管理风险。基于这一点,探索一些能够改善和增强重点工程项目执行的网络安全性的政策措施便十分有价值和历史意义。本文从当前关于我国广电工程项目管理网络安全防范与保护的技术标准体系的基础性建设,以及网络管理的基本发展现状角度入手,提出了几个技术领域中存在的问题。并且
【摘要】 计算机网络的应用一直是一把双刃剑,在带来便利的同时也存在着各式各样的安全问题,增加了计算机网络信息安全的风险,因此必须重视计算机网络安全管理工作。只有采取规范性措施,运用技术手段与法律制度,才能够提升人们对管理工作的关注度,才能够促使人们形成网络安全防护意识,才能够保障计算机网络提供的服务更加优质。基于此,本文主要研究了计算机网络安全管理中的问题以及相关对策。  【关键词】 计算机网
【摘要】 影视作品是光影的艺术。为了制作出精美、和谐、富有内涵的影视作品,创作者需要通过光影色彩的巧妙应用以及调色技巧的合理安排建构出美妙的影视作品。经过创作者的合理设计和影视光影与色彩的合理设计,整个影视作品不仅能够获得精美的艺术效果,还能够有效呈现出影视作品想要传递的情感和思想。在本文中,创作者将结合影视作品中光影色彩应用的重要作用、光影色彩运用中的存在问题以及光影色彩运用中的主要策略进行详
【摘要】 随着新课改以及素质教育的持续深入,高职院校作为众多教育体系当中的关键组成部分,已经得到了社会各界的重点关注,这也使得高等教育逐渐向着大众化的方向稳步发展,而在当前的大数据时代当中,高职院校内部所开展的各类教育工作也面临着极大的挑战,在不断扩大自身教育规模的同时,还应当进一步提高教学质量以及师资力量,在最大程度上提升人才的培养效率与培养质量,满足社会发展对人才方面提出的基本需求。因此,文
【摘要】 在5G网络中,引入了更多IT化的新技术,从而导致5G网络在享受IT新技术便利的同时,也带来了IT技术自带的安全隐患。本文介绍了5G的安全构架,分析了NFV、网络切片等新技术带来的安全风险,并提供了对这些新技术进行安全测评的方法。这为全面认识和评估5G网络的安全,提供了一个有效的参考方案。  【关键词】 5G 安全 新特性  引言:  5G是目前最新的移動通信技术,除了满足广大用户
【摘要】 在过去几年里,由于多媒体技术取得了突破性的发展,不同国家在艺术、文化等领域的交流与协作也更加密切。在这样的发展趋势之下,中国文化元素也逐渐受到了更多其他国家的关注,并被应用到艺术创作的不同领域之中。考虑到这一社会现象的存在,本文针对数字媒体艺术设计中的中国元素开展了研究。  【关键词】 中国元素 数字媒体 艺术设计  引言:  近几年间,世界经济一体化的发展使得各国在不同领域中取
【摘要】 随着社会经济和电子技术的快速发展,社会对电子软、硬件技术人才的需求也不断地变化。面临变化的需求,职业教育应以新工科理念为指导,根据职业教育电子类专业人才的社会需求和职业教育学生的特点,重新定位电子专业人才培养目标,并对专业课程体系和教学实施方法进行积极改革与创新。  【关键字】 职业教育 电子专业 校企合作 人才培养目标  引言:  随着全球经济和信息事业的快速发展,可以说几乎
【摘要】 2020年是不平凡的一年,在此形势下互联网医院建设的必要性突显,分流就医人群、减少人际接触、减轻大型医疗机构压力,诸多优点推动“互联网+”在医疗行业的应用 。但互联网医院建设任务重、时间紧,部分医院基础薄弱,并且新型技术应用时间尚短,信息系统安全水平参差不齐,信息安全风险突出。 本文结合我院互联网医院建设经验希望为广大医院信息化工作者提供部分思路。  【关键字】 “互联网+” 互联