软件设计概述
软件设计的基本特征:目标,形态,内容
从技术角度考虑,软件设计主要包括4方面内容:
- 系统结构设计:确定软件系统的结构,即软件系统的组成,以及各组成成分(子系统或模块)之间的相互关系
- 接口设计:确定目标系统与其他软/硬件系统之间、目标系统与用户之间的交互关系及通信方式
- 数据设计:对数据结构的设计
- 过程设计:把每个模块内部的执行逻辑转换成过程性描述(即算法设计)
从工程管理角度考虑,软件设计过程划分为两大阶段:概要设计阶段,详细设计阶段
概要设计:包括结构设计和接口设计,并编写设计文档。确定模块的划分,模块之间的调用关系,接口等
详细设计:其任务是确定各个软件组件的数据结构和操作,产生描述个软件组件的详细设计文档。细分模块、数据结构等
软件体系结构的典型风格
-
主程序-子过程风格
-
面向对象风格
-
层次风格
-
以数据为中心的风格(仓库风格)
-
客户机-服务器体系结构风格
C/S结构的层次性:
从应用系统开发的角度考虑,C/S结构的应用系统通常可以由3个相对独立的部分组成,每一部分承担着不同的职责:
用户界面部分:即表示层,主要实现用户与应用系统之间的交互接口,用于接收用户输入的数据,并显示应用系统输出的数据。一般采用图形用户界面(GUI)。
应用逻辑部分:即业务逻辑层(或功能层),主要实现应用系统的各种处理功能。一般通过应用程序来实现各种功能的业务处理逻辑。
数据管理部分:即数据层,主要实现数据的存储以及对数据的存取操作任务。一般采用关系型数据库管理系统。
胖客户端结构 | 瘦客户端结构 |
---|---|
服务器端负责数据管理 | 服务器端负责应用逻辑部分和数据管理 |
客户端负责实现应用逻辑部分和用户界面部分 | 客户端负责用户界面部分 |
胖客户端的C/S系统执行效率比瘦客户端更高
浏览器/服务器(B/S)结构:<