由对数据字典的修改补充完善,导出逻辑数据结构,导出每种数据结构上的操作,这些操作应当属于某个模块。
确定系统包含哪些应用服务系统、客户端、管理系统;
确定每个模块放在哪个应用服务器或客户端的哪个目录、哪个文件(库),或是在内部建立的对象。
对每个筛选后的模块进行列表说明。
对逻辑数据结构进行列表说明。
根据结构化软件设计说明书结构对其他需要说明的问题进行补充说明,形成概要设计说明书。
OO软件设计方法:
在OOA基础上设计对象与类:在问题领域分析(业务建模和需求分析)之后,开始建立系统构架。
第一步是抽取建立领域的概念模型,在UML中表现为建立对象类图、活动图和交互图。对象类就是从对象中经过“察同”找出某组对象之间的共同特征而形成类:

对象与类的属性:数据结构;
对象与类的服务操作:操作的实现算法;
对象与类的各外部联系的实现结构;
设计策略:充分利用现有的类;
方法:继承、复用、演化;
活动图用于定义工作流,主要说明工作流的5W(Do What、Who Do、When Do、Where Do、Why Do)等问题,交互图把人员和业务联系在一起是为了理解交互过程,发现业务工作流中相互交互的各种角色。
第二步是构建完善系统结构:对系统进行分解,将大系统分解为若干子系统,子系统分解为若干软件组件,并说明子系统之间的静态和动态接口,每个子系统可以由用例模型、分析模型、设计模型、测试模型表示。软件系统结构的两种方式:层次、块状
层次结构:系统、子系统、模块、组件(同一层之间具有独立性);
块状结构:相互之间弱耦合
系统的组成部分:
问题论域:业务相关类和对象(OOA的重点);
人机界面:窗口、菜单、按钮、命令等等;
数据管理:数据管理方法、逻辑物理结构、操作对象类;
任务管理:任务协调和管理进程;
第三步是利用“4+1”视图描述系统架构:用例视图及剧本;说明体系结构的设计视图;以模块形式组成包和层包含概要实现模型的实现视图;说明进程与线程及其架构、分配和相互交互关系的过程视图;说明系统在操作平台上的物理节点和其上的任务分配的配置视图。在RUP中还有可选的数据视图。
第四步是性能优化(速度、资源、内存)、模型清晰化、简单化(简单就是享受)。
六、概要设计的原则
总体原则和方法:由粗到细的原则,互相结合的原则,定性分析和定量分析相结合的方法,分解和协调的方法和模型化方法。
要系统考虑系统的一般性、关联性、整体性和层次性。
分解协调:目的是为了创造更好的系统。系统分解是指将一个复杂的系统分解为若干个子系统,系统协调一是系统内协调,即根据系统的总结构、总功能、总任务和总目标的要求,使各个子系统之间互相协调配合,在各个子系统局部优化基础上,通过内部平衡的协调控制,实现系统的整体优化;
屏蔽抽象:从简单的框架开始,隐含细节;
一致性:统一的规范、统一的标准、统一的文件模式;
每个模块应当有一个统一命名的容易理解的名字;
编码:由外向内(界面->核心);
面向用户:概要设计是对于按钮按下后系统“怎么做”的简要说明;
模块、组件的充分独立性、封闭性;
同时考虑静态结构与动态运行;
每个逻辑对象都应当说明其所处物理对象(非一一对应);
每个物理对象都有合适的开发人员,并且利于分工与组装。(详细说明见本人另一篇文章:系统构架设计应考虑的因素);
确立每个构架视图的整体结构:视图的详细组织结构、元素的分组以及这些主要分组之间的接口;
软件构架与使用的技术平台密切相关,目前常用的平台有J2EE、.NET、CORBA等等,因此具体的软件构架人员应当具备使用这些平台的软件开发经验;
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-37989-3.html
期待杨洋未来更多的作品
比如反潜
向美囯佬开炮