第一讲软件工程导论三

开发过程模型的选择

重型和轻型模型的生产过程各有优缺点(表)。

表.软件开发过程的重要和轻量级模型的优点和缺点

Весмодели

Плюсы

Минусы

Тяжелые

Процессырассчитанынасреднююквалификациюисполнителей.Большаяспециализацияисполнителей.Нижетребованиякстабильностикоманды.

Требуютсущественнойуправленческойнадстройки.

Болеедлительныестадиианализаипроектирования.

Болееформализованные

Отсутствуютограниченияпо

объемуисложностивыполняемыхпроектов.

коммуникации.

Легкие

Меньшенепроизводительныхрасходов,связанныхсуправлениемпроектом,рисками,изменениями,конфигурациями.

Упрощенныестадиианализаипроектирования,основнойупорнаразработкуфункциональности,совмещениеролей.Неформальныекоммуникации.

Эффективностьсильнозависитотиндивидуальныхспособностей,требуютболееквалифицированной,универсальнойистабильнойкоманды.

Объемисложностьвыполняемыхпроектовограничены.

这些人们试图遵循的书籍中描述的模型,并没有对他们特定情况的进行适用性分析。

阿利斯泰尔,“灵活的软件开发宣言”的作者之一分析的非常不同的软件项目,这是在过去20年开展了不同的类别—“轻型”和“重型”的软件项目的研究(SMM-5)。他没有发现项目成功或失败与项目中使用的开发过程模型之间存在关联。因此,他得出结论认为,软件开发的有效性不取决于流程的模型,并且:

?每个项目都必须有自己的开发过程模型。

?每个模型都有自己的时间。

这意味着,没有唯一正确的软件开发过程中,在每一个新项目的过程中必须每次都重新确定,根据不同的项目,产品和人员,按照“4-P法”(图4)。涉及5人的项目和涉及人的项目应适用完全不同的流程。如果项目的产品,如核电站控制系统的关键软件,开发的过程必须是从的发展是非常不同的。最后,不同的是,对待刚毕业的学生和专业人员的组织开发过程必然是不同的

图4.“4-p定律”。项目中的过程应根据项目,产品和人员来确定

开始项目的团队不会保持不变,它会经历一定的形成阶段,并且通常随着项目的发展而定量增加。因此,这个过程必须不断适应这些变化。主要原则:不应该在选定的流程模型下构建人员,流程模型必须针对特定团队量身定制,以确保其最高效率。

应该如何做一个成功的软件项目?

.明确设定目标。

2.确定实现目标的方式。

3.监控和管理实施。

4.分析并应对风险。

5.创建一个团队。

.设定目标

.。这个概念定义了明确无误的目标。

.2。所有团队成员认为这个概念是现实的

.3。该项目具有经济效率的基本原理。

.4。开发了用户界面的原型。

.5。软件产品的目标功能规格已经制定。

.6。该产品的最终用户具有双向沟通

2.确定实现目标的方式

2.。有一个详细的产品开发书面计划。

2.2。项目任务清单包括“次要”任务(配置管理,数据转换,与其他系统的集成)。

2.3。在项目的每个阶段之后,时间表和预算都会更新。

2.4。这些架构和设计解决方案都有文档记录

2.5。有一个定义测试和审查的质量保证计划。

2.6。已经定义了多阶段交付产品的计划。

2.7。该计划考虑到培训,周末,假期,病假。

2.8。项目计划和时间表由所有团队成员批准。

3.控制和管理实施

3.。该项目有一个策展人。这是一个执行公司的高级经理,他对这个项目的成功感兴趣。

3.2。该项目有一个经理,只有一个!

3.3。项目计划定义了“二元”控制点。

3.4。所有有关方面都可以获得关于项目进展的必要信息。

3.5。管理层和开发人员之间有信任。

3.6。管理项目变更的程序已经建立。

3.7。定义负责决定接受项目变更的人员。

3.8。每个参与者都可以获得该项目的计划,时间表和状态信息。

3.9。系统代码会自动检查。

3.0。应用缺陷管理系统。

4.分析风险

4.。有一个项目风险清单。它定期进行分析和更新。

4.2。项目经理监控新风险的发生。

4.3。对于每个承包商,负责与他一起工作的人员都被识别出来。

5.致力于团队建设

5.。该团队的经验足以执行该项目。

5.2。该团队在应用领域有足够的能力。

5.3。该项目有一个技术领导者。

5.4。工作人员数量已足够。

5.5。团队有足够的凝聚力。

5.6。所有参与者都致力于该项目。

评估和解释测试

分数:分数的总和,每个项目估计从0到3:

?0--甚至没有听说过;

?-听过但尚未应用;

?2-部分应用;

?3-已完全应用。

修正因素:

?对于小型项目(最多5人)-.5;

?中等项目(5至20人)-.25。

结果:

?40-该项目的完成值得怀疑。

?40-59-平均结果。在项目过程中,预计会出现严重问题。

?60-79是一个很好的结果。该项目可能会取得成功。

?80-89是一个很好的结果。成功的可能性很高。

?90是一个很好的结果。00%的成功几率。

该清单列出了软件项目成功需要完成的工作,但没有给出如何完成这个问题的答案。这将在剩下的讲座中讨论

结论

程序员产生的东西并不重要-这是用编程语言表达的集体想法。由于该行业的独特性,物质生产分部积累的经验对项目管理的成功影响甚微。与这些行业的直接类比不起作用。管理软件的发展必须有所不同。

软件开发没有一个正确的过程。高效的制造过程必须基于迭代的,增量式的自我管理团队和适应性。主要原则:不应该在选定的流程模型下构建人员,流程模型必须针对特定团队定制,以确保其最高性能。

要使软件项目成功,必须:

.明确设定目标

2.确定实现目标的方式。

3.监控和管理实施。

4.分析并应对威胁。

5.创建一个团队。

赞赏

长按向我转账

受苹果公司新规定影响,iOS版的赞赏功能被关闭,可通过转账支持。









































白癜风治疗医院哪家最好
北京哪看女性白癜风好



转载请注明地址:http://www.henanledxianshiping.com/rjkfjh/17887.html
  • 上一篇文章:
  • 下一篇文章: