优秀系统分析师是如何炼成的?
系统分析师考试过关经验分享

系统分析师考试过关经验分享一.考试过关经验1、厚积薄发,平时多做有心人从系统分析师考试纲要可以看到,系统分析师对考生的综合素质要求较高,考查的知识面很广。
分析历年考题可以发现,虽然考试知识面广但考试内容并不是很深。
因此,这就要求我们注意平时积累,经常通过网络、讲座、学术会议等途径及时了解一些流行技术热点和业界最新动态。
2、多做项目,在实践中锻炼提高如果说平时积累的各个知识点是一粒粒宝贵的珍珠的话,那么项目经历则是将这些珍珠串联起来的一根红线。
“纸上得来终觉浅,绝知此事要躬行”。
软件工程是一门实践性、综合性非常强的专业,如果没有参加过完整的实际项目,就难以从根本上理解书本上所学的理论知识,就难以真正领会软件工程的思想精髓。
在做项目时还要勤于思考,无论是作为主持者还是作为一个普通的程序员,都应该去潜心思考为什么要这样设计、这样设计的优点是什么、有哪些不足,如果你是设计师的话你又会怎样设计?经常做这样的换位思考,会不自觉地提高自己的系统分析和设计能力,积累丰富的项目经验,这对下午一的考试来说是非常有益的。
3、注意提高个人文档编写能力一些软件工程师有个不好的习惯,那就是只喜欢钻研具体的技术点而不注重提高文档编写能力。
他们的一个通病是做得多、写得少,在某一个具体的技术领域上往往表现得非常优秀,但写出的文档质量实在难以恭维。
作为一个合格的系统分析师文档编写能力是必不可少的基本素质,也是下午二考试的考查重点。
文档编写能力不仅对于应试是十分必要的,而且在实际工作也是非常重要的。
因此,我们应当在平时多做这方面的训练,多思考、多动笔,努力提高自己文档编写能力。
4、掌握评卷专家心理,注意论文写作技巧在下午二的考试中,应注意把握评卷专家的心理状况。
评卷专家不可能把你的论文一字一句地精读,要让他短时间内了解你的论文内容并认可你的能力,必须把握好主次关系,论文的组织一定要条理清晰。
一般说来,项目概述部分评卷专家会较认真看,为让评卷专家对你所做的项目产生兴趣,这里可适当吹捧。
系统分析师的成长历程及工作环境

系统分析师的成长历程及工作环境很多事情都不是一蹴而就的,它需要时间的积累。
而要想成为一名出色的系统分析师,也是从底层做起,一步一个脚印,才能攀登到领域的金字塔尖,下面是希赛小编整理的一条成长链,具体内容如下:(1)程序员程序员处于技术成长历程的最下端。
他们需要熟练掌握各种语言技巧,知道技巧适用性还要对资源做出最恰当安排。
(2) 高级程序员高级程序员是具备熟练的软件开发能力、能够指导和带领程序员完成大规模软件开发工作的一族,高级程序员也是软件开发领域的技术精通者,他具有丰富的工作经验和理论知识,精通某一领域的程序设计语言,精通模块式开发,并且OOP(面向对象程序设计语言)也是高级程序员必备的能力。
(3)SD系统设计师系统分析师是计算机行业的高级人才,在计算机软件行业,系统分析师处于金字塔的顶端。
系统分析师一般在一个大型软件项目担任核心领导者,他的主要职责是对软件项目进行整体规划、需求分析、设计软件的核心架构、指导和领导项目开发小组进行软件开发和软件实现,并对整个项目进行全面的管理工作。
系统分析师的工作职责决定了他必须是计算机行业各个领域的精通者,因此一个合格的系统分析师,能够精通各种计算机前沿理论、具体的软硬件开发技术、大型数据库的知识、项目的整体规划和框架设计、模块式设计和开发技术、数字化建设知识等等。
系统分析师具备在一个信息化项目从立项到正式上线整个过程中,在过程的各个不同阶段担任不同的核心角色的能力,其中最为重要的能力就是系统架构的整体设计能力和详细设计能力,这个能力直接关系到一个软件项目的成败。
系统设计师应当对"系统结构"所使用的软件技术非常了解。
如果自身具备良好编程技巧,才会成为优秀的系统设计师。
系统设计师的职责是把结构模型对应到实现模型,作用非常重要。
在从概念到实现期间规划和组合模型的优劣是决定系统设计师好坏的标准。
当然当你成为一名出色的系统分析师之后,工作环境也会随之变化。
系统分析师的职责和要求

