Web应用项目开课程总结

目录

介绍

一、开发环境

二、搭建项目框架

1、项目开发流程

①.需求分析和规划阶段

②. 互设计阶段

③. 开发阶段

④. 测试阶段

⑤. 发布和部署阶段

⑥. 运营和维护阶段

2、创建项目

3、相关配置文件

4、启动应用测试

三、业务分析

1、分析业务绘制流程图

2、使用用例图描述功能需求

四、Web项目开发的基础知识点

1、前端开发

2、后端开发

3、网络通信

4、前后端交互

5、版本控制

6、安全性

7、其他工具和技术


介绍

万维网(World Wide Web)是基于互联网的信息系统,由超文本文档和超链接构成。用户可以通过浏览器访问并浏览各种类型的内容,如文本、图像、音频和视频。万维网的核心技术是超文本标记语言(HTML),它改变了人们获取信息、交流和共享知识的方式,成为全球范围内最重要的信息资源网络之一。

一、开发环境

  1. JDK安装
    ①也可使用idea自带jdk,可能与open jdk存在一些区别
    ②傻瓜式安装,完成后配置环境变量

  2. Intellij IDEA安装
    傻瓜式安装,完成后在“文件→设置→插件”中搜索①Alibaba Java Code Guidelines②Gitee并安装

  3. 克隆项目
    ①Fork教学项目
    ②在非中文目录下clone项目“git clone https://gitee.com/xxx/api-practices.git”

  4. 安装mysql-installer-community-8.0.22.0
    ①仅安装Server即可(Server only)
    ②检测安装,可能会有一些依赖安装,按提示安装即可
    ③安装完会有配置,其中密码验证方式,必须选择传统验证(Legacy),强密码方式navicat无法连接
    ④root根用户密码要牢记,开发环境建议使用123456或654321,生产环境不要使用易于猜测的密码
    ⑤其他配置一般按默认即可
    参考:https://www.modb.pro/db/53520

  5. 安装Navicat,并打补丁
    ①安装完成后打开navicat,点击连接输入root用户密码并连接到mysql
    ②创建practices数据库。字符集utf8 -- UTF-8 Unicode,排序utf8_bin

  6. 接口测试工具
    ①一般的接口测试,请在Edge或Chrome上安装postwoman插件
    ②涉及到文件上传,需要安装和使用postman应用
    ③要测试接口需要提交复杂json作为参数时,可使用>>>在线json编辑器<<<

二、搭建项目框架

1、项目开发流程

①.需求分析和规划阶段
  • 确定项目的目标用户和功能。
  • 进行市场调研和用户需求分析,了解目标用户群体的需求。
②. 互设计阶段
  • 进行系统架构设计,包括数据库设计、后端服务和前端界面设计。
  • 确定项目的技术架构和技术栈(如前端框架、后端框架、服务器等)。
  • 设计项目的数据库结构和数据模型,以便于存储和管理数据。
③. 开发阶段
  • 根据原型设计和交互设计文档,使用前端、后端框架和工具,如React、Vue.js、Node.js、Django等,进行Web应用程序的前端、后端开发。
  • 设计和创建项目的数据库结构和数据模型。
  • 编写数据库的存储过程、触发器等操作,以便于管理和查询数据。
④. 测试阶段
  •  进行负载测试,以测试项目在高并发和高负载情况下的性能。
  •  进行安全测试,以确保项目能够防范各种安全漏洞和攻击。
  •  进行兼容性测试,以测试项目在不同浏览器、操作系统和设备上的兼容性。
⑤. 发布和部署阶段
  •  部署项目到服务器或云平台上,并spring boot内置了web容器,jar包直接运行;若已存在外部web容器可使用war打包配置Web服务器、数据库、域名等。
⑥. 运营和维护阶段
  •  处理项目的错误和漏洞,并进行定期更新和维护。
  •  针对项目需求和市场变化,不断开发和更新Web应用程序的功能和特性。

2、创建项目

①使用Spring Initializer创建项目,建议使用IDE创建

若官网start.sprint.io无法链接,可切换到阿里云镜像start.aliyun.com,但spring boot的版本可能存在差异 

可在官网页面创建,并无本质区别,IDE可检测jdk

②构建工具:Maven

对于构建Java程序,Maven出现时间早,支持范围更广,使用xml编码更易阅读;Gradle支持增量构建,性能更强,使用groovy或kotlin语言,对于初学者有一定的要求

③JDK版本,根据个人安装的情况选择

高级的语言版本具有更多的语言特性,尤其是集合API上,更方便易用,但新版本对于反射增加了限制

④打包方式Jar(官方推荐)

spring boot内置了web容器,jar包直接运行;若已存在外部web容器可使用war打包

⑤spring boot版本,根据个人安装的情况选择,在官网当时提供的版本中选择,尽量选择发行版本

