软考134-上午题-【软件工程】-进度管理

2024-04-19 10:04

本文主要是介绍软考134-上午题-【软件工程】-进度管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、甘特图(了解)

1-1、定义

Gantt图是一种简单的水平条形图,它以日历为基准描述项目任务。

水平轴表示日历时间线(如时、天、周、月和年等),每个条形表示一个任务,任务名称垂直地列在左边的列中,图中水平条的起点和终点对应水平轴上的时间,分别表示该任务的开始时间和结束时间,水平条的长度表示完成该任务所持续的时间。当日历中同一时段存在多个水平条时,表示任务之间的并发。

图 5-12 所示的 Gantt 图描述了3 个任务的进度安排。任务 1首先开始,完成它需要 6 人月时间;任务2在1个月后开始,完成它需要 9 个月时间;任务3 在6个月后开始,完成它需要5个月时间。

Gantt图能清晰地描述每个任务从何时开始,到何时结束,任务的进展情况以及各个任务之间的并行性。

但是它不能清晰地反映出各任务之间的依赖关系,难以确定整个项目的关键所在,也不能反映计划中有潜力的部分。

1-2、真题

真题1:

真题2:

二、项目计划评审技术图-PERT

2-1、定义

PERT 图是一个有向图,图中的箭头表示任务,它可以标上完成该任务所需的时间。

图中的结点表示流入结点的任务的结束,并开始流出结点的任务,这里把结点称为事件。

流入、流出 = 指向

只有当流入该结点的所有任务都结束时,结点所表示的事件才出现,流出结点的任务才可以开始。

事件(节点)本身不消耗时间和资源,它仅表示某个时间点。

一个事件有一个事件号和出现该事件的最早时刻和最迟时刻。最早时刻:表示在此时刻之前从该事件出发的任务不可能开始;最迟时刻:表示从该事件出发的任务,最迟必须在此时刻之前开始,否则整个工程就不能如期完成。

开始节点:没有任何任务指向的节点,可以有多个。开始节点的最早时刻 = 0

结束节点:没有任务流出的节点,一个图只有一个结束节点。

结束节点的最迟时刻 = 结束节点的最早时刻

每个任务还可以有个松驰时间 (Slack Time),表示在不影响整个工期的前提下完成该任务有多少机动余地。

2-2、最早时刻

从前往后推

单个流入的节点,最早开始时间 = 前一个节点的最早开始时间 + 任务时间;

多个流入的节点,最早开始时间 = MAX(前一个节点的最早开始时间 + 任务时间);

2-3、最迟时刻

从后往前推

单个流出节点的最迟时刻 = 后一个节点的最迟时刻 - 任务时间;

多个流出节点的最迟时刻 = MIN(后一个节点的最迟时刻 - 任务时间);

一般,开始节点、结束节点,开始时刻 = 结束时刻

2-4、松弛时间

松弛时间 = 节点的最迟时刻 - 节点的最早时刻

2-5、关键路径

松弛时间为0的路径!(该路径上的任务,是一天都不能休息的。)

任务上的松弛时间,是由前一个节点计算得到的。

注意:

2-6、小结

PERT 图不仅给出了每个任务的开始时间、结束时间和完成该任务所需的时间,还给出了任务之间的关系,即哪些任务完成后才能开始另外一些任务,以及如期完成整个工程的关键路径。

图中的松弛时间则反映了完成某些任务时可以推迟其开始时间或延长其所需完成的时间。

但是,PERT 图不能反映任务之间的并行关系

PERT 图可以表示出依赖关系。

2-7、真题

真题1:C、B

关键路径

真题2:

真题3:

真题4:

三、项目活动图(☆)

3-1、定义

下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的表示活动(例如:AB),边上的值表示完成活动所需要的时间。

做法和PERT图类似!

考点:关键路径、关键路径的长度(结束顶点的开始时刻!)、某个顶点/活动是否在关键路径上、松弛时间(关键路径上的活动,松弛时间 = 0)。

关键路径可能多条!!!

3-2、真题

真题1:

真题2:

真题3:

真题4:

真题5:(18)B

真题6:

真题7:

真题8:

真题9:

真题10:

真题11:(18)C

真题12:

真题13:

真题14:

真题15:

真题16:

真题17:

 

3-3、画项目活动图

3-4、真题

真题1:D、B

注意:

画活动图的连线时,是从表中的右边往左边找(<——);

填写连线上的时间时,是从表中的左边往右边找,如填写AB/AD上的时间时,找活动编号为A 所对应的工期。

真题2:D

这篇关于软考134-上午题-【软件工程】-进度管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/917237

相关文章

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

Spring中管理bean对象的方式(专业级说明)

《Spring中管理bean对象的方式(专业级说明)》在Spring框架中,Bean的管理是核心功能,主要通过IoC(控制反转)容器实现,下面给大家介绍Spring中管理bean对象的方式,感兴趣的朋... 目录1.Bean的声明与注册1.1 基于XML配置1.2 基于注解(主流方式)1.3 基于Java

基于Python+PyQt5打造一个跨平台Emoji表情管理神器

《基于Python+PyQt5打造一个跨平台Emoji表情管理神器》在当今数字化社交时代,Emoji已成为全球通用的视觉语言,本文主要为大家详细介绍了如何使用Python和PyQt5开发一个功能全面的... 目录概述功能特性1. 全量Emoji集合2. 智能搜索系统3. 高效交互设计4. 现代化UI展示效果

Mysql中的用户管理实践

《Mysql中的用户管理实践》:本文主要介绍Mysql中的用户管理实践,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录13. 用户管理13.1 用户 13.1.1 用户信息 13.1.2 创建用户 13.1.3 删除用户 13.1.4 修改用户