UML和模式应用(1):面向对象的分析与设计
学习笔记:1小时
1.1、什么是分析和设计
分析(analysis):强调的是对问题和需求的调查研究,而不是解决方案,即应该如何使用系统,系统应该具有哪些功能。
设计(design):强调的是满足需求的概念上的解决方案(在软件和硬件方面),而不是其实现。最终,分析可以实现,而实现则表达了真实和完整的设计。
分析和设计一词最好加以限制,如面向对象的设计、数据库设计。
有益的分析和设计可以概括为:做正确的事(分析)和正确地做事(设计)。
1.2、什么是面向对象的分析和设计
在面向对象分析(OOA)过程中,强调的是在问题领域内发现和描述对象(或概念)。如,明确一些概念,这些概念也许对应着一些对象。
在面向对象设计(OOD)过程中,强调的是定义软件对象以及它们如何协作以实现需求。如,明确类的属性和方法。
1.3、分析和设计的大概步骤
1)、定义用例
需求分析可能包括人们如何使用应用的情节或场景,这些情节或场景可以被编写成用例。
2)、定义领域模型
OOA关注从对象的角度创建领域描述。OOA需要鉴别重要的概念、属性和关联。
OOA的结果可以表示为领域模型(domain model),在领域模型中展示重要的领域概念或对象。
需要注意的是:领域模型并不是对软件对象的描述,它是真实世界领域中的概念和想像可视化。因此也被称为概念对象模型。
3)分配对象职责并绘制交互图
OOD关注软件对象的定义----他们的职责和协作。常用UML顺序图来描述。
4)定义设计类图
除了在交互图中显示对象协作的动态视图外,还可以用设计类图来有效的表示类定义的静态视图。这样可以描述类的属性和方法。
1.4、什么是UML
统一建模语言(UML)是描述、构造和文档化系统制品的可视化语言。
UML是一个庞大的语法体系,UML定义了各种UML简档(UML profile),这些简档专用于某些常用主题领域的表示法子集,例如对EJB使用EJB简档。
1.5  应用UML的三种方式
1)、UML作为草图----用于探讨问题或解决方案空间的复杂部分。
2)、UML作为蓝图----相对详细的设计图,用于:逆向工程或代码生成(前向工程)。
3)、UML作为编程语言----用UML完成软件系统可执行规格说明,代码可能被自动生成。
如果不具备良好的OO设计和编程技能,那么即使使用UML,也只能画出拙劣的设计。
敏捷建模(agile modeling)强调了UML作为草图的方式,这也是使用UML的普通方式,而且通常对时间投入具有高回报。
1.5 应用UML的三种透视图
1)、概念透视图:用图来描述现实世界或关注领域中的事物。
2)、规格说明(软件)透视图:用图来描述软件抽象物或具有规格说明和接口的构建,但并不约定特定的实现。
3)、实现(软件)透视图:用图来描述特定技术(如Java)中的软件实现。
1.6 不同透视图中“类”的含义
以上三种透视图中“类”的含义分别为:
1)、概念类----现实世界中的概念或事物。
2)、软件类----软件构建在规格说明或实现透视图中的类。
3)、实现图----特定OO语言中类。
1.7 可视化建模的优点
可视化的工作方式更容易理解和开发大脑,快速掌握符号、单元及关系。
图可以帮助我们更为遍历的观察全景,发现软件元素或分析之间的联系,同时允许我们忽略和隐藏旁枝末节。这是UML或其他图形化语言的本质价值。