⑥选择依赖,根据个人安装的情况选择

3、相关配置文件

①pom.xml

  • 项目对象模型(Project Object Model)是Maven工程的基本工作单元,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖。若需要添加其他依赖,可在pom中添加。
  • pom文件中指定源码文件编码为UTF-8
  • pom中配置maven打包跳过测试,或忽略测试失败

②application.yml

  • application.properties→application.yml,应用程序配置文件的格式由properties修改为yml,yml文件的结构更为清晰
  • yml中配置数据源,包括驱动类、数据库地址、用户名、密码等
  • yml中配置数据库架构变化时的更新策略为update:必要时才更新。其他还有全部删除后更新、每次会话删除更新等。开发时配置为update;在项目部署后,可将该项配置为none,避免在生产数据库中更新造成数据丢失
  • yml中配置jpa的show-sql为true,方便开发时在控制台查看和定位问题

③为不同的环境添加个性化的应用程序配置文件

  • 比如开发环境下的application-dev.yml和生产环境下的application-prd.yml,将共同的配置留在application.yml中

4、启动应用测试

①可在控制台看输出,出现Started XXXApplication in xxx seconds,表示运行成功

②可在yml中配置日志级别,开发时输出详细信息,生产环境根据需要记录关键信息

③应用启动并测试成功后,将创建的项目框架推送到远程仓库

三、业务分析

1、分析业务绘制流程图

①什么是业务流程图

进行需求分析时,要明确某一业务,除了识别涉及的业务对象、业务对象各种职能外,还要分析业务的运转过程,在实际业务信息化的过程中,分析当前存在的不合理的流程,帮助用户优化业务流。

②业务流程图的类型、规范及组成要素

类型:基本业务流程图、泳道图、活动图
规范:开始符号、结束符号、流程/活动、流程线、分支

③该项目的参与者

④该项目的参与者各自流程/活动的名称,及相应的顺序

[参考文章]

2、使用用例图描述功能需求

①什么是用例图

  • 用例图(use case)是表述用例、参与者以及它们之间关系的图,从用户的角度来描述对信息系统的功能需求,分析产品的功能和行为
  • 通过用例图,可以明确系统的用户有哪些、用户需要系统提供的服务有哪些、用户为系统提供哪些服务
  • 用例建模的一般方法:识别参与者→识别用例→建立用例关系→编写用例描述

②用例图的构成及规范 

  • 参与者actor:角色、系统的用户,以人形符号表示
  • 用例use case:用户期望系统所能提供的服务或功能,用例名为动词+名词,符号为椭圆并在内部显示用例名。用例名要使用业务语言而不是技术语言,比如可以说上架商品,而不能是插入一条商品数据
  • 用例关系:描述参与者、用例之间的连接线,有包含、扩展、泛化等

③识别用例

从业务中寻找用例是非常关键的一步,需要关注以下几个问题:

  • 系统有哪些参与者(使用者、维护管理者、接入设备如扫码枪等、外部API等)
  • 各参与者希望的功能(参与者角度主动做的事情,可询问业务人员或代入角色)
  • 系统主动做的事(比如微博禁言72小时自动解禁功能),仅2)则会遗漏
  • 外部事件引发的系统需要做的事(比如应急指挥系统中引用天气API)
  • 定时自动操作(比如货运18点统计),不涉及某个业务人员,也容易遗漏//对照业务回答完以上问题,基本就不会遗漏用例

④撰写用例描述

用例图没有描述系统行为的细节,所以需要文字对其进行详细描述。主要包括:

  • 用例编号:最好能从编号识别出子系统、模块。比如以S表示电商子系统C表示购物车模块,则编号可以类似S-C-01、S-C-02
  • 用例名称:即use case图中的名称
  • 用例概述:描述用例的用途,包括执行用例的用户、执行可该用例起到了什么作用
  • 前置条件:本用例必须满足的条件。如要求另一个用例已经执行或用户有运行本用例权限。并非每个用例都有前置条件
  • 基本事件流:从用户角度描述执行本用例的具体步骤
  • 扩展事件流:可执行也可不执行的事件,比如加入购物车,可以先登录,也可以不登录匿名加入
  • 后置条件:用例执行完成之后,可能的结果,比如登录系统,后置条件就是登录成功进入系统或登录失败提示错误
  • 优先级:用例的优先次序,如果是被依赖的用例,其优先级则高于依赖它的用例

 ⑤分析用例关系

  • 参与者之间的关系基本是泛化关系(一般与特殊),以空心箭头表示;参与者与用例之间基本就是关联关系,一般用单箭头表示
  • 包含关系:一个用例的行为包含了另一个用例,要完成此用例则必须执行所包含的用例,比如在ATM上取款,取款这个用例与输入卡密码这个用例就是包含关系,因为不输入卡密码就无法取款。包含关系使用虚线箭头表示,箭头指向被包含的子用例,线上标注<<include>>

  • 扩展关系:一个用例本来是完整的用例,即使没有扩展用例的参与,业务也是完整的,只有在特定情况下扩展用例才执行。比如在ATM上取款,取款这个用例和打印凭条这个用例就是扩展关系,取款可以打印也可以不打印凭条。扩展关系同样使用虚线箭头表示,箭头指向基本用例,线上标注<<extend>>

  • 泛化关系:泛化关系如同继承,子用例继承了父用例的所有结构、行为和关系,是其特殊形式。比如电商系统用户结账,可以通过支付宝花呗支付、也可以通过银行卡支付。泛化关系的表示形式与参与者的表示形式一致

