图书管理系统就是一个有工作效能的图书馆。 当你编程的时候, 你要清楚一件事情, 那就是你的程序就是一个物理模型。 你用你的程序来模拟现实世界。 所以编程的过程就是建模的过程。
在这个系统中出现的对象首先就是这个图书馆了, 图书馆是个放书的容器。 图书馆里的书是有系统的放的, 也就是分门别类的放的, 每一类就是一个单一的容器, 那么这样来看, 图书馆就是放容器的地方, 每个容器中放的都是同一类型的书, 比如物理书籍都放在物理书籍的架子上。 在某一类的容器中放着很多不同的书, 某一同一名称的书可以有很多本。 一般书籍都会有一个ISBN 号, 但是由于同一名称的书在一家图书馆内会有好几本, 那么图书馆为了便于管理都会给每一本书一个ID, ID 为了便于识别不是完全用数字的, 而是字符与数字结合的, 比如 inf 510#056. 图书馆的参与者是人, 有图书馆内部的管理人员, 有用户。 所以图书馆还需要一个存放人员信息的容器。 只有管理人员可以对书籍进行管理, 比如新书登记, 过于陈旧的书籍的清除处理, 被毁坏的书籍的清除处理, 遗失书籍的处理。 书籍的出借处理(你要清楚出借意味着什么? 意味着用户信息的更新, 意味着该本书的计时功能的启动, 也就是说一旦超出一定的期限, 要做出一定的处理。 有这一点看出, 图书馆需要一个借书规则)。
通过上面的分析, 我们可以来看, 这个系统中出现的对象有哪些了, 他们是:
1) library
2) containers for books(just for a catalog) for example : Computer Science
3) container for a book( that mean, a book can have many samples)
4) book( every sample is a book)
5) container for employee( who manage the books in library)
6) container for user( who borrows the books)
7) borrowing rule
现在你需要建立他们之间的关系了:
1包含了2, 2 包含了3, sample is a book, 1 包含了5, 1包含了6, 1 has 7
在关系明确以后就是建立class diagram
在建立了class diagram 之后就是 implement all methods in class
最后, 就很简单了, 在main() 写个 new library(); 就可以了。
大致分析就是这样的, 有可能会有遗漏。 如果采用中央控制处理模式, 那么对于遗漏的修补处理, 以及某些功能的修补处理会很简单的。