软件开发工具与环境

date
May 20, 2021
slug
sdeat
status
Published
summary
tags
inSchool
type
Post

一、复习题干

1. 概念题

2. 设计题

3. 论述题

|||
|:--|:-:|
|软件开发工具与环境导论|介绍自己以前设计软件的流程|
|软件开发环境与工具概述|介绍自己以前设计软件的流程|
|软件开发工具功能与结构|介绍一种自己熟悉的软件工具|
|软件开发工具的选择|介绍一种自己熟悉的软件工具|
|需求开发工具介绍|自己如何获取用户需求,又是如何表达的?|
|设计开发工具|自己常用的设计模型是什么?如何建模?|
|程序设计工具|自己有什么编程技巧?开发过什么软件?|
|软件测试工具介绍|自己用过什么测试工具?如何开展测试工作?|
|配置管理工具介绍|什么叫软件产品线?该如何构建软件产品线?|
|软件项目管理工具介绍|自己实现项目管理的过程是怎么的?|
## 二、考试注意点:
1. 概念题(5分 x 6道题)
- 每道题都是一个术语,每个题都需要展开论述,找到至少五个得分点。
1. 设计题(10分 x 4道题)
- 四道题,画出四张图。
- 上课都有讲过模型,离不开几张图,核心四五张图。
- 九张图都很重要;要注意常用的模型。
- 每张图都应该有多个角色、用例,这个是得分点(10分如果图只有一个用例,就给 2~3 分)。
- 分析的工具、设计、测试等等工具的考查
1. 论述题(15分 x 2道题)
- 两道题都是写文字,对应的字数硬性不少于第一大题。
## 三、复习点
### 概念题
#### 软件开发工具与环境导论
1. 软件
软件是一系列按照特定顺序组织的计算机数据和指令的集合 [`@百度百科`](<https://www.baidu.com/link?url=KIv_vr9-yG1PKV898f7gj8Fd0y_6wF2Nl8AIlXP6a26sICb7PtwckxbCV1Y_OZlSwhjT_Y2RNiDltJT6s4dLsb-VvSrO-rUkUsapJYeSjWi&wd=&eqid=cd3ec3f1000d8fd50000000660a32ccc>)
1. 软件生命周期
软件生命周期是软件的产生直到报废或停止使用的生命周期。
软件生命周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试与测试、验收与运行、维护升级到废弃等阶段。
1. 软件过程模型
软件过程模型是一种概念,这种策略针对软件工程的各个阶段提供了一套范型,使工程的进展达到预期的目的。
1. 软件工程
IEEE:软件工程是:1. 将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2. 在 1 中所述方法的研究。
#### 软件开发环境与工具概述
1. 软件工具
软件工具是指为支持计算机软件的开发、维护、模拟、移植或管理而研究的程序系统。
1. 软件环境
软件环境指运行于计算机硬件之上的驱动计算机及其外围设备实现某种目的的软件系统。
PPT:软件开发环境是指在计算机的基础上,为了支持软件开发而提供的一组工具软件系统
1. 程序设计方法学
程序设计方法学是讨论程序的性质以及程序设计的理论和方法的一门学科,是研究和构造程序的过程的学问,是研究关于问题的分析,环境的模拟,概念的获取,需求定义的描述,以及把这种描述变换和编码成机器可以接受表示的一般的方法。
1. CASE
- CASE
计算机辅助软件工程
- CASE 工具
一种软件工程。对某个具体的软件生命周期的任务实现自动化(至少是某一部分的自动化)。
- CASE 系统
一种集成的 CASE 工具。使用一个公共的用户接口,并在一个公共的计算机环境下运行。
#### 软件开发工具功能与结构
1. 软件工具的基本功能、结构和分类
- 基本功能
**软件工具是指为支持计算机软件的开发、维护、模拟、移植或管理而研制的程序系统**。它为专门目的而开发的,在软件工程范围内也就是为实现软件生存期中的各种处理活动(包括管理、开发和维护)的自动化和半自动化而开发的程序系统。
- 结构
软件工具通常由 `工具`、`工具接口` 和 `工具用户接口` 三部分组成。
- 分类
软件工具分类六类:模拟工具、开发工具、测试与评估工具、运行和维护工具、性能质量工具、程序设计支持工具。
#### 软件开发工具的选择
#### 需求开发工具介绍
1. 问题域
问题域是指被开发系统的应用领域,即在客观世界中由该系统的业务范围。
1. 问题定义
问题定义是软件定义时期的第一个阶段。在这个阶段需要弄清楚用户“需要计算机解决什么问题”。
1. 可行性分析
软件可行性分析是通过对项目的市场需求、资源供应、建设规模、工艺路线、设备类型、环境影响、资金筹措、盈利能力等方面的研究。
1. UML 模型
?UML 建模技术是一种建模语言,指用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类之间的关系、类的实例相互配合实现系统的动态行为等。
#### 设计开发工具
1. 模块化与模块独立
模块独立性是指每个模块都是独立的,与其他的模块的联系最少并且接口简单。
> 模块独立性是评价设计好坏的重要指标。
1. 耦合与内聚
耦合和内聚是评价软件设计的好坏标准,主要用于程序的面向对象设计,主要看类的内聚性是否高,耦合度是否低。目的是使程序模块的可重用性、移植性大大增强。
1. 分解与抽象
分解是指计划地将系统分解成足够小的子系统(分解时控制软件复杂性的基本手段)
抽象是把事物本质的共同特征提取出来从而不考虑细节,抽象是一个逐步的过程。 `PPT-6 P10`
1. 信息隐藏
信息隐藏是指一个模块包含的信息,对与外部而言是不可直接访问的,只有通过接口进行访问。 `PPT-6-P10`
#### 程序设计工具
1. 程序语言分类
高级语言可以分为:
1. 解释型:一般编译一遍执行,效率较低。例如:Basic、Java
1. 编译型:在应用程序执行之前,先把源代码编译成机器语言,然后再调入内存中执行。例如:C、CPP、Delphi
1. 程序设计方法学
程序设计方法学是讨论程序的性质以及程序设计的理论和方法的一门学科,是研究和构造程序的过程的学问,是研究关于问题的分析,环境的模拟,概念的获取,需求定义的描述,以及把这种描述变换细化和编码成机器可以接受的表示的一般方法。
1. 面向对象
在面向对象的程序设计中,对象指的是计算机系统中的某一个成分。在面向对象程序设计中,对象包含两个含义,一个是数据,另外一个是动作。对象则是数据和动作的结合体。对象不仅能进行操作,同时还能记录下操作结果。
#### 软件测试工具介绍
1. 测试用例
测试用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于合适是否满足某个特定软件需求。
1. 回归测试
回归测试是指修改了旧代码后,重新进行测试以确认没有引入新的错误或导致其他代码产生错误。
1. 逻辑覆盖
逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术。它属于白盒测试。
1. 等价类
#### 配置管理工具介绍
1. 配置项
软件配置项是指软件开发过程中产生的所有信息,这些信息是软件配置管理的基础,包括:1. 计算机程序,2. 计算机文档,3. 程序数据。
1. 里程碑
1. 基线
基线是软件生存期各开发阶段末尾的特定点,也成为里程碑。
#### 软件项目管理工具介绍
1. 进度计划
1. 预算
1. 风险
1. 任务分解
### 设计题
#### 需求开发工具介绍
  • 业务模型设计
  • 数据模型设计
  • 功能模型设计
#### 设计开发工具
  • 结构设计
  • 数据设计
  • 过程设计
  • 接口设计

© Dio Pong 2021