
软件工程是指导计算机软件开发与维护的工程学科,它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以便经济地开发出高质量的软件并有效地维护它文中通过介绍软件工程的相关知识和针对项目的特殊性对软件工程理论的具体实施办法,展示了如何将软件工程理论应用在实际工作中,从而快速、高效地开发出高质量的软件。
软件项目管理是使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。软件开发的整个过程都是设计过程而且不需要使用大量的物质资源(主要是人力资源),并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。因而企业软件开发项目管理水平直接决定了软件开发的能力,科学、系统的软件项目管理也从很大程度上减小了开发风险。通过运用软件项目管理来科学地开发软件有效地减少了开发风险,保证了质量。
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结语
进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。项目管理的质量与软件产品的质量有着直接的对应关系。因此,提高项目管理的能力对于软件组织的软件生产力的提高是最为重要的。
摘要:加强通信网建设研究,需要更新思维、注重效能、讲求效益、加强管理。关键词:民航通信网;工程建设;维护手段;新标准随着新技术、新设备、新手段的广泛运用,民航通信网的建设水平、发展速度、建设规模还不能完全适应信息技术发展的要求,不能完全满足信息化发展对民航通信保障的要求。对此,我们必须加强通信网建设研究。一、更新思维,确立工程建设的新模式目前,国内电信事业发展迅猛,数字化、高速率的通信网已经覆盖全...
通过对教学实践工作的不断探索与总结,从教学内容安排、教学内容拓展和教学手段运用三个方面对“光电技术”课程的教学方法进行了研究,并将其运用到课堂,取得了良好的教学效果。 1960年第一台红宝石激光器的问世可以说是光学发展史上的里程碑,该发明解决了光频载波问题,此后光电子技术得以蓬勃发展,在现代信息产业结构中扮演着重要角色。…由于社会发展的需要,近十多年来许多高...
在分析现有软件质量数学模型的基础上,提出了软件项目开发三维模型框架,建立了软件质量最优化数学模型。模型将有限的成本和时间资源合理地分配到软件开发过程的各阶段,并使软件质量达到最优化,为项目管理者建立计划和分配资源提供量化依据,通过实例数据验证了建立的数学模型的正确性和有效性。 论文关键词:软件质量数学模型;软件项目管理;软件项目开发方法模型 软件项目与其他项目一样,成功的3要素是范围(质量)、...
分析了目前威胁医院网络信息安全的各种因素结合网络安全与管理工作的实践,探讨了构建医院信息安全防御体系的措施。中国医院信息化建设经过20多年的发展历程目前已经进入了一个高速发展时期。据2007年卫生部统计信息中心对全国3765所医院(其中:三级以上663家:三级以下31O2家)进行信息化现状调查显示,超过80%的医院建立了信息系统…。随着信息网络规模的不断扩大,医疗和管理工作对信息系统...
针对网络化务件下涉密信息应用和管理中的保密需求,提出了一种涉密信息网络化集中应用模式,建立了相应的涉密信息网络安全应用系统框架,并对其体系结构进行了详细叙述,最后通过建立系统原型验证了该系统框架的可行性和实用性。 引言 计算机网络的运用给人们带来了极大便利,成为工作和学习不可或缺的重要工具,而与此同时也给计算机信息特别是涉密信息的管理和保密工作带来了新的挑战。尽管现在网络安全的研究和实践已经取...
互联网时代的来临给人们带来便利的同时也使信息安全与网络安全形势日益严峻。形形色色的漏洞层出不穷,传统的安全保障模式已经无法有效地应对当前的威胁。本文分析了信息安全形势和现状,阐述了由漏洞挖掘、漏洞利用所构成的病毒产业链对现有安全技术和理念的冲击。根据病毒产业链中各个环节的特点,提出了基于“云安全”思想的新型的安全保障模式,使之能够快速感知和捕获新的威胁,并从源头上予以监控。...
为防止恶意攻击,文章从税控信息加密、税控软件系统在线升级、异常情况处理等方面阐述了进一步提高税控收款机安全性的设计方法 论文关键词:税控收款机;信息加密;软件在线升级;异常情况处理 税控系统由于涉及信息的敏感性,自然成为黑客的攻击目标。为防止恶意攻击,并保证税控收款机在诸如掉电、异常拔卡等异常事件发生时的信息安全,根据信息技术安全性评估准则(GB/T18336—2001)的要求,税...
本文通过电子政务的表现形式,阐述了电子政务的核心与本质的内容,并在研究、分析影响电子政务建设的信息全等因素的基础上,阐述了如何通过信息安全等级保护制度的实施及其过程中必须遵循的一些原则,按阶段、分级别提高信息安全保障能力和水平,维护国家安全、社会稳定和公共利益,保障和促进信息化建设健康发展。 论文关键词:等级保护;信息安全;电子政务 0引言 当代信息技术和互联网技术的迅猛发展,使得电子政务成...
信息技术的发展,给人类社会带来了极大的便利,更是铁路“十一五”规划实现跨越式发展的重要保障。信息化同时也带来了风险,铁路基层站段信息系统存在的安全问题,就是一个应当引起我们关注和积极研究应对措施的课题。随着信息化的发展,铁路层站段的运输十产已经越来越离不开计算机及络技术的运用了,尤其是近几年,TMIS系统、货运计量监控系统、列车追踪系统等已经深人到我们层站段的各个业务作业领...
摘要:本文简述了无线传感器网络的定义、组成及特点,并结合其特点介绍了无线传感器网络在各行各业广泛的应用价值和未来发展前景以及目前存在的技术问题。 关键词:无线传感器网络;组成;应用;发展 科技发展的脚步越来越快,人类已经置身于信息时代。而作为信息获取最重要和最基本的技术——传感器技术,也得到了极大的发展。传感器信息获取技术已经从过去的单一化渐渐向集成化、微型...