【软件系统设计-体系结构1】的讨论涵盖了软件工程的核心概念,主要集中在软件体系结构的定义、作用,以及设计过程中的关键步骤。软件的无形性和可变性是其本质特征,区别于硬件的实体性,软件设计的目的是为了不断演进和改进。 在软件工程中,体系结构是系统分解的基础,它包括模块(Module)、组件(Component)、连接件(Connector)和元素(Element)。模块是未实现的软件部分,组件是已实现的软件单元,连接件则是组件间交互的桥梁,元素则同时包含了组件和连接件。体系结构的主要任务是降低系统的复杂度,定义组件的接口、组件间的通信方式以及处理非功能需求,如技术约束、业务限制和质量属性。 体系结构、设计、结构和软件体系结构之间的区别在于层次和焦点。体系结构涉及高层次的设计决策,而设计涵盖更广泛的创造性过程。结构是静态的,关注系统组成部分,而体系结构则包含动态行为和组件间的关系。软件体系结构是专指在软件构造过程中的体系结构管理,涉及开发团队的协作和监督。 软件系统架构的诞生受到多种因素的影响,如非功能需求(NFRs)、应用系统需求(ASRs)、质量需求、利益相关者、组织策略和技术环境等。设计的目标是生成适应约束、满足质量和业务目标的方案。设计策略包括分解、抽象、分而治之、生成与测试、迭代与细化以及重用元素。 使用体系结构视图是为了解决软件的不可见性,通过不同的视图突出显示关键元素和关系,支持不同目标和用途。K.Kruchten的4+1视图模型包括逻辑视图、进程视图、物理视图、开发视图和场景视图,这些视图分别关注系统的核心功能、并发性、部署、开发过程和关键用例。 逻辑视图描述了架构的重要元素,进程视图关注执行过程和并发,物理视图展示硬件和软件的分布,开发视图关注开发过程和工具,而场景视图则通过具体场景来阐述系统行为。通过这些视图,设计者可以全面理解和表达复杂的软件系统架构,确保设计的完整性和有效性。
剩余63页未读,继续阅读
- 粉丝: 19
- 资源: 274
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java学籍管理系统源码带本地搭建教程数据库 MySQL源码类型 WebForm
- php+mysql学生成绩查询(系统)
- Bazel 的 Go 规则.zip
- Android ListView下拉刷新 Demo.zip
- Python实现基于一维卷积神经网络(1D-CNN)的多元时间序列分类源码+文档说明
- java基于springBoot课程评价系统源码数据库 MySQL源码类型 WebForm
- 5G工业无线路由器说明书
- SunshineLife个人博客是基于django+mysql+layui的小型个人博客网站
- 5G终端拔号脚本(AT), 适用于MT5701
- 基于Python + Django的生鲜超市系统 调用alipay沙盒系统支付
评论0