网站域名被抢注做商标,深圳网站建设手机网站建设,ueeshop和wordpress,古尔邦节网站建设软件工程概述
软件开发生命周期
软件定义时期#xff1a;包括可行性研究和详细需求分析过程#xff0c;任务是确定软件开发工程必须完成的总目标#xff0c;具体可分成问题定义、可行性研究、需求分析等。软件开发时期#xff1a;就是软件的设计与实现#xff0c;可分成…软件工程概述
软件开发生命周期
软件定义时期包括可行性研究和详细需求分析过程任务是确定软件开发工程必须完成的总目标具体可分成问题定义、可行性研究、需求分析等。软件开发时期就是软件的设计与实现可分成概要设计、详细设计、编码、测试等。软件运行和维护就是把软件产品移交给用户使用。
软件系统文档
软件系统的文档可以分为用户文档和系统文档两类
用户文档主要描述系统功能和使用方法并不关系这些功能是怎样实现的系统文档描述系统设计、实现和测试等各方面的内容。
软件工程过程
P(Plan)——软件规格说明。规定软件的功能及其运行时的限制。D(Do)——软件开发。开发出满足规格说明的软件。C(Check)——软件确认。确认开发的软件能够满足用户的需求。A(Action)——软件演进。软件在运行过程中不断改进以满足客户新的需求。
软件系统工具
软件系统工具通常可以按软件过程活动将软件工具分为
软件开发工具需求分析工具、设计工具、编码与排错工具、测试工具等。软件维护工具版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。软件管理和软件支持工具项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择。软件设计四个活动数据设计、架构体系结构设计、人机界面接口设计和过程设计。
能力成熟度模型
能力成熟度模型CMM
能力等级特点关键过程区域初始级 (Initia l)软件过程的特点是杂乱无章有时甚至很混乱几乎没有明确定义的步骤项目的成功完全依赖个人的努力和英雄式核心人物的作用。可重复级 (Re peatable)建立了基本的项目管理过程和实践来跟踪项目费用、进度和功能特性有必要的过程准则来重复以前在同类项目中的成功。软件配置管理、软件质量保证、软件子合同管理、软件项目跟踪与监督、软件项目策划、软件需求管理已定义级(De fined)管理和工程两方面的软件过程已经文档化、标准化并综合成整个软件开发组织的标准软件过程。所有项目都采用根据实际情况修改后得到的标准软件过程来发和维护软件。同行评审、组间协调、软件产品工程、集成软件管理、培训大纲、组织过程定义、组织过程集点已管理级(M anaged)制定了软件过程和产品质量的详细度量标准。对软件过程和产品质量有定量的理解和控制。软件质量管理和定量过程管理优化级(Opti mized)加强了定量分析通过来自过程质量反馈和来自新观念、新技术的反馈使过程能不断持续地改进。
能力成熟度模型CMMI
CMMI是若干过程模型的综合和改进不仅仅软件而是支持多个工程学科和领域的、系统的、一致的过程改进框架能适应现代工程的特点和需要能提高过程的质量和工作效率。
能力等级特点关键过程区域初始级过程不可预测且缺乏控制已管理级过程为项目服务需求管理、项目计划、配置管理、项目监督与控制、供应商合同管理、度量和分析、过程和产品质量保证已定义级过程为组织服务需求开发、技术解决方案、产品集成、验证、确认组织级过程焦点、组织级过程定义、组织级培训、集成项目管理、风险管理、集成化的团队、决策分析和解决方案、组织级集成环境定量管理过程已度量和控制组织过程性能、定量项目管理优化级集中于过程改进和优化组织级改革与实施、因果分析和解决方案 软件开发模型
瀑布模型 瀑布模型是一个经典的软件生命周期模型一般将软件开发分为可行性分析计划、需求分析、软件设计概要设计、详细设计、编码含单元测试、测试、运行维护等几个阶段。 特点
从上一项开发活动接受该项活动的工作对象作为输入。利用这一输入实施该项活动应完成的工作内容。给出该项活动的工作成果作为输出传给下一项开发活动。对该项活动的实施工作成果进行评审。若其工作成果得到确认则继续进行下一项开发活动否则返回前一项甚至更前项的活动。尽量减少多个阶段间的反复。以相对来说较小的费用来开发软件。
螺旋模型 螺旋模型是一个演化软件过程模型将原型实现的迭代特征与线性顺序瀑布模型中控制的和系统化的方面结合起来。在螺旋模型中软件开发是一系列的增量发布。
特点
开发过程具有周期性重复的螺旋线状。四个象限分别标志每个周期所划分的四阶段制订计划、风险分析、实施工程和客户评估。螺旋模型强调了风险分析特别适用于庞大而复杂的、高风险的系统。
V模型 V模型从整体上看起来就是一个V字型的结构由左右两边组成。左边的下画线分别代表了需求分析、概要设计、详细设计、编码。右边的上画线代表了单元测试、集成测试、系统测试与验收测试。
特点
单元测试的主要目的是针对编码过程中可能存在的各种错误集成测试的主要目的是针对详细设计中可能存在的问题系统测试主要针对概要设计检查系统作为一个整体是否有效地得到运行验收测试通常由业务专家或者用户进行以确认产品能真正符合用户业务上的需要。V模型用于需求明确和需求变更不频繁的情形。
原型模型 原型化模型第一步就是创建一个快速原型能够满足项目干系人与未来的用户可以与原型进行交互再通过与相关干系人进行充分的讨论和分析最终弄清楚当前系统的需求进行了充分的了解之后在原型的基础上开发出用户满意的产品。
特点
原型法认为在很难一下子全面准确地提出用户需求的情况下原型应当具备的特点如下
实际可行具有最终系统的基本特征构造方便、快速造价低。原型法的特点在于原型法对用户的需求是动态响应、逐步纳入的。
增量模型 首先开发核心模块功能而后与用户确认之后再开发次核心模块的功能即每次开发一部分功能并与用户需求确认最终完成项目开发优先级最高的服务最先交付。 特点
但由于并不是从系统整体角度规划各个模块因此不利于模块划分。难点在于如何将客户需求划分为多个增量。与原型不同的是增量模型的每一次增量版本都可作为独立可操作的作品而原型的构造一般是为了演示。
其他模型
喷泉模型
是一种以用户需求为动力以对象作为驱动的模型适合于面向对象的开发方法。使开发过程具有迭代性和无间隙性。
基于构件的模型CBSD
利用预先包装的构件来构造应用系统。构件可以是组织内部开发的构件也可以是商品化成品软件构件。特点是增强了复用性在系统开发过程中会构建一个构件库供其他系统复用因此可以提高可靠性节省时间和成本。
形式化方法模型
建立在严格数学基础上的一种软件开发方法主要活动是生成计算机软件形式化的数学规格说明。