【软考网络管理员】2023年软考网管初级常见知识考点(28)-系统开发和项目管理

news2024/12/23 19:18:19

涉及知识点

软件生命周期,软件生命周期概念,软件开发模型,瀑布模型,演化、增量模型,喷泉模型,程序控制结构,控制结构种类,软考网络管理员常考知识点,软考网络管理员网络安全,网络管理员考点汇总。
原创于:CSDN博主-《拄杖盲学轻声码》,更多内容可去其主页关注下哈,不胜感激


文章目录

  • 涉及知识点
  • 前言
  • 一、程序设计语言
    • 1.机器语言
    • 2.汇编语言
    • 3.高级语言
  • 二、软件生命周期阶段
    • 1.计划时期
    • 2.需求分析
    • 3.总体设计
    • 4.详细设计
    • 5.编码
    • 6.测试
    • 7.维护
  • 三、软件开发模型
  • 四、程序控制结构
    • (1)顺序结构
    • (2)选择结构
    • (3)循环结构
  • 总结


前言

更多考试总结可关注CSDN博主-《拄杖盲学轻声码》

一、程序设计语言

1.机器语言

每种型号的计算机都有自己的指令系统,也叫机器语言,每条指令都对应一串二进制代码。机器语言是计算机唯一能够识别并直接执行的语言,所以与其他程序设计语言相比,其执行效率较高。

2.汇编语言

为了更方便地使用计算机,20世纪50年代初,出现了汇编语言。汇编语言不再使用难以记忆的二进制代码编程,而是使用比较容易识别、记忆的助记符号,所以汇编语言又叫符号语言。汇编语言只是将一条机器语言用符号表示而已,也是面向机器的一种低级语言,或者说,汇编语言是符号化了的机器语言。用汇编语言编写出来的程序称为汇编语言源程序,计算机不能直接识别、执行它。必须先把汇编语言源程序翻译成机器语言程序(称目标程序),然后才能执行。这个翻译过程是由事先存放在机器里的“汇编程序”完成的,叫作汇编过程。

3.高级语言

低级语言是对计算机硬件直接进行操作的语言,包括机器语言和汇编语言,这种语言编写内部资料,禁止传播程序对程序员的要求比较高,必须了解计算机内部结构。所以现在一般用高级语言编写程序。高级语言是一种用表达各种意义的“词”和“数学公式”按照一定的“语法规贝U”编写程序的语言,也称高级程序设计语言或算法语言。这里的“高级”是指这种语言与自然语言和数学式子相当接近,而且不依赖于计算机的型号,通用性好。
高级语言的使用,大大提高了编写程序的效率,改善了程序的可读性。同样,用高级语言编写的程序称为高级语言源程序,计算机是不能直接识别和执行的,也要用翻译的方法把高级语言源程序翻译成等价的机器语言程序(称为目标程序)才能执行。把高级语言源程序翻译成机器语言程序的方法有“解释”和"编译”两种。
编译方式是当用户将高级语言编写的源程序输入计算机后,编译程序便把源程序整个的翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。比如将高级语言(如C++)源程序作为输入,进行编译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。
解释(翻译)方式是指源程序进入计算机后,解释程序边扫描边解释,逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。比如将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。但解释程序执行速度很慢,例如源程序中出现循环,则解释程序也也地解释并提交执行这一组语句,这就造成很大浪费。编译程序与解释程序最大的区别之下于前者生成目标代码,而后者不生成;此外,前者产生的目标代码的执行速度比解释程序的执行速度要快;后者人机交互好,适于初学者使用。

二、软件生命周期阶段

系统开发的生命周期讲的是住系统历经计划、分析、设计、编程、测试、维护直至淘汰的整个过程。

1.计划时期

包括问题定义和可行性研究。

2.需求分析

需求分析的任务不是具体地解决问题,而是确定软件系统的功能、性能、数据、界面等要求,从而来确定系统的逻辑模型。

3.总体设计

在总体设计阶段,开发人员需要将各项功能需求转换成相应的体系结构,也就是每个模块都和某些功能需求相对应。

