软件工程 第一章:软件工程概述

软件工程系列笔记说明

博主回顾了本学期学的《软件工程》,配合老师教学内容和自己的理解,对相关知识点进行了梳理,发布了一系列的文章,方便大家学习。如有错误之处,还望大家多多指教 ?

第一章:软件工程概述

什么是软件
  1. 软件是一系列按照特定顺序组织的计算机数据和指令的集合。
  2. 一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中介软件。
    • 其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。
    • 而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
  3. 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序(Program) ,数据(Data)及其相关文档( Document)的完整集合。
软件危机的原因(1968)

一、与软件本身的特点有关
二、与软件开发人员有关
(1)软件生产水平相当程度上取决于软件人员的教育、训练和经验的积累;

(2)大型软件需要许多人合作开发,容易出现理解的差异和错误;

(3)计算机技术和应用发展迅速,知识更新周期加快,软件开发人员变动大。

  • 软件的特征
  1. 复杂:逻辑复杂,开发复杂
  2. 成本高
  3. 风险大
  4. 维护困难
  • 模拟软件的三个世界
    在这里插入图片描述
什么是软件工程
  • 定义:
    软件工程主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本 、改进软件产品质量、提高软件生产率水平的目标。

总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。

  • 目标:
    软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。

  • 组成:
    软件工程方法学包含3个要素:方法、工具和过程。
    方法: 是指产生某些结果的形式化过程。
    工具: 是用更好的方式完成某件事情的设备或自动化系统,如各种集成开发环境、编译工具、测试工具等。
    过程: 生产特定产品的工具和技术的结合

软件开发方法

1)结构化方法
该方法是一种面向数据流的开发方法,其实质就是功能分解和抽象。

  1. 面向数据结构的软件开发方法
    它从目标系统的输入、输出数据结构图入手,导出程序结构,并在此基础上进行详细设计和编程。

3)面向对象软件开发方法

什么是好软件
  • 三种方式考虑质量:
    产品的质量
    过程的质量
    商业环境背景下产品的质量

  • McCall 的质量模型
    在这里插入图片描述

小结
  • 软件 =程序+数据+文档
  • 软件危机: 原因,现象,办法 (软件工程学)
  • 软件工程(学):开发、运行和维护软件的系统方法
  • 软件工程3个要素:方法、工具和过程。
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值