软件工程复习重点

软件工程复习

题型

名词解释 20分

简答题 30分(5*6)

软件架构案例分析 50分

简答题知识点

P3 软件的定义

软件是指令的集合,通过执行这些指令可以满足预期的特性、功能和性能需求

数据结构,使得程序可以合理利用信息

软件描述信息,以硬拷贝和虚拟形式存在,用来描述程序的操作和使用。

P5 遗留软件

旧的系统、维护代价高且系统演化风险较高

P12 过程框架

定义了若干个框架活动,为实现完整的软件工程过程建立了基础

包括五个活动:沟通、策划、建模、构建、部署

P30 瀑布模型

软件工程经典生命周期,提出了一个系统的、顺序的软件开发方法,从用户需求的规格说明开始,通过策划、建模、构建和部署过程,最终提供完整的软件支持。

由于每个任务严格依赖于上一步骤,可能导致开发进度处于停滞状态

瀑布模型

优点:

  1. 只需关注当前步骤
  2. 提供了检查点
  3. 提供了一个模板,各个步骤有一个共同的模板

缺点:

  1. 阶段划分固定,增加了工作量
  2. 只有结束后用户才能看到结果
  3. 无法适应用户的需求改变
  4. 早期的错误只有到开发后期才能发现

P32 增量过程模型

增量模型交付一系列称为增量版本,随着每个版本的交付,逐步为用户提供更多的功能

增量过程模型

优点:

  1. 模块化
  2. 降低整个系统的风险
  3. 灵活性高,按优先级开发

缺点:

  1. 要求系统可以被划分
  2. 需要开放的架构,即新加入的部分对原来的主体是无侵入或少侵入的
  3. 容易变成边做边改,使软件开发失去控制

P46 用自己话描述什么是敏捷

敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。

换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

P49 极限编程过程(用自己的语言描述敏捷性?)

敏捷开发的核心是迭代开发(iterative development)。敏捷一定是采用迭代开发的方式。迭代开发将一个大任务,分解成多次连续的开发,本质就是逐步改进。在每个迭代中使用增量开发。

策划,评估用户故事

设计,Keep It Simple

编码,结对编程

测试

P72 第七章用例图

P96 需求建模有哪些模型

  1. 场景模型
  2. 面向类的模型
  3. 基于行为和模式的模型
  4. 数据模型
  5. 面向流的模型

P132 从需求模型到设计模型

需求模型到设计模型

  1. 数据/类设计,将类模型转换为设计类的实现
  2. 体系结构设计,定义软件主要结构化元素之间的关系
  3. 接口设计,描述系统之间如何进行通信
  4. 构件级设计,软件构件的过程性描述

P134 指导良好设计演化的三个特征

  1. 设计应当实现所有包含在需求模型中的明确需求,而且必须满足利益相关者期望的所有隐含需求
  2. 对于那些些编码者和测试者以及后续的软件维护者而言,设计应当满足可读性、可理解性
  3. 设计应当提供软件的全貌,从实现的角度对数据域、功能域和行为域进行说明

P157 体系结构风格的简单分类

  1. 以数据为中心的体系结构
  2. 数据流体系结构
  3. 调用和返回体系结构
  4. 面向对象体系结构
  5. 层次体系结构

P180 设计基于类的构件有哪些原则

  1. 开闭原则,模块应该对外延有开放性
  2. 替换原则,子类可以替换他们的基类
  3. 依赖倒置原则,依赖于抽象而非具体实现
  4. 接口分离原则,多个客户专用接口比一个通用接口好
  5. 发布复用等价性原则,复用的粒度就是发布的粒度
  6. 共同封装原则,一同变更的类应该合在一起
  7. 共同复用原则,不能一起复用的类不能被分到一组

软件架构部分

需求分析

识别角色,用例图

用例图

类设计(一到两个)、UML类图

类图

界面设计

接口函数

画顺序图

顺序图

数据建模(3个表)

数据库建模
数据库建模

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值