IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 2021-09-06 -> 正文阅读

[开发测试]2021-09-06

软件工程基础 第一章

#1.1.1软件工程危机概述
软件工程危机的概念和特征
软件危机是指20世纪60年代在计算机软件的研发,运行,维护和管理过程中,出现一系列严重问题的现象
软件危机的特征主要体现在7个方面
(1)在软件系统运行过程中,经常出现功能,性能等严重问题或故障
(2)软件产品的质量,可靠性和安全等方面,时常不能达到标准要求。软件产品质量难以保证,甚至在开发过程中被迫中断
(3)软件开发管理差,对成本和进度难以估计
(4)系统时常出现无法维护,升级或更新的问题
(5)开发效率低,无法满足应用快速发展与更新升级的实际需要
(6)研发成本难以控制,在总成本中所占比不断大幅上升
(7)软件开发没有标准,完整统一规范的文档资料。软件不仅只是程序,还应当有一套规范的文档资料和售后服务
2.软件危机产生的原因
软件危机产生的主要原因包括6个方面
(1)软件开发的规模、复杂度和需求量都在不断
增加。
(2)软件(系统)需求分析与设计不完善、有欠缺,致使软件开发、维护和管理或文档出现问题。
(3)没有按照工程化方式运作,开发过程无统一标准、准则和规范方法。
(4)研发人员之间或同用户相互交流沟通不够或文档资料不完备。
(5)软件测试调试不规范、不细致,提交的软件质量不达标。
(6)在软件运行过程中,忽视了正常有效的维护和管理。
3.解决软件危机的主要措施包括3个方面

(1)技术方法。运用软件工程的技术、方法和标准进行规范。
(2)开发工具。选用先进高效的软件工具,采取切实可行的实施策略。
(3)组织管理。研发机构需要组织高效、管理制度和标准严格规范、职责明确、质量保证有力、团结互助、齐心协力,注重文档及服务。

1.1.2软件工程的发展过程

软件工程发展经历了程序设计阶段,程序系统阶段,软件工程阶段和创新完善软件工程4个阶段,各阶段的典型技术如下所示在这里插入图片描述
1.传统软件工程的发展也经历了四个重要阶段
1.传统软件工程
传统软件工程也称为第一代软件工程,是指软件工程产生的初期。20世纪60年代末到70年代,开发软件主要采用“生产作坊”方式,随着软件需求量、规模及复杂度的快速增加,相继出现了软件皿知识拓展开发效率低、成本高、进度及质量失控等各种难以解决的软件工程技术软件问题,大量无标准规范开发的低劣软件涌入市场,导的发展致出现了“软件危机”且不断加重,传统开发方式已无法适应软件开发的需要,致使产生了软件工程。
2.对象工程
对象工程也称为第二代软件工程。20 世纪80年代中期到90年代,以Smalltalk为代表的面向对象的程序设计语言相继推出,使面向对象的方法与技术得到快速发展。从20世纪90年代起,研究的重点从程序设计语言逐渐发展到面向对象的分析与设计技术,形成了一种完整的软件开发方法和系统的技术体系,其后出现了许多面向对象的开发方法,使面向对象的开发技术和方法逐渐得到完善和推广。
3.过程工程
过程工程也称为第三代软件工程。随着计算机网络等信息技术的快速发展和广泛应用,软件的规模、复杂度、开发时间和开发人员持续快速增加,致使软件工程开发、维护和管理的难度不断加大。在软件开发的实践过程中,软件企业和研发人员逐渐认识到**:保证软件质量、提高软件生产效率的关键是对“软件过程”的有效管理和控制,从而提出了对软件项目管理的计划组织、质量保证.成本估算.软件配置管理等技术与策略.逐步形成了软件过程工程。
4.构件工程
构件工程(Component Engineering)也称为
第四代软件工程**。20 世纪90年代起,基于构件(模块)的开发方法取得重要进展,软件系统的开发可利用已有的可复用构件进行修改集成,而无须从头开始编程构建,从而解决了提高软件研发效率和质量、降低成本的重大问题。面对复杂的操作系统控制的桌面系统,需要兼顾各种异构网络、数字通信与交互和先进的应用软件的综合需求。计算机体系结构从主机环境转变为分布式的客户机/服务器等环境。计算机辅助软件工程(Computer Aided Software Engineering ,CASE)将软件工具和代码生成器进行集成,为很多软件系统提供了高效且可靠的解决方案,专家系统和人工智能软件的应用更加广泛,模拟人脑的人工神经网络软件开拓了信息处理的新途径,云计算、并行处理、网络技术、虚拟技术、多媒体技术和现代通信技术等新技术、新方法改变了人们原有的工作方式。

