信息系统项目管理师考试辅导教程第2章软件工_第1页
信息系统项目管理师考试辅导教程第2章软件工_第2页
信息系统项目管理师考试辅导教程第2章软件工_第3页
信息系统项目管理师考试辅导教程第2章软件工_第4页
信息系统项目管理师考试辅导教程第2章软件工_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、“软件工工程”这个概概念最早早是在119688年召开开的一个个当时被被称“软件危危机”的会议议上提出出的。自自19668年以以来,该该领域已已经取得得了长足足的进步步。软件件工程的的发展已已经极大大地完善善了我们们的软件件,使我我们对软软件开发发活动也也有了更更深的理理解。开发一个个具有一一定规模模和复杂杂性的软软件系统统和编写写一个简简单的程程序大不不一样。其间的的差别,借用BBooddi的比比喻,如如同建造造一座大大厦和搭搭一个狗狗窝的差差别。大大型的、复杂的的软件系系统的开开发是一一项工程程,必须须按工程程学的方方法组织织软件的的生产与与管理,必须经经过计划划、分析析、设计计、编程程、测

2、试试、维tt等一系系列的软软件生命命周期阶阶段。这这是人们们从软件件危机中中获得的的最重要要的教益益,这一一认识促促使了软软件工程程学的诞诞生。软件工程程学就是是研究如如何有效效地组织织和管理理软件开开发的工工程学科科。IEEEE在在19883年将将软件工工程定义义为:软软件工程程是开发发、运行行、维护护和修复复软件的的系统方方法。著名的软软件工程程专家BBoehhm于119833年提出出了软件件工程的的7条基基本原理理:(1)用用分阶段段的生命命周期计计划严格格管理;(2)坚坚持进行行阶段评评审;(3)实实行严格格的产品品控制;(4)采采用现代代程序设设计技术术;(5)结结果应能能清楚地地审

3、查;(6)开开发小组组的人员员应该少少而精;(7)承承认不断断改进软软件工程程实践的的必要性性。软件工程程方法学学包含33个要素素:方法法、工具具和过程程。方法法是指完完成软件件开发的的各项任任务的技技术方法法;工具具是指为为运用方方法而提提供的软软件工程程支撑环环境;过过程是指指为获得得高质量量的软件件所需要要完成的的一系列列任务的的框架。根据考试试大纲,在软件件工程基基础知识识方面,要求考考生掌握握以下知知识点:软件需需求分析析与定义义;软件设设计、测测试与维维护;软件复复用;软件质质量保证证及质量量评价;软件配配置管理理;软件开开发环境境;软件过过程管理理。本章主要要介绍软软件需求求分析

4、与与定义,软件设设计、测测试与维维护,软软件质量量保证及及质量评评价,软软件配置置管理,软件开开发环境境和软件件过程管管理方面面的知识识,有关关软件复复用的知知识将在在第3章章介绍。2.1软软件需求求分析与与定义根据Sttanddishh Grroupp对2330000个项目目进行的的研究结结果表明明,288%的项项目彻底底失败,46%的项目目超出经经费预算算或者超超出工期期,只有有约266%的项项目获得得成功。而在这这些高达达74%的不成成功项目目中,有有约600%的失失败是源源于需求求问题,也就是是差不多多有一半半的项目目都遇到到了这个个问题,这一可可怕的现现象不得得不让我我们对需需求分析

5、析引起高高度的重重视。2.1.1软件件需求与与需求过过程1.什么么是软件件需求那么什么么是软件件需求呢呢软件需需求就是是系统必必须完成成的事,以及必必须具备备的品质质具体来来说,软软件需求求包括功功能需求求、非功功能需求求和设计计约束33方面内内容。(1)功功能需求求:是指指系统必必须完成成的那些些事,即即为了向向它的用用户提供供有用的的功能,产品必必须执行行的动作作。(2)非非功能需需求:是是指产品品必须具具备的属属性或品品质,如如可靠性性、性能能、响应应时间、容错性性、扩展展性等。(3)设设计约束束:也称称限制条条件、补补充规约约,这通通常是对对解决方方案的一一些约束束说明例如必必须采用用

6、国有自自主知识识版权的的数据库库系统,必须运运行在UUNIXX操作系系统之下下等。另外,在在大量与与需求相相关的书书籍、文文章中有有一些诸诸如业务务需求、用户需需求之类类的词语语,把很很多读者者搞得术术语混淆淆,下面面我们一一起来看看看这些些概念。(1)业业务需求求(Buusinnesss Reequiiremmentt):是是指反映映组织机机构或客客户对系系统、产产品高层层次的目目标要求求,通常常问题定定义本身身就是业业务需求求。(2)用用户需求求(Usser Reqquirremeent):是指指描述用用户使用用产品必必须要完完成什么么任务,怎么完完成的需需求,通通常是在在问题定定义的基基

7、础上进进行用户户访谈、调查,对用户户使用的的场景进进行整理理,从而而建立从从用户角角度的需需求。(3)系系统需求求(Syysteem RRequuireemennt):是从系系统的角角度来说说明软件件的需求求,它包包括用特特性说明明的功能能需求、质量属属性,以以及其他他非功能能需求,还有设设计约束束。也就是说说,这分分别对应应于需求求的3个个不同的的层次,从目标标到具体体,从整整体到局局部,从从概念到到细节。这些不不同层次次、不同同类型的的需求描描述之间间的关系系如图22-1所所示。2.需求求工程需求工程程是一个个包括创创建和维维护系统统需求文文档所必必需的一一切活动动的过程程,通常常包括需需

