软件工程与计算总结(四)项目管理基础

目录

一.项目和项目管理

二.团队组织与管理

三.软件质量保障

四.软件配置管理

五.项目实践


一.项目和项目管理

1.软件开发远不是纯粹的编程,随着软件规模的增长,软件开发活动也变得越来越复杂~

2.软件项目就是要将所有的软件开发活动组织起来,以有效地安排和控制这些活动,保证所有重要的工作都能得到应有的关注,都能顺利的完成,产生高质量道德软件产品~

3.项目是具有下列特征的一系列活动与任务:

  • 具有一个明确的目标
  • 有限定的开始和结束日期
  • 有成本限制
  • 消耗人力和非人力资源
  • 多工种合作

项目的核心是计划,计划的重要内容包括:项目需要的资源、项目中需要执行的活动、以及项目中需要产生的交付制品

4.项目管理的目标:

  • 在限定时间内
  • 在一定的成本内
  • 在要求的质量水平上
  • 高效使用资源
  • 获得客户认可

5.软件项目管理包括:项目启动、项目计划、项目执行、项目跟踪与控制、项目收尾5个过程

二.团队组织与管理

协作良好的团队是任何项目成功的基础。软件项目尤其依赖于有效的团队组织和管理:软件开发是一个以人为主的活动,人力资源是软件项目最大的资产。

1.团队的特征

一群人简单地集合到一起并不能自然形成团队,只有他们的组织和管理具备了某些特征才能称为团队。

  • 团队成员要具备共同的目标
  • 团队成员要共担责任
  • 团队成员要技能互补
  • 团队是小规模团体
  • 团队内部要有一个明确的结构

2.团队结构

  • 主程序员团队:主程序员团队中有一名技术能力出色的成员被指定为主程序员,负责领导团队完成任务
  • 民主团队:成员之间没有集中的瓶颈,每个成员都可以发挥自己的能动性,能取得更高的士气和工作成就感~
  • 开放团队:成员均为有创造性的产品开发者,对他们进行太多的管理会抑制他们的创造性~

3.团队建设

高凝聚力的胶冻团队不是一天形成的,需要长期的团队建设~

建立团队章程

  • 1)团队的目标。
  • 2)团队的共同追求。这些追求是超出项目之外的所有成员的共同追求,例如追求敏捷理念、开源理念等。
  • 3)团队结构和角色分工。
  • 4)团队的任务、活动与绩效。一定要明确团队的绩效标准,它体现了对团队成员的期望。
  • 5)团队规则与约束。明确团队对成员提出的行为规则要求,例如保持开放氛围、积极参与团队交流活动等。

持续成功

持续成功能够促进团队建设的原因在于:

  • 1)持续成功能够积累团队的信心,尤其是面对困难问题时仍然保持成功期望的信心。
  • 2)持续成功能够建立团队成员之间的信任,互相信任的团队才可能成为高凝聚力团队。
  • 3)持续成功能够激励团队的士气,因为成就感是最能够激励软件开发人员士气的因素。

和谐沟通

  • 和谐沟通的首要原则是建立开放的环境
  • 和谐沟通需要有制度保障

避免团队杀手

常见杀手类型:

  • 防范式管理:管理者要信任团队成员,不能总是担心成员工作不力并据此进行防范式管理
  • 官僚主义:官僚主义的管理者会导致团队的和谐交流氛围无法建立,团队的凝聚力也就无法形成。
  • 地理分散:地理分散使得团队成员之间无法保持持续、紧密的沟通,无法形成团队氛围和高凝聚力。现在的视频通信等手段能部分缓解地理分散带来的困难,但定期的集中交流仍然是必要的。
  • 时间分割:如果团队成员同时参与多个项目,为每个项目分割自己的一部分时间,那么团队就难以形成高凝聚力。“没有人可以成为多个胶冻团队的成员。胶冻团队的紧密人际互动是排他性的。太多分割的团队不会胶冻。
  • 产品质量的降低:这是持续成功的反面,会降低团队成员的成就感和互相信任。
  • 虚假的最后期限:之所以虚假是因为这些最后期限根本就不可能完成,完全是管理者为了驱动项目进度而强加的。一个做着自知不可能完成的任务的人会有士气吗?
  • 小圈子控制:如果团队中有少数成员建立了小圈子,就会破坏整个团队的信任和沟通氛围,自然也就无法建立高凝聚力。

三.软件质量保障

1.软件质量

作为工程师,要对产品的质量负责,保证使用者的生命健康和经济安全~

  • 显式的:指用户在软件创建之前就可以清晰地项开发者清晰地表达的要求
  • 隐式的:在系统投入使用之后要求补充的条件

如下是两个权威的软件质量标准:

 

2.质量保障

由于软件开发过程是不可见的,且越晚发现缺陷,修复的代价越高,因此软件质量的保障活动要贯穿整个开发过程独立、持续地进行

主要方法有:评审、测试和质量度量3种方式

3.评审

