软件工程复试专业课-软件开发

1 软件体系结构

1.1 分层结构

分层结构将系统拆分为垂直层级(如表现层、业务层、数据层),每层职责单一,上层调用下层,禁止跨层访问。优势是解耦、易维护,但多层通信可能降低性能。典型如三层架构。

1.2 C/S、B/S

C/S:
客户端-服务器(C/S)将系统分为两个角色:

  • 客户端:请求服务(如界面交互),
  • 服务器:提供核心功能与数据管理。
    通过请求-响应模式通信(如浏览器访问网站),优势是资源集中管理、易扩展,但依赖网络且服务器可能成为瓶颈。典型如Web应用、在线服务。

三层C/S:
客户端-服务器三层架构将系统分为:

  1. 客户端层(表现层):处理用户交互(如UI)。
  2. 应用服务器层(业务逻辑层):执行业务规则与核心逻辑。
  3. 数据库服务器层(数据层):负责数据存储与访问。

特点

  • 层间通过网络通信,职责分离(如客户端专注交互,服务器处理逻辑与数据)。
  • 优势:易扩展、安全性高、维护独立;
  • 缺点:网络延迟、部署复杂度增加。

典型场景:Web应用(浏览器-Web服务器-数据库)。

B/S:
B/S架构(Browser/Server):

浏览器作为统一客户端,服务端集中处理业务与数据;

无需安装,通过HTTP协议通信,跨平台访问(如网页应用);

升级维护仅需更新服务端,但依赖网络与浏览器性能。
典型场景:Web邮箱、在线办公系统。

1.3 MVC

MVC(模型-视图-控制器)将应用分为:

  • 模型(Model):管理数据与业务逻辑;
  • 视图(View):处理界面显示(如UI/网页);
  • 控制器(Controller):接收用户输入,协调模型与视图更新。

核心:职责分离,数据与界面解耦,提升可维护性,常用于Web框架(如Spring MVC)。

1.4 微服务

微服务将系统拆分为小型独立服务,每个服务专注单一业务功能,通过API或消息中间件通信。支持独立开发、部署、扩展,技术栈灵活,适合快速迭代和云环境,但需管理分布式复杂度(如监控、事务)。典型如电商拆分为订单、支付、库存等服务。

1.5 SOA

将系统拆分为独立服务(如订单、支付服务),通过标准化协议(如Web服务)通信,服务松散耦合、可复用,强调整合与跨系统协作,适合企业级复杂业务集成。但设计和管理成本较高。

1.6 管道-过滤器

将数据处理拆分为独立过滤器(处理单元),通过单向管道串联,数据按流式传递。核心是模块化、可复用(如编译器流水线)。优势是高灵活性、易扩展,但不适合强交互或状态依赖的场景。

1.7 单体架构

单体架构所有功能集中在一个应用中,代码紧密耦合,统一部署维护。优点是开发简单、部署快,但扩展性差,复杂度上升后易出现维护困难。常见于小型项目或早期系统。

2 中间件

2.1 简介

1、中间件是系统软件和应用软件之间连接的软件、以便于软件各部件之间的沟通
2、是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关服务的软件
3、中间件不仅试下互联,还要实现应用之间的互操作

2.2 常见中间件

在这里插入图片描述
nacos

3 XML

在这里插入图片描述

4 主流软件开发技术

Spring框架

Spring框架是一个全面的解决方案,提供了依赖注入、面向切面编程等功能,极大地简化了企业级应用的开发。它的核心是IoC(控制反转)容器,负责管理应用程序中的对象,通过依赖注入将对象组装起来。Spring MVC是基于Spring的Web框架,采用MVC(Model-View-Controller)架构模式,提供了丰富的注解支持、数据绑定、表单处理等功能

Spring Boot框架

Spring Boot是在Spring的基础上构建的,它通过自动化配置和快速启动,使得开发者能够更快速地搭建和部署应用程序。Spring Boot的目录结构清晰,包含了控制器层、实体类、DAO层、服务类等,以及Spring Boot配置文件、静态文件目录和模板文件目录

Hibernate框架

Hibernate框架为数据持久化提供了便捷的解决方案,它将对象与数据库表映射起来,使得开发者可以使用面向对象的思维来处理数据库操作。Hibernate支持对象关系映射、Hibernate查询语言(HQL)、缓存机制以及事务管理

MyBatis框架

MyBatis是一个优秀的持久层框架,它通过XML或注解的方式将Java方法映射到SQL查询,提供了丰富的操作数据库的方式。MyBatis支持动态SQL、延迟加载、存储过程调用等特性,适用于需要对SQL进行精细控制的场景

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值