软件工程项目实践教程

2024-10-17 版权声明 我要投稿

软件工程项目实践教程(精选8篇)

软件工程项目实践教程 篇1

第一章 软件工程概述

1.2软件工程发展简史

20世纪70年代,第一代软件工程,即传统软件工程。80年代,第二代即对象工程。90年代第三代即构件工程。

1.3软件工程的定义和目标

软件工程是将系统化的、规范的、可度量的方法应用于软件的开发运行和维护过程,也就是将工程化应用于软件开发和管理之中。

软件工程研究的主要目标是软件开发技术和软件开发管理两个方面。

目标:(1)合理预算开发成本,付出较低的开发费用;(2)实现预期的软件功能,达到较好的软件性能,满足用户的需求。(3)提高所开发软件的可维护性,降低维护费用。(4)提高软件开发生产率,及时交付使用。

1.4 软件工程的7条基本原理

1.用分阶段的生命周期计划严格管理。2.进行阶段证实是。3.实行严格的产品控制。4.采用现代程序设计技术。5.结果应能清楚地审查。6.开发小组的人员应该少而精。7.承认不断改进软件工程实践的必要性。

1.5 软件生命周期模型

可行性研究、需求分析、设计、实现、测试和集成、维护

瀑布模型、快速原型化模型、演化模型、螺旋模型、构件组装模型

1.6软件工程过程

第一级 初始级、第二级 可重复级、第三级 定义级、第四级 管理级、第五级 优化级

1.7 软件开发方法简述

1.Parnas方法有两个闪光点:信息隐藏技术;错误预防技术。

信息隐藏技术:在概要设计时列出可能会发生变化的因素,并在模块划分时将这些因素放到个别模块的内部。

错误预防:在每个可能产生的错误之前增加一些判断,防止软件出现不可预料的结果。

2.Yourdon方法3.面向数据结构的软件开发方法4 问题分析方法PAM5.面向对象的软件开发方法6.可视化开发方法

1.8 软件工程相关的技术规范、标准和最新文献的信息源

CMM规范、ISO9000-

3、ISO/IEC12207标准、PSP规范、TSP规范、软件配置管理系列标准、JAVA规范、C++规范、Unicode标准、其他资料

第二章可行性研究

2.2可行性研究的步骤

1.复查系统的规模和目标2.研究目前正在使用的系统3.导出新系统的高层逻辑模型4.进一步定义问题5.导出和评价供选择的解法6.推荐行动方针7.草拟开发计划8.书写文档提交审查

2.3 可行性分析的要素经济、技术、社会环境、人

2.4 成本/效益分析

2.4.1 程序规模估算

第一种方法:根据以前做过的类似项目规模与新项目规模的比例关系,对照以前项目的工作量求出新项目的工作量。

第二种方法:基于功能点的估算方法,该方法中确定了5个信息域特性:输入项数,输出项数,查询数,主文件数和外部接口数。

2.4.2 工作量估算

1.IBM模型 2..Putnam模型3.COCOMO||模型

2.4.3 成本/效益分析方法

1.倾向的时间价值 2.投资回收期 3.纯收入 4.投资回收率

第三章需求工程

3.1 需求工程的概念

需求工程由需求开发和需求管理组成。需求开发是指需求的获取、分析、规格说明和验证。需求管理是在软件开发过程中对需求开发结果的控制、跟踪和管理。

3.1.1 需求分类分为4个层次:业务需求、用户需求、功能需求和非功能需求。业务需求是反映组织机构或客户对软件高层次的目标要求。

用户需求是用户使用该软件要完成的任务。

功能需求定义了软件开发人员必须实现的软件功能。

非功能需求是对功能需求的补充。

3.1.2 需求工程的主要活动

需求开发的活动:获得需求;分析需求;编写需求规格说明书;审查需求。

需求管理的活动:需求变更控制;需求版本控制;需求跟踪;需求状态跟踪控制。

3.1.3 高质量需求的特征

