如何分析APP功能需求及结构

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何分析APP功能需求及结构

APP分析过程在项目管理体系PMBOK中归属于项目范围定义(Define Scope)过程。从PMBOK的角度来看,在完成需求收集(Collect Requirements)后,需要对项目和产品的详细范围进行描述,清晰完整的项目/产品范围说明书有利于制定出具有良好执行性的WBS(Work Breakdown Structure),但其更为重要的意义在于科学的构建了用户所需要的系统功能架构。

从业务演变到系统的角度来看,APP是业务在系统的具体呈现,APP的分析过程是将业务语言翻译为机器语言的表现。只不过这不是普通的翻译,是包含了智力和经验的过程。所以,对于计算机信息领域的技术专家来说,更需要去学习和掌握跨领域的业务语言,并在不同领域的交界处形成明确的定义,实现不同语言间的准确对应。

举个例子,假设在电子商务领域里有一个业务,我们称之为A:用户通过网站填写了一份购买汽车坐垫的订单,付款成功后可以通过连接电脑的打印机自动打印一份A4幅面标准格式的确认单。那么在信息系统的世界里,A被翻译为:1、用户通过web表单填写完订单内容后;2、在线支付。2.1、如果支付不成功,系统提示用户哪里出现错误,并引导用户修正错误。2.2、如果支付成功,系统提示用户:订单已经生效,系统即将打印确认单。3、系统传递打印控制信息,打印机负责打印出指定格式的文件。4、系统提示交易完成。

上面的例子说明了不同的领域有不同的表达标准,想要在不同领域都能准确表达同一个意思,将是非常困难的事情。

在计算机领域,信息系统的APP的设计过程非常的复杂,不只是纯粹的描述计算机处理流程那么简单,还包括了抽象过程(建模过程),设计过程(包括

系统流程设计、功能设计、权限设计、用户体验设计、异常处理设计等等),测试过程(建立demo,必要的验证)。而在这些过程中,建模环节是最为重要,也是最为复杂的一个步骤。

举个例子来说明为什么说业务建模过程最为关键、也最为复杂:

假设家里有很多的杂物被堆放在不同的角落里,有衣服,裤子,鞋子,碗,清洁剂,锤子,可折叠的小凳子等等,家里每个人都会用到其中的某些物品。久而久之,大家都觉得这些东西胡乱放置,既不利于保管、用时也不方便找到。于是,大家推举你来解决这个问题,并给你提出了很多好的建议。例如,把这些东西整理到一个角落放置,给每个物品一个固定的位置,可以请木工打个大木箱子来放置,也可以去家具商店买个好点的柜子来放置,又或者买几个大的袋子分类来装。最后,一家之长告诫你:在投资允许的情况下,尽可能的选择最好的一种方案来满足家里所有人的需求。

那么这个时候,你应该怎么去做呢?让我来试着描绘一种可能成功的做法。

Ø 首先,对每个人的需求进行登记。即收集需求的过程(Collect Requirements)详细的与每个干系人(Stakeholder)进行沟通,识别出每个人的一些行为特性,例如:

1、你一般什么时候会去哪儿找哪些物品做哪些事情,什么时候又还原回去?(流程)

2、这些物品有些什么保管的要求?(功能需求)

3、你希望去哪里去取最方便?(非功能需求)

4、有别人和你一起用这些物品吗?(权限要求)

5、大致预算在什么范围,等等(限制条件)

Ø 对需求展开分析,进入设计和构造阶段。即需求的定义过程(Define Scope)1、对收集的信息展开分析。保留有用的,去除相同的和无意义的需求。(需求过滤)

2、对物品进行逐一的分析,整理归类。确定物品分作哪些类别,例如,衣服类,鞋类,餐具类,清洁剂类,工具类,小家具类等。(分类&抽象)

3、确定每个类别的行为特性,尺寸大小,放置要求等。例如,衣服类物品要求存放于封闭、干燥的环境,拿取方便、好查找,部分衣服要求挂放,需要足够的空间;鞋类要求每双鞋都单独放置,存放时能具备一定的空气流动性,要方便查找和拿取;餐具类,要求单独存放,最好放在与水池较近的地方,要求能封闭放置,能在需要的时候进行通风干燥处理,储物构造的材料要求防水;清洁剂类,没有特别要求,只需要和衣服类,餐具类分开存放即可;工具类,……(抽象&分析)

形成初步的设计方案。设计思路为,配置两个不同的储物柜解决储物的问题。一、在靠近厨房的角落设计一个三栏式的壁挂组合储物柜,采用防火,防腐蚀的UV 板材。设计为挂式的原因是,节省房屋的空间,利于时常打开柜门通风;大人拿取方便,也防止小孩子随意拿取玩耍而摔破;三栏结构可以分开放置餐具类、清洁剂类物品和工具类物品,空间设计更为合理。二、在靠近卧室的角落放置一个落地的多功能储物柜。储物柜设计为三层的实木结构,下层主要放置鞋类,其后面板和内隔档板采用镂空设计,内置4个隔层,总体高度约占柜体的1/4。镂空和隔层设计主要起到通风干燥和分类放置便于取放的作用;中间层为抽屉式设计,主要放置可以摺叠放置的衣物;而一些需要挂置的衣服则挂放在上层。在储物柜

的顶上还可以放置一些小家具,例如摺叠的凳子,卷席等。另外,采用全实木材料还以防止甲醛等有害物质的侵害。(建模过程)

Ø 验证设计的成果是否满足干系人需要。即范围确认过程(Verify Scope)形成结论后,召集相关干系人商议、评估方案。一般依据业务程度,可以采用简单的评审(团队内部小范围的评审)或复杂(有客户、用户或者专家参与)的评审方式。

一旦方案得到大家的认可,则可以进入实施过程了,这时可以再推举一个人作为实施的负责协调人,由他来控制预算,制定行动计划,确定需求的优先级别,落实方案的执行。

从上面的例子可以看到,设计和构造阶段中建模(Build Model)是整个APP 设计过程中最具有技术含量的一个环节,不仅需要依靠知识和经验,还需要较强的逻辑能力,构思和策划能力。

其实,这么多年来我们在做需求分析和建模时,也是有一定的规律可遵循的,我用一句话来概括就是:从业务对象入手,识别业务对象的行为,抽象APP,从而构造系统模型。

下面用网上订票的例子来详细说明我们的做法:

假设,我们已经知道了用户的业务流程。

第一步:用户通过浏览器登录web网站,浏览和查询需要的信息。

第二步:选择票,填写订单信息,确认个人的信息,以方便取票时核对。

第三步:通过网站提供的支付方式,在线完成支付。

第四步:系统生成电子票号,并短信通知订票人,告知用户出票相关的信息和兑票方法。

具体参见下图:

前面我们说到:业务的核心是数据。所以,理清业务的基础是分析清楚业务下流动的数据都有哪些,这些数据分别代表了什么意义,对应了哪些业务对象。

相关文档
最新文档