一、选题背景和意义:
1.1选题背景
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。其中,开闭原则是总纲,要求对扩展开放,对修改关闭;里氏替换原则要求不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;单一职责原则告诉我们实现类要职责单一;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合度;合成复用原则告诉我们要优先使用组合或者聚合关系复用,少用继承关系复用。
软件架构则为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用、指导构件集成的模式以及这些模式的约束组成。软件架构不仅显示了软件需求和软件结构之间的对应关系,而且指定了整个软件系统的组织和拓扑结构,提供了一些设计决策的基本原理。软件架构可以为设计大型软件系统的各个方面提供相应的指导。在软件架构所描述的对象就是直接的进行系统抽象组件构成。系统实现环节细化这些抽象组件成为现实的组件,比如具体的某个类或者是对象。从面向对象领域进行分析,各个组件之前实施的连接实现往往是接口。
由此可见,软件架构非常重要,软件开发者也必须遵循设计原则进行软件架构的设计,否则会产生严重的架构设计缺陷。如果依照有缺陷的架构设计进行实现,会对软件系统造成不可逆的破坏和高昂的维护成本,从而导致系统退化。
本次毕设的目的在于通过一些例子检查别人的设计有没有违反了某一个设计原则;以及能不能做一个工具自动检测是否违反了某一或某些设计原则。
1.2选题意义
(1)研究软件架构缺陷检测技术,保证软件架构设计与实际软件需求甚至用户需求的一致性,是保障开发出正确的、高质量的、满足用户需要软件一个重要环节,对提升最终系统的可维护性、可扩展性、安全性、可靠性、性能等都具有十分重要的意义。
(2)通过本次毕设,了解软件架构及其缺陷检测的基本原理,熟悉并实践基于架构设计原则(design principles)的软件架构缺陷检测方法。
二、课题关键问题及难点:
以上是文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。