系统开发(上)-软件设计(三十二)

2023-11-06

信息系统安全(对称加密)-软件设计(三十一)icon-default.png?t=N176https://blog.csdn.net/ke1ying/article/details/129678350

瀑布模型SDLC

是结构化的开发

步奏:软件计划->需求分析->软件设计->程序编码->软件测试->运行维护

只适合需求明确 或者 二次开发的情况。因为需求不明确需要重新推翻前面的流程重新设计。

原型、螺旋模型、增量模型。

原型法:只用于开发需求分析阶段,先用简易的模型演示给用户看。

螺旋模型:从原型发展而来。

增量模型:原型+瀑布模型,先做核心功能,一部分一部分来进行。(强调先做一块,再做一块)好处是核心模块比较快的与用户使用,风险小

螺旋模型

包含原型,瀑布模型等,由多个模型组合。

特征:风险分析,评估方案、消除风险

题目:当需求不明确的时候,选什么模型开发呢

有原型选原型,没原型选螺旋模型。

V模型

 

形状如V,与瀑布模型接近,V模型测试地位更重要,细化到单元、集成、系统、验收测试

V模型可以提早发现问题,提早写测试计划。

需求分析 应对 验收测试 和系统测试计划。

概要设计 应对 集成测试计划。

详细设计 应对 单元测试计划。

(强调测试的模型,强调测试 与 开发并行)

喷泉模型

特点:面向对象的模型。所以他的特点是 迭代 和 无间隙。

瀑布模型是结构化的典型代表,喷泉则是面向对象模型

RAD快速开发模型:

SDLC瀑布模型 和 CBSD构建化开发模型 的组合模型。

用可视化的 快速开发,就是RAD。

构建组装模型CBSD:

步奏:需求分析和定义->软件架构设计->构建库的建立->应用软件构建->测试和发布

(瀑布模型没有架构)

都会把各个模块做成标准的构件,然后组合在一起,就成为了软件,极大提高了软件开发的复用性,软件成本降低,提高可靠性。(为什么可靠,因为可以用其他已经在其他系统存在的构建)

构建标准:CORBA  COM/DCOM/COM+EJB

EJB是java标准

统一过程UP(或者RUP)

可以作用于大型项目。

特点:

  1. 用例驱动。
  2. 以架构为中心
  3. 迭代和增量。

开发分为四块:

初始、细化、构建、交付。

初始:

  1. 确定项目边界和范围。
  2. 识别系统的关键用例。
  3. 展示系统的候选架构。
  4. 估计项目费用和时间
  5. 评估项目风险。

细化:

  1. 分析系统问题领域。
  2. 建立软件架构基础
  3. 淘汰最高风险元素。

构建:

  1. 构件组装与测试
  2. 开发剩余构件

交付:

  1. 进行β测试。(针对产品,在用户的环境做的测试,α测试是在开发环境做的测试)
  2. 制作发版版本。
  3. 确认新系统。
  4. 培训调整产品。

敏捷开发方法

往往适用于小项目。

基本原则:

自适应开发、水晶方法、特征驱动开发、SCRUM、极限编程。

短平快会议、小型版本发布、较少分档、合作为重、客户直接参与、自动化测试、适应性计划调整、结对编程、测试驱动开发、持续继承、重构。

12个最佳实践:

计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、持续继承、每周工作40小时、现场客户、编码标准。

信息系统的开发方法

主要四种:

结构化法、原型法、面向对象方法、面向服务方法。

结构化法:

  1. 用户至上。
  2. 严格区分工作阶段、每个阶段任务。
  3. 强调系统开发过程整体性和全局性。
  4. 系统开发过程工程化,文档标准化。
  5. 自顶向下、逐步分解。

似乎结构化都是优点,但慢慢为什么被 面向对象方法取代呢

结构化开发完成是固化不灵活的。

原型法:

适用于需求不明确开发

包括抛弃式原型和演化式原型。

面向对象方法:

1、更好的复用性

2、建立全面合理的统一模型。

3、分析、设计、实现三个阶段,界限不明确。

面向服务方法:

还在摸索阶段。

SO方法主要三个抽象阶段:操作、服务、业务流程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

