软件工程的介绍

软件工程

  • 这一章的内容其实还是蛮多的,大概一共有10个章节,分别是下面的一些内容,但是呢,这一章的内容其实是比较偏向文科类的,也就是说,记忆的内容其实占有很大的篇幅,在该考试科目当中呢,其实也是主要影响上午题部分的选择题的考察,基本的分值呢,在10分左右,分值占比其实还是比较大的,对于下午的内容呢,其实一般是不会太涉及的,所以这一部分的内容还是要认真看一下的
    在这里插入图片描述
软件工程的概述
  • 软件工程指的是应用计算机科学,数学以及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,目的是提高软件生产率,提高软件质量,降低软件成本,因为其实在很早期的时候,我们在去做软件的时候,我们其实是各做各的,人很人之间的交流不多,就会导致软件的生产率低,问题多,所以要用工程化去解决早期在软件开发中所遇到的问题,从而,提高软件生产率和质量,降低软件成本
计算机软件
  • 计算机软件指的是计算机系统中的程序和文档,注意一下,软件不止是代码,不只是程序,还包括有和程序相关的文档,比如说需求文档,设计文档,测试文档,维护文档之类的,这些其实都是软件的一部分
  • 软件的分类:按照软件的应用领域,将计算机的软件分为以下的10类,分别是,系统软件,应用软件,工程/科学软件(比如说我们常见的matlab),嵌入式软件(微波炉按键的控制),产品线软件,Web应用软件,人工智能软件,开放计算,网络资源,开源软件
软件工程的基本原理
  • 我们软件的整个的一个开发的过程,我们要去分一些阶段,比如说需求分析阶段,概念结构设计阶段,逻辑结构设计阶段,测试阶段之类的,把这些阶段分开,每一个阶段都有自己的生命周期和计划,单独管理,这样我们的软件效率其实就会更高
  • 评审阶段,其实也是进一步查看一下我们的这个系统是否有一些缺陷之类的
  • 产品控制其实就是需要对产品的质量进行一个把关的操作
  • 现代程序技术,其实就是利用一些高级程序设计语言,一些面向对象的语言之类的
  • 审查其实就是一个输入对应唯一的输出,不能说每一次的输出结果是不一致的,这个显然是不可以的
    在这里插入图片描述
软件的生存周期
  • 一个软件或者产品系统要经历:孕育,诞生,成长,成熟,衰亡等阶段,一般就称为软件生存周期,软件生存周期一般包括以下七个方面:可行性分析与项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护
  • 可行性分析与项目开发计划:这一个阶段主要就是确定软件的开发目标和可行性(技术上是否可行,成本上是否可行,时间上是否可行),产生的文档有可行性分析报告,项目开发计划
  • 需求分析:确定软件系统要做什么,确定系统的功能,性能,数据和界面,从而确定逻辑模型,产物:数据流图,数据字典,需求说明书
    在这里插入图片描述
  • 概要设计也称为总体设计,要去设计软件的结构,明确每一个模块的功能都是什么
  • 概要设计完成了之后,我们就要进行详细的设计了,具体模块的功能就要在这个阶段进行描述了,比如说具体的算法该怎么做之类的
  • 编码,就是写代码,翻译的过程
    在这里插入图片描述
  • 最后是测试和维护
  • 测试是交给别人来进行测试的,产生测试用例和测试报告
  • 软件维护是软件生存周期中时间最长的阶段
    在这里插入图片描述
软件的过程
  • 软件过程的能力成熟度模型
  • 能力成熟度模型CMM:初始级:项目的完成仅仅依赖于个人;可重复级:建立了一个基本的项目管理过程,这个过程用来跟踪项目的费用,进度和功能特性;已定义级,就是说相关的过程已经文档化和标准化了;已管理级:制定了详细的度量标准;最高级别:优化级
    在这里插入图片描述
  • 能力成熟度模型集成CMMI
  • 过程不可预测且缺乏控制 ,其实就是比较乱
    在这里插入图片描述
  • 一般来说是会给描述,让选阶段,这个其实是比较好选的,因为其实都是有对应的关键字的
    在这里插入图片描述
