软件工程复试归纳总结

第1章

1.1什么是计算机软件?

计算机软件是指计算机系统中的程序及其文档。程序是计算机任务的处理对象和处理规则。文档是了解程序的阐述资料

1.2计算机软件的特点?

  • 软件开发成本和进度难以准确估算
  • 软件是被开发和设计的,没有明显的制造过程。开发成果复制即可,但维护工程量大
  • 软件没有机械磨损和老化问题

1.3软件的分类

  • 系统软件(编译程序、操作系统)
  • 支撑软件(数据库管理系统、软件开发工具等)
  • 应用软件

1.4软件语言的分类

  1. 需求定义语言。(书写软件需求定义。PSL)
  2. 功能性语言(书写软件功能规约。广谱语言、z语言)
  3. 设计性语言。(书写软件设计规约。PDL)
  4. 程序设计语言。(书写计算机程序。高级、低级)
  5. 文档语言。(书写计算机软件文档。z、obj)

1.5什么是软件工程?

  • 将系统化、严格约束的、可量化的方法应用于软件开发、运行和维护,即将工程化应用于软件
  • 对1中所述方法的研究

1.6软件工程的基本原则

  1. 选取适宜的开发风范
  2. 采取合适的设计方法
  3. 提供高质量的工程支持
  4. 有效的软件工程管理

1.7软件的生命周期阶段

  1. 计算机系统工程阶段。任务:确定软件的总体要求和范围。进行成本估算、进度安排和可行性分析
  2. 需求分析阶段。解决软件开发做什么的问题
  3. 设计阶段。系统设计和详细设计。系统设计:设计软件系统的体系结构,也包括软件系统的组成成分、各个成分的功能和接口、成分之间的连接和通信,数据库。详细设计:各个部分的实现细节,包括数据结构和算法
  4. 编码。
  5. 测试。单元测试、集成测试、确认测试和系统测试
  6. 运行和维护。软件运行阶段,对投入运行的软件进行维护

1.8简述CMM的5个等级

  1. 初始级。软件过程特点是无秩序、甚至是混乱的
  2. 可重复级。建立了基本的项目管理过程来跟踪成本、进度和功能特性
  3. 已定义级。将管理和工程活动文档化、标准化,并综合成该组织的标准软件过程。
  4. 已管理级。收集对软件过程和产品质量的详细度量值,对软件过程和产品有定量的理解和控制
  5. 优化级。新思想、新技术促使过程不断改进

1.9软件过程模型及其特点

  1. 瀑布模型。特点:上一阶段的结果作为下一阶段的输入。客户的需求也常常变化。
  2. 演化模型。
  • 增量模型。将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软件的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充。
  • 原型模型。预期系统的一个执行版本,反映系统性质。快速、低成本地构建原型。
  • 螺旋模型。将原型实现和瀑布模型结合,增加风险分析。

     3.喷泉模型。支持面向对象开发的过程模型。

1.10CASE(计算机辅助软件工程)工具

第2章 系统工程

2.1简述系统工程的任务

1、识别用户需求

识别用户对基于计算机系统的总体要求,标识系统的功能和性能范围

2、系统建模和模拟

(1)硬件系统建模。确保计算机系统的安全性、可靠性、性能等

(2)软件系统建模。系统软件可分解为若干个子系统。描述各软件子系统的功能、性能等

(3)人机接口模型。描述人如何与基于计算机系统进行交互,用户环境、活动、交互语法语义等

(4)数据模型。用了哪些数据库管理系统

3、成本估算及进度安排

4、可行性分析

5、生成系统规格说明

2.2基于计算机系统的元素

软件、硬件、人员、数据库、文档、规程(每个系统元素或其外部相关流程的具体步骤)

第三章 需求工程

软件需求是指用户对目标软件在功能、行为、性能、设计约束等方面的期望

3.1需求工程分为哪些阶段,描述各阶段任务?

  1. 需求获取。通过与用户进行交流,对现有系统的观察以及对任务进行分析,确定系统或产品的限制性描述
  2. 需求分析和协商。
  3. 系统建模
  4. 需求规约
  5. 需求验证
  6. 需求管理

3.2软件需求包含

功能、性能、用户或人的因素、环境、界面、文档、数据、资源使用、可行性、软件成本和开发进度、其他

3.3软件需求分析的操作性原则和需求工程的指导性原则是什么?

  • 必须能够表示和理解问题的信息域
  • 必须能定义软件将完成的功能
  • 必须能表示软件的行为(作为外部事件的结果)
  • 必须划分描述数据、功能和行为的模型,从而可以分层次地揭示细节
  • 分析过程应该从要素信息移向细节信息

3.4软件需求规约主要包含的内容

  1. 引言:陈述软件目标,基于计算机的系统语境进行描述
  2. 信息描述:给出软件必须解决的问题的系统描述,记录信息内容、信息流和信息结构
  3. 功能描述:描述解决问题所需的每个功能
  4. 行为描述:描述作为外部事件和内部事件的控制特征的软件操作
  5. 检验标准:描述系统成功的检验标志
  6. 参考书目
  7. 附录:补充信息、表格数据、算法描述等

第四章 设计工程

4.1 软件设计任务

  1. 数据/类设计
  2. 体系结构设计
  3. 接口设计
  4. 部件级设计

4.2软件设计过程

  1. 指定规范
  2. 体系结构和接口设计
  3. 数据/类设计
  4. 部件级设计
  5. 编写设计文档
  • 1
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
当然,我可以为您介绍一下软件工程复试常见问题。在软件工程复试中,常见的问题包括但不限于以下几个方面: 1. 项目经验:面试官可能会询问您在软件开发方面的项目经验,包括您参与的项目、您在项目中承担的角色和职责、遇到的挑战以及您是如何解决问题的等等。 2. 编程能力:面试官可能会要求您进行编程题目的解答,以考察您的编程能力和解决问题的能力。这些题目可能涉及算法、数据结构、设计模式等方面。 3. 技术知识:面试官可能会问及您在软件工程领域的基础知识,例如面向对象编程、数据库、操作系统、网络等方面的知识。他们可能会深入探讨某些概念或者要求您解释某些技术原理。 4. 沟通能力和团队合作:软件工程师需要具备良好的沟通能力和团队合作能力。面试官可能会通过提问您在团队合作中的经验、解决冲突的能力以及您如何与他人合作来评估您的这些能力。 5. 个人发展规划:面试官可能会询问您对软件工程师职业的认识和理解,以及您对个人发展的规划和目标。他们可能会问您为什么选择软件工程专业以及您对未来的职业发展有何规划。 这些只是一些常见的问题,具体的问题可能因学校和面试官而异。在准备复试时,建议您对自己的项目经验、编程能力、技术知识和个人发展规划进行充分准备,并且多进行模拟面试以提高自己的应答能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值