




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(建筑工程管理)如何理解软件工程1.1软件(Software)1.1.1软件和软件的组成和数据。∴软件程序及有关数据—机器可执行;文档(和软件开发、运行、维护、使用、培am程序设计语言三种类型:录软件开发活动和阶段成果,具有永久性,可供人或机器阅读。程的管理;运行阶段的维护。1.软件的特点软件是逻辑产品,硬件是物理产品。点: 件开发、设计几乎都是从头开始,成本和进度很难估计。 (2)软件存在潜伏错误,硬件错误壹般能排除。 (3)软件开发成功后,只需对原版进行复制。 (4)软件在使用过程中维护复杂:完善软件的性能;件,以适应软硬件环境的变化; (5)软件不会磨损和老化。2.软件的发展开发方法。目标主要集中在如何提高时空效率上。件危机”变得十分严重。程”的方法,软件产品急剧增加,质量也有了很大的提高。1.1.2软件危机难题。商的信誉,引起用户不满。2)用户对已完成的软件不满意的现象时有发生。3)软件产品的质量往往是靠不住的。4)软件常常是不可维护的。工作带来许多难以想象的困难和难以解决的问题。6)软件成本在计算机系统总成本中所占比例逐年上升。7)开发生产率提高的速度远跟不上软件需求。1)用户对软件需求的描述不精确。3)缺乏处理大型软件项目的经验。开发大型软件项目需要组织众多人员共同完成。误解。4)开发大型软件易产生疏漏和错误。将是壹个永恒的主题。缓解软件危机的方法。他们提出了“软件工程”的概念,即用现代工程的原理、的壹个新的研究领域。软件工程的概念和管理方法。软件工程由方法、工具和过程三部分组成,称软件工程的三要素。个阶段。成。配置管理等1.2.2软件工程的基本原理1.2.3软件工程的目标互操作性且满足用户需求的软件产品。解释1)可修改性(modifiability),允许对软件系统进行修改而不增加其复杂性。它调试和维护。2)有效性(efficiency),指软件系统的时间和空间效率。这是壹个应当努力追求要目标。3)可靠性(reliability),是指在给定的时间间隔内,程序成功运行的概率。可靠性是衡量软件质量的壹个重要目标。4)可理解性(understandability),指系统具有清晰的结构,能直接反映问题的5)可维护性(maintainability),是指软件产品交付使用后,在实现改正潜伏的十分重要的目标。软件的可理解性和可修改性支持软件的可维护性。6)可重用性(reusability),是指软部件能够在多种场合使用的程度。概念或功构部设用性有助于提高软件产品的质量和开发效率、降低软件开发和维护费用。7)可适应性(adaptability),是指软件在不同的系统约束条件下,使用户需求得到满足的难易程度。用广为流行的程序设计语言编码、采用标准的术语和格式书写文档可增强软件产品的可适应性。8)可移植性(portability),是指软件从壹个计算机系统或环境移植到另壹个上可提高可移植性。而应将依赖于计算机系统的低级(物理)特征部分相对独立、集中起来。可移植性支持软件的可重用性和可适应性。9)可追踪性(traceability),是指根据软件需求对软件设计、程序进行正向追踪,和程序的完整性、壹致性、可理解性支持软件的可追踪性。10)可互操作性(interoperability),是指多个软件元素相互通信且协同完成任1.2.4软件工程的原则1.抽象(abstraction),抽取各个事物中共同的最基本的特征和行为,暂时忽略件的可理解性增强且有利于开发过程的管理。2.信息隐藏(informationhiding),将模块内部的信息(数据和过程)封装起来。集中于更高层次的抽象上。4.局部化(localization),即在壹个物理模块内集中逻辑上相互关联的计算资源。聚。这有助于控制每壹个解的复杂性。5.壹致性(consistency),整个软件系统(包括程序、数据和文档)的各个模块系统应保持壹致。术评审。7.可验证性(verifiability),开发大型软件系统需要对系统逐层分解。系统分解应遵循易于检查、测试、评审的原则,以使系统可验证。标,且可提高软件产品的质量和开发效率;软件生存周期程是:软件定义过程、软件开发过程、软件使用和维护过程。测试、使用和维护、退役。 1.3.1软件定义可行性。即该项目是否值得去解决,是否存在可行的解决办法。行需要的软硬件资源、定义任务、风险分析、成本/效益分析以及进度安排等。•可行性研究的结果将是使用部门负责人做出是否继续进行该项目决定的重要依据。1)需求分析的任务能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。2)需求分析的实现途径提出。系统分析员和开发人员在需求分析阶段必须和用户求的过程有时需要反复多次,最终得到用户和开发者的确认。3)需求分析的阶段成果准则、初步的即SRS),是壹个关键性的文档。1.3.2软件开发•软件开发过程由概要设计、详细设计、实现(即编码和单元测试)、组装测试、收测试共5个阶段组成。收测试统称为测试。1.3.3软件的使用和维护通过各种维护活动使软件系统持久地满足用户的需求。修改软件设计、修改程序、测试程序、评审、验收等步骤。料保存。开发模型•软件开发模型(又称为软件生存周期模型)软件开发过程提供原则和方法,且为软件工程管理提供里程碑和进度表。因此,软件开发模型也是软件工程的重要内容。际开发时,应根据项目的特点和现有的条件选取合适的模型,也能够把几种模型组合起来使用以便充分利用各模型的优点。1.4.1瀑布模型模型。及文档,每壹阶段的任务完成后,都必须对其阶段性产品(主要是文档)进行评审,通过后才能开始下壹阶段的工作。因此,它是壹种以文档作为驱动的模型。:件开发的基本框架,有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究和使用,因此,在软件工程中占有重要的地位。来说是极其困难的。2)在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。维护。整、无重大变化的软件系统的开发。例如1.4.2原型模型和此且各个开发步骤。发途径有三种:1)仅模拟软件系统的人机界面和人机交互方式。2)开发壹个工作模型,实现软件系统中重要的或容易产生误解的功能。功能。相应的软件工具和环境,且尽量采用软件重用技术,件系统的可见部分,如人机界面、数据的输入方式和输出格式等。组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。1.4.3螺旋模型m析机制。螺旋模型的基本框架如图•螺旋模型的每壹个周期都包括计划(需求定义)、风险分析、工程实现和评审4个阶段。1.计划(需求定义)步用户需求,制定项目开发计划(即整个软件生命周期计划)和需求分析计划。经过壹个周期后,根据用户件开发的目标、约束条件,且据此制定新壹轮的软件开发计划。计划,进行风险分析,评估可选方案,且构造原型进壹步分析所以,螺旋模型是壹个风险驱动的模型。利用构造的原型进行需求建模或进行系统模拟,直至实现软件系统。征求改进意见。开发人员应在用户的密切配合下进壹步完善的计划开始,壹个周期、壹个周期地不断迭代,直到整个软件系统开发完成。①如果每次迭代的效率不高,致使迭代次数过多,将会增加成本且推迟提交时间;过程、面向对象等多种软件开发方法,是壹种具有广阔前景的模型。?。生存周期由哪几个过程组成?每个过程分别程。和Process(过程)。根据选定的软件开发过程框架(即软件开发模型)和对其估算的结果制定软件项目代价完成软件项目规定的全部任务。别是:中按计划管理经费的使用;最终软件产品进行确认,确保软件质量;保软件的完整性和壹致性。的结果用于软件开发过程的管理和监控。骤等等。2.1软件度量基本概念,且介绍软件的规模度量和功能度量。2.1.1软件度量的基本概念软件工程项目的定量描述涉及测量、度量、估算和指标等壹些基本概念。提供壹个定量的指示。如软件质量度量等。3)估算(estimation):对软件产品、过程、资源等使用历史资料或经验公式等进作计划等。4)指标(guideline)解。行技术评审。管理者检查“每小时每人所发现的错误数”这壹度量结果时发现:的技术评审方法。•产品(product)是指软件开发过程得到的文档和程序,如:需求规格说明、设计规格说明、源代码、测试报告等;•过程(process)是指和软件项目有关的活动,如软件项目计划、开发活动、维护活动、管理活动等;•资源(resource)是指进行软件项目所需要的各种支持,如人力、经费、方法、工具、软硬件环境等。目管理的对象进行有效的管理和控制,就必须对这些对象的属性进行测属性。等。员的生产率等。对象的部分属性如表2-1所示。建立起了软件工程度量系统。度量俩类:代码行数、操作符的个数,工作量、成本等。杂性、可靠性、可维护性等等。。它们之间的关系如图2-1-1所示。误、人数、文档页数等的统计记录。利用代码行数能够度量软件规模、生产率、平均成本、出错率、文档率等参考量。DKLOC为:【例2.1】已知有壹个国外典型的软件项目的记录,开发人员M=6人,其代码行数出的已知数据,可得:法的序设计语言的功能和表达等特征、在开发初期很难准确估算出代码行数、对设计水平高的软件项目产生不利影响。适用场合:适合于过程式程序设计语言和事后度量。2.2软件项目估算或总工作量,然后再按比例将其分配到各开发任务中去。即从整体到局部。本。分为若干个子•缺点:缺少各个子任务之间相互联系的工作量和系统工作量(如项目管理、配置管理、质量管理),估算值往往偏低,必须用其他方法进行校正。某种方法进行估算。差别估算法综合了之上俩种方法的优点。验模型。这些模型对于软件项目管理具有壹定的指导意义和验证效果。重使用。度。2.2.2代码行和功能点的估算等进行估算了。2.3软件质量度量品是软件工程的首要目标。对其进行评价和控制。2.3.1软件质量的定义2.3.2软件质量的度量模型特性(即软件属性)建立起软件度量模型,进而构建软件质量度量体系。等。•第壹层是将对软件质量的度量归结为对直接影响软件质量的若干个软件质量要•软件质量要素(factor)是指直接影响软件质量的软件质量特性。划分为三类:1)正确性(correctness):指程序满足需求规格说明及用户目标的程度;2)完整性(integrity):指对未授权人员访问程序或数据加以控制的程度;3)可用性(usability):指学习使用软件(即操作软件、准备输入数据、解释输出结果等)的难易程度;4)灵活性(flexibility):指改变壹个操作的顺序所需工作量的多少;5)可测试性(testability):指测试软件以便使其具有预定功能所需工作量的多少;6)可互操作性(interoperability):指程序和其他系统相互交换且使用信息的能力。正相关以“√”表示,衷。例如,对于实时控制系统,必须确保系统的可靠性和有效性,而软件的可重用性、可移植性等质量要素就能够放宽要求。2.4软件复杂性度量的复杂性也能从某些方面影响软件的可维护性、可靠性等软件质量要素。因此,软件复杂性度量是软件度量的壹个重要组成部分。2.4.1软件复杂性的概念及度量原则1)理解程序的难度;2)维护程序的难度;3)向其他人解释程序的难度;4)按指定方法修改程序的难度;5)根据设计文件编写程序的工作量;6)执行程序时需要资源的多少。1)软件的复杂性和其规模的关系不是线性的;2)数据结构复杂的程序较复杂;3)控制结构复杂的程序较复杂;4)转向语句使用不当的程序较复杂;5)循环结构比选择结构复杂、选择结构比顺序结构复杂;6)语句、数据、子程序模块等出现的顺序对复杂性有影响;7)非局部变量较多的程序较复杂;8)参数按地址调用(Callbyreference)比按值调用(Callbyvalue)复杂;9)函数副作用比显式参数传递难理解;10)作用不同的变量同名时较难理解;11)模块、过程间联系密切的程序较复杂;12)程序嵌套层数越多越复杂。们进壹步研究定量度量软件复杂性的基础。向来程序流程图中的箭头变成连接各结点的有向弧(或称为边)。壹般地,能够假设到达出口结点。程序图又称为程序控制结构图或程序流图。模型为:环形复杂度。往往是越复杂、越容易出问题的程序。解:(1)画出程序流程图对应的程序图。 (2)由程序图(或流图)可得: (3)由程序图能够见出,其有界封闭区域,所以:符和操作数组成的符号序列。操作符是指程序中出现的语法符号,如+、–、if-then-else、while等。操作数是操作对象,如程序中定义或使用的变量、常量、数组、指针等。2.6软件开发过程的管理软件开发计划的进度安排,软件开发人员的组织和分工等等。2.6.1软件开发项目管理过程软件工程过程的结束。件开发项目管理过程主要包括以下几个方面:寻求解决方案。件项目管理过程中的壹个关键活动是制定项目计划。在制定计划时,必须对项算。几个方面开发壹个软件项目总存在某些不确定性,即存在风险。有些风险如果控制得不好,险管理步骤,包括风险标识、风险估算、风险评价、风险驾驭和监控。间的相互关联,然后估算各个任务的工作源。几个方面度安排中标识的每壹个任务。如果任务实际完成期。①具有不确定性,某项风险可能发生也可能不发生;②壹旦某项风险变成了现实,就必然会给项目带来不良的影响和损失,甚至灾难性后果。险驾驭和监控。①项目风险是指项目在预算、进度、人力等资源、客户和需求等方面可能存在的问题。这些问题壹旦发生将对软件开发项目产生不利影响。②技术风险是指在需求、设计、实现、接口、验证和维护等方面的潜在问题。如果技术风险发生了,将直接威胁软件产品的质量和交付日期。③商业风险是指开发壹个没人需要的优质软件产品、开发壹个销售部门不知道如何销售的软件产品、或开发壹个不再符合整体商业策略的产品等等。风险。,确定影响风险的因素,估计风险出现的可能性或概率,即进行定量的估算。:1)定义项目的风险参照水准;xi4)预测各种风险组合的影响是否超出参照水准。设法避开或转移风险。2.6.3进度安排1)软件产品最终交付日期已经确定,开发方只能根据最终交付日期安排进度;2)最后交付日期主要由软件开发方来确定。须解决好以下几个问题。理地分配任务、人力、时间等资源。程能济效益。力挖掘可且行开发的部分。个典型项目任务网络图。其中“▲”表示软件工程过程的里程碑,出了各个子任务间的相互依赖关系。整个软件项目定义和开发各阶段壹种典型的工作量分布原则,其余各个阶段的3~5倍。度。段,进行任务分解,对各个任务再进行工作量和进度的分配。 M络图。1)用经验模型估算完成每个子任务所需的工作量和时间;3)确定各子任务的时间窗口,即确定各子任务的最早启动时间和最迟启动时间。•该子任务的最早启动时间和完成该子任务所需时间之和就是该子任务的最早结束时间。•而某个子任务的最迟启动时间是指在保证项目按时完成的前提下最晚启动该子任务的时间;。日和机动时间,以便应付可能出现的问题和难点。2.6.4软件质量保证的目标,必须有计划地、系统地进行软件下基础;2)研究且选用软件开发方法和工具;3)对软件生存周期各阶段进行正式的技术评审 4)制定且实施软件测试策略和测试计划;5)及时生成软件文档且进行其版本控制;6)保证软件开发过程和选用的软件开发标准相壹致;7)建立软件质量要素的度量机制;这里仅介绍软件工程的正式技术评审,其他内容在本书的其他章节中介绍。工作的进展而具有壹种积累和放大效应,如图2-6-6所示。所以,在每壹个阶段结束时,而能够保证软件质量。②正式的技术评审是降低软件成本的重要措施。改正壹个错误要比早期改正同壹个错误需要付出的成本和代价高出二到三个数量级,错误发现得越早,越易改正,损失越少。2)正式的技术评审的组织和过程论工程中的技术问题。2.6.5软件项目组织的建立和人员分工组织是保证软件开发能够顺利进行的必要条件之壹。在建立件开发组织的时候要注意的原则是:①尽早落实责任。特别是项目负责人的责任;③责权均衡。指软件经理的责任不应比赋予他的权力仍大。1)按课题划分的模式(ProjectFormat)将软件人员按照项目(课题)组成小组,小组成员始终参加所承担课题的各项任务,程。2)按职能划分的模式(FunctionalFormat)将人员按照软件生存周期各个阶段划分成若干个专业小组。比如分别建立计划组、计组、实现组、测试组、维护组、质量保证组等等。优点:便于熟悉本组的工作。缺点:各个小组之间通信频繁。3)矩阵模式(MatrixFormat)。壹方面,按工作性质成立壹些专门组,如开发组、他要接受专门组和项目经理的双重领导。内的成员可互相交流在各自参加的项目中取得的经验教训,从而有利于发挥专业人员的作用;而每个项目又有专人负责管理,有利于项目完成。小组3种。1位后援工程师组成,仍能够配备辅助人员(如资料员)。主程序员是小组的领导和核心,他负责小组做部分具体工作,必要时代替主程序员的工作。 (a)主程序员制小组的直接联系,从而简化了程序员之间的通信。而工作效果的好坏主要取决于主程序员的技术水平和管理才能。挥小组每壹个成员的积极、主动性和协作精神。3)层次式小组(HierarchicalTeam)小组管理若干名程序员。够按照组织形式划分课题,然后把子项目分配给各个基层小组去完成。利于软件质量的提高。同的。高层次人员。①重质量:软件项目开发是壹种高智力、高技术型的工作,使用少量有实践经验、有效。②重培训:花力气培养所需的技术和管理人员是解决人员问题的有效方法。③双阶梯提升:人员要么按照技术职务提升,要么按照管理职务提升,俩者不应兼得。2)对项目经理人员的要求①把用户提出的非技术性要求加以整理提炼,以技术说明书形式转告给分析员和测试员。②能说服用户放弃那些不切实际的要求,以保证合理的要求得以满足。③具有综合问题的能力。④具有很强的沟通能力。3)评价人员的标准理能力和技术水平。①善于和周围人员团结协作,建立良好的人际关系,善于听取别人的意见。②牢固掌握计算机软件的基本知识和技能。③善于分析和综合问题,具有严密的逻辑思维能力。④工作踏实、细致,遵循标准和规范,不靠碰运气,具有严格的科学作风。⑤工作中表现有责任心、有毅力、有耐心。⑥具有良好的书面和口头表达能力。2.6.6软件项目的跟踪和控制现和处理问题,使开发人员能够按计划和要求有条不紊地工作。①定期召开项目工作会议,让每个项目成员汇报任务进展情况和存在的问题。②在软件开发过程中,请专家和用户按照里程碑对阶段性成果进行管理复审,判定否和计划中定义的里程碑保持壹致。2.6.6软件项目的跟踪和控制③对照进度计划检查各子任务的实际开始时间是否和计划的开始时间壹致。④及时了解项目开发人员的进展情况及存在的主要问题。2.6.7软件开发标准件的质量。•若不考虑系统内部结构和功能,基于计算机的系统可用输入-处理-输出(IPO)模型表示。其中:I(Input)指信息的输入;P(Process)指对信息的处理;O(Output)指信息的输出。时,系统将具有复杂的层次结构。统规格说明和评审等内容。3.1计算机系统工程的概念法和过程。计算机的系统时:①计算机系统工程师(系统分析人员和系统开发人员)首先根据用户定义的系统目整地确定系统的功能需求和性能需求。②然后,系统工程师将系统功能和性能分配到系统各要素之中。案,之后根据系统设计目标和约束条件且按照壹定的原则设计且选择最佳方案。比如,在成本、进度、系统资源、系统性能、支撑环境等方面进行取舍和折衷。程等几个子工程予以实现。3.1.1硬件工程部件或设备。硬件工程师可通过硬件工程来实现硬件系统。行硬件需求分析,给出硬件规格说明。且对其进行测试;③制造分析,画出生产图。应的服务机构对硬件产品进行售后服务。3.1.2软件工程软件需求分析的基础。细设计和编码。部件可划分为系统软件和应用软件俩类。:①实现系统的输入和输出。②如有必要,软件可设置和数据库的接口,支持系统对数据库的访问。③软件通过壹系列的算法和操作控制程序使各个系统要素有条不紊地工作,从而实现系统的功能和性能。:和管理评审。发原型,以获得用户满意的软件需求。3)为软件要素制定验收准则,制定软件验收测试计划。人参加的评审后生效,且作为软件开发和软件产品验收的依据。软件。1)软件总体设计阶段件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务是:①设计软件的模块结构。②定义接口且建立数据结构。③生成概要设计规格说明和组装测试计划。④评审概要设计的质量,重点评审总体设计是否支持软件需求规格说明的完全性和可追踪性。①对概要设计规格说明中的每壹个模块的过程进行详细的描述。②制定单元测试计划。生成详细设计规格说明。③对详细设计的阶段产品进行评审。序。应注意良好的编程风格、简洁性和自文档化,同时仍应保持和过程设计的可跟踪性。1)软件验证阶段的主要任务是:①软件开发人员根据单元测试计划对每壹个模块进行单元测试,验证模块的功能是否正确且符合设计要求。②组织开发人员和专门的软件测试工程师对软件进行综合测试,测试软件总体结构求。③组织专家、用户和客户对测试结果进行评审。2)软件的提交和经销的主要任务是:①开发正式的用户手册、对文档进行分类、整理、归档,建立配置控制机制。②将软件提交给用户,必要时应负责把软件安装到用户的环境中。3)软件维护的任务是:提高软件的可维护性和可靠性等等。3.2可行性研究3.2.1可行性研究的任务及步骤可行的解决方案。即在系统层面上论证系统开发的可行性。成本效益分析。及对其他产品或利润的影响。件,从技术的角度研究实现系统的可行性。括人事、科技政策、管理方法等。方案,且为系统制定壹个初步的开发计划。1)复查初步分析结果。书进行复查,改正含糊或不确切的叙述,重新确定系统目标和规模,清晰地描述对系统的所有约束条件。2)研究现有的系统。找出其基本功能和信息,指出其缺点或局限性。3)导出新系统高层逻辑模型。某种图形工具导出系统高层逻辑模型,且和现有系统进行比较。可行性、技术可行性、运行和操作可行性等进行分析比较。5)推荐建议的方案。员认为值得开发,则应指出开发的价值、推荐方案的理由且为推荐的交可行性研究报告等全部文档。6)评审、复审和决策。发方和客户方或使用部门负责人根据成本-效益分析等各项可行性研究的结论,决策是否继续这项工程。•系统分析员将基于计算机系统的功能和性能分解为若干个子系统且精确定义各子系统的界面之后,开始建立系统模型。•任何壹个基于计算机系统都能够用输入-处理-输出(IPO)图来描述,它将该系系统建模的基础。工程的建模技术自顶向下、由粗到细地建立具有层次结构的系统模型。最顶层。界面,实现系统和外部环境间的通信等等。关系图有向边——系统的信息流(数据流或控制流)。算机系统应达到的目标,应具有的功能、性能和支配系统开发入输出数据和控制信息。可供参考的系统规格说明目录(略)技术评审主要解决的问题有:①系统规格说明中的定义是否正确,是否正确地描述了项目的范围、准确定义了系统的功能、性能和界面,开发人员和用户对系统的目标是否有共同的认识等。②系统功能的复杂性是否和开发风险、成本和进度预测保持壹致。③系统及各子系统功能定义是否足够详细。④系统和环境及各子系统之间的接口定义是否详细、有否遗漏。⑤是否指明系统性能、可靠性和可维护性等需求。⑥是否为以后的开发打下坚实的基础。复审主要解决的问题有:①系统是否有稳定的商业需求、经济和社会效益。②系统开发是否仍有其他的选择方案。③系统各部分开发风险如何。④系统开发所需资源是否具备。⑤成本和进度计划是否合理等。管理复审最后应做出是否继续开发项目的决策。库工程、人机工程等且行进行开发工作。的过程。对其进行检查和调整,且在此基础上展开需求分析。至维护的主要基础。开发和维护成本。术、多视点分析方法等;可通过问题分析、需求描述和需求评审三个步骤来完成。•软件系统分析人员在这壹步骤中的任务是根据对问题及其环境的理解和软件开全化。且制定软件产品验收测试计划。的描述。想。•需求评审的主要任务是分析人员在用户(客户)和软件设计人员的配合下对需求规格说明和初步用户手册进行审核,检验软件需求的精确性、完全性和壹致性,且使用户(客户)和软件设计人员对规格说明和用户手册达成壹致的理解。错误,则必须进行迭代,直至通过评审为止。技术,主要包括:初步需求获取技术;术;访谈和会议;察用户工作流程;分析人员和用户组成联合小组。答或互相商讨来逐步理解用户的需求。需求。发方和用户方共同组成的联合小组。术立目标软件系统模型的方法来刻画软件系统中的信息、处理功能和外部行为。①在分析的初期,分析人员通过访谈、会议、实际观察、分析现有系统等方法获取初步的用户需求。②分析人员根据选定的壹种分析方法,在初步用户需求的基础上构筑初步的模型作为开发方和用户相互沟通的表示机制。③分析人员在用户的密切配合下,利用选定的分析方法不断地对模型进行精细化、壹致化、完全化,直至获得满意的用户需求为止。件设计人员为提高软件质量和效率而选择实现方法的自由度。现的基础。的软件开发方法,需要经过漫长的开发时间之后用户才能见到目标软发失败。为了降低开发风险,在需求分析阶段常常采用快速原型技术。件开发的早期,快速开发壹个目标软件系统的原型,让用户对其进行评价且提立的外部特征去实现软件产品。①采用壹种分析方法生成壹个软件系统或其中所关心部分的简化需求规格说明。,立即生成设计规格说明。为了快速生成原型,这个复杂的算法等等,不注重过程内部的控制流设计。③使用可重用软部件、用户界面自动生成器等工具快速生成可运行的软件原型且通过测试。④将原型提交给用户进行评价,以便征求改进意见。⑤上述过程反复迭代,直至用户完全满意。此时的原型已完全、准确地反映了目标计壹些复杂的算法等场合,目前的绝大多数软件都适合于快速原型技术。原型技术进行部分分析。技术。即将壹个大型复杂的问题分解为若干个子果。这种分解能够逐级进行,直至子问题的规模降到合适的程度。多的特殊问题中抽象出壹般的问题,首先关注壹用户的描述所处的抽象级别的不同,以便建立清晰的思路。这是壹个重要的里程碑。内容1)它是软件设计人员进行设计和编码的出发点和基础;3)它起到软件开发方和客户(或用户)方之间的壹份合同的作用。•功能和行为需求
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省主要粮油作物重大病虫害防治常用药剂、施药情况记录表
- 高效备考:CPSM2024试题及答案
- 提升CPMM应试能力的试题及答案
- 供应链管理师应对竞争策略试题及答案
- 供应链管理师人际沟通能力试题及答案
- 2024年SCMP考试预测及试题答案
- 采购管理师市场分析试题及答案
- 保健急救知识培训课件
- 2024年注册安全工程师笔试实战试题及答案
- SCMP考试变化与试题答案应对
- 员工聘用合同聘用合同
- 八年级上册语文全品作业本电子版
- CATIA-零件实体设计模块Part-Desi课件
- 中考地理易错题
- 职称专家推荐意见表
- 文学作品与名著勾连阅读专题复习-中考语文二轮专题
- 认证咨询机构设立审批须知
- 部编版道德与法治六年级下册第三单元《多样文明 多彩生活》大单元作业设计
- 设备安装施工方案与调试方案
- GB/T 34938-2017平面型电磁屏蔽材料通用技术要求
- GB/T 31989-2015高压电力用户用电安全
评论
0/150
提交评论