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

文章目录

设计原则

SOLID原则

单一职责

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

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

接口隔离

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

建模及需求分析

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

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

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

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

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

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

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

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

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

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

UML画图工具

推荐draw.io

原型图画图工具

推荐Figma,Sketch要收费

重构

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

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

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

3.单一变量

相关推荐
Gofarlic_oms13 天前
区块链存证节点搭建:金融行业审计证据链构建指南
运维·人工智能·金融·数据挖掘·区块链·需求分析·devops
‿hhh5 天前
微服务智慧交通管理平台 - 项目实现(结合Qoder搭建)
java·人工智能·机器学习·微服务·架构·需求分析·规格说明书
Gofarlic_oms16 天前
集中式 vs 分布式许可:跨地域企业的管控架构选择
大数据·运维·人工智能·分布式·架构·数据挖掘·需求分析
the4thone8 天前
需求分析 基础
团队开发·需求分析·软件需求
帅次8 天前
系统分析师:软件需求工程的需求定义、需求验证和需求管理
软件工程·软件构建·需求分析·代码规范·设计规范·规格说明书·代码复审
workflower10 天前
用户体验的要素
状态模式·需求分析·个人开发·ux·规格说明书·极限编程
workflower10 天前
如何避免诧异的反应
性能优化·需求分析·个人开发·敏捷流程·规格说明书
workflower11 天前
小强地狱(Bug Hell)
大数据·bug·团队开发·需求分析·个人开发·结对编程
撬动未来的支点12 天前
【阅读】火球UML大战需求分析
需求分析·uml
XianjianAI12 天前
先见AI新功能深度介绍:以可信AI重构研报解读,数据驱动决策快人一步
大数据·人工智能·信息可视化·数据分析·需求分析