8、求开发发和需求求管理两两大工作作。(1)需需求开发发:包括括需求捕捕获、需需求分析析、编写写规格说说明书和和需求验验证四个个阶段。在这个个阶段需需要确定定产品所所期望的的用户类类型、获获取每种种用户类类型的需需求、了了解实际际用户任任务和目目标,以以及这些些任务所所支持的的业务需需求、分分析源于于用户的的信息、对需求求进行优优先级分分类、将将所收集集的需求求编写成成为软件件规格说说明书和和需求分分析模型型、对需需求进行行评审等等工作。(2)需需求管理理:通常常包括定定义需求求基线、处理需需求变更更、需求求跟踪等等方面的的工作。而对于于需求工工程而言言,最重重要的还还是需求求开发,而需求求开发总

9、总结起来来就是包包括需求求捕获、需求分分析、需需求规格格化、需需求验证证4个环环节。需需求捕获获是为了了收集需需求信息息,需求求分析则则是在需需求捕获获的基础础上进行行分析、建立模模型,然然后将其其进行规规格化形形成软软件需求求规格说说明书,最后后再通过过客户和和管理层层进行验验证。需求规格格化的工工作就是是编制软件需需求规格格说明书书,具具体的方方法和注注意事项项请参考考有关文文档编制制的相关关章节。而需求求验证的的工作则则包括组组织一个个由不同同代表组组成的小小组,对对需求规规格说明明书和相相关模型型进行审审查;以以需求依依据编写写测试用用例,确确认测试试做好准准备;在在需求的的基础上上,

10、起草草第一份份用户手手册;确确定合格格标准,也就是是让用户户描述什什么样的的产品才才算是满满足他们们的要求求和适合合他们使使用的。2.1.2需求求调查与与问题定定义需求调查查与问题题定义是是看上去去简单,做起来来难的一一件事。在很多多人的印印象中,需求调调查,就就是找用用户聊聊聊说说,记个笔笔记。其其实需求求调查是是否科学学,准备备是否充充分,对对调查出出来的结结果影响响很大,这是因因为大部部分客户户无法完完整地讲讲述需求求,而且且也不可可能看到到系统的的全貌。要想做做好需求求调查,必须清清楚地了了解3个个问题。Whaat:应应该搜集集什么信信息。Wheere:从什么么地方搜搜集这些些信息。H

11、oww:用什什么机制制或者技技术来搜搜集这些些信息。接下来,我们就就对这三三个部分分的内容容进行一一些更加加详细的的说明与与描述。1-要捕捕获的信信息一方面,需求分分析员应应该知道道,从宏宏观的角角度来看看,要捕捕获的信信息包括括三大类类:一是是与问题题域相关关的信息息(如业业务资料料、组织织结构图图、业务务处理流流程等);二是是与要求求解决的的问题相相关的信信息;三三是用户户对系统统的特别别期望与与施加的的任何约约束信息息。这样样才能够够有的放放矢,不不会顾此此失彼。另外一方方面,需需求分析析员在开开展具体体需求捕捕获工作作时,应应该做到到在此之之前明确确自己需需要获得得什么信信息,这这样才

12、有有可能获获得所需需信息,才知道道工作进进展是否否顺利,是否完完成了目目标。2.信息息的来源源除了要明明确地知知道我们们需要什什么方面面的信息息,还要要知道它它们可以以从哪里里获得。通常情情况下,这些需需要的信信息会藏藏于客户户、原有有系统、原有系系统用户户、新系系统的潜潜在用户户、原有有产品、竞争对对手的产产品、领领域专家家、技术术法规与与标准里里。面对这么么多种可可能,在在具体的的实践中中该从何何下手呢呢其实也也很简单单,首先先从人的的角度来来说,应应该首先先对涉众众(也就就是风险险承担人人、项目目干系人人)进行行分类,然后从从每一类类涉众中中找到112名名代表;而对于于文档、产品而而言,

13、则则更容易易有选择择地查阅阅。结合前面面讲述的的内容,在制订订需求捕捕获计划划的时候候,不妨妨列出一一个表格格,左边边写上想想了解的的信息,右边跟跟上认可可能的来来源,这这样就能能够建立立一一对对应的关关系,使使得需求求捕获工工作更加加有的放放矢,也也更加高高效。3.需求求捕获技技术当我们知知道需要要去寻找找什么信信息,并并且也找找到了信信息的来来源地,接下来来就需要要选择合合适的技技术进行行需求捕捕获了。在此,我们列列举出一一些最常常用的需需求捕获获技术。(1)用用户访谈谈。用户访谈谈是最基基本的一一种需求求捕获手手段,也也是最基基本的一一种手段段。其形形式包括括结构化化和非结结构化两两种,

14、结结构化是是指事先先准备好好一系列列问题,有针对对地进行行;而非非结构化化则是只只列出一一个粗略略的想法法,根据据访谈的的具体情情况发挥挥。最有有效的访访谈是结结合这两两种方法法进行,毕竟不不可能把把什么都都一一计计划清楚楚,应该该保持良良好的灵灵活性。准备问题题:进行行用户访访谈之前前,最好好先对要要询问的的问题进进行一些些准备。准备的的方法是是围绕着着想要获获取的信信息展开开,设计计一系列列的问题题,按顺顺序组织织起来。而且还还要预先先准备好好记录方方式,主主要包括括本人记记录、第第三人记记录或者者是录音音/录像像的形式式,不过过采用录录音/录录像的方方式应该该征得被被访谈者者的同意意,而

15、且且这种方方法虽然然看上去去比较有有效,不不容易丢丢失信息息,但这这也会给给后面的的整理工工作带来来一定的的工作量量和难度度。访谈时的的技巧:在访谈谈时一定定要注意意措辞得得当,在在充分尊尊重被访访谈者的的基础上上,尽量量避免出出现“我不知知你在说说什么”,“我是来来帮助你你更好地地工作”这样的的言语,否则将将会破坏坏访谈的的气氛,从而使使访谈的的效率大大打折扣扣。在访访谈时一一定要注注意保持持轻松的的气氛,选择客客户有充充时间的的时段$行,在在说话、问问题题时应该该尽量采采用易于于理解、通俗化化的语言言。另外外,值得得注意的的是,分分析人员员应该在在进行访访谈之前前进行一一些相关关领域的的知

