瀑布模型项目中的需求分析之道(一)
- 格式:pdf
- 大小:568.27 KB
- 文档页数:5
瀑布模型软件工程瀑布模型瀑布模型(Waterfall Model)是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好“返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。
包括软件工程开发、企业项目开发、产品生产以及市场销售等构造瀑布模型。
目录瀑布模型(Waterfall Model)1.什么是瀑布模型?2.瀑布模型核心思想3.瀑布模型的重要地位瀑布模型的优缺点1.1、瀑布模型有以下优点2.2、瀑布模型有以下缺点瀑布模型的客户需求什么是瀑布模型?1970年温斯顿·罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。
瀑布模型核心思想瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采瀑布模型用结构化的分析与设计方法将逻辑实现与物理实现分开。
将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
瀑布模型的重要地位瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。
其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,并作为输出传给下一项活动。
同时评审该项活动的实施,若确认,则继续下一项活动;否则返回前面,甚至更前面的活动。
对于经常变化的项目而言,瀑布模型毫无价值。
(采用瀑布模型的软件过程如图所示)瀑布模型的优缺点1、瀑布模型有以下优点1)为项目提供了按阶段划分的检瀑布模型查点。
2)当前一阶段完成后,您只需要去关注后续阶段。
3)可在迭代模型中应用瀑布模型。
瀑布模型设计阶段的步骤The waterfall model is a traditional approach to software development that follows a linear sequence of steps. 瀑布模型是一种传统的软件开发方法,它遵循线性的步骤序列。
In this model, each phase must be completed before moving on to the next phase, similar to water flowing over a waterfall. 在这个模型中,必须在进入下一个阶段之前完成每个阶段,就像水流经瀑布一样。
The phases include requirements analysis, design, implementation, testing, and maintenance. 这些阶段包括需求分析、设计、实施、测试和维护。
Each phase is critical to the overall success of the project, as any issuesthat arise in one phase can cascade into the next. 每个阶段对项目的整体成功至关重要,因为在一个阶段出现的任何问题都可能会引发下一个阶段。
The first step in the waterfall model is requirements analysis, where the project team works closely with stakeholders to define the project's objectives and scope. 在瀑布模型中的第一步是需求分析,项目团队与利益相关者紧密合作,定义项目的目标和范围。
This phase is crucial for setting the foundation for the rest of the project, as it determines what the software should accomplish and how it will be used. 这个阶段对于为项目的其余部分奠定基础至关重要,因为它决定了软件应该实现什么以及如何使用。
设计之路:如何进行软件需求分析?1、需求分析的重要性软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。
通常,软件生存周期包括可行性分析与开发项计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动。
常用的三种软件生命周期(瀑布模型、迭代式模型和快速原型模型)中,需求分析中都占据了举足轻重的作用,是系统分析、软件编程、软件测试和系统维护的输入物。
1.1 瀑布模型瀑布模型由于酷似瀑布闻名,(Waterfall Model)首先由Royce提出。
在该模型中,首先确定需求,并接受客户和SQA小组的验证。
然后拟定规格说明,同样通过验证后,进入计划阶段…可以看出,瀑布模型中至关重要的一点是只有当一个阶段的文档已经编制好并获得SQA小组的认可才可以进入下一个阶段。
这样,瀑布模型通过强制性的要求提供规约文档来确保每个阶段都能很好的完成任务。
但是实际上往往难以办到,因为整个的模型几乎都是以文档驱动的,这对于非专业的用户来说是难以阅读和理解的。
瀑布模型图示如下:从上图可看出,需求分析的产出物《需求规格说明书》(有的项目组还会产出软件原型,例如静态HTML原型等)是后续设计、编码、测试和系统维护的基础。
可将瀑布模型的“需求分析”阶段细分为“软件概念”和“用户需求分析”两个阶段,前者用于收集用户的原始需求,包括用户在功能、行为、性能、设计约束等方面的期望,并经过初步分析后形成《用户需求说明书》,而后经过进一步分析,将用户需求精确化、完全化,最终形成《需求规格说明书》。
可将瀑布模型中的“系统设计”细分为“架构设计”和“详细设计”两个阶段,前者在总体上把握,更关注架构层面,包括系统的总体架构,以及各个子系统或各个模块之间的关系。
后者更注重细节,包括系统设计的方方面面都要在详细设计中有所体现。
作为系统分析师,或系统架构师,主要在“需求分析”和“系统设计”阶段体现自己的作用,后续的各个阶段主要通过与项目组成员的沟通贯彻自己的设计。
瀑布模型的运用
瀑布模型是一种软件开发过程模型,它基于阶段性开发的思想,将软件开发过程分为需求分析、设计、编码、测试和维护等几个阶段。
这种模型适用于开发过程清晰、需求明确的项目。
下面介绍瀑布模型的运用。
首先,在瀑布模型中,需求分析是非常重要的一个环节。
在这个阶段,需求工程师与客户紧密合作,确定软件系统的需求。
这个过程需要进行详细的讨论、分析和评估,以确保系统的功能和性能能够满足用户的需求。
接着,设计阶段是在需求分析阶段的基础上进行的。
设计师会绘制软件系统的架构图和设计文档,确定系统的结构、功能和各个模块之间的关系。
这个过程需要全面考虑软件系统的各个方面,以确保系统结构清晰、功能齐备、易于维护。
然后,在编码阶段,开发人员会根据设计文档编写代码。
这个过程需要严格遵循设计规范和软件开发标准,以确保代码的质量和可维护性。
在测试阶段,测试人员会对软件系统进行各种测试,以检查系统的功能、性能和稳定性是否达到了预期目标。
这个过程需要进行全面的测试,包括单元测试、集成测试、系统测试等,以确保软件系统的质量和可靠性。
最后,在维护阶段,开发人员会对软件系统进行修复和优化,以确保系统的稳定性和功能的完善。
这个过程需要不断改进软件系统,
满足用户的需求。
总之,瀑布模型是一种非常实用的软件开发过程模型,它能够帮助软件项目团队在开发过程中规划、管理和控制开发过程,确保软件系统的质量和可靠性。
瀑布模型(Waterfall Model)是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好“返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。
包括软件工程开发、企业项目开发、产品生产以及市场销售等构造瀑布模型。
目录编辑本段瀑布模型(Waterfall Model)什么是瀑布模型?瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。
1970年温斯顿·罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。
瀑布模型核心思想瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采瀑布模型用结构化的分析与设计方法将逻辑实现与物理实现分开。
将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
瀑布模型的重要地位瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。
其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,并作为输出传给下一项活动。
同时评审该项活动的实施,若确认,则继续下一项活动;否则返回前面,甚至更前面的活动。
对于经常变化的项目而言,瀑布模型毫无价值。
(采用瀑布模型的软件过程如图所示)编辑本段瀑布模型的优缺点1、瀑布模型有以下优点1)为项目提供了按阶段划分的检瀑布模型查点。
2)当前一阶段完成后,您只需要去关注后续阶段。
3)可在迭代模型中应用瀑布模型。
增量迭代应用于瀑布模型。
迭代1解决最大的问题。
4. 面向对象的分析方法主要是建立三类模型,即( D )。
A) 系统模型、ER模型、应用模型B) 对象模型、动态模型、应用模型C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型5. 在E-R模型中,包含以下基本成分( )。
A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( c )A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。
对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a )A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。
A.数据流B.系统结构C.控制结构D.信息流14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试16.需求分析的产品是( D )A.数据流程图案B.数据字典C.判定表D.需求规格说明书17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C )A.数据库设计B.数据通信C.数据定义D.数据维护18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。
A.增量模型B.喷泉模型C.原型模型D.螺旋模型(×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。
瀑布模型调研报告范文瀑布模型调研报告一、调研背景瀑布模型是一种传统的软件开发模型,它按照一定的顺序进行软件项目的各个阶段,每个阶段都需要完成特定的任务。
近年来,随着敏捷开发模型的兴起,瀑布模型逐渐被更加灵活和迭代的开发模型所替代。
本次调研旨在了解当前企业和开发者对于瀑布模型的认知和应用情况,以帮助企业和开发者在选择开发模型时有更多的参考依据。
二、调研目的1. 了解企业和开发者对于瀑布模型的认知程度;2. 了解企业和开发者在项目开发过程中是否应用瀑布模型;3. 了解企业和开发者对于瀑布模型的优缺点评价。
三、调研方法1. 网络问卷调查:通过向企业和开发者发放问卷,收集其对于瀑布模型的认知程度、应用情况以及评价等数据;2. 电话访谈:选取部分企业和开发者进行电话访谈,进一步了解其在实际项目中使用瀑布模型的具体情况。
四、调研结果分析经过调研,我们收集到了大量的数据,并进行了统计和分析。
以下是一些主要的结果和分析:1. 对于瀑布模型的认知程度:大部分企业和开发者对瀑布模型有一定了解,但了解程度不深。
只有少部分企业和开发者对瀑布模型非常熟悉。
2. 在项目开发中的应用情况:大部分企业和开发者在项目开发过程中应用了瀑布模型,但并非所有项目都使用瀑布模型。
有一些企业和开发者则更倾向于其他开发模型,如敏捷开发模型。
3. 对瀑布模型的优缺点评价:对于瀑布模型的优点,大部分企业和开发者认为瀑布模型有明确的开发过程和交付阶段,便于组织和管理项目。
而对于缺点,部分企业和开发者认为瀑布模型过于刚性,无法应对需求变化和交付时间的压力。
五、结论和建议1. 针对瀑布模型在项目开发中的应用情况,建议企业和开发者根据实际项目需求选择适合的开发模型,可以灵活运用瀑布模型和其他开发模型相结合,以满足项目的特定需求。
2. 针对瀑布模型的优缺点,在选择开发模型时需要全面考虑项目的特点和风险,不仅仅局限于传统的瀑布模型或敏捷开发模型。
在实际应用中,可以根据项目的复杂性和变化程度,选择更加适合的开发模型。
浅谈如何运用SDLC中的瀑布模型来设计教法评优公开课摘要:本文首先从中专现有教法评优公开课的传统设计模式的优缺点分析入手,另辟蹊径,结合笔者多年的教学经验及参加上海市第六届教法评优活动并获得二等奖的亲身经历,再融合了软件工程中的软件开发生命周期(sdlc)中的瀑布模型及中专学生实际的学习特点,总结出一套行之有效的公开课的设计方法供中专职校的各位领导及同仁共同学习探讨。
关键词:中专;瀑布模型;软件工程;sdlc;软件开发生命周期;教法评优;公开课中图分类号:g632文献标识码:a文章编号:1009-0118(2013)03-0010-02一、现有中专的公开课的设计模式的优缺点分析(一)从优点上来讲,在校企结合的大背景下,很多学校在专业课程的教学上都采用了与企业密切相关的任务引领法,项目教学法下面就通过我自己的教学实践中的两个案例来分别说说运用任务引领法和项目教学法来设计公开课的优点。
1、案例1:我在上海市第六届教法评优的初赛中运用了任务引领法。
我选择了《局域网组建》这门课中的单元二《桌面操作系统》里的任务九《配置对等网并实现资源共享》作为课题。
在教法设计时就运用任务引领法将一个大任务拆分成以下四个小任务:(1)设置网络属性;(2)设置ip、网关及dns;(3)设置共享文件夹;(4)访问共享文件夹。
这四个小任务环环相扣,承上启下。
由于小任务分解的难易适中。
学生在80分钟的二节课中反复演练后能非常熟练的掌握整个任务九。
2、案例2:我在本学期的《网站系统维护》的教学中,运用了项目教学法及任务驱动法。
一章(用一个单元表示)就是一个项目(比如项目实训的名称是公司网站建设)。
这样一个项目太大。
于是将他拆分成一个一个任务(以前的一节)。
每次上课的时候用任务驱动法教会学生掌握一个任务。
比如:任务一是介绍安装操作系统、任务二是安装和设置iis。
任务三是实现虚拟主机。
每个任务都是独立的知识点,但这三个任务完成后,一个完整的项目模型也宣告完成。
瀑布开发模型流程瀑布开发模型是一种经典的软件开发方法,它采用线性顺序完成一系列的开发阶段。
这种模型强调在开发过程中的严格计划、设计和文档编写,以确保项目按时交付、满足预期目标。
以下是瀑布开发模型的主要流程。
1. 需求分析阶段:需求分析是项目中至关重要的一步。
在这个阶段,开发团队与客户沟通,详细了解客户对软件的需求和期望。
开发团队将需求文档化,并分解为更具体的功能和要求。
2. 系统设计阶段:在需求分析的基础上,开发团队开始进行系统设计。
这包括确定软件架构、数据库设计、模块划分等。
设计文档应详细描述系统的功能和工作流程,以便开发人员参考。
3. 编码阶段:在系统设计阶段完成后,开发团队可以开始编写代码。
根据设计文档中的规格要求,开发人员使用适当的编程语言实现功能。
重点是保持代码的可读性和可维护性,以便在后续阶段进行调试和改进。
4. 测试阶段:编码完成后,软件进入测试阶段。
在这个阶段,测试人员会进行各种测试,包括单元测试、集成测试和系统测试,以确保软件的功能正常运行。
测试结果会反馈给开发人员,他们会修复其中的错误和缺陷。
5. 部署与维护阶段:测试通过后,软件可以部署到实际环境中供用户使用。
这个阶段涉及系统管理员的工作,包括安装软件、配置系统和进行用户培训。
一旦软件上线,开发团队将继续监测系统运行情况,并及时修复和优化。
瀑布模型的特点是每个阶段的顺序和线性推进,一旦进入下一个阶段,就不再回到前一个阶段。
它适合对需求明确、变更较少的项目,并且需要严格的计划和文档化。
然而,由于不容易适应需求变更,瀑布开发模型的缺点是缺乏灵活性和适应性。
总结起来,瀑布开发模型是一种传统的软件开发方法,主要由需求分析、系统设计、编码、测试和部署与维护阶段构成。
它强调每个阶段的顺序和规范,并重视详细的文档编写。
虽然它在某些项目中仍然有效,但在需求变更频繁或灵活性要求较高的项目中并不适用。
项目管理瀑布流方法
瀑布流方法是一种经典的项目管理方法,它按照阶段化的顺序一步一步地推进项目。
以下是瀑布流方法的一般步骤:
1. 需求分析阶段:在这个阶段,项目团队将与利益相关者合作,收集和分析项目的需求和目标,以明确项目的范围和目标。
2. 设计阶段:在这个阶段,项目团队将基于需求分析阶段的结果,进行详细设计。
这包括确定系统的架构、功能模块的设计和用户界面的设计。
3. 开发阶段:在这个阶段,项目团队将进行开发工作,实现设计阶段确定的功能。
4. 测试阶段:在这个阶段,项目团队将对开发完成的功能进行测试,以确保其符合需求并没有错误。
5. 部署阶段:在这个阶段,项目团队将完成的软件或系统部署到目标环境中,并进行必要的测试和配置。
6. 运维阶段:在这个阶段,项目团队将负责系统的维护和支持,以确保其正常运行并满足用户的需求。
瀑布流方法的主要特点是阶段化和线性推进。
每个阶段都需要完成后才能进入下一个阶段,这种线性推进可以有助于项目管理团队对项目进度和成本进行有效的控制。
然而,由于其刚性的阶段顺序,瀑布流方法在面对需求的变化时可能会变得不灵
活,因此在敏捷项目管理方法出现后,瀑布流方法在一些项目中逐渐被取代。
紫禁城文案朋友圈1. 穿越时空,感受古代帝王的气息,探索紫禁城的神秘之旅!2. 一步一景,步入紫禁城,仿佛回到了古代的宫廷时代。
3. 紫禁城,中国古代帝王的居所,见证了无数历史的变迁。
4. 在紫禁城里,你可以感受到古代皇帝的威严与尊贵。
5. 漫步在紫禁城的广场上,仿佛能听到古代宫廷的喧嚣声。
6. 紫禁城的建筑精美绝伦,每一处都蕴含着深厚的文化底蕴。
7. 紫禁城的角角落落都有着独特的故事,等待你去发现。
8. 紫禁城的红墙黄瓦,是中国古代建筑的代表之一。
9. 紫禁城的宫殿建筑,展现了中国古代建筑艺术的巅峰之作。
10. 紫禁城的宫廷文化,是中国古代文明的瑰宝。
11. 紫禁城的夜晚,灯火辉煌,宛如仙境。
12. 紫禁城的午门,是皇帝出巡的重要场所。
13. 紫禁城的乾清宫,是皇帝举行重要典礼的地方。
14. 紫禁城的太和殿,是皇帝接见重要官员的地方。
15. 紫禁城的乾隆花园,是皇帝休闲娱乐的场所。
16. 紫禁城的角楼,是守卫皇城的重要防御建筑。
17. 紫禁城的御花园,是皇帝赏花的胜地。
18. 紫禁城的午门大殿,是皇帝举行盛大典礼的地方。
19. 紫禁城的乾清宫,是皇帝处理政务的地方。
20. 紫禁城的太和殿,是皇帝举行重要宴会的地方。
21. 紫禁城的乾隆花园,是皇帝享受闲暇时光的地方。
22. 紫禁城的角楼,是守卫皇城的重要角色。
23. 紫禁城的御花园,是皇帝赏花的胜地。
24. 紫禁城的午门大殿,是皇帝举行盛大典礼的地方。
25. 紫禁城的乾清宫,是皇帝处理政务的地方。
26. 紫禁城的太和殿,是皇帝举行重要宴会的地方。
27. 紫禁城的乾隆花园,是皇帝享受闲暇时光的地方。
28. 紫禁城的角楼,是守卫皇城的重要角色。
29. 紫禁城的御花园,是皇帝赏花的胜地。
30. 紫禁城的午门大殿,是皇帝举行盛大典礼的地方。
典型瀑布模型的四个阶段一、计划阶段嘿,同学们!在瀑布模型的计划阶段,那可是超级重要的哟!就好像我们要去旅行,得先规划好路线和行程。
这时候要搞清楚我们到底要做个啥样的项目,要达成啥目标。
比如说,咱要做个超酷的校园APP ,那得先想好这个 APP 有啥功能,是能帮大家找教室呢,还是能一起约打球。
还得想想大概要花多少时间、多少人力、多少财力才能搞定。
这个阶段就像是给项目打个地基,要是计划没做好,后面可就容易乱套啦!二、需求分析阶段接着就是需求分析啦!这就像是我们去餐厅点菜,得清楚自己想吃啥,不然厨师怎么知道做啥菜给我们吃呢。
在这个阶段,得和各种相关的人好好聊聊,比如老师、同学,搞清楚大家对这个项目到底有啥具体的要求和期望。
比如那个校园 APP ,是要界面好看呢,还是操作简单方便呢?是要能实时推送消息呢,还是要有强大的社交功能?把这些需求都一条一条列清楚,这样后面的开发人员才能心里有数,知道该往哪个方向努力。
三、设计阶段然后就到设计阶段啦!这就像是给房子画设计图。
要根据前面确定的需求,来设计整个项目的架构、模块、流程啥的。
比如说校园APP ,得设计好各个功能模块怎么布局,数据怎么存储和传输,用户界面长成啥样。
这个阶段得想得特别仔细,不然等到开发的时候才发现问题,那可就麻烦大啦!四、实现阶段最后就是实现阶段啦!这就像是盖房子,按照设计好的图纸一砖一瓦地盖起来。
开发人员开始写代码、做测试,把之前的设计变成实实在在可以用的东西。
这个阶段可不能马虎,得保证代码质量高,功能都能正常实现,没有啥漏洞和错误。
等这个阶段完成,咱们的项目就差不多大功告成啦!瀑布模型的这四个阶段就像是一场接力赛,每个阶段都很重要,都得认真对待,才能做出一个成功的项目哟!。
信息系统项目管理师案例分析考点:瀑布模型瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。
相关真题:
[说明]
项目经理小李负责了一个新的项目,该项目的内容是为某市开发一套智慧城市公共综合信息服务平台。
项目启动阶段,甲方仔细查看了小李提交的项目实施方案,提出由于该项目的投资方构成复杂,项目需求不清晰,希望项目组能想办法解决这个问题。
小李向公司申请了几名经验丰富的系统分析师,加强需求分析阶段的工作。
经过较为充分的需求调研,形成了初步的需求说明书。
小李认为需求分析工作较为详细,按照公司常用的软件开发生命周期模型,选择了瀑布模型进行开发。
在编写概要设计和详细设计说明书的过程中,客户方提供了几处需求的修改要求。
由于其工作量不大,小李直接安排系统分析师按客户的要求进行了修改。
在编码阶段后期,由于客户的投资方发生了变化,新的投资方采用了新的运营模式,导致需求发生较大变化,由于前期甲方已经强调过项目需求特点和要求,小李只能接受客户新的变更要求。
在执行变更的过程中,项目组发现新的需求将导致系统架构的更改,经过评估该变更将使项目延期。
[问题]
小李选择瀑布模型作为生命周期模型是否合适?如合适,请说明理由;如不合适,请说明理由,并给出合适的生命周期模型。
瀑布模型的案例想象一下你要盖一栋超级酷炫的树屋,咱们就用瀑布模型来搞这个项目。
一、需求分析阶段。
你首先得想好这个树屋要干啥。
你想啊,你是想在里面舒舒服服地看漫画,还是邀请小伙伴们来开秘密会议呢?这就是需求分析啦。
比如说你决定这个树屋得能容纳至少三个小伙伴,要有个小窗户能看到外面的花园,还要有个秘密小抽屉来藏宝贝。
这就像瀑布模型最开始的一步,确定清楚所有的要求,就像给这个树屋项目画了个草图。
二、设计阶段。
根据前面的需求,现在就开始设计树屋的样子啦。
你拿出纸和笔,开始画设计图。
你想着树屋要搭在那棵最粗壮的大树上,下面有个小梯子可以爬上去。
树屋的屋顶呢,做成三角形的,就像童话里的小房子一样,这样下雨的时候雨水就可以顺利流走。
屋里的布局也规划好,左边放小床,右边放个小桌子。
这就像是瀑布模型里根据需求做出详细的设计规划,每一个细节都要考虑到,就像设计树屋的每一块木板怎么拼接一样。
三、实现阶段。
设计好了,那就动手干呗!你找来了木材、钉子、锤子这些工具。
先把树屋的框架搭起来,按照设计图的尺寸,把一根根木头钉好。
这个过程就像是程序员按照设计文档开始写代码构建软件一样。
你吭哧吭哧地干,把屋顶也盖上,墙壁也安装好,就像在把软件的各个功能模块一个个地做出来。
不过这个过程中可不能随便改设计图哦,就像瀑布一样,一路向下,不能回流,不然树屋可能就会歪歪扭扭的啦。
四、测试阶段。
树屋搭好了,但是还不能马上就用。
你要先检查检查。
你爬进树屋,在里面蹦蹦跳跳,看看这个小床结实不结实,小桌子稳不稳。
再打开小窗户看看能不能顺利推开,秘密抽屉能不能正常开关。
这就是测试阶段啦。
要是发现小床有点晃悠,那你就得找找原因,是钉子没钉好呢,还是木材有问题。
就像软件测试的时候发现了漏洞,要赶紧去修复。
五、维护阶段。
树屋使用了一段时间后,可能会出现一些小问题。
比如说,下了一场大雨后,你发现屋顶有点漏水。
这时候你就又得拿起工具,爬上树屋去修补屋顶。
或者小伙伴们来玩的时候,觉得树屋有点小,你可能要考虑给树屋加个小阳台之类的。
而敏捷开发模型则以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。
它强调适应性而非预设性,将项目分解成不同的“MVP”周期执行。
敏捷开发模型是面向人而不是过程,它更强调团队间的充分沟通,更适合那些自主运营的互联网产品。
需求分析角色在瀑布模型中的能力模型偏向项目经理,在实际需求调研和需求设计中需要结合项目管理的黄金三角(时间、资源、质量)进行统筹规划;而在敏捷开发模型中则更偏向于产品经理,在产品策划和交互设计中则对自身商业感和规划能力有更高的要求。
项目经理和产品经理的能力模型本身有一定的区别,产品新人在加入公司后可根据实际情况制定符合自身的能力提升计划。
以下主要以瀑布模型类的项目为例。
二、需求的生命周期
一个需求的完整生命周期,通常包括产品策划(问题识别)、需求分析(分析与综合)、制定规格说明和评审。
(一)产品策划(问题识别)
在解决方案项目中,问题识别通常在可研阶段就已经开始,项目经理(这个阶段也可能是售前工程师)通过高层交流、问题报告、访谈纪要、标杆对比和准入标准等方式,初步形成一份“正式
需求”,该过程可分解如下:
1. 以业主的角度,帮助客户将项目从BRD梳理成MRD的过程,形成基本方案
2. 以承建方的角度,初步了解项目的功能边界和实现成本
不同企业的团队构建可能会有不同,需求角色在该阶段最好能够在该阶段便参与可研的过程,而非等项目招投标完成后,才参与到项目建设,这样往往会加大项目的不可控性。
问题识别时,分类原始需求通常有上述几种方法,包括#APPEALS分类、四象限分类和BSA法
分类,通过#APPEALS的八个维度来定位整个项目,为后续管理中使用黄金三角提供依据;四象限和BSA法通常结合使用,以判断项目的功能边界和项目的里程碑梯度。
(二)需求分析
需求分析的过程,是将用户需求转化为产品需求的过程,本质上也是信息系统的建模过程,包括结构化方法,面向对象方法和原型法等。
在实际需求分析中,这几种方法通常综合使用。
1. 结构化方法:是相对最早和最传统的软件开发方法,它采用模块化技术、分而治之的方法,将系统按功能分解为若干模块;模块内部由顺序、分支和循环等基本控制结构组成,主要工具为数据
流图,适用于一些不太复杂的、需求相对比较明确的中小型系统。
目前该已经比较少用。
2. 面向对象方法:是目前运用最为广泛的一类软件开发方法。
通常使用UML建模工具,比较常用的有用例视图(Use-Case View)和逻辑视图(顺序图、状态图、泳道图等),用例视图可结合场景
3. 原型法:随着以互联网产品用户思维的兴起,越来越多的需求分析采用原型法,使用Axure等工具进行设计。
(三)制定规格说明和评审
许多时候,制定规格说明在需求分析完成时也同步完成,这里推荐使用Volere需求说明模板。
需求评审是项目正式开发前的必经之路,通过需求评审,项目组成员针自将要开展的工作,进行检查并提出问题,并最终做出评审边界,形成项目开发的基线版本。
三、其他常见问题
(一)需求引导
许多客户有时并不知道自己想要什么?有时并不清楚自己缺少什么?所以就需要我们去引导客户的需求。
造成这种现象的原因很多,主要体现在用户对软件信息系统并不是很了解,客户的语言表达,客户只关心自身的问题等。
引导客户需求通常从引导客户分析、向客户确认需求细节和回绝客户提出的不合理需求等几个维度出发,几种常见方法如下:
向客户讲述基本的软件信息系统
提示客户在全局的地位及作用
向客户演示将要实施的系统的原型
从软件开发中需求考虑的几个方面入手
总而言之,在瀑布模型项目中,需求分析的质量直接决定了整个项目的完成质量。
需求人员需要尽早的将项目需求和客户及内部开发团队达成一致,并做到对问题早发现,早解决;另一方面,有时候客户的“需求”不一定是功能需求,需求人员只有从项目经理的维度分析问题,才能够筛选并最终推进项目的实施。
#专栏作家#
兰色拉面(微信:lanselamian),人人都是产品经理专栏作家。
关注城市服务、互联网+和智能
硬件,对市民融合服务、移动进销存、物联网和支付 POS有一定的浅见。
欢迎互联网爱好者们一起交流探讨。
本文原创发布于人人都是产品经理,未经许可,不得转载。
人人都是产品经理()中国最大最活跃的产品经理学习、交流、分享平台。