|
1.什么是有用的产品?
产品的开发者理解产品应该具有的功能以及实现方式,当然不要忘记产品在生产环境中必须满足的约束。
有了这些才能说用户满意度为正值。
2.需求的层次?
我们可以把需求看成是金字塔,最顶上是商业需求,当中是用户需求,底部是功能需求。
从软件开发过程来看,我们先是从顶部向下探索,最后是由下而上满足用户满意度。
3.需求包含哪几类?
功能需求和非功能需求。
后者描述了产品必须遵从的标准,规范,合约;界面的具体细节(如果有界面),性能要求,设计或者实现的约束。
4.什么样的需求会使得客户满意?
如果我们知道什么需求对客户来说是重要的,实现它,就会使得客户满意。
5.好需求说明的特征——
完整:便于开发人员设计和实现
准确和正确:用户的积极参加,而不是分析人员凭空猜测
可行:技术、成本等多角度考虑
关联:需求都是可跟踪,有内在联系,能回溯至需求方
划分优先级:开发进度和预算考虑
可测试:避免主观判断
6.工程的角度出发,需求工程分为需求开发和需求管理——
需求开发分为需求调查,需求分析,需求定义
需求管理分为需求确认,需求跟踪,需求变更控制
7.经典软件开发过程模型——
范围定义:考虑项目值不值得做,如果值得,确定项目的目标,范围,约束,干系人,预算等
问题分析:(如果是老系统升级或者重构等)研究现有系统
需求分析
概要设计,选取方案
详细设计
开发和测试
安装和发布
运行维护。。。
传统的问题是“开发前冻结需求”,事实上做不到这点
8.软件增量模型——
首先构建部分系统,再逐渐增加功能的过程
因此创建的应该是可信的功能,或者对于项目而言优先级高的;
随后基于核心功能扩展(可扩展和可重构)
优点很多,其中进度风险可以降低,用户能提早些了解到系统的面貌
缺点是成本不会降低,且对个人素质要求较高,因为过程管理有难度
上一篇:编程之道 下一篇:北理工面向对象分析与设计资料 |
|