软件设计
软件设计是从软件需求(“规格说明书”)出发,根据需求分析阶段确定的内容,设计软件系统的整体结构、子系统、数据库、界面及接口,以形成软件的具体实现方案的过程。
软件设计方法论的基本原理已经经过了多年的进化。在软件开发的生命周期中,软件设计是对软件需求进行分析以形成软件内部结构的描述说明的活动。耦合和内聚是两个用来评估软件设计质量的方法。
软件设计的基础是软件需求,包括“功能性需求”与“非功能性需求”。设计的目标就是使所设计的系统能够被开发方顺利地实现,并且恰如其分地满足用户的需求,使开发方和用户的利益极大化。
依据“分而治之”的思想,我们把系统设计过程划分为两个阶段:高层设计阶段和详细设计阶段。高层设计阶段的重点是系统架构设计。详细设计阶段的重点是用户界面设计、数据库设计、类或模块设计、数据结构与算法设计等。

软件体系结构性质
合适性 结构稳定性 可扩展性 可复用性
用户界面设计
数据库设计
数据库性能优化问题
为了提高性能,有时可进行反规范化处理,即通过合并一些表,或者在表中创建冗余的列,对符合3NF的表结构进行修改,从而减少表连接操作代价,达到提高性能的目的。
优化数据库的环境参数也能够提高数据库的性能。例如给服务器配置更快的CPU,增加内存等。DBMS的数据库引擎是非常消耗内存的,内存对数据库性能影响比较大。