1.需求(Requirements) 典型地,由系统最终用户的代表写出文本形式的需求规范文档
对于该图书馆应用程序来说,需求规范文档应该类似于这样: 1
这是一个图书馆支持系统; 2
图书馆将图书和杂志借给借书者
借书者已经预先注册,图书和杂志也预先注册; 3
图书馆负责新书的购买
每一本图书都购进多本书
当旧书超期或破旧不堪时,从图书馆中去掉
图书管理员是图书馆的员工
他们的工作就是和读者打交道并在软件系统的支持下工作
借阅人可以预定当前没有的图书和杂志
这样,当他所预定的图书和杂志归还回来或购进时,就通知预定人
当预定了某书的借书者借阅了该书后,预定就取消
或者通过显式的取消过程强行取消预定
图书馆能够容易地建立、修改和删除标题、借书者、借阅信息和预定信息
系统能够运行在所有流行的技术环境中,包括Unix, Windows 和 OS/2,并应有一个现代的图形用户界面 (GUI)
系统容易扩展新功能
系统的第一版不必考虑预定的图书到达后通知预定人的功能,也不必检查借书过期的情况
2.分析(Analysis) 系统分析的目的是捕获和描述所有的系统需求,并且建立一个模型来定义系统中主要的域类
通过系统分析达到开发者和需求者的理解和沟通
因此,分析一般都是分析员和用户协作的产物
在这个阶段,程序开发者不应该考虑代码或程序的问题;它只是理解需求和实现系统的第一步
2. 1 需求分析(Requirements Analysis) 分析的第一步是确定系统能够做什么
谁来使用这个系统
这些分别叫角色(actors)和用例(use cases)
用例描述了系统提供什么样的功能
通过阅读和分析文档,以及和潜在的用户讨论系统来分析用例
图书馆的角色定为图书管理员和借书人
图书管理员是软件系统的用户;而借书者则是来借阅或预定图书杂志的客户
偶尔,图书管理