当前位置: 首页 > news >正文

白云区pc端网站建设深圳画册公司

白云区pc端网站建设,深圳画册公司,wordpress 背景色,长沙发布致全体使用的书籍#xff1a;UML和模式应用#xff08;原书第三版#xff09; 软件分析设计与建模期末复习 注意#xff0c;没有出现的章节多半是无关紧要的#xff08;对于很着急的同学#xff09; 急速通过复习核心概念#xff0c;冲冲冲#xff01; 注意在里面写到但是没…使用的书籍UML和模式应用原书第三版 软件分析设计与建模期末复习 注意没有出现的章节多半是无关紧要的对于很着急的同学 急速通过复习核心概念冲冲冲 注意在里面写到但是没有出现的图例如包图等等都是重点建议翻开书多看看会要求画 目录 CH1面向对象分析和设计 CH2 迭代、进化和敏捷Iterative, Evolutionary, and Agile CH5 进化式需求 CH6 用例Use - case知识梳理 CH7--CH9 CH7 其他需求 CH8 迭代——基础 CH9 领域domain模型 CH10-CH12 内容整理 一、CH10 系统顺序图SSD 二、CH11 操作契约Contracts 三、CH12 从需求到设计——迭代进化 CH13、CH15-CH16 内容整理 一、CH13 逻辑架构Logical ArchitectureLA和 UML 包图 二、CH15 UML 交互Interaction图 三、CH16 UML 类图 CH17 GRASP基于职责设计对象知识梳理 一、创建者Creator 二、信息专家Information Expert 三、低耦合Low Coupling 四、控制器Controller 五、高内聚High Cohesion 六、多态性Polymorphismx 七、纯虚构Pure Fabrication 八、间接性Indirection 九、防止变异Protected Variations CH18-CH20 内容整理 一、CH18 用例实现与 UML 状态机图 二、CH19 对可见性Visibility进行设计 三、CH20 设计到代码design - to - code CH21 重构Refactoring CH26 GoF设计模式梳理迭代2 一、适配器Adapter 二、工厂Factory 三、单实例类Singleton 四、策略Strategy 五、组合Composition 六、外观Facade 七、观察者Observer 一、CH39 N 1 view model迭代3 额外补充 CH1面向对象分析和设计 一、分析与设计 一分析 定义对问题和需求的调查研究包含要点Analysis include these points Focus on understanding the problem聚焦理解问题Idealized design理想化设计Behavior行为System structure系统结构Functional requirements功能需求A small model一个小模型 二设计 定义解决方案包含要点While Design include the following points Focus on understanding the solution聚焦理解解决方案Operations and attributes操作与属性Performance性能Close to real code贴近实际代码Object lifecycles对象生命周期Implementation requirements实现需求 二、面向对象分析与设计 一面向对象分析OOA 关键任务发现和描述对象工作内容 Analysis define a candidate architecture, perform architectural synthesis, and analyze behavior.分析定义候选架构执行架构综合并分析行为 定义软件对象及它们如何协作以实现需求 二面向对象设计OOD 关键任务定义软件对象及协作工作内容Design refine the architecture, define components, and design the database.设计细化架构定义组件并设计数据库 三、UML 相关 一什么是 UML 定义统一建模语言是描述、构造和文档化系统制品的可视化语言 四、建模model的意义 一为什么要建模 Helps us to visualize a system.帮助我们可视化我们的系统 Permits us to specify the structure or behavior of a system.允许我们制定系统的结构和行为 Gives us a template that guides us in constructing a system.给我们了一个构造系统的模板 Documents the decisions we have made.记录了我们所下的决定 五、对象相关概念 一对象 定义是一个具有明确界限并封装了状态和行为的统一体 二状态 包含属性、关联 三行为 包含操作函数、方法、状态机 CH2 迭代、进化和敏捷Iterative, Evolutionary, and Agile 一、RUPRational Unified Process统一过程 一什么是 UP UP 是迭代Iterative过程优点 UP 实践practices提供了如何实施 OOA/D 的示范结构UP 具有灵活性可应用于轻量级lightweight和敏捷Agile方法 二什么不是 UP 瀑布生命周期Waterfall Lifecycle试图在编程之前定义所有或大部分需求Freeze requirements at the start of a project to provide stability项目开始时冻结需求以提供稳定性 三迭代Iterative 开发被组织成一系列固定的「短期」小项目迭代和增量/进化式开发Iterative and incremental/evolutionary development随着一次次迭代的递进系统增量式地发展 二、UP 四阶段 一初始Inception 不是需求分析而是可行性分析预见项目的范围、设想和业务案例approximate vision, business case, scope, vague estimates 时长一周之内 二细化Elaboration 不是需求分析或设计过程而是迭代式实现核心体系结构缓解高风险问题内容refined vision, iterative implementation of the core architecture, resolution of high risks, identification of most requirements and scope, more realistic estimates. 直到迭代的结束点 三构造Construction 实现遗留下来的风险较低和比较容易的元素准备部署内容iterative implementation of the remaining lower risk and easier elements, and preparation for deployment. 四移交Transition 测试、部署 三、UP 六最佳实践 迭代开发Develop Iteratively需求管理Manage Requirements基于构件的体系结构Use Component Architectures可视化软件建模Model Visually (UML)验证软件质量Continuously Verify Quality控制软件变更Manage Change 四、UP 的科目discipline 一组成 活动 制品artifact 二部分科目 业务建模Business Modeling领域模型 不是软件类是一个对象对应着现实生活中的某个实体或者对象需求 用例模型设想glossary补充性规格说明Supplementary Specification词汇表Glossary 设计 设计模型软件架构文档数据模型 实现实现模型 三与迭代的关系 一次迭代会跨越大部分或全部科目早期的迭代有更多的需求、设计 CH5 进化式需求 CH6 用例Use - case知识梳理 一、基础定义与术语 一定义 用例是文本形式的情节描述由一组相关的成功和失败场景集合构成 用于描述 actor参与者使用系统某项功能时所进行的交互过程的文字序列。 二关键术语 参与者Actor与系统交互的外部实体如用户、其他系统等 。场景Scenario用例的实例聚焦参与者与系统间一系列特定活动和交互Interactions 。用例模型所有书面用例的集合是对系统功能性和环境的建模。 二、用例的表示法 表示法 一摘要与非正式格式 摘要 非正式 二详述 范围[Scope]明确用例所属的系统边界或模块。级别[Level]分为用户目标级、子功能级定义用例粒度。主要参与者[Primary Actor]核心交互的参与者驱动用例执行 。涉众及其关注点[Stakeholders and Interests]列出关注该用例的角色及他们的需求/利益点。前置条件[Preconditions]用例执行前需满足的条件。成功保证[Success Guarantee]后置条件 用例执行成功后系统需达成的状态。主成功场景 理想的成功场景场景记录的三种步骤 参与者之间的交互确认过程通常由系统来完成系统完成的状态变更 三 扩展Extensions 处理主成功场景的分支逻辑包含 扩展条件主流程中可能触发分支的条件如“大多数步骤都可能发生的扩展条件” 。 序号标记扩展分支通过序号关联主场景如“第一个描述条件及相应的扩展被标记为 3a” 示例“3.收银员输入商品条码” 。 三、用例的补充要素 一其他属性 Special Requirements特殊需求 非功能性需求如性能、安全约束 。Technology and Data Variations[变元] List技术与数据变体列表 记录用例执行中技术实现或数据输入的可变情况。出现频率[Frequency of Occurrence]用例被触发的频率辅助优先级、资源规划 。未决问题[Miscellaneous]记录用例设计中暂未解决的疑问、待确认点。 二用例的适用性判定 题目观点“Use case are an object oriented way to handle requirement. Therefore they don’t fit very well into non - object oriented projects.用例是面向对象处理需求的方式因此不太适配非面向对象项目 ” 判定结果F错误 —— 虽用例源于面向对象方法但核心思想场景化需求描述 也可灵活适配非面向对象项目通过调整表达形式同样能梳理需求逻辑。 总结CH6 围绕用例的定义、结构含主场景、扩展 、补充要素展开核心是用场景化文本清晰描述系统需求同时需注意用例在不同项目类型中的灵活应用 。 一个例题 一、CH7 其他需求 一补充Supplementary规约 vs 用例规约 补充Supplementary规约对应非功能性需求如性能、安全、兼容性等约束用例规约对应功能性需求描述系统具体功能交互 二、CH8 迭代——基础 一需求和重点 是 OOA/D面向对象分析与设计 技术的核心迭代开发特点 并非一次就实现Implement所有需求对同一用例进行增量式开发Incremental Development在多个迭代中逐步完善功能 三、CH9 领域domain模型 一定义 对领域内的概念类或现实世界中对象的可视化表示是没有操作的类图聚焦概念、关联暂不涉及行为 二内容 概念类领域内抽象的概念实体类的关联和属性描述概念类之间的关系及类自身的特征 CH10-CH12 内容整理 一、CH10 系统顺序图SSD 核心任务讨论系统相关的输入和输出事件形式通过可视化图表顺序图 呈现系统与外部参与者的交互流程因图中图表细节难完整提取聚焦文字逻辑 朋友这里出现的所有图几乎都是考试重点看看吧 二、CH11 操作契约Contracts 一内容构成 操作[Operation]含名称 参数定义操作的标识与输入信息交叉引用[Cross References]关联会发生此操作的用例明确操作的需求来源前置条件[Preconditions]操作执行前需满足的系统状态、外部条件后置条件[Postconditions]操作执行后系统必须达成的状态最重要体现操作对系统的改变 二通俗理解 本质回答 “who do what”谁执行操作、做什么 通过前后置条件约束操作逻辑系统操作系统在公共接口提供的操作对外暴露的功能入口 三、CH12 从需求到设计——迭代进化 一核心思想 尽早引发变更在迭代早期暴露需求、设计问题以便后期目标更稳定高效分析建模完成所有分析和建模工作不需要几个星期强调迭代式、渐进式推进契合敏捷开发理念 CH13、CH15-CH16 内容整理 一、CH13 逻辑架构Logical ArchitectureLA和 UML 包图 一逻辑架构核心要点 定义 是软件类的宏观large - scale组织结构将软件类组织为包、子系统、层等。 层的职责与通信 对类、包或子系统进行粗粒度coarse - grained分组。职责对系统主要方面进行内聚cohesive划分。通信较高层可以调用较低层的服务体现分层架构的依赖关系。 OO 系统常包含的层 用户界面层应用逻辑和领域对象层技术服务层 二、CH15 UML 交互Interaction图 一作用与分类 作用用于动态对象建模聚焦对象间的交互行为。分类 朋友朋友这两个图很重要自己翻开CH15看几个例子 o.0 顺序图sequence diagram表现类之间的合作collaborate通过时间顺序展示对象交互流程。通信图communication diagram强调对象间的通信关系以拓扑结构呈现交互。 三、CH16 UML 类图 一类元classifier 定义是对众多 UML 元素类、接口、用例等 的泛化generalization抽象描述元素的共性。 二构造相关概念 构造型Stereotype 表示对现有建模概念的精化使用符号 “« »” 表示如 «authorship» 。可应用到许多 UML 元素中扩展 UML 语义。 简档Profile一组相关构造型、约束、标记的集合用于定制 UML 以适配特定领域需求。标记tag构造型、简档中用于补充元数据的标识丰富模型信息。 CH17 GRASP基于职责设计对象知识梳理 GRASP 是面向对象设计中 分配职责 的核心模式集合用于指导“如何合理将职责如创建、行为、数据处理等 分配给类/对象”以下按思维导图拆解 重点重点重点章 一、创建者Creator 一核心问题 需求决定“谁创建 A”即哪个类负责创建另一个类的实例 二分配条件满足其一即可越多越优先 若以下条件为真将创建 A 实例的职责分配给 B B 包含 / 组成了 A如“订单类”包含“订单项类”则订单类可创建订单项 。B 记录 A如“日志类”记录“操作记录类”日志类可创建操作记录 。B 紧密地使用 A高频交互如“购物车类”频繁操作“商品类”购物车可创建商品 。B 拥有 A 的初始化数据创建 A 所需的初始信息在 B 中 。 二、信息专家Information Expert 一核心原则 对象设计和职责分配的基本准则 将职责分配给具有履行该职责所需信息的类即“谁最懂这件事就交给谁做” 。 二示例 计算订单总价订单类包含商品列表、单价、数量等信息 负责计算因它掌握所有必要数据。 三、低耦合Low Coupling 一目标 减少因变化产生的影响一个类的修改尽量少牵连其他类 。 二优点 降低维护成本修改时无需大量改动关联类 。易于单独理解类的职责清晰依赖少 。有利于复用低依赖的类可独立复用到其他场景 。 四、控制器Controller 一功能 对输入系统的事件进行响应如用户操作、外部系统调用 。 二定位 是 UI 层之上第一个接受控制的系统操作对象作为“入口”协调业务逻辑解耦 UI 与领域逻辑 。 系统内部不应该显示调用UI层对象应该通过控制层作为中介 五、高内聚High Cohesion 一目标 使对象有重点、可理解、可管理同时支持低耦合内聚高 → 职责集中耦合低 → 依赖少 。 六、多态性Polymorphism 一适用情境 行为基于类型而变化不同子类需重写父类行为 。 二职责分配 将行为职责分配给行为所变化的类型即让子类自己实现个性化行为 。 三优点 易于增加新变化所需的扩展新增子类时直接重写行为即可无需修改上层逻辑 。 七、纯虚构Pure Fabrication 一解决问题 当遵循“高内聚、低耦合”或其他模式会产生矛盾时如核心领域类因职责过多变得臃肿 需引入“纯虚构”类。 二职责分配 将一组高内聚的职责分配给人为创建的、不直接对应领域概念的类即“纯虚构”类专注处理特定逻辑 。 三优点 保持高内聚、低耦合让领域类职责更纯粹虚构类聚焦辅助逻辑 。 例如Sale类需要操作销售数据库但是操作数据库需要进行很多复杂的配置很多与核心类职责无关的代码但是按照信息专家等又按道理就是此类进行操作此时我们纯虚构一个对象来对销售数据库进行操作起始就是SaleDao层这样就是一种纯虚构 八、间接性Indirection 一目标 避免直接耦合减少类之间的直接依赖 。 二职责分配 将职责分配给中介对象通过中介间接交互避免类与类直接关联。 三优点 降低耦合依赖中介而非直接依赖多个类 。 九、防止变异Protected Variations 一解决问题 如何设计对象使“变化/不稳定部分”不会对“其他元素”产生不良影响 二职责分配 预测变化或不稳定之处分配职责以“在这些变化之外创建稳定接口”如通过抽象类/接口隔离变化 。 三优点 易于增加新变化所需的扩展变化被隔离在接口实现中 。可引入新实现而不影响客户端客户端依赖稳定接口 。低耦合变化部分与其他模块解耦 。降低变化的成本或影响修改仅需改动实现类不影响调用逻辑 。 总结GRASP 模式围绕“职责分配”展开通过 9 种模式从不同角度创建、行为、耦合、内聚等 指导设计让类的职责更清晰、系统更易维护和扩展是面向对象设计的核心方法论 。 CH18-CH20 内容整理 一、CH18 用例实现与 UML 状态机图 一18.1 用例实现 聚焦某个用例基于协作collaborating对象如何在设计模型中实现即从需求到设计的映射 。 二UML 状态机图核心元素 事件event触发状态变化的外部/内部信号。状态state对象在生命周期中的某个阶段如“订单”的“未支付”“已支付” 。转换transition状态之间的转移如“未支付”→“已支付” 。 二、CH19 对可见性Visibility进行设计 一可见性定义 对象“看到或引用reference其他对象的能力”决定类之间的交互范围。 二A 到 B 的可见性类型 属性可见性B 是 A 的属性 → 相对持久permanent。参数parameter可见性B 是 A 中方法的参数 → 相对暂时temporary。局部可见性B 是 A 中方法的局部对象 → 作用域仅限方法内。全局可见性B 具有某种全局可见性如单例对象、全局变量 。 三、CH20 设计到代码design - to - code 一20.8 实现的顺序按耦合度从低到高 耦合度低的先实现依赖少的模块/类优先开发减少阻塞。被依赖的先实现拓扑遵循“依赖倒置”基础、被依赖的组件先完成如框架、工具类 再实现上层业务逻辑。 总结CH18 衔接用例与设计模型通过状态机图管理对象行为CH19 聚焦类之间的可见性设计控制交互范围CH20 指导从设计到代码的落地顺序按耦合度和依赖关系规划实现流程 。 CH21 重构Refactoring知识梳理 CH21 围绕代码重构展开核心是通过“处理坏味代码”和“设计复用”优化代码质量与可维护性以下拆解 一、处理坏味代码Code Smell 一重构样例常见优化手段 提炼Extract方法 场景一段代码逻辑重复、功能内聚 → 提取为独立方法增强可读性与复用性。作用解耦复杂逻辑让主流程更清晰。 提炼常量Constant 场景代码中存在硬编码的魔法值如固定字符串、数字 → 提取为命名常量。作用统一管理可变值修改时只需改常量定义避免遗漏。 引入解释变量 场景复杂表达式难以理解如嵌套运算、长条件 → 用变量分步存储中间结果命名解释逻辑。作用让代码意图更明确调试更便捷。 使用工厂方法代替构造器调用 场景对象创建逻辑复杂如需初始化多参数、依赖其他服务 → 用工厂类/方法封装创建过程。作用解耦对象创建与使用集中管理复杂初始化符合“单一职责”。 二、为复用设计Design for Reuse 一复用策略 A 策略 内容Define a persistence framework that provides services for persisting objects.定义持久化框架提供对象持久化服务 。思路通过框架封装通用功能如数据库存储、缓存 让业务代码聚焦领域逻辑复用框架能力。 B 策略 内容Use design patterns, wherein complete solutions are already defined.使用设计模式复用已验证的完整解决方案 。思路利用单例、工厂、观察者等设计模式复用成熟的设计思路解决共性问题如对象创建、解耦交互 。 CH26 GoF设计模式梳理迭代2 一、适配器Adapter 一核心信息 目的解决不相容的接口问题定义通过中介适配器对象将构件的原有接口转换为其他接口与GRASP原则的联系实现「多态」、「间接性」、「纯虚构」进而支持「低耦合」、「高内聚」支持「防止变异」与其他GoF设计模式的联系是一种「外观」 二、工厂Factory 一核心信息 问题当有特殊考虑例如存在复杂创建逻辑、为了改良内聚而分离创建职责等时应该由谁来负责创建对象答案创建称为工厂的纯虚构对象来处理这些创建职责与GRASP原则的联系是「创建者」、「纯虚构」对象确保「高内聚」与其他GoF设计模式的联系通常用「单实例」来访问 三、单实例类Singleton 一核心信息 问题只有唯一实例的类即为“单实例类”答案对类定义静态方法用以返回单实例与其他GoF设计模式的联系通常运用于「工厂」、「外观」 四、策略Strategy 一核心信息 目的如何设计变化但相关的算法/政策如何让算法/政策可变更答案在单独的类中定义每种算法/政策/策略使其具有共同接口特性Strategy pattern allow one of a family of algorithms to be selected on-the-fly at runtime.运行时动态选择算法 与GRASP原则的联系基于「多态」为变化的算法提供「防止变异」创建方式通常由「工厂」创建 五、组合Composition 一核心信息 问题如何像处理原子对象一样处理一组对象或组合结构的对象答案定义组合和原子对象的类使它们实现相同的接口与GRASP原则的联系基于「多态」提供「防止变异」协同模式常与「策略」模式一起使用 六、外观Facade 一核心信息 问题对一组不同实现/接口需公共统一接口或子系统易与其他模块耦合、实现易变时如何处理答案对子系统定义唯一接触点外观对象 封装子系统提供统一接口并协作通俗理解将子系统隐藏在一个对象之后与GRASP原则的联系提供「防止变异」通过增加「间接性」对象支持「低耦合」与其他GoF设计模式的联系包含「适配器」通常用「单实例」来访问 七、观察者Observer 一核心信息 问题不同类型的订阅者对象关注于发布者对象的状态变化或事件并且想要在发布者产生事件时以自己独特的方式作出反应。此外发布者想要保持与订阅者的低耦合。如何对此进行设计呢答案发布者只通过接口感知订阅者订阅者可动态注册/取消注册由订阅者实现响应逻辑与GRASP原则的联系 基于「多态」在对象通信上提供「低耦合」发布者依赖接口不依赖具体订阅者 对发布者提供「防止变异」新增订阅者无需修改发布者 典型应用 题目需求报告生成模块需「新数据生成时自动刷新UI展示最大值」「支持多视图类型」 最佳方案Establish subscribe/notify mechanism between the view and model layers so that the views get notified of the change.在视图与模型层间建立订阅/通知机制让视图感知变化 以下是对这两张思维导图内容的整理分模块呈现核心信息 一、CH39 N 1 view model迭代3 一起源与核心 从 4 1 视图演变而来通过不同视图面向不同角色呈现系统多维度信息。 二各视图详解 视图类型 面向角色 核心展示内容 通俗说明 用例视图1 终端用户End - user 系统功能Functionality 让用户直观看到系统能做什么 逻辑视图 设计者Designers 系统架构结构Structure 给设计师看系统“骨架”怎么搭 进程视图 系统整合者System integrators 性能Performance、可扩展性Scalability、吞吐量Throughput 帮整合者评估系统运行能力 实现视图 编程者Programmers 软件管理Software management 给程序员看代码组织、模块分工 部署视图 系统工程师System engineering 系统拓扑System topology、交付Delivery、安装Installation、通信communication 指导系统工程师搭建运行环境 额外补充 relationships关系梳理 一类图之间的关系 关系类型 含义与示例 依赖Dependency 构造另一对象实例 / 依赖其提供的服务 联合Association - 聚合Aggregation is a part - of 关系如“车 轮子”车包含轮子轮子可独立存在 联合Association - 组合Composition 比聚合更强的“整体 - 部分”关系如“AB A、B”A、B 是 AB 不可分割的部分 泛化Generalization 即继承关系体现“一般 - 特殊”层次 二用例之间的关系 关系类型 图示与说明 包括Include 一个用例“包含”另一个用例的基础行为如“执行查询”包含“导出查询结果” 延伸Extend 对基础用例的扩展在特定条件下触发额外行为如“请假审批”延伸出“紧急请假特殊流程” 泛化Generalization 用例间的“继承”子用例继承父用例行为并可扩展如“审批”泛化出“工资调整审批”“请假审批” 包括 延申 泛化 其实除了箭头和边有些不同我也看不出有什么不同
http://www.w-s-a.com/news/221345/

