软件工程---1.概述

软件的特征

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

软件复杂度

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

IEEE对软件的定义

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

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

IEEE 对软件工程的定义

软件工程是:

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

什么是软件工程

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

什么是建模

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

为什么需要建模

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

应用域模型

从用户角度去描述的系统

解答域模型

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

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

软件工程概念

在这里插入图片描述

功能性需求

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

非功能性需求

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

软件工程开发活动

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

在这里插入图片描述

需求获取

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

分析

将需求分析中产生的用例转化顺序图和状态图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/383117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件工程---2.软件过程

三个模型 瀑布模型增量模型集成和配置模型 没有适用于所有不同类型软件开发的过程模型。 瀑布模型 需求定义系统和软件的设计实现与单元测试集成与系统测试运行与维护 瀑布模型的特征 从上一项活动中接受该项活动的工作成果(工作产品),作…

软件工程---3.敏捷软件开发

敏捷软件开发 极限编程(XP, Beck1999)Scrum方法(Schwaber and Beedle 2001)DSDM方法(Stapleton 2003) 敏捷软件的开发宣言 个体和交互胜过过程和工具可以工作的软件胜过面面俱到的文档客户合…

软件工程---4.需求工程

需求工程定义 找出、分析、文档化并且检查需求的过程被称为需求工程 需求的两个描述层次 用户需求,指高层的抽象需求。使用自然语言、图形描述需求。系统需求,指底层的详细需求。使用系统需求文档(有时被称为功能规格说明)应该…

软件工程---5.系统建模

从不同视角对系统建模 外部视角,上下文模型,对系统上下文或环境建模交互视角,交互模型(功能模型),对系统与参与者或系统内构件之间的交互建模结构视角,结构模型(静态模型&#xff0…

软件工程---6.体系结构设计

体系结构模型是什么? 体系结构模型,该模型描述系统如何被组织为一组相互通信的构件 体系结构分类 小体系结构关注单个程序的体系结构。在这个层次上,我们关注单个的程序是如何补分解为构件的。大体系结构关注包括其他系统、程序和程序构件…

【剑指offer】_06 变态跳台阶

题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 解题思路 链接:https://www.nowcoder.com/questionTerminal/22243d016f6b47f2a6928b4313c85387 关于本题,前提是…

【剑指offer】_07 矩形覆盖

题目描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 解题思路 依旧是斐波那契数列 2n的大矩形,和n个21的小矩形 其中target*2为大矩阵的大小 有以下几种情形…

软件工程---07.设计与实现

软件设计和软件实现 软件设计是一个创造性的活动,在此活动中需要基于客户需求识别软件构件及其关系。软件实现是将设计实现为一个程序的过程 为开发一个系统设计,你需要 理解并定义上下文模型以及系统的外部交互设计系统体系结构识别系统中的主要对象…

软件工程---08.软件测试

测试 测试的正向思维(确认测试) 向开发人员和客户展示软件满足其需求测试的逆向思维(缺陷测试)找出可能导致软件行为不正确原因。测试是更广阔的软件确认和验证( Verification and Validation; V & V)过程的一部分。验证和确…

软件工程---15.软件复用

复用的图(牢记) 软件复用的好处 开发加速有效的专家利用提高可依赖性降低开发成本降低过程风险符合标准 软件复用的缺点 创建,维护以及使用一个构件库查找,理解以及适配可复用构件维护成本增加缺少工具支持“不是在这里发明的”综合症 应用框架 现在…

软件工程---16.基于构件的软件工程

CBSE CBSE是定义、实现、集成或组装松散耦合的独立构件成为系统的过程。 基于构件的软件工程的要素有: 完全由接口进行规格说明的独立构件。构件标准使构件集成变得更为容易。中间件为构件集成提供软件支持。开发过程适合基于构件的软件工程。 CBSE的设计原则 构件是独立的…

软件工程---17.分布式软件工程

分布式系统的5个优点 资源共享开放性并发性可伸缩性容错性 分布式计算中必须考虑的设计问题 透明性:隐藏底层分布 开放性 可伸缩性 三个维度 规模:又分为增强扩展(单挑),增加扩展(群殴)分布可靠性 信息安全性 主要防止以下类型的攻击 拦…

软件工程---18.面向服务的软件工程

什么是Web服务 一个松耦合、可复用的软件构件,封装了离散的功能,该功能是分布式的并且可以被程序访问。Web服务是通过标准互联网和基于XML的协议被访问的服务。 服务和软件构件之间的一个重要的区别是 服务应该总是独立的和松耦合的Web 服务没有“请求…

【剑指offer】_08.数值的整数次方

题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0 解题思路 首先一个数的任意次方,这个数有可能是负数和正数和零,然后次方也有可能是负数和正数和零 当这个数是零时&#xff…

【剑指offer】_09二叉搜索树的后序遍历序列

题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 解题思路 比如下面的这棵二叉搜索树 它的后序遍历为0214369875; 我们设当前根节点为root; 第一次…

【剑指offer】_10二叉树和为某一路径值

题目描述 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 解题思路 要求一路径的和,那么必然终止条件为叶子结点,从根结点出发…

【剑指offer】_11整数中1出现的次数

题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的…

【剑指offer】_12 数组中的逆序对

题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 解题思路 剑指offer的解法 看到这个题目&#xff0…

详解Linux下通过yum安装Mariadb/MySQL数据库(腾讯云也适用)

1. 安装Mariadb 安装命令 yum -y install mariadb mariadb-server安装完成MariaDB,首先启动MariaDB systemctl start mariadb设置开机启动 systemctl enable mariadbMariaDB的相关简单配置 此命令进入到配置相关界面 mysql_secure_installation首先是设置密码…

【剑指offer】_13 圆圈中最后的数

题目描述 年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱…