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

文章目录

设计原则

SOLID原则

单一职责

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

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

接口隔离

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

建模及需求分析

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

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

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

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

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

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

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

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

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

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

UML画图工具

推荐draw.io

原型图画图工具

推荐Figma,Sketch要收费

重构

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

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

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

3.单一变量

相关推荐
黄焖鸡能干四碗18 小时前
网络安全态势报告,网络安全风险评估报告文档
大数据·网络·安全·web安全·信息可视化·需求分析
德昂信息dataondemand5 天前
BI需求分析的双层陷阱
数据分析·需求分析
roman_日积跬步-终至千里5 天前
【系统架构设计】用例技术:需求分析的实用工具
系统架构·需求分析
3DVisionary6 天前
DIC多相机协同方案在复杂结构360°全景形貌与变形场检测中的应用研究
数码相机·需求分析·dic多视场/多相机·360°全周测量·数模比对·非接触式检测·三维变形分析
workflower9 天前
软件工程-练习
数据库·需求分析·个人开发·极限编程·结对编程
workflower11 天前
FDD与其他方法的相似和区别
数据库·算法·需求分析·个人开发
workflower12 天前
测试套件缩减方法
数据库·单元测试·需求分析·个人开发·极限编程
workflower12 天前
FDD(Feature Driven Development)特征驱动开发
大数据·数据库·驱动开发·需求分析·个人开发
weixin_3077791313 天前
企业TB级数据加密迁移至AWS云:AWS Snowball Edge Storage Optimized成本效益方案解析
云计算·需求分析·迁移学习·aws
weixin_3077791313 天前
构建下一代法律智能助手:需求分析、资源整合与系统设计
人工智能·深度学习·机器学习·需求分析