软件工程是指导计算机软件开发与维护的工程学科,它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以便经济地开发出高质量的软件并有效地维护它文中通过介绍软件工程的相关知识和针对项目的特殊性对软件工程理论的具体实施办法,展示了如何将软件工程理论应用在实际工作中,从而快速、高效地开发出高质量的软件。
软件项目管理是使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。软件开发的整个过程都是设计过程而且不需要使用大量的物质资源(主要是人力资源),并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。因而企业软件开发项目管理水平直接决定了软件开发的能力,科学、系统的软件项目管理也从很大程度上减小了开发风险。通过运用软件项目管理来科学地开发软件有效地减少了开发风险,保证了质量。
1流程
根据项目管理的一般原理,项目管理的过程从总体上可以分为5个阶段,每个阶段包含有一个或多个管理过程。这5个阶段分别是:项目启动、项目计划编制、项目计划执行、综合管理控制和项目收尾。它们之间的联系如图1所示。
(1)项目启动:根据必要的工作(如可行性分析,技术评估等)结果,批准一个项目的运行。
(2)项目计划编制:收集和编写项目所需要的各种资料,进行各种计划活动并制订相应的计划,将各种计划的结果汇总成为连贯、一致的文档,即项目计划文档。在软件项目中,具体的活动包括需求和范围管理计划、进度计划、人力资源计划、成本计划、沟通计划、风险计划等。
(3)项目计划执行:通过进行项目计划所规定的各种活动,实施项目计划。
(4)综合管理控制:在项目计划实施的过程中,对各种活动进行监控,协调并控制整个项目期间的变更。在软件项目中,主要的活动包括范围变更控制、进度计划控制、成本控制、质量控制、风险监督与控制等。
(5)项目收尾:项目或阶段的正式接收并达到有序的结束。其中,项目的中间过程(计划、执行、控制)是一个循环反复的过程。项目计划是计划执行和计划控制的基准;计划执行的结果受到计划控制的监控;计划控制根据比较计划执行的结果与项目计划的偏差,以及各种因素引起的变化,对项目计划进行修正,从而形成下一个循环的项目基准。它们之间的流程如图2所示。
2生命周期模型
任何软件的开发都要经历一个“生命期”,生命期模型的主要功能是确定一种标准,确定项目规格、建立原型、设计、实现、检查、测试或执行一些其他活动,以此确定在软件开发过程中是否是以某种次序一个任务接着一个任务进行。作为一个项目的主要计划,软件生命期模型的选择对项目成功的影响非常重要。恰当的生命期模型可以使软件项目流程化,并帮助项目人员一步一步接近目标。如果选择了适宜的生命期模型,就可以提高开发速度、提升质量、加强项目跟踪和控制、减少成本、降低风险,或是改善用户关系。
2.1瀑布模型
最经典的软件生命周期模型是瀑布型模型,它是其他生命期模型的基础。在瀑布模型中,项目从始至终按照一定顺序的步骤从初始的软件概念进展到系统测试。项目确保在每个阶段结束时进行检查,以判定是否可以开始下一阶段工作。如果检查的结果是项目还没有准备好进人下一阶段,它就停留在当前阶段,直到当前阶段工作完成。如图3所示。
瀑布模型是文档驱动型的,主要工作成果通过文档从一个阶段传递到下一个阶段。如果有一个稳定的产品定义和很容易被理解的技术解决方案时,瀑布模型可以帮助及早发现问题,降低项目的阶段成本,是快速开发的一个恰当选择。但在很多实际情况中,由于需求、技术等很多不确定性,瀑布模型并不适合于进行快速开发。
2.2渐进原型
渐进原型是从开发系统概念开始的一种生命期模型,通常是从最核心的方面开始,向用户展示完成的部分,然后根据用户的反馈信息继续开发原型,并重复这一过程,直到开发者和用户都认为原型己经足够好。然后,完成结尾工作,交付作为最终产品的原型,如图4所示。
“渐进原型”模型以逐步增加的方式进行开发,以便于随时根据客户或最终用户的反馈来修正系统,在需求变化很快的时候,或者用户很难提出明确需求的时候,或者开发人员对最佳的架构或算法没有把握的时候,渐进原型特别有用。但是,渐进原型是以牺牲项目的可控制性来换取较多的客户反馈以及较好的过程可视性的。由于原型的功能和特性会随着用户的反馈而经常发生变化,因此较难确定产品的最终形态。
2.3阶段交付
阶段交付模型是另一种生命期模型,该模型可以持续地在确定的阶段向用户展示软件。和渐进原型不同,在阶段交付的时候,开发者明确地知道下一步要完成什么工作。阶段交付的特点是在项目整个开发过程中持续不断地交付阶段性成果。如图5所示。
在“阶段交付”生命模型中,软件被分阶段进行开发。在通常情况下,首先开发最重要的功能。阶段性交付并不能减少软件产品研发所需要的时间,但是它能充分降低软件研发中的风险,而且能够提供切实的、客户可见的以及管理层评价项目状态时所需要的标记。
2.4渐进交付
渐进交付是一种结合了渐进原型和阶段交付两种模型的生命期模型。在这种模型下,首先开发产品的一种版本,展示给用户看,然后根据用户的反馈改善产品,如图6所示。
渐进交付模型在阶段交付的可控制性和渐进原型的灵活性之间寻找平衡。在可能的情况下,它可以把软件的某些选定的部分提前交付,从而有利于快速开发的进行;同时,在项目进行的过程中,它也具有响应用户要求并改变产品方向的能力。
3开发应用
3.1要员管理
软件项目成功的关键是有高素质的软件开发人员,然而大多数软件产品规模都很大,以至单个软件开发人员无法在给定期限内完成开发,因此,必须把多名软件开发人员组织起来,使他们分工协作共同完成开发工作。现有的软件开发项目组的组织方式有:
(1)民主制程序员组
小组成员完全平等,享有充分民主,通过协商做出技术决策。小组成员间的通信是平行的,如果小组有n个成员,则可能的通信信道有n (n-1) /2条。
(2)主程序员组
主程序员既是成功的管理人员又是经验丰富能力强的高级程序员负责体系结构设计和关键部分(或复杂部分)的详细设计,并且负责指导其他程序员完成详细设计和编码工作。
后备程序员也应该技术熟练而且富于经验,协助主程序员工作并且在必要时接替主程序员的工作。编程秘书负责完成与项目有关的全部事务性工作。
(3)现代程序员组
技术组长:只对技术工作负责。
行政组长:全权负责非技术事务。
项目开发方把软件工程中的软件项目组的组织理论文档化后,形成了自己的一套详细的、适合在实际工作中使用的要员管理理论。
3.2进度管理
软件项目的进度安排是一项活动,它通过把工作量分配给特定的软件工程任务,并规定完成各项任务的起、止日期,从而将估算的工作量分布于计划好的项目持续期内。进度计划将随着时间的流逝而不断演化。在项目计划的早期,首先制定一个宏观的进度安排表,标示出主要的软件工程活动和这些活动影响到的产品功能。随着项目的发展,把宏观进度表中的每个条目都精化成一个详细进度表。于是完成一个活动所必须实现的特定任务被标示出来,并安排好了实现这些任务的进度。
3.3配置管理
在开发计算机软件的过程中,变化(或称为变动)是不可避免的。如果不能适当地控制和管理变化,势必造成混乱并产生很多严重的错误。软件配置管理是在计算机软件整个生命周期内管理变化的一组活动。它不同于软件维护。软件维护是在软件交付给用户使用后才发生的,而软件配置是在软件项目启动时就开始,并且一直持续到软件退役后才终止的一组跟踪和控制活动。其主要任务有:标识、版本控制、变化控制、配置审计和报告。只要参加过软件开发的人都清楚,现在的软件项目完全由一个人来完成是难以想象而且也是不可能的,通常是有一个研发小组来共同分析、设计、编码和维护,并有专门的测试小组对己完成编码调试的软件进行全面的测试。在软件开发这个庞大而复杂的过程中,需要涉及到各个方面的人员,信息的交流反馈不仅仅是在研发小组的成员之间及各个研发小组之间,还存在于客户和研发者之间。所有的这些交流反馈意见信息都有可能导致对软件的修改,小的可能只是对某个源文件中的某个变量的定义改动,大到重新设计程序模块甚至可能是整个需求分析变动。
3.4软件测试
测试是指软件产品生存周期内所有的检查、评审和确认活动。在软件生命周期的每个阶段都不可避免地会产生差错。软件测试的目的就是在软件投人生产运行以前,尽可能多的发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。
4结语
进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。项目管理的质量与软件产品的质量有着直接的对应关系。因此,提高项目管理的能力对于软件组织的软件生产力的提高是最为重要的。
随着当代信息技术的发展,互联网的共享性、开放性以及互联程度也在不断扩大。Internet的广泛普及,商业数字货币、网络银行等一部分网络新业务的迅速兴起,使得计算机网络的安全问题越来越显得重要,通过归纳总结,提出网络信息中的一些安全防护策略。 1.引言 网络环境的复杂性、多变性以及信息系统的脆弱性,决定了网络安全威胁的客观存在。当前,随着计算机技术的飞速发展,利用因特网高科技手段进行经济商业犯罪...
通过对教学实践工作的不断探索与总结,从教学内容安排、教学内容拓展和教学手段运用三个方面对“光电技术”课程的教学方法进行了研究,并将其运用到课堂,取得了良好的教学效果。 1960年第一台红宝石激光器的问世可以说是光学发展史上的里程碑,该发明解决了光频载波问题,此后光电子技术得以蓬勃发展,在现代信息产业结构中扮演着重要角色。…由于社会发展的需要,近十多年来许多高...
文浅析了网络不正当竞争行为的表现形式,并以此为基础,提出了完善其法律规制的几点建议。一、网络不正当竞争行为及其表现形式对于网络不正当竞争行为,本人认为可以作如下定义:在以网络为媒介的经济交往活动中,经营行为者违反相关法律法规,损害其他经营行为者的合法权益,扰乱社会经济秩序的行为,称之为网络不正当竞争行为。(一)传统形式我国《反不正当竞争法》第二章列举了有形市场中的主要不正当竞争行为类型,主要出现了...
本文提出了一种适用于IEEE754-1985标准的浮点数除法器的设计体系。本文的除法器体系基于NewSvoboda-Tung除法算法原理,采用基数为8的MROR(maximallyredundantmaximallyrecorded)符号数位集实现。在NST除法器中,被除数和除数都必须经过预处理。本文采用了一种预处理的硬件设计方案,该方案的时间复杂度为一个固定的常数(不依赖于除数数位的长短)。在除...
利用电磁学的方法分析了计算机电磁信息辐射的原理?引入偶极子分析计算了计算机电磁信息辐射场的频谱与场强;研究了计算机电磁信息辐射接收机的接收原理?进一步定量分析了辐射场强与接收机带宽、噪声系数、接收天线定向性和增益之间的数值关系;阐述了计算机电磁信息泄露的方式和途径?概括了基于实际的军队计算机应用中电磁信息安全与防护的主要手段。随着信息技术的发展和微型计算机的普及应要处理、传输、存储的军事机密的安全...
应用信息安全技术提高电子政务系统的安全性是一个迫切需要解决的问题。本文首先剖析了电子政务系统信息安全方面存在的问题,其次研究了信息安全技术在电子政务系统中的应用,涉及到安全区域的有效划分、重要信息的有效控制以及系统VPN的台理设计等等,在一定程度上保证了电子政务系统的安全。 1引言 电子政务是提升一个国家或地区特别是城市综合竞争力的重要因素之一,电子政务系统中有众多的政府公文在流转,其中不乏重...
针对软件项目和项目开发中的复杂性、易变性和不可预见性,研究了软件项目管理流程方法设计了软件项目运作过程的总体流程,分析了各阶段流程的进入条件、主要工作过程和工作结果 论文关键词:软件过程;软件项目管理;流程管理 1引言 长期以来,软件项目高失败率的状况一直困扰着人们,研究表明,软件项目失败的原因主要有两个:一是应用项目的复杂性;二是缺乏合格的软件项目管理人才。实践证明缺乏有效的项目管理是导致...
由校园网运行和信息安全问题,提出加强校园网管理,提高教师和学生信息安全意识。并对具体的网络管理实施方法和信息安全保护措施进行探究和实践。 一、引言 随着校园网络建设的不断发展,学院在教学、管理、科研以及对外信息交流等多方面对校园网的依赖性日渐增强,以网络的方式来获取信息、存储信息和交流信息成为学院教师和学生使用信息的重要手段之一。然而,就目前的网络运行状况来看,校园网信息安全问题日益突出,网络...
针对网络化务件下涉密信息应用和管理中的保密需求,提出了一种涉密信息网络化集中应用模式,建立了相应的涉密信息网络安全应用系统框架,并对其体系结构进行了详细叙述,最后通过建立系统原型验证了该系统框架的可行性和实用性。 引言 计算机网络的运用给人们带来了极大便利,成为工作和学习不可或缺的重要工具,而与此同时也给计算机信息特别是涉密信息的管理和保密工作带来了新的挑战。尽管现在网络安全的研究和实践已经取...
摘要:本文从直播卫星DBS功能特性、发展过程和我国现阶段直播卫星的使用情况,用户端接收设备安装的经济情况等进行介绍。对广大偏远、穷、差地区的群众,彻底解决了听广播、看电视难的问题。实现了真正村村户户通广播电视的问题。关键词:直播卫星;功能特性;全面覆盖;真正作用于村村通 直播卫星业务DBS(DirectBroadcastingSatelliteService),通常是采用地球同步轨道卫星,以...
影响因子:3.007
影响因子:0.000
影响因子:1.170
影响因子:0.000
影响因子:7.422
影响因子:1.190
影响因子:0.000
影响因子:2.620