1. 与计算机硬件相比,计算机软件有哪些特点?


  1. 计算机硬件是有形的设备,具有明显的可见性。但是人们却不能直接观察计算机软件的物理形态,只能通过他的实际运行情况来了解他的功能,特性和质量。
  2. 人们在分析,设计,开发,测试软件产品的过程中,以及在软件开发项目的管理过程中,渗透了大量的脑力劳动,人类的逻辑思维和智力活动和技术水平是生产软件产品的关键。
  3. 计算机软件不存在像硬件一样的磨损和老化现象,他不会受引起计算机硬件老化的环境因素的影响,但是软件却存在着缺陷维护和技术更新的问题。
  4. 软件开发和运行必须依赖特定的计算机系统环境。
  5. 软件具有可复用性

2. 为什么说软件工程的发展在一定程度上解决了软件危机的各种弊端?

因为软件工程提出是为了解决软件危机所带来的各种弊端。具体的讲,软件工程的目标主要包括以下几点。

  1. 使软件的开发成本控制在预计的合理范围之内。
  2. 使软件产品的各项功能和性能能够满足用户需求。
  3. 提高软件产品的质量。
  4. 提高软件产品的可靠性。
  5. 使生产出来的软件产品易于移植,维护,升级和使用。
  6. 使软件的开发周期能够控制在预计的合理时间范围内。

3. 简述软件工程的基本原则

1.== 将软件的生命周期划分为多个阶段,对各个阶段实行严格的项目管理。软件开发的生命周期可以划分为可行性研究,需求分析,软件设计,软件实现,软件测试,产品验收和交付手段。
2. 坚持阶段评审制度,以确保软件产品的质量。
3. 实施严格的产品控制,以适应软件规格的变更。在软件开发过程中,用户需求很可能不断发生变化。
4. 采用现代程序设计技术==。
5. 开发出来的软件产品应该能够清楚地被审查。
6. 合理的安排开发软件小组人员,并且开发小组人员要小而精。
7. 不断地改进软件工程实践。

4. 如何理解软件生命周期的内在特征?

答:软件产品的生命周期是指从设计该产品的构想开始,到软件需求的确定、软件设计、软件实现、产品测试与验收、投入使用以及产品版本的不断更新,到最终该产品被市场淘汰的全过程。软件生命周期这个概念从时间的角度将软件的开发和维护的复杂过程分解为了若干个阶段,每个阶段都完成特定的相对独立的任务。由于每个阶段的任务相对于总任务难度会大幅度降低,在资源分配、时间把握和项目管理上都会比较容易控制。合理地划分软件生命周期的各个阶段,使各个阶段之间既相互区别又相互联系,为每个阶段赋予特定的任务。

.

5. 请对比瀑布模型,原型模型,增量模型和螺旋模型

瀑布模型是出现得比较早的软件开发模型。在这种模型中,各阶段之间的组织方式就如同瀑布流水一样,逐级下落。开发人员必须在完成前一阶段的任务后,才能开始下一阶段的工作,各个阶段之间通常是按固定顺序连接的,前一-阶段的输出往往就是后- -阶段的输入。
根据瀑布模型的理论,这种模型具有以下几个特点。
(1)瀑布模型是一种线性的软件开发模型,回溯性很差。
(2)瀑布模型是一种基于里程碑的阶段过程模型。
(3)瀑布模型强调软件开发过程的阶段性,每个阶段完成特定的任务。瀑布模型适用于具有以下特征的软件开发项目。

     1) 在软件开发的过程中,需求不发生或很少发生变化,并且开发人员可以一次性获取到全部需求2) 软件开发人员具有==丰富的经验,对软件应用领域很熟悉。3)软件项目的风险较低。 瀑布模型不具有完善的风险控制机制。
优缺点:

瀑布模型的优点是阶段性强,易于对项目进行管理,缺点是开发过程不灵活,不能适应环境的变化。如果后续阶段中发现前期工作的错误或需求发生了变更,会造成巨大的损失。

原型模型是开发人员为了快速而准确地获取需求经常采用的方法。在初步获取需求后,开发人员会快速地开发一个原型系统。通过对原型系统进行模拟操作,开发人员可以更直观、更全面和更准确地了解用户对待开发系统的各项要求,同时还能挖掘到隐藏的需求。如果开发人员对将采用的开发技术把握不大,也可以采用原型模型进行技术上的尝试,以降低后续开发的风险。原型模型具有以下特点。
(1)原型模型主要用于挖掘需求,或是进行某种技术或开发方法的可行性研究。
(2)原型系统通常针对软件 开发系统的子功能模块,所以功能相对不完善。
(3)由于原型系统功能的局部性以及存在阶段的局部性,在软件开发的实践中,原型模型通常结合其他的软件开发模型共同使用,发挥作用。

原型模型适用于具有以下特征的软件开发项目。

    (I)对现有的软件系统进行产品升级或功能完善。(2)开发人员与用户之间交流受限,需求获取困难。(3)开发人员对将要采用的技术手段不熟悉或把握性不大。(4)具备快速开发的工具。
优缺点

原型模型的优点是简单和快速,缺点是需要花费一些额外的成本来构造原型,并且不利于创新。

增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交。增量模型的最大特点就是将待开发的软件系统模块化和组件化。基于这个特点,增量模型具有以下优点。

(1)将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展。
(2)以组件为单位进行开发降低了软件开发的风险。-一个开发周期内的错误不会影响到整个软件系统。
(3)开发顺序灵活。

增量模型的缺点是要求待开发的软件系统可以被模块化。如果待开发的软件系统很难被模块化,那么将会给增量开发带来很多麻烦。

