软件设计,建模及需求分析

文章目录

设计原则

SOLID原则

单一职责

开闭 (扩展开放,修改关闭)

里氏替换 (父类出现地方都可以用子类替换)

接口隔离

依赖倒置(高层模块不依赖低层,两层都依赖于抽象, 抽象不依赖于细节,细节依赖抽象)

建模及需求分析

原始需求需要拆解成具体的开发需求及建模才方便开发人员理解。

个人体会所有系统或者功能可围绕以下三点:

1.使用系统的用户有哪些

2.系统的基本场景,异常场景

3.不同用户在系统的基本场景和异常场景的角色

纯文字形式(规格说明书)不直观,因此UML图就是解决这个问题。

1.类UML图太细节了,不实用。

2.用例图可大方向了解系统涉及场景及用户

3.时序图则是具体一个功能的实现

这张图再具体点就是标注对应的类及方法

UML画图工具

推荐draw.io

原型图画图工具

推荐Figma,Sketch要收费

重构

个人常用(容易忘)的方法

1.卫语句替代嵌套条件表达式

2.查询函数和修改函数分开

3.单一变量

相关推荐
山东小木7 天前
JBoltAI需求分析大师:基于SpringBoot的大模型智能需求文档生成解决方案
人工智能·spring boot·后端·需求分析·jboltai·javaai·aigs
张较瘦_11 天前
[论文阅读] 软件工程 - 需求工程 | 2012-2019年移动应用需求工程研究趋势:需求分析成焦点,数据源却藏着大问题?
论文阅读·软件工程·需求分析
roman_日积跬步-终至千里11 天前
【系统架构师设计(8)】需求分析之 SysML系统建模语言:从软件工程到系统工程的跨越
系统架构·软件工程·需求分析
workflower12 天前
python代码Bug排查
测试用例·软件工程·需求分析·敏捷流程·结对编程
workflower14 天前
架构描述语言Architecture frameworks and architecture description languages
测试用例·软件工程·需求分析·敏捷流程·结对编程
huimingBall14 天前
确定软件需求的方法
java·大数据·elasticsearch·搜索引擎·需求分析·j#
workflower15 天前
GitHub宕机自救指南
测试用例·需求分析·uml·敏捷流程·结对编程
知行EDI15 天前
Aurobay EDI 需求分析:OFTP2 与 EDIFACT 驱动的汽车供应链数字化
汽车·需求分析·知行之桥·知行edi
数据知道19 天前
【系统分析师】高分论文:论软件需求验证方法及应用
需求分析
明月看潮生19 天前
编程与数学 03-004 数据库系统概论 06_需求分析
青少年编程·需求分析·编程与数学·数据库系统概论