zoukankan      html  css  js  c++  java
  • 《软件工程 ——理论、方法与实践》知识概括开篇第一章

    第一章 概述

      软件是人类思维创造的杰作,并成为人类现代生活的催化剂。在计算机诞生的初期,软件仅仅是计算机硬件的附属品。而今,软件以各种形式深入各行各业。

      软件工程是为了解决开发成本效益和软件质量的问题而产生的。本章从软件、软件工程、软件工程知识体系和软件工程职业道德规范来对然间工程进行介绍。

    一、软件

      《IEEE Standard Glossary of Software Engineering Terminology》给出了有关软件的如下定义:软件是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。其中:1、计算机程序是计算机设备可以接受的一系列指令和说明,为计算机执行提供所需的功能和性能;2数据是事实、概念或指令的结构化表示,能够被计算机设备接受、理解或处理;3、文档是描述程序研制过程、方法及使用的图文材料。

      一般将软件分为通用软件定制软件两种类型。

      软件的特性:1、软件是复杂的;2、软件是不可见的;3,、软件是不断变化的;4、大多数软件仍然是定制的,而不是通过已有构件组装而成的。

      软件的发展氛围以下四个阶段:

      1. 第一阶段:20世纪50—60年代;

      2. 第二阶段:20世纪70年代;

      3. 第三阶段:20世纪80年代;

      4. 第四阶段:20世纪90年代至今。

      软件危机:是指在计算机软件的开发和维护过程中遇到的一系列严重问题。 软件危机于20世纪60年代末全面爆发,至今依然未消除。

      造成软件危机有以下四个原因:

      1. 软件开发的成本和进度难以准确估计,延迟支付甚至取消项目的现象屡见不鲜;

      2. 软件存在着错误多、性能差、不可靠、不安全等质量问题;

      3. 软件成本在计算机系统的整个成本中所占比例愈来愈大;

      4. 软件维护极其困难,而且很难适应不断变化的用户需求和使用环境。

    二、软件工程

      1968年10月,NATO科学委员会在德国的加尔米斯(Garmish,Germany)开会讨论软件可靠性与软件危机的问题,Fritz Bauer首次提出了“软件工程”的概念。

      软件工程包括两方面内容:软件工程是工程概念在软件领域里的一个特定应用;软件工程设计软件产品的所有环节。

      软件工程已关注软件质量为目标,有过程、方法工具三个要素组成。

      软件质量是软件产品与明确的和隐含的需求相一致的程度,它通常由一系列的质量特性来描述。

      传统的软件开发方法主要是以功能分析和数据分析为基础的结构化方法。结构化开发方式在软件系统的日益复杂中,暴露出严重不足。面向对象方法从现实世界中客观存在的事实(即对象)出发,尽可能地运用人类的自然思维方式来构造软件系统。当前,面向对象方法已成为软件工程学中的主流方法。

      计算机辅助软件工程(Computer Aided Software Engineering,CASE)是一组工具和方法的集合,用于辅助软件开发、维护、管理过程中的各项活动,促进软件过程的工程化和自动化,实现高效率和高质量的软件开发。CASE工具可以分为工具、工作台环境3个层次

      当前面临的主要挑战:

      1. 遗留系统的问题;

      2. 高可信软件开发的需求;

      3. 软件开发方式的变化。

    三、软件工程知识体系

       IEEE计算机学会和ACM联合组织专家成立了软件工程协调委员会SWECC(Software Engineering Coordination Committee),1998年,有SWECC发起研究和制动软件工程知识体系SWEBOK(Software Engineering Body of Knowledge)的项目。整个项目分为草人(Strawman)、石人(Stoneman)铁人(Ironman)三个阶段。

      SWEBOK中,软件工程知识体系被划分为10个知识域,即软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量

      软件工程是一门交叉性的工程学科,它将计算机科学、数学、工程学和管理学等基本原理应用于软件开发的工程实践中,并借鉴传统工程的原则和方法,以系统 的、可控的、有效的方式生产高质量的软件。它与传统工程存在着明显的区别,它要强调抽象、建模、信息组织和表示以及变更管理,另外还包括软件开发过程的质量控制活动,而且持续的演变(即“维护“)也尤为重要。

    四、软件工程职业道德规范

    IEEE计算机学会和ACM联合制定了《软件工程职业道德和职业行为准则》,包括8项原则:

      1. 公众:软件工程人员应始终与公众利益保持一致;

      2. 客户和雇主:在与公共利益保持一致的原则下,软件工程人员应满足客户和雇主的最大利益;

      3. 产品:软件工程人员应当确保他们的产品及其改进符合应可能高的专业标准;

      4. 判断:软件工程人员应当具备公正和独立的职业判断力;

      5. 管理:软件工程管理者和领导者应拥护和倡导合乎道德的有关软件开发和维护的管理方法;

      6. 职业:在与公众利益一致的原则下,软件工程人员应当提高职业的信誉;

      7. 同行:软件工程人员对其同行应持平等和支持的态度;

      8. 自我:软件工程人员应当终身学习专业知识,促进呵护道德的职业实践方法。

    软件工程人员的职业道德建设:

      1. 遵纪守法是软件工程人员应具备的基本素质;

      2. 服务客户、造福社会是软件工程人员必须牢固树立的观念;

      3. 诚实守信是软件工程人员职业道德的核心所在。

  • 相关阅读:
    varnish4 配置文件整理
    简单谈谈数据库DML、DDL和DCL的区别
    使用mysqlbinlog恢复数据
    zabbix自定义监控项
    管理python虚拟环境的工具virtuelenvwrapper
    vim的使用
    python的虚拟环境virtualenv
    编译安装python
    Linux基础(二)
    Linux基础(一)
  • 原文地址:https://www.cnblogs.com/little-clever/p/4264634.html
Copyright © 2011-2022 走看看