时间:2022-02-06 00:10:24
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇软件设计开发研究,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
摘要:为加强学生软件设计能力,本文对计算机专业软件设计能力培养模式进行了探索与实践,对教学内容优化,构建新型四层递进式课程体系;强化实践能力培养,构建立体化实践教学体系,在提高计算机专业学生的软件设计开发能力上取得了比较明显的效果。
关键词:软件设计能力;内容优化;实践教学
一、优化教学内容,构建新型课程体系
1.优化教学内容。计算机软件技术应用领域广泛,知识更新快,实践性强,既要求扎实而广博的理论基础又要求良好的实践动手和自我学习能力。针对这一特点,以计算机科学与技术本科人才培养方案为基础,以基本素质和工程能力培养为主线,以面向信息领域市场、面向区域经济建设为需求,坚持“基础、应用、实践”的原则,突出软件开发与设计的能力培养,在专业教学中强调理论与实践并重,知识、能力和素质协调发展,对教学内容进行了大幅优化设计。在基础能力方面优化了程序设计基础课程,新增了算法分析与设计、面向对象分析与设计课程;在软件设计高级理论方面优化了软件工程课程,新增了软件测试与质量保证、软件体系结构与中间件技术课程;在综合实践应用方面新增了Java程序设计、系统集成与项目管理、xml与电子服务课程。通过一系列教学内容的改革和优化,兼顾了软件设计理论的深度、广度和实用性,更加符合以软件设计能力培养为核心的教学主线要求。2.构建新型四层递进式课程体系。软件设计和开发是计算机科学与技术专业本科人才能力培养的核心和基础。通过深度剖析计算机软件设计能力的培养特点,总结以往教学经验,以培养学生软件设计能力为核心,构建了从程序设计基础到软件开发综合实践的四层课程体系,每层都有相应课程群以及阶段性培养目标。(1)基础理论层。以计算机导论、操作系统、数据结构、编译原理、计算机组成原理为核心课程群,目标是奠定计算机系统的基础理论知识。(2)基础训练层。以程序设计基础、数据结构与算法等为核心的课程群,目标是打牢程序设计基本能力,并初步掌握面向对象软件设计方法。(3)高级理论层。以软件工程、软件测试与质量保证、软件体系结构与中间件技术为核心课程群,目标是系统掌握软件体系结构、软件设计开发和软件项目管理的理论知识,为高级应用实践打下坚实基础。(4)综合应用层。以系统集成与项目管理、xml与电子服务、Java程序设计为核心课程群,目标是面向应用,全面提高软件项目设计开发的综合能力。四个层次之间环环相扣、互为基础、由低到高、循序渐进,逐步培养学生良好的软件理论素养和扎实的设计开发功底,为国家和社会培养合格的IT人才。3.强化实践能力培养,构建立体化实践教学体系。良好的软件设计能力不仅需要深厚的理论基础,也需要较强的实践功底。鉴于计算机软件技术具有实践性强、知识更新快的特点,我们设计了立体化三层实践教学体系,包括基础训练层、综合训练层、实践应用层。(1)加强课内实践教学,培养学生基本编程应用能力。基础训练层是由程序设计基础、数据结构、Java程序设计、编译原理和操作系统等课程的课内实验组成。在课程实验设计中加大了综合设计类实验的比例,减少了基础验证性实验比例。其中基础验证性实验与课堂讲授同步,加深对某个知识点的理解,紧跟老师引导完成练习。综合设计类实验对多个知识点进行综合训练加深对课程内容的整体认识,还需要提交实验报告。注重综合设计能力的培养。综合训练层是由程序设计基础、数据结构和软件工程等课程的课程设计组成。通过设计小型综合项目,培养知识的综合运用能力。课程设计的实施分为开题、系统设计、编码实现、系统测试、系统评价与验收,提交课程设计报告。要求分组完成,最后答辩评分、评优。我们对课程设计考核进行了改革,制定了具体的课程设计考核制度与考核方法,将课程设计考核变为答辩方式考核,包括小组答辩和年级优秀课程设计答辩两个过程和层次进行。(2)引导课外实践,培养学生创新思维能力。实践应用层是由各类大学生竞赛活动、大学生SRP训练项目、大学生创新计划、毕业设计、教师的科研课题、工程实训和软件开发小组等各种形式的实践活动为依托。通过各类竞赛,激发学生对软件设计的兴趣和主动性,鼓励学生积极参与教师科研项目、大学生创新计划、大学生SRP训练项目和毕业设计,培养和锻炼软件设计开发能力。
二、小结
围绕计算机基础、程序设计基础主线展开教学,使学生能够具有扎实的基本功,为高层次人才和创新能力的培养打下坚实的基础。对相关的课程进行整合,形成课程群,突破学期、授课教师、课程各自独立的局限,实现总体设计、综合布局、交叉穿插、协同配合的新模式。
参考文献:
[1]谢中科,肖增良.程序设计系统化思维培养模式的探讨[J].计算机教育,2014
[2]戎玫,张广泉,王辉.强化实践创新能力突破软件人才瓶颈[J].实验室研究与探索,2013.
作者:高攀 郭理 单位:石河子大学信息科学与技术学院
关键词:计算机软件;设计;可维护性
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)34-0072-02
Abstract:The computer has become essential to our daily life information communication tool, it constantly create convenience for people's life at the same time, people also need to upgrade maintenance regularly, to ensure the long-term use of computer software.
Key words: computer software; design; and maintainability
大数据、云计算的今天,计算机已经成为人们日常生活必需品,现代计算机逐渐地向微型化发展,形状比较小巧,但是功能十分强大,且携带方便。在现代社会中,计算机已经渗透在人们日常生活的方方面面,而且在科学领域,它也发挥了无可替代、不容忽视的作用,但是,由于计算机的使用具有较高的普遍性,因此,需要在设计中体现出计算机软件的多样性,以便满足使用者的不同需求,而且虽然现代计算机阮籍设计技术越来越成熟,也越来越完善,但是也经不起长期的损耗,需要定期进行升级维护,并且在设计中,保证其可维护,才能有效地延长计算机的使用寿命。因此,本文浅析计算机软件设计中的可维护性,以便为计算机的日常升级维护提供一定的参考及指导。
1 浅析保证计算机软件设计中的可维护性的重要性
计算机与我们的日常生活息息相关,在各行各业我们均能看到计算机的身影,因此,计算机软件的应用、发展市场十分广阔。另外,我们的日常生活基本上离不开计算机的辅助,如:网上购物、网络工作、网络聊天等,已经成为生活中必不可少的信息交流工具(或者平台),而且现代计算机的功能更加强大,随着人们生活方式的不断变化、生产模式的不断创新,人们对计算机的功能要求、使用寿命的要求越来越高,在这种高速变化的环境中,计算机软件技术却不尽人意,往往滞后于人们的内在需求,因此,需要计算机软件设计者以及相应的开发者充分的考虑影响软件可维护性的因素,接受各种各样的技术挑战,如:全球语言的有效转化、难以理解的逻辑问题等,这些极易导致计算机软件无法顺利的升级维护,而且若计算机软件设计者在必须改变原有的系统基础上,才能进行审计维护,则需要重新设计开发新的计算机软件,这样不仅仅浪费时间、资金、精力等,还会影响到人们的日常生活的需要,使得计算机软件设计开发的成本增高。因此,计算机软件在设计过程中,需要全面提升计算机软件的可维护性,尽可能地满足人们的需求。
2阐述计算机软件设计中的可维护性的衡量标准
经过多年的实践经验,我们发现,保证计算机软件设计中的可维护性是十分有必要的,能够对整个社会经济的发展产生过一定的影响,因此,需要对计算机软件设计中的可维护性的衡量标准进行探讨,而根据多年的设计经验,我们发现:质量检查表、质量标准以及质量测试是保证计算机软件设计可维护性的重要指标,其中,质量检查表是一个针对性的检查(针对计算机软件中的一些程序质量控制),能够有效地将程序质量问题列成明确的清单,从而有效的为计算机软件设计中的可维护性创设并且提供一个有安全保障的有效凭证,这样便可以为计算机软件设计中的可维护性提供更加优质的服务,降低对使用者的负面影响。而质量标准,是根据计算机软件设计性质的不同来规定的,需要结合不同使用者的内在需求来确定设计理念或涉恶及方案,这样便可能存在互相交叉的现象,同时,也正是这种互相交叉现象的存在,才使得计算机软件设计中的可维护性质量标准是存在差异的,是具有针对性的,能够拓展计算机软件设计、开发视野,为提升计算机性能,针对性的提升软件设计中的可维护性打好坚实的基础。另外,质量测试,是一个评价计算机软件设计中的可维护性的程序质量与实际应用的标准,主要负责检验计算机软件是否达到相关技术数据规定,避免设计漏洞的发生,提升计算机软件的使用寿命,并保证计算机软件设计中的可维护性。
3 浅谈优化计算机软件设计中的可维护性的途径
计算机用户才是计算机软件设计的最终受益者,因此,为了维护计算机用户的切身利益,在见算计软件设计中,需要充分的考虑用户的需求,根据用户的内在需求,先创建一个高质量的软件,并且保证这个软件具有有效率,且实用,能够随时修改程序,其逻辑性一定要保障被使用者理解和掌握,这样便可以有效地提升计算机软件设计中的可维护性,另外,在语言设计上,要设计、开发出功能强大的语言转换技术,将语言进行难易划分,尽可能的采取用户容易掌握的简单操作语言,从而增强计算机软件设计中的可维护性。另外,需要加强与企业、个人等的联系,实时的调查掌握市场信息,以便及时的更换设计方案,设计出高质量的、实用的计算机软件,方便人们的日常生活,同时,为人们的日常生活提供更加优质的服务。总之,优化计算机软件设计中的可维护性需要多方的共同努力,在充分的考虑计算机用户的切身利益的基础上,降低软件设计、开发成本,实现其利益最大化,促进计算机软件设计、开发事业的健康、可持续发展。
另外,优化计算机软件设计中的可维护性,可以通过优化市场调查模式来实现。计算机软件的设计、开发,最终目的是为人们的生活、工作、娱乐等带来便利,且由于不同人群对计算机性能的要求不同,因此,需要对人民群众多种多样的内在需求进行深入的调查,如现在市场上出现的游戏本、商务本等,均是针对人们特定的需要而设计、开发的,虽然目前已经取得了一定程度的进展,但是不能忽视跟踪调查的重要性,因为人们的心理变化是流动的,且不同经济实力的人们审美能力不同,当人们具备一定的经济实力时,不仅仅关注到计算机软件的性能,而且会更加注重软件设计的是否美观,是否满足自身的审美。因此,计算机软件设计中的可维护性在一定程度上也受计算机用户的审美、经济状况的影响,要想保障计算机软件设计中的可维护性,必须深刻的掌握用户的内在需求,也就是心理接受能力,在设计、开发的过程中,将软件的可维护性变得更加的灵活,才能促进利益最大化的获取,推动计算机软件设计、开发事业的良性竞争,提升企业的核心竞争力。
4 结束语
计算机已经渗透在人们日常生活的方方面面,虽然目前我国的计算机技术取得了较大的进步,但是与国际发达水平相比,依然存在很大的差距,尤其计算机软件设计中的可维护性问题不容忽视,我们需要根据计算机用户的实际需求,全面的优化计算机软件设计中的可维护性,并且尽可能地降低计算机软件可维护性设计、开发的成本,实现计算机软件设计、开发的经济效益最大化。本文通过浅析保证计算机软件设计中的可维护性的重要性、阐述计算机软件设计中的可维护性的衡量标准、浅谈优化计算机软件设计中的可维护性的途径,为全面的提升我国计算机软件设计中的可维护性建设质量提供一定的参考与指导,虽然可能存在一定的片面性,但是不能忽视其研究价值。
参考文献:
[1] 李澍.关于计算机软件设计过程中的可维护性探究[J]. 电子技术与软件工程,2014(21):83.
关键词:软件设计 设计模式 模式分类 模式选择 模式使用
中图分类号:P631 文献标识码:A 文章编号:1007-9416(2013)04-0194-01
关于模式这个概念,最早的时候是在城市建筑领域当中出现的,而Christopher Alexander[1]所写的一本关于建筑的书中对模式这一概念有明确的定义,其大概含义是说每一个模式都是描述我们周围发生的事情,并对发生的问题进行合理的解释,使得利用这个模式就可以重复的解决类似的问题。Christopher Alexander利用他所得出的模式这个概念解决了建筑领域中的一些问题,模式这一概念发展到现在,已经逐渐成为计算机领域当中独有的概念了。
1 软件设计模式分类
对软件设计模式的分类有许多不同的方法,在这里主要是根据模式在计算机软件设计中能够完成何种种类的工作来决定的,大致可以分为创建型的模式、结构型的模式以及行为型的模式这三种类型。而当模式运用于不同因素的时候又可以分为不同的类型,运用于类的时候可以分为类模式,运用于对象的时候可以分为对象模式。所谓类模式就是处理系统中的类与子类之间关系的模式,这些关系可以通过继承的形式来建立,静态的类模式在进行编译的时候便要确定下来;所谓对象模式,就是处理对象之间关系的模式,这些关系在系统运行的时候是能够不断变化的,所以对象模式是动态的模式。
第一,创建型的软件设计模式。创建型的设计模式是和对象的创建有着十分必然的关系,也就是说,在描述创建对象的时候,要将对象创建过程的具体细节进行隐藏设计,使得系统程序代码能够不依赖具体的对象。所以当我们需要在系统中增加一个新的对象的时候,是不需要修改系统的源代码的。创建型的类模式需要将对象当中的部分在子类当中进行延迟性的创建工作,而创建型的对象模式则是将对象的部分在另一个对象中进行延迟性的创建。
第二,结构型的软件设计模式。结构型的软件设计模式是处理类的和处理对象的设计模式的组合形式,也就是能够描述类与对象之间的大的结构如何组建起来,并且在组建之后还能够拥有新的功能的一种模式。结构型的类模式是采用继承性的机制来对类进行组合。而结构型的对象模式则是能够描述对象之间的组装方式。
第三,行为型的软件设计模式。所谓行为型的软件设计模式所描述的是算法和对象之间所拥有的任务或者职责的分配情况,这其中不仅包括所需要的类或者对象需要的设计模式,还包括类和对象之间需要的通讯模式。这些模式的存在使得系统运行过程中难以追踪的十分复杂的控制流得到了良好的刻画。行为型的软件设计模式是使用继承机制来对类进行必要的分配工作,而在使用对象的时候是使用对象的复合而并非继承,所要描述的是一组对象是如何在合作的情况下完成单独的对象无法独自完成的任务。
2 软件设计模式的选择和使用
通过上面介绍的面向对象的软件设计模式,我们了解到软件设计模式的存在能够极大限度的帮助设计者用最快最好的方式来完成相关的软件程序设计。而面对特殊的问题的时候,在已有的软件设计模式中也可以十分方便的找到合适的软件模式进行相关的程序设计,尤其是在面对软件设计人员还不熟悉的新问题的时候。
在对软件设计模式进行选择的时候,应该先理解问题所表现出来的需求,问题中所表现出来的任何需求都能够在一个或者几个的问题领域中找到类似的地方,这种理解问题的需求再在不断的寻找过程中找到可能需要的软件设计模式或者软件设计模式组的过程,对有效的选择软件设计模式从而完成软件设计有着十分重要的作用;在了解了问题的需要并选择了大概的软件设计模式范围之后,再就问题所表现出来的需求对软件设计模式进行最终的选择,并在选择的过程中不断了解这种软件设计模式是如何解决这一类型的问题的。每一类软件设计模式都能够解决一类软件设计方面的问题,每个模式的存在都有其含义,对需要的软件设计模式进行必要的了解,才能够选择最适合解决问题的软件设计模式或者软件设计模式组。与此同时,软件设计模式有许多都是能够相互补充的,所以在选择合适的软件设计模式的时候,应该就设计模式之间的联系要进行必要的研究,这对选择出适合的软件设计模式组有着十分重要的指导意义。尤其是在对一个实际存在的问题进行程序设计的时候,更加应该着重考虑可能影响到软件设计的因素,研究这些因素是否会对系统产生不良影响。
在选择了合适的软件设计模式之后,就要把软件设计模式合理的运用到系统的设计当中,这需要循序渐进的进行。一是必须理解所选择出来的软件设计模式,能够清楚的了解软件设计模式最合适的使用环境以及在使用之后所能够达到的效果,并且对其是否能够解决实际存在的问题进行合理的判断;二是研究模式的结构、不同部位之间的关系和它们是如何进行合作的;三是就模式的参与者名字进行选择;四是对类进行定义、声明类之间的接口,建立不同类之间的关系,对代表的数据以及对象所引用的实例变量进行定义;六是对模式中专门用来应用的操作名字进行定义;最后就是实现系统设计中执行模式所包含的设计。
3 结语
总之,模式这个概念在很早的时候就已经存在了,并且有很多的模式在现有的软件系统设计中都已经出现过了。在国外,对设计模式的研究工作进展十分迅速,他们总是能够不断的总结出新的软件设计模式,而且很多的软件设计开发工具与环境都对他们的开发工作进行了必要的支持,有些软件设计模式的研究者还能够让设计模式运用形式化的表现模式由计算机自动生成需要的代码。所以我们在对设计模式进行实践的过程中,应该不断的总结发展,才能够早日创造出新的软件设计模式。
参考文献
[1]张海攀,杨佳.人事信息系统软件体系结构设计关键技术研究[J].电脑知识与技术,2011(22).
[2]丁黎明.一种获取Java中sun.misc.Unsafe实例的方法[J].中小企业管理与科技(下旬刊),2011(7).
关键词:软件;抽取;需求
信息化产业经过几十年的发展和建设,正逐步从最初的用于解决局部问题的小型或简单软件,向复杂、成体系、网络化的企业级系统扩展。软件系统的构成不再只是模块,越来越多的是功能构件和子系统,使软件系统成为“系统的系统”,或叫复杂系统。如何构建可扩充、可裁剪、可生长的满足企业应用的大型软件系统,已成为软件业研究的重要课题之一。其中,复杂系统的结构设计是人们最关注的核心问题。
1 软件设计的需求分析
软件通常是因需求才进行设计开发,由用户方从解决业务问题的角度提出,均以专业的术语或事务性的语言描述。高质量、清晰准确的需求描述,可有效约束软件系统的结构设计和功能定位。边缘清晰、描述规范的要求,会在一定程度上降低软件设计和开发的成本,提高软件质量和开发效率。但是,需求的成长和变化,往往伴随软件的整个开发过程,这种现状使得软件设计的难度不断增加,程序开发也从传统的开发方法向敏捷编程转化。
用户基于一定的业务需要提出需求,通常不能直接指导软件的开发,只有经过软件设计者的分析提取,通过规范的技术语言描述,形成面向软件开发者的需求规格说明,才能指导软件的研制。抽取需求是软件设计师必须完成的工作,传统的需求抽取方法一般包括面谈、问卷、观察和业务文档研究等,这些方法简单、成本低,对业务逻辑清晰、封闭性较好的需求比较适合,而对复杂且很难封闭的需求,采用传统的抽取方法,则风险很大。在软件开发领域,需求抽取方法有原型法、联合应用开发法和快速应用开发法三种。
1.1 原型法
通过构造软件演示系统,即根据理解的需求,建立一个快速而粗糙的工作模型,由可视化方法获得用户的反馈。
1.2 联合应用开发法
是将领导、用户、开发人员、系统设计师等召集起来通过会议的方式,集中所有人的智慧,对要求进行分析抽取。
1.3 快速应用开发法
就是集前两种方法,加上最优方案的系统研制而进行的一种需求抽取方法,是一种快速软件开发方法。
以上是目前常被采用的需要抽取方法,但对于系统分析员或系统设计师来说,无论采用哪种方法,都必须面临提取关键需求、判断需求增长点和发展方向的问题。
2 需求分析对系统体系结构设计的影响
2.1 抽取影响软件结构的需求,是需求分析的核心
关键需求是软件结构设计的核心,而提取关键需求是软件结构设计师必备的技能。以一个数据录入软件为例,一般需要提供一个交互式界面,由用户键入所需数据,提交存储到文件或数据库里即可。但用户要求录入的数据项,应能随着业务的不断变化而进行增加或删减,可多人同时进行录入。同时,要求对存储的数据按照需要的方式进行查询调阅,甚至进行一定的复合计算或评估分析等。对于这样的需求,录入项不断变化、多人同时操作、存储要求等都是核心元素,这些元素将直接影响软件结构的设计。软件设计应考虑分布式并发机制和大量的数据存储访问要求。这些需求均与功能无关,但会影响软件结构的设计。数据库访问相关的软件,一般采用传统的C/S结构。当用户增加到一定量时,该结构会导致数据库服务器负载加重,甚至系统崩溃。为了适应这种变化,应采用多层结构,将用户操作与数据存储进行分离。采用多层结构,不仅可以缓解数据库服务访问压力,还能降低数据库变化给用户操作带来的影响。录入项的变化需求,潜在地存在着数据项扩充、界面调整等功能要求。一般情况下,完全适应这种变化的软件很难设计。为此,可把录入项作为配置要素,界面设计和数据存储项根据配置项进行定制,应用服务层要在接口设计上考虑数据项的扩充能力。具有这类需求的软件,一般由界面构造工具、录入界面、应用服务软件和数据库服务器构成。
在抽取关键需求的过程中,抽取与业务无关的需求非常重要。“与业务无关”指支撑业务功能运行且与业务处理逻辑无关的功能。传输服务是典型的与业务无关的功能,在任意基于网络运行的软件中,不可避免的需要信息传输功能的支持。抽取与业务无关的需求,需要分析人员有丰富的软件设计经验,这种公共需求的抽取,有利于开发过程中软件的重用,可降低开发成本。
2.2 关注需求中与规模发展相关的因素
软件设计应用规模的发展速度,是软件结构设计时应考虑的主要需求之一。规模是考验软件支撑能力的主要因素。规模的发展可能是用户量的膨胀,也可能是数据量的迅猛增长,或两者都有。软件能力的成长性设计,通常会使开发付出代价,这是由于一方面在设计初期没有考虑这种成长性,导致设计失败;另一方面,虽然考虑了成长性,但由于软件复杂度的增大,增加了开发成本和风险。因此,对并发和负载的设计,应在设计之前就要给予充分考虑。
2.3 捕捉需求的变化方向
确定需求的增长点是考验软件适应能力的关键。需求的变化和调整是客观存在的,软件设计者分析需求时,应考虑到需求中可能存在的变化点或变化趋势,以提高软件的适应能力和成长能力。需求的增长点通常隐含在企业发展和技术发展中,一类是业务发展引起的工作流变化或增长。这种软件结构应具备新业务处理软件的集成能力;一类是业务转向。原有的业务处理软件不能满足转向后的业务处理要求,存在改造、裁剪、新增能力等潜在需求。软件结构还应具备可裁剪、可扩充的能力,否则将会造成巨大的经济损失。
抓住需求的变化点,设计合适的体系结构,可增强软件的生命力。面对需求多变的现实,降低结构的耦合度是有效缓解软件适应能力的方法之一。但是,降低耦合度一般会带来效率或系统复杂度的上升。因此,小型软件选择这种方法应慎重。(下转第16页)(上接第13页)
综上所述,设计满足需求的软件结构,重点关注的是功能,而设计适应需求变化的软件结构,关注的往往是非功能性需求,这需要系统设计师除了具备丰富的经验和敏锐的洞察力外,还应花大量的时间和精力同用户不断沟通与交流,从中获取最需要的需求,以支持软件整体结构的设计。
参考文献:
关键词:软件成本估算;专家辅助系统;框架;装备软件;开发需求
中图分类号:TP393
文献标识码:A
文章编号:1009-2374(2009)17-0041-02
进行准确的装备软件成本估算是保证装备软件开发顺利进行的关键和必要手段,也是保证装备采购人员能够对装备软件进行准确定价,避免军费浪费。但是,当前对装备软件成本估算的手段单一,方法不多,不够精确。在装备软件的估算过程中,由于装备软件开发过程的诸多不确定性,导致在估算过程中必须要有具备深厚专业知识的专家人员,但是在产品开发的实际中,这种专业深厚的高水平专家人员比较少,完全依靠领域专家来进行估算成本代价太高,不切实际。因此,设想开发一套装备软件成本估算专家辅助系统,用于在开发过程中对装备软件的项目时间、成本进行估算,解决缺乏专业领域专家人员的情况下对装备软件进行估算。估算人员只需要输入开发软件的相关信息或者整个软件编码,经过系统的匹配和综合的估算,把估算结果显示于界面上,方便快捷。如图1所示:
一、开发背景
当前,装备软件成本估算主要存在估算的方法有限,精确度不够,直接影响了装备软件的设计开发和增加了采购成本。主要表现在两个方面:
1、装备软件的设计开发主要是依据军方立项,通过国家指定的军品生产厂方,依据确定的标准和要求进行的。但是大多数承制方缺乏专业领域知识深厚的专家,并且,装备软件的设计开发缺乏市场竞争,参与的企业少,规范的软件生产企业不多,对设计开发过程中的装备软件成本估算不足,因而直接影响了装备软件开发的顺利进行和产品质量。
2、在军方采购人员中,大部分人员是军校毕业后直接进入采购部门工作,既没有经过专业的理论培训也没有相关领域的经验,对软件的成本估算只懂皮毛甚至不懂,大部分是按照国家关于军品的微利补贴原则,以承制方的价格为基础进行采购,这样条件下的采购无疑是带有较大的盲目性,难以避免对军费的浪费。因此,如果能设计一套专家辅助系统,其意义较重大。
二、设想理论框架
装备软件成本估算专家辅助系统理论框架主要由两个部分组成。一个是存储各种算法和估算标准的数据库。该数据库由算法知识库、历史模型库、储存比较库、智能估算执行库组成。算法知识库主要是对当前各种关于装备软件成本估算的算法进行编程存档(LOG法、Delphi法、经验类比法、功能点估计法、COCOMO法等),主要提供给智能执行库的估算模型原则。历史模型库主要存储许多历史经典装备软件模型,收集尽可能多的模型,为估算软件提供近似匹配依据。智能估算执行库主要是完成对输入的估算程序调用算法知识库中的各种算法进行估算,同时对装备软件进行历史模型匹配,得到近似估算值,储存结果比较库主要是把各种估算结果存储下来并根据智能执行库的指令进行比较,最后对估算值进行按预定比例系数进行加权处理,得到最终估算结果经传输设备传出。另一个框架就是操作系统和人机交换框架,主要是操作系统对第一个框架内的各种数据进行维护管理,科学地组织和存储数据,高效地获取和维护数据,准确的物理寻址,并及时对数据进行更新,用户通过人机交互界面与系统打交道,把要估算的装备软件信息或者编码输入进计算机,调用第一个框架内的数据,获取知识,并进行推理,得到解释,并对数据库进行维护,并把估算结果显示出来。
三、开发人员框架
装备软件成本估算专家辅助系统的功能是完成对装备软件的成本估算,主要为解决厂方在进行软件项目开发时对软件成本的预算不准和军方在采购过程中对装备软件的知识不深厚导致对其成本估算不准确。在开发这个系统需要四类人员参与才能完成开发。第一类就是众多领域专家进行知识收集和整理,建立各种算法和模型;第二类就是知识工程师进行知识建模、形式化、编辑以及语法检查;第三类是开发软件工程师根据系统的目的和已建模型进行系统设计和调试;第四类是最终用户对系统进行软件成本估算。如图2所示:
四、开发需求
装备软件成本估算专家辅助系统首先要对目标用户的要求做出准确定位。即:装备软件成本估算专家辅助系统主要是供给厂方在进行装备软件项目开发和军方在对装备软件采购定价时用,因此,对厂方和军方最需要了解的是装备软件成本的组成和估算精确度的问题。由此可以确定该系统要达到的要求,以及用什么方式实现这些要求,这就需要组织大量的专业领域专家进行论证和算法研究及建模,收集更多的历史模型,方便地对模型进行建模管理、存取管理、运行管理、模型组合,能方便地对知识进行插入、修改、更新、查询等,及时对数据库进行维护和更新。
五、工作过程
首先,由众多领域专家进行知识的收集整理,进行各种算法的研究探讨,并对算法进行验证可行,此过程也称为抽象的过程;在此基础上,由知识工程师根据领域专家的各种算法进行数学建模,成为可以理论计算的模型,此过程就是把抽象到具体的过程;然后,由软件开发工程师根据已有的数学模型进行计算机编程,成为计算机可执行的程序编码并存储与计算机内,此过程就是把具体到应用的过程;在前三个过程结束后,实际工作中的用户只需要将相关信息输入进计算机便可以进行成本的估算了。用该系统进行成本估算主要有两种工作方式:一种是厂方进行装备软件项目的开发设计时,主要对该软件项目的成本进行预算;一种是针对军方采购人员进行采购是便于对装备软件的定价而进行成本估算。总的来说其原理是一样的。用户把需要估算的软件相关信息或者整个程序编码输入计算机,通过操作系统把相关信息传输到智能执行库,智能执行库根据接收到的相关信息进行分项估算,调用算法库中的相关算法结合相关的信息进行估算,把估算的结果存储在存储比较库中暂存,再根据历史模型库中的模型匹配进行概算,得到的结果也存储于存储比较库中暂存,最后智能执行库根据存储比较库中的暂存数据进行加权平均计算,将最后优算得结果经操作系统的指令直接传出到人机交互界面,供给用户参考。
六、结语
成本估算专家辅助系统的主旨是在缺乏专业领域专家人员的情况下,便于装备软件在开发设计时能准确对其成本进行预算和在采购时便于对装备软件定价而进行估算。文章中的理论框架为软件设计提供了清晰的结构,是开发装备软件成本估算专家辅助系统的基础。开发装备软件成本估算专家辅助系统在理论框架、人员框架、开发需求的指导下,通过详细设计、数据库设计、编码实现、测试等过程实现系统全部功能。开发该系统之前需要大量的工作才能完成,但是一旦该系统设计开发完成后,将对实际工作过程中具有重要现实意义。文中提出的框架结构和开发需求对于装备软件成本估算以及装备软件成本估算专家辅助系统设计研究具有很好的指导作用。
参考文献
[1]张家浩,白思俊,软件项目管理[M]机械工业出版社,2005
[2]李帜,林立新,曹亚波,功能点分析方法与实践,北京:清华大学出版社,2005
[4]任永昌,赵颖应用COCOMOI模型估算软件开发工作量渤海大学学报(自然科学版),2007,23(3)
嵌入式系统开发与传统PC机不同,开发人员需要对用户做出详细的制定,所以人员需要对嵌入式系统更加全面透彻的了解。而且嵌入式系统的形式上与PC也不尽相同。嵌入式系统的体积往往较小,开发工具也是专门制定。嵌入式开发工程特点比较明显,一个普通人必须通过实际出发开发一款简单模式很难了解开发基本过程。嵌入式操作系统实验包括很多类型,需要根据不同的情况选择具体点操作系统。比如典型的嵌入式操作系统构成、系统移植、任务调度等等。建设嵌入式课程实验体系将指日可待。
2嵌入式实验教学体系
2.1实验平台建立与开发
在嵌入式实验开发建设过程中,我们主要采用广泛的校企合作模式。无论是低层还是高层,硬件还是软件,我们都是按照合理的思路,将嵌入式教学系统生命周期缩短,并进行系统详细的分析。分步骤的有层次的对内容深一步的了解。增强系统的连贯性,锻炼整体的把握能力。着重加强嵌入式的开发,移动多媒体数字电视复合型开发。而不是那些单一独立的,较为简单的开发软件,那些都是不成体系不完整的。我们需要对整合嵌入式了解更加透彻更加深入,对其特点加以研究,对其系统研究的更加明白易懂。
2.2设计实验平台
通过设计嵌入式开发环境linux下的应用、UC/OS-Ⅱ的应用、linux的基本应用、QTEmbedded设计、嵌入式微处理器ARM编程基础(指令)实验、ARM接口编程技术与驱动程序开发、SM接口编程与驱动开发等不同实验。来适应不同层次的对软件开发与学习。通过对其他课程的理解与熟知来配合对嵌入式教学课程的设计开发与研究。
3基于能力培养的嵌入式课程实践教学的实施
3.1强化嵌入式硬件和软件协同开发
多媒体课件编写为适应本院培养应用型本科层次的课程体系发展新形势的需要,在内容上更加偏重实用性,增加了多个嵌入式裸机系统设计案例,使学生在掌握基本原理知识的前提下,注重提高学生应用能力。因嵌入式硬件一些限制和一系列要求,嵌入式系统不会有固定系统模式。目前,一些公司针对于嵌入式多媒体教学平台,学生可以在教学软件和硬件平台上开发嵌入式软件。每次实验对每个具体功能来进行设计具体如中断通信AD取样驱动等等。实现每个误差不会太大,在规定的时间范围内完成。在嵌入开发技术的实践学时比较充足时,还要嵌入式实验平台上加入Linux的程序设计实验。
3.2改进实验项目
(1)根据客户的不同实验要求,导致实验教学平台配套的实验项目工程文件不能直接采用,所以需要我们独立思考问题,完成相应软件设计开发问题,并在调试过程中积累开发经验,提高动手能力,提高自己的综合素质。
(2)减少验证性实验,增加创新性实验。在实验过程,应该提倡创新能力,以动手过程内容为主,不能以老师课堂演示为主要内容,使得学生跟着老师和自己思维走,进而发挥学生的想象力和主观能动性。
4结束语
【关键词】软件复用 测控软件 开发
1 引言
随着交会对接、空间实验室、探月工程、深空探测等一系列任务的全面展开,地面测控站内的测控软件的可靠性和高效性将面临空前的挑战。在软件开发的各个阶段,保证阶段产品高质高效以及缩短研发周期是保障多任务并发的重条件,二者互相影响。为使软件既能高效又能保质保量的完成,近几年来,软件开发单位采用专门的软件管理团队对软件进行规范管理,与此同时改进软件开发技术。软件规范管理从近年的9001B质量体系认证、GJB5000A软件过程改进以及软件工程化等都对软件开发的各个阶段产品进行了规范管理,地面测控软件的管理日益规范,不断改进。另一方面,为大幅度提高软件的研发效率和质量,可以采用软件复用技术。本文结合测控软件开发实践,对复用技术在测控软件中的有效应用进行初步研究。
2 软件复用理论
2.1 软件复用的概念
为避免程序开发“从零开始”以及重复相同的工作,采用已有的经验和成果,将开发的重点集中在应用系统的新研部分,提高工作效率和软件质量,这就是软件复用。复用形式包括基于构件的复用和基于过程的复用,基于构件的复用是目前主要的复用形式。
2.2 软件构件及基于构件的软件开发
软件构件是软件复用的核心和基本单位,具有独立的功能,是可复用的软件组成部分,可供第三方进行软件组装。构件可以是被封装的对象类、类树、功能模块、软件框架、软件构架( 或体系结构) 、文档、分析件、设计模式等。基于构件的软件开发与传统的软件开发相比,基于构件的软件开发强调使用软件构件对软件系统进行设计开发。基于构件的软件开发方法需要有相应的软件开发过程作为基础,否则,就不会有与该系统相符合的质量特性要求的软件构件。
2.3 软件复用的优点
(1)改善软件质量:经过测试以及经过实践的软件往往缺陷更少。
(2)降低开发风险:开发新的组件,如果测试不够充分,轻则有效性不高,重则可能是造成软件失败的原因。
(3)支持快速原型开发:快速构建实用可操作系统模型,凭借其与用户进行有效沟通,最终获得用户有效意见反馈。
(4)提高软件开发效率,缩短软件开发周期,从而降低软件开发成本。
3 软件复用在测控软件开发中的应用
近年来,随着任务数量的增多,测控软件的开发团队越来越小,软件开发周期越来越短,软件的研制要求却不断的提高;随着卫星工作模式的增加,地面接收设备也需增加相应的工作模式完成相应的接收任务。因此,测控软件不但需要完成原有工作模式的监控管理功能,还需完成新增工作模式的监控管理功能。测控软件必须有效继承原有成熟的计划管理、自动标校/测试及自动运行管理技术,同时需要开发适合新增工作模式的计划管理、自动标校/测试及自动运行管理技术,并且要为后续其它型号软件提供高效的功能继承。
基于软件复用技术的测控软件开发,使用大量的已经过验证的高效软件,对传统瀑布模型的各个研制阶段的产品(如需求分析、软件设计、软件编码、软件测试)进行优化和简化,节省了人力和时间,提高了软件的可靠性,降低了软件成本和开发周期。在软件的研制过程中,需要对软件的复用架构进行设计,对可复用的构件进行适应性修改设计以适应新的软件需求,还需对新研的部件进行软件设计。软件的研制流程参见图1。
测控软件对原有成熟的设备监控、计划管理、自动标校/测试及自动运行管理功能的继承,就成为软件的复用的内容。其中包括四个阶段的复用:需求复用、设计复用、代码复用、测试复用。
3.1 需求复用
测控软件的变更原因主要有两种:
(1)用户需求变更。
(2)软件自身技术升级。其中,用户需求变更是导致软件变更的首要因素;软件技术升级的部分工作往往也是为了更好的适应用户的需求。
首先,同类任务的需求是逐渐增加的,并且有一定的可继承性,当增加新的需求时,已验证过的任务需求即可成为后续任务需求的可复用的构件。
其次,不同的测控任务需求之间同样存在相同或相似的元素。例如,任何一个任务都有相同或相似的任务流程;根据工作计划及自动运行策略进行站前标校、任务宏配置、启动自动运行流程;监控数据的存储、显示、查询等任务需求存在一定的共性,对其通用的任务需求,是完全可以复用或部分复用的。
因此,任务需求变更与软件需求变更为因果关系,直至后续的各个阶段活动都受到任务需求变更的影响。从需求分析、软件设计、软件编码直至软件测试,都会因为任务需求的变更而必须进行相应的更动。
3.2 设计复用
多年以来,很多任务的测控软件都有相同或相似的软件结构,因此,这一有利条件,在软件结构设计时,得到了充分的利用。
从软件复用的角度来说,在进行软件结构设计时,需将软件中相对稳定的部分(如设备监控、数据库管数据库管理、计划管理、用户管理)与新增加的部分不仅从结构上分开,而且要求其接口相对单一稳定。这样,从软件设计到代码开发都可以复用。
3.3 代码复用
对程序代码的复用,以设备的监控线程为例介绍如下:
目前,测控站内设备通过局域网进行通信,各个设备与测控软件之间的通信接口都已进行了标准化,因此,对不同设备的监控线程可以进行代码复用;如果重新设计代码,不但要耗费大量的人力和时间,延长软件开发周期,而且重新设计的代码必须进行充分的软件测试,否则难以保证其正确性和健壮性。
开发者使用以往可复用的程序代码,或全部吸收或加以优化,大大避免了重复性工作,将精力集中于关键技术的攻关,如此设计更加高效可靠的软件系统。
3.4 测试用例复用
软件测试复用主要包括测试流程的复用、测试方法的复用和测试用例的复用。其中,测试用例的复用是测试复用中的关键技术。测试用例的复用对于缩短软件的开发周期和降低软件开发成本具有极其重要的意义。
4 结束语
测控软件在当前开发周期越来越短,任务量越来越大,软件质量要求越来越高的前提下,软件设计开发者如能有效的利用长期工作实践中积累的大量的软件工程经验,以及大量的经过验证的软件相关文件及代码较好的实行软件复用技术,则能够大大降低软件开发成本,提高软件开发效率,提高软件质量。
因此,软件复用技术在测控软件开发中既实用,又有效,对软件开发起着至关重要的作用。
参考文献
[1]杨芙清,梅宏,李克勤.软件复用与软件构件技术[J].电子学报,1999(2):69-71.
[2]杨芙清,王千祥,梅宏.基于复用的软件生产技术[J].计算机科学,2001,4(21):363-370.
[3]陈菲,刘克勤.计算机软件复用技术研究[J].现代电力,2002,19(6):95-101.
[4]刘述忠.软件复用-提高计算机软件质量与效率的途径[J].中国金融电脑,2002(2):20-22.
[5]刘艳艳,罗克露.基于特定领域软件体系结构的软件复用[J].计算机信息,2011(1):173-174+394.
作者简介
王德芳(1979-),河南省郑州市人。学士学位。现为中国电子科技集团公司第二十七研究所工程师。研究方向为电子工程。
一、Tilcon简介
Tilcon是一个支持多种操作系统平台的图形界面开发工具,可实现图形界面快速方便的设计开发,并且利用Tilcon创建的图形界面与应用程序可以实现不同软硬件平台之间的相互移植。Tilcon开发工具主要由三部分组成:Tilcon嵌入式引擎(EmBeddedEngine),与平台无关的API接口和可视化的界面设计环境。Tilcon的关键部分是嵌入式引擎,嵌入式引擎是一种以事件方式驱动的内核,它与用户的应用程序相互独立,负责处理用户的所有事件。API是Tilcon提供的功能函数接口,它为用户的应用程序和嵌入式引擎建立了一种通讯机制。可视化的界面设计环境为用户提供了丰富的控件,用户只需要使用拖动、设置控件的显示和运行属性即可组建自己的图形界面。Tilcon与其它的图形界面设计工具相比,突出的特点是使用独立的图形引擎的开发方法。用户使用工具拖拽、设置控件完成图形界面的设计,存储为图形界面文件。用户的应用程序与Tilcon提供的图形引擎、图形界面文件以及Tilcon的API函数编译、连接后形成最终的界面软件。
二、人机界面软件构成
导航系统人机界面软件一般通过屏幕和键盘来完成人机交互功能。为了使人机交互界面简洁、方便采用单独按键控制方式,根据画面上操作的提示,按下对应的按键调用相应的画面。基于Tilcon的人机界面软件构成如图(1)
三、VxWorks下基于Tilcon的多界面加载与显示
对于多个界面的动态切换,常见的方法有两种:一是开机后显示主界面,当外部事件(键盘、计时器等)发生时,再将需要切换的图形界面文件加载到内存中并显示,之后删除前一个界面。第二种方法是,开机时将所有需要显示的图形界面文件全部加载到内存中,当界面需要切换时,显示下一个界面同时隐藏前一个界面;和方法一相比方法二界面切换速度快,由于每个界面文件只需要读取一次,系统资源使用率也较高。本文正基于第二种方法设计了应用软件,主程序流程如图(2)在主循环MainEventLoop()函数中TRT_GetInput()用来读取按键和计时器的消息事件;当读取到消息事件时,调用事件处理函数ProcessNotification(&rec_data,&full_queue,&errorcode)进行处理,达到界面的动态加载和刷新。TRT_ChReply(c,NULL,0)是对消息队列的应答函数。
四、工程应用实验
为了验证导航系统人机界面软件开发方法的有效性,针对该方法进行了工程应用验证。实验条件如下:图形界面设计工具为Tilcon5.8。硬件平台为PowerPC8315处理器、SiliconSM502显卡芯片、800×600彩色显示屏、定制键盘等。软件开发平台为WorkBench3.2,操作系统为VxWorks6.8。图中画面为使用该方法设计的人机界面软件显示结果,工程应用实验表明VxWorks下基于Tilcon的导航系统人机界面软件设计方法,正确、有效,满足工程应用的要求,具有良好的工程应用前景。六、结语本文针对导航系统人机界面软件设计引入了图形化的界面设计工具Tilcon,大幅度的简化了图形界面的开发工作,摆脱了以往复杂的WindML绘图函数,减少了程序开发的工作量、代码量;也给后续的修改和调试工作提供了很大便利;同时提高了软件的稳定性、移植性和维护性。最后工程应用实验表明,在VxWorks操作系统下利用Tilcon开发导航系统人机界面软件的正确性、有效性。
作者:杨建辉 王彩霞 单位:中国电子科技集团公司第二十研究所
[关键词]DAQ虚拟仪器设计
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1210083-01
一、引言
随着计算机技术和电子技术的不断发展,推动了虚拟仪器的广泛应用。为了掌握开发虚拟仪器的技术,除了必须了解虚拟仪器本身的工作原理和机制,熟练掌握其开发技术尤为重要。
二、虚拟仪器的构建
虚拟仪器是传统仪器的一种模拟,数据采集、仪器控制、过程监控和自动测试是实验室研究和自动测试领域广泛存在的任务。一台普通的仪器一般由信号采集、数据处理和结果输出三大功能模块组成。虚拟仪器是传统仪器的模拟,也是按照“信号的采集-数据的分析与处理-结果的输出显示”的结构模式建立的。USB-1408FS是美国MCC(Measurement Computing Corporation)公司的基于USB接口的用于DAQ虚拟仪器开发的产品,主要应用于数据采集开发。数据采集卡是构建虚拟DAQ仪器的必要的硬件部分。本文将以USB-1408FS为例探讨DAQ虚拟仪器的开发。
三、基于USB-1408FS的DAQ虚拟仪器硬件设计
虚拟仪器的第一个结构模块为信号的采集。这个部分采用USB-1408FS作为数据采集卡。USB-1408FS是一种基于USB接口的DAQ模块,带有8个模拟输入通道,达到14-bit分辨率,采样速度48kS/s,2个D/A输出端和16位的数字I/O。模拟信号可以从USB-1408FS的8个模拟输入通道输入,用USB接口与计算机连接。可以采用传感器,也可以采用多功能信号发生器作为USB-1408FS的数据源。USB-1408FS不需要外接电源,通过USB数据线可以直接把信号输入到计算机的USB接口。虚拟仪器的输出与显示部分由计算机完成。计算机上安装了USB-1408FS的驱动控制程序,同时安
装了虚拟仪器设计软件,利用软件实现对采集来的数据进行进一步的处理,并利用显示器实现对信号的输出。
四、DAQ虚拟仪器软件设计与开发
(一)软件设计框图
USB-1408FS支持VB、VC/C++、、C#.NET、LabVIEW等软件开发。其中LabVIEW框图代替复杂的程序代码,用图标、连线构成程序流程图,是采用工业标准的高效快速的图形化编程语言,开发容易。
虚拟仪器的设计包括硬件设计和软件设计。软件设计开发遵从一定的开发流程。DAQ虚拟仪器开发流程图如图1:
(二)开发DAQ虚拟仪器
1.分析USB-1408FS接口功能。在硬件设计阶段,已经了解到该数据采集卡的各项参数指标。USB-1408FS有40个引脚,采用不同的接线模式可以实现8通道单端模拟输入通道和4差分模拟输入通道。两种通道模式,各引脚输出内容会发生变化。在软件设计时,应该结合这两种不同的模式设计程序。
2.确定开发的产品功能。结合USB-1408FS的硬件特征,可以构建单通道数据采集系统、多通道数据采集系统。利用单通道单点采样可以实现测量直流电压信号。采用简单缓冲区技术可以实现多个波形采集。根据USB-1408FS的功能特点,可以分别实现模拟输入、直流电压测量、波形采集、频率测量。
3.确定开发平台。USB-1408FS支持VB、VC/C++、、C#.NET,也支持NI的LabVIEW开发语言。USB-1408FS为LabVIEW提供了强大的VI库,它配套的MCC-DAQ软件包为LabVIEW提供了一个名为MCC Data Acquisition
的用户函数库。该库包括了模拟信号输入输出、数字信号输入输出、计数器等,为在LabVIEW中使用USB-1408FS提供了有利条件。另外,LabVIEW中有很多频率分析函数,提供了多种频率分析方法。LabVIEW还为用户提供了多种用于数据采集的函数、VIs和Express VIs。这些组建主要位于函数模板中的Measurement I/O,Instrument I/O子模板中。虚拟仪器的硬件部分只是计算机I/O端口与外界的接口,软件部分才是虚拟仪器的主体。笔者选择采用LabVIEW作为虚拟实验仪器的开发工具。
4.开发虚拟仪器软件。在前面已经分析确定了要开发的产品后,在LabVIEW中进行程序设计。在LabVIEW中开发虚拟仪器,主要分为两个部分的设计。一是前面板的设计。根据设计的产品不同,前面板仪器会有所不同,设计首要考虑的因素是界面友好、操作方便。接下来是流程图的设计,这是对前面板控件的对应端口进行连线、设计输入输出显示等。流程图的编程在后面板中进行,主要是对端口图标的连接。
5.程序调试运行。这里主要是对程序进行运行,看看结果是否正常。通常有两种办法,一是直接运行程序,看测试结果是否正确。另一个办法是在程序流程图中设置断点,检查各断点数据是否正常。对于一般的语法错误,LabVIEW会自动检测出来,工具条上的程序运行按钮会变成断线,错误的程序不能运行。如果是逻辑错误,就需要设置断点检查。程序运行无误后,虚拟仪器开发工作就完成了。
五、结束语
本文介绍了用USB-1408FS开发DAQ虚拟实验仪器的基本方法和流程。采用了LabVIEW作为开发平台,具有开发周期短,操作方便,效率高的特点。USB接口的虚拟仪器安装方便,是未来虚拟仪器的一个发展方向。
注:本文是乐山师范学院校级课题,课题名称为《计算机虚拟实验仪器研究与开发》,项目编号为z0824。此文为该项目阶段性成果。参加人员还有:杨霞、张贵红、唐前军、刘毅。
参考文献:
[1]陆绮荣,基于虚拟仪器技术个人实验室的构建,电子工业出版社,2006.
[2]USB-1408FS用户手册,省略/.
计算机技术在不断提高,计算机技术的应用也越来越广泛,计算机软件开发技术日益提升。本文主要围绕计算机软件开发技术应用展开探讨,以期通过计算机软件开发技术,设计出拓展性强,可靠性较高,品质水准高的计算机软件。
关键字:
计算机软件;开发技术;应用
计算机应用需要计算机软件为其提供一个优秀的平台,从用户的角度来看,主要利用计算机软件来操作计算机,所以,如果计算机软件开发技术不强,用户在应用计算机软件时就会受到较大影响。计算机软件开发的初始阶段是通过手工进行操作,因为手工操作受到较大限制,导致开始应用软件过程中,经常出现错误,用户对软件的需求得不到满足,并且计算机软件开发效率不高,软件没有较强的扩展性,导致开始应用软件过程中错误百出。随着计算机开发技术水平不断提升,计算机开发人员在开发软件过程中更加规范和严格,利用规范化文档来记录开发软件的全过程,包括分析软件,设计软件,开发软件,调试软件,以及应用软件等,开发步骤更加规范化,所开发出的计算机软件更加可靠,品质更优良。
1计算机软件开发技术常用的开发方式
经常使用的计算机软件中,开发方式包括三部分.
1.1生命周期比较传统软件以时间为基础进行划分,针对软件的不同部分进行拆分,并且分解这些软件,产生不同的软件阶段,在软件任意阶段,从开始至结束要求都非常严格。一般情况下,软件周期都能够达到半年。
1.2原型化软件的方式在调试和开发计算机软件时,由开发初期概念不清晰,所以按照以往的生命周期法,需要认定软件初始阶段的一些资料,所以,这个类型的软件并不适用。不过,如果该计算机软件实现原型化,为了明确软件的本质需求,需要研究和分析软件的原型化系统,在这个基础之上,开发出新的概念,最后再进行修改,完成建造开发软件的任务。
1.3开发自动化系统开发自动化软件系统可以利用很多种类的软件开发工具,软件操作人员不必提供具体操作方法,介绍相关内容就可以,程序编码可以通过软件工具进行自动分析。
2关于计算机软件开发技术的应用
2.1如何应用计算机软件开发技术伴随世界经济一体化进程,用户彼此间的距离随着大范围应用网络而不断缩小,通过应用不同种类的软件,世界经济资源实现了共享,用户与用户之间沟通和交流更加方便。应用计算机软件开发技术的主要特征是把用户与网络和软件紧密联接起来,与此同时,不再统一进行控制,每个结点都具有很高的独立性,与此同时,用户在不同的软件平台上,通过更加广阔的平台,来处理不同的数据信息数据,既发展了计算机软件技术,与此同时,也使用户操作得以简化,使用用户数据就更为便捷了。
2.2分析和研究计算机软件开发技术开发计算机软件的目标,是让用户对软件的应用更加方便快捷,所以,对某个软件的质量进行评价时,主要看该软件是否具有较高的实用价值。在实际应用软件过程当中,为使用户操作更加便捷,与此同时,软件操作起来具有更强的可维护性,安全性和稳定性,以及可扩展性等等。有一部分软件的开发技术,受到操作系统版本,或者操作系统中浏览器安全性制约,用户操作这些软件的时候非常复杂,不能进行大范围应用。有些软件可以和操作系统相互兼容,因为软件在运行过程中,没有受到操作系统的约束,用户在安装和修复软件时更加便捷,并且能够还原和备份计算机里面的相关数据。不过,随着客户端软件的使用周期越来越长,那些能够与系统很好兼容的软件,在后期的运行过程中,速度会越来越慢,所以,应该对这些软件资料进行手工存档。计算机开发技术会约束对它的应用,所以,为使用户更好的使用计算机开发软件,设计人员要针对用户实际需求以及应用情况来开发软件,要确保软件在应用时更加可靠和便捷,软件在设计上要充分考虑使用群体,尽量让大众群体都能够灵活应用。
总而言之,以计算机飞速发展为背景,计算机软件具有广阔的应用前景。选择计算机软件的开发技术,和计算机软件开发过程联系紧密,软件设计人员在选择软件开发技术时,要参考实际情况和实际需要进行,这样才能设计出品质好,性能佳,具有极强交互能力的计算机开发软件,同时,在软件设计开发时要注意尽可能降低开发成本。
参考文献
[1]赵明亮.计算机应用软件开发技术[J].黑龙江科技信息,2011(26)
省属高校的软件工程专业多脱胎于计算机科学与技术学科,在研究生人才培养模式上受限于计算机科学与技术研究生培养模式。部分高校甚至于采用同计算机专业研究生实施无差别培养方式,这一根本性原因带来诸多问题。
1.人才培养方向目标定位不清晰
软件工程专业硕士应当仅限于软件工程师的培养。软件工程具有极强的工科属性,其人才培养,除软件工程科学硕士和计算机科学技术一样,可培 研究型人才外,专业学位应当清晰定位于培养具有软件工程必备基础知识,在软件工程某一领域具有较强专业知识与技能的工程师。
2.师资比较缺乏,尤其是双师型师资缺乏
软件工程正式成为独立的学科时间相对较短,软件工程师资大多来源于计算机科学与技术专业。计算机科学与技术专业可以胜任软件工程基础课程,但这部分教师往往缺乏工程实际经验,在教学中往往表现为重理论轻实践。省属高校十分缺乏来自软件企业一线的项目经理以上的技术管理人员充任实践课程教师。
3.培养模式陈旧,不适应国家教育部要求
由于全日制软件工程专业学位研究生2009年才在全国开展,很多高校沿用学术型学位研究生培养模式,忽视了国家对专业学位研究生培养要求中的专业实践能力的培养,未能很好地开展专业实践教学。
4.课程设置陈旧,不适应软件企业的人才需求
大多数高校软件工程研究生课程设置大多套用计算机科学与技术专业的课程设置,未体现软件工程学科特点。原因主要是因为师资缺乏、招生规模较小,出于节约培养成本的考虑。
二、一种实用的软件工程全日制工程硕士培养解决方案
四川师范大学作为四川省属高校中最早开设计算机科学与技术、软件工程本科生培养的院校之一,在软件工程工程硕士培养的诸多问题上,做了一些有益探索与研究,针对性地提出了一套适合于省属高校软件工程全日制工程硕士培养的解决方案,希望能为同类型高校提供人才培养的借鉴。研究生培养方案的制定,重点需要解决课程体系设置、培养流程规划与控制。对专业学位研究生而言,还需要解决专业实践能力的培养与训练这一关键问题。
1.课程体系设置
软件工程学科正式确立的两个标志性文件是2004年IEEE推出的软件工程知识体(SWEBOK)和软件工程教育知识体(SEEK)。两个文件内容相近,都包含了软件工程核心类的知识领域、基础类或前导类的知识领域,以及其他相关领域的知识。软件工程研究生的培养从原则上说应遵循上述两个文件,围绕上述知识领域进行教学。但由于这两个文件将软件工程的知识体系划分为知识点,各领域之间必然存在重复和交叠。在课程设置上无法照搬上述两个文件。以SEEK为基础,我们对软件工程的课程设置进行规划。整个课程设置被分为五个层次,分别为工程基础课程、计算机基础课程、软件工程核心课程、扩展课程和实践课程,如图1所示。课程开设顺序大体按照五个层次由低到高依次开展。其中,工程基础课程提供软件工程所需数学理论基础、外语能力培养、软件工程文档写作、论文写作基本功训练。计算机基础课程提供软件开发必须的计算机基础知识,如网络、算法和数据库知识。
相对于本科课程而言,此类课程讲授内容更深入全面。软件工程核心课程设置了高级软件工程、软件体系结构和软件测试与质量保证三门课程。高级软件工程侧重于软件分析与设计、软件工程过程、软件开发案例分析。软件体系结构侧重于结构风格、案例研究、共享信息系统、结构描述、结构的分析与评估、特定领域的软件体系结构和流行的软件体系结构等。软件测试与质量保证着重于软件质量的改进,讨论如何提高软件质量的方法。扩展课程包含系列领域知识课程,研究生可根据研究方向选择两门;软件开发工具讲授最新流行的软件开发、过程管理所需要的软件工具的使用,以实践教学为主。软件开发新技术研讨课程以讲座形式开展,教师和学生均可作为一个专题的主讲。实践课程包含校内实践、校外实践和毕业设计三个环节。
2.培养流程与实施
教育部明文规定,专业学位研究生学制原则上为两年,同时要求应届本科生进行专业实践不少于一年。一般来说,研究生在校课程学习时间应有一年左右,加上专业实践的一年,如何合理安排学习计划,在两年内完成培养环节成了一个现实的重要问题。我校以周为单位制定了四川师范大学软件工程专业学位研究生培养流程,如表1所示:上表规划了研究生培养中的几个关键环节,依次为报到入学、课程学习、校内实践、校外实践、开题、毕业设计、论文写作和送审答辩。第一学期研究生主要是课程学习,同时在校内导师指导下开展文献阅读和编程能力锻炼。第二学期前半学期结束理论课程的学习。后半学期和暑期开展校内实践和毕业设计开题工作。第三学期研究生到实习基地进行校外实践。从第二学期后半段和整个第三学期,学生在专业实践的同时,需完成毕业设计。从第二个寒假开始直到第四学期前六周,研究生完成毕业论文的初稿。从第七周开始,进行论文修改、、盲评和答辩工作。
从培养流程表可以看出,这种安排具有两个显著特点。一是理论课程学习安排在一个半学期完成,二是实践课程分为校内实践和校外实践。研究生理论课程学习任务并不重,完全可压缩到一学期半,同时可为实践提供更多时间。校内实践非常有必要。由于是省属高校学生大多能力一般,为保障学生进入企业能融入研发团队从事技术工作,必须先期培训其实践能力。这种安排时间较为紧凑,也比较合理,符合专业学位研究生侧重于实践能力培养的要求,也在两年的学制内确保了研究生的实践时间不少于36周。
三、专业实践能力的培养与训练
软件开发能力是软件工程专业硕士必备的核心能力,其能力培养既是对前端课程学习效果的检验,也是后端毕业设计和就业的必然需要。我校将软件工程专业硕士实践能力培养融入了众多环节。从前期的实验型课程教学,到中期的校内实践、再到后期的校外实践和毕业设计。实验型课程教学解决软件设计开发的基础技能,校内实践解决中小规模软件设计开发能力,校外实践和毕业设计解决中大规模软件设计能力。
1.实验型课程教学
包含软件工具的使用训练、软件开发环境的搭建、软件开发案例分析和新技术研讨。软件工具的使用训练学生单个软件开发工具的使用,如项目管理软件Project、开发文档化软件Rational、软件测试工具LOADRUNNER、QTP、TD等。由于这些工具结构分散,还需进行开发环境的搭建训练。开发环境搭建训练内容一为搭建基于微软的VSTS和VisualStudio的开发平台,适合.net方向;内容二位、为搭建基于IBMRSA和Eclipse的开发平台,适合J2EE方向。软件开发案例分析中研究生将自己放在决策者的角度来思考项目所涉及到的具体问题,增强了学生的实际应对能力。新技术研讨促进学生或主动或被动地掌握了一些新兴技术,拓宽了技术领域。
2.校内软件开发实践
采用项目驱动形式开展。要求研究生必须申报各类实际的软件开发项目,如四川省苗子工程、学校研究生科研创新项目、学院研究生科研创先项目。研究生可组织本科生参与项目实施,但必须任项目组长,在项目中担任核心角色,完成软件需求文档审定、软件架构设计、软件详细设计、大部分编码工作、测试方案制定等重要工作。
3.校外软件开发实践
在上述环节经历后,研究生已经掌握中小规模软件开发的基本技能,此时将研究生派到实习基地,实战参与企业软件开发项目。其实践由校内导师和企业导师共同负责。前期技能的培养已保证研究生胜任企业中一般性的软件开发角色。
4.毕业设计
研究生在校内和校外实践的36周中,还需要同时进行毕业设计的开题、实施。研究生可结合企业实习工作完成毕业设计。专业实践的考核分为定期汇报和实践环节结束汇报两种形式。研究生应每隔两个月集中汇报一次实习期工作心得,取得的成绩等。实践结束时在全院公开汇报,其成绩作为实践课程成绩。
四、结论
1竞赛式机试应用软件发展现状
随着现代科技的迅速发展,无线化办公方式已经逐渐融入日常工作,大量的纸质试卷也将逐步被机试应用软件所替代。机试考核方式可以随机组卷,提交解答后,立刻由计算机自动评出成绩,从一定程度上避免了人为因素的干扰。目前我校一些本科基础课程考核均通过机试系统完成考试,不再采用人工方式评阅试卷。教师在考试前设定好需要考核的知识点,系统会自动从题库中抽选出适当的考题进行随机组卷。这种考试方式,在避免人为因素干扰的同时,也大大减少了教师出卷和评阅的工作量。
2数字图像处理课程特点
数字图像处理(DigitalImageProcessing)是通过使用计算机等专业设备,应用各类技术软件,对图像进行去噪、锐化等预处理后,再进行图像增强、图像复原、图像编码压缩、图像分类、图像分割、提取特征值等处理的技术[3]。自第三代数字计算机问世以来,数字图像处理技术迎来了空前的发展,在进一步提高识别精度的同时,更着重于解决处理速度的问题[4]。数字图像处理技术应用广泛,一直是研究的新热点。
3基于图像处理的竞赛式机试软件设计功能
(1)计算算法时间复杂度。为得到最佳图像处理结果,考生在实践中可以选择任何基本算法,也可以选择对某些算法进行改进。无论选用何种方式,算法的时间复杂度都是一个必不可少的衡量标准。同时,也可以用算法时间复杂度的数量级来评价一个算法的时间性能。(2)衡量算法空间复杂度。算法的空间复杂度由存储算法本身所需的存储空间、算法的输入输出数据所需的存储空间以及算法在运行过程中临时占用的存储空间等组成。算法空间复杂度是衡量算法除正常所需内存空间以外所占用的辅助存储单元规模的量度。(3)评价识别或鉴别图像的准确性。考生完成题目的成绩,除了要根据所用算法来评价以外,最终要看应用这些算法是否能够准确识别出图像,或者鉴别出所需的图像信息。
4机试软件设计
4.1数据库设计
结合研究生《数字图像处理》课程的特点,除了基本的学生成绩信息表(表1)以外,设计中的每一种图像类别应包含大量图像数据。以指纹识别为例,应录入研究生班级所有学生的指纹信息,形成基本指纹表,作为图像鉴别的标准数据源(表2)。然后录入所有学生的缺陷指纹信息,例如含有一定噪声的指纹、歪斜的指纹图像、带有一定缺陷的指纹图像形成实验指纹表,作为图像鉴别实践的对比数据源(表3)。为了记录实验指纹与基本指纹的匹配关系,用表3中的bh1字段记录每个实验指纹与表2中bh1字段记录的哪个基本指纹是匹配的,以此确定识别指纹的准确与否。对于考生所用算法及各算法对某一指纹图像的时间复杂度、空间复杂度、准确性也应一一记录(表4)。
4.2机试软件使用流程设计
首先,由教师从实验指纹表中选取某一类别的指纹图片设定为机试图片源,比如当考核图像复原时,选取一定量的倾斜图片。每个考生需应用所选算法根据实际情况进行相应改进,并将其应用于5个倾斜图片上,具体操作流程如图1所示。学生考核完毕后,可以查看其他同学所选用的算法名称、时间复杂度、空间复杂度、以及识别准确与否的信息,如果对自己完成的内容不满意,可以重新再次进行考核。教师可根据学生完成的情况,查看表4中相应数据内容的评定成绩。
5结语