16、识培培训,充充分阅读读相关材材料,以以保证自自己有较较专业的的理解与与认识,让被访访谈者能能够信任任你。应该询问问的问题题:在设设计询问问的问题题时,应应该考虑虑:自己己的问题题是否相相关回答答是否正正式对方方是回答答这些问问题的合合适人选选吗是否否问了过过多的问问题是否否还有更更多的问问题要问问被访者者?另外外,还可可以在询询问过程程中询问问被访者者还希望望自己问问他什么么问题,还应该该见哪些些人总的来说说,用户户访谈具具有良好好的灵活活性,有有较宽广广的应用用范围,但是也也存在着着许多困困难,诸诸如客户户经常较较忙,难难以安排排到时间间;面谈谈时信息息量大,记录较较困难;沟通需需要很多多技

17、巧,同时需需要分析析员有足足够的领领域知识识;另外外,在访访谈时会会遇到一一些对于于组织来来说比较较机密和和敏感的的话题。因此,这看似似简单的的技术,也需要要分析人人员拥有有足够多多的经验验和较强强的沟通通能力。(2)用用户调查查。正如前面面讲到的的,用户户访谈时时最大的的难处在在于很多多关键的的人员时时间有限限,不容容易安排排过多的的时间;而且客客户面经经常较广广,不可可能一一一访谈。因此,我们就就需要借借助“用户调调查”这一方方法,通通过精心心设计要要问的问问题,然然后下发发到相关关的人员员手里,让他们们填写答答案。这这样可以以有效地地克服前前面提到到的两个个问题。但是与用用户访谈谈相比,

18、用户调调查最大大的不足足就是缺缺乏灵活活性;而而且双方方未见面面,分析析人员无无法从他他们的表表情等其其他动作作来获取取一些更更隐性的的信息;还有就就是客户户有可能能在心理理上会不不重视一一张小小小的表格格,不认认真对待待从而使使得反馈馈的信息息不全面面。基于于上述原原因,因因此较好好的做法法是将这这两种技技术结合合使用。具体地地讲,就就是先设设计问题题,制作作成用户户调查表表,下发发填写完完后,进进行仔细细的分组组、整理理、分析析,以获获得基础础信息,然后再再针对这这个结果果进行小小范围的的用户访访谈,作作补充。(3)现现场观摩摩。俗话说得得好,百百闻不如如一见,对于许许多较为为复杂的的流程

19、和和操作而而言,是是比较难难以用言言语表达达清楚的的,而且且这样做做也会显显得很低低效。针针对这一一现象,分析团团队可以以就一些些较复杂杂、较难难理解的的流程、操作采采用现场场观摩的的方法来来获取需需求。具体来说说,就是是走到客客户的工工作现场场,一边边观察,一边听听客户的的讲解,甚至可可以安排排人员跟跟随客户户工作一一小段时时间。这这样就可可以使得得分析人人员更加加直观地地理解需需求。(4)文档考考古。对于一些些数据流流程比较较复杂的的,工作作表单较较多的项项目,有有时是难难以通过过说,或或者通过过观察来来了解需需求细节节的。这这个时候候就可以以借助于于“文档考考古”的方法法,也就就是对历历

20、史存在在的一些些文档进进行研究究,考古古一词正正是形象象地说明明了其主主要的工工作重心心是结合合已经填填写完毕毕的、也也就是带带有数据据的文件件、表单单、报告告,从中中获得所所需的信信息。不过当你你准备采采用该方方法时,也要记记住这个个方法的的主要风风险,那那就是历历史的文文档可能能与新系系统的流流程、数数据有一一些不吻吻合的地地方,并并且还可可能承载载一些原原有系统统的缺陷陷。要想想有效地地避免和和发现这这些问题题,需要要分析人人员能够够运用自自己的聪聪明才智智,将其其与其他他需求捕捕获技术术结合对对照。还还有一个个负面因因素就是是,这些些历史的的文档中中记载的的信息有有可能涉涉及客户户的商

21、业业秘密,因此对对数据信信息的保保密也是是分析人人员基本本的职业业道德。(5)联联合讨论论会。这是一种种相对来来说成本本较高的的需求获获取方法法,但也也是十分分有效的的一种。它通过过联合各各个关键键客户代代表、分分析人员员、开发发团队代代表一起起,通过过有组织织的会议议来讨论论需求。通常该该会议的的参与人人数618人人,召开开时间115小小时。在会议之之前,应应该将与与讨论主主题相关关的材料料提前分分发给所所有要参参加会议议的人。在会议议开始之之后,首首先应该该花一些些时间让让所有的的与会者者互相认认识,以以使交流流在更加加轻松的的气氛下下进行。会议的的最初,就是针针对所列列举的问问题进行行逐

22、项专专题讨论论,然后后对原有有系统、类似系系统的不不足进行行开放性性交流,第三步步则是大大家在此此基础上上对新的的解决方方案进行行一番设设想,在在过程中中将这些些想法、问题、不足之之处记录录下来,形成一一个要点点清单。第四步步就是针针对这个个要点清清单进行行整理,明确优优先级,并进行行评审。这种联合合讨论会会将会起起到群策策群力的的效果,对于一一些最有有歧义的的问题和和对需求求最不清清晰的领领域都是是十分有有用的一一种技术术。而最最大的难难度就是是会议的的组织,要做到到言之有有物,气气氛开放放,否则则将难以以达到预预想的效效果。4.需求求捕获的的策略在整个需需求过程程中,需需求捕获获、需求求分

