软件工程复习重点(第一章 软件工程概述)

server/2024/12/19 5:56:25/

1.什么是软件?软件有什么特点? 软件分类?

计算机软件--计算机系统中的程序、数据及其文档的统称。

2.软件发展的3个阶段

(1)程序设计阶段;(2)程序系统阶段;(3)软件工程阶段。

3.什么是软件危机?为什么会出现软件危机?

(1)软件危机是在计算机软件的开发和维护过程中所遇到的一系列严重问题。

(2)与软件本身特点有关;软件开发与维护的方法不正确有关。

4.消除软件危机的途径

(1)对软件有正确认识;(2)软件开发规范化。

5.什么是软件工程

软件工程是指导计算机软件开发和维护的一门工程学科。

6.软件工程的本质特性

7.软件工程的目标

8.软件工程的基本原理(7条)

9.软件工程三要素

过程、方法、工具。

10.什么是软件生命周期?分为哪些阶段?每个阶段的主要工作是什么?

(1)软件生命周期:指软件产品从规划、提出、实现、使用维护到停止使用退役的过程。

(2)由软件定义、软件开发、运行维护3个时期组成。

①软件定义时期包括:问题定义、可行性研究、需求分析 3个阶段;

②软件开发时期包括:总体设计、详细设计、编码和单元测试、综合测试 4个阶段;

③软件维护时期包括:软件运行和软件维护阶段。

(3)

 11.什么是软件过程? 软件过程中有哪些通用的框架活动(过程模型)?

(1)软件过程:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。是研究软件开发的方法论,规范软件开发的活动集合和活动顺序。 软件过程描述为了开发出客户需要的软件,什么人(who)、在什么时候(when)、做什么事(what)以及怎样(how)做这些事以实现某一个特定的具体目标。

(2)

①瀑布模型一直是唯一被广泛采用的生命周期模型,现在它仍然是软件工程中应用得最广泛的过程模型。传统的瀑布模型过于理想化了。实际的瀑布模型是带“反馈环”的。

优缺点和适用范围:

②快速原型模型是不带反馈环的,这正是这种过程模型的主要优点:软件产品的开发基本上是线性顺序进行的。

③增量模型:把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。使用增量模型时,第一个增量构件往往实现软件的基本需求,提供最核心的功能。后续每个增量可按快速原型法进行。 

④螺旋模型:使用原型降低风险,可以看做是增加了风险分析过程的快速原型模型。

⑤喷泉模型:体现面向对象软件开发过程迭代和无缝的特性。用面向对象方法学开发软件时,工作重点应该放在生命周期中的分析阶段。


http://www.ppmy.cn/server/151374.html

相关文章

PMP报考条件?

一般来说,考证的报名条件很多是学历工作经验。PMP 也是这样,但是它多了一个需要培训证明的条件,而这个培训证明只能由培训机构颁发,这就说明我们只能报班了,限制了自学考证的方式。 具体的报名条件见下文。 报名条件&…

LAPACK 程序 SSYEVD 的计算特征值的应用实例 C/Fortran

A*v(j) lambda(j)*v(j) 0,预备环境 编译一份 Lapack源代码,会生成两个 静态链接库: liblapack.a librefbals.a 1,C版本 源码: hello.c /*SSYEVD Example.Program computes all eigenvalues and eigenvectors o…

Go-FastDFS文件服务器一镜到底使用Docker安装

本文章介绍一镜到底安装go-fastdfs并配置数据文件到linux 由于国内镜像无法安装go-fastdfs:国内环境已经把docker官方的网站给封闭了 我们需要从国外的一台服务器,下载images镜像,然后进行转发加载到国内服务器 一、在国外服务器拉取镜像 …

使用CNN模型训练图片识别(键盘,椅子,眼镜,水杯,鼠标)

首先是环境: 我是在Anaconda3中的Jupyter Notebook (tensorflow)中进行训练,环境各位自行安装 数据集: 本次数据集五个类型(键盘,椅子,眼镜,水杯,鼠标)我收集了每个接近两…

【347. 前 K 个高频元素 中等】

题目&#xff1a; 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2] 示例 2: 输入: nums [1], k 1 输出: [1] 提示&#xff1a; 1 < nums.leng…

Linux内核 -- 普通定时器mod_timer的使用示例

Linux Kernel 普通定时器使用示例 本文介绍如何在 Linux 内核模块中使用普通定时器&#xff08;timer_list 结构&#xff09;。 示例代码 #include <linux/module.h> #include <linux/init.h> #include <linux/timer.h> #include <linux/jiffies.h>…

分布式全文检索引擎ElasticSearch-数据的写入存储底层原理

一、数据写入的核心流程 当向 ES 索引写入数据时&#xff0c;整体流程如下&#xff1a; 1、客户端发送写入请求 客户端向 ES 集群的任意节点&#xff08;称为协调节点&#xff0c;Coordinating Node&#xff09;发送一个写入请求&#xff0c;比如 index&#xff08;插入或更…

安卓课设版算法计算器

安卓课设版算法计算器&#xff08;HNUST&#xff09; 前言&#xff1a; 如果只想看函数使用说明请跳转到“四、使用函数介绍” 该版本为课设版&#xff0c;富含多个界面&#xff0c;是前版的plus版本&#xff0c;进行了更多的复杂化操作&#xff0c;故因此会觉得对于计算器有点…