1.2软件及软件工程概述

#1.2.1软件的概念,特点和分类
11.软件的相关概念
软件(Software)是计算机及手机等终端设备运行的指令、数据和资料与服务的集合,包括指令程序、数据、相关文档和完善的售后服务的完整集合。具体可以表示为
软件=程序十数据十文档十服务
其中,数据是信息的表达方式和载体,是使程序正常进行信息处理的结构及表示。文档(Document)是与程序开发、维护及使用有关的技术数据和图文资料。服务主要指对各种软件用户的服务,包括提供软件产品使用说明书推销服务及售后技术,支持等。软件分为系统软件、支撑软件(开发环境)和应用软件。其中,应用软件也称为信息系统(Information System),是指由一系列相互联系的部件(程序模块)组成的,为实现某个业务处理目标对数据进行输人、处理、存储、输出、反馈和控制的集合。
2.软件的主要特点
软件的主要特点如下
(1)智能性。软件是人类智能劳动的产物、代替和延伸。程序、流程、算法、数据结构等需要通过人的思维进行设计、编排和组织。
(2)抽象性。软件属于逻辑实体,而非物理实体,无形性和智能性致使软件难以认识和理解。在研发过程中,需要进行逻辑设计和组织,运用抽象思维和方法。人们只能通过用户界面来与软件交互,其丰富内涵被蕴含在计算机内部,使软件具有高度的抽象性。(3)人工方式。软件的开发、维护及管理设置等方面,很难完全脱离手工方式。(4)夏杂性和系统性。软件开发和运行经常受计算机等终端系统的限制,软件的开发和运行必须依赖于软件环境。大中型软件是由多种要素组成的有机整体,具有显著的系统特性。软件具有确定的目标、功能、性能、结构和要素。(5)泛域性。软件应用很广泛,在信息化中可服务于各个领域、行业和层面。(6)智能复制性。软件成本相对比较昂贵,软件是人类智能创造性的特殊产品。而复制和推广的费用一般较低,并可以借助复用技术进行软件开发再利用。(7)非损及更新性。各种软件不存在物理性磨损和老化向题,但可以退化,需要及时进行更新升级。
3.软件的主要分类
1)按照软件功能划分。可以分为3种。
①系统软件。如操作系统、设备驱动程序等。②支撑软件。协助用户开发的工具软件,如编译程序、程序库、图形软件包等。
③应用软件如企业业务管理软件、CAD/CAM软件、CAI软件、图书管理信息系统学生成绩管理信息系统等。
(2)按照软件规模划分按照软件规模(源代码行)、参与研发人数、研制时间,可以将软件分为微型、小型、中型、大型、超大型5种
.(3)按照软件工作方式划分。通常可以分为4种:实时处理软件分时软件交互式软件、批处理软件。
(4)按照软件服务对象的范围划分。可以分为如下类型。
①项目软件。主要由企事业客户委托研发机构进行开发的软件。
②产品软件。通常由软件开发机构进行研发,然后提供给市场。
(5)按照软件运行的终端设备划分。可以分为服务器软件、计算机软件、手机软件、机器人软件和其他嵌人设备(电子化设备)软件等。此外,还可按照软件使用频度或软件失效的影响等方面进行划分。手机软件从开发的角度,可以分成应用软件、用户界面、操作系统、底层与设备驱动和通信协议等.

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-08 11:02:20  更:2021-09-08 11:03:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 4:14:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码