23、析、需求规规格化、需求验验证4个个阶段不不是瀑布布式的发发展,而而是应该该采用迭迭代式的的演化过过程。也也就是说说,在进进行需求求捕获时时,不要要期望一一次就将将需求收收集完,而是应应该捕获获到一些些信息后后,进行行相应的的需求分分析,并并针对分分析中发发现的疑疑问和不不足,带带着问题题再进行行有针对对性的需需求捕获获工作。2.1.3可行行性研究究进行可行行性研究究,其主主要的目目的是回回答一个个问题,即所提提出的项项目是否否可以完完成。需需要注意意的是,可行性性研究毕毕竟不是是解决问问题,而而是研究究问题的的范围,探索这这个问题题是不是是值得去去解决,根据现现有的情情况是否否有能力力,是否否

24、有可能能找到较较好的、成本效效益合算算的解决决方案。现在很很多的开开发团队队把软件件的最终终开发结结果是否否符合需需求规格格说明书书作为项项目的成成功标准准,其实实这是很很片面的的。真正正成功的的项目是是满足客客户的目目标,客客户带来来了预想想的价值值增长。而什么么样的解解决方案案能够真真正满足足客户的的需要,实现客客户的目目标呢这这就需要要大量的的需求分分析与可可行性研研究工作作。1.可行行性研究究工作的的基础在可行性性研究工工作开始始之前,系统分分析员应应该协助助客户一一起完成成“问题定定义”工作,也就是是先明确确系统要要做什么么?即WWhatt问题,也就是是上一小小节所解解决的内内容。问

25、题定义义的关键键是清晰晰地界定定出问题题的内容容、性质质,以及及系统的的目标、规模等等内容,并形成成完整的的书面报报告。系系统分析析员在这这个过程程中将使使用各种种需求调调查技术术研究问问题、引引导问题题,从而而形成完完整的问问题定义义。2.可行行性研究究工作的的任务可行性研研究工作作的目标标大家已已经了解解,那么么具体要要完成什什么工作作,达到到什么样样的目的的,也就就是说从从何着手手呢其实实可行性性研究工工作的任任务包括括以下33个方面面。(1)技技术可行行性:现现有的技技术是否否能够有有效地解解决该问问题?是否有有多种不不同的解解决方案案?现有的的技术力力量是否否达到?(2)经经济可行行

26、性:所所有可能能的解决决方案所所需投入入的成本本?能否超超过它的的开发成成本它的的成本效效益分析析结果?如何投投资回报报率如何何?(3)社社会可行行性:该该解决方方案是否否符合企企业实际际情况?是否符符合员工工利益?是否符符合相关关法规和和行业规规范?完成可行行性研究究工作之之后,必必须将这这些成果果文档化化地记录录下来,形成可行性性研究报报告。3.可行行性研究究工作的的步骤那么具体体而言,可行性性研究工工作包括括哪些事事项呢该该如何着着手?都都需要哪哪些人参参与呢下下面我们们就可行行性研究究工作的的步骤做做一个总总结性阐阐述。(1)核核实问题题定义与与目标。开始正式式进行可可行性研研究工作作

27、之前,首先要要做的一一个工作作,就是是对该项项工作的的基础一一问题定定义再次次核实。具体来来说,就就是仔细细阅读问问题定义义的相关关材料,对该问问题所涉涉及的领领域知识识进行学学习、考考证,然然后通过过走访相相关人员员进行验验证与核核实。这一步骤骤的关键键目标是是:使问问题定义义更加清清晰、明明确、没没有歧义义性,并并且对系系统的目目标、规规模,以以及相关关约束与与限制条条件做出出更加细细致的定定义,确确保可行行性研究究小组的的所有成成员达成成共识。(2)研研究分析析现有系系统。对现有系系统的仔仔细分析析与研究究是十分分重要的的一项工工作,因因它是新新系统开开发的最最好参照照物,对对其的充充分

28、分析析有助于于新系统统的开发发。这么么说的原原因,主主要是基基于以下下几点考考虑:现有系系统已实实现的功功能通常常也是新新系统要要实现功功能的一一部分。新系统统一定是是在现有有系统基基础上的的升华,毕竟如如果旧系系统没有有问题,就不会会有新系系统开发发的需求求。另外,现有系系统的运运行成本本分析的的结果是是衡量新新系统的的经济可可行性的的重要参参照物。从字面面上的理理解会容容易产生生一个常常见的误误区,就就是认为为现有系系统一定定是软件件系统,其实这这里的“现有系系统”不仅包包括旧的的软件系系统,还还包括旧旧的非计计算机系系统。(3)新新系统建建模。在问题定定义和对对现有系系统研究究的基础础上

29、,开开始对新新的系统统进行建建模,建建模的目目的是为为了获得得一个对对新系统统的框架架认识、概念性性认识。通常可可以采用用以下几几种技术术。系统上上下文关关系范围围图:其其实也就就是DFFD(数数据流图图)的00层图,将系统统与外界界实体(可能是是人、可可能是外外部系统统)的关关系(主主要是数数据流和和控制流流)体现现出来,从而清清晰地界界定出系系统的范范围,实实现共识识。实体-关系图图(E-R):这是系系统的数数据模型型,这个个阶段并并不需要要生成完完整的EE-R图图,而是是找到主主要的实实体,以以及实体体以间的的关系即即可。用例模模型:这这是系统统的一个个动态模模型,以以Acttor和和u

