周末值班,没多少事情,来说说关于商业化开发的话题。
商业化开发的重要特征有两个:时间紧迫和功能优先,这就导致商业化开发要具备两个相辅相成的框架:软件技术框架和业务逻辑框架。
所谓时间紧迫,是从企业对项目需求的程度来说的,一般当企业需要一套软件项目来为自己的生产服务的时候,都是非常紧迫的,如果软件的需求可以放到2,3年之后使用的,他们也不会现在就提出需求的,所以商业化项目的周期都不会时间太长。这样一来,开发单位就要想尽一切办法缩短工期,那么采用成熟稳定的软件技术框架一般都成为开发企业的首选。技术框架的使用成为确保工期的一个重要方面,但技术框架的选择也要兼顾到业务逻辑框架的需求,比如最基础的,权限体系,可扩展性和扩展开发效率等,都是基础技术框架要考虑的。
所谓功能优先,就是要以实现项目需求为首位,只有你的软件能用、好用,企业才会买你的帐。这里就要涉及到业务逻辑框架了,业务逻辑框架要解决的核心问题是如何化繁为简,具体来说就是进行业务需求分析,抽象业务逻辑,最终转化到软件开发逻辑。比如具体的业务要有具体的数据支撑,数据库的设计要兼顾到逻辑实现的简单和可扩展,具体的业务流程要高度归纳和概括,同一类别的要设计成一个抽象逻辑,只需在此逻辑上扩展和具体就可以适应同类业务逻辑的各种具体需求,大到以不变应万变的目的,对于软件逻辑的设计将起到大幅提高效率的作用。如果业务逻辑抽象的很糟糕,或者不够精简,将导致软件逻辑上大量的重复开发,效率很难提高。
两个框架在基础层面相对来说比较独立,一个是技术基础的选择,一个是业务逻辑的归纳,一旦开发进行时,两个框架将互相产生重大影响,业务逻辑抽象水平的优劣将导致技术框架的可扩展性的高低,而软件框架可扩展性的高低也将影响业务逻辑的具体实现的开发难度和开发效率。
当然最终落实到产品上来说,直观的东西就是软件系统,从这个角度来说,商业化软件开发就是软件技术框架在业务框架的影响下,从架构选优到根据业务逻辑不断扩展充实完善软件逻辑最终成为一个可以实施应用的产品的过程。