软件工程技术

2024-05-13

软件工程技术(共12篇)

软件工程技术 篇1

由于互联网的普及,软件产业逐渐在工业、商业、教育、银行、政府等各个领域当中逐渐渗透,同时也称为了人们日常生活当中的重要产业之一。现代应用软件不仅可以为人们带来极大的便利,还能够在实际应用当中对各种领域进行不同程度上的优化,使其提高工作效率。软件的开发应用均以计算机作为基础,因此以计算机为代表的技术成为了一个崭新的互联网及数字化时代。

1 传统软件与现代应用软件

1.1 传统软件

构成软件开发流程的主体为开发周期模型,其中生存期模型为软件工程的具化思想,能够涵盖软件系统开发、运行、维护、企业实施相关活动及任务的所有内容。传统软件开发中包括集中典型的生命周期模型,包括增量模型、演化模型、瀑布模型以及螺旋模型等,在实际软件应用的开发过程当中,每个模型都能发挥自己的作用,但相应也存在很多的不足之处,如果在一个软件开发的过程当中,模型与软件本身所具有的特质不相符,或软件本身及模型的特性在不断发生变化,将很容易导致软件的开发失败,这种情况在以往的软件开发当中极为常见。

例如瀑布模型所具备的优点为能够对软件开发的现阶段进行准确标示,其中采用了自上而下的方式将整个开发过程分为不同的开发阶段,每一个阶段当中均包含着明确的工作内容,便于对整个开发过程进行调控。当各个阶段的工作结束之后,也就标志着整个开发过程也随之结束。然而,瀑布模型的缺陷却恰恰存在于其自身的顺序特性,因为在实际的软件应用开发过程当中,很难一次性将所有的需求全部确定完毕,因此在部分阶段当中很有可能进行反复的调整,按照客户的需求进行设计的理念、编码以及测试等方面的调整。

1.2 模式更新后的现代应用软件

由于现代绝大多数的应用系统均已www作为基础,然而随着人们对于应用软件的需求不断更新,因此也需要更为相近的开发、维护以及管理方法与之对应。与传统的软件工程方法不同,现代的软件开发工程当中已经无法融入传统软件的工程与技术。当软件开发企业将软件开发技术予以转型时,所有对软件开发予以支持的工作与环节也要进行相应的转变,也就是说要做到软件应用、开发过程、资源配置以及组织结构的同步化。因此,面对目标群体的软件应用开发需要结合相应的软件工程予以实现。

1.3 两者之间的差异

软件应用系统的开发时间更短、初始需求较为模糊,这也成为了其独有的特点,在与传统软件的比较当中,主要体现在几个方面:部分以软件为基础的系统更为强调信息量,主要面向文档的开发,其中包含静态或动态的网页;以软件为基础的系统更加关注感觉与视觉的感受,开发的宗旨也是为了满足人们的感官需求;用户形式与类型更为多样化;绝大多数以软件为基础的系统需要满足拥有不同能力与技术的客户需求,其中必须具备更为复杂的信息递交、人机接口以及用户界面;绝大多数以软件为基础的系统通常是以内容作为驱动方式,在系统开发的内容当中包括提交模式的开发,而传统软件开发当中主要是以功能作为驱动方式,或者是以过程驱动为主要方式;与传统软件开发相比,软件应用系统的开发能够将科学、技术以及艺术进行完美结合,进而滋生更多的艺术气息与技术应用概念;以软件为基础的系统开发人员在知识含量、技能掌握方面要比传统软件开发人员更为广泛,所需开发人员种类更多。

虽然以软件为基础理念的系统开发当中也包含软件开发与程序设计,其中也采用了一部分软件工程的原理,但是与传统的软件开发有本质上的区别,同时与软件工程也有很大的区别,尤其是两者在开发软件应用方面差异性更为显著。

2 软件开发工程流程

2.1 软件工程模型组成

有鉴于软件开发工程的特性,以及软件应用系统开发与传统软件开发之间的差异性,本次研究针对软件工程的流程模型作为软件应用的开发总框,包括开发流程模型、项目管理模型以及组织公共模型为主体的三部分。开发流程模型将开发的生命周期予以说明;项目管理模型对软件工程项目管理的基本流程、管理方法的建立等方面予以说明,能够有效提高项目当中的组织与管理工作效率;两者产生交叉的流程即为组织公共模型。其中,项目管理工作将会参与整个软件系统的开发工作。

2.2 软件开发流程

软件开发流程是在迭代思想的基础上延伸而来的一种模型,一次迭代代表着生成可执行版本的开发活动以及所需的辅助工作,例如版本描述、用户说明等。从这个角度来说,一个开发迭代也代表着所有工作流程的经过描述,其中包括客户需求、软件分析、系统开发、设计实现、性能测试以及软件发布等工作,这种流程模型的本身就类似于前文介绍的瀑布项目模型。在软件的整个开发流程当中,包含软件工程人员、客户需求、软件系统设计、应用实现以及测试几个部分,而软件工程人员又包括开发人员、质检人员、项目管理人员、素材收集人员以及客户等几个方面。在上述类型当中,以软件工程人员作为基础,软件是客户需求的市场动力,软件的设计以及测试为开发手段,软件实现则是开发的目的,几个流程结合才形成一个完整的系统软件开发流程。

3 软件工程项目管理

对软件工程项目实施管理的目的是为了使得软件项目能够在预定的成本、流程进度、质量标准之上顺利完工,从而在项目实施的过程当中对项目成本、参与人员、项目进度、工程质量、风险控制等方面进行合理化科学化的分析及管理活动。对软件工程进行项目管理能够将单一的开发人员能力转变为整个软件开发企业的能力,进而提高软件开发水平,使得整个企业的软件生产理念及能力逐渐成熟化,从此走上稳定的发展道路。

3.1 项目管理概念

软件项目管理指的是以软件应用程序对项目整体设计与管理的一种结构,在这种结构当中包括浏览器、网络以及软件服务器等主体,在以浏览器为客户端的软件应用程序开发以及网站设计等项目的管理当中有所体现[3]。而随着流程的不断推移,软件项目本身的规模也会随之不断扩大,参与人员的数量开始增加,因此就会出现很多硬性的规范与要求,可以说现代软件开发工程已经不存在英雄主义的个人模式,而是向着项目化、集团化以及工程化的发展方向前进。因此,项目管理概念也逐渐在软件开发工程当中逐渐占据越来越重要的地位,其中可以包括项目准备、策划、计划、启动、跟踪管理以及关闭。

3.2 项目管理过程

在项目管理的流程当中,准备工作包括外部准备与内部准备两部分,主要是针对项目招标的方案进行可行性的分析;随后是项目的启动工作,在这一阶段当中主要根据招标的内容进行软件工程的方案策划;接下来是项目计划,对本开发项目当中所需的人才与技术进行规划;在项目跟踪当中,要对整个软件工程的设计过程进行评估;在项目结束后,通过各项检测合格后验收。整个软件工程的流程并不是固定的,而是在实践的过程当中会进行不断的优化与改革。如果软件开发企业在项目管理当中能够更加成熟,并且达到了一定程度上的水平,那么就能够获得可持续性发展的竞争优势。同理,其他的软件开发企业也不会闭门造车,同样也会寻找各种优化与发展的方式与契机。

4 系统软件开发中的软件研制技术管理

系统软件所涉及到的层级较多,其中包括深层次理论问题、系统实现方面的问题等,因此系统当中的复杂程度较高。对如此复杂的系统结构进行分析后能够发现,模块之间存在极强的互相依赖性,对单个模块进行修改时将会对整个系统产生影响。在软件的封装、程序的实现上进行模块化的操作,能够使得整个软件工程标准期望值更高,但是这种系统的开发将达到很难实现的程度,即使能够实现也要经过一个较为漫长的操作进程。例如UNIX操作系统,在最初的设计当中,各个模块之间的调用关系及其复杂,针对其依赖性极强的特点想要予以改进,但是却因为系统的复杂性与特殊性难以实现。一直到Mach操作系统问世才解决了这一难题,但是已经花费了近20年的时间。

正是因为系统软件具有更为复杂的问题域,因此整个开发进程的控制与管理工作就显得尤为重要,在开发的过程当中对于开发人员的管理、相关档案材料的管理也存在着不同程度上的需求。

所谓软件工程指的是采用规范的工程化方法对软件进行控制与管理,其中包含了与软件相关的整个生命周期过程。有专家认为“工程”一词还很难对系统软件的全部内容予以概括,尤其是与理论产生关联性的工作,因此对于系统软件的开发与研究还需要进一步的改善及优化,目前所掌握的技术与管理模式还谈不上成熟运用“工程的方法、原则以及标准规范”对系统软件的设计与实现进行指导。从这一方面来看,目前的软件工程方法还无法解决系统软件开发与研究当中出现的所有问题。比如说系统软件的相关理论研究就很难采用软件工程技术的规范化工具予以表达,这是由于软件工程技术工具的描述表达能力较差,由此可见软件工程技术也存在一定程度上的局限性。

5 结语

软件技术尚处于发展中阶段,但是软件的应用复杂性也越来越高,软件开发的理论不存在一成不变的现象,应该随着客户以及市场的需求不断发生着变化。本次研究当中针对软件应用开发的特点进行流程模型的设计,其中包括软件应用开发的整个流程,能够为软件开发设计奠定坚实的基础。

参考文献

[1]刘超.关于“软件工程”课程体系的基本架构及课程系列设置的探讨[J].计算机教育,2009(21):104-105.

[2]韩承双.论软件工程课程实践教学方法[J].科教文汇(下旬刊),2010(03):73-74.

[3]夏雪.浅谈软件开发过程中的方法问题[J].计算机光盘软件与应用,2012(03):204-206.

软件工程技术 篇2

摘 要 本文主要介绍了软件工程的发展历程、发展现状,并分析了软件工程未来可能的发展趋势,希望能为软件工程学科更好的发展提供帮助.

关 键 词 软件工程 发展历程 发展现状 发展趋势 网构软件

中图分类号:TP311.5 文献标识码:A

0前言

随着高科技的逐步发展,计算机应用得到了日益普及与深化.计算机应用的大范围扩展,对软件自身与软件系统的需求的复杂度大幅度上升.传统的软件开发方法已无法适应计算机用户在效率与质量等方面对软件的需要.在过去的三十年里,应用和可行性技术的发展促进软件工程不断发展.在各种各样的应用领域,不管是财务管理、医院管理还是航空领域和核武器领域,软件都是一项关键的技术.网络平台的出现,对科学理论研究、软件生产、技术发展等方面的发展水平提出了更高的要求,同时也提供了新的发展契机.

这篇论文出处www.xianbear.com/gongcheng/dztxgc/379744.html

1软件工程的发展历程

软件工程的发展,经历了一个漫长的过程,已取得了良好的成果,还为软件工程化的开发提供了良好的技术支持,对其的发展也起到了很大程度上的积极推动作用.其发展的经历主要分为四个阶段:

二十世纪六十年代末至七十年代中期.基于一系列高级语言的应用及结构化程序设计技术的出现,一些支持软件开发的工具被陆续完成生产