30、see-caase整整理出系系统的主主要功能能框架,这个阶阶段应该该大部分分都处于于概念级级,每个个用例也也无需花花太多的的时间确确定细节节,只要要能够勾勾画出系系统的雏雏形即可可。域模型型:采用用0 00的思想想,对于于系统中中主要的的实体类类找到,并说明明实体类类的主要要特征和和它们之之间的关关系。IP 0表:采用传传统的结结构化思思想,从从输入、处理、输出的的角度进进行描述述系统。再次请请大家注注意,这这个阶段段的所有有模型是是不够精精确的,只是一一个框架架,要达达到一个个宏观的的角度,否则将将陷入无无休止的的工作中中。(4)客客户复核核。可以这么么说,在在第(33)步中中建立起起来的系

31、系统模型型是系统统分析员员眼里的的问题定定义,那那么这与与客户心心目中的的问题是是否一致致呢?因因此,完完整的系系统模型型建立之之后,一一个十分分重要的的工作就就是与客客户一起起进行复复核。当当然,由由于这个个时候模模型将成成讨论和和分析的的基础,因此使使用客户户更容易易接受的的模型将将显得十十分重要要。如果在这这个过程程中,发发现模型型与客户户的目标标有不一一致的地地方,就就应该再再次通过过访谈、现场观观摩、对对现有系系统分析析等手段段进行了了解,然然后在此此基础上上修改模模型。由由此也可可以看书书,(11)(4)的的步骤是是一个循循环,周周而复始始,直至至客户确确认了新新的系统统模型止止。

32、(5)提提出并评评价解决决方案。前面的工工作还是是停留在在“系统解解决什么么问题”上,只只是更加加清晰地地进行了了定义和和说明。当客户户与系统统分析员员对要解解决的问问题有了了一个清清晰的共共识之后后,接下下来的工工作就是是提出解解决方案案,这也也是系统统分析员员很重要要的工作作之一。在这个阶阶段,应应该尽量量列举出出各种可可行的解解决方案案,并且且对这些些解决方方案的优优点、缺缺点做一一个综合合性的评评价,以以便下一一步决策策。需要要注意的的是,对对那些明明显不可可行的,如技术术上还没没有相应应的办法法、经济济角度明明显不可可行的、违背企企业或行行业实际际情况的的解决方方案应该该直接过过滤掉

33、。(6)确确定最终终推荐的的解决方方案。明确地指指出该项项目是否否可行,如果可可行,什什么方面面是最合合理的?由于对对这两个个问题的的回答,是可行行性分析析研究工工作的核核心目标标。因此此在各种种解决方方案提出出之后,接下来来应该从从中选中中一个最最合理、最可行行的解决决方案,更加详详细地说说明理由由,并且且还要对对其进行行更加完完善的成成本/效效益分析析。具体来说说,成本本效益分分析可以以分成两两个部分分的内容容。成本估估计。对对于软件件系统而而言,主主要的成成本是人人力资源源成本,另外还还包括一一些直接接的费用用、设备备采购的的费用等等。相对对而言,硬件设设备,以以及其他他的一些些相关费费

34、用的评评估会比比较容易易一些,最难的的是人力力资源的的成本分分析。因因此,对对系统工工作量(用人月月、人年年等单位位进行说说明)进进行合理理、科学学的评估估,并在在此基础础上进行行计算是是很必要要的。要想准确确地估算算出工作作量,通通常可以以借助的的工具是是历史数数据和经经验模型型。历史史数据就就是指你你所在的的开发团团队以往往从事项项目的情情况,可可以通过过以类似似系统项项目做参参照的方方法。而而经验模模型则是是一些软软件工作作量估算算方面的的研究总总结,常常用的有有功能点点分析、COCCOMOO分析等等。通常,可可以分成成以下几几步进行行:首先,进行工工作任务务分解,将目标标细化。然后,就

35、每一一个工作作任务包包,与具具体的开开发团队队进行共共同分析析,使用用功能点点分析法法或其他他相关的的分析法法进行估估算,并并且将估估算的结结果与类类似项目目的历史史数据进进行比较较,做出出微调。使用CCOCOOMO分分析,计计算出相相应的人人月数。在这个个过程中中,还应应该根据据类似项项目的历历史数据据推出项项目组队队的平均均产能,从而使使估算值值更有代代表性。另外,有有一点是是十分重重要的,在这个个阶段是是不可能能得到精精确的估估算值的的,这个个观念必必须让开开发团队队、管理理层和客客户很清清晰地认认识到。否则,即使违违心地给给出精确确的估算算值也显显得没有有任何意意义。这个阶段段的工作作

36、,对于于系统分分析员而而言,很很重要的的知识技技能在于于软件度度量与估估算方法法、技术术的掌握握方面。效益分分析。有有了估算算出来的的开发成成本以后后,就可可以进行行效益分分析了。在做效效益分析析之前应应该首先先对该系系统应用用之后,将会带带来的直直接、间间接收益益,以及及成本降降低的具具体数额额进行量量化。并并且通过过经济学学的相关关模型来来进行分分析,这这要求系系统分析析人员能能够在该该方面有有一定的的知识积积累。通通常进行行效益分分析时要要借助以以下几个个概念。货币的的时间价价值:比比如说现现在的11元钱,与未来来的1元元钱,其其代表的的价值是是不同的的。通常常是使用用利率的的形式来来表

37、现这这个价值值。我们们用厂代代表未来来的价值值,P代代表现在在的价值值,那么么可以总总结为:和其中中/代表表年利率率,n代代表年数数。投资回回收期:投资回回收期的的意思就就是要多多少年才才能够将将投资回回收,越越短越有有利。纯收入入:衡量量系统价价值的一一个很重重要的指指标就是是纯收入入,而纯纯收入指指的是整整个生命命周期之之内系统统的累计计经济效效益(折折成现值值)与投投资之差差。投资回回报率:当投资资额、每每年预计计可获得得的经济济效益这这两个数数据有了了的时候候,就可可以计算算投资回回报率(R OO I),公式式如下所所示:P=F11/(11+J)+F22/(11+J)2+.+Fn/(1

38、+J)其中,PP代表总总投资额额,F,是第I年年底底的收益益,n是系统统使用寿寿命,JJ就是投投资回报报率。.(7)草拟开开发计划划。在上一步步,我们们对主要要推荐的的解决方方案进行行了详细细的成本本效益分分析,对对工作内内容和工工作量都都有了一一个详细细的了解解,接下下来需要要制订一一个最粗粗略的开开发计划划,说明明开发所所需的资资源、人人员和时时间进度度安排。这也将将作可行行性分析析的一个个重要依依据和立立项开发发后制订订项目计计划的基基础。(8)以以书面的的形式提提交可可行性分分析报告告并进进行审查查。最后就是是将这些些研究的的结果整整理成文文,提交交客户和和管理层层,进行行审查通通过。

