美文网首页
软件工程概论-Chapter1_PartI

软件工程概论-Chapter1_PartI

作者: 崇本息末 | 来源:发表于2016-09-12 13:44 被阅读0次

一 什么是「软件」

  • 软件(Software):一组对象或项目组成的一个「配置」,由程序、文档和数据等部分组成。
    • 程序(Program):可被计算机硬件理解并执行的一组指令,提供期望的功能和性能;
    • 数据(Data structure):程序能正常操纵信息的数据结构;
    • 文档(Document):与程序开发、维护和使用有关的图文材料

二 「软件」的四大特征

  • 复杂性
    • 软件要解决的现实问题通常包含复杂的数据、状态、逻辑关系,导致了软件本身的复杂性
    • 软件无法以「制造」的方式被生产,只能采用手工开发方式,这是一种人为、抽象化的智能活动(智力密集型),人类思维的不确定性导致了开发过程的复杂性。
  • 不可见性
    • 尚未完成的软件是不可见的,使得人们在沟通上面临极大的困难。
  • 易变性
    • 软件所应用的人群、法规、硬件设备、应用领域等因素汇集而成,这些因素皆会频繁快速的变化。
  • 一致性
    • 各子系统的接口必须协同一致,而随着时间和环境的演变,要维持这样的一致性通常十分的困难。

三 「软件危机」及其表现

  • 软件危机(Software Crisis):计算机软件的开发和维护过程所遇到的一系列严重问题。

  • 「软件危机的表现」

    • 对软件开发成本和进度的估算很不准确,甚至严重拖期和超出预算;
    • 无法满足用户需求,导致用户很不满意;
    • 质量很不可靠,经常失效;
    • 难以更改、调试和增强;
    • 没有适当的文档;
    • 软件成本比重上升;
    • 软件开发生产率跟不上计算机应用迅速深入的趋势。

客观上:软件产品开发的复杂度和难度随软件规模呈指数级别增长
主观上:软件开发人员缺乏工程性的、系统性的方法论
由于主客观的种种原因,「软件工程」这个概念也随之提出……

四 软件工程

「软件工程」的定义有很多,这里只列出** I.Sommerville**的定义:「软件工程是用来开发、管理和维护软件产品的理论、方法和工具」
   归结起来,「软件工程」是……
范围

  • 软件开发过程(设计、开发、运行、维护)
  • 软件开发中遵循的原则和管理技术
  • 软件开发中所采用的技术和工具

目标

  • 高质量
  • 按时交付
  • 控制成本
  • 满足用户需求

软件开发方法学

使用预先定义好的一组模型表示方法、良好的设计技术与原则、质量保证标准等方面来组织软件开发的过程;

  • 分类
    • 结构化开发方法
    • 面向对象开发方法
传统软件工程方法:结构方法
结构方法
面向对象方法
面向对象方法
软件工具与软件工程环境

工具:自动或半自动的软件支撑环境,辅助软件开发任务的完成,提高开发效率和软件质量、降低开发成本。
  多个工具集成在一起,形成了软件工程开发环境CASE(Computer Aided Software Engineering),全面支持软件开发的全过程。

五 总结

软件不只是程序,还包含文档和数据等部分。随着软件规模的逐渐增大,一系列严重问题也随之被发现。为了开发出更高质量的软件,「软件工程」的概念也随之产生,软件工程提出了一系列软件开发的方法学,其中分为两种:一种是结构化的开发方法,一种是面向对象的开发方法。

相关文章

  • 软件工程概论-Chapter1_PartI

    一 什么是「软件」 软件(Software):一组对象或项目组成的一个「配置」,由程序、文档和数据等部分组成。程序...

  • 软件工程概论

    ? 以下笔记内容摘自 中国大学MOOC 北京大学软件工程课程 ,该笔记仅作为要点记录,详细内容请自行查看原视频课程...

  • 软件工程概论

    软件工程概论 基础知识 软件危机 定义 • 在计算机软件的开发和维护过程中,所遇到的一系列严重问题 • 如何开发软...

  • 软件工程概论

    什么是软件?* 计算机系统中的程序、数据、以及相关文档的总称 软件发展的主要阶段* 1.程序设计阶段:汇编语言和机...

  • 2020-02-19

    完成海洋科学导论第一次思考题,用OneNote记录 看完软件工程MOOC 第一周:软件工程概论,并完成单元测试

  • 软件工程概论复习大纲

    第一章 概述 软件的定义和特性 定义:Software = Instruction(指令/程序) +Data S...

  • 软件工程coursera第一课__软件工程概论

    课程主教材和参考教材 (一)软件的定义、种类 2种比较经典的软件的定义: 第一个定义来自于《计算机科学技术百科全书...

  • 软件系统分析与体系结构设计

    一、软件工程概论 概念 软件危机(软件开发和维护过程中遇到的一系列严重的问题)软件开发成本日益增长软件开发进度难以...

  • 《构建之法》笔记目录

    第1章概论 第2章个人技术和流程 第3章软件工程师的成长 第4章两人合作 第5章团队和流程 第6章敏捷流程 第7章...

  • iOS图形处理概论

    iOS图形处理概论 iOS图形处理概论

网友评论

      本文标题:软件工程概论-Chapter1_PartI

      本文链接:https://www.haomeiwen.com/subject/qwepettx.html