在CSDN看到一个博主的一个系列不错。叫的是《面向对象葵花宝典》。看的话必须自宫么-
-。学到了非常多。可是怎么记录呢?单纯的文字没有一个树形结构的概念,看起来也不清晰,我就自己花了一个思维导图记录一下~
专栏的地址是http://blog.csdn.net/column/details/oobaodian.html
本节记录的是该系列的14-17节
需求理解
即系统须要做什么
需求不等于功能 样例:ATM机
“取款”、“存款”、“查询剩余金额”--需求
识别卡”、“password认证”、“点钞”--系统功能
需求是对客户来说有价值的事情,而功能是系统为了实现客户价值而提供的能力
推断条件-推断是否对客户有价值
须要明确客户是谁
需求是软件项目的最開始输入
修复需求错误的问题的成本很高昂
挖掘客户的问题。实现客户价值
需求是解决他的问题的
记录、分析和引导
技术流程
需求模型
通过和客户沟通,结合行业经验和知识,明白要求客户的需求
领域模型
基于需求模型。提炼出领域相关的概念,为后面的面向对象设计打下基础
设计模型
以领域模型为基础,综合面向对象的各种设计技巧,完毕类的设计
实现模型
以设计模型为基础,将设计模型翻译为详细的语言实现,完毕编码
需求分析518方法
5W(需求产生的环境)
When
季节信息:春夏秋冬等
日期信息:节日、假日等
作息事件:白天、晚上、凌晨、早晨、上午、下午、晚上、深夜等
Where
国家、地区:不同的国家和地区有不同的文化、风俗、制度等;
室内、室外、街道;
建筑物
Who
投资者、管理者
使用者、维护者
监督者、评估者:比如政府机构、监管机构等
其他系统
What
客户终于想要的输出
比如一个文档、一份报告、一个图片、一个系统等
我们看到的最原始的需求
Why
客户遇到的问题、困难、阻碍等
客户提出需求的驱动力
客户认为不爽的地方
挖掘客户的问题,实现客户价值
1H,即How
需求本身的流程。而非需求怎样实现
实现方法---用例图
8C(约束和限制/质量属性)
性能Performance
响应时间、吞吐量
成本Cost
实现系统而须要付出的代价
时间Time
客户要求什么时候交付
可靠性Reliability
系统长时间正确执行的能力
安全性Security
对信息安全的保护能力
合规性Compliance
满足各种行业标准、法律法规、规范等
技术性Technology
客户可能要求我们採用某种技术
兼容性Compatibility
指我们的产品与系统与客户其他已有的产品或者系统的兼容能力