软件工程案例教程答案(第三版)韩万江 姜立新 编著 (软件项目开发实践)知识点总结

软件工程案例教程答案(第三版)韩万江 姜立新 编著 (软件项目开发实践)知识点总结

从本学期开始,整理每一门课的笔记,学完一章一总结~~ (◕ᴗ◕✿)
写的不对的地方欢迎指正

课后习题答案在这里

第一章 概论

知识点

  • 软件 = 程序 + 数据 + 文档
  • 软件发展历史:程序设计阶段、 软件设计阶段、 软件工程时代
  • 软件危机:计算机软件开发和维护过程中遇到的所遇到的一系列严重问题
  • 软件危机主要表现
    1.对于软件开发成本和进度的估计常常不准确
    2.开发的软件不能满足用户要求
    3.软件产品的质量低
    4.开发的软件可维护性差
    5.软件通常没有适当的文档资料
    6.软件的成本不断提高
    7.软件开发生产率的提高赶不上硬件的发展和人们需求的增长
  • 软件工程:涉及计算机学科、工程学科、管理学科和数学学科
  • 软件开发中最大的问题不是技术问题而是管理问题
  • 软件工程研究的主要内容是方法、过程和工具
  • SWEBOK(软件工程知识体系)指南第三版共15个知识域,细分为两大类:软件工程教育需求(4个)、软件工程实践(11个)。
  • 软件工程是用工程科学的知识和技术原理来定义、开发和维护软件的一门学科
  • 软件工程三段论:软件项目管理、软件项目开发、软件过程改进
  • 软件工程过程管理五个阶段:初始、计划、执行、控制、结束
  • 软件开发模型:
    1.瀑布模型:文档驱动。经典(传统)模型
    2.V模型:测试驱动。瀑布变种
    3.原型模型:需求不确定
    4.增量式模型:需求变化。瀑布演变
    5.螺旋模型:制定计划、风险分析、实施工程、客户评价
    6.喷泉模型:面向对象
    7.智能模型:基于知识、基于规则
    8.敏捷生存期模型:快。包括Scrum、XP、Open UP、Lean、DSDM、FDD
  • 敏捷模型:Scrum,一个月。XP,随时发布,成员平等

第二章 软件工程方法学

知识点

  • 软件工程方法
    1.结构化软件工程方法
    ① 结构化分析(SA)
    ② 结构化设计(SD)
    ③ 结构化编程(SP)
    2.面向对象软件工程方法
    ① 面向对象分析(OOA)
    ② 面向对象设计(OOD)
    ③ 面向对象编程(OOP)
    ④ 面向对象测试(OOT)
    ⑤ 面向对象维护
    3.面向构件软件工程方法
    ① 构件识别
    ② 构件适配
    ③ 构件组装
    ④ 构件演化
    4.面向代理软件工程方法
    ① 代理的特性
    a.自治性
    b.开放性
    c.反应能力
    ② 软件代理组成
    a.通信模块
    b.承诺业务处理集合
    c.调度模块
    d.数据库
    e.知识库
    f.构件库
  • UML的三个基本构造块:事务、关系、图
  • UML图示:用例图、类图、对象图、包图、活动图、状态图、序列图、协作图、构件图、部署图
  • 软件逆向工程是根据对软件代码的分析恢复其设计和需求的过程
  • 软件工程方法比较(从分析方法角度比较)
    在这里插入图片描述
  • 数据流图描述数据在软件中的流动和处理过程,是软件模型的一种图示,它一般包括4种图形符号:变换/加工、外部实体、数据流向和数据存储
  • 面向对象方法是将数据和对数据的操作紧密地贴合起来的方法,这是其与传统结构化方法的主要区别
  • 结构化分析方法是面向数据流的自顶向下逐步求精的分析方法
  • 结构化的概要设计是以模块化技术为基础的软件设计方法
  • 在结构化分析方法中,常用的描述软件功能需求的工具是数据流程图和数据字典

