【系统架构设计师】九、软件工程(项目管理|进度管理|软件配置管理|软件质量管理|软件风险管理 )

news2024/9/25 13:26:22

目录

十四、项目管理

14.1 软件进度管理

14.1.1 工作分解结构

14.1.2 Gantt 图 和 PERT 图

14.1.3 关键路径法

14.1.4 浮动时间

14.2 软件配置管理

14.3 软件质量管理

14.4 软件风险管理 

相关推荐

历年真题练习


十四、项目管理

        软件项目管理的对象是软件工程项目。它所涉及的范围覆盖了整个软件工程过程。为使软件项目开发获得成功,关键问题是必须对软件项目的工作范围、可能风险、需要资源(人、硬件/软件)、要实现的任务、经历的里程碑、花费工作量(成本)、进度安排等进行预先计划和执行。这种管理在技术工作开始之前就应开始,在软件从概念到实,的过程中继续进行,当软件工程过程最后结束时才终止。

14.1 软件进度管理

        进度管理就是采用科学的方法,确定进度目标,编制进度计划和资源供应计划,进行进度控制,在与质量、成本目标协调的基础上,实现工期目标

        具体来说,包括以下 6 个过程
        (1)活动定义:确定完成项目各项可交付成果而需要开展的具体活动
        (2)活动排序:识别和记录各项活动之间的先后关系和逻辑关系
        (3)活动资源估算:估算完成各项活动所需要的资源类型和效益
        (4)活动历时估算:估算完成各项活动所需要的具体时间
        (5)进度计划编制:分析活动顺序、活动持续时间、资源要求和进度制约因素制订项目进度计划
        (6)进度控制:根据进度计划开展项目活动,如果发现偏差,则分析原因或进行调整

14.1.1 工作分解结构

        软件项目往往是比较大而复杂的,往往需要进行层层分解,将大的任务分解成一个个的单
一小任务进行处理
。工作分解结构 (Work Breakdown Structure,WBS)如图所示,就是把一
个项目,按一定的原则分解成任务,任务再分解成一项项工作,再把一项项工作分配到每个人
的日常活动中,直到分解不下去为止。即:项目→任务→工作→日常活动

14.1.2 Gantt 图 和 PERT 图

        进度安排的常用图形描述方法有Gantt 图(甘特图)项目计划评审技术(Program Evaluation& Review Technique,PERT)图。

14.1.3 关键路径法

        关键路径:是项目的最短工期,但却是从开始到结束时间最长的路径。进度网络图中可能有多条关键路径,因为活动会变化,因此关键路径也在不断变化中关键活动:关键路径上的活动,最早开始时间=最晚开始时间

        通常,每个节点的活动会有如下几个时间:

        (1)最早开始时间(ES):某项活动能够开始的最早时间。
        (2)最早结束时间(EF):某项活动能够完成的最早时间。EF=ES+工期
        (3)最迟结束时间(LF):为了使项目按时完成,某项活动必须完成的最迟时间。
        (4)最迟开始时间(LS):为了使项目按时完成,某项活动必须开始的最迟时间。LS=LF-工期。

14.1.4 浮动时间

        总浮动时间:在不延误项目完工时间且不违反进度制约因素的前提下,活动可以从最早开始时间推迟或拖延的时间量,就是该活动的进度灵活性。正常情况下,关键活动的总浮动时间为零

        总浮动时间=最迟开始LS-最早开始ES 最迟完成LF-最早完成EF关键路径-非关键路径时长

        自由浮动时间:是指在不延误任何紧后活动的最早开始时间且不违反进度制约因素的前提下,活动可以从最早开始时间推迟或拖延的时间量

        自由浮动时间=最后活动最早开始时间的最小值-本活动的最早完成时间

14.2 软件配置管理

        软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。SCM 的目的是使错误降为最小并最有效地提高生产效率。SCM 的核心内容包括版本控制和变更控制

        版本控制(Version Control)是指对软件开发过程中各种文件变更的管理,最主要的功能就是追踪和记录文件的变更、并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。并行开发中最常见的不同版本软件的错误(Bug)修正问题也可以通过版本控制中分支与合并的方法有效地解决。

          变更控制(Change Control)是指对变更进行管理,确保变更有序进行。对于软件开发项目来说,发生变更的环节比较多,因此变更控制显得格外重要。项目中引起变更的因素有两个:
                一是来自外部的变更要求,如客户要求修改工作范围和需求等;
                二是开发过程内部的变更要求,如为解决测试中发现的一些错误而修改源码甚至设计。比较而言,最难处理的是来自外部的需求变更,因为 IT 项目需求变更的概率大,引发的工作量也大(特别是到项目的后期)。

