软件工程【第2章】- 软件生存周期、过程

1.软件生存周期

  定义:一个软件项目从问题提出直到软件不用为止。

  分为:计划、开发、维护

  软件生存周期的主要活动:

    需求分析:

    软件分析

    软件设计:

    编码:

    软件测试:

    运行维护:

2.软件过程

  定义:围绕软件开发所进行的一系列活动

  过程模型:

    把软件生存周期中软件开发活动的有序流程用一个合理的框架来规范描述

    软件过程模型是一种软件过程的抽象表示法,它从一个特定的角度表现一个开发过程。

  传统的过程模型:

    瀑布模型:(前一阶段的活动没有结束,下一阶段的活动就不能进行)

      特点:

        阶段的顺序性和依赖性

        推迟实现的观点

        质量保证的观点

      问题:

        不适合需求模糊的系统

        开发初始阶段很难彻底

    快速原型模型:

      先建立符合用户需求的原型,然后将原型反复改进,直至建立完全符合要求的新系统。

      特点:

        “逼真”的原型可以使用户迅速作出反馈

        循环回溯和迭代:非线性模型

        使用快速开发工具

      问题:

        舍不得抛弃,影响软件质量

  软件演化模型:

    增量模型:

      增量:

         小而可用的软件

         第一个增量通常是软件的核心

      特点:

         在前面增量的基础上开发后面的增量

         每个增量的开发可用瀑布或快速原型模型

         每个增量开发的顺序性和总体的迭代相结合

    螺旋模型:

    螺旋模型与增量模型的不同点和相同点:      

      螺旋模型是瀑布模型的顺序特征与快速原型法的迭代特征相结合的产物。

       1.两者迭代层级不同:

      增量模型在活动级迭代

      螺旋模型在过程级迭代

       2.两者需求分析的时间不同:

       增量模型常常是先做总体需求分析和设计,然后再编码和测试中逐个增量开发

       螺旋模型在开发周期内采用简化瀑布模型或快速模型

      3.两者提交软件的方式不同:

       增量开发在上次增量的基础上提交新的一部分软件

      螺旋模型每次迭代都是提交一个新的完整的软件版本

      4.两者减少风险的方式不同:

      增量开发通过避免使用未成熟的技术和经常的客户反馈等方法减少风险

      螺旋模型直接增加了风险识别、风险分析、风险控制、计划性较强

    构件集成模型:

      构件:

        在某个领域内具有通用性,可以复用的软件部件

        将可以复用的构件存储起来,形成构件库

      特点:

        面向对象、基于构件库、融合螺旋模型特征、支持软件开发的迭代方法、软件复用

时间: 2024-08-28 23:56:00

软件工程【第2章】- 软件生存周期、过程的相关文章

软件生存周期过程的定义

软件生命周期(Systems Development Life Cycle,SDLC) 软件生命周期又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期,周期内有问题定义.可行性分析.总体描述.系统设计.编码.调试和测试.验收与运行.维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班.逐步推进,每个阶段都要有定义.工作.审查.形成文档以供交流或备查,以提高软件的质量.但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步

软件工程概论第九章--软件实现

软件实现是软件产品由概念到实体的一个关键过程,本章主要讲了程序设计语言.软件编程规范.软件编码案例分析.软件代码审查,详细的讲了软件实现中的相关知识. 程序设计语言主要讲了编程语言的发展演化过程,从计算机问世到现在编程语言的的高级化编程语言已经发展了很久.同时讲到选择一种合适编程语言的重要性. 软件编码规范讲了文件命名与组织和代码的版式,本节是以Java语言为例介绍一些通用的编码规范,文件命名与组织讲了Java语言中源文件的规范并用实例讲述.代码的版式讲到了适当的空行.代码行及行内空格.分行.对

软件工程过程 第2章 软件开发的主要活动

