软件开发架构

【 一 】软件开发架构图

【 1】ATM和选课系统

三层的开发架构

  • 前段展示台

  • 后端逻辑层

  • 数据处理层

【二】软件开发架构的步骤流程

  1. 需求分析:在软件开发架构设计之前,需要对应用系统进行需求分析,明确用户需求、功能模块、业务流程等内容。通过需求分析,可以为软件开发架构的设计提供基础和指导。

  2. 功能设计:在需求分析的基础上,进行软件系统的功能设计。功能设计包括系统模块划分、功能逻辑设计、数据结构设计等,通过功能设计可以明确系统的整体框架和具体实现方式。

  3. 技术选型:在功能设计的基础上,选取适合的技术方案。技术选型需要考虑应用场景、性能要求、安全性要求等多个因素,选取合适的技术方案可以保证软件系统的开发效率和性能表现。

  4. 架构设计:在技术选型的基础上,对软件系统进行架构设计。架构设计包括系统层次结构、模块组织方式、接口设计等,通过架构设计可以为后续的软件编码提供统一的设计思路和规范。

  5. 编码实现:在架构设计的基础上,进行软件编码实现。编码实现需要按照设计规范进行,同时需要注意代码的可读性、可维护性、性能等方面,以保证软件系统的质量和可靠性。

  6. 测试验收:在编码实现完成之后,进行测试验收。测试验收包括功能测试、性能测试、安全测试等多个方面,通过测试验收可以发现和修复软件系统中的缺陷和问题。

  7. 上线运维:在测试验收通过之后,对软件系统进行上线和运维。上线运维包括部署、维护、升级等方面,通过上线运维可以确保软件系统的稳定性和安全性。

以上是软件开发架构的步骤流程,不同的项目开发可能会有所不同,需要根据具体情况进行调整。

【 三】软件开发机构名称

c / s 和 b / s 都是在网络中常见的网咯机构模型

( 1 ) C / S 架构

C : client (客户端)

S: server (服务端)

APP - 就是服务段

连连看、王者荣耀、吃鸡: 先下载app, 我们才能打游戏

一部分是我们本地的资源

而你的好有就是联机的 , 通过它们的服务器进行联通

既然是通过客户段发送请求回去相应数据

在本地将一个英雄的资源封装好了

C/S 架构通过客户端软件和服务器之间的交互,实现了前端界面和后端业务逻辑的分离,提供了一种稳定、可靠的架构模式。

( 2 ) B / S 架构

B : brower(网页端)

S: server (服务端)

打开QQ音乐----> 向QQ音乐发起请求

将资源在本地的浏览器进行渲染

B/S 架构通过浏览器和服务器之间的交互,实现了前端界面和后端业务逻辑的分离,提供了一种灵活、可扩展的架构模式。

( 3 ) B / S 架构 和 C / S机构 的优缺点

B / S 架构
  • 维护和升级方式简单 : 我只需要更新服务器的资源就可以了

  • 成本也比较低, 选择性也很多

  • 服务数据太多了, 负载严重

C / S 架构
  • 服务器压力有所减轻, 把一部分资源分跟客户端保存

  • 数据的存储和管理比较透明,APP逆向

  • 成本较高,维护费力

C / S 架构是主流趋势

        在实际的软件开发中,选择哪种架构一般根据具体业务需求、应用场景和预算等因素来决定。此外,还有其他的一些架构模式,如MVC(Model-View-Controller)、MVVM(Model-View-ViewModel)等,这些架构模式也可以根据具体需求进行选择和应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/334670.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

canvas绘制N角形,锯齿状

查看专栏目录 canvas实例应用100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…

beego API 自动化文档

API 全局设置 必须设置在 routers/router.go 中,文件的注释,最顶部: // APIVersion 1.0.0 // Title mobile API // Description mobile has every tool to get any job done, so codename for the new mobile APIs. // Contact astaxiegmai…

第一篇【传奇开心果系列】beeware开发移动应用:轮盘抽奖移动应用

系列博文目录 beeware开发移动应用示例系列博文目录一、项目目标二、开发传奇开心果轮盘抽奖安卓应用编程思路三、传奇开心果轮盘抽奖安卓应用示例代码四、补充抽奖逻辑实现五、开发传奇开心果轮盘抽奖苹果手机应用编程思路六、开发传奇开心果轮盘抽奖苹果手机应用示例代码七、…

近期学习文章

DNSlog在渗透测试中的实战技巧 - 网安隐藏源IP,提高溯源难度的几种方案 - 网安FreeBuf网络安全行业门户 【漏洞公告】某平台一个有意思的CSRF // SecTrain安全博客 浅谈Web源码泄漏-安全客 - 安全资讯平台 红队-C2 Server基础构建 - 先知社区FreeBuf网络安全行业…

Pytest系列(2) - assert断言详细使用

前言 与unittest不同,pytest使用的是python自带的assert关键字来进行断言assert关键字后面可以接一个表达式,只要表达式的最终结果为True,那么断言通过,用例执行成功,否则用例执行失败 assert小栗子 想在抛出异常之…

大模型增强大模型:通过融合扩展能力(Google DeepMind2024)

1、写作动机: 存在如此多领域特定的模型自然引发一个问题:我们是否能够将一个固定模型与一个特定领域的增强模型组合,以实现新的能力?例如,我们是否可以将增强模型的代码理解能力与固定LLM的语言生成能力组合&#xf…

非科班转码的秋招复盘:地理信息科学GIS专业到后端研发、软件开发

