软件工程实践者的研究方法--要点01

2024-01-18 21:38

本文主要是介绍软件工程实践者的研究方法--要点01,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、软件的定义

软件是包括程序、数据及其相关文档的完整集合。其中,程序是按照事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操作信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。

软件的定义三个方面:

1) 指令的集合,通过执行这些指令可以满足预期的特征、功能和性能需求 

2) 数据结构,它使得程序可以充分利用信息 

3) 描述程序操作和使用的文档

2、软件的特征

1 软件是设计开发的,而不是传统意义上的生产制造的

2) 软件不会磨损

3) 虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的

3、软件与硬件的区别

1) 软件是一种逻辑实体,而不是具体的物理实体

2) 软件的生产与硬件不同,软件开发过程中没有明显的制造过程

3) 软件在运行、使用期间没有磨损、老化问题

4) 软件的开发、运行受到计算机系统的限制,不同程度地依赖于硬件和环境,导致了软件升级和移植地问题

5) 软件复杂性越来越高

6) 软件开发成本相当昂贵

7) 大多数软件是新开发的,而不是通过已有的构件组装而来的 h) 软件工程涉及诸多的社会因素

4、遗留软件与软件的演化

系统演化的原因:

1) 系统需要修改其适应性,从而满足新的计算环境或者技术的需求

2) 软件必须根据新的业务需求进行升级

3) 软件必须扩展以具有与更多现代系统和数据库的协作能力

4) 软件架构必须进行改建以适应多样化的网络环境 30年来软件发展的规律:a、持续变化规律,b、复杂性增长规律,c、自我调控规律,d、组织稳定性守恒规律,e、保证通晓性规律,f、持续增长规律,质量衰减规律,g、反馈系统规律。

5、计算机软件可分为七个大类:

1)系统软件(编译器、操作系统等)

2)应用软件(很多)

3)工程/科学软件(天文学、气象学)

4) 嵌入式软件(汽车燃油控制)

5)产品线软件(库存控制产品)

6)Web/移动App(很多)

7)人工智能软件(机器人、人工神经网络)

6.四类软件发展迅速。

它们是:WebApp,移动App,云计算,产品线软件

7.软件危机

软件危机(Software Crisis):计算机软件的开发和维护过程所遇到的一系列严重问题。

 软件危机的表现:

1)对软件开发成本和进度的估算很不准确,甚至严重拖期和超出预算;

2)无法满足用户需求,导致用户很不满意;

3)质量很不可靠,经常失效;

4)难以更改、调试和增强;

5)没有适当的文档;

6)软件成本比重上升;

7)软件开发生产率跟不上计算机应用迅速深入的趋势。

软件工程--实践者的研究方法  https://edu.csdn.net/course/detail/2086

这篇关于软件工程实践者的研究方法--要点01的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

python3 pip终端出现错误解决的方法详解

《python3pip终端出现错误解决的方法详解》这篇文章主要为大家详细介绍了python3pip如果在终端出现错误该如何解决,文中的示例方法讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下... 目录前言一、查看是否已安装pip二、查看是否添加至环境变量1.查看环境变量是http://www.cppcns

Linux给磁盘扩容(LVM方式)的方法实现

《Linux给磁盘扩容(LVM方式)的方法实现》本文主要介绍了Linux给磁盘扩容(LVM方式)的方法实现,涵盖PV/VG/LV概念及操作步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录1 概念2 实战2.1 相关基础命令2.2 开始给LVM扩容2.3 总结最近测试性能,在本地打数据时,发现磁盘空

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案

《使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案》在SpringBoot应用中,我们经常使用​​@Cacheable​​注解来缓存数据,以提高应用的性能... 目录@Cacheable注解Redis时,Redis宕机或其他原因连不上,继续调用原方法的解决方案1

sql语句字段截取方法

《sql语句字段截取方法》在MySQL中,使用SUBSTRING函数可以实现字段截取,下面给大家分享sql语句字段截取方法,感兴趣的朋友一起看看吧... 目录sql语句字段截取sql 截取表中指定字段sql语句字段截取1、在mysql中,使用SUBSTRING函数可以实现字段截取。例如,要截取一个字符串字

JAVA数组中五种常见排序方法整理汇总

《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序