需求开发阶段的主要产品是软件需求规格说明书,在评审过程中应特别关注下面几点: 完整性,正确性,可行性,必要性,划分优先性,无二义性

3.1.4 影响需求质量的因素

1.用户需求不断增加 2.模棱两可的需求 3.用户不配合 4.过于精简的需求说明 5.忽略了用户的分类 6.不准确计划 7.不必要的特性

3.3 需求获取方法

调研计划包括:调研的部门,调研前的培训内容,调研的时间和地点,设计调研访谈表,调研结果分析,调研报告的格式和内容。

1.发现问题及时与开发人员沟通。2.用户必须坚持需求审查。

3.3.1 必须向用户交代的两个重要问题

第一,软件开发与其他产品的开发过程一样是分阶段的,每个阶段都有阶段产品。第二,分阶段审查产品时产品的合格标准是什么?

需要提交的阶段产品及其主要内容和提交时间:软件范围和目标说明书;软件调研报告;软件开发计划书;软件需求分析规格说明书;软件设计规格说明书;软件模块开发卷宗;软件测试计划书;软件测试报告;软件用户手册;软件开发月报。

3.4 定义软件的质量属性

有效性:指在预定的时间内系统正常运行时间的比例。

高效性:系统效率用来衡量处理器优化、磁盘和内在空间利用率、通信带宽利用率等系统资源的使用情况。

灵活性/可修改性:灵活性反映在软件中添加新功能时所需要的工作量。

安全性:保证系统不被非法访问,防止数据丢失、防止病毒入侵、防止私人数据进入系统。互操作性:表明产品与其他系统交换信息和使用服务的难易程度。

可靠性:可靠性指标是软件在给定时间间隔内按照规格说明书的规定正常运行的概率。健壮性:指当软件遇到非法输入数据或相关的运行环境出现异常软件仍能正确运行的程度。易用性:可指对用户某项操作的时间要求,也可指用户学习操作软件所用的时间要求,或者是对软件操作形式的要求。

可维护性:它描述纠正一个缺陷或进行一个变更的简易程度。

可移植性:度量把软件从一种环境移到另一种环境中所花费的工作量。

可重用性:表明一个软件组件可用于其他软件的程度。

可测试性:指测试软件时缺陷的简易程度。

可理解性:指人们通过阅读程序源代码和相关文档了解程序功能、结构和运行方式的容易程度。

3.5 需求优先级

3.7 需求管理

目的:保障需求规格说明书与软件产品的一致性;控制需求变更对项目开发的影响;使需求活动与计划保持一致。

第四章 结构化分析

4.1 结构化分析的主要工具

结构化分析方法研究的核心是数据的组成、数据流向和对数据的加工处理。

4.1.3 数据字典主要用来描述数据流程图中的数据流、数据存储、处理过程和外部实体。数据流是数据结构中的数据在系统内的传播路径。

数据元素是数据处理中最小的、不可分割的单位,它直接反映事物的某个属性。

4.1.6 实体关系图它给出了一组基本的构件:数据对象、属性、关系和各种类型指示符,主要目的是表示数据对象及其关系。

4.2 结构化分析方法的实现步骤

两条基本原则:必须要理解问题的数据域和功能域;按自顶向下、逐层分解的方式对问题进行分解和细化。

步骤;1.信息分析 2.回溯 3.补充 4.确定非功能需求 5.复查 6.画出软件的功能结构图 7.修正开发计划 8.编写需求文档。

4.3 结构化分析规格说明书

第5章 结构化软件设计

5.1 软件设计的过程

典型总体设计过程:1.设想供选择的方案对每种合理的方案都应该备下列四份资料:系统流程图,组成系统的元素清单,成本/效益分析,实现这个方案的进度计划。2.推荐最佳方案 3.功能分解 4.设计软件结构 5.数据设计 6.制定测试计划 7.书写文档 8.设计审查和复审

9.评审详细设计

5.2 软件设计原则和影响设计的因素