本文介绍地理信息科学(GIS)专业的2024届应届生,在研三上学期期间,寻找后端研发、软件开发等IT方向工作的非科班转码秋招情况。 首先,这篇文章一开始写于2023年年底,当时为了参加一个征文活动,所…

Spring Boot程序的打包与运行:构建高效部署流程

引言 在现代应用开发中,高效的打包和部署流程对于项目的开发、测试和上线至关重要。Spring Boot作为一种快速开发框架,提供了方便的打包工具和内嵌式的Web服务器,使得打包和运行变得更加简单。本文将研究在Spring Boot应用中如何进行打包&am…

ctfshow php特性(web89-web101)

目录 web89 web90 web91 web92 web93 web94 web95 web96 web97 web98 web99 web100 web101 php特性(php基础知识) web89 <?php include("flag.php"); highlight_file(_FILE_);if(isset($_GET[num])){$num$_GET[num];if(preg_match("/[0-9]/&…

WINCC读写EXCEL-VBS

原创 RENHQ WINCC 关于VBS操作EXCEL的文档不管在论坛上还是在网上&#xff0c;相关的脚本已经很多&#xff0c;但是依然有很多人在问这个问题&#xff0c;于是把我以前在论坛上发的一个集合帖子的脚本拿来&#xff0c;重新开个帖子&#xff0c;如果再有人问的话&#xff0c;可…

MySQL进阶篇:索引(概述,结构,分类,语法,SQL性能分析,索引使用,设计原则)

目录 1.索引概述2.索引结构1.B树&#xff08;多路平衡查找树&#xff09;2.B树3.Hash1.特点2.存储引擎支持 4.选择B树作为InnoDB存储引擎索引结构的原因 3.索引分类1.聚集索引选取规则2.回表查询 4.索引语法1.创建索引2.查看索引3.删除索引 5.SQL性能分析1.SQL执行频率2.慢查询…

Spark流式读取文件数据

流式读取文件数据 from pyspark.sql import SparkSession ss SparkSession.builder.getOrCreate() # todo 注意1&#xff1a;流式读取目录下的文件 --》一定一定要是目录&#xff0c;不是具体的文件&#xff0c;# 目录下产生新文件会进行读取# todo 注意点2&#xff1…

启动低轨道卫星LEO通讯产业与6G 3GPP NTN标准

通讯技术10年一个大跃进&#xff0c;从1990年的2G至2000年的3G网路&#xff0c;2010年的4G到近期2020年蓬勃发展的5G&#xff0c;当通讯技术迈入融合网路&#xff0c;当前的 5G 技术不仅可提供高频宽、低延迟&#xff0c;同时可针对企业与特殊需求以 5G 专网的模式提供各式服务…

面试之Glide如何绑定Activity的生命周期

Glide绑定Activity生命周期 Glide.with() 下面都是它的重载方法&#xff0c;Context&#xff0c;Activity&#xff0c;FragmentActivity, Fragment, android.app.Fragment fragment,View都可以作为他的参数&#xff0c;内容大同小异&#xff0c;都是先getRetriever&#xff0…

简单实用的恒温控制器

工作原理如下&#xff1a;ST是WTQ-288型电接点压力式温度计&#xff0c;当恒温箱内的温度降低到下限时&#xff0c;ST的指针与下限接点接触&#xff0c;双向可控硅通过R被强制触发导通&#xff0c;接通加热器RL的电源&#xff0c;于是恒温箱内温度上升。ST的指针转动&#xff0…

java结合百度ocr实现图片文字提取功能

1.进入百度云控制台&#xff0c;找到文字识别服务&#xff0c;创建一个应用 2.引入ocr需要的maven依赖包 <dependency><groupId>com.baidu.aip</groupId><artifactId>java-sdk</artifactId><version>4.16.11</version> </depend…

深入Android S (12.0) 探索Framework之输入子系统InputReader的流程

Framework层之输入系统 第一篇 深入Android S (12.0) 探索Framework之输入系统IMS的构成与启动 第二篇 深入Android S (12.0) 探索Framework之输入子系统InputReader的流程 文章目录 Framework层之输入系统前言一、基础知识1、输入子系统2、INotify 与 Epoll2.1、INotify 机制…

yolov8的目标检测、实例分割、关节点估计的原理解析

1 YOLO时间线 这里简单列下yolo的发展时间线&#xff0c;对每个版本的提出有个时间概念。 2 yolov8 的简介 工程链接&#xff1a;https://github.com/ultralytics/ultralytics 2.1 yolov8的特点 采用了anchor free方式&#xff0c;去除了先验设置可能不佳带来的影响借鉴General…

ETL概念

ETL ETLELT 技术原理ETL 模式应用场景常见工具ETL未来发展方向 ETL 在BI项目中ETL会花掉整个项目至少1/3的时间&#xff0c; ETL设计的好坏直接关接到BI项目的成败。ETL(Extract-Transform-Load) : 用来描述将数据从来源端经过抽取&#xff08;extract&#xff09;、转换&…

全面了解网络性能监测:从哪些方面进行监测?

目录 摘要 引言 CPU内存监控 磁盘监控 网络监控 GPU监控 帧率监控 总结 摘要 本文介绍了网络性能监测的重要性&#xff0c;并详细介绍了一款名为克魔助手的应用开发工具&#xff0c;该工具提供了丰富的性能监控功能&#xff0c;包括CPU、内存、磁盘、网络等指标的实时…