图书馆信息系统面向对象分析实例
总体问题的陈述:本项目的目的是创建一个用于对图书馆的图书进行管理的图书管理系统
该项目的用户:该项目的用户是一个某大学的图书馆,它负责对其顾客提供图书借阅服务
该项目的目标:总体上来说,项目的目标是提高图书管理的自动化水平,为图书业务过程提供更快捷的、更好的和更准确的服务
具体来讲,系统的目标包括:为借书者提供快速借书的服务;进行快速准确的图书和借书者的信息维护;图书管理和查询的自动化
该系统的功能:系统功能是系统应该做的事情,例如系统提供的预定功能
应该识别出这些功能并把它们列入到逻辑相关联的功能组中
注意:要验证某一个描述是否真是一个系统的功能,如下的判断语句应该成立: 系统应该做某一个描述 例如,系统应该做图书的预定
然而,系统的属性是系统的非功能性的特性,这些非功能性特性和系统功能经常被混淆
例如,“易于使用”就是一个非功能性的特性
它是不符合我们上述的验证语句:“系统应该做易于使用”
系统属性不应该是功能规格说明书中的一部分,而应该是一个单独的系统属性规格说明文档
对于系统的功能,我们应该对其分类,以便区分开各类功能的优先次序和识别出哪些是理所当然应该具备的系统功能
功能的分类包括: 明显的:应该履行的功能,并且用户应该知道这个功能是否已经被履行
隐藏的:应该履行的功能,但功能的履行对用户不可见
很多使用底层技术的服务确实符合这种情况,例如,将数据保存到一个持久化存储机构中
隐藏的功能经常在采集需求的过程中被遗漏
修饰性的:可选的,增加这些功能不会对成本和其它系统造成重要影响
为此,我们给出该系统的借书基本功能如下: F1
1 记录借出的图书----借阅事件 明显的 F1
2 查找书库中是否存在这种图书 明显的 F1
3 从借书卡中读取借书者信息,并校验该信息 明显的 F1
4 查找书库中这本书是否还有副本 隐