满足的方式 荣耀 2002冬 我感兴趣但很不正规的软件分类方法为通用商品软件、行业专用软件、行业项目软件以及其它。 通用商品软件,比如MS Office软件,目标用户群最为广泛。行业专用软件,比如财务软件、档案管理软件,以满足特定用户群体需求为目标。 用户需求有别,但同一软件的目标用户需求必有交叉之处(否则他(她)就不足以成为这个软件的用户)。如图1所示:
图1 通用商品软件的设计出发点,一般是尽可能地满足各目标用户需求的并集(图2),以争取最大数量的用户。
图2 行业专用软件往往具有严格而统一的业务规范,有些规范甚至已经形成法规条文。这种软件系统目标明确,需求确定,边界清晰。在它看来,目标用户群的需求具有最大化的交叉,可以理想化为图3所示。
图3 在吃透行业规范并充分了解目标用户群特色需求的基础上,此类软件的开发相对容易操作。出发点首先是满足规范,然后综合考虑尽可能多的用户习惯和附加功能需求,后者往往正是该软件不同于竞争对手的特色之处。见图4。
图4 对于行业项目软件来说(我们假定这个行业项目软件(的开发商)要面对不止一个客户),目标用户需求如图5所示。
图5 由于这种软件的目标用户业务需求容易发生变化,而且不同用户不相交的那部分需求,内容差异可能非常大,所以,很难象通用商品软件那样,基于用户需求的并集而开发。 此类软件传统开发方式是定制,即完全以单个目标用户需求为出发点。这种开发方式要求开发商投入更多的人力、时间、财力,后期维护成本大,系统可扩充性较差,软件代码重用程度较低。目前稍具规模的软件开发公司,一般都不再采用这种方式。 将用户业务需求进行合理抽象,提取共性,可以实现出软件支撑平台和组态工具,藉此,用户业务可以组态拼装或二次开发而成,这也是目前企业级项目软件流行做法。 这种抽象过程,说白了,就是对用户业务需求取交集。至于究竟可以交叉多少,不但取决于用户业务的相似程度(一般来说,同一行业用户需求总是具有极大的相似性),更取决于软件设计人员对该行业业务的认知水平以及软件设计抽象能力。 以抽象层软件满足目标用户共同需求,辅以定制手段,满足特定用户特色需求,可以尽量避免定制开发的弊端。 定制部分也可以再分层次。对于图6中蓝色需求部分来说,软件系统可以提供针对业务层的二次开发工具,而对于绿色区域来说,或许需要动用Visual Studio这样的原生开发工具。
图6 (此图目的只为示意,并非精确比例。比如说,绿色区域一般没有这么大) -完- |
|