当前课程知识点:软件工程 >  第7章 需求获取 >  7.6 需求获取技术 >  讲课视频二

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

讲课视频二在线视频

讲课视频二

下一节:讲课视频三

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

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

需求研讨会的目标

是介绍项目的成员和干系人

收集需求列表

在会议的过程中运用头脑风暴

故事版 角色扮演

以及现有系统评估等方法

获取需求

它的指导原则是

由主持人组织研讨

给每个人发言的机会

保持研讨话题的相关性

定义每条需求的属性

记录新需求的发现

并在最后总结所获得的需求

并就需求给出大家的决策

和结论性的意见

会议是一种重要的

需求获取的途径和方法

可以用于总结获取成果

取得用户反馈

在每个阶段结束的时候

与干系人安排会议

讨论信息搜集阶段取得的成果

对需求作出结论性的意见

并为某项设计

取得大家的共识

通过会议

我们可以确认所获得的信息

讨论新的发现

同时

它也是一种重要的管理手段

用于推进项目开发的进展

会议的执行

需要首先确定会议执行的目标

要对会议进行仔细的筹划

确保会议是有效的

是有目的的

以需求获取为目的的会议

主要可能存在以下目标

首先是对需求内容的陈述 介绍

解决遇到的问题

协调矛盾的需求

分析项目进展

搜集和汇总数据

用户培训

对下一轮进行规划

在会议的执行之前和过程中

需要进行仔细的规划安排

首先在会前

要进行日程和设施的安排

确定日程之后

要提前通知给所有与会人

根据会议的目的

决定会议的组织形式

在会议的执行期间

要很好地控制会议进度

和程序进展

事后要对会议进行书面总结

给与会者发放会议记录

正式的陈述报告 项目预演

和头脑风暴

都有一定的执行方式

供大家参考

头脑风暴的目标

是要通过群组效应

激发大家对新产品

新系统的新想法

它在需求不完全明确的情况下

比较有用

进行头脑风暴的指导性方针

包括要采用有组织的

研讨会的形式

做到大家百花齐放

不评价 不争论 不批评

不受现实的可行性的限制

新观点的采集和产生多多益善

大家彼此之间抛砖引玉

互相启发

其目的就是为了

获取尽可能多的新观点

是一个发散的过程

参与观察法

是让分析师深入到

干系人的日常工作环境中来

从侧面观察干系人的行为

在这个过程中

分析师的决策越被动

观测的效果越好

那我们值得注意的一点是

分析师从旁观察

可能已经影响到了干系人的行为

也就是说观察到的结果

可能和干系人的日常行为

是有一些差异的

观察参与者的时候

要进行相应的动作研究

那么什么时候采用观察法

那就是当有人或者事物

需要通过观察

才能获得相关信息的时候

也是当干系人的知识无以言表

是行为指使的时候采用观察法

是行之有效的

参与观察法

是一种面向纵深的调查方法

由于观察者参与到

被观察对象的日常活动中

成为组织中的一员

因此带来了他的上下文相关的

优点

能够发现其它方法

无法发现的一些细节

它的缺点是时间成本

和代价比较大

而且获取到的

过于丰富的细节知识难于分析

难于将无关细节驱除

也无法就改进建议

所带来的结果给出更多的评价

这里值得注意的是

观察者往往由于参与到环境中

过于深入

有被同化的危险

失去了客观的立场

亲身实践与参与观察

有一定的相似性

但又不尽相同

参与观察的过程中

用户是从旁观看

而且亲身实践

则是通过观察 提问

甚至亲自操作

来更精确地了解工作内容

它建议实时实地的

开展实践工作

并获得干系人的及时的反馈

亲身实践的适用场景是

当用户太忙

无法安排专门的时间

来参加面谈的时候

可以由工程师

到用户的工作场景中去

亲自实践任务的流程

另外一种情况就是人们往往

只是在既定的流程中

完成相应的工作

并没有意识到每天的工作

实际上是在做什么

也就是说

他是下意识地

完成这些任务的时候

通过亲身实践

能够更好地恢复出

工作的流程和步骤

实践者通过反复的观察干系人

执行该动作的过程

并且学习任务的技能

反过来做给用户看

让用户确认他所做的步骤

是否正确

从而获得第一手的

时实践知识和任务的相关描述

这也有利于与用户和顾客

建立密切的沟通联系

为后续的工作奠定很好的

交流的基础

文档分析是一个非常好的入手点

它的目标

是为了理解待解决的问题

可以作为下一步

做业务流程建模和访谈的

前期基础

进行文档分析的指导方针包括

要确定当前的业务流程

或者产品的优缺点

找出产品或信息中

可以重用的部分

从多个来源抽取用户的需求

仿真原型是用户

最偏爱的需求获取手段之一

它的目标是为了

明确那些含糊不确定的需求

简化需求的文档

确认需求

能够尽早地获得用户

和客户的反馈

它的适用场景和指导方针是

原型主要用于需求确认

能够提供需求评估的数据基础

尤其适合评估不同的

用户界面设计方案

帮助用户可视化关键的功能点

是一种直观 有效的沟通交流工具

基于情景的分析方法

是课程要重点介绍的方法之一

情景分析的主要目标

是要清楚地定义

有用户参与完成的

业务实践的步骤

获取对用户来说可见的系统动作

与其它方法相比

它有着得天独厚的优势

因为对用户来说

它几乎不需培训

