软件开发架构

news/2024/6/18 2:13:34 标签: 学习, 网络

【 一 】软件开发架构图

【 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)等,这些架构模式也可以根据具体需求进行选择和应用。


http://www.niftyadmin.cn/n/5331690.html

相关文章

Angular系列教程之父子组件通信详解

文章目录 前言组件通信方法1. 输入属性(Input Properties)2. 输出属性(Output Properties)3. 服务(Services)4. ViewChild与ContentChild 示例代码说明结论 前言 在Angular应用程序开发中,父子…

【Docker基础五】Dockerfile指令

Dockerfile 是一个文本文件&#xff0c;它包含了一系列的指令和参数&#xff0c;用来自动化构建 Docker 镜像的过程。每一个指令通常都会创建镜像的一层。下面是一些常用的 Dockerfile 指令。 1、FROM 语法&#xff1a;FROM <image>[:<tag>] [AS <name>]用…

linux-nfc neard 编译与安装

项目github地址&#xff1a; https://github.com/linux-nfc/neard git clone地址&#xff1a; https://github.com/linux-nfc/neard.git clone完源码切换到目录neard里。这个项目需要依赖一下库&#xff1a; - GCC compiler - D-Bus library - GLib library - Netlink (lib…

基于Xilinx K7-410T的高速DAC之AD9129开发笔记(二)

引言&#xff1a;上一篇文章我们简单介绍了AD9129的基础知识&#xff0c;包括芯片的重要特性&#xff0c;外部接口相关的信号特性等。本篇我们重点介绍下项目中FPGA与AD9129互联的原理图设计&#xff0c;包括LVDS IO接口设计、时钟电路以、供电设计以及PCB设计。 LVDS数据接口设…

What is `HttpServletRequestWrapper` does?

HttpServletRequestWrapper 是 Java Servlet API 中的一个类&#xff0c;作为 HttpServletRequest 接口的包装器&#xff08;Decorator&#xff09;实现。 该类设计为装饰者模式&#xff08;Decorator Pattern&#xff09;的一部分&#xff0c;允许开发人员通过包装现有的 Http…

数据结构奇妙旅程之二叉树初阶

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

Array Equalizer(莫比乌斯反演)

1605E - Array Equalizer 思路&#xff1a; 代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string> #include<cstring> #include<cmath> #include<ctime> #include<algorithm> #include<utility>…

【playwright】新一代自动化测试神器playwright+python系列课程12_playwright_frame中元素定位

Playwright frame中元素定位 网页中经常嵌套frame框架&#xff0c;在网页中标签为iframe或frame的元素就是frame框架 如图 或者 在frame框架中的元素时不能直接定位的&#xff0c;selenium处理frame&#xff0c;需要切换到frame中&#xff0c;然后再切换出来&#xff0c;操…