原则:1.多样化设计 2.设计可回溯到需求 3.充分利用已有的模块 4.设计应该表现出一致性和规范性 5.设计的易修改性 6.容错性设计 7.设计的粒度要适当 8.在设计时就要开始评估软件的质量 9.设计评审

5.3 软件设计的概念

5.3.1 模块

一般把用一个名字就可调用的一段程序称为“模块”。模块具有如下三个属性:功能、逻辑、状态

5.3.2 模块化

模块化就是把整个系统划分成若干个模块,每个模块完成一个子功能,将多个模块组织起来实现整个系统的功能。

5.3.3 模块独立性

反映模块独立性的有两个标准:内聚和耦合1.耦合:指模块间相互关联的程度

耦合分为7类:内容耦合、公共耦合、外部耦合、控制耦合、数据结构耦合、数据耦合、非

直接耦合、2.内聚:指一个模块内部各元素之间的紧密程度

巧合内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、信息内聚、功能内聚。

5.5 结构化设计方法

具体流程:1.首先分析流程图的类型 2.将数据流程图映射为结构图 3.用“因子分解”方法定义软件的层次结构。4.优化设计结构

5.5.1 数据流和类型:交换流、事务流

5.5.2 变换分析变换分析方法由以下四步组成:重画数据流程图;区分逻辑输入、逻辑输出和中心变换部分;进行第一级分解,设计上层模块;进行第二级分解,设计中、下层模块。

5.7 优化软件设计

规则1:模块功能完善化 规则2:设计功能单一和结果可预测的模块 规则3:消除重复功能规则4:模块的作秀范围应在控制范围之内 规则5:模块的大小要适中 规则6:尽可能减少高扇入的结构 规则7.将模块中相对变化较大的部分剥离出去

5.8 设计复查

复查过程分为三部:首先,采用概要设计复查的方法来检查在概念上的设计;然后,在关键设计审查中,应向其他开发者描述关键技术上的设计细节;最后,进行程序设计的复查,程序设计的复查羽毛球详细设计阶段。

5.9 数据设计

5.9.1 数据设计的原则:1.用于软件的系统化方法也适用于数据,在导出、评审定义软件需求和软件体系结构时,必须定义和评审其中用到的数据流、数据对象、数据结构。2.确定所有的数据结构以及在每种数据结构上实施的操作。3.应该建立一个数据字典,用它来定义数据和软件的设计。4.底层数据设计的决策应该推迟到设计过程的后期进行,在数据设计中也可以使用自顶向下、逐步细化的方法。5.数据设计要遵从信息隐藏原则,只有那些相关的模块才能访问相应的数据结构,数据结构的逻辑表示与物理表示要分开。6.应当创建一个存放数据结构和相关操作的库 7.软件设计和程序设计语言应当支持抽象数据类型的定义和实现,否则,对于一些复杂数据结构的设计和实现可能是非常困难的。

5.9.2 数据结构设计

5.11 详细设计

5.11.1 结构化设计

包括顺序、条件和重复三种结构。顺序结构实现了任何算法定义中的核心处理,条件结构允许根据逻辑情况选择处理方式,重复结构提供了循环。

核心内容:1.程序模块只有一个入口和一个出口 2.程序中只包含顺序、条件和循环三种控制结构 3.详细设计阶段采用自顶向下逐步求精的方法,可以把一个模块的功能爱步分解细化为一个系列具体的处理步骤。

第6章 软件测试

6.1 软件测试的概念

6.1.1 测试定义

从广义上讲,是指软件产品生存周期内所有的检查、评审和确认活动。从狭义上讲,软件测试是为了发现错误而执行程序的过程。

软件测试的原则:1.应该把测试贯穿在整个开发过程之中 2.每个测试用例都应该包括测试输入数据和这组数据输入作用下的预期输出结果。3.要对每个测试结果进行全面检查,不要漏掉已经出现的错误迹象。5.在设计测试用例时,应该包括有效的、期望的输入情况,也要包括无效的和不期望的输入情况。6.软件中遗留的错误数量与已经发现的错误数量成正比。

