软件课程设计范文
软件课程设计范文(精选12篇)
软件课程设计 第1篇
关键词:财务软件设计,系统分析,系统设计,教学内容
一、财务软件设计课程的教学目的
随着信息技术的快速发展, 企业逐步在一个全新的、集成的信息技术环境下建立和实施现代企业管理。目前财务软件在企业的应用已经普及, 应用范围从会计电算化发展初期的会计核算, 发展到现在的分析预测等管理会计应用。企业对掌握财务软件基本操作、掌握财务软件开发原理的高层次会计电算化人才的需求明显增加。从将来培养复合型会计人才的角度出发, 需要对会计电算化专业本科生或会计学专业硕士生开设财务软件分析设计课程, 提高学生的财务软件综合应用能力。
财务软件设计课程的教学目的主要有:
(1) 融合学生已经学过的计算机课程、财务会计课程的内容, 使理论与实践相结合。
(2) 使学生了解财务软件开发方法, 熟悉财务软件开发过程。
(3) 掌握财务软件的数据处理流程, 加深对财务信息系统的理解。
(4) 根据当前的技术发展水平和社会对财务软件的需求, 扩展学生的知识面。
二、财务软件设计课程的教学内容
财务软件开发涉及组织的内部结构、管理模式、经营管理过程、会计核算方法、计算机硬件和软件的应用等多个方面, 是一项专业性、技术性很强的系统工程。通过财务软件设计课程教学, 需要学生掌握财务软件的开发方法和开发步骤, 掌握财务软件的设计方法, 能够应用专门的方法描述财务软件的数据结构、数据处理流程、功能结构等, 为学生在今后能更好地理解、设计和评价财务软件奠定基础。财务软件开发过程主要包括系统分析、系统设计 (分概要设计和详细设计) 、编码、测试等几个大的环节, 而系统分析、系统设计和最新的财务软件开发技术是财务软件设计课程需要关注的重点。
1. 系统分析
系统分析的目的在于了解财务工作流程, 广泛收集必要数据, 对相关的各种因素进行详细分析, 这是财务软件开发的基础工作。需要学生了解系统分析的具体步骤, 并结合具体财务应用进行练习。在系统分析阶段。编制会计业务流程图是系统分析阶段要掌握的重点。会计业务流程图就是把会计业务的整个过程用图示和文字说明表述出来。这一过程很重要, 是系统设计的基础和依据, 财务系统就是根据会计业务流程图设计出来的, 是会计业务流程的“数字化”。会计业务流程图质量的好坏直接决定着财务软件开发下一阶段系统设计的成败。
2. 系统设计
经过系统分析, 得到了财务软件的逻辑模型, 指出财务软件应该“做什么”。系统设计是确定“怎样做”, 它将系统分析阶段建立的逻辑模型转化成物理模型。系统设计主要包括概要设计和详细设计。
(1) 概要设计是根据系统分析的要求来对新系统进行总体结构设计, 主要包括系统功能模块设计、数据库设计、网络结构设计。在概要设计教学中, 需要让学生熟悉结构化设计方法和面向对象的设计方法。需要学生能够从系统分析数据流程图中产生系统模块结构图, 能够将系统划分为若干个较大模块, 再将较大的模块进一步划分为较小的模块, 每个模块实现其中一部分功能。需要学生了解数据库设计的基本原理和过程, 了解财务软件应用的网络架构设计。
(2) 详细设计主要是根据概要设计结果, 确定每一个模块的具体实现方法和步骤, 即定义每个模块内部的执行过程。详细设计为财务软件编码工作制订了详细的框架、步骤和方法。作为会计电算化复合型人才, 需要理解详细设计的基本原理, 了解详细设计的过程。
3. 最新的财务软件开发技术
软件基础平台技术、软件应用技术、软件开发技术、软件开发过程技术、建模技术等都会成为未来影响财务软件开发的重要技术。如SaaS开发架构和事件驱动架构开始逐步在财务软件开发中得到应用。
(1) SaaS开发架构在财务软件开发中的应用。SaaS是Software as a Service的简称, 它是通过Internet提供软件应用的一种新模式, 用户无需再购买软件, 而改为向服务提供商租用基于Web的软件应用系统, 来管理企业经营活动, 且无需对软件进行维护, 服务提供商会全权管理和维护软件。对于许多小型企业来说, SaaS是采用先进技术的最好途径, 它消除了企业购买、构建和维护信息化基础设施和应用程序的。作为一种颠覆传统的软件服务方式, SaaS的交易过程简单, 交易成本较低, 通过基于互联网的软件交付模式, 使得软件供应商与客户的关系发生彻底转变, 从售卖关系转变为服务关系, 从而给软件厂商和中小企业都带来了新的机会。SaaS能降低中小企业应用信息化软件以及会计电算化软件的门槛和风险, SaaS产品的价格优势使其非常适合中小企业采用, 并通过“即用即买”的模式, 让企业很快就能得到回报。目前已经有较多的中小企业基于软件开发商的SaaS产品进行财务核算, 如目前金蝶软件推出的友商网。
(2) 事件驱动架构在财务软件开发中的应用。事件驱动架构 (EDA, Event Driven Architecture) 由Gartner于2003年提出, 用于描述基于事件以及事件在解耦的组件和服务之间传输的范例。事件驱动即通过业务事件来驱动相应业务流程与信息的流转。George H.Sorter在20世纪60年代提出了事项法会计的思想, 即指按照具体的经济事项 (事件) 来报告和反映企业的经济活动 (业务活动) , 并以此为基础, 重新构建财务会计的确认、计量和报告的理论与方法。由于缺乏技术支撑, 事项法会计在过去一直没有得到应有的重视。近年来, 随着信息技术与网络技术的发展, 如何将业务过程中的一些非价值的业务信息与价值信息合在一起为用户提供经济事项的原始形态信息, 并由用户根据自己的需求、偏好、决策模型等进行判断, 并避免会计处理可能带来的有用信息的丧失已成为新的研究热点, 而基于EDA的事件驱动的技术与方法则为新一代的事件驱动的会计电算化应用与实时企业信息化应用提供重要的技术支撑。
三、财务软件设计课程的教学方法
在财务软件设计课程教学中主要采用理论讲解和实验教学相结合的方式。在讲解了财务软件开发方法、财务软件开发过程、财务软件数据处理流程的基础上, 安排学生上机实验, 独立进行财务软件功能模块的开发。专业教学与实验教学在课程总学时中各占50%。
在实践教学过程中, 选择有代表性的应用案例, 使教学内容贴近实际, 提高学生的学习兴趣。
四、财务软件设计课程教学中需要注意的方面
在财务软件设计教学中, 在教会学生基本的财务软件设计方法之外, 还要使学生从整个财务信息系统的角度把握财务软件的设计, 能够考虑到企业内部控制、审计等对财务软件的功能需求。
(1) 财务软件要满足内部控制的需要。内部控制的实施是为了保证会计信息的真实性和财产物资的安全性。财务软件的设计要满足岗位分工和牵制制度的要求, 以利于企业内部互相牵制、互相监督。
(2) 财务软件要满足审计的需要。财务软件需要保留和提供审计线索。如对数据的变动处理均留有痕迹等。每一笔业务处理都要留有痕迹, 这就为审计工作提供了线索和方便。
(3) 财务软件要具有较好的扩展性。由于管理会计等涉及分析预测的信息需求变化大, 需要给用户预留足够的自定义空间, 使用户能根据特定的需要加工出特定的信息。
参考文献
[1]那丽春, 陈庆奎.面向财务应用的软件设计课程教学模式[J].计算机教育, 2008 (2) .
[2]包于宁.企业财务软件设计若干问题探究[J].科技广场, 2004 (8) .
组态软件课程设计 第2篇
基于组态软件的变频器状态监控状态设计
系 部: 专 业: 班 级: 姓 名: 学 号: 指导老师: 成 绩:
二零一五年十二月二十五日
目录
1.序言....................................................1 2.力控组态软件介绍........................................1 2.1 力控组态软件简介...........................................1 2.2力控组态软件特点............................................1 2.3软件基本组件................................................3 3.变频器应用的现状........................................3 4.变频器监控系统的硬件组成................................4 5.变频器监控系统要求......................................5 5.1监控系统技术要求............................................5 5.2监控系统具体要求............................................6 6.变频系统监控功能的实现及效果............................5 7.人机界面的特点功能与画面设计............................6 7.1人机界面的特点..............................................6 7.2人机界面的主要功能..........................................7 7.3人机界面的画面设计..........................................7 7.4监控系统软件组态............................................8 8.心得体会...............................................13 附录 参考文献..........................................13
1.序言
随着现代电力电子技术和微电子技术的迅猛发展,自动化、智能化程度的不断提高,高压大功率变频调速装置的应用已经非常普遍,同时由于高压变频器几乎都是工矿企业的关键设备,在工厂自动化中占有举足轻重的地位,因此对其控制功能、控制水平的要求也越来越高,尤其对于那些工艺过程较复杂,控制参数较多的工控系统来说,具备交互式操作界面、数据列表、报警记录和打印等功能已成为整个控制系统中重要的内容。而新一代工业人机界面的出现,对于在构建高压变频器监控系统时,实现上述功能,提供了一种简便可行的途径。工业人机界面,是一种智能化操作控制显示装置。工业人机界面由特殊设计的计算机系统32位芯片为核心,在液晶显示屏上罩盖有透明的电阻网络式触摸屏,触动屏幕时,电阻网络上的电阻和电压发生变化并由软件计算出触摸位置。新一代工业人机界面还具有简单的编程、对输入的数据进行处理、数据登录及配方等智能化控制功能。
2.力控组态软件介绍
2.1 力控组态软件简介
力控组态软件是对现场生产数据进行采集与过程控制的专用软件,位于自动控制系统监控层一级。它提供了良好的用户开发界面和简捷的工程实现方法,只要将其预设置的各种软件模块进行简单的“组态”,便可以非常容易地实现和完成监控层的各项功能,缩短了自动化工程师的系统集成的时间,大大的提高了集成效率。它能同时和国内外各种工业控制厂家的设备进行网络通讯,它可以与高可靠的工控计算机和网络系统结合,便可以达到集中管理和监控的目的,同时还可以方便的向控制层和管理层提供软、硬件的全部接口,来实现与“第三方”的软、硬件系统来进行集成。
2.2力控组态软件特点
力控组态软件在数据处理性能、容错能力、界面容器、报表等方面产生了巨大飞跃,功能更强大,主要特点如下:
提供在Internet/Intranet上通过IE浏览器以“瘦”客户端方式来监控工业现场的解决方案;
支持通过PDA掌上终端在Internet实时监控现场的生产数据,支持通过移动GPRS、CDMA、GSM网络与控制设备或其它远程力控节点通讯;
面向国际化的设计,同步推出英文版和繁体版,保证对多国语言版的快速支持与服务;
力控软件内嵌分布式实时数据库,数据库具备良好的开放性和互连功能,可以与MES、SIS、PIMS等信息化系统进行基于XML、OPC、ODBC、OLE DB等接口方式进行互连,保证生产数据实时地传送到以上系统内。
个分布式的数据库分别对连接自己的I/O Server进行采集数据和处理,如输入数据的量程变换、流量累积、报警检查,以及PID运算等,这种体系结构的优越性在于,各组件任务分配更合理,使您的系统实时性更好,稳定性更高。
在今天,企业管理者已经不再满足于在办公室内直接监控工业现场,基于网络浏览器的Web方式正在成为远程监控的主流,作为民族软件中国内最大规模SCADA系统的WWW网络应用的软件,力控R监控组态软件的分布式的结构保证了发挥系统最大的效率。力控®为满足企业的管控一体化需求提供了完整、可靠的解决方案。
图2.1 力控组态软件的应用结构
2.3软件基本组件
工程管理器、人机界面VIEW、实时数据库DB、I/O驱动程序、控制策略生成器以及各种网络服务组件等。
图2.2 力控组态软件框架图
3.变频器应用的现状
变频器的发展是世界生产力和经济高速发展的产物。近年来,交流变频调 速技术在我国有了突飞猛进的发展,变频调速在调速范围、调速精度、通讯功能、节约电能、工作效率等方面的优势是其他的交流调速方式无法比拟的。变频器就是基于交流电动机的变频调速而开发和应用的,它以体积小、重量轻、通用性强、使用范围广、保护功能完善、可靠性高、操作简便等优点,深受钢铁、冶金、矿山、石化、医药、食品、纺织、印染、机械、电力、建材、造纸 等行业的欢迎,使用变频器后经济效益和社会效益都非常显著。
PLC技术是一种以计算机技术为基础的新型工业控制装置。近几年来,PLC技术在各种工业过程控制、生产线自动控制及各类机电一体化设备控制中得到了广泛应用,成为工业控制领域的一项十分重要的应用技术。目前PLC已广泛应用于石油、化工、冶金、轻工、机械、电力等各行各业,实现了逻辑、步进、数字、机器人、模拟量等的自动控制。随着数字化时代的到来,软件领域将不断地向硬件渗透,不断地用软件来代替硬件,从而实现智能控制和生产自动化。PLC就是计算机技术向继电器等硬件领域渗透的产物,用软件来代替硬件,用软件程序代替硬件继电器,从而为系统的连接及改造提供了方便,可以节约成本提高工作效率。PLC可以说是专门为工业严酷的环境设计的小型计算机,已成为工业控制领域中占主导地位的基础自动化设备。
5.2监控系统具体要求
1)信号采集和数据处理: 对来自现场的非标准信号数据通过组态软件转换成标准信号。
2)状态显示:将变频器启动、停止、就绪、合闸、接通、运转、旁通、告警、外控等状态通过组态软件动态的显示于监控画面上,具有实时、动态效果。
3)监控操作: 对频率、温度、电流、电压、风压等进行自动实时监测。
4)操作画面:在操作画面上可查询装置的电压、电流、功率、温度等实时和历史数据,还可查询实时、历史曲线和设备状态并可按要求设定和打印出实时报表和历史报表。
6.变频系统监控功能的实现及效果
进行编程后的监测、控制系统,针对变频系统的特点,集实时显示、流程控制、数据采集、数据传输、工程报表、历史曲线和实时曲线显示等功能于一身,并能保存和打印历史数据为系统分析使用。可以完成如下功能:
1)实时监控设备工作状态,实现全生产过程实时管理。高压变频器运行状态十分重要,而监控系统的建立为管理部门提供的实时动态信息,能有效地帮助值班人员及时了解设备工作状态。
2)提供灵活的实时曲线和历史曲线显示功能。通过比较当前和历史趋势数据,特别是结合装备安全运行的多参数模型,可以及早报告故障隐患。
3)实时报表管理方便地解决了现场定时数据抄写、维护及繁琐的数据处理工作,记录员不必再每天花费大量的精力填写报表,提高了企业的办公能力和管理水平,取得了显著的经济效益和社会效益。
4)数据化的管理提高了企业数据的透明度并消除了人为因素,将成本核算纳入更规范的管理体系。
5)监控系统具有界面友好,易于操作,运行可靠,便于更改、扩充、升级等优点,同时,系统造价很低,具有较高的性价比。
7.人机界面的特点功能与画面设计
7.1人机界面的特点
人机界面是新一代高科技可编程终端,具备与各品牌PLC连线监控能力,适于在恶劣的工业环境中应用,可代替普通工控计算机。其主要特点有:
1)画面容量大,画面规划简单;
2)全中文操作软件,适用于Windows95/98/NT等环境,指令丰富,编程简单;
运行策略分别进行组态设置,如在用户策略中,利用策略工具箱添加脚本构件、存盘数据提取构件等,以实现所需的功能。
7.4监控系统软件组态
软件组态部分完成监控系统与操作人员间的交互界面,是实现对整个系统的监视、控制、调度和管理的核心。人机界面分为两部分,一部分是用于日常监视、系统参数设置的主界面,另一部分是用于指示、管理非日常监视信息,如各种报表、曲线及趋势图、历史记录等的子界面。1)帧发送
本设计的通信帧中有专门的广播帧用于此功能,如统一对所有变频器的输入运行命令和频率命令进行设定。广播帧格式与标准帧格式一样,区别在于其中的“站地址”位设定为:99号机。一般而言,大部分的变频器在PCAuto中都有驱动。如果系统采用的变频器在PCAuto中无驱动,则可以采取其他方式。这是因为PCAuto是基于ODBC标准的,能提供与第三方软件的通信方式,如采用DDE或OLE方式可以很方便地实现通信功能。
选用帧中选择要求(写入)帧格式如下(计算机<——>变频器):
图7.1 帧发送
2)画面设计
图7.2为变频器的监控组态界面。其中包括电流、电压、频率的列表显示、动画显示及实时曲线显示,便于从直观上了解电动机的运行状态。一旦出现报警情况,则立即进入报警状 态,并根据报警内容做出相应的处理(如紧急停机等),可实现电动机的正/反转、加/减速、停机等控制,还可以获得一些历史数据(表、曲线、图)及故障报警 等,极大地方便了生产操作人员对一线现场的监督、控制、管理。
图7.2 主控界面
3)建立实时数据库
在Draw的导航器中单击“实时数据库组态”,启动实时数据库组态程序。
图7.3 参数设置
5)I/O检查
可对各台变频器的通用输出/输入端子状态、用户选件输入状态等进行实时监视。通过对各台下位机的循环检测可知各台下位机与上位机的通信是否正常。6)维护信息
可显示各台变频器的机种、容量、ROM版本、累计运行时间、1小时变频器内最高温度及散热片最高温度、键盘面板、RS-485、选件卡的通信出错次数等信息,便于工程技术人员了解情况。7)报警信息
当出现故障时立刻进入报警子画面,显示报警的历史原因、报警时的输出电压、电流、频率、转矩及当时的设定值等、报警时输入/输出端子状态、最新报警发生次数及多重 报警等信息。通过查看报警信息及历史数据,极大地方便了现场技术人员的维护,使得维护更加准确、简捷,缩短故障处理时间,使生产更加稳定。
图7.7 故障界面
8.心得体会
通过这次课程设计,我翻阅了大量的相关书籍,从中学习领会了许多,这次课程设计主要是以力控组态软件为核心的监控系统,具有界面友好,易于操作,运行可靠,便于更改、扩充、升级等优点,同时,系统造价也远低于进口同类设备,具有较高的性价比。采用组态软件进行工业控制是现代化工业的一个发展方向。
本系统不仅实现了对高压变频器各参数的在线实时监测与控制,而且在实际使用过程中也取得了良好效果,加强了职能部门对高压变频器的监测,规范了职工行为。对高压变频器实现了系统化管理,提高了变频设备运转的可靠性,保证了现场的安全运行。
这次课程设计中也遇到了一些难题,虽然我的课程设计不是很成熟,还有很多不足之处,但还是感到欣慰,因为这里面的每一个页面,都有自己的劳动与同学的帮助。当看着自己的成果,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。
最后还要感谢老师,老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。她无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢她耐心的辅导。
附录 参考文献
软件课程设计 第3篇
摘 要:《教育软件设计与开发》是教育技术学专业本科生的专业核心课程,通过设计和开发一个基于网络的课程系统,可以有效实现课程管理、资源管理、课程活动、用户管理,为学习者提供一个良好的学习空间和个性化的学习环境,并且能够引导学生进行课程任务的系统化分析和设计。
关键词:教育软件;网络课程;管理;学习环境
中图分类号:G434 文献标志码:B 文章编号:1673-8454(2016)07-0093-04
一、概述
网络课程是通过网络表现某门课程的教学内容及教学活动的总和,它包括按一定的教学目标、教学策略组织起来的教学内容和网络教学支撑环境,其中网络教学支撑环境是指支持网络教学的软件工具、教学资源以及在网络教学平台上实施的教学活动。[1]相对于传统的教材,网络课程具有开放性、内容丰富、形式多样、交互性强、反馈及时以及共享性等特点。《教育软件设计与开发》网络课程的使用对象是教育技术学专业的学生,因此,其内容设计和结构规划既要全面反映课程内容,又要适合教育技术学专业学生的学习要求和特点,并为教师提供一个良好的教学辅助平台。鉴于此,《教育软件设计与开发》网络课程管理系统的主要特点包括:
(1)依托网络课程的开放性、交互性、共享性等优点构建多功能学习环境。与传统课程相比,网络课程具有开放性、交互性与共享性等优点。本网络课程系统提供了个人管理、资源下载、在线交流、课程项目、在线考试等多种功能特性,此系统的功能特性就是利用网络课程的开放性、交互性和共享性等优点构建网络课程。充分体现了网络课程的优点,为学生和教师提供了良好的学习环境,同时也为师生之间提供了良好的学习交流平台。
(2)利用网络课程系统来达到学生自主学习、自主探索的目的。由于网络课程具有开放性与共享性等优点,因此网络课程能够给学生提供良好的自主学习、自主探索平台。本网络课程充分体现了自主学习的特点,为学生提供了大量的自主学习教材和学习资源。
(3)充分利用多种媒体形式,丰富教学内容,提高学生的学习兴趣。与传统课程相比,网络课程能够充分利用多媒体进行教学,不但丰富了教学内容,还提高了学生的学习兴趣。本网络课程系统中就包括了教学资源电子课件和课程视频等多种多媒体教材。
(4)学习评价设计(作业系统、在线测试、练习题)随时检测学习效果,实现自我评价,随时得到反馈。本网络课程系统包括了学习评价功能,主要有作业系统、在线测试和习题演练。为学生提供了自我评价和自我检测的平台。
(5)实现网络课程的交互功能,为学生提供更好的教学内容,实现教师与学生的有效沟通。网络课程的交互,是网络课程的核心环节,能够给学生与教师提供及时、方便的沟通环境。本网络课程系统包括了在线答疑、常见问题、BBS等多种交互模块,为学生与教师、学生与学生之间的交流提供了良好的沟通渠道。
(6)符合网络教学、学习规律和使用对象——学生的特征。网络课程的最终服务对象是学生,评价网络课程的好坏,最重要指标是该网络课程是否符合学生特征。本网络课程系统的开发充分考虑了学生的特征,为学生提供了良好的学习平台。
二、《教育软件设计与开发》网络课程系统的设计原则
《教育软件设计与开发》网络课程系统的开发在吸收上述网络课程优点的同时遵循以下原则:
1.专业性原则
网络课程是一个以提供学习资源为特点的开放系统,能够为学生提供丰富的学习资源。因此,在教学内容的设计上要符合专业要求,明确学习目标,充分发挥网络的优点,有目的、有计划地提供专业知识及其拓展材料,争取做到学生的学习脱离于传统教室的讲授学习却又不脱离课程专业所要求达到的目标。
2.导航明确性原则
由于网络课程信息量巨大, 内部信息之间的关系复杂,因此在网络课程的设计过程中要充分考虑学生的需求,尽量为学生创造便捷的学习条件。那么设计清晰、明确、简洁的导航显得尤为重要,本系统在导航设计过程中将力求结构清晰、交互生动形象、逻辑结构合理、链接方便,从而可以使学生在知识的海洋中第一时间内找到自己学习的内容。
3.交流互动性原则
网络课程不同于传统的课堂教学,它借助于现代网络技术,能够体现强烈的人机交互、师生互动和生生交互等交流活动,在培养学生自主学习、主动学习能力的同时又不失为学生提供强大的交流平台,使学生随时可以获得所需的帮助。
4.操作性强原则
由于学生的计算机操作水平参差不齐,因此在网络课程系统设计过程中要充分考虑到学生的现有水平,提供简单明了、方便快捷的操作,将重点内容放到显眼的位置,在操作过程中不会对学生再有其它过多的辅助操作步骤要求,尽可能地为学生提供便捷顺畅的学习流程。
三、《教育软件设计与开发》网络课程系统的设计思路
考虑到网络课程的全面性与交互性,在系统设计时将教学过程的各个环节都进行了全面的分析,尽量将教学过程的每个环节都能在系统上完成。系统的全面性决定了网络课程对教学过程深入的程度,本系统主要分为课程内容建设、课程团队建设、课程资源建设和教学互动建设。课堂教学、师生互动、课后巩固以及教学评价都在系统上完成。系统的交互性决定了课程中师生互动的程度,本系统包含了教学答疑、常见问题、课程项目以及在线考试等功能,能及时给学生提供良好的学习平台以及与教师之间的交流平台,教师也能通过互动环节与学生进行交流,帮助学生更好地掌握所学知识,同时还能获得更好的反馈信息。
在人员管理模块中,本系统采用三级管理模式,即教师、学生和管理员。为了便于管理,该系统将教师设置为课程主讲教师和课程团队教师两个角色,其中课程主讲教师既是本门课程的教师,又具有课程管理和系统维护等功能。由于本课程是一门计算机应用类课程,教师的计算机应用能力都很强,所以本系统将课程负责人设为管理员,由课程负责人来管理系统的正常运行。
四、网络课程系统的设计与开发
网络课程系统的设计与开发是一个复杂的过程。需要设计者有系统的建构思想,对系统中各个环节、功能模块进行全面的分析,综合考虑不同角色的需要,分析使用者的特征,这样才能设计和开发一套操作简单、目标明确、内容丰富、思路清晰的网络课程。
1.整体框架及功能设计
本系统将整个网络课程划分为课程内容建设、课程团队建设、课程资源建设和教学互动建设四大功能模块,以及相应的后台管理模块。其结构如图1所示。
(1)课程内容建设
课程内容建设是本系统的核心和基础。它包括课程大纲、课程内容、习题演练、在线考试、参考资料五个功能模块。课程大纲是描述本门课程的学习框架以及学习的总目标,其中包括教学大纲和考试大纲。课程内容给学生提供了本门课程的主要教学内容,课程内容的每一个章节都包含了本章节的学习目标、学习内容和相关资源等信息。习题演练是给学生提供一个课后巩固知识点的平台。参考资料列出了本门课程中部分知识点的参考出处,学生可以查找这些参考资料,从而对这些知识点进行更进一步的了解。在线考试是检测学生对课程知识的掌握程度。学生学习了课程内容之后,可以通过在线考试来检测和巩固自己所学的知识,教师也可以通过在线考试这一环节来了解学生的掌握程度从而对学生做出学习评价。
(2)课程团队建设
课程团队是教授此门课程的所有教师团队,它包括课程负责人、课程团队两个模块。课程负责人是本门课程的主要负责人,同时也是课程团队中的领导者。课程团队中展示了本门课程授课教师的相关信息,学生可以通过这个模块了解教师的一些相关信息。
(3)课程资源建设
课程资源建设是对课程主体的补充,同时也是给学生提供丰富的网络学习资源的平台。本模块包括课程项目、教学录像、电子课件、学生作品和资源下载五个模块。
a.课程项目是学生协作学习的展现平台,教师根据学生的特征,对学生进行分组,或者学生根据自己的爱好和特长自行分组;然后教师根据小组的特征给每一小组分配不同的项目。学生通过小组协作的方式完成项目要求,最后上传项目成果。
b.教学录像为学生提供课堂再现,学生可以通过观看教学录像,以便充分掌握相关的教学知识。
c.学生作品是学生在学习本门课程的过程中,自己完成并上传的学习作品,是学生作品的展示平台,也是学生资源的共享平台。在学生作品模块中,提供了作品检索和作品统计功能,这样方便了学生检索作品。
d.资源下载为学生的学习提供了更多的网络学习资源,资源下载模块将资源按不同的分类进行显示,同时也提供了资源检索功能,学生可以根据不同的分类进行资源的检索。
(4)教学互动建设
教学互动是课程学习中的必要环节,教学互动为教师与学生之间提供了一个交流的平台,学生可以在学习的过程中与教师进行沟通互动。教学互动包括课程公告、教学答疑、常见问题。教师可以通过课程公告给学生提供最新的课程信息,提醒学生按时完成课程要求。教学答疑环节是教师与学生在线交流的平台,学生在遇到困难时,可以在教学答疑中给教师提出问题,教师登录之后可以给相关问题做出解答。常见问题是教师通过自己的教学经验,总结出学生在学习过程中可能遇到的问题,然后把问题以及解决方法展示给学生,以便学生能够及时解决问题。
(5)后台管理模块
网站系统后台是管理员维护网站功能以及网站信息的平台。本系统是一个网络课程网站,为了达到系统的要求,本系统采用三级管理模式,包括系统管理、教师管理和学生管理。
a.管理员管理
管理员负责整个系统的管理与维护,拥有最高权限。本网络课程是一门计算机应用类课程,教师的计算机应用能力都很强,因此本系统的管理员是本门课程的课程负责人。其主要功能的体现有:在课程内容上对一些大纲、资料等进行添加、删除、修改和维护;在课程团队上对一些课程的团队以及负责人的信息进行添加、删除、修改和维护以及人员的审核;在课程资料项目的管理中首先是对本门课程进行立项、分配课程小组以及安排小组组长、给小组分配课程项目后对项目作品的审核等,还包括对项目、小组及小组成员进行修改、删除、审核等;在教学互动中,可以公布一些课程公告,对常见问题和教学答疑进行管理,并对这些信息进行添加、修改和删除管理。
b.教师管理
为了使本系统信息能得到及时的更新和维护,系统为教师分配了较高的管理权限,除了用户设置管理里面的教师管理功能和系统安全管理功能外,教师管理还具有管理员管理的其他所有功能。
c.学生个人管理
学生可以在系统中完成相应的教学过程和教学任务。其主要功能包括:对个人信息、资料的修改上传,查看课程及分组情况,并能进行在线考试和对自己的成绩进行查询。
2.系统UML建模
数据建模语言是从项目工程中引入的概念,它能够帮助我们更好地理解正在开发的平台,理清设计思路,并能够比较直观地反映系统平台的结构和功能。本系统采用基于UML模型建模语言,UML模型包括用例图、时序图和活动图等。
(1)用例图
用例图是用于描述用户与系统之间的关系,它表示系统能够给用户提供的操作。在绘制用例图时首先要确定参与者,也就是使用此系统的人或事物,通常包括三大类:使用者、管理者和应用程序接口,在本系统中包括管理员、教师和学生。其次是要明确系统用例,也就是系统给操作者提供什么样的使用操作。学生用例图如图2所示。
(2)时序图
时序图是指按时间的顺序描述系统各个元素之间的交互顺序,网络课程的时序图主要有:①管理员添加、修改和删除用户的时序图;②课程内容的添加、修改和删除的时序图;③课程公告的添加、修改和删除的时序图;④教师和管理员对课程信息的添加、修改和删除的时序图;⑤教学资源的上传、下载以及查看的时序图等等。以上时序图的设计方法大致相同,本文以管理员对课程大纲的添加、修改、删除为例说明网络课程系统设计中时序图的创建过程。如图3所示为管理员添加课程大纲时序图,管理员首先使用自己的用户名和密码登录系统后台,进入后单击添加课程大纲菜单,输入添加课程大纲信息,然后点击添加将输入的课程大纲信息提交给数据库模块进行添加处理,最后平台会弹出添加成功提示信息,这样一个添加课程大纲的时序图就完成了。
(3)活动图
活动图是用来描述系统是如何协同工作的。当系统中的操作步骤比较多时,活动图就可以清晰地显示各个步骤的先后顺序,使用者只要按照步骤进行操作就可以达到预期的结果,学生子系统的活动如图4所示。
3.技术的应用
本系统采用ASP技术作为开发工具,使用SQL作为数据库,运用VBScript、JavaScript脚本实现语言,B/S(浏览器/服务器)架构设计。本系统是以课程为中心,为教师和学生提供了良好的学习和交流的平台。学生和教师登录之后,就可以对系统进行相关操作。以下以课程项目实现为例,进行一个简单的说明。课程项目模块主要是针对课程小组活动设计的。当某个班需要进行分组活动时,教师就可以在后台将班级按照随机或者指定的方式进行分组。如果是随机分组,教师只需要将每组最多和最少人数输入系统,系统将会自动完成分组;如果是指定分组方式,教师可以按照课程项目需要分组,并且可以指定每组人数、负责人和设定每组的活动项目名称和内容。另外,该模块还具有对选修相同课程的学生之间进行班级间的自由成组功能,他们可以依据个人喜好和需要自由成组,只要双方课程中的某一个教师审核通过即可。在课程项目中,小组成员自动组成讨论小组,可以发表言论,建立小组成果展示区等。
五、小结
本系统的设计充分考虑《教育软件设计与开发》的课程要求,实现了《教育软件设计与开发》课程教学过程的各个环节。同时还将协作学习模式融入到本课程当中。系统中的课程项目以及在线考试是本系统特设功能模块,课程项目为学生提供了良好的小组协作学习平台,在线考试为学生提供了自我评价的平台,同时也是教师对学生考核的重要平台。本系统在某高校教育技术与传媒学院的《教育软件设计与开发》课程中使用了5年,获得了教师与学生的一致好评。本系统虽然给教师以及学生提供了良好的学习与交流平台,但是在评价方式上没有充分考虑到评价的多样性与全面性,虽然有个人评价、小组评价以及在线测试评价,但是它们之间联系不够充分,无法形成一个总体性的评价。下一步工作将是完善系统的评价功能,使教师能够充分而又方便地对学生进行综合性评价。增加教学互动方式,方便师生之间的交流,使师生交流方式更为多样。
参考文献:
[1]何克抗,林君芬,张文兰.教学系统设计[M].北京:高等教育出版社,2006.5.
[2]王志军.多媒体教学软件设计与开发[M].北京:高等教育出版社,2006.7.
[3]新艺科技.DreamweaverCS3超酷网页设计CSS篇[M].北京:清华大学出版社,2008.12.
[4]李文光,吴紫佩.“教育技术学”网络课程整体规划设计与开发研究[J].现代教育技术,2004(4):57-60.
[5]方美玉.基于ASP的网络课程的开发架构与实现[J].浙江教育学院学报,2004(1):50-55.
[6]纪永毅,黄建军.网络课程设计与开发的实践探索[J].电化教育研究,2004(5):51-53.
[7]李仕梅,龚盛昭.基于Web 技术的精品课程网站设计与维护[J].广东轻工职业技术学院学报,2008(1):9-11.
[8]施庆平.网络课程开发的探讨[J].职业技术教育,2006(26):103-105.
[9]张红艳.基于分层目标的网络课程的设计与实现——以“大学计算机基础”网络课程为例[J].中国电化教育,2013(4),95-98.
[10]王国华,俞树煜,李亮,梁胜男.基于微型学习理念的网络课程微型化设计与实现──以“现代教育技术”网络课程为例[J].中国远程教育,2014(4):89-94.
[11]武燕平,金玉.基于网络课程平台实现动态交互学习模式研究——以《VB程序设计》网络课程为例[J].中国教育信息化,2014(10):20-22.
《软件界面设计》课程教改初探 第4篇
对于软件公司,软件就是商品,而软件界面就是产品外观,界面的美观与否,直接关系到了软件产品的营销成败。软件专业的学生只有在努力学习编程知识的同时也具备界面设计的能力,才能和企业发展的目标相一致,才能符合现代企业对人才的要求。工学结合、培养符合企业需要的人才是高职院校的最终目标。界面设计是计算机科学和心理学、设计艺术学、认知科学和人机工程学的交叉领域,新型的发展领域和空间带来了更多的机会,也提出了更多的挑战。每门具体的课程都有自身的特点,尽管《软件界面设计》在软件专业课程中处于非常重要的地位,但是实际教学的效果却不尽人意,甚至一度成为教学中的“鸡肋”课程,接到这门课程的老师多少都会感觉头疼。归结起来主要在于学生学习兴趣不大,教学的效果也不够理想。文章是在对教学过程中遇到的困难,经过总结后提出了一些解决方案,希望对教授这门课程或者相关课程、类似课程的老师有一定的参考价值。
(二)软件界面设计教学中出现的问题和难点
1. 学生的学习兴趣。
界面设计是艺术设计专业的课程,这种观点在学生中普遍存在。由于传统课程结构,学生一直接受的都是程序设计、软件工程和数据库类的课程,所以形成了功能强大的软件就是优秀的软件、界面美观与否无所谓的观念。《软件界面设计》在学生认为就是些没有技术含量的课程,学习的再好也显示不出自己的技术水平,得不到心理上的成就感,同时对自己在界面设计方面的能力表示非常怀疑,认为是艺术设计的学生才能完成的工作。平时,学生在界面设计作品的鉴赏都存在一定的审美偏差,更何况独立进行设计了。通过课堂上和课后作业可以看出,学生对这门课程的态度表现为两个极端,一是不以为然,二是信心不足。如何加强学生对界面设计课程的认识,提高他们学习的自信心显得尤为重要。
2. 教学质量。
作为高职学生的培养,主要就是着眼于提高学生的动手能力,符合企业对人才的要求。《软件界面设计》课程由于能选用的教材非常有限,所有的教材都是理论性的,所以教学的质量受到了很大的影响,导致教师授课时也趋向于理论教学。由于面向的是高职类学生,没有从根本上提高学生的动手实践能力,教学质量不尽人意。
(三)教改的方法和步骤
分析教学过程中出现的问题和难点,必须分别有针对性的方法解决。
1. 提高学习兴趣。
第一步必须让学生意识到界面设计在软件行业中的重要性,而不是以往的拿起书来就开始第一章,第二章的往下讲,好的开始是成功的一半,将学生学习的积极性调动起来才可能更好的进行后面的教学。首先,收集多个知名软件公司的系列软件产品,对这些产品的发展从界面设计的角度进行分析,说明界面设计在软件升级的过程中所起的作用,同时对这些软件在发布之后,用户反馈、企业盈利和社会效应进行对比,加强学生对界面设计的重视程度。其次,为学生准备一些界面设计的半成品,让他们在半成品上按照一定的要求进行加工,通过有形的作品来增强学生的自信心。最后让学生进行分组,组内成员讨论分析各自的作品,提出修改的建议,以互助的形式完成作业。同时组与组之间进行作品的评比,敦促学生在完成任务的同时,提升作品的质量。既活跃了课堂气氛,又促成良好的学习氛围。
2. 提高教学质量。
由于在界面设计之前没有其他设计方面的课程作为基础,学生第一次接触到界面设计的课程会有些迷惘,除了提高学生的学习兴趣以外,如何提高教学质量也是值得探讨的问题。要提高教学的质量,《软件界面设计》课程就不能只是纯理论的描述软件界面设计所遵循的原则,而是应该与当前已经开设的软件专业课程紧密结合,加强实用性和可操作性。现很多学校的软件专业已经开设了.NET方向和JAVA方向的课程,《软件界面设计》在选择设计案例和平台时就必须以此为基础。学生不管是在《软件界面设计》课程还是其他开发类课程中都能将学到的知识相互融合应用,也就能体会到《软件界面设计》这门课程的重要性和实用性,提高学习的积极性。为了提高学生的设计水平,在进行作品设计前,首先要提高学生对作品的鉴赏能力。在课堂内对不同层次的界面作品进行评析,分析其优点和不足,具体进行哪些方面的改进等。如图1,图2所示,新浪在门户网站中具有代表性,淘宝是商务网站的代表,上课时对这些具有代表性的页面进行讲评,通过实际案例提高学生鉴赏水平。
同时让学生之间进行讨论,教师最后进行总结和点评,让学生在评析这些界面作品的过程中获取对界面设计的感性认识。以淘宝网站的页面为例,学生讨论过程中阐述的部分观点:组一,颜色比较鲜亮,看起来舒服,用了很多图片,很好看;组二:看上去舒服,搜索东西蛮方便,很多图片,有兴趣继续访问下面的网页等等。教师总结:色彩搭配以橙色、蓝色为网站的主色调,首先符合淘宝网的定位,以网上交易为主要功能,需要冷色蓝色,给人信任的感觉;加入暖色橙色,提高用户的兴奋度,有兴趣积极参与到交易活动中来;由于这个网站的功能定位,所以搜索功能对于用户来说非常重要,采用了菜单搜索和关键字搜索结合的方式,系统提供一定帮助用户缩小搜索范围,用户也可以自由输入关键字进行搜索,文本搜索框还提供了智能提示的方式,这些搜索的方式都是结合用户需求和网站功能两方面设计的,以后的设计中主要做到的就是以人为本的原则,等等。通过学生教师互动提高学生的鉴赏能力,也为以后的设计能力的提高埋下伏笔。仅仅有感性认识是不够的,必须着眼于学生的动手能力。根据学生掌握的软件技术的不同,采用的案例也有所不同,如图3所示,以JAVA为背景,以设计一个计算器为案例,讲述软件界面设计的知识,这时既要讲述界面设计的知识,又要结合java进行开发。
每堂课准备一两个案例让学生进行练习,这个案例可以采用文本需求结合界面设计的半成品的方式进行再加工。例如,在进行网页的栏目设计时,图4是一个学生对界面半成品所完成的作业。当前提供的是网页模板,亦即一个颜色搭配和页面布局都基本定下来的页面,要求自选主题,进行首页主栏目、辅栏目和功能板块的划分和实现。学生根据这个要求选择了茶叶为主题,较好的切合了所给模板的淡雅的色调,说明这个学生对色彩应用有了一定认识,而且根据主题划分网站的栏目功能板块也有了很好的掌握。
(四)结束语
课前的计划在课堂中实施时还存在一定差距,要达到最终的教学目的还有一定距离,《软件界面设计》主要的实践方向是集中在严格按照计划实施教学,对教学和实操的案例进行精心准备和筛选,同时对学生每次的作业进行分析,结合学生课堂的表现和意见,局部调整教学方法,让学生逐渐达到企业对专业人才的要求。
参考文献
[1]罗仕鉴, 朱上上, 孙守迁.人机界面设计[M].机械工业出版社, 2002.9.
软件测试课程设计要求 第5篇
1、测试对象选择:
每组同学选择一个web应用程序,部署到笔记本上。Web程序可以从网络上找,至少包含5个以上的功能模块。
要求:每组所测试针对的web应用程序不能相同!否则两组成员成绩都将降一档次。
2、分组要求:
每组4人,班级内自由组合3、测试内容:
针对一个主要模块,至少有30行语句以上,进行如下测试设计:
1)白盒测试:
选择编写测试用例,并进行2种类型以上的覆盖测试,并针对测试用例画出表格
2)黑盒测试:
选择编写测试用例,针对模块中的功能点进行测试,测试用例选择不少于15个
3)自动化测试:
使用LoadRunner或qtp,对web应用程序进行性能测试,描述测试目的及测试结果
4、课程设计报告编写内容:
1)测试成员介绍(人员、负责内容)
2)测试目标(所针对的web程序介绍,测试的项目内容介绍)
3)测试计划(包含时间、目标及对应方法、检验标准)
4)测试用例(格式要按照测试用例书写规范)
5)自动化测试中的(要求有测试目的说明,测试过程截图)
6)测试结果(描述与测试用例中的结果比对、功能的正确性)
7)测试结论(对课程设计的总结)
报告内容不少于15页。
5、时间安排:
本周五(7月4日)上午8点在实验室633进行课程设计安排,下周四(7月10日)上午8点,在软件工程实验室进行分组检查,每组5-10分钟。
要求提交:课程设计报告(打印稿、电子稿)、测试所用的web程序源代码。并对自动化测试过程进行演示。
电子稿以各班长收齐,用逗号间隔的学生名字为目录名存放各组电子文件。
6、评分标准:
课程设计报告书写内容,60%
软件课程设计 第6篇
关键词 高职 软件 设计 研究
中图分类号:G424 文献标识码:A
0 引言
软件技术专业课程体系的设置与建设是软件人才培养质量的重要基础。高职院校在技术应用型软件人才的培养上具有很大的优势,但是由于目前不少高职院校的软件技术专业在课程体系设置方面存在诸多不合理的地方,导致大量高职院校毕业生面临就业困难,而大批IT企事业单位却难以招收到适用人才,那么如何培养出适应市场需要并能够直接使用的实用型软件人才,调整与革新软件技术专业课程体系是首要问题。下面结合我院计算机软件技术专业人才培养方案的修订和专业特色,提出对高职计算机软件技术专业课程体系建设的若干看法。
1 软件设计专业课程体系构建思路与原则
1.1 开展校企合作,工学结合的人才培养模式
为了使学生了解软件开发流程,了解现今软件企业的最新开发方向,使我们培养的学生能够满足企业的要求,关键在于软件技术专业要加强与行业企业的合作,与企业建立实训平台,全面发挥校内外实训平台的作用。企业技术人员全程参与人才培养过程,以共同开发课程项目为原则,开展校企合作、工学结合的人才培养模式。并聘请有多年项目开发经验的软件工程师现场讲授开发经验,让学生尽快掌握软件项目开发的基本技能,适应软件企业的要求。
1.2 根据软件技术专业岗位群建立课程体系
通过对各类型软件企业的调研,了解软件行业用人机制、人才需求和生产过程技术要求等,由此进行工作岗位、工作能力与素质要求等综合分析,确定软件专业对应的主要工作岗位,软件设计专业涉及的工作岗位大致分为:软件界面设计工程师,数据库工程师,Java平台开发工程师,.NET后台开发工程师,WEB网站开发与维护,软件实施与维护工,软件测试工程师,软件设计师,软件系统架构设计师。工作岗位对工作能力在理论上要求掌握photoshop、Dreamweaver、flash等相关设计软件,熟悉DIV、CSS、javascript语言,熟练掌握数据库原理,熟练掌握SQL SERVER,熟悉MySQL,熟练掌握C#程序设计语言、Java程序设计语言中的一种程序设计语言;熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;掌握软件设计的方法和技术,熟悉.NET架构和J2EE架构等。根据工作岗位对工作能力的要求来建立课程体系思路。
2 软件设计专业的课程体系设置
2.1 跟踪主流技术,按照技术方向确定专业课程体系
软件专业课程体系设置面向的对象是三年制的专科学生,在课程体系设置中采用5+1的教学模式,即五个学期的校内教学,1个学期的企业顶岗实训。又将五个学期的校内教学设置成4个学期的基础教学,1个学期综合项目实践。在4个学期的基础教学过程中,除了公共基础课学习之外,主要学习Java和.NET两门编程语言,应用这两门主流语言开发基于Windows、Linux等平台的应用程序。在1个学期综合项目实践中,根据学生四个学期的专业基础教学中的学习情况将软件设计专业化分为JAVA和C#两个方向,模拟企业软件开发流程和项目管理,选择实际应用项目分组进行软件开发。在1个学期的企业顶岗实训,组织学生到企业典型工作岗位参与实际工作,巩固职业技能的熟练程度。
2.2 按照能力递进规律确定课程体系
根据职业成长规律,按照职业能力逐步递进培养的原则,将主要课程体系划分为3个递进式阶段。第一阶段开设Java、C#主流编程语言的课程为技能积累阶段,主要培养学生的基本操作技能和基本编程技能,使学生熟悉软件的开发流程及工作环境,能满足工作岗位上的一些简单要求。第二阶段开设JSP、ASP基于B/S、C/S架构开发程序的课程,此阶段为能力发展阶段,该阶段把第一阶段的基本技能融入到新的技能中,实现了能力的整合,形成了更高一级的综合能力,使学生基本上达到了岗位能力要求。第三阶段开设基于企业级开发技术的SSH、N层架构等程序开发的课程为综合实践阶段,该阶段是在前两个阶段的基础上,通过在真实的工作情境中开发实际项目,实现广泛的能力整合和迁移,形成关键能力。
2.3 加强师资队伍建设来保障软件专业课程体系的实施
建设一支德才兼备、结构合理、教学水平高、教学效果好的“双师型”教师队伍,对课程体系建设来说至关重要。目前,我院软件技术专业教师的理论水平能够满足教学要求,但欠缺企业实践能力,因此在师资队伍与提高方面,要制订一系列的目标和规划,具体涉及到:鼓励教师进行学历水平提升,组织教师积极参加在职研究生学习,提高学历层次;鼓励教师利用假期外出进修学习获取相应资格证书;推荐教师到企业参加实践锻炼加强企业实践经验。
3 结束语
当前高职院校的专业建设是各项建设的重点,课程体系的改革与构建又是专业建设的根本。高职院校必须紧跟软件技术日新月异发展的步伐,不断调整专业课程体系,使其更贴近企业对软件人才知识、技能与素质的要求,更符合社会发展的需要。同时通过课程体系的改革与,使教师的教改和科研水平得到大幅度的提高。
软件设计模式课程教学探索 第7篇
一、校企深度合作, 引入企业案例
为培养符合社会需要的高级软件专门人才, 2010年, 吉首大学和中软国际校企深度合作, 成立了吉首大学软件服务外包学院, 确定软件工程专业为教学改革试点专业, 由校企联合共同建设。校企合作过程中, 中软国际ETC根据双方共同制定的专业人才培养方案, 在遵守客户保密条款的前提下, 从中软国际国内外软件项目业务中精心挑选了一些项目进行改造, 形成软件工程专业实践教学项目案例库, 如烟草分布式数据采集系统、集团协同办公平台、多媒体网络资源管理系统、企业内网即时通信系统等。教师在讲授本课程时, 可运用这些案例中的部分实现方法, 如在讲解某个具体的模式时, 可以先提出软件设计需求→讨论一般的软件设计方案, 适当拓展项目需求, 指出原方案的缺点→讲解运用模式设计的方案→讨论该模式的优势→总结模式的应用, 这种方式能增强学生对课程内容的理解。结合企业项目案例, 如在一些较大的真实系统中, 看似一个简单的数据库接口程序, 通过以上环节的讲解, 都能引出设计模式的思想, 因为底层具体的数据库产品可能是不确定的, 可能是Oracle或SQL server, 也可能是Sybase或DB2, 甚至可能是其他的产品, 为了适应不同客户提出的数据库要求, 编程时不改变源码就能更换数据库, 这时采用工厂模式就是一种比较好的方案。企业项目案例中有很多具体的实现场景, 为本课程的教学提供了丰富的教学资源, 教师授课时可运用这些真实的案例结合模式进行讲解, 体现课程的实用性, 激发学生的学习兴趣。
二、改革教学方法, 引入研讨式教学
围绕学生“实践能力、创新能力和综合素质”的培养, 在教学方法的设计和教学方法的实践方面, 引入“研讨式”教学方法, 该方法分三个环节进行实施。第一个环节为创设问题, 教师根据教学目标要求提出问题, 以问题为导向编制学习预案或导学提纲, 学生依据问题进行资料查阅, 按小组合作探究研讨, 找出解决问题的思路和方案;第二个环节为课内研讨, 学生上台演示自己的解决方案, 其他同学和教师可随时提问, 大家共同讨论所演示方案的优劣。然后, 教师根据学生演示和讨论情况重点讲解一些知识内容, 对学生项目解决方案的优缺点进行总结;第三个环节为课后训练, 学生针对演示中的出现的问题, 对解决方案进行重构, 或布置一些相关的任务或练习, 达到对知识的巩固与提高。如在讲授策略模式时, 可以创设一个报价系统的题目, 对于某个产品根据不同的客户类型进行不同的报价, 要求这些报价可以方便设定。如对普通客户或者是新客户报全价, 对老客户折扣3%, 对大客户折扣8%。学生对这个程序的解决方案可能会出现几个不同的版本, 有可能是写一个简单的判断程序, 直接将折扣编入代码, 有可能将报价的算法单独进行实现, 对这些解决方案进行研讨时, 教师应不断对系统功能提出新的要求, 如国庆节的时候, 公司进行产品促销活动, 这些折扣都变了, 国庆结束又恢复到原先的报价方式。提出新要求的目的是要将报价算法和使用算法的那段程序分开, 从而体现策略模式的本质。因为研讨式教学方式要求学生上台演示并讲解, 能极大地促进学生的学习。
三、加强实践教学指导, 培养工程实践能力
软件设计模式课程的实践性非常强, 而受课内实验时数限制, 任课教师要精选实验题, 并加强实验指导与检查。为进一步培养学生工程应用能力, 学院专门开设了第二课堂, 实验室全天对学生开放, 并加强了对教师和学生的管理, 安排专业教师轮流值班, 教师作为学生学习的引导者, 为学生提供和课程配套的学习资料或布置相关项目实践任务。在教师的引导下, 学生可独立或以小组讨论的方式完成相关任务, 教师定期检查任务完成情况, 形成“做中学”的教学模式, 让学生在实践中逐步理解模式的应用方法。在课程教学即将结束时, 要求学生演示并讲解自己的项目开发情况, 由任课教师和其他专业教师组成评定小组进行评分。
另外, 为进一步满足学生个性化学习的需要, 学院另外创建了两个学生创新创业实验室, 该实验室配置了服务器、网络、电源、桌椅、电视等基础设施, 学生自己可带计算机进入, 该实验室由学院制定管理规则, 学生自主管理、自主学习, 指导教师布置相关任务、定期进行指导与检查, 在适当的时候学院邀请部分企业教师对学生的项目进行点评。
四、营造学习环境, 促进自主学习
良好的学习环境能促进学生的学习, 学校建设了软件工程专业云教学平台, 采用虚拟桌面或虚拟应用两种策略在云端为每位师生分配个人专属虚拟实验机, 师生可随时随地联网上线。部署了智能移动学习系统 (i Cloud Class) 、ACM在线测评系统 (ACM Online Judge System) 等, 提供电子教材、教学视频、PPT课件、教学案例、实验项目等, 方便师生交流, 促进学生自主学习。
在教学软环境建设方面, 学院根据软件工程专业的特点, 通过课堂教学、课外分组练习、软件项目设计竞赛等方式, 逐渐形成一个以学生为中心的教学方法体系, 如开展软件项目设计竞赛, 提升学生学习专业的热情, 对于学生的优秀作品先由学生讲解软件设计思想和设计方法, 之后由教师组点评并渗透设计模式相关方法, 所有学生可以相互学习和探讨。
五、改革考试方式, 引入课堂和项目考核机制
在课程考核方面, 改革以知识考核为目的的传统考试方式, 配合研讨式教学方式, 实行课堂或项目考核, 变结果考核为过程考核。课堂考核主要内容为学生知识拾取与应用能力、分析解决问题能力、团队协作与沟通表达能力、创新能力等。项目考核主要内容为软件项目实施, 从项目需求、分析与设计、编码与实现、演示与答辩等方面进行评价。将学生平时回答问题、研讨式教学中的提问与答问、研讨式教学中的项目演示与答辩、学生对演示项目的互评分等以较大的比例计入课程总评分, 期末测试则只占课程分数的40%左右。这种方式有利于督促学生抓紧平时的学习, 脚踏实地地一步步提高专业技能, 同时也能在某种程度上保证研讨式教学的顺利开展。
六、结束语
本文从教学案例选取、教学方法改革、实践教学指导、学习环境建设、课程考核与评价方式等方面对软件设计模式课程教学进行了一定的探索并做了一些改革, 从学生上机实验结果、软件设计作品、参加国家计算机技术与软件专业技术考试等方面观察, 以上改革取得了一定的成效。鉴于课程内容本身的复杂性与抽象性, 今后需要继续在教学内容、教学方法和手段等方面进行探索并积极实践。
参考文献
[1]Erich G, Richard H, Ralph J, et al.李英军, 马晓星, 蔡敏等译.设计模式:可复用面向对象软件的基础[M].北京:机械工业出版社, 2004.
[2]蒋湘涛, 余绍军.“软件设计模式”课程教学研究[J].中国电力教育, 2011 (22) :77-78.
[3]罗锦坤.软件设计模式课程教学存在问题及其对策[J].广西民族师范学院学报, 2014, 31 (3) :55-57.
[4]李勇军, 余雨萍.《软件设计模式》课程教学过程设计[J].教育教学论坛, 2013 (04) :207-208.
[5]杨瑞龙, 朱征宇, 朱庆生.引入软件设计模式的面向对象程序设计教学方法[J].计算机教育, 2012 (10) :97-100.
《软件测试》课程教学改革设计 第8篇
软件测试员是软件行业主要的工作岗位。《软件测试》课程是软件技术专业的核心课程。随着项目化课程改革的深入, 该课程几经变革, 名称也从《软件工程 (2) 》、《软件测试工具与实践》、《软件测试》不断演变。笔者2011年初荣幸地得到华师大职研所付雪凌博士的亲自指导, 将基于工作过程的项目化教改引入该课程, 经课程团队努力建设, 于2010年被评为学院精品课程。下面围绕课程定位、 课程特色、教学方法与手段、教学环境与条件、课程的重点、难点及解决办法等方面介绍该课程的建设情况。
1课程定位
(1) 高职类软件专业就业定位。根据市场调研, 结合高职教育培养高素质技能型人才的总体目标, 高职软件专业的就业首岗定位为程序员、测试员、软件运维人员。
(2) 测试员职业岗位能力分析。熟悉测试阶段、测试流程、规划测试 (分配人力资源、设备资源、安排测试时间) ;熟练运用各种黑盒、白盒测试方法并设计测试用例; 熟练使用测试用例管理工具;熟练使用缺陷管理、跟踪工具;熟悉配置管理工具;熟练使用黑盒、白盒自动化测试工具原理;熟悉主流操作系统 (或手机操作系统) ;熟悉主流数据库;熟悉甚至熟练掌握一到两门高级编程语言 (C+ +、C#、Java等) ;熟悉一到两门脚本语言 (VBScript、 JavaScript、Perl、Python等) ;熟悉网络知识;精通所测软件产品的业务逻辑;良好的中外文沟通能力。
(3) 基于职业分析的课程定位。教学目标是让学生掌握软件测试的基本理论、技术和方法, 使教学对象具备软件测试的必备专业知识、技能和素养, 从而为成为软件测试工程师奠定必需的理论知识与实践基础。
(4) 与其它课程的关系。软件测试的前期课程主要有:软件工程、操作系统、数据结构、面向过程和面向对象程序设计、计算机网络基础、数据库设计及应用、Web项目开发等软件程序员必修的专业基础和专业课程。
其后续课程是《软件测试实训》, 引入CMMI3行业标准并通过一周的项目化实践将前期所学的知识贯通, 强化测试工具的使用。
2课程特色
(1) 学科建设。本课程设计是在华师大课程专家的指导下, 运用基于软件测试的典型工作过程理论, 突出项目化课程建设, 专业教师与软件企业工程师共同开发课程的模式。
(2) 课程设计以软件测试典型工作任务为基础。本课程立足于实际能力培养, 对课程内容的选择标准作了根本性改革, 打破了以知识传授为主要特征的传统学科课程模式, 建立起以软件开发典型工作任务为中心组织课程内容。现在的软件测试方法、工具种类繁多, 层出不穷, 但其软件测试过程基本相似, 都要经过测试需求分析、编制测试计划、设计测试用例和编写测试数据、搭建测试环境、执行测试、BUG管理、编写测试报告几个环节。根据CM- MI3的过程定义, 我们以测试计划编制、设计测试用例、搭建测试环境、执行测试和BUG管理、编写测试报告作为本课程的典型工作任务。
(3) 以学生情境学习和做中学为中心。按照情境学习理论的观点, 只有在实际情境中学生才可能获得真正的职业能力, 并获得理论认知水平的发展, 因此本课程要求打破纯粹讲述的教学方式, 实施项目教学以改变学与教的行为。这是教学模式的一个重大转变, 要有力地推动这一转变, 需要以项目为载体来组织课程内容。学生在完成具体项目的过程中构建相关理论知识, 并发展职业能力。软件测试是软件质量保证的最主要途径, 也是改进软件开发过程的重要途径。经过与软件企业专家深入、细致、系统的讨论分析, 结合学生的学习生活情境, 根据CMMI3的过程改进思想, 本课程最终确定了软件测试的6个典型环节, 即测试计划编制、设计测试用例、搭建测试环境、执行测试和BUG管理、编写测试报告。 同时选取两个企业的真实项目作为教学载体, 一个用于教学, 一个用于学生课后练习。课程内容以高职学生比较熟悉的企业网站测试为例, 突出对学生职业能力的训练, 理论知识的选取紧紧围绕工作任务进行, 同时充分考虑了高等职业教育对理论知识学习的需要, 并融合了相关职业资格证书 (软件评测师) 对知识、技能和态度的要求。
在项目课程设计中, 项目载体设计是一个关键环节。 本课程确定了以典型软件测试作为载体的项目设计思路。 根据软件外包产业的实际情况, 我们选择两个学生比较了解的软件产品, 以保证软件测试知识、技能的完整性。通过对典型软件测试过程的提炼, 学生可获得比较完整的软件测试能力。
3教学方法与手段
(1) 教学方法。教、学、做为一体的教学模式;多媒体教学;用企业实际成本核算资料作为教学素材;引进企业真实项目。
(2) 教学手段。和企业共同开发的多媒体教学软件; 课程网站。
4教学环境与条件
(1) 师资队伍结构。本课程教师中, 有3名来自企业的兼职教师, 具有丰富的实践经验, 专兼职教师比例为5: 3。整体“双师”结构优良, 双师比例达到87.5%;本课程教师分别来自全国不同的著名高校, 有良好的学历结构, 其中具有研究生学历或硕士以上学位的教师6人, 占75%。兼职教师能力强, 对该课程的开发和实施提供强大支撑, 详情见表1。
(2) 校内外实训条件。软件测试综合实训室;睿泰、软通动力测试冠名班;3个校外实训基地。
5课程重点、难点及解决办法
(1) 课程重点。软件测试课程重点:软件测试基础理论、软件测试策略、测试用例设计、自动化测试工具、较完整的测试项目实践, 以及软件测试过程管理和环境配置。
(2) 课程难点。包括单元测试技术、测试用例设计, 特定环境下使用测试工具对应用系统进行测试等。
(3) 解决方案。1理论讲解和实践体验“双管齐下”。 理论教学模式以精讲和透彻分析、问题导入、自主学习和集体讨论的形式进行;实践教学主要是通过贯彻两个层次的实践活动、项目综合测试等培育综合测试技能;2通过产学合作方式, 培养综合实践能力。引入真实测试项目, 以“商业化”的方式模拟签订测试项目合同, 并以教学的形式执行合同。
6结语
《软件测试》课程教学改革设计 第9篇
随着我国软件行业的不断发展成熟, 出现了越来越多的专业性的软件测试机构, 随之而来的是软件测试人才需求的急剧增加, 软件测试人才的培养也越来越受到重视。《软件测试》是培养软件测试人才的核心课程, 具有很强的理论性与实践性, 因此, 如何让学生能够熟练掌握软件测试的操作技能, 需要授课教师做出细致探索与研究。
二、软件测试教学目前存在的问题
高校开设软件测试课程的目的, 是培养学生掌握软件测试的基本理论和方法, 能够熟练使用常见的测试工具, 为学生将来从事实际软件测试工作打下坚实的理论基础和实践基础, 但是目前许多高校软件测试技术课程教学的效果并不是很理想, 在实际教学中存在的问题主要表现在以下几个方面:
(一) 学生对软件测试课程不够重视。
目前在学生中间存在着“重开发轻测试”的现象, 学生普遍认为从事软件开发最重要的掌握编程技术, 把过多的经历投入在程序设计课程的学习上, 认为软件测试只是简单的找出软件项目中的错误, 没有太大技术含量, 忽视了软件测试课程的重要性, 从而导致学习的积极性不高。
(二) 传统的教学方式无法激发学生的兴趣。
软件测试理论知识相对枯燥, 照本宣科地讲授过程单调乏味, 难以吸引学生的注意力, 学生缺乏对课程的感性认知, 无法有效地将所学的理论充分运用到实际应用中, 学习的主动性会逐渐下降。
(三) 理论课与实践课不能有效衔接。
实践教学在整个课程安排中占得比重较少, 在实际操作环节中, 学生很难将学到的理论知识应用到实际, 不利于实际动手能力的培养。
三、教学改进措施
(一) 创新教学方法和手段, 激发学习的积极性。
软件测试是软件工程的核心课程, 教学方式及教学模式要不断适应软件工程的发展需求, 要将理论教学和实践教学进行有效结合, 教材选取、教学内容安排必须与时俱进, 教学手段和教学方法也应该多样化, 可以采用类比教学法、比喻教学法、falsh动画及多媒体教学, 让课堂气氛变得活跃起来, 让原本枯燥乏味的理论知识变得生动有趣, 充分调动学生的积极性。
(二) 采用项目驱动方式, 加深理论知识的理解。
项目驱动就是把学生相对比较熟悉的软件工程项目贯穿于整个教学过程的始终, 学生在开发项目的过程中掌握理论知识和实际操作技能。按照软件工程的思想, 我们要求学生编写、整理出项目开发的所需文档, 制定测试计划设计测试用例等。由于学生熟悉项目系统的应用及业务流程, 通过实际经历一个项目的完整测试流程, 不仅使学生深入理解软件测试课程中的基本理论和概念, 初步掌握测试的基本技能和方法, 而且还大大提高了学生的学习兴趣。
(三) 重视实践环节, 提高实际操作技能。
软件测试课程来自于软件工程项目的开发实践经验, 与其他课程相比, 具有更强的实践性。如果仅用教材上的十多个上机实验无法让学生真正掌握软件测试的基本技术和技能, 所以在完成教材实验的基础上要补充一些专项实验和综合实验, 专项实验内容是与理论知识紧密联系的实验, 学生可以通过专项实验, 掌握黑盒测试、白盒测试的基本方法, 学会常见软件测试工具的使用。综合实验则选取学生设计的项目或者常见的系统软件作为测试对象, 要求学生制定测试计划, 合理选择测试策略, 正确设计测试用例。让学生亲身体验软件工程完整的测试过程, 培养学生的应用能力及分析问题解决问题的能力, 从而满足软件测试方向人才定位和市场的需求。
四、结束语
软件测试工程对软件测试职员的要求标准较高, 不仅要熟练掌握软件测试技术, 还要具备软件系统分析、软件系统设计的能力。软件测试课程是各高校软件工程专业近几年才开设中较新的课程, 软件测试人才培养刚刚起步, 本文结合院校实际, 教学内容、教学方法、实践环节等方面提出了探讨与研究, 使课程教学效率得以提高, 不仅让学生更好地掌握了理论知识, 也掌握了软件测试的方法和技术, 取得了较好的教学成效。
摘要:就目前高校软件测试教学中所存在的问题, 分析当下企业对软件测试人员的职业能力的要求, 并结合高校现有资源条件, 对软件测试课程的教学内容、教学方法、实践环节等方面进行了初步探索, 使学生的创新能力及实践能力有了大幅度提高。
关键词:软件测试,教学改革,案例教学
参考文献
[1]姜梦稚.软件测试课程的教学改革与研究[J].科技咨询, 2010, (22) .
[2]钱丽.以就业为导向的软件测试课程体系改革探析[J].科技咨询, 2010, (22) .
[3]华丽, 龚雄兴.软件测试课程教学模式改革与探索[J].计算机时代, 2013, (11) .
[4]丁智国, 吕振洪.软件测试课程实验教学探索[J].计算机教育, 2012, (3) .
软件课程设计 第10篇
关键词:软件工程,学习情境,任务驱动
1 设计思路
课程标准是对学生在经过一段时间的学习后应该具备的能力和素质的描述,是对应掌握什么和能做什么的界定和表述,是规定某一课程的性质、目标、内容、实施建议的教学纲领性文件。高职学院的《软件工程》课程服务于软件技术专业、计算机应用技术专业等计算机相关专业,是一门综合性和实践性很强的专业核心课程,也是其他一些计算机相关专业的专业课。
新疆农业职业技术学院是国家首批示范性职业技术学院,长期以来,学院积极深化教育教学改革,发扬“艰苦奋斗、开拓创新、自强不息、追求卓越”的精神,努力探索和创新农业高等职业教育办学思路和人才培养模式,构筑“双赢”机制,走出了一条独具特色的人才培养之路,得到了教育部、农业部、自治区党委和人民政府的肯定以及社会各界的普遍赞誉,其软件技术、计算机应用技术、计算机网络技术等专业就是在这样的大环境下发展起来的。
学院的软件技术专业基于职业岗位工作特点、学生认知规律、教学规律,采用“项目导向、工学交替”人才培养模式,坚持工学结合,实现做中学、学中做,不断提高学生的整体综合能力。高职《软件工程》课程标准按照软件开发的流程,依据专业岗位工作任务所需选取教学内容,依据岗位工作流程设计课程链路,以任务驱动组织教学,教学效果受到学生、社会和学校的普遍好评。
2 课程教学目标
根据培养高技能应用型人才的需要,本课程应使学生了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。学生应熟练掌握软件与软件工程基本概念和基本知识、熟练掌握生存周期与软件开发模式、掌握结构化程序设计的编程思想、面向对象分析、设计与编码方法、掌握有关软件的评审、测试与维护,项目计划与项目管理方法、能用软件工程的方法参与软件项目的分析、设计、实现和维护。同时,通过本课程的学习,使学生充分理解软件开发的流程,并能通过软件工程的知识和原理提高对软件的理解能力和分析设计能力;培养学生具有勤奋好学、积极向上的精神;对于新知识具有持续学习的能力。
3 教学内容的选取
职业教育的课程教学内容来源于工作岗位的需求,本课程教学团队深入企业一线调研,经过分析和论证,确定了课程的教学内容。(表1)
4 教学组织与实施
4.1 运行范式。
经过调研和论证,该课程的教学运行范式确定为“项目导入、任务驱动”,是指教师根据当前项目的需求设计并提出一系列任务,针对提出的任务,采取启发式教学,引导学生学到完成任务的思路、方法、操作和结果,再通过学生的训练,进行总结提高,最终达到教学目标的一种教学方法。其中的项目要求具有技术典型、内容全面、思路科学、结合实际,这样的项目才能使学生从整体体会解决实际问题的过程性,然后再通过任务将项目完成各个环节串联起来。该方法有利于真正培养学生的创新能力、自学能力、实践能力,增强学生独立思考能力和协作精神。(图1)
4.2 学时分配(表2)。
虽然,我们对教育教学模式的探索和改革从未停止,但人才培养质量的最终效果会落实到课程的实施上。高职《软件工程》课程标准是课程实施的基本依据,但是,一门课程的实施效果还与教学理念、师资队伍、教学条件、教学方法等因素密切相关,只有多种因素的密切配合,才有希望取得最优的教学效果。
参考文献
[1]吴隆升.高职院校课程标准及其制定的必要性[J].长春教育学院学报, 2011, (4) .
[2]贾长云, 朱敏.软件工程课程教学探讨与软件工程初步介绍[J].中国职业教育, 2004, (12) .
[3]刘强, 陈越等.“软件工程”课程教学实施方案[J].中国大学教学, 2011, (2) .
[4]陈云芳, 孙力娟.软件工程专业课程体系研究[J].高等工程教育研究, 2009, (2) .
软件课程设计 第11篇
摘 要:根据目前数字图像处理技术发展和数字图像处理课程的教学情况,为增强学生对理论知识的理解,本文介绍了基于VC++软件平台的数字图像处理课程教学辅助软件的设计和实现。该软件主要包括图像文件操作、图像变换、图像增强与复原、图像分割和数学形态学等理论知识,并提供一个良好的交互式平台,可以自由调整各种算法的参数,使学生在较短的时间内熟悉并掌握数字图像处理课程中讲述的各种算法和技术。
关键词:数字图像处理;教学软件;VC++
中图分类号:TP391.41-4 文献标识码:A 文章编号:1007-9599 (2013) 09-0000-02
1 引言
数字图像处理是指将利用计算机对二维图像信号进行采集、处理和分析的过程。数字图像处理课程是计算机视觉、模式识别和人工智能等专业的一门重要专业课程,涉及面广、实用性强。数字图像处理技术涉及的环节较多,主要包括图像采集、图像变换、图像增强与复原、图像分割等,每个图像处理环节的方法也多种多样,而且数字图像处理技术的基础理论和算法比较抽象,对于学生来说,在课内时间掌握数字图像处理课程的主要内容有一定难度。现在有大量的图像处理应用软件,如Photoshop,但这些软件多是面向广告设计、图像修饰处理的应用软件,不适合数字图像处理技术的基本知识和案例教学。
本文设计并实现了基于VC++开发环境下的数字图像处理课程的教学辅助软件,可以提供数字图像处理系统各处理环节相关算法实现过程的演示,形象生动地完成该课程的各教学单元的授课内容,较好地帮助学生熟悉并消化数字图像处理技术涉及的理论和技术方法。
2 教学辅助软件设计
VC++是在Windows平台下的专业软件开发平台,广泛用于各种软件的开发。MFC是Microsoft公司提供的一套类库,以C++类的形式封装了Windows的API,是一套面向对象的函数库,方便用户编程。MFC是Win API和C++的结合,提供了MFC AppWizard自动生成框架,利用MFC中提供的各种类,可以简单地构建一个应用程序框架。OpenCV是一个基于C/C++语言的开源图像处理函数库,包含实现图像处理和计算机视觉方面的很多通用算法[1],其代码具有很好的移植性。在安装好VC++的Windows系统下安装好OpenCV库,并对软件进行配置,在工程中配置好所需要包含的库文件的路径等,即可方便的调用OpenCV库中的函数。
2.1 软件设计总体结构
本文所设计的软件主要围绕数字图像处理课程的基本知识和图像处理技术涉及的各种方法进行架构的。软件基于MFC的AppWizard多文档应用程序框架,并结合OpenCV库中的一些图像处理函数和设备无关位图DIB的一些操作函数实现了多种图像处理功能,如图1所示。
2.2 软件功能设计与实现
数字图像处理技术包含很多环节,根据软件的总体架构,本软件主要设计了文件操作、图像变换、图像增强与复原、图像分割和数学形态学模块,每个模块还设计了不同功能块。各模块的图像处理功能均可以对读入的图像进行连续处理,本节展示了部分功能块的处理过程。
2.2.1 文件操作
文件操作模块能够实现对图像等文件的常规操作,如打开、保存、另存为、打印等功能。本软件主要处理BMP位图格式的灰度图像,通过此模块可将待处理的图像读入到内存,以供其他模块调用,用于进一步图像处理。对于图像处理的每个步骤所得的结果图像均可以单独显示,并可进行保存等操作。
2.2.2 图像变换
图像变换模块可以实现位图的几何变换和图像的点运算,如图像平移,水平镜像,垂直镜像,图像缩放,图像旋转,分段线性拉伸,图像反色,二值化,阈值变换,窗口变换等功能。图像变换过程中需要设定的参数可以通过弹出对话框的方式进行设定,完成人机交互。
图2为利用图像反色和图像阈值变换处理图像的效果展示,其中左侧图为原始lena图像,中间的图为对原始lena图像进行反色后得到的图像,右侧图为对原始lena图像进行阈值(参数值设为200)变换后的图像。
图1 数字图像处理教学辅助软件总体结构图
图2 图像变换处理示意图
2.2.3 图像增强与复原
图像增强与复原模块可以实现图像滤波、图像对比度增强、图像恢复等功能,如对图像添加噪声、图像平滑、直方图均衡化、图像锐化处理、傅里叶变换、低通滤波、高通滤波、小波变换等处理。在添加噪声可以选择高斯噪声或椒盐噪声,图像平滑可以选择3*3、5*5、7*7等不同大小的模板进行邻域平均处理和中值滤波处理。图像直方图均衡化可以将直方图分布不均的图像进行调整,使整幅图像视觉效果更好。图像锐化可以实现梯度锐化和拉普拉斯锐化,能够提高图像的对比度。低通滤波可实现理想低通滤波和巴特沃斯低通滤波,高通滤波可实现理想高通滤波和巴特沃斯高通滤波。傅里叶变换可以实现图像从空间域到频率域的变换,可以对图像进行一些频域处理后再进行反变换。小波变换可以将图像分解成一个低频概貌子图像和一系列高频细节子图像,在变换域对这些子图像进行处理后进行反变换可实现对原图的修改。
图3为利用噪声添加和邻域平均法的效果展示图,首先,读取原始lena图像(左侧图像),然后对原始lena图像添加高斯噪声(中间图像),最后利用邻域平均法( 窗口)对含噪图像进行平滑处理(右侧图像)。
图3 图像平滑处理示意图
图4为对图像进行傅里叶变换和低通滤波处理的效果展示图,左侧图像为一幅黑色正方形图像,中间图像为其傅里叶变换频谱图,右侧图像为进行理想低通滤波后的结果图。
图4 图像滤波处理示意图
2.2.4 图像分割
图像分割模块可以实现图像目标分割功能,如图像边缘检测和区域分割等处理。在图像边缘检测处理中,可以选择Roberts、Sobel、Prewitt、Laplacian和Canny算子进行边缘检测。区域分割处理中可以采用直方图阈值分割、自适应阈值分割和区域增长的方法,其中直方图阈值分割的阈值可以通过弹出对话框进行参数选择。除了上述功能外,此模块还可以完成边界跟踪、Hough直线检测等功能。边界跟踪模块可以实现对白色背景的二值图像中黑色目标的边界跟踪,对轮廓进行提取。Hough直线检测根据Hough变换点-线对偶性原理,利用OpenCV中Hough线变换函数,可实现标准Hough变换和累计统计概率Hough变换,将检测出的直线进行标注。
图5为图像边缘检测和直线检测示意图,其中左上图为原始图像,右上图为利用Roberts算子进行的边缘检测结果图,左下图为利用Canny算子进行的边缘检测结果图,右下图为利用Hough变换检测直线的结果图,检测出的直线标注成红色。
2.2.5 数学形态学
数学形态学模块可以对图像进行腐蚀、膨胀、开运算、闭运算,这四个运算是数学形态学的四个基本运算。数学形态学的基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的[1]。利用这些运算并结合图像分割模块可以实现图像的边缘检测与分割、特征提取、图像形状识别与修改等处理。此外,该模块还包含击中击不中和细化处理,利用击中击不中变换可以进行目标检测与定位。
图6为一个利用数学形态学进行膨胀的示意图。首先读入原始图像(左侧图像),然后对其进行二值化处理(中间图像),最后对二值化处理后的图像进行膨胀处理(右侧图像)。
图5 图像边缘检测及直线检测示意图
图6 数学形态学膨胀处理示意图
3 结束语
本文所介绍的数字图像处理课程教学辅助软件可以实现对图像的文件操作、图像变换、图像增强与复原、图像分割和数学形态学功能。本软件的开发可有效地展示数字图像处理课程中各种基本算法的实现过程和处理结果,有利于加深学生对该课程理论知识和实现技术的理解与掌握,能够提高该课程的教学效果。
参考文献:
[1]陈胜勇,刘胜等.基于opencv的计算机视觉技术实现[M].北京:科学出版社,2008.
[2]印月.基于VC++6.0的数字图像处理综合性设计实验[J].实验科学与技术,2011,Vol.9(3):10-11.
[3]黎宁,徐晓波,牛征.MATLAB平台下图像处理实验教学软件的实现[J].电气电子教学学报,2001,Vol.23(5):55-58.
[4]张华,展晓凯.基于VC++的数字图像处理系统的设计与实现[J].潍坊学院学报,2011,Vol.11(2):15-21.
[5]秦志远,张占睦,莫华.计算机图像处理可视化软件设计与实现[J].测绘学院学报,2001,Vol.18(1):33-35.
软件技术课程中智力三环游戏设计 第12篇
三个大圆环上随机分布着红、黄、蓝三种颜色的小圆,三种颜色的小圆都是24个。游戏玩者不仅可以通过点击每个大圆环上的顺时针/逆时针按钮,让小圆围绕大圆环的轨道进行顺时针/逆时针转动,还可以点击中间的顺时针/逆时针按钮,使被中间绿色虚拟圆环圈住的三组(九个)小圆在不同的大圆环之间进行120度的转动。游戏的玩法是通过点击按钮在四个轨道上任意转动小圆,最终将三种不同颜色的小圆分别转动到三个大圆环上。
该软件的使用流程图如图2所示:
1 设计任务
本软件采用面向对象的方法来设计,软件的设计任务可以分为以下四步。
1.1 构造数据结构
该游戏软件用自定义的Location类来描述每个小圆位置的属性和动作。Location类中有X,Y,和COLOR三个类成员,它们分别用来表示各个小圆位置的X坐标、Y坐标、和该点小圆的颜色值,并在类中实现了X取值(getx)、X赋值(setx)、Y取值(gety)、Y赋值(sety)、COLOR取值(getc)和COLOR赋值(setc)等六个类成员方法。
定义了Location类后,我们可以用一个Location对象来描述一个小圆位置点的信息。接下来我们用以下三句代码,将每个大圆环上的24个Location对象添加到一个List中。
这样,以后我们可以用List.get()的方法来直接存取各个大圆环上的小圆位置信息。
为了能记录玩者在游戏过程中所做的移动步骤,我们用数组int step[]=new int[1024]来记录玩者每次移动小圆时所点击的按钮。
1.2 构造小圆和大圆环
大圆环就是由小圆围绕而成的,所以我们只要能确定大圆环上各个小圆的坐标位置就可以画出大圆环。在本软件设计过程中,采用了cos,sin的画圆方法来确定小圆的坐标位置。坐标位置确定后,调用画圆函数绘制小圆。
1.3 构造按钮
用按钮构造方法给三个大圆环及中间的虚拟圆环分别添加一个顺时针旋转按钮和一个逆时针按钮,用来点击触发小圆的旋转事件。
1.4 事件响应
游戏软件最关键的部分是实时的事件响应。本软件设计过程中添加了以下两类类的事件响应:
1)对按钮点击事件的响应
点击任何一个旋转按钮后,都必须对该点击事件进行实时的响应。先对各个小圆的属性进行新的设置,再对整个图形进行刷新显示。
2)对菜单点击事件的响应
菜单上的事件响应有:开始游戏、游戏归位、自动演示、游戏说明和版权说明等五个事件。其中前三个事件都是对图形的实时操作,后两个事件是基于对话框的信息提示。
2 开发技术
本软件使用Java语言实现,是在Java Swing组件之上开发的。利用点击组件-产生事件-响应事件的过程完成游戏。响应具体使用到的Java包有:java.awt.*、javax.swing.*、java.awt.event.*、java.awt.event.*和java.util.*;使用到Java组件有:JFrame、JPanel、JMenu Bar、JMenu、JMenu Item、JOption Pane和JButton。
3 设计思想与实现过程
3.1 构造软件框架
本软件是在实现的。首先通过“public class sanhuan extends JFrame implements Action Listener”继承JFrame创建一个类sanhuan;然后通过JMenu Bar、JMenu和JMenu Item构建菜单项:
在最外层我们还通过int step[]=new int[1024]和int ii=0来建立一个整形数组和整形变量,它们分别用来记录玩者的游戏过程和玩者的游戏步骤数目。
3.2 构造JPanel组件
本软件的游戏画面是在JPanel组件上显示的,然后把JPanel添加在JFrame容器上。首先通过“class extends JPanel implements Action Listener”继承JPanel构造一个类draw。然后在类draw中完成以下内容:
3.3 给小圆位置初始化
每个小圆位置都是一个Location实例对象,所以为了按预期的图形界面显示出这些小圆,必须先对这些小圆位置进行初始化。我们为小圆位置的初始化自定义了一个initial()方法,该方法确定了每个小圆位置的圆心坐标和颜色。initial()方法中的关键部分是确定大圆环上的小圆位置的坐标,即几何画圆的问题。
3.4 主类的构造函数
类sanhuan是程序的主类,所有的组件都要通过主类的构造函数添加到JFrame上。在sanhuan()这个构造函数中,我们完成了添加组件、添加菜单消息响应、设置布局方式、调用intial()方法和显示JPanel功能。
3.5 响应菜单点击事件
该软件通过响应菜单项的事件可以完成游戏开始、设置游戏难度、游戏归位、游戏自动演示、玩法说明和游戏开发说明等功能。其中,设置游戏难度、游戏自动演示两个功能是比较有新意的。设置游戏难度将游戏分为高、中、低三级难度,它是通过程序,将大圆环随机转动60、40或20次所得到的。当然,也可以根据玩者的需要对游戏难度进行调整。游戏自动演示是先把玩者人为转动步骤和程序自动转动步骤记录在step[]数组中,当玩者需要自动演示时,程序根据数组内容执行逆操作,将圆环一步一步地转动到初始状态。这两个功能在后面详细介绍。
3.6 main函数
该软件将程序中的所有方法和动作都封装了起来,所以在main()方法中就仅仅通过程序主类的构造函数对主类sanhuan进行初始化调用:sanhuan f=new sanhuan()。
4 特征代码介绍
该软件中有四处设计比较巧妙的程序代码,分别是:显示大圆环时用到的几何画圆算法、响应按钮事件时用到的颜色循环赋值、菜单项中的设置游戏难度和菜单项中的自动演示功能。
4.1 几何画圆
在通过绘制小圆来显示大圆环时用到了该段代码。它的主要功能是在确定半径的条件下能精确求出大圆环上各个点的X坐标和Y坐标。相比其他的几何画圆算法,该算法简单而实用。下面用绘制第一个大圆环的例子来详细解释该段代码:
我们将大圆环划分成了24个小圆,这样,各个小圆之间的角度是15度,即π/12。用angle来记录从0到2π变化的角度,然后利用cos(angle)*半径=X坐标、sin(angle)*半径=Y坐标的几何原理求出24个点的坐标。
4.2 循环赋值
每个大圆环上的小圆,我们以水平逆时针方向起从0到23进行编号。在响应按钮时,我们要对每个大圆环上小圆位置上的颜色属性进行顺时针或逆时针的赋值。这就要求一种循环赋值的算法。下面以第一个大圆环逆时针循环赋值为例,详细说明该算法:
4.3 设置游戏难度
智力游戏软件的一个基本特点就是能设置游戏难度,从而适合不同年龄段的玩者。该软件是通过多次随机执行旋转大圆环,打乱小圆的分布来实现设置游戏难度的。初级难度是随机执行了20次旋转;中级难度是随机执行了40次旋转;高级难度是随机执行了60次旋转。当然在旋转的同时我们要记录下这些操作,以作为自动演示的基础。程序中采用了模拟按钮点击的方法(JButton.do Click())来实现大圆环的旋转。
4.4 游戏自动演示
一个好的游戏应该具有自动演示的功能,这样可以启发玩者并增强游戏的趣味性。该软件通过step[]数组记录了程序随机执行的步骤和玩者认为的步骤,然后根据step[]数组中的内容执行逆操作,这样就可以将游戏图形恢复到初始状态。即:若先前对一个大圆环执行了逆时针按钮操作,则现在对该圆环执行顺时针按钮操作;若先前对一个大圆环执行了顺时针按钮操作,则现在对该圆环执行逆时针按钮操作。这样,由后往前依次执行逆操作就可以恢复到初始状态。为了能让玩者清楚看到自动演示的步骤,在每一次操作之后,线程暂停一秒种。
5 存在问题和改进意见
该软件还存在一些问题。在打乱小圆布局时算法不够好,使得设置难度后的小圆分布看起来还是不够分散;算法不够高效,在设置游戏时会明显感觉到时间的延迟;作为一款游戏软件来要求的话,该软件的界面不够友好和美观,不能很好调起游戏者的兴趣。
该软件在以下几个方面可以继续改进:1)可以对每个小圆进行编号,游戏的玩法规则变为不仅要调整大圆环上小圆的颜色,还要调整小圆的序号,使其按递增或递减的顺利排列;2)可以在界面上给出玩者当前的游戏信息,如玩者已经走了多少步,游戏难度如何等;3)可以设置悔棋的事件响应,当玩者对以前的操作不满时,可以恢复到以前任意一步;4)可以保存每个玩者的信息和当前的状态,当玩者下次来玩时,可以接着上次的游戏状态继续游戏。
参考文献
[1]Joshua Bloce.Effective Java中文版[M].潘爱民,译.北京:机械工业出版社,2004.
[2]Bruce Eckel.Java编程思想[M].侯捷,译.北京:机械工业出版社出版社,2005.
软件课程设计范文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。