【系统分析师之路】第五章 软件工程记忆敲出

系统分析师软件工程记忆敲出

  • 【系统分析师之路】第五章 软件工程记忆敲出
    • 一. 信息系统生命周期
    • 二. 统一开发过程的概念
    • 三. 净室软件工程的概念
    • 四. 逆向工程的概念
    • 五. CBSD基于构件的软件开发模型
    • 六. 瀑布模型,V模型,W模型的概念与区别
    • 七. 螺旋模型的概念
    • 八. 原型模型的概念
    • 九. 测试工程的五种模型
    • 十. 喷泉模型(fountain model)的概念
    • 十一. RAD-快速应用开发-(Rapid Application Development)
    • 十二. 增量模型的概念

一. 信息系统生命周期

信息系统生命周期由四个阶段组成:简称为"花开云散"。
立项规划阶段,开发阶段,运维阶段,消亡阶段。而信息系统开发生命周期包括在了开发阶段。
信息系统开发生命周期又分为五个阶段:总体规划,系统分析,系统设计,系统实施,系统验收。简称为"划分即实验"。
在总体规划阶段的主要输出为:系统设计任务书,它包括了系统建设方案和实施计划。
初步的用户手册,系统测试计划,需求规格说明书等主要是系统分析阶段的产出物。

二. 统一开发过程的概念

它的简称为RUP,Rational Unified Process,它是统一软件开发的过程,一般使用在面向对象或者面向服务的系统开发过程当中。
它有三个基本的特征:以用例驱动,以架构为中心,增量与迭代。
它有四个过程所组成:初始过程,细化过程,构建过程和交付过程。
在初始阶段,我们需要明确项目范围和边界,估算大体的工作量和安排工作进度计划,对项目的风险进行有效的评估,因为是用例驱动的开发,在初始阶段还要选出系统的关键用例
该阶段的主要输出是:项目计划和用例模型
在细化阶段,主要的工作就是分析系统的问题域,基于需求分析的结果,对系统进行架构的设计,对于高风险的元素,进行规避处理
该阶段的主要输出是:项目架构设计资料
在构建阶段,主要的工作就是对系统进行建设,做成项目可交付成果,并对其进行测试
该阶段的主要输出是:UML模型(设计模型),测试用例。这里特别需要留意的是设计模型的做成不在细化阶段而在此阶段
在最后的交付阶段,对可交付成果实施验收与测试,制作相应的用户文档,对用户操作实施培训活动
该阶段的主要输出是:可运行的软件产品,用户手册,用户支持计划。

三. 净室软件工程的概念

净室软件工程是一种基于应用数学与统计学理论的一种软件工程技术,它主要的思想就是通过严格的工程化来达到零缺陷或者接近零缺陷;它要求在软件的规约和设计过程中消除错误,这样就以净的方式推进项目,降低开发风险,并以合理的成本开发出高质量的软件。
净室软件的特征就是太理想化,基于复杂的数据模型所以一般也比较难以实现。
净室软件工程象形式化方法技术一样,净室过程强调在规约和设计上的严格性。
在传统的思维模式中,测试是发现Bug的最主要的方法,其实不然如果在上流工程最好健壮性可靠性设计,加强各个阶段评审的作用,比如CodeReview也可以发现错误,根据Bug分布与实际代码修正行数的关系,也就是采用品质会计的方式,分析并改善品质,这样哪怕不用测试就可以保证质量了。

四. 逆向工程的概念

逆向工程也叫反向工程。在面向对象的开发领域,一般是先UML设计,然后用工具生成代码,这个叫正向工程;相应的,从代码生成UML设计图叫做逆向工程。
软件的逆向工程是一个恢复设计的过程,它的特点是从已有的系统功能中抽取数据结构,体系结构和程序设计信息,进而得到有用设计的过程。在文档缺乏的遗留系统中,采用逆向工程特别的有用处。因为通过逆向工程之后可以得到遗留系统的功能需求,这样就可以获取遗留系统既有的功能需求了。从这个角度来讲,逆向工程的思想和需求跟踪矩阵中的逆向跟踪的思想比较接近。

五. CBSD基于构件的软件开发模型

CBSD的全称为Component-Based Software Development。构件组装模型是在螺旋模型的基础上,得到了相应的改进。它主要可以用于面向对象的开发方法中。构件组件模型最大的特征就是软件的复用,通过复用可以为项目带来的好处有:开发周期的缩短,开发成本的下降;当然构件组装模型中构件库的健壮性直接决定了软件的复用程序和开发成本。
基于构件的开发模型中需要对构件库进行有效的管理,构件库包括了构件获取和构件管理。
标识出候选类,如果已经存在的话,就从库中直接提取出来复用;如果标识出来的候选类不在构件库中,就采用面向对象方法开发;完成了这个开发工作以后,就回到螺旋模型。

六. 瀑布模型,V模型,W模型的概念与区别

