Hi, I have been assigned Blood Bank Management System as java oop project.So i was wondering i someone can give me a headstart on which classes and methods to implement first so i can modify them applying all the oop concepts first.This is what i have worked on so far.

5 classes donor,reciever,bloodbag,bloodbank and hospital all having the methods for add,delete,modify and update records using msaccess. can someone explain what i am missing or doing wrong so i can start working on my class diagram.Thanks

Recommended Answers

All 4 Replies

That seems a decent start. Maybe donor and recipient have enough in common to be subclasses of a Person class?

The next step is to take the main use cases and walk through them seeing how easily your classes and methods support the use cases. You may well find that it works better with some methods at a higher level than the add/delete etc low-level methods, for example (don't take these literally!)
giveBlood(donor, bloodbag)
or
bloodbag b = bloodbank.getBlood(bloodGroup)

No! do not let the vampires take over the world! JK

And you're going to need a lot of additional classes and enumerations. Things like blood types, resus types, health history??, employees of both the blood bank and hospital (no doubt you need to track who handles the donation, storage, retrieval, etc. etc.), storage containers (multiple freezers?), etc. etc. etc.
And of course users will probably have different access rights. A hospital employee can order a bag of blood but not see donor information for example. A nurse drawing blood can see donor information but can't see receiver information, etc. etc.

jwenting raises some very real questions about the scope of this project.
If you want to do this is an OO way, then set the classes aside for the moment and work on writing a reasonably comprehensive set of use cases. The use cases will define the scope, and are nexessary for the next steps.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.