由作者之外的其他人来检查产品问题,是静态分析手段

  • 1)规划阶段(planning):制定审查计划,决定审查会议的次数,安排每次审查会议的时间、地点、参与人员、审查内容等。
  • 2)总体部署阶段(overview):向所有参与审查会议的人员描述待审查材料的内容、审查的目标以及一些假设,并分发文档。
  • 3)准备阶段(preparation):审查人员各自独立执行检查任务。在检查的过程中,他们可能会被要求使用检查清单、场景等检查方法。检查中发现的问题会被记录下来,以准备开会讨论或者提交给收集人员。
  • 4)审查会议阶段(inspection meeting):通过会议讨论,识别、确认、分类发现的错误。
  • 5)返工阶段(rework):修改发现的缺陷。
  • 6)跟踪阶段(follow-up):要确认所有发现的问题都得到了解决,所有的错误都得到了修正。
  • 在评审中发现问题是整个评审过程的关键。为了更好地发现问题,需要使用一些检查方法来系统化地帮助和引导检查人员。常见的检查方法是使用检查清单(checklist)[Laitenberger2002],后面的章节会提供各项评审活动的检查清单。 

4.质量度量

依据统计控制思想,要保障软件产品的质量,就要用数字量化的方式描述软件产品。测度(measure)就是为了描述软件产品而提供的定量指标。通过给软件产品或中间制品建立度量描述,可以分析和确定它们的质量。所以软件产品质量度量是质量保障的常用手段。

  • 进行测度的活动称为测量( measurement)
  • 度量(metric)是软件产品在特定属性上的量化测度程度

四.软件配置管理

1.配置管理动机

配置管理的定义:用技术的和管理的指导和监督方法,来标识和说明配置项的功能和物理特征,控制对这些特征的变更,记录和报告变更处理及其实现状态,并验证与需求规格的一致性~

2.配置项

需求进行配置管理的软件开发制品,包括最终制品和中间制品。

3.基线

已经经过正式评审的规格说明或制品,可以作为进一步开发的基础,并且只有通过正式的变更控制过程才能变更

(基线的建立意味着第一个里程碑)

4.配置管理活动

  • 标识配置项
  • 版本管理:赋予版本号
  • 变更控制:已纳入配置管理中的配置项发生变化时,需要依据变更控制过程进行处理~

  • 配置审计
  • 状态报告
  • 软件发布管理

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

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

相关文章

简单聊一聊公平锁和非公平锁,parallel并行流

目录 一、降低锁的粒度,将synchronized关键字不放在方法上了,改为synchronized代码块。二、先区分一下公平锁和非公平锁1、公平锁2、非公平锁3、公平锁的优缺点:4、非公平锁的优缺点: 三、是否对症下药四、IntStream.rangeClosed是…

【问题解决】报错:unable to execute ‘swig‘: No such file or directory

在编译uboot代码时, make -f rockpi4.mk u-boot -j4 报了以下错误。 HOSTCC scripts/dtc/dtc.oSHIPPED scripts/dtc/pylibfdt/libfdt.iENVT include/generated/environment.hPYMOD rebuildHOSTCC scripts/dtc/flattree.oUPD include/generated/version_…

【手绘 | 日漫风】从临摹开始控笔,线条,再到人体

博主:_LJaXi 专栏: Unity | 横版游戏开发 手绘入门 控笔 排线起稿方式九宫格起稿五官起稿专业起稿 握笔姿势三角握持姿势拇指指握姿势 勾线建议注意对于人体 控笔 排线 在绘画过程中,可以使用铅笔控制笔触的方向、压力和角度,以获…