系统分析师的职责和要求系统分析师是企业中负责梳理、分析和设计信息系统的重要职位,他们的工作涵盖了多个方面,包括需求分析、方案设计、系统实施等。
本文将详细介绍系统分析师的职责和要求。
一、职责1.需求分析:系统分析师需要与业务部门合作,了解用户对系统的需求,并将需求转化为明确的功能和特性。
他们需要搜集相关资料,组织会议、访谈、问卷调查等方式,进一步了解用户的需求和期望,为系统设计提供明确的目标。
2.方案设计:在明确用户需求后,系统分析师需要根据需求,制定系统的整体框架和功能模块。
他们需要进行系统分析、数据建模、流程设计等工作,确保设计出的系统能够满足用户需求,并达到高效、稳定、安全等要求。
3.系统评估:为了确保系统能够顺利实施,系统分析师需要进行系统评估。
他们需要对设计方案进行全面、深入的评估,包括分析潜在风险和问题,并提出解决方案。
此外,他们还需要评估系统的性能、可扩展性、易维护性等方面,并对评估结果做出适当的调整和优化。
4.项目管理:系统分析师需要参与系统实施的项目管理工作。
他们需要与项目经理合作,制定项目计划、安排资源、跟踪进度等,确保系统按时、按质地完成。
5.用户培训和支持:系统分析师还需要提供系统的培训和支持。
他们需要编写用户手册、培训材料等,为用户提供相关的培训,在系统实施完成后,及时解答用户的问题和疑虑。
6.技术支持:对于已实施的系统,系统分析师需要提供技术支持。
他们需要负责解决系统的故障和问题,并及时跟进和修复。
二、要求1.良好的业务理解能力:系统分析师需要深入理解企业的业务流程和需求,能够将用户的业务需求转化为系统的功能和特性。
因此,他们需要具备较强的业务理解能力,包括对业务流程、组织结构等方面的理解。
2.优秀的沟通能力:系统分析师需要与业务部门、开发人员等多方沟通合作,因此,他们需要具备良好的沟通能力,能够准确理解用户需求,并能够清晰地传递自己的设计意图。
3.扎实的技术功底:系统分析师需要熟练掌握信息系统的相关技术,包括数据库管理、系统分析与设计方法、网络技术等。
系统分析师的职责分析

系统分析师的职责分析系统分析师是一个在计算机科学领域起关键作用的职位。
他们的主要职责是对一个组织的现有计算机系统进行调查、分析和评估,并提供改进方案以满足组织的需求。
在现代企业中,大多数业务操作都离不开计算机系统的支持。
系统分析师为组织提供技术解决方案,帮助组织更高效地运作,并提升工作流程的效率。
他们需要具备扎实的技术知识、逻辑思维和良好的沟通能力。
首先,系统分析师需要与组织内不同层级的员工进行沟通,了解业务流程和各个部门的需求。
这是他们对现有系统进行分析的第一步。
通过与员工沟通,系统分析师可以收集必要的信息,识别当前系统的瓶颈和问题,以及未来的需求和目标。
其次,系统分析师需要进行详细的系统调查和分析。
他们会对现有系统的各个方面进行评估,包括软件、硬件、网络和数据库等。
通过分析现有系统的质量和性能,系统分析师可以确定改进的方向,并提出相应的解决方案。
这些解决方案可能包括软件升级、系统整合或者新系统的引入。
在分析系统时,系统分析师还需要考虑到组织的预算和资源限制。
他们需要在权衡各种因素后提出可行的方案,确保改进方案在成本和效益之间达到平衡。
这需要系统分析师具备优化资源利用的能力,并具备一定的商业敏感性。
一旦系统分析师提出了改进方案,他们还需要与开发团队合作,确保解决方案的顺利实施。
这涉及到对开发进度和问题的监控,以及与开发人员的沟通和协作。
系统分析师需要确保新系统可以按照预期的要求和时间表进行开发和部署。
除了以上的职责,系统分析师还需要定期评估和监控系统的运行情况。
他们需要通过收集数据、分析报告和用户反馈来评估改进方案的效果,并及时修复和优化系统中出现的问题。
这要求系统分析师具备快速解决问题的能力和良好的技术手段。
综上所述,系统分析师的职责是对组织的计算机系统进行全面的分析和评估,并提出改进方案以满足组织的需求。
他们需要与员工沟通、进行系统调查与分析、权衡成本和效益、协调开发团队以及评估系统的运行情况。
系统分析师的工作职责