软件过程模型
  • 软件过程模型习惯上也被称为软件开发模型,是软件开发全过程,活动和任务的结构框架
  • 典型的软件过程模型有:瀑布模型,增量模型,演化模型(原型模型,螺旋模型),喷泉模型,基于构件的开发模型,形式化放

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

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

相关文章

windows ubuntu:sed,awk,grep篇:4.执行 sed

目录 23.单行内执行多个 sed 命令 24.sed 脚本文件 25.sed 注释 26.把 sed 当做命令解释器使用 27.直接修改输入文件 23.单行内执行多个 sed 命令 第一章内已经讲过,单行内执行多个 sed 命令有多种方法。 1. 使用多命令选项 –e 多命令选项-e 使用方法如…

Mybatis-Plus自定义dataScpoe拦截器实现数据权限

使用AOP切面,自定义注解,自定义mybatisplus拦截器,使用 JSqlParser 自定拼接where条件。 1、自定义注解DataScope;注解一般用于Service层或者DAO层(Mapper) import java.lang.annotation.*;/*** 数据权限过滤注解**/ Target(Elem…

7-云原生监控体系-PromQL-函数功能和示例

Prometheus支持几个函数来操作数据。 文章目录 1. 函数语法解释2. count(v instant-vector)3. topk(n, v instant-vector)4. bottomk(n, v instant-vector)5. increase(v range-vector)6. rate(v range-vector)7. rate 和 increase8. irate(v range-vector)9. predict_linear(…

Dockerfile: ENTRYPOINT和CMD的区别

CMD:The main purpose of a CMD is to provide defaults for an executing container. CMD的主要用途是为正在执行的容器提供默认值。也就是指定这个容器启动的时候要运行的命令。 ENTRYPOINT:也是指定这个容器启动的时候要运行的命令。 ———————…

docker菜鸟教程

Docker是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个可移植的容器中,然后发布到任何Linux机器上。以下是Docker的一些基本概念和操作指南: 镜像(Image):Docker镜像是一个文件系统,它包含了应用程序及…

Golang基础1-基本类型、if、switch、string

基本类型 bool 整数:byte(相当于uint8), rune(相当于int32), int/uint ,int8/uint8 ,int16/uint16 ,int32/uint32 ,int64/uint64 浮点数: float32 ,float64, complex64 ,complex128 array(值类型)、slice、map、chan(引用类型…

【Android】 网络技术

前言 本文用于记录Android网络技术的使用, 包括我们如何发起一条HTTP请求、解析XML、JOSN格式的数据以及最好用的网络库Retrofit。 使用HTTP协议访问网络 关于HTTP协议的工作原理,我们只需要知道客户端向服务器发起一条HTTP请求,服务器接收…

使用VIVE Eye and Facial Tracking SDK 1.3.6.8 开发眼动追踪功能

在虚拟现实(VR)环境中,眼动追踪技术可以显著增强用户体验和应用的交互性。HTC Vive Focus 3是一款集成了眼动追踪功能的头戴式显示设备。本文详细介绍如何使用VIVE Sense的VIVE Eye and Facial Tracking SDK 1.3.6.8 在 Unity 中实现眼动追踪…

【MySQL 数据宝典】【索引原理】- 001 索引原理分析 (AVL树、B-Tree、B+Tree)

一、索引定义 MySQL官方对索引定义:是存储引擎用于快速查找记录的一种数据结构。需要额外开辟空间和数据维护工作。 索引是物理数据页存储,在数据文件中(InnoDB,ibd文件),利用数据页(page)存储。 索引可以…

Rust检查一个Vec<String>是否包含一个特定的子字符串

在Rust中&#xff0c;你可以使用contains方法来检查一个Vec<&str>是否包含特定的字符串。但是&#xff0c;如果你想检查一个Vec是否包含一个特定的子字符串&#xff0c;你需要先将子字符串转换为String。 以下是一个示例代码&#xff0c;展示了如何检查一个Vec是否包…

linux 开机自启 rc.local

rc.local 是启动加载文件 例1. compose启动Harbor 写一个开启自动启动的脚本 [rootharbor harbor]# vim startall.sh #!/bin/bash cd /root/harbor docker-compose stop && docker-compose start给脚本权限 chmod x startall.sh chmod x /etc/rc.d/rc.local #ll 查…

springcloud微服务搭建多数据源(mysql,oracle,postgres,等等)管理模块,支持通过注解方式切换不同类型的数据库

1.背景 同一套微服务管理系统&#xff0c;业务完全一样&#xff0c;但不同的客户可能要求使用自己熟悉的数据库&#xff0c;比如&#xff0c;mysql&#xff0c;oracle&#xff0c;postgres&#xff0c;还有一些国产数据库。如果能够将数据库模块独立出来&#xff0c;兼容各家的…

【数据结构】算法的效率(时间复杂度和空间复杂度)

目录 一.算法的效率 二.时间复杂度 1.概念 2.大O的渐进表示法 3.常见时间复杂度计算举例 三.空间复杂度 四.常见复杂度对比 五. 复杂度的oj练习 1.消失的数字 2.轮转数字&#xff1a; 一.算法的效率 算法在编写成可执行程序后&#xff0c;运行时需要耗费时间资源和空…

【android 问题 之--自问自答】

同一个task 可以放不同进程的activity吗&#xff1f; 答&#xff1a;可以的。 A activity获取C activity的返回值有什么方法&#xff1f; 答&#xff1a;1.最笨的办法是使用stattactivityforresult方法启动A&#xff0c;B&#xff0c;C。在onActivityResult方法中进行 回传返…

Elasticsearch文本分析深度解析

在Elasticsearch的世界里&#xff0c;文本分析是数据索引和检索过程的核心环节&#xff0c;它决定了如何将原始文本转换为可搜索的词汇单元。这一过程不仅关乎索引的效率&#xff0c;更直接影响到搜索结果的相关性和准确性。本文将深入探讨Elasticsearch中的文本分析机制&#…

【C++初阶】string

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ &#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1…

【Linux】信号的产生

目录 一. 信号的概念signal() 函数 二. 信号的产生1. 键盘发送2. 系统调用kill()raise()abort() 3. 软件条件alarm() 4. 硬件异常除零错误:野指针: 三. 核心转储 一. 信号的概念 信号是消息的载体, 标志着不同的行为; 是进程间发送异步信息的一种方式, 属于软中断. 信号随时都…

智能优化算法及 MATLAB 实现(书籍推荐)

智能优化算法及 MATLAB 实现&#xff08;书籍推荐&#xff09; 介绍前言目录第1章 粒子群优化算法原理及其MATLAB实现第2章 哈里斯鹰优化算法原理及其MATLAB实现第3章 沙丘猫群优化算法原理及其MATLAB实现第4章 鲸鱼优化算法原理及其MATLAB实现第5章 大猩猩部队优化算法原理及其…

MQTT学习

MQTT作为一种消息协议&#xff0c;工作在TCP/IP的协议簇下&#xff0c;用在硬件的性能低下&#xff0c;网络较差的情况下使用。 传输消息中有三种身份参与&#xff1a;订阅者、发布者、代理&#xff08;即中间服务器&#xff09;。订阅者发送订阅的主题给中间服务器&#xff0c…

20232801 2023-2024-2 《网络攻防实践》实践八报告

20232801 2023-2024-2 《网络攻防实践》实践八报告 1.实践内容 1.动手实践任务: 对提供的rada恶意代码样本&#xff0c;进行文件类型识别&#xff0c;脱壳与字符串提取&#xff0c;以获得rada恶意代码的编写作者. 2.动手实践任务二&#xff1a;分析Crackme程序 在WinXP Attac…