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

news2024/11/15 19:54:22

目录

一.项目和项目管理

二.团队组织与管理

三.软件质量保障

四.软件配置管理

五.项目实践


一.项目和项目管理

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.coloradmin.cn/o/1061678.html

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

相关文章

云原生Kubernetes:K8S集群kubectl命令汇总

目录 一、理论 1.概念 2. kubectl 帮助方法 3.kubectl 子命令使用分类 4.使用kubectl 命令的必要环境 5.kubectl 详细命令 一、理论 1.概念 kubectl是一个命令行工具,通过跟 K8S 集群的 API Server 通信,来执行集群的管理工作。 kubectl命令是操…

嵌入式Linux裸机开发(一)基础介绍及汇编LED驱动

系列文章目录 文章目录 系列文章目录前言IMX6ULL介绍主要资料IO表现形式 汇编LED驱动原理图初始化流程时钟设置IO复用设置电气属性设置使用GPIO 编写驱动编译程序编译.o文件地址链接.elf格式转换.bin反汇编(其他) 综合成Makefile完成一步编译烧录程序imx…

分词.join 保存txt

要求 分词.join 保存txt 第1种方法 分词.join 保存txt input多行文本 /storage/emulated/0/数据中心/txt没有就新建为什么会想到这么做 1. 是因为有分词文件📄要处理 2. 对各种词语和线索进行分类 3. 解释一下生活中不常见的现象,但是深刻的符合社会…

十月四日作业

1、服务器 头文件&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> //服务器头文件 #include <QTcpSocket> //客户端头文件 #include <QList> //链表容器 #include <…

基于混合蛙跳优化的BP神经网络(分类应用) - 附代码

基于混合蛙跳优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于混合蛙跳优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.混合蛙跳优化BP神经网络3.1 BP神经网络参数设置3.2 混合蛙跳算法应用 4.测试结果…

全屋灯具选购指南,如何选择合适的灯具。福州中宅装饰,福州装修

灯具装修指南 灯具就像我们家里的星星&#xff0c;在黑暗中带给我们明亮&#xff0c;可是灯具如果选择的不好&#xff0c;这个效果不仅体现不出来&#xff0c;还会让人觉得烦躁。 灯具到底该怎么选呢&#xff1f;装修灯具有哪些注意事项呢&#xff1f;给大家做了一个总结&#…

集群服务器

文章目录 项目名:实现集群服务器技术栈通过这项目你学到(或者复习到)实现功能编码环境json环境muduo库boost库MySql数据库登录mysql&#xff1a;查看mysql服务开启了没有&#xff1f;mysql的服务器及开发包库chat&#xff0c;表 allgroup friend groupuser offlinemessage user…

【吞噬星空】第四季出现技术事故,巴巴塔变秃头,提升质量成笑话

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析国漫资讯。 《吞噬星空》动画第四季复播了&#xff0c;而且还是连播两集&#xff0c;不少粉丝都表示这次看爽了&#xff0c;不过在看爽了的同时&#xff0c;这一季的不少细节也引起了大家广泛的关注和讨论。这部动画作品以…

引入短信服务

一、阿里云短信服务 进入阿里云平台&#xff0c;然后选择短信服务&#xff0c;通过API发送短信(需要充值金额&#xff0c;几块钱就可以&#xff0c;我们仅仅是小规模项目) 找到openAPI 可以看到Java语言的代码模板&#xff0c;这个就是Java SendSMS短信服务的代码 创建Accessk…

电机-电力拖动-振动-应力分析-设备防护知识初步

1.涉及领域和课程&#xff1a; 信号与系统现代自动化原理与应用频谱转换及振动分析材料学基础与应力分析数学建模、仿真与求解工程数学传感器机器学习与模式识别随机信号处理反馈系统文献学DSP应用机器视觉凸优化&#xff0c;数学物理方法 2.教材推荐 豆瓣书单&#xff0c;更…

【云备份项目】【Linux】:环境搭建(g++、json库、bundle库、httplib库)

文章目录 1. g 升级到 7.3 版本2. 安装 jsoncpp 库3. 下载 bundle 数据压缩库4. 下载 httplib 库从 Win 传输文件到 Linux解压缩 1. g 升级到 7.3 版本 &#x1f517;链接跳转 2. 安装 jsoncpp 库 &#x1f517;链接跳转 3. 下载 bundle 数据压缩库 安装 git 工具 sudo yum…

很普通的四非生,保研破局经验贴

推免之路 个人情况简介夏令营深圳大学情况机试面试结果 预推免湖南师范大学面试结果 安徽大学面试结果 北京科技大学笔试面试结果 合肥工业大学南京航空航天大学面试结果 暨南大学东北大学 最终结果一些建议写在后面 个人情况简介 教育水平&#xff1a;某中医药院校的医学信息…

英语——分享篇——每日100词——601-700

disastrous——adj.灾难性的&#xff0c;完全失败的——disast(e)r灾难(熟词)ous藕丝(拼音)——灾难性的地震后大家只能吃藕丝 disorder——n.骚乱&#xff0c;混乱&#xff1b;vt.使失调——dis的士(谐音)order命令(熟词)——的士司机命令我稳住那场骚乱 distract——vt.转移…

C++设计模式-工厂模式(Factory Method)

目录 C设计模式-工厂模式&#xff08;Factory Method&#xff09; 一、意图 二、适用性 三、结构 四、参与者 五、代码 C设计模式-工厂模式&#xff08;Factory Method&#xff09; 一、意图 定义一个用于创建对象的接口&#xff0c;让子类决定实例化哪一个类。Factory…

华为云云耀云服务器L实例评测使用 | 通过程序实现直播流自动分段录制

华为云云耀云服务器L实例评测使用 | 通过程序实现直播流自动分段录制 1. 准备工作2. 环境搭建3. 心得总结 1. 准备工作 随着云计算时代的进一步深入&#xff0c;越来越多的中小企业企业与开发者需要一款简单易用、高能高效的云计算基础设施产品来支撑自身业务运营和创新开发。基…

【java基础-实战1】字符串的驼峰与下划线互转

插&#xff1a; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家一起学习鸭~~~ 背景 在日常开发过程中&#xff0c;驼峰与下划线的互…

lv7 嵌入式开发-网络编程开发 08 TCP并发功能

目录 1 TCP 多进程并发 1.1 现象&#xff1a; 1.2 多进程并发 2 僵尸进程处理 3 TCP并发多线程 4 练习 1 TCP 多进程并发 1.1 现象&#xff1a; 之前的代码&#xff0c;先关服务端&#xff0c;再次打开会出现错误bind:Address already in use 使用setsockopt 地址快速重…

C++——stack和queue

作者&#xff1a;几冬雪来 时间&#xff1a;2023年10月5日 内容&#xff1a;C——stack和queue内容讲解 目录 前言&#xff1a; 什么是stack和queue&#xff1a; 适配器模式&#xff1a; stack&#xff1a; queue&#xff1a; deque&#xff1a; 相比vector和list&a…

两文学会scala (上)|保姆级别教程(超详细)

目录 一 Scala入门 1.1 概述 1.1.1 为什么学习Scala 1.1.2 Scala发展历史 1.1.3 Scala和Java关系 1.1.4 Scala语言特点 1.2 scala 运行环境准备 二 变量和数据类型 2.1 注释 1&#xff09;基本语法 2&#xff09;案例实操 3&#xff09;代码规范 2.2 变量和常量&a…

基于Java的自习室预订座位管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…