软件工程02_软件过程

开发逻辑是获取正确软件的关键

- 软件开发要做那些映射-活动?

- 应如何正确组织开发活动,形成求解软件的逻辑?

一、 软件生存周期过程

基本过程

支持过程

组织过程

(1) 描述“要干的活”

过程:活动的一个集合

活动:任务的一个集合

任务:把输入转化为输出的操作

(2) 采用框架-软件生存周期过程框架,“要干的活”分为七个过程组。每个过程组中又包括若干个过程。如下图所示:

协议过程组

组织上项目使能过程组

项目过程组

技术过程组

软件实现过程组

软件支持过程组

软件复用过程组

二、软件生存周期过程框架概述

(1)协商过程(Agreement Processes)("驱动角色")

  获取过程    供应过程

(2)组织上的项目使能过程(Organizational Project-enabling Processes)(“保障过程”)

生存周期模型管理过程

  基础设施管理过程

  项目Portfolio管理过程

  人力资源管理过程

  质量管理过程

(3)项目过程(Project Processes)(“管理角色”)

      项目规划过程

      项目评价过程

      决策管理过程

        风险管理过程

    配置管理过程

    信息管理过程

    测量过程

(4)技术过程(Technical Processes)(  “技术角色”)

表达的是项目管理方面的工作,而软件工程项目管理是整个系统工程管理的一部分。

利益悠关方需求定义

系统需求分析过程

系统体系结构设计过程

实现过程

系统集成过程

系统测试过程

软件安装过程

软件接受支持过程

软件运行过程

软件维护过程

软件销毁过程

(5) 软件实现过程(Software Implementation Processes)(“技术角色”):定义了软件实现策略,以便实现指导下属的留个底层过程

软件实现过程

软件需求分析过程

软件体系结构设计过程

软件详细设计过程

软件构造过程

软件集成过程

软件测试过程

(6)软件支持过程(Software Support Processes)(“支持角色”)

支持软件技术过程的有效执行

软件文档管理过程

软件配置管理过程

软件质量保障过程

软件验证过程

软件确认过程

软件评审过程

软件审核过程

软件问题解决过程

(7) 软件复用过程(Software Reuse Processes)(基本能力构建角色):为软件技术过程和支持过程的执行提供必要的能力。

领域工程过程

复用大纲管理过程

复用资产管理过程

三、软件生存周期模型

一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从该系统的需求定义到系统的使用终止。

1、瀑布模型

概念:

(1)项目的开发依次经过:需求、设计、编码和单元测试、集成以及维护-这一基本路径

(2)通过每一阶段,提交以下产品:软件需求规约、设计文档、实际代码、测试用例、最终产品等。

优点:

      (1)在决定系统怎么做之前,存在一个需求阶段,鼓励对系统“做什么”进行规约

(2)在建造构建之前,存在一个设计阶段,鼓励规划系统结构

(3)在每一阶段结束时进行复审,允许获取方和用户的参与。

(4)前一步工作产品可作为下一步被认可的、文档化的基线。

缺点:

    (1)客户必须能够完整、正确和清晰地表达他们的需求;开发人员一开始就必须理解其应用

(2) 在开始的两个或三个阶段中,很难评估真正的进度状态;设计、编码和测试阶段都可能发生延期。

(3)在一个项目的早期阶段,过分地强调了基线和里程碑处的文档,可能要花费更多的时间,用于建立一些用处不大的文档。

(4)当接近项目结束时,出现了大量的集成和测试工作。

(5)直到项目结束时,都不能演示系统的能力。

适用场景:

(1)在开发中,向下、渐进的路径占支配地位。也就是说,需求已经很好的被理解

(2)过程设计人员清楚需求

2、 增量模型

该模型有一个假设,即需求可以分段,成为一系列增量产品,每一增量可以分别地开发。

优点:

具有瀑布模型的所有优点,此外

(1) 第一个可交付版本所需要的成本和时间是很少的;

(2)开发由增量表示的小系统所承担的风险是不大的;

(3)由于很快发布了第一个版本,因此可以减少用户需求的变更;

(4)允许增量投资,在项目开始时,可以仅对一个或两个增量投资

缺点:

(1)如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定;

(2)如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布;

(3)管理发生的成本、进度和配置的复杂性,可能会超出一些组织的能力

适用场景:

