软考-系统开发基础

news2024/12/28 3:37:13

软件开发模型

瀑布模型

image.png
瀑布模型的优点是:容易理解,管理成本低;签掉开发阶段早期计划及需求调查和产品测试

V模型

image.png
V模型是瀑布模型的一个变体
注重测试,但测试放在编码之后

喷泉模型

image.png

原型模型

image.png

螺旋模型

image.png
综合了瀑布模型和原型模型的优点,加入了风险分析,成本比较大

增量模型

image.png
image.png

统一过程(up)(用例驱动)

  1. 起始阶段
    1. 确定项目范围和边界
    2. 识别系统的关键用例
    3. 展示系统的候选架构
    4. 估计项目费用和时间
    5. 评估项目风险
  2. 精细化阶段
    1. 分析系统问题领域
    2. 建立软件架构基础
    3. 淘汰最高风险元素
  3. 构造阶段
    1. 开发剩余的构件
    2. 构件组装和测试
  4. 移交阶段
    1. 进行β测试
    2. 制作发布版本
    3. 用户文档定稿
    4. 确认新系统
    5. 培训,调整产品

敏捷方法

image.png
极限编程(XP) -> 费用控制严格的公司使用,解决代码质量低的问题,编码速度不能改变
水晶方法(Crystal) -> 用最少纪律约束而仍能成功的方法
开放式源码 -> 程序开发人员在地域上分布很广
并列征求法(Scram) -> 明确定义了的可重复的方法过程

软件开发方法

image.png

  • 原型法:需求不清晰且多变
  • 结构化:系统规模不太大且不太复杂,需求变化不大
  • Jackson:一种面向数据结构的发放,以数据结构为驱动,适合小规模项目

需求分析

image.png

数据流图(重)

image.png

数据字典

image.png

软件设计

image.png

高内聚,低耦合

高内聚(越往上,内聚越高,越好)

  1. 功能内聚
    1. 完成一个单一功能,各个部分协同工作,缺一不可
  2. 顺序内聚
    1. 处理元素相关,而且必须顺序执行
  3. 通信内聚
    1. 所有处理元素集中在一个数据结构区域上
  4. 过程内聚
    1. 处理元素相关,而且必须按特定的次序执行
  5. 瞬时内聚(时间内聚)
    1. 所包含的任务必须在同一时间间隔内执行
  6. 逻辑内聚
    1. 完成逻辑上相关的一组任务
  7. 偶然内聚
    1. 完成一组没有关系或松散关系的任务

低耦合(越往上,耦合越低,越好)

  1. 非直接耦合
    1. 两个模块直接没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的
  2. 数据偶尔
    1. 一组模块借助参数表传递简单数据
  3. 标记耦合
    1. 一组模块通过参数表传递记录信息(数据结构)
  4. 控制耦合
    1. 模块之间传递的信息中包含用于控制模块内部逻辑的信息
  5. 外部耦合
    1. 一组模块都访问统一全局简单变量,而且不是通过参数表传递该全局变量的信息
  6. 公共耦合
    1. 多个模块都访问同一个公共数据环境
  7. 内容耦合
    1. 一个模块直接访问另一个模块的内部数据;
    2. 一个模块不通过正常入口转到另一个模块的内部
    3. 两个模块有一部分程序代码重叠
    4. 一个模块有多个入口

耦合取决

耦合取决于:

  1. 各个模块之间接口的复杂程度
  2. 调用模块的方式
  3. 通过接口的信息类型

软件测试

image.png

  1. 语句覆盖:每个语句执行一次
  2. 判断覆盖:每个判定真假至少一次
  3. 条件覆盖:每个判定中的每个条件至少一次
  4. 判断条件:2+3
  5. 路径覆盖
  6. 组合覆盖:条件组件覆盖,每个判定中的各个条件的各种可能的组合至少一次

测试阶段

  1. 单元测试
  2. 集成测试
  3. 系统测试
    1. 安全性测试
    2. 可靠性测试
  4. 确认测试
  5. 验收测试

测试配置管理

  1. 配置项标识
  2. 配置项控制
  3. 配置状态报告
  4. 配置审计

MnCabe复杂度(环路)

计算有向图的环路复杂度公式为:V(G) = m - n + 2 其中:

  • V(G)是有向图G中环路个数
  • m是G的有向弧数
  • n是G中的节点数

注:V(G) = 封闭区域 + 1
image.png

软件维护

image.png

软件维护工具

  1. 版本控制工具
  2. 文档分析工具
  3. 开发信息库工具
  4. 逆向工程工具
  5. 再工程工具

