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

面向对象分析与设计

前言:

感觉书本上和线上课程, 讲的太抽象, 不好理解,   但软件开发不就是为了开发应用程序吗?!

干嘛搞这么抽象,对吧,  下面是个人对于软件开发的看法, 结合我的一些看法, 主打简单易懂,

当然,我一IT界小菜鸟, 对软件开发的认识也很浅显, 这个思维导图也仅仅是现阶段我的看法,

如果有不准确的地方, 欢迎留言, 你的留言是我更新的动力

前置知识---UML图

       来源: 事务+关系==图

       功能:

              用例图

       结构:

              静态结构:

                     类图----类以及类之间关系

                     对象图--对象以及对象对象之间关系

              物理架构:

                     组件图--构件图, 构件及其相互依赖关系

                     部署图--构件在各节点上的部署

       行为:

              顺序图--时序图, 强调时序的交互

              协作图--通信图, 强调对象协作的交互

              状态图--类所经历的各种状态

              活动图--对工作流程建模

面向对象分析与设计:

       特点:

              当前主流分析与设计思想

              面向类的设计, 是对现实世界的直接映射, 更符合人的思维逻辑与理解

       面向对象分析模型

              实现流程:

                     1.生成需求文档,

                            例如xxx需要执行xx操作

                     2.根据需求文档找到角色,

                            比如找名词

                     3.根据角色寻找所有用例,

                            询问角色需要做什么

                     4.寻找用例之间的关系, 确定最终用例,

                            关系是指UML四大关系

                     5.生成用例图

       面向对象设计模型

              概要设计

                     实现流程:

                            1.根据用例图生成类图:设计数据库表[数据/类设计]

                                   1.寻找候选类--寻找名词, 寻找需要保存的结果

                                   2.完善类属性--一般常识属性, 当前问题域属性

                                   3.确定类之间的结构关系--UML四大关系

                                   4.产生类图

                                   5.根据类图, 设计数据库表

                            2.在用例图中, [体系结构设计]

                                   根据参与者来划分子系统/功能模块--系统功能结构图,

                                   确定软件构件及其关系--组件图

                                   物理架构--部署图

                            3.接口设计

              详细设计(部件级设计)

                     给出每个模块的程序流程图或伪代码      


 

                        

http://www.lryc.cn/news/483961.html

相关文章:

  • lineageos-19 仓库群遍历,打印第一条git log
  • 详解基于C#开发Windows API的SendMessage方法的鼠标键盘消息发送
  • VMware安装黑苹果后ICLOUD_UNSUPPORTED_DEVICE(不支持的Icloud设备)
  • Python | Leetcode Python题解之第542题01矩阵
  • 【计算机网络】【传输层】【习题】
  • 【LeetCode】【算法】55. 跳跃游戏
  • 华为:hcia综合实验
  • MyBatis与MyBatis-Plus(基础)
  • 一文总结java语法规则
  • 使用 npm 安装 Yarn
  • vue3中利用路由信息渲染菜单栏
  • Mysql每日一题(行程与用户,困难※)
  • adb 命令 查找启动的包名以及导出安装包
  • Flink_DataStreamAPI_输出算子Sink
  • 标准C++ 字符串
  • 时序预测:多头注意力+宽度学习
  • day06(单片机)IIC+STH20
  • Bugku CTF_Web——文件上传
  • C#版使用融合通信API发送手机短信息
  • 人工智能:重塑医疗、企业与生活的未来知识管理——以HelpLook为例
  • MVVM(Model-View-ViewModel)模型
  • 权限系统:权限应用服务设计
  • Android音频架构
  • AI 智享直播:开启直播新篇,引领未来互动新趋势!
  • 【AIGC】国内AI工具复现GPTs效果详解
  • Charles抓https包-配置系统证书(雷电)
  • 在卷积神经网络中真正占用内存的是什么
  • 2024 ECCV | DualDn: 通过可微ISP进行双域去噪
  • Elasticsearch 和 Kibana 8.16:Kibana 获得上下文和 BBQ 速度并节省开支!
  • Linux 抓包工具 --- tcpdump