1.需求工程.P13 需求是任何软件开发项目的基础. 好的需求是项目成功开发的必要条件. 需求分析工作可划分为两个阶段:需求开发和需求管理.需求开发就是传统意义上的需求分析. 2.需求开发(需求分析)的目标.P13 与客户和其他涉众在系统的工作内容方面达成并保持一致. 使系统开发人员能够更清楚地了解系统需求,定义系统边界: 为软件实施计划提供基础: 为估算开发系统所需成本和时间提供基础: 定义系统用户的需求和目标. 3.需求开发阶段包括需求获取.需求分析.规格化说明和需求验证4个活动:需求管理包

软件工程基础图式(第四章 系统设计-面向过程的系统设计)

软件工程基础图式(第四章 系统设计-面向过程的系统设计) 1.结构化设计方法 2.在系统结构图中的模块 3.变换型系统结构图 4.事务型系统结构图 5.变换分析 例子1:将下图的DFD/数据流图转换为软件/控制结构图(有误,看模式) 例子2:将下列数据流图转换为控制结构图 变换分析注意事项 ① 在选择模块设计的次序时,必须对一个模块的 全部直接下 属模块都设 计完成之后, 才能转向另 一个模块的 下层模块的 设计. ② 在设计下层模块时,应考虑模块的耦合和内聚问题,以提高初始结构图的质量. ③

《软件工程 ——理论、方法与实践》知识概括第三章 软件项目管理

第3章 软件项目管理   软件项目管理有利于将软件开发人员的个人开发能力转化为企业的开发能力,并使企业的软件开发能力不断提高和成熟. 一.软件项目管理概述 软件项目管理是为了使软件项目能够按照预定的成本.进度.质量顺利完成,而对成本.人员.进度.质量.风险等进行分析和管理的活动. 软件项目的特征:1.软件产品的不可见性:2.项目的高度不确定性:3.软件过程的多变化性:4.软件人员的高流动性. 软件项目管理的“4P”:人员(People).产品(Product).过程(Process)和项目(Pr

《软件工程 ——理论、方法与实践》知识概括第九章 软件实现

第9章 软件实现 软件实现是软件产品由概念到实体的一个关键过程,它将详细设计的结果翻译成某种程序设计语言编写的并且最终可以运行的程序代码. 一.程序设计语言 程序设计语言一直在不断地演化和演变,其发展经历了从机器语言到高级语言的过程. 二.软件编码规范 一般来说,一个Java源文件有若干节(section)组成,每一节都用空行和相关的注释隔开,文件的长度最好不要超过2000行. Java源程序的一种标准格式,其组成结构如下: (1)用于说明版权和版本信息的文件头注释: (2)Package和im

软件工程读书笔记(9)——第九章 软件实现

第九章 软件实现 软件实现是软件产品由概念到实体的一个关键过程,它将详细设计的结果翻译成用某种程序设计语言编写的并且最终可以运行的程序代码. 一.程序设计语言 程序设计语言一直在不断地演化和演变,其发展经历了从机器语言到高级语言的过程. 二.软件编码的规范 以java为例 1.文件命名与组织 一般来说,一个java源文件由若干节(Section)组成,每一节都用空行和相关的注释隔开,文件的长度最好不要超过2000行. 2.代码的版式 ①适当的空行 ②代码行及行内空格 ③分行.对齐与缩进 ④命名规

软件生存周期模型

软件生存周期模型是描述软件开发过程中各种活动如何执行的模型.软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开 发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理.常见的软件生存周期模型有瀑布模型.演化模型.螺旋模型.喷泉模型等. 1)瀑布模型(waterfall model) 瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开.将软件生

软件工程概论第二章概括

第一章首先在软件工程这个名词上做了详细的解释,第二章就开始对于软件的开发过程作介绍了. 在开始的时候先对于这个开发过程做了一下简略的介绍,从用户和设计者之间的沟通建立框架对软件开发这个过程做介绍. 而后开始详细的介绍各种构建模型的方法:瀑布模型.快速还原模型.增量模型.螺旋模型.形式化开发模型.基于组件的开发模型,其中把微软公司特别拿出来介绍了一下他们开发的过程,毕竟现在来看他们还是比较成功的,确实能从里面学到一些真正的东西,我们进入到社会会用的上. 在开发软件的过程中同样还会有一些东西伴随着软