Logo cn.artbmxmagazine.com

管理员和软件要求

目录:

Anonim

软件工程师经常必须解决的问题非常复杂。了解问题的性质可能非常困难,尤其是在系统是新系统的情况下。

因此,很难准确定义系统应该做什么。服务和限制的描述是系统的要求,发现,分析,记录和验证这些服务和限制的过程称为需求工程。软件工程的许多问题源于需求规范的不精确性。对于系统开发人员来说,为了简化其实现,对不明确的需求进行解释是很自然的。但是,这通常不是客户想要的。必须规定新的要求,并且必须对系统进行更改。当然,这延迟了其交付并增加了成本。

系统的用户需求以不具备详细技术知识的系统用户可以理解的方式描述功能需求和非功能需求。它们仅指定系统的外部行为,并尽可能避免使用系统的设计功能。因此,不应使用实现模型来定义用户需求。它们应使用自然语言,简单的图表和表示形式编写。

当用户需求中包含太多信息时,它们将限制系统开发人员为用户问题提供创新解决方案的自由,并使需求难以理解。用户需求应仅关注要提供的主要资源。

软件过程是导致创建软件产品的一系列活动和相关结果。尽管可能通过扩展和修改现有系统来开发新软件,但这可能包括从头开始进行软件开发。对自动化过程的关注有限的原因之一是软件过程的多样性。没有理想的过程,不同的组织已经开发出完全不同的软件开发方法。流程已经演变为利用组织中人员的能力以及正在开发的系统的特定特征。因此,即使在同一组织内,也可能有许多不同的软件开发过程。

统一开发过程(RUP)方法论的轮廓软件项目,在在动态商业环境中的软件需求的高度协作,进化和灵活的方式吸收的变化定义的发展非常具体的指导方针。同样,它明确定义了需要进行正式项目审查的里程碑,其中包括客户的批准。下图显示了基于RUP的软件项目的生命周期:

它的进化方法包括迭代和增量开发。迭代性质存在于图左侧的活动中(需求,分析,设计等);而渐进式开发则是在整个生命周期内为每个原型开发一次的原型。在细化阶段,将使用包含更高技术风险的用例的体系结构来开发原型。反过来,在构建阶段的每次迭代结束时也会以与精化阶段相同的方式来生产软件,该软件可用于测试目的或用于客户的演示软件。每次迭代结束都标志着一个里程碑,即必须进行客户审查,在其中分析了需求的满足,项目的进度,对实际成本和计划成本的分析。在与项目的每个阶段相对应的最后迭代的情况下,必须由客户创建批准文档,其中客户建议他与项目所实现的开发达成协议,从而接受软件的财务和技术意义。发展。

在开发的初始阶段(Concepción),创建了项目的基础。确定范围,初始计划,具有目标的业务远景和项目的合理性,并在项目的整个开发过程中完善这些工件。初始需求是通过用例捕获的。

在此阶段中,您将开始从业务角度和技术角度考虑系统的初始体系结构。此过程涉及在此阶段中高层创建概念模型和部署模型。

定义了一个高级项目计划,然后在后续迭代中将其提炼为更详细的计划。高层计划处理核心依赖性和总体策略,而更精细的计划(对应于更详细的迭代)则处理适合于每次迭代中所处情况的策略。在项目计划中必须考虑长期行动,例如运营,支持和持续改进。

此设计阶段结束时,要确保存在定义的范围,开发计划,风险分析,而客户必须满足上述要求并有可行的数据仓库建设策略。

在此阶段存在一些常见的错误,您应该避免:

  • 认为这是以传统方式确定需求的阶段;认为您需要完善的模型和计划;在项目开始时尝试创建完整的数据模型。

生成的工件:

  • 项目计划愿景用例概念图部署图客户批准行为

组织使用RUP进行软件项目开发的原因是:

  1. RUP控制范围风险:RUP认识到需求在项目开发中会发生变化,并定义了一种灵活的方法来控制这些需求。在项目开始时试图完全定义需求是一个非常冒险的决定,RUP不仅限于数据:软件项目失败的原因之一是无法提供足够的业务价值。通过识别并关注用例中的业务价值,RUP获得了需求视图,这是以数据为中心的方法的首选方法。RUP尽早控制技术风险:许多软件项目由于对以下方面的信心而失败他们提供了早期创建的详细模型。如果数据模型非常详细,它捕获了“独特的事实”,并且他们花了几个月的时间进行研究,问题是任何体系结构都能在纸上正常工作,直到对该体系结构进行代码测试之前,您无法确定其正确操作,RUP控制了风险。财务:早期管理项目关键组件的迭代和增量开发可确保首先确保最高的功能价值,并始终获得最大的投资回报。RUP以一种规范的方式提供敏捷性:软件困难,需要灵活性,但同时要保持一定的控制水平以使开发有效。在对体系结构进行代码测试之前,您不能确定其功能是否正确RUP控制财务风险:对项目的关键组件进行早期管理的迭代式和增量式开发可确保首先确保最高的功能价值RUP以严格的方式实现敏捷性:软件项目很困难,需要灵活性,但同时又要保持一定的控制水平以使开发有效。在对体系结构进行代码测试之前,您不能确定其功能是否正确RUP控制财务风险:对项目的关键组件进行早期管理的迭代式和增量式开发可确保首先确保最高的功能价值RUP以严格的方式实现敏捷性:软件项目很困难,需要灵活性,但同时又要保持一定的控制水平以使开发有效。始终使投资回报最大化RUP以一种有纪律的方式实现敏捷性:软件项目很困难,需要灵活性,但同时又要保持一定的控制水平以使开发有效。始终使投资回报最大化RUP以一种有纪律的方式实现敏捷性:软件项目很困难,需要灵活性,但同时又要保持一定的控制水平以使开发有效。

需求的变化需要一种进化而灵活的高级协作方法,而统一开发流程(RUP)定义了这种方法。

参考书目

Ian Sommerville,“ 软件工程 ”,第6版。培生教育,2002年。

I. Archer Pupo,“统一开发过程的各个阶段”。http://www.avatar.com.pe

管理员和软件要求