软件体系结构实验三:
一、 实验内容
个人通讯录系统的设计目标是能够轻松地管理个人的联系人信息,包括添加、修改和删除操作。联系人信息包括姓名、住址、电话。整个系统的功能图如下图所示:
任务1:采用二层C/S结构实现“个人通讯录系统”;
任务2:采用三层C/S结构实现“个人通讯录系统”;
任务3:采用B/S结构实现“个人通讯录系统”。
二:实验结果:
实验源代码:
https://github.com/Redbiga/SA3.git
开发环境是:JDK:1.8,tomcat:9.0.65
数据库结构:
两层CS体系结构:
逻辑结构:
源程序代码结构:
运行界面截图:
三层体系结构:
逻辑结构:
源程序代码结构:
运行界面截图:运行结果同两层体系结构,只不过业务逻辑层放在服务层处理了。
BS结构:
逻辑架构:
源代码程序结构:
方案比较:
三层C/S结构相对于二层C/S结构更加灵活,可以更好地实现应用功能的独立性,提高系统和软件的可维护性和可扩展性; 二层C/S结构相对于三层C/S结构来说,缺点在于其数据处理能力较弱;B/S架构相对于C/S架构来说,具有以下优点:①跨平台性好;②客户端零维护;③易于维护4. B/S架构相对于C/S架构来说,缺点在于其个性化能力低,响应速度较慢。
总结:
C/S结构是一种常见的软件体系结构,它将整个系统分为客户端和服务器端。二层C/S结构是指只有一个服务器,且以局域网为中心的结构。三层C/S结构是指分为两类服务器(数据库服务器和应用服务器)和用户的结构。三层C/S结构相对于二层C/S结构更加灵活,可以更好地实现应用功能的独立性,提高系统和软件的可维护性和可扩展性; 三层C/S结构的优点包括:①允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,能提高系统和软件的可维护性和可扩展性;②允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;③应用的各层可以并行开发,可以选择各自最适合的开发语言;④利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层1. 二层C/S结构相对于三层C/S结构来说,缺点在于其数据处理能力较弱,安全性难以控制。
B/S架构是指浏览器-服务器架构。B/S架构相对于C/S架构来说,具有以下优点:①跨平台性好;②客户端零维护;③易于维护4. B/S架构相对于C/S架构来说,缺点在于其个性化能力低,响应速度较慢。
总体而言,二层C/S架构、三层C/S架构、B/S架构各有优缺点。选择何种架构需要根据实际情况进行权衡。