You are on page 1of 16

FOUNDATION UNIVERSITY ISLAMABAD

RAWALPINDI CAMPUS
Final Term Examinations (Spring-2020)

Programme: Muhammad Awais Zia Roll: 149

Course Title: SDA Theory Section: B

Instructor Name: Dr. Maryam Kausar Max Marks: 35

Time Allowed: 3 hours Date:12/8/2020

Based on the case study answer the following questions:

Exam management is a sophisticated tool used for conducting exams in the project VIRTUAL CLASS
ROOM. So before giving a description about the Exam management software, it is necessary to have a
detailed concept of the main project VIRTUAL CLASS ROOM.

VIRTUAL CLASS ROOM is a modern educational concept, which is purely virtual in nature. Virtual
classroom makes uses of the JAVA Internet technologies such as serviettes, AFC and swim. JavaScript;
socket programming, and JDBC with ORACLE as back end. The Virtual class room concept binds
together the Educational experts and the Students all over the world, who are online, into a classroom,
which is purely virtual in nature.

The experts and the students who are learning from them may be living at different Geographical
zones. But a feeling is sustained that everybody is together with in a hand reach. The figure given
below illustrates this concept.

In the virtual classroom concept, students from all over the world can participate in the courses
offered by registering themselves with the website. Anybody who satisfies [he prerequisites can join
the courses offered, irrespective of the caste, creed. religion, age or skin colour. Everybody is at par in
the virtual classroom. All these functionalities are made possible with the JAVA technologies.

A student can login by providing ids and password. After the successful logic, he/she can watch the
lessons that are taken by the experts online, can ask questions, or doubts online by using the
multiclient chat provided. Students can chat with each other using the chat application.

White board technology is used in virtual classroom, so user, who is online, will get a similar
whiteboard on their computer screens. So the expert on makes whatever changes his whiteboard will
reflect on the screens of tile students who are online, so the student-teacher interaction retains the
same feeling oh a real world-class room.

The experts from all over the world design courses. Course contents can be modified or new courses
can be designed by the experts easily at his by using the sophisticated coerce management, module-
management, topic management interfaces. Virtual classroom retains all the characteristics of a real
world classroom such as various types of examinations, assignments, grading etc..

A student must quality all file examinations lie appears. The teaching faculty regularly evaluates
student performance. A student will receive his report cards through bulletins,e-mails,reporting
systems etc.. Messaging systems such as email,bulletins,notice boards,reporting,chatroom etc. are
available. Virtual Classroom project comprises of nineteen modules. All these modules, with their
corresponding screen shots
1. Design System Sequence Diagram [5 marks]

SSD DIAGRAM FOR Virtual


Classroom

Virtual
Admin Users Database BANK
classroom
LOOP Add Faculty

Faculty Added

Update Courses

Updated

login

Verification

Approved

Authentation

Take Admission in Program

Form

Fill Form

Sent

Approved

Admission Succesfull

Register in a course

Registered

Pay fee

PIN

Verification and Authentaion

Paid and Approved

Paid

Paid Succesfully

join Lecture

Joined Succesfully

Admin Adds faculty assigns faculty to related courses. Users will register in courses pay their fees and register
in a program and join their classes
2. Design activity diagrams, at least two. [5
marks]
This is an activity Diagram for hosting a lecture teacher use whiteboard and also,
he can start his video add remove students and talk to them by enabling his mike
on

Start a Lecture

Start a Video

Use_WhiteBoard
Display Slides of
presentaion

Start Audio Remove a Student Invite a Student Answers Handsup


Activity Diagram to see Notifications
User will be notified about things and he will open notification centre if
notification seems to be very important he will open it else he will dismiss it

Open Notification
Center

Is not Imp Is Imp

Dismiss See Notification

Merge Node

There is a boundary circular line around this circle but


I cannot find any circle like this
Activity Diagram of student Attending lectures
Student will login take lecture ask answers from experts

Login

Valid

See Courses

Watch Lessons

Invalid id pass

Ask Questions from


experts

Chat with other


students

There is a boundary circular line around this circle but


I cannot find any circle like this that s why I added a
simple black
3. Use Google Design Sprint to perform crazy 8’s
activity. [5 marks]
4. Describe which architecture will be used to
develop

such
a system [5 marks]
5. Apply any two design patterns [5 marks]

I will apply two proxy patterns here

(1) Proxy

(2) Command

What is a proxy pattern?

Proxy pattern was in my first Presentaion and I will explain to you what is proxy
pattern.
This pattern is a structural design pattern it lets
you provide a substitute or placeholder for
another object.
We create a proxy in such a way that a proxy controls access to the original
object,
and lets user to perform something either before or after the request gets
through to the original object in this way a proxy pattern is used
how we will this is a proxy pattern?

We will use Proxy design pattern


The proxy pattern used in this to handle the payment of a Courses fees, dues
etc.
When we will register courses to study
then we have to pay for its cost
We will pay through credit card or some online transactions bank check or VISA
card

Object that is use in place or representing another object


With the help of the proxy design pattern we can make much easier for the user
to do billing or payment by giving them different payment options

Cash will not be directly used the cards will act as payment this is the best way
to use a proxy pattern
This image will help you to understand I have inserted this image many times in
my assignments

(2) Command
What is a Command pattern?

I have told many times about this pattern in my assignments that’s why it is
easy for me to define this pattern and its uses
I will use command pattern and I will tell you first what is this pattern
Command pattern is a data driven design pattern and falls under behavioural
pattern category
A request is wrapped under an object as command and passed to invoker object
Invoker object looks for the appropriate object which can handle this command
and passes the command to the corresponding object which executes the
command

how we will this is Command pattern?

This Pattern is mostly used to undo and redo things in a program.

Command design pattern supports undo options we can do multiple undo’s in a


There are many ways to support undo and redo, but the command pattern is
the basis of a clean and solid solution
The Student selects courses for registration and then he has to pay the fees to
register courses. Then it pays the dues. But if he accidently registered in a
wrong course.
At This problem command pattern will be best to solve these issue
User will have option to cancel registration of courses and again register the
same courses again if unregistered accidently
Is this way command pattern will be used and it will make system better
The System keeps an internal queue with the sessions to be scheduled. Let's
assume that the system is closed each Weekends, but the System accepts
meetings, and queue them to be processed later on.
6. Make any two-design activity and write two
segments of code that will map your design to
code. Code should be in JAVA. [10 marks]

Proxy Pattern:
This is a sample code for payments operation we can use this technique in our system to pay
fees and dues

We have used credit card payment as real cash and this is how it is solved

CArd

public interface card {

void display();

RealCash.java

public class realcash implements card {

private String fileName;

public realcash(String fileName){

this.fileName = fileName;

loadFromDisk(fileName);

@Override

public void paymeny() {


System.out.println("Displaying " + fileName);

private void loadFromDisk(String fileName){

System.out.println("Loading " + fileName);

ProxyCard.java

public class Proxy card implements card{

private Realcash realcsh;

private String fileName;

public ProxyCard(String fileName){

this.fileName = fileName;

@Override

public void Payments() {

if(realcash == null){

realcash = new cash(fileName);

realcash.payment();

ProxyPatternDemo.java
public class ProxyPatternDemo {

public static void main(String[] args) {

cash cash = new ProxyCard("");

Cash.payment();

System.out.println("fees paid");

realcash.payment();

Façade Pattern:
This is a sample code for undo and redo operation we can use this technique in our
system to undo and redo operations
If student registered in wrong course he can undo or you can say unregister this subject
And if he unregistered a wrong course out pattern gives his advantage to again register
by redo operation

public interface Command {


void execute();
void undo();
void redo();
}

import java.util.*; //import all files

public class CommandStack {


private LinkedList<Command> commandStack =
new LinkedList<Command>();
private LinkedList<Command> redoStack =
new LinkedList<Command>();

public void execute(Command command) {


command.execute();
commandStack.addFirst(command); //for executions
redoStack.clear();
}

public void undo() { //for undo operations


if (commandStack.isEmpty())
return;
Command command = commandStack.removeFirst();
command.undo();
redoStack.addFirst(command);
}

public void redo() { // for redo operations


if (redoStack.isEmpty())
return;
Command command = redoStack.removeFirst();
command.redo();
commandStack.addFirst(command);
}
}

You might also like