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

目录

十四、项目管理

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.mfbz.cn/a/794145.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

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>--%&…

分析snapmaker Luban软件的 导入图片,图片处理的源码

最近要做一个位图转矢量图的功能&#xff0c;设计到png&#xff0c;jpg等位图的图像处理算法应用。于是分析一下友商的开源软件&#xff0c;Snapmaker Luban。 主要是图片导入的工具&#xff0c;跟踪选中图片会&#xff0c;代码都是怎么处理的。 我使用的激光模式&#xff0c…

读人工智能全传10深度思维

1. 深度思维 1.1. DeepMind 1.1.1. 深度思维 1.1.2. 2014年的员工不足25人 1.1.3. 深度思维公司公开宣称其任务是解决智能问题 1.1.4. 2014年谷歌收购DeepMind&#xff0c;人工智能突然成了新闻热点&#xff0c;以及商业热点 1.1.4.1. 收购报价高达4亿英镑 1.1.4.2. 深度…

LLM-向量数据库中的索引算法总结

文章目录 前言向量数据库介绍索引方法倒排索引KNN 搜索近似 KNN 搜索Product Quantization(PQ)NSW 算法搜索HNSW 前言 向量数据库是当今大模型知识库检索落地实践的核心组件&#xff0c;下图是构建知识库检索的架构图&#xff1a; 首先会将相关文档数据向量化嵌入到向量化数据…

ArcGIS中使用线快速构造成面的方法

准备工作&#xff1a;一个需要转化为面的封闭线&#xff1b;一个处于可编辑状态的面要素文件。 1.选中一个围合封闭成的线 2.点击高级编辑工具中的构造面小工具 3.弹出对话框&#xff0c;直接点确定即可 4.效果如下图&#xff1a; 特别注意&#xff1a;记得要把面图层编辑功能…

yarn底层原理详解:(第33天)

系列文章目录 一、yarn总体架构 二、yarn核心组件及功能 三、yarn资源分配与调度 四、yarn提交和执行流程 五、yarn调度算法 六、yarn安全性与容错性 文章目录 系列文章目录前言一、总体架构二、核心组件及功能1. ResourceManager&#xff08;RM&#xff09;2. NodeManager&am…

使用Nmap扫描指定主机的开放端口

使用Nmap扫描指定主机的开放端口 1.安装nmap [rootlocalhost ~]# yum install nmap 上次元数据过期检查&#xff1a;0:55:23 前&#xff0c;执行于 2024年07月11日 星期四 14时52分06秒。 依赖关系解决。 软件包 架构 …

Linux文件编程(标准C库)

目录 一、标准C库打开/创建文件&#xff0c;读写文件&#xff0c;光标移动 二、标准C库写入结构体到文件 三、其他函数补充 1.fputc函数 2.feof函数和fgetc函数 前面讲到的open函数都是基于linux内核的&#xff0c;也就是说在Windows系统上无法运行&#xff0c;移植性比较…

Nifi中的Controller Service

Service简介 首先Nifi中的Controller Service 和我们MVC概念中的Controller Service不是一个概念&#xff0c;Nifi中的Controller Service更像是和Processor同级的一个概念&#xff0c;它和Processor在我个人的使用经验来理解的话就是它是预制好的各种服务&#xff0c;可以被P…

告别中央服务器:Syncthing实现点对点文件同步

介绍 Syncthing 是一款开源的文件同步工具&#xff0c;可让您在多个设备之间同步文件。 它适用于 Mac OS X、Windows、Linux、FreeBSD、Solaris、OpenBSD等系统。 可以通过浏览器访问来配置和监控该应用程序。 Syncthing 具有以下特点: 1、点对点同步 2、无需中央服务器 …

Python酷库之旅-第三方库Pandas(018)