4.详细设计

详细设计的主要任务就是对每个模块完成的功能进行具体描述,也就是要知道每个模块的控制结构是怎么样的,先做什么,后做什么,有什么样的条件判定等,用相应的工具把这些控制结构表示出来。

5.编码

把每个模块的控制结构用程序代码进行表示。

6.测试

测试是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检查软件的各个组成部分。

7.维护

软件维护是软件生命周期中时间最长的阶段。软件交付给用户使用之后,就进入软件维护阶段,它可以持续几年甚至几十年。

三、软件开发模型

瀑布模型:瀑布模型也称为生命周期法,是生命周期法中最常用的开发模型,它把软件开发的过程分为软件计划、需求分析、软件设计、程序编码、软件测试和运行维护6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
采用瀑布模型的软件过程如图所示。
图瀑布模型
在这里插入图片描述

瀑布模型是最早出现的软件开发模型,在软件工程中占有J要的地位,它提供了软件开发的基本框架。瀑布模型的本质是“一次通过”,即每个活动只做一次,最后得到软件产品,过程就是利用本次活动应完成的内容,给出该项活动的工作成果,作为输出传给下一次活动;对该项活动实施的工作进行评如果工作得到确认,那么就继续下一项活动,否则返回前项,甚至更前项的活动进行返工。瀑布模型有利于大型软件开发过程中人员的组织与管理,有利于软件开发方法和工具的研究与使用,从而提高了大型软件项目开发的质量和效率。
然而软件开发的实践表明,上述各项活动之间并非完全是自上而下的,而是呈线性图式,因此,瀑布模型存在严重的缺陷。
(1)由于开发模型呈线性,所以当开发成果尚未经过测试时,用户无法看到软件的效果。这样,软件与用户见面的时间间隔较长,也增加了一定的风险。
(2)在软件开发前期未发现的错误传到后面的开发活动中时,可能会扩散,进而可能会导致整个软件项目开发失败。
(3)最突出的一冬是围绕需求分析的,通常客户一开始并不知道他们需要的是什么,而需求是在整个项目进程中通过双向交西不断明确的,而瀑布模型是强调一开始精准捕获需求和设计。演化模型的主要步骤是首先开发系统的一个核心功能,使得客户可以与开发人员一同确认该功能,这样开发人员将会得到第一手的经验,再根据客户的反馈进一步开发其他功能或进一步扩充该功能,直到建立一个完整的系统为止。演化模型的特点基本上与增量模型一致,但对于演化模型的管理是一个主要的难点,也就是说,我们很难确认整个系统的里程碑、成本和时间基线。增量模型与原型实现模型和其他演化方法一样,本质上是迭代的,但与演化不一样的是其强调每一个增量均发布一个可操作产品。采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源。
如果核心产品很受欢迎,则可增加人力实现下一个增量。当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。这样即可先发布部分功能给客户,对客户起到镇静剂的作用。此外,增量能够有计划地管理技术风险。喷泉模型不像瀑布模型一样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。喷泉模型强调的是无间隙,也就是各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。由于喷泉模型在各个开发阶段存在重叠现象,需要大量的开发人员,难以进行项目管理。
螺旋模型将瀑布模型和演化模型相结合,它综合了两者的优点,并增加了风险分析,如图所示。
在这里插入图片描述

每轮循环包含如下六个步骤:
1.确定目标,可选项,以及强制条件。
2.识别并化解风险。
3.评估可选项。
4.开发并测试当前阶段。
5.规划下一阶段
6.确定进入下一阶段的方法步骤。

四、程序控制结构

程序控制结构是程序的基本框架,包括顺序结构、选择结构和循环结构三种。

(1)顺序结构

指按语句出现的先后顺序执行的程序结构,是结构化程序中最简单的结构。

(2)选择结构

又称为分支结构,当程序执行到控制分支的语句时,首先判断条件,根据条件表达式的值选择相应的语句执行(放弃另一部分语句的执行)。分支结构包括单分支、双分支和多分支三种形式。(如If语句)

(3)循环结构

是利用计算机的高速运算能力,重复执行某一代码,完成大量有规则的重复运算。(如while语句)无论多复杂的算法均可通过顺序、选择、循环3种基本控制结构构造出来。以下分别为顺序结构、选择结构、循环结构

#涨薪支持区
期待大家能通过这篇文章学到更多,而且薪资一年更比一年猛!
喜欢博主的话可以上榜一探究竟,博主专设涨薪皇榜给大家查阅,喜欢的可以点击此处查看哟。
在这里插入图片描述


总结

更多备考资料大家可以关注csdn博主-《拄杖盲学轻声码》

以上就是今天要讲的内容,本文主要介绍了备考软考网络管理员的常见知识点(28)系统开发和项目管理,也期待大家逢考必过哈,2023年一起加油!!!

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

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

相关文章

jmeter之对常数吞吐量定时器的理解与使用

详细看这个文章:jmeter之对吞吐量定时器的理解与使用_常数吞吐量定时器_xiaokanfuchen86的博客-CSDN博客 下面是我自己的进行的一点补充:如下图,两个请求中,一个下买单一个下卖单,在【下买单-buy】请求下的常数吞吐量…

略读 # SourcererCC: Scaling Code Clone Detection to Big Code

《SourcererCC: Scaling Code Clone Detection to Big Code》代码克隆检测基线方法之一; ABSTRACT 面向的问题:代码克隆检测在海量源码的场景下的扩展性问题; 提出的解决方案:SourcererCC,a token-based clone detec…

Java面试题【1】

