一、软件工程概述(1.1计算机软件1.2软件工程)
一、计算机软件
软件:是计算机系统中与硬件相互依存的另一部分。包括程序、数据及其相关文档的完整集合。
即软件=程序及数据+文档
1. 软件的发展
1946-1956(程序设计):从计算机问世到实用的高级程序语言出现前。
1956-1968(程序系统): 从实用的高级语言出现到出现软件工程前。
1968-至今(软件工程):从软件工程出现到现在。
1990-至今(现代软件工程):软件产业化的时代。
软件危机:
软件危机是指落后的软件生产方式无法满足迅速增长的计算机需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
(1)发生原因:
①用户需求不明确
②缺乏正确的理论指导
③开发规模越来越大
④开发复杂度越来越高
⑤缺乏合理的维护手段
(2)表现:
①开发进度难以估测
②开发成本难以控制
③用户对产品功能难以满足
④软件产品质量无法保证
⑤软件产品难以维护
⑥缺少合适的文档资料
(3)解决途径:
1. 彻底消除“软件就是程序”的错误观念。
2. 充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。
3. 推广使用在实践中总结出来的开发软件的成功的技术和方法,并且研究探索更好更有效的技 术和方法。
4. 开发和使用更好的软件工具。
2. 软件的特点
表现形式 :
软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性。
生产方式 :
软件的生产与硬件不同,在它的开发过程中没有明显的制造过程,大多数软件仍是定制的。
维护 :
在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。
要求:
软件产品不允许误差。
其他特点:
软件的开发和运行对计算机系统有着不同程度的依赖性。
软件的开发至今尚未完全摆脱手工艺的开发方式 。
软件本身是复杂的......
3. 软件的分类
①按软件的规模进行划分
按开发软件所需的人力、时间以及完成的源代码行数。
②按软件的功能进行划分
系统软件:操作系统、编译程序 、设备驱动程序 、通信处理程序
支撑软件:数据库管理系统 、软件开发环境 、网络软件 、软件工具
应用软件:Web应用软件 、嵌入式软件 、人工智能软件等
③按软件开发划分
软件项目开发和软件产品开发。
④按软件的工作方式进行划分
⑤按软件服务对象的范围进行划分
.......
4. 软件语言
需求定义语言 功能性语言 设计性语言 实现性语言(即程序设计语言) 文档语言
二、软件工程
1. 软件工程的定义
软件工程是一类求解软件的工程,它应用计算机科学、数学(用于构造模型和算法)和管理 科学(用于计划、资源、质量和成本等的管理) 等原理,借鉴传统工程(用于制定规范、设计范型、评估成本、权衡结果)的原则和方法, 创建软件以达到提高质量、降低成本的目的。
软件工程三要素:工具、过程、方法
2. 软件工程的原理
(1)用分阶段的生命周期计划严格管理
(2)坚持进行阶段评审
(3)实行严格的产品控制
(4)采用现代程序设计技术
(5)清楚审查
(6)人少而精
(7)不断改进
3. 软件生命周期
软件生命周期由软件定义、软件开发、运行维护(软件维护)三个时期组成。
软件定义:
任务:确定总目标;确定可行性;导出采用的策略以及系统功能;估计成本,制定时间表。
分为三时期:问题定义、可行性研究和需求分析。
软件开发:
分为两个阶段四个时期:
系统设计:总体设计、详细设计。
系统实现:编码和单元测试、综合测试。
软件维护:
主要任务是使软件持久的满足用户的需求。
通常有4类维护活动:
改正性维护; 适应性维护;完善性维护;预防性维 护。
软件生命周期具体八阶段:
(1)问题定义:回答要解决的问题是什么。
(2)可行性研究:对于上一个阶段确定的问题有行得通的解决办法吗。
(3)需求分析:确定目标系统必须具备哪些功能、性能。
(4)总体设计:概括地说应该怎样实现目标系统。
(5)详细设计:怎样具体实现系统。
(6)编码和单元测试:写出正确的容易理解、容易维护的程序模块。
(7)综合测试:通过各种类型的测试使软件达到预定的要求。
(8)软件维护:通过各种必要的维护活动使系 统持久地满足用户的需要。
一、软件工程概述(1.1计算机软件1.2软件工程)相关推荐
- 【软件工程(一)】软件工程概述+软件生命周期模型
文章目录 软件工程概述 软件的定义 软件的分类 软件工程要素.目标和原则 软件工程知识体系知识域 软件生命周期模型 工程过程 传统模型种类 瀑布模型 演化模型 增量模型 喷泉模型 V模型和W模型 螺旋 ...
- 软件工程--软件工程概述
软件工程概述 什么是软件? 软件=计算机程序+数据+有关的文档资料. 软件危机 软件危机? 在计算机软件的开发和维护过程中所遇到的一系列严重问题. 产生软件危机的原因? 与软件本身的特点有关. 软件开 ...
- 2018年四川理工学院软件工程考试大纲(软件工程概述)
2018年四川理工学院软件工程考试大纲(软件工程概述) 1.1.2.软件的定义 1 软件 = 程序 + 数据 + 系列文档 2 PS:从软件工程的观点来看,软件是指计算机系统中与硬件相互依存的另一部分 ...
- 「武汉理工大学 软件工程复习」第一章 | 软件工程概述
目录 第一章 | 软件工程概述 [软件的特性] [软件危机] [软件工程] [软件开发基本策略(要素)] [软件工程基本原理] [单元测试题] 选择题 判断题 第一章 | 软件工程概述 [软件的特性] ...
- 软件工程概述部分:可行性分析部分,需求分类
软件工程概述部分:可行性分析部分,需求分类 简介:本文主要是讲解软件工程考试过程中的常见概念与题目的解答,本文涉及,面相构件,基于构件,极限编程,结对编程,现场客户,持续集成,测试驱动等知识点. 1. ...
- 软件工程 科学出版社 郑逢斌主编 第1章 软件工程概述 课后习题答案
软件工程 科学出版社 郑逢斌 第1章 软件工程概述 课后习题答案 1. 简述软件的发展过程. 2. 简述软件的定义和特点. 定义: 在 IEEE 软件工程词汇标准中,软件的定义是:软件是计算机程序.规 ...
- 软件工程与项目管理的关系_软件工程:软件工程概述13个问题解答?
1.软件工程为什么要强调规范化和文档化? 软件工程强调规范化和文档化.规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化.工程化的生产方式. 文档化是将软件的设计思想. ...
- 软件工程教程:第1章软件工程概述 课后习题
<软件工程教程>(第2版)主编:吴迪 马宏茹 丁万宁 电子科技大学出版社 目录 一.选择题 二.简答题 (1)什么是软件危机?软件危机表现在哪些方面? (2)简述软件和软件工程的定义以及软 ...
- 《软件工程与实践》 |(九)软件工程新技术及体系 知识梳理
系列索引: <软件工程与实践>第三版 软件工程课程知识梳理 目录 系列索引: <软件工程与实践>第三版 软件工程课程知识梳理 本章重难点: 9.1 软件工程新技术 9.1.1 ...
最新文章
- HAOI2011 Problem b
- MySQL8——源码安装
- python中filenotfounderror_Python3 报错 FileNotFoundError: [WinError 2]
- 如何在主机win10和虚拟机(virtualbox)中的Ubuntu进行文件传输即共享文件夹的建立
- 对kubernetes的认识
- 力扣刷题心得(设计类题目)
- 牛客题霸 [最长公共子串]C++题解/答案
- centos6安装mysql并远程连接_阿里云服务器上安装redis并实现远程连接
- OSSemPost()--发出一个信号量
- SAP License:O2O模式网站解决方案概述
- java中OOA,OOT, OOP, OOD, OOSM,OOM英文表示的含义是什么?
- php中多重继承,PHP如何使用接口实现多重继承?(代码示例)
- 解析数论引论 第2章 数论函数和狄利克雷乘积
- 打地鼠游戏(Appinventor练习)
- 计算机绘图中有六种方法绘圆,绘图用品和制图方法
- 关于语音特征提取(MFCC)的matlab相关函数
- Chunk at 0000001313C1A500 of size 512
- win+shift+s截图保存在哪_Windows 被冷落的 WIN 键,其实比你想的更好用
- 强在工业互联网的欧洲,为何没有牛逼的互联网公司?
- jmeter正则表达式