🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#### 软件开发过程中需求分析与管理的内容与重要性 * * * * * 1. 需求工作涉及哪些方面? 首先,需求包括产品需求、用户需求和软件需求。产品需求涉及产品的标准化和通用化。它将对用户需求进行分类和优化,并结合行业标准系统模型进行抽象和概括。用户需求的是面向用户域反映存在的问题,根据问题域解决用户期望的效果;而软件需求是指软件工程中的结构化语言和文档,是用户需求和使用需求的产品描述。 需求工作包括需求开发和需求管理。需求开发包括需求研究、需求收集、需求分析、需求开发和其他工作,其中的重点是业务流程、数据字典、业务规则、接口原型。对于面向对象的开发方法,它涉及到业务用例、系统用例(利益相关者、基本流、扩展流、业务规则、接口、操作等)。需求管理包括需求状态管理、变更管理、需求跟踪、需求的验证和确认等。 在我们的需求分析和开发中,最容易忽略的有两个要点,一是缺乏需求分析和开发过程,用户需求直接作为软件需求,没有需求建模和抽象过程。另一点是,没有考虑到非功能性需求,如性能、安全性、易用性、可维护性和可扩展性,从而导致半成品开发不完善。CMMI把需求管理放在2个层次,把需求发展放在3个层次。事实上,它通过提高需求人员的需求、分析和开发能力,真正解决了需求问题。需求分析和开发不好,改变需求或跟踪管道是无用的。 2. 什么样的知识,你需要做需求分析 需求分析工作主要是系统分析员的工作。需要分析的人员应具备软件工程基础知识的积累,最好有一定的软件开发经验。我已经做了设计和开发工作,在我明白如何做好系统之前,需要明白如何更好的完成软件需求和后续更好的收敛。有一本叫做“软件需求”的书,非常有系统性,所有需要工作的人都值得仔细阅读。对于面向对象的需求开发和分析方法,一定要熟悉RUP统一过程和用例分析和建模。 对于软件不能管理没有涉及的业务领域,做需求分析工作必须要熟悉所涉及的业务领域的管理软件,分析和研究了标准模型的相关业务,一些行业标准和最佳实践的熟悉。如供应链管理系统和软件应该熟悉行业标准的SCOR模型,ERP产品应结合当前行业比较大的厂家进行学习和开发管理系统可以结合的步伐和IPD研究。只有当你熟悉了商业世界,你才能在需求研究和分析方面提供很多建设性的建议,或者要求分析师不是由用户主导,而是能够真正引导用户。 3. 需求分析的步骤和输出是什么? 首先,收集需求,通过问卷调查、访谈、行业标准、会议、讨论、沟通等方式收集需求。需求采集首先是能够很好地描述现状,其次是了解用户的期望。同时我们必须削弱系统用户期望做的,因为用户不熟悉系统和内部原理,我们不仅要考虑软件要求实现的功能,还需要考虑服务重用,抽象的需求,可扩展性和对问题的许多方面的配置。 需求的收集从分析开始,包括动态行为分析和静态数据分析。动态行为分析包括用例分析、业务流程和活动输入输出分析、数据流分析、业务操作规则分析。静态数据分析与设计对业务对象建模、数据字典、组织结构、权限等分析。在这个阶段,重点是需求的系统化和结构化,最好是在标准文档中。在软件开发过程中,我们最突出的文档输出需求是需求文档和总体设计文档。 需求分析阶段以及对输出的重点是原型和演示,为了更好地与客户沟通和挖掘需求,我们需要了解我们的想法之后,更多地将图像给用户,所以原型是很重要的。不管原型是否被抛弃,客户所看到的原型与最终的系统基本一致,因此原型开发需要时间,并根据客户的反馈不断修改。在原型中投入更多的时间将减少由于后期需求变更而导致的返工时间。软件原型技术是降低需求变更风险的有效途径。 4. 需求抽象和模型是什么? 首先,了解需求分析和设计是为了满足当前的形势和适应变化而设计的。为了适应变化,业务建模和需求抽象是必要的。当我们理解企业的组织结构和业务流程经常面临变化和调整时,需要考虑标准组织结构模型、权威模型和工作流模型的引入。这些模型的引入改变了业务和需求的变化,通过系统进行灵活的配置。软件系统必须适应变化,这是因为我们的软件需求本身需要适应变化。 需求的抽象包括业务对象模型的抽象、业务规则的抽象和流程的抽象。其中最重要的是业务对象抽象的概念模型和过程抽象形成的数据交互模型。对于一些快速软件开发平台,对象建模、过程建模、组织结构和权限建模、业务规则建模和BPEL业务流程编排正是需求抽象的主要内容。 【摘要】要做需求必须具备两方面的知识,一是对业务领域涉及的和标准模型的真正理解,另一方面是对软件系统设计经验的分析和建设。只有具备这两方面的知识,才能更好地进行需求建模。 5. 验证和验证的要求是什么 我们可以区分验证简单的了解,为开发是否和用户想要的东西是一致的过程称为确认最终的判断体系,你的理解和描述的需求和我是否一致的过程验证的想法。需求验证涉及大量内容,涉及上游和下游利益相关者参与软件开发。首先,您的结构化和文档化需求要求用户验证它们是否符合他们的想法,以及是否清楚地描述了用户的真实意图,以确保需求本身的正确性。对于以后阶段的设计开发人员还需要对需求进行审核,以确保需求的实现,确认需求描述是否清晰,是否能够实现,对于业务对象、流程和规则都不能实现模糊词的存在。对于测试人员来说,主要是确保需求是可测试的,以及是否引入了更容易使用、更好、更不确定和可测试的术语。对于大型软件项目,如果有特定的产品标准和UI组,需要易于使用和产品交互等,以评估整个软件系统产品。 确认主要是在软件系统开发完成后交付给用户,用户确认系统是否实现了原来的需求。为了保证流程的顺利进行,必须注意需求验证的过程,验证不仅是需求文档审核阶段的需求,还需要注意设计,实现需求验证的开发阶段。 6. 为什么要做需求管理、软件需求管理包括什么? 需求管理的范围是IT项目,需求管理是整个IT项目的源头,IT估算、项目计划、跟踪和后续控制、验证和验证工作与需求密切相关。因此,为了保证项目计划的顺利实施,质量和成本目标,确保项目计划和软件开发执行的严肃性;为了保证最终产品最终满足客户的期望,必须做好需求管理工作。 需求管理应该是在整个项目生命周期的管理过程当中,从用户的原始需求,到最终形成软件产品,用户需求的验证,形成一个完整的闭环过程。因此,我们需要追踪和了解需求状态的演变。 大型复杂软件项目的生命周期模型,需要通过实现用户需求,总体设计,详细设计,单元测试,集成测试,系统测试和开发、多环节的验收测试,在这个过程中需要建立明确的需求可追溯性,并且要保证中间阶段的工作产品的一致性。 除了需求管理,变更管理是另一个关键性的需求,经审查确认后建立基线并控制需求变更,当需求改变时,必须对需求分析进行确认,处理需求变更需要用户、项目组、设计人员和开发人员的共同认可和承诺。调整和重新建立基线之后,项目计划也需要做相应的改变。 对于整个需求的研究、分析和需求的发展,认证过程也需要管理。这个过程中的一个要点是,需求输出文档。 7. 需求变更管理的重要性是什么? 用户继续提交修改项目时间表的需要,没有任何保证的时间延迟;系统由于需求的变化导致原先稳定的所有都没有想到错误和异常;这些都是需求管理缺陷的出现。需求管理的重要性,反映项目计划的严肃性和可执行性,以保证项目目标的实现。通过引入需求变更管理,使软件需求文档成为大家共同的承诺,并作为参考文档,要求本文档在设计、开发、测试等各种角色之间充分传递和共享。此外,通过需求管理工作,使每个人都认识到变化对项目的影响和成本的变化,反过来促进了需求质量的发展。 需求变更管理包括了变更请求,CBB委员会进行分析,确认需求的变化,设计和开发负责人确认需求的变化会影响到的模块和代码,开发人员修改和变更测试具体的修改方法,另一个人的改变需要改变以适应形势为了验证。对于发展变化的影响分析,项目团队负责大型项目,可以建立需求管理,在需求跟踪分析,但根据实际需要跟踪在分析的影响效果并不明显。