当前课程知识点:软件工程 >  第7章 需求获取 >  7.1 需求工程师 >  讲课视频

返回《软件工程》慕课在线视频课程列表

讲课视频在线视频

下一节:讲课视频

返回《软件工程》慕课在线视频列表

讲课视频课程教案、知识点、字幕

各位同学 大家好

我是清华大学软件学院的刘璘

下面由我来带领大家学习

软件需求有关的学习内容

需求分析是软件工程中的

重要步骤

是决定软件项目成败的

关键影响因素之一

需求阶段的错误

在后期的纠错成本

将远远高于软件设计

和实现阶段的错误的纠错成本

因此 需求工程成为软件工程

和系统工程重要的分支领域之一

在需求工程中

我们主要关注的是

软件和系统需求的获取 建模

分析 验证和管理

在下面几周的学习过程中

我们将围绕

软件需求的获取技术

建模方法和分析方法

开展学习活动

大家将学到

如何产生软件产品的新的创意

如何和干系人进行有效地沟通

如何基于目标 场景和主体

来建模软件系统的需求

如何用图形化的方法

对软件系统的行为和结构

进行分析

大家在这部分内容的学习过程中

要注意两点

首先就是要注意

将问题的分析和解决方案的生成

区别开来

其次要根据软件项目本身的规模

人员的技能 客观的条件

项目的成本

来选择合适的需求获取技术

和建模方法

选择最合理的软件系统设计方案

我们先来说说需求工程师

在项目中间的角色

在开始介绍建模的内容之前

先给大家说一段小故事

故事说 有一天

软件工程师 计算机科学家

和数学家在圆明园相遇

他们同时看到

湖面上游来了一只黑天鹅

在看到这一现象之后

软件工程师在他的世界模型中

将天鹅建模为黑颜色的

正如下面的公式所写

对所有的X

如果X是一只天鹅

那么X的颜色是黑色的

计算机科学家

在看到这一现象之后

在他的世界模型中

将天鹅中的一部分建模为黑色的

正如下面的公式所写

存在至少一只天鹅

它的颜色是黑色的

而数学家在见到这个天鹅之后

得出的是以下结论

在圆明园有一个湖

湖上至少有一只天鹅

它的一面是黑色的

从这则故事我们可以看出

软件工程师的思维方式

是做出尽可能简化问题

复杂度的假设

也就是 杀鸡不用牛刀

计算机科学家的思维方式

是要将眼前的问题

看成是一个

更具一般性问题的特例

因此需要找出不失一般性的

解决方法

如果更具一般性的问题解决了

那么眼前的问题自然迎刃而解

计算机科学家的思维方式

在解决诸如编译器 操作系统

数据库等通用软件的设计时

是非常必要的

而软件工程师的思维方式

则更适用于解决具体领域的

工程应用问题

数学家则追求的是精确性

在2010年的国际需求工程会议上

来自英国的

Michael Jackson教授

也是JSD结构化设计方法的

发明人

他提到早期的需求工程师

也可以归为像David Camier

这样在公司担任

首席业务分析师的人员

David的具体贡献

是为食品巨头Lyons设计了

他们的第一款订单处理软件

该系统从1951年运行到1954年

David是那个系统的

首席业务分析师

我遇到的第一位在名片上

写有需求工程师字样的

是在2006年的需求工程会议上

西门子汽车电子公司的

年轻的工程师Natalie Darnell

她跟我提到

她每天在公司的日常工作

是书写汽车电子产品的产品说明

作为一位当代的需求工程师

应该具有的是分析问题

和解决问题的能力

以及主动参与

人际交流和沟通的能力

软件工程师的基本技能和知识

以及对应用领域的深厚的了解

书面语言的组织和表达能力等

一名优秀的需求工程师

她将以下的内容设为她自己的

努力的方向和目标

首先就是要找出

对环境以及系统的错误的假设

确保描述的一致性

以及对标准和规范的依从性

减少组织和个人间的误解

提高支持人员的反应速度和效率

提升客户满意度

撰写优质的需求文档

要值得注意的方面

就是要排除一切的干扰

避免沉默 避免过度规约

避免含糊和矛盾的需求描述

避免向前引用

以及不切实际和一厢情愿的假设

软件工程课程列表:

第1章 初识软件工程

-1.1 软件无处不在

--讲课视频

-1.2 软件的本质特性

--讲授视频

-1.3 软件工程的产生与发展

--讲授视频

-1.4 软件工程的基本概念

--讲授视频

-1.5 软件质量实现

--讲授视频

-1.6 业界人士谈软件工程

--海芯科技创始人施侃乐访谈

-测验题--作业

-讨论题

--讨论题

-作业题

--第一张 作业题

第2章 编写高质量代码

