QFD将软件需求分为:
- 常规需求:用户认为系统应该做到的功能或性能,实现越多用户会越满意。
- 期望需求:用户想当然认为系统应该做到的功能或性能,但不能准确描述的需求,如果没有得到实现,用户会不满意。
- 意外需求:也称兴奋需求,是用户要求范围外的功能或性能,实现这些需求用户会更高兴,但不实现也不会影响决策。
常见的需求获取方法
- 用户访谈
- 问卷调查
- 采样
- 情节串联版
- 联合需求计划
一个好的需求应该具备
- 无二义性
- 完整性
- 一致性
- 可测试性
- 确定性
- 可跟踪性
- 正确性
- 必要性
需求分析工作
需要分析人员把杂乱无章的用户要求和期望转化为客户需求,这就是需求分析工作。
SA法
Structured Analysis
结构化分析
建立的模型的核心:数据字典。围绕核心的三个层次模型:
- 数据模型
- 功能模型
- 行为模型
用实体联系图表示数据模型、数据流图表示功能模型、状态转换图表示行为模型
需求规格说明书 SRS
是需求开发活动的产物,使项目干系人与开发团队对系统的初始规定有一个共同的理解。
包括的内容
- 范围
- 引用文件
- 需求
- 合格性规定
- 需求可追踪性
- 尚未解决的问题
- 注解
- 附录
需求验证
也称为需求确认
需求评审
就是对SRS(需求规格说明书)进行技术评审。
需求分析
三个阶段:
- 需求提出
- 需求描述
- 需求评审
完整的需求分析过程
JavaScript
-
js的基本类型有哪些?引用类型有哪些?null和undefined的区别。
-
如何判断一个变量是Array类型?如何判断一个变量是Number类型?(都不止一种)
-
Object是引用类型嘛?引用类型和基本类型有什么区别?哪个是存在堆哪一个是存在栈上面的?
-
JS常见的dom操作api
-
解释一下事件冒泡和事件捕获
-
事件委托(手写例子),事件冒泡和捕获,如何阻止冒泡?如何组织默认事件?
-
对闭包的理解?什么时候构成闭包?闭包的实现方法?闭包的优缺点?
-
this有哪些使用场景?跟C,Java中的this有什么区别?如何改变this的值?
-
call,apply,bind
-
显示原型和隐式原型,手绘原型链,原型链是什么?为什么要有原型链
-
创建对象的多种方式
-
实现继承的多种方式和优缺点
-
new 一个对象具体做了什么
-
手写Ajax,XMLHttpRequest
-
变量提升
-
举例说明一个匿名函数的典型用例
-
指出JS的宿主对象和原生对象的区别,为什么扩展JS内置对象不是好的做法?有哪些内置对象和内置函数?
-
attribute和property的区别
-
document load和document DOMContentLoaded两个事件的区别
-
JS代码调试
-
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】