系统分析师的工作职责系统分析师是一种专业人员,他们在组织中扮演着重要的角色,负责确保公司的信息技术系统得到有效地设计和实施。
系统分析师需要有广泛的技术知识和技能,以便能够分析、评估和改进组织的信息技术系统。
本文将详细介绍系统分析师的工作职责。
一、需求分析与评估系统分析师的首要职责之一是进行需求分析与评估。
他们与各个部门的管理人员合作,收集和分析业务需求,并根据这些需求评估现有系统的性能和功能是否能够满足需求。
通过了解各个部门的业务过程,系统分析师能够确定哪些系统功能需要改进或重建,并提出相应的解决方案。
二、系统规划与设计系统分析师负责制定系统规划和设计。
在制定规划和设计方案时,他们需要考虑各种技术和商业因素,如系统可行性、预算限制、业务需求等。
系统分析师需要具备深入的技术知识,以确保系统的安全性、可靠性和高效性。
在系统设计过程中,他们通常会与团队成员合作,确保系统能够满足所有的业务需求。
三、系统开发与实施系统分析师在系统开发和实施过程中也扮演着重要的角色。
他们与软件开发人员密切合作,确保系统按照规划和设计要求进行开发。
他们负责测试系统以及解决开发过程中出现的问题,并在系统发布前进行全面的验证。
系统分析师还需要进行培训,以便员工能够正确地使用新系统。
四、系统维护与支持系统分析师还负责系统的维护和支持。
他们与用户进行沟通,并解决用户遇到的问题。
系统分析师需要保持对最新技术的了解,以便及时更新和维护系统,并确保系统的稳定运行。
在系统维护的过程中,他们需要进行性能监测和故障排除,以便提供快速有效的解决方案。
五、项目管理对于一些大型的系统开发项目,系统分析师通常还担任项目管理角色。
他们负责制定项目计划、管理资源、监督进度,并确保项目按时完成。
系统分析师需要具备良好的组织和协调能力,能够领导和激励团队成员,以确保项目的成功实施。
六、持续改进系统分析师的工作并不仅仅是设计和实施系统,他们还需要不断地进行系统的改进和优化。
系统分析师的角色和系统设计方法

系统分析师的角色和系统设计方法在现代信息技术高速发展的时代,系统分析师扮演着至关重要的角色,他们负责分析和设计系统,以满足组织的需求。
本文将探讨系统分析师的角色以及他们所使用的系统设计方法。
首先,系统分析师是一个跨学科的角色,需要具备广泛的知识和技能。
他们不仅需要了解信息技术,还需要了解组织的业务流程和需求。
系统分析师需要与业务部门的人员密切合作,了解他们的需求和问题,然后将这些需求转化为系统设计的要求。
系统分析师的工作流程通常包括以下几个步骤:需求收集、需求分析、系统设计、系统测试和系统实施。
在需求收集阶段,系统分析师与业务部门的人员进行沟通,了解他们的需求和问题。
这可以通过面谈、问卷调查和观察等方式进行。
通过收集和整理需求,系统分析师可以获得一个全面的需求清单。
在需求分析阶段,系统分析师将收集到的需求进行分析和整理。
他们需要确定哪些需求是关键的,哪些是次要的。
通过与业务部门的人员沟通,系统分析师可以进一步细化需求,并将其转化为系统设计的要求。
在系统设计阶段,系统分析师需要制定一个详细的系统设计方案。
这包括确定系统的功能和特性,设计系统的架构,选择合适的技术和工具。
系统分析师还需要考虑系统的可扩展性、可维护性和安全性等方面的问题。
在设计系统时,系统分析师需要与开发人员密切合作,确保设计方案的可行性和有效性。
系统测试是系统分析师的另一个重要任务。
在系统测试阶段,系统分析师需要验证系统是否满足需求,并发现和修复可能存在的问题和错误。
系统分析师可以使用各种测试方法和工具来进行测试,包括功能测试、性能测试和安全测试等。
最后,系统分析师需要协助系统的实施。
他们需要与开发人员和业务部门的人员合作,确保系统的顺利部署和运行。
系统分析师还需要培训用户,帮助他们熟悉系统的使用方法和功能。
在系统设计方法方面,系统分析师可以使用许多不同的方法和技术。
其中一种常用的方法是结构化分析和设计方法。
这种方法将系统分解为不同的模块和功能,然后通过定义模块之间的接口和关系来设计系统。
一个合格的系统分析师应该具备哪些素质

