1 .软件设计软件设置需求分析得到的软件需求规格说明,综合考虑各种制约因素,探索可行的软件解决方案,最终提供方案的逻辑表示。 包括文档、模型等。
设计元素:给出当前设计模型的模块,包括子系统、组件、类和流程。
设计模型:软件问题解决方案的逻辑表示
在体系结构设计——宏观上,说明了对象软件系统的总体结构界面设计用例设计——设计要素如何协同工作,实现各软件需求模块设计数据模型设计——持久数据的设计方案抽象和逐步细化
模块化(模块内高凝聚、模块间低耦合) ) ) ) ) ) ) )。
隐藏信息(模块只交换必要的信息,增强模块的独立性) )。
关注点分离
2 .软件设计流程
)设计计划)明确输入定义设计流程的目标、输出产品及验收标准,确定全球设计战略制定人员的角色指定工作计划;2 )设计活动a )体系结构设计目标)软件系统体系结构(顶层体系结构在明确定义关键组件、关键类的角色划分和创建关系的同时,描绘它们在物理运行环境中的部署模型。
顶层体系结构还必须为经常构成目标软件系统体系结构的技术基础设施的软件系统的全球基础技术问题提供技术解决方案。
体系结构模型:
管道和过滤模式分层模式黑板模式客户服务器模式(CS ) b .接口提供易于使用的人机交互界面,以帮助用户使用对象软件系统实现所有业务需求
c .用例设计用户界面模型和体系结构模型的设计要素如何协同实现各项软件要求。
d .模块设计确定模块的具体接口定义,设计模块内部结构。 也就是说,设置其中包含的(更细致的)模块。
通过将模块的影响限制在模块的控制范围内,软件今后的修改和维护变得简单。
e .数据模型设计数据结构设计、数据库设计、数据文件设计统称为数据模型设计。
持久的数据设计。
在许多软件系统中,数据是核心。
3 .软件设计质量4 .可信软件设计形式化方法、形式化验证
5 .软件设计规范说明软件设计过程中各项活动的结果应最终记录在案,形成正式的软件设计规范说明,作为软件设计的输出。
6 .软件设计评审