在软件设计过程中,应尽量遵循以下原则:
设计可回溯到需求:
软件设计的每个元素应可以对应到需求,保证设计是用户需要的。
充分利用已有的模块:
如果以前的系统中存在一些设计好的、可重复使用的模块,在设计新软件时应尽可能使用已有的模块。
高内聚、低耦合和信息隐蔽:
软件模块之间应该遵循高内聚、低耦合和信息隐蔽的设计原则,以提高模块的独立性和降低模块间的相互影响。
一致性和规范性:
设计小组共同设计软件时,应先制定规范保证各部分工作的一致性,避免出现语义性的错误。
容错性设计:
设计人员应为软件进行容错性设计,避免软件遇到异常数据、事件或操作等潜在问题时,不至于彻底崩溃。
设计的粒度要适当:
在设计阶段,模型的抽象度比源代码高,它涉及到模块内部的实现算法和数据结构,因此不要用具体的程序代码取代设计。
早期评估软件质量:
在设计过程中就需要考虑如何实现,不能等全部设计结束后再考虑软件质量。
设计评审:
设计评审的目的是减少设计引入的错误,总体设计评审主要是评审软件的总体框架结构,详细设计评审则是检查模块内部实现算法的正确性。
模块化:
将软件逻辑地划分为元素或子系统,并包含数据、体系结构、接口和构件的清晰表示。
开闭原则:
软件实体应当对扩展开放,对修改关闭,即在不修改原有代码的情况下进行扩展。
遵循设计原则:
如里氏替换原则、依赖倒置原则、接口隔离原则、单一职责原则、迪米特法则等,以确保软件的可维护性、可扩展性和稳定性。
关注点分离:
将计算机程序分隔为不同部分的设计原则,每一部分会有自己关注的焦点,围绕焦点来进行内容的聚集。
易用性:
按钮名称应该易懂,用词准确,避免摸棱两可的字眼,要与同一界面上的其他按钮易于区分。
规范性:
界面设计应遵循一定的规范,如Windows界面的标准格式,以提高易用性。
帮助设施:
系统应提供详尽而可靠的帮助文档,在用户使用产生迷惑时可以自己寻求解决方法。
合理性:
屏幕布局和元素位置应符合用户的使用习惯和视觉流程。
美观与协调性:
界面设计应大小适合美学观点,感觉协调舒适,能在有效的范围内吸引用户的注意力。
独特性:
在符合业界规范的情况下,设计具有自己独特风格的界面尤为重要,以提升软件的辨识度和吸引力。
快捷方式的组合:
在菜单及按钮中使用快捷键可以让喜欢使用键盘的用户操作得更快一些。
安全性考虑:
在界面上通过控制出错几率,减少系统因用户人为的错误引起的破坏。
多窗口的应用与系统资源:
设计优秀的软件不仅要有完备的功能,而且要尽可能的占用最底限度的资源。
通过遵循这些原则,可以设计出高质量、可维护、可扩展和用户友好的软件。