Web应用系统分析与设计
1 Web应用系统简介
1.1 Web应用特点
- 基于浏览器访问
- 跨平台性
- 易维护性
- 可扩展性
- 分布性
1.2 Web应用架构演进
| 阶段 | 架构 | 特点 |
|---|---|---|
| Web 1.0 | 静态页面 | 只读 |
| Web 2.0 | 动态页面 | 交互、用户生成内容 |
| Web 3.0 | 语义Web | 智能、个性化 |
2 Web系统架构
2.1 B/S架构
B/S(Browser/Server)架构:浏览器-服务器架构
优点:
- 客户端无需安装
- 易于维护和升级
- 跨平台
缺点:
- 服务器压力大
- 网络依赖性强
- 用户体验不如C/S
2.2 C/S架构
C/S(Client/Server)架构:客户端-服务器架构
优点:
- 用户体验好
- 服务器压力小
- 响应速度快
缺点:
- 需要安装客户端
- 维护成本高
- 跨平台困难
2.3 三层架构
表现层:负责用户界面展示 业务逻辑层:负责业务逻辑处理 数据访问层:负责数据存取
3 Web系统设计
3.1 MVC模式
MVC(Model-View-Controller):
- Model(模型):数据和业务逻辑
- View(视图):用户界面
- Controller(控制器):处理用户请求
3.2 前端技术
| 技术 | 说明 |
|---|---|
| HTML | 超文本标记语言 |
| CSS | 层叠样式表 |
| JavaScript | 脚本语言 |
| AJAX | 异步JavaScript和XML |
| 前端框架 | Vue、React、Angular |
3.3 后端技术
| 技术 | 说明 |
|---|---|
| Java | Java EE、Spring |
| Python | Django、Flask |
| PHP | Laravel、ThinkPHP |
| Node.js | Express、Koa |
| .NET | ASP.NET |
3.4 数据库技术
| 类型 | 示例 |
|---|---|
| 关系型数据库 | MySQL、Oracle、SQL Server |
| NoSQL数据库 | MongoDB、Redis、Cassandra |
4 Web安全
4.1 常见Web安全问题
| 问题 | 说明 |
|---|---|
| SQL注入 | 通过输入SQL语句攻击数据库 |
| XSS攻击 | 跨站脚本攻击 |
| CSRF攻击 | 跨站请求伪造 |
| 文件上传漏洞 | 上传恶意文件 |
| 会话劫持 | 窃取用户会话 |
4.2 Web安全防护
- 输入验证
- 输出编码
- 参数化查询
- 使用HTTPS
- 设置安全响应头
参考资源
- 系统分析师教材(第二版)相关章节
- 文老师软考教育