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

embedded/2024/12/23 9:40:54/

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

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

软件=程序+数据+文档

表现形式:逻辑实体、抽象性

生产方式:与硬件不同、无明显的制造过程、定制

维护机制:缺陷维护、技术更新

使用要求:软件质量要求高

社会因素:机构设置、体系和管理方式,观念和心理

1.功能不同:系统软件、支撑软件、应用软件

2.软件服务对象不同:通用软件、定制软件

3.软件产品的规模不同:小型软件、中型软件、大型软件

4.工作方式不同:实时软件、分时软件、交互式软件、批处理软件

2.软件发展的3个阶段

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

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

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

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

4.消除软件危机的途径

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

5.什么是软件工程

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

6.软件工程的本质特性

1、关注于大型程序的构造;

2、中心课题是控制复杂性;

3、软件经常变化;

4、开发软件的效率非常重要;
5、和谐地合作是开发软件的关键;

6、必须有效地支持它的用户;
7、两种背景的人(技术和应用)创造产品;

7.软件工程的目标

1、软件开发成本较低

2、软件功能能够满足用户的需求

3、软件性能较好
4、软件可靠性高

5、软件易于使用、维护和移植

6、能按时完成开发任务,并及时交付使用

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

1、用分阶段的生命周期计划严格管理
2、坚持进行阶段评审
3、实行严格的产品控制
4、采用现代程序设计技术
5、结果应能清楚地审杳
6、开发小组的人员应该少而精
7、承认不断改进软件工程实践的必要性

9.软件工程三要素

过程、方法、工具。

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

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

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

(3)

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

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

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

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

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

(2)

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

优缺点和适用范围:

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

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

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

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


http://www.ppmy.cn/embedded/148035.html

相关文章

1688跨境代购代采业务:利用API实现自动化信息化

在全球化贸易日益频繁的今天,跨境电商已成为推动国际贸易的重要力量。作为中国电商的源头货盘,1688平台拥有大量的工厂、品牌商和一级批发商,为外贸人提供了极其丰富的货源。如何利用这一平台优势,开展跨境代购代采业务&#xff0…

使用Python实现量子通信模拟:探索安全通信的未来

量子通信作为量子信息科学的一个重要分支,利用量子力学的基本原理实现安全通信,正在引领一场信息安全领域的革命。通过量子通信,信息可以在两个点之间通过量子比特(qubits)进行传输,具有高度的安全性。本文…

linux的权限

1.Linux的用户 在Linux操作系统中,用户管理是系统安全性和资源管理的重要组成部分。以下是关于Linux用户的一些基本概念: 用户类型 超级用户(Root): Linux系统中的管理员账户,拥有最高的系统权限。可以执…

泷羽sec-shell编程(9)

shell(9) 声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他…

Mac上Stable Diffusion的环境搭建(还算比较简单)

https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon AI兴起的速度是真的快,感觉不了解点相关的东西都要与时代脱节了,吓得我赶紧找个AIGC看看能不能实现我艺术家的人梦想(绷不住了) 我…

【Spring事务】深入浅出Spring事务从原理到源码

什么是事务 保证业务操作完整性的一种数据库机制 (driver 驱动)事务特定 ACID A 原子性 (多次操作 要不一起成功 要不一起失败 (部分失败 savepoint)) C 一致性 (事务开始时数据状态&#xff0c…

如何使用 Python 连接 SQLite 数据库?

SQLite是一种轻量级的嵌入式数据库,广泛应用于各种应用程序中。 Python提供了内置的sqlite3模块,使得连接和操作SQLite数据库变得非常简单。 下面我将详细介绍如何使用sqlite3模块来连接SQLite数据库,并提供一些实际开发中的建议和注意事项…

flask-admin+Flask-WTF 实现实现增删改查

背景: flask-adminflask-wtf在网上可以搜索到很多资料,但有价值的很少,或许是太简单,或者是很少人这么用,或者。。。,本文将作者近礼拜摸索到的一点经验分享出来,给自己做个记录。 材料&#…