UML和模式应用(1):面向对象的分析与设计相关推荐

  1. 面向对象的分析与设计

    目录 介绍 你会学到什么? 你不会学到什么? 背景 软件开发过程模型简介 为什么我需要了解过程模型 面向对象的分析和设计--最需要的定义 开发过程与开发方法论的区别 面向对象分析 面向对象的设计 你应 ...

  2. OOAD:面向对象的分析和设计

    OOAD:面向对象的分析和设计 1.什么是面向对象     面向对象(Object-Orientation,简称OO)是一种系统建模技术/编程思想.     面向对象编程(Object-Orienta ...

  3. 【面向对象】面向对象的分析与设计概述

    文章目录 分析与设计 结构化方法与面向对象方法 面向对象分析与设计 分析与设计 分析强调对问题的调查 而不是如何确定解决方案. 设计强调的是问题的逻辑解决方案 . 结构化方法与面向对象方法 结构化方法 ...

  4. 面向对象的分析与设计——包图、组件图和部署图

    <软件工程与实践>实验报告 日期 2020/12/24 题目:面向对象的分析与设计--包图.组件图和部署图 姓名 学号 实验环境: 已安装Microsoft Visio 软件的计算机 实验 ...

  5. UML对基于B/S模式的图书管理系统的分析与设计

    [导读]对基于B/S模式下的图书管理系统进行分析,运用UML的静态和动态模型图,对系统的分析结果进行可视化建模,并对系统模型图进行概括性论证. 1 前言 使用计算机软件对图书进行管理,是计算机应用的一 ...

  6. OOAD——面向对象的分析与设计

    内容概括 1.软件工程的概念 整个软件开发行业里,很多概念都是来自于建筑工程的.因为,在人类活动里,这两个行为都有很大的共性,特别是都需要合作和分工. 软件危机 软件危机的出现,导致了软件开发的工程化 ...

  7. 原型法和面向对象的分析与设计方法

    原型法是在20世纪80年代中期为了快速开发 系统而推出的一种开发模式,旨在改进传统的结构化生命周期法的不足,缩短开发周期,减少开发 风险.原型法的理念是:在获取一组基本需求之后,快速地构造出一个能够反 ...

  8. 面向对象的分析和设计

    OOA,面向对象分析(Object Oriented Analysis ) 的目的是获得对应问题的理解. 理解的目的是确定系统功能和性能要求.面向对象分析技术可以将系统的行为和信息的关系表示为迭代构造 ...

  9. 软件工程OOAD(面向对象的分析与设计)概念整理

    期中复习 词汇 说明 Iterative 迭代 Agile 敏捷 Vision 设想 Glossary 词汇表 Supplementary Specification 补充性规格说明 OOAD的定义 ...

最新文章

  1. c#:Reflector+Reflexil 修改编译后的dll/exe文件
  2. thinkphp 视图模型 两个字段映射同一个表
  3. Spring Batch中的块处理
  4. maven exclude java_java – Maven:从shade插件中排除依赖项
  5. anaconda matplotlib 输出动画_Python+Matplotlib 制作排序算法的动画
  6. Sublime Text批量删除空白行
  7. python中的join函数连接dataframe_python pandas处理CSV文件并使用join()方法拼接两个dataframe...
  8. 新手福音︱正则表达式小工具RegExr
  9. 朴素贝叶斯:拉普拉斯修正
  10. 过滤器和拦截器的区别_拦截器和过滤器的区别
  11. BZOJ3091 城市旅行
  12. IEEE-access 模板LaTeX Error: Something's wrong--perhaps a missing \item.
  13. Quartz.NET 配置文件详解
  14. 微信小程序组件之间的传值
  15. 港股相关交易规则与业务知识
  16. http请求中简单的签名验证
  17. 移动硬盘计算机无法打开硬盘,移动硬盘无法访问,详细教您移动硬盘无法访问怎么办...
  18. 浅谈SRAM与DRAM的异同
  19. 使用Python批量合并多个工作簿中的同名工作表
  20. 【尊享版】如何从零到一掌控习惯?

热门文章

  1. 将获取到的JSONObject和JSONArray转换为实体对象
  2. 2021年春季学期-信号与系统-第十二次作业参考答案-第五小题
  3. Android 8 WiFi断流,安卓8.0曝出重大bug,比国产手机WiFi断流严重多了
  4. java 字符串写入word,JAVA 将字符串hollow 替换成word肿么实现?
  5. 自我评价中专计算机600作文,自我评价作文600字
  6. Vmware 和 Windows 代理设置
  7. android sdk版本控制,1. 统一SDK版本管理配置
  8. 青岛大学计算机专硕和学硕,【2020】【青岛大学】【学硕646】复习经验
  9. Java实用教程笔记 内部类与异常类
  10. 固态器件理论(11)超导设备