面向对象的需求分析和设计(一)

[toc]

1. 引言

前一篇文章《我对需求分析的理解》提到了面向对象分析和设计,正好最近又重新有重点的读了谭云杰著的《Think in UML》,感觉有必要写把书中一些核心内容观点以及自己的想法整理出来,一是方便自己日后的复习,另外也能和大家一起交流学习。以下分别从用例驱动、业务需求分析、系统分析几个方面进行分享。

2. 用例驱动

用例驱动(UDD)是软件设计的流行的方法,是以“用例”为核心,开展业务和系统的需求分析、设计工作。那什么是用例,用例是与人(参与者)交互的,提供可观测的有意义的结果的一系列活动的集合。用例是把现实世界(人、事、物、规则)捕获下来的一种方法。以下为用例的构成。

用例的特征:

1、用例是相关对独立的

2、用例的执行结果对参与者来说是可观测的有意义的。

3、用例总是由一个参与者发起的。

4、用例必然是以动宾短语形式出现的。

5、一个用例就是一个需求单元、分析单元、设计单元、开发单元、测试单元,甚至部署单元。

3. 业务需求分析

业务需求分析包括业务建模和概念建模两部分。

3.1. 业务建模

一个完整的业务模型包括以下内容:业务用例视图、业务用例场景、业务用例规约、业务对象模型 、业务用例实现视图、业务用例实现场景。

3.1.1. 业务用例视图

3.1.2. 业务用例场景

3.1.3. 业务用例规约

3.1.4. 业务对象模型

3.1.5. 业务用例实现视图

3.1.6. 业务用例实现场景

3.2. 概念建模

概念模型是针对业务需求中的关键业务(是指撑起客户整个业务架构的主线业务)进行建模,即对关键的业务用例进行分析,建立概念模型和业务架构。概念建模具体包括概念用例、概念用例场景、概念用例对象、分析(模型)场景、业务架构、系统原型。

3.2.1. 概念用例

3.2.2. 概念用例场景

3.2.3. 概念用例对象

3.2.4. 分析(模型)场景

3.2.5. 业务架构

3.2.6. 系统原型

通过概念模型的建立,获得了对需求较为深刻的理解、核心业务的关键概念,建立了业务架构,同时也初步确定了软件架构。此时我们可以采用验证型原型的方法建立系统原型。

4. 系统需求分析

4.1. 系统建模

系统建模包括系统用例(简称用例)、用例场景、用例规约、对象模型、用例实现、用例实现场景。

4.1.1. 系统用例

4.1.2. 用例场景

4.1.3. 用例规约

4.1.4. 对象模型

如果有概念用例对象模型和业和业务对象模型,这里可以直接使用

4.1.5. 用例实现

4.1.6. 用例实现场景

4.1.7. 分析(模型)场景

同概念建模的分析(模型)场景。

4.2. 非功能需求分析

包括对性能、安全、可用性等进行分析。

5. 最后

以上的内容按照业务需求分析、系统需求分析这两个步骤进行了整理,可以在后续分析设计时参考使用。进一步的系统设计可以按照Zachman框架模型等进行总体设计和详细设计。要掌握一种业务知识,按照用例驱动为方法,理清什么“人”用什么“规则“做什么”事”产生什么”物”,我想也算是基本熟悉业务知识了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/59236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Window下PHP安装最新sg11(php5.3-php8.3)

链接: https://pan.baidu.com/s/10yyqTJdwH_oQJnQtWcwIeA 提取码: qz8y 复制这段内容后打开百度网盘手机App,操作更方便哦 (链接失效联系L88467872) 1.下载后解压文件,将对应版本的ixed.xx.win文件放进php对应的ext目录下,如图所示 2.修改ph…

基于Spring Boot与Redis的令牌主动失效机制实现

目录 前言1. 项目结构和依赖配置1.1 项目依赖配置1.2 Redis连接配置 2. 令牌主动失效机制的实现流程2.1 登录成功后将令牌存储到Redis中2.2 使用拦截器验证令牌2.3 用户修改密码后删除旧令牌 3. Redis的配置与测试4. 可能的扩展与优化结语 前言 在现代Web系统中,用…

sql专题 之 sql的执行顺序

文章目录 sql的执行顺序sql语句的格式实际的执行顺序:虚拟表 vs 数据集虚拟表 结果集总结嵌套查询在sql查询中的执行顺序 前文我们了解了sql常用的语句,这次我们对于这些语句来个小思索 戳这里→ sql专题 之 常用命令 sql的执行顺序 SQL语句的执行顺序是…

Linux学习笔记之组管理和权限管理

组管理 文件/目录 所有者 一般文件所有者是文件的创建者,谁创建了该文件,就自然成为该文件的所有者 ls -ahl (查看文件的所有者) chown 用户名 文件名 (修改文件所有者) 文件/目录 所在组 当某个用户…

『黄河遗韵』数字非遗馆的守护之旅

创意定位 腾讯云推出的以“守护黄河文明,探索数字非遗馆”为主题的创意H5作品,通过长卷寻宝VR展馆形式,描绘了黄河文明中的非物质文化遗产,旨在唤起公众对黄河文明的保护意识,并邀请大家参与互动,深入了解…