结构化开发方法对应V模型和瀑布模型。瀑布模型也是最早出现的开发模型。它最大的缺陷就是需求分析或系统设计阶段隐藏的问题一直到后期验收测试才被发现。
V模型是瀑布模型的一种变种,是从瀑布模型中发展而来的,它在瀑布模型的基础上加强了测试。在V模型中需要提前作测试计划和做测试用例。让测试工作贯穿于始终。
W模型是在V模型的基础上进行的一个变种,V模型强调的是测试贯穿始终,而W模型则强调开发和测试并行同步的实行。
V模型的缺点就是和瀑布模型一样,对于需求变更的响应能力不高,会忽视测试对需求分析,系统设计的验证,一直到后期的验收测试才被发现。

七. 螺旋模型的概念

螺旋模型综合了三个模型的特点:原型模型,迭代模型,瀑布模型。简称:原型迭代的瀑布。除了引入了以上三个模型,还在螺旋模型中加入了风险分析过程。
螺旋模型由四个过程组成:制定计划,风险评估,实施工程,客户评估
对于需求不是十分明确的项目,可以使用螺旋模型,方便需求变更和风险控制。
螺旋模型的特点:以小的分段来构建大型系统,更加适合应用于大型项目开发中。
螺旋模型的缺点就是很难让用户觉得这种演化的方式是可以控制的,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。我的系统分析师备考计划也是按照螺旋模型,分多轮进行,每轮设定一个目标,针对目标实施风险分析,分析完成之后实施,实施完了后再总体进行回顾与评价。唯一美中不足的就是目前还不知道还需要实施多少轮迭代才可以。

八. 原型模型的概念

原型模型适合于需求不够明确的项目。原型可以分为两种类别:抛弃式和演化式。
比如做成几张静态网页,然后和客户确认是不是他们想要的,这就是原型模型。
抛弃式原型法是在静态网页确认完毕后,记录下用户的需求并抛弃静态的图。
演化式原型法是在静态网页确认完毕后,记录下需求,并在原来的静态网页基础之上再增加一些页面,然后再去和客户确认。
在收集需求的工具与技术中。情节串联版就是和原型模型是相互有关系的。

九. 测试工程的五种模型

V模型:瀑布模型的一种变种。
W模型:V模型的一种变种,它强调开发与测试相互独立且并行执行。
X模型:也是V模型的改进版,它强调对专门的代码片段实施编码与测试,它还加入了探索型测试。
H模型:将测试从开发中完全独立出来,形成一个单独独立的流程。软件测试是一个独立的过程,它需要和其他流程并发的执行。测试代码完全独立于开发代码。
前置测试模型:将测试与开发紧密的结合起来整合在一起,它以编码测试编码这种反复迭代的方式推进测试。敏捷开发中的TDD就是前置测试模型的一个应用把。

十. 喷泉模型(fountain model)的概念

是一种以用户需求为动力,以对象为驱动,适用于面向对象开发的一种模型。 它的形状就像喷泉一样因此而得名。
各个阶段没有明显的边界也就是没有间隙,它的特点为自下而上各项活动之间相互的迭代。
喷泉模型不同于瀑布模型,需要一个阶段所有的活动都结束并且评审通过以后才进入下一个阶段,所以瀑布模型更加的灵活,可以比瀑布模型有更高的效率。
喷泉模型的缺点也十分的明显,喷泉模型中各个阶段无明显间隔,还包含有面向对象复用的概念在里面,而且在开发过程中需要大量的开发人员,如何管理好项目进度与成本就变得比较困难了。

十一. RAD-快速应用开发-(Rapid Application Development)

它叫做快速应用开发,顾名思义,它和原型开发类似,对开发的速度:“快速”有特别的要求。
它综合了瀑布模型,基于构件的模型的特点,所以它一般使用专门的可视化开发环境,进行面向对象的开发。
它包括:业务建模,数据建模,过程建模,应用生成和测试与交付这五个过程。业务建模(数据流图),数据建模(数据模型,ER图),过程建模(细化数据流图),应用程序生成,测试与交付(只做总体测试,因为大量的复用)
RAD只能用于信息系统开发,不适合技术风险很高的情况。

十二. 增量模型的概念

强调先做一块找客户确认,再做一块,再做一块。它最大的好处就是风险比瀑布模型小很多,像搭积木一样。每一个增量都是一个可操作的产品。它是原型+瀑布的思想

