热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于Petri网的敏捷开发软件过程模型及实践1.引言

1.引言    敏捷软件工程是哲学理念和一系列开发指南的综合。这种哲学理念推崇让客户满意和软件的早期增量发布,小而高的自主项目团队,非正式的方法,最小化软件工程工作产品以及整体

1.引言

    敏捷软件工程是哲学理念和一系列开发指南的综合。这种哲学理念推崇让客户满意和软件的早期增量发布,小而高的自主项目团队,非正式的方法,最小化软件工程工作产品以及整体精简开发。开发的指导方针强调超越分析和设计的发布,以及开发人员和客户之间主动和持续地沟通[1]。敏捷开发一出现就受到业界的欢迎,特别适应于需求不断发生变化的系统,但是敏捷开发需要一个清晰的软件过程的支持,没有软件过程的支持,敏捷过程将难以控制,一些问题也随之而来,主要有:

    (1)缺乏一种形式化手段对敏捷软件过程进行系统严格的描述。敏捷开发人员对系统的理解存在着一定的差距,敏捷开发小组成员之间无法进行很好的交流;敏捷项目开发和管理人员无法对软件开发的实际过程进行很好的监控。缺乏有效的过程指导会导致开发过程的不可预测性,重复的工作,以及浪费努力。开发项目进度的拖延、预算的增加和质量的降低将导致客户对我们丧失信任;延长的工期和多付出的辛勤劳动却产生出更加低劣的软件产品,也使得开发人员失去信心。

    (2)迭代过程在软件过程中没有统一完整的规划。在系统开发的初期还可以应付,但当系统越来越复杂时就变得难以控制,迭代在实际的开发过程中难以很好地进行,当需求发生变化时,很难按照需求的需要进行变化,每个变化都会迫使系统其它部分的大面积改动,并且会在与变化概念上无关的许多地方出现问题,无法保证开发的效率和质量,并且缺乏对产生可重用积累的支持。

    如何对敏捷软件过程进行描述,为开发人员提供一个标准的无歧义的软件开发规范,使敏捷开发小组成员间可以进行很好的交流;为敏捷项目开发和管理人员人员提供对开发过程进行监控的有效手段。如何在敏捷软件过程中对迭代过程进行规划,从而设计出面对需求改变却可以相对稳定的系统,从而使得在第一次迭代之后不断地进行迭代。

    本文在对现有敏捷软件过程进行研究的基础上使用软件设计模式对Petri网进行标记扩展, Petri网是一种有严密数学基础的模型保证了软件过程描述的严格、清晰性,软件设计模式对迭代过程进行了统一完整的规划,将软件过程和软件设计模式融合起来,成为一个有机的整体。

基于Petri网的敏捷开发软件过程模型及实践--1.引言,布布扣,bubuko.com


推荐阅读
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • 本文探讨了在构建应用程序时,如何对不同类型的数据进行结构化设计。主要分为三类:全局配置、用户个人设置和用户关系链。每种类型的数据都有其独特的用途和应用场景,合理规划这些数据结构有助于提升用户体验和系统的可维护性。 ... [详细]
  • 气象对比分析
    本文探讨了不同地区和时间段的天气模式,通过详细的图表和数据分析,揭示了气候变化的趋势及其对环境和社会的影响。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • 本文详细介绍如何在 iOS 7 环境下申请苹果开发者账号,涵盖从访问开发者网站到最终激活账号的完整流程。包括选择个人或企业账号类型、付款方式及注意事项等。 ... [详细]
  • 本文介绍了如何通过Java代码计算一个整数的位数,并展示了多个基础编程示例,包括求和、平均分计算、条件判断等。 ... [详细]
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • 本篇文章介绍如何将两个分别表示整数的链表进行相加,并生成一个新的链表。每个链表节点包含0到9的数值,如9-3-7和6-3相加得到1-0-0-0。通过反向处理链表、逐位相加并处理进位,最终再将结果链表反向,即可完成计算。 ... [详细]
  • CentOS 系统管理基础
    本文介绍了如何在 CentOS 中查询系统版本、内核版本、位数以及磁盘分区的相关知识。通过这些命令,用户可以快速了解系统的配置和磁盘结构。 ... [详细]
  • 本文详细介绍了如何解决 Microsoft SQL Server 中用户 'sa' 登录失败的问题。错误代码为 18470,提示该帐户已被禁用。我们将通过 Windows 身份验证方式登录,并启用 'sa' 帐户以恢复其访问权限。 ... [详细]
  • 鼠标悬停出现提示信息怎么做
    概述–提示:指启示,提起注意或给予提醒和解释。在excel中会经常用到给某个格子增加提醒信息,比如金额提示输入数值或最大长度值等等。设置方式也有多种,简单的,仅为单元格插入批注就可 ... [详细]
  • 探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
author-avatar
海天豆浆
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有