力扣 -- 446. 等差数列划分 II - 子序列

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:int numberOfArithmeticSlices(vector<int>& nums) {int nnums.size();//把元素和它对应的所有下标绑定存放到哈希表中unordered_map<double,vector<int>> hash;for(int i0;i<n;…

picodet onnx转其它芯片支持格式时遇到

文章目录 报错信息解决方法两模型精度对比 报错信息 报错信息为&#xff1a; Upsample(resize) Resize_0 not support attribute coordinate_transformation_mode:half_pixel. 解决方法 整个模型转换过程是&#xff1a;paddle 动态模型转成静态&#xff0c;再用paddle2onnx…

网站安全维护:守护您的数字领土

在这个数字时代&#xff0c;网站已成为企业和个人展示自己的重要平台。然而&#xff0c;随着互联网的高速发展&#xff0c;网站安全问题也日益严峻。黑客和入侵软件等威胁不断涌现&#xff0c;因此&#xff0c;保护网站免受这些威胁的影响变得至关重要。本文将探讨网站安全维护…

字符串常量池位于JVM哪里

Java6 和6之前&#xff0c;常量池是存放在方法区&#xff08;永久代&#xff09;中的。Java7&#xff0c;将常量池是存放到了堆中。Java8 之后&#xff0c;取消了整个永久代区域&#xff0c;取而代之的是元空间。运行时常量池和静态常量池存放在元空间中&#xff0c;而字符串常…

【软件测试】功能测试/接口测试/自动化测试/性能测试/验收测试

软件测试的主要流程 一、测试主要的四个阶段 1.测试计划设计阶段&#xff1a;产品立项之后&#xff0c;进行需求分析&#xff0c;需求评审&#xff0c;业务需求评级&#xff0c;绘制业务流程图。确定测试负责人&#xff0c;开始制定测试计划&#xff1b; 2.测试准备阶段&…

【STM32单片机】多功能电子密码锁设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用STM32F103C8T6单片机控制器&#xff0c;使用按键、IIC OLED模块、DS18B20温度传感器、SG90舵机、红外遥控、矩阵按键、EEPROM等。 主要功能&#xff1a; 系统运行后&#xff0c;OLED显示RTC日期…

【C++面向对象侯捷下】21. 关于New, Delete

文章目录 底层 是 调用 malloc函数 class 可以 重载这些 函数&#xff08;可以重载 构造&#xff0c;析构函数&#xff1f;&#xff09;

CCF CSP认证 历年题目自练Day24

题目一 试题编号&#xff1a; 202009-1 试题名称&#xff1a; 称检测点查询 时间限制&#xff1a; 1.0s 内存限制&#xff1a; 256.0MB 问题描述&#xff1a; 题目背景 2020 年 6 月 8 日&#xff0c;国务院联防联控机制发布《关于加快推进新冠病毒核酸检测的实施意见》&…

速通Redis基础(一):掌握Redis的字符串类型和命令

目录 字符串&#xff08;String&#xff09; 常见命令 SET GET MSET&MGET SETNX INCR INCRBY DECR DECRBY INCRBYFLOAT APPEND GETRANGE SETRANGE STRLEN Redis字符串类型命令总结 Redis&#xff08;Remote Dictionary Server&#xff09;是一个高性能的…

【14】c++设计模式——>工厂模式

简单工厂模式的弊端 简单工厂模式虽然简单&#xff0c;但是违反了设计模式中的开放封闭原则&#xff0c;即工厂类在数据增加时需要被修改&#xff0c;而我们在设计时对于已经设计好的类需要避免修改的操作&#xff0c;而选用扩展的方式。 工厂模式设计 简单工厂模式只有一个…

河北吉力宝:国内顶尖资源荣誉共筑全景融合新商业生态

随着科技的不断发展和社会的进步&#xff0c;新兴企业纷纷崭露头角&#xff0c;展现出令人瞩目的商业潜力。随着科技的不断演进和社会的持续进步&#xff0c;新兴企业正崭露头角&#xff0c;显露出巨大的商机。在这个时代&#xff0c;合作和资源整合变得至关重要。河北吉力宝智…

【java爬虫】使用vue+element-plus编写一个简单的管理页面

前言 前面我们已经将某宝联盟的数据获取下来了&#xff0c;并且编写了一个接口将数据返回&#xff0c;现在我们需要使用vueelement-plus编写一个简单的管理页面进行数据展示&#xff0c;由于第一次使用vue编写前端项目&#xff0c;所以只是编写了一个非常简单的页面。 项目结…

高速数字化仪为您带来高效RF测量秘籍!(二)

上一章主要介绍了虹科高速数字化仪的特点、RF测试选型以及RF动态范围测量示例&#xff0c;本章将继续为大家介绍多通道采集分析正交调制信号、RF频率响应测量等内容。 RF测试分析 数字化仪获取数据并将其用于测量和分析。在这些例子中&#xff0c;虹科SBench6用于分析测试数据…

对干扰SAY NO!GNSS模拟将提供伽利略OS-NMA功能(一)

新一代卫星应用程序依赖灵活且准确的GNSS信号作为许多关键项目的重点要素&#xff0c;以确保高精度的定位、导航和授时&#xff08;PNT&#xff09;数据。虹科Safran提供了GNSS仿真测试解决方案&#xff0c;旨在确保复杂GNSS应用系统的高性能、高弹性和高准确性。 现状 GNSS技…

位移贴图和法线贴图的区别

位移贴图和法线贴图都是用于增强模型表面细节和真实感的纹理贴图技术&#xff0c;但是它们之间也存在着差异。 1、什么是位移贴图 位移贴图&#xff1a;位移贴图通过在模型顶点上定义位移值来改变模型表面的形状。该贴图包含了每个像素的高度值信息&#xff0c;使得模型的细节…

2023年中国短租公寓主要类型、品牌及行业市场规模分析[图]

短租是一种以24小时为计量单位、按天计费的房屋租赁形式&#xff0c;短租又称日租。短租房有高性价比、特色、浓厚居家感的特点&#xff0c;比起传统酒店的客房更具竞争优势。当前&#xff0c;短租房已经成为人们出行住宿的新选择。短租公寓主要类型有合租公寓、月租公寓、服务…

Python 数据分析与挖掘(一)

Python 数据分析与挖掘&#xff08;数据探索&#xff09; 数据探索 1.1 需要掌握的工具&#xff08;库&#xff09; 1.1.1 Nump库 Numpy 提供多维数组对象和各种派生对象&#xff08;类矩阵&#xff09;&#xff0c;利用应用程序接口可以实现大量且繁琐的数据运算。可以构建…