您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程专题讲座现代篇
1现代篇第七章面向对象开发方法及过程1.UnifiedModelingLanguage(UML)UML简介UML静态建模机制UML动态建模机制UML应用2.RationalUnifiedProcess(RUP)27.1.1UML简介•Booch-93、Rumbaugh的OMT、Jacobson的OOSE的统一,集成了各自的优点。•1999年11月17日,OMG采纳UML1.1作为基于面向对象技术的标准建模语言。•好处:UML统一面向对象建模认识,以免用户混淆;UML已经应用到不同的建模领域,根植于UML的项目可以拓展系统的适用范围。37.1.1UML简介•UML定义包括UML语义和UML表示法。语义是基于UML的元模型。表示法是元模型的实例。•UML包括5类(9个)图形:1.用例图(UseCase):从用户角度描述系统功能,并指明功能的操作者。2.静态图(staticdiagram),包括类图、对象图和包图。3.行为图(behaviordiagram),包括状态图和活动图。4.交互图(interactivediagram),包括顺序图和合作图。5.实现图(implementationdiagram),包括部件图和配置图。47.1.2UML静态建模机制•用于描述系统需求,并建立系统的静态模型。1.包(package)图:拆分系统一种方法。2.部件(component)图和配置(deployment)图:显示系统实现时的一些特性。3.UseCase图:actor和usecase4.类和对象图:概念层描述应用域类、说明层描述类的接口、实现层描述类的实现。57.1.3UML动态建模机制•用于描述系统的行为,并建立系统的动态模型。1.顺序(sequence)图和合作(collaboration)图:前者描述对象之间消息传递的时间顺序,后者描述相互合作对象间的交互和链接关系。2.状态(state)图:描述对象状态的变化过程。3.活动(activity)图:描述工作流和并行过程。可以针对类的操作、用例和内部对象的行为。67.1.3UML动态建模机制•动态建模UML图形的应用限制:1.只针对重要的类画状态图,状态图描述跨越多个用例的单个对象的行为。2.顺序图和合作图描述单个用例中多个对象的交互行为。适用于用例中简单行为的描述,行为复杂时将失去清晰性。3.活动图可以用于描述单个用例的复杂行为,并不严格区分对象,也可以用于描述对象操作。77.1.4UML应用•应用范围:以面向对象图的方式建立软件系统的模型,也可以描述非软件领域的系统。即:可以对任何具有静态结构和动态行为的系统进行建模。•UML适用于系统开发过程中从需求规约到测试的不同阶段:需求获取:用例图、活动图需求分析:类图、对象图和包图系统分析与设计:状态图、顺序图、合作图、活动图、部件图和配置图。测试:单元测试用类图、集成测试用部件图和合作图、确认测试用用例图等。87.2RationalUnifiedProcess•UML是一种建模语言,而不是一种方法,方法的一个重要组成部分是对过程的定义。•RUP是一种建模过程,1998年正是颁布。1.RUP的关键实践2.RUP的二维结构3.RUP的静态结构4.RUP的核心工作流97.2RationalUnifiedProcess107.2.1RUP的关键实践•迭代的开发软件:渐进和反复的过程•需求管理:用例和场景、需求跟踪•使用基于构件的体系结构•可视化软件建模:UML•验证软件质量•控制软件变更117.2.2RUP的二维结构127.2.2RUP的二维结构•Phase:Inception(初始阶段)、Elaboration(细化阶段)、Construction(构造阶段)、Transition(交付阶段)。阶段间产生里程碑(Milestone)。1.初始阶段:确定项目的边界,考虑项目的商业属性(BusinessCase),如:风险、资源、进度、规模等的估计。2.细化阶段:详细理解问题领域,建立系统体系结构基础(用例模型、域模型、技术平台),编制项目计划(用例划分、迭代周期、用例分配),淘汰项目中最高风险的元素。137.2.2RUP的二维结构3.构造阶段:通过一系列迭代过程开发构件和应用程序功能,并将其集成为产品。所有的功能被详尽的测试。迭代开发是增量式和重复进行的。4.交付阶段:将软件产品交付给用户。不能在开发新的功能,集中精力于纠错工作。产品的β版本到最终版本之间的这段时间是典型的移交阶段。147.2.3RUP的静态结构•RUP开发过程定义“谁”于“何时”“如何”做“某事”。•开发过程中的四种建模元素:角色(workers)、活动(activities)、产物(artifacts)、工作流(workflows)1.角色:定义了个人或由若干人所组成小组的行为和责任。责任既可以是完成某些活动,也可以拥有某些产物。2.活动:是角色中个体要求执行的工作单元。3.产物:是被产生的、修改的或为过程所使用的一段信息。4.工作流:是产生具有可以观察结果的活动序列。157.2.3RUP的静态结构167.2.4RUP核心工作流17现代篇第八章软件复用技术1.设计模式(DesignPattern)2.框架(Frame)3.过程模式(ProcessPattern)188.1设计模式•模式(pattern):是用来描述做某类事情所具有的一些共性特征的技术。•设计模式:通过收集在设计中经常反复用到的构件,经过整理加工后,将其共性部分构造成一些具有一定通用性的模板,使其可被重用。如:代理设计模式。•设计模式的组成:设计模式使用的场景和解决的问题;设计模式的基本元素及其相互关系;应用设计模式后的结果和权衡。198.2框架•框架:指在一个特定的领域中的一组相互协作的类,它规定了应用系统的总体结构,定义了类的划分以及类的关键责任,定义了类间的协作,还定义了控制线程。•框架只是预先定义了上述设计参数。•框架更强调设计复用而不仅是代码复用。•示例:可用框架建立不同应用领域的图形编辑器。208.3过程模式•过程是一系列将输入转换为输出的活动组成。•过程模式:是面向对象软件开发过程中的一般技术、活动和任务的集合。•过程模式指出应该做什么,并不表明如何做。•过程模式的类型:1.PhaseProcessPattern2.StageProcessPattern3.TaskProcessPattern218.3.1TaskProcessPattern•描述执行执行一特定任务的具体步骤。228.3.2StageProcessPattern•描述项目不同生命时期内应该完成的一系列任务。该模式经常被迭代使用。238.3.3PhaseProcessPattern•描述项目阶段内不同时期过程间的交互。如:初始阶段、交付阶段。经常是线性的。2425现代篇第九章分布式部件技术1.网络计算2.基于部件的技术3.部件模型4.互操作性5.部件对象技术的发展现状6.部件对象技术的发展趋势269.1网络计算•群体生产率、系统间灵活互连、系统适应性等非功能性要求越来越突出,导致网络计算模型的出现。•网络计算使得应用软件的功能、性能、规模和复杂性提高,同时,对系统间互操作性提出较高的要求。•不同网络、不同操作平台、不同应用软件层次之间的集成在分布式处理中成为重要的问题。•应用的复杂性对软件复用要求进一步提高。279.1网络计算•分布式计算的四种形式:客户:需要服务资源的计算实体服务器:响应客户请求的资源实体对等体:可以产生和响应请求的实体过滤器:传输请求和响应并对之进行修改,经常在客户服务器系统中作为中介。289.2基于部件的技术•软件复用和集成推动了部件技术的发展。•软件部件:是指在软件系统设计中能够重复使用的建筑模块。它包装了一系列互相关联的操作和服务。•部件既可以在设计时使用或进行修改,也可以在执行二进制模块时使用或者修改。•部件技术的基本思想:创建和利用可复用的软部件来解决应用软件的开发问题。•软件部件要解决两个主要的问题:功能复用、互操作性(部件协调和通信)。299.3部件模型•部件模型由部件和容器(container)构成。•部件通过接口向外提供功能入口,接口是部件内一组功能的集合。外界通过接口引用或指针来调用部件内的功能。•容器是用来存放相关部件的,可以安排部件、实现部件间的交互。容器形式多种多样,如form、page、frame等。309.4互操作性•分布式计算实体间的异构复用必须解决互操作性问题。•互操作性:指两个或多个软件部件合作的能力。•解决互操作性的部件接口技术:标准化接口(客户部件和服务部件都变换成共同的格式)、接口桥(处理n个部件间协同工作所需的交互)。•国际上将兼容异种成分的分布式处理称为ODP,包括:存取透明、失败透明、位置透明、迁移透明、持久性透明、重定位透明、复制透明、提交透明。319.5部件对象技术的发展现状•ODP使得部件的构造不是随意的,必须研究部件的特点、部件的软件体系结构、部件间的接口方式。•部件接口标准:CILabs的OpenDoc、微软的OLE/COM。•部件对象技术:OMG的CORBA、微软的COM/DCOM/OLE/ActiveX、SUN的JavaBeans。329.6部件对象技术的发展趋势•同时存在几种部件技术。标准化接口标准CORBA和DCOM并存。•标准化接口问题得到极大重视。•其它解决部件互操作性问题的技术相继出现。如SUN的JavaBean和协议等跨平台语言直接解决互操作性问题。•互操作性不是一个固定的特征,应标志其交互能力的程度。(不同层次的互操作性)
本文标题:软件工程专题讲座现代篇
链接地址:https://www.777doc.com/doc-2011288 .html