在管理信息系统领域存在着很多与信息管理、信息处理等相关的职业,比如网络管理员、数据库管理员,以及在本文要说到的系统分析师。
系统分析师往往是由应用信息系统的项目负责人聘请的需求分析专家担任,之所以是由需求分析专家担任,因为系统分析师的主要任务是确定应用信息系统及软件产品应该达到的各项功能性要求和非功能性要求。
系统分析师必须对产品的需求负责,应该把当今流行技术融合于应用问题之中,他们要熟悉计算机应用及信息处理方面相关的技术、原理和方法,又要了解应用业务领域的要求。
一个称职的系统分析员必须能够深入理解用户的需求,并且用简洁的语言完整的表述这些问题。
一个合格的系统分析师应该具备哪些素质呢?(1)获取需求的能力具备获取用户需求的能力,能够深入理解用户环境及需求,能够收集组织各项需求,通过最初的需求不断引导用户挖掘出更多潜在的系统需求;具备解决冲突问题的能力,能够从冲突的原始材料中抓住事物的本质且具有总体和局部的观念;有抽象思维能力,善于由点到面思考问题,不过早陷入细节,能快速切入且找到主要问题。
(2)管理及沟通能力能够控制盒管理需求分析阶段的工作,不会因为需求分析过程中的某些问题而使整个项目进展缓慢,而导致应用信息系统或软件产品被推迟交付。
同时能够管理和协调各类人员有序的工作。
能够恰当的解决需求变动和后期阶段需求的更改要求,保证需求成果既满足用户的愿望,又使开发人员理解其意图。
能够综合考虑各种技术和非技术方面的意见和建议。
善于表达思想,进行交流,善于把各种观点集中起来,以便寻求一个最佳和最有效的解决途径。
(3)一定的技术素养一个称职的系统分析师应该博学多闻,有广泛的数学、计算机软件及计算机应用方面的专门知识和经验,具备数学表达能力,具备把用户的需求用模型和文字表达出来的能力。
这篇文章是叶德华在《全国计算机等级考试四级教程-数据库工程师》这本书上看到的,婴儿纪念品觉得总结的很不错,可能有些读者不能够完全读懂,叶德华在这里简单的解释一下。
系统分析的原理与方法【共53张PPT】