相关文章:

  • 百度联盟怎么加入赚钱合肥seo按天收费
  • 网站建设与用户需求分析加盟店排行榜加盟项目排行榜
  • 柳州市诚信体系建设网站wordpress建手机网站吗
  • 网站策划书是什么水产公司网站源码
  • 温州做网站多少钱网站服务器机房
  • 网站公司设计 网站首页什么网站专门做图片
  • 书店网站怎么做网站点击快速排名
  • 太阳镜商城网站建设公司做网站
  • 如何制作个人作品网站宣传片拍摄合同
  • 关于微网站策划ppt怎么做做插画的网站
  • 做设计网上揽活哪个网站最好中企动力算大厂吗
  • 电子商务网站开发常用工具牡丹江吧
  • 四川成都网站制作公司wordpress 获取某个分类的文章
  • wordpress 编辑器推动门户网站建设不断优化升级
  • 做游戏网站的前景温江区建设局网站
  • 济南做微网站推广做网站seo优化总结
  • 巢湖网站建设电话长沙大型互联网公司
  • wordpress站群主机海南人
  • 云南网站建设维护商业网站建设教程
  • 云南省滇中引水工程建设管理局网站jsp个人网站设计
  • 网站建设 域名业务 邮箱互联网装饰网站
  • 建设厅技工在哪个网站上查询有了网站模板 还要怎样做
  • 城市联盟网站怎么做百度云网站建设视频教程
  • 织梦cms 官方网站网页视频如何下载到电脑
  • 查询建设公司业绩网站国外外链平台
  • 搭建直播网站需要怎么做做石材网站步骤
  • 移动网站如何做权重wordpress 统计字数 插件
  • 编写网站的软件百度指数教程
  • 网站改版建议策划书做设计什么兼职网站
  • 北京做兼职网站文创产品设计流程