系统设计:系统分解
1. 引言:以房屋平面图设计为例
系统设计、对象设计和实现构成了系统的构建过程。在这三个活动中,开发者需要弥合需求获取与分析阶段产生的需求规格说明和交付给用户的系统之间的差距。系统设计是这个过程的第一步,主要关注将系统分解为可管理的部分。
在需求获取和分析阶段,我们主要关注系统的目的和功能;而在系统设计阶段,我们则聚焦于实现系统所需的流程、数据结构以及软硬件组件。系统设计的挑战在于,在分解系统时必须满足许多相互冲突的标准和约束。
以设计住宅房屋为例,在与客户就房间数量、楼层、居住面积和房屋位置达成一致后,建筑师需要设计平面图,即确定墙壁、门和窗户的位置。这需要根据一系列功能需求来进行,例如厨房应靠近餐厅和车库,浴室应靠近卧室等。建筑师在确定每个房间的尺寸和门的位置时,还可以参考一些标准,如厨房橱柜有固定的尺寸,床也有标准规格。不过,建筑师无需了解每个房间的确切内容和家具布局,这些决策应留给客户。
为了满足房屋设计的约束条件,如拥有两个卧室、一个书房、一个厨房和一个客厅区域,最小化居住者每天的步行距离,以及最大化日光的利用,我们对平面图进行了多次修订。最初的版本中,餐厅离厨房太远,我们将其与卧室 2 交换位置,这样也使客厅移到了房屋的南墙。第二次修订时,发现厨房和楼梯离入口门太远,于是将入口门移到北墙,重新调整了卧室 2 的方向,并将浴室移近两个卧室,增加了居住面积,满足了所有原始约束条件。
此时,我们可以根据局部需求确定每个房间的门和窗户的位置,而无需详细了解每个房间的布局。接下来就可以进行管道、电线和暖气管道的规划。
房屋平面图的设计与软件工程中的系统设计类似,都是将整体划分为更简单的组件和接口,同
超级会员免费看
订阅专栏 解锁全文

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