性和层次性等特征,使系统的组成因素及其相 ④定量分析与定性分析相结合
②确定目标并据此设计评价指标体系 商业、心理学、国防研究
互关联在分布上达到最优结合和最优输出 对实际系统问题的描述、模仿或抽象
P→G ③虽然提出面面俱到的要求,但是却无力对其进行适当的研究,选择出来进行分析的部分,并不是系统中最重要的部分;
• 通过对各层次因子的比较分析,建立判断矩阵, • 并通过判断矩阵的计算将不同 方案按重要性或适
用性大小排列,为最优方案的选择提供依据
• 层次分析首先要解决系统分层及层次规模的合理性问题; 其次要使各个功能单元的层次归属合理
(4)相关分析
相关性的体现
①要素之间的不可分割的联系
– 在系统整体中,各要素并不是孤立存在的,而是由系统的结 构联结在一起,相互依存、相互作用。如果其中一项发生变 化,就会影响其他要素也发生变化。
环境分析贯穿于系统分析的全过程
• 认识问题阶段
• 只有正确区分出各种环境要素,才能划定系统边界
• 探寻目标阶段 • 要根据环境对系统的要求建立系统的目标结构,以求得系统对环境
的最优和最大输出 • 综合方案阶段
• 要考虑到环境条件及其变化对方案可行性的影响,选择出能 适应环境变化的切实可行的行动方案
←目标、环境因
素约束
←输出最大
其中:
①X是系统组成要素的集合;R是系统组成要素的相关关系的集
合;C是系统要素及其相互关联在各层次上的可能分布形式;P是X、 R、C的结合效果函数; ②“P→”表示这个函数对应于某种条件
P→G表示P函数对应于系统目标集的条件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
优秀系统分析师是如何炼成的?这是个竞争的社会,不想被淘汰就只能不断的锻炼自己。
直到有一天你已经足够优秀,但这个锻炼的过程也是个不多学习的过程,我们要学习前人的经验,了解他们为何会成功,下面是希赛一名著名专家给我们讲述关于如何成为优秀系统分析师的一些小故事。
对商业用户来说,他们后面是成百上千个供应商,前面是成千上万个消费顾客。
怎样利用软件管理错综复杂的供应商和消费顾客,如何做好精细到一个小小调料包的进、销、调、存的商品流通工作,这些都是商业企业需要信息管理系统的理由。
软件开发的意义也就在于此。
而弄清商业用户如此复杂需求的真面目,正是软件开发成功的关键所在。
经理:“我们要建立一套完整的商业管理软件系统,包括商品的进、销、调、存管理,是总部-门店的连锁经营模式。
通过通信手段门店自动订货,供应商自动结算,卖场通过扫条码实现销售,管理人员能够随时查询门店商品销售和库存情况。
另外,我们也得为政府部门提供关于商品营运的报告。
”分析员:“我已经明白这个项目的大体结构框架,这非常重要,但在制定计划之前,我们必须收集一些需求。
”经理觉得奇怪:“我不是刚告诉你我的需求了吗?”分析员:“实际上,您只说明了整个项目的概念和目标。
这些高层次的业务需求不足以提供开发的内容和时间。
我需要与实际将要使用系统的业务人员进行讨论,然后才能真正明白达到业务目标所需功能和用户要求,了解清楚后,才可以发现哪些是现有组件即可实现的,哪些是需要开发的,这样可节省很多时间。
”经理:“业务人员都在招商。
他们非常忙,没有时间与你们详细讨论各种细节。
你能不能说明一下你们现有的系统?”分析员尽量解释从用户处收集需求的合理性:“如果我们只是凭空猜想用户的要求,结果不会令人满意。
我们只是软件开发人员,而不是采购专家、营运专家或是财务专家,我们并不真正明白您这个企业内部运营需要做些什么。
我曾经尝试过,未真正明白这些问题就开始编码,结果没有人对产品满意。
”经理坚持道:“行了,行了,我们没有那么多的时间。
让我来告诉您我们的需求。
实际上我也很忙。
请马上开始开发,并随时将你们的进展情况告诉我。
”风险躲在需求的迷雾之后以上我们看到的是某客户项目经理与系统开发小组的分析人员讨论业务需求。
在项目开发中,所有的项目风险承担者都对需求分析阶段备感兴趣。
这里所指的风险承担者包括客户方面的项目负责人和用户,开发方面的需求分析人员和项目管理者。
这部分工作做得到位,能开发出很优秀的软件产品,同时也会令客户满意。
若处理不好,则会导致误解、挫折、障碍以及潜在的质量和业务价值上的威胁。
因此可见——需求分析奠定了软件工程和项目管理的基础。
拨开需求分析的迷雾像这样的对话经常出现在软件开发的过程中。
客户项目经理的需求对分析人员来讲,像“雾里看花”般模糊并令开发者感到困惑。
那么,我们就拨开雾影,分析一下需求的具体内容:·业务需求——反映了组织机构或客户对系统、产品高层次的目标要求,通常在项目定义与范围文档中予以说明。
·用户需求——描述了用户使用产品必须要完成的任务,这在使用实例或方案脚本中予以说明。
·功能需求——定义了开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务,从而满足了业务需求。
·非功能性的需求——描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。
·需求分析报告——报告所说明的功能需求充分描述了软件系统所应具有的外部行为。
“需求分析报告”在开发、测试、质量保证、项目管理以及相关项目功能中起着重要作用。
前面提到的客户项目经理通常阐明产品的高层次概念和主要业务内容,为后继工作建立了一个指导性的框架。
其他任何说明都应遵循“业务需求”的规定,然而“业务需求”并不能为开发人员提供开发所需的许多细节说明。
下一层次需求——用户需求,必须从使用产品的用户处收集。
因此,这些用户构成了另一种软件客户,他们清楚要使用该产品完成什么任务和一些非功能性的特性需求。
例如:程序的易用性、健壮性和可靠性,而这些特性将会使用户很好地接受具有该特点的软件产品。
经理层有时试图代替实际用户说话,但通常他们无法准确说明“用户需求”。
用户需求来自产品的真正使用者,必须让实际用户参与到收集需求的过程中。
如果不这样做,产品很可能会因缺乏足够的信息而遗留不少隐患。
在实际需求分析过程中,以上两种客户可能都觉得没有时间与需求分析人员讨论,有时客户还希望分析人员无须讨论和编写需求说明就能说出用户的需求。
除非遇到的需求极为简单;否则不能这样做。
如果您的组织希望软件成功,那么必须要花上数天时间来消除需求中模糊不清的地方和一些使开发者感到困惑的方面。
优秀的软件产品建立在优秀的需求基础之上,而优秀的需求源于客户与开发人员之间有效的交流和合作。
只有双方参与者都明白自己需要什么、成功的合作需要什么时,才能建立起一种良好的合作关系。
由于项目的压力与日俱增,所有项目风险承担者有着一个共同目标,那就是大家都想开发出一个既能实现商业价值又能满足用户要求,还能使开发者感到满足的优秀软件产品。
客户的需求观客户与开发人员交流需要好的方法。
下面建议20条法则,客户和开发人员可以通过评审以下内容并达成共识。
如果遇到分歧,将通过协商达成对各自义务的相互理解,以便减少以后的磨擦(如一方要求而另一方不愿意或不能够满足要求)。
1、分析人员要使用符合客户语言习惯的表达需求讨论集中于业务需求和任务,因此要使用术语。
客户应将有关术语(例如:采价、印花商品等采购术语)教给分析人员,而客户不一定要懂得计算机行业的术语。
2、分析人员要了解客户的业务及目标只有分析人员更好地了解客户的业务,才能使产品更好地满足需要。
这将有助于开发人员设计出真正满足客户需要并达到期望的优秀软件。
为帮助开发和分析人员,客户可以考虑邀请他们观察自己的工作流程。
如果是切换新系统,那么开发和分析人员应使用一下目前的旧系统,有利于他们明白目前系统是怎样工作的,其流程情况以及可供改进之处。
s3、分析人员必须编写软件需求报告分析人员应将从客户那里获得的所有信息进行整理,以区分业务需求及规范、功能需求、质量目标、解决方法和其他信息。
通过这些分析,客户就能得到一份“需求分析报告”,此份报告使开发人员和客户之间针对要开发的产品内容达成协议。
报告应以一种客户认为易于翻阅和理解的方式组织编写。
客户要评审此报告,以确保报告内容准确完整地表达其需求。
一份高质量的“需求分析报告”有助于开发人员开发出真正需要的产品。
4、要求得到需求工作结果的解释说明分析人员可能采用了多种图表作为文字性“需求分析报告”的补充说明,因为工作图表能很清晰地描述出系统行为的某些方面,所以报告中各种图表有着极高的价值;虽然它们不太难于理解,但是客户可能对此并不熟悉,因此客户可以要求分析人员解释说明每个图表的作用、符号的意义和需求开发工作的结果,以及怎样检查图表有无错误及不一致等。
5、开发人员要尊重客户的意见如果用户与开发人员之间不能相互理解,那关于需求的讨论将会有障碍。
共同合作能使大家“兼听则明”。
参与需求开发过程的客户有权要求开发人员尊重他们并珍惜他们为项目成功所付出的时间,同样,客户也应对开发人员为项目成功这一共同目标所做出的努力表示尊重。
6、开发人员要对需求及产品实施提出建议和解决方案通常客户所说的“需求”已经是一种实际可行的实施方案,分析人员应尽力从这些解决方法中了解真正的业务需求,同时还应找出已有系统与当前业务不符之处,以确保产品不会无效或低效;在彻底弄清业务领域内的事情后,分析人员就能提出相当好的改进方法,有经验且有创造力的分析人员还能提出增加一些用户没有发现的很有价值的系统特性。
7、描述产品使用特性客户可以要求分析人员在实现功能需求的同时还注意软件的易用性,因为这些易用特性或质量属性能使客户更准确、高效地完成任务。
例如:客户有时要求产品要“界面友好”或“健壮”或“高效率”,但对于开发人员来讲,太主观了并无实用价值。
正确的做法是,分析人员通过询问和调查了解客户所要的“友好、健壮、高效所包含的具体特性,具体分析哪些特性对哪些特性有负面影响,在性能代价和所提出解决方案的预期利益之间做出权衡,以确保做出合理的取舍。
8、允许重用已有的软件组件需求通常有一定灵活性,分析人员可能发现已有的某个软件组件与客户描述的需求很相符,在这种情况下,分析人员应提供一些修改需求的选择以便开发人员能够降低新系统的开发成本和节省时间,而不必严格按原有的需求说明开发。
所以说,如果想在产品中使用一些已有的商业常用组件,而它们并不完全适合您所需的特性,这时一定程度上的需求灵活性就显得极为重要了。
9、要求对变更的代价提供真实可靠的评估有时,人们面临更好、也更昂贵的方案时,会做出不同的选择。
而这时,对需求变更的影响进行评估从而对业务决策提供帮助,是十分必要的。
所以,客户有权利要求开发人员通过分析给出一个真实可信的评估,包括影响、成本和得失等。
开发人员不能由于不想实施变更而随意夸大评估成本。
10、获得满足客户功能和质量要求的系统每个人都希望项目成功,但这不仅要求客户要清晰地告知开发人员关于系统“做什么”所需的所有信息,而且还要求开发人员能通过交流了解清楚取舍与限制,一定要明确说明您的假设和潜在的期望,否则,开发人员开发出的产品很可能无法让您满意。
11、给分析人员讲解您的业务分析人员要依靠客户讲解业务概念及术语,但客户不能指望分析人员会成为该领域的专家,而只能让他们明白您的问题和目标;不要期望分析人员能把握客户业务的细微潜在之处,他们可能不知道那些对于客户来说理所当然的“常识”。
12、抽出时间清楚地说明并完善需求客户很忙,但无论如何客户有必要抽出时间参与“头脑高峰会议”的讨论,接受采访或其他获取需求的活动。
有些分析人员可能先明白了您的观点,而过后发现还需要您的讲解,这时请耐心对待一些需求和需求的精化工作过程中的反复,因为它是人们交流中很自然的现象,何况这对软件产品的成功极为重要。
13、准确而详细地说明需求编写一份清晰、准确的需求文档是很困难的。
由于处理细节问题不但烦人而且耗时,因此很容易留下模糊不清的需求。
但是在开发过程中,必须解决这种模糊性和不准确性,而客户恰恰是为解决这些问题作出决定的最佳人选,否则,就只好靠开发人员去正确猜测了。
在需求分析中暂时加上“待定”标志是个方法。
用该标志可指明哪些是需要进一步讨论、分析或增加信息的地方,有时也可能因为某个特殊需求难以解决或没有人愿意处理它而标注上“待定”。
客户要尽量将每项需求的内容都阐述清楚,以便分析人员能准确地将它们写进“软件需求报告”中去。
如果客户一时不能准确表达,通常就要求用原型技术,通过原型开发,客户可以同开发人员一起反复修改,不断完善需求定义。