7.回归测试的关联性要特别引起注意,修改一个错误而想起更多我错误的现象并不少见 8.测试程序时不公要检查程序是否做了它应该做的事情,还要检查它是否做了不该做的事情。

软件工程项目实践教程 篇2

关键词:软件工程,工程化,课程设置

引言

作为计算机学科的重要分支,"软件工程"课程的研究显得尤为重要。据悉,全国很多高校均开设了软件工程专业和计算机科学与技术专业的课程,但是各部门也都显示出不少弊端,如:教材选材不精湛甚至不当、师资力量欠缺、学生学习缺乏主动性等问题接踵而来。因此,要想让软件工程这门课程有更健全更长远的发展,首先要从实际情况出发,摸清教学规律,彻底改变软件工程的教学理念,辅以改革教学模式,尽可能最大限度的投入人力、物力,合理调整课程知识体系和教学内容,从而做到有的放矢。

一、软件工程课程的现状与危机

目前,软件工程专业作为新兴的行业,与传统行业(如、;机械行业、建筑行业等)相比,还比较稚嫩。尽管各高校陆续开设了软件工程课程,但是由于各个方面的原因。使得软件工程教学中阻力很大,一些教师对软件工程的教学缺乏经验,不能准确定位教学目标,课堂内外犹如盲人指瞎马,使得教学成果鲜有成效。因此,毕业生中还有相当多一部分同学并没有掌握软件工程的精髓,有一些软件工程专业的学生甚至连毕业设计都很难通过,这种情形着实让人担忧。再一,为了紧跟教育的节奏,一些学校采用填鸭式的教学方式,因为缺乏实质性的教育,没能了解到学生有自然语言过度到形式语言,要有一个过渡期,使得学生对软件工程专业是又惧又怕,一些学生恍惚度日,四年光阴白白虚度,以至于到毕业前夕求职四处碰壁。这样的例子屡见不鲜。综上所述,软件工程专业的发展不但不会稳步向前,还有可能停滞衰退。

二、软件工程课程的设置与分析

软件工程课程是计算机科学技术的分枝,因此,软件专业的学生不可能只学习软件工程这一门课程,各大高校总是结合实际情况,开设一些辅助性专业,如JAVA, C#, 数据库等相近专业。这些课程之间关系密切,但有些学校脱离实际,部分不分主次的删减专业课课程,或是只开设不重视。以下是从全国开设软件工程专业的302所院校中选取的几个例子:

从表格中我们不难发现:很多学校软件工程专业开设的课程有重叠,比如离散数学,当然我们不能说开设专业课多切详细的学校就好,也不能说开设课程相对较少的学校就差,还是那句话,除了开设之外,还要重视,既不能随便删减,也不可以应付了事;

三、软件工程学科的建议

学校方面:

1)增强师资力量的培养;

主要是要求高校积极吸纳软件工程专业研究领域的精英、骨干,从事教学工作,充分发挥教师在在该工程实践领域内的专业优势。

2)增设软件工程实验室,实训基地。

各高校应充分了解到软件工程学科的重要性,加强资金的投入,建立实验室,配备实验器材,让学生有良好的学习环境,提高学习兴趣。

3)定期派遣教师参加科学调研,社会调研活动。

高校应申请专门的资金用于安排教师进行社会调研活动,并对该项资金实行专款专用,组织教师集体备课,资源共享,组织教学观摩。

教师方面

1)因材施教、紧扣大纲,突出重点、难点。教师应该是具有相关专业知识的教学能手,懂得难易结合,能领会大纲主题与精神,做到教授时知识点"源于大纲,高于大纲"。其次,还要求教师会分层教学。

2)激发学生对软件工程这门课程的学习兴趣。教师应该具备出专业知识以外的特长,表达能力强,有幽默性,能和学生打成一片。会适时适地的引导学生,让学生怀着愉悦的心情学习科学文化知识。

学生方面:

1)积极主动认真地学习知识要领。作为学生,要以学好理论知识为己任,自觉自主的利用学校提供的教学条件,进行学习。

