笔记-信息系统开发基础-架构设计-软件架构主要职责

软件架构主要职责

(1)确认需求在项目开发过程中,架构师是在需求规格说明书完成后介入的,需求规格说明书必须得到架构师的认可。架构师需要和分析人员反复交流,以保证自己完整并准确地理解用户需求。

(2)系统分解依据用户需求,架构师将系统整体分解为更小的子系统和组件,从而形成不同的逻辑层或服务。随后,架构师会确定各层的接口,层与层相互之间的关系。架构师不仅要对整个系统分层,进行“纵向”分解,还要对同一逻辑层分块,进行“横向”分解。这体现了软件架构师的功力。

(3)技术选型,架构师通过对系统的一系列的分解,最终形成了软件的整体架构。技术选择主要取决于软件架构。例如:Web Server运行在Windows上还是Linux上?数据库采用MSSql、Oracle还是Mysql?是否需要采用MVC或者Spring等轻量级的框架?前端采用富客户端还是瘦客户端方式?架构师对产品和技术的选型只限于评估,没有决定权,最终的决定权归项目经理。架构师提出的技术方案为项目经理提供了重要的参考信息,项目经理会从项目预算、人力资源、时间进度等实际情况进行权衡,最终进行确认。

(4)制定技术规格说明架构师在项目开发过程中,是技术权威。他需要协调所有的开发人员,与开发人员一直保持沟通, 始终保证开发者依照它的架构意图去实现各项功能。架构师通过它制定的技术规格说明书(UML视图 、Word文档,Visio文件)与开发者沟通,保证开发者可以从不同角度去观察、理解各自承担的子系 统或者模块。架构师还需要与项目经理、需求分析员,甚至与最终用户保持沟通。

选项B需求规格说明书是做软件架构之前就需要存在的。在需求规格说明书的基础上做架构设计。

--------------本文结束 感谢您的阅读--------------