软件工程二三事

概念

    • 软件工程的定义
    • 一、将系统化、规范化、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。

      二、对(1)中所述方法的研究。

    • software crisis、COCOMO 模型
    • 20世纪60年代以前,计算机刚刚投入实际使用,软件设计往往只是为了一个特定的应用而在指定的计算机上设计和编制,采用密切依赖于计算机的机器代码或汇编语言,软件的规模比较小,文档资料通常也不存在,很少使用系统化的开发方法,设计软件往往等同于编制程序,基本上是个人设计、个人使用、个人操作、自给自足的私人化的软件生产方式。

      60年代中期,大容量、高速度计算机的出现,使计算机的应用范围迅速扩大,软件开发急剧增长。高级语言开始出现;操作系统的发展引起了计算机应用方式的变化;大量数据处理导致第一代数据库管理系统的诞生。软件系统的规模越来越大,复杂程度越来越高,软件可靠性问题也越来越突出。原来的个人设计、个人使用的方式不再能满足要求,迫切需要改变软件生产方式,提高软件生产率,软件危机开始爆发 。

      为了解决软件危机问题,在1968、1969年连续召开两次著名的NATO会议,并同时提出软件工程的概念。 软件工程的学科是为了解决软件质量差,使项目超出时间和控制预算,并确保软件系统,严格,可测量,按时,按预算和规范建立。工程已经解决了所有这些问题,因此在工程中使用的相同原理可以应用于软件。软件工程正是为克服软件危机而提出的一种概念,并在实践中不断地探索它的原理,技术和方法。在此过程中,人们研究和借鉴了工程学的某些原理和方法,并形成了一门新的学科——软件工程学。

      随着软件工程的发展, Boehm在1981年出版的《软件工程经济学》提出COCOMO(constructive cost model)作为软件项目的工作量,成本和时间表的估计模型。COCOMO由三个越来越详细和准确的形式组成。第一级,基本COCOMO适用于软件成本的快速,早期,粗略的数量级估计,但其准确性有限,因为它缺乏解释项目属性(成本驱动因素)差异的因素。中级COCOMO考虑这些成本驱动因素,详细COCOMO还考虑了各个项目阶段的影响。

    • 软件生命周期
    • 在软件工程中,软件开发方法(也称为系统开发方法,软件开发生命周期,软件开发过程,软件过程)是将软件开发工作分为包含活动的不同阶段(或阶段),目的是更好地规划和管理。它通常被认为是系统开发生命周期的一个子集。该方法可以包括由项目团队创建和完成以开发或维护应用程序的特定可交付成果和工件的预定义。常见的方法包括瀑布,原型,迭代和增量开发,螺旋开发,快速应用程序开发,极端编程和各种类型的敏捷方法。

    • 系统设计与分析这门课程关注哪些知识领域?
    • 本课程着重介绍OOAD,致力于培养有客户席位的软件工程设计师。因此关注的KA有软件设计、软件构造、软件工程管理、软件工程过程、软件工程模型和方法、软件工程专业实践。

    • CMMI的五个级别
      1. Level 1 - Initial:无序,自发生产模式。
      2. Level 2 - Managed:管理制度化,借鉴成功经验。
      3. Level 3 - Defined:开发过程标准化、文档化。
      4. Level 4 - Quantitatively Managed:分析软件过程和产品质量的详细度量数据,定量预测性能。
      5. Level 5 - Optimizing:采用新技术、新方法改进过程。

    • SWEBok
    • SWEBOK(Software Engineering Body of Knowledge)是一份国际标准,明确了软件工程的核心知识。该标准由相关领导小组与专业机构和业界重要成员合作出品,最新的第三版发布于2013年。


      在第三版中,SWEBOK规定的软件工程的15个关键领域有:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程模型和方法、软件质量、软件工程专业实践、软件工程经济、计算基础、数学基础、工程基础。


PSP


  • 一个软件工程师在接到一个任务之后应该这样做:


    这里写图片描述

    一个软件工程师所需的职业技能包括: 自我管理的能力; 表达和交流的能力; 与人合作的能力; 把任务按质按量完成的执行力。


    通过计算代码行数或功能点来衡量项目的大小,整个团队所花费的总时间可以用人数*时间来表示,代码的质量通过交付的代码缺陷的数量来除以项目的大小(每千行代码),或者用代码从开始写到最后发布, 一共修改的次数另一组代码, 是否按时交付应根据一段时间内的交付情况的方差来表示。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值