四、Web项目开发的基础知识点

1、前端开发

  • HTML(超文本标记语言):用于构建网页结构和内容。
  • CSS(层叠样式表):用于设置网页的样式和布局。
  • JavaScript:用于实现网页的交互和动态效果。

2、后端开发

  • 服务器端语言(如Python、Java、PHP等):用于处理服务器端的逻辑和数据。
  • Web框架(如Django、Flask、Spring等):用于简化后端开发流程,提供各种工具和功能。
  • 数据库(如MySQL、MongoDB等):用于存储和管理数据。

3、网络通信

  • HTTP(超文本传输协议):用于客户端和服务器之间的通信,包括请求和响应等。RESTful
  • API:一种设计风格,用于创建可靠、灵活和易于扩展的Web服务。

4、前后端交互

  • AJAX(异步JavaScript和XML):用于在不重新加载整个页面的情况下,与服务器交换数据并更新部分页面内容。
  • JSON(JavaScript对象表示法):一种轻量级的数据交换格式,常用于前后端数据传输。

5、版本控制

  • Git:用于对代码进行版本控制和团队协作,能够有效地管理代码的变更和历史记录。

6、安全性

  • 跨站脚本攻击(XSS):一种常见的Web安全漏洞,需要采取相应的防范措施。
  • CSRF(跨站请求伪造):需要了解并实施有效的CSRF保护机制。

7、其他工具和技术

  • 前端框架(如React、Angular、Vue.js等):用于构建复杂的前端应用。

  • 包管理工具(如npm、yarn等):用于管理和安装项目依赖的软件包。

  • 构建工具(如Webpack、Gulp等):用于自动化构建、打包和优化前端资源。

  • 测试工具(如Jest、Mocha等):用于编写和运行测试用例,确保项目的质量和稳定性。

  • 24
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
课程设计: 1.概述 本课程旨在介绍如何发一个基于web的视频播放器。通过学习本课程,学生将能够掌握HTML5、CSS3和JavaScript等前端技术,了解视频编解码原理,掌握常见视频格式和协议,以及了解常用的视频播放器框架和API。 2.课程内容 2.1 前端技术 2.1.1 HTML5和CSS3 HTML5和CSS3是前端发的基础技术,是web应用和网页的必备技能。本课程将介绍HTML5和CSS3的相关知识,包括语法、标签、样式、布局等内容。 2.1.2 JavaScript JavaScript是一种动态脚本语言,用于web应用和网页的交互效果。本课程将介绍JavaScript的相关知识,包括语法、变量、函数、对象、事件等内容。 2.2 视频编解码原理 2.2.1 视频编解码原理 视频编解码是将视频信号转换为数字信号,并将数字信号转换为视频信号的过程。本课程将介绍视频编解码的基本原理,包括采样、量化、编码、解码等内容。 2.2.2 常见视频格式和协议 本课程将介绍常见的视频格式和协议,包括MPEG、AVI、FLV、H.264、RTMP等内容。 2.3 视频播放器框架和API 2.3.1 常见视频播放器框架 本课程将介绍常见的视频播放器框架,包括Video.js、JW Player、Flowplayer等内容。 2.3.2 视频播放器API 本课程将介绍视频播放器API,包括播放、暂停、停止、快进、快退、音量控制等内容。 3.课程目标 通过学习本课程,学生将能够: - 掌握HTML5、CSS3和JavaScript等前端技术; - 了解视频编解码原理,掌握常见视频格式和协议; - 了解常用的视频播放器框架和API; - 发一个基于web的视频播放器。 4.教学方法 本课程采用理论讲解和实践操作相结合的教学方法。理论讲解主要介绍相关概念和知识,实践操作主要通过编写代码实现视频播放器的发。 5.考核方式 本课程考核方式为实验报告和视频播放器项目。实验报告要求学生对课程内容进行总结和归纳,视频播放器项目要求学生独立完成一个基于web的视频播放器,并提交完整的源代码和演示视频。 6.参考书目 - 《HTML5与CSS3基础教程》 - 《JavaScript高级程序设计》 - 《视频编码技术与标准》 - 《流媒体技术与应用》 - 《Web前端发技术》

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值