软件的特征

  1. 抽象: 不可触摸,逻辑实体,可记录,但看不到
  2. 复制成本低:不受物质材料的限制,不受物理定律或加工过程的制约,与开发成本相比,复制成本很低无折旧、受硬件制约、未完全摆脱手工工艺开发费用高
    • 软件是开发出来的,不是制造出来的
    • 软件可能被“废弃”,但不会“用坏”
    • 软件大部分是定制的,而不是装配的

软件复杂度

  1. 计数复杂度
  2. 管理复杂度

IEEE对软件的定义

软件是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。

  1. 计算机程序是计算机设备可以接受的一系列指令和说明,为计算机执行提供所需的功能和性能。
  2. 数据是事实、概念或指令的结构化表示,能够被计算机设备接收、理解或处理。
  3. 文档是描述程序研制过程、方法及使用的图文材料

IEEE 对软件工程的定义

软件工程是:

  1. 将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。
  2. 对(1)中所述方法的研究。

什么是软件工程

  • 软件工程是一项建模活动
  • 软件工程是一项解决问题活动
  • 软件工程是一项受事物基本原理指导的活动、

什么是建模

  • 对系统抽象的表示,可以了解未知的系统和领域。

为什么需要建模

  • 系统太大、太小、太复杂或体验代价太高时,需要模型。

应用域模型

从用户角度去描述的系统

解答域模型

从开发者的角度去描述的系统,评估具体实现时不同的方案

面向对象的方法将应用域建模和解答域建模合二为一,
面向对象方法的思想:解答域模型就是从应用域模型转化过来的。
采用UML对应用域及解答域建模,然后将其转化为具体实现

软件工程概念

功能性需求

系统必须支持功能的规格说明

非功能性需求

是对系统运行的一些约束,指导着系统如何去实现

软件工程开发活动

  1. 需求获取
  2. 分析
  3. 系统设计
  4. 对象设计
  5. 实现
  6. 测试

需求获取

客户和开发者定义系统目标,其结果是使用参与者和用 例来描述系统,包括功能性需求和非功能性需求

分析

将需求分析中产生的用例转化顺序图和状态图


软件工程---1.概述相关推荐

  1. 【软件工程】软件工程过程概述

    文章目录 软件工程 软件 软件的特点 软件分类 软件工程 软件过程 软件工程是一种层次化技术 过程综述 过程和软件过程 过程和软件过程 过程与质量 过程框架 过程框架 通用过程框架 任务集 过程模式 ...

  2. 软件工程 系统测试概述

    文章目录 概述 测试过程 软件测试策略 单元测试 测试内容 测试方法 集成测试 确认测试 α测试与β测试 系统测试 概述 系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误. ...

  3. 软件工程导论---概述--软件危机

    软件危机 软件危机 计算机系统经历了四个不同的发展阶段: 软件危机表现 软件危机的含义 软件危机的表现 产生软件危机的原因 问题的根本所在 软件规模越来越大 消除软件危机的途径 软件危机 计算机系统经 ...

  4. 软件工程导论概述----软件的生命周期

    软件的生命周期 软件生命周期 软件生命周期 软件定义时期 软件开发时期 软件运行时期 软件生命周期 • 软件从开始计划到最后废弃不用整个阶段称为计算 机软件的生命周期. • 软件生命周期分为三个时期: ...

  5. 软件工程 | 第一章:软件工程学概述

    软件工程学概述 一.前言 二.软件危机 1.典型表现 2.产生原因 3.消除危机途径 三.软件工程 1.概述 2.软件本质特征 3.软件工程基本原理 4.软件工程方法学 1️⃣传统方法学 2️⃣面向对 ...

  6. 软件与软件工程的概念

    第一章 软件与软件工程的概念 读书笔记:主要参考教材<软件工程概论>和PPT 软件的概念 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合. 程序是按事 ...

  7. 【课程全解】-UML软件建模设计

    软件建模 目的:uml9种图描述出你要实现的软件系统功能.架构.关联关系 UML9种图 用例图(静态图 - 角色拥有的功能) 类图(静态图 - 面向对象类功能设计(JAVA-继承.封装.多态)) 时序 ...

  8. 软件测试的策略详解(按开发阶段划分)

    我们先来简单的回顾一下我们上一篇文章学习的内容. 我们主要讲到了软件工程的概述,从四个角度给大家来进行了阐述. 01.软件的生命周期 02.软件开发模型 瀑布模型 快速原型模型 增量模型 迭代模型 螺 ...

  9. 【软件工程导论】软件工程学概述

    软件工程学概述 文章目录 软件工程学概述 一.软件危机 1.1 计算机系统的发展阶段 1.2 软件危机的介绍 1.3 软件危机典型表现 1.4 产生软件危机的原因 1.4.1 一方面与软件本身的特点有 ...

最新文章

  1. Javascript 数组
  2. git merge 冲突_更新了!深入浅出图解Git,入门到精通(保姆级教程)第三篇
  3. 面试题之判断栈的入栈和出栈序列的合法性
  4. 订单库存是否与库存地有关
  5. python代码异常对照表格_Python表格py错误(pandas错误?)
  6. PLSQL_案例优化系列_学会应用工具进行SQL整体优化(案例11)
  7. 苹果发布新手机,会有多少国人支持呢?
  8. 带有Swagger的Spring Rest API –公开文档
  9. python线程池并发爬虫_python 并发专题(二):python线程以及线程池相关以及实现...
  10. 《我的WCF之旅》博文系列汇总
  11. Tensorflow关于Dataset的一般操作
  12. VC利用GDI+显示透明的PNG图片
  13. 慕课java工程师2020版_中国大学慕课2020Java程序设计答案大全
  14. 图像处理——人脸情绪识别(python卷积神经网络)
  15. 在正式使用计算机账务系统的银行对账功能,会计电算化账务处理系统中,银行对账的功能有哪些? 爱问知识人...
  16. Python 北京二手房成交数据分析过程
  17. STM32基于固件库学习笔记(11)RTC实时时钟
  18. 性能测试测试方案总结
  19. Ophir Vega激光功率计
  20. 牛客网之SQL---持续更新

热门文章

  1. Oracle学习:新建表空间
  2. jenkins jar包上传maven仓库
  3. JavaScript:Browser 对象
  4. serialVersionUID的作用以及如何用idea自动生成实体类的serialVersionUID
  5. autoLayout自动布局
  6. linux find prune排除某目录或文件
  7. SQL Server日期格式转换大全
  8. [转]“UPA 中国”北京行业聚会笔录
  9. php5.5 session,(五)ThinkPHP实践之Session驱动-TTLSA
  10. java使用impala存放多条sql_Impala基于内存的SQL引擎的详细介绍