软件工程(速成)——第一章 软件与软件工程

在这里插入图片描述
一、软件危机
1.Software=Program+Data+Document
2.软件的特点:
(1)无形
(2)副本制作简单
(3)无磨损
3.软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
4.软件危机的典型表现:
(1)对软件开发成本和进度的估计常常很不准确;
(2)用户对“已完成的”软件系统不满意的现象经常发生;
(3)软件产品的质量往往靠不住;
(4)软件常常是不可维护的;
(5)软件通常没有适合的文档资料;
(6)软件成本在计算机系统总成本中所占的比例逐年上升;
(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
5.产生软件危机的原因:
一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

二、软件工程
1.中心思想:
把软件当作一种工业产品,要求采用工程化的原理与方法对软件进行计划、开发和维护。
2.目的:
实现按预期的进度和经费完成软件生产计划,提高软件的生产率和可靠性。
3.基本流程:
(1)首先进行系统调查和系统分析;
(2)再进行逻辑设计、物理设计;
(3)最后才编制实施;
(4)反复测试;
(5)试运行后,再投入长期运行;
(6)在运行中不断维护、完善。

三、软件生命周期
在这里插入图片描述
四、软件工程模型
1.瀑布模型:
(1)阶段具有顺序性和依赖性{①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶段的输入文档正确,后一阶段的工作才能获得正确的结果}
(2)推迟实现的观点
(3)质量保证的观点{①每个阶段都必须完成规定的文档;②每个阶段结束前都要对所完成的文档进行评审}
瀑布模型基本上是一种文档驱动的模型
优点: 可强迫开发人员采用规范的方法;严格规定了每个阶段必须提交的文档;每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
缺点: 用户只能通过文档了解产品,很可能导致最终开发出的软件产品不能真正满足用户的需要。

2.快速原型模型:
快速原型的本质是“快速”,快速原型模型是不带反馈环的
优点: 有助于保证用户的真实需要的得到满足;软件产品的开发基本上是线性顺序进行的。
缺点: 系统结构通常较差;用户可能混淆原型系统和最终系统。

3.增量模型:
增量模型也称为渐增模型。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。使用增量模型时,第一个增量构件往往实现软件的基本需求,提供最核心的功能。
优点: 能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品。
难点: 软件体系结构必须是开放的;不同的构件可能无法集成到一体。

4.螺旋模型:
螺旋模型的基本思想是:使用原型及其他方法来尽量降低风险。
理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。适用于内部开发的大规模软件项目。
优点: (风险驱动)对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试和测试不足所带来的风险;维护和开发之间并没有本质区别。
缺点: 过多的迭代次数可能会增加成本,延迟提交时间。

5.喷泉模型:
“喷泉”这个词体现了面向对象软件开发过程迭代和无缝的特性。
喷泉模型适用于面向对象的软件开发
优点: 各个阶段没有明确的界限,开发人员可以同步开发;降低错误的可能性。
缺点: 需要大量的开发人员,不利于项目的管理;要求严格管理文档,审核难度大。

五、Rational统一过程(略)

练习题:
1.软件是一种( )。
A、程序
B、数据
C、逻辑产品
D、物理产品

2.软件生存周期中花费最多的阶段是( )。
A、详细设计
B、软件编码
C、软件测试
D、软件维护

3.软件开发方法是( )。
A、指导软件开发的一系列规则和约定
B、软件开发的步骤
C、软件开发的技术
D、软件开发的思想

4.瀑布模型本质上是一种( )模型。
A、线性顺序
B、顺序迭代
C、线性迭代
D、能及早见到产品的

5.在软件开发模型中,提出最早、应用最广泛的模型是( )。
A、瀑布模型
B、喷泉模型
C、快速原型模型
D、螺旋模型

6.瀑布模型不适合用于( )的软件开发。
A、需求模糊不清
B、用户不能参与开发
C、用户对计算机不了解
D、开发人员对业务知识不熟悉

7.软件工程的出现是由于( )。
A、软件危机的出现
B、计算机硬件技术的发展
C、软件社会化的需要
D、计算机软件技术的发展

8.软件在运行和使用中也存在退化问题。()
9.软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。()
10.软件同其他事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。()
11.原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。()
12.软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。()

选择题答案:CDAAAAA
判断题答案:对错对对对
  • 9
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Keil μVision是一款功能强大的集成开发环境(IDE),特别适用于嵌入式系统开发。下面是如何快速入门和使用Keil μVision软件的步骤: 1. 下载和安装:首先,从Keil官方网站下载Keil μVision软件,并按照安装向导进行安装。完成安装后,您将能够开始使用软件。 2. 创建新项目:打开Keil μVision软件后,在主菜单中选择“Project”>“New Project”来创建一个新项目。选择项目名称和存储位置,然后确定。 3. 配置设备:在创建项目后,您需要选择目标硬件设备。通过菜单中的“Project”>“Options for Target”来配置目标设备,包括选择芯片型号和设置时钟频率等。 4. 编写代码:在Keil μVision软件的源文件管理器中,创建和编辑您的代码文件。您可以使用C、C++或汇编语言来编写代码,以满足项目的需求。 5. 调试和仿真:Keil μVision具有强大的调试功能。通过在主菜单中选择“Debug”>“Start/Stop Debug Session”来启动调试会话。您可以在调试窗口中单步执行代码,观察变量的值以及程序状态等。 6. 编译和构建:通过点击主菜单中的“Build”按钮,Keil μVision会编译和构建您的项目。如果没有错误出现,则会生成可执行文件。 7. 下载和运行:最后,在主菜单中选择“Flash”>“Download”来将可执行文件下载到目标设备上。接下来,您可以启动设备并测试您的程序。 总之,Keil μVision软件通过提供友好的用户界面和强大的功能来帮助嵌入式开发人员快速开发和调试程序。通过按照以上步骤进行操作,您将能够迅速掌握和使用Keil μVision软件进行嵌入式开发。 ### 回答2: Keil μVision是一款广泛应用于嵌入式系统开发的集成开发环境(IDE)软件。以下是关于如何快速学习和使用Keil μVision的一些建议。 首先,了解Keil μVision的基本特点和功能。该软件提供了编辑、编译、调试等各种开发工具,可以支持多种处理器架构和编程语言。这些基本功能对于嵌入式系统开发至关重要,因此应该花些时间研究和理解它们。 其次,学习Keil μVision的界面和工具布局。熟悉软件的界面可以帮助您更高效地使用它。了解各种窗口、工具栏、菜单和选项卡的用途和作用,以及如何最大程度地利用它们来进行开发工作。 接下来,掌握Keil μVision的工程管理和配置。学习如何创建新工程、添加源代码文件、配置编译选项和调试设置等。了解这些关键步骤可以让您更好地组织和管理自己的项目。 然后,掌握代码编辑和编译。Keil μVision提供了强大的代码编辑器和编译器,您可以在其中编写、调试和优化代码。了解代码编辑器的各种功能,例如自动完成、代码折叠和格式化等。并学习如何编译代码并生成可执行文件。 最后,学习如何使用Keil μVision进行调试。这是软件的一个重要功能,可以帮助您查找和修复程序中的错误和问题。掌握断点设置、变量查看和寄存器监视等调试技巧,可以有效地辅助您进行程序调试。 总体来说,学习和掌握Keil μVision需要一定的时间和实践。建议您通过阅读相关的教程和文档,以及尝试模拟项目进行实践。通过不断地练习和尝试,您可以逐渐熟悉和掌握这个强大的嵌入式开发工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值