数据结构论坛

首页 » 分类 » 问答 » 软件架构设计的
TUhjnbcbe - 2020/11/30 10:59:00

本文目的:许多软件工程师,甚至超过10+年工作经验的工程师,收到软件需求后就开始编码,这样做对吗?不但不对,而且后患无穷。软件工程之所以称为工程,因为它是一个从需求分析,设计,开发到测试验证的反复迭代的可持续交付可靠产品的过程。敏捷开发不只是编码阶段的敏捷,更是设计的敏捷,如何确保系统实现符合需求,利于沟通传达,有良好的扩展性,可维护性等等是整体软件设计的核心。本文将系统讲解需求分析到设计编码过程中主要的应知应会,即软件架构设计的,9种设计模式,8种UML设计图,5种架构视图(注,这里介绍的设计模式种类和UML设计图为常用的类别,其它类别可根据需要扩展学习),目标读者包括系统架构师,软件架构师,管理人员,项目经理,各级软件开发工程师,测试工程师,运维工程师等人群。架构师可以了解如何从需求分析到设计落地,工程师可以在编码之前知道模块/类的设计和分布,管理人员或项目经理可以通过例如逻辑视图/开发视图了解项目的进展,汇报进展等。

本文介绍的为通用的设计方法,不区分后台服务端,终端(含嵌入式系统);面向对象,面向服务,面向过程的系统设计皆可参考其中的方法,侧重点可有不同。

范围:本文主要从3个方面来讲解,1.“软件架构4+1视图”章节讲解了如何通过多个视图来描述软件系统和架构,各个视图的主要作用,为了尽可能保持原文意思,较多引用了Kruchten关于4+1视图论文中的描述,同时对重要部分进行了翻译和编辑,删除了现在看来不适合的点;2.“UML”章节描述了在编码前如何使用UML图描述系统,搭建起高阶设计和详细设计的桥梁,着重描述了需求到设计阶段用例的写作;3.“设计模式”章节介绍常用的设计模式,即在解决一类问题时,形成的可复用的解决方案,通过代码的方式希望能够更直观地描述。

文章较长,也可以根据自己的角色着重

1
查看完整版本: 软件架构设计的