美文网首页
软件工程coursera第二课__软件过程

软件工程coursera第二课__软件过程

作者: Super_邓帅 | 来源:发表于2016-10-02 14:44 被阅读0次


(一)软件生存周期过程(简称 软件过程)

软件生存周期的概念:
通俗地讲,就是从有一个“想开发某个软件”的念想开始,到软件被淘汰。这整个过程,就是软件生存周期的概念。

软件生存周期过程是软件生存周期里的各个活动的统称。不是指某一具体过程。

软件过程,实际上它是讲述一件事,就是 软件开发中到底有哪些的开发逻辑,软件开发逻辑实际上是获取 正确软件的关键。

软件过程,实际上它又 包含了两个方面。
一个是软件开发应该有哪些的活动? ---即要做哪些的映射?
二是如何正确有效地组织这些开发活动,形成求解软件的逻辑?

为了表达软件开发需要做什么活, 引入了三个概念:过程、 活动、任务。

任务是把输入变成输出的操作, 活动是任务的集合,过程是活动的集合。


(二)软件生存周期过程的分类

供应过程、 开发过程、 运行过程和维护过程 那么获取过程指的是


(三)软件生存周期模型(软件开发模型)

软件生存周期模型是为了组织 软件生存周期过程中的这些活动,进而让它们形成满足 应用系统开发需求的这样的一种模式。

一个包含软件产品开发、 运行和维护中有关过程、 活动和任务的框架, 所谓的这个框架是一个什么啊?组织框架。 那么它覆盖了从该系统的需求定义到系统的使用终止。这是一种过程活动和任务的结构组织框架。 那么也就是说用这样的一个框架来组织前面软件生存周期过程中的活动和任务。

软件开发过程只是作为软件过程中的一个什么啊? 一个子过程,对吧?那么软件开发模型 经常在各个教科书里面就是指的软件生存周期模型,也就是说,
为了组织软件生存周期 过程里面的活动任务的一种组织框架, 我们把这些不同的组织框架进行进一步的细化,形成了不同的开发模型。 那么进一步的把它又定义为:软件过程、 活动和任务的结构框架。


(四)常见的软件生存周期模型

瀑布模型(第一个出现的软件生存周期模型)

后面的阶段可以往前面反馈

蕴含一个归纳逻辑:P真Q真,PQ真;上一个阶段正确,这一阶段正确,总的工作就正确

每个阶段都会产生结果,如需求分析阶段产生需求文档,设计阶段产生设计文档,编码阶段产生代码,最后阶段产生最终产品等。而且,每一阶段结束后进行复审,允许获取方和用户的参与



瀑布模型其他优缺点见百度。

增量模型
人们认识到瀑布模型存在的致命弱点(客户必须完整、正确地表达他们的需求,开发人员一开始就把需求理解的很透彻),但是需求不可能一下子就完全确定,所以先确定出一个最核心的需求。先开发出来一版本,紧接着再跟用户交流,再去确定新添加的需求,继续开发第二版本......

用增量模型就必须保证有一部分的需求是确定的

每一个增量开发,内部都相当于一个瀑布模型


演化模型
在一个需求不明确的情况下想要进行一个软件的开发,那么瀑布模型、增量模型都不能用了,就用到演化模型
流程

先根据用户不清楚的需求描述,开发一个版本,听取用户反馈,这个意见直接影响到后面需不需要对需求进行修改

有了用户的反馈,进行迭代开发,再听取用户反馈,直至获得用户的肯定

这个开发的这个结果只是为了获得用户的反馈

所以它的特点就是 针对事先不能完整定义需求的软件进行开发

需要用户更多地参与

喷泉模型

喷泉模型是一个迭代、无缝的一个过程

无缝是指软件开发过程中一些阶段没有严格的界定 比如说面向对象的需求分析和面向对象的设计,两者之间实际上就没有一个严格界定

软件开发活动过程是一个不断迭代、不同阶段之间相互融合的过程

以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是喷泉模型



相关文章

  • 软件工程coursera第二课__软件过程

    (一)软件生存周期过程(简称 软件过程) 软件生存周期的概念:通俗地讲,就是从有一个“想开发某个软件”的念想开始,...

  • 软件过程与项目管理大纲

    软件过程大纲 一、软件过程基础PPT1 1、软件过程与软件工程-PPT1 软件危机 软件工程的诞生与原理 软件过程...

  • 1.软件工程导论

    一.软件工程学概述 1.1软件与软件危机 1.2软件工程 1.3软件生命周期 1.4软件过程 1.4.1 瀑布模型...

  • 软件工程、软件开发与项目管理、软件技术,这3个有什么区别?

    软件工程: 怎么进行软件开发过程管理的学问。 主要是过程相关学问。 项目管理: 一般意义上执行软件工程的过程就叫项...

  • 软件工程课程思维导图

    结构如下 软件工程什么是软件工程方法系统的规范的可量化的过程软件开发运行维护构成的主要要素人项目过程方法工具软件制...

  • 软件工程coursera第一课__软件工程概论

    课程主教材和参考教材 (一)软件的定义、种类 2种比较经典的软件的定义: 第一个定义来自于《计算机科学技术百科全书...

  • 2016 软件工程

    #软件工程本质和意义,过程技术是怎样的技术? ` 为什么需要【软件工程】理论?其与【软件项目管理】是怎样的关系? ...

  • 软件工程导论备考笔记

    第一章 软件与软件工程 软件的概念 :程序、数据和文档的集合 软件工程的三要素 :过程、工具、方法 软件开发方法...

  • 我所知道的项目管理

    软件项目管理的对象是软件工程项目,它所涉及的范围覆盖了整个软件工程过程。而软件项目管理是为了让软件项目尤其是...

  • 软件自动化测试有了测试工程师就等于有了质量?

    何为软件测试? 软件测试是软件工程当中不可或缺的一个过程。在软件工程中,测试者充当“虚拟用户”对软件产品进行检验。...

网友评论

      本文标题:软件工程coursera第二课__软件过程

      本文链接:https://www.haomeiwen.com/subject/srjdyttx.html