登陆注册
8724600000005

第5章 软件工程概述(3)

Rational Rose是支持UML建模的强大的可视化工具。Rational Rose是个菜单驱动应用程序,它支持8种不同类型的UML框图:用例图、类图、时序图、协作图、状态图、活动图、组件图、分布图。Rose对不同框图都提供了不同的工具栏。

Rose界面的五大部分是浏览器、文档窗口、工具栏、框架窗口和日志:

①浏览器:用于在模型中迅速漫游。

②文档窗口:用于查看或更新模型元素的文档。

③工具栏:用于迅速访问常用命令。

④框架窗口:用户显示和编辑一个或几个UML框图。

⑤日志:用于查看错误消息和报告各个命令的结果。

在Rose的浏览器中有4个视图:UseCase视图、Logical视图、Component视图和Deployment视图。

1)UseCase视图

UseCase视图包括系统中所有的角色、用例图和用例模型图,还可能包括一些时序图和协作图。

UseCase视图是系统中与实现无关的视图,它关注于系统功能的高层形状,而不关注于系统的具体实现。

2)Logical视图

Logical视图关注系统如何实现用例中提出的功能,包括特定的类、类图、时序图、协作图、状态图等。

3)Component视图在Rose中,组件和组件图在Component视图中显示。

4)Deployment视图在Rose中,分布图在Deployment视图中显示。

1.3软件过程

1.3.1软件过程改进的目标

软件过程管理的核心是持续的软件过程改进(Software Process Improvement)。在建立了持续的过程改进环境的软件组织中,其软件开发过程是可控制的、可预测的、可度量的。在这样的软件组织中,定义好的软件过程被制度化、规范化,软件过程中的行为被文档化。这样的理想状态就是通过软件过程管理要实现的目标。

1.3.2软件过程管理的主要内容

软件过程管理的核心是持续的软件过程改进(Software Process Improvement)。而软件过程改进的第一步就是过程基础结构的建立(Establish Process Infrastructure)。这一步骤主要完成企业过程管理的基础性工作,包括获取管理者的支持,获取资金,创建软件过程工程小组(Software Engineering Process Group,SEPG)或者创建过程改进组(Process Improvement Team,PIT),进行任务职责的分配等工作。Sami Zahran指出软件过程改进的基础架构包含两部分主要内容:一是组织与管理方面的架构,也就前面所提到的软件过程改进过程中各类角色的定义及其职责的分配;二是技术方面的架构,主要是过程改进中各类工具的建立。

软件过程改进计划,也就是Planning of Process Implementation and Change。这一步包括过程管理的几个重要内容:过程定义(Process Definition)、过程度量(Process Measurement)和过程定性分析(Process Qualitative Analysis)。

过程定义(Process Definition),显然是整个过程改进的基础。整个组织的过程改进必须基于明确的过程定义,以方便员工的交流、过程改进的实施。过程可以在两个层次上加以定义:一个是在抽象层次上,从软件的开发过程的技术角度来定义,可以得到生命周期框架模型(Life Cycle Framework Model),也就是通常所说的软件生命周期。此外,在具体层次上,综合考虑软件工程管理方面的内容,可以得到各种软件生命周期过程模型(Software Life Cycle Process Model)。

在正式实施一个定义好的软件过程之前,企业或组织必须对现有的软件过程加以评估或者度量,以明确现有软件过程的优势及缺陷,并以此为基础定义新的软件过程。对于现有软件过程的定量数据的收集、整理、分析的过程就是这里的过程度量。对于现有软件过程的定性分析就是上面提到的过程定性分析。

当新的过程定义好之后,就进入了过程改进的实施阶段。也就是Process Implementation and Change阶段。在这一阶段,通常需要选择一些成熟的软件过程改进框架,作为企业过程改进的指南。SEI的能力成熟度模型CMM和国际化标准组织的ISO/IEC15504都是这样的过程改进模型。