文档

image.png

软件质量保证

image.png

软件过程改进 - CMMI

image.png

项目管理

十大知识领域
image.png
image.png

时间管理

关键路径

  • ES 最早开始时间
  • EF 最早完成时间
  • LS最晚开始时间
  • LF 最晚结束时间

总时差 = LS - ES = LF - EF

image.png

其他

软件工程基本要素:方法、工具和过程
软件配置管理包括:版本控制、变更控制、过程支持
顶层测试不需要写驱动模块,底层测试不需要写桩模块
需求分析阶段输出:数据字典,数据流图,ER图

系统生命周期

  1. 系统规划阶段产出:系统设计任务书(系统建设方案、实施计划)
  2. 系统分析阶段产出:系统需求规格说明书、软件需求规格说明书、确认测试计划、系统测试计划、初步的用户手册
  3. 系统设计阶段产出:架构设计文档、概要设计说明书、详细设计说明书、程序规格说明说、概要测试加护、详细测试计划、各类设计图
  4. 系统实施阶段产出:源码、单元测试、集成测试报告、操作手册
  5. 系统验收阶段产出:确认测试报告、项目验收报告

ISO/IEC

由三个层次组成:

  1. 质量特性
  2. 质量子特性
  3. 度量指标

软件质量,是软件满足规定或骑在用户需求的能力

  1. 内部质量
  2. 外部质量
  3. 使用质量

功能性包括了:

  1. 适应性
  2. 准确性
  3. 互操作性
  4. 功能依从性
  5. 安全性

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蔬菜水果生鲜配送团购商城小程序的作用是什么

蔬菜水果是人们生活所需品,从业者众多,无论小摊贩还是超市商场都有不少人每天光临,当然这些只是自然流量,在实际经营中,蔬菜水果商家还是面临着一些难题。 对蔬菜水果商家而言,线下门店是重要的&#xff0…

ubuntu 20.04 使用systemback自定义系统镜像和系统备份

ubuntu 20.04 使用systemback自定义系统镜像和系统备份 Systemback简介1. 安装 systemback16.0418.04 查看 2. 使用 systemback创建自定义镜像制作镜像制作中制作完成将镜像写入U盘 Systemback简介 Systemback是一个简单的系统备份和恢复应用程序,根据GPLv3许可条款…

2023年中国自动驾驶卡车市场发展趋势分析:自动驾驶渗透率快速增长[图]

自动驾驶卡车的技术原理是通过电脑算法控制车辆行驶,辅助驾驶员完成任务。其实现方式主要是基于传感器和计算处理技术。自动驾驶卡车可以随时感知周围环境,灵活避障,自适应调整行驶路径,相比之下传统卡车需要驾驶员进行手动操作&a…

2023最新闪聊远程获取通讯录PHP源码/附安装教程/php即时聊天源码/获取闪聊通讯录源码

源码介绍: 闪聊远程获取通讯录PHP,首先你需要在服务器上搭建Nginxmysql5.6php5.6phpMyAdmin的环境。接着,在app/database.php中配置好数据库路径。最后,在宝塔面板的站点管理中,将伪静态设置为tphinkphp即可。这样一来…

免费office安装工具箱(可安装任意版本)

Office Tool Plus v10.0.5.2 -office安装工具箱 Office Tool Plus是一款相当好用的office安装工具,并且安装完了顺带激活。借助Office Tool Plus,可以一次性安装Office、Visio、Project,还可以选择不同的授权版本。自定义选择Office的组件&a…

QCustomPlot实现曲线拖拽

本文内容目录 需求场景:一、选择控件二、将QCustomPlot库整合到你的Qt项目中1、下载源代码2、创建.pri三、鼠标框选,实现坐标缩放四、曲线拖动1、定位曲线2、移动时改变曲线五、问题的产生与解决1、查看源码2、修改本项目代码需求场景: 曲线图应该同时具有以下功能点: 1、…

聊一聊翻页电子书制作流程

翻页电子书由于比传统纸质书更加方便阅读,又非常利用储存,所以受到了很多人的喜爱。如何制作翻页电子书?今天我们简单聊一聊翻页电子书制作流程。 制作翻页电子书首先我们要有一个好用的工具,比如我们可以借用Flbook在线翻页电子…

vant_ CountDown倒计时

语法可以直接在官网查看 需求 后端返回的数据格式如下 [{"id": 1,"btn_text": "1","second": 0},{"id": 2,"btn_text": "1","second": 0}... ]之前约定second最多30s, 因此只需…

