软件工程知识点总结(来自我软件工程课件)一、基本概念软件是计算机系统中与硬件相互依存的部分,它是包括程序、数据及相关文档的完整集合软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题软件工程是研究和应用如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化方法应用到软件上。软件工程与项目管理相关知识项目是一件事情、一项独一无二的任务,也可以理解为是在一定的时间和一定的预算内所要达到的预期目的。项目是指在一定的约束条件下(主要是限定时间、限定资源),具有明确目标的一次性任务。项目是一系列具有特定目标,有明确开始和终止日期,资金有限,消耗资源的活动和任务。配置管理(ConfigurationManagement,CM)是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的产品配置。软件配置项是在软件工程中过程中创建的信息,凡是纳入配置管理范畴的工作成果都是配置项;一个纯软件的CIS通常也称为软件配置。基线是一个软件配置管理的概念,它能够帮助我们在不严重阻碍合理变更的条件下控制变更,IEEE中这样定义基线:已经通过正式审评和批准的规格说明或产品,他可以作为进一步开发的基础,并且只有通过正式的变更控制规程才能修改它项目范围管理是指对项目包括什么与不包括什么进行定义并控制的过程。这个过程用于确保项目组和项目干系人对做为项目结果的项目产品以及生产这些产品所用到的过程有一个共同的理解。工作分解结构是范围定义的一种结构以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。COCOMO模型构造性成本模型,它是在静态、单变量模型的基础上构造出来的。它是一种精确、易于使用的,基于模型的成本估算方法。项目整体管理也叫集成管理,保证项目各个要素相互协调所需要的管理过程,它需要在相互影响的项目目标和方案中作出平衡,以满足或超出项目干系人的需求和愿望计划评审技术就是工程项目当作一种系统,用网络图或者表格或者矩阵来表示各项具体工作的先后顺序和相互关系,以时间为中心,找出从开工到完工所需要时间的最长路线,并围绕关键路线对对系统进行统筹规划,合理安排以及对各项工作的完成进度进行严密的控制,以达到用最少的时间和资源消耗来完成系统预定目标的一种计划与控制方法。软件过程模型就是一种开发策略,这种策略针对软件工程的各个阶段提供了一套范形,使工程的进展达到预期的目的。对一个软件的开发无论其大小,我们都需要选择一个合适的软件过程模型,这种选择基于项目和应用的性质、采用的方法、需要的控制,以及要交付的产品的特点。一个错误模型的选择,将迷失我们的开发方向。软件过程是人们用于开发和维护软件及其相关过程的一系列活动,包括软件工程活动和软件管理活动。团队软件过程是为开发软件产品的开发团队提供指导,TSP的早期实践侧重于帮助开发团队改善其质量和生产率,以使其更好的满足成本及进度的目标。加上PSP帮助高绩效的工程师在一个团队中工作,来开发有质量保证的软件产品,生产安全的软件产品,改进组织中的过程管理。里程碑一般是项目中完成阶段性工作的标志,标志着上一个阶段结束、下一个阶段开始,将一个过程性的任务用一个结论性的标志来描述,明确任务的起止点。一系列的起止点就构成了引导整个项目进展的里程碑。里程碑定义了当前阶段完成的标准和下一新阶段启动的条件和前提。在考虑各种软件开发资源时,人力是最重要的资源。如果把软件开发所需要的资源画成一个金字塔形:在塔的上层是最基本的资源人力,在底部为工具。工具包括硬件资源和软件资源。宿主机、目标机和其他硬件设备属于硬件资源。IPSE工具属于软件资源中的框架工具。软件过程(SoftwareProcess)是指一套关于项目的阶段、状态、方法、技术和开发、维护软件的人员以及相关Artifacts(计划、文档、模型、编码、测试、手册等)组成。软件过程可概括为三类:基本过程类、支持过程类和组织过...