过程度量(Process Measurement)是指当过程改进顺利完成之后,为了实现持续的过程改进,还有必要对现有的软件过程加以评估(Evaluation),以明确当前的软件过程的实际效果。CMM和ISO/IEC15504均提供了相应的评估模型。

1.4软件生命周期模型

软件生命周期模型,也就是前面说到的Life Cycle Framework Model。它是在较为抽象的级别对软件过程从技术角度加以定义的一种软件过程模型。这也就意味着真实的软件过程模型可能并非都能符合如此理想模型,很有可能是下面提到的典型软件生命周期的改进或者一定程度上的互相叠加。

下面介绍几种典型的软件生命周期模型。

1.4.1线性顺序模型(Linear Sequential Model)

线性顺序模型就是瀑布模型(Waterfall Model)。线性模型至少包括需求分析、软件设计、软件构造、软件测试、软件维护等阶段。它是最早提出的一种软件生命周期模型。这一模型的最根本特征就是严格线型。这里的线型有两层含义:一是相对螺旋模型而言的。螺旋模型本质上是一种迭代式的开发,而非线性开发。另一层含义是相对有反馈的线性模型而言。在有反馈的线性模型中,后续阶段中发现的问题都会直接反馈给前续阶段,以及时调整整个软件的分析设计,避免缺陷放大。这也就是说,严格的线性模型后继阶段无法把在其阶段的信息反馈给前续阶段。因而严格的线性模型要想得到有效地实施,必须基于确定的需求,详细而准确的设计,而且分析设计的结果必须严格文档化。所以有时又称其为基于文档(Document Based)的软件生命周期模型。

但现实中的软件过程不可能严格遵守线性化,或多或少我们会在分析、设计阶段犯下错误,而且随着企业环境的日益复杂,需求变更已经变成了一种常见现象,软件工程领域正在发起一场“Embrace Change”的革命。这就意味着,传统的线性模型是不符合实际的。因而用得比较多的可能是经过改进的线性模型,它是带反馈的,或者说是可回溯的线性模型,有时又称其为V模型。

V模型中,有两点值得注意。

①它将测试阶段细化,并将各测试阶段的结果直接反馈给前面的相应阶段。从该模型可以看出真实测试过程的开始与需求分析的结束,需求分析的结果就是用户验收测试或者系统测试的依据。

②它体现了V&;V策略。从分析到编程,每一个阶段结束后,都进行相应的检查(Review)。这里的Review就是Validation和Verification的过程。

1.4.2原型(Prototype)实现模型

在开发软件时,客户提的需求往往是比较抽象的商业目标,而不能确定具体的、详细的输入、处理、输出细节。对于一些非功能性的需求,如系统的响应时间、系统的可靠性要求,用户更是难以提出。由此,导致很多软件的开发风险极大。为此人们提出了原型,原型可能是最终系统的一个简单的实现,这种实现便于客户理解开发者实现的内容。通过这样一个原型,客户可以与开发者充分交流,以消除双方的误解。因此很大程度上原型是客户和开发者沟通的界面。

在理解了基础需求的基础上,就可以在较短的时间内快速设计,并实现一个简单的原型,然后对原型加以评价、提炼,最终将这一阶段的原型提交给客户确认。如果客户觉得还需要修改,则再次进入原型实现周期,也就是原型的迭代周期。否则,用户就得到比较满意的最终的产品。原型法有一个原型循环迭代周期,因而与线性模型相比,原型法一个典型的特征就是迭代。

1.4.3螺旋模型(Spiral Model)

螺旋模型是Boehm于1988年提出的。将原型实现的迭代特征与线性模型中的线性控制这两个方面结合起来,使得基于迭代的快速开发成为现实。螺旋模型从中心部分的环开始,每个环代表了一个迭代周期。在每个迭代周期,进行以下几类活动。

①Planning:在这一活动中,系统分析师分析项目所要实现的目标以及开发项目的一些限制性约束。