2)注重学习效率,理论与实践结合。

作为学生,不光要学习科学文化知识,还应学好相关知识,联系教师教授的知识,辅以课本,坚持不懈的做实验,真正做到理论联系实际,做到凡事有理可依,有据可证。

结语:

软件工程这门课内容较全面、系统,应用性强,可操作性强。那么,如何将软件工程专业推向一个制高点,从而巩固和发展这门课程呢?,这就要求学校、教师、学生三位一体,各尽其职加强软件工程的建设和改进工作,稳步实现教学与社会要求挂钩的教育体系。

参考文献

[1]石海燕, 普通高校软件工程教学模式改革与实践探究, 大学计算机课程报告论坛论文集 (2009) [C].北京:高等教育出版社, 2009.

[2]吴澎, 张颖, 杨德国、冯海文, 信息化形势下"软件工程"课程教学方法的改革, 大学计算机课程报告论坛论文集 (2009) [C].北京:高等教育出版社, 2009.

软件工程项目实践教程 篇3

Android平台丰富的软件对于平板、智能MP4产品用户来说是不小的诱惑,不过对于新购机用户来说,海量应用软件及游戏的下载安装得花上不少时间,笔者今天在这里就以昂达Vi10为例,为大家介绍如何用G蛋管理软件轻松实现软件的批量安装,让你可以轻松“克隆”其它机友们的软件/游戏,更好地体验Android的应用性。

首先在精致网下载G蛋Android应用管理器,再将MP4连接到电脑,打开G蛋Android应用管理器后,软件会自动识别设备。连接成功后,点击“应用管理”,进入应用管理页,选择“添加本地应用”。找到自己下载的APK格式的应用程序所在目录,添加需要安装到设备的程序。表右上方“加单个应用”及“添加整个目录”两个按钮分别对应添加一款本地应用以及批量添加整个目录下所有的APK应用(如图1)。此时本地应用列表中显示的就是刚才添加的所有应用了,显示的应用信息非常详细!如果只需要安装一款应用,则选中该款应用,并点击右下方“安装选中应用”按钮即可。点击旁边的“安装全部应用”按钮,可以批量安装列表中所有的应用到设备。想知道安装完成与否,可以点击右下角的“查看安装记录”。显示“安装成功”的程序,即可通过MP4运行(如图2)。

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

卡丽来教程(一)软件教程 篇4

输入部分

鼠标双击“Windows”窗口下的“卡丽来相片VCD制作系统”图标

出现启动界面

稍等几秒,进入“卡丽来相片VCD制作系统”主操作界面(注意:软件安装成功后,第一次启动到主操作界面的时间将比较长,大约两分钟至三分钟左右,主程序正在构建各素材库路径,请耐心等待,因为仅限于第一次)

鼠标点击工具条上的“”扫描按钮,出现对话框

此对话框显示图片文件的来源,即选择什么型号的扫描仪或数码相机输入照片,

如上图显示出电脑主机内已安装的扫描仪驱动程序有“HP3400”与“UMAX600S”,(由于顾客使用扫描仪的品牌、型号各不相同,扫描仪安装成功后显示驱动程序也不相同,您使用的扫描仪只要已安装成功,在此处便可显示)

用鼠标选中目录栏中你所使用扫描仪的驱动程序,例如:“VistaScan32 V2.33”项,鼠标点击“Select”按钮,出现窗口

预先将照片要存储的目录指定,鼠标点击“确定”按钮,出现照片裁剪窗口

鼠标点击裁剪窗口工具栏上的“”扫描图标,出现扫描界面(由于顾客使用扫描仪的品牌、型号各不相同,扫描仪安装成功后扫描界面不尽相同,但操作大体一致,以下以UMAX Astra 600S平台扫描仪为例)

扫描仪内的各种参数最好不要调节,使用默认设置,唯一改变的是“精度设置”(最常见的5R照片的扫描精度建议调整为200dpi)鼠标点击“”预视按钮,在扫描仪右边的工作区将显示所放置在扫描仪内照片的大小、位置

