系统架构:软件工程

文章目录

  • 资源
  • 知识点
    • 自顶向下与自底向上
    • 形式化方法
    • 结构化方法
    • 敏捷方法
    • 净室软件工程
    • 面向服务的方法
    • 面向对象的方法
    • 快速应用开发
    • 螺旋模型
    • 软件过程和活动
    • 开放式源码开发方法
    • 功用驱动开发方法
    • 统一过程模型RUP
    • 基于构件的软件开发
    • UML

资源

信息系统开发方法

知识点

自顶向下与自底向上

自顶向下设计是指根据给定的问题,递归地将给定问题分析成若干小的基本问题,自下而上是一种相反的设计方法,是指根据已有的组件(基本问题),通过一定的排列组合,最终解决需要解决的问题。从两种方法的定义可以看出自顶向下的设计方法强调的是问题的分解,而自下而上的设计方法强调的是组件(基本问题)复用,所以对于一个相对陌生的问题,采用自顶向下,逐层分解的方法可以更好的得到问题的解,而对于常见问题,则是使用现有的组件可以更快地达到目的。

形式化方法

形式化方法是一种具有坚实数学基础的方法,允许对系统和开发过程做严格处理和论证,主要优越性在于能够数学地表述和研究应用问题及实现。但对数学基础要求高,不适用于复杂场景,并未得到普遍应用。

结构化方法

结构化方法也称为面向功能的开发方法,包括结构化分析、结构化设计、结构化编程等阶段。自顶向下、逐步求精地开发系统。
缺点是开发周期长,难以适应需求的变化。
结构化分析的核心是数据流图和数据字典,通过分析数据流图可以导出程序结构图。

敏捷方法

敏捷方法是面向对象的,有三个特点:

  • 适应性:指拥抱变化,不断改变;
  • 面向人:指以人为本,充分发挥人的特性;
  • 迭代增量:每一发行版都是在原版基础上进行功能需求的扩充,最后满足所有需求。

敏捷方法适用于需求变化较大或前期需求不够清晰的项目。

净室软件工程

将正确性验证(而非传统的测试)作为发现和排除错误的主要机制,强调统计质量控制技术,太过于理论化。

面向服务的方法

以粗粒度、松散耦合和基于标准的服务为基础,增强了系统的灵活性、可复用性和可演化性。

面向对象的方法

采用面向对象开发方法时可以使用状态图和活动图对系统的动态行为进行建模。

快速应用开发

利用了基本构件开发方法的思想,大量采用线程的构建进行系统的开发,速度快,但只适用于模块化程度较高的系统。

螺旋模型

在原型模型的基础上扩展而成,把整个软件开发流程分成多个阶段,每个阶段都由目标设定、风险分析、开发、有效性验证和评审构成。适合于开发团队较小的项目。
在这里插入图片描述

软件过程和活动

在这里插入图片描述

开放式源码开发方法

适用于程序开发人员在地域上分布很广的开发团队

功用驱动开发方法

编程开发人员分为首席程序员和“类”程序员。

统一过程模型RUP

三个核心特点:

  • 以架构为中心:
  • 用例驱动:
  • 增量与迭代:在早起迭代中解决高风险和高价值的问题,强调用户的主动参与。

在这里插入图片描述
一个开发周期包括四个阶段

  • 初始:建立业务模型,确定项目边界。
  • 细化:分析问题,建立完善的架构。
  • 构建:开发所有功能并集成为产品。
  • 移交:制作发布版本,基于反馈再进行调整。

基于构件的软件开发

失配问题
在这里插入图片描述逻辑构件模型描述系统设计蓝图以保证系统提供适当的功能,物理构件模型用来了解系统的性能、吞吐率等非功能性属性。

UML

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

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

相关文章

ElasticSearch - 海量数据索引拆分的一些思考

文章目录 困难解决方案初始方案及存在的问题segment merge引入预排序 拆分方案设计考量点如何去除冗余数据按什么维度拆分,拆多少个最终的索引拆分模型演进历程整体迁移流程全量迁移流程流量回放比对验证异步转同步多索引联查优化效果 总结与思考参考 困难 索引数据…

详细讲解移植u-boot.2022.10版本移植到开发板基本方法

大家好,我是ST​。​ 今天给大家讲一讲如何将u-boot.2022.10版本移植到imx6ull开发板上。 环境 选项内容编译主机UbuntuLTS 18.04目标板ATK I.MX6ULL(512MB DDR3 8GB EMMC)u-boot版本2022.10交叉编译工具链gcc-linaro-7.5.0-2019.12-i686…

Moonbeam生态跨链互操作项目汇总

立秋已过,今年的夏天已经接近尾声,即将迎来凉爽的秋天。Moonbeam生态一同以往持续成长,在8月也举办了不少活动、完成集成合作以及协议更新。让我们一同快速了解Moonbeam生态项目近期发生的大小事件吧! Moonwell Moonwell是一个建…

【c++】VC编译出的版本,发布版本如何使用

目录 使用release类型进行发布 应用程序无法正常启动 0xc000007b 版本对应 vcruntime140d 应用版本 参考文章 使用release类型进行发布 应用程序无法正常启动 0xc000007b "应用程序无法正常启动 0xc000007b" 错误通常是一个 Windows 应用程序错误&#xf…

