软工视频总结(一)


先上一张图,软件工程第一章的导图


8种开发模型:

  1、边做边改模型



运作方式 :

       1>在这个模型中,开发人员首先根据项目编写程序,调试生成第一版;

       2>然后提供给用户使用,用户提出新的要求,开发人员重新修改代码,直到用户满意。


优点:

       这种方法类似于作坊式的开发,适合于小程序开发。


缺点:

      1>缺少规划和设计环节;

      2>忽略需求环节,给软件带来很大风险;

      3>忽略测试和软件的可维护性,也没有任何文档,软件维护困难。


  2、瀑布模型



特点:

      1>阶段间具有顺序行和依赖性,前一阶段完成才能开始后一阶段,

      2>每一阶段都有文档,可以在一定程度保证质量


缺点:

     1>各阶段划分固定,阶段间产生大量文档,极大的增加了工作量

     2>用户只有在整个项目完成才能见到产品,增大了风险。

     3>早期的错误可能要等到后期测试才能发现,可能带来严重后果。


  3、快速原型模型



运用方式:

      1>建造一个快速原型,用户评价,进一步细化开发需求

      2>第二步是在第一步的基础上开发用户满意的软件产品


优点:  

     克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。


缺点:  

     所选用的开发技术和工具不一定符合主流的发展;快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。


原型类型:

     探索型原型:目的是要型清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,

     实验型原型:主要用于设计阶段,考核;实现方案是否合适,能否实陋

     演化型原型:主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框架,或者包含系统的主要功能,在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统

  4、增量模型



步骤:

      1>第一个增量往往是实现基本需求的核心产品

      2>第二个增量发布更加完善的编辑和文档生成功能

      3>第三个增量实现拼写和文法检查功能

      4>第四个增量完成高级的页面布局功能


优点:

      1>短时间内向用户提供可完成部分工作的产品

      2>逐步增加产品功能可以使用户有时间了解和适应新产品

      3>开放结构的软件拥有的维护性明显好于封闭结构的软件


缺陷:

      1>容易退化为边做边改模型,从而使软件过程的控制失去整体性 

      2>如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析


  5、螺旋模型




四象限锁代表的活动:

      1>制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件

      2>风险分析:分析评估苏所选方案,考虑如何识别和消除风险

      3>实施工程:实施软件开发和验证

      4>客户评估:评价开发工作,提出修正建议,指定下一步计划


优点:

     将瀑布模型和快速还原模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的软件


缺点:

     1>强调风险分析,要求客户接受和相信这种风险,这是很难的,因此,适合于内部的大规模开发

     2>执行风险分析大大影响利润,只适合大规模软件项目开发


  6、喷泉模型



优点:

      1>喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动.该模型的各个阶段没有明显的界限,开发人员可以同步进行开发.其优点是可以

      2>提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程.

缺点:

      由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理.此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况.


  7、智能模型



       智能模型拥有一组工具(如数据查询,报表生成,数据处理,屏幕定义,代码生成等)每个工具都能使开发人员在高层次上定义软件某些特性,并把开发人员定义的这些软件自动生成源代码。但这种方法需要第四代语言(4GL)支持。


  8、混合模型

       把几种不同模型组合成一种混合模型,它允许项目沿着最有效的路径发展,一些软件开发单位都是使用几种不同的开发方法组成他们自己的开发模型。


四种开发方法

  1、面向过程的方法

特点:程序的执行过程,不由用户控制,完全由程序员控制,并且按照时序进行
优点:简单实用
缺点:企图用有穷的方法(枚举法)来描述无穷的(随机的)信息世界,所以不能完全描述信息世界;维护困难

  2、面向对象的方法

特点:程序的执行过程,不由程序员控制,完全由用户控制
           分析设计时面向类,编程时面向对象
优点:有无穷的方法来描述无穷的信息世界,所以能完全描述信息世界;易于维护
缺点:较难掌握

  面向过程与面向对象举例比较



  3、面向数据的方法

特点:程序的执行过程,有时由程序员控制,优势由用户控制
优点:适合数据层设计与实现
缺点:实现窗口界面较困难
适合的场合:以关系数据库管理系统为支撑环境的信息系统建设

  4、形式化方法

形式化方法是建立在严格数学的基础上,以逻辑推理为出发点,并且具有精确数学语义的开发方法。
优点:准确,严谨
缺点:目前只能解决小规模问题
           对开发人员和开发环境要求很高
适合的场合:对安全性要求极高,不容许出错的软件系统,如军事,医药,交通等领域。

小结

     视频很容易犯困,但是每一讲或每一章视频的信息量又很大,如果看视频时自己不专注视频或者说犯困了,而最后又不返回去看,那么很可能错过很大的一个知识点,所以需要自己来调节自己,找到适合自己的方法,争取不错过每一个知识点。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子松的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值