增量模型适用于具有以下特征的软件开发项目。
(1)软件产品可以分批次地进行交付。
(2)待开发的软件系统能够被模块化。
(3)软件开发人员对应用领域不熟悉,难以一-次性地进行系统开发。
(4)项目管理人员把握全局的水平较高。

螺旋模型是一种用于风险较大的大型软件项目开发的过程模型。它把开发过程分为制定计划、风险分析、实施工程和客户评估4种活动。制定计划就是要确定软件系统的目标,了 解各种资源限制,并选定合适的开发方案。风险分析旨在对所选方案进行评价,识别潜在的风险,并制定消除风险的机制。实施工程的活动中渗透了瀑布模型的各个阶段,开发人员对下一版本的软件产品进行开发和验证。客户评估是获取客户意见的重要活动。
螺旋模型适应于风险较大的大型软件项目的开发。它的优点是将风险分析扩展到各个阶段中,大幅度降低了软件开发的风险。但是这种模型的控制和管理较为复杂,可操作性不强,对项目管理人员的要求较高。

6. 在统一软件开发过程模型中,核心工作流程包括哪些?

核心工作流程有业务建模,需求分析,分析设计,实现,测试和部署

软件工程(吕云翔)概述问答题(一)相关推荐

  1. 软件工程 软件过程模型概述

    文章目录 概述 瀑布模型(Waterfall Model) 增量模型(Incremental Model) 演化模型(Evolutionary Model) 原型模型(Prototype Model) ...

  2. 计算机英语第一单元,第一单元课文译文 计算机英语 吕云翔

    计算机英语 吕云翔 第一单元 启动软件项目 第一部分 听说 A. 对话:启动软件项目 (Kevin.Sharon和Jason是三名北京航空航天大学软件学院大学二年级学生.今天,在第四个学期末暑假开始之 ...

  3. python大学教程吕云翔课后题答案_软件工程实用教程吕云翔-课后答案.doc

    1练习题 软件的特点有哪些? 软件是一种逻辑实体,具有抽象性.硬件是有形的设备,而软件不像硬件那样具有明显的可见性.人们可以把软件记录在介质上,但是却无法直观地观察到它的形态,而必须通过在计算机上实际 ...

  4. 软件工程理论与实践——吕云翔 课后第一章习题答案

    1. 判断题 ××√× 2. 选择题 BDCA 3. 简答题 (1)与计算机硬件相比,计算机软件有哪些特点? 答:1)软件是一种逻辑实体,而不是具体的物理实体,因为它具有抽象性. 2)软件的生产与硬件 ...

  5. 软件工程理论与实践—吕云翔 课后习题第二章答案

    1.判断题 XXXX 2.选择题 CCBADCB (1)增量模型本质是一种(非整体开发模型) (2)软件过程是(软件开发活动的集合) (3)软件生命周期模型不包括(用例模型) (4)包含风险分析的软件 ...

  6. 实用软件工程课后答案 (张海潘 吕云翔)

  7. 软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)

    第一部分 第 1 章 1.选择题 (1) B (2) D (3) C (4) A 2.判断题 (1) × (2) × (3) √ (4) × 第 2 章 1.选择题 (1) C (2) C (3) B ...

  8. 软件工程理论与实践——吕云翔 课后习题第三章答案

    1.判断题 √ × × × × √ × 2.选择题 (1)在需求分析之前有必要进行(可行性研究)工作 (2)需求分析是一个(过程),它应该贯穿于系统的整个生命周期中,而不是仅仅属于软件生命周期早期的一 ...

  9. 软件工程—软件工程学概述

    软件工程 第一章-软件工程学概述 文章目录 软件工程 第一章 软件工程学概述 1.1 软件危机 1.2 软件工程 1.2.1 软件工程方法学 1.3 软件生命周期 1.4 软件过程 1.4.1 瀑布模 ...

最新文章

  1. C++_pthread read-write lock_读写锁_visual studio 2015下配置
  2. 链表——PowerShell版
  3. web应用安全防御100技 好书再次阅读, 变的只是表象,被概念迷惑的时候还是静下心来回顾本质...
  4. 腾讯 PB 级大数据计算如何做到秒级?
  5. awk按ip统计日志数
  6. npi阶段是什么意思_《如何阅读一本书》:4个问题、4个阶段,助你实现高效、快速阅读...
  7. 推荐系统基础之介绍入门篇
  8. HDU2006 求奇数的乘积
  9. 让域控制器强制向DNS服务器注册SRV记录
  10. 深入理解SD卡基础原理以及内部结构的总结
  11. 百度网盘解析工具 利用IDM等工具提速下载
  12. LFM信号脉冲压缩原理和仿真
  13. 关于电商平台推出无门槛优惠券不得不说的几个问题
  14. 关于 Axure 动态面板
  15. Minecraft Java版1.11_Editing Java版1.11-pre1
  16. C语言short精解
  17. 有奖互动 | 感恩节福利放送中
  18. 理想点法matlab p趋向无穷大,Matlab讨论区 - 声振论坛 - 振动,动力学,声学,信号处理,故障诊断 - Powered by Discuz!...
  19. 用Selenium库获取网页源代码:新浪财经股票信息
  20. 【细聊】torch.nn.init 初始化

热门文章

  1. Excel双条件交叉查询,你会吗
  2. 黑马vivo的逆袭之路
  3. Linux使用gdisk工具对硬盘进行GPT分区
  4. Linux 进程间通信编程
  5. PHP调试环境之:Eclipse for PHP
  6. oracle匹配靓号的正则表达式_靓号正则表达式匹配 疑问
  7. Spark之Task的定义
  8. 基于MeshCNN和PyTorch的三维对象分类和分割
  9. C#AE二次开发——使用AE控件创建第一个桌面应用程序
  10. 帮书友们测评一款安卓手机阅读器