14.3 软件质量管理

        质量是软件产品特性的综合,表示软件产品满足明确(基本需求)或隐含(期望需求)要求的能力。质量管理是指确定质量方针、目标和职责,并通过质量体系中的质量计划、质量控制、质量保证和质量改进来使其实现的所有管理职能的全部活动。

        从管理角度出发,可以将影响软件质量的因素划分为3组,分别反映用户在使用软件产品
时的3种不同倾向和观点。这3组分别是:产品运行、产品修改和产品转移


        质量管理主要包括以下过程:

        (1)质量规划:识别项目及其产品的质量要求和标准,并书面描述项目将如何达到这些要求和标准的过程。
        (2)质量保证:一般是每隔一定时间(例如,每个阶段末)进行的,主要通过SQA 审计与评审、SQA 报告、处理不符合问题来保证项目的质量。
        (3)质量控制:实时监控项目的具体结果以判断它们是否符合相关质量标准制订有效方案,以消除产生质量问题的原因 。

        软件质量认证,国内软件企业主要采用的是 ISO 9001 和 CMM

        配置项的状态可分为“草稿”“正式”和“修改”三种。配置项刚建立时其状态为“草稿”。配置项通过评审后,其状态变为“正式”。此后若更改配置项,则其状态变为“修改”。当配置项修改完毕并重新通过评审时,其状态又变为“正式”。

14.4 软件风险管理 

        风险管理就是要对项目风险进行认真的分析和科学的管理,这样,是能够避开不利条件、少受损失、取得预期的结果并实现项目目标的,能够争取避免风险的发生或尽量减小风险发生后的影响。但是,完全避开或消除风险,或者只享受权益而不承担风险是不可能的

        风险管理计划编制:如何安排与实施项目的风险管理,制定下列各步的计划。
        风险识别:识别出项目中已知和可预测的风险,确定风险的来源、产生的条件、描述风险的特征以及哪些项目可以产生风险,形成一个风险列表。
        风险定性分析:对已经识别的风险进行排序,确定风险可能性与影响、确定风险优先级、确定风险类型。
        风险定量分析:进一步了解风险发生的可能性具体由多大,后果具体由多严重。包括灵敏度分析、期望货币价值分析、决策树分析、蒙特卡罗模拟。
        风险应对计划编制:对每一个识别出来的风险来分别制定应对措施,这些措施组成的文档称为风险应对计划。包括消极风险(避免策略、转移策略、减轻策略);积极风险(开拓、分享、强大)
        风险监控:监控风险计划的执行,检测残余风险,识别新的风险,保证风险计划的执行,并评价这些计划对减少风险的有效性。

        在信息系统项目中,从宏观上来看,风险可以分为项目风险、技术风险和商业风险。

        项目风险是指潜在的预算、进度、个人(包括人员和组织)、资源、用户和需求方面的问题,以及它们对项目的影响。项目复杂性、规模和结构的不确定性也构成项目的(估算)风险因素。项目风险威胁到项目计划,一旦项目风险成为现实,可能会拖延项目进度,增加项目的成本。

        技术风险是指潜在的设计、实现、接口、测试和维护方面的问题。此外,规格说明的多义性、技术上的不确定性、技术陈旧、最新技术(不成熟)也是风险因素技术风险威胁到待开发系统的质量和预定的交付时间。如果技术风险成为现实,开发工作可能会变得很困难或根本不可能。

        商业风险威胁到待开发系统的生存能力,主要有以下5 种不同的商业风险:

        (1)市场风险。开发的系统虽然很优秀但不是市场真正所想要的。
        (2)策略风险。开发的系统不再符合企业的信息系统战略。
        (3)销售风险。开发了销售部门不清楚如何推销的系统。
        (4)管理风险。由于重点转移或人员变动而失去上级管理部门的支持。
        (5)预算风险。开发过程没有得到预算或人员的保证。

相关推荐