显示出照片后,划出扫描位置(一闪烁虚线框),如工作区内原来已划出,用鼠标放置在闪烁线上,待鼠标变为双箭头图标时,按住鼠标左键调节虚框大小至合适位置。

鼠标点击“”扫描图标,进行扫描,扫描完成后鼠标点击“退出”按钮关闭扫描窗口,照片显示在“照片裁剪”项目栏中

用鼠标点击工具栏上“”增加裁剪模板按钮,出现裁剪虚线框

将鼠标放置在裁剪虚线框内,鼠标形状变为十字型按钮,按住鼠标左键拖曳虚线框至某一张照片位置,将鼠标放置在闪烁线上,待鼠标变为双箭头图标时,按住鼠标左键调节虚框大小与照片大小相同。

一般扫描仪可一次扫描5R照片5张,将裁剪框调节与某一照片大小相同后,继续点按增加裁剪框按钮,使5个裁剪框与5张照片相对应

安排好需要裁剪照片的虚框大小,其次就是照片的方向问题。在每个裁剪框的中心,有一个白色箭头,将鼠标放置在箭头上,鼠标形状改变为一手型图标,每点击鼠标左键一次,白色箭头便旋转90度,将箭头所指方向指向照片的上方,如下图即可

将所有裁剪框内的箭头对齐所有照片的上方后,鼠标点击“”加入照片按钮,照片将依次裁剪到主窗口原始照片栏中

进行完第一组照片的输入,鼠标再点按“”扫描键,继续其它照片的扫描直至完成所有照片的输入工作。

在所有照片都加入原始照片栏后,鼠标点按“”储存按钮,弹出对话框

将原始照片的信息储存为项目文件“*.erc”。

常用技巧:

为了提高工作效率,在扫描剩下的每组5张5R照片时候,将照片在扫描仪上的摆放位置与第一次扫描时的位置一样(横三张,竖两张),这样便可以不用再预视照片位置,直接扫描

在照片裁剪窗口中,将5个裁剪虚线框对齐5张照片后,鼠标点按工具栏上的“”保存裁剪模板按钮,存储为“*.esm”模板文件,在以后的使用中直接调取来使用

照片制作为光盘,在VCD机上播放时,由于受到VCD精度(352象素X288象素)的限制,照片播放的清晰度会比原照差,人物照片的影响尤为突出,人物在照片内的比例越小,则播放的效果越差,因此建议在扫描人物照片时,尽可能将人物的形象突出,在电视画面内的比例加大,其它可删可减的背景则不加入。

一种特殊方法的使用

一些人物照片,由于人物背景具有一定的纪念意义,必须在电视画面中全部显示出来,但人物相对比例则很小,观看人物影像便不清楚,便需要在节目中安排一个全景和局部设计,可使用以下方法实现

照片扫描到裁剪窗口,用鼠标点击工具栏上“

常见刻录软件刻录教程 篇5

我们常说:会的不难、难的不会。现在,网上下载系统ISO镜像文件很多,而且,大多数选择购买拼装机和品牌机的计算机上面,由于刻录机的低价,都会选择具有刻录功能的计算机,

可是,在日常的使用中,我们常常又因系统的崩溃,当作出重新安装操作系统的决定时,却又因自己的手里没有系统安装光盘、也不会具体如何刻录而烦恼。

去吧,上网下载自己喜欢的操作系统版本,利用自己计算机上面的刻录机,刻出一张属于自己,并且满意的系统安装光盘不好吗?不会的来跟教程操练一下。

office办公软件教程 篇6

九、单元格中文本对齐

选中目标单元格→右键单击→单元格对齐方式→选择一种方式或点 (一般选择“中部居中” )

十、其它

1、2、:绘线 :抹线

3、表格→转换→表格转换成文字

第十四课: 第十四课:Word 技巧操作

一、字数统计

工具→字数统计→关闭

二、给文档加密码及设置自动保存

