Homework #5 Sample Solution
Note: This is just a scan of the sample solution, sorry that I cheaped out.  If you want, I can go over it with you individually and discuss it.

Problem 9.3a.

We assigned the following weights to the decision criteria. We will treat all the criteria as "wants" for the purpose of our evaluation although integrity, accuracy, and legal compliance are very important and could be regarded as "musts."

* Performance and ease of use. The system must be responsive and easy to use or pharmacists may ignore it. If pharmacists do not use the system, the pharmacy is vulnerable to problems with integrity, accuracy, and legal compliance. (High weight)

* Integrity and accuracy. Medicine can be a life and death matter, so we must make our best efforts to ensure that the system holds correct and up-to-date data. (High weight)

* Development effort. Development effort is of some concern, but for a large chain of pharmacies, the cost of the development effort can be amortized over many stores. (Medium weight)

* Extensibility. As time goes by, additional uses of the system may be identified. The next several exercises describe some extensions. (Medium weight)

* Ease of maintenance. The database will require regular update to accommodate on-going changes in the prescription drug industry. (Medium weight)

* Legal compliance. Medical laws are strictly enforced for the benefit of the patient and to avoid abuse (such as with narcotics). The system must comply with the applicable laws or the pharmacy can lose its business license. (High weight)

Problem 9.3b.

Table A9. I rates the architectural choices. We have converted high and medium weights to numeric values of 10 and 5 respectively.

* Local storage. We assign a high score for performance and ease of use, because all data is held locally and there are no network and communications complexities with which to contend. We assign a low score for integrity and accuracy as well as legal compliance, because the multiple data copies at each location could become inconsistent with the master copy. Local storage should require less development and maintenance effort, because there are no network and communications issues. Extensibility would be good, because it would be easy to clone the software for a new locatlon.

* Regional storage. We assign a lower score for performance and ease of use, because the user could experience occasional communications difficulties. It would be easier to maintain consistency of the master data with regional storage than local storage, but still more cumbersome than central storage; hence the intermediate scores for integrity, accuracy, and legal compliance. Complexity from communications would increase development and maintenance effort. The software would be extensible, because we could easily clone a new regional site.

* Central storage. For most criteria central storage has the same scores as regional storage. The primary difference is that there is a single copy of the database to keep up-to-date which would facilitate integrity, accuracy, and legal compliance.

As you can see the best choice between the alternatives is not obvious. Nevertheless, we would favor central storage because we greatly value having the single copy to update, increasing the odds that each site would access only correct data. (We had considered making integrity, accuracy, and legal compliance all "musts.") With central storage we could cache data locally to improve performance and responsiveness.

Problem 9.3c.

We would favor event-driven control and use a 4GL if one was available. Event-driven control facilitates a polished, responsive user interface.  The other altertatives are all inferior. Procedure-driven control would probably yield an archaic, clumsy interface. Concurrent control is irrelevant for the prescription drug information system. Declarative control is also not relevant, because the user would be merely retrieving standard data.

Problem 9.3d.

We would favor use of a DBMS. The prescription drug information system is a typical business application. A DBMS would allow easy expression of various queries. A DBMS provides efficient algorithms for searching large amounts of data. Files would be less extensible and less flexible. The in-memory approach would constrain the size of the data set.

Problem 9.3e.

We would use an RDBMS. It is easy for an RDBMS to satisfy the needs for a prescription drug information system and we could leverage the benefits of a mature technology.  Also an RDBMS is more likely to have a 4GL available.

Problem 9.3f.

We would strongly favor use of a 4GL because it facilitates development and extension, as well as provides a polished user interface. Our second choice would be to develop a suitable API and couple it to a custom-developed user interface.