把握住了需求分析这一关,下一站我们就可以进行设计了。
软件架构设计在软件产品开发周期中占有很重要的位置,我们开发出来的软件产品在开发伊始到产品发布会涉及到方方面面的角色。
例如:用户、项目管理人员、程序员、测试员、维护人员等等。不同的角色对架构设计的要求也不相同。对于程序员来说更关注模块是否清晰,类的功能是否单一等等,对于测试人员来说,关注的是系统的可测试性。对于维护人员来讲,系统的扩展性、可维护性如何?
一个高质量的软件架构,应该最大限度的考虑并满足不同角色的不同要求。因此我们在进行软件设计的时候,应该进行全面的考虑。一般用来衡量软件设计质量的标准可以从以下几个方面来考虑:
◆功能性
包括完全性、正确性、安全性、兼容性、互用性。
◆效率
产品运行的时间效率和利用的硬件资源两方面。
◆维护性
包括架构的可改正性,可扩充性以及可测试性。如果用户的一个很小的需求变更会引起架构设计很大的变化,那么这样的架构设计的可改正性和可扩充性就比较差。
◆可移植性
包括硬件的独立性、软件独立性、可安装性、可重用性。软件设计是否模块化、可复用性都是应该考虑的因素。
◆可靠性
包括无缺陷性、容错性、可用性。
◆使用性