第三章 软件需求

知识点

  1. 层次划分4个:业务需求、用户需求、功能需求、软件需求规格说明

  2. IEEE1998分为5类:功能需求、性能需求、质量属性、对外接口、约束

  3. 需求工程管理5个阶段:需求获取、需求分析、需求规格说明编写、需求验证、需求变更

  4. 需求验证:正确性、一致性、完整性、可行性、必要性、可验证性、可跟踪性

  5. 数据流图四种基本元素:过程、实体、数据流、数据存储
    在这里插入图片描述在这里插入图片描述

  6. 面向对象使用UML建模

  7. 常用的UML图示:用例图、顺序图、状态图、协作图、活动图

  8. 结构化分析方法:数据流图、数据字典、系统流程图

第四章 概要设计

知识点

  1. 4个设计模型:体系结构设计模型、数据设计模型、接口设计模型、构件设计模型
  2. 4个设计部分:体系结构设计、构件(模块)设计、数据设计、接口设计
  3. 至少5种体系结构(大题)
    H/T体系结构、C/S体系结构、B/S体系结构、多层体系结构、面向服务的体系结构、面向工作流引擎
  4. 构件设计的基本原则:模块独立性
  5. 衡量模块独立性的原则:耦合度、内聚度。【高内聚低耦合】
  6. 内聚是【模块内部语句之间的联系】,分别有
    偶然内聚:块内各个任务之间没有有意义的联系
    逻辑内聚:一个模块完成的任务在逻辑上相同或相似
    时间内聚:一个模块内包含的任务需要在同一时间执行
    过程内聚:一个模块内包含的各个处理元素是相关的,而且必须按固定的次序执行。
    通信内聚:一个模块内的各个处理元素引用共同的数据
    顺序内聚:若一个模块的各处理元素关系密切,必须按规定的处理次序执行
    功能内聚:一个模块仅完成单一功能
  7. 耦合是【模块与模块之间的联系】分别有
    独立耦合:没有直接联系的模块。
    数据耦合:两个模块彼此交换数据。
    控制耦合:两个模块传递的不是数据参数而是控制参数。
    公共耦合:若干个模块对同一数据区进行存取操作。
    内容耦合:一个模块直接访问另一个模块的内部代码或数据
  8. 数据模型分为:概念数据模型、物理数据模型、逻辑数据模型
  9. 数据库设计分为三个阶段:概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段
  10. 接口设计三部分:用户界面设计、外部接口设计、内部接口设计(模块之间)
  11. 类图常用关系:依赖、泛化、关联、实现(与UML一样)
  12. 高质量设计特征
    (1)软件的可扩展性
    (2)模块的独立性
    (3)异常处理
    (4)错误预防和错误处理
    (5)代码重用性设计
    (6)友好的人机交互页面

第五章 详细设计

知识点

1.三个任务:构件(模块)描述、算法描述、数据描述
2.详细设计工具:程序流程图、盒图、决策表、PAD图、PDL伪代码

第六章 测试

知识点

  1. 白盒测试的覆盖技术有
    语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路劲覆盖黑盒5个(大题有)
  2. 黑盒测试的常用方法有:
    边界值分析、等价类划分、规范导出法、错误猜测法、因果图法、决策表、场景法
  3. 等价类划分:
    (1)划分等价类
    (2)编号
    (3)测试数据
    例题:在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  1. 软件测试级别:单元测试、集成测试、系统测试、验收测试、上线测试
  2. 集成测试:大爆炸集成测试、自底向上集成测试、自顶向下集成测试、三明治集成测试、冒烟集成测试
  3. 上线测试:alpha、beta(真正用户来测)
  4. 集成测试:经过单元测试后集成在一起测
  5. 静态测试:文档审查、代码检查、技术评审
  6. 动态测试:白盒、黑盒
  • 1
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值