在设计阶段,将集中研究系统的软件实现问题,包括体系结构设计、详细设计、用户界面设计和数据库设计等。与分析一样,设计也是一个建模的活动,它在分析模型的基础上完成在实现环境的类建模、状态图建模、协作建模、组件建模、部署建模、持久建模和用户界面原型,实现从需求分析到软件实现之间的跨越。通常,设计活动划分为系统设计和详细设计等两个主要阶段,其中系统设计是选择合适的解决方案策略,并将系统划分成若干子系统,从而建立整个系统的体系结构;详细设计是细化原有的分析对象,确定一些新的对象、对每一个子系统接口和类进行准确详细的说明。
设计的原则:模块化、耦合度和内聚性和复用性。
通常,软件体系结构设计软件系的总体组织、全局控制、数据存取以及子系统之间的通信协议等。
几种典型的软件体系结构:仓库体系结构、分层体系结构、MVC体系结构、客户机/服务器体系结构和管道和过滤器体系结构。