发布时间:2023-10-20 09:59:57
序言:写作是分享个人见解和探索未知领域的桥梁,我们为您精选了8篇的系统开发的方法样本,期待这些样本能够为您提供丰富的参考和启发,请尽情阅读。
随着微电子技术的发展和广泛应用,基于单片机上的系统开发,C语言作为一种高级的编程语言,越来越受到人们的关注。现在,无论是嵌入式系统开发企业还是电子设计竞赛、毕业设计等,一般都以C语言为主要开发工具。结合单片机的系统资源,用C语言开发符合实际工程需要的单片机系统,对于编程者来说就有重要的意义。
1.C在单片机教学中的地位
C语言作为一种结构化的程序设计语言,它是程序开发工具中使用最广泛一门编程语言。C语言具有很强的功能性、结构性、可移植性。用C语言编写程序比汇编更符合人们的思考习惯,程序开发者可以摆脱与硬件不必要的接触,更专心地考虑程序的功能和算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。由于它具有良好的程序结构,适用于模块化程序设计,因此采用C语言设计单片机应用系统程序时,采用结构化的、自顶向下、逐步求精的程序设计方法,将功能模块化,由不同的模块完成不同的功能。这样可使整个应用系统程序结构清晰,易于调试和维护。
2.单片机教学现状
单片机技术是现代电子工程领域一门飞速发展的技术,是现代电子技术中的一项不可缺少的重要技术。随着技术的不断进步和日益普及,单片机技术已渗透到各个领域,影响着我们的日常生活和工作。因此电子技术及相关专业的学生学习单片机技术越来越成为社会发展的需求。当前,各大高校的电子、计算机类专业均开设单片机课程。
《单片机》是我院电子系一门实践性极强的专业主干课程,是我校电子系重点建设课程之一,是本专业学生的必修课程。为了提高我系单片机教学效果,我们对单片机教学进行了大胆改革,使用C语言开发单片机,且课程的设计打破了学科体系的框架,将单片机和C语言的相关知识和技能按“项目”进行整合,并将《C程序设计》课程列为电子类专业核心基础课程之一。因此,《C程序设计》课程教学效果的好坏,将直接影响学生后续专业课程的学习。
从近几年我系《C程序设计》课程的教学效果来看,学生普遍反映该课程的学习比较困难,课程的语法知识较多,理解和记忆都不太容易,即使记住了语法知识也不能灵活应用;不知道学习C语言究竟有何用处,学完C后不能很好地利用C进行单片机小型系统的开发,缺乏知识的灵活应用能力。因此,根据以往单片机教学所得经验,我觉得教师有必要在《C程序设计》课程的教学过程中在以下几个方面引起足够的重视,并在教学中加以改进,为后续单片机课程的学习打下坚实的基础。
3.《C程序设计》课程教学方法探索
3.1上好每堂课,激发学生的学习兴趣
语言程序设计教学被认为是一种需要师生双方改进的一门课程,因为大多数语言教材中通常先给出一般的语法格式,然后逐步讲解语法要点,再给出实例。这种顺序灌输会使学生失去学习的兴趣,所以我认为在课堂教学环节应采取以学生为主体、以教师为主导的教学模式,要求学生自己先看有关知识点,并识记。教师采取精讲实例,在这过程中引出相关知识点,然后再举一类似实例让学生自己分析,巩固知识点。教师应把主要精力放在算法的分析和各语句语法的具体应用上,同时培养学生自学能力,采取互动机制,迫使学生主动学习。
3.2注重演示,强化实验,提高实践操作能力
因为授课对象是一年级新生,所以教师多用通俗易懂的语言进行讲解,多举实例,使学生容易理解和消化。在教学过程中,尽量采用讲解、演示方法,如在讲解经典算法后,按照理论方法所述,用DEV C++软件进行编程演示,从而加深学生对教学内容的理解。
在教学过程中,教师应将理论知识与实验内容进行整合,根据教学内容并结合实际应用设置实验题目,让每个学生独立完成。遇到学生不能解决的问题,教师应利用多媒体进行演示解决问题的过程,从而加深学生对教学内容的理解并提高实践操作能力。
3.3培养良好的编程风格
3.3.1优化程序
由于在许多工业测控领域中的嵌入式系统都采用单片机开发,它们所需要的计算和控制工作日趋复杂,其中软件的设计是最复杂和困难的,工作量大,特别是对于控制系统,设计人员需要考虑单片机的软硬件资源分配,但是单片机系统是一种资源十分有限的系统。这主要表现在CPU和片内结构简单、程序存储器资源的不足。因此在用C语言进行单片机开发时,如何使用好这些有限的资源就显得十分重要。虽然C语言具有许多的优点,但是生成的代码相对要长,基本多占用存储空间20%―50%。因而,在“C程序设计”课程教学中,教师不仅要教会学生如何编写程序,而且应在教学过程中向学生灌输优化代码的思想,让学生从大一开始就有开发项目的一些经验。
3.3.2合理选用数据类型
C语言在程序开发中提供了的丰富的数据类型,尤其是关于用户界面开发和一些动画与图像技术的实现。但是在开发单片机系统时,我们要按照实际需要,合理地选用数据类型。C语言中有Char等少数的数据类型是机器语言直接支持的数据类型,用此类数据类型的语句所生成的代码较短,而其它的数据类型如整型、浮点型等数据要有一定的内部程序或内部函数的支持,相对来说较复杂的数据类型的语句生成的代码也复杂,不利于转化成单片机的代码。因此,在“C程序设计“教学过程中,要向学生适当说明选择合适数据类型的好处,并尽可能地减少程序中使用的数据类型的种类,为以后学生的单片机学习打好基础。
3.3.3灌输模块化程序设计思想
在普通微型计算机上进行C语言程序开发设计时,只需考虑程序功能实现,而不必考虑程序代码的长短。但是在单片机上进行C语言程序设计就必须考虑系统的硬件资源,要求设计的软件程序结构是合理、紧凑和高效的。同一任务,有时用主程序完成是合理的,但有时需子程序效率最高,占用资源最少;有时并不是程序的算法越简单、长度越短越好,由于有一些算法要调用一些内部的子程序和函数,生成的机器代码质量反而较低。不同的算法对程序代码效率影响很大。因此,在进行“C程序设计”教学时,教师应适当向学生灌输模块化程序设计的思想,在不影响程序功能实现的情况下可以采用一些优化算法,并且把程序分成若干个功能独立的模块,为学生今后的单片机项目开发做好铺垫。
4.结语
单片机系统采用C语言开发与设计,极大地促进了单片机在生产、生活各个领域的应用,提高了程序开发效率。因而,C语言学习效果的好坏,对今后单片机课程的学习具有深远的影响。除了讲解C语言的基本语法外,更重要的是改善教学方法,利用各种方法培养学生的学习兴趣,并向学生灌输良好的编程风格与编程方法,为今后的单片机课程的学习打下良好的基础。
参考文献:
[1]向艳.“C程序设计”课程教学体系和模式探讨[J].计算机教育,2010,(3):112-114.
[2]董蕴宝,潘旭君.浅谈C语言在单片机中的程序设计[J].科技信息,2009,(13):59-67.
[3]张洪静.电类专业C语言教学探讨[J].电脑知识与技术,2010,(29):8280-8281.
[4]林益平,赵福建.单片机C语言课程教学的探索与实践[J].电气电子教学学报,2007,(2):104-106.
[5]石爱荣.C语言程序设计课程教学探析[J].警官教育认论坛,2007.2:158-160.
【关键词】开放式数控 实验教学 课程研究
【中图分类号】G424.31 【文献标识码】A 【文章编号】2095-3089(2015)11-0048-03
The Development of an Open CNC Experimental Teaching Platform
HAN De-dong, FU Yun-zhong, HAN Zhen-yu, LIU Jian-kang
(Mechanical Manufacturing and Automation Department, Harbin Institute of Technology, Harbin 150001, China)
【Abstract】To improve the teaching effect of practical course of numerical control technology, and to promote practical ability of students, an open CNC experimental teaching platform based on motion control card was developed combining important knowledge points in the course of numerical control technology. The developed teaching platform was applied in the teaching of practical course of numerical control technology and achieved good effect.
【Keywords】open CNC; experimental teaching; curriculum research
引言
改革开放以来,我国制造业已经取得了显著的成就,但是仍然处于工业现代化的进程中,与发达国家相比还有相当大差距[1]。数控技术是现代制造业的核心技术,是机械制造自动化的重要基础技术,数控机床的品种、水平和生产制造能力,直接反映一个国家工业的综合实力。现阶段我国国产数控机床基本以低档经济型和中档普及型数控机床为主,高档数控机床市场份额的70%~80%、数控系统(普及型、高级型)的90%都被发达国家占领[2]。我国数控技术专业人才的缺乏是导致该现状的主要原因之一,最新调查显示,我国数控工程技术人才严重不足,尤其是专业知识层次较高并且具备一定动手能力的高级工程技术人才更显紧缺[3]。
数控技术课程是本科教学中机械类专业必不可少的重要课程,是一门多学科交叉,涉及机械设计、机械制造、电工电子学、计算机程序设计、自动控制原理、力学等多门学科知识,是一门理论性和实践性要求都很高的课程。其中数控技术实践课对实现课程教学目标起着重要的作用,是学生掌握数控机床基本操作技能,了解数控机床的基本机构原理,熟悉现代CAD/CAM自动加工技术的应用方法和基本流程的有效途径。是培养学生理论联系实际、分析问题和解决问题的能力,以及启迪学生的创新思维、发掘其创新潜力的重要手段[3]。
由于数控技术课程的特殊性,目前本科学校对数控技术专业人才的培养,普遍缺乏一个系统的、全面的培养方案,虽然很多高校对数控技术课程教学模式进行了一系列改革和创新[4-7],但是仅仅停留在教学模式或授课方式的调整创新层面,对于具体的课程内容规划以及重要专业知识点如何在教学中体现,相关的研究则非常少。
本文针对数控技术课程中数控机床本体结构原理、电气系统原理、控制系统原理、G代码译码、插补原理、运动控制、人机界面等重点知识点的讲授问题,设计搭建了基于运动控制卡的开放式数控系统实验平台,编写了相应的教学用数控软件系统,并应用在数控实践课程教学中。
一、数控实验平台硬件系统设计
1.机床本体结构设计
传统数控技术实验教学中,大多使用商业数控机床演示给学生看,但是商业数控机床机械结构大都有保护外壳,学生无法观看其内部结构组成,所以为了将数控机床机械结构展现给学生,本文自行设计了数控机床的机械本体。学生可以从对机床机械本体的参观和学习中,学习到数控机床坐标系的设置、工作台驱动原理、进给轴限位和回原点原理等基础知识。
数控实验平台机床机械本体采用传统三轴铣床结构,XY轴工作台采用双座标工作台,Z轴工作台采用单轴工作台,每个轴都对应安装了限位开关和原点开关。工作台工作行程150mm,滚珠丝杠导程4mm。工作台滚珠丝杠与伺服电机之间采用联轴器连接。
2. 电气系统设计
PC机和数控系统的结合使数控技术有了很大的发展,给数控系统提供了更多的软件工具和硬件资源,目前基于PC的开放式数控系统的主流结构形式主要有以下几种:PC嵌入NC板卡、NC板卡嵌入PC、PC+SoftCNC。由于本实验平台主要用于本科生和研究生的数控技术实验教学,可以让学生认识并实际编程实现数控系统特定功能,所以开发的实验平台复杂程度要易于教学,还应该保证平台安全可靠防止学生在做实验时造成事故。结合这些因素,对上述三种结构进行了对比分析,认为“NC板卡+PC”结构更适合用来开发实验平台,所以本文选用运动控制卡和普通PC机来搭建实验平台的控制系统。实验平台电气系统结构如图1所示。
图1 电气系统框架图
通过实际对实验平台电气系统的接线练习,学生可以真实地了解到数控系统的控制系统和电机驱动系统的结构组成,从而对数控系统控制信号的产生到执行这一过程有了一个直观的认识,同时锻炼了学生的动手能力。
二、实验平台数控系统软件设计
传统数控实验课程中,多使用校友或企业捐赠的老旧数控机床作为实验平台,使用FANUC、西门子或华中数控等商业数控系统,由于商业数控系统的封闭性,只能教学生学习怎样使用数控系统,而不能对数控系统底层的基本原理进行实验教学。针对这一问题,本文开发了基于运动控制卡的数控实验平台控制系统,从而使学生可以从源代码级别学习了解数控系统程序原理,更加深刻地理解NC代码译码、刀具补偿、插补原理、运动控制等数控系统课程的关键知识点。通过基本算法的编程实验,培养学生的程序思维,在程序编写中培养发现问题,解决问题的能力。
1. NC代码译码模块开发
NC代码的译码是数控系统的关键技术之一,在NC代码译码模块中将涉及到译码方式、代码格式、译码具体流程、错误诊断、刀具长度/半径补偿、机床坐标系、系统参数等数控系统关键知识。本文以模块的开放性为指导思想对该模块进行开发,以便于学生理解和修改,使学生可以将新的G代码指令、新的刀具补偿算法等新功能添加到模块中去,提高模块的可维护性和升级性。
NC代码的译码方式主要有两种模式:解释型和编译型。解释型译码模式实时地逐行翻译、执行G代码,具体流程为译码器翻译完成当前行G代码后将得到的刀具路径信息送去执行,然后再进行下一条G代码的译码,如图2所示;编译型译码模式译码器接受G代码文件后,依次对其每一行进行翻译处理直到文件末尾,最后生成一系列执行步,再经刀具补偿的统一处理后,生成最终的一系列执行步并传递给相应模块进行执行,如图3所示。
图2 解释型译码模式
图3 编译型译码模式
解释类型译码模式下,如果上一运动段已执行完毕,但是当前段还停留在译码阶段,则会破坏加工的连续性,这就要求系统必须有很强的实时性。编译类型译码模式下,译码与任务执行是两个独立的任务,有明确的先后顺序,所以译码是一个非实时的任务,由于本文使用的运动控制卡提供了连续插补功能,编译型更适合本课题的译码任务。
译码模块逐条读取NC代码文件,进行信息提取,并将提取到的信息压入缓存中,其信息提取流程图如图4所示。首先去掉当前行的所有空格,并进行大小写字母转化处理,从而得到格式统一的便于读取的新代码行,然后初始化信息存储结构体,为信息存储做准备。下一步是按顺序读取各个由地址符和地址值组成的功能字[4,2],首先读取当前行号,即“n”的读取,行号读取结束后,根据函数指针数组和字地址的ASCII码值,调用对应的读取函数,完成功能字的读取,比如接下来的字母为“x”,则调用函数read_x()来读取该功能字,如此按行号依次执行,直到NC代码文件末尾,将读取信息存储到block结构体中,整个过程伴随着错误诊断。
图4 信息提取流程图
2.刀具补偿模块开发
刀具半径补偿和长度补偿功能不仅解决了使用不同的刀具加工同一工件、刀具磨损等问题,而且方便了按照工件坐标系编制的NC程序的处理执行,可以大大提高编程效率和加工效率,所以刀具补偿功能是数控技术课程中的一个重要知识点。为了让学生更好地理解刀具补偿功能的基本原理和实现方法,本文开发了针对刀具半径补偿的刀具补偿模块。
对当前运动段进行半径补偿时,需要用到下一运动段的信息,二者共同决定了补偿的转接类型。如图5所示,首先从队列中提取相邻两个运动段分别放入缓存器R1、R2中,刀补函数参考R2中运动段对R1中当前运动段进行刀补处理,根据转接类型,求解转接节点坐标,生成新的执行步并压入处理后队列尾端,然后再将缓存器R2中的运动段移入缓存器R1中,如此循环直到运动段队列末尾。
图5 刀具半径补偿的实现方法
3.人机界面的开发
人机界面是将数控系统各个模块连接起来的桥梁,是用户与数控系统信息交互的窗口,是学生学习过程中感受最为直观的模块,为了锻炼学生的编程能力,提高学生对课程的学习兴趣,本文将数控系统各个模块的程序接口都开放出来,使学生可以利用MFC等工具自行编写人机界面,从而实现数控系统的控制。本文开发的人机界面如图6所示。
图6 数控系统人机界面
三、结语
本文紧密结合我国制造业在学校教学过程中的实际需要,对数控技术课程具体教学内容在实践课程中的体现方式进行了研究,开发了基于运动控制卡的数控系统实验教学平台,不仅实现了教学模式的创新,更深入到教学内容层面,将数控技术重要知识点在本文开发的实验平台上实际展现出来,给学生创造了主动参与、自主协作、探索创新的机会,提高了学生的学习兴趣,锻炼了学生的动手、动脑的能力,取得了良好的教学效果。
参考文献:
[1] 盛斌, 魏方. 中国制造2025[J]. 中国海关, 2014, 8: 053.
[2] 赵秋艳. 2014年数控机床需高端发力稳固中端[J]. 装备制造, 2014, 4: 048.
[3] 郑德星. 高校本科数控技术教学改革探索[J]. 考试周刊, 2012 (46): 128-129.
[4] 张绍杰. 项目教学法在数控教学中的应用[J]. 山东工业技术, 2014, 18: 217.
[5] 党寅生. 数控车一体化教学方法的应用探讨[J]. 中国机械, 2015 (2).
关键词:变电仿真、仿真培训系统、管理探析
中图分类号:TM63 文献标识码:A
变电仿真培训系统是适应电力发展的必然要求, 这种培训系统有助于提高变电运行人员的技术水平, 为确保电力企业安全生产起到极为重要的作用。仿真培训系统的开发与管理一定要做好, 既要功能完善、灵活、实用,又要具有一定的先进性, 同时要满足电网培训的需要。
一、以沈阳供电公司为例,阐述变电仿真培训的必要性
沈阳供电公司为经济发达,发展迅速的省会城市,2013年截止到10月份总送电量为221.42亿千瓦时,在全省排名第一,公司所属变电站277座,其中220千伏变电站21座,66千伏变电站256座,变电总容量为1962.26万千伏安,变电系统职工总人数约五百人。
各种技术培训活动应该在对变电运行人员中进行,最为有效的方法就是仿真培训。它是借助物理模拟技术与计算机技术,给受训者提供一个近似的变电站工作平台和作业环境,使受训者能在有限时间里,获得比传统培训方法更好的效果。变电仿真培训系统可以为变电运行人员提供逼真的变电站真实环境,解决了变电站无法动手,无法从以前的事故教训中吸取经验教训的问题。通过对员工技能的培训,达到提高变电运行人员的运行操作素质,增强其安全运行能力的目的,从而适应日趋发展变化的电网建设。
二、变电仿真培训系统培训流程
企业培训的流程见图:
变电仿真培训系统培训流程也不例外,其培训内容在技能培训范围内由变电仿真站根据预培训时间及受培单位要求拟定,并征求委培单位的修改意见,最后根据相应岗位、等级的岗位培训与考核标准确定教学计划。教学模式采用讲、练相结合的办法。首先由教练在多媒体教室进行教学内容讲解和演练,然后由辅导教练在多媒体教室辅导学员进行练习,同时教练、助理教练辅导学员上仿真机操作。考试采用考察及最后笔试形式,考察在平时上仿真机练习过程中完成,笔试成绩为本期教学内容完成后进行笔试考试,总成绩为考察与考试成绩的平均值。根据学员的反馈意见,对培训内容、方式等作进一步修改与完善。
三、现阶段各种仿真系统存在的局限性
1、局限于针对性相对较弱。采用物理模拟的仿真站限制受硬件建造的影响,对于变电站场景或界面来说只能是一个相对典型的形式,采用虚拟变电站环境的仿真站只是其中一部分,有限的能力使变电站无法具有灵活配置基础,真正面对的作业对象之间存在很大差异,使变电站运行人员与仿真环境很难同步,因而在事故处理的训练与倒闸操作运行时,受训人员受到很大限制。
2、事故仿真能力是有限的。实际工作中事故形态在变电站中是复杂多样的。如果事故发生时,除了产生断路器跳闸及相应的声、光信号动作外,恶劣情况爆炸、燃烧、浓烟、设备损毁甚至人员伤亡也有可能出现,对于现有仿真系统通常只能模拟前者,而后者的模拟能力是接近于零。
3、仿真能力不足出现的异常情况。在变电站的日常运行工作中,概率远比事故高得多的常态是异常情况的发生,实际上,复杂的异常清况,高于一般的事故判断和处理的难度。成为变电站运行人员能力、素质、技术水平的真正挑战是其频繁、多发、随机的特点。这些事件的仿真能力明显不足是现有仿真系统的短板。
4、变电站运行方式与仿真培训模式的冲突。需要接受培训的人员脱产一段时间是现有仿真培训模式的需要。限制是由于仿真站的布点影响,易地进行也是常态。措施的推行是由于变电站运行工作具有连续性的特点,以及少人值班、减人增效等因素,使脱产培训的安排日益困难。
5、有待提高现有仿真培训的方式方法。密不可分的仿真培训质量、仿真设备配置、培训方法等,一般根据初次培训与复审两大类进行培训,是目前的仿真培训站培训的形势,不同层次的运行人员培训内容却都大致雷同,缺乏一定的针对性,受训人员的积极性很难被提高。
四、在现有条件的基础上提高仿真培训水平的方法
1、诊断学员错误,采取纠正措施并分析原因。在进行培训倒闸操作时,每一步操作都在仿真培训系统中与标准操作进行对比,判断学员的学习问题,判断是否有操作错误,分析操作顺序如果不对可能是操作错误,提示当前应该操作哪个设备,是不是违反了五防。在进行巡视培训时,学员巡视过的巡视点被仿真培训系统准确记录下来,并判断学员在巡视点状态是否正确。在学员处理事故时,监视学员操作也是仿真培训系统要做的,给学员操作处理给出指导。
2、调整学习内容和进度,根据学员的水平与学习情况选择。例如,培训初期,对仿真环境不熟悉与学员知识水平的限制,操作若严格按操作票校验,那就很难完成培训任务。由易到难分为几个培训级别,是有些系统根据实际情况将倒闸操作培训划分的,引导学员循序渐进地学习。
3、生成解答与自动解决问题。操作票专家系统,根据系统所要求的操作任务与当前状态,操作票被自动生成,作为了标准答案,用于校验学员操作是否正确,在倒闸操作培训中。处理指导专家与故障诊断系统,根据系统当前故障后的现象,生成指导学员如何由故障现象诊断故障元件、确定故障元件后如何处理故障的报告。
4、学员的学习行为被评价。操作培训结束后,根据学员所犯的操作错误与事先确定的操作评分原则,对其操作进行评分。在巡视培训后,根据学员对巡视点的误判、漏判与巡视评分原则等情况,进行巡视评分。
5、各种问题与练习被自动生成。突发事件有时自动生成。在学员培训过程中,仿真系统如果自动生成一些突发事件、异常事件、故障而增加培训的难度。那么自动生成技术问答试卷,任意抽取试题,生成试卷在系统题库中生成,这样减轻教员负担并且提高培训效率。
五、阐述变电仿真培训系统的保证措施
1、确保培训正常进行的管理体系,培训基地为保证培训质量、规范办班程序,建立了一整套完善的培训管理制度,包括变电仿真站管理制度、培训教师职责、学员管理制度等。
2、充分发挥兼职教师作用,在培训期间充分发挥专兼职教师的作用,除仿真培训专职教师讲课外,根据生产实际情况,从变电站聘请2名经验丰富的站长担任兼职教师,使仿真培训更具有实效性和针对性。加强对仿真培训教师的培训,将专兼职教师送出去参加仿真培训教师资格培训,并取得资格证书通过对兼职教师的培训认证,从而提高培训者的综合素质。
六、变电仿真培训系统发展展望
由于变电仿真培训系统毕竟有别于实际变电运行系统,所以只用把变电运行实际系统的保护逻辑关系通过声光图形信号等表示出来就可以完成实训的各种内容,未来发展中,完全可以把变电仿真培训系统开发成像堆砌积木一样的组态形式,这样就可以随机组合成任意运行方式的变电运行系统,使之与实际更加相近,同时各组态模块之间的接驳形式也可考虑设计为标准触片或插拔件,使之安装更加简单,而传输形式可以考虑无线传输。通过硬件的仿真度的提高,也直接影响到软仿真系统的设计与模拟。变电仿真培训系统将来也不仅为培训提供方便,也为变电站的设计提供实验模板。
总之,变电运行仿真培训,是在借助计算机和物理模拟技术的帮助下,为参训人员提供一个模拟变电站工作环境的平台,使之能将平时学到的理论知识结合实际操作,得到更加有效的水平和技能提高的培训手段,是我们在进行学校授课,单位培训,业务考核等工作时最为有效的手段和方法。我们必须对变电仿真培训现状有一个清醒的认识,在硬件条件无法达到最好的前提下,研究出一套切合实际,行之有效的培训计划和方案。
参考文献:
[1].张东英.基于网络系统的变电站仿真培训.[J].电力系统自动化.2011.
[2].王兆安.变电仿真系统培训的意义.[J].中国电力.2012
作者简介:
论文摘要:access数据库课程的学习需要学生有一个整体架构思想,这就要求学生能够充分理解数据库中的每一个对象及对象之间的关系,本文就是给学生提供一种学习access数据库课程的方法,培养学生通过团队来搭建系统的思想和逻辑思维能力。
引言
数据库与程序设计课程现在已经成为很多高校普遍开设的一门课程,同时数据库与程序设计也是计算机等级二级考试的内容。access数据库是microsoft office办公自动化软件中的一个组件,能够很好的实现与office的无缝连接。同时,access是一门理论性和实践性都很强的面向实际应用的课程。针对目前社会对高校信息人才培养的要求,对这门课程的教学,应该不断地探索新的教学手段与教学模式,才能调动学生的学习兴趣,有效地提高教学质量。
1 系统开发方法概述
系统开发方法就是用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化,自顶向下地对系统进行分析与设计。具体来说,就是先将整个信息系统开发过程划分出若干个相对独立的阶段,如系统规划、系统分析、系统设计、系统实施等。在前三个阶段坚持自顶向下地对系统进行结构化划分,在系统调查或理顺管理业务时,应从最顶层的管理业务入手,逐层深入至最基层。在系统分析、提出新系统万案和系统设计时,应从宏观整体入手,先考虑系统整体的优化,然后再考虑局部的优化问题。在系统实施阶段,则应坚持自底向上地逐步实施。也就是说,组织力量从最基层底模块做起(编程),然后按照系统设计的结构,将模块一个个拼接到一起进行调试,自底向上、逐渐地构成整体系统。
2 系统开发式教学方法
系统开发式教学法是教师通过一个完整的系统,结合系统开发的思想,给学生讲解知识的教学活动。系统教学中的系统是一个整体的思想,它是由很多具体的对象所构成,在日常的教学中通过对一个个对象的讲解,最终架构一个完整的系统。通过整个系统的架构过程,给学生一个学习access数据库的思想、想法。
系统开发式教学方法时针对某个教学内容而设计的、能由学生分组完成、可以收到良好教学效果的任务,并且这个任务由多个子任务组成,它以学生为主体、教师为辅助,以学生在实践中发现知识、解决问题、提高技能为根本。
3 系统开发式教学方法在教学中的应用
系统开发式教学法非常适合access课程的教学,教师可要求学生根据实际需求完成一个数据库系统的设计与实现,如学生信息管理系统、图书管理系统、学生成绩管理系统等。本文以“学生信息管理系统”为例来讲解系统开发方的思想。
在“学生信息管理系统”中涉及到access数据库中7个对象中的6个,即表、查询、窗体、报表、宏基模块。该系统有如下子模块构成:登录模块、学生信息录入模块、学生信息浏览、学生信息查询模块、学生信息修改、删除模块、学生信息汇总和分析模块。在教学中通过对这些功能模块的演示,让学生了解其中所涉及的对象,在大脑中形成一种概念,明确自己的学习目标,从而在日常的学习中目标明确。
根据上面的分析,学生明白本系统需要用到的对象都有哪些,然后从建立数据库、建立数据表开始,逐个讲解每一给对象,最后形成一个完整的系统。期末考评时,根据学生的日常学习情况对学生进行分组,指定一个小组负责人,分工合作来完成一个系统的设计过程。
作业要求创建一个学生成绩管理系统,能实现下列功能:用户管理:用于对用户的添加,赋予用户不同权限及对用户信息的修改和查询;课程管理:用于对各学期开设课程的修改;成绩管理:用于对成绩的输入、修改、汇总及排名;学生信息管理:添加、删除、修改学生信息等;授课信息管理:对授课教师、课程号、学时数、班级等信息的添加、维护等;学生信息查询:对学生成绩等信息的查询,查询时可设置为模糊查询,也可设置为多条件组合查询;学生成绩统计:统计相应课程的总分、平均分等信息。根据不同的功能,笔者把学生成绩管理系统分解成几个实用的小系统:学生、课程、授课、成绩信息的添加、修改、删除系统;对相关信息的查询系统;用户登录系统;管理员登录系统;学生成绩的统计、汇总等系统。根据每个小系统所涉及的内容形成系统教学计划。教学计划有可能使教材的同一个内容分布在多个不同的小系统中,为此可以按先易后难的原则,系统用到什么就先学什么,对系统逐步完善,充分激发学生的求知欲。接着把全班学生分组,有组长负责给组员分派任务,培养学生小组协作和团队精神。
4 access数据库课程系统教学法实施建议
由于学生对系统设计并不熟悉,所以在系统开发式之前,先给他们演示用access开发的系统,使他们对系统有明确的目标和感性认知,知道实施该系统要解决哪些问题,关键在哪里,同时激发了学生的兴趣。教师在系统实施前,要对新知识中的重点内容进行讲解,其过程应该精练,最好通过简单的例子用操作演示完成,让学生更容易理解、接受。让学生在完成系统的过程中发现知识、解决问题、提高技能。
系统实施过程中对学生遇到的困难,教师应及时给予指导,以确保学生能顺利完成系统并增强学习兴趣。另外,教师一定要把握好指导的尺度,尽可能对其进行启发性、提示性的指导。在系统实施过程中及时发现学生的闪光点,给予肯定,激发学生学习的积极性。在系统开发式教学法教学过程中,学生在每一个小系统中获得的成功,使他们不断地获得成就感,从而更大地激发求知欲,培养其独立探索、勇于开拓进取的精神。
5 结束语
系统开发式教学法是一种比较有效的教学方法,它把理论教学与实践教学有机地结合起来,大大提高了学生学习的积极性和主动性,充分挖掘了学生的创造潜能,全面培养了学生分析问题和解决问题的能力。在系统教学中,师生注重的不是最终的结果,而是完成系统的过程。既体现了教师的主导作用,又发挥了学生的主体作用,更体现了职业教育的教学模式与特征,对计算机教学非常实用。
参考文献:
关键词:征地移民,系统开发 ,信息系统管理分析方法
Abstract: the information system management analysis method is a kind of enterprise in the development software (or system), the user needs analysis of a kind of high efficient intuitive method. Through the analysis method of requirement analysis, the software engineer can directly through a series of chart the further understanding of land expropriation of professional work contents and immigration design personnel through the software development need to improve and goal, so as to improve the efficiency of the demand analysis and has achieved good effect. This paper in guangdong province water power survey design institute for research using this analysis method for water conservancy and hydropower engineering construction land expropriation resettlement planning aided design system development for the example, profile information system management analysis methods of the content and application situation.
Keywords: land expropriation immigration, system development, information system management analysis method
中图分类号: TN948.61 文献标识码:A 文章编号:
信息系统管理分析方法的简介
信息系统管理分析方法(Information System and Management)是一种企业在开发工作软件(或系统)时,进行用户需求分析的一种高效直观的方法。与传统的需求分析方法相比,它使得软件工程师能在短时间内了解和掌握不同客户的工作性质、特点和流程,改变了以往软件工程师需要花费大量时间与客户开会讨论方案、参与客户实际工作的时间;同时,它使得各种数据之间的关联具体化,避免了开发中数据的混乱。
其目的是将工作目标、内容进行分析、分解和建模,通过绘制不同的关系图表,建立模型;将用户的需求系统直观地反映给软件开发人员。
现在,设计人员采用其中的目标关系图(Goal Graph)和工作物件关系图(Business Objects Graph)对征地移民专业的工作进行需求分析和建模。
1.1 目标关系图(Goal Graph)
目标关系图是将工作目标逐层分解的分析方法,通过将工作总目标分解为多个子目标,再将子目标分解为若干个孙目标的方法,建立工作目标模型,并从该模型中确定需要改进的地方。而这些目标可以是具体的,例如“今年企业要节省30%的成本”、“增加50%的销售额”;也可以是抽象的,如“提高工作效率”、“实现环保”等。
例如图1中,企业的总目标是“提高设计院的设计水平”,为达到这个总目标,企业可以由“聘请优秀人才”和“提高设计效率”两个子目标完成,而“提高设计效率”这个子目标也可进一步分解为“开发计算机辅助设计软件”和“进行设计人员的技术培训”等孙目标。而通过这样的建模,设计人员可以轻易找到工作中需要改进的具体目标。
图1 目标关系图
1.2 工作物件关系图(Business Objects Graph)
工作物件关系图是通过绘制图表的方法,将所用工作物件(Business Objects)之间的关系反映出来,告知软件开发人员不同工作物件(或数据)在软件系统中的关联关系。工作物件可以是工作流程中的人、工具或者某个部门。例如:在煤气公司可以将抄表员、煤气表、煤气表读数、账单、财务部门、客服部门等作为工作物件,并按照不同的工作流程将它们关联起来。在征地移民设计工作中,设计人员也可以把常用的表格、人员作为工作物件。
图2 工作物件关系图
图2中“人口调查表”表示工作物件,“输入到1,n”、“获取于1,1”表示两个物件之间的逻辑关系和数量关系。例如图2中两个工作物件(即工作中使用的图表)的关系为:①从左到右:多个(用1,n表示)“人口调查表”的数据需输入到1个(用1,1表示)“实物调查成果汇总表”中;②从右到左:1个 “实物调查成果汇总表”中的数据获取于多个“人口调查表”。
2 征地移民安置规划辅助设计系统开发中的应用
2.1 需求分析
广东省水利电力勘测设计研究院在征地移民安置规划辅助设计系统开发中的需求分析是通过运用信息系统管理分析方法实现的。其中主要运用了前述的目标关系图和工作物件关系图对征地移民专业的工作进行需求分析和建模。
2.1.1 目标关系图的运用和分析成果
Abstract: Development is for improving the efficiency and reducing errors of garment automatic cutting system. It analysed the problems of using garment automatic cutting system, designed the data structure of pattern, designed the optimization algorithm of sorting, and illustrated the method that set up knife-start point.System has been tested by factory, realizing the target to reduce air travel, improve cutting efficiency and reduce costs.
关键词: 服装;计算机应用;路径优化;路径仿真;算法
Key words: garment;computer applications;path optimization;path simulation;algorithm
中图分类号:TP273文献标识码:A文章编号:1006-4311(2010)05-0117-02
0引言
服装自动裁剪系统实际上是计算机数字控制(CNC)加工机床(或称为CAM,俗称电脑裁床),在计算机的控制下,裁刀按裁剪指令进行布料的裁剪。裁剪数据文件是由CAD(计算机辅助设计)系统在排料图的基础上自动生成的用于控制裁刀进行工作的裁剪指令的集合。
随着服装行业的发展,服装自动裁剪系统的普及率日渐提高,目前我国大约有500多家服装企业使用大约十几个国内外厂商推出的自动裁剪系统,如:美国格柏(GERBER)、法国的力克(Lectra)、加拿大的派特(PAD)、日本的川上(Kawakami)、高鸟(Takatori)、岛精(Shima Seiki)、德国艾斯特(Assyst),以及我国的和鹰等。其中,美国格柏的服装自动裁剪系统在八十年代初期就已进入中国市场,在国内已有大量的用户。
际华三五零二职业装有限公司早在1996就已引进了国外单层的、多层的服装自动裁剪系统多套,对提高产品质量和企业经济效益,提高企业的自动化水平起到了很大的作用。
1裁剪路径优化的要求
使用服装自动裁剪系统进行裁剪具有效率高、精度高的优点,但若处理不当也容易出现问题,这就需要在正式裁剪之前进行优化处理,以提高效率、防止裁剪错误发生。由于电脑裁剪指令是在使用服装CAD系统设计的排料图的基础上生成的,在样片排料时,设计人员根据节省面料的要求而排列样片,由于排料的规则与自动裁剪系统的裁剪规则有差异,导致在排料图中样片的排列与裁剪路径缺乏一致性,使得在电脑裁剪加工过程中空行程过大,效率降低。若不对裁剪路径进行处理,难免在裁剪的过程中容易产生一些问题,主要表现在:①裁片的排列顺序的顺序不规则,容易造成空行程过大,使裁床效率降低;②有的起刀点部位不合适,容易损伤衣片;③共线部位重复裁剪,造成毛边和浪费行程;④对称裁片单向走刀,造成衣片的歪斜等。
裁剪路径优化与仿真系统就是自动裁剪系统之前的一个辅助准备系统,主要作用是重新优化调整样片的顺序,下刀、走刀的位置,在正式裁剪之前对裁剪路径和裁剪顺序进行模拟,以便检查,防止出现裁剪错误,造成损失。
2系统的总体设计
裁剪路径优化与仿真系统由以下几部分组成:与CAD/CAM的接口技术、样片优化排序[1,2]、起刀位置优化、特殊样片的处理、样片重叠检测、裁剪路径仿真[3,4,5]等。
2.1 与CAD/CAM的接口技术用于读取由CAD系统生成的排料图文件,以便于进一步进行优化处理,见图1。
2.2 样片优化排序。按照减少空行程的原则,排列样片裁剪时的先后顺序。
2.3 起刀位置优化因为裁刀有一定的宽度和厚度,为了防止损伤邻近的样片,需要检查各样片的起刀位置,若对其它的样片有影响,就需要调整起刀位置。
2.4 特殊样片的处理特殊样片指的是对称样片、矩形组等,要进行特殊的处理,对称样片需要双向裁剪,矩形组共线部分要修改为只裁剪一次。
2.5 样片重叠检测在排料时若有样片重叠,在裁剪时有可能造成样片的损坏,对此必须进行检测。
2.6 裁剪路径仿真动态的模拟显示裁剪路径,便于正式裁剪之前的检查。
3关键技术的实现
3.1 样片的数据结构设计排料图是由若干个独立的样片(见图2)组成的,每个样片包括一个编号和一条轮廓线,轮廓线是由若干个点连接而成的封闭多边形,此多边形即为自动裁剪系统裁剪时的有效行程(路径)。因此在设计样片的数据结构时,将样片设计为一个样片类CPiece,成员变量有、点数组,成员函数有编号设定函数、编号读取函数、点坐标设定函数、点坐标读取函数、样片的绘图函数。
3.2 样片排序的规则和算法规则:样片排序走向从排料图的左下角点开始,走向见图3所示,相邻样片遵循先近后远、先小后大的原理进行排列[1,2]。
算法:①确定每节的长度;②计算排料图的左下角点与第1节内各样片的起刀点的距离,将距离最小的样片的编号设定为1。若有两样片的距离相等,则样片面积小的编号为1;③计算第1个样片的抬刀点与第1节内其它样片的起刀点的距离,将距离最小的样片的编号设定为2。若有两样片的距离相等,则样片面积小的编号为2;④按③中同样的方法依次确定第1节内其它样片的编号;⑤按按第1节同样的方法确定其它节内样片的编号。
实例:图4、图5分别为优化排序前后的样片编号变化情况。
3.3 对称片的处理与一般的样片不同,具有对称特点的样片若在裁剪时沿轮廓线一周单向进行走刀的方式时(见图6),容易造成裁剪后样片的变形,最好是样片沿对称轴分为两部分,进行双向走刀,见图7所示。
4结束语
本系统是服装自动裁剪系统正式裁剪之前的预处理系统,主要工作是将排料图中的样片进行优化排序及路径的动态仿真。所有功能均通过Visual C++ 6.0编程实现,优化可通过自动及交互完成,体现了智能化的要求。经过工厂实际试用,缩减空行程8-10%,裁剪错误减少85%,证明了系统的可行性和有效性。本系统的开发对服装企业中电脑裁剪工作提高效率、降低成本,具有一定的意义。
参考文献:
[1]梁吉元,郁鼎文,张玉峰,解开颜,王先逵.CAM系统中孔加工路径的优化处理[J].计算机集成制造系统CIMS,2000,6(1),74-76.
[2]龚清洪,常智勇.基于DXF-OpenGL的绘图轨迹优化及仿真[J].制造业自动化,2007,29(5):62-65.
[3]张少伍,韩江.基于VB 的数控系统图形轨迹仿真设计[J],铜陵学院学报,2005,(3):62-63.
[4]张登霞,陈刚,沙琳.OpenGL在数控加工仿真系统中的应用[J].山东理工大学学报(自然科学版),2007,21(1):105-107.
【关键词】网络;组织学与胚胎学;开放式实验教学
根据素质教育的要求,为了加强医学生创新精神和实践能力的培养,实验教学的改革必须建立一种适合当代科技发展,有利于培养具有扎实基础知识和创新能力的高素质人才的教学新体系。为改变单一的教学方法和手段,实验教学应由封闭型向开放型转变,实行全方位、多层次的开放式教学,是实验教学改革的必然趋势和发展方向。近年来,我校非常注重实验室建设工作,通过更新实验仪器和设备、改革实验教学内容和精心设计实验项目实现了部分实验教学在一定程度上的开放,但这种实验教学的开放度由于受到实验室的地域限制,其开放的时域也受到了局限,在实验教学手段的改革,特别是应用网络和多媒体等现代教育技术提高实验教学效果方面的研究相对比较滞后。随着信息技术在管理上越来越深入而广泛的应用,基于网络的开放式教学系统的实施在技术上已逐步成熟。我们以网络技术为实验室的开放提供强有力的技术支持,开发了基于网络组织胚胎学开放式实验教学系统,整个系统构架在局域网上,并接入校园网,充分拓展了实验教学的时间和空间,为实现组织学与胚胎学实验时间、教学内容和教学过程的网上开放、实施开放式实验教学模式做出初步探讨。
1 组织胚胎学开放式实验教学系统的开发
1.1 开发工具
组织胚胎学开放式实验教学系统开发平台在Windows2000/IIS5.0或WindowsXP/IIS5.1或Windows98/pws系统环境下,利用动态网页ASP技术访问Access后台数据库,并由IIS5.1充当WEB服务器,连接到数据库和Web界面,使用Dreamweaver为开发软件,本系统界面友好,操作简单,比较实用。辅以Flash5.0, PotoShop7.0为图像编辑工具,测试环境为单机环境下以Windows2000/IIS5.0或是WindowsXP/IIS5.1组建的Web服务器和局域网环境。
1.2 功能模块(如图1所示)
图1 组织胚胎学开放式实验教学系统功能模块
1.3 测试运行维护
对本系统的测试首先是模块内的测试,保证模块内能正常运行。例如:对数据库的查询、添加、删除和修改都能正常进行,在这个过程中要考虑很多异常情况,我们将程序完成后,开始进行软件的测试。由于本系统有一定的应用性,必须保证后期的维护,在维护过程中,及时修复测试中没有发现的问题,能更进一步减小系统的出错率。
2 实现的主要功能
该系统以本教研室的实验室主页为基础平台,是一个集实验教学指导、网上仿真实验及师生在线交流等较强功能为一体的网上运行系统。它将本课程的相关软件资源链接到网上,学生可以在网上预习、仿真,网上预约实验时间、实验指导教师,从而打破时间和空间的束缚。实验过程的监控、实验结果及作业的提交、成绩的反馈都可以在网上进行。教学计划的安排执行、教学内容的制定乃至学生实验成绩等都可以通过网络化实现资源共享。主要包括以下三个方面内容:
1)教学资源:包括课程简介、授课教案、教学课件、教学录像、考试考核、教学大纲等教学资源的链接,学生用于课外自主学习。
2)虚拟实验室:教师及时教学计划,制定教学内容,学生可以在网上预习、仿真,网上预约实验时间、实验指导教师,在虚拟实验室完成部分实验项目。
3)师生交流:学生使用者可以浏览、信息,教师管理者可以对各部分的内容进行浏览、修改和删除。学生可以对实验内容提出自己的意见、看法和疑问,教师可据此进行辅导和答疑。
3 结语
3.1 利用现代计算机数据库开发技术,建立和规范实验教学系统,能够最大限度地利用现有实验教学仪器设备及实验场地,提高组织胚胎学实验教学质量,提高学生的创新能力。开放性实验教学充分发挥了教学资源的效能,为学生提供了一个立体型的思维空间,多功能、多方位的调动了学生学习的兴趣,训练提高了学生的动手操作能力,是对传统实验教学的挑战。
关键词:软件工程;软件项目管理;组件;最佳实践
1 引言
在当今信息社会,信息技术已经普遍地服务于社会的各行各业,以计算机信息系统为核心的IT技术已成为最活跃、最有发展潜力的支柱产业,绝大多数的社会业务领域都形成了非常成熟的高水平的行业应用软件。但由于软件开发过程的缺陷、项目管理的问题和缺乏对企业内部软件开发过程的最佳实践总结与应用,软件系统的开发还存在着严重的问题。根据美国Standish Group对2003年美国1.35万个软件项目的统计,有问题的和失败的软件项目占66%,中国甚至达到了90%以上的项目不完全符合实际的业务需求[1],软件项目的失败比率至今没有太大变化。即低下的软件生产能力与强烈的业务发展需求间的矛盾造成的。这就要求从事软件生产的组织、相关人员迫切需要选择良好的软件生产能力的改造;对于软件开发者来说,保持持久的竞争优势关键因素在于通过适合领域问题的完善软件过程项目管理实现。
软件工程界已经认识到美国卡内基·梅隆大学软件工程研究所(Software Engineering Institute,SEi)所提出的软件过程能力成熟度模型(Capability Maturity Model,CMM)在改进并完善软件过程、提高软件质量(产品规格)和软件开发效率(进度)、降低成本(代价)等方面的重要指导意义。
软件项目的目标有两个,即取得当前项目的成功并进行积累,为后续的项目做提供经验积累和准备。为避免在软件开发过程中出现开发周期长、组织过程混乱、软件质量决定于软件开发者、缓慢的开发与适应性开发与扩展的效率、维护低价不可预期和软件适应性差等软件缺陷,在软件开发企业中通过改进并提高软件过程和项目管理水平,提高软件生产力能力与水平,应用良好的软件过程组织的最佳实践成为必然选择。
2 软件项目管理相关知识
软件生命周期包括软件定义、开发和运行三个阶段,软件开发过程的生命周期一般经过可行性研究、需要分析、总体设计、详细设计、编译、系统测试和系统实施与维护等过程活动[2]。在软件开发过程中,经常遇到沟通协作问题、需求模糊与较高频度的调整、开发过程组织管理差、不合理的设计、领域知识构件与适应性组件不完善和难于进行系统的集成等实际的问题,进而导致难于进行需求功能扩展和设计的适应性迭代和实现的效率低下、项目进度慢和里程碑不可控制和软件质量差和维护成本代价高等现实的软件项目管理问题。
上述出现的软件过程缺陷也是软件项目管理知识体系(PMBOK)中9个知识领域及关键软件过程路径(CPM)中所关切的,即通过提高软件过程管理中的技术、方法、团队组织建设、信息和沟通的有机结合,实现软件开发的最佳实践(Best Practices)能力。SEI的CMM过程模型通过7组13个质量指标指导软件过程的开发[3];CMMI(Capability Maturity Model Integration)是针对产品开发和服务的一个过程改进成熟度模型。它包含了25个最佳实践过程域,关注开发和维护活动,覆盖从概念到交付和维护的完整产品生命周期。在个体软件过程(Personal Software Process,PSP)和美国NASA软件工程实验室(SEL)同样强调通过统一的软件开发过程,进而实现提高软件质量的目标的原则。实用软件度量(PSM)的7种质量组、22个分组和64个度量指标的关键实践中强调在软件过程中通过合理的裁剪、应用和实施建立对软件全过程的有效管理实践。
为解决软件开发过程出现的问题,多种软件实践中热点的一个研究就是软件产业正迅速向基于组件化的开发模式演进。即在正确理解软件开发过程,在领域知识指导下改进软件开发成功率,在软件统一过程(RUP)、基于组件构建软件系统,实现软件工作目标,保证并通过软件的最佳实践来降低软件危机风险是本文需要研究解决的问题。
3 基于组件构建系统的最佳实践内容
最佳实践可以应用于各行各业,甚至我们生活中的方方面面。最佳实践在软件开发中最突出的贡献就是软件工程理论的建立,将软件开发进化为全程可控、可测量的工程式开发。最佳实践是一种理念,它表现为有一种技术、方法、过程、活动、鼓励或报酬与任何其他技术、方法、过程等比较而言可以更有效地提供一个特定的 预期结果。
基于组件构建软件系统,在软件统一过程(RUP)指导下的软件开发实践已经成为软件工程界的一种事实标准,即RUP是一个软件开发方法框架,以及一个公认的、灵活的、实用的流程平台,用于成功的软件项目。此种方法在设计中强调软件组件的设计规范以及依赖于现有组件设计构建新的软件成分。但是现今软件的设计过程中均集中于某些特定的领域问题上,这样造成在软件接口协议、组件集成等削弱高层次抽象的设计决策能力。大量的软件实践已经证明,由于快速变化的技术、方法和组织过程的抉择,给开发企业在选择重用技术、额外适应性组件开发和集成、业务领域组件的开发与来源的选择上增加了更多不可控制的复杂性和项目风险。如何在采用复用的组件集成和软件目标间平衡问题还是有待商榷的研究问题[4][5][6]。综上所述在基于组件构建软件系统的风险代价中核心是解决组件的集成和协同组件的过程设计问题。因此本文提出一种创造性结合最佳实践的软件过程应用于软件项目开发的管理过程方法,进而通过正确的需求工程实践和合理设计实现软件工程目标。
一般软件实践中,涉及到组织形式、技术框架、复用技术与集成、设计能力和探索式软件开发与设计原则,达到适应经常性的技术创新的变化与增长特点,实践证明,一个企业必须通过适应本机构特点和行业领域及主题业务需求的软件成熟过程控制,才能不断地通过探索并结合企业技术能力的过程模型即最佳实践。技术能力的提高与完善只有在设计过程中才能产生和得到实践证明。
为了实现软件工程的三维目标即软件质量、进度和成本,在软件工程管理指导下的统一开发过程实践下,软件构建的基本指导原则表现为以下内容:
遵守统一过程(RUP)提出了六项最佳实践即迭代的开发软件、需求管理、使用基于构件的体系结构、可视化软件建模、验证软件质量和控制软件变更。软件开发过程以体系结构为核心、按照高级抽象宏观指导下,通过领域建模、主题业务分解、功能任务确定和过程实现的层次建模方法完善最佳实践的过程;基于体系结构为核心的、适应性和动态扩展方便的组件集成的方式,增量、迭代式软件开发组织过程;迫切需要通过设计流程、技术、方法和人员等各个有机结合才能实现健壮的需求管理、项目计划、项目跟踪、质量保证和业务扩展应用,通过组件集成降低软件工程总体的代价;因此软件开发过程的最佳实践也应是为完成某项任务时最高效(最少的努力)和有效(最佳的效果)的方式,并且是基于一段时间内被大量人员检验的可重复过程。在最佳实践完善与实践中,以提高软件生产能力为根本目标的软件工程管理。 中国LWLM.com编辑。
本文提出普遍适应意义的最佳实践过程基于软件过程控制中,关注软件目标、软件边界及范围、软件成本和其它与问题领域相关的目标,具体的实践过程步骤如下:
(1)建立并设计适应本企业技术能力的软件开发规划及标准。
在项目启动、项目计划、软件过程和跟踪监控等软件项目管理核心过程控制中,首先要基于企业所在行业、领域特点和技术积累经验建立恰当的过程模型与相应过程标准。例如在设计中考虑某系统的业务管理角色、授权信息在系统运行期间是相对静态不变的即“数据动态、业务静态”的启发规则,设计约束和实现的组件服务标准设定为“一次数据获取,二次数据组装,三次业务静态应用”,进而保证了设计思想与编码过程中的统一模式,成为该软件最佳实践的一个重要因素。
(2)基于软件过程的人员授权。
在实践中,应该基于软件过程的3P(人员、问题和过程),将三者基于主题业务特征、人员能力和角色职责、软件过程任务,量化授权资源、责任和里程碑责任人。例如在某软件过程责任授权中,为实现软件过程的阶段和任务,按照最佳实践的方式进行组织与评审。
(3)定义需求规格获取的工程方法、管理配置变更制度建设。
按照操作、控制简便和实用,指导性强的原则,基于企业的组织特点和技术生产水平,以快速原型系统为典型特征,适应软件变化特征和便于阶段评审的软件过程的制品配置管理。
(4)以领域分析建模为基础的抽象设计方法指导。
设计过程遵循自顶向下、由粗到细、逐步细化,抽象为指导设计的原则,按照分治和启发式规则完善体系结构设计和组件化应用系统设计。比如我们进行信息化系统的建模过程中,可以按照业务流程分析和指导下,确认界面原型,根据业务的操作与规格约束,确定界面的统一性和布局、界面要素的层次性,基于实际业务流程的信息模型特征进行软件系统基础设施的设计与组件配置和开发,这样实现了软件系统的设计统一性和开发编码的自动化规格,降低各个阶段的开发代价与维护成本。
(5)严格的阶段项目评估和设计原则、约束指导进行统一过程管理。
(6)组件化、标准接口协议规范的集成风险控制。
(7)过程的跟踪与适当、及时变更控制与配置管理。
(8)适应主题业务特征与行业规律的功能设计。
组件定义的粒度,编码规则,集成化的开发与构建系统模式指导
(9)可控制的项目目标、量化的设计约束和标准化过程管理流程。
(10)项目全过程的标准软件制品规格控制。
通过上述统一的软件开发过程模式,使企业能够适应不同的项目实践要求和良好的系统解决方案,同时,又能够具有适当的过程控制灵活性和风险控制。
4 最佳实践工程案例
按照本文所提出软件开发过程的最佳实践步骤得到实践检验的软件系统的特点总结如下:
通过以上不同特点、规模不同的软件项目情况统计可得出,本文所提出的采用软件开发的最佳实践方法进行组织,从软件错误或缺陷数量、产生的阶段过程、维护代价等方面来看,提高了软件开发效率,降低软件开发成本,软件过程可控,结果预期和维护代价均得到满足,项目预期成功几率大大提高,提高了软件开发生产力。
5 结论
本文所提出的最佳实践,从软件开发过程组织与控制上,均保证了在软件过程中符合软件工程的原则和方法实践指导。通过多个不同类型和规模的软件案例统计可得出,本方法在中、小型软件系统开发、软件工程管理等过程中,具有较强的指导意义。
本文所提倡的最佳实践方法因为选择的案例和实践均为中、小型规模项目,因此在最佳实践的开发过程中,软件风险、决策选择和软件目标的建模方法等没有过多强调。如何结合中、小型规模软件项目开发中,重点解决的是保证快速、高效、高质量和低代价的目标下,更突出阶段风险评估、过程评审和决策过程的控制是研究和解决的重点内容。
参考文献
[1]Zhang WEi,Zhou Chang-le. Muti-Agent Concurrent Model in Software Project Management. Application Research of Computers, vol. 2004, pp. 17-19.
[2]Kurt C.Wallnau,Scott A.Hissons,Robert C.Sealord,Building Systems Commercial Components,Addison-Wesley,2001.
[3]韩万江,姜立新.软件项目管理案例教程[M].China Machine Press,2005.
[4]Garmus,D,and David,H.The Software Measuring Process:A Practical Guide to Functional Measurements.NJ:Yourdon Press,1996.
[5]G.A.Hazelrigy,”A Framework for Decision-Based Engineering,Design,”,Journal of Mechanical Design,1999.
[6]Felix Bachman,Len Bass,C.Buhman,F.Long,Technial Concepts of Componet-Based Software Engineering,Technical Report CMU/SEI-2000-TR-008,Software Engineering Institute,Carregie Mellon University,Pittisburgh:sei.cmu.edu/publications/documents/00.reports/00r008/00tr008title.html.
[7]I.Thomas,B.Nejmeh,Definitions of Tool Integration for Environments,IEEE Software 9.NO.3,March 1992 :29-35.
[8]PMI.A Guide to the Project Management Body of Knowledge,2000.
[9]James Rumbaugh,Ivar Jacobson,Grady Booch,The Unified Modeling Language User Guide,Addison-Wesley,2001.