软件工程 科学出版社 郑逢斌主编 第1章 软件工程概述 课后习题答案
软件工程 科学出版社 郑逢斌 第1章 软件工程概述 课后习题答案
1. 简述软件的发展过程。
2. 简述软件的定义和特点。
定义:
在 IEEE 软件工程词汇标准中,软件的定义是:软件是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。其中,计算机程序是计算机设备可以接受的一系列指令和说明,为计算机执行提供所需的功能和性能;数据是事实、概念或指令的结构化表示,能被计算机接收、理解或处理;文档是描述程序研制过程、方法及使用的图文材料。
Wirth 在结构化程序设计中指出:程序=算法+数据结构。在软件工程中,软件=程序+文档
在软件工程中
软件=程序+数据+文档。
程序是按事先设计的功能和性能要求执行的指令序列
数据是指程序初始化数据、测试数据、以及研发数据、维护数据等
文档是与程序开发、维护和使用有关的图文材料
特点:
1、是一种逻辑实体,具有抽象性
2、软件的生产不存在明显的制造过程
3、运行和使用的过程中不会存在机械磨损老化问题
4、受限于具体的计算机系统
5、手工开发方式,还不能完全采用组装的方式进行软件开发
6、提高人类工作效率的逻辑产品,本身是非常复杂的
7、软件成本相当昂贵
8、相当多的软件工作涉及到社会因素
3软件有哪些种类?
1、按功能特征进行划分
系统软件 — 如操作系统、设备驱动程序等。
支撑软件(实用软件) — 协助用户开发的工具软件,如编辑程序、程序库、图形软件包等。
应用软件 — 如工程与科学计算软件、CAD/CAM软件、CAI软件、信息管理系统等。
2、按软件规模大小进行划分
3、 按照软件工作方式划分
分时软件、实时软件、交互式软件、批处理软件
4、按应用范围进行划分
通用软件、定制软件
5、按使用频度进行划分
eg人口普查软件
6、按失效影响进行划分
eg关键软件
4.什么是软件危机?有什么表现?如何应对?
在 20 世纪60年代许多开发的件项目都能按照预期计实施或完成,甚至以失败告终。一些软件项目的开发时间大大超出了预期,导致了资金的浪费。一些软件甚至导致了人员伤亡,软件复杂度日益加剧使得软件人员发现软件开发的难度越来越大。
人们将60年代后期,在软件的开发和维护过程中,遇到的一系列严重问题,统称为软件危机。
- 开发成本和进度的估计常常不准确;
- 用户对交付的软件系统不满意的现象经常发生;
- 软件质量无保证、可靠性差;
- 软件常常是不可维护的;
- 软件通常没有适当的文档资料;
- 软件成本在计算机系统总成本中所占比例逐年上升
- 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
软件危机解决的对策
- 软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目;
- 必须充分吸取和借鉴各种工程项目所积累的行之有效的原理、概念、技术和方法;
必须开发和使用更好的软件工具; - 要解决软件危机,既要有一些技术措施(方法和工具),也要有必要的组织管理措施。
- 经过不断实践和总结,最后得出一个结论:按工程化的原则和方法组织软件开发工作是有效的,是摆脱软件危机的一个主要出路。
5.什么叫软件工程?其目标和原则是什么?
软件工程概念:
Fritz Bauer首次提出了软件工程的概念,他认为:软件工程是为了经济地获得能够在实际机器上高效运行的可靠软件而建立和使用的一系列好的工程化原则。
1993 年,IEEE 计算机学会定义软件工程是将系统化、规范化、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件中的方法的研究。
强调在软件开发过程中应该以工程化思想为指引。
技术措施+组织管理措施
软件工程的目标
- 付出较低的开发成本
- 达到要求的软件功能
- 取得较好的软件性能
- 开发的软件易于移植
- 需要较低的维护费用
- 能按时完成开发工作,及时交付使用
软件工程原则
- (1)抽象
- (2)信息隐蔽
- (3)模块化
- (4)局部化
- (5)确定性
- (6)一致性
- (7)完备性
- (8)可验证性
6.软件工程的三要素是什么?
过程、方法和工具是软件工程的三个要素
7.结合自己的亲身经历,谈谈软件工具在软件开发过程中的作用。
在软件工程活动中,软件工程师和管理员按照软件工程的方法和原则,借助于计算机及其软件工具的帮助,开发、维护、管理软件产品的过程,称为计算机辅助软件工程(Computer-Aided Software Engineering,简称CASE)。
CASE是一组工具和方法的集合,用于辅助软件开发、维护、管理过程中的各项活动,促进软件过程的工程化和自动化,实现高效率和高质量的软件开发。
8.CASE 的研究CASE 产品的开发是近来软领域的点之一。列举种所熟悉的CASE 工具或环境,综述它们的念和优缺点,并分析其实现方法。
如:Power Designer(分析设计工具或软件建模工具),Rational Rose(分析设计工具或软件建模工具),Win Runner(测试工具),MS Project(项目管理工具),MS Visio(软件开发绘图工具)、VSS(软件配置工具)。
软件工程 科学出版社 郑逢斌主编 第1章 软件工程概述 课后习题答案相关推荐
- 软件工程 科学出版社 郑逢斌主编 第12章 软件实现 课后习题答案
软件工程 科学出版社 郑逢斌主编 第12章 软件实现 课后习题答案 1. 简述程序设计语言的基本特征及分类. 程序设计语言,通常简称为编语言,是一组用来定义计算机程序的语法规则.它是一种被标准化的交流 ...
- 《Python语言程序设计》王恺 王志 机械工业出版社 第一章 初识Python 课后习题答案
1.6 课后习题 (1)高级语言翻译为机器语言的方式有两种:一种是编译,一种是解释.Python属于解释型语言 (2)Python程序支持两种运行方式:交互式和脚本式 (3)Python的单行注释以 ...
- 《Python语言程序设计》王恺 王志 李涛 机械工业出版社 第一章初识Python课后习题答案【强烈推荐】
点个
- 计算机系统结构答案汤志忠,计算机系统结构(第2版)郑伟明汤志忠课后习题答案以及例题收录.doc...
计算机系统结构(第2版)郑伟明汤志忠课后习题答案以及例题收录.doc 1计算机系统结构第2版郑伟明汤志忠编著清华大学出版社习题解答21目录11第一章P331719(透明性概念),112118(AMDA ...
- 《软件工程导论》课后习题答案
<软件工程导论>课后习题答案 第一章 软件工程概论 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题.这些问题表现在以下几个方面: (1)用户对开发出 ...
- 《Python 程序设计》张莉主编 课后习题答案
系列文章目录 第一章 程序设计和 Python 语言 第二章 Python 基础 第三章 序列 第四章 字典和集合 第五章 程序控制结构 第六章 函数 第七章 文件 第八章 面向对象程序设计 第九章 ...
- 林军c语言程序设计第八章,林军主编《C语言程序设计》课后参考答案第一二章.doc...
林军主编<C语言程序设计>课后参考答案第一二章 习题七 填空题 1.'\0' 2一组(.多个)相同类型数据 多组相同类型数据 3. gets puts 4.字符串所含有字符的个数 5.58 ...
- 郑莉版java第三章答案_java语言程序设计(郑莉)第七章课后习题答案.docx
java语言程序设计(郑莉)第七章课后习题答案.docx 还剩 10页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: if (matrix.isTria ...
- c语言程序设计教程中国农业出版社答案,C语言程序设计教程杨路明课后习题答案北京邮电大学出版社.pdf...
C语言程序设计教程杨路明课后习题答案北京邮电大学出版社 1.算法描述主要是用两种基本方法:第一是自然语言描述,第二是使用专用工具进行算法描述 2.c语言程序的结构如下: 1.c语言程序由函数组成,每个 ...
最新文章
- C++ 多线程:时间控制
- 百度CTO王海峰获“光华工程科技奖”,深耕自然语言处理近30年
- win7 win10 win8系统文件夹重命名要刷新下文件名才会改变,桌面也不会自动刷新...
- java语言解析XML
- poi word插入图片_豌豆BI工具看板Word导出技术详解
- php 频繁dom和 文件,性能优化之为什么不要频繁操作DOM
- 深入理解softmax函数
- 自定义ElementUI风格树形组件,详解递归组件的使用及事件数据传递,视图更新等问题
- html怎样在雪景里插入文字,下雪朋友圈怎么配文字 雪景发朋友圈配一句话
- PySpark(一)
- 基于 NodeJs 打造 Web 在线聊天室
- vue 上传图片进行压缩图片
- 几个问题帮你认识“NIC”----网卡
- matinee和matin区别_【近义词辨析】An和Année, Jour和Journée如何区别
- 华为U8150(IDEOS)手机USB驱动安装
- Three.js 学习历程与总结
- 观点 | ​苏宁传统零售业“数字化转型”经验分享
- Nightmare Ⅱ(BFS)
- jvm.option是什么,它是如何加载的
- SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱
热门文章
- 用linux的curl实现自动投票
- 河南科技学院计算机专业代码,商丘工学院代码_商丘工学院专业代码_2021商丘工学院招生代码,报考代码...
- Android ActivityStack笔记
- 非常不错的主板时钟讲解(转载)
- 浅谈web前端三大主流框架
- 基于springboot+vue的社区疫情防控系统(含源码+文档)
- db2删除完全相同的重复数据_[数据库]DB2删除重复数据
- Ubuntu16.04 更新后搜狗输入法不能用
- SolidWorks分割单个零件
- 特斯拉艾伦马斯克:人工智能或将比核武器更危险