39、在在这个阶阶段还应应该制作作一些相相应的讲讲义,客客户和管管理层做做介绍和和说明。2.1.4需求求分析在细化地地说明需需求分析析之前,我们先先温习一一下分析析的定义义:所谓谓分析就就是通过过对问题题域的研研究,获获得对该该领域特特性及存存在于其其中(需需要解决决)的问问题特性性的透彻彻理解并并用文档档说明。从上面的的定义中中,我们们可以知知道需求求分析的的关键在在于对问问题域的的研究与与理解。为了便便于理解解问题域域,现代代软件工工程方法法所推荐荐的做法法是对问问题域进进行抽象象,将其其分解若若干的基基本元素素,然后后对元素素之间的的关系进进行建模模。1.需求求分析的的工作任任务前面对分分析的

40、定定义相对对比较抽抽象,不不太易于于理解,不太容容易用来来指导具具体的操操作。其其实用更更通俗的的话来说说,需求求分析就就是提炼炼、分析析和仔细细审查已已经收集集到的需需求,以以确保所所有的涉涉众都明明白其含含义并找找出其中中的错误误、遗漏漏或其他他不足的的地方。在KarrlE.Wieegerrs的经经典名作作软件件需求一书中中指出,需求分分析的工工作通常常包括以下七个个方面。(1)绘绘制系统统上下文文范围关关系图:这种关关系图是是用于定定义系统统与系统统外部实实体间的的界限和和接口的的简单模模型,它它可以为为需求确确定一个个范围。其实就就是DFFD的00层图,图2-2就是是一个实实例。(2)

41、创创建用户户接口原原型:由由于用户户界面对对于一个个系统来来说是十十分重要要的,因因此在需需求分析析阶段通通过快速速开发工工具开发发一tt可抛抛弃原型型,或者者通过PPoweerPoointt、Auuthoorwaare等等演示工工具制作作一个演演示原型型,甚至至可以用用纸笔画画出一些些关键的的界面接接口示意意图,这这些都会会帮助客客户更好好地理解解所要解解决的问问题,更更好地理理解需求求。(3)分分析需求求的可行行性:对对所有获获得的需需求进行行成本、性能、技术实实现方面面的可行行性研究究,以及及这些需需求项是是否与其其他的需需求项有有冲突,是否有有对外的的依赖关关系等。(4)确确定需求求的

42、优先先级:这这是一个个很重要要的工作作,迭代代开发已已经成为为现代软软件工程程方法论论的一个个基础,而需求求的优先先级是制制订迭代代计划的的一个最最重要的的依据。对于需需求优先先级的描描述,可可以采用用满意度度/非满满意度指指标进行行说明(满意度度:取值值155,表示示当需求求被实现现时用户户的满意意程度。不满意意度:取取值15,表表示当需需求未被被实现时时用户的的不满意意程度。)(5)为为需求建建立模型型:也就就是建立立分析模模型,这这些模型型的表现现形式主主要是图图表加上上少量的的文字描描述,正正所谓一一图抵千千字,图图形化地地描述需需求使其其更加清清晰、易易懂。根根据采用用的分析析技术的

43、的不同,采用的的图也不不同,例例如,00 0技技术下的的用例模模型和域域模型;面向数数据分析析技术下下的E-R图;结构化化分析技技术下的的数据流流图等。(6)创创建数据据字典:数据字字典是对对系统用用到的所所有数据据项和结结构进行行定义,以确保保开发人人员使用用统一的的数据定定义。(7)使使用质量量功能调调配(QQ F D):这是在在需求优优先级基基础上的的一个升升华,其其原理与与满意度度/非满满意度指指标十分分接近。它通过过将产品品特性、属性与与对客户户的重要要性联系系起来,Q FFD将需需求分三三类:期期望需求求,即如如果缺少少会让其其感到不不满意的的需求;普通需需求;兴兴奋需求求:实现现

44、了客户户会感到到惊喜,但没有有也不会会遭到责责备。2.需求求建模根据在需需求方面面的权威威Alaan DDaviis的见见解,仅仅仅单一一地看需需求并不不能提供供对需求求的完全全理解,而是需需要把用用文字表表示的需需求和用用图形表表示的需需求结合合起来。而用图图形表示示需求,就是需需求建模模,获得得分析模模型。分分析模型型有助于于检测需需求的不不一致性性、模糊糊性、错错误及遗遗漏。有有一点需需要提醒醒读者注注意的是是,迄今今止,尚尚未发现现一种分分析建模模技术能能够将所所有的内内容涵盖盖,我们们需要根根据实际际情况进进行有效效的组合合。进行需求求建模时时,首先先应该建建立一个个概念,那就是是分