【系统架构设计师】九、软件工程(面向对象方法|逆向工程)-CSDN博客文章浏览阅读920次,点赞22次,收藏9次。面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成设计模型则包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等。软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程。与逆向工程相关的概念有重构、设计恢复、再工程和正向工程。https://shuaici.blog.csdn.net/article/details/140287834【系统架构设计师】九、软件工程(软件开发生命周期|McCabe度量法|系统转换|系统维护|净室软件工程|基于构件的软件工程)-CSDN博客文章浏览阅读690次,点赞9次,收藏7次。九、软件开发生命周期和工具;十、McCabe度量法;十一、系统转换(11.1遗留系统、11.2系统转换、11.3系统维护);十二、净室软件工程;十三、基于构件的软件工程(13.1构件特征、13.2构件模型要素、13.3CBSE过程、13.4构件组装)。https://shuaici.blog.csdn.net/article/details/140321547

历年真题练习

        1.项目配置管理中,配置项的状态通常包括(26)。

                A.草稿、正式发布和正在修改
                B.草稿、技术评审和正式发布
                C.草稿、评审或审批、正式发布
                D.草稿、正式发布和版本变更

        2.()在软件开发机构中被广泛用来指导软件过程改进。

                A.能力成熟度模型(Capacity Maturity Model)
                B.关键过程领域(Key Process Areas)
                C.需求跟踪能力链(Traceability Link)
                D.工作分解结构(Work Breakdown Structure)

        3.某软件项目的活动图如下所示。图中顶点表示项目里程碑,连接顶点的边表示包含的活动,则里程碑(1)在关键路径上,活动FG的松弛时间为(2)

                (1)、A.B        B.C        C.D        D.I
                (2)、A.19      B.20      C.32        D.24

人工分割线-答案

        1. A

        2. A
                解析:CMM是用来指导软件过程改进的。

        3. D、B
                解析: (1),关键路径为ADFHJ,共48天,D在此关键路径上。
                            (2),FG最早开始时间为18天,48-18-3(FG)-7(GJ) = 20 天。

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

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

相关文章

3.Softmax回归

回归和分类 回归估计一个连续值 分类预测一个离散类别 Softmax回归实际是一个分类问题 从回归到多类分类 对类别进行一位有效编码 y [ y 1 , y 2 , ⋯ , y n ] T y[y_1,y_2,\cdots,y_n]^T y[y1​,y2​,⋯,yn​]T,如果是第i类,则值为1,否则为0 使用…

摸鱼大数据——Kafka——Kafka的shell命令使用

Kafka本质上就是一个消息队列的中间件的产品,主要负责消息数据的传递。也就说学习Kafka 也就是学习如何使用Kafka生产数据,以及如何使用Kafka来消费数据 topics操作 注意: 创建topic不指定分区数和副本数,默认都是1个 分区数可以后期通过alter增大,但是…

k8s集群离线部署

K8s离线部署 环境 目标 k8s离线部署 步骤 部署docker 详情见文章:《离线安装docker及后端项目离线打包》 https://blog.csdn.net/qq_45371023/article/details/140279746?spm1001.2014.3001.5501 所用到的所有文件在: 链接:https://pan…

摸鱼大数据——Kafka——Kafka的集群搭建

1、软件安装 搭建Kafka集群 1、下载安装 安装包下载地址:https://kafka.apache.org/download 2、将Kafka的安装包上传到虚拟机,并解压 cd /export/software/ tar -xzvf kafka_2.12-2.4.1.tgz -C ../server/ 配置软连接: cd /export/server ln -s kaf…

Debezium日常分享系列之:Debezium 3.0.0.Alpha1 Released

Debezium日常分享系列之:Debezium 3.0.0.Alpha1 Released 一、重大改变Java 和 Maven 要求已更改 二、新的特征和提高MongoDB 三、更多内容 Debezium 3 的第一个预发布版本 3.0.0.Alpha1。这个版本虽然比正常的预版本要小,但高度关注几个关键点&#xff…

【漏洞复现】Splunk Enterprise for Windows 任意文件读取漏洞 CVE-2024-36991

声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。 一、漏洞描述 Splunk Enterprise 是一款强大的机器数据管理和分析平台,广泛应用于企业中,用于实…

【单片机毕业设计选题24058】-基于嵌入式的智慧酒店管理系统设计与实现

系统功能: 系统分为主机端和从机端,主机端主动向从机端发送信息和命令,从机端 收到主机端的信息后回复温湿度和光照强度信息。 从机端操作: 从机端上电后显示“欢迎使用智慧酒店系统请稍后”两秒后进入正常显示界面。 第一行显示系统状态…

文心快码——百度研发编码助手

介绍 刚从中国互联网大会中回来,感受颇深吧。百度的展商亮相了文心快码,展商人员细致的讲解让我们一行了解到该模型的一些优点。首先,先来简单介绍一下文心快码吧。 文心快码(ERNIE Code)是百度公司推出的一个预训练…

Go语言---并发编程之channel(双channel,单channel)以及应用实例(生产者消费者、打印机模型)

Channel goroutine 运行在相同的地址空间,因此访问共享内存必须做好同步。goroutine 通过通信来共享内存,而不是其享内存来通信。 引用类型 channel 是CSP 模式的具体实现,用于多个 goroutine 通讯。其内部实现了同步,确保并发安全。 chan…

【Linux】磁盘性能压测-FIO工具

一、FIO工具介绍 fio(Flexible I/O Tester)是一个用于评估计算机系统中 I/O 性能的强大工具。 官网:fio - fio - Flexible IO Tester 注意事项! 1、不要指定文件系统名称(如/dev/mapper/centos-root),避…

vue + echart 饼形图

图表配置: import { EChartsOption, graphic } from echarts import rightCircle from /assets/imgs/index/right_circle.png export const pieOption: EChartsOption {title: {text: 100%,subtext: 游客加量,left: 19%,top: 42%,textStyle: {fontSize: 24,color:…

如何评估媒体邀约宣传的效果

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 评估媒体邀约宣传的效果是一个系统而全面的过程,它涉及多个维度的考量和分析。 一、受邀媒体的出席率: 1.受邀媒体出席率直观反映了媒体邀约的效果; …

「C++系列」一篇文章说透【存储类】

文章目录 一、C 存储类1. 类的定义2. 对象的创建3. 对象在内存中的布局4. 对象的存储位置 二、auto 存储类1. auto的基本用法2. auto与存储类的关系1) 自动存储类(最常见的)2) 静态存储类3) 动态存储类(通过new) 三、register 存储…

自学第十五天----深入理解函数上

1. 函数是什么? 维基百科中对函数的定义: 子程序 在计算机科学中,子程序(英语:Subroutine, procedure, function, routine, method, subprogram, callable unit),是一个大型程序中的某部分代码…

【2-1:RPC设计】

RPC 1. 基础1.1 定义&特点1.2 具体实现框架1.3 应用场景2. RPC的关键技术点&一次调用rpc流程2.1 RPC流程流程两个网络模块如何连接的呢?其它特性RPC优势2.2 序列化技术序列化方式PRC如何选择序列化框架考虑因素2.3 应用层的通信协议-http2.3.1 基础概念大多数RPC大多自…

windows上修改redis端口号

概况 redis是一个开源的内存数据结构存储系统,常用做数据库、缓存和消息代理。默认的端口号为6379 更改redis端口号步骤如下 先停止redis服务 redis-cli shutdowm 打开redis配置文件 在redis安装目录下,即redis.windows.conf文件。 port 6396 然后…

插片式远程 I/O模块:热电阻温度采集模块与PLC配置案例

XD系列成套系统主要由耦合器、各种功能I/O模块、电源辅助模块以及终端模块组成。有多种通讯协议总线的耦合器,例如Profinet、EtherCAT、Ethernet/IP、Cclink IE以及modbus/TCP等。I/O 模块可分为多通道数字量输入模块、数字量输出模块、模拟量输入模块、模拟量输出模…

js前端隐藏列 并且获取值,列表复选框

列表框 <div class"block" id"psi_wh_allocation_m"><table id"result" class"list auto hover fixed" style"width:100%;border-collapse:collapse"><thead><tr><%--<th></th>--%&…

人类大脑的计算与机器的类脑计算

人类大脑的计算基本原理涉及到神经元的基本工作方式、神经网络的结构和连接模式、信息传递的方式、学习和记忆的机制等多个层面的复杂互动&#xff0c;这些原理的深入理解不仅有助于神经科学的发展&#xff0c;还为人工智能领域的发展提供了重要的启示和指导。人类大脑计算基本…

【JavaScript 报错】未捕获的加载错误:Uncaught LoadError

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 一、错误原因分析1. 资源路径错误2. 资源不存在3. 网络问题 二、解决方案1. 检查资源路径2. 确保资源存在3. 处理网络问题 三、实例讲解四、总结 在JavaScript应用程序中&#xff0c;未捕获的加载错误&#xff08;Uncaught …