【笔记】软件工程的人员方面

一、软件工程师的特质

  软件工程师个人要想展现“非常专业的”行为,应具备其中特质:

  • 个人责任感
  • 敏锐的意识
  • 坦诚的
  • 抗压能力
  • 高度的公平感
  • 注重细节
  • 务实的

二、软件工程心理学

  在个人层面,软件工程心理学注重待解决的问题、解决问题所需的技能以及在模型外层建立的限制内解决问题的动机。在团队和项目层面,团队能动性称为主要的因素。在这一层面,成功是由软对结构和社会因素决定的。团队交流、合作和协调同单个团队成员的基恩那个同等重要。在外部层面,有组织的行为控制着公司的行为及其对商业环境的应对方式。

  • 外联员
  • 侦查员
  • 守护员
  • 安检员
  • 协调员

三、软件团队

  高校的团队必须建立目标意识参与意识信任意识进步意识

  五个可能形成有害团队环境的因素:

  • 混乱的工作氛围
  • 会造成团队成员分裂的挫败
  • 支离破碎或协调不当的软件过程
  • 对软件团队中角色的模糊定义
  • 持续且重复性的失败

  为避免混乱的工作环境,团队获得工作所需的所有信息。一旦确定了主要目标,不到必要时刻就不要轻易改变。为避免挫败,软件团队应该尽可能地对所做的决定负责。通过了解要完成的产品、完成工作的人员以及允许团队来选择的过程模型,可以避免不当的软件过程。团队自身要剪力责任机制,在团队成员出现失误时中啊处正确的方法。最后,避免陷入失败氛围的关键是建立以团队为基础的反馈和问题解决技巧。

四、团队结构

  在策划软件工程团队结构时应考虑的项目因素:

(1)需解决问题的难度;
(2)基于代码行或功能点的结果程序的“规模”;
(3)团队成员合作的时间;
(4)问题可模块化的程度;
(5)所建系统的质量和可靠性;
(6)交付日期所要求的严格程度;
(7)项目所需的社会化程度。

  四种组织模式:

  • 封闭模式组成的团队遵循出纳同的权力层级模式。这样的团队在建立与之前的成果十分相似的软件时能做得很好,但以封闭模式工作时创新性上相对较弱。
  • 随机模式组成的团队是松散的,并依靠团队成员的个人自发性。在需要创新和技术性突破时,这类团队可以做得很优秀。但是很难完成“有秩序的操作”。
  • 开放模式尝试组成一种团队,既具有封闭模式的可控性, 还具有随机模式团队的创新性。成员们合作完成工作,并有着丰富的交流和达成共识的决定,这些都是开开放模式谈对的特点。开放模式团队适合解决复杂的问题,但没有其他团队的效率高。
  • 同步模式组成的团队有赖于问题的自然区分,不需要很多的交流就可以将成员组织起来共同解决问题。

五、敏捷团队

1.通用敏捷团队

  小型的并充满动力的项目团队也可称为敏捷团队,他们具备成功软件项目团队的很多特征,并且能够避免产生问题的很多毒素。敏捷理念强调个人通过团队合作可以加倍的能力,这好似团队成功的关键因素。
  为了有效利用每个团队成员的能力,并完成项目工程过程中的高校合作,敏捷团队都是自组织的

2.XP团队

  五项价值作为实施所有工作的基础——沟通、简单、反馈、勇气、尊重。

  为使敏捷团队和其他利益相关者达到有效的沟通(如建立所需的软件特性和功能),XP强调客户和开发者之间密切而非正式的合作,构建用作交流媒介的有效的隐喻,以便交流重要概念、获得持续反馈并避免冗长的文档。
  为了达到简单,在敏捷团队在设计时指示考虑当下需要而非长远需求。其目的是创建简单的设计,可以容易地用代码实现。如果必须要改进设计,以后可以对代码进行重构。
  反馈来源于三种途径:所实现软件本身、客户以及其他软件团队成员。通过设计和实行有效的测试策略,软件(通过测试结果)可以为敏捷团队提供反馈。团队可以利用单元测试作为其初始测试手段。每个类开发完成后,团队会根据其特定的功能开发单元测试来不断完善每个操作。向客户交付增量时,要用增量所实现的用户故事或者用例进行验收测试。

六、社交媒体的影响

  博客可用来发表一系列短文以描述系统的重要方面,或者用来发表针对尚处于开发中的软件特性或功能的看法。
  微博由软件工程网络成员使用,对关注他们的人发表短消息。
  在targeted on-line论坛上,参与者可以发布问题、观点、案例或任何其他相关信息。
  网址收藏家为软件工程师或软件团队提供平台,让他们可以为有类似想法的个人组成的社交媒体社区推荐网页资源。
  社交网站使软件开发者和相关技术人员达到分离化的连接。
  大多数社交媒体都能组织有相似兴趣的用户形成“社区”。
  在软件工程工作中使用社交媒体时,不能忽视隐私和安全问题。

七、软件工程中云的应用

  云计算为我们提供了一种机制,以获取各种软件工程工作产品、人工制品以及与项目相关的信息。它在各处都能运行,并能消除很多软件项目对于设备依赖的限制;可以让软件团队成员进行独立于平台的、低风险的新型软件工具的实验,并提供对这些工具的反馈;可以提供新的分配方法和 β β 软件测试;可以提供针对内容和配置管理的更先进的方法。
  云分布在多个服务器,其构造和服务往往不受软件团队的控制。云有很多缺点,且存在可靠性和安全性风险。云提供的服务越多,相对的软件开发环境就越复杂。

  云的优点:软件开发中任何设计社交或合作的地方都很可能会用到云。项目管理、进度安排、任务列表、需求和缺陷管理作为核心团队功能会很好地进行自我调整,其中,沟通对于项目同步以及使团队所有成员——无论他们在哪里——处于同一场景非常重要。

八、协作工具

  协作开发环境(CDE):工具坠与团队成员之间的写作是很有必要的。它们能够实现简易化、自动化以及对整个开发过程的控制。

  有价值的CDE会提供为改善协同工作特别设计的系列服务:

  • 命名空间使项目团队可以用加强安全性和保密性的方式存储工作产品和其他信息,仅允许有权限的人访问。
  • 进度表可以协调会议和其他项目事件。
  • 模版可以使团队成员在创造工作产品时保持一致的外形和结构。
  • 度量支持可以量化每个成员的贡献。
  • 交流分析会跟踪整个团队的交流并分离出模式,应用于需要解决的问题或状况。
  • 工件收集可以通过回答以下问题的方式组织工作产品和其他项目制品:“是什么导致了某个特定的变更?可以跟哪个讨论过特定制品的人商讨有关变更?成员的个人工作是如何影响他人的工作的?”

  代表性协作开发软件工具:GForge、OneDesk、Rational Team Concert。

九、全球化团队

  决策问题因以下四个因素而变得复杂:

  • 问题的复杂性。
  • 与决策相关的不确定性和风险。
  • 结果不确定法则。
  • 对问题的不同看法才是导致不同结论的关键。

  对于全球化软件开发(GSD)团队,协调、合作和沟通方面的挑战对决策具有深远的影响。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值