45、析模模型的基基础是分分析元素素,而分分析元素素则来源源于客户户所陈述述的需求求。而且且,我们们应该尽尽可能地地利用CCASEE工具创创建、维维护、发发布需求求模型,以保持持其可控控性。2.1.5流行行的需求求分析方方法论需求分析析的方法法可谓种种类繁多多,不过过如果按按照分解解的方式式不同,可以很很容易地地划分出几种大大类型。我们先先从分析析方法发发展的历历史,对对其建立立一个概概要性的的认识。结构化分分析方法法(Sttruccturred Anaalyssis,SA):最初初的分析析方法都都不成体体系,而而且通常都只只包括一一些笼统统的告诫诫,在220世纪纪70年年代分析析技术发发展的分分水

46、岭终终于出现现了。这时人们们开始尝尝试使用用标准化化的方法法,开发发和推出出各种名名“结构化化分析”的方法法论,Tom DeMMacrro是这这个领域域最有代代表性和和权威性性的专家家。软系统方方法:这这是一个个过渡性性的方法法论,并并未真正正流行过过,它的的出现只只是证明明了结构化分分析方法法的一些些不足。因为结结构化分分析方法法采用的的相对形形式化的的模型不不仅与社社会观格格不不入,而而且在解解决“不确定定性”时显得得十分无无力。最最有代表表性的软软系统方方法是Checcklaand方方法。面向对象象分析方方法(OObjeect Oriientted Anaalyssis,OOAA):在在

47、20世世纪900年代,结构化方法法的不足足在面对对多变的的商业世世界时,显得更更加苍白白无力,这促使使了O O AA的迅速发展。面向问题题域的分分析(PProbblemm Doomaiin OOrieenteed AAnallysiis,PPDOAA):随随着技术术的应用和发展展发现面面向对象象分析方方法也存存在着很很多的不不足,应应运而生生了一些些新的方方法论,PDOAA就是其其中一种种。不过过PDOOA尚在在研究阶阶段,并并未广泛泛应用。1.结构构化分析析结构化分分析与面面向对象象分析方方法之间间的最大大差别是是:结构构化分析析方法把把系统看看做一个个过程的的集合体体,包括括人完成成的和电

48、电脑完成成的;而而面向对对象方法法则把系系统看成成一个相相互影响响的对象象集。结结构化分分析方法法的特点点是利用用数据流流图来帮帮助人们们理解问问题,对对问题进进行分析析。结构化分分析一般般包括以以下工具具,在本本节的随随后部分分将对它它们一一一做简单单介绍。数据流流图(DDataa Fllow Diaagraam,DDFD);数据字字典(DDataa Diictiionaary,DD);结构化化语言;判定表表;判定树树。结构化系系统分析析方法从从总体上上看是一一种强烈烈依赖数数据流图图的自顶顶向下的的建模方方法。它它不仅是是需求分分析技术术,也是是完成需需求规格格化的有有效技术术手段。在介绍

49、具具体的结结构化分分析方法法之前,我们先先对如何何进行结结构化分分析做一一个总结结性描述述,以帮帮助大家家更好地地应用该该方法。(1)研研究“物质环环境”。首先先,应画画出当前前系统(可能是是非计算算机系统统,或是是半计算算机系统统)的数数据流图图,说明明系统的的输入、输出数数据流,说明系系统的数数据流情情况,以以及经历历了哪些些处理过过程。在在这个数数据流图图中,可可以包括括一些非非计算机机系统中中数据流流及处理理的命名名,例如如,部门门名、岗岗位名、报表名名等。这这个过程程可以帮帮助分析析员有效效地理解解业务环环境,在在与用户户的充分分沟通与与交流中中完成。(2)建建立系统统逻辑模模型。当

50、当物理模模型建立立完成之之后,接接下来的的工作是是画出相相对真实实系统的的等价逻逻辑数据据流图。在前一一步骤建建立的数数据流图图的基础础上,将将所有自自然数据据流都转转成等价价的逻辑辑流:例例如将现现实世界界的报表表改成存存储在计计算机系系统中的的文件里里;又如如,将现实实世界中中“送往总总经理办办公室”改“报送报报表”。(3)划划清人机机界限。最后,我们确确定在系系统逻辑辑模型中中,哪些些将采用用自动化化完成,哪些仍仍然保留留手工操操作。这这样就可可以清晰晰地划清清系统的的范围。2.数据据流图数据流图图是一种种图形化化的系统统模型,它在一一张图中中展示信信息系统统的主要要需求,即输入入、输出

51、出、处理理(过程程)、数数据存储储。由于于从DFFD中可可以很容容易地一一眼看出出系统紧紧密结合合的各个个部分,而且整整个图形形模式只只有五个个符号需需要记忆忆,所以以深受分分析人员员的喜爱爱,因而而广流行行。正如图22-3所所示,DDFD中中包括以以下几个个基本元元素。过程:一步步步地执行行指令,完成输输入到输输出的转转换。外部实实体:系系统之外外的数据据源或目目的。数据存存储:存存放数据据的地方方,一般般是文件件、数据据库等形形式。数据流流:从一一处到另另一处的的数据流流向,如如从输入入或输出出到一个个过程的的数据流流。实时连连接:当当过程执执行时,外部实实体与过过程之间间的来回回通信。(

52、1)数数据流图图的层次次。正如如前面提提到的,结构化化分析的的思路是是依赖于于数据流流图进行行自顶而而下的分分析。这这也是因因为系统统通常比比较复杂杂,很难难在一张张图上将将所有的的数据流流和加工工描述清清楚。因因此,数数据流图图提供一一种表现现系统高高层和低低层概念念的机制制。也就就是先绘绘制一张张较高层层次的数数据流图图,然后后在此基基础上,对其中中的过程程(处理理)进行行分解,分解成成若干独独立的、低层次次的、详详细的数数据流图图,而且且可以这这样逐一一地分解解下去,直至系系统被清清晰地描描述出来来。(2)CConttextt图。CConttextt图,也也就是在在2.11.4节节中提到

