系统设计过程

本文探讨了系统设计的完整过程,包括分析问题、总体概要设计和模块详细设计阶段。强调了需求理解、问题排序、时序图分析、系统结构图绘制、非功能性需求考量、技术选型以及详细设计的重要性。设计文档的编写也被视为沟通和理解的关键工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对系统设计过程的思考

系统设计是如何将一定的需求从无到有实现出来或者如何解决既有问题的系统性描述。系统设计不是闭门造车,需要借助以往的项目经验积累,需要有相对比较开阔的视野,尽可能熟悉和了解常用的各种技术。在特定公司做项目,项目必然依托于特定公司的技术积累,异步调用框架,安全框架,服务框架、定时调度等等,因此还要尽可能熟悉和了解公司内部的常用技术及系统。拥有越开阔的视野,越丰富的经验积累,在设计各种系统时就会越游刃有余,所做出的设计不一定是最NB的,但一定要是最实用和最适合特定项目和公司的。设计应该是很灵活的,不会是呆板的,千篇一律套用某个成功的项目经验。需要能够总结以往的项目经验,并灵活运用于未来的项目中。

设计通常有分析问题,总体概要设计,模块详细设计,编写设计文档等几个阶段,是一个从无到有,从粗到细的过程。


首先是分析问题阶段,此时需求已经确定清楚,明确了要开发一个什么东西,主要有哪些功能。此时应该集中精力关注如何实现功能,刚刚分析问题的时候,你会感觉到问题很多很多,什么都想不清楚,没有关系,此时需要记录能够想到的所有问题。针对所有问题进行重要优先级排序,找出影响项目的关键问题。针对性的对每个关键问题进行思考,可以通过画时序图等方式帮助分析,经过这个过程,你会了解所需开发功能的细节。可以通过不断的完善时序图促进对功能更细节的思考。经过该阶段的分析,可以初步整理出系统涉及到的表及字段信息,和其他系统交互的接口信息。

在对关键问题进行逐一分析之后,此时基本上对系统有了总体上的把握。此时就进入了总体概要设计阶段。可以画系统结构图、系统部署图帮助自己更好的把握整体。这个阶段不但要关注如何实现功能,还要考虑实际的非功能性需求。针对每个关键问题,找相关领域专家咨询,
可能有几种不同的解决方案。这个阶段的目标就是考虑清楚所有非功能性需求,如用户量、访问量、数据量、性能、安全、并发、日志、异常监控、可用性、可靠性、健壮性、容错性等,然后根据项目人员组成,资源情况,项目目标、价值等方面比较每种方案并最终做出选择。没有最佳方案,只有最适合的方案,进行权衡,选取最适合的方案。方案定下来后,如果有几种技术都可以实现该方案,需要根据学习成本、开发成本、维护成本、风险等方面决定采用哪种技术实现。最后还要产出数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值