• 2.软件工程的起源和概念


    2.1 软件工程的起源

    (1)早期计算机程序

    在1946年计算机刚诞生时,人们采用机器码编制程序,根本没有独立的软件的概念。

    机器码指令只是为了驱动计算机硬件工作,就像人们调节电视机、录像机、洗衣机等家用电器的按钮一样。

    1947年,冯诺依曼首先提出用流程图描述计算机的运行过程,才使人们认识到程序设计是完全不同于硬件研制的另一项工作。从此以后,软件的开发和研究才开始独立地进行。

    (2)现在人们认为

    在信息产业中,微电子是基础,计算机和网络是载体,软件是核心

    2.2 软件开发的三个阶段

    (1)个人程序时期(1947年-1950年代末)

    • 这一时期特点是硬件价格非常昂贵,软件完全作为硬件的附属
    • 硬件致力于执行功能单一的程序
    • 应用大多集中在科学计算方面
    • 软件是为了某个具体的应用和特定的硬件而定制
    • 程序设计完全凭程序员的经验和技艺以个人或小组方式进行

    在这个时期,程序员使用的开发语言主要是机器语言和汇编语言,负责从程序的开卡、运行和维护的全过程,这是一种私人化的软件环境。

     

    (2)软件作坊时期(1960年代初-1960年代末)

    随着以计算机为基础的系统应用范围的不断扩大,以及系统数量的不断增长,个体生产方式已经不能适应社会发展的需求,而是需要多人分工合作,共同完成一个程序的编制,需要对项目开发进行管理,即所谓“作坊式生产方式”。

    出现了若干高级程序语言

    (3)软件工程时期(1970年代初至今)

    计算机应用领域的进一步扩大,软件的规模和复杂性也不断增加

    在软件开发领域出现了“软件危机”:

      软件质量差,可靠性难以保证

      成本难以控制,很少有在预算内完成的

      开发进步难以把握,周期长

      可维护性较差,维护人员和费用增加

    2.3 软件工程的定义

    软件工程概念的提出:

      1968年,NATO在联邦德国举行的关于软件开发的会议上,首次提出了软件工程的术语,标志着软件工程作为一门学科的正式出现,至今已有40年的历史。

    其目的是倡导以工程的原理、原则和方法进行软件开发,以解决软件危机。

    计算机百科全书上的软件工程定义:

      应用计算机科学、数学及管理科学等原理,以工程化方法制作软件的工程。它借鉴传统工程的原则、方法,创建软件以达到提高质量,降低成本的目的。

      其中,计算机科学、数学用于构造模型与算法,工程科学用于指定规范、设计范型、评估成本 及确定权衡,管理科学用于计划、资源、质量、成本等管理。

      软件工程是一门指导计算机软件开发和维护的工程学科。软件工程师一门交叉性学科。

    首次NATO会议上的软件工程定义:

      软件工程是用来建立和使用合理的工程原则,以经济地获取可靠的、且在真实机器上可高效工作的软件。

    IEEE中软件工程定义:

      (1)将系统化的、规范的、可量化的方法应用到软件的开发、运行及维护中,即将工程化方法应用于软件;

      (2)在(1)中所述方法的研究。

  • 相关阅读:
    jQuery 原理的模拟代码 0 目录
    非真实渲染技术(NPR)1.卡通渲染
    [翻译]延迟着色(1)
    Bloom原理
    bloom, Fake HDR, True HDR(转)
    [翻译]延迟着色(2)
    STL中map与hash_map容器的选择
    将文本转换成IDirect3DTexture9
    D3D中的AGP内存、系统内存、显存的理解
    如何加强角色渲染的真实感(self shadow + subsurface scattering + rim lighting)
  • 原文地址:https://www.cnblogs.com/jasonwu/p/10735328.html
Copyright © 2020-2023  润新知