系统开发(上)-软件设计(三十二) 的相关文章

  • Play框架运行应用程序问题

    每当我尝试运行使用以下命令创建的新 Web 应用程序时 我都会收到以下错误Play http www playframework org Error occurred during initialization of VM Could no
  • Java JDBC:更改表

    我希望对此表进行以下修改 添加 状态列 varchar 20 日期列 时间戳 我不确定该怎么做 String createTable Create table aircraft aircraftNumber int airLineCompa
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 加速代码 - 3D 数组

    我正在尝试提高我编写的一些代码的速度 我想知道从 3d 整数数组访问数据的效率如何 我有一个数组 int cube new int 10 10 10 我用价值观填充其中 然后我访问这些值数千次 我想知道 由于理论上所有 3d 数组都存储在内
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • 为什么HashMap不能保证map的顺序随着时间的推移保持不变

    我在这里阅读有关 Hashmap 和 Hashtable 之间的区别 http javarevisited blogspot sg 2010 10 difference Between hashmap and html http javar
  • JRE 系统库 [WebSphere v6.1 JRE](未绑定)

    将项目导入 Eclipse 后 我的构建路径中出现以下错误 JRE System Library WebSphere v6 1 JRE unbound 谁知道怎么修它 右键单击项目 特性 gt Java 构建路径 gt 图书馆 gt JRE
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • Google App Engine 如何预编译 Java?

    App Engine 对应用程序的 Java 字节码使用 预编译 过程 以增强应用程序在 Java 运行时环境中的性能 预编译代码的功能与原始字节码相同 有没有详细的信息这是做什么的 我在一个中找到了这个谷歌群组消息 http groups
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 如何从指定日期获取上周五的日期? [复制]

    这个问题在这里已经有答案了 如何找出上一个 上一个 星期五 或指定日期的任何其他日期的日期 public getDateOnDay Date date String dayName 我不会给出答案 先自己尝试一下 但是 也许这些提示可以帮助
  • 在mockito中使用when进行模拟ContextLoader.getCurrentWebApplicationContext()调用。我该怎么做?

    我试图在使用 mockito 时模拟 ContextLoader getCurrentWebApplicationContext 调用 但它无法模拟 here is my source code Mock org springframewo
  • 编译器抱怨“缺少返回语句”,即使不可能达到缺少返回语句的条件

    在下面的方法中 编译器抱怨缺少退货声明即使该方法只有一条路径 并且它包含一个return陈述 抑制错误需要另一个return陈述 public int foo if true return 5 鉴于Java编译器可以识别无限循环 https
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • Spring Boot @ConfigurationProperties 不从环境中检索属性

    我正在使用 Spring Boot 1 2 1 并尝试创建一个 ConfigurationProperties带有验证的bean 如下所示 package com sampleapp import java net URL import j

