1.需求分析团队中最主要的人员:项目经理、系统分析人员、设计人员、用户方业务人员。2.提高软件开发效率的方法:架构设计、软件包(成熟的)、开源软件、CASE工具、面向对象代码重用方法、制定编码规范、代码生成工具、好的软件开发工具、平台。3.软件项目的属性:(1)惟一性。(2)一次性(3)多目标性(4)生命周期属性(5)相互依赖性(6)冲突属性4.软件设计中主要有哪些设计:系统架构设计、子系统设计、业务流程设计、数据库设计(核心)、系统间通信接口设计、批处理设计、用户界面设计、功能模块设计。5.软件项目管理的核心(内容):项目进度、项目质量、项目成果、项目人员。6.软件迭代开发的过程:制定过程、风险分析、实施工程、客户评估。7.软件项目生命周期中的四个重要阶段:立项、设计、开发、收尾。8.软件项目管理角度软件生命周期为:1.软件计划2.软件需求分析3.软件设计4.软件编码5.软件测试6.软件实施7.软件维护9.软件利益相关者:用户、软件拥有者、开发商。【项目发起人、承约商/被委托人、客户/委托人、供应商、贡献者、项目投资方、经理以及项目涉及公共设施的当地居民。】10.系统试运行的目的:(1.检测系统设计和功能是否符合用户要求2.潜在问题和错误的发现)(1)通过对实际业务的模拟操作,检验系统设计和实现的功能是否真正满足用户的实际业务需求。并在实际业务环境下,查找软件编码中潜在的问题和错误。(2)通过操作人员的实际工作体会,对系统的可行性提前进行评价。(3)提前在实际运行环境下检验系统处理业务峰值数据的稳定性和系统的健壮性。(4)为系统正式运行积累宝贵的经验。11.软件成本计算的公式:程序规模的估算值=A+4M+B/6(程序的最小规模A,最大规模B,最可能的规模M)开发工作量=修正系数*(程序长度标/准生产率)修正系数=1+0.1*N12.质量控制措施有哪些:1.实行工程化开发。2.实行阶段性冻结与变更控制。3.加强阶段性验证、确认和评审。4.实行面向用户参与的原型演化。5.软件开发尽量采用面向对象和基于构件的方法。6.实行全面测试。7.引入外部监理与审计。8.实行文档化和规范化。9.重视用户的参与。13.软件开发活动特点(软件开发的特征):阶段性、阶段评审、文档管理。(瀑布模型软件开发的特点)14.软件与软件项目特点:1.以客户为中心的实现理念。2.知识与技术特性。3.面向对象的实现方法。4.软件的多次完善性。15.软件项目的里程碑:项目立项完成期、项目启动完成期、需求分析完成期、系统设计完成期、软件编码完成期、软件测试完成期、系统试运行完成期、项目验收完成期。16.软件设计的内容:系统架构设计、子系统设计、业务流程设计、数据库设计、系统间通信接口设计、批处理设计、用户界面设计、功能模块设计。17.制定规范编码的重要性:(1)符号名的命名规范(2)程序的注释统一书写风格(可读性、可修改性高),结构划一,便于维护,缩短开发周期。18.软件项目管理的基本要素:1.资源。2.需求和目标。3.项目组织.4.项目环境.19.软件沟通的重要性、形式、如何制定沟通计划、什么阶段做什么。通过沟通保证项目信息在项目相关人员内部及时、正确地提取、收集、传播、存储并最终进行处置,对于项目的工程实施具有重要意义。形式:书面的和口头的,内部的和外部的,正式的和非正式的,纵向的和横向的。制定沟通计划:1.建立项目沟通记录。2.应尽早沟通,主动沟通。3.应尽肯能保持沟通渠道的畅通,沟通计划中应明确双方互相认可的渠道。需求:一周一次。开发:每天、每周。20.甘特图的功能、举例说明。主要用于项目进度和项目计划的安排。表明各项任务的计划进度和当前进度,能动态反应软件开发进展情况,主要功能:进度管理、质量管理、成本管理。21.如果软件没有管理将导致什么后果(即软件项目管理的作用)软件项目管理的内涵、重要性。通过对软件开发人员管理,实现对软件开发的进度、质量和成本的控制管理。即在规定的日期内,按照质量要求,在预算内开发一个软件系统。使软件项目能够按照既定的目标,保质、保量、按进度、不超出预算成本且顺利地完成。按需求界定目标、按目标制定计划、按计划组织资源、按计划执行管理、按目标落实和考核阶段性成果、按目标进行评估、分析、总结、改进和完善。22.估算软件项目成本有几个估算方法:标准值估算法、Putnam估算法、COCOMO模型估算法、自上而下估算法、自下而上估算法。23.如何计算软件成本、有哪些成本、类型是什么?24.直接成本、间接成本又哪些?直接成本是与本项目直接相关的成本,归属于这个项目本身。直接成本包括开发成本、管理成本、质量成本等。间接成本是指直接成本之外的成本,例如企业的日常开销、行政管理费用、员工福利、培训、预防性维护费用等。25.甘特图坐标表示的内容。(横:进度和活动时间。竖:工作内容)26.质量管理部门的职责:检查计划、检查规范、检查软件开发标准。27.软件风险类型哪些?范围、质量、进度、费用、人力资源、技术、法律风险、(自然灾害风险不算)28.CV大师的好处是什么?1.提高代码可重用性。2.减轻测试代价、降低成本3.单元模块的结构统一。课后题第一章项目:项目是为完成某一独特的产品或服务所做的一次性努力1.给出项目的定义。项目是一个特定的、待完成的有限任务,是在一定的时间内,利用有限的经费,满足一系列特定目标的多项相关工作的总称.2.列举项目的属性。唯一性、一次性、多目标属性、生命周期属性、相互依赖性、冲突属性。3.给出项目的五个组成要素项目的范围、项目的组织、项目的费用、项目的质量、项目的进度。第二章1.什么是软件?软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序操作和使用的文档。2.软件项目定义是什么?软件项目是指采用计算机编程语言,为实现一个软件系统而展开的活动和过程,其目的是实现各类业务系统的信息化、业务流程的集成化管理与连续性执行。3.软件的生存周期包括哪些阶段,具体的内容是什么?(1)软件计划是在软件任务确立前,在需求调研、可行性研究的基础上,理解和界定工作范畴、资金初步预算、预期达到目标。(2)软件需求分析是通过对客户实际需求进行调查分析,编写需求规格说明书。规格说明书通常包括功能需求、性能需求、环境的要求与限制等内容,该文档作为用户与软件开发人员之间共同的约定。(3)软件设计分为总体设计和详细设计。总体设计决定系统的框架结构,并给出各部分的相互调用关系,相互间传送的数据结构以及各个部分的功能说明。详细设计则要设计出每一部分内容的实现流程和算法。(4)软件编码。是根据具体任务的特点,选择合适的语言与相应的开发环境,按照系统的详细设计内容编写程序代码的工作过程。(5)软件测试。目的是发现和排除程序中存在的错误。测试步骤通常分为单元测试和联合测试,通过测试和排错,获得可运行的软件系统。(6)软件实施是软件系统转向客户使用的活动过程。主要开展的工作包括客户化安装、数据装载、客户化定制、培训等,最终将软件产品交付给用户使用。(7)软件维护是指对已运行的软件继续进行排错、修改、完善和非质变的扩充。一般情况下,将软件需求分析、软件设计、软件编码和软件测试称为软件开发阶段,把软件实施和软件维护称为软件的使用和维护阶段。4.软件项目管理的目的是什么?通过对软件开发人员管理,实现对软件开发的进度、质量和成本的控制管理。即在规定的日期内,按照质量要求,在预算内开发一个软件系统。使软件项目能够按照既定的目标,保质、保量、按进度、不超出预算成本且顺利地完成。5.软件项目管理特点有哪些?概括起来,其特点表现在标准化、规范化、国际化、阶段连续性、并行性、螺旋式循环渐进性、大量复合型人才的参与、自动化管理手段和网络化交流模式、技术性强及协作性强。6.软件项目管理的主要内容是什么?1.按需求界定目标2.按目标制定计划3.按计划组织资源4.按计划执行管理过程5.按目标落实和考核阶段性成果6.按目标进行评估、分析、总结、改进和完善。7.软件项目中有哪些角色,最主要的三个角色是什么?软件项目中角色:项目经理、系统分析员、系统设计人员、程序员、测试员、实施人员、系统管理员。最主要的角色:项目经理、项目成员、客户、监理。第三章1.软件项目生命周期有哪些任务,分为哪些阶段?最重要的哪个阶段,其任务是什么?整个软件开发活动可划分为四个主要的工作阶段:立项、设计、实现及收尾。最重要的阶段是设计。系统设计阶段主要完成系统的总体设计,详细设计,边界设计,信息模型设计,过程设计,功能设计以及软硬件环境的搭建与准备等工作。2.软件项目中,软件系统设计做什么?软件系统实现做什么?软件收尾阶段做什么?软件系统设计包括需求分析和系统设计两方面的工作。需求分析是系统设计(包括概要设计、详细设计等)的前提,也是系统设计内容的重要组成部分。实现阶段的任务包括编码、测试、试运行等多个连续循环往复的软件开发工作,也正是这些工作的不断反复与循环才最终获得客户满意的交付成果,它是设计模型的物理实现,是直接面向用户的真实系统。收尾阶段包括项目验收、系统运行、系统维护、直到软件系统生命周期结束等一系列收尾过程的活动3.软件项目中,项目定义需要做哪些具体的工作?项目定义阶段主要考虑项目的立项问题,具体任务是完成问题定义与项目可行性分析、研究与论证工作,确定是否立项。4.软件项目生命周期中,通常设定哪些里程碑,成果是什么?(1)项目立项完成期:立项建议书、可行性分析报告。(2)项目启动完成期:项目进度计划、质量保证计划。(3)需求分析完成期:需求分析说明说。(4)系统设计完成期:概要设计说明书、详细设计说明书。(5)软件编码完成期:源程序代码、用户使用手册。(6)软件测试完成期:测试计划、测试报告。(7)系统试运行完成期:系统试运行报告。(8)项目验收完成期:验收报告。第四章1.软件项目论证的主要内容是什么?项目论证是指对拟实施项目在技术上的先进性、可行性,经济上的承受力、合理性、赢利性,实施上的可能性、风险性,使用上的可操作性、功效性等进行全面科学的综合分析,为项目决策提供客观依据的一种技术、经济和理论研究的活动。通过对拟实施项目的可行性进行研究与分析,完成项目的论证过程2.软件项目可行性的主要内容是什么?可行性分析研究的内容包括对现有系统的分析、对建议的新系统描述、可选择的系统方案、投资和效益分析、社会因素方面的可行性、时间进度的合理性安排等。可行性分析研究最终目要得出结论:该项目是否值得开展,是否需要开展,如果开展,能够获得哪些效益,带来哪些好处3.软件项目通常有哪些计划?●软件范围计划●项目进度计划●费用使用计划●人力资源计划●项目沟通计划●采购计划●项目里程碑计划●团队管理计划●质量管理计划●配置管理计划4.软件项目的大计划一般用什么图表示,详细计划一般用什么图表示?软件项目的大计划一般用WBS图表示,详细计划一般用甘特图、项目网络图表示。5.软件质量指标有哪些?功能性、可靠性、易使用性、效率、可维护性、可移植性。6.软件质量控制措施有哪些?1.实行工程化开发2.实行阶段性冻结与变更控制3.加强阶段性验证、确认和评审4.实行面向用户参与的原型演化5.软件开发尽量采用面向对象和基于构件的方法6.实行全面测试7.引入外部监理与审计8.实行文档化和规范化9.重视用户的参与7.软件配置管理有哪些角色参加?项目经理、配置控制委员会、配置管理员、开发人员。8.给出软件成本计算中的标准值估算法公式,并解释各个变量含义。估算任务i工作量的最大值Ai、最小值Bi、最可能值Mi,则任务i的规模估算Qi=(Ai十4Mi十Bi)/6。第五章1.通常需求分析分为哪些阶段?第一阶段:“访谈式”。和具体用户方的领导层、业务层人员进行访谈式沟通,主要目的是从宏观上把握用户的具体需求,了解现有的组织架构、业务流程、硬件环境、软件环境、现有系统等具体情况,建立起良好的沟通渠道和方式。第二阶段:“诱导式”。在分析人员已经了解了具体用户方的组织架构、业务流程、硬件环境、软件环境、现有的运行系统等