一.软件开发常识
(1)项目开发流程
1. 立项
项目可实施性分析:(某项目)100W项目,开发周期预计6个月,需要10人,运营(人力)成本2W/人
产品经理入住银行,进行需求调研《需求设计说明书》
需求研讨会:团队所有成员参加2. 设计
UI/UE工程师:《页面原型》
架构师:统一开发环境,项目技术选项,项目架构设计,数据库设计等等《概要设计说明书》
产品经理:接口规范、方法规范、参数规范、步骤要求等等《详细设计说明书》3. 开发
coding(编码),码农4. 测试
白盒测试:代码逻辑和性能
黑盒测试:用户体验
灰盒测试:黑+白5. 部署
运维人员产品部署上传维护....
(2)UML统一建模语言
统一建模语言(UML,UnifiedModelingLanguage)是面向对象软件的标准化建模语言。
简单来说:通过一些专业化的图形,直观的展示项目需求(用例图、时序图、类图)等等。
用例图: user case
-
图形化的形式展示项目中的所有功能,以及功能的参与者
设计工具PowerDesigner(PD)
-
绘制用例图、数据库等
(3)开发环境:
jdk版本1.8
maven版本:3.5.2
mysql版本:5.7
(4)创建新的工作空间
设置sdk,以及其他:
整体项目编码的设置
maven的设置
二.Maven:
(1)基础回顾
Maven项目管理工具
依赖管理,项目构建
(2)Maven的依赖传递
什么是依赖传递
在maven中,依赖是可以传递的,假设存在三个项目,分别是项目A,项目B以及项目C。假设A依赖B,B依赖C,那么我们可以根据maven项目依赖的特征不难推出项目A也依赖C。
如果我们项目直接依赖的坐标过多,可能就会产生版本冲突问题:
(3) 如何解决依赖冲突问题?
1.依赖调节原则:
第一声明优先原则:
在 pom 文件中定义依赖,谁先声明就用谁
路径近者优先原则
在pom 文件中定义依赖,谁的路径近就用谁
2.排除依赖
通过在pom文件中排除不需要的依赖jar包
3.版本锁定
在pom文件中,直接指定项目依赖的所有版本号,导入依赖的时候就不需要指定版本
-
properties中定义所有的公共版本号常量
-
通过dependencyManagement锁定版本号:不会导入依赖jar包
-
dependencies导入依赖:不需要指定版本号
<!--1.定义版本号常量-->
<properties>
<spring.version>5.2.5.RELEASE</spring.version>
<junit.version>4.12</junit.version>
</properties>
<!--2.版本锁定-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<!--3.依赖管理-->
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
三.Maven构建ssm项目
基于maven构建ssm工程,规范依赖管理。场景:查询所有企业信息
(1)创建数据库
(2)创建web模块“
(3)导入相关依赖:
<!--统一版本号-->
<properties>
<spring.version>5.0.5.RELEASE</spring.version>
<springmvc.version>5.0.5.RELEASE</springmvc.version>
<mybatis.version>3.4.5</mybatis.version>
</properties>
<!--锁定依赖版本-->
<dependencyManagement>
<dependencies>
<!-- Mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<!-- springMVC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${springmvc.version}</version>
</dependency>
<!-- spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version&