当前位置: 首页 > news >正文

系统架构:软件工程

文章目录

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

资源

信息系统开发方法

知识点

自顶向下与自底向上

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

形式化方法

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

结构化方法

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

敏捷方法

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

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

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

净室软件工程

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

面向服务的方法

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

面向对象的方法

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

快速应用开发

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

螺旋模型

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

软件过程和活动

在这里插入图片描述

开放式源码开发方法

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

功用驱动开发方法

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

统一过程模型RUP

三个核心特点:

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

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

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

基于构件的软件开发

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

UML

http://www.lryc.cn/news/145767.html

相关文章:

  • 泰迪大数据实训平台产品介绍
  • Linux- 文件夹相关的常用指令
  • 在 macOS 中安装 TensorFlow 1g
  • 数学建模:CRITIC赋权法
  • Facebook message tag 使用攻略
  • 气传导耳机哪个品牌比较好?综合表现很不错的气传导耳机推荐
  • Rabbitmq的消息转换器
  • nvidia-docker的使用
  • C++新经典 | C语言
  • 物联网智慧种植农业大棚系统
  • TabBar组件如何跳转页面?
  • Vue.js中,router和route
  • 【微服务】07-缓存
  • 权限校验中的“双token”方案
  • TensorFlow的基本概念
  • 【卷积神经网络】MNIST 手写体识别
  • Ansible学习笔记2
  • 80. 删除有序数组中的重复项 II
  • CVE-2023-36874 Windows错误报告服务本地权限提升漏洞分析
  • IDEA遇到 git pull 冲突的几种解决方法
  • [Unity]UI和美术出图效果不一致
  • SpringBoot整合JPA和Hibernate框架
  • Java中文件的创建(三种方式),文件常用的方法
  • Spring boot中调用C/C++(dll)
  • 【Apollo学习笔记】——规划模块TASK之PATH_DECIDER
  • Lua学习(二)
  • 制作鲜花商城小程序的详细步骤
  • Ubuntu20以上高版本如何安装低版本GCC
  • context.WithCancel()的使用
  • vue3中引入百度地图