工具→选项→保存 1、在“保存选项”下选择“保存备份” ,并设置“自动保存时间间隔(5 分钟) ” 2、在“打开权限密码”及“修改权限密码”下输入你的密码→再次输入确定密码→ 确定→将该文档保存(工具→保护文档→窗体→设置密码→确定)

三、设置文章的主题

格式→主题→选择一种方式→将下面三个选框都打上“√” →确定

四、制作公式(公式编辑器) 制作公式(公式编辑器)

1、插入 →对象→Microsoft 公式 3.0→确定 2、利用“公式编辑器”工具栏,选择下拉菜单中的内容→选择目标符号进行制作公式 制作完毕,在窗口外点击左键即可 3、如需编辑公式→双击即可 例:

y = ∫x

2 3

x 2 + x m +1 + 1

x1 =

b2 ±

c 2 ? 4ac 4ab

采用辅助软件的工程制图教学实践 篇7

工程制图这门课程学习的好坏直接关系到学生在将来的技术工作岗位上能否独立承担本业务范围内的绘图和读图。我校工程制图课程所教专业都为近机专业, 时间一般安排在新生入学的第一学期, 刚开始学生尚有兴趣学习, 但进入形体投影后, 遇到空间想象力的困难, 需要付出较多的时间去完成一系列的绘图作业, 因此学生逐渐失去学习的兴趣。并且随着近年来课程教改的推进, 工程制图课时越来越少。在实际教学过程中, 学生学完工程制图后无法将前后知识点贯穿起来, 对所学内容理解模糊, 根本就不会运用所学的知识来表达空间物体形状。并且随着科技的发展, 计算机绘图也成为学生的必备技能。无形中更加重了学生学习的困难, 针对存在的问题, 结合教学实践, 本文研究通过加强基础知识的学习, 辅以三维软件实时显示形体, 加深印象, 再要求学生运用CAD软件绘制平面图形。采用辅助软件加深学生学习的印象, 在缩短课时的同时, 取得了不错的学习效果。

1 基础知识的总结

针对实际教学中学生存在的基础不扎实、投影概念混淆的问题, 首先要求学生对于机械图样中国标规定的幅面、标题栏、字体和线型进行记忆。同时要求学生了解正投影法的基本原理, 对于这些基础的并且需要记忆的知识, 学生普遍反映没有问题。而问题主要是出现在点、线、面和截交线, 以及立体和立体相交形成相贯线的投影。针对这些问题, 首先透过具体实例如立方体, 将立方体的三个互相垂直的平面当作三投影面体系, 以立方体的端点的投影向学生说明点的投影, 而两点构成一条线, 知道点的投影就知道了线的投影, 而线又构成面, 面又构成体, 因此只要知道了点的投影, 那么对于组成空间形体最基本的三要素点、线、面的投影就都可以确定。在实际教学中, 告诉学生根据对应的定义在立方体中找到对应的线和面, 通过投影说明其投影特性并用简单浅显的语言概括。见表1。

依据这些投影特性, 可以很快让学生了解这些组成空间形体的最基本的要素的投影。对于比较复杂的空间立体通过切割所形成的截交线、相交形成的相贯线的投影, 首先在理论上让学生知道这些线是由无数个点所组成, 对其投影的求解其实质就是求解点的投影, 这样就将复杂问题简单化, 极大提高了学生学习的信心。

2 辅助软件的应用

在教学中采用三维辅助软件实时绘制立体图形, 就可以帮助学生从不同角度来观察形体的形成过程, 加深学生学习的印象。利用三维软件直观性的优点, 及时把抽象的空间图形转化为学生可亲自观察、能看得到的图形;在了解形体的前提下, 要求学生运用所掌握的知识, 采用CAD软件上机来绘制平面图形, 这有助于学生理解、记忆。