②RiskAnalysis:就是对整个项目进行风险分析,标识出最有风险的部分,并为之寻求相应的解决方案。在每个迭代的开始都进行风险分析,优先考虑风险最大的部分。这样做的目的显然是为了降低项目开发的风险,这也是Boehm提出螺旋模型的初衷。风险分析是螺旋模型最为典型的特征。

③Engineering:该阶段用于用户评估的原型的分析、设计、验证与实现。在不同的迭代周期,这一步骤的具体内容可能有所不同。越靠近里面的环,这部分的内容越靠近线性模型中前面的部分。越是靠近外面的环,这部分的内容越靠近线性模型中后面的部分。

④Customer Evaluation:是指客户对该迭代周期产生的产品的评价。用户对现有原型的意见又构成下一次迭代计划的依据,这样周而复始,就可以得到越来越贴近目标系统的原型,最后一次迭代的产品就是最终的产品。

1.5常见的软件工程过程模型

1.5.1CMM

软件能力成熟度模型(Capability Maturity Model For Software,SW—CMM),是由美国卡内基梅隆大学软件工程研究所(CMUSEI)研究出的一种用于评价软件承包商能力并帮助改善软件质量的方法,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件生产中的困难。

虽然本书将CMM归为软件工程过程模型的一种,但CMM的含义却远远超出软件过程管理的内容。首先,CMM除了给出基于项目的软件过程的改进指导,更给出了对于组织整体的过程改进框架。其次,CMM是以动态的观点考察组织持续的软件过程改进,而并非只是针对某个项目。再次,CMM的实施过程不仅是过程管理技术的应用过程,更是优秀企业文化的建立过程。正是因为上述原因,在一个软件组织中实施以CMM为指导的过程改进,对该软件组织而言,可以说是一件全局的、艰巨的任务。所以很多时候又称CMM是一种重载软件过程模型(Heavy—weight Software Process Model)。

同类推荐
  • 从平凡到神奇

    从平凡到神奇

    本书结合多年的开店经验,全面地讲解了在淘宝网开设店铺的相关知识,为准备在淘宝网创业的卖家及刚刚创建店铺的店主,提供全面的开店和经营方面的指导。本书按照淘宝开店的流程安排内容,侧重每个步骤中的实际技巧。本书分3个部分:如何在淘宝开店、如何开好店、如何做强做大店铺。前3章介绍了在淘宝网开设店铺的基础知识,指导读者在开设店铺前做好准备工作,以及建立起自己的店铺,并且完成店铺的第一笔交易;第4章至第7章主要介绍了网店装修和推广的方法,以及网店的物流经验和技巧;第8章着重介绍了将网店做大做强的方法,帮助卖家在开店和经营中树立品牌意识,做大做强自己的店铺。
  • 领导干部信息化基础

    领导干部信息化基础

    本书共分6章,分别介绍了计算机网络综述;信息化的三个主要领域,即电子政务(政府信息化)、企业信息化和电子商务;PowerPoint2000中文演示文稿等内容。
  • 中文版AutoCAD2011基础与应用案例教程

    中文版AutoCAD2011基础与应用案例教程

    本书采用项目教学方式,通过大量案例全面介绍了AutoCAD2011软件的功能和应用技巧。全书共分8个项目,内容涵盖AutoCAD2011基本操作,绘制与编辑图形,标注尺寸,添加文字注释与应用表格,创建与应用块,绘制与编辑三维图形,图形输出等。
  • 中国网络传播研究2009(第三辑)

    中国网络传播研究2009(第三辑)

    本文以传统社区研究的“场域论”为基础,探讨网络传播中场域性互动对社会舆论的影响。文章首先从传统社区传播的场域性特征出发,探讨网络传播的社区性和场域性。然后分别分析了传统门户、BBS论坛和私人博客等三种主流的网络传播的场域性互动、意见表达和舆论形成的特点。最后结合“张殊凡事件”、“王石捐款”事件以及“黑砖窑”事件,探讨网络传播中的场域性互动对社会舆论从虚拟到现实的影响。
  • 研究性学习丛书-电脑知识

    研究性学习丛书-电脑知识

    本书对电脑知识有一个全面详细的介绍,会对读者的电脑知识进行提高。
