You are on page 1of 5

Bahir Dar University

Institute of Technology
School of Computing and Electrical Engineering
Holistic Exam for Computer Science and Engineering 4th Year Students

Name: ___________________________________ ID: _____________

Exam C (31%)
▪ Object Oriented Design and Analysis (5%)
▪ Software Engineering (5%)
▪ Database Management Systems (5%)
▪ Advanced Database Management Systems (5%)
▪ Advanced Programming Project (6%)
▪ Object Oriented Programming (5%)

Date: 28/01/05 E.C

Read the Following Instructions Carefully:

❖ The duration of the exam is strictly 80 minutes. No extra time will be given.
❖ Do not spend too much time on one problem.
❖ Please write up all solutions clearly, concisely, and legibly.
❖ This is a closed book, closed notes examination. You must put aside your calculators, cell
phones, etc.
❖ This Document has 5 pages including this page, please check it.
❖ You may use separate paper (provided by invigilator only) for your rough work.
❖ You cannot write your answers using a pencil, although you may use a pencil for rough
work. Rough work will not be marked.
❖ Use a separate answer sheet to provide your answers.
Part I: Using the Case Given below Answer Questions 1 to 8.

Online Jobs
The following initial requirement is gathered to build Online System for job applicants and
employers

Employers have to be registered to the system by providing information like Company name,
Location (which consists of region, zone, woreda/city), Phone number, email, fax and other
related information. Employers login to the System and post announcement for vacant jobs
which consists of Job title, experience required, deadline, expected qualification for a specific
job. Employers can also edit their profile and posted vacancies.

Job applicants also register by entering information like Fist name, Last name, Date of birth,
phone number, email and other related information. Job applicants can search for jobs, apply
online, upload their CV, able to modify their profiles and can follow up the result of their
application. The applicants CV should contain important information like qualification, Skill,
year of Experience, etc.

1. Draw a use case diagram using UML notations .Your diagram should consist of at least : (2
marks)
✓ As many use cases as possible
✓ As many actors as possible
✓ Relationship between use cases
✓ Association between actors and use cases
2. Draw a detailed class diagram using UML notations. Your diagram should consist of : (3
marks)
✓ As many classes, attributes ,methods as possible
✓ Relationship between classes (include some inheritances)
✓ Multiplicity ,Visibility, data types ,method signatures
3. Write four system level requirements and one non-functional requirement of the system
described in the above case. [Not that: Write complete statements. Moreover, the
requirements should be focused, unambiguous, precise, clear, etc, in general they should
have desired characteristics]. (2.5 marks)
4. Take one of the functional requirements that you have written as an answer for the above
question and generate three test cases for validation of the requirement using one of the
black box testing techniques. [Note that: The test cases should address different classes of
the input space]. (2.5 marks)
5. Suppose that you are assigned to develop a database design in line with the requirement
stipulated in the above case. For this purpose:

1
a. Develop a conceptual model using ER diagram by indicating entities, relationships,
cardinalities, participation constraints , multi valued attributes(if any), complex
attributes(if any) and weak entities (if any) . (3 marks)
b. Show the logical model (the normalized form of entities with their relationships from
the ER diagram). (2 marks)
6. Suppose that the company has a policy of limiting the number of applications to be
submitted so that one applicant cannot apply to more than two vacant posts at given period.
Suggest how this can be technically implemented in database systems (without showing the
code only your technical suggestion is sufficient). (2 marks)
7. Using SQL code, show how role can be created to grant the following permission for all
applicants (3 marks)
Applicant’s User Name = Zewdu
Applicant’s Role Name= Applicant
Permission to the role = Read, modify, and delete his/her own address information in
the address table.
8. In this question, you will develop part of the online application that allows user to login to
the system.
a. First create a JSP page (login.jsp) that allows the job applicant to fill his/her user
name and password. The page should contain text boxes for the user name and
password, and a submit button labeled “login”. When the user submits the form by
clicking on the “login” button, you will call the doPost method of a servlet called
“loginServlet” (details of loginServlet is found on question b). (2 marks)
b. The doPost method of loginServlet should get the text typed into the user name and
password fields. Then if the user name is equal to admin and password is admin, it
should display welcome. Otherwise it should display wrong password. (4 marks)

Part II: Answer Questions 1 and 2 Based on the Instruction Indicated in


each Question.
1. Write the output of the following question EXACTLY as the machine prints. (3 marks)

2
class University {
protected String uniName, uniLocation;

public University() {
System.out.println("Here is the Ethio-University Info!");
}
public University(String name) {
System.out.println(name + " is knowledge-producing factory!");
}
public University(String name, String loca) {
this(name);
uniLocation = loca;
System.out.println(name + " is located in" + loca);
}
}

class BDU extends University {


public BDU(String name) {
super(name);
System.out.println("BDU is located in" + uniLocation);
}
}

class JU extends University {


public JU() {
System.out.println("Universities, source of knowledge and Wisdom!");
}
public JU(String name) {
super(name);
System.out.println("መፅሓፌ ዩኒቨርሲቲዬ ናት!");
}
public JU(String name, String location) {
this(name);
super.uniLocation = location;
System.out.println("JU is located in Jimma");
}
}

public class UniversityInfo {


public static void main(String str[]) {
JU ju = new JU("IoT", "Poly");
}
}

3
2. Which of the following statements are true? (Choose all that apply.(2 marks)
a. If an anonymous inner class inside the class Outer is defined to implement the
interface ActionListener, it can be constructed like this:
new Outer().new ActionListener()
b. Given that Inner is a nonstatic class declared inside a public class Outer and that
appropriate constructor forms are defined, an instance of Inner can be constructed
like this:
new Outer().new Inner()

c. Given that Inner is a nonstatic class declared inside a public class Outer and that
appropriate constructor forms are defined, an instance of Inner can be constructed
in a static method like this: new Inner()

d. An anonymous class instance that implements the interface MyInterface can be


constructed and returned from a method like this:

1 return new MyInterface(int x){


2 int x;
3 public MyInterface(int x){
4 this.x = x;
5 }
6 };

You might also like