1)领域建模
分析领域特定的问题。比如赶集网这一分类信息网站,她的定位是解决都市人寻求房屋出租、二手房、二手车、二手物品交易、求职招聘等
生活信息的需求的。在领域建模阶段要解决的就是这个软件的定位问题,做什么不做什么。这一阶段由高层领导,市场销售及系统分析师等完成。
2) 平台技术选择
技术选型,比如用什么平台/架构(.net,j2ee,php,python等等)开发,采用什么服务器托管等。这一阶段由系统高层领导,系统分析师及系统架构师等完成。
3) 解决方案
根据选定的平台技术等给出一个可行的解决方案,说明系统会使用什么样的部署结构等。这一阶段由系统分析师及系统架构师等完成。
4) 需求分析
市场技术的可行性已经确定,接下来就是把做什么具体化了。把每一个功能模块及非功能性需求罗列出来。这一阶段由市场销售,系统分析师,产品经理,用户体验师,
测试工程师等完成。
5) 技术实现
需求已经明确,接下来就是设计与实现了。除了实现系统的特定功能外,我们还要实现系统用户的验证与授权,系统日志与异常处理,发邮件与用户交互等。这一部分就是企业级
软件开发中可以复用的切入点,也是和我们系统架构师,软件工程师的
工作密切相关的部分。这一阶段由系统架构师,开发经理,软件工程师等完成。
6)集成测试
在预设的软硬件环境下,测试系统是否很好地满足了用户的需求。
这一阶段由软件工程师,测试工程师等完成。
7) 验收测试
将系统交由用户或用户代表使用。可能会根据反馈进行一定的修改等。这一阶段由产品经理,用户或用户代表,软件工程师,测试工程师等完成。
8)交付
实际交给用户运营与使用。这一阶段由市场销售,技术代表,用户等完成。
9) 维护
根据用户实际使用中给出的反馈或提出的新需求等修改系统。
这一阶段几乎是上面1-8的迭代过程。
什么是框架?
一个框架是在一个给定的问题领域内,一个应用程序的一部分设计与实现。
框架中要包含什么?
框架中应该提供通用的功能与实现,比如用户验证与授权,日志与异常处理,缓存策略与实现,发送邮件,定时数据处理(Jobs),数据访问策略与实现,多语言支持,通用UI组件等。
为什么要开发框架?
较大的软件开发公司都有自己的框架,因为框架中积累了很多通用的功能,可以直接复用。采用框架可以规范开发人员的设计与代码,有利于在一个项目内多人协同工作,一致性好,可维护性好。这样就可以提高质量,缩短开发周期,进而也就提高了生产率,降低了开发费用。
我如何做框架?
我的经验告诉我,开发框架一定要遵循简单封装,决不能过度设计。