热门推荐
  • 幻世皇妃

    幻世皇妃

    黑暗中重生,唯有越发强大才能永存!千寻:我有我的信仰,不容许任何人侵犯!
  • 洪荒亿万年

    洪荒亿万年

    不知是重生还是穿越成为了十大先天灵根之一的黄中李,是坐等大道安排与盘古大神一战,最终落得个身死道消!还是奋积勃发,逆天改命,成就大道,一切的谜底尽在洪荒亿万年。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 贵圈又出大事了

    贵圈又出大事了

    贵族圈很乱,五花八门的消息一个比一个劲爆。而最近最劲爆的是国民神袛顾少居然订婚了。碎了一大片少女心~是谁——传言竟是个名不见经传的少女。啊~论谁能接受?可是,不太对呀,那名绝色优雅的女子为什么越看反而越觉得是顾少配不上人家了呢?错觉……这是一名女子结束时空之旅后寻找归宿的故事。明面身份一般,实际低调大佬身份……
  • 修成仙人以后

    修成仙人以后

    所谓天演四九遁去的一,他便是那遁去的一,他还是两千年后修成的第一位仙人,他更是修成仙人的第一天就差点死掉死仙人。修成仙人之后身份暴露,仙、佛、魔都视他为盘中餐眼中肉,仙魔的世界充满了未知的阴谋与艰险。且看他一一破去,万事皆有一线生机。
  • 君夫人的马甲又掉了

    君夫人的马甲又掉了

    “四爷,四爷,听说您的夫人不学无术?敢问她怎样配的上您?”某娱乐公司记者。某协会——不好意思,这是我们不太敢招惹的祖宗@凝霜无情某著名大学官网——啊?来来来给大家介绍一下,这是今年的高考状元@凝霜无情“四爷,四爷,听说您的夫人是从乡村里出来的?”暗影集团——别胡说,这位可是我们总裁的亲妹妹。某神秘人——别乱说话,这位可是他们的孩子。而此时话题谈论的男女主角正在某个角落君夫人——说,你是不是从一开始就在算计我?君四爷——是啊!为了算计你这只小狐狸,我可是花费了不少心血呢?!君夫人——老狐狸!!!『男强女强,强强联手,注:作者是新手,不喜勿喷』
  • 英雄联盟之职业经理

    英雄联盟之职业经理

    LOL承载着一代人的回忆,或热血或笑过或遗憾过,电竞也可以热血。本书人名与现实无关,当一个故事慢慢品尝即可。
  • 那年:逝去的青春

    那年:逝去的青春

    青春短暂,他却在在很短的青春里闯入她的世界。他们从一对陌生人渐渐成为熟悉彼此的情侣,又从甜蜜的情侣变成一对最熟悉的陌生人。只怪他们在不对的时间遇上不对的彼此。是那散落的誓言戏弄了青春。傻姑娘,别为一个不值得的人掉这么多次眼泪,别为一个不值得的人改变了自己,别为他独守一座空城。——致逝去的青春
  • 精灵宝可梦之火系大师

    精灵宝可梦之火系大师

    这是我第二部作品请多关照。主角叫赤智,是一个火辣的人。他和暖暖猪出发,成为火系大师。
  • 城市异人

    城市异人

    他能将海水变成纯净水;她能聆听你心中的秘密;他能自由自在在天上飞;她能让受创的身体痊愈;他能复制手中的物品;她能使你忘记过去;他能隔空移物;她们能不让自己受伤;他能找到别人,却找不到自己。他们是异人,他们是D.P.A.的成员。D.P.A.全称为“Differentpeoplealliance”,意即“异人联盟”,是异人的自我保护组织。近年来,异人联盟四处寻找异人入伙,以“为人类服务”为口号,以求向世人表明自身立场,乞求世人不以歧视的眼光对待他们。而“异人为我,我为异人”是他们自保的方式。但如果彼此间不再信任,会发生什么?