从技术观点看,软件设计包括
从技术观点看,软件设计包括结构设计、数据设计、接口设计、过程设计。
软件设计是把许多事物和问题抽象起来,应用各种各样的技术和原理,并用它们足够详细的定义一个设备、一个程序或系统的物理实现的过程。这个步骤是由多方面的直觉与判断力来共同决定的。
向对象的设计(OOD)通过模块化信息及其加工方法而不单单是加工方法来让数据对象和加工操作得以互相连接。这个过程依赖于三个极其重要的设计概念:抽象、信息隐藏、和模块化。所有的设计方法都力争展现这些特性;但只有 OOD 的机制才能使设计者能够无需增加复杂性或加以折衷就获得所有三种特性。