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

[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系统中,用…

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

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

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

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

前端监控与埋点 全总结

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

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

一、软件系统设计开发运行安全 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数据源的支持;图表方面,对地图类和表格类图表进行了功能增强和优化,增…

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

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

今天出了10个4声母 .com

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

【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 一、…

鸿蒙进阶篇-属性动画-animateTo转场动画

大家好啊,这里是鸿蒙开天组,今天我们来学习属性动画-animateTo&转场动画,咱们先来学习属性动画-animateTo 属性动画-animateTo 属性动画 animation是作为属性使用,而animateTo显示动画是一个系统的内置函数,可以…

我谈正态分布——正态偏态

目录 pdf和cdf参数 标准正态分布期望和方差分布形态 3 σ 3\sigma 3σ原则 正态和偏态正态偏态瑞利分布偏度 (Skewness)峰度 (Kurtosis) 比较 正态分布的英文是Normal Distribution,normal是“正常”或“标准”的意思,中文翻译是正态,多完美的…

从无音响Windows 端到 有音响macOS 端实时音频传输播放

以下是从 Windows 端到 macOS 端传输音频的优化方案,基于上述链接中的思路进行调整: Windows 端操作 安装必要软件 安装 Python(确保版本兼容且已正确配置环境变量)。安装 PyAudio 库,可通过 pip install pyaudio 命令…

AI知识库在行业应用中的未来趋势与案例分析

在数字化转型的浪潮中,AI知识库正成为企业提升效率和创新能力的关键工具。本文将探讨AI知识库在不同行业的应用案例,并分析其未来发展趋势。 一、汽修行业的AI知识库应用 汽修行业正通过构建内部知识库来提升服务质量和工作效率。一个完善的内部知识库能…

STM32 BootLoader 刷新项目 (九) 跳转指定地址-命令0x55

STM32 BootLoader 刷新项目 (九) 跳转指定地址-命令0x55 前面我们讲述了几种BootLoader中的命令,包括获取软件版本号、获取帮助、获取芯片ID、读取Flash保护Level。 下面我们来介绍一下BootLoader中最重要的功能之一—跳转!就像BootLoader词汇中的Boot…

sqlite3数据库的相关API使用

1 1:使用sqlite3_exec函数读取数据库的数据,将这些数据存入链表遍历该链表&#xff0c;输出“字段”“数据”2:使用sqlite3_get_table读取数据库的数据写一个“字段" "数据”输出的循环 1 #include <stdio.h> #include <string.h> #include <unistd.…