前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的计算机软件基础主题范文,仅供参考,欢迎阅读并收藏。
中图分类号:G642 文献标识码:A 文章编号:1674-098X(2013)02(c)-0-01
计算机软件技术基础是为非计算机专业开设的课程,该课程是后续课程的基础,涉及内容比较广泛,包括数据结构、操作系统、数据库系统、计算机网络、软件工程技术、管理信息系统等内容,具有很强的理论和实践性。本课程有如下三个难点。
(1)该课程的内容多、跨度大、学生把握重点有些困难。
(2)计算机软件技术基础是一门内容综合的课程,涉及的知识面广,学生对基础课程的知识和理解程度有所差别,授课中比较难掌握。
(3)计算机软件技术基础是一门应用性很强的课程,需要理论与实践相结合。
针对以上难点问题,本人分析了目前该课程在授课中普遍存在的问题,并从实际要求出发,对计算机软件技术基础课程的教学改革进行探讨。
1 计算机软件技术基础课程存在的
问题
(1)目前,大多数老师采用常规的灌输式教学方法,以教师讲授为主,学生处于被动的学习接受状态,缺乏对课程学习的兴趣和主动性,启发式教学没有充分运用。
(2)有时为了增强学生的兴趣和信心,往往较低教学难度,大部分时间讲授基本概念,而对程序设计和调试技巧等较深的知识只是点到为止或者避而不谈。导致大量学生学完本课程,只会背诵几个基本概念,并没有真正掌握程序设计的很多精华思想和编程技巧,更没有了解软件是如何管理计算机全部资源的。
(3)计算机软件技术基础实验课在机房内进行验证性实验,实验时教师只是把实验目的、具体程序、程序实现的功能等内容介绍给学生,学生直接输入程序代码,然后获取实验数据,验证理论知识。这样,学生只是机械的进行程序录入,不用独立思考,所以不能深入细致的分析和调试,
2 课程教学改革
(1)教师主导性和学生主体性相结合
充分调动学生学习的主动性,引导学生自觉的学习和发展,教学过程实质是教师教和学生学的互动,只有这样,才能使师生之间和学生之间教学相长、信息交流,从而达到知识与兴趣共存,进而实现教学共赢。课程教学过程中,采用启发式教学,随时了解学生对知识点的理解和掌握,调动学生学习的热情。
(2)采用案例引导式教学
在课堂理论知识的讲授中,尤其是讲解新知识时,采用实际的案例进行演示说明,把学生带入特定的情景中进行思考;在演示过程中,逐步引出各个相关概念,加深学生对基本概念与原理的理解,进而提高学生运用理论知识分析和解决实际问题的能力。
案例引导的课程教学,能为学生在理论和实践之间搭起一座桥梁。学生带着多个基本概念和知识点的任务通过生动形象的案例进行学习,既容易激发学生的学习兴趣,又有利于学生迅速掌握抽象、枯燥的概念,以及各相关知识点之间的内在联系。在讲授的过程中循序渐进、环环相扣,优化教学内容。
(3)注重实践环节
对于计算机软件技术基础这门实践性特别强的课程,必须把理论课和实验课结合起来讲解才能培养学生的能力,而且实践教学不再是理论教学的附属,它与理论教学同等重要,学生可以通过实验课的练习领会理论教学中所学的知识,在上机的指导过程中,不仅要指导学生软件设计的基本方法、程序调试的基本技巧,还要对学生思维方式进行引导。对实践环节中的软件设计从“给定题目”―“具体分析”―“解决问题”―“程序实现”―“运行调试”的整个过程进行全方位的启发。使学生掌握软件设计的基本思想,知道如何思考问题和解决问题.
3 结语
计算机软件技术基础是一门理论与实践相结合的课程。该文针对该课程现有教学中存在的问题,提出了改进方法。实践证明,该方法取得了良好的教学效果,能够帮助学生系统掌握课程知识,切实提高实践能力。
参考文献
[1] 沈被娜.计算机软件技术基础[M].3版.北京:清华大学出版社,2000.
1我国基础教育中计算机软件技术的运用现状
在我国科技技术的支持下,计算机技术实现了高速发展,在现代人们的生活、学习、工作等多个领域中都有着十分广泛的应用,这使得我国计算机软件技术的基础教育需面临更高的要求。在计算机领域的市场当中,市场竞争十分激烈,对计算机技术人才的需求量也在随之增大,这也表示着计算机软件技术的培养需从学生抓起,从学生阶段打下扎实的技术基础,提高学生未来在就业道路中的竞争力,由此可看出,计算机软件技术的基础教育已成为我国社会发展的必然教育[1]。目前,我国的计算机软件技术主要分为两大类,一是办公软件技术区,二是课程软甲技术区,这两大区域是计算机软件技术基础教育当中的重点教育区,也是计算机软件技术当中的必学区域。在两大区域的基础教学上,由于计算机技术学科的不同,计算机技术学科需学生主动参与至操作过程当中,通过实际操作锻炼学生的技术操作水平,使学生能够做到掌握和熟练的操作各项计算机软件技术,巩固学生的基础技术能力。
在计算机软件技术基础教育的相继开展,我国的计算机软件技术教育已取得了十分可观的成绩,学生在学习过程中能够做到熟练操作各项软件的基础,但是,学生在对计算机技术中的各项软件认知上,还缺乏明确的认识,并且对计算机软件技术学习的重要性没有做到相应的重视,认为该技术教学只是简单的让他们学会操作,因此在学习计算机软件技术上,学生常常缺乏主动性,学习过程较为被动[2]。学生在学习计算机软件技术的过程中,教师面对多种类型的技术软件时,往往无法明确如何提高学生的专业能力,因此在教学时所采用的教学方式只会让学生针对某个软件进行反复操作,直到学生熟练掌握这门软件为止,这样的教学方式不仅显得计算机的教学课程十分枯燥和单一,也会让学生产生厌烦情绪,从而降低了计算机软件技术基础教育的教学效率。学生在学习计算机软件技术的过程中,对学习目的没有明确的认识,对自身能力的提高也缺乏重视,从而导致计算机软件技术的基础教学成为了机械性教学,缺乏合理的教学方式,也没有明确的学习目标,这不仅违背了基础教育的实施目的,也违背了计算机软件技术的教学初衷[3]。
2基础教育中计算机软件技术的运用策略分析
2.1合理安排基础教育中计算机软件技术的运用课程
目前,我国在计算机软件技术学科的基础教育上还未有一套专业的系统式教学,只是将计算机软件技术学科作为一般学科实施教学,将其归为专业课程之一,因此并没有特例划分为其设计完整的基础教学内容。计算机软件技术作为一门应用型课程,其与普通学科具有较大差异,普通学科的基础教育是以理论知识为主要教学内容,整体教学结构也只存在课堂教学,而计算机软件技术教学则属于专业性教学,不仅需要具备一定的理论基础,还需要具备较强的实践操作,因此,在计算机软件技术的基础教育上,需合理安排计算机软件技术课程,明确该专业课程与其他课程的不同之处,设置相应的理论课程与实践课程,以理论与实践相结合的形式来开展教学,丰富计算机软件技术教学内容,从基础教育开始着重提高学生的专业操作水平,通过合理的课程安排,为学生提供锻炼平台,以提高学生实践能力为教学目的,使其符合我国社会对计算机软件技术的教学改革要求。
2.2扩大计算机软件技术运用的教学领域
计算机技术在经过多年的发展后,其技术发展至今已十分成熟,并且在我国的多个领域都得到了广泛的应用,是我国现代企业、人们生活、学习等不可或缺的技术,这也表明计算机软件技术的使用方向有着多重渠道,因此,基于计算机软件技术的多元化使用渠道,在计算机软件的基础教育上,可改变传统单一的教育模式,突破传统框架,改变传统教学理念,结合计算机软件技术的教育基础内容将其与其他学科教学进行有效融合,使计算机软件技术不再受教材课程的限制,开发新型教学模式,让学生接触到更广的计算机软件技术操作领域,以此实现学生综合方向发展。例如,教师在教学计算机软件技术当中的画图软件时,教师可将其与美术课程进行联系,让学生把美术课程当中的图画用计算机画图软件进行绘画。通过将其他领域的学科知识与计算机软件技术相结合的教学模式,能够让学生认识到计算机软件技术的实用性,也能让学生接触到计算机软件技术的不同使用领域,认识到计算机软件技术并不仅仅只能够应用于课程教材当中的知识,能够在生活以及未来工作中有多个应用用途,从而提高学生对计算机软件技术这门课程的重视程度。另外,当教师在开展计算机软件技术的基础教育时,教师可在课前根据学生学习能力搜集更多的课外资料,将其作为计算机软件技术学习辅助工具,以资料作为课题主体,让学生应用软件技术来完成主题作品,结合教学内容以及学生专业水平合理设计教学活动,以不同的教学主题创新教学方式,并通过不同主体的实践锻炼,提高学生计算机软件技术的创新能力与应用能力,使学生在未来社会中成为综合型应用人才。
2.3根据学生实力规划计算机软件技术操作的教学方式
在基础教育中,计算机软件技术是一门应用型非常强的学科,并且在学生学习基础阶段时,学生会遇到各式各样的操作问题,这些问题不仅仅是因为学生对软件技术操作不熟所导致的,与教师的技术操作教学也有着直接的关联。当教师在开展计算机软件技术的基础教学时,需根据学生实力来采用合适的教学方式。例如,教师在教学计算机办公软件基础操作教学时,教师可将Excel表格这类操作较为简单的软件作为初级教学,并将该软件的教学内容分为多个步骤,由简单到复杂的程序依次实施操作教学,让学生在学习过程中能够有效消化不同阶段的教学内容,从而提高学生的学习能力。通过这样的教学方式能够有效避免学生在学习新软件的初期出现因教学难度过大而产生消极情绪的现象,循环渐进的难度教学能够提高计算机软件技术基础教育的有效性,同时也让学生能够快速掌握学习技巧,不断提高自身的计算机软件操作水平。另外,计算机软件技术作为现代社会发展的必备技术,在实施教学时教师可适当将计算机与社会实践结合教学,让学生能够尽早适应和掌握未来职场计算机的应用方式。
3结束语
关键词:软件技术基础;教学法;认知;案例
中图分类号:G642.4 文献标志码:A 文章编号:1674-9324(2014)51-0180-02
一、引言
“计算机软件技术基础”课程是非计算机专业的计算机基础教学内容之一,有着广泛的应用。课程的教学目标是使学生能够全面系统地了解并掌握计算机软件技术的基本概念、思想、原理和方法,并且具有一定的软件系统设计能力,更好地利用计算机软件技术解决本专业领域中的实际问题和日常事务性问题[1-2]。目前,很多高校都开设了“计算机软件技术基础”课程并取得了一定的成效,但该课程的综合性较强,在教学过程中出现了一些不尽如人意之处。本文针对目前该课程在教学中存在的共性问题,结合作者的教学实践,从教学方法的角度出发,对该课程的教学改革进行探讨。
二、课堂教学存在的共性问题
“计算机软件技术基础”课程教学目前面临的共性问题主要体现在以下几个方面[3]:(1)学生对该课程的学习目的不明确,认识不到课程内容的重要性;缺乏学习动力、主动性和自觉性;(2)学生的程序设计、调试能力薄弱,缺乏解决实际问题的经验,对课程内容的实用性体会不深;(3)教学学时较少,一般为32或者48学时。课堂教学大部分时间集中在基本概念、原理的讲授上,而程序设计、调试等实践性较强部分通常只能点到为止,无法进行深入讲解和布置练习。
对于第一个问题,普遍采用的对策是引导学生重视课程;后面的两个问题,目前的解决方式主要集中在教学方法和教学手段的改革上,不同的授课者在具体实施的时候,会因情况而各异。本文作者承担着内蒙古大学通信工程、电子信息科学与技术两个专业的“计算机软件技术基础”课程的授课任务,面对目前该课程教学中的共性问题,进行了深入的思考、分析和研究,除了对学生进行科学研究层面的适当引导外,尝试采用合理有效的教学方法展开教学工作。
目前,一门课程大多采用一种教学方法,主要有任务驱动教学[4]、案例教学[5]、问题教学[6]、引导教学[7]、认知教学[8]等。前四种方法侧重于教学形式与手段的变新与改革,认知教学从讲授内容的本质出发,研究教学内容的认知过程。“计算机软件技术基础”课程以高级程序设计(C或C++)为基础,内容涵盖“算法与数据结构”、“操作系统技术”、“数据库技术”和“软件工程”等,各内容之间既互相联系又比较独立,每一部分内容都是计算机专业的一门专业课程。对于这样具有繁杂的内容并且注重理论联系实践的课程,仅采用单一的教学方法组织教学肯定满足不了授课的要求,同时学生也不容易掌握其内容。基于Zadeh认知原理的认知教学能够从牢牢抓住教学本质出发,深化知识的组织、粒化与因果关系,将所有知识融为一体。案例教学能够使理论和实践有机地结合起来,利于学生的思维能力、知识应用能力、团队合作精神的培养。本文将基于Zadeh认知原理的认知教学与案例教学两种教学方法紧密地结合起来(以下称认知案例教学法)并应用到该课程的教学实践中,借此加强学生的程序设计、调试能力,缓解因教学学时较少与加强实践能力间的矛盾。
三、认知案例教学法及在“计算机软件技术基础”中的应用
基于Zadeh认知原理的认知教学是按照人类认知事物的规律进行教授知识,将教学知识组织、粒化、因果化,使学生抓住知识的本质,全面地掌握知识。其中,组织是对知识宏观的掌控,粒化是对知识微观的演化,因果则是知识之间的关联。因此,认知教学能够条理地、逻辑地、系统地组织教学内容,是一种符合学生学习逻辑认知过程的科学方法[8]。案例教学是一种以教学案例为基础的教学方法,以学生在课堂内外对案例的分析、思辨为重点,目的是提升学生应用理论创新性地解决实际问题的能力。具体形式是在教师的精心策划和指导下,根据教学目的和教学内容要求,运用典型案例将学生带入特定事件的现场进行案例分析,通过学生独立思考或集体协作,进一步提高其识别、分析和解决某一具体问题的能力[5,9,10]。对于认知案例教学法,首先综合考虑认知教学法和案例教学法的内涵,认真分析课程的特点和内容,提取宏观知识点(教学内容)并把它们合理地组织在一起;然后对每个宏观知识点进行细化,得到微观知识点;接下来搭建宏观知识点之间、微观知识点之间的相互关联,从而得到一个课程的认知系统;最后在这个认知系统的基础上,对微观知识点或宏观知识点选择合适的案例开展课程教学。
根据“计算机软件技术基础”课程的内容,把“算法与数据结构”、“操作系统技术”、“数据库技术”和“软件工程”四部分作为宏观知识点,并用系统工程作为基点把它们关联起来;依靠采用的教材和使用的参考资料对这四个宏观知识点进行细化,并建立微观知识点的彼此关联,这样就得到了“计算机软件技术基础”课程的认知系统,如图1所示。图1中的宏观知识点和微观知识点形成了一个多层次、逐层深入的组织结构。每一层是其上层的粒化,每层的微观知识点之间、上层和下层之间都有直接或间接的因果关系。依据图1所示的认知系统,在实际教学中采用了对底层一个或多个关联紧密的微观知识点精选有真实场景的应用案例展开课堂授课。为了能够成功地进行认知案例教学,需要对学生进行科学研究层面的引导,较好地激发学生对课程的强烈求知欲和学习积极性,使其在课堂之外能够主动地投入更多的时间和精力认真完成课堂教学的准备工作,同时自主地学习和发现问题。对于教师,需要在图1的认知系统框架下,根据微观知识点有针对性地选择案例。仔细研究案例的内容,做好案例分析。明确给出本次案例教学重点讨论的问题、有关的背景知识、参考资料和预习要求,把这些内容文档化提供给学生,要求学生提前预习,找出具体问题,同时准备分组讨论提纲。注重程序设计和调试,布置相应的练习,要求学生提前熟悉程序,并准备调试结果。课堂教学中,引导学生就一个问题进行讨论,根据学生的发言进行相应的点评和讲解;并引导学生从一个问题的讨论过渡到另一个问题的讨论;最后进行小结和归纳。
认知案例教学注重培养学生的程序设计和调试能力,教学中布置的练习都有相应的应用背景,学生通过调试和设计程序对课程内容的实用性有了进一步的体会。一般一个案例包含多个知识点,学生的预习和准备工作缩短了授课教师讲授基本概念、原理所需的时间,这让授课教师能够在有限的课堂教学中集中更多的精力去讲解实践性较强部分。经过三年的认知案例教学实践,发现学生的学习积极性和学习效率都有了明显的提高,学习效果良好。
四、结束语
本文把认知案例教学法应用到“计算机软件技术基础”课程的教学实践中,对于该课程的教学有一定的独到性之处。较好地处理了理论与实践相结合的关系,进一步激发了学生的学习兴趣,使学生能够更加牢固地掌握课程的知识点,同时培养了学生的自学能力和创造能力,提高了教学质量。
参考文献:
[1]徐士良,葛兵.计算机软件技术基础[M].第二版.北京:清华大学出版社,2007.
[2]陈帝伊,马孝义,辛全才.“计算机软件技术基础”课程教学方法探析[J].计算机教育,2009,(22):11,68-69.
[3]王海燕.“计算机软件技术”课程教学的思考与实践[J].中国电力教育,2011,(26):86-87.
[4]臧建莲.任务驱动法在大学信息技术基础课程中的应用研究[D].河北大学,2010:13-14.
[5]朱涛,马恒,刘强.专业技术课程案例教学方法研究[J].高等教育研究学报,2010,33(1):91-93.
[6]罗祖兵.教育学问题教学:涵义、价值与操作[J].高等教育研究,2010,31(3):71-75.
[7]陈晶,刘益新.引导教学法的应用研究――以《计算机组成原理》为例[J].湖南工业职业技术学院学报,2011,11(5):130-131.
[8]彭珍,吴立锋.认知教学在“计算机程序设计”课程中的应用[J].中国电力教育,2012,(11):59-60.
网络和计算机要正常运行就必须要依赖于软件,但人们对计算机的应用归根结底还是对软件的应用,而判断一个计算机软件好坏的重要标准就是软件的安全性了。若想要确保软件的安全性,我们可以从安全检测技术的运用入手。本文针对安全检测技术应用中的问题和方法,进行了详细的剖析。
【关键词】计算机软件 计算机 安全 检测技术
1 软件安全状况简介
计算机的软件安全测试主要由功能测试、渗透测试以及验证过程三方面构成。与其他种类的软件相比,软件安全测查所注重的不是其能做什么,反而是测试其不能做什么。一般而言,安全检测主要是安全漏洞方面的检测及安全功能方面的检测构成的。软件安全功能检测所要求的范围十分宽泛,包括访问控制和授权、机密性以及安全管理等方面,检测软件安全功能能否达到其安全要求的过程即其安全功能检测。
2 安全检查应注意的问题
2.1 要制定科学的检测方案
要在充分的了解,把握待检测软件的特性的基础上,来对其开始进行安全性能测试,并根据安全测试的具体情况,有针对性的确定有实用性的检测方法对其进行编制,使方案得到真正有效的实施。此外也对具体执行检测的人员提出了相应的要求,在安全检测过程中,必须由熟练掌握检测知识的人员与熟悉被检测软件的人员进行通力合作。只有两方面的专业技术人员的配合,才能真正保障安全检测的效果。
2.2 做到系统且全面的分析
计算机软件有程序复杂、规模庞大等特点,故而在进行安全测试时需要分别对代码级、系统级以及需求级进行有针对性的详尽检测。如果遇到特大规模的软件,还需从结构设计等方面进行细致的分析。并根据实际情况,按照详细分析的过程选择其所需要的相关分析技术。
软件的安全检测是系统化的一个过程,要解决整个系统内全部的安全问题,普通的方法是十分困难的,故进行具体的安全检测时,如何选择有效的、具有可行性的方案,是软件检测员必须认真思考的问题。
3 软件安全检测的具体方法
3.1 科学的规范化流程
在较大规模的软件系统中,大多数都会有若干个子系统,而每一个子系统又由多个功能模块组成。
模块测试、组装系统、系统结构的安全检测、性能检测、系统检测是计算机软件安全检测必不可少的五个环节。模块检测我们又可以称为单元测试,所检测的对象是软件设计中最小的功能单位。为准确发现每个系统功能中可能存在的漏洞,需要进行模板测试,以达到细节化、全面化的检测。在具体的模板检测完成后,需要进行的是系统的组装过程,要根据其自身的设计理念来进行。在实际的组装操作过程中应该对相关的每个体系结构进行相应的安全检测。在模板测试及系统结构的测试都完成后,为使软件可以达到用户的使用要求,还需对其进行功能有效性进行测试。直至所有步骤完成之后,再结合计算机的硬件、数据库等进行一个系统的测试。
3.2 行之有效的具体方法
软件安全检测包括动态的检测及静态的检测两种手段。动态检测主要指内存的分析,环境变量等的修改,结合其运行环境已进行测试的,想增强程序保密性实行软件的安全运行,就可以通过动态检测的方法来完成。静态检测是通过程序分析、程序源代码的解析以而找到程序中导致异常的原因。静态分析技术的两个重要的指标就是错误率和误报率,这两个指标的出现是成反比的。静态分析的主要问题在于其结果常常只是真正结果的近似值,不能够真正反应出实际情况。但是其同时也具有不需软件真正运行就可以检测,实行相对方便。两者比较而言,静态检测因为其技术有较高的自动化,检测速度较快且过程方便,故更受操作人员的欢迎。
3.2.1安全检测方式实行形式化
安全检测方式的形式化,是指通过在需检测软件之上建立科学模型来检测的。其在确立相应模型后,在规范的形式语言支持下做出形式性规格说明。当前主要运用的形式规则语言主要有行为语言和模型语言以及有效状态语言等。手段也主要分为模型检测及定理证明等方式。
3.2.2实行以模型为基础的检测方式
使用结构建模方式及软件行为构建测试模型,以达到预期的理想检测效果。以模型为基础的检测过程并不苛求软件在各种具体情况下的一致性,其主要通过一些生成的试用例来测评的,并通过测查被测软件系统与理想模型结果是否相同来进行安全检测的,
3.2.3 运用语言测试技术
在静态检测技术中最早出现的检测方法就是语言检测技术,它所检测的对象是软件程序的源代码及可能产生威胁的C语言函数库调用,语言检测常用的方式是进行对反应的研究,其过程通常是进行软件接口的语言识别,再进行语法的定义,直至生成试用例来实际进行安全检测。
3.2.4以故障注入技术为基础
如果想要检测的比较全面,则可以用基于故障自如的安全测试。这种方式运用故障分析树以产生用于检测的试用实例来进行检测。故障分析树指的是把系统中出现可能最低的事件作为顶事件,再通过仔细检测来找出事故发生过程中的中间事件及底事件。以逻辑门符号,将项事件和中间事件以及底事件连成完整的一棵故障树的方式。
3.2.5 践行模糊测试法
建立在白盒检测的基础之上的检测方法我们把它叫做模糊测试法,它有效的将动态检测技术和传统检测技术合二为一,相对于传统的检测技术有了较大的发展。其具体方式是通过对被检测系统提供大量无价值的、非预期的、随机的输入,以发现软件的异常状况。其具有成本低,运用简单,自动化程度高等许多优点。
3.2.6利用根据属性的检测方式
要实行这种检测方式,先要明确被测软件的具体编程规则,并将其作为安全属性,以检测目标软件的程序代码是不是符合相关规则,通过这样来确定其安全性。和其他检测方式相比,这种方式可以全面的、系统的分析软件存在的安全漏洞交互性及扩展性。
4 结语
在当代,计算机软件的安全检测工作在软件实际应用体系中具有日益重要的作用。只有通过不间断的积累、创新,并在具体实践中践行,才能促进相关技术的不断提高。与此同时,还应不断提高我们自身的安全保障意识及防测技术,以真正保障软件安全应用,维护软件使用者的切身利益,从而促进市场的平稳健康发展。
参考文献
[1]李洁.软件测试用例设计[J].电脑编程技巧与维护,2010(4).
[2]杨洪路.宫云战.高文龄.白哥乐.软件安全静态检测技术与工具[J].信息化纵横,2009(9).
关键词:计算机;软件开发;分层技术;双层技术;三层技术;四层技术 文献标识码:A
中图分类号:TP393 文章编号:1009-2374(2015)30-0059-02 DOI:10.13535/ki.11-4406/n.2015.30.030
计算机在我国的普及速度之快,与软件的不断开发与更新有着直接关系。计算机软件的开发,在满足人们生产与生活的各种需求的同时,大大改变了传统的工作方式,提高了工作效率,也有效促进了人力资源的优化配置。我国在计算机技术以及软件开发方面相较于国外先进水平来说,存在非常明显的差距,为了能够快速缩短这些差距,我国十分重视计算机软件的开发及研究。近些年来,分层技术的出现有效地提升了软件的质量,为用户使用提供了更多的便利,是非常值得深入研究并推广的技术种类。
1 计算机软件开发中的分层技术概述
分层技术在计算机软件开发中的应用,大大提高了开发的速度和质量,是现阶段我国软件开发中最为重要的技术种类之一。为了能够更好地发挥其技术优势,下面针对其各部分重点内容进行分析研究:在计算机软件开发中,分层技术的应用需要严格按照一定的措施和规律和进行,首先必须要将分层技术的相关理论以及概念进行掌握和熟悉。分层技术包括了计算机以及物理学两个方面的含义,在这两个方面中,物理含义的内含较为复杂。具体来说,在计算机软件研发的时候,分层技术就是将不同过程的解决方案置于不同的概念领域中,然后这整个层面就会形成一个较为封闭的体系,而这个体系中包括的不同层面在级别上都是平等的。针对软件开发的构架方面,分层技术的优势得以有效凸显,在最初的时期,软件开发构架只是一种单层的构架,直到20世纪后期才得以快速发展,并在一些小型的数据库中得以应用。而单层结构向双层结构发展,则是从服务器与计算机之间的建立联系开始的,服务器与计算机得以联系,并快速发展,从而不断完善,形成了目前的计算机软件结构。由于计算机的双层结构中存在很多难以避免的缺陷,因此在不断发展的过程中,其弊端也更加凸显,在无法满足人们需求的情况下,分层技术的出现有效解决了上述问题,并逐渐发展成为我国计算机软件开发技术的主要发展趋势。
2 分层技术在计算机软件开发中的应用
分层技术目前在我国已经成为了主流的技术种类,其在我国计算机软件开发中的应用也越发普及,下面进行具体分析:
2.1 双层技术的应用
从种类方面来看,分层技术主要有三层、四层以及多层次之分,但是这些都是在双层技术的基础上发展起来的。在不断的发展过程中,软件的开发效率也得以提升。我们首先针对双层技术进行研究,这项技术在我国软件开发中的应用,主要就是针对两个端点进行,也就是客户端和服务器。客户端会依据不同用户的资料为其提供所需要的使用界面,处理其中所产生的各种逻辑关系,然后服务器是用来接受客户的各项信息,在经过数据库进行相关的计算和总结,最终向客户端传达并使用。这项技术的应用大大提高了计算机的运行效率,但是其必要的条件就是用户所使用的服务器,性能方面要有所保障,同时用户使用不适合太多。一旦这两个要素没有保障,就会导致服务器因为工作负荷过重而出现系统性错误、计算机反映慢等问题也会出现,这样一来成本就会不断增加,问题严重的话,还会导致人格数据的丢失,所以说在当今的研发中,这项技术已经逐渐被其他技术所取代。
2.2 三层技术的应用
上文已经提到,三层技术的研发是建立在双层技术基础之上的,针对双层技术中不完善以及有缺陷的部分进行改进,并相应地增加了应用服务器,这种服务器在计算机使用方面发挥着巨大作用,能够针对用户的各种数据进行储存和整理,同时也大大提高了计算机信息访问的效率,最为关键的一点是实现了人与计算机之间的交互。这种三层技术实际就是将业务处理、界面层次以及数据层次相结合,建立一个有机整体,相互独立运行,共同为计算机服务。其中的界面层主要是进行科学的收集用户使用软件的需求,收集完成后需要将这些需求发送到之后进行工作的业务处理层,其次由业务处理层通过对这些用户的需求进行分析,做出相关的申请请求在数据层进行数据的提取与处理,最后在数据层进行相应的处理,对相关的各种信息进行查询,针对这一系列的分析之后,将结构反馈给业务层,最终是由业务层完成工作的处理,再回到最初的界面层。以上所阐述的整个过程就是对系统的建立过程,正是因为这样的处理,实现了系统工作效率的提升。
2.3 四层技术的应用
在计算机软件的开发中,双层技术和三层技术都难以应对计算机使用复杂的环境,需要将三层次技术中的界面层、业务处理层和数据库层科学地分开,这样才能够不断降低这几个层次之间的相互影响,因此需要将三层技术逐渐向四层技术发展,其中四层技术主要包含有业务处理层、web层、数据库层以及存储层。
2.4 中间件技术的应用
分层技术在计算机软件开发中的应用,可以针对不同部门进行优化,目的就是充分发挥其潜能,实现优势互补,提高计算机整体的运行效率。正是因为分层技术的合理应用,才使得软件开发的质量大大提升。另外,还有效地降低了各种复杂问题的发生,简化了计算机操作,只要利用单项操作就可以独立完成计算机软件的开发,进而实现我国计算机软件开发的高效性与高质性。
3 结语
伴随着我国社会的发展,计算机技术在各个领域正在发挥着不可替代的巨大优势,将人类的生活及生产进行了翻天覆地的改变。为了能够顺应社会发展的需求,越来越多的计算机软件被研发出来,在各个领域发挥着不同的作用,为人们提供着便利。而分层技术在软件开发中的贡献不可忽视,它的应用使软件开发速度得以提高,同时也保障了软件的质量。从软件开发商的角度来看,充分利用这项技术必然会为自身带来巨大的经济效益。而从我国计算机发展事业来看,分层技术的完善,无疑是对我国计算机技术发展的一种积极的助推,具有非常积极的现实意义。
参考文献
[1] 许福栗.分层技术在计算机软件开发中的应用[J].硅谷,2013,(23).
[2] 杨柯.分层技术在计算机软件开发中的应用效果分析[J].软件,2013,(10).
【关键词】计算机 软件 硬件问题
随着计算机普及范围的不断扩大,它在人们的日常生活、学习和工作中扮演着越来越重要的角色。但由于计算机的寿命是有限的,因此在使用过程中应注意对其软硬件进行检测与保养。计算机在使用中经常出现的问题充分证明了对计算机软硬件进行检查的必要性。
1 计算机软硬件的基本组成
计算机硬件指的是计算机中的机械元件、光电元件等。他们为计算机的正常运行提供了物质前提。计算机中主要的硬件设备有主机箱和外部设备。主机箱主要包括硬盘驱动器、光盘驱动器、CPU以及内存等等,外部设备为鼠标、键盘、显示器等。
计算机软件主要指的是计算机系统中的程序及文档。它可以分为两大类,一类是系统软件,例如Windows、驱动软件;另一类是应用软件,例如各种游戏软件、工具等。
2 计算机软硬件容易出现的问题
2.1 计算机硬件容易出现的问题
2.1.1 鼠标
鼠标出现的故障一般较为简单。具体来说,可分为以下几种情况。
(1)找不到鼠标。出现这种状况的最主要原因一般是鼠标已彻底损坏,或与主机的接触不良以及鼠标本身的线路出现问题;
(2)鼠标可以在桌面上显示,但是不能移动或移动不够灵活。出现这种状况的原因主要是鼠标中的滚动轴上的污垢太多导致其不灵活;
(3)鼠标按键不起作用或不能弹起。鼠标出现按键不起作用的原因一般是开关使用时间较长导致反应能力下降,或鼠标按键和电路板上的微动开关之间的距离较远。出现不能弹起的原因是按键时按键下方微动开关中的碗形接触片断裂,尤其是塑料弹簧片,使用时间过长后就容易发生断裂。
2.1.2 键盘
键盘在使用过程中会出现各种问题,其原因是多种多样的。键盘常出现的故障主要有某些键不起作用、某些键按后弹不起来、某些字符无法输入、键盘输入与屏幕显示的字符不一致以及按下一个键时出现一连串字符等等。出现这些问题的原因也是各不相同的。例如只有某一个键的字符不能输入时,那可能是此键已坏或焊点虚焊。
2.1.3 硬盘
硬盘的问题是比较多的,例如更换硬盘导致无法启动、硬盘物理坏道、大容量硬盘检测到的硬盘容量不对等等。以更换硬盘导致无法启动为例,一般出现这种情况时,计算机表现出来的故障是对硬盘进行升级、分区、将原硬盘的数据复制到新硬盘中都很正常,但将原硬盘取出后新硬盘无法启动电脑,系统会显示“PRESS A KEY RESTART”。
2.2 计算机软件容易出现的故障
计算机软件故障是指由于系统软件和应用软件不兼容,或由于计算机的软件系统被破坏,由此而导致计算机无法正常启动或工作的现象。例如CMOS中的Setup参数设置错误,删除了一些软件的动态链接文件、操作系统配置不正确等等。计算机软件故障与硬件故障不同,它具有可修复性特征。计算机软件容易出现的故障较多,例如安装系统时出现蓝屏或黑屏、EXE文件关联出错、系统安装失败、无法删除文件、频繁死机等等。
3 对计算机软硬件问题的解决措施
对于上述计算机软硬件中出现的问题,很大一部分原因首先是使用者在使用过程中过度使用,且又疏于维护或维护力度不够。其次是对计算机的相关知识不够了解,操作过程不科学,导致计算机感染病毒或出现一些程序性问题。最后是对计算机软硬件的管理也不科学,增加其出现问题的可能性。因此要想降低此类问题出现的概率,计算机使用者就要多学习相关方面的知识,并及时对软硬件进行维护与管理,如此才能使计算机更好的为日常工作、学习及生活服务。
3.1 利用网络
计算机使用者可利用网络上丰富的资源或通过阅读相关书籍,多学习计算机方面的专业知识,例如一些基础教程、计算机经常出现的软硬件问题及解决方法等,不断充实自己的计算机知识,从而指导自身在计算机的实际使用过程中多加注意,对不符合要求或错误的操作进行避免,降低出现计算机软硬件故障的概率。
3.2 定期检测
对硬件的维护与管理主要是对鼠标和键盘进行维护管理。在对鼠标进行使用时,要控制按压的力道,减小对鼠标的物理性损害。维护方面要经常使用稍微潮湿的布对鼠标表面进行擦拭,并对缝隙及滚轮上的污渍进行清理。在使用键盘时,也要做到轻按轻放,提高每一个键的使用寿命。在进行维护时,使用柔软干净的湿布对键盘表面的污垢进行清理。同时要使其远离水源。此外,还有对CPU的维护与管理。要安装一个功率较大的风扇,防止出现计算机超高温或超低温运行。要注意清理CPU针脚上积累的灰尘。
3.3 备份与修复
对计算机软硬件的维护与管理主要包括两方面。一是系统,要在平时加强对系统的维护,定期对系统进行更新,对补丁进行修复,并对流氓控件进行清理,以此来保证系统的稳定运行。二是病毒,病毒是造成系统障碍的重要因素。它会造成计算机相关信息丢失,给使用者造成损失。因此要注意安装功能较为强大的杀毒软件,定期对电脑进行杀毒,降低病毒感染的概率;不随便点击来历不明的链接或网站,降低风险;同时还要注意对数据的备份和保存,避免因感染病毒导致的数据丢失。
4 结束语
综上所述,随着计算机技术的飞速发展和更新速度的不断加快,计算机在各个领域都发挥着重要作用。但由于各种原因导致计算机出现很多问题。因此一方面计算机使用者要多加学习,不断补充自己的计算机知识,另一方面也要在平时加强对计算机软硬件的维护与管理,使其更好的为人们服务。
参考文献
[1]徐俊龙.试论高校多媒体教学计算机软硬件管理与维护[J].电子制作,2015(08).
[2]任军,王子超.网络技术应用下计算机软硬件资源共享的实现[J].中小企业管理与科技,2015(12).
[3]易力.高校多媒体教学计算机软硬件管理与维护[J].信息技术与信息化,2014(07).
[4]崔雪.有关计算机软硬件的日常维护的研究[J].计算机光盘软件与应用,2013(08).
作者单位
【关键词】误差理论与数据处理 Excel MATLAB DPS
1 引言
随着现代科技的不断进步,测量在现代科技中占据着越来越重要的地位,没有测量就没有科学。由于测量仪器、测量环境、测量方法、测量人员和被测对象本身不可能都做到完美无缺,而且误差存在的必然性和普遍性,已为大量实践所证明,因此必须对误差进行一个系统的研究。传统的统计分析过程中只注重数学公式的推导,不利于在实际工程中的应用,通过数据处理软件可以使数据处理更加方便快捷、测量数据更加精确。当前许多领域都已离不开计算机和编程软件,数据处理软件已渗透到生产、管理、检测、控制各个领域。本文则阐述了Excel、MATLAB、DPS数据处理软件在处理误差时的基本应用,用这些数据处理软件辅助处理误差,大大提高数据处理能力,提高工程效率,获得较高的工程收益。
2 Excel在误差分析与数据处理中的应用
2.1 Excel简介
Microsoft Excel是微软公司的办公软件Microsoft office的组件之一,它可以进行各种数据的处理、统计分析和辅助决策操作,Excel中大量的公式函数可以应用选择。使用Microsoft Excel可以执行计算,分析信息并管理电子表格或网页中的数据信息列表与数据资料图表制作,可以实现许多方便的功能,使数据处理更加方便,因此广泛地应用于管理、统计财经、工程等众多领域。
2.2 随机误差的处理
由于在测定过程中一系列有关因素微小的随机波动而形成的具有相互抵偿性的误差。单次测量的随机误差没有规律,但多次测量的总体却服从统计规律,测量列中的随机误差具有相互抵偿性,因此,通过计算测量列算术平均值可以对随机误差进行处理。可以通过调用Excel基本的数据处理功能:求和、平均值和单次测量标准差。
(1)求和:SUM()
(2)平均值:AVERAGE()
(3)单次测量标准差:STDEV()
3 MATLAB在误差分析与数据处理中的应用
3.1 MATLAB介绍
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。
3.2 系统误差的处理
在相同测量条件下,对同一个被测尺寸进行多次重复测量时,误差值的大小和符号(正值或负值)保持不变;或者在条件变化时,按一定规律变化的误差。其中残余误差观察法比较简单、直观,主要是根据测量列中的各个残余误差大小和符号的变化规律,直接由误差曲线图形来判断有无变化的系统误差。MATLAB具有强大的作图功能,利用它对测量数据的残余误差作图,通过图表判断是否含有规律性变化的系统误差。
(1)平均值:mean()
(2)画图:plot()
4 DPS在误差分析与数据处理中的应用
4.1 DPS介绍
DPS是浙江大学唐启义教授等开发的大型、通用、多功能数据处理分析应用软件,其运行环境为中文Windows 98/2000/XP,软件工作界面友好,操作简便,易于掌数据处理系统。DPS将数值计算、统计分析、模型模拟以及画线制表等功能融为一体,可广泛适用于教学、工程和生产各个领域。
4.2 粗大误差的处理
粗大误差的处理是工程中经常遇到的,常用的判别方法有莱以特准则(3S法)、格拉布斯准则和狄克松准则。其中莱以特准则(3S法)使用简单,不需查表,得到了相对广泛的应用。
在DPS中,可利用“异常值检验”命令实现测量列中异常数据的剔除。在菜单项中选择“数据分析”中的“异常值检验”命令,就会弹出相应的对话框,根据需要可以继续选择检验粗大误差方法,然后单击“确定”按钮就会立即显示检测结果。
5 结论
针对测量误差处理在《误差理论与数据处理》课程教学和实际工作中计算量大、处理过程比较繁琐的问题,本文提出了基于Excel、MATLAB和DPS软件对数据误差进行处理,在分析了这些软件的基础上,结合了系统误差、随机误差、粗大误差本身的特征,对不同性质的误差应用了不同软件进行处理。从求解命令可以看出,应用计算机软件处理误差和分析数据可以提高计算的准确性和计算效率。
参考文献
[1]费业泰.误差理论与数据处理(第7版)[M].北京:机械工业出版社,2015.
[2]吴石林,张^.误差理论与数据处理[M].北京:清华大学出版社,2010.
[3]董大钧,乔莉.浅谈Excel软件在《误差分析与数据处理》教学中的应用[J].成功(教育),2011(20):14.
[4]吴石林,张^,熊九龙,李苑青.误差理论与数据处理实践教学:DPS软件应用[J].中国教育技术装备,2013(18):132-135.
[5]韩晓娟,常太华.基于卓越工程师培养的“误差理论与数据处理”课程建设[J].中国电力教育,2011(26):98-99.
[6]陈海秀.MATLAB在误差理论与数据处理教学中的应用[J].科技信息,2009(2):79.
从以上的论述中可以看出,传统计算机辅助数据处理还存在诸多的问题,为了有效的解决这一问题,研发出了现代结构数据处理系统,该系统相对于传统的数据处理系统而言,存在以下优点:首先,在新的软件系统中引进了数据库技术,其操作模块和数据模块是独立的两个模块,可以实现其独立工作。其次,该系统采取了C/S的管理模式,这种模式可以实现对量测数据的管理、导入以及结果处理。再次,采用SQL语言编辑形式,可以对测试数据的快速查询和对实验要求的快速访问。最后,该系统中预留了数据入口接驳功能,可以实现自由的职能扩展。
2实验数据处理技术方案
2.1实验概况
本次结构实验选取某铁路钢构三跨PC箱形桥,按照刚度相思的原则,将该桥的尺寸和模型尺寸拟定为18.2:1,该桥模型的总长度为29.6米,在墩身的建筑中,使用的是C40的混凝土,墩台使用的混凝土型号和墩身使用的混凝土型号保持一致,在桥身的建筑中,采用的是C60的混凝土类型,在1号和4号桥墩采用的支座是活动的,2号和3号桥墩采用的刚性连接支座,并对其采用竖向和水平的加载方式。在本次实验工况研究中,设置了四种工况,包括水平推力、张拉、配种以及竖向加重。
2.2对结构实验的分析
按照结构实验数据处理的一般流程将软件化为为三个层次,第一个层次就是数据库层,主要用于存储试验中用到的各种信息;第二层为数据管理层,主要负责对试验中各种数据的管理;第三层为处理结果层,该层主要是根据第二层下达的任务,实现对数据的结果表达。在Matlab软件中,设计了一套完整的控制函数,并包括I/O设备访问所需要的函数,该函数可以实现对硬件的有效控制,同时也满足了硬件之间的通讯功能。
2.3对实验结构数抽象据库的分析
根据实验模型的机构体系,根据数据库的原理,可以得出抽象的数据库模型,该数据库的模型可以通过Access2000实现。在该数据库模型中,涉及到的因素很多,例如用于存储百分表位移计分布信息的位移测点表,存储加载历程和工况的工况信息表,除此以外,还包括应力信息表、压力信息表、位移测值表以及应变信息表。在数据访问和数据管理操作中,不会对其他表进行操作,只需要通过位移测点表、测点信息表以及工况信息表来完成。采用这种数据访问和数据管理方法,可以有效的确保原始数据不受到破坏,提高原始数据的安全性。
2.4对数据管理和数据处理的分析
在对数据进行相关操作时,要确保数据的安全性。因此,在进行数据库操作的过程中,应该将其放在安全性比较高的C/S模型中,并在其前端管理程序中实现。通过控制Matlab软件编程数据管理程序,在ODBC中建立相应的数据库接口,从而在Database中实现对数据的处理和数据访问功能。在对数据库进行管理的过程中,需要实现多个方面的功能,具体来说,主要包含以下几个部分:首先,要预留出UCAM接入口和PC接入口,并实现对数据的手动导入和自动导入功能。其次,要按照一定的条件,实现对数据的访问和对数据的查询功能,并做到便捷和高效。再次,要实现数据处理任务定制功能,根据数据查询的结果和数据的性质,程度可以对程度做出智能判断,并建立起数据连接机制和数据导入机制,最后利用Matlab来实现对数据库的管理功能。根据以上的论述,利用Matlab编程程序,实现了对数据的初步自动化功能和可视化功能。
3总结
关键词:统一过程里程碑迭代核心工作流
Abstract:ThispaperdiscusstheimportantcontentsoftheRationalUnifiedProcess,includingDevelopmentPhase,IterationProcess,CoreWorkflowsandsoon.Additionally,givingsomecommentsaboutitsadvantagesandweaknessesinthesoftwareprojectsdevelopment.
KeyWords:UnifiedProcess,Milestone,Iteration,CoreWorkflows
一前言
软件过程是指实施于软件开发和维护中的阶段、方法、技术、实践及相关产物(计划、文档、模型、代码、测试用例和手册等)的集合。行之有效的软件过程可以提高开发软件组织的生产效率、提高软件质量、降低成本并减少风险。目前市场上领先的软件过程主要有RUP(RationalUnifiedProcess)、OPENProcess和OOSP(Object-OrientedSoftwareProcess)。
RUP具有较高认知度的原因之一恐怕是因为其提出者Rational软件公司聚集了面向对象领域三位杰出专家Booch、Rumbaugh和Jacobson,同时它又是面向对象开发的行业标准语言——标准建模语言(UML)的创立者。RUP是由Objectory过程演化而来,其初始版本为5.0,先后经历了5.1、5.11、5.5等版本直到最新的RationalUnifiedProcess2000版本。本文主要讨论RUP的主要内容和特点。
二RUP的二维开发模型
RUP可以用二维坐标来描述。横轴通过时间组织,是过程展开的生命周期特征,体现开发过程的动态结构,用来描述它的术语主要包括周期(Cycle)、阶段(Phase)、迭代(Iteration)和里程碑(Milestone);纵轴以内容来组织为自然的逻辑活动,体现开发过程的静态结构,用来描述它的术语主要包括活动(Activity)、产物(Artifact)、工作者(Worker)和工作流(Workflow)。如图1:
图1RUP的二维开发模型
三开发过程中的各个阶段和里程碑
RUP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)。每个阶段结束于一个主要的里程碑(MajorMilestones);每个阶段本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。
1.初始阶段
初始阶段的目标是为系统建立商业案例并确定项目的边界。为了达到该目的必须识别所有与系统交互的外部实体,在较高层次上定义交互的特性。本阶段具有非常重要的意义,在这个阶段中所关注的是整个项目进行中的业务和需求方面的主要风险。对于建立在原有系统基础上的开发项目来讲,初始阶段可能很短。
初始阶段结束时是第一个重要的里程碑:生命周期目标(LifecycleObjective)里程碑。生命周期目标里程碑评价项目基本的生存能力。
2.细化阶段
细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。为了达到该目的,必须在理解整个系统的基础上,对体系结构作出决策,包括其范围、主要功能和诸如性能等非功能需求。同时为项目建立支持环境,包括创建开发案例,创建模板、准则并准备工具。
细化阶段结束时第二个重要的里程碑:生命周期结构(LifecycleArchitecture)里程碑。生命周期结构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。此刻,要检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。
3.构造阶段
在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制运作以优化成本、进度和质量。
构建阶段结束时是第三个重要的里程碑:初始功能(InitialOperational)里程碑。初始功能里程碑决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。此时的产品版本也常被称为“beta”版。
4.交付阶段
交付阶段的重点是确保软件对最终用户是可用的。交付阶段可以跨越几次迭代,包括为做准备的产品测试,基于用户反馈的少量的调整。在生命周期的这一点上,用户反馈应主要集中在产品调整,设置、安装和可用性问题,所有主要的结构问题应该已经在项目生命周期的早期阶段解决了。
在交付阶段的终点是第四个里程碑:产品(ProductRelease)里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段的结束重合。
四RUP的核心工作流(CoreWorkflows)
RUP中有9个核心工作流,分为6个核心过程工作流(CoreProcessWorkflows)和3个核心支持工作流(CoreSupportingWorkflows)。尽管6个核心过程工作流可能使人想起传统瀑布模型中的几个阶段,但应注意迭代过程中的阶段是完全不同的,这些工作流在整个生命周期中一次又一次被访问。9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。
1.商业建模(BusinessModeling)
商业建模工作流描述了如何为新的目标组织开发一个构想,并基于这个构想在商业用例模型和商业对象模型中定义组织的过程,角色和责任。
2.需求(Requirements)
需求工作流的目标是描述系统应该做什么,并使开发人员和用户就这一描述达成共识。为了达到该目标,要对需要的功能和约束进行提取、组织、文档化;最重要的是理解系统所解决问题的定义和范围。
3.分析和设计(Analysis&Design)
分析和设计工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。分析设计的结果是一个设计模型和一个可选的分析模型。设计模型是源代码的抽象,由设计类和一些描述组成。设计类被组织成具有良好接口的设计包(Package)和设计子系统(Subsystem),而描述则体现了类的对象如何协同工作实现用例的功能。
设计活动以体系结构设计为中心,体系结构由若干结构视图来表达,结构视图是整个设计的抽象和简化,该视图中省略了一些细节,使重要的特点体现得更加清晰。体系结构不仅仅是良好设计模型的承载媒介,而且在系统的开发中能提高被创建模型的质量。
4.实现(Implementation)
实现工作流的目的包括以层次化的子系统形式定义代码的组织结构;以组件的形式(源文件、二进制文件、可执行文件)实现类和对象;将开发出的组件作为单元进行测试以及集成由单个开发者(或小组)所产生的结果,使其成为可执行的系统。
5.测试(Test)
测试工作流要验证对象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确的实现,识别并确认缺陷在软件部署之前被提出并处理。RUP提出了迭代的方法,意味着在整个项目中进行测试,从而尽可能早地发现缺陷,从根本上降低了修改缺陷的成本。测试类似于三维模型,分别从可靠性、功能性和系统性能来进行。
6.部署(Deployment)
部署工作流的目的是成功的生成版本并将软件分发给最终用户。部署工作流描述了那些与确保软件产品对最终用户具有可用性相关的活动,包括:软件打包、生成软件本身以外的产品、安装软件、为用户提供帮助。在有些情况下,还可能包括计划和进行beta测试版、移植现有的软件和数据以及正式验收。
7.配置和变更管理(Configuration&ChangeManagement)
配置和变更管理工作流描绘了如何在多个成员组成的项目中控制大量的产物。配置和变更管理工作流提供了准则来管理演化系统中的多个变体,跟踪软件创建过程中的版本。工作流描述了如何管理并行开发、分布式开发、如何自动化创建工程。同时也阐述了对产品修改原因、时间、人员保持审计记录。
8.项目管理(ProjectManagement)
软件项目管理平衡各种可能产生冲突的目标,管理风险,克服各种约束并成功交付使用户满意的产品。其目标包括:为项目的管理提供框架,为计划、人员配备、执行和监控项目提供实用的准则,为管理风险提供框架等。
9.环境(Environment)
环境工作流的目的是向软件开发组织提供软件开发环境,包括过程和工具。环境工作流集中于配置项目过程中所需要的活动,同样也支持开发项目规范的活动,提供了逐步的指导手册并介绍了如何在组织中实现过程。
五RUP的迭代开发模式
RUP中的每个阶段可以进一步分解为迭代。一个迭代是一个完整的开发循环,产生一个可执行的产品版本,是最终产品的一个子集,它增量式地发展,从一个迭代过程到另一个迭代过程到成为最终的系统。
传统上的项目组织是顺序通过每个工作流,每个工作流只有一次,也就是我们熟悉的瀑布生命周期(见图2)。这样做的结果是到实现末期产品完成并开始测试,在分析、设计和实现阶段所遗留的隐藏问题会大量出现,项目可能要停止并开始一个漫长的错误修正周期。
图2瀑布模型
一种更灵活,风险更小的方法是多次通过不同的开发工作流,这样可以更好的理解需求,构造一个健壮的体系结构,并最终交付一系列逐步完成的版本。这叫做一个迭代生命周期。在工作流中的每一次顺序的通过称为一次迭代。软件生命周期是迭代的连续,通过它,软件是增量的开发。一次迭代包括了生成一个可执行版本的开发活动,还有使用这个版本所必需的其他辅助成分,如版本描述、用户文档等。因此一个开发迭代在某种意义上是在所有工作流中的一次完整的经过,这些工作流至少包括:需求工作流、分析和设计工作流、实现工作流、测试工作流。其本身就像一个小型的瀑布项目(见图3)。
图3RUP的迭代模型
与传统的瀑布模型相比较,迭代过程具有以下优点:
?降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。
?降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。
?加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。
?由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。
六总结
RUP具有很多长处:提高了团队生产力,在迭代的开发过程、需求管理、基于组件的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面,针对所有关键的开发活动为每个开发成员提供了必要的准则、模板和工具指导,并确保全体成员共享相同的知识基础。它建立了简洁和清晰的过程结构,为开发过程提供较大的通用性。但同时它也存在一些不足:RUP只是一个开发过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容;此外,它没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性。可以说RUP是一个非常好的开端,但并不完美,在实际的应用中可以根据需要对其进行改进并可以用OPEN和OOSP等其他软件过程的相关内容对RUP进行补充和完善。
主要参考文献
1.RationalSoftwareCorporation.RationalUnifiedProcessversion2000.02.1,2000