软件工程复习之软件定义时期

2024-05-09 22:20

本文主要是介绍软件工程复习之软件定义时期,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.什么是软件?

答:软件是程序,数据和文档的集合。

程序是完成指定功能的计算机可执行的指令序列。

数据是程序进行信息处理的数据结构。

文档是开发,使用,维护的图文资料。

2.软件有何特点?

答:

(1是逻辑实体而不是物理实体,具有抽象性.

(2没有明显的制造过程

(3与硬件相比,不存在老化和磨损问题,但有退化问题。软件退化缘于修改。

3.什么是软件危机?

答:软件危机是指在计算机软件开发和维护过程中遇到的严重问题。问题主要分为两方面:如何开发软件以满足日益增长的用户需求;如何维护数量不断膨胀的已有软件。

4.为什么会产生软件危机?

答:(1软件本身特点:软件的逻辑性,程序的复杂性,规模庞大。

(2软件开发与维护方法不正确:忽视软件定义时期的工作,特别忽视了软件需求分析的重要性;认为软件开发就是写程序并且使之运行;忽视软件维护

5.软件工程7条特性

(1软件工程关注大型程序的构造

(2软件工程的中心课题是控制复杂性

(3软件经常变化

(4开发软件的效率非常重要

(5和谐的合作是开发软件的关键

(6软件必须有效的支持他的用户

(7软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品

6.软件工程基本原理

(1用分阶段的生命周期计划严格管理

(2坚持阶段评审

(3实行严格的产品控制

(4采用现代化程序设计技术

(5结果应能清楚的审查

(6开发小组成员应该少而精

(7承认不断改进软件工程实践的必要性

7.什么是软件工程方法学?

答:在软件生命周期全过程中使用的一整套技术方法的集合,包括:方法,工具和过程。分为传统方法学和面向对象方法学。

8.传统方法学存在哪些问题?

答:核心:将数据与程序分离。

9.面向对象方法学有哪四个要点?

答:(1把对象作为融合了数据以及在数据上操作行为的统一的软件构件

(2将对象分为类

(3继承

(4对象之间仅能通过发送消息联系

10.什么是软件生命周期?

答:软件生命周期包括软件定义时期,软件开发,运行与维护

具体细分为:

软件定义时期:问题分析,可行性研究,需求分析

软件开发:总体设计,详细设计,编码与单元测试,综合测试,前两个称为系统设计,后两个称为系统分析。

维护:维护,四种维护:改正性维护,适应性维护(适应环境变化),完善性维护,预防性维护。

11.什么是软件过程?

答:软件过程是为了获得高质量软件所需要完成的一系列的一系列任务的框架,它规定了完成各项任务的工作步骤。

12.瀑布模型介绍

特点:

(1适合于需求明确

(2阶段间具有顺序性和依赖性:必须前一阶段完成后一阶段才能开始,前一阶段的输出是后一阶段的输入

(3推迟实现的观点,在编码之前进行了问题分析,可行性研究和需求分析

(4质量保证的观点,每个阶段都完成规定的文档,且进行评审。

(5文档驱动的模型

缺点:

13.V模型介绍

特点:

(1强调测试活动与分析和设计之间的对应关联

(2活动驱动

14.快速原型模型

快速原型定义:快速建立在计算机上可以运行的程序,它完成的功能往往是最终功能的子集。

特点:

(1适用于需求不明确

(2不带反馈环,开发按照线性进行

15.增量模型

特点:(1适用于人员不充足

缺点:软件体系结构必须是开放的

本身具有矛盾性,一方面要求将软件看成一个整体,另一方面又要求看成构件序列,且构件之间彼此独立。

16.螺旋模型

17.喷泉模型

18.RUP

19.敏捷过程以及极限编程

20.微软过程

这篇关于软件工程复习之软件定义时期的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/974662

相关文章

Django中的函数视图和类视图以及路由的定义方式

《Django中的函数视图和类视图以及路由的定义方式》Django视图分函数视图和类视图,前者用函数处理请求,后者继承View类定义方法,路由使用path()、re_path()或url(),通过in... 目录函数视图类视图路由总路由函数视图的路由类视图定义路由总结Django允许接收的请求方法http

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

Ubuntu 怎么启用 Universe 和 Multiverse 软件源?

《Ubuntu怎么启用Universe和Multiverse软件源?》在Ubuntu中,软件源是用于获取和安装软件的服务器,通过设置和管理软件源,您可以确保系统能够从可靠的来源获取最新的软件... Ubuntu 是一款广受认可且声誉良好的开源操作系统,允许用户通过其庞大的软件包来定制和增强计算体验。这些软件

软件设计师备考——计算机系统

学习内容源自「软件设计师」 上午题 #1 计算机系统_哔哩哔哩_bilibili 目录 1.1.1 计算机系统硬件基本组成 1.1.2 中央处理单元 1.CPU 的功能 1)运算器 2)控制器 RISC && CISC 流水线控制 存储器  Cache 中断 输入输出IO控制方式 程序查询方式 中断驱动方式 直接存储器方式(DMA)  ​编辑 总线 ​编辑

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。