目录 一、用法精讲 44、pandas.crosstab函数 44-1、语法 44-2、参数 44-3、功能 44-4、返回值 44-5、说明 44-6、用法 44-6-1、数据准备 44-6-2、代码示例 44-6-3、结果输出 45、pandas.cut函数 45-1、语法 45-2、参数 45-3、功能 45-4、返回值 45-5、说明 4…

11-《风信子》

风信子 风信子&#xff08;学名&#xff1a;Hyacinthus orientalis L.&#xff09;&#xff1a;是多年草本球根类植物&#xff0c;鳞茎卵形&#xff0c;有膜质外皮&#xff0c;皮膜颜色与花色成正相关&#xff0c;未开花时形如大蒜&#xff0c;原产地中海沿岸及小亚细亚一带&am…

从人工巡检到智能预警:视频AI智能监控技术在水库/河湖/水利防汛抗洪中的应用

一、背景需求分析 近日&#xff0c;我国多省市遭遇连日暴雨&#xff0c;导致水库、湖泊、河道等水域水位暴涨&#xff0c;城市内涝频发。随着夏季汛期的到来&#xff0c;降雨天气频繁&#xff0c;水利安全管理面临严峻挑战。为保障水库安全、预防和减少洪涝灾害&#xff0c;采…

java中Error与Exception的区别

java中Error与Exception的区别 1、错误&#xff08;Error&#xff09;1.1 示例 2、 异常&#xff08;Exception&#xff09;2.1 示例 3、 区别总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 当我们谈论编程中的错误&#xff08;Error&…

【zabbix7】开启HTTP authentication实现单点登录

开启HTTP authentication实现单点登录 一、新建http验证用户 htpasswd -c /etc/nginx/.htpasswd another_username # 在提示中输入密码二、新建Nginx配置文件 把zabbix.conf拷贝一份&#xff0c;然后修改listen监听的端口。 cp zabbx.conf zabbix_http.conf 每个location中新…

出现 failed to remove xxxx: Invalid argument 解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法 前言 这好像是一个Git的一个Bug&#xff0c;对应有个下下策的解决方式 1. 问题所示 Git提交的时候出现如下问题 Git warning:failed to remove debug.log:invalid argumentgit clean -f -1 --F&#xff1a;\xxx failed to rem…

YOLOv10改进 | 主干/Backbone篇 | 轻量级网络ShuffleNetV1(附代码+修改教程)

一、本文内容 本文给大家带来的改进内容是ShuffleNetV1&#xff0c;这是一种为移动设备设计的高效CNN架构。它通过使用点群卷积和通道混洗等操作&#xff0c;减少了计算成本&#xff0c;同时保持了准确性&#xff0c;通过这些技术&#xff0c;ShuffleNet在降低计算复杂度的同时…

初始网络知识

前言&#x1f440;~ 上一章我们介绍了使用java代码操作文件&#xff0c;今天我们来聊聊网络的一些基础知识点&#xff0c;以便后续更深入的了解网络 网络 局域网&#xff08;LAN&#xff09; 广域网&#xff08;WAN&#xff09; 路由器 交换机 网络通信基础 IP地址 端…

数据结构 —— FloydWarshall算法

数据结构 —— FloydWarshall算法 FloydWarshall算法三种最短路径算法比较1. Dijkstra算法2. Bellman-Ford算法3. Floyd-Warshall算法总结 我们之前介绍的两种最短路径算法都是单源最短路径&#xff0c;就是我们要指定一个起点来寻找最短路径&#xff0c;而我们今天介绍的Floyd…

YOLOv10改进 | Conv篇 | RCS-OSA替换C2f实现暴力涨点(减少通道的空间对象注意力机制)

一、本文介绍 本文给大家带来的改进机制是RCS-YOLO提出的RCS-OSA模块&#xff0c;其全称是"Reduced Channel Spatial Object Attention"&#xff0c;意即"减少通道的空间对象注意力"。这个模块的主要功能是通过减少特征图的通道数量&#xff0c;同时关注空…