信钰证券:国际油价大涨!美联储将有新动作

鉴于近期美债收益率继续攀升,美联储多位官员在上星期前几日一再开释“鸽派”信号,称再加息的必要性削弱,提振投资者风险偏好,一度推进美国三大股指上涨。之后,巴以抵触局势风云突变,以色列方面计划向加沙地…

win10部署 Mistral-7B 文本生成模型

Mistral 7B date : 2023年10月16日 人工智能创业公司Mistral AI以Apache 2.0授权开源Mistral 7B语言模型,Mistral 7B的特别之处在于其规模较小仅有73亿,但是在所有基准测试上,其表现都优于规模更大的语言模型Llama 2 13B,还具有…

记使用docker部署项目出现问题

我的docker-compose.yml内容如下: version: "3" services:my_server:build: .restart: alwaysdepends_on:mysql:condition: service_startedports:- 9999:9999links:- mysqlmysql:image: mysql:latest # mysql:oraclerestart: alwayscontainer_name: mys…

陈宥维《虎鹤妖师录》“显眼包”太子成长记 表演灵动获好评

由爱奇艺出品,黄晓达同名少年热血漫画改编,郭虎导演,蒋龙、张凌赫、王玉雯、陈宥维主演的古装玄幻剧《虎鹤妖师录》正在热播中。该剧讲述了虎子、祁晓轩、赵馨彤、王羽千等热血少年组团闯关,在一次次降妖和追寻真相的过程中收获成…

CSS 效果:多列文字,第一行对齐,flex方式元素被挤压

如图效果&#xff1a;2列&#xff0c;第一列只有一行&#xff0c;第二列多行。要求第一行对齐 实现&#xff1a;使用flex 如果不配置flex-shrink的话&#xff0c;第一列会被挤压 给第一列&#xff1a;备注配置压缩属性&#xff1a; flex-shrink&#xff1a;0。 <!DOCTYPE…

01简单的CMakeLists.txt示例

CMakeLists.txt 基础 CMake 是一个项目构建工具&#xff0c;并且是跨平台的。关于项目构建我们所熟知的还有Makefile&#xff08;通过 make 命令进行项目的构建&#xff09;&#xff0c;大多是IDE软件都集成了make&#xff0c;比如&#xff1a;VS 的 nmake、linux 下的 GNU ma…

EDU挖掘

1.信息搜集2.漏洞挖掘 1.信息搜集 没事干&#xff0c;准备找个证书站挖挖看&#xff0c;没想到碰到一个小通用系统。 看样子还挺多功能可以测&#xff0c; 这里利用F12 查看前端源码js 或者css文件&#xff0c;直接用hunter或者fofa搜索到同一类型的网站。 Hunter语法&#…

浅谈变电站运维技术模式及应用-安科瑞黄安南

近年来&#xff0c;市场电子资源需求量的逐步上升&#xff0c;使变电系统建设逐步向复杂环境拓展。为保障变电系统运行稳定性及人员管理安全性&#xff0c;无人值班变电站技术运用势在必行&#xff0c;是解决复杂条件下变电设备运行不稳定及人员设备管理效益低下问题的重要核心…

Redis 集群详解及搭建过程

1. 引言 从3.0版本开始&#xff0c;redis具备了集群功能&#xff0c;实现了分布式、容错、去中心化等特性&#xff0c;在生产环境中对于保证数据一致性和安全性、提高系统响应能力都有着很必要的意义。 本文我们就来介绍 redis 集群的三种搭建模式和搭建方法。 目前Redis 7.0对…

Leetcode算法解析——三数之和

1. 题目链接&#xff1a;15. 三数之和 2. 题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元…

2023年10月实时获取地图边界数据方法,省市区县街道多级联动【附实时geoJson数据下载】

首先&#xff0c;来看下效果图 在线体验地址&#xff1a;https://geojson.hxkj.vip&#xff0c;并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据、市级geojson行政边界数据、区/县级geojson行政边界数据、省市区县街道行政编码四级联动数据&#xff0…

[Python小项目] 利用Python进行彩票选择方案及分析

利用Python进行彩票选择方案及分析 一、前言 你是否曾梦想过一夜暴富&#xff1f;是否曾想过如果能幸运地中得大奖&#xff0c;生活会有怎样的改变&#xff1f;彩票&#xff0c;这个看似简单的游戏&#xff0c;却可能为我们带来巨大的财富。然而&#xff0c;如何选择号码&…