53、到的系统统上下文文范围关关系图。这是描描述系统统最高层层结构的的DFDD图。它它的特点点是,将将整个待待开发的的系统表表示为一一个过程程,将所所有的外外部实体体和进出出系统的的数据流流都画在在一张图图中。图2-33就是一一个Coonteext图图的实例例,只不不过在绘绘制时做做了一些些处理,使得它它看上去去更加直直观易懂懂,图22-4也也是一个个Conntexxt图的的例子。图2-44 Coonteext图图实例Conttextt图用来来描述系系统有什什么输入入、输出出数据流流,与哪哪些外部部实体直直接相关关,可以把整个个系统的的范围勾勾画出来来。(3)逐逐级分解解。当完完成了CConttex

54、tt图的建建模后,就可以以在此基基础上进进行进一一步分解解。下面面我们以以图2 4例,进行再再分解,在对原原有流程程了解的的基础上上,可以以得到图图2-55。图2-55 D F DD 0层层图图2-55是在CConttextt的基础础上做的的第一次次分解,而在CConttextt只有一一个过程程,那就就是系统统,我们们将其编编号0。接下来来对Coonteext图图进行分分解,其其实就是是对这个个编号00的过程程进行更更细化的的描述,在这里里引入了了新的过过程、数数据存储储,为了了能够区区分其位位于的级级别,在在这个层层次上的的过程将将以1、2、33为序列列进行编编号。正是由于于这是对对过程00

55、的分解解,因此此也称之之DFDD 0层层图。而而我们可可以根据据需要对对DFDD0层图图上的过过程(编编号1、2、33)进行行如法炮炮制的分分解,称称之DFFD1层层图,DDFD11层图中中引入的的新过程程,其编编号规则则就是11.1,1.22-,以以及2.1,22.2-,依此此类推,直到完完成分析析工作。另外,这这里存在在一个很很关键的的要点,由于DDFD00层图是是Conntexxt的细细化,因因此所有有的输入入和输出出应该与与Conntexxt完全全一致,否则就就说明存存在着错错误。(4)如如何画DDFD。D FF D的的绘制是是一个自自顶向下下、由外外到里的的过程,通常按按照以下下几个

56、步步骤进行行。画系统统的输入入和输出出:在图图的边缘缘标出系系统的输输入、输输出数据据流。这这一步其其实是决决定研究究的内容容和系统统的范围围。在画画的时候候,可以以先将尽尽可能多多的输入入、输出出画出来来,然后后再删除除多余的的,增加加遗漏的的。画数据据流图的的内部:将系统统的输入入、输出出用一系系列的处处理连接接起来,可以从从输入数数据流画画向输出出数据流流,也可可以从中中间画出出去。每一个个数据流流命名:命名的的好坏与与数据流流图的可可理解性性密切相相关,应应避免使使用空洞洞的名字字。加工命命名:注注意应用用动宾短短语。不考虑初初始化和和终点,暂不考考虑出错错路径等等细节,不画控控制流和

57、和控制信信息。3.细化化记录DDFD部部件为了能够够更好地地描述DDFD的的部件,结构化化分析方方法还引引入了数数据字典典、结构构化语言言,以及及决策树树、决策策表等方方法。通通过使用用这些工工具,能能够对数数据流图图中描述述不够清清晰的地地方进行行有效的的补充。(1)结结构化语语言。结结构化语语言是结结构化编编程语言言与自然然语言的的有机结结合,可可以采用用顺序结结构、分分支结构构、循环环结构等等机制,同时还还说明加加工的处处理流程程。该技技术通常常用来描描述一些些重要的的、复杂杂的过程程的程序序逻辑逻逻辑。表表2-11所示是是一个使使用结构构化语言言描述的的例子。表2-11使用结结构化语语

58、言描述述的例子子IF分数数=660 TThennIF分数数800 Thhen成绩=CCELSEEIF分数数=550 TThenn成绩=DDELSEE成绩=EEEndllfEndllf(2)决决策表和和决策树树。决策策表是一一种处理理逻辑的的表格表表示方法法,其中中包括决决策变量量、决策策变量值值、参与与者或公公式。与与上例对对应的决决策表示示例如表表2-22所示。表2-22决策表表示例分数=60是是否分数=80=500=90=:由由构成。+:和和,代表表顺序连连接的关关系。|:或,代表从从中选择择一个。*:n次次重复。C):代表可可选的数数据项。*-*:表示示特定限限制的注注释。补充信信息:关

59、关于数据据类型、默认值值、限制制等信息息。表2-33是一个个数据字字典的实实例。表2-33数据字字典的实实例客户基本本信息=客户编编号+客客户名称称+身份份证号码码+手机机+小灵灵通+家家庭电话话客户编号号=00-98客户名称称=丨字字”身份证号号码=0.9915509118丨丨手机=0-99)4(912小灵通=(区号号)+本本地号家庭电话话=(区区号)+本地号号办公电话话=(区区号)+本地号号区号=0944本地号=00*“9770988丨4.实体体-关系系图传统的系系统开发发方法都都把重点点集中在在新系统统的数据据存储需需求上,包括数数据实体体、数据据实体的的属性,以及它它们之间间的关系系。

60、而描描述这些些东西的的最好形形式就是是借助实实体-关关系图(Enttityy Reelattionnshiip DDiaggramm,E-R图)。(1)实实体。由由于所有有的系统统都包括括数据,而且是是大量的的数据。因此,我们在在开发系系统时,需要一一个概念念来抽象象地表示示一组相相类似的的事物的的所有实实例,我我们称这这个概念念实体,在E-R图中中使用一一个圆角角的矩形形来表示示,如图图2-77(a)所示。从这个个概念上上看,与与面向对对象分析析方法中中的类有有些相似似。不过过,由于于在这里里只关心心数据,因此实实体通常常是需要要存储的的数据。与类一一样,实实体也有有实例,表示实实体的一一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论