随机推荐

  • 【动手学习pytorch笔记】9.卷积神经网络基础(卷积层,填充和步长,多输入输出通道,池化层)

    卷积层 二维互相关运算 import torch from torch import nn from d2l import torch as d2l def corr2d X K 计算二维互相关运算 h w K shape Y torch
  • 【LeetCode刷题】94、二叉树的中序遍历(C++)

    94 二叉树的中序遍历 原题连接 https leetcode cn problems binary tree inorder traversal 问题描述 给定一个二叉树的根节点 root 返回 它的 中序 遍历 示例 1 输入 root
  • react——事件绑定

    react有两种写法 一种是类组件 也叫有状态组件 一种是函数式组件 也叫无状态组件 而后引入了react hooks 函数式组件也能修改状态 在这两种组件中的事件绑定的原理一样 写法不一样 这篇文章主要就是记录这两种组件中的事件绑定写法
  • 迁移学习一、基本使用

    非完全原创 但遗失了原文链接 看到可更改 迁移学习 一 迁移学习方法介绍 1 微调网络的方法 微调网络的方法实现迁移学习 更改最后一层全连接 并且微调训练网络 2 将模型看成特征提取器 将模型看成特征提取器 如果一个模型的预训练模型非常的好
  • 实现model中的文件上传FTP(一)

    由于在django的model中配置了filefield或者imagefield配置了upload to参数只能将用户上传的文件上传到项目本地 就算重定向到项目外也只是直接读取文件系统 这样对未来的项目迁移或者资源管理都会造成很大的困扰 而
  • HJ2 计算某字符出现次数

    知识点字符串哈希 描述 写出一个程序 接受一个由字母 数字和空格组成的字符串 和一个字符 然后输出输入字符串中该字符的出现次数 不区分大小写字母 数据范围 1 n 1000 输入描述 第一行输入一个由字母和数字以及空格组成的字符串 第二行输
  • 设计模式梳理——访问者模式

    一 概述 访问者模式 Visitor 表示一个作用于某对象结构中的各元素的操作 它使你可以在不改变个元素的类的前提下作用于这些元素的新操作 二 UML图示 三 代码实现 我们都知道财务都是有账本的 这个账本就可以作为一个对象结构 而它其中的
  • springsecurity 提示:There is no PasswordEncoder mapped for the id "null"

    用户角色权限系统 springboot springsecurity mysql 提示如下错误信息 java lang IllegalArgumentException There is no PasswordEncoder mapped
  • 虚函数的原理

    引用 windows程序员面试指南 虚函数 虚函数通过虚函数表管理 特点 1 虚函数表属于类 类的所有对象共享这个类的虚函数表 2 虚函数指针属于对象 在每个对象内部的开头 指向同一虚函数表 继承特点 只继承一个父类无覆盖时 父类虚函数在子
  • 在64位电脑上 使用anaconda虚拟环境将Python程序打包成32位

    之前写啦一些打包博文 见链接 anaconda虚拟环境教程大全 使用pipenv建立虚拟环境解决python打包exe文件过大的问题 附打包带图标 多个py文件打包exe cmd执行python程序 文件夹直接进入cmd程序 python将
  • VirtualBox网络之桥接网卡

    如下图所示 VirtualBox支持的网络模式有多种 桥接网卡不同与其它的几种 首先体现在名字上 其它模式都带有 网络 字眼 说明当前的网卡需要接入一个由用户创建的网络 而桥接网卡则只是网卡 这种模式不需要创建网络 从效果上看 这种网卡与宿
  • Linux 下使用命令行查看PDF

    使用 evince命令查看 evince frames pdf
  • 低通、高通、带通、阻通滤波器

    目录 低通 高通 带通 阻通滤波器 低通 高通 带通 带阻滤波器的区别 通俗理解 1 低通滤波器 2 高通滤波器 3 带通滤波器 4 带阻滤波器 5 全通滤波器 低通 高通 带通 阻通滤波器 低通 高通 带通 带阻滤波器的区别 低通滤波器
  • STM32系列(HAL库)——F103C8T6通过NRF24L01(2.4G)无线模块进行双机通信

    本文参考 STM32L051C8T6 HAL库 nRF24L01 收发案例 硬件SPI通讯 1 软件准备 1 编程平台 Keil5 2 CubeMX 3 XCOM 串口调试助手 2 硬件准备 2套 1 F1的板子 本例使用经典F103C8T
  • ROS开发日记(1)——ROS基础知识

    ROS 即开源机器人操作系统 1 官方定义 ROS是面向机器人的开源的元操作系统 meta operating system 1 它能够提供类似传统操作系统的诸多功能 如硬件抽象 底层设备控制 常用功能实现 进程间消息传递和程序包管理等 此
  • java实现信息的增删改查功能的网页设计(1)

    仅供参考 不可转载 如遇其他情况概不负责 后果自负 切记 该项目运用的技术 spring springMVC ibatis 本网页只有一个页面 包过信息的增 删 改 查功能 只有部分代码 仅供参考 因该项目比较大 所以仅提供了一个页面内的增
  • 命名时取代基优先顺序_有机物命名:常见官能团的优先次序表

    一 官能团的优先次序 常见官能团的优先次序表类别序号官能团词头名称词尾名称 酸1 COOH羧基羧酸 2 SO3H磺基磺酸 羧 酸 衍 生 物3 COOR酯基羧酸酯 4 COX卤羰基酰卤 5 CONH2氨甲 酰基酰胺 腈6 CN氰基腈 醛7
  • MySQL——JDBC

    文章目录 1 数据库驱动 2 JDBC 3 第一个JDBC程序 4 步骤总结 5 JDBC对象解释 6 写工具类 7 JDBC操作事务 7 1 创建表 7 2 事务 7 3 总结 8 数据库连接池 8 1 DBCP 8 2 c3p0 1 数
  • 从游戏脚本语言说起,剖析Mono所搭建的脚本基础

    从游戏脚本语言说起 剖析Mono所搭建的脚本基础 0x00 前言 在日常的工作中 我偶尔能遇到这样的问题 为何游戏脚本在现在的游戏开发中变得不可或缺 那么这周我就写篇文章从游戏脚本聊起 分析一下游戏脚本因何出现 而mono又能提供怎样的脚本
  • 系统开发(上)-软件设计(三十二)

    信息系统安全 对称加密 软件设计 三十一 https blog csdn net ke1ying article details 129678350 瀑布模型SDLC 是结构化的开发 步奏 软件计划 gt 需求分析 gt 软件设计 gt 程