计算机软件项目管理中的需求分析是提高软件质量的基础也是决定一个软件项目成败的关键。本文介绍了在需求分析研究中探索出的一些有效措施。
众观国内计算机软件业的发展,除远不如欧美等西方发达国家外,与人均GDP不及我国的印度相比也相距甚远,软件业的劣势正严重制约着我国IT业的发展。我国软件业的劣势表现在自主开发的成熟软件不多,而开发的大量软件工程项目(如ERP等)存在缺陷或完全开发失败。目前,国家正在加大对软件工程的研究和对软件工程人才的培养。根据资料显示,属于需求分析造成软件设计的错误和缺陷约占软件失败的6400,而属于程序代码的错误仅占软件失败的360a,数据表明需求分析是提高软件质量的基础也是决定一个软件项目成败的关键。通过对软件项目管理知识的系统学习并结合近年来自己参与部分软件项目实施的经验,介绍在需求分析研究中探索出的一些有效措施。
1尽快熟悉项目用户方干系人全貌
项目用户方干系人,指所有可能受到项目结果重大影响的人,即项目的风险承担者,他可能是项目的受益者,也可能是项目的受害者。因此,应当从项目的启动开始,需求分析员及其项目成员就要分清项目用户方干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。
有些项目在做需求调查时,由于受进度要求等客观因素影响,需求分析员与建设单位的技术部门交流较多,向业务管理部门和实际使用者调查不够深入,造成软件试用后不得不再对需求做较大调整,“从头再来”的部分比例很高,大大超过进度要求时间。因此,熟悉项目用户方干系人全貌是进行需求调查的第一步,也是需求调查的基础。在定制开发项目的项目用户方干系人中,最重要的是建设单位中的人事组织、业务关系。最好是能够用组织结构图画出相关单位的组织结构;还应当在相关单位组织结构图基础上画出全体项目用户方干系人结构图,以便更好更全面地进行需求调研分析;用责任矩阵确定各部分的调研对象;建立调研对象通讯录以保证调研及分析期间及时的沟通。
2采取正确的需求获取方法
软件开发项目的目的就是要实现项目用户方的需求,项目用户方的需求包含明确的和隐含的,也可以分为NEED, WANT, WISH等不同的层次。如果对项目所有用户方干系人没有进行足够的沟通和影响,使其尽可能地参与项目,则会出现客户方相关责任人不明确或对范围和需求责任心不强,提出的需求具有随意性,项目前期对需求的确认不够积极,或者是多个用户代表各说各话、昨是今非,项目后期需求变化随意等现象,这就会造成项目范围的蔓延,进度的拖延,成本的扩大,甚至项目的完全失败。
各种用户对系统具有不同的要求,如一个没有经验的用户关心系统是否简单易用,对于高级用户则关心产品的易用性和高效性。因而需要对用户进行分类,每一个用户类将有自己的一系列功能和非功能要求。在项目中,要尽早为产品确定并描述不同的用户类,这样就能从每一个重要的用户类代表中获取不同的需求。
项目需求具有双面性(用户与开发商)和多面性(项目中各干系人),因此,项目经理和系统集成者应了解用户干系人需求,用户干系人也应了解技术方面的需求,两者缺一不可。正确的需求获取需要了解需求的来源、用户的分类、用户的代表性、用户需求谁说了算数等因素。开发人员和项目经理要有足够的耐心聆听用户的讲述,要足够详细地了解每一个细节。项目管理者要善于将需求分类、归类,善于将需求文档化,并有所查询标记。
3可视化需求调研,引导各种客户挖掘他们的需求
有的客户因为自己缺乏计算机知识,无法提出完整准确、隐含的或潜在的需求。若这些需求不能满足将导致用户的不满。因此需求调研分析人员应善于想用户所想,不但要确定明确的需求,还要善于用启发的方式与用户探讨隐含的或潜在的需求,并结合各种调研分析技术挖掘超出客户期望的令人兴奋的需求。这就要求需求调研分析员要尽快完整地熟悉相关业务,从而能够站在用户的立场看待软件需求,想用户所想,做好业务与计算机之间的桥梁。利用可视化需求调研的方法可以很好地启发用户深人挖掘潜在的需求。可视化需求调研就是使用图表等工具来启发引导用户清楚地叙述需求,并且使需求更加全面完善。
对于高层领导,可以提供系统总体框架图;对于业务管理人员,可以用业务流程图来描述新旧系统的业务流程;对于客户中的技术人员,可以用数据流图、实体关系图或UMI中的各种图形对系统进行各种角度的描述;而对于业务管理人员、客户中的技术人员、以及各层次各流程中的用户,画出用户界面图来进行需求挖掘,是个比较有效的沟通方式。
这里特别说明一下用户界面的重要性。用户界面的设计按理来说是软件设计的责任,当然客户自己对界面有特别提出要求的除外。但是,如果把它提前到需求调研时与客户进行讨论,则可以大大改善需求调研的效果。因为这时客户对于将来的系统还没有一个形象上的概念,或者有一个模糊的预想的概念需要表述、验证、明晰化、完善化,以笔者的经验,画出用户界面草图与客户进行讨论,可以大大激发他们提供更为准确全面的需求。原来收集资料,描述业务,说明系统模型到了山穷水尽的时候,这种方法可以达到柳暗花明又一村的效果。
4详细描述各项业务,以便让所有客户确认
尽可能全面详细地调查并且描述原有系统和用户希望将来系统具有的各项业务的流程,并将这些业务流程文档化后与客户进行讨论,对描述错误或不准确不精确的进行修改,最终让客户进行确认。从近年来开发的软件看,对业务处理过程了解的完整性和准确性非常重要。虽然对数据来说都是SIDUT(查增删改传),但具体业务都是分为若干步骤,每个步骤都有其业务名称,同一步骤可能对多个数据集进行不同操作,需要调查了解清楚才能设计出适合用户业务特点和习惯的软件,使开发出来的软件更受欢迎。当然在进行软件概要设计时,要尽量排除业务流程的制约,即把流程中的各项业务节点工作作为独立的对象,充分考虑他们与其他各种业务对象的接口,在流程之间通过业务对象的相互调用实现其业务流程,这样,在业务流程发生有限的变化时,就能够比较方便地修改系统程序而实现新的需求。
对于各项业务的调查可以通过对以下资料的收集整理分析来完成,这些资料来自各种各样的项目用户方干系人:遵循的标准、组织发放的工作手册、作业流程、有关业务的上级通知、有关业务的办事指南、办理业务时需要填写的登记表、各种相关的统计报表及通过其他途径收集的类似系统的介绍、技术资料等等。
5对项目用户方干系人的愿望进行平衡
不同的项目用户方干系人其愿望和追求的目标往往相差甚远,因此对项目用户方干系人的愿望进行平衡可能是非常重要而又相当困难的事情。例如:我曾在参与的某医院计算机管理系统项目中,遇到医院管理层希望能够采集尽可能多的信息项以便对数据进行多种多样的统计分析,同时为了对信息进行有效控制而增加一些审批流程;而门诊、药房等对外办公的基层窗口则因为客流速度的压力希望减少信息项的输人量;甚至有些不良的基层部门由于害怕建立透明度高的信息系统会影响他们的利益而消极地应付,即所谓反需求;而客户的客户(就诊的病人)则希望相关机构能够简化工作流程,加快办事速度,增加诊断情况和就诊费用的透明度;甚至项目组本身因为技术、资源、进度等原因,需要对一些功能进行优先级排序和取舍。虽然不是所有人的需求都是可以满足的,特别是消极的反需求是不能接受的,但他们的需求都是应当考虑全面并进行平衡的。
如果不同的用户方干系人有不一致的需求,那么必须决策出满足哪一类用户方干系人的需求更为重要。了解可能使用产品的客户种类的信息和他们的用法与产品的业务目标的关系如何,将有助于决定哪一个用户类所占份额更大。如果系统分析人员提出的需求与开发者所想要开发的系统发生冲突时,通常由于系统分析人员作为客户的代理人,市场需求具有更重的分量,但是,系统分析人员不能一味地迁就客户需求。
不同的用户方干系人可能都要求产品按照他们各自的喜好来设计。运用项目的业务目标来决定哪些是你最关心的客户,非核心客户的需求可以安排在下一个版本中开发。当开发者想像的产品与客户需求冲突时,通常应该由客户作出决策,然而,不要陷人“客户总是对的”的陷阱中去,现实中,客户并不总是对的。
6强调实现项目需求的层次递进性
了解该系统或者该项目用户所能够提供的最小的工程费用。当预计经费不能支持时,应当考虑将项目分期实施。在系统上、技术上对用户进行引导性建议,使用户了解集成商所要进行的工作,了解集成商是为了帮助用户实现他的需要、达到用户的目的,而不仅仅是为了赚钱,用户更了解集成商,也更了解自己的系统,有利于以后的项目合作、工程实施和系统维护。
分析用户曾用系统模式、数据结构和库模式,看是否保持、共用、转换,这涉及保护用户投资的问题。根据现在工作业务流情况确定现有的工作模式,还应兼顾将来可能会发生的变化、扩展、新规定,及与同国际接轨可能的带来的变化。考查工程实施环境是否有保证,尤其是网络工程,必须在需求调查时充分了解用户领域的实施环境,当不具有实施环境时,要求进行配套设计和环境改造。
7编写需求文挡和进行需求评审与其他项目小组成员协作完善系统需求
文档资料是集成商重要的财富,贯穿于系统集成和项目开发的整个过程,其中包括法律文档、技术文档、资料文挡。文挡要求完整性、一致性、可修改性、可跟踪性。
以原来的需求为基础的工作完成后,要修补需求错误需要大量的工作,研究表明:比起在需求开发阶段由客户发现的一个错误,然后更正这一错误需要多花到倍的时间。因此,需要进行需求评审。需求审查结束的标准为:已经明确阐述了审查员提出的所有问题、已经正确修改了文档、修订过的文档已经进行了语法检查、所有TBD问题都已经解决、文档归档。
需求文档完成之后,并不是把它扔给后面的设计人员就了事了。作为项目组其他成员,对需求的有效性也起到某种程度的验证作用。虽然软件项目的生命周期按照各种开发模型有不同阶段的划分,但每个阶段的结束不是简单地把阶段工作成果塞给下一阶段的成员就可以了。特别是高科技的软件开发项目,上一阶段的工作成果往往要通过多次的沟通才能更为清晰地被下一阶段成员接受,其有效性、合理性也要被下一阶段的工作所检验,通过检验有时也有必要对上一阶段的工作结果进行相应的调整,需求分析也是如此。因此,无论是同一阶段不同人员之间,或是不同阶段人员之间都应根据需要相互协作,相互配合,共同完成软件开发任务。
21世纪全球社会对商务英语知识的高素质人才大量的急需,使商务英语教育面临着极火的挑战与机遇。商务英语的教学应将语言教学和商务专业知识、技能教学结合起来并融为一体。实践教学正是融合和衔接相关知识、促进各项技能协调发展的关键,也是凸显高职应用型商务英语专业人才优势、提升毕业生就业竞争力的关键。从建构主义语言学角度出发,应用建构主义学习理论和现代信息撼术和网络技术,构建了“基于建构主义学习理...
本文通过对知识的再认识,形成了知识管理的基本理念。在考察了信息时代下教学设计新特点的基拙上,提出从知识管理的角度解决教学设计问题的基本思路。 论文关键词:隐性知识显性知识知识管理教学设计知识流程 一、问题的提出 知识经济的时代,知识存在于每一个领域,影响着人们的学习和生活,可是随着知识量的增加,知识爆炸又使人们很容易迷失在知识的海洋。人们如何在需要的时候得到最有价值的知识,教育是知识密集的领...
运用文献资料法、问卷调查法对贵阳市居民体育活动主体、体育活动条件、体育活动形式的内容进行调查,分析研究了贵阳市居民体育生活方式现状及构建体育生活方式的对策。 论文关键词:体育活动主体;体育活动条件;体育活动形式;体育生活方式 历史发展进程表明,在现代社会中,体育的意义、作用和价值已经发生了巨大变化,这种变化突出表现在新世纪的体育已进人人们的休闲生活,已走进全面建设小康社会的行列中来,体育已成为...
当今市场经济条件下,加强青少年性道德养成教育是保证青少年身心健康发展的需要,是填充性道德领域真空状态的需要,是保证社会安定、和谐的需要。加强青少年性道德养成教育应主要从三方面入手:一是加强个人道德修养,塑造理想人格;二是树立正确的爱情观、婚姻观;三是弘扬符合时代要求的新贞操观。青少年性道德养成教育是一个系统工程,需要学校、家庭、社会、国家多方形成合力,共同完成。 论文关键词:市场经济;青少年;性...
建构主义理论为外语教学提供了一个新的视角。以建构主义为基础的学习观为.学习是认知主体是在原有知识的基础上主动对新知识进行意义建构的过程。分析了目前高职阅读教学中存在的问题.并从建构主义学习理论的角度提出了如何改革传统阅读教学模式,发挥学生学习主观能动性,帮助他们实现英语阅读中的意义建构.进而提高其英语阅读的水平和能力。一、建构主义学习理论建构主义学习理论起源于皮亚杰的儿童认知发展论皮亚杰认为.个体...
市场指导就业的国家政策一经确定,除了需要相关政策、措施的扶持之外,更需要寻根溯源,探求解决问题之根本。高校作为大学生培养主体,应该适应社会发展的要求,积极探索解决就业难问题的新路径,完善自身不成熟的地方,以促进高校毕业生就业的顺利进行。 大学生就业难已经是当今社会一个受大众高度关注的话题。如何解决这一难题,从国家到地方也已经出台了相应的一系列政策,从提倡大学生创业,到出台相关优惠政策促进企业接纳...
就地下管线综合规划与管理中所遇到的管线同步建设、重复开挖道路、合理利用地下空间、管线间距控制、档案管理等问题介绍了一些具体的做法,从而做到在有限的空间内合理布置所有管线,做好客观控制及管理市政管线的工作。 随着社会经济的不断发展及人民生活水平的不断提高,城市道路下的市政管线也日益复杂。由于各市政管线多数未能和道路同步施工,使城市道路二次开挖现象非常严重,不但影响人们的日常生活,也造成了人力、物力...
在就业模式经历了从计划性就业到双轨制就业再到市场性就业的转变后,市场失灵使初次就业的大学生遭受雇主的经验排斥,而政府并未起到弥补市场失灵的作用,制度安排的路径依赖反而使大学生被排斥出失业保障制度。本文对大学生初次就业中的市场排斥概念、表现及成因进行界定、归纳及分析,并提出应对之策。 建国伊始,大学生就业模式就经历了计划性就业一双轨制就业一市场性就业的轨迹。目前,市场已经成为中国大学生劳动力资源配...
采用问卷调查及实验等形式,对2001级部分大学生就体育锻炼对心理健康的影响及不同锻炼形式对各种心理问题的影响进行了系统地研究。结果表明,体育锻炼对有抑郁、焦虑和人际敏感症状的大学生,其调节作用是显著的。 心理健康是指个体在各种环境中能保持一种良好的心理状态。大学生属于民族素质较高的群体,肩负着历史和人民赋予的使命,他们的心理健康与否,不仅直接影响着自己的健康成长,而且直接关系着国家和民族的兴衰。...
在切实贯彻素质教育的背景下,如何在不增加学生负担的前提下提高高三思想政治复习课的复习效果是广大思想政治课教师的不懈追求。教师运用建构主义学习策略理论指导复习.通过学生的自主复习、教师引导,建构良好的知识网络.能让学生的复习收到意想不到的效果。2009年江苏省委、省政府明令禁止加重学生负担,在这个自上而下的政策的推动下,高中普遍存在的暑假学校组织集体补课的现象多年来第一次没有出现,而且平时双休日、晚...
影响因子:1.400
影响因子:6.415
影响因子:0.000
影响因子:1.560
影响因子:0.000
影响因子:0.938
影响因子:0.460
影响因子:3.196