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

文章目录

设计原则

SOLID原则

单一职责

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

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

接口隔离

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

建模及需求分析

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

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

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

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

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

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

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

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

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

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

UML画图工具

推荐draw.io

原型图画图工具

推荐Figma,Sketch要收费

重构

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

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

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

3.单一变量

相关推荐
workflower15 小时前
用户体验的要素
状态模式·需求分析·个人开发·ux·规格说明书·极限编程
workflower1 天前
如何避免诧异的反应
性能优化·需求分析·个人开发·敏捷流程·规格说明书
workflower2 天前
小强地狱(Bug Hell)
大数据·bug·团队开发·需求分析·个人开发·结对编程
撬动未来的支点3 天前
【阅读】火球UML大战需求分析
需求分析·uml
XianjianAI3 天前
先见AI新功能深度介绍:以可信AI重构研报解读,数据驱动决策快人一步
大数据·人工智能·信息可视化·数据分析·需求分析
CHrisFC4 天前
疾控实验室信息系统选型指南:需求分析与实践路径
网络·安全·需求分析
知行EDI6 天前
汽车EDI: Knorr-Bremse EDI 需求分析
汽车·edi·需求分析·知行之桥·知行软件
测试人社区-小明7 天前
未来测试岗位的AI需求分析
人工智能·opencv·测试工具·算法·金融·机器人·需求分析
我有医保我先冲8 天前
企业级会议管理工具选型指南:从需求分析到方案落地
人工智能·经验分享·自然语言处理·需求分析
Linda L9 天前
如何训练可商业化的需求洞察能力?
产品经理·创业创新·需求分析·学习方法·程序员创富