【系统分析师之路】第五章 软件工程记忆敲出相关推荐

  1. 【系统分析师之路】第七章 系统分析架构篇记忆敲出

    [系统分析师之路]第七章 系统分析架构篇记忆敲出 系统分析师系统设计架构篇记忆敲出 [系统分析师之路]第七章 系统分析架构篇记忆敲出 一. 软件架构的概念 二. 五种软件架构的风格 三. 数据流风格的 ...

  2. 【系统分析师之路】第一章 计算机组成与体系结构

    [系统分析师之路]第一章 计算机组成与体系结构 主要考察的内容有:Flynn分类法,CISC与RISC,流水线技术,存储系统,校验码,并行处理. CISC与RISC 指令系统类型 指令特点 寻址方式 ...

  3. Hbase高手之路 -- 第五章 -- HBase的Java API编程

    Hbase高手之路 – 第五章 – HBase的Java API编程 一. 需求与数据集 某自来水公司,需要存储大量的缴费明细数据,以下截取了缴费明细的一部分内容: 因为缴费明细的数据记录非常庞大,该 ...

  4. 【信息系统项目管理师】项目管理十大知识领域记忆敲出(整体范围进度)

    [信息系统项目管理师]项目管理十大知识领域记忆敲出(整体范围进度) [信息系统项目管理师]项目管理十大知识领域记忆敲出(整体范围进度) [信息系统项目管理师]项目管理十大知识领域记忆敲出(整体范围进度 ...

  5. 【信息系统项目管理师】项目管理十大知识领域记忆敲出(成本质量人力)

    [信息系统项目管理师]项目管理十大知识领域记忆敲出(成本质量人力) 项目管理十大知识领域记忆敲出(成本质量人力) [信息系统项目管理师]项目管理十大知识领域记忆敲出(成本质量人力) 一. 成本管理记忆 ...

  6. 【信息系统项目管理师】复盘立项整体范围进度记忆敲出Part1

    [信息系统项目管理师]复盘立项整体范围进度记忆敲出Part1 复盘立项整体范围进度 [信息系统项目管理师]复盘立项整体范围进度记忆敲出Part1 第三章 立项管理重点 1.项目建议书的概念和内容 2. ...

  7. 第十五章 软件工程新技术

    俺家老大说这一章我不需要仔细看,快快过一遍就行.(可能是觉得以我的能力一时半会也用不到吧(捂脸))那么我就抄一段本章小结吧,后面如有需要我在重新认真学习(奸笑) 本章小结 随着软.硬件的技术.网络的发 ...

  8. 【流放之路-第五章】

    奴隶深坑 来到狱卒之塔去控制区 从控制区来到奥瑞亚广场 打完boss后进boss地图的地方会重新出现个传送门去化作火海的高庭. 来到广场遗迹去藏古堂 拿到道具传出回城,去 传送广场遗迹去 下两幅图 从 ...

  9. Lua语言编程学习之路01----第五章 函数

    函数的定义 function run1()endlocal function run2()end function 和 local function 的区别 1 使用function声明的函数为全局函 ...

最新文章

  1. 还在用Matplotlib? 又一可视化神器Altair登场 | 技术头条
  2. MPB:中大李文均组-​热泉高温细菌分离培养方法
  3. Python使用sklearn构建ElasticNet回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型
  4. 经典HTML5学习资源
  5. 记一次Redis和NetMQ的测试
  6. 神奇的机械动态图,看了一遍又一遍!最后一个真神奇~
  7. 让一个文字在背景图片水平居中的方法
  8. 2013款MacBook Air装Windows7单系统
  9. 更灵活、有个性的卷积——可变形卷积(Deformable Conv)
  10. tcpdf最新版 6.2版
  11. 第4代计算机的cpu,世界最小电脑进化第四代:继续用APU
  12. Cannot modify header information - headers already sent by (output started at 问题
  13. 中国有哪些python比赛_有哪些大学生值得参与的竞赛?
  14. 双绞线的线序568A与568B
  15. javaweb,springboot项目生成路径
  16. 【CV细粒度识别论文总结】The Devil is in the Channels: Mutual-Channel Loss for Fine-Grained Image Classification
  17. linux marvell 网卡驱动,如何在linux下安装MarvellYukon网卡驱动?
  18. 114DNS Public DNS+ 阿里DNS 百度DNS 360 DNS派 Google DNS公共DNS评测体验报告
  19. 如何彻底禁用谷歌Chrome更新
  20. ldquo;未来middot;互联网rdquo;论坛:演讲环节中规中矩,媒体访谈出现ldquo;笑话rdquo;

热门文章

  1. XPS 13 9360 升级SSD, 迁移WIN10系统, 以及Acronis使用和Win10PE系统安装流水
  2. unity3D编辑器扩展
  3. 7月更新 携程酒店价格房价爬取
  4. flexnet许可证服务器_使用rrdtool进行Flexnet许可证监视
  5. 华为4g模块测试软件,华为ME909 4G LTE模块在树莓派+Ubuntu Mate平台的联网演示
  6. vue3引用ElementPlus出错|如何在vue中引用TypeScript
  7. maya如何让控制器跟随模型,不脱节?
  8. 我们需要的1、有想法、有创意2、有实践动手能力我们提供的1、研发场地、研发资金等研发基础条件2、专利挖掘、专利申请、专利布局3、专利产品如果你身边有这样的“能人”,请为我们推荐,我们
  9. 成都信息工程大学 2014-2019 《807》选择判断分析答案
  10. 2017年8月5日 星期六 --出埃及记 Exodus 28:27