CASE STUDY

It is required to develop an application in Java for Student Registration System (SRS) for a university that provides on line degree programs. University gives the list of degree programs available in the university and total number of students registered for each degree programs. It has facilities to add to the existing list of degree programs whenever a new degree program is included in the list of degree programs and to add to the existing list of students registered for a degree program. It has also facilities to display the total number of degree programs and total number of students registered for each degree program.

Degree-Program-Number, Degree Program Name, Number of Terms and Date of commencement of the Program are the attributes of the Degree program.

Students are identified by Student-Number, IC Number, Name, Address and Telephone Number. Note that Student-Number is auto generated. The degree program number for which a student has registered is also entered.

TASKS

1.  The Model-View-Controller pattern can be seen as a combination of three Design Patterns namely Observer, Composite and Strategy patterns. Explain, with UML diagrams, the key classes and methods of each pattern in SRS.

[15 marks]

  1. Draw the UML Class diagram of MVC with reference to SRS. [12 marks]
  1. Develop an application according to the Model-View-Controller design pattern. The program should consist of the following classes:

(a)  Definition of Model Classes

(b)  Definition of Control Classes

(c)  Definition of View Classes

(d)  Complete Program

[40 marks]

  1. List and describe the generic classes to be used in the proposed application SRS.

[8 marks]

  1. Provide the preconditions and post conditions used in the model class of MVC.

[5 marks]

  1. Use suitable names for the methods, variable names, code layout and necessary comment statements etc.

[10 marks]

7. Demonstration. [10 marks]

[TOTAL: 100 MARKS]

INTRODUCTION TO TASK 3

You are to write an application with Graphical User Interface for SRS. The proposed design for the GUI is as shown below.

There is a provision to choose either a Degree-Program or a Student by means of two buttons. The two buttons for the selection are:

DEGREE-PROGRAM STUDENT

Each selection leads to three buttons used to select an action: Add, Display and Exit as shown below.

Add Display Exit

The actions of the buttons are as follows:

(1)  Add - to add a Degree Program / Student to the existing list.

(2)  Display - to display the detail and the total number of Degree Program / Student.

(3)  Exit - to exit the system.

DETAILS OF GUI DESIGN

Choose DEGREE-PROGRAM STUDENT

Add

Add Degree Program

Degree-Program-Number
Degree-Program-Name
No-of-Terms
Date-of-Commencement

Add Students

Student-Number
IC-Number
Student-Name
Address
Telephone-No
Degree-Program-Number

The GUI application must have the facilities to display the detail of degree programs and Students as given below. The GUI application must also give the total number of Degree Programs and total number of Students in a given degree program.

DISPLAY:

Degree-Programs

Degree-Program-Number / Degree-Program-Name / No-of-Terms / Date-of-Commencement
---
---
--
Total Number of Degree Programs

OR

Students

Student-Number / IC-Number / Student-Name / Address / Telephone-No / Degree-Program-Number
---
---
--
Total Number of Students in a given degree program number

Be warned that a “working” program that fails to satisfy any of these Learning Outcomes will get a very low mark. The purpose of this module is not to teach you Java, so if knowledge of Java is all you demonstrate in your submission then you have not learned much and we cannot give you much credit.

REQUIRED STRUCTURE OF PROGRAM

·  You should write classes SRSGUIModel, SRSGUIView and SRSGUIController to follow the Model-View-Controller pattern. To clarify, this means that

o  SRSGUIView must be the only class containing GUI code,

o  SRSGUIModel must store all the data and have no references to the other two classes and

o  SRSGUIController must forward only valid requests to SRSGUIModel and it must tell SRSGUIView to disable buttons and show alerts in response to incorrect inputs.

NOTE

Assignment submission will be checked against detection software and work found to have been plagiarized will be referred to Plagiarism Committee.

*****

T217 U08186 CW QP Page 4 of 4