纯属个人学习和开发项目小小经验总结:
★ 需求分析
● 收集需求
— 确定甲方各业务的接口人
— 捋顺业务线、熟悉整个业务流程
— 理解需求(合理引导和需求挖掘)
● 分许、转换
— 线下业务转换为线上业务
— 需求的定义描述
— 功能性需求
— 非功能性需求
● 需求分析说明书
一 项目背景
— 行业(电商)
— 模式(B2C)
一 功能性需求
— UML(用例图)、概念模型等等来描述
一 非功能性需求
— 技术类
— 系统安全性
— 性能方面
— 可扩展性
— 可靠性
— 易用性
— 与其他系统的兼容性
— 非技术类
— 成本控制
— 项目交付物(需求分析说明书、软件开发计划、概要设计说明书、详细设计说明书、软件测试计划、测试用例等)
系统架构目标:可靠性(reliable)、安全性(secure)、可扩展性(scalable-pv、extension)、可定制化(customizable)、可维护性(maintainable)、用户体验(customer experience)、市场时机(time to market)
● 原型设计
● 需求确认
★ 总体设计
一 系统架构设计
— 开元框架:SSM SSH SpringMVC+Spring+M SpringMVC+Spring+H
— Spring框架:统一、高效的方式整合整个应用。IOC,AOP
— SpringMVC
— M:javabean service dao
— V:jsp velocity freemarker
— C:Struts2 SpringMVC
— ORM
— MyBatis Hibernate
相对于MyBatis,Hibernate过于笨重,不能控制sql语句
— 缓存(EHCache、memcache、OSCache、redis)
一 部署架构设计以及策略分析
一 数据库设计
— PowerDesigner(概念模型:CDM、逻辑模型:LDM、物理模型:PDM)
一 功能模块设计
— 合同管理
— 资产管理
— 人员管理
★ 环境搭建
一 创建Web工程,集成框架
一 版本控制工具(SVN)(Git)
一 开发环境准备