前端监控与埋点 全总结

一、概念 前端埋点是指在网页或者应用程序中插入特定的代码,用于收集用户的行为数据并发送给服务器进行分析。这些数据可以包括用户的点击、浏览、输入等操作,帮助开发者了解用户的在其网站中的行为,从而进行针对性的优化和改进。 前端埋点…

2411d,右值与移动

原文 概述 添加语言内部__rvalue(Expression)函数,指示对匹配函数参数,按右值对待式.这在用非引用语义调用函数时启用移动语义. 移动语义对运行时和资源效率是可取的,因为可移动资源到新对象,而不是复制然后析构.其他语言(如C)有流行的移动语义. 先前的工作 C移动语义这里…

全面介绍软件安全测试分类,安全测试方法、安全防护技术、安全测试流程

一、软件系统设计开发运行安全 1、注重OpenSource组件安全检查和版本更新(black duck) 现在很多云、云服务器都是由开源的组件去搭成的,对于OpenSource组件应该去做一些安全检查和版本更新,尤其是版本管理,定期对在运…

十、文件上传和下载

文章目录 1. 文件下载2. 文件上传 1. 文件下载 使用ResponseEntity实现下载文件的功能 2. 文件上传

Springboot整合Prometheus+grafana实现系统监控

前言 Prometheus是一个开源的服务监控系统和时序数据库,它提供了强大的功能和灵活的架构,是目前主流的监控和管理应用系统的工具。 而Grafana是一个开源的数据可视化工具,与Prometheus集成,就可以可视化地监控系统的各个指标。 …

新增支持Elasticsearch数据源,支持自定义在线地图风格,DataEase开源BI工具v2.10.2 LTS发布

2024年11月11日,人人可用的开源BI工具DataEase正式发布v2.10.2 LTS版本。 这一版本的功能变动包括:数据源方面,新增了对Elasticsearch数据源的支持;图表方面,对地图类和表格类图表进行了功能增强和优化,增…

常用数字器件的描述-时序逻辑器件的描述

目录 锁存器与触发器 寄存器与移位寄存器 分频器及其应用 偶分频器 奇分频器 半整数分频器 分频器的应用 锁存器与触发器 锁存器与触发器是两种最基本的存储电路。 锁存器是电平敏感器件,而触发器是边沿触发器件。 为了使用灵活方便,商品化的锁…

机器视觉和计算机视觉的区别

机器视觉和计算机视觉的区别 1、本质上两者是一样的,都是将光信号转换成电信号,然后交给计算机处理; 2、二者侧重点不同,计算机视觉更偏向研究,更前沿,采集到图像后交给计算机进行分析处理,包括…

网络安全-Linux基础(bash脚本)

文章目录 bash脚本编写基础使用的脚本解析器/bin/bash(声明)bash脚本需要拥有执行权限bash脚本语法输入与输出函数的封装条件判断语句条件符号 循环语句模块化编程 Linux进程操作查看寻找进程终止进程暂停与恢复进程后台运行 bash脚本编写系统内存资源占…

今天出了10个4声母 .com

价格蛮低的 ,VJ.VT.Q.Q 十个 遥想当年6.5万收的5个四声母.com,上面有2个就在下图中呀,赔大发了

【网络安全 | 甲方建设】构建安全的密码重置功能

未经许可,不得转载。 文章目录 一、密码存储的安全策略二、发送新密码与发送重置链接的比较三、用户验证:邮箱还是用户名?四、用户过滤五、电子邮件通知变更总结任何需要登录的网站,都需为用户提供“找回密码”功能,以便在用户忘记密码时可以重新获得访问权限。但要做到安…

【echarts图轮播tooltips】

echarts饼状图轮播tooltips 定义echarts图写定时任务调用定时任务 定义echarts图 let chartDom document.getElementById(id); let myChart echarts.init(chartDom);写定时任务 通过echarts的events来控制高亮以及tooltips的现实 /**params dom dom元素params chartOption…

【JAVA】使用IDEA创建maven聚合项目

【JAVA】使用IDEA创建maven聚合项目 1.效果图 2.创建父模块项目 2.1删除父模块下面的src目录以及不需要的maven依赖 3创建子模块项目 3.1右击父模块项目选择Module… 3.2创建子模块 3.3删除子模块下不需要的maven依赖 4.子模块创建完成后引入SpringBoot依赖启动项目

OKG Research:用户意图驱动的Web3应用变革

出品| OKG Research 作者|Samuel QIN 当前加密市场的快速演变中,用户增长成为行业可持续发展的基石。目前主流观点在推动行业前进的路上,从单纯的技术探索在向更注重应用价值的方向转变。尽管近年来Web3生态系统发展迅速&#xf…

云渲染与云电脑,应用场景与技术特点全对比

很多朋友问,你们家一会宣传云渲染,一会宣传云电脑的,我到底用哪个?今天,渲染101云渲染和川翔云电脑就来对比下两者的区别! 渲染101&川翔云电脑,都是我们的产品,邀请码6666 一、…