软件领域的架构、开发、团队协作与安全分析
1. 软件工程与软件架构
软件工程这一术语的提出,意在强调软件开发应像传统工程领域一样,建立在理论基础和实践规范之上。其目标是让软件开发成为一门具备系统工作方法的工程学科,大致遵循“计划 - 设计 - 生产 - 检查 - 安装 - 维护”的模式。就如同建造房屋需要施工计划、制造机器需要设计图纸一样,软件系统也需要架构。
1.1 软件架构的定义与内涵
软件架构是软件工程的核心学科,它涵盖了软件系统整体的设计,包括技术功能、与外界的接口以及各个层面的内部结构。从宏观层面看,软件架构涉及由模块组成的系统构建、模块在可执行进程中的交互以及系统在硬件组件上的分布;从微观层面看,它关注单个模块的设计,包括其外部视图(即与其他模块的接口)和内部结构(即哪些功能对哪些数据进行操作)。
在信息技术领域,“架构”一词已成为各类结构的高级称谓,软件架构也不例外。然而,软件架构这一术语常被过度使用,且有多种解读,有人认为架构本身就是好的,这其实是错误的,有些架构可能是糟糕的。也有人说“我们的软件没有架构”,这同样不正确,每个系统都有架构,只是可能结构不佳、缺乏文档记录,仅存在于部分程序员的脑海中或完全不为人知。
软件架构的结构通常以图形形式表示,用方框和方框之间的线条来展示,但大多未精确界定其含义。方框代表组件、模块、功能、文件和进程等;线条和箭头代表各种关系、引用、数据流、调用等。对于这些表示方式,即使在一个项目、一个部门内,甚至在整个商业企业和科研机构中,都往往缺乏共识。
1.2 软件架构的三种视图
软件架构可从三个视角(即视图)来考虑,分别是应用视图、设计视图和程序视图
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



