目标:项目背景,需求,环境的搭建
难点:环境的搭建
1.学习方法:
一个项目:架构师、高级程序员、一般程序员
难度很大但是普通的程序员做很简单
所以自己对自己的定位要准确(一般程序员)。
也就是独立模块开发
(企业最需要的人)培养的是独立模块开发的人:根据需求去编码实现,实现符合客户需求的功能
要求:1,记笔记(开会中也需要记笔记)
2.遇到问题要去总结(问同事):工作日志。
2.项目背景:
工作中首先要了解项目的背景:为什么产生的,项目的作用,解决了什么问题。
医药采购:
医疗行业的问题:药价贵
早期监管部门没法去监管医院和供应商,都是医院和供应商之间线下交易。
解决的办法:创建以省为单位的医药招标平台:录入药品的信息:药品名称、通用名,价格.....
药品监管单位查询药品信息,货比三家,从中挑选中标药品,确定中标药品目录,确定中标价格(统一价)
还包括了省级的采购平台:把招标平台的中标目录引导了该平台,医院和供应商在该平台交易
监管部门只需要通过该平台监管即可。
现在要求所有卫生室、医院都可以上网采购。
3.项目概述:
理解项目背景要去画图理解该项目是怎么回事。
4.分析开发该系统:
如何去分析需求呢:
1.找到用户的角色:
1.监管单位
市卫生局(药政科、卫生院(负责审核医药的采购单)):负责通过采购平台进行监管,主要监管医院和供货商的业务交易情况。
2 医院:(采购方):通过平台进行药品的采购
卫生室:最小的医疗单位
3.供货商:通过平台进行商品的销售
4.系统管理员(任何系统至少有一个):整个系统的维护,配置,备份。
每一个角色可能还有子账号。
5.业务流程(角色在系统中干什么):
不同用户共同完成一个业务的流程(画图):各自在业务流程中需要做什么
5.业务功能模块(开发的时候分的是系统架构模块和这个无关)
将相似或一致的功能组成一个模块。
采购单管理模块:
1.创建采购单
2.提交采购单
........
模块集成完了后,明确各个模块中的功能是谁用的。
6.外部接口(来源于外部系统的数据):
1.省级药品目录接口
2.系统管理接口:通过单点登录系统进行用户认证,将第三方系统中的区域管理,系统参数配置等功能接入。
7.需求的分析:
1.用户的需求分析:
进行需求调研,一份用户需求报告及用户需求文档。
2.系统的需求分析:
依据用户需求文档,进行系统需求分析,编写“系统规格需求说明书”。
3.系统需求规格说明书:
描述:
需求用例:功能描述,功能接口,前置条件(功能的约束条件(达到什么条件才能使用该功能),后置条件)、事件流(功能的操作流程),可选事件流。
8.项目的配置与设计:
1.企业中最常用的采用模型是增量模型。
2.搭建数据库
3.模块的划分方法:
4.系统设计:
系统概要设计(必须要做):
1.设计内容:
1.主要系统框架
2.系统内外部的接口:
内部接口:本平台各个子系统的的接口,模块之间的接口
外部接口:和其他系统的接口
网络部署:
成果:系统概要设计文档
系统详细设计(不是必须):
成果:系统详细设计文档
设计内容:类、接口、及方法的描述
程序员参考此文档进行编码
系统的模块划分:
系统技术架构的模块:依据业务模块进行划分。
划分的方法:
1.以技术架构的纵向拆分方法
优点:分层清晰,方便程序员开发。
企业中常见的是将系统功能进行抽取组成一个子系统,让其他系统公用该子系统
缺点:需要去各层拷贝代码,如果有其他功能依赖该功能抽取代码,系统报错。
2.以业务模块的横向拆分方法
将相同业务模块的代码抽取出
优点:按照模块分包更加的清晰,方便开发维护,适合大中项目
缺点:虽然按照模块将包创建,但是模块共存于一个工程,每个模块的运行都必须将其他模块同时进行编译部署。开发效率低。
3.以maven作为架构进行模块的划分
maven是一个项目的管理工具:maven提供规范的依赖管理。
1.将每个模块作为一个maven工程。
系统的架构:
1.技术架构:
springMVC+mybatis+spring+mysql
2.搞清那些子系统可以以后复用。
1.base系统基础模块
1.包括系统管理功能,其他业务都依赖于该base模块。
2.base模块依赖于技术架构模块
2.系统业务模块:
依赖于base模块
3.常用工具类模块
将常用的工具抽取出来组成一个单独的maven工程。
base模块依赖于工具类模块。
架构图绘制
最终要创建的maven工程:
1.系统主工程模块
2.系统工具类模块
3.技术架构模块
9.配置maven环境