软件实践的学习体会(共9篇)
1.软件实践的学习体会 篇一
中央广播电视大学人才培养模式改革和开放教育试点
天津广播电视大学专科实践体会综述
工商管理模拟软件实践体会综述
作者:xxx 学校:xx分校 专业:工商管理 年级:xx秋工商专 学号:xxxxxxxx 指导老师:xxxx 成绩:
工商管理模拟软件实践体会综述
一、实践时间
2014年10月13日-2014年11月3日,我在天津广播电视大学xx分校309机房进行了《中央广播电视大学管理模拟实验室(多媒体操作系统)》(网络版)的企业管理实践操作训练。
二、实践内容
通过上机操作,熟悉了迪宝乐有限公司的整体业务运作过程,实际操作从签订销售合同开始,依次经历企业内部各个环节,最后完成出货的全过程。内容涉及了营销管理、生产管理、采购管理、人力资源管理等多种企业管理业务流程。
2014年10月13日
8:30-16:00上机练习该软件业务数据实习第1节(迪宝乐公司2003年12月-2004年1月2日发生的业务)。熟悉了迪宝乐公司编制、月度生产规划、制定营销计划、编制预测订制单、编制主生产计划(MPS)、编制客户订单、编制销售合同、编制订制单、编制客户订单、编制销售合同、销售出库等业务流程。
在练习过程中,通过老师的指导,让我更进一步理解了营销管理和生产管理在企业中的重要性。
+年10月14日8:30-16:00。上机练习该软件业务数据实习第2-5节(迪宝乐公司2004年1月5日、1月6日、1月7日和1月8-12日发生的业务)
练习了编制主生产计划、进行粗能力分析、编制物料需求计划(MRP)、进行细能力分析、财务人员进行应付款统计、维修记录录入(设备)、设备开箱验收单、设备安装移交单、固定资产登记表、设备事故报告单、设备使用情况表、下采购订单、下客户订单、报价单、下采购计划、排班表、考勤/费用管理、工资基本信息、工资报表、采购计划、外协加工计划、外协领料计划、外协领料单、外协领料出库等业务
通过以上的流程练习让我了解了采购管理和设备管理的意义所在。
2014年10月20日
8:30-16:00。上机练习该软件业务数据实习第第6-9节(迪宝乐公司1月13日、1月15日、1月16-19日、1月20日发生的业务)
熟悉了交货单、质检记录、交货单质检、交货单入库、车间作业计划、车间领料计划、计划领料单、工序任务单、工序流转卡、半成品送检、质检记录、半成品入库质检单、编制车间作业计划、车间领料计划、计划领料单、成品送检、成品入库质检单、成品入库、已收款录入、交运单录入、销售出库、请购单、暂付款单、客诉请偿单、换损交运单录入、换损出库、成品退货、质检记录单、成品退货质检、成品退货入库、应付已付款录入、交货单发票录入、开发新供应商等业务。
通过上机操作练习,熟悉了企业质量管理、仓库管理等业务流程,认识到加强质量管理和仓库管理的重要性。
2014年10月21日 8:30-16:00。上机练习该软件业务数据实习第第10-12节(迪宝乐公司1月21-23日、1月26-29日和1月30日发生的业务)
练习了劳保用品请购、罚款条、警告条、领料单、交货单录入、质检记录表、交货单质检、交货单入库、劳保用品发放、领料出库、员工需求申请、员工培训计划、员工奖励、雇员提案汇总、产品设计管理、产品设计评审记录、评计验证记录、图纸管理、产品设计更改通知、退料单、质检记录表,退料入库质检、退料入库、供应商评估、计量器具校验、每月工作考查、工作评估、人事档案查询、客户评估、支付供应商货款、新员工入职、员工培训记录、员工工作职责、人事档案管理、盘点数据录入、盘亏盘盈处理、盘亏盘盈报表、客户订单、订单评审、签订销售合同、生成订制单、编制主生产计划、粗能力分析、确定主生产计划、编制物料需求计划、调整计划至外协厂商等业务。
通过练习排班表、考勤/费用管理、工资报表、员工培训等操作流程,认识到人力资源管理是一个企业中不可缺少的主要职能。
同时,通过上机操作也了解了一个企业的财务部门内部以及与其他管理部门之间的相互制约、协调关系。
三、实践结果和实践体会
通过这次完整的上机操作练习,使我对所学的《管理学基础》、《营销管理》、《生产管理》、《财务管理》、《个人与团队管理》、《资源与运营管理》等专业课程有了更深层次的认识,对企业各种业务的具体操作流程也有了更系统的了解,同时也为我今后的学习和工作开拓了更加广阔的领域。
在平时的学习过程中,很难把所学知识与企业管理的各项业务流程、过程控制与企业实际运作结合起来。通过上机模拟实践,对迪宝乐公司各项业务的操作学习,使我能够将所学管理理论与具体企业实际相结合,从而增强了实践能力。体会如下:
(一)产品质量
品质量是由各种要素所组成的,这些要素亦被称为产品所具有的特征和特性。不同的产品具有不同的特征和特性,其总和便构成了产品质量的内涵。产品质量要求反映了产品的特性和特性满足顾客和其他相关方要求的能力。顾客和其他质量要求往往随时间而变化,与科学技术的不断进步有着密切的关系。这些质量要求可以转化成具有具体指标的特征和特性,通常包括使用性能、安全、可用性、可靠性、可维修性、经济性和环境等几个方面。
产品的使用性能是指产品在一定条件下,实现预定目的或者规定用途的能力。任何产品都具有其特定的使用目的或者用途。产品的安全性是指产品在使用、储运、销售等过程中,保障人体健康和人身、财产安全免受能力。
产品的可靠性是指产品在规定条件和规定的时间内,完成规定功能的程度和能力。一般可用功能效率、平均寿命、失效率、平均故障时间、平均无故障工作时间等参量进行评定。
(二)主管领导签字
按规定办理按规定办理按规定办理按规定办理 签字“按规定办理”,都认为是可以办理,一般都赶快办理,因为下属向领导表达忠心的最好方式之一就是敢于为领导承担风险。以后上级机关在调查单位的烂事时,凡是签字为“按规定办理”的都可理解为签字没错,错是错在部下没有按“规定”办理。当然也有少数部下不买帐,认为按“规定”根本就不能办理。如果你硬要死扣“规定”而没有抓住签字的核心“办理”二字,不能全面、准确地理 解领导的意图,以后你和领导的只能是渐行渐远了。请酌情办理请酌情办理请酌情办理请酌情办理 没有叫你违法违规办理凡是烂事领导签了字,除了否定词(一般不会出现)以外,部下都领会是叫你办理。“酌情办理”比“按规定办理”意思更递进一层,而且还有看得起你才叫你办理的丝丝情意在里面,部下一般都会倾情办理。虽然这是办烂事最危险的签批,但现在是依法办案了,对“酌情”二字总不能无限上纲吧。“酌情”可理解为斟酌情况,实际情况不允许就不能办理。因此,还是在部下,知识欠缺,政策把握不好,应该受到批评。划圈有学问划圈有学问划圈有学问划圈有学问,一般人不知现在领导为了节省时间,签批文件就用划圈来代表“同意”的意思。一般人看到领导在文件上划了圈,就按照同意的意思办理了。有些烂事,在走程序的文件上领导虽然划了圈,后来竟然没有领导责任。原来领导不是在呈文要求办理的“办理”二字上划圈,而是将圈圈划在模棱两可的中性词或自己的名字上。只要不是圈在“同意”或“办理”之类的词上,均可理解为领导还没有同意。所以,上级来办案时,这证据不能靠推理、想象,还是不能追究单位领导的责任。
(三)品牌
品牌是市场营销发展到一定阶段的产物。品牌的基础是产品但品牌的核心竞争力却不是产品。品牌之所以会有巨大威力是因为他和消费者建立了某种情感的联系。
二、构成品牌的要素 品牌是一个复合概念是一个笼统的总名词。一外显要素 品牌名称——品牌可用语言表达的可读性的部分是形成品牌的第一步是建立品牌的基础如“可口可乐”。品牌标志——品牌中可识别、但不能用言语称谓的包括符号、图案、色彩、字体。二内显要素 品牌承诺——品牌体现商品或服务个性和消费者认同感象征生产经营者的信誉。品牌是一种货真价实的标志是一种产品持续一致的保证。可口可乐——新鲜 INTEL——高速处理器 宝洁——一直的好品质 品牌个性——品牌不同于商标不仅是一种符号更是一种个性。用人作比喻很容易使消费者接受品牌。万宝路阳刚、硬汉 品牌体验——消费者的体验直接影响了品牌印象特别是第一次的消费体验若是不好则以后需要花费较大精力去改变消费者已经先入为主的观念这种体验与售后 服务也有关系。
(四)企业信息的基础工作
1.信息工作。信息是指原始纪录、资料数据、图纸报表等的总称。现代企业是一个彻底开放的系统。及时准确的信息,是进行正确决策的依据。企业信息的收集、处理和利用,是企业生产经营的重要资源。2.标准化工作。包括技术标准和管理标准的制定、执行和管理等工作。技术标准是指对企业的产品、生产条件、生产方法以及包装、贮存和运输等所作的有关规定,管理标准是对企业各项管理工作的职责、程序和要求所作的规定。制定技术标准要经过调查研究、收集资料、起草、试验、修改、确认等步骤,技术标准是企业标准的重要内容。包括材料标准、产品质量标准、工艺标准、设备及工具维修标准、安全与环保标准等。管理标准是保证技术标准得以实施的必要条件。企业通常采用图解法制定管理标准。管理标准一般由五个部分组成:包括管理总体图、管理流程图、岗位工作图、信息传递图和有关文字条例等。3.定额工作。定额工作是指企业各类技术与经济定额的制定、执行和管理工作。定额是在一定的生产条件下,对物力、财力人力的消耗及占用所做的规定性标准。如劳动定额、材料消耗定额、物料仓储定额、流动资金定额、管理费用定额等。4.计量工作。计量指采用一种标准的单位量去测定事或物的量值。没有科学的计量方法和手段,就不能得到真正可靠的原始数据,也就无法进行严格的质量控制、材料管理、成本管理和经济核算,推行严格的经济责任制也会变成空谈。计量工作包括:计量器具要准确可靠,计量方法要科学合理,要有人专门负责计量工作的监察与监督,建立计量管理制度。
总之,这次实验使我受益匪浅,在今后的学习和工作中我会很好的利用所学的专业知识,为企业为社会的发展贡献自己的一份力量。
2.软件实践的学习体会 篇二
关键词:手机软件,软件测试
近年来, 随着国外手机的不断涌进, 我国已逐步成为全球最大的手机制造基地, 2007年下半年, 中国的手机产量、外销量已呈现了持续增长的势头, 自销与出口两个市场, 双重驱动了中国手机制造规模再创佳绩。2009年初, 工信部为中国移动、中国联通和电信三大巨头公司, 发放了第三代移动通信牌照, 标志着中国的3G时代到来了。
1手机软件测试现状
从现阶段通信行业发展的整体来看, 我国的手机测试技术近几年经历了从无到有的过程, 也正是这样的过程, 标志着我国手机测试阶段正慢慢的在起步中。但不难看到, 以我们现在的水平, 尚能基本满足手机测试的要求, 如果走上世界的话, 与一线国家相比还是有一定差距的, 因为从对测试概念的解释上、从技术的娴熟度上、流程的规范性上来看, 都是有很大距离的。所以说, 手机测试技术在我国终将是一项带有激烈竞争性和考验性的行业。
在开发手机软件的时候, 因为手机测试时刻伴随在整个的操作过程, 所以手机测试的信号流程好坏, 与测试过程中质量的优等直接关系到手机软件的可操作性。而且切实影响到生产厂商的经济利益, 严重时还会直接影响到该产品是否能及时与消费者见面。可以这样说, 手机测试工作是整个开发过程当中最为重要也是技术性很难掌握的一个过程。
2手机软件测试的几种形式
2.1常用测试功能
手机软件基本测试功能指的是, 手机软件向手机用户提供的最小化、最简单操作的集合。在进行生产过程中, 由工作人员来进行具体的操作, 而往往操作结果是否优劣, 直接关系到该项目的可行性, 假如该条件不合格的话, 将由工程开发人员直接埋单。
举例证明, 如当用户在使用手机时, 接听到一个电话, 或者对方给用户打了个电话, 又或者用户在群发一条普通短信, 电子邮件, 设置一个闹钟, 使用计算机等都是具体的例子。
2.2互为测试
互为测试, 顾名思义是指当用户的两部甚至是多部不同的手机, 可以在很多个界面或者是功能之间进行交互使用的时候, 对该手机所处的状态或者行为来进行不同的测试, 当在测试的时候用户手机这个过程, 或者所表现的状态正确的程序应该是被要求中所要表现的是一致的行为, 在这个调试中, 如果出现预期达不到的效果, 还是应该由工程人员来进行埋单。
举例证明, 比如当用户在拨打电话过程中, 用户在收看对方发送过来的短信内容过程中, 或者当用户在看下载过来小说的过程中, 对方用户此时刚好打进一个电话, 当用户在进行上网操作时, 对方用户忽然间打进来一个电话, 在接电话过程中, 该用户忽然遭遇到预设的闹钟闹铃响等都是具体的验证的例子。
2.3额定值测试
所谓的额定值测试, 指的是当用户的手机在对某一项功能进行使用的时候, 系统会自动提示该功能已经超过局限的时候, 此时用户的手机仍然可以正常运转, 不会出现死机、或者非正常的状态。也就是说此时用户手机的使用情况显示是非常正常的情况, 可以被用户继续使用的状态。
举例证明, 比如, 当用户手机当中的内存卡再也无法继续承载任何东西的时候此时的用户还可以继续拨打电话;或者当用户内存提示超满时, 用户还可以继续打开网页;用户内存提示超负荷时, 用户手机播放音乐器时提示的是正常的状态;用户手机后台内存满时可以启动播放器, 用户手机的收发短信箱此时还可以正常使用的状态, 不会出现任何的非反应状态。
2.4承压能力测试
承压能力测试, 顾名思义是指当用户的手机在非常短的时间内进行检测时, 用户的手机此时可以同时开启多个页面, 进行多项功能的使用, 而且用户的手机提示还是正常的状态, 往往在实际操作中, 技术人员用此方法来检验手机的抗压能力和正常状态。
3当进行测试时, 所要注意的事项
当工作人员在进行测试的时候, 在递交测试说明的时候, 流程说明要求不需要太详细的, 即一笔带过就好。举例说明如, 在说明计算器上的应用时, 不必分条说先到哪一步, 再到哪一步, 只需要说直接启动计算器即可。再或者, 当我们的用户在使用过程中, 该程序说明介绍说“客户接听到一个电话, 然后是客户发送给对方用户一条短信”, 此时, 打可不必再详细的说明怎样的接通电话, 如何从哪个界面开始用起。
3.1在执行过程中, 有的工作人员是不清楚该如何进行的, 而为了预防工作人员会出现这样的情况, 这个时候, 还需要在进行测试的时候对一些专业术语或者难以理解的知识点做进一步详细的说明。
3.2终归到底, 我们的技术人员在操作过程中, 为了达到一个使工作人员和手机用户都被广泛使用的状态, 我们应尽可能的把开发的细节, 详细的记录在案, 只有是做到了这一点, 企业和用户才能达到一个和谐的局面。
4实际操作过程中应该注意的问题
4.1完美的工作状态是每个企业所需要的人才, 一个合格的工作人员在做好本职工作的情况下, 不焦躁、不敷衍, 是对企业负责, 也是对自己负责的表现。
4.2在实际工作中, 对工作人员的要求就是要有足够的耐心。测试技术工作是一项繁琐而且枯燥的工作, 其中有的问题不是一遍两遍就能够完成的, 它可能会重复的出现, 所以, 只有工做人员具备了以上的工作信条, 才能够把错误及时的消灭在萌芽状态。
4.3每个企业都需要高度仔细的工作人员, 我们都知道精细出细活, 只有具备了这样的一项工作素养, 才会避免在工作时出现难以挽回的错误。
4.4在工作中, 我们的工作人员要在脑子里时刻有一根弦, 那就是不放过任何错误, 有的测试工作人员可能视而不见, 但往往一个小小的错误, 也会筑成大错, 造成不可弥补的损失, 而有的测试工作人员却会意识到问题的严重性, 及时把错误消灭在萌芽状态。
4.5自身的努力与平时的刻苦学习, 都是成为一个优秀的测试人员的途径, 平时多学习与测试有关的业务知识, 虚心学习, 不断积累测试工作中遇到的各类问题, 总结经验, 不断成长, 终将会成为一个合格的测试工作员。
5结束语
总之, 软件测试环节是一个画龙点睛的关键环节。建立一套良好的软件测试流程, 不仅能够及时的发现错误, 还可以以软件测试过程为标准, 以此提高生产率, 达到企业与用户双赢的局面。
参考文献
[1]蔡慕宜.手机软件测试研究与实践[D].复旦大学, 201 (29)
[2]卢建军, 苏宁.浅谈手机软件测试的流程与策略[J].制造业自动化, 201 (07)
3.软件过程评审的轻量级实践 篇三
关键词:软件质量;评审;度量;持续改进
1引言
软件评审是软件质量管理中的关键一环,而在实际的评审过程中,常常出现因为参与评审的专家不能全部到位而在评审时拉壮丁,评审先变科普会、再变批斗會,以及其他一般会议中常见的如迟到、议题偏离等原因,导致评审会议效率不高。
如何提供评审的效率?以下跟大家分享软件过程评审的轻量级实践。
2评审定义
软件评审,是指在软件开发过程中,由参与评审的人员对软件开发文档或代码进行评审或检查,目的是帮助查找缺陷和改进点。
根据评审的内容特点,评审活动可分为管理类评审和技术类评审。
管理类评审:与管理相关的评审活动,如立项评审、项目计划评审、里程碑评审、结项评审等。管理评审方式包括:会议、会签、审批三种;
技术类评审:与技术相关的评审活动,如需求评审、概要设计评审、详细设计评审、代码走查、测试用例评审等。技术类评审主要方式为技术评审会议和组内会议两种方式。
3评审角色
参与评审会的主要角色:被评审人、评审组织者、评审组长、会议记录人、公司归档人。
评审组长一般由领导和专业负责人组成,评审组长需提供明确的评审结论。会议记录人一般由项目组内及组外(如测试负责人)两人承担,以上人员如有无法参加的情况,需指明代理人,代理人承担相应职责。
4评审流程
软件评审内容:
1)检验产品是否满足以前的规范,如需求或设计文档;
2)识别产品相对于标准的偏差;
3)向作者提出改进建议;
4)促进技术交流和学习。
下表为轻量级评审实践中总结的一页纸规程。
1)必须评审的阶段/文档:需求、设计。
2)评审项说明:需求须是需求说明书;设计包括原型设计,概要、详细和数据库设计说明书。
3)评审约定:文档以公司的组织财富库中的模板为基准。
4)主要参会角色:领导、专业负责人及项目相关人员。
5)所有参会人员须签到。会议纪要发送前需抄送给项目负责人及QA审核。评审组织者审核会议纪要时,需提供发现缺陷数、会议时间等量化数据,并负责将会议结论发送参会人员及抄送领导。评审结果为有条件通过的,需一周内修改完成再次发邮件给参会人员确认;对于评审不通过的,项目组须两周内发起复审申请。
6)对于评审发现的问题,会议记录人需跟踪问题状态直到关闭。
7)对于质量专委会工作中发现的典型事件,公司实行奖惩。
5评审要点
在评审时,对如下评审要点会重点关注,也往往在这些评审点更容易发现较多的问题:
1)使用了新技术,方法,工具的组件
2)关键的架构性的组件
3)难以理解,却又必须准确和优化的复杂逻辑或算法
4)具有危险失败模式的组件,而且是任务、可靠性、安全性关键的
5)具有多个异常条件或失败模式的组件
6)不易测试的异常处理代码
7)打算复用的组件
8)将作为其他组件的模型或模板的组件
9)影响产品多个部分的组件
10)复杂的用户界面
11)由缺乏经验的开发者创建的组件
12)具有高复杂度的代码模块
6结束语
对于智力高密集型的企业来说,最大的成本是人力成本。在评审实践中,我们还注重采用多种实际工具和手段,如针对阶段评审的注意积累检查清单;还有些评审是以在线的形式进行的,对于评审中量化项,可通过系统平台进行在线确认;对于代码评审,先利用一些业内工具进行预审;对于存在严整分歧的问题,会另外组织小型的专题会议进行讨论以便解决问题。通过以上轻量级的实践,提供人员利用效率,做好项目成本管控。
通过提高评审会的效率,不但确保了软件的质量,而且实施成本较低,在团队实施中非常容易推广。
通过提高评审会的效率,也加强了组织的度量,包括项目及项目团队的数据度量,为组织升级到CMMI4、CMMI5级的高成熟度奠定了数据和质量的基础。
当然,在以上的评审实践过程中,我们还在不断积累的评审专家信息、评审高风险点、评审度量项以及最佳实践场景等组织资产财富,为组织的持续改进保驾护航。
参考文献
[1]项目管理协会,《项目管理知识体系指南》,2009
[2]CMMI Product Team,《CMMI? for Development, Version 1.3》,2010
[3]Mark C. Paulk,《A Comparison of ISO 9001 andthe Capability Maturity Model forSoftware》,1994
作者简介:张萍,信息系统项目管理师,多年软件开发、质量管理经验,目前在福建国源通信技术有限公司南京分公司负责质量管理工作。
夏仲钟,多年项目管理经验,目前在福建国源通信技术有限公司南京分公司负责项目管理工作。
张坤,多年软件开发与设计经验,目前在福建国源通信技术有限公司南京分公司负责软件的设计和开发工作。
4.软件实践的学习体会 篇四
材料科学与工程学科是现代科学技术的基础,是与实际生产和应用紧密结合的科学理论和工程技术学科,其中的材料成形类专业更是来源于实践,服务于实践。这些特点决定了材料成形类专业的教学必须具有足够多的实践课程,才能培养出适应社会发展、能为社会做出更多贡献的合格人才。
教育管理者和教育界人士很早就认识到实践教学的重要性,也积极采取各种方法加强各学科的实践教学,但总体看来,相比理论教学,实践教学的覆盖范围、教学强度、教学水平等还很欠缺。由于实践课程需要大量的资源配置,实践课程往往简单地以参观工厂和车间的形式完成。虽然对工厂和车间的参观可以给学生以直观的概念,但仅以此作为实践教学则远不够。目前普遍实行的实践教学有很多不足之处:
(1)对实践教学的重视程度还不够。长期以来,高校实践教学被认为是理论教学的辅助环节,是以加深和帮助理解课堂教学内容为目的。实践教学内容以验证性实验为主,内容和进度基本上依附于课堂教学,无法充分发挥实践教学在培养学生中的重要作用。
(2)实践内容缺乏创新。由于实践教学本身得不到重视,实践教师和工作人员很少有机会走出去学习、交流和深造,只能年复一年地重复过去的实验,很难在设计性实验和综合性实验方面下功夫,直接影响了实践教学在整个教学中所发挥的作用,无法保障人才培养工作的质量。
(3)实践教学设备需求量大。随着我国高等教育的普及,各个高校都在扩招。在校学生数量的急剧膨胀,需要更多的实验设备,且需要更多的空间安置实验设备。对于材料成形类专业实践教学中使用的设备,很多是重型设备,这些设备价值高、占地空间大、用电等辅助配置要求高,学校不可能大批量购置,如何解决设备少、学生多的矛盾,是进行实践教学不可回避的难题。
(4)实践教学的创新性功能未得到开发。实践是产生科学知识的直接来源,如何合理利用实践教学环境,促进学生在学习过程中主动思考问题并解决问题,进而设计新的实验,达到在学习的过程中创新,在创新的过程中学习,还远未得到重视。
(5)部分实验具有一定危险性和复杂性,不适合学生在没有经验的情况下操作。如热轧过程、热挤压过程等,都属于高温作业,必须具有相关的操作经验和资质,否则很容易造成人身和设备事故。这就导致现行的实验过程中,学生只能远远地观看而无法参与操作,无法达到实践教学的最好效果。
以上不足和缺憾是长期存在的,不可能在短缺内得到改善,要想提高实践教学水平,只有另辟蹊径,其中利用虚拟现实技术,建立网上虚拟实验设备及虚拟实验室,是解决这些问题的有效方法。
虚拟实践教学系统能够克服传统实践教学中的种种不足,且较传统实践教学来说,花费少,可持续发展性好,是传统实践教学的补充和提高。材料成形类专业实践教学系统的开发项目,依托辽宁省教改项目“材料成形类专业互动式实践教学系统的研发与应用”而进行。而“互动式轧机装配软件的开发”是本项目的组成部分。
1 轧机拆装软件设想的提出
基于材料成型专业材料成形机械设备教学需求及实践教学的需求,结合对虚拟技术的理解,提出了开发一款交互式轧机拆装软件的构想。学生利用交互式软件可以在电脑上通过鼠标的点击模拟轧机的装配过程,加深对轧机结构的理解。
2 开发过程
开发软件的流程如下:可行性研究→软件需求的调研→组建软件制作团队→制作软件的3DMAX软件的培训→寻找轧机CAD图纸→图纸分析→建模→零件知识库的建立→安装脚本制作→软件界面(UI)设计→编程→软件测试→功能完善。
(1)软件制作的的技术可行性。通过向软件开发专业单位咨询及探讨,确认了软件制作的技术可行性。
(2)软件需求的市场调研。通过在学生群体中的调研,确认开发软件应用前景及使用覆盖面。开发出的软件可以提供给材料成型专业老师教学演示使用;材料成型专业学生将其作为实践环节学习设备结构原理的学习软件;轧钢企业将其作为培训职工的工具;帮助不了解轧机的其他专业人士了解轧机结构及各个部件的作用。
(3)招募学生组建软件制作团队。委托软件开发企业完成整套软件开发费用较高,教改项目的经费不足以支付全部开发费用,而软件开发企业人员又不具备材料成形设备专业知识,单独开发存在困难。通过与企业研究,我们决定尝试校企共同开发的模式。招募本科生参与软件开发的部分工作。这样可以将软件开发与学生技能培养相结合,学生在掌握本专业知识的基础上,应用所学专业知识参与制作模型等工作,既挖掘的学生的潜力,提高了学生的技能,又在有限资金的情况下,完成开发工作,缩短开发周期。团队招募的具体做法是:以学过专业课的大四本科生为主体,以大三学生为辅,兼招少数机械专业学生,让本专业学生与机械专业学生优势互补。大三学生的招募是为了形成梯队,保证今后软件制作团队开展工作的连续性。
考虑学生考研、就业及出国深造的各种不同情况,在保证3~4人的相对稳定的核心团队情况下确定团队成员动态加入,动态退出机制。在这样的指导思想下,通过在大三、大四本专业及相关专业学生中的广泛宣传和发动,迅速招募了十几名制作成员,组建了虚拟轧机拆装软件制作团队。
(4)团队成员高效率培训。制作团队组建后,聘请软件公司人员利用业余时间对学生进行3DMAX等软件的培训,并提供给学生相应的软件学习参考书及工具。学生在较短的时间内就掌握了软件使用方法。
(5)CAD图纸分析。专业教师为学生找来轧机的CAD图纸,指导学生明确图纸中图与实物的对应关系,并带学生去现场观察轧机实物,以建立对零部件的空间形象想象。
(6)建模。由于拆装零件的需要,经过慎密的对比及思考,决定应用3DMAX建模。建模学生根据对图纸理解及对空间图的想象,利用3Dmax对每一个零件进行建模。
图1为辊系中两个零件的图纸及建立的相应的模型。整个轧机包括零件有1700多个,需要单独建立模型的就多达200多个。利用一个假期学生完成了全部零件的建模。
(7)零件知识库的建立。为了方便使用者使用软件拆装零件时对零件的了解,还嵌入了零件知识库。使用者在拾取零件时,点击时就可以链接到知识库。屏幕上就出现此零部件的名称、作用及应该安装的位置,这样就方便了使用者的理解。知识库的建立虽然增加了软件制作成员的工作量,但是其在为使用者提供方便的同时,也让开发软件的学生加深了对于设备中零件的了解。表1为部分零件知识库。
(8)脚本的制作。在轧机的.安装过程中,需要知道安装的顺序,这就需要一个安装的脚本。软件制作成员对脚本进行了制作。确定了以下脚本制作的原则:①在轧机装配过程中遵照零件→组件→部件的原则,先单独装配机架、辊系、传动装置、减速箱、齿轮箱和驱动装置,再组装到一起。②在写脚本过程中,遵循“由内向外,由下往上”的顺序自己装配部件。图2为轧辊安装脚本顺序图。
(9)应用Unity实现软件的功能。利用Unity软件和制作的脚本处理轧机三维模型,让软件具有学习和拆装模式,把知识库存储到软件中。使用者可在使用过程中了解轧机的组装过程,还可自己组装轧机。将轧机置于某虚拟的场景中,还可以实现对轧机三维视角的观察。
回顾软件制作过程,我们总结出一些值得借鉴的经验:(1)给学生充分的自由度,包括制作中时间安排,UI的自主设计,场景的自主设计,功能的添加等,这样做可以给学生更多的自主发挥空间,这样充分调动了学生的兴趣和主观能动性;(2)鼓励学生大胆想象,大胆创新,并给学生创造宽松的创新环境。贯彻不拘一格,风格各异的理念,学生的创新意识得到最大程度的提高;(3)建立软件公司、教师、学生定期会面制度。按照公司模式按时间节点检查进度,布置工作,指定专人进行会议记录。教师、学生与企业人员共同切磋,对软件制作细节提出自己的看法和建议。学生受到企业文化的熏陶,形成了严谨工作作风。
3 结语
5.软件工程实践类的课程体系论文 篇五
2.1程序设计基础(C语言)
程序设计基础(C语言)作为软件工程专业学生学习的第一门实践类课程,主要解决结构化编程问题。课程的核心内容在于顺序结构、选择结构、循环结构的理解和应用,教师在授课时一定要把握好,不能舍本逐末。有很多教师没有全局观念,在授课时过多强调语法知识,而忽略了核心内容,显然是不对的。另外,在课程最后需要让学生在理解结构体的基础上,能够应用结构体设计一个小的应用程序[2],为学生学习面向对象程序设计打下基础,因为类本质上是在结构体的基础上增加了成员方法。
2.2面向对象程序设计(Java)
面向对象程序设计(Java)主要解决面向对象编程问题,因此,该课程的核心内容在于类的定义及在定义类的基础上创建对象。在本门课程中,需要理解并熟练掌握对象可以调用类的方法。面向对象程序设计(Java)是非常重要的一门专业基础课程,一定要求学生认真、不折不扣地掌握。实践证明,由于后期的JavaWeb编程技术和JavaEE框架技术是以本门课程为基础的,如果本门课程没有掌握,后期的学生就没有办法继续学习。
2.3数据结构
数据结构主要解决算法设计问题。有的教师和学生错误的认为软件工程专业的学生毕业后主要从事软件开发,只需要掌握软件开发所需要的工具和开发技术,不需要去研究算法,这是严重错误的。因为,高校和培训公司不同,高校不仅要解决学生的就业问题,还要为学生毕业后的成长打好基础。
2.4数据库系统
数据库系统主要解决信息系统中数据的存储问题。在该课程的教学过程中,不仅要让学生掌握数据库的基础理论知识,还要掌握数据库的应用。由于在信息系统、Web系统等应用中处理的数据可能来自不同的表,因此,让学生学会处理数据库中表与表的关系就显得格外重要。
2.5网页设计
网页设计即Web系统的`页面设计,主要解决Web系统中前端页面的设计及其美工问题。在本门课的教学中,不仅让学生掌握UI的设计方法,更重要的是培养学生的美工意识,使其设计的界面足够“美观”。
2.6JavaWeb编程技术
JavaWeb编程技术主要解决MVC模式的编程思想。通过本门课程的学习,使学生在理解模型层、视图层和控制层各自作用的基础上,学会处理三者之间的逻辑调度关系。视图层主要负责Web系统的页面展示,是Web系统与用户交互的窗口;模型层提供处理各种问题的方法;控制层接收视图层的数据后,主要负责对模型层的调度,相当于一个“管家”角色。
2.7JavaEE框架技术
JavaEE框架技术是在MVC模式的基础上,主要解决J2EE架构的问题。在大多数高校的教学中,采用的架构是流行的SSH架构(Spring、Struts和Hibernate)[3]。由于该课程内容较多,应用性强,而且学生毕业后主要以本课程学习的技术求职,因此,需要加大课时量,同时要安排具有丰富工程实践经验的教师任教。
2.8软件测试与质量保证
软件测试与质量保证主要解决软件测试问题,以保证软件开发的质量。随着软件复杂度的不断提升,软件测试的地位急剧上升。然而,在实际的软件工程专业实践教学中,有很多地方高校教师对软件测试还不够重视,总觉的软件开发完毕经过调试就可以了,所以,讲授时有敷衍了事的情况发生。
2.9Web应用软件开发实训
6.软件工程实践心得 篇六
软件是计算机系统中与硬件相互依存的另一部分,它包括程序、相关数据及其说明文档。软件工程(Software Engineering,简称为SE)是针对软件这一具有特殊性质的产品的工程化方法。SE涵盖了软件生命周期的所有阶段,并提供了一整套工程化的方法,来指导软件人员的工作。任何事物都是从无到有的,软件当然也不例外。上世纪中期,软件产业从零开始起步,经过半个多世纪的发展,其大致经历的3个阶段:程序设计阶段、软件设计阶段和软件工程时代,现已成为推动人类社会发展的龙头产业,随着信息化时代的发展,软件对人类社会也将越看来越重要。人们对软件的认识自然经历了一个由浅入深的过程,在得到巨大需求的同时,也遇到了一系列严重问题,即软件危机。所谓软件危机,是指在计算机软件的开发和维护过程中所遇到的一些严重问题,其实质是软件产品的供应赶不上需求的增长。概括的说包含两方面的问题:
一、如何开发软件,以满足不断增长,日趋复杂的要求;
二、如何维护数量不断膨胀的软件产品。为研究和解决软件危机,一门新兴的学科——软件工程,应运而生。
软件工程的概念是为了有效地控制软件危机的发生而被提出来的,它的中心目标就是把软件作为一种物理的工业产品来开发,要求“采用工程化的原理与方法对软件进行计划、开发和维护”,它的主要对象是大型软件,它的最终目的是摆脱手工生产软件的现状,逐步实现软件开发和维护的自动化。软件工程的概念自提出来后,经过几
十年的发展,虽然软件危机没有得到彻底的解决,但在软件开发方法和技术方面已经有了很大的进步,提出了软件工程知识体系、软件工程三段论、软件工程生存期模型、服用原则等等。
软件开发过程大致经过7个阶段:可行性分析、需求分析、概要设计、详细设计、编码、测试、提交与维护。接下来逐一分析本人见解:
一、可行性分析:顾名思义,就是看项目究竟“能不能做”。有3个方面:技术可行性、经济可行性和操作可行性。要确定项目,首先要客观的、科学的了解项目的规模、难度和时间限制,才可以确定应该投入多少人力、物力和财力去做这个项目,必须准确的估计项目的规模与难度。看项目是否有价值去做,如果没有价值,就放弃;如果有价值,就要看目前的资源是否能满足项目的开发。如果项目有价值,且有必需的资源,那么就可以确定能做这个项目了。
二、需求分析阶段:解决“做什么、不做什么”的问题。围绕两个核心问题开展需求分析:应该了解什么?通过什么方式去了解?
一、了解什么:应该先了解宏观的问题,再了解细节的问题。最好为每个需求注释“为什么”,这样可以让程序员了解需求的本质,以便选用最合适的技术来实现此需求。同时,需求说明不可有额二义性,更不能前后矛盾,如果有二义性货前后相矛盾,则要重新分析此需求。然后,选择合适的生存周期,建立合适的需求模型;
二、通过什么方式去了解:直接与客户交谈;有些需求客户讲不清楚,分析人员又猜不透,这是就要请教行家。需求分析是非常重要的阶段,如果做不好 的话,后果很麻烦。
三、概要设计:解决“怎么做”的问题。将需求描述的“做什么”问题变为一个实施方案的创造性过程,使得整个项目在逻辑上和物理上能够得意实现。概要设计是第一个开发活动,也是最重要的活动,是软件项目实现的关键阶段。设计质量的高低直接决定了软件项目的成败,缺乏或者没有软件设计的过程会产生一个不稳定的、甚至是失败的软件系统。一个良好的软件设计是进行快速软件开发的根本,没有良好的设计,会将时间花在不断的调试上,无法添加新功能,修改时间越来越长,随着给程序打上一个有一个的补丁,新的功能需要更多的代码实现,就变成一个恶性循环了。概要设计是软件设计级别中的高级设计,是从需求出发,描述了总体上系统架构应该包含的要素。概要设计尽可能模块化,因此描述了各个模块之间的关联,主要是根据需求规格或规格定义,合理、有效地实现产品规格中定义的各项需求,完成软件模块的划分并描述模块之间的关系,并不断分解系统模块,从高层分解到低层分解。它注重框架设计、总体结构设计、数据库设计、接口设计、网络环境设计等,将产品分割成一些可以独立设计和实现的部分并保证各个部分可以和谐的工作。此过程中画数据流图、IPO图、E-R图、界面设计等。
四、详细设计:解决“具体做什么”的问题,将解决问题的办法进行具体化。软件设计的低级设计,亦即详细设计,主要描述实现各个模块的算法和数据结构以及用特定计算机语言实现的初步描述,是针对程序开发部分来说的,但这个阶段不是真正编写程序,而是设计
出程序的详细规格说明,这种规格说明类似于其他工程领域中工程师经常使用的工程蓝图,程序员根据其中所包含的必要的细节写出实际的程序代码。用另一种方式说就是,详细设计是将概要设计的框架内容具体化、明细化,将概要设计转化为 可以操作的软件模型,但在实际项目进行过程中,依据项目的具体情况和项目要求,这个过程可能可以省略(逻辑上没有省略,表现在概要设计阶段或者编码阶段),直接按照概要设计进行编码;不过,个人认为最好有,有详细设计可以更好的保证编码顺利的进行,可以预先扫清编码过程中的障碍,提高代码的质量和编码的效率。主要包括模块描述、算法描述、数据描述,可以采用图形、表格或者文字描述等方式表达出来。
五、编码:实现项目。由项目的概要设计和详细设计,将设计变为代码需要通过编码过程来完成。实现设计有很多种选择,有很多实现语言、工具等可供选择,但一般而言,在设计中会直接或间接地确定了实现语言。编码过程的一个主要标准时变成与设计的对应性和统一性。如果编码没有按设计的要求进行,设计就失去意义了。设计过程中的算法、功能、接口、数据结构都应该在编码过程中体现。如果需求发生变更,设计业对应地发生变更,同时代码也应该一致地发生变更,这可以通过配置管理配置控制。可见,如果编码和设计不一致,很容易“跑偏”,走火入魔。编码时要严格遵循编码标准和规范,并提供必要的程序注释,增加可读性。另一个就是重构的理解,所谓重构是对软件内部的一种调整,目的是在不改变软件基本功能和性能的前提下,提高其可理解性,降低成本,当添加功能、修改代码和复查
代码的时候,更不要错过重构,另外,重构可以和设计互补。还有一点值得注意,要在必要的时候部署编码文档。
六、测试:看软件是否符合标准。软件编码完成之后,将软件提交给用户之前,需要对软件进行测试,这是保证软件产品质量的一个重要标准,也是评估产品质量的主要手段。软件测试是从软件工程中演化出来的一个分支,有着非常广泛的内容,并且随着软件产业的发展,它已经变得越来越重要。软件与生俱来就可能存在缺陷,为了防止和减少这些可能存在的缺陷,进行软件测试是有必要的,测试是最有效的的排错和防止缺陷和故障的手段。最原始的测试莫过于直接运行软件了,后来测试手段逐渐多样化。测试手段有静态测试、动态测试面向对象的测试、自动化测试等等之分。静态测试或称静态分析是指一种不通过执行程序来进行测试的一种技术,主要是检查软件的表示和描述是否一致,覆盖程序的编码格式、程序语法、检查独立语句的结构和使用等,主要包括代码检查、静态结构分析、代码质量等等,可以通过人工进行,亦可借助工具(如:语法分析器)自动进行。动态测试是运行被测试的程序,通过输入测试用例,对其运行情况进行分析,以达到检测的目的,显然动态测试封像我们通常意义上的“测试”。动态测试主要包括白盒测试、黑盒测试、灰盒测试(介于黑盒和白盒之间)。其他测试不再一一介绍。
七、提交与维护:测试完之后,就要把软件交给用户使用了。提交不是剪裁,给人家就行了,还要教会客户怎么使用这个系统。如果用户不会使用系统,就会不满意系统的性能,那之前的努力就白费了,打水漂了。为了保证成功地将我们开发的软件提交给用户,我们需要对用户进行培训,同时提交必要的文档及用户手册软件。维护就不用多说了,就是售后服务了。维护需要分析人员、编码人员和设计人员等角色的参与,有纠错行维护、适应性维护、完善性维护、预防性维护等。维护后,要写软件维护过程文档,至少提交一个软件维护记录。
7.软件实践的学习体会 篇七
软件工程作为计算机和软件本科专业最综合最系统的一门课程,在促进学生巩固之前学过的专业知识、掌握软件开发过程及方法、理解软件工程实践等方面发挥了积极作用。但高校特别是三本院校在软件工程课程讲授时理论脱离实际,片面地强调理论学习而忽视实践能力的培养,理论部分过于抽象,在课程实验中,没有把握好课程在人才培养的桥梁和作用,缺乏贯穿纵向知识体系和学科的整体理解和思想,往往只是本课程章节或课程的综合理论验证,采用虚拟的实验案例,甚至将其设计成为章节内容验证练习,而不是围绕着软件工程整本书的整个知识体系进行实际开发项目。导致学生学完软件工程课程后还是不能理解软件生命周期、开发过程及相应方法,与社会对软件人才的需求存在差距,学生难以很快融入现代IT企业的运作[1]。如何培养起适合信息产业所需要的应用型、实践型人才,已经成为亟待解决的问题。因此要想将学生培养成为符合社会需要的软件工程人才,就应当改变目前的局面,全面考虑软件工程课程建设。
本课题研究主要针对目前软件工程课程理论脱离实际,同时很多教师过分强调软件工程理论知识的一面,忽视了软件工程必须有实践项目还具有经验性、参与性、发展性的特点,通过理论研究和教学实践对软件工程教学实践提供实践指导。加强软件工程实践教学的改革,通过理论与实践相结合的方法培养社会需要的应用型软件工程人才。解决三本院校软件工程课程教授中理论、实验与实际相脱离的问题。
2 针 对 社 会 需 求 , 制 定 明 确 合 理 的 教 学 计 划(Formulate a reasonable teaching plan based on the social needs)
教学计划是各教学环境的整体设计方案,合理的专业的教学计划能为教学顺利实施提供指导,也是教学过程质量的有力保障,是人才培养的纲领和实施蓝图[2],它规定了课程结构和知识结构,明确了人才培养目标,构建了专业要求的课程体系,限制了教学环节的进程及内容。具体在制定计划时应秉持以下几点:
(1)树立应用型人才培养理念
在培养软件工程人才过程中要和一二本院校区别开来,我们应当以实际动手为主,培养适合企业操作岗位的技能人才。软件工程专业应坚持“以市场为导向,以就业为目标,顺应IT业发展趋势,以校企合作为手段,突出技能培养,走应用型开放式道路。”的办学思路,通过吸收国内外的优质资源,通过校企合作,共建实训实习基地和技术开发应用等多种合作办学,提高办学活力及效率。在人才培养模式上突出以技术应用能力为核心的人才培养特点,课程设置以市场流行的软件开发技术为主线由浅入深,技术的学习采用项目驱动、案例驱动的方式[3],不断提高学生实践动手能力,培养应用型技术人才,适应企业对人才的需求。
(2)构建应用型培养系统工程
学生在学校对知识的储备与社会对人才的能力需求如何契合的更好是学校应该要慎重考虑的问题。目前,软件服务外包产业对应用型人才需求量较大,软件工程专业可以和武汉软件外包单位合作,全面实施3+1人才培养模式,即,三年基础、专业课程学习加一年实训。这种嵌入式教学模式将会极大地提升学生的实际应用能力,他们进入企业后适应能力更强,上手会更快。在教学过程中,软件工程专业可以构建工程化的实践教学体系,以软件项目研发到软件项目运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习软件工程,建立试验—实训—综合设计—职业实践的实践教学体系,通过引进、开发真实的项目案例,让学生实际参与项目开发全过程,切实提高学生解决实际问题的能力,培养他们的综合应用素质。
(3)引入企业,接轨市场需求
基于工程化培养理念建立一批校企联合实习实训基地,实现教学过程与生产过程的对接,为应用型技术人才培养提供有力的保障。将一些行业内的企业而不单纯是培训单位引入校园,合作搭建项目开发平台,形成以研发项目促进学生实习实训,以研发项目带动师生科研发展的人才培养新途径,联合培养双师型教师。
3 软件工程实践教学采用的主要方法(The main method of the software engineering practice teaching)
软件工程实践课,包括课程实验、课程设计、项目实训和毕业设计等实践环节。
3.1 实例教学
在教授理论知识时,传统方法过度的在讲授枯燥的理论知识,学生没有实际的工程项目的经验,根本无法理解软件工程课程里的内容,在软件工程课程理论课上教师要通过典型的软件项目实例来讲解理论知识,将实例贯穿于教学环节,模拟软件工程项目场景,启发学生分析问题、进行方案设计,在项目案例讲解过程中抽象上升为理论知识,理论知识又反过来指导项目案例。
3.2 实验教学
相对于计算机科学与技术专业,软件工程专业更强调实践性和工程性能力的培养,这都需要在实践环节中培养,因此实验与实践教学是软件工程专业教学的重要组成部分,其实施质量对专业教学质量具有举足轻重的影响。软件工程专业可以构建“课程实验、课程设计、毕业设计”三级实验体系[4],三级实验体系粒度从细到粗,从具体到综合。教师需要设置好实验环节的内容、形式,实验课和课程设计时采用商业软件的开发模式,以实际项目和企业正常运作时人员的分工配合来进行实验教学,理论指导实践,实践强化理论,将系列的实践课程提升到工程项目训练,实际软件工程项目贯穿同步理论课的知识,让学生从需求分析、总体设计、详细设计、编码、测试到项目交付和管理维护等完整的软件开发过程进行系统实践学习,这样学生在一个真实的场景中实践,亲身体验并进行反思,只有实际操刀了,学生才能理会并掌握完整的软件开发流程、软件开发技术及软件开发方法。实验时以小组形式开展工作,四五个学生为一组,每组由组员推荐或自荐一位组长,负责协调、分工,组员在小组长的协作领导下完成项目的开发过程。项目驱动实验的软件工程实践教学可以帮助学生建构良好的软件开发认知模式并培养一定的软件工程素养[5]。在学生毕业前,开设项目实训和毕业设计,旨在培养学生的综合实践能力,通过这样的手段学生能比较真切地理解软件工程理论知识并掌握软件开发过程。通过实验,掌握一个完整软件开发过程,及过程中的每一个阶段的任务、目标、方法、工具,并熟练使用一些CASE(计算机辅助软件工程)工具来提升软件开发效率,保证软件质量。通过集中性的课程设计、毕业设计训练,使学生逐步培养编程能力、算法分析设计能力、数据库设计能力,能够结合专业知识实现用户需求,形成产品意识而不是作业意识,培养团队交流协作能力、积累工程经验、提高工程素养。每一个阶段制定可衡量的、明确的目标,激发学生的学习兴趣、提高知识的灵活运用能力、创新思维能力、综合分析能力、系统设计能力等,为培养符合社会需求的人才奠定基础。最后通过毕业设计综合性锻炼,实现学生就业的平滑过渡。
在每一级实验过程中都采用“教师为主导、学生为主体”的原则,才有利于避免学生在学习上的依耐性、缺乏独立思考问题和解决问题的能力,因此要充分发挥学生的主体作用,运用教师的专业知识和项目经验言传身教地引领、启发学生学习、动手实践,不断引入新技术、新方法引起学生好奇心,激发学生探索学习欲望。教师需要动态地了解学生的接受能力,有针对性地因材施教、指导学生学习,让学生拥有自主学习、持续学习的能力,意识到自己学得会,也很有利于调动学生学习的主动性,只有这样,才能达到较好的实验课教学效果。在每一次实验后要及时地对本次实验加以分析和总结,通过本次实验遇到了什么问题?解决的方法是什么?实现了什么功能?还有哪些有待解决的问题?都要加以总结,并以报告的形式记录下来,有利于日后开展实验课程的教学。
3.3 社会实践教学
一个软件企业的正常运行需要多方面的人员协作与配合,如财务人员、开发人员、配置管理员、质量保证员、数据库管理员、网络维护工程师、系统架构师、软件测试人员、管理人员等,在学校里学生难以体会到一个软件开发过程中除编码测试人员之外的其他岗位的职责和特性,学生只有真正进入企业才能体会并有机会实践这些岗位。社会实践教学可以通过校企合作的形式,也可以鼓励学生自己去找实习单位,学生可以根据自己的兴趣和个人发展方向来自由选择角色,完成不同的任务,教师和公司导师给予引导。社会实践教学是一次综合性的实践活动,是学生走向社会的开始,通过社会实践教学活动,使学生能够逐步认识综合利用所学的专业知识,培养软件开发的技能,深刻体会企业软件开发与学习过程中编写软件的不同、软件工程各阶段角色任务管理和开发知识,提高自身的创新意识与创新能力,促进团队之间的沟通协作,为早日踏上工作岗位打下坚实的基础。
学生进行社会实践教学活动时,严格按照企业的规定,执行、考勤、日志、总结等实际工作环节,广泛使用协同开发平台,使学生规范化、有序进行社会实践活动。
4 结论(Conclusion)
通过对几年软件工程课程教学的思考和总结,以及调研一些其他院校软件工程课程,提出了三本院校中软件工程实践教学存在的问题以及软件工程实践教学改革的必要性,从课程教学计划的制订、实例教学、实验教学、社会实践教学等几个方面给出了切实可行的建议,同时这些建议也可为其他课程提供有意义的借鉴。
摘要:结合国家对软件人才的需求,针对软件工程专业实践教学现状,分析了三本院校软件工程实践教学的问题,针对应用型人才培养的目标,该文从课程教学计划的制订、实例教学、实验教学、社会实践教学几个环节进行了研究,提出了相关的实践教学理论及改革措施。
8.PLC软件工程化的管理实践 篇八
摘 要:质量是国家竞争力的核心要素,“质量强国”已上升为国家战略。对于武器装备,质量对提高军队战斗力水平、维护国家安全利益意义重大。现代武器装备融合多学科技术,软硬件功能占比不断提高,软件质量对武器装备的可靠性、安全性及综合性能越发重要。为了加强软件研制过程管理,建立与产品特点相适应的管理体系,各国防军工单位先后启动军用软件研制能力成熟度模型认证工作,切实提高了软件工程化水平和软件质量。但对软硬件耦合性强、测试配套依赖性大等特点的PLC软件,传统的软件工程化方法及规范,难以直接应用并匹配于PLC软件研发与管理。
关键词:PLC软件;工程化;管理实践
中图分类号: TU71 文献标识码: A 文章编号: 1673-1069(2016)35-23-2
0 引言
本文结合本单位装检类设备及高端工艺装备中PLC软件特点,推广深化GJB5000A体系应用,对PLC软件工程化管理进行了初步探索与实践,提出了PLC软件工程化管理方法与规范,管控关键性过程活动和文档质量,以测试推动PLC软件工程化,提升PLC软件的综合效能,有效支撑本单位装检设备及高端工艺装备的高质量研制与管理。
1 PLC软件工程化管理的迫切需求
软件工程化管理是提高软件研制质量的必经之路,不仅能降低开发成本,缩短开发周期,更能降低软件研制风险,提高软件的质量和可靠性,增强软件的可维护性。作为工业控制系统的重要组成部分,PLC软件的工程化管理对于保障控制系统安全与可靠运行、提升效能和增值等具有重要作用。
PLC(Programmable Logic Controller),即可编程逻辑控制器,应用于自动化、高可靠性要求的工业环境,成为工业控制系统的重要单元,广泛应用于逻辑控制、运动控制、工艺过程控制、信号测试与诊断等领域,因此广义上的PLC,亦包括可编程自动化控制器、可编程控制器。
相对于PLC硬件的固态化与显性化,PLC软件具备更灵活的柔性与更强的扩展性,成为PLC产品功能实现与性能提升的关键载体,因此,PLC软件质量亦成为工业控制系统质量与可靠性的关键。PLC软件广泛应用于各类测试设备、实验装置、装检设备以及高端工艺装备等,在自动化与智能化控制、安全性与可靠性等方面发挥着重要作用。
集成化装检设备离不开PLC软件。实现装检自动化,包括实现传感仪表信号检测、流程自动控制、状态监控、应急安全处理及报警等需要高质量、高可靠性的PLC软件。因此PLC软件是实现装检自动化与智能化的保障,可以显著提升产品质量可靠性、提高应急响应能力和环境适应能力、降低劳动强度和操作技能要求、减少人体危害风险等。
面向超精密加工领域研发的高端工艺装备,几乎均涉及PLC控制,如金刚车系列机床、磁流变抛光系列机床、激光焊接机床等,实现电机与仪表驱动、人机交互、运动控制、加工工艺过程控制、数据采集、通信及故障诊断等。
在高端工艺装备中,PLC软件作为控制系统的重要组成部分,从功能看, 它是实现运动(协调)控制、开关量逻辑控制、工艺参数与工艺过程控制、数据处理及通信的重要载体;从性能看,它是实现高端工艺装备安全性、可靠性的重要技术手段。
综前所述,PLC软件在当前和未来均存在巨大的现实和潜在需求。相对于PLC软件技术的不断发展,需要在PLC软件管理方面与时俱进。经过分析,以下方面制约了PLC软件的质量与研发进度。
①使用的PLC产品种类繁多,各PLC产品技术差异性大,包括平台架构方式、编程与测试方法等,导致PLC软件设计差异性大,尚未结合本单位产品特点形成相应的PLC软件技术规范。
②PLC软件开发人员分工不明确,设计、编码与测试多由同一人承担,软件质量与开发进度无法保证,人员更替对项目研发和后期维护影响较大。
③PLC软件开发过程活动、软件相关开发文档和软件版本,未进行有效管控,导致PLC软件质量与开发进度成为项目发展的瓶颈之一。
④针对PLC软件的测试平台和测试手段较为欠缺,测试过程缺乏规范。
大量研究和实践表明,软件工程化是提高软件开发质量的必经之路。中国工程物理研究院机械制造工艺研究所在软件工程化管理方面开展了体系研究,于2015年11月通过GJB5000A二级正式评价,形成了软件工程管理手册、管理规范和技术规范,切实提高了本单位软件工程化水平。
但本单位软件工程化管理尚未涵盖PLC软件。有别于其他软件,PLC软件与硬件耦合度高,对硬件平台依赖性大;PLC软件驱动硬件单元,对系统综合性能影响大;PLC软件测试难度大,包括测试平台的搭建、真实工况与异常工况的模拟等;PLC软件涉及更多的接口,包括与机械结构、电气硬件、上位软件及复杂的现场工况。因此,实施PLC软件工程化,加强PLC软件质量控制,确保其有效推动提高PLC软件质量和开发进度,需探索与PLC特点和本单位工业控制系统相适宜的管理办法。
2 PLC软件工程化管理调研
为探索PLC软件工程化管理方法,我们对国内相关单位的PLC软件管理进行了调研。根据调研初步情况,国内还没有单位将PLC软件纳入GJB5000A体系进行管理,尚未针对PLC软件形成工程体系化的管理方法和规范。一般均将PLC软件纳入电气控制系统管理,存在与电气硬件强耦合、开发角色分工不明确等带来的一些问题,包括PLC软件规格需求不清晰、开发过程无法有效跟踪和控制、测试不规范、PLC软件质量对人的依赖性大等。但从调研单位的工程实践看,有诸多可供加强PLC软件质量控制的有效手段。
机床厂专机的控制软件,与本单位PLC软件具有较大相似度。机床厂对专机在控制软件界定及分类管理、设计原则和技术要求、评审与软件验证、软件版本管理等方面,进行了规范与要求。
同为下位控制的PLC软件,可借鉴FPGA软件管理。虽然FPGA软件面向芯片级、侧重时序逻辑,而PLC软件面向控制系统集成,两者在技术上差异性较大,但在管理方面具有较大的相似性。该院对FPGA软件质量进行了有效的体系管理,形成了设计准则及测试规范等,相关管理经验包括配置、需求、角色分配、评审与测试规范等方面,对于PLC软件管理均是有益的参考。
重视软件测试。PLC软件测试,包括测试平台的搭建和测试方法的构建、PLC程序的执行效率、PLC软件的配置与移植、PLC软件对硬件变化或性能衰减的适应性、PLC软件对控制系统总体的安全性和可靠性影响等内容。从调研情况看,分阶段(包括单元测试、接口测试、集成测试)、多方法(包括数字仿真、硬件在回路、形式化验证等)测试是有益的,同时,编制测试规范、测试计划及测试过程需要对相关控制软硬件知识的深入认识。
3 PLC软件工程化管理初探
作为总装备部组织国内专家制定、用于指导军用软件研制机构改善软件过程和加强软件开发过程控制与管理的标准,GJB5000A对提升软件研制质量和管理水平、实现软件研制能力由基于个人的能力转变为组织的能力,提供了科学管理理念和做法。本单位在高端工艺装备多个软件项目开发中推行GJB5000A,切实提升了上位控制软件的研制质量。鉴于国内尚未将GJB5000A涵盖PLC软件管理的现状,本单位PLC软件管理遵循GJB5000A“服务于本单位组织目标和质量目标、追求有效性和适用性,渐进推进”的思想,结合本单位PLC软件和组织特点,对PLC软件工程化管理进行了初步探索与管理实践。
基于本单位的软件工程管理体系(QJZ53/54/55),结合本单位PLC软件特点、PLC软件研制管理基础等,借鉴同行相关管理方法,形成适宜于本单位PLC软件应用需求、与研发人员能力和组织管理水平相匹配的PLC软件研制管理要求,按此要求,在武器型号装检设备及高端工艺装备项目中,推行PLC软件工程化项目试点,通过项目实践及时总结评价,在实践中不断提升人员的研发和管理能力、组织管理水平,并迭代完善PLC软件研制管理要求,从而引导、促进PLC软件研制能力成熟度不断进步。
如前所述,将制约本单位当前PLC软件质量和项目进度的这些薄弱环节,设置为重要环节和节点,纳入质量目标加以规范管理,并基于GJB5000A本地化的软件工程管理体系进行裁剪简化,形成PLC软件研制管理要求,其流程:重点从项目开发的人员配置、过程重要节点管控和测试规范、文档质量等方面推进PLC软件工程化管理。
3.1 人员配置
改变设计、编码与测试由同一人承担的开发方式,软件开发人员至少由2人构成,包括需求与设计员、程序编码员(根据目前人员情况,需求与设计员和程序编码员可以由同一人承担)、程序测试员。
软件工程化总是关注过程,而过程的关键因素是人。针对当前PLC研发人员不熟悉GJB5000A体系、而掌握GJB5000A的人员又不理解PLC技术的现况,一方面开展培训,提高专业技术人员在PLC技术及软件工程化管理两方面的知识储备;另一方面,让专业技术人员参与数项PLC软件工程化试点项目,并交叉承担开发人员、QA、CM、测试人员等不同角色,在过程实践中理解各角色要求、发现问题、改进方法、形成共识,进而形成两类人员相互匹配和相互促进的持续改进过程。
3.2 重视设计文档,管控关键过程
加强并规范源头设计,重视设计文档,对关键过程活动进行管控。重点对软件研制任务书、软件需求规格说明书、软件设计说明书,进行评审确保设计文档质量。评审通过后,才能进行下环节,即根据软件研制任务书、软件需求规格说明,进行软件设计工作,形成软件设计说明书、软件测试计划与说明书,指导软件编码设计和测试工作。
简化文档形式,强化文档内容,确保设计文档能有效提升PLC软件质量和开发进度。鉴于PLC软件与子系统(包含机械结构、电气硬件和上位软件)涉及多接口,重点要求对接口详细分析和说明;要求以流程框图对控制功能模块的逻辑进行说明。
3.3 以软件测试推动PLC软件工程化
规范并加强PLC软件测试工作。PLC软件测试包括单元测试和系统集成测试,由项目组内部控制,测试前要求编制测试计划与说明书,由程序测试员根据测试计划与说明书,进行测试、迭代优化;测试后,编制软件测试报告。测试过程中,除测试软件研制任务书要求的功能与性能外,重点考察下位软件对控制系统安全性、可靠性的防护和保障,考察程序的执行效率和关键信号的实时响应性。
3.4 加强软件版本进行控制管理
参照软件工程管理手册,对PLC软件建立至少两级受控库,并进行分级受控库的配置管理。针对PLC涉及多接口及对系统影响直接,加强版本变更对影响域的详细分析与说明。
4 小结
GJB5000A对软件研制提供了一套科学管理理念和做法,这是一个结合单位实际实现软件质量持续优化、不断改进的过程,对刚起步的PLC软件工程化管理尤其如此。今后,将在GJB5000A体系涵盖PLC软件研制的基础上,结合各试点项目反馈,持续优化PLC软件的管理活动,完善PLC软件技术规范,切实加强PLC软件质量控制。
参 考 文 献
9.学习protel软件的体会 篇九
摘要:介绍了Protel 99 SE的系统结构、主要特色以及在电路设计中的应用,指出了设计中出现的问题,并给出了具体的解决方法。
关键词:Protel 99 SE;电路原理图;印刷电路板;电路设计
2007年8月,在江苏省教育厅统一组织的“四新培训”活动中,我参加了由东南大学举办的“电子线路CAD——protel软件应用”培训。
作为初学者,我通过为期8天的学习,比较全面地了解和掌握了绘制、编辑电路原理图和印制电路图的方法和技巧,并能处理一些常见问题。在对protel软件的学习中,我有不少心得体会,下面我就谈一下我的学习体会。
一、简要介绍Protel软件。Protel是protel公司在80年代末推出的一款功能强大的电路CAD软件,其所设计的电子电路产品范围,涵盖了从小型的电子产品,一直到复杂的电子计算机,是目前国内电子行业使用最广泛的电子电路设计软件。我所学习的Protel 99 SE 是Protel公司推出的最新版本,应用于电路原理图设计、电路板设计等,他基于Windows环境,功能强大,人机界面友好,能让人们在具有最完整的功能环境下,提升设计上的品质和效率。
二、Protel99SE软件的组成。Protel99SE由五大系统构成。
1.原理图设计系统---原理图设计系统是用于原理图设计的Advanced Schematic 系统。这部分包括用于设计原理图的原理图编辑器Sch以及用于修改、生成零件的零件库编辑器SCHLib。
2.印刷电路板设计系统---印刷电路板设计系统是用于电路板设计的 Advanced PCB。这部分包括用于设计电路板的电路板编辑器PCB以及用于修改、生成零件封装的零件封装编辑器PCBLib。
3.信号模拟仿真系统---信号模拟仿真系统是用于原理图上进行信号模拟仿真的SPICE 3f5系统。4.可编程逻辑设计系统---可编程逻辑设计系统是基于CUPL的集成于原理图设计系统的PLD设计系统。5.Protel99SE内置编辑器---这部分包括用于显示、编辑文本的文本编辑器Text和用于显示、编辑电子表格的电子表格编辑器Spread。
三、Protel99SE的主要特色。
1.Protel99SE系统针对Windows NT4/9X作了纯32位代码优化,使得Protel99SE设计系统运行稳定而且高效。
2.SmartTool(智能工具)技术将所有的设计工具集成在单一的设计环境中;SmartDoc(智能文档)技术将所有的设计数据文件储存在单一的设计数据库中,用设计管理器来统一管理;SmartTeam(智能工作组)技术能让多个设计者通过网络安全地对同一设计进行单独设计,再通过工作组管理功能将各个部分集成到设计管理器中。
3.对印刷电路板设计时的自动布局采用两种不同的布局方式,即组群式和基于统计方式;新增加了自动布局规则设计功能;增强的交互式布局和布线模式。
4.电路板信号完整性规则设计和检查功能可以检测出潜在的阻抗匹配、信号传播延时和信号过载等问题;广泛的集成向导功能引导设计人员完成复杂的工作。
5.原理图到印刷电路板的更新功能加强了Sch和PCB之间的联系;可以用标准或者用户自定义模板来生成新的原理图文件;集成的原理图设计系统收集了超过60000个元器件。6.通过完整的SPICE 3f5仿真系统可以在原理图中直接进行信号仿真;可以选择超过60种工业标准计算机电路板布线模板或者用户可以自己生成一个电路板模板。
四、用Protel99SE进行电路设计的基本步骤。1.设计电路原理图
电路原理图的设计是整个电路设计的基础,因此电路原理图要设计好,以免影响后面 的设计工作。电路原理图的设计一般有如下步骤:
(1)设置原理图设计环境;(2)放置元件;(3)原理图布线;(4)编辑和调整;(5)检查原理图;(6)生成网络表。
2.设计印刷电路板
印刷电路板设计是从电路原理图变成一个具体产品的必经之路,因此,印刷电路板设计是电路设计中最重要、最关键的一步。通常,印刷电路板设计的具体步骤如下:
(1)规划电路板;(2)设置参数;(3)装入网络表;(4)元器件布局;(5)自动布线;(6)手工调整。
五、实例
下面以两级放大电路的设计来说明Protel 99 SE在电路设计中的应用。
设计要求:(1)使用单层电路板;(2)电源、地线铜膜线的宽度为1.27 mm;(3)一般布线的宽度为0.635 mm。设计电路原理图
原理图设计最基本的要求是正确性,其次是布局合理,最后是在正确性和布局合理的前 提下力求美观。根据以上所述的电路原理图设计步骤,两级放大器电路原理图设计过程如下:(1)启动原理图设计服务器
进入Protel 99 SE,创建一个数据库,执行菜单File/New命令,从框中选择原理图服务器(Schematic Document)图标,双击该图标,建立原理图设计文档。双击文档图标,进入原理图设计服务器界面。(2)设置原理图设计环境
执行菜单Design/Options和Tool/Preferences,设置图纸大小、捕捉栅格、电气栅格等。(3)装入所需的元件库
在设计管理器中选择Browse SCH页面,在Browse区域中的下拉框中选择Library,然后单击ADD/Remove按钮,在弹出的窗口中寻找Protel 99 SE子目录,在该目录中选择Library\SCH路径,在元件库列表中选择所需的元件库,比如Miscellaneous devicesddb,TI Databook库等,单击ADD按钮,即可把元件库增加到元件库管理器中。(4)放置元件
根据实际电路的需要,到元件库中找出所需的元件,然后用元件管理器的Place按钮将元件放置在工作平面上,再根据元件之间的走线把元件调整好。
(5)原理图布线
利用Protel 99 SE提供的各种工具、指令进行布线,将工作平面上的器件用具有电气意义的导线、符号连接起来,构成一个完整的电路原理图。(6)编辑和调整
利用Protel 99 SE 所提供的各种强大的功能对原理图进一步调整和修改,以保证原理图的美观和正确。同时对元件的编号、封装进行定义和设定等。(7)检查原理图
使用Protel 99 SE 的电气规则,即执行菜单命令Tool/REC对画好的电路原理图进行电气规则检查。若有错误,根据错误情况进行改正。(8)生成网络表
网络表是电路原理图设计和印刷电路板设计之间的桥梁,执行菜单命令Design/Create Netlist可以生成具有元件名、元件封装、参数及元件之间连接关系的网络表。经过以上的步骤,完成了两级放大电路原理图的设计。两级放大电路原理图如下所示:
2.印刷电路板的设计
电路设计的最终目的是为了设计出电子产品,而电子产品的物理结构是通过印刷电路板来实现的。Protel 99 SE为设计者提供了一个完整的电路板设计环境,使电路设计更加方便有效。应用Protel 99 SE设计印刷电路板过程如下:(1)启动印刷电路板设计服务器 执行菜单File/New命令,从框中选择PCB设计服务器(PCB Document)图标,双击该图标,建立PCB设计文档。双击文档图标,进入PCB设计服务器界面。(2)规划电路板
根据要设计的电路确定电路板的尺寸。选取Keep Out Layer复选框,执行菜单命令Place/Keepout/Track,绘制电路板的边框。执行菜单Design/Options,在“Signal Lager”中选择Bottom Lager,把电路板定义为单面板。(3)设置参数
参数设置是电路板设计的非常重要的步骤,执行菜单命令Design/Rules,左键单击Routing按钮,根据设计要求,在规则类(Rules Classes)中设置参数。
选择Routing Layer,对布线工作层进行设置:左键单击Properties,在“布线工作层面设置”对话框的“Pule Attributes”选项中设置Tod Layer为“Not Used”、设置 Bottom Layer为“Any”。选择Width Constraint,对地线线宽进行设置:左键单击Add按钮,进入线宽规则设置界面,首先在Rule Scope区域的Filter Kind选择框中选择Net,然后在Net下拉框中选择GND,再在Rule Attributes区域将Minimum width、Maximum width和Preferred三个输入框的线宽设置为1.27 mm;
电源线宽的设置:在Net下拉框中选择VCC,其他与地线线宽设置相同;
整板线宽设置:在Filter Kind选择框中选择Whole Board,然后将Minimum width,Maximum width和Preferred三个输入框的线宽设置为0.635 mm。(4)装入元件封装库
执行菜单命令Design/Add/Remove Library,在“添加/删除元件库”对话框中选取所有元件所对应的元件封装库,例如:PCB Footprint,Transistor,General IC,International Rectifiers等。(5)装入网络表
执行菜单Design/Load Nets命令,然后在弹出的窗口中单击Browse按钮,再在弹出的窗口中选择电路原理图设计生成的网络表文件(扩展名为Net),如果没有错误,单击Execute。若出现错误提示,必须更改错误。(6)元器件布局
Protel 99 SE既可以进行自动布局也可以进行手工布局,执行菜单命令Tools/Auto Placement/Auto Placer可以自动布局。布局是布线关键性的一步,为了使布局更加合理,最好采用手工布局方式。(7)自动布线
Protel 99 SE采用世界最先进的无网格、基于形状的对角线自动布线技术。执行菜单命令Auto Routing/All,并在弹出的窗口中单击Route all按钮,程序即对印刷电路板进行自动布线。只要设置有关参数,元件布局合理,自动布线的成功率几乎是100%。
(8)手工调整自动布线结束后,可能存在一些令人不满意的地方,可以手工调整,把电路板设计得尽善尽美。
(9)打印输出印刷电路板图执行菜单命令File/Print/Preview,形成扩展名为PPC的文件,再执行菜单命令File/print Job,就可以打印输出印刷电路板图。
六、设计中的问题及解决方法
虽然Protel 99 SE功能强大,人机界面友好,但在设计过程中往往遇到一些问题。
1.生成的印刷电路板图与电路原理图不相符,有一些元件没有连上。这种情况时有发生,问题出在原理图上,原理图看上去是连上了,但画图不符合规范,导致未连接上。不规范的连线有:
①连线超过元器件的断点; ②连线的两部分有重复。
解决方法是在画原理图连线时,应尽量做到: ①在元件端点处连线;
②元器件连线尽量一线连通。
2.在印刷电路板设计中装入网络表时元器件不能完全调入。原因有: ①原理图中未定义元件的封装形式;
②印刷电路板封装的名称不存在,致使在封装库中找不到;
③封装可以找到,但元件的管脚名称与印刷电路板库中封装的管脚名称不一致。解决方法:
①到网络表文档中查找未定义封装的元件,补上元件封装; ②确认印刷电路板元件封装库是否已调入,同时检查原理图中元件封装名称是否与印刷电路板元件封装库中的名称是否一致;
③将印刷电路板元件封装库中的元件修改成与原理图中定义的一致。如三极管的管脚名称在原理图中定义为1,2,3,而在印刷电路板封装库中焊盘序号定义为E,B,C,必须修改印刷电路板封装库中的三极管管脚名称,使他与原理图中定义的三极管管脚名称一致。
七、结语
随着电子工业的飞速发展,电路设计越来越复杂,手工设计越来越难以适应形势发展的需要,Protel 99 SE以其强大的功能、快捷实用的操作界面及良好的开放性,为设计者提供了现代电子设计手段,使设计者能快捷、准确地设计出满意的电路原理图和印刷电路板,不愧是从事电路设计的一个良好的工具。参考文献
[1]夏路易,石宗义.电路原理图与电路板设计教程.北京:北京希望电子工业出版社,2002
[2]崔玮.Protel 99 SE电路原理图与电路板设计教程.北京:海洋出版社,2005
[3]郭勇,许弋,刘豫东.EDA技术基础.北京:机械工业出版社,2001
【软件实践的学习体会】推荐阅读:
软件工程实践报告07-06
供应链管理试验 浙科物流软件上机实践 内蒙古科技大学09-16
有创意的学习软件广告词06-11
鲁班算量软件运用的体会08-22
仿真软件学习心得07-28
软件开发项目风险管理的几点体会07-28
软件工程学习报告10-08
学习软件工程心得体会10-23
学习java用什么软件09-26
大学软件测试学习总结11-09