-2.1 编程过程与规范

--讲课视频

-2.2 良好的编程实践

--讲课视频

-2.3 Python集成开发环境

--讲课视频

-2.4 代码静态检查

--讲课视频

-2.5 代码性能分析

--讲课视频

-2.6 结对编程实践

--讲课视频

-2.7 刘贺谈软件工程

--讲课视频

--讨论

-测验题--作业

-作业题

--第二章 作业题

第3章 单元测试

-3.1 单元测试概述

--讲课视频

-3.2 黑盒测试方法

--黑盒测试方法

-3.3 白盒测试方法

--基本概念

--代码覆盖标准

--基本路径测试

-3.4 单元测试工具

--单元测试工具

--html

-测验题--作业

-作业题

--第三章 作业题

--作业题附件

第4章 软件开发过程

-4.1 软件过程

--讲课视频

-4.2 软件过程模型

--讲课视频

-4.3 敏捷开发过程

--讲课视频

-4.4 微软公司开发过程

--邹欣经理自我介绍

--微软开发过程之一

--微软开发过程之二

-测验题--作业

第5章 团队开发管理

-5.1 团队组织与管理

--讲课视频

-5.2 项目沟通管理

--讲课视频

-5.3 软件项目计划

--讲课视频

-5.4 软件项目估算

--讲课视频

-测验题--作业

-讨论题

--讨论

第6章 敏捷开发与配置管理

-6.1 敏捷开发之Scrum

-- 敏捷开发之Scrum

--html

-6.2 用户故事与估算

--讲课视频

-6.3 团队协作工具Tower

--Tower工具介绍(1)

--Tower工具介绍(2)

-6.4 配置管理

--讲课视频

-6.5 配置管理工具Git

--讲课视频

-测验题--作业

-作业题--作业

第7章 需求获取

-7.1 需求工程师

--讲课视频

-7.2 需求定义

--讲课视频

-7.3 需求的类型

--讲课视频

--讲课视频(2)

-7.4 需求工程过程

--讲课视频

-7.5 需求的主要来源

--讲课视频

-7.6 需求获取技术

--讲课视频

--讲课视频二

--讲课视频三

-7.7 撰写需求文档

--讲课视频

-测验题--作业

-讨论题

--讨论

第8章 用例建模

-8.1 用例建模概念

--讲课视频

-8.2 用例建模过程

--讲课视频

-8.3 用例建模精讲

--讲课视频

-8.4 建模工具介绍

--讲课视频

-8.5 微信抢票应用案例

--讲课视频

-测验题--作业

-讨论题

--讨论

第9章 面向对象分析与设计

-9.1 面向对象分析

--讲课视频

-9.2 CRC卡片分拣法

--讲课视频-1

--讲课视频-2

-9.3 面向对象设计

--讲课视频-1

--讲课视频-2

-9.4 类图建模

--讲课视频-1

--讲课视频-2

-第9章 面向对象分析与设计--测验题

-讨论题

--讨论

第10章 行为建模

-10.1 顺序图概念

--讲课视频

-10.2 顺序图建模

--讲课视频

-10.3 顺序图风格

--讲义视频

-10.4 状态建模

--讲课视频

-10.5 状态图

--讲课视频

-10.6 状态图精讲

--讲义视频

-测验题--作业

-讨论题

--讨论

第11章 软件系统设计

-11.1 软件体系结构概念

--讲授视频

-11.2 软件设计原则

--讲授视频

-11.3 软件体系结构风格(一)

--讲授视频

-11.4 软件体系结构风格(二)

--讲授视频

-11.5 软件体系结构风格(三)

--讲授视频

-11.6 软件设计过程

--讲授视频

-11.7 Web系统架构设计

--讲授视频

-11.8 数据库选择策略

--讲授视频

-测验题--作业

-作业题

--html

--html

--html

-作业题--作业

第12章 软件交互设计

-12.1 交互设计概述

--讲授视频

-12.2 交互设计目标

--讲授视频

-12.3 GUI设计原则

--讲课视频

-12.4 KLM效率模型

--Video

-12.5 Fitts定律

--讲授视频

-12.6 交互设计过程

--讲授视频

-测验题--作业

第13章 软件系统测试

-13.1 软件测试概念

--讲课视频

-13.2 软件测试类型

--讲课视频

-13.3 软件功能测试

--讲课视频

-13.4 软件性能测试

--讲课视频

-测验题--作业

第14章 软件交付与维护

-14.1 软件部署与交付

--讲课视频

-14.2 软件演化与维护

--讲课视频

-测验题--作业

第15章 期末考试与总结

-第一部分:基础知识

-第二部分:编程与测试(选做)

--编程与测试(选做)

讲课视频笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。