软件工程复习指南1-基础知识

什么是计算机软件

  1. 计算机软件指计算机系统中的程序、数据及其相关文档

    程序:按照特定顺序组织的计算机数据和指令的集合。
    数据:使程序能正常执行的数据结构
    文档:为了便于理解程序所需的与开发、维护和使用有关的资料

  2. 软件三要素:软件=程序+文档+数据

  3. 软件的特点:
    软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算
    软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。
    软件的使用没有硬件那样的机械磨损和老化问题,但会应缺陷和过时而退化

  4. 软件的分类
    系统软件:位于计算机系统中最靠近硬件的一层,其它软件一般都通过系统软件发挥作用,它与具体的应用领域无关。如操作系统、编译程序等。
    支持软件:支持软件的开发和维护的软件。如数据库管理系统、网络软件、软件开发环境等。
    应用软件:特定应用领域专用的软件。如实时软件嵌入式软件、科学和工程计算软件、事务处理软件、人工智能软件等。

例题:
下面不属于软件的组成的是( C )
A、程序
B、文档
C、记录
D、数据

软件危机

  1. 软件危机(Software Crisis):计算机软件的开发和维护过程所遇到的一系列严重问题。
  2. 软件危机的表现:
    对软件开发成本和进度的估算很不准确,甚至严重拖期和超出预算;
    无法满足用户需求,导致用户很不满意;
    质量很不可靠,经常失效;
    难以更改、调试和增强;
    没有适当的文档;
    软件成本比重上升;
    软件开发生产率跟不上计算机应用迅速深入的趋势。
  3. 软件危机的原因
    与软件本身特点有关
    软件开发与维护的方法不正确有关
    软件开发规模越来越大,软件开发复杂度越来越高

例题:
软件危机”是指( C)
A、计算机病毒的出现
B、利用计算机进行经济犯罪活动
C、软件开发和维护中出现的一系列问题
D、人们过分迷恋计算机系统

产生软件危机的原因主要与哪两个方面的问题有关?(C )
A、软件在计算机中很难识别,存在磁盘中也看不到
B、软件设计对人的智商要求很高,也要求很高的资金投入
C、软件产品本身的特点,开发和维护过程中用的方法不正确
D、软件很难理解,硬件也很复杂

什么是软件工程

  1. 软件工程的提出:1968年秋季,NATO(北约)的科技委员会召集了近50名一流的编程人员、计算机科学家和工业界巨头,讨论和制定摆脱“软件危机”的对策。Fritz Bauer在会议上首次提出“软件工程”概念。
    1968年和1969年,北大西洋公约组织成员国软件工作者两次召开会议,讨论摆脱软件危机的方法,并提出软件工程的概念。人们发现,将传统工程的原理、技术和方法应用于软件开发可以起到使软件生产规范化的作用,这正是软件生产工程化的思想。所以软件工程的最终目的就是解决软件生产工程化的问题。
  2. 软件工程的定义:软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
  3. 软件工程的目标:低成本,高质量,按时交付
  4. 软件质量 体现在哪些方面?
    正确性 ——程序操作符合规格说明的程度
    可维护性——程序经受变化的程度
    完整性 ——程序不受外界攻击影响的程度
    可用性 ——程序容易被人使用的容易程度
    可扩展性

例题:
为了解决软件危机,人们提出了用( B )的原理来设计软件。
A、A、运筹学
B、工程学
C、软件学
D、数学
软件工程的基本目标是(A)。
A、开发足够好的软件
B、消除软件固有的复杂性 
C、努力发挥开发人员的创造性潜能
D、更好地维护正在使用的软件产品

软件生命周期

  1. 软件工程三个要素:方法、工具、过程
  2. 软件工具是指能支持软件生存周期中某一阶段(如系统定义、需求分析、设计、编码、测试或维护等)的需要而使用的软件工具。
  3. 软件工程方法:传统方法学、面向对象方法学、形式化方法
    传统方法学也称为生命周期方法学或结构化范型。它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。
    与传统方法相反,面向对象方法把数据和行为看成是同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。
    形式化方法是一种基于形式化数学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序
  4. 软件生命周期由软件定义软件开发运行维护(也称为软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。
    软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析
    开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。其中前两个阶段又称为系统设计,后两个阶段又称为系统实现
    维护时期的主要任务是使软件持久地满足用户的需要

例题:
软件工程的基本要素包括方法、工具和(A )
A、过程
B、软件系统
C、软件文档
D、人员

1 什么是计算机软件?软件的特点是什么?
2 何谓“软件危机”?
3 主要有哪些软件工程设计方法?软件工程有哪三个要素?
4 软件生命周期主要包含哪几个阶段?
5 何谓软件过程?软件开发主要有哪些活动?

  • 25
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月落霜满天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值