软件工程之开发模型介绍

         在机房收费系统验收完成后,我又开始了新的一轮学习——软件工程。

 对于“软件”这个词相信很多人都耳熟能详的吧!因为现在我们的日常生活都离不开计算机。而软件就是与计算机硬件相互依存的那部分, 包括程序、数据和文档等,它具有无形性,必须通过计算机来运行的。

       软件的发展分为三个阶段:程序设计、程序系统、软件工程 三个时代。

软件的具有的特性:1、抽象性  2、依赖性(受硬件限制)    3 、结构复杂性      

4生产方式与硬件不同,主要是研制开发 5、成本昂贵   6、没有机械磨损  7、产权性。

软件的划分方式:一、功能划分:1、系统软件   2、支撑软件       3、应用软件     

                             二、规模划分:微 、小、中、大、甚大、极大
                              三、工作方式:1、  实时处理    2、分时软件   3、交互式   4、批处理
                              四、服务对象:   1、项目软件    2、产品软件
                              五、使用频度:1、一次使用    2、频繁使用
                              六、失效的印象: 1.高可靠性   2.一般可靠性

软件危机:是软件在开发过程中遇到的问题找不到解决的方法,表现在经费预算经常突破,完成时间的拖延,可靠性差,维护性差等方面。其产生的原因是软件结构的日益复杂、开发管理困难、费用的增加、开发技术、开发工具和生产方式落后。

在解决软件危机中由众多学者提出了软件工程这一概念,也是我现在所学的。

软件工程:运用科学知识和技术原理来定义、开发和维护软件的这一门学科。它的内容包括指软件开发技术和开发管理。

软件工程过程包括:获取过程、供应过程、开发过程、操作过程、维护过程、管理过程和支持过程。

      软件工程特点:1、易理解性   2、可见性   3、可支持性   4、可接受性   5、可靠性     6、健壮性(承受能力)     7、可维护性   8、运算速度

软件的生存周期是一个软件从提出开发要求开始到报废的为止,囊括了软件从设计到使用和维护的各个阶段的内容。可分7个阶段,可行性分析和项目开发计划、需求分析、概要分析、详细设计、编码、测试和维护。

软件生存周期模型:瀑布、增量、螺旋、喷泉、变换和统一过程模型等。

瀑布模型 每个阶段,相互依赖性强,每个阶段都产生文档,比较严谨。但是与用户见面完,成功率低,一般才25%

特点:时间的顺序性和依赖性,推迟时间的观点,质量保证的观点。

增量模型:每开发一部分,就展示一部分。及早的发现问题

特点:用户能很快看见,及早发现问题,逐步完善,最终让客户获得满意产品。

螺旋模型:它是将瀑布与增量相结合是一种风险驱动模型。在开发时可分几个周期每个周期都可以分成四个步骤:制定计划、风险分析、实施工程、客户评价。

特点:多次原型的反复并增加风险评估的开发。

喷泉模型:以用户需求为东西,以对象作为驱动的模型,适合于面向对象开发。它具有迭代性和无间隙性。

特点:1、规定开发过程有4个阶段,即分析、系统设计、软件设计和实现。2、各阶段相互重叠,反映了软件并行性的特点。3、以分析为基础,资源消耗呈塔型,在分析阶段消耗的资源最多。4、反映软件过程的迭代的自然特性,从高层返回低层无资源消耗。5、强调增量开发,它依据分析一点,设计一点的原则,不要求一个阶段的彻底完成,整个过程是一个迭代的逐步提炼过程。6、是对象驱动的过程,对象是所有活动作用的实体,也是项目管理的基本内容。7、由于活动不同,可分为系统实现和对象实现,这即反映了全系统的开发过程,也反映了对象的开发和重用过程。

变换模型:从软件需求规格说明出发,经过一系列的变换最终得到结果,适合于形式化的开发方式。。

特点:有严格的数学理论和形式化的技术支持,但目前在研究额实验阶段,不能实用。

统一过程模型:是基于统一建模语言的软件开发过程,它是用例驱动和风险驱动的、以构建为中心,采用迭代和增量的软件过程。该过程包括若干循环周期,每个循环周期包括四个阶段:初始、细化、构造、移交,每个阶段包含若干迭代每次迭代又要执行五中工作流:需求捕获、分析、设计、实现和测试。

软件的开发方法:结构化方法、jackson方法、维也纳开发方法(VDM)和面向对象开发方法。

结构化方法:由结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)构成。

SA: 是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统模型从而完成需求分析。

SD:是根据模块独立性准则、软件结构准则,江苏局流图转换为软件的体系结构,用软件结构图建立系统的物理模型,实现概要设计。

SP:是根据结构程序设计原理,将每个模块的功能用相应的的标准控制结构表示出来,从而实现详细设计。

结构化方法的思想:是自定向下,逐步求精。

Jackson方法:这是一种数据结构的开发方法(Jsp)。以数据为驱动,适合于小规模项目。当数据结构与输出数据结构无法对应时,难用该方法。所以在Jsp上又发展JSD方法,它是一个完整的系统开发方法。但JSD对于系统实现结构过于复杂,不利于软件开发者理解与开发,所以限制了人们对它的热情。

系统开发的生命周期包括:三个阶段和两个附加阶段。

其中三个阶段是:分析、设计、实现。

二个附加阶段是:项目计划、系统支持。

软件工程的三要素:方法、工具、过程。

软件工程的基本目标:低成本、达到要求功能、较好性能、易于移植、低维护费用、按时完成工作,交付使用。


评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值