Docker 安装rabbitmq:3.12-management

拉取镜像: docker pull rabbitmq:3.12-management mkdir -p /usr/local/rabbitmq chmod 777 /usr/local/rabbitmq docker run -id --restartalways --namerabbitmq -v /usr/local/rabbitmq:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_U…

C++--动态规划背包问题(1)

1. 【模板】01背包_牛客题霸_牛客网 你有一个背包,最多能容纳的体积是V。 现在有n个物品,第i个物品的体积为vivi​ ,价值为wiwi​。 (1)求这个背包至多能装多大价值的物品? (2)若背包恰好装满&a…

Leetcode刷题:395. 至少有 K 个重复字符的最长子串、823. 带因子的二叉树

Leetcode刷题:395. 至少有 K 个重复字符的最长子串、823. 带因子的二叉树 1. 395. 至少有 K 个重复字符的最长子串算法思路参考代码和运行结果 2. 823. 带因子的二叉树算法思路参考代码和运行结果 1. 395. 至少有 K 个重复字符的最长子串 题目难度:中等 标签&#…

c#设计模式-结构型模式 之 外观模式

概述 外观模式(Facade Pattern)又名门面模式,隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。该模式…

加油站【贪心算法】

加油站 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和…

ardupilot开发 --- 串韭菜篇解惑篇

几个疑问和个人理解 FLIGHT MODE ? sub mode ? costomer mode ? 联系?区别? 下面这个 _mode 是? // call the correct auto controllerswitch (_mode) {case SubMode::TAKEOFF:takeoff_run();break;case SubMode::WP:case SubM…

电子仓库预测水浸事件,他怎么做到的?

仓库环境中水浸事件可能导致严重的损失,不仅对货物造成损害,还可能影响设备的正常运行甚至威胁安全。 因此,为了应对这一挑战,引入一套完善的仓库水浸监控系统成为了不可或缺的措施。 客户案例 广东某电子公司是一家领先的电子设…

CPU和GPU的区别

介绍什么是GPU, 那就要从CPU和GPU的比较不同中能更好更快的学习到什么是GPU CPU和GPU的总体区别 CPU: 叫做中央处理器(central processing unit) 可以形象的理解为有25%的ALU(运算单元)、有25%的Control(控制单元)、50%的Cache(缓存单元)…

浅谈 Android Binder 监控方案

在 Android 应用开发中,Binder 可以说是使用最为普遍的 IPC 机制了。我们考虑监控 Binder 这一 IPC 机制,一般是出于以下两个目的: 卡顿优化:IPC 流程完整链路较长,且依赖于其他进程,耗时不可控&#xff0…

本地私有仓库、harbor私有仓库部署与管理

本地私有仓库、harbor私有仓库部署与管理 一、本地私有仓库1.本地私有仓库简介2.搭建本地私有仓库3.容器重启策略介绍 二、harbor私有仓库部署与管理1.什么是harbor2.Harbor的特性3.Harbor的构成4.harbor部署及配置5.客户端测试 三、Harbor维护1.创建2.普通用户操作私有仓库3.日…

PDFPrinting.Net Crack

PDFPrinting.Net Crack 它能够轻松灵活地预测完美的打印结果以及用户文件的示例性显示。在.NET的PDF打印中,可以快速浏览最关键的元素。如果用户需要获得更详细的概述,那么他可以查看快速入门手册,甚至现有文档的详细概述参考。 在这种情况下…

Java集合sort排序报错UnsupportedOperationException处理

文章目录 报错场景排查解决UnmodifiableList类介绍 报错场景 我们使用的是PostgreSQL数据库,存储业务数据,业务代码使用的是Spring JPA我们做的是智慧交通信控平台,有个功能是查询展示区域的交通态势,需要按照不同维度排序展示区…

SQL注入之布尔盲注

文章目录 布尔盲注是什么?布尔盲注获取sqli-labs名称 布尔盲注是什么? 当存在SQL注入时,攻击者无法通过页面或请求的返回信息,回显或获取到SQL注入语句的执行结果,这种情况就叫盲注。 布尔型盲注就是利用返回的True或F…

【校招VIP】前端算法考察之排序

考点介绍: 不同的场景中,不同的排序算法执行效率不同。 稳定:冒泡、插入、归并 不稳定:选择、快速、堆排序、希尔排序 『前端算法考察之排序』相关题目及解析内容可点击文章末尾链接查看! 一、考点题目 1、使用js实…

4.RabbitMQ高级特性 幂等 可靠消息 等等

一、如何保证生产者生产消息100%的投递成功 保障消息的成功发出保障MQ节点的成功接收发送端收到MQ节点(Broker)确认应答完善的消息进行补偿机制 1. 理解Confirm确认消息机制 消息的确认,是指生产者投递消息后,如果Broker收到消…

腾讯云学生服务器申请、学生认证入口及学生机价格表

腾讯云学生服务器申请、学生认证入口及学生机价格表,学生机申请流程,腾讯云学生服务器优惠活动:轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年,轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年&…