软件工程:第一章 软件工程

2021年底期末软工考试复习资料整理


第一章 软件工程

1、软件危机,软件工程出现的背景;

定义: 软件在开发和维护过程中遇到的一系列严重问题。
具体表现:

  1. 软件开发的进度难以控制,经常出现经费超预算、完成期限一再拖延的现象。
  2. 软件需求在开发初期不明确,导致矛盾在后期集中暴露,从而对整个开发过程带来灾难性的后果。
  3. 由于缺乏完整规范的资料,加之软件测试不充分,从而造成软件质量低下,运行中出现大量问题。
  4. 软件文档资料不完整、不合格
  5. 软件的可维护性差,程序中的错误难以改正,程序不能适应硬件环境的改变,不能应用户要求增加新的功能;
  6. 软件价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升

2、软件的特点,与硬件特性的区别;

特点

  1. 软件是逻辑的,而不是物理的产品;
  2. 软件是由开发或工程化而形成的,没有明显的制造过程;软件成本集中于“开发”上,意味着软件项目不能像硬件制造项目那样来管理;
  3. 软件在运行和使用期间,不存在硬件那样的磨损和老化问题,但它存在退化问题,开发人员必须维护软件。
  4. 大多数软件是自定的,而不是通过已有构件组装而成的;迄今为止,软件的开发尚未完全摆脱手工方式;
  5. 软件成本相当昂贵;
  6. 软件本身是复杂的:软件比任何其他人类制造的结构更复杂,硬件的复杂性和软件相比也是微不足道的;软件本质上的复杂性使软件产品难以理解,影响软件过程的管理,并使维护过程十分复杂。

软硬件区别:

  1. 软件是开发出来的,硬件是制造出来的;
  2. 硬件有磨损,而软件没有;
  3. 多数硬件产品是基于构件组装出来的,而多数软件产品目前依然是定制开发的

3、软件工程的概念;

软件工程: 是研究和应用如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化方法应用到软件领域。


4、软件工程三要素:过程、方法、工具;

  1. 过程: 进行一系列有组织的活动,从而能够合理和及时地开发出计算机软件。过程定义了技术方法的采用、工程产品(包括模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证和变更的管理。
  2. 方法: 为软件开发提供“如何做”的技术。它包括了项目计划、需求分析、系统设计、程序实现、测试与维护等一系列的任务。
  3. 工具: 为过程和方法提供自动的或半自动的支持。这些软件工具被集成起来,建立起一个支持软件开发的系统,称之为计算机辅助软件工程(CASE, Computer Aided Software Engineering)。CASE集成了软件、硬件和一个存放开发过程信息的软件工程数据库,形成了一个软件工程环境。

5、软件工程学的基本原则:抽象、信息隐藏(封装)、模块化、一致性;

  1. 抽象(abstraction):抽取事物最基本的特性和行为,忽略非基本的细节。采用分层次抽象的办法可以控制软件开发过程的复杂性,有利于软件的可理解性和开发过程的管理。
  2. 信息隐藏(information hiding)
  • 将模块中的软件设计决策封装起来的技术;
  • 按照信息隐藏的原则,系统中的模块应设计成箱,模块外部只能使用模块接口说明中给出的信息,如操作、数据类型等。
  1. 模块化(modularity)
  • 模块(module)是程序中逻辑上相对独立的单元;
  • 模块的大小要适中;
  • 高内聚、低耦合。
  1. 一致性(consistency)
  • 整个软件系统(包括文档和程序)的各个模块均应使用一致的概念、符号和术语;程序内部接口;软件与硬件接口;系统规格说明与系统行为应保持一致;
  • 实现一致性需要良好的软件设计工具(如数据字典、数据库、文档自动生成与一致性检查工具等等)、设计方法和编码风格的支持。

6、什么是软件构件;

**软构件(Software Component):**具有一定集成度并可以重复使用的软件组成单元;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值