(1)在开始开发时,需求很明确,且产品还可被适当地分解为一些独立的、可交付的软件

(2)在开发中,期望尽快提交其中的一些增量产品

3、 演化模型

一种有弹性的过程模式,由一些小的开发步组成,每步历经需求分析、设计、实现和验证,产生软件产品的一个增量。

优点:

(1) 在需求不能予以规约时,可以使用这一演化模型。

(2)用户可以通过运行系统的实践,对需求进行改进

(3) 与瀑布模型相比,需要更多用户、获取方的参与

缺点:

(1)  演化模型的使用需要有力的管理

    (2)演化模型的使用很容易成为不编写需求或设计文档的借口

(3)用户、获取方不易理解演化模型的自然属性,因此当结果不够理想时,可能产生抱怨。

4、 喷泉模型

特征:迭代 无缝

5、螺旋模型

将软件生存周期的活动分为是个可重复的阶段:规划、风险分析、开发和评估


四、软软件项目生存周期过程的规划与控制

1、 概念:软件项目生存周期过程

项目的生存周期:

Recognition  of need -> Acq.Decision&Strategy ->  Specification -> Design -> Implementation -> Acceptance - > Release to field -> Maintenance -> Requirements

软件生存周期:在一个项目的生存周期中,每一个任务都通过一个或多个过程的方式来完成的,所有这些相关过程的组合,称为项目的软件生存周期过程。

软件开发风范:

瀑布(waterfall)风范:以瀑布模型为基础而形成的软件项目生存周期过程。

迭代(iterative)风范:也称为演化风范,以演化模型、增量模型和喷泉模型为基础而形成的软件项目生存周期

过程。

螺旋(spiral)风范:以螺旋模型为基础而形成的软件项目生存周期过程。

转换(transformational)风范:以待开发系统的形式化需求规约为基础,通过一系列转换,将需求规约转化为

它的实现而形成的软件项目生存周期过程;其中,如果需求规约发生变化的话,可以重新应用这些转换,对其实现进行更

新。

第四代(fourth generation)风范:围绕特定语言和工具,描述待开发系统的高层,并自动生存代码的软件项目生存周期过程。

2、 软件项目生存周期过程的规划

软件项目生存周期过程的规划可分为3个主要阶段:

1.软件生存周期模型的选择

目标是选取一个适合该项目特点的软件生存周期模型;

2.精化所选择的软件生存周期模型

目标是确定项目需要的过程、活动和任务,并将他们映射到所选取的软件生存周期模型中,形成软件项目生存周

期过程(即开发逻辑)及相应的文档;

3.软件项目生存周期过程的实现

目标是针对已形成软件项目生存周期过程,配以适当的组织过程资产,使软件项目生存周期

3、 软件项目生存周期过程的监控

1.监查软件生存周期过程的执行情况

(1) 进展与进度

(2) 质量数据

(3) 设计、编码和测试计划复审的记录和动作

(4) 变更要求和测试异常报告

(5) 关键资源的有效使用

(6) 与项目组成员的交谈

2.与规划进行比较,必要时进行调整

措施:

(1)当变更的负面影响可能超过带来的好处时,其措施为:按规划的过程继续执行

(2)如果只因初始培训不充分或组织制度不够严格,导致过程没有按预期实施,其措施为:强化过程

(3)如果过程只需要进行少量调整,就可以修改之,其措施为:调整过程

(4)如果过程中只需要进行少量调整,就可以修改之,其措施为:过程替换

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,028评论 25 707
  • 一、生命周期 一个事物一旦出生,就必然会长大,变异,一旦长大,就面临着衰老,接下来就是消亡了,这个过程就称为一个事...
    ZyBlog阅读 2,660评论 1 11
  • 001.上网也遵循“少即是多”原则。 每天刷圈,微博,QQ,淘宝等耗费我们大量时间和精力,合理安排上网时间是关键。...
    安心6178阅读 204评论 0 1
  • 今天读了S叔的一篇题为《年轻人,你凭什么不加班》的公众号文章,虽然并不完全赞同里面的观点,但有几段话确实挺打人的。...
    食光小姐阅读 893评论 3 46
  • 为了迎接省创建教育均衡县检查团验收,我们踏着余晖,开始一次难忘的夜间下乡历程。六所学校,几十间功能室,还有厕所、食...
    宛如初夏阅读 210评论 0 0