软件工程方面论文范文.由于人们开始重视对程序结构的研究,软件工程思想和概念也在这个时候被正式提出.

二十世纪七十年代,是比较传统的软件工程阶段.有关计算机辅助软件的研究成为了新热点.为了把软件项目中的高失败率及错误率的问题解决掉,软件工程化的思想被首次提出,希望软件开发能更加正规化的发展,这个阶段形成了对软件工程发展的有利工程环境,开始出现更多的软件工具.这为软件工程后期发展产生了一定的深远影响.此时,软件工程的概念、方法、框架以及手段逐渐形成,人们又开始展开有关程序设计方法、结构化分析等研究,并为此成立了新的研究领域.

软件工程的参考属性评定
有关论文范文主题研究: 软件工程类论文范文 大学生适用: 电大毕业论文、学士学位论文
相关参考文献下载数量: 55 写作解决问题: 写作资料
毕业论文开题报告: 文献综述、论文目录 职称论文适用: 杂志投稿、职称评副高
所属大学生专业类别: 写作资料 论文题目推荐度: 最新题目

二十世纪八十年代,对软件过程的研究逐步成为软件工程的另一个热点.面向对象语言和方法在这个时候开始出现然后逐步流行,在八十年代末期开始了面向对象的分析以及设计方法的发展,完整的面向对象技术体系也就形成了,延长了系统的生存周期,最终成为主流的软件开发技术,应用也更加广泛.此时,对于软件开发又提出更高的`要求,就是提高软件的生产率,并使软件质量得以保证.与此同时,软件开发也开始了对过程的管理.

进入二十世纪九十年代以后,人们开始将注意力放在如何改善软件的开发过程,侧重有关软件构建技术的研究和实践,即构件软件工程阶段.软件开发技术的主要处理对象为网络计算和支持多媒体信息的WWW.为了适应超企业规模、资源共享、群组协同工作的需要,需要开发大量的分布式处理系统.

2软件工程的发展现状

我国的软件技术发展的相对比较落后,相比较先进的国家还存在着非常大的差距.但是,我国软件工程的发展却是非常迅速的,短短几年的时间就形成了属于我们自己知识产权的软件技术.以至于软件工程发展到现在,我国不仅研发了属于我们自己的开发工具,还制定了符合我国实际情况的研发技术方案与思想.

时至今日,软件工程已经成为计算机应用领域的核心技术,而且市场需求量尚在逐年攀升.就目前我国软件工程发展的现状而言,存在的主要问题有以下几个方面:首先,缺乏完善的软件工程管理体制,导致软件工程开发团队的工作无法得到有效的协调,开发效率受到极大的限制.其次,对软件开发人员以及开发进度的控制力度不足,致使人员的稳定性下降,使得很多软件产品的生产效率低下,且产品质量降低.与此同时,部分软件的开发进度未控制好,使得软件产品的生产不能按时完成,项目延期现象频发.

如何撰写软件工程本科论文

播放:4次 评论:6428人

3软件工程的发展趋势

作为20 世纪末伟大的技术进展之一,Inter为我们提供了一种全球范围的信息基础设施,这个不断延伸的网络基础设施形成了一个资源丰富的计算平台,构成了人类社会信息化、数字化的基础,成为我们学习、生活和工作中必不可少的构成要素.如何在未来 Inter平台上进一步进行资源整合,使其形成巨型的、高效的、可信的、统一的虚拟环境,使所有资源能够高效、可信地为所有用户服务,成为软件技术的研究热点.

Inter平台和环境的出现,对软件形态、技术发展、理论研究提出了新的问题,也提供了新的契机.从技术的角度看,以软件构件等技术支持的软件实体将以开放自主的方式存在于Inter 的各个节点之上,任何一个软件实体可在开放的环境下通过某种方式加以发布,并以各种协同方式与其他软件实体进行跨网络的互连、互通、协作和联盟,从而形成一种与当前的信息 Web 类似的 Software Web.它不再仅仅是信息的提供者,它同时还是各种服务或功能的提供者.由于网络环境的开放与动态性,以及用户使用方式的个性化要求,进而形成了这样一种 Software Web,它会感知外部网络环境的动态变化,并能够随着这种变化按照功能指标、性能指标和可信性指标等进行静态的调整和动态的演化,使得系统具有尽可能高的用户信赖度.我们将它称为网构软件,它既是传统软件结构的自然延伸,又具有区别于集中封闭环境下发展起来的传统软件形态的独有的基本特征(自主性、协同性、反应性、演化性、多态性).

参考文献

[1] 王章宁.浅析软件工程的现状及发展趋势[J].软件,.34(10).

[2] 司良,张晓宁.国内外软件工程发展现状[J].计算机光盘软件与应用,2011.10.

免费论文参考文献:

软件工程 工程硕士

工程类论文格式软件工程硕士,软件工程硕士软件工程硕士(双证)学位论文申请答辩操作指南,一,学位论文答辩申请,1,修满规定学分并完成论文后,经导师同意方可进入论文答辩申请;,2,。

软件工程硕士 面试

软件工程硕士,工程硕士论文题目软件工程硕士在职工程硕士学位论文企业导师初审表,申请人姓名院系信息科学与工程学院学号领域研究方向企业导师工作单位职称/职务学位论文题目一,请简要给出。

软件工程硕士

工程类论文格式软件工程硕士,软件工程硕士软件工程硕士(双证)学位论文申请答辩操作指南,一,学位论文答辩申请,1,修满规定学分并完成论文后,经导师同意方可进入论文答辩申请;,2,。

软件工程 硕士

工程类论文格式软件工程硕士,软件工程硕士软件工程硕士(双证)学位论文申请答辩操作指南,一,学位论文答辩申请,1,修满规定学分并完成论文后,经导师同意方可进入论文答辩申请;,2,。

专科 软件工程硕士

软件工程硕士,工程硕士论文题目软件工程硕士在职工程硕士学位论文企业导师初审表,申请人姓名院系信息科学与工程学院学号领域研究方向企业导师工作单位职称/职务学位论文题目一,请简要给出。

北大 软件工程硕士

软件工程硕士,工程硕士论文题目软件工程硕士在职工程硕士学位论文企业导师初审表,申请人姓名院系信息科学与工程学院学号领域研究方向企业导师工作单位职称/职务学位论文题目一,请简要给出。

软件工程硕士网

软件工程硕士,工程硕士论文题目软件工程硕士在职工程硕士学位论文企业导师初审表,申请人姓名院系信息科学与工程学院学号领域研究方向企业导师工作单位职称/职务学位论文题目一,请简要给出。

软件工程硕士 排名

软件工程硕士,工程硕士论文题目软件工程硕士在职工程硕士学位论文企业导师初审表,申请人姓名院系信息科学与工程学院学号领域研究方向企业导师工作单位职称/职务学位论文题目一,请简要给出。

软件工程硕士怎么样

软件工程硕士,工程硕士论文题目软件工程硕士在职工程硕士学位论文企业导师初审表,申请人姓名院系信息科学与工程学院学号领域研究方向企业导师工作单位职称/职务学位论文题目一,请简要给出。

软件工程硕士就业

浅析软件工程技术的发展 篇3

关键词 软件工程 发展现状 发展趋势

中图分类号:TP311.5 文献标识码:A

在经过了几十年的发展后,软件工程应用的范围越来越广。科技的日新月异,导致软件工程技术的发展已经远远超过了软件工程技术理论的研究速度,但是软件工程本身具有复杂性,加上我国软件工程技术工程建设起步较晚,缺乏必要的经验与借鉴,在软件工程技术发展与进步中必然存在着诸多方面的问题与缺陷,极大限制了软件工程技术现代化、科学化、完善化发展目标的实现。因此,为软件工程指明新的发展方向必须推进软件工程的改革,从而提高我国工程软件行业的竞争力与综合实力,促使我国信息化建设的不断进步。

1当前我国软件工程技术存在的问题

首先,我国软件工程管理体制不完善。现代软件企业中并没有设置专人管理与监管整个软件开发团队的工作进展,不能根据实际工作情况选择针对性的工作计划,极大影响了工作质量与工作效率。另外,有些软件企业引进国外先进的管理经验与运营模式,也设置项目经理一职整体掌控软件开发工作,但缺乏必要的团队协调能力与管理沟通能力,不能在企业内部形成积极向上、团结奋进的企业氛围。

其次,对专业人员以及工程进度调控意识不强。软件专业人才是软件开发团队的核心人员,为保障软件开发进度,必须保障核心工作人员与工作团队的稳定性,但是软件企业并没有意识到这方面工作的重要性,随意调动工作人员,变更团队人员的情况时有发生,导致软件工程开发工作发展滞后,工作效率低下。此外,在软件工程建设中,要根据企业实际情况与既定目标控制项目开发进步,从而实现人员安排最优化,资源配置最佳化,在实际工作中,软件开发公司极易受到外界环境的影响(诸如软件开发市场动荡等等),从而打乱整个软件开发计划,造成人力、物力资源的巨大浪费。

最后,高精尖人才相对缺乏。软件开发从本质上来将是一个循序渐进的过程,要求软件工程企业保障更多专业人才与振业设备的投入与支持,但更多软件企业为降低经济成本,实现经济效益的最大化,往往将更多的精力放置在市场动态的掌控以及软件开发的项目选择方面,忽视专业人才的不断开发与引进,使得软件企业核心竞争力滞后,导致工期开发时间延长。另外,不能及时为企业内部工作人员提供更多高层次的培训机会,使员工不断增强自身知识储备与提升实践技能水平。

2提高软件工程工作质量与工作效率对策探讨

(1)增强软件开发整体过程的掌控与管理。一方面,要科学制定工作计划,在项目开展前期预测实际工作量,安排项目开展的工作顺序,并将整个工作内容划分到位,分配到人,从根本上保障工作进度。此外,要设置人才调配预备方案与突发情况解决方案,根据实际工作进展适度调整人员构成,提高危机处理能力。另一方面,要加强对整个软件开发工作的监督与监管,不定期抽查工作进展情况,在保障工程质量的前提下提高工作效率。

(2)为专业软件开发人员提供更多培训与学习机会。定期邀请软件开发领域的专家深入企业讲解最新科技成果与软件开发的最新趋势,同时分享工作经验与教训,并面对面解决员工在实际工作遇到的问题,提高员工的工作实力与操作技能。同时,企业要关注软件开发员工合法权益的实现,通过发放奖金、增加工资、授予先进工作者、提供出国或参加经验交流会议的机会等形式,激发员工参与项目开发的热情与积极性,使项目工作人员时刻以主人翁姿态主动充实知识储备,积累实际工作经验。

(3)完善软件开发企业领导构成体系,推行项目开发责任制。一般上来讲,项目经理是整个软件开发工作的核心,项目经理要注重企业与工作团队的有效沟通与交流,协调工作人员之间的摩擦与矛盾,掌控整个研发工作的进展与进度。另外,在项目经理之下要设置项目组长与项目主管,辅助项目经理引进先进软件开发技术,监督与调控各个项目之间完成科学、合理承接,在软件企业内部形成管理有序、责任分明、监督到位、目标明确的管理体系与领导机制。

随着全球化的发展趋势和全球化市场竞争压力的增加,软件工程发展趋势将朝着全球化协作交付、开放性计算及模块化方向发展壮大,从而更好地服务于计算机技术相关行业领域。通过分析与明确当前我国软件工程技术的发展困境,可以在很大程度上缓解软件危机,推进软件工程项目的开发与进步,从根本上增强我国软件工程行业的综合实力,为便利社会生活、提高工作效率、推进现代化建设奠定坚实的基础。

(作者学号:1330472)

参考文献[1] 李朝阳.浅析软件工程技术发展思索与应用[J].科技之友,2013(6).

[2] 王章宇.浅析软件工程技术的发展[J].软件,2013(10).

软件工程中软件测试技术的研究 篇4

1 新时代背景下的ORACLE问题

在软件工程中, 软件测试地目的是为了能够发现和找出软件错误运行的情况, 专门判断测试过程是否通过的可验证即被称为ORACLE, 在如今新时代的背景下, 不管是趋势分析还是相应的图论计算等, 都开始变得越来越困难。新时代的处理模式, 主要包括了物理作用下的数据处理和化学作用下的数据处理两种类型模式。其中, 物理作用下的数据处理, 主要是在保证其价值的情况下, 不断的缩小其数据的规模, 然后由此清洗不变的数据基本属性。这其中就包含了针对数据处理的多种方式, 能够有效的实现将新时代花销, 的物理式变化。因此, 物理作用下的数据处理测试ORACLE本身并没有问题。

而基于化学作用下的数据处理, 则具备最主要的预测和快速算法的问题, 这两个问题都非常经典, 直接促使ORACLE的确定变得异常的困难。比如在计算个性化推荐统计学信息当中, 经过个性化推荐的商品, 更容易获得用户们的喜爱, 当然也存在一半不喜欢的概率。而经过计算的结果也只是表明此类商品被喜欢的概率相对较高。概率性问题直接导致结果的正确性和确定性产生本质的区别, 直接致使ORACLE确定的难度。

2 传统测试平台难以符合新时代处理的要求

以往所采用的软件性能测试, 主要是借助控制器协调本地直接向服务器端发出服务的请求, 由此实现对服务器压力的测试, 其测试负载产生器都属于局部的物理主机。相对少量的服务器构成应用系统来说, 用户数在数百上千量级的应用服务, 才能有效满足应用的需求。

如今, 随着云计算的发展, 用户的需求也在不断的增长, 其多个系统所需支持的并发用户也在不断的增加, 相应的访问量也在由此攀升。这就需要针对服务端系统是否能够真正承受如此巨大的用户访问量进行有效的测试, 可直接在系统上线之前就展开较为充分的测试内容。以往局域网主机测试方法所产生压力, 很难真正满足服务器对其所产生的压力测试需求。由此软件测试工作中开始出现一系列的问题。一是负载产生器的物理机数量很难获得动态的扩展;二是新时代所驱动的云计算系统, 直接采用了广泛的分布客户端。三是在网络海量数据的推动下, 控制器所监控的负载产生器状态直接成为性能测试的瓶颈, 很容易由此引发测试失败。四是控制器对负载产生器的同步问题变得越来越复杂, 直接影响到负载测试的效果。

3 软件服务化所引发的测试挑战

具体从开发的模式而言, 软件开发的过程, 主要包含了完全编码、构件化、服务以及云计算等多个阶段。

3.1 完全编码阶段

主要是相应开发人员直接从零基础开始对每行代码的编写过程, 除了系统本身所提供的类库之外, 通常所有的代码都是直接由相应开发人员所掌握。在此阶段当中, 用户们普遍具有良好的可测性, 几乎所有的测试和调试方式都可以实现。

3.2 构件化阶段

该阶段直接是为了提升软件开发的效率, 要求相应开发组织必须在系统类库的基础上, 结合业务自身的特点来构建出可复用的业务组件。而通常该组件都是在本地运行, 因此其业务系统的耦合度明显偏高, 用户们对于组件的掌控也明显较大。

3.3 服务阶段

在此阶段当中, 多数本地组件所提供的调用可转变成为远程服务形式。用户们可对外部的服务控制处于逐渐减少的状态, 只能透过服务的输入和输出来实现对服务情况的良好把握。

3.4 云计算阶段

这一阶段主要是特别架构和PASS之上的应用程序, 在处理输入和输出的同时, 多数用户并不具备了解PASS服务运行情况的能力, 因而导致用户测试的难度再次增加。

4 杀虫剂效应

在软件工程测试领域当中, “杀虫剂效应”是指相应的测试软件越来越多, 其免疫能力变得越来越强的现象。这种现象就如同采用农药杀虫是一样的效果, 如果持续采用一种单纯的农药, 则害虫将最终在体内产生一定的抗体, 在此情形下, 农药将无法发挥出应有的杀虫效力。而在多种构件化开发当中也是如此, 通常在中前期发现多种缺陷的模式, 其都可直接通过校验和验证的方式集成在构件当中, 乃至直接成为构件的必然属性。此类构件并不需要开发人员进行单独的代码编写, 其直接对测试的方式产生了天然性的免疫能力。

在软件工程中, “杀虫剂效应”将有效的促使软件的测试技术获得飞跃式的更新升级, 可迅速的找出存在软件当中的缺陷问题。一般在进行测试的初期阶段, 只需通过较少的测试即可直接发现其中所存在的更多缺陷, 而在后期的测试当中, 则很容易发现其所存在的缺陷数量, 将渐渐趋于平缓, 甚至最终在某个周期停止增长。

5 结语

综上所述, 针对新时代背景下软件测试的问题, 需要尽可能的避免出现“杀虫效应”, 具体要求测试技术应当由单一的技术类型直接向着多元化测试技术的方向转变。然后需要解决智能数据处理所带来的ORACLE的问题。最后, 需要构建出面向云环境的自动化环境, 尤其是客户端环境必须咬合服务端的需求进行良好的匹配。

参考文献

[1]朱家云.浅析软件测试[J].信息工程系统, 2011.

[2]袁政江.浅析软件测试过程工作要求[J].计算机光盘软件与应用, 2011.

[3]王国鹏.浅析软件测试现状及发展前景[J].电子制作, 2014.

软件工程技术 篇5

课程代号:31110630,31110510 总学时(或周数):1周

适用专业:软件工程,计算机科学与技术

先修课程:程序设计语言、数据结构、离散数学等

一、课程设计(实践)目的

《软件工程》是计算机专业学生的专业必修课,通过学习,可以使学生对软件系统的设计思想、开发方法和具体过程有一完整的了解,为今后参加工作、适应环境的要求,开发出满足各种需要的软件系统打下一定的基础。本课程设计的主要目的是:

(1)使学生更好地理解该课程介绍的概念、原理等内容。

(2)加深对开发过程中所涉及的各种图形工具的认识和理解。

(3)学会利用现有的计算机辅导工具独立完成软件系统的设计工作。

二、课程设计(实践)要求

具备软件开发的各种开发环境和常用的CASE工具均可,硬件只要流行配置和网路即可,软件包括如Windows、SQL Server、Oracle、PWS、IIS、VC、VB、Delphi、Power Bhulder、JAVA、Net、Asp/Jsp等,CASE如 JUDE,Project,Rational Rose, Office等等各种流行工具。另外,在本课程实验之前要求学生具备如下的知识和操作经验:

(1)系统学习过《数据结构》、《程序设计技术》、《面向对象程序设计语言》、《数据库原理与应用》等课程。(2)熟悉windows环境并能熟练操作。

掌握软件工程的基本思想和软件系统的设计方法。要求分组协作开发一个小型系统,一般为5人左右一组。每组学生可以自选题目(需经教师同意)或从以下题目中任选一个。课程设计以实际应用中的小型题目为主,尽量要求每一学生能独立完成各自的任务。设计的题目既可以由指导教师根据学生的实际程度指定,也可以由学生自己提出,经教师审核裁定。题目的规模适中,在一个学期内完成,不宜过大,算法不宜过于复杂,应以能在规定的时间内完成为准。选题的范围和类型应尽量选择有意义的实际题目,过大过于复杂的题目应经过适当的简化,突出主要功能要求,舍弃次要细节。

要求学生能根据不同的题目类型选择一种或两种开发模式,完成从系统定义,软件系统可行性分析,需求分析,软件设计,编码/测试,直至运行/维护的软件生存期的全过程。具体要求如下: 1)强调过程的完整性

依据软件生存期的原理开发软件是保证软件产品质量的行之有效的方法。要把小问题当作大任务来看待,一步一个脚印进行,从而积累开发大工程的经验和方活。2)强调模型的明确性

生存期模型是系统开发项目总貌的一种描述,同时给出软件开发项目的一个降低分险的结构。不同的开发模型有不同的特点和不同的适用范围。因此,根据实际问题的类型,要求能选用正确的软件开发模型进行开发。3)强调文档的完整性

文档是与程序开发,维护和使用有关的图文资料,它是软件的重要组成部分。在软件开发的各个阶段所产生的各类文档既是该阶段的主要工作成果和总结,也是下一阶段实施的重要依据。

各阶段具体要求: 1)系统可行性分析

计算机系统的开发是指从项目提出开始,经过论证决策,设训,实施直到交付使用的全过程。系统可行性分析中确定的目标,作用范围是软件开发的依据。系统分析的结果是写出系统的规格说明和可行性分析报告.

软件计划同任何工程一样,开发一个软件项目,首先要制定一个软件计划,其任务是向管理者提出关于项目的经费预算,人力,物力的需要量,进度的初步安排等。软件计划的具体任务有两项:研究软件的作用范围:估算需要的资源,经费和进度。这两项任务的实现是建立在经验推断和历史数据统计分析的基础之上。完成软件计划工作的标志,是提供一份软件项目计划书。

2)软件需求分析

在软件计划阶段确定的软件工作范队进一步对P标对象和环境作深入细致的调查,了解现实的各种可能解法 以分析评价,作出抉择,配置各个软件元素,建立一个目标系统的逻辑模型并写出软件需求规格说明书。

3)软件设计之一:软件体系结构设计

一个工程产品或一个系统的“设计”,实际上是一个“过程”,是一个对“怎么做”的求解过程。一般把设计过程分为两个阶段:概要设计和详细设H。

计从软件的需求规格说明出发,将设计对象用数据流或数据结构的形式表达成完整的抽象实体。这一步要编写概要设计说明书.

4)软件设计之二:详细设计

这个阶段主要是对模块过程是实现的说明,可以使用图形,表格,公式或者文字来描述。要给编码人员提供足够准确的信息,以便根据它可以很快地写出源程序。注意详细设计说明书应逐个模块进行编写。要对每一个模块写出详细设计说明书。

5)软件编码

软件开发的各个阶段的最终目标.就是将详尽的软件设计转换成程序设计语言的实现。必须仔细评价和选择性能理想的程序设计语言,培养和掌握好的编程风格,在编程阶段上确保程序的可读性,可测试性和可维护性,改善软件的质量和可靠性。作为这一阶段的文档就是源程序的清单。

6)软件测试

软件测试应贯穿于软件开发的整个期间。这样需求分析,概要设计,详细设计以及程序编码等各个阶段所得到的文档,包括需求规格说明,概要设计说明,详细设计说明以及源程序都应成为软件测试的对象。测试过程一般按4个步骤进行,即单元测试,组装测试,确认测试和系统测试。

测试计划和测试分析报告的编写。7)对项目开发过程中的经验和教训进行总结,编写项目总结报告。

三、课程设计(实践)内容

要求分组协作开发一个小型系统,一般为5人左右一组。每组学生可以自选题目(需经教师同意)或从以下题目中任选一个。尽量要求每一学生能独立完成各自的任务。

 进行系统的可行性分析、需求分析、软件设计、编码、调试及简单的项目管理。

 提交符合标准的可行性分析报告、项目计划书、需求分析报告(规格说明书)、软件设计报告(说明书)和项目总结报告,安排模拟技术审查,马上评定成绩等级;

 进行编码和调试。提交可运行或演示的程序和源程序。人工审查编码要结构化和文档化(注释)的情况,马上评定成绩等级。 根据课时情况要求制定测试计划和测试报告。评定等级。

 明确告知学生以上成绩综合作为课程设计成绩,以强化学生掌握软件设计全过程的方法。

题目一 :“教务管理系统之子系统——系内课程安排”(1)系统简介

每学期的期中,学院教务处分别向各个系发出下学期的教学计划,包 括课程名、课时、班级类别(本科、专科、高职)、班号等;系教学主管人员根据教学任务和要求给出各课程的相关限制(如:任课教师职称、和班数、最高周学时数等);任课教师自报本人授课计划,经所在教研室协调确认,将教学计划上交系主管教学计划的主任,批准后上报学院教务处,最终有教务处给出下学期全系教师的教学任务书。

假设上述排课过程全部为人工操作,现要求改造为能利用计算机实现的自动处理过程。(2)限定条件

 每位教师的主讲门数不超过3门/学期:讲师以下职称的教师不能承担系定主课的主讲任务。

 系级干部的主讲课时不能超过10学时/周。

 本学期出现严重教学事故的教师不能承担下学期的主讲任务。

 本系统的输入项至少应包含3个:教务处布置的教学计划、系教师自报的讲课计划和系定的有关讲课限制条件。

 本系统的输出项至少应包含2个:教务处最终下达的全系教师教学任务书和系各教学班一学期的课程表(可不包含上课地点)。

题目二:“学校教材订购系统”(1)系统简介

本系统可细化为两个子系统:销售系统和采购系统

销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生即可去书库领书。

采购系统的主要工作过程为:若是脱销教材,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员 以上的功能要求在计算机上实现。(2)技术要求和限制条件

 当书库中的各种书籍数量发生变化(包括领书和进书时),都应修改相关的书库记录,如库存表或进/出库表。

 在实现上述销售和采购的工作过程时,需考虑有关单据的合法性验证  系统的外部项至少包含三个:教师、学生和教材工作人员。

 系统的相关数据存储至少包含6个:购书表、库存表、缺书登记表、待购教材表、进/出库表。

题目三:“机票预订系统”(1)系统简介

航空公司为给旅客乘机提供方便,需开发一机票预定系统。各旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入到该系统,系统为旅客安排航班。当旅客交付了预定金后,系统印出取票通知和帐单给旅客,旅客在飞机起飞的前一天凭取票通知和帐单交款取票,系统核对无误即印出机票给旅客。此外航空公司为随时掌握各航向飞机的乘载情况,需定期进行查询统计,以便适当调整。(2)技术要求及限定条件

 在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知、交款发票等)。

 对于本系统还应补充以下功能:

 旅客延误了取票时间的处理  班机取消后的处理

 旅客临时更改机票班次的处理

 系统的外部项至少包含三个:旅客、旅行社和航空公司。题目四:“学校内部工资管理系统”(1)系统简介

假设学校共有教职工约1000人,10个行政部门和8个系部。每个月20日前各部门(包括系、部)要将出勤情况上报人事处,23日前人事处将出勤工资、奖金及扣款清单送财务处。财务处于每月月底将教职工的工资表做好并将数据送银行。每月初(3日前)将工资条发给各单位。若有员工调入、调出、校内调动、离退休等数据变化,则由人事处通知相关部门和财务处。(2)技术要求及限定条件

 本系统的数据存储至少包含:工资表、部门汇总表、扣税款表、银行发放表

 除人事处、财务处外,其他只能部门和系部名称可简化,如系1,系2„..等

 工资、奖金、扣款细节可由学生自定

题目五:“实验室设备管理系统”(1)系统简介

每学年要对实验室设备使用情况进行统计、更新,其中:  对于已彻底损坏的作报废处理,同时详细记录有关信息。

 对于有严重问题(故障)的要即使修理,并记录修理日期、设备名、修理厂家、修理费、责任人等。 对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。新设备购入后要立即进行设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容。

 随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段(某日期之前)查询。

(2)技术要求及限定条件

 所有工作由专门人员负责完成,其他人不得任意使用。

 每件设备在作入库登记时均由系统按类别自动顺序编号,形成设备号;设备报废时要及时修改相应的设备记录,且有领导认可。

 本系统的数据存储至少应包含:设备记录、修理记录、报废记录、购买申请。

 本系统的输入项至少包含:新设备信息、修理信息、申请购买信息、报废信息、具体查询统计要求。

 本系统的输出项至少包含:设备购买申请表、修理/报废注销/设备资金统计表。

题目六:图书管理系统 题目七:科研管理系统

题目八:外贸企业订单与生产管理系统 题目九:商品交易系统 题目十:小区监控系统 题目十一:客房管理系统 题目十二:旅游管理系统

四、课程设计(实践)进度安排

主要分析与设计的工作应在教学过程中以课外作业形式完成,根据教学进度(一般再相应教学内容结束后两周内)提交符合标准的可行性分析报告、项目计划书、需求分析报告(规格说明书)、软件设计报告(说明书)和项目总结报告,运行或演示的程序和源程序,教师先人工审查文档和源代码,编码要结构化和文档化(注释)的情况。

集中式一周课程设计的时间,安排为模拟技术审查、修改,各文档和程序分别评定成绩等级。

五、使用教材与参考资料

(一)教材

1.陈雄峰.实用软件工程教程,北京:机械工业出版社.2009

(二)参考书

1.钱乐秋,赵文耘,牛军钰.软件工程.北京:清华大学出版社.2007 2.张海藩.软件工程导论.北京:清华大学出版社.2005 3.郑人杰,殷人昆,陶永雷.实用软件工程.第二版.北京:清华大学出版社.2002

六、考核方式与成绩评定标准

(1)设计成果:  按课程和实验进度每一组提交符合文档标准的《可行研究报告》、《项目计划书》、《需求分析规格说明书》、《软件设计规格说明书》、《项目总结报告》和“可运行软件的源程序”电子文档各一份。(2)考核方式

a 实验课考核方式:  针对要提交的文档或程序模拟技术审查,设计者简要介绍要点,教师和其他学生模拟专家提问,随机指定某个组员回答。马上评定成绩等级,整组成绩相同等级。 由教师人工审查程序运行情况和源代码的结构化和文档化(注释)的情况,评定成绩等级,整组成绩相同等级。b 实验课成绩确定:

以上成绩综合作为本课程设计成绩(没有笔试),占总评成绩的80%,在小组内的参与程度和出勤情况占总评成绩的其余20%,以强化学生掌握软件设计全过程的方法。

七、本指导书编写参照系、编写根据、编制人

参照清华大学、福州大学、中国广播电视大学的相关大纲。

编写人:陈雄峰

审核人:刘燕

技术热线[软件/系统问答] 篇6

当我第一次运行Vista中Windows Media Player11时,软件弹出了一个设置向导,向导的第—个界面上有“快速”和“自定义”两个选项,我不管选择哪个选项,“下一步”按钮都是灰色的,不可选。请问这是怎么回事?

选择第一个选项的时候,WMP会根据我们的选择访问微软网站,下载相应的配置信息。如果网络访问异常,或者速度太慢,就会出现你所说的现象,你不妨多等一下,让配置文件下载完全。或者暂时拔掉网线,重新启动WMP,它检测不到网络时就会跳过这个步骤,等看到界面后再插上网线。

批量移动子文件夹中的文件

我有一个文件夹,下面有数百个子文件夹,每個子文件夹中都有一个文件,现在需要将这些文件都移动到另一个文件夹下,一个一个地拷贝太麻烦了。请问有没有快速实现的方法?

在资源管理器中打开这个文件夹,然后按F3打开搜索界面,输入“*.*”,再点击“搜索选项/高级搜索/搜索子文件夹”,这样搜索后,所有的文件都将会显示在当前窗口中,再使用剪切功能将这些文件移动到目标文件夹即可。

批量导出图片

我以前使用Word写了一份手册,里面插入了500多幅图片,现在想将这些图片导出成图片文件,请问有什么方法可以实现?

打开这个word文档,然后点击菜单“文件/另存为”,在保存对话框中选择文件类型为“网页”,保存后,在文档保存的位置将会有一个文件夹,里面就是你想要导出的图片文件了。

合并视频短片

我使用数码相机拍摄了一些长度为30秒的视频短片,想将它们合并成一个视频文件,请问如何才能实现?

视频处理类软件都可以实现你的要求,例如Premiere、会声会影等都可以。要用免费软件的话可以使用系统自带的Movie Maker,操作起来也很简单。

选中文字自动复制

我使用Emeditor处理文本文件,朋友说在这个软件中选中文字后,就自动复制到剪贴板了,但我找了很久也没发现这个功能该怎么用,请问怎样实现自动复制?

点击菜单“工具/插件/自动复制”将该选项选中就可以了,但仅在Emeditor中有效,在其它软件中不能自动复制选中的文字。

关闭笔记本电脑的显示屏

我使用的是笔记本电脑,在平时使用时,经常需要暂时离开,关闭系统回来再重新启动太费时间。为了节约电源,我想随手关闭显示器,请问有能实现这种功能的软件么?

有的笔记本电脑合上后会自动休眠,有的会关闭显示屏,有的可自定义电脑执行的操作。鉴于多种不同情况,推荐你使用“Close Monitor”这款小软件,用它可以随时关闭显示屏,移动鼠标或接任意键打开显示屏。

设置WinRAR的启动文件夹

我想给WinRAR设置一个自动打开的文件夹,只要打开WinRAR时,就自动打开这个文件夹,不知能否做到?

可以。打开WinRAR,按下“ctrl+s”打开“设置”对话框,选择“路径”标签,取消“在启动时恢复到上次工作的文件夹”复选框。再点击“启动文件夹”中的“浏览”按钮,从弹出的窗口中选择需要的文件夹即可。

不能自动加载字幕

我一直使用暴风影音播放器,最近播放一部电影时却不能自动加载字幕了。字幕文件是我从网上下载的,请问是怎么回事?

暴风影音集成了VOBsub字幕工具,一般来说会自动加载字幕的,但字幕文件的文件名必须和影片同名(主文件名),同时还需要将字幕文件与影片放在同一个文件夹中。暴风影音还支持手动外挂字幕,具体方法可以参考4月号下期《字幕,别挡着我》一文。

Babylon中用鼠标取词

我喜欢Babylon翻译软件,不过每次取词时都要按键盘上的辅助键才行,我想直接让鼠标完成取词,请问可以吗?

软件工程技术发展思索 篇7

软件工程的从概念的提出到取得长足的进步一共经历了30多年, 其中较为重要的进步主要是建立于高级语言基础上的结构化程序设计技术以及相关的开发工具、计算机辅助软件工程 (CASE) 成为研究热点, 并开发了一些对软件技术发展具有深远影响的软件工程环境以及面向对象的高级语言的编程思路以及编程方法的诞生。从本质上而言, 软件属于客观事物的范畴, 也是对其他实际客观事物的一种不断改进, 因此客观世界的不断变化以及快速发展决定了软件工程的诞生以及进一步发展。软件的发展中重要的贡献就是解决了硬件的异构特性, 比如可以采用操作系统从客户的角度屏蔽了计算机硬件之间的差异, 目前屏蔽中间件的异构性的网络服务技术也取得了较好的发展。更为复杂的异构问题都会促使软件技术的不断发展, 应用软件工程的理念进行实际问题的解决主要需要建立合理的模型并采用正确的处理方式, 剞劂概念模型以及现实问题之间的映射关系。

2 软件以及软件的基本特征

软件是对于客观事物工作规律以及内在机制的一种具体描述, 是客观事物在计算机技术层面的直接反映。其基本的特性是能够反应客观世界不断变化的需要。软件的本质特征是软件的演化性以及软件的构造性。应用软件模型实现更为直接的表达, 更符合用户的思维习惯, 正是对于软件本质属性的阐述。在高级语言出现之前的汇编指令主要表达的就是实现语言构造到概念的转移, 在抽象层次中属于较低的水平, 而后随即出现的高级程序, 尤其是面向对象的开发软件则在抽象层次上具有较大的提升。

3 软件工程的主要研究内容

软件开发实际上在本质意义上来说就是完成了高层概念到底层概念之间的映射, 实现不同层次的逻辑之间的转换。对于大型应用软件, 其映射的结构以及映射关系较为复杂。按照目前的基本要求以及规范, 软件工程 (software engineering) 是以计算机科学的基本理论以及相关技术为基础, 采用工程管理的模式以及方案, 对软件产品进行定义、开发、维护以及后期的管理。

软件工程中最为基本的目标是实现产品的正确性、可靠性以及合算性。所谓正确性也就是说所设计的软件要能够达到预先设定的目标, 完成相应的设计功能;可用性指的是软件的基本结构以及相关支撑资料可以满足用户的需求;合算性则指的是软件的成本与性能之间的平衡。因此软件工程的开发过程就是一个生产一个最终满足用户需求且达到工程目标的软件产品所需要的步骤。一般而言主要包含了需求设计分析、功能实现、客户确认以及支持等一系列的过程。在软件工程的开发设计中必须遵循以下的四个原则, 首先是要能够采用合理的设计方法, 设计要体现模块化的思维, 要能够考虑到软件的一致性以及集成组装性等方面的问题;此次要采用合理的开发风格, 以此保证软件开发的可持续性, 不断满足用户提出的新要求;同时要能够为软件开发提供高质量的工程支持, 保证按期对客户提交符合要求的软件产品;最后就是要能够保证对于软件工程的有效管理。

4 软件工程的发展趋势

传统意义上的软件开发是一个静态的封闭的平台, 一般采用自顶向下的设计方案, 在这样的模式一般都是首先确定系统的范围, 然后进行项目分解, 逐步实现的方案。在未来的软件开发中需要的就是采用一个具有丰富的基础软件作为开发必须的平台, 同时要求开发平台具有动态的开放特性以及灵活的设计框架。开发活动要能够不断实现“无序”到“有序”之间的不断循环, 由不断变化的动态特性逐步实现稳定;程序的合理性以及正确性表现形式逐步多样化, 软件体系结构中侧重点从软件实际结构的分解转换为对于不同协同尸体的聚合。未来软件开发将是软件实体进一步开发, 在Internet的不同节点上任何一个软件的实体都可以在开放的环境中以适当的方式进行发布, 从而实现其他软件实体进行跨网络的互连互通协作和联盟, 从而形成一种与当前的信息Web类似的Software Web.Software Web。

5 结论

目前软件工程技术的发展要能实现软件与硬件的结合, 所谓软件就是能够与系统结合符合工程开发规律的程序, 硬件也就是指微电子技术。要能够实现面向应用, 实现软件以及硬件一体化的系统以及成熟产品, 在工程理念的背景下可以将软件开发技术的发展总体趋势归纳为软件开发平台的虚拟化以及网络化、编程设计方法的对象化以及系统的构件化。同时产品家族化、开发工程化、过程规范化、竞争国际化、生产规模化等也是目前软件工程技术发展的最新特点。网络构建的软件理论以及方法实现等主要的工作侧重点在于实现以下的转变, 首先是传统软件结构到网构软件结构的转变;其次是从实体单元的被动性到其主动性的转变;同时能从系统的静态性演化到系统的动态性、协同方式从单一性到灵活性的转变也显得尤其重要;最后从经验驱动的软件手工开发模式到知识驱动的软件自动生成模式的转变.建立这样一种新型的理论、方法以及实现都是软件工程技术中重要的技术特征。

参考文献

[1]印桂生, 王莹洁.董宇网构软件的Wright-Fisher多策略信任演化模型[J].软件学报, 2012 (8) .[1]印桂生, 王莹洁.董宇网构软件的Wright-Fisher多策略信任演化模型[J].软件学报, 2012 (8) .

[2]付德平, 李海峰, 韦延民.UI元模型建模关键技术研究[J].中国制造业信息化, 2011 (7) .[2]付德平, 李海峰, 韦延民.UI元模型建模关键技术研究[J].中国制造业信息化, 2011 (7) .

软件工程技术发展思索 篇8

1 软件工程概述

为了尽可能消除软件危机的影响, 高效地开发出高质量的软件系统, 软件工程作为一门学科应运而生, 它的最终目的是实现软件的工业化生产。为了克服软件缺乏“可见性”的特点, 从软件过程管理、开发方式、产品构成等方面着手, 借鉴工业化生产的成功经验, 对软件产品的生产过程加以严格的管理和控制。也就用下式来表示:软件工程=管理+技术。

传统软件工程将软件开发生命周期划分为问题定义、可行性分析、需求分析、概要设计、详细设计、编码、测试、运行维护8个阶段, 每一阶段都有具体的任务和交付成果。软件过程模型指如何具体地组织衔接软件开发生命周期的各个阶段。常用的有瀑布模型、原型模型、螺旋模型、增量模型和喷泉模型等。

2 软件工程的目标软件

工程的目标是:在给定成本、进度的前提下, 开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率, 减少维护的困难。软件工程活动是“生产一个最终满足需求且达到工程目标的软件产品所需要的步骤”, 主要包括需求、设计、实现、确认以及支持等活动。需求活动包括问题分析和需求分析, 问题分析获取需求定义, 又称软件需求规约;需求分析生成功能规约。设计活动一般包括概要设计和详细设计, 概要设计建立整个软件体系结构, 包括子系统、模块以及相关层次的说明、每一模块接口定义;详细设计产生程序员可用的模块说明, 包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程, 实现完成后的确认, 保证最终产品满足用户的要求。

3 新的软件开发技术

3.1 软件复用

软件复用 (Software Reuse) 就是将已有的软件成分用于构造新的软件系统, 以缩减软件开发和维护的花费。无论对可复用构件原封不动地使用还是作适当的修改后再使用, 只要是用来构造新软件, 则都可称为复用。被复用的软件成分一般称为可复用构件。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用, 后来扩大到包括领域知识、开发经验、项目计划、可行性报告、体系结构、需求、设计、测试用例和文档等一切有关方面。但对一个软件进行修改, 使它运行于新的软硬件平台不称为复用, 而称为软件移植。可以划分为如下的复用级别。

3.2 软件产品线

软件产品线是一组具有共同体系构架和可复用组件的软件系统, 它们共同构建支持特定领域内产品开发的软件平台。一个软件产品线由一个产品线体系结构、一个可重用构件集合和一个源自共享资源的产品集合组成, 是组织一组相关软件产品开发的方式。软件产品线的产品则是根据基本用户需求对产品线架构进行定制, 将可复用部分和系统独特部分集成而得到。软件产品线方法集中体现一种大规模、大粒度软件复用实践, 是软件工程领域中软件体系结构和软件重用技术发展的结果。领域内产品开发的软件平台。一个软件产品线由一个产品线体系结构、一个可重用构件集合和一个源自共享资源的产品集合组成, 是组织一组相关软件产品开发的方式。软件产品线的产品则是根据基本用户需求对产品线架构进行定制, 将可复用部分和系统独特部分集成而得到。软件产品线方法集中体现一种大规模、大粒度软件复用实践, 是软件工程领域中软件体系结构和软件重用技术发展的结果。

3.3敏捷开发

敏捷小组的整体工作:项目取得成功的关键在于, 所有的项目参与者都把自己看作朝向一个共同目标前进的团队的一员。一个成功的敏捷开发小组应该具有“我们一起参与其中”的思想。虽然敏捷开发小组是以小组中仍然有一些特定的角色。有必要指出和阐明那些在敏捷估计和规划中承担一定任务的角色。 (3) 敏捷小组的短迭代周期:迭代是受时间框 (time box) 限制的, 意味着即使放弃一些功能, 也必须按时结束迭代。时间框一般很短。大部分敏捷开发小组采用2~4周的迭代, 但也有一些小组采用长达3个月的迭代周期仍能维持敏捷性。大多数小组采用相对稳定的迭代周期长度, 但是也有一些小组在每次迭代开始的时候选择合适的周期工长度。

3.4 CMM方法

CMM是指“能力成熟度模型”, 其英文全称为Capability Maturity Model for Software, 英文缩写为SW—CMM, 简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程, 并根据这一原则对软件开发和维护进行过程监控和研究, 以使其更加科学化、标准化, 使企业能够更好地实现商业目标。CMM是一种用于评价软件承包能力并帮助其改善软件质量的方法, 侧重于软件开发过程的管理及工程能力的提高与评估。CMM分为5个等级:一级为初始级, 二级为可重复级, 三级为已定义级, 四级为已管理级, 五级为优化级。CMM为软件企业的过程能力提供了一个阶梯式的改进框架, 它基于过去所有软件工程过程改进的成果, 吸取了以往软件工程的经验教训, 提供了一个基于过程改进的框架, 指明了一个软件组织在软件开发方面需要管理哪些主要工作、这些工作之间的关系以及以怎样的先后次序, 一步一步地做好这些丁作而使软件组织走向成熟。

4 结论

总之, 软件工程是为了尽可能消除软件危机的影响, 克服软件缺乏“可见性”的缺点, 借鉴工业化生产的成功经验, 对软件产品的生产过程加以严格管理和控制的一门学科。它的最终目的是实现软件的工业化生产。通过以上对软件工程技术发展进行探索, 期望能对软件工程的发展起到一定的参考价值。

摘要:软件工程是采用工程的概念、原理、技术和方法来指导计算机软件开发和维护的工程学科, 该学科将正确的管理策略和最好的技术与开发方法结合起来。本文主要探讨软件工程技术发展的思考。

关键词:软件工程,技术,原理

参考文献

[1]李斌.软件工程质量管理的研究现状及发展趋势[J].硅谷, 2011 (3) :112-113.

[2]李辉.软件工程开发方法的现状与展望[J].福建广播电视大学学报, 2011 (3) :109-110.

[3]许璐.软件工程未来发展[J].科技传播, 2011 (13) :67-68.

软件工程技术 篇9

近些年来, 信息技术快速渗透并改变着人们的工作、生活等诸多方面。现代信息技术正在向物联网、三网合一等新的领域扩展。但是作为知识聚集和传播的学校, 在应用信息技术方面还仅仅停留在初始的阶段。时至今日, 信息技术在高等教学中的应用还仅局限在利用网络搜集资源、利用网络建立师生沟通、利用多媒体替代黑板和粉笔等较低层次。

信息技术究竟怎样渗透进教学中?近年来有诸多学者进行了探讨。如胡连峰、陈小梅认为, 信息化教学设计是在建构主义学习理论指导下, 利用计算机多媒体技术、网络通信技术、课程整合技术等先进技术, 以学生为中心, 充分发挥学习主体的主动性、积极性, 以完成知识的意义建构与培养学生的创新能力为主旨的学与教设计[1]。刘儒德认为, 信息技术和教育整合大约要经历这样五个阶段:计算机素养培养阶段、计算机辅助教学阶段、信息技术与课程整合阶段、基于信息技术的课程改革阶段、基于信息技术的全面教改阶段[2]。信息技术为教学带来的绝不只是手段的变化, 更重要的是教学理念与模式、学习理念的变化, 因此必须改革教学模式和学习方式。而教学模式的改革, 最后必然会触动课程本身的改革。杨晨曦认为, 小型工具软件的应用和开发是一个关键的问题, 也是比较难解决的问题[3]。在国外利用小型软件来组织学生进行富有现实意义的问题的探究和解决, 是一种非常普遍的做法。在我国, 开发一批符合我国国情、高质量的小型软件, 对在较高层次上突显技术作用、发展高阶思维、实现整合等目标, 具有非常重要的作用。

教育部在2008年组织实施了“使用信息技术工具改造课程项目”。该项目的目的在于把成熟的信息工具软件引入课程教学, 改革教学模式、内容和方法, 提高我国课程建设的现代化水平。这为我们指明了信息技术进一步向教育渗透的方向。

信息技术包含硬件技术、软件技术和网络技术等。过去更多关注使用硬件技术来替代传统的黑板、粉笔、挂图等传统传媒, 多媒体设备只作为教学演示工具。也有很多教育工作者将信息技术扩展到网络的运用, 如利用网络来搜集和储存教学资料, 利用网络共享教学资源, 建立师生沟通和教学讨论等。但这种应用始终没有深入到课程本身。传统的文字纸质课本没有改变, 抽象内容的语言表述没有改变, 复杂的计算公式没有改变, 信息技术最重要的技术———软件技术没有渗透进教学之中。

二、运用信息技术提高教学效率

技术的进步是为了提高工作效率。作为近代人类技术进步的最典型代表———信息技术也不例外。信息技术在教学领域运用的目的就是要提高教师的工作效率和学生的学习效率。教师工作效率的提高是指教师在既定时间里可以花费更少的时间和精力有效提高受教育者的数量和质量。学生学习效率的提高是指在既定时间内, 更有效地理解和掌握知识, 更有效地应用知识分析问题和解决问题, 更有效地创新和发展知识。

现实中, 教师已经习惯在传统教学模式下用语言和文字教学。要将信息技术的成果用于改变传统教学模式, 必须让教师建立勇于改变习惯的信心和决心, 同时帮助教师熟悉信息技术。因此, 在教师运用信息技术过程中, 应该配备相应技术人员来配合教师共同完成信息技术的引入。

作为将信息技术引入课程改造的主要角色和主要工作的实施者———教师, 他们发现和感受到信息技术带来的好处, 才会使得他们在教学中自觉并高效使用信息技术。比如, 用PPT代替传统的黑板加粉笔来演示课件, 给教师带来了讲课中不会呼吸进粉笔灰而有利于健康的收益, 同时也节省了在课堂上粉笔书写的时间。

学生是通过载体 (文字、声音、图像等) 在教师的引导下学习和掌握知识, 并通过应用知识构建起自己的知识体系。学生学习的难点在于知识的抽象性和应用的复杂性等方面。因此, 信息技术引入课程的目的就是希望能达成让学生高效的理解和掌握知识, 在走上工作岗位之前能模拟现实应用知识, 缩短和现实需求的差距。

教与学的连接点在知识和课程。知识是人主观创造出来的暂定性的解释和假设, 具有主客观统一性、相对性、情境性、社会 (文化) 性、复杂性、工具性以及内隐性等特点[4]。教与学不仅仅是让学习者接受客观的信息, 复制他人的信息, 更要在一定的情境下, 通过教师与学生互动, 让学生主动构建起相关知识的意义, 反复应用并深化知识的意义, 创建起个人的知识。

效率的提高在于把复杂的计算简单化, 把抽象的知识具象化。在传统的课程教学中, 绝大部分是通过文字和语言的方式来呈现教学内容。虽然有一些如挂图、实验器材等直观生动的教学手段和教学工具, 但总体来说教学内容抽象化程度依然很高。事实上, 自从出现专业教师, 其教育教学的抽象能力一直在逐步增强。然而, 这种抽象事物的能力, 要通过更多的形象和直观具体地去表达, 从而实现更好地对抽象知识或事物现象的理解与认识。而技术作用下的教学内容, 文字载体的抽象性走向信息技术支持的具象化, 传统手工下的复杂运算走向信息技术支持的简单化, 同时信息技术可以模拟现实, 创造虚拟环境。运用好现代信息技术可以使教学内容从抽象深奥变得具体形象, 使复杂变得简单。

适应信息化的发展, 充分利用信息技术的成果。随着信息工具的变化, 信息传递模式也将发生根本性的改变。在信息社会里, 以文字课本为主要教学传媒的教育模式, 必将为以信息技术为教学传媒的新型教育模式所取代。教学中大量的图片、声音、动画、视频等多媒体表达元素, 使抽象的知识内容变得更加直观具体。像ms-excel等通用小型软件, 可以帮助我们把传统的非常复杂的计算变得简单, 我们只需要选择运算模型, 然后输入数据, 在手工条件下的复杂运算就可以快捷和准确地得出结果。因此, 技术作用下的教学内容, 通过更多的直观形象表达方式, 以达成更好地对抽象知识和事物的认识与理解, 或者通过运用软件计算, 把学习的复杂简单化。这样就可以帮助教师轻松解决传统教学中的难点, 也可以帮助学生克服畏惧复杂计算的心理。

总之, 通过运用现代信息技术, 尤其是软件技术对课程的改造所产生的效果是多方面的: (1) 信息技术作为效能工具, 可以用来改善教与学的过程和方法。 (2) 利用信息技术在数据处理和信息处理方面的强大功能, 可以更好地支持面向过程的学习, 或用于简化或者模拟一直被忽视或者难于表达的“思考”的“过程与方法”等。 (3) 信息技术改变了传统的信息处理方式, 使人类智能有机会超越屑微、烦琐的笔算和符号操作的技巧运用, 上升到从体会科学规律和思想方法开始的运筹、规划等层面上来, 更好地发挥人类智能的作用, 更大幅度地提高人类学习和解决问题的效率。这不仅有利于改变以往课程过于强调学科本位和知识本位的现状, 而且更有利于促进学习变被动接受和机械训练方式向探究与合作、体验与反思的方式转变等[5]。

三、运用软件技术改造“运作管理”

在教育部的支持下, 我们尝试将软件技术运用于“运作管理”课程的教学中, 下面是我们将软件技术运用于课程改造过程中的一些探索。

(一) “运作管理”教学现状分析

1. 对比分析我国与欧美发达国家《运作管理》教材、教学模式以及学生学习情况。

在教材建设方面, 欧美发达国家教材建设成熟, 一些经典教材已经修订十几次。而我国教材过于理论化, 内容与企业实际有差距, 大量运用国外案例让学生没有现实感和生动感。在教学模式方面, 欧美发达国家教学知识体系完善, 应用案例充实、完整, 拥有丰富的习题和信息技术工具支持。而我国教学体系不完善, 对学生应用知识的要求不多, 缺少信息技术工具的专门支持, 学生难以参与。在教学互动方面, 欧美发达国家注重学生体验, 学生自主参与性高。而我国教学互动很少, 学生除了习题外, 由于一方面缺乏企业支持, 另一方面缺少自主设计的实际操作, 导致学生很难体验企业运营的实际。学生利用所学知识解决企业实际问题方面与国外有明显差别。

2. 分析“运作管理”这门课程的特点。

该课程属于教育部规定的工商管理专业核心课程之一, 它也是多数学校管理类专业的专业基础课程之一, 具有相对独立性、完整性和延展性。本课程是学生了解运作管理的发展趋势, 把握企业运作的基本规律, 掌握现代运作管理的思想和理论方法, 并能够应用所学理论解决企业生产运作与管理中的实际问题的基础课程, 也是管理类专业进一步学好、用好其他课程知识的基础。课程内容已经从单纯的生产运作扩展到采供销以及服务运作的一体化, 企业的边界已经模糊, 供应链起主导作用, 新的管理理念不断出现。

3. 分析学生。

学生接受“运作管理”知识的障碍主要表现在以下这些方面:大学生的实践经验很少, 对运作管理这一实践性较强的科目理解力和接受度较低。学生普遍缺少对企业运营实际的接触, 虽然强调运作管理理论的实践性学习, 但由于运作管理的工程专业技术性较强, 其结果直接导致学生对理论知识的死记硬背、生搬硬套。课程涉及的模块非常多, 而且逻辑关系少, 导致课程前后衔接性差, 学生要不断调整思维, 导致很多学生难以适应。纯数学技术应用和工程技术性操作的讲授让学生感觉枯燥, 而偏重于管理的说明又让他们感觉实用性不足、缺乏教学互动性和运作管理知识的充实。

(二) 信息技术改造的设计

1. 思路分析。

综上所述, 使用信息技术工具对“运作管理”课程进行改造是完全必要的, 也是必需的。改造的方式应该体现企业真实环境, 注重学生参与, 促进学生的思考和对知识的应用。要改善“运作管理”的教学必须让学生克服三个难点:认识企业、应用知识、解决实际问题。激发学生学习兴趣最佳的是现场实习, 当这一条件不能够满足时, 课程改造可以通过提供丰富的案例和视频补充。验证性实验和自主设计实验为学生参与操作、深刻认识运营提供了良好的条件。信息化工具的开发, 简化了计算过程, 学生只需要利用所学知识, 正确合理决策就能够得到预期的效果。基于运作管理课程的实际背景, 运作管理研究性教学必须是基于企业运营环境的教学。因此, 本课程改造的特色是利用信息化改造, 建立模拟企业实际的教学体系。

2. 教学体系设计。

在课程改造思路分析基础上, 图2是“运作管理”课程改造的基本体系, 案例设计、实验设计都纳入资源库, 其目标分别是认识企业运营实践, 应用所学知识和动手解决实际问题。在基于企业实际的研究性教学核心理念下, 达到激发学生兴趣, 引导学生思维, 让学生主动参与并深入领会。

通过对比分析国内外的情况后, 决定在课程中引入MS Excel工具并进行深度开发。

根据课程改造需要, 对需求预测、运输管理、库存管理、项目管理、排队管理和供应链管理7大模块进行工具软件开发。

在供应链管理中引入斯坦福大学开发的共享软件Beer game, 在配送管理中引入康奈尔大学开发的Distribution配送游戏, 并进行了汉化处理。这些能够很好地引导学生学习。

(三) 改造成果

需求预测的演示性实验。基于不同预测方法, 提供5种基于MS Excel的预测实验方法, 学生根据提供的MS Excel工具, 选用合理的预测方法, 能够直接得到需要的预测结果, 并分析预测精度。改造后避免了烦琐计算过程, 便于分析不同预测方法的结果。

库存管理的验证性实验 (软件开发) 。开发不同订货策略下的最佳订货计算软件, 得到对应的成本曲线。改造效果是直观地观察最优订货点, 计算得到最佳理论结果, 深刻认识EOQ及其变形模型的理念。

库存管理 (配送游戏) 。由康奈尔大学开发的该游戏是由计算机模拟零售商和批发商的库存系统, 涉及了库存管理的知识点, 比如, 成本最小化、最优服务水平、订购数量、提前期、再订货点和安全库存等。游戏有效地证明了这些理论。游戏虽然简单, 但非常吸引人, 那些图形看起来让人愉快, 并且体会深刻。

四、运用信息技术改造课程需要注意的问题

本次信息化技术改造从整体上利用现有的软件或网络平台丰富完善了课程结构和内容, 将原有的文字性知识图像化、视频化, 并通过MS Excel的运用模块化总结知识点, 教授相对容易简洁, 取得了良好的教学改革效果。通过这次教改, 我们还注意到以下问题值得重视。

(一) 教师信息化改造课程中的心理因素

来自教师的风险感受之一是信息技术发展很快, 这种变化使得老师对未来的不确定性预期增加。在这种风险意识下, 产生了投入降低的诱因。在现实中使用信息技术改造课程的成功范例少, 持续时间短, 更多的跟随者只好选择留守“传统教学”。信息技术与教育的不断融合, 使教师职业发展的诸多方面如教学能力、教学环境、教学观念、教学模式等都正在经历着重大变革。在这个变革过程中, 因信息化教学而带来的焦虑情绪在教师心理中呈逐渐加强的趋势。如果不能有效改善不良情绪对课程改造可能带来的负面影响, 将不利于信息技术改造课程的推进。解决这种焦虑情绪的办法之一是配备相应的技术支持人员配合教师的课程改造工作。

(二) 学生的信息技术技能学习

学生的信息技术学习和学科知识学习都要经历一个发展过程, 两方面的发展过程要整合在一起。在运用信息技术改造课程时, 需要考虑信息技术技能水平与学科知识水平之间的相互呼应、配合。在其他课程中学习某一内容时, 如需要采用某种信息技术技能作为学习工具, 在信息技术课上应当预先学习这些技能, 为该内容的学习做好准备。反过来, 在信息技术课上, 如果需要其他课程中的相关知识和技能, 那么, 在其他课上就应当预先学习这些知识和技能。

参考文献

[1]胡连峰, 陈小梅.浅议信息化教学设计[J].安徽教育学院学报, 2005, (6) .

[2][4]刘儒德.对信息技术与课程整合问题的思考[J].教育研究, 2004, (2) .

[3]杨晨曦.对信息技术与课程整合的思考[J].江苏教育:小学教育, 2009, (12) .

软件工程技术 篇10

1 软件工程实验装置的设计

程序必须与终端用户搭配:

一般说来, 它需要接受一个或几个用户的输入, 然后以电子和/或书面的形式产生输出。一般情况下, 用户也必须从程序本身或随程序的书面文件学会使用程序。

程序将有可能和其他程序相互作用, 因此需要“内部接口”或兼容组件将它和其他程序联接

近几年来, 随着对集成应用程序的需求增多和面向目标的编程已成为一项准则, 这个程序单元越来越重要。最后, 程序人员必须编写执行程序的实际源代码, 并且这个源码必须被翻译成在计算机上运行的目标码。不可能界定程序编写的“顺序”。虽然人们可以自然地推定程序员可能从“顶部”开始并一路向下工作——对程序提出想法, 然后设计它的结构和界面, 并且最后以代码完成这些设计决定——然而事情并不总是按这个路线进行的[2]。

2 软件工程实验装置应用的项目

关于编写计算机程序步骤的一个最重要的事实是:它是迭代的。大部分程序不是以直线型构造编写的。程序设计表现为一系列的“反馈循环”, 其中程序的每一阶段影响到所有其他阶段。因此编写代码可能揭示出一些需要重新考虑程序的基本结构问题。用“a测试版软件”让一些试用用户可以指出已完成程序的一些缺陷, 而且也可以鉴定所期望的性能以便要求程序全部或部分重写;即使在程序已经编写“完成”并出售以后, 改写的过程仍在继续。大部分公司对它们的程序制定出一系列的修订版或最新版;当然消费者对购买第一版本的新产品往往非常谨慎。无论计算机程序是如何编写的, 它们都是功能性的。程序的设计是为一个或多个目的服务的, 并在很大程度上通过它们完成任务的好坏得以评定。由于计算机指令的功能仅是完成确定的任务, 制定程序结构时, 最令人关心的是以最有效的方式满足用户的需要。在这个框架下, 效率的概念是广泛的。效率可以是以下一项或几项:1) 代码效率——信息处理速度最快;2) 存储效率——使用求解技巧和寻址方法使完成期望任务所需的存储量最小;3) 输入/输出效率——计算机与外部硬件没备 (如键盘和打印机) 的用户之间的信息传送质量和速度最优;4) 稳定性——程序必须便于维护、升级、适应新的硬件平台。软件工程界力争以较低的成本开发出更“有效”和更可靠的程序编写方法。当然, 这并不是说, 用于完成相同目标的程序设计包含相同的代码。无数的因素可能导致不同的程序之间, 在“低”级源码方面以及在较高级的程序设计和用户界面方面, 形成显著的变化。如同对效率的考虑在很大程度上支配编程一样, 我们将看到, 这种变化对知识产权的影响也是很大的[3]。

由于用户的基数大, 更多的程序人员编写在DOS和Windows上运行的程序;更多的用户部分地采用微软系统, 因为所有的程序是为此编写的。1994年, DOS和Windows占有个人计算机操作系统市场的80%, 尽管该系统具有封闭性, 并且还存在一些具有竞争优势的系统。在具有显著网络外部性的市场中, 应考虑的重要事项是:计算机厂商是否有正确的动机去开发或采纳兼容性的产品, 并借此扩大既有网络。经济学家证实, 计算机厂商可能宁愿采用不兼容的产品标准, 虽然他们采纳兼容的产品将增加净社会财富[4]。

3 实验软件装置的实例分析

实验装置的软件有三部分, 第一部分是控制软件, 主要是控制系统的扫描、功能、数据的采集等;第二部分是数据处理部分, 用来对曲线做处理, 如曲线的平滑、四则运算等;第三部分专门用于黑体实验, 前两部分很好理解, 重点介绍第三部分[5]。

3.1 建立传递函数曲线

任何型号的光谱仪在记录辐射光源的能量时都受光谱仪的各种光学元件以及接收器件在不同波长处的响应系数影响, 习惯称之为传递函数。为扣除其影响, 系统提供一个标准的溴钨灯光源, 其能量曲线是经过标定的。另外在软件内存储了一条该标准光源在2940K时的能量线。当需要建立传递函数时, 请按下列顺序操作:

1) 将标准光源电流调整为“溴钨灯的色温”表中色温为2940K时电流所在位置;

2) 预热20min后, 在系统上记录该条件下全波段图谱。该光谱曲线包含了传递函数的影响;

3) 点击“验证黑体辐射定律”菜单, 选“计算传递函数”命令, 将该光谱曲线与已知的光源能量曲线相除, 即得到传递函数曲线, 并自动保存。

3.2 软件的设计与编写

根据实验软件装置的要求, 对所需要的功能进行实现与设计, 从而达到预期的应用果酱。

4 结论

总之, 如何完善软件装置平台系统功能、拓展其应用, 基于应用中发现的待改进的问题和学生的反馈意见, 改进该实验软件装置系统, 并请学生参与到装置的建设中, 力争使其在提高学生的综合素质和能力方面发挥更大的作用。

摘要:软件工程技术综合实验装置既包括各种自动控制技术的基础实践环节训练、又包括复合多种控制技术的综合性实践环节训练。软件工程技术综合实验装置是本书配套的综合控制技术实训装置, 结合多年工程与教学实践经验设计了多达近几十个实验, 可以在阅读本书的同时, 结合各种实验设计, 进一步理解和掌握各种自动控制新技术。本文主要探讨软件工程实验软件装置的应用。

关键词:软件工程,实验软件装置,控制

参考文献

[1]张慧, 邢培振.基于企业网双核心高可用性应用方案研究[J].中州大学学报, 2012 (4) :118-119.

[2]许小东, 吴军强.基于Multi-Agent的过程化教学系统模型的研究[J].嘉兴学院学报, 2012 (6) :201-202.

[3]施伟, 王硕苹, 郭鸣, 等.跨平台移动应用中间适配层设计与实现[J].计算机工程与应用, 2012 (10) :187-188.

[4]徐耀丽, 康慕宁, 齐万华.Ajax技术在远程教育平台中的应用研究[J].计算机与现代化, 2012 (12) :179-180.

技术热线[软件/系统问答] 篇11

我在与朋友使用MSN聊天之后,想将聊天记录中无用的信息删除,保留那些有用的信息。请问如何实现?

现在的MSN聊天记录都使用XML格式的文件保存,只要直接用记事本程序或Word将其打开,然后删除即可,不过删除时需要注意保持原来XML标签的完整性,防止出错。

如何让支付宝汇款突破500元

我经常使用支付宝在朋友之间汇款,但每天限额只有500元。请问,有没有什么方法可以突破这个限制,让汇款金额更多?

可以通过申请支付宝数字证书实现。首先,申请实名认证,然后在支付宝的“安全中心”点击相应的链接下载安装数字证书即可。

如何申请QQ第二代密码保护

我的QQ是四年前申请的,为了QQ号码安全,当时我就申请了密码保护,但现在QQ又提示我申请第二代密码保护,而我已经忘记了当时申请密码保护时的相关信息了。请问,这种情况下如何成功申请第二代密码保护?

如果你忘记了申请密码保护时的相关资料,可以尝试使用“预设DNA”功能来申请第二代密码保护,预设DNA时尽量将你可能记住的曾经使用过的QQ密码、身份证号、注册地址等信息输入,等审核通过后即可通过手机短信的方式得到验证码,再申请第二代密码保护即可。

如何记住FTP常用目录

我经常使用FTPRush下载FTP服务器中的文件,我想将一个常去的目录记住,就像IE浏览器收藏夹那样,下次打开FTPRush就可以直接进入。有没有方法呢?打开FTP Rush并打开这个目录,再单击远程工具栏上的“书签”按钮,单击“保存当前的远程和本地目录”即可,以后每次使用FTPRush登录该站点时就会自动进入该目录了。

Maxthon中添加收藏夹就会出错

我在使用Maxthon时,只要使用“Ctrl+D”打开收藏夹并添加网址后,过不了一会,浏览器就会自动退出并提示出错。请问这是什么原因?

你肯定使用的是最新的Maxthon 2.0测试版,此版本目前仍处于公测期,你遇到的这种问题是其自身的Bug,每次添加链接后都会崩溃。如果你不能忍受,下载稳定版(V1.5版)来使用即可。

IE收藏夹出现错误

原先收藏夹放在D盘,由于需要调整D盘分区,于是将其移到其他盘中,待调整完毕后,再拷贝到D盘,结果IE收藏夹打开后没有内容,现在无法添加也无法导入。请问如何解决?

只要单击“开始/运行”,输入“regedit”并回车打开收藏夹,然后定位到:HKEY_CURRENT_useRsoftwareMicrosoftWiMowsCurrentVersionExplorerUserShell Folders,將里面的“Favorites”的路径更改为D盘中收藏夹的路径即可。

如何备份飞信历史记录

我使用飞信有很长时间了,现在需要重新安装系统,请问,如何才能成功地备份飞信历史记录?

软件工程与应用软件开发研究 篇12

尽管笔者在将近20年从事的基础技术工作中, 曾经用传统开发工具及流程化的编程思想编写实现过某一项功能的程序, 还从传统开发思路实现面向对象开发思路的转变, 有成功和失败, 有奇思怪想, 也解决过一些实际工作中的问题, 但依然感觉自己只知些皮毛。于是静下来时笔者也会经常反省, 同时查阅各类相关文章, 与同行经验交流, 和关注相关软件技术发展的新闻报道。

软件工程从概念提出至今已经近40年了, 但是客观地说, 软件工程还处于摸索发展阶段。

软件工程主要讲述软件开发的道理, 基本上是软件实践者的成功经验和失败教训的总结。软件工程的观念、方法、策略和规范都是朴实无华的, 平凡之人皆可领会, 关键在于运用。我们不可以把软件工程方法看成是诸葛亮的锦囊妙计——在出了问题后才打开来看看, 而应该事先掌握、预料将要出现的问题, 控制每个实践环节, 并防患于未然。研究软件工程永远做不到理论家那么潇洒:定理证明了, 就完事。

软件工程以后的发展可能会变成一个广义的“软件工程”, 而它却不再完全属于工程化的范畴。开发软件, 人的因素会越来越重要, 因为开发软件不能像汽车制造那样完全的流水化, 除非软件完全产品化, 但事实上很多软件都是项目化的, 项目化的特点就是需求多变, 有个性, 只有开发软件的人运用其丰富的经验和智慧才能去适应这种多变的需求。

软件工程思想将软件开发分成多个阶段, 没有一定之规, 说法也不尽相同, 但总体完成的工作都是雷同的。笔者暂且按照5个阶段谈谈认识, 这5个阶段是需求分析阶段、系统分析阶段、系统实现阶段、测试阶段和维护再生阶段。5个阶段需要投入的技术力量平分秋色, 如今面向对象的开发思路使得代码编写已经不再是高手的事情, 而每个阶段的文档编写一定是技术人员需要细致严谨的编写才可以达到工作的循环和进步, 并提供给他人复用。

25个阶段工作的认识

在介绍我对5个阶段工作的认识之前, 我首先敷述几个基本观念。

软件工程的目标是提高软件质量, 质量因素有正确性、性能、可靠性、容错性、易用性、灵活性、可扩充性、可理解性、可维护性等等。开发常用模型有:线性模型、渐增式模型、螺旋模型、快速原型模型、形式化描述模型等等。“套用固定的模型不是程序员的聪明之举”。比如“程序设计”与“测试”之间的关系, 习惯上总以为程序设计在先, 测试在后而对于一些复杂的程序, 将测试分为同步测试与总测试更有效。

软件开发中的3种基本策略:“复用”、“分而治之”、“优化——折衷”。软件复用是将具有一定集成度并可以重复使用的软件组成单元称为软构件 (Software Component) 。分而治之是指把一个复杂的问题分解成若干个简单的问题, 然后逐个解决。软件的优化是指优化软件的各个质量因素, 如提高运行速度, 提高对内存资源的利用率, 使用户界面更加友好等等。优化工作的复杂之处是很多目标存在千丝万缕的关系, 当不能够使所有的目标都得到优化时, 就需要“折衷”策略。软件中的折衷策略是指通过协调各个质量因素, 实现整体质量的最优。软件折衷的重要原则是不能使某一方损失关键的职能, 更不可以像“舍鱼而取熊掌”那样抛弃一方。

其次, 笔者从需求分析、系统分析、系统实现、测试与改错、维护与再生这5个方面总结了一点心得体会。

工作在第一线的软件开发人员是程序员和程序负责人, 他们决定着软件的命运。程序负责人应是程序员队伍中经验丰富的, 熟悉每个阶段的工作, 能够把握判断决策, 有人格魅力, 程序员要对编程感兴趣, 程序员不能是临时的。

制定进度表的人最好就是项目负责人, 他最了解项目和开发人员。进度安排并不一定要符合逻辑顺序。开发一个大的软件项目, 应该将进度表分为若干个里程碑。一个里程碑之内的多个任务可以同步进行。进度表中必须留有缓冲时间, 并将缓冲时间用到不确定的事情上。

2.1需求分析阶段

需求分析是项目成败与否的第一步, 对需求把握得越准确, 软件的修修补补就越少。有些需求在一开始时很难确定, 在开发过程中要不断地加以改正。软件修改越早代价越少, 修改越晚代价越大。

需求分析要关注到每一个最终使用者, 避免遗漏使用方的需求。

需求分析尽量从多个角度进行。需求分析需要与使用者进行多次反复沟通, 开发者做到真正领会使用者的需求。做可行性分析不能以偏盖全, 也不可以什么鸡毛蒜皮的细节都加以权衡。可行性分析必须为决策提供有价值的证据。

需要分析的工作要点有:①完成问题整理、收集;②走访使用部门, 进行询问、沟通;③交流中的心态定位是我们在为编辑、为业务工作;④我们要为用户考虑。让用户意识到我们的每一句话都是在为他们考虑;⑤采用适当的交流语言。勾画出思路清晰用户易懂的流程图, 清晰明了的表格, 形象美观的图形, 必不可少的文字;⑥保留交流的记录和整理汇总的文档;⑦技术人员自己要提出用户易用性需求、系统功能需求、系统维护需求;⑧响应变更需求, 拒绝不合理要求;⑨业务建模。通过UML绘制的模型来完整、适当地对需求进行描述;⑩分析绘制业务流程图和数据流程图, 总结出各级操作人员, 识别系统中的所有用例和角色;分析各角色和用例之间的联系, 使用UML建模工具画出系统的用例图;最后勾画系统的概念层模型, 借助UML建模工具描述概念层的类图和活动图。

2.2系统分析阶段

系统分析阶段完成系统设计。系统设计是把需求转化为软件系统的最重要的环节, 决定一套软件系统的健壮性、可扩展性、易开发性等。系统设计的优劣在根本上决定了软件系统的质量。这个阶段要确定系统结构, 系统结构的稳定性决定应用软件的使用寿命。

有了上一阶段需求的把控和需求建模, 系统分析阶段就要完成结构设计、模块设计和数据结构设计。模块设计的组件单元尽可能小, 可让每个程序员承担很少的开发部分, 各部分之间不受牵制, 强内聚、弱耦合, 使单元组件可以随时重新开发, 而对整体的开发不造成瓶颈。

该阶段还要设计系统运行平台的架构, 部署系统物理平台, 制定系统备份恢复机制。

2.3系统实现阶段

这个阶段选择通用的编程工具, 按照需求建模和系统设计中不同模块拆分给不同的技术人员, 并实现进度控制。

2.4测试阶段

这个阶段是系统上线前的关键期, 是对需求分析和理解的验证阶段, 在这个阶段可以发现结构设计的合理性, 进而可能回退到分析设计阶段进行系统重构。可以按照黑盒测试、正确性测试、容错性测试、性能与效率测试、易用性测试和文档测试这6个方面进行分组测试。开发过程中进行同步测试。针对测试中发现的问题, 进行程序修改。之后再进行分组测试, 如此往复。最后, 进行总测试, 直至成品。

2.5维护再生阶段

通常开发人员会忽略维护与再生这个环节。对于一个优秀的程序员来说, 这个环节非常关键。在这个环节中, 程序员可以积累很多运行中存在的问题, 将这些问题总结成为系统性能需求, 然后将系统性能需求转入到再生工程中进行升级改造。

再生工程与维护的共同之处是都没有抛弃原有的软件。如果把维护比作“修修补补”, 那么再生工程就算是“痛改前非”。

3运用建模工具完成5个阶段工作

下面是运用软件开发系统建模工具与面向对象的开发模式结合来完成几个阶段的工作。我们可以用建模工具创建5种视图, 用例视图、逻辑视图、组件视图、并发视图、配置视图。

用例视图是软件需求分析到最终实现的第一步。这个视图是开发人员与使用人员之间的交流视图。在做需求分析的过程中, 除了传统的调研方式和调研之后的归纳整理工作之外, 还再增加一项工作, 就是运用建模工具生成用例视图。看似增加了一项工作, 但却是生成逻辑视图、并发视图、组件视图的基础, 运用建模工具可以将建模工具语言转化成相应的面向对象的编程语言, 从而减少软件编写的开发量, 大大提高开发效率, 缩短开发周期。也就是前面所说, 软件开发不再局限在高手, 而经验和分析贯穿每个阶段, 经验和分析的重要性更加突出。

根据逻辑视图、并发视图、组件视图可以将软件开发分块, 切割给不同的团队或者不同编程风格的人去实现, 总体开发进度不会因个别部分或个别人受到重大影响。逻辑视图使用者主要是设计人员和开发人员。并发视图使用者是开发人员和系统集成人员, 组件视图使用者主要是开发人员。

上一篇:医院门诊药房的管理下一篇:许可使用合同