




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
--应用UML和模式面向对象分析与设计导论第一局部绪论面向对象的分析与设计开发过程导论定义模型和制品第1章面向对象的分析与设计目标: 1〕比较和比照分析与设计的异同 2〕面向对象的分析与设计的定义 3〕面向对象的分析与设计和组织一个企业的类比第1章面向对象的分析与设计运用UML、模式和面向对象的分析与设计技术职责分配什么是分析与设计什么是面向对象的分析与设计类比——组织MicroChaos公司的业务面向对象的分析与设计的例子面向对象的与面向功能的分析与设计统一建模语言运用UML、模式和面向对象的分析与设计技术UML代表统一建模语言(UnifiedModelingLanguage),是使用面向对象概念进行系统建模的图形化表示法。本课程将学习UML表示法,并将其应用于学习案例中模式(Pattern)*是一组原那么和规那么——能够编成典型设计原那么的已命名的问题解决程式。系统设计的关键问题:如何将职责分配给对象所在的类?对象之间怎样进行信息的交互?以及每一个类具体应该做什么?开发过程(DevelopmentProcess):描述可能的活动序列和一个软件的生命周期。从需求分析到系统实现可能存在许多需要进行的活动,开发人员或开发小组应该怎样进行这些活动呢?职责分配-分析和设计过程的重要活动为软件构件分配职责 在分析和设计中可能要经历许多活动,在每个活动中会得到相应的制品,并要遵循大量的准那么和原那么。但最重要的技巧是: 在面向对象分析与设计中最重要的能力是能够熟练地为软件构件分配职责 因为分配职责是必须要完成的一项活动,并且它最深刻地影响着软件构件的健壮性、易维护性和可重用性。 本书给出9个用于职责分配的根本原那么,将其编进GRASP模式。进行抽象,即发现适宜的对象 两者都很重要,但前者更难于掌握。什么是分析与设计分析(Analysis):要创立一个系统,需要对问题和需求进行描述。问题是什么以及系统必须做什么。它强调对问题的调查而不是如何确定解决方案。例如,如果要开发一个图书馆信息管理系统,这个系统的业务过程是什么?这是一个分析问题。设计Design):对系统如何满足需求和约束进行高层描述和具体说明。它强调问题的逻辑解决方案,即系统怎样才能满足需求。例如,图书馆信息系统能够多大程度地精确地捕获和记录书的借出情况?这是一个设计问题。设计最终可以用硬件和软件来实现什么是面向对象的分析与设计面向对象的分析与设计(Object-OrientedAnalysisandDesign):按照对象〔事物、概念、实体〕的观点考虑问题域和逻辑解决方案面向对象分析:发现并描述问题域中的对象或概念。例如,在图书馆信息系统的例子中,包括书、图书馆等概念面向对象设计:定义能最终用面向对象程序设计语言实现的逻辑软件对象。例如,书这个软件对象具有题目属性和打印方法构造(Construction)或面向对象程序设计:实现所设计的构件。例如用C++/Java/Smalltalk/VB编写一个Book类什么是面向对象的分析与设计分析设计构造问题的调查逻辑解决方案编码开发过程中各活动的含义例子:分析-设计-构造用面向对象的程序设计语言表示领域概念分析过程中概念的表示titleBookPublicclassBook{publicvoidprint();privateStringtitle;}面向对象的思想强调对象的表示类比—组织
MicroChaos公司的业务业务过程:保证企业运转所要做的事情,如销售、发薪水、还债、开发软件等。类似于需求分析(requirementsanalysis)。描述方法为用况(usecase),它是对企业或系统内过程的文字化描述: 用况:订货 描述:起始于顾客打给销售代表要求购置Microbutterfly,然后销售代表用订单记录顾客和所要购置的商品信息。 使用用况来标识并记录过程信息实际上并不是面向对象分析与设计过程中的一项活动,因为它没有以对象观点为中心。但它仍然是面向对象分析与设计方法学中非常重要和广为采用的重要步骤。用况也是UML的一局部。类比—组织
MicroChaos公司的业务角色:识别活动中所涉及各类人的角色,如顾客、销售代表、软件工程师等。类似于面向对象的领域分析(object-orienteddomainanalysis)。可用概念模型(conceptualmodel)进行描述,但它展示了领域中各个事物的分类,不仅仅是人的角色。职责分配(responsibilityassignment):为系统中的软件对象指派任务和职责,软件对象要进行协作或交互。例如,当你和雇员共事的时候,为了满足一个过程的需要,雇员必须完成一定的任务,那么就要给他们分配职责,还要确定人们如何协作或如何共同分担工作职责分配和对象之间的交互用设计类图(designclassdiagram)和协作图(collaborationdiagram)来展示,协作图显示了类的定义和软件对象之间的消息流动类比—组织
MicroChaos公司的业务业务类比面向对象分析与设计相关文档什么是业务流程?需求分析用况图雇员的角色是什么?域分析概念模型谁负责什么?如何交互?职责分配与交互设计设计类图、协作图面向对象的分析与设计的例子定义用况:理解需求包括理解领域过程和外部环境——参与过程的外部参与者。这些领域过程可以通过用况〔Usecase〕来表示——即用结构化的文本格式对领域过程进行描述。 用况:Playagame〔进行游戏〕 参与者:Player〔游戏者〕 描述:起始于游戏者拾起骰子,并投掷骰子。如果总点数是7,游戏者赢,否那么输。定义概念模型定义用况描述系统需求时的步骤定义协作图定义设计类图面向对象的分析与设计的例子定义概念模型:问题域的分解要涉及对该问题域重要的概念、属性和关系等的识别。---概念模型不是对软件构造的描述,它表达了真实世界中问题域的概念。PlayernameDiefacevalueDiceGameIncludes12Plays1112Rolls掷骰子游戏的概念模型面向对象的分析与设计的例子定义协作图:显示了实例和方法调用之间的消息流:游戏者:d1:骰子play()1:r1:=roll():d2:骰子2:r2:=roll()展示软件对象之间消息传递的协作图面向对象的分析与设计的例子定义设计类图:需要答复对象如何与其他对象连接?类中方法是什么?只描述软件构件,不考虑实际运作概念。游戏者play()roll()掷骰子游戏包含12做游戏1112滚动姓名骰子点数initialize()软件构件的设计类图面向对象的分析与设计的例子总结 1〕定义用况 2〕定义概念模型 3〕定义协作图 4〕定义设计类图面向对象的与面向
功能的分析与设计分解是处理复杂性的主要策略——将问题分解成易于管理控制的单元。结构化分析和设计对问题的分解尺度主要是依据功能或过程。而面向对象的分析与设计强调以对象为尺度。分析与设计的界限是模糊的,在分析阶段重点理解问题,而将系统解决方案、系统性能等推迟解决。更多地面向分析更多地面向设计什么?需求?领域调查?如何?逻辑解决方案?分析与活动共存于一个连续体上面向对象的与面向
功能的分析与设计图书馆信息管理系统面向对象的与面向功能的问题分解按照对象或概念进行分解按照功能或过程分解结构化的分析设计面向对象的分析设计CatalogLibrarianBookLibrarySystemRecordLoansAddResourcesReportFines统一建模语言UML是“描述、可视化以及构造软件系统制品的一种语言”。它是一个表示法系统,着眼于使用面向对象的概念进行系统建模。UML是OMG(ObjectManagementGroup)所接受的标准,在CASE〔计算机辅助软件工程〕领域得到认同,参见。对如何进行分析与设计不提供指导,也不对开发过程的活动顺序提供指导,而只是一们建模语言。第2章开发过程导论目标
介绍一个从需求分析到系统实现的简单开发过程第2章开发过程导论导言UML和开发过程高层步骤迭代开发方案和细化阶段构造阶段—开发周期选择创立制品的时机导言软件开发过程〔SoftwareDevelopmentProcess〕是软件系统的创立、提交和维护等相关活动的组织方法。UML没有定义一个标准的过程。UML的作者也成认健壮的建模语言和开发过程两者都很重要。但过程的标准化已经超出了UML的定义范围。推荐的开发过程和模型RPM(RecommendedProcessandModel):采用迭代式的、增量的、用况驱动的开发方法。开发人员能够获得如何创立一个好的设计的技能以及各个开发组织能够支持和培育使用这种技能,远比遵循规定的开发过程或者开发方法重要。这种技能源自掌握一套理论原那么,以及识别和抽取适当的对象并将职责分配给这些对象。软件过程中的一些根本过程在此被忽略,如构思、工程方案、并行小组之间的交互、技术支持、培训、工程管理、文档的生成与管理和软件测试等过程。导言Martin-OdellFusionOOSEBoochOMTUML职责驱动的设计推荐的过程与模型(RPM)对RPM产生影响的方法UML和开发过程UML对制品(artifact)和表示法进行了标准化,但没有定义一个标准的开发过程,原因是: 1〕尽量使建模表示法更广泛地被采纳而不受标准的开发过程的约束. 2〕一个适宜的开发过程所包含的活动具有很大可变性,取决于人的技能、研究与开发的比率、问题的性质与工具等.高层步骤提交应用系统应包括以下阶段: 1〕方案和细化(PlanandElaborate)——制订方案、定义需求、创立原型 2〕构造(Build)——进行系统的构建 3〕实施(Deploy)——最终实现系统并投入使用方案和细化构造实施开发过程中的高层步骤迭代开发迭代开发的生命周期是基于对一个系统进行连续的扩充和精化,需要经历假设干个开发周期,每个周期都需要经历分析、设计、实现和测试阶段。每个开发周期只针比照较小的一局部需求。经典的瀑布模型的生命周期针对完整的系统需求进行每一项活动,且只进行一次。迭代开发的优点是: 1〕不会因为开发过程太复杂而使人无从下手; 2〕在开发周期的早期就能够得到反响信息,因为每个周期只快速实现系统的一小局部。迭代开发时间盒:每个开发周期的时间限定,一般为两周到两月计划和细化构造实施开发周期1开发周期2…构造测试分析设计同步制品精化计划两周——两月确定开发周期的时间盒迭代开发用况和迭代开发周期:用况是对一个领域过程的描述,如Borrowbooksfromalibrary。迭代开发周期是通过用况需求来组织的。一个开发周期的任务是实现一个或者多个用况,或者用况的简化版本。划分用况的层次:划分的策略是首先从问题领域和高层效劳中抽取对系统核心体系结构影响最大的用况及具有高风险的关键用况。方案和细化阶段方案:时间进度表、资源规划、预算等。初步调查报告:目标、选择、业务需求。需求规格说明:关于需求的声明型陈述。术语表:一个术语字典和相关信息,如约束和规那么。原型:用于对问题、高风险因素和需求的辅助理解。用况:对领域过程的文字描述。用况图:展示所有的用况和用况之间的关系。概念模型草案:用来理解领域中的词汇,特别是与用况和需求说明有关的词汇。方案和细化阶段1定义计划草案2编制初步调查报告3定义需求4在术语表中记录术语a5实现原型b,d6定义用况(高层用况和基本用况)7定义概念模型草案c8定义系统体系结构草案a,c,d9精化计划注解:a持续进行,b可选,c可以拖后,d顺序可变方案和细化阶段中的活动样例方案和细化阶段制品的创立顺序: 尽管向导图说明了制品创立的一个线性顺序,但实际中并不全是这样。例如制品可以并行创立。这种情况对概念模型、术语表、用况图特别适用。各制品是相互影响的。构造阶段——开发周期构造阶段包括一系列重复的开发周期,而每个开发周期都对系统进行扩展,构造阶段的最后目标是得到能够正确符合需求的软件系统。一个开发周期中制品的创立顺序并不严格,如概念模型和术语表可以并行创立,交互图和设计类图也可以并行创立。构造阶段——开发周期1定义根本用况a2精化用况图3精化概念模型4精化术语表b5定义系统顺序图6定义操作契约7定义状态图c注解:a以前未做而现在要做,b要持续进行,c可选构造测试分析设计同步制品精化计划分析阶段中的活动样例构造阶段——开发周期构造测试分析设计同步制品精化计划1定义真实用况2定义报告、用户界面和记事本3精化系统体系结构b4定义交互图5定义设计类图a注解:a与交互图并行,b顺序可变6定义数据库模式构造阶段中的活动样例选择创立制品的时机何时创立概念模型:概念模型(Conceptualmodel)代表了问题域中的概念或对象。一个好的策略是快速建立一个粗略的概念模型,重点找出需求文档中出现的明显概念。然后在每个开发周期中,针对所要处理的需求逐步细化和扩展此概念模型。何时创立扩展用况:高层用况(High-levelusecase〕通常是对一个过程的简洁〔三两句话〕描述。而扩展用况(Expandedusecase)是长篇〔可能包含几百句话〕表达。策略是在方案和细化阶段,要创立所有的高层用况,但只对最关键和最重要的用况采用扩展格式重新进行描述,而将其它用况的扩展描述推迟到处理这些用况的开发周期中进行。第3章定义模型和制品目标 1〕定义分析和设计模型 2〕说明分析和设计制品之间的依赖关系
第3章定义模型和制品导言建模系统样例模型制品之间的关系导言介绍面向对象分析与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 思想政治教育实践教学800字
- 医学研究教育与实践杂志
- 大学毕业生就业数据
- 天猫装修培训课件
- 肿瘤化疗药物配置
- 中小学教育管理体系构建
- 肿瘤合并糖尿病患者的护理
- 胰腺炎的中医治疗护理
- 消化内科专科用药规范与实践
- 中医护理的疑难病例讨论
- 优秀物业管理项目评选方案
- 贵州大方富民村镇银行股份有限公司(筹)招聘上岸提分题库3套【500题带答案含详解】
- GB/T 5470-2008塑料冲击法脆化温度的测定
- GB/T 40998-2021变性淀粉中羟丙基含量的测定分光光度法
- 图书管理系统毕业论文参考文献精选,参考文献
- 中国当代旧体诗选读幻灯片
- 吉林省全省市县乡镇卫生院街道社区卫生服务中心基本公共卫生服务医疗机构信息名单目录995家
- 倔强的小红军-精讲版课件
- 信息隐藏与数字水印课件(全)全书教学教程完整版电子教案最全幻灯片
- 公开招聘社区居委专职工作人员考试笔试、面试题集及相关知识(11套试题含答案)
- 中职数学基础模块下册《等差数列》ppt说课稿
评论
0/150
提交评论