用户只要直接写出

它期望的与系统交互的流程

就已经是情景分析最好的素材

情景分析的适用场景

和指导原则是

它要确定与用户间

可能的交互活动

具体包括 定义业务事件

以及感兴趣的领域性质

我们将业务事件细化为

具体的业务活动和业务过程

并将其描述出来

形成情景分析的结果

概念建模是我们课程

要重点探讨的

另外一项研究内容

概念建模的目标

就是要图形化的手段

描述现实世界的问题

建立未来系统的模型

对未来系统进行抽象的表示

在建模过程中

对原始需求进行评估和扩展

得到清楚完整正确一致的

需求描述

它的指导原则主要是对系统

进行不同角度的抽象

建立不同类型的模型

例如 对系统分而治之

对子系统的结构

进行描述的分解模型

对数据进行描述的ER模型

以及面向对象模型

以描述行为为中心的

用例模型 过程模型

活动模型等等

我们在软件产品的设计过程中

其实是有两种创新的程度

一个是演化型的产品的设计

还有一类是全新产品的设计

那么在新产品的设计过程中

我们首先要对它

进行系统的分析和评估

这里我们给出一种

基于竞争性需求分析的框架

该框架为我们提供了

五个思维基点

让我们对新的产品的策划

进行可行性的评估

首先我们要了解的是

我们的新的产品的创意

是不是解决了用户的需求

解决的用户的哪方面的需求

这个明确需求的过程

就是我们获得市场上

用户认可的一个基础

另外一个方面

就是在方法的方面

我们找到了需求以后

下一步该怎么办

我们是不是有独特的方法

来解决用户的问题

这些新鲜的方法做法

不仅仅是技术上的

也可以是商业模式上的

是关于这个产品运行的地域

使用人 行业或者是成本方面

只要是在任何一个方面

我们有了独特之处

那么 该产品就是有可能

屹立在市场上不被打败的

此外我们还要评估

新产品可能给用户带来的收益

这个时候

我们既有了独特的做法

我们又有了用户的需求

那么我们就要了解

这个产品给用户带来的

是什么真正的好处

如果它已经有了

现有的解决方案的话

那我们用什么方法

能够让它离开现有的产品

来使用新设计的产品

这是一个关于用户迁移成本

和用户的代价的

一个权衡利弊的过程

其次我们还要评估

这个产品的竞争力有多大

市场有多大

有多少竞争者在瓜分这个市场

我们的新产品

如果不是最先进入市场的

那么有没有取得成功的可能性

这里就涉及到

先发优势和后发优势这两个方面

所以竞争性的需求分析

最核心的问题就在于

看清新产品的优势在哪里

劣势在哪里

最后一项就是产品研发完成后

我们如何去交付和推广

交付和推广

实际上在新品的成功中

也扮演着重要的角色

一个好的产品

无法推广到用户的面前

那么它也是很难得到

广泛的应用获得市场的成功的

许多互联网公司都在使用

A/B测试的方法

研究人员也用这种方法进行研究

A/B测试看起来很简单

如果你的产品已经有用户在用

但是你想对用户界面

做一些改进

又不知道用户是否会欢迎

这样的改进的时候

我们就可以配置A/B测试环境

首先

选定要实验的是

哪两种不同的UI

确定衡量界面的标准

确定数据搜集的流程

确定试验运行的时间和人数

通常我们选择5%-10%的用户

然后通过技术实现A/B

测试环境的搭建

之后搜集用户的行为数据

分析数据

最后得出我们要得到的实验结论

在A/B测试过程中

我们最主要的

是要获得系统和用户之间的

交互的反馈

比如在右边的图中

AB两种方案中

我们最终得到

B方案获得了更多用户的

正面反馈

因此在这个测试的过程中

我们得到的结论是

B方案优于A方案

互联网平台

目前成为软件运行的基础平台

这使得用户行为数据的采集

成为可能

许多软件提供商

都在线的将用户的访问数据

进行分析和统计

由此得出对下一步

新产品设计的启示

能够访问到的用户的数据

包括交互过程数据

眼动数据 页面访问时间

页面访问内容 用户的偏好等等

基于平时的日常交互数据的

采集结果

我们可以对操作数据

进行统计分析

包括用户所偏爱的厂商 版本

用户访问的IP地址

和所来自的地域

产品的日访问量 访问频次

用户的身份 平均访问时长

以及用户的打分等等

通过对这些数据的分析

我们能够得出一些

关于用户偏好

以及产品现在表现的

基本的数据证据

由此推断出下一步

对产品的改进方面

我们介绍了

众多的需求抽取技术和方法

在选用这些抽取技术和方法

的时候

我们要根据

获取的需求的具体内容

来有效地选择

例如获取界面需求的时候

原型法 情景法和建模法

是比较有效的

在获取业务逻辑的时候

采用观察法 亲身实践

面谈和情景的方法

则有利于业务累计的

精确理解和描述

对未来系统的信息和数据结构

进行获取的时候

面谈与现有系统的分析

是最行之有效的

要建立完整精确的需求模型

很困难

建立完整的原型也不是很现实

因此我们要根据需要

和客观条件

灵活地搭配组织运用

形成针对一个具体问题的

最有效的获取方案

软件工程课程列表:

第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章 期末考试与总结

-第一部分:基础知识

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

--编程与测试(选做)

讲课视频二笔记与讨论

也许你还感兴趣的课程:

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