目前主要的三维软件有Solid Works, UG, Pro/E等。除了少数行业需要UG, PROE等高档软件外, 中档的三维软件完全可以满足一般的应用。目前Solid Works是市场份额增长最快、技术发展最快、市场前景最好、性能价格比最优的软件, 选择Solid Works来进行教学[2]。采用Solidworks软件实时绘制三维立体, 就可以帮助学生从不同角度观察形体的形成过程、最终形状及表面交线, 再运用剖面视图直观地呈现不同截面上表面交点的位置, 很容易给学生指出截交线与相贯线上的一些特殊点, 并讲述画法, 可大大节省教学时间。同时, 由于Solidworks建模是一个参数化的设计过程, 当改变立体相交的位置时, 可得到各种不同的相贯线, 能拓展学生空间想象的思路, 进一步提高学生的学习兴趣。比如采用Solidworks建模让学生观察两个直径相等的圆柱正交时的相贯线的空间具体形状及平面投影, 如图1和图2。

针对比较复杂的零件, 学生一时不能想象其空间结构, 更无法完成其实际图形的交线, 采用Solidworks软件的空间便利性, 可结合课本作图理论, 实时向学生展示立体图形的变化以及空间结构的交线的变化, 既简化了教学过程, 又加深了学生的印象。如图3, 给定两个视图, 补全三视图。在实际求解的过程中, 学生很难分清曲线之间的关系, 出错率很高, 结合三维辅助软件Solidwork让学生一步步了解形体外形的变化, 同时利用三维软件显示的变化, 了解其交线的实际形状。通过在CAD上进行补全图形的操作, 加深学生的印象。

对于此题, 首先将形状补全, 让学生了解没切割之前的物体就是一个圆柱体, 那么对于图3中的图形, 其实就是两个平面切割圆柱体后所得的空间立体, 其中一个切割平面与圆柱体的轴线平行一个切割平面与圆柱体的轴线成一定倾角, 分别将这两个切割平面依次切割圆柱体后的立体图给学生进行演示如图4-图5, 让学生明白切割表面所形成的交线的形状。那么对于视图的补画其实就是左视图中截交曲线的绘制, 对于截交线、相贯线的投影都是用立体表面取点或选取辅助面等方法来解决[3], 利用学习Autocad软件的条件, 在帮助学生了解这些截交线或相贯线实际的绘制原理之后, 来求解此题, 利用长对正, 高平齐, 宽相等的投影特性, 先求特殊点的投影, 再求一般点的投影, 最后将这些点的投影光滑连接起来就得到了所需要的空间曲线的投影, 具体如图6-图8。

3 结论

针对具体存在的问题, 结合实际情况, 通过Solidworks得出的三维空间形体可以快速提高学生的空间想象能力, Autocad使学生通过求解更进一步加深对这些空间形体交线的具体认识, 为最终绘制这些形体的实际图样打下扎实的基础, 在此基础上, 通过了解工程制图中的技术规定和技术要求, 学生可以很快的步入工程图样的绘制。采用三维与二维软件相结合的方法, 在实际教学过程中提高了学生的学习热情, 也加深了学生课堂学习的印象, 取得了不错的教学效果。

参考文献

[1]钱可强.工程制图 (第二版) [M].北京:高等教育出版社, 2007, 1-2.

[2]江洪, 吉维峰.运用三维绘图软件Solidworks改革工程图形教学的实践[J].工程图学学报, 2004, 1:109-113.

PLC软件工程化的管理实践 篇8

摘 要:质量是国家竞争力的核心要素,“质量强国”已上升为国家战略。对于武器装备,质量对提高军队战斗力水平、维护国家安全利益意义重大。现代武器装备融合多学科技术,软硬件功能占比不断提高,软件质量对武器装备的可靠性、安全性及综合性能越发重要。为了加强软件研制过程管理,建立与产品特点相适应的管理体系,各国防军工单位先后启动军用软件研制能力成熟度模型认证工作,切实提高了软件工程化水平和软件质量。但对软硬件耦合性强、测试配套依赖性大等特点的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软件质量控制。

参 考 文 献

上一篇:说明文阅读练习题附带参考答案下一篇:社会团体登记管理条例(修订草案征求意见稿)