What is wrong with the following designs from the perspective of cohesion, and what could be done to improve them?
(a) There are two subsystems in a university registration system that do the following. Subsystem A displays lists of courses to a student, accepts requests from the student to register in courses, ensures that the student has no schedule conflicts and is eligible to register in the courses, stores the data in the database and periodically backs up the database. Subsystem B allows faculty members to input student grades, and allows administrators to assign courses to faculty members, add new courses, and change a student registration. It also prints the bills that are sent to students.
(b) In an electronic commerce application, a module is created to add books to the ‘shopping basket’ and perform such operations as computing the total amount the customer owes. A second module adds ‘special reward’ merchandise to the shopping basket; this module also displays the contents of the shopping basket on the screen and sends an email to the user telling him or her what he or she bought.