Java面试题 文章目录 Java面试题Java基础以及api程序题1.下面sum的值是( D )2.下面程序的运行结果( A )3.若x是float类型变量,x10/4; 则x的值是( B )4.以下程序的输出结果是(x 99 , …

Redis 缓存数据库双写不一致怎么处理?

一、概述: Redis 缓存数据库可能会出现双写不一致的情况,这是因为在进行缓存更新时,同时有多个线程或进程对同一个缓存键进行读写操作,导致了数据的不一致性。 具体来说,假设有两个线程 A 和 B 都要对同一个缓存键进…

【C语言】常用的字符串函数使用 模拟实现

前言字符串的组成 strlen模拟实现stlen strcpy模拟实现strcpy strcmp模拟实现strcmp strcat模拟实现strcat 前言 在使用下面介绍的库函数时声明以下头文件 #include <string.h>字符串的组成 如下字符数组 str 看似只包含abcde五个字符&#xff0c;实际上由6个字符组成…

随着人工智能时代的到来,算力需求的成倍增长成为新的趋势

方向一&#xff1a;AI与算力相辅相成 人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是新一轮科技革命和产业变革的重要驱动力量。…

python 时间操作

写代码的时候&#xff0c;我建议还是要使用准确的时间刊一下这个结果&#xff0c;然后再减去开始的计数操作 我之前的操作是 time package from time import sleep from time import time import sys t0 time() sleep(3) t1 time()print(" cost {} s".format(…

如何使用Fiddler对手机进行弱网测试?(干货教程)

1.首先&#xff0c;fiddler连接手机 1)Tools->Options->Connections->设置端口8888&#xff0c;勾选Allow remote computers to connect 2)配置手机 注&#xff1a;手机和电脑需要在同一局域网下 手机进入网络详情&#xff0c;将代理改为手动 设置主机名、端口 主机…

python 多任务详解

1、线程① 函数方式创建线程② 自定义类创建线程 2、队列① 普通队列 Queue② 堆栈 LifoQueue③ 优先级 PriorityQueue 3、互斥锁4、进程① 函数方式创建进程② 类方式创建进程③ 进程中的队列④ 进程间通信 5、 线程与进程区别① 线程共享全局变量&#xff0c;进程不共享② 所…

Tomcat部署相关问题汇总

一.Jar包冲突 由于项目当中依赖了一些框架&#xff0c;而这些框架无法直接修改时&#xff0c;就直接本地代码写了一个同名同包路径的类&#xff0c;可以直接覆盖框架的类,但是心里不免有疑问&#xff0c;为啥本地写的同名同路径的类&#xff0c;可以覆盖三方框架的类呢&#x…

分层解耦相关知识点

这里写目录标题 三层架构简介具体案例原始代码DAO层代码service层controller层总结 分层解耦思想IOC&DI 入门简介控制反转依赖注入 IOC详解详细种类 DI详解 三层架构 简介 具体案例 原始代码 DAO层代码 分别是一个接口实现类以及一个接口&#xff0c;用接口是为了提高程…

Python pyqt5 qss美化窗口

效果 QSS QWidget#widget{background-color:#eef0f6;border-left:0.5px solid lightgray;border-right:0.5px solid lightgray;border-top:0.5px solid lightgray;border-bottom:0.5px solid #e5e5e5;border-top-left-radius: 5px;border-top-right-radius: 5px;}QWidget#widge…

Google测试之道丨如何从角色出发谈谈漫游测试?

谈到“漫游测试”&#xff0c;想必大多数人想起的都是James A.whittaker提出的全局探索性测试方法。他将软件测试比如为城市旅游&#xff0c;并划分了不同的区域&#xff08;如&#xff1a;商业区、历史区、娱乐区等等&#xff09;&#xff0c;将测试人员比喻为旅游者进行城市旅…

vue3组件通信之pinia

简述 在vue3&#xff0c;vue的状态管理也迎来了新的变更&#xff0c;在vue3使用新的组件pinia来代理原有的vuex。pinia相比vuex&#xff0c;功能收敛了不少&#xff0c;比如不直接暴露setter方式&#xff0c;外部直接修改数据 两者的概念区别 vuex:集中式管理状态容器,可以实…

java之路—— Spring IOC 的详解与基本应用

创作不易&#xff0c;给个小支持一下呗 文章目录 前言一、IOC 基本概念二、理解IOC三、基本步骤 前言 首先在了解ioc之前&#xff0c;我们要先了解Spring的基本概念。 Spring是一个开源的Java应用程序开发框架&#xff0c;它提供了一套全面的解决方案&#xff0c;用于开发企业…

从此告别网速慢,轻松掌握浏览器缓存知识点!

文章目录 I. 介绍浏览器缓存的作用提高网页加载速度减少网络带宽消耗优化用户体验 II. 浏览器缓存的原理缓存机制缓存分类1. 强缓存2. 协商缓存 III. 强缓存缓存操作流程缓存过期机制如何设置强缓存 IV. 协商缓存304 Not Modified状态码缓存操作流程如何设置协商缓存 V. 缓存失…

kubernetes核心概念 Pod

Kubernetes集群核心概念 Pod 一、工作负载(workloads) 参考链接&#xff1a;https://kubernetes.io/zh/docs/concepts/workloads/ 工作负载&#xff08;workload&#xff09;是在kubernetes集群中运行的应用程序。无论你的工作负载是单一服务还是多个一同工作的服务构成&…

第2章-Java基本语法

Java基础知识图解 1. 关键字与保留字 关键字 Java保留字&#xff1a; 现有Java版本尚未使用&#xff0c; 但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字 goto 、 const 2. 标识符 Java 对各种变量、 方法和类等要素命名时使用的字符序列称为标识符…

Elasticsearch:增量快照如何工作?

作者&#xff1a;Lutf ur Rehman Elastic 提供许多由讲师指导的面对面和虚拟现场培训以及点播培训。 我们的旗舰课程是 Elasticsearch 工程师、Kibana 数据分析和 Elastic 可观测性工程师。 所有这些课程都会获得认证。如果你想更多了解这些认证方面的知识&#xff0c;请阅读文…

【CXP协议与CXP测试套件】

CXP协议 CoaXPress (简称CXP)是指一种采用同轴线缆进行互联的相机数据传输标准&#xff0c;主要用于替代之前的Camera Link协议&#xff0c;常见于科学相机、工业相机、医学图像、航空防务等场景。CXP是一个非对称的高速点对点串行传输协议&#xff0c;主要用于传输视频和静态…