欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《软件工程概述》PPT课件.ppt

    • 资源ID:5610140       资源大小:983.50KB        全文页数:100页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《软件工程概述》PPT课件.ppt

    0,软件工程,基本概述,1,本讲核心,一、软件工程过程二、软件生存期模型三、软件开发方法四、软件工具与软件开发环境五、路线图,2,软件项目过程,顾客,顾客,需求,满意,产品,输入,输出,产品实现,?,3,软件工程三段论,软件开发,项目管理,过程改进,4,软件开发,开发过程是软件人员生产软件的过程,例如需求分析、设计、编码、测试等,相当于生产线上的生产过程。,5,软件开发路线图,6,软件项目管理,管理过程是项目管理者规划软件开发、控制软件开发的过程,相当于生产线上的管理过程,管理过程是伴随开发过程进行的过程。,7,软件项目管理路线图,8,软件过程改进,过程改进相当于对软件开发过程和软件管理过程的“工艺流程”进行管理和改进,如果没有好的工艺生产不出好的产品,它包括对开发过程和管理过程的定义和改进。,9,软件过程改进路线图,10,软件工程过程(Software engineering process):指在软件工具的支持下,所进行的一系列软件工程活动。,通常包括以下四类基本过程:1.软件规格说明:规定软件的功能及其运行环境。2.软件开发:产生满足规格说明的软件。3.软件确认:确认软件能够完成客户提出的要求。4.软件演进:为满足客户的变更要求,软件必须在使用的过程中演进。,11,本讲核心,一、软件工程过程二、软件生存期模型三、软件开发方法四、软件工具与软件开发环境五、路线图,12,软件生命周期(Software life cycle)是指从软件开始开发到报废的全过程,亦称软件生存期。,软件生命周期可分为7个阶段:1.可行性研究和项目开发计划2.需求分析3.概要设计4.详细设计5.编码6.测试7.维护,软件生存期,一般用经典的瀑布模型来描述。,13,瀑布模型(waterfall model),14,在大部分文献中将生存周期划分为5个阶段,即需求定义、设计、编码、测试及维护。其中需求定义阶段包括可行性研究和项目开发计划、需求分析,设计阶段包括概要设计和详细设计。为了描述软件生存期的活动,提出了多种生存期模型(也叫软件过程模型),例如:瀑布模型、V模型、原型化模型、螺旋模型等。,15,常用生存期模型,瀑布WaterfallV模型V-shaped原型Prototyping增量Incremental螺旋式Spiral.,16,Figure 2.1 The waterfall model.,17,瀑布模型,是研究人员提出的第一个模型,它将开发阶段从一个阶段瀑布般转换到另一个阶段。该图暗示,一个开发阶段必须在另一个开发阶段开始之前完成。问题:并不能反映实际的代码开发方式,实际上软件是通过大量的迭代进行开发的。若不对实际的软件开发过程加以控制,开发过程可能看起来会像图2.2。,18,19,瀑布模型的主要缺点是没有把软件看做一个问题求解的过程。通过引入加强理解的活动和子活动,软件开发过程有助于控制活动之间的反反复复。原型(prototype)就是这样的一个子过程,它使客户和开发人员能够对计划开发的系统的相关方面进行检查,以决定它对最终产品是否合适或恰当。确认(validation)确保系统实现了所有的需求。验证(verification)确保每项功能都是正确的。,20,Figure 2.3 The waterfall model with prototyping,21,WaterFall model适合的项目,在项目开始前,项目的需求很明确在项目开始前,解决方案也很明确类似的项目如:公司的财务系统库存管理系统短期项目,22,Figure 2.4 The V model.,23,V模型,接收测试,集成测试,系统测试,项目规化,需求分析,总体设计,详细设计,编码和调试,集成测试,单元测试,24,V模型,V模型使得隐藏在瀑布模型中的迭代和重做更加明确瀑布模型关注的通常是文档和制品V模型关注的是活动和正确性大家误认为测试是开发周期的最后一个阶段,其实早期的测试对提高产品的质量,缩短开发周期起着重要作用。V模型正好说明的测试的重要性,它与开发是并行的。V模型体现了全过程的质量意识。,25,V模型适合的项目,在项目开始前,项目的需求很明确在项目开始前,解决方案也很明确对系统的性能安全很严格的项目类似的项目如:航天飞机等公司的财务系统 实例,26,Figure 2.5 The prototyping model,27,Prototype,28,Prototype 模型适合的项目,在项目开始前,项目的需求不明确需要减少项目需求的不确定性类似的项目如:确定显示界面第一次开发的产品,验证可行性,29,Figure 2.9 the incremental and iterative models.,30,阶段性开发,增量开发(incremental development)在增量开发中,需求文档中指定的系统按功能划分为子系统。定义发布时首先定义一个小的功能子系统,然后在每个新的发布中增加新功能。迭代开发(iterative development)迭代开发是在一开始就提交一个完整的系统,然后在每个新的发布中改变每个子系统的功能。,31,Incremental Model,32,Incremental Model适合的项目,项目开始,明确了需求的大部分,但是需求可能会发生变化对于市场和用户把握不是很准,需要逐步了解对于有庞大和复杂功能的系统进行功能改进,就需要一步一步实施的。增量模型实例,33,Figure 2.10 the spiral model.,34,螺旋模型(Spiral Model),对于大型软件,只开发一个原型往往达不到要求。螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析。第一次迭代的产品是操作概念第二次迭代的主要产品是需求在第三次迭代中,系统开发产生设计第四次迭代能够进行测试,35,Spiral Model,36,Spiral Model,螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动,即:制定计划确定软件目标,需求和选定实施方案,弄清项目开发的限制条件风险分析评估所选方案,考虑如何识别和消除风险实施工程实施软件开发,编码,测试等客户评估评价开发工作,提出修正建议,规划下期任务,37,螺旋模型的每次迭代都根据需求和约束进行风险分析,以权衡不同的选择,并且在确定某一特定选择之前,通过原型化验证可行性或期望度。当风险确认之后,项目经理必须决定如何消除或最小化风险。,38,Spiral Model适合的项目,风险是主要的制约因素不确定因素和风险限制了项目进度用户对自己的需求也不是很明确需要对一些基本的概念进行验证可能发生一些重大的变更项目规模很大项目中采用了新技术 实例,39,敏捷方法(Agile Software Development),目的:通过过程和工具理解个人和交流的作用;通过全面的文档理解运行的软件;通过合同和谈判得到客户的协作;在计划的执行中做出对变更的响应。极限编程(XP)水晶法(Crystal)并列争球法(Scrum)自适应软件开发(ASD),40,敏捷方法的4个特性,交流简单性勇气反馈,41,XP的12个实践操作,计划游戏小的发布隐喻简单设计测试驱动重构结对编程集体所有权持续集成在现场的客户代码标准,42,本讲核心,一、软件工程过程二、软件生存期模型三、软件开发方法四、软件工具与软件开发环境五、路线图,43,软件开发方法,软件开发的目标是要在规定的投资和时间内,开发出符合用户的需求,高质量的软件,为此需要有成功的开发方法。为了克服软件危机,从20世纪60年代末开始,一直在进行软件方法的研究与实践,提出了多种软件开发方法和技术,对软件产业的发展起着不可估量的作用。,44,软件开发方法可分为几大类:面向过程的开发方法(传统的)面向对象的开发方法 基于构件的开发方法,特别要注意:由于软件与程序是不同的概念,软件开发方法与程序设计方法是两个不同的概念。软件开发方法可以是针对局部的,也可以是针对全局的。软件工程方法,更加强调和重点研究的是需求分析与软件设计的开发方法。,45,面向过程的开发方法结构化开发方法、JACKSON方法、原型化开发方法、IDEF法等。面向对象的开发方法Coad/Yourdon方法、Booch方法、OMT方法以及UML等。,软件开发方法分类,46,结构化开发方法(Structured Developing Method)是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。结构化开发方法是一种面向数据流的开发方法,它的基本原则是功能的分解与抽象。结构化开发方法总的指导思想是自顶向下、逐步求精。,结构化开发方法,47,20世纪70年代初 结构化程序设计方法(Structured Program,SP)20世纪70年代中 结构化设计方法(Structured Design,SD)20世纪70年代末 结构化分析方法(Structured Analysis,SA)SA,SD,SP 法相互衔接,形成了一整套开发方法。若将SA,SD 法结合起来,又称为结构化分析与设计技术(SADT 技术)。,一、结构化开发方法的组成,48,二、结构化方法的工作模型,瀑布模型,49,但从20世纪80年代开始,逐渐发现其不足,软件开发过程是个充满回朔的过程。而瀑布模型将其分割为独立的几个阶段,不能从本质上反映软件开发过程本身的规律。此外,过分强调复审,并不能完全避免较为频繁的变动。尽管如此,瀑布模型仍然是开发软件产品的一个行之有效的工程模型。,50,JACKSON开发方法,结构化开发方法是面向数据流、数据封闭性的开发方法,JACKSON系统开发方法则是面向数据结构的开发方法。其基本思想是先建立输入输出的数据结构,再将其转换为软件结构。,51,JACKSON方法由JSP(Jackson structured Programming)和JSD(Jackson System Development)方法构成。,JSP法主要体现程序结构的设计,不严格区分软件概要设计和详细设计。JSD法是对JSP法的扩充,针对JSP法的缺陷而提出的解决方案。其主要特点是:用“分而治之”的策略控制系统的复杂性,解决I/O结构的冲突问题。,1JACKSON方法的构成,52,2JACKSON方法的设计过程,建立数据结构 JACKSON方法中数据结构通常表示为树型结构,有顺序、选择和循环三种基本结构。如图(a)所示,按照三种基本结构建立的文件数据结构。,以数据结构为基础,建立相应的程序结构图 如图(b),也称为JACKSON 图。当没有结构冲突时,转换过程是简单的。一般情况,数据结构与模块结构是相对应的,因此不难从数据结构导出程序结构。,数据结构转换为程序结构,53,一、原型化方法(Prototyping Method)原型是软件开发过程中软件的一个早期可运行的版本,它反映了最终系统的部分重要特性。,原型化开发方法,54,原型化方法的基本思想是花费少量代价建立一个可运行的系统,使用户及早获得学习的机会,原型化方法又称速成原型法(Rapid Prototyping)。强调的是软件开发人员与用户的不断交互,通过原型的演进不断适应用户任务改变的需求,将维护和修改阶段的工作尽早进行,使用户验收提前,从而使软件产品更加适用。,原型化方法的基本思想,55,1)快速建立需求规格原型(RSP 法)RSP(Rapid Specification Prototyping)法所建立的原型反映了系统的某些特征,让用户学习,有利于获得更加精确的需求说明书,待需求说明书一旦确定原型被废弃,后阶段的工作仍按照瀑布模型开发。,原型法分类,56,2)快速建立渐进原型(RCP 法)RCP(Rapid Cyclic Prototyping)法采用循环渐进的开发方式,对系统模型作连续精化,将系统需要具备的性质逐步添加上去,直至所有性质全部满足,此时的原型模型也就是最终的产品。速成原型法适合于开发“探索型”,“实验型”与“进化型”一类的软件系统。,原型法分类,57,快速原型法按以下步骤循环执行:1.快速分析 快速确定软件系统的基本要求,确定原型所要体现的特征(界面,总体结构,功能,性能)。2.构造原型 在快速分析的基础上,根据基本规格说明,忽略细节,只考虑主要特征,快速构造一个可运行的系统。有三类原型:用户界面原型、功能原型和性能原型。3.运行和评价原型 用户试用原型并与开发者之间频繁交流,发现问题,目的是验证原型的正确性。4.修改与改进 对原型进行修改、增删。,原型的工作模型,原型法工作模型,评价,构造,快速分析或修改,运 行,速成原型的工作模型是一个循环的模型。,58,构造原型,运行/评价原型,原型完成否,要细部说明否,严格说明细部,效果满意否,整理原型提供文档,修正改进原型,Y,Y,N,N,快速分析,确定初步规格说明,Y,N,细化的快速原型模型,细化的快速原型模型,59,OOSD(Object-Oriented Software Development)法是20世纪80年代推出的一种全新的软件开发方法。非常实用而强有力,被誉为20世纪90年代软件的核心技术之一。,面向对象的开发方法,其基本思想是:对问题领域进行自然分割,以更接近人类通常思维的方式建立问题领域的模型,以便对客观的信息实体进行结构和行为的模拟,从而使设计的软件更直接地表现问题的求解过程。面向对象的开发方法以对象作为最基本的元素,是分析和解决问题的核心。,60,一、面向对象开发方法的组成,OOSD由三部分组成:OOA(Object-Oriented Analysis)面向对象的分析 OOD(Object-Oriented Design)面向对象的设计 OOP(Object-Oriented Program)面向对象的程序设计,61,OOA,OOA,强调的是对一个系统中的对象特征和行为的定义。建立系统的三类模型。,OOD,OOD,OOD,与OOA密切配合,顺序实现对现实世界的进一步建模。,OOP,OOP,OOP,是面向对象的技术中发展最快的,使用面向对象的程序设计语言,进行编码。,62,二、OOA法 就是要解决“做什么”的问题。OOA 法的基本任务就是要建立三种模型:,状态模型(动态模型)描述任何时刻对象的联系及其联系的改变,即时序。常用状态图,事件追踪图描述。处理模型(函数模型)描述系统内部数据的传送处理。,显然,在三大模型中,最重要的是对象模型。如何建立三大模型。,对象模型(信息模型)定义构成系统的类和对象,它们的属性与操作。,63,三、OOD 法 在需求分析的基础上,进一步解决“如何做”的问题,OOD 法也分为概要设计和详细设计。概要设计:细化对象行为,添加新对象,认定类,组类库,确定外部接口及主要数据结构。详细设计:加细对象描述。,三、OOD 法,64,四、OOP 法 使用面向对象的程序设计语言,如C+进行程序设计。Coad和Yourdon给出一个面向对象的定义:面向对象=对象+类+继承+消息 如果一个软件系统是按照这样四个概念设计和实现的,则可以认为这个软件系统是面向对象的。,三、OOD 法,软件复用技术,“软件重用”或“软件复用”(Software Reuse)是指将已有的软件成分用于构造新的软件系统。该技术是提高软件生产率和质量,降低成本的有效方法。,复用方式复用程序 包括目标代码和源代码的复用,可通过连接(Link)、绑定(Binding)、包含(include)等功能支持及对象链接及嵌入(OLE)技术实现。,复用分析 比设计复用级别更高,实现方式与设计复用类似。,复用设计 设计结果比源程序的抽象级别高,因此复用受环境影响小。可以通过从现有系统中提取全部或者不同粒度的设计构件,或者独立于具体应用开发设计构件。,复用结构 复用模块结构或者数据结构。,66,可复用的构件 构件是指可以被明确标识的软件制品,可以是软件开发不同阶段的产品。可复用构件是指可被其它系统复用,用于构成新系统的构件。,可复用构件的特性:1.独立性 解决相对独立的问题,与外界联系尽量少。2.完整性 既要包括完整的解决方案,还定义相应操作。3.通用性 在同类应用中具有一般性。4.可标识性 通过合适的命名,构件所解决的问题是可标识的。5.可适应性 适应环境变化。6.可靠性 对各个使用它的系统都具有高的可靠性。,67,本讲核心,一、软件工程过程二、软件生存期模型三、软件开发方法四、软件工具与软件开发环境五、路线图,68,软件开发工具,为支持软件开发、维护、管理而研制的计算机程序系统称为软件工具。软件工具通常由工具、工具接口和工具用户接口3部分构成。工具通过工具接口与其他工具、操作系统或网络操作系统以及通信接口、环境信息库接口等进行交互作用,当工具需要与用户进行交互作用时,则通过工具的用户接口来进行。软件工具种类繁多,涉及面广,如编辑、编译、正文格式处理,静态分析、动态跟踪、需求分析、设计分析、测试、模拟和图形交互等。,69,在软件工程活动中,软件工程师和管理员按照软件工程的方法和原则,借助于计算机及其软件工具的帮助,开发、维护、管理软件产品的过程,称为计算机辅助软件工程(Computer-Aided Software Engineering,简称CASE)。,70,图稿绘制工具源码浏览的工具配置管理工具数据库建模工具UML建模工具Rose与PowerDesigner两款建模工具的对比,71,图稿绘制工具 Visio:它是最通用(MS的东西,意味着许多附带的通用的东西)的硬件、网络平台等图表设计软件。好处是易用性高,特别是对不善于自己构造图的人。但是正因为很全,所以某个方面上会造成专业程度较低。Smartdraw:提供你大堆模版,以目录树的形式放在左边。smartdraw本身是独立提供图稿绘制的工具,因而工具齐全。,常用CASE工具介绍,Go,72,VISIO的图只能以对象的方式插入你的主文档,只有在它本身环境下才能修改。有关工程管理类的显然不如PROJECT2000好用;画IDEF0图显然不如BPWIN好用;画IDEF1X图显然无法与ERWIN相比;画组织机构图WORD足够用了,且普遍适用;画网络拓扑结构图只要有相应的图素,用什么画都行;画有关图表类的显然不如EXCEL好用;,73,IDEFIDEF(ICAM DEFinition method)ICAM(Integrated Computer Aided Manufacturing),IDEF是用于描述企业内部运作的一套建模方法。IDEF是由美国空军发明,现在则根据知识基础系统开发的。它本来只是运用在制造业上的,经过改造后用途变广泛了,适用于一般的软件开发。从IDEF0到IDEF14(包括IDEF1X在内)共有16套方法,每套方法都是通过建模程序来获取某个特定类型的信息。IDEF方法是用于创建各种系统的图像表达、分析系统模块、创建系统的最佳版本和帮助不同系统之间的转换。,74,IDEF0:功能建模(Function Modeling)IDEF1:信息建模(Information Modeling)IDEF1X:数据建模(Data Modeling)IDEF2:仿真建模设计(Simulation Model Design)IDEF3:过程描述获取(Process Description Capture)IDEF4:面向对象设计(Object-Oriented Design),75,IDEF5:本体论描述获取(Ontology Description Capture)IDEF6:设计原理获取(Design Rationale Capture)IDEF7:信息系统审定(Information System Auditing)IDEF8:用户介面建模(User Interface Modeling),76,IDEF9:场景驱动信息系统设计(Scenario-Driven IS Design)IDEF10:实施体系结构建模(Implementation Architecture Modeling)IDEF11:信息制品建模(Information Artifact Modeling)IDEF12:组织建模(Organization Modeling)IDEF13:三模式映射设计(Three Schema Mapping Design)IDEF14:网络规划(Network Design),77,IDEF0之基本组件图,78,IDEF0之系统功能展开,79,SourceInsigt:整个面板分成三个部分.左边树提供工程内的所有变量,函数,宏定义,右边提供程序阅读和编辑,下边显示你鼠标在原码触及的函数或者变量定义.最让人佩服的是SourceInsigt不仅高亮你的关键字,而且以近乎完美的板面编排让你看程序如果看报纸,好极了。SourceInsigt提供函数交叉调用的分析,并以树状的形式显示调用关系。Dia:(),源码浏览的工具,80,SourceNavigator:这个是从Redhat Linux版本移植到win32下的,与SourceInsigt相比,样子土多了,处处透着Linux的乡土气息,不过是干实事的家伙。提供原码高亮显示和编辑,提供头文件的包含关系分析,提供类的层次关系,这个东西最大的特点是把原码始终和文件联系在一起,提供到文件的导航。,源码浏览的工具,81,Virsual Source Safe:微软的studio企业版包含的版本管理工具。该工具包括一服务器和一通过网络可以连接服务器的客户端。VSS提供了基本的认证安全和版本控制机制,包括 CheckIn(入库)、CheckOut(出库)、Branch(分支)、Label(标定)等功能;能够对文本,二进制,图形图象几乎任何类型的文件进行控制;提供历史版本对比;可以集成在studio中。VSS的客户端既可以连接服务器运行,也可以在本机运行,非常适合于个人程序开发的版本管理。,配置管理工具,82,PVCS:PVCS基于WEB的应用比较方便,只要设定用户和权限,规划好目录结构,项目组成员通过浏览器完成操作。ClearCase:ClearCase 是rational公司的主要配置管理工具,可能大家对Rose熟悉一点,不过就我所知,现在绝大多数企业已经从PVCS过渡到ClearCase来了,其原因在于ClearCase是整个rational产品系列中的中枢(repository).CVS:在linux和unix下系统自带的版本控制工具,是版本控制中工具的鼻祖,功能十分强大,但是都得通过命令行的形式来操作,不便使用。目前,Internet上提供了基于Windows的客户端,名字叫WinCVS,而且提供了原码。,83,ERWin:CA 公司出品的拳头产品,强大的老牌数据库建模工具。它有一个兄弟是BPWin,这个是CASE工具的一个里程碑似的产品。erwin支持idef1x即信息建模,就是我们常说的er图、实体关系图,也就是数据库结构图。bpwin支持idef0/idef3/dfd,是功能与流程建模,主要用来描述企业的业务流程,比uml的usecase/sequence更适合描述复杂逻辑。如果要全过程支持,请选择bpwin+PowerDesigner7.5/8 or erwin4+rational rose 2001(建议用于50200个table的信息系统),数据库建模工具,84,MS Visio:Case Studio:性价比最高ER/Studio:很不错的数据库建模工具新势力,非常不错.结合Repository,可进行VSS式的版本控制。erwin能做到的它都能做到 ModelmakeDeZign for Databases:如果你是软件工程师或是软件产品经理等常常需要规划系统的话,势必会需要规划数据库的Table Schema。这套软件能够辅助你的规划,将各个Table之间Key的关连性表达出来,也提供有资料库栏位异动时的版本控制纪录与统计报表等功能。Rational Rose,85,PowerDesign:Sybase推出的主打数据库设计工具。PowerDesign致力于采用基于 Entiry-Relation的数据模型,分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。,86,Rational Rose:大恐龙,小项目中难以使用,虽然是 UML 设计者做的。Rose 2002功能上可以完成UML的9种标准建模,即静态建模(用例图 类图 对象图 组件图 配置图)和动态建模(合作图 序列图 状态转移图 活动图),为了使静态建模可以直接作用于代码,Rose提供了类设计到多种程序语言代码自动产生的插件同时,作为一款优秀的分析和设计工具,Rose具有强大的正向和逆向工程能力。,UML建模工具,87,XDE,分别有4 和4 wsda的,很不错,值得使用.Borland Together:有很多版本,其中4VS.Net不推荐使用,用Jbuilder推荐使用,MS Visio 2003 for Visual Studio:Visio Professional 2000开始提供内建的UML支持。和结合不错,只是仅限于 VS.NET 的代码生成。,88,PowerDesigner:是简练实用的建模工具、6.0支持数据流图,8.0支持UML的UseCase/sequence/class视图;Visual Paradigm:()目前最合适也是最火的软件了(从这一年来网站的设计变化就可以看出来好卖),强大,非 Java.Community Edition 可以免费使用,当然有功能限制.是一种UML建模和分析工具,出色的建模功能和代码同步。WithClass 2000:()界面不是很好看,而且也没有免费版本,不过功能还不错,特别是代码生成的能力.Poseidon(海神.):也是 Java 的,很漂亮,就是太慢。,89,Jude:一个号称中日xp合作开发出来的小uml工具,只有几m的大小,功能也还不错。也是java做的,速度还是很快的。如果不需要使用逆向工程之类的高级功能的话,强烈推荐这个uml工具,并且它是免费的。MagicDraw:一个基于Java的廉价UML建模工具。Objecteering UML:一个免费的个人UML产品。System Architect:一个很受欢迎的高端UML建模工具,支持双向工程(Round-trip Engineering)。,90,Rose与PowerDesigner两款建模工具的对比,二者的出身 作为世界最著名的两大CASE工具,Rational Rose和PowerDesigner的名声可谓如雷贯耳。Rose是当时全球最大的CASE工具提供商Rational的拳头产品,UML建模语言就是由Rational公司的三位巨头Booch、Rumbaugh和Jacobson发明的,后来Rational被IBM收购,所以Rose可谓出身名门,嫁入豪族。,91,二者的出身而PowerDesigner也有一段好玩的历史,作者王晓昀是一位中国人,在法国SDP软件公司工作时,由于苦觅一个好用的CASE工具未果,干脆自由开搞,整了个AMC Designor出来,居然一炮打响,在法国卖得个“巴黎纸贵”,后来SDP被Powersoft公司收购,同年Sybase这只大黄雀又吃下了Powersoft这只螳螂,所以PowerDesigner也是惊艳出场,星光四射。,Rose与PowerDesigner两款建模工具的对比,92,明星路线不同,Rose出道是时,走的是UML面向对象建模,而后再向数据库建模发展,而PowerDesigner则反其道而行之,它先是一个纯粹的数据库建模工具,后来才向面向对象建模,业务逻辑建模及需求分析建模进军,最终变成“演视歌三栖”明星。,93,Rose走大而全,一站式的策略,它没有将数据库设计和面向对象设计清晰地分开,仅以不同的目录来区分。而PowerDesigner将两者划分到独立的模型文件中,分别对应不同的设计环境,并通过模型之间的转换工具建立各模型的关联。即使对于数据库设计模型,PowerDesigner也需要你选择一个具体的数据库产品及其版本,以便工作环境对具体数据库敏感。,94,所以Rose显得大而化之,而PowerDesigner则比较精细和一体化。Rose的逆向工程,文档输出,代码生成等输入输出功能上表现得比较生硬单调,PowerDesigner在逆向工程,特别是文档输出和代码生成这些功能上提供了精细的控制,让用户拥有高度的自由度。,95,Rose在操作体验上存在很多需要改进的地方,Rose偏向于让用户用鼠标进行操作,对键盘操作支持不好。而PowerDesigner在用户体验上得分很高,大部分操作都可以通过键盘完成,在充分熟悉其快捷键的前提下,PowerDesigner将给设计者一种行云流水的感觉,用户交互上更加人性化。此外,Rose往往占用更多的资源,容易异常退出,PowerDesigner则显得轻便稳定。所以,我个人对两者的体验就是“Rose笨拙,PD利索”。,96,简化了软件的管理和维护;加速了系统的开发过程;使开发者从繁杂的分析设计图表和程序编写工作中解放出来;使软件的各部分能重复使用;产生出统一的标准化的系统文档;使软件开发的速度加快而且功能进一步完善。,3.CASE的特点,97,本讲核心,一、软件工程过程二、软件生存期模型三、软件开发方法四、软件工具与软件开发环境五、路线图,98,RoadMap,作业练习,安装MS-VISIO,练习绘制roadMap安装PowerDesiner,练习创建概念模型,描述学校,班级,课程,教师,学生的属性和关系。,

    注意事项

    本文(《软件工程概述》PPT课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开