当前课程知识点:软件工程 >  第7章 需求获取 >  7.5 需求的主要来源 >  讲课视频

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

讲课视频在线视频

下一节:讲课视频

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

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

下面我们介绍需求获取的

信息的来源

在需求的获取过程中

我们要考虑来自方方面面的

限制和约束条件

由Loucopoulos和Karakostas

提出的40件模型

为我们提供了一个非常有助于

识别来自不同维度的问题的

一个模型

该模型将问题领域分为四个世界

包括主题世界 应用世界

系统世界和开发世界

通过对四个世界的分别的处理

我们能够有效地考虑到

来自四个方面的

主要的待解决的问题

在主题世界中我们主要关注的是

系统的关注的主题内容

比如对一个银行信息系统来说

我们关注的是顾客 账号

和各类交易

这是关于主题世界对象的

一个探讨

应用世界则是系统未来的

操作环境

在应用世界中我们要关注的

主要是人和企业的流程

关注经理 职员 顾客 存款

取款等活动

另外一个世界是系统世界

它是指系统在操作环境下的

所有的内部操作

包括系统要将交易纪录

保存在数据库中

要对指定的账号交易进行报告

给出账户的明细等等

而开发世界关注的是

软件系统的开发过程

项目的团队 人员 进度 安全

性能等质量要求

例如系统要在12个月内

交付使用

这是开发世界要关注的问题

有了四世界模型

我们可以很好地对问题的本质

以及关注的对象

进行分别处理

项目开始的时候

我们如何着手开始获取需求

这里有几个主要的出发点

第一步是要确定干系人

然后定义系统的边界

找出系统的目标和情景

分析系统的可行性和风险

干系人这一说法

来自英文单词Stakeholders

Stakeholders

本身它的含义就是

对一件事有决策权的人

干系人也不例外

他是对我们的软件项目

有话语权 有决策影响的人

找出所有的干系人

对于项目的成功有重要的意义

我们可以通过四世界模型来分析

它隶属于哪个世界

从而推导出

它关注的是哪些问题

举个例子

用户关注的是新系统的功能

和它的特征

设计师关注的是

构造正确完美的系统

并且尽量重用已有的代码

系统分析师他想要获取的是

正确的需求

培训与用户支持人员

他要确保系统的可用性

和易管理

业务分析师要确保的是

我们要比竞争对手做的更好

技术文档的作者

是为系统准备用户手册

和其它相关文档的人

项目经理则希望按时 按预算

按目标完成项目

客户是为新系统买单的人

从以上我们可以看出

干系人识别最主要的

就是要强调

和用户之间的联络关系

要保证系统设计息息相关的人

他们的意愿能够体现到

我们的需求中来

需求定义过程中

客户与干系人的参与

是至关重要的

不明确的需求定义

以及随意的需求变更

会产生以下问题

首先是客户严重不满

或产生纠纷

不切实际的估算与承诺

项目延期 超支

项目结束遥遥无期

项目团队精疲力竭等等

在需求过程中

常见的问题包括

产品设计目标不明确

干系人参与不足

干系人之间缺少共识

需求定义画蛇添足

需求快速变化

需求分析不足

需求管理不足等

需求获取的内容

主要来自干系人

企业的业务过程

组织的规章制度

以及现有的系统

针对这几个来源

我们通过采用的获取手段

是不一样的

干系人我们主要是

通过沟通和交流的方法

业务过程主要是

采用建模和分析的方法

组织规章制度主要是通过

文本阅读 文档的处理等等

对现有系统

我们可以参照它的用户手册

数据样本 界面描述 报告样本

屏幕截图等等

是对现有参照物的一个分析

和差异性的比较

干系人识别

是要找出任何和系统有关的人

有可能是资方 客户 系统用户

领域专家 项目研发团队

可见它来自四个世界的

任何一个可能的世界

识别干系人的时候

我们要提的问题包括

产品由谁来使用

输入谁来提供

输出谁要用到 谁监管

影响谁 奖励谁 惩罚谁

逐一召集干系人

或者一组干系人

一起定义系统细节的时候

我们达到了以下三个目的

首先我们知道

从用户或者客户的角度来看

什么是一个可接受的

高质量的系统

其次 我们可以通过这件事

提高用户的满意度

通过用户和客户的参与

达到了系统教育和培训的目的

从下边的两个示意图

我们可以看出

没有用户参与的需求获取

和有用户参与的需求获取结果

原始需求和真实需求之间

它的差异就会变得明显的小

总之干系人的参与

是项目成功的必要因素

他们的参与丰富了

我们对系统信息和内容的获取

提升了所获取到的

系统信息的质量

提升了系统的生产率

同时加深他们和我们

自身对系统的理解

促进我们和客户达成共识

使得客户更希望系统成功

增强成功信心

共同确定了系统的边界

促进了需求质量的提升

提高了团队的整体性

需求获取的另一个来源

是业务过程

它是对现有业务过程的分析

这样有助于识别业务问题

并加以改进

主要内容包括

首先找出

并列举当前业务过程中

存在的问题

然后分析问题的本质

是由于遗漏还是不好用

还是有新的需求

之后分析改进的机会和空间

并给出改进的实质

是在完成自动化过程

还是在优化和改进现有的流程

需求的另一个来源

来自组织规章与制度

通常的组织规章制度

定义的是

当前该领域的最佳实践

分析规章制度

有益于确定业务规则和约束条件

其中业务规则描述的是

对业务过程的要求

如系统支撑的业务过程的结构

控制流程 预期效果等等

约束则是对

系统开发过程的管理限制

涉及经济 政治 技术 环境

四个方面

包括项目资源 时间

目标环境及系统本身

组织规章中

往往还涉及过程自动化

工作流 关系 交互

等相关方面的内容

总之组织规章制度

为我们提供了一个客观的

可参照的依据

分析现有系统有助于了解

未来系统的工作数据

包括数据对象 数据关系

数据库结构与系统结构

以及系统报告等

现有系统与未来系统

共享工作环境

共享数据对象

因此 从对现有数据的了解

我们能够构想未来系统的雏形

并且找出差异的需求

从而更好地对未来系统进行规划

软件工程课程列表:

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

-第一部分:基础知识

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

--编程与测试(选做)

讲课视频笔记与讨论

也许你还感兴趣的课程:

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