You are on page 1of 61

NEW ERA UNIVERSITY

College of Engineering and Technology


Computer Science Department

“Can U Name It?”

CS 434
Software Engineering

Project Manager: Mower, Juvielane D.

Development Managers: Ricamata, Lou Marwin D.


Eclarinal, Ivy

Quality Assurance Managers: Tanguilig, Paulo Romulo E.


Dorado, Raulito Jr. S.

Prof. Jeremias C. Esperanza

1
Table of Contents Page

Title page i

Table of Contents ii

List of Figures iii

I. Introduction 3

II. Requirement Specification 4


a. Cover Letter
b. Requirement Specification 5

III. Requirement Analysis 6


a. Use Case Diagram 8
b. Class Diagram 10
c. Sequence Diagram 12
d. Activity Diagram 14
e. User Interface Form 16

IV. System Design / Implementation 19


a. Source Code Listing 20

V. Unit / System Test 34


a. Quality Assurance Checklist 36

VI. Recommendation 51

Appendix
1. Timeline / Gantt chart 52
2. Resume 56

2
I. Introduction

The Project is created for the completion of our requirements in our CS434 class and to enhance
our skills on game development using java language. The Project “Can U Name It?” is a java
based game which display two player’s guessing their given random name.

Can U Name It game unlikely matchup between Player 1 and Player 2. Despite its technical
issues, purely frame rate related, as the game is easy to control using mouse perfectly, Can U
Name It game should really be installed on every personal. The game's style like of Hangaroo’s
game, which may appear to be simple at first but shows its complexity, soon enough, is highly
addictive. Just like other guessing game, which we also play.

At the start of each round you can type you’re player name after that, simply type the word or
any name that guess your opponent and when he/she guess or not the word, another player have a
chance to type his/her secret word that will guess to another player.

The goal of Game is to guess what the secret word of your opponent and the game will display
who is the player that can guess a correct answer.

3
July 15, 2009

MR. JEREMIAS C. ESPARANZA


IT Project Head

Subject: REQUIREMENT SPECIFICATION

Dear Sir:

We are glad that the organization has given us the opportunity to serve the company’s needs.
Please find attached Requirement Specification of our proposed “Can U Name It?”.

We do hope that the deliberated specification suit your organizational needs. If there are any
concerns and clarifications you would like to add, please feel free to contact us.

Respectfully yours,

JUVIELANE D. MOWER
Project Manager
Clear Mind, Inc.

4
REQUIREMENT SPECIFICATION

I. Functional Requirements
1. Player can guess celebrity name
2. The game shows winner
3. Player can guess letter of celebrity
4. Player loses chance if source is wrong.

II. Data Requirements


1. The Application is composed of the Graphical User Interface (GUI) and the
source code.
2. The players will register by typing their first names.

III.Constraints
1. Cost. The project will cost PhP 1,000.00
2. Delivery Date. The system will be in full operation on September 08, 2010.
3. Computer Hardware. Windows, PC stations
4. PC Memory Requirement. 128 MB
5. Response time. 1 second
6. Programming Language. Java
7. Reliability Requirements. Mean time between failure (MTBF) should be 3
months.

IV. Guidelines
1. Main memory usage should not exceed 45,256 KB
2. “Can U Name It?” is a Windows Application that can be played by two players.

CONFORME:

JEREMIAS C. ESPERANZA JUVIELANE D. MOWER


IT Head Project Manager
Black Swan, Inc. Clear Mind, Inc.

5
R EQ U I R EM EN T A N A L YS I S

6
U S E C A S E DI A G R A M

7
8
C L A S S DI A G R A M

9
10
S EQ U EN C E DI A G R A M

11
12
A C T I V I T Y DI A G R A M

13
14
U S ER I N T ER F A C E F O R M

15
16
17
18
S YS T EM D ES I G N /
I M P L EM EN T A T I O N

19
Splash.java

import java.awt.*;
import javax.swing.*;
import java.net.*;

public class Splash extends JWindow {


private JLabel status;
public void showSplash() {

JPanel content = (JPanel)getContentPane();


content.setBackground(Color.white);

Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();


int x = (screen.width-300)/2;
int y = (screen.height-300)/2;
setBounds(x,y,300,300);

JLabel icon = new JLabel(new ImageIcon(getImage(new JFrame(), "splash.gif")));


status=new JLabel("Loading...",JLabel.CENTER);
status.setFont(new Font("Courier New",Font.ITALIC+Font.BOLD,11));
content.add(icon, BorderLayout.CENTER);
content.add(status, BorderLayout.SOUTH);
content.setBorder(BorderFactory.createLineBorder(Color.BLACK, 3));

setVisible(true);
setStatus();
setVisible(false);
}
private void setStatus(){
try{
int percent=0;
Thread.sleep(1000);
while(percent<100){
percent++;
status.setText(percent+"%");
Thread.sleep(20);
}
}catch(Exception e){}
}

20
private Image getImage(JFrame frame,String name) {
URL url = Splash.class.getResource(name);
Image img = frame.getToolkit().getImage(url);
try {
MediaTracker tracker = new MediaTracker(frame);
tracker.addImage(img, 0);
tracker.waitForID(0);
} catch (Exception e) {}
return img;
}
}

Secret.java

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
public class Secret extends JFrame implements ActionListener{
private JPasswordField secretOfPlayer1, secretOfPlayer2;
private JButton play,back;
private Registration reg;
public Secret(Registration reg){
super("Can U Name It?");
this.reg=reg;
secretOfPlayer1=new JPasswordField();
secretOfPlayer2=new JPasswordField();
play=new JButton("PLAY");
play.addActionListener(this);
play.setBackground(new Color(123,255,200));
back=new JButton("BACK");
back.addActionListener(this);
back.setBackground(new Color(123,255,200));
getContentPane().setLayout(new GridLayout(2, 1));
JPanel panel=new JPanel(new GridLayout(3, 2));
JLabel label=new JLabel("Player1 Secret",JLabel.CENTER);
label.setBackground(Color.BLUE);
label.setForeground(Color.WHITE);
panel.add(label);
panel.add(secretOfPlayer1);
JLabel label2=new JLabel("Player2 Secret",JLabel.CENTER);
label2.setBackground(Color.BLUE);
label2.setForeground(Color.WHITE);
panel.add(label2);
panel.add(secretOfPlayer2);

21
panel.add(play);
panel.add(back);

panel.setBackground(Color.BLUE);
JLabel title=new JLabel("ENTER SECRETS",JLabel.CENTER);
title.setFont(new Font("Arial Black", Font.BOLD, 20));
JPanel panel2=new JPanel(new BorderLayout());
panel2.setBackground(new Color(123,255,200));
panel2.add(title,BorderLayout.CENTER);
getContentPane().add(panel2);
getContentPane().add(panel);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
int x = (screen.width-300)/2;
int y = (screen.height-200)/2;
setBounds(x,y,300,200);
setVisible(true);
setResizable(false);
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource()==back){
reg.setVisible(true);
this.dispose();
}else
if((ae.getSource()==play)&&(secretOfPlayer1.getText().equalsIgnoreCase("")||secretOfPlayer2.g
etText().equalsIgnoreCase(""))){
JOptionPane.showMessageDialog(this, "Secret is blank!","NO SECRET
ERROR",JOptionPane.ERROR_MESSAGE);
}else if(secretOfPlayer1.getText().length()>20||secretOfPlayer2.getText().length()>20){
JOptionPane.showMessageDialog(this, "Secret is too long!","LONG SECRET
ERROR",JOptionPane.ERROR_MESSAGE);
}else if(!checkingCond()){
JOptionPane.showMessageDialog(this, "No letter or number found!","NOTHING TO
GUESS ERROR",JOptionPane.ERROR_MESSAGE);
}else{
Game game=new Game(this);
game.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setVisible(false);
}
}
public String getSecret1(){
return secretOfPlayer1.getText().toUpperCase();
}
public String getSecret2(){
return secretOfPlayer2.getText().toUpperCase();
}

22
public Registration getReg(){
return reg;
}
public boolean checkingCond(){
int charCountToGuess=0;
for(int x=0;x<secretOfPlayer1.getText().length();x++){
if(Character.isLetterOrDigit(secretOfPlayer1.getText().charAt(x))){
charCountToGuess++;
}
}
if(charCountToGuess==0){
return false;
}
charCountToGuess=0;
for(int x=0;x<secretOfPlayer2.getText().length();x++){
if(Character.isLetterOrDigit(secretOfPlayer2.getText().charAt(x))){
charCountToGuess++;
}
}
if(charCountToGuess==0){
return false;
}
return true;
}
}

23
Registration.java

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
public class Registration extends JFrame implements ActionListener{
private JTextField inputNameP1, inputNameP2;
private JButton register,back;
private Menu menu;
public Registration(Menu menu){
super("Can U Name It?");
this.menu=menu;
inputNameP1=new JTextField();
inputNameP2=new JTextField();
register=new JButton("REGISTER");
register.addActionListener(this);
register.setBackground(new Color(123,255,200));
back=new JButton("BACK");
back.addActionListener(this);
back.setBackground(new Color(123,255,200));
getContentPane().setLayout(new GridLayout(2, 1));
JPanel panel=new JPanel(new GridLayout(3, 2));
JLabel label=new JLabel("Player1 Name",JLabel.CENTER);
label.setForeground(Color.WHITE);
panel.add(label);
panel.add(inputNameP1);
JLabel label2=new JLabel("Player2 Name",JLabel.CENTER);
label2.setForeground(Color.WHITE);
panel.add(label2);
panel.add(inputNameP2);
panel.add(register);
panel.add(back);
panel.setBackground(Color.BLUE);
JLabel title=new JLabel("ENTER PLAYER NAMES",JLabel.CENTER);
title.setFont(new Font("Arial Black", Font.BOLD, 20));
JPanel panel2=new JPanel(new BorderLayout());
panel2.setBackground(new Color(123,255,200));
panel2.add(title,BorderLayout.CENTER);
getContentPane().add(panel2);
getContentPane().add(panel);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
int x = (screen.width-300)/2;

24
int y = (screen.height-200)/2;
setBounds(x,y,300,200);
setVisible(true);
setResizable(false);
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource()==back){
menu.setVisible(true);
this.dispose();
}else
if((ae.getSource()==register)&&(inputNameP1.getText().equalsIgnoreCase("")||inputNameP2.ge
tText().equalsIgnoreCase(""))){
JOptionPane.showMessageDialog(this, "No Name Found!","NO NAME
ERROR",JOptionPane.ERROR_MESSAGE);
}else if(inputNameP1.getText().length()>20||inputNameP2.getText().length()>20){
JOptionPane.showMessageDialog(this, "Name Too Long!","LONG NAME
ERROR",JOptionPane.ERROR_MESSAGE);
}else{
Secret secret=new Secret(this);
secret.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setVisible(false);
}
}
public String getP1Name(){
return inputNameP1.getText().toUpperCase();
}
public String getP2Name(){
return inputNameP2.getText().toUpperCase();
}
public Menu getMenu(){
return menu;
}
}

Main.java
public class Main {
public static void main(String args[]){
Splash splash=new Splash();
splash.showSplash();
Menu menu=new Menu();
menu.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
}
}

25
Menu.java

import java.awt.*;
import java.awt.event.*;
import java.net.*;

import javax.swing.*;
public class Menu extends JFrame implements ActionListener{
private JRadioButton selection[];
private JButton select;
public Menu(){
super("Can U Name It?");
getContentPane().setLayout(new GridLayout(5, 1));
selection=new JRadioButton[4];
selection[0]=new JRadioButton("START",true);
selection[1]=new JRadioButton("ABOUT");
selection[2]=new JRadioButton("HELP / INSTRUCTION");
selection[3]=new JRadioButton("EXIT");
ButtonGroup bg=new ButtonGroup();
for(int index=0;index<selection.length;index++){
selection[index].setBackground(Color.BLUE);
selection[index].setForeground(Color.WHITE);
bg.add(selection[index]);
getContentPane().add(selection[index]);
}
select=new JButton("SELECT");
select.addActionListener(this);
select.setBackground(new Color(123,255,200));
getContentPane().add(select);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
int x = (screen.width-150)/2;
int y = (screen.height-200)/2;
setBounds(x,y,150,200);
setVisible(true);
setResizable(false);
}
public void actionPerformed(ActionEvent ae){
if(selection[0].isSelected()){
Registration reg=new Registration(this);
reg.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setVisible(false);
}else if(selection[1].isSelected()){

26
JOptionPane.showMessageDialog(this,new JLabel(new ImageIcon(getImage(new JFrame(),
"about.gif"))),"ABOUT",JOptionPane.PLAIN_MESSAGE);
}else if(selection[2].isSelected()){
JTextArea textArea=new JTextArea(7, 0);
String text="1st: Register Players Name\n"+
"2nd: Enter Players Secret\n"+
"3rd: Player Guess Each Others Secret\n\n"+
"Players can guess the characters\n"
+ "for as long as they have sufficient\n"
+ "life.\n\n"
+ "Players secret maximum length\n"
+ "is 20, including special characters\n"
+ "and spaces.\n\n"
+ "Secrets should atleast contain 1\n"
+ "number or letter.\n\n"
+ "In guessing the secret, the\n"
+ "spaces and special characters are\n"
+ "included.\n\n"
+ "Does'nt matter if your playing\n"
+ "it with capslock on or off.";
textArea.setText(text);
textArea.setEditable(false);
JOptionPane.showMessageDialog(this,new JScrollPane(textArea),"HELP /
INSTRUCTION",JOptionPane.INFORMATION_MESSAGE);
}else if(selection[3].isSelected()){
System.exit(0);
}
}
private Image getImage(JFrame frame,String name) {
URL url = Menu.class.getResource(name);
Image img = frame.getToolkit().getImage(url);
try {
MediaTracker tracker = new MediaTracker(frame);
tracker.addImage(img, 0);
tracker.waitForID(0);
} catch (Exception e) {}
return img;
}
}

27
Game.java
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
public class Game extends JFrame implements KeyListener,MouseListener{
private boolean cond;
private int life;
private JLabel status;
private JLabel label[];
private JPanel bList;
private Registration reg;
private Secret secret;
private Menu menu;
public Game(Secret secret){
super("Can U Name It?");
this.secret=secret;
reg=secret.getReg();
menu=reg.getMenu();
cond=true;
life=3;
bList=new JPanel(new GridLayout(1, 3));
JLabel guess=new JLabel("GUESS",JLabel.CENTER);
guess.setName("guess");
guess.addMouseListener(this);
guess.setBorder(BorderFactory.createLineBorder(Color.GRAY, 3));
guess.setForeground(Color.BLACK);
JLabel giveUp=new JLabel("GIVE UP",JLabel.CENTER);
giveUp.setName("giveup");
giveUp.addMouseListener(this);
giveUp.setBorder(BorderFactory.createLineBorder(Color.GRAY, 3));
giveUp.setForeground(Color.BLACK);
status=new JLabel("",JLabel.CENTER);
status.setEnabled(false);
status.setFont(new Font("Arial Black", Font.BOLD, 20));
status.setForeground(Color.BLUE);
status.setText("LIFE:"+life);
bList.add(guess);
bList.add(giveUp);
bList.add(status);

28
bList.setBackground(new Color(123,255,200));
getContentPane().setLayout(new BorderLayout());
getContentPane().add(getBoard(),BorderLayout.NORTH);
getContentPane().add(getLetters(),BorderLayout.CENTER);
getContentPane().add(bList,BorderLayout.SOUTH);
addKeyListener(this);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
int x = (screen.width-800)/2;
int y = (screen.height-300)/2;
setBounds(x,y,800,300);
setVisible(true);
setResizable(false);
}
private JPanel getBoard(){
JPanel guessBoard=new JPanel(new FlowLayout());
if(cond){
label=new JLabel[secret.getSecret2().length()];
for(int x=0;x<secret.getSecret2().length();x++){
label[x]=new JLabel();
label[x].setFont(new Font("Arial",Font.BOLD,20));
label[x].setBorder(BorderFactory.createLineBorder(Color.WHITE, 2));
if(Character.isLetterOrDigit(secret.getSecret2().charAt(x))){
label[x].setText("_");
label[x].setHorizontalAlignment(JLabel.CENTER);
}else{
label[x].setText(secret.getSecret2().charAt(x)+"");
label[x].setHorizontalAlignment(JLabel.CENTER);
}
guessBoard.add(label[x]);
}
}else{
label=new JLabel[secret.getSecret1().length()];
for(int x=0;x<secret.getSecret1().length();x++){
label[x]=new JLabel();
label[x].setFont(new Font("Arial",Font.BOLD,20));
label[x].setBorder(BorderFactory.createLineBorder(Color.WHITE, 2));
if(Character.isLetterOrDigit(secret.getSecret1().charAt(x))){
label[x].setText("_");
label[x].setHorizontalAlignment(JLabel.CENTER);
}else{
label[x].setText(secret.getSecret1().charAt(x)+"");
label[x].setHorizontalAlignment(JLabel.CENTER);
}

29
guessBoard.add(label[x]);
}
}
guessBoard.setBackground(new Color(123,255,200));
return guessBoard;
}

public void nextPlayer(){


cond=false;
life=3;
status.setText("LIFE:"+life);
getContentPane().removeAll();
getContentPane().add(getBoard(),BorderLayout.NORTH);
getContentPane().add(getLetters(),BorderLayout.CENTER);
getContentPane().add(bList,BorderLayout.SOUTH);
getContentPane().validate();
repaint();
}
public void keyTyped(KeyEvent e) {
String keyIs=e.getKeyChar()+"";
keyIs=keyIs.toUpperCase();
char key=keyIs.charAt(0);
keyCondition(key);
}
public void keyPressed(KeyEvent e) {}
public void keyReleased(KeyEvent e) {}
public void mousePressed(MouseEvent e) {
Component c=e.getComponent();
if(c.getName().equalsIgnoreCase("guess")){
try{
String guess=JOptionPane.showInputDialog("GUESS");
if(cond&&guess.equalsIgnoreCase(secret.getSecret2())){
JOptionPane.showMessageDialog(this, reg.getP1Name()+"
won","WON",JOptionPane.INFORMATION_MESSAGE);
nextPlayer();
}else if(!cond&&guess.equalsIgnoreCase(secret.getSecret1())){
JOptionPane.showMessageDialog(this, reg.getP2Name()+"
won","WON",JOptionPane.INFORMATION_MESSAGE);
this.dispose();
menu.setVisible(true);

30
}else if(life>1){
life--;
status.setText("LIFE:"+life);
}else if(life==1&&cond){
JOptionPane.showMessageDialog(this, reg.getP1Name()+" lose!\nCorrect Answer:
"+secret.getSecret2()+"\nNext Player Turn","LOSE",JOptionPane.ERROR_MESSAGE);
nextPlayer();
}else if(life==1&&!cond){
JOptionPane.showMessageDialog(this, reg.getP2Name()+" lose!\nCorrect Answer:
"+secret.getSecret1(),"LOSE",JOptionPane.ERROR_MESSAGE);
this.dispose();
menu.setVisible(true);
}
}catch(Exception x){}
}else if(cond&&c.getName().equalsIgnoreCase("giveup")){
if(JOptionPane.showConfirmDialog(this, "Give up now?", "GIVE UP",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION){
JOptionPane.showMessageDialog(this, reg.getP1Name()+" lose!\nCorrect Answer:
"+secret.getSecret2()+"\nNext Player Turn","LOSE",JOptionPane.ERROR_MESSAGE);
nextPlayer();
}
}else if(!cond&&c.getName().equalsIgnoreCase("giveup")){
if(JOptionPane.showConfirmDialog(this, "Give up now?", "GIVE UP",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION){
JOptionPane.showMessageDialog(this, reg.getP2Name()+" lose!\nCorrect Answer:
"+secret.getSecret1(),"LOSE",JOptionPane.ERROR_MESSAGE);
this.dispose();
menu.setVisible(true);
}
}else{
char key=c.getName().charAt(0);
keyCondition(key);
}
}
public void mouseClicked(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
private JPanel getLetters(){

31
JPanel panel=new JPanel(new GridLayout(3,1));
String top[]={"Q","W","E","R","T","Y","U","I","O","P"};
String middle[]={"A","S","D","F","G","H","J","K","L"};
String bottom[]={"Z","X","C","V","B","N","M"};
JLabel topL[]=new JLabel[top.length];
JPanel t=new JPanel(new GridLayout(1, top.length));
t.setBackground(Color.BLACK);
for(int x=0;x<top.length;x++){
topL[x]=new JLabel(top[x], JLabel.CENTER);
topL[x].setFont(new Font("Arial Black", Font.BOLD, 20));
topL[x].setBorder(BorderFactory.createLineBorder(Color.WHITE, 1));
topL[x].setForeground(Color.WHITE);
topL[x].setName(top[x]);
topL[x].addMouseListener(this);
t.add(topL[x]);
}
JLabel middleL[]=new JLabel[middle.length];
JPanel m=new JPanel(new GridLayout(1, middle.length));
m.setBackground(Color.BLACK);
for(int x=0;x<middle.length;x++){
middleL[x]=new JLabel(middle[x], JLabel.CENTER);
middleL[x].setFont(new Font("Arial Black", Font.BOLD, 20));
middleL[x].setBorder(BorderFactory.createLineBorder(Color.WHITE, 1));
middleL[x].setForeground(Color.WHITE);
middleL[x].setName(middle[x]);
middleL[x].addMouseListener(this);
m.add(middleL[x]);
}
JLabel bottomL[]=new JLabel[bottom.length];
JPanel b=new JPanel(new GridLayout(1, bottom.length));
b.setBackground(Color.BLACK);
for(int x=0;x<bottom.length;x++){
bottomL[x]=new JLabel(bottom[x], JLabel.CENTER);
bottomL[x].setFont(new Font("Arial Black", Font.BOLD, 20));
bottomL[x].setBorder(BorderFactory.createLineBorder(Color.WHITE, 1));
bottomL[x].setForeground(Color.WHITE);
bottomL[x].setName(bottom[x]);
bottomL[x].addMouseListener(this);
b.add(bottomL[x]);
}
panel.add(t);
panel.add(m);
panel.add(b);
return panel;

32
}
private void keyCondition(char key){
if(cond&&life>1){
int length=secret.getSecret2().length();
for(int x=0;x<secret.getSecret2().length();x++){
if(secret.getSecret2().charAt(x)==key){
label[x].setText(key+"");
length--;
}
}
if(length==secret.getSecret2().length()){
life--;
}
}else if(!cond&&life>1){
int length=secret.getSecret1().length();
for(int x=0;x<secret.getSecret1().length();x++){
if(secret.getSecret1().charAt(x)==key){
label[x].setText(key+"");
length--;
}
}
if(length==secret.getSecret1().length()){
life--;
}
}else if(life==1){
JOptionPane.showMessageDialog(this, "No more life for guessing characters!\nGuess the
secret now!","NO LIFE WARNING",JOptionPane.WARNING_MESSAGE);
}
status.setText("LIFE:"+life);
repaint();
}
}

33
U N I T S YS T EM / T E S T

34
Q UA LIT Y A SSURA NC E
C H EC K L I S T

35
V. Quality Assurance Checklist

Module Name (attach program listing) showSplash() –Class Splash


Last Revision 09/18/10
Date Tested/Checked 09/20/10

Structured Walkthroughs and Inspections


Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] []

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) 15 goal is 50 lines max

Number of conditions 1

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

36
V. Quality Assurance Checklist

Module Name (attach program listing) public void setStatus-Class Splash


Last Revision 09/18/10
Date Tested/Checked 09/20/10

Structured Walkthroughs and Inspections


Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] []

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) 8 goal is 50 lines max

Number of conditions 2

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

37
V. Quality Assurance Checklist

Module Name (attach program listing) private Image getImage()-Class Splash


Last Revision 09/18/10
Date Tested/Checked 09/20/10

Structured Walkthroughs and Inspections


Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] []

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) 8 goal is 50 lines max

Number of conditions 2

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

38
V. Quality Assurance Checklist

Module Name (attach program listing) public void actionPerformed()-Class Registration


Last Revision 09/18/10
Date Tested/Checked 09/20/10

Structured Walkthroughs and Inspections


Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] []

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) 11 goal is 50 lines max

Number of conditions 5

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

39
V. Quality Assurance Checklist

Module Name (attach program listing) public String getP1Name()-Class Registration


Last Revision 09/18/10
Date Tested/Checked 09/20/10

Structured Walkthroughs and Inspections


Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] []

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) 1 goal is 50 lines max

Number of conditions 1

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

40
V. Quality Assurance Checklist

Module Name (attach program listing) public String getP2Name()-Class Registration


Last Revision 09/18/10
Date Tested/Checked 09/20/10

Structured Walkthroughs and Inspections


Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] []

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) 1 goal is 50 lines max

Number of conditions 1

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

41
V. Quality Assurance Checklist

Module Name (attach program listing) public Menu getMenu()-Class Registration


Last Revision 09/18/10
Date Tested/Checked 09/20/10

Structured Walkthroughs and Inspections


Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] [ ]

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) 1 goal is 50 lines max

Number of conditions 1

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

42
V. Quality Assurance Checklist

Module Name (attach program listing) public void ActionPerformed()-Class Menu


Last Revision 09/18/10
Date Tested/Checked 09/20/10

Structured Walkthroughs and Inspections


Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] []

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) 31 goal is 50 lines max

Number of conditions 5

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

43
V. Quality Assurance Checklist

Module Name (attach program listing) private Image getImage()-Class Menu


Last Revision 09/18/10
Date Tested/Checked 09/20/10

Structured Walkthroughs and Inspections


Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] []

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) 8 goal is 50 lines max

Number of conditions 2

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

44
V. Quality Assurance Checklist

Module Name (attach program listing) private JPanel getBoard()-Class Game


Last Revision 09/18/10
Date Tested/Checked 09/20/10

Structured Walkthroughs and Inspections


Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] []

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) 29 goal is 50 lines max

Number of conditions 9

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

45
V. Quality Assurance Checklist

Module Name (attach program listing) public void nextPlayer()-Class Game


Last Revision 09/18/10
Date Tested/Checked 09/20/10
Structured Walkthroughs and Inspections
Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] []

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) 9 goal is 50 lines max

Number of conditions 1

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

46
V. Quality Assurance Checklist

Module Name (attach program listing) public void KeyTyped()-Class Game


Last Revision 09/18/10
Date Tested/Checked 09/20/10
Structured Walkthroughs and Inspections
Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] []

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) _______ goal is 50 lines max

Number of conditions _______

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

47
V. Quality Assurance Checklist

Module Name (attach program listing) public void mousePressed()-Class Game


Last Revision 09/18/10
Date Tested/Checked 09/20/10

Structured Walkthroughs and Inspections


Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] []

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) 34 goal is 50 lines max

Number of conditions 13

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

48
V. Quality Assurance Checklist

Module Name (attach program listing) private JPanel getLetters()-Class Game


Last Revision 09/18/10
Date Tested/Checked 09/20/10

Structured Walkthroughs and Inspections


Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] []

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) 42 goal is 50 lines max

Number of conditions 4

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

49
V. Quality Assurance Checklist

Module Name (attach program listing) public void keyCondition()-Class Game


Last Revision 09/18/10
Date Tested/Checked 09/20/10

Structured Walkthroughs and Inspections


Yes No

1. Description of the program is stated. [] [ ]

2. Author, date created and revised are indicated. [] [ ]

3. Indentation is clear and consistent. [ ] []

4. Program is self-documenting. [ ] []

5. Method name connotes action or decision. [ ] []

6. Method has maximum of 4 parameters. [ ] []

7. All identifiers are initialized. [ ] []

Number of Line Of Codes (LOC) 20 goal is 50 lines max

Number of conditions 10

no. of conditions +1;


must not exceed 10

Cyclomatic Complexity index _______


Fault Density ________

Comments
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

Tested by: PAULO ROMULO E. TANGUILIG Noted by: JUVIELANE D. MOWER


Quality Assurance Manager Project Manager

50
VI. Recommendation

The team created Can U Name It? game especially for a children, to expose their mind in
a computer guessing game, when the children learn this game the mind of child can excel while
playing this game, and this game can help the users when he/she starting to learn in the guessing
game. When the users know how to won this game and how to play it very well, the user have
advantage when he/she play other guessing game like Hangaroo game.

The team brings forth a twist in story line for the game so that future users get to love
guessing games like this. Being inspired from Hangaroo’s game, the team created a guessing
game wherein users would be also addictive in the future as the game improves and have some
updates in it. For the future programmers and game developers, the team would be delighted if
some time in the future; people use our game for references when they are developing their own
game. The team recommends future users to have recommended specs of the game for them to
have a good experience while playing the game. The team knows that the game has more to
improve so the team will continue to update the game and in the future, it would be more
interesting and the cutest game ever.

51
G A N TT C H A R T

52
53
54
55
R ES U M E

56
Paulo Romulo E. Tanguilig
34D Green Condo, Culiat Quezon City, Philippines
E-mail: d0ogyb0ne_17@yahoo.com.ph
Contact no. 09065930632

OBJECTIVE

To be professionally trained in Information Technology industry, gain more knowledge and


make a contribution to the company’s success. To enhance my knowledge about Photoshop,
Database and programming language.

EDUCATION

Bachelor of Science in Computer Science June 2006 - present


New Era University (NEU)
No. 9 Central Avenue, New Era, Quezon City

PROJECT / TECHNICAL EXPERIENCE

Quality Assurance Manager June 2010 - present


Software Engineering Case Study

Database Designer March 2010


ABC Telecoms Material Management Systems
Database Management System (DBMS) Case Study

ORGANIZATION AFFILIATIONS

o MEMBER, Internet Users(IUG), June 2009 - present

TECHNICAL SKILLS

Windows XP, ME, 98, MySql, VB 8.0, Java 2.01, Foxpro 6.0, Access 2003, HTML

PERSONAL

Date of Birth: January 9, 1988 Height: 5’5’’


Weight: 150 lbs. Civil Status: Single

57
Raulito S. Dorado Jr.
Block 1 Unit 9 Iglesia ni Cristo Compound
Tagumpay Rodriguez, Rizal.
E-mail: dorado_neu@yahoo.com
Contact no. 09263068490

OBJECTIVE

To be able to find a job wherein I can apply my skills, gain more experience and learn something
from it, develop my personality, and to be capable of helping and supporting my family in
financial needs.

EDUCATION

Bachelor of Science in Computer Science June 2008 - present


New Era University (NEU)
No. 9 Central Avenue, New Era, Quezon City

PROJECT / TECHNICAL EXPERIENCE

Quality Assurance Manager June 2010 - present


Software Engineering Case Study

Database Designer March 2010


ABC Telecoms Material Management Systems
Database Management System (DBMS) Case Study

ORGANIZATION AFFILIATIONS

o MEMBER, Internet Users(IUG), June 2009 - present

TECHNICAL SKILLS

Software: MS Word, MS Excel, MS PowerPoint, MS Access, MS Project, Argo UML.


Hardware: Desktop Computer, Laptop, Network and Software and Hardware Troubleshooting.
Operating System: Windows XP, Windows 7, Lynux,Ubunto
Programming: HTML, Visual Basic 8.0, Java, My SQL, Turbo C.

PERSONAL

Date of Birth: March 15, 1988 Height: 5’6’’


Weight: 180 lbs. Civil Status: Single

58
Lou Marwin D. Ricamata
D19 Gauja Apartment Sagana1
Diliman, Quezon City.
E-mail: marwin_ricamata@yahoo.com.ph
Contact no. 09155486084

OBJECTIVE

To use computer science training in software development for designing and creating user-
friendly and a promisingly good games and applications.

EDUCATION

Bachelor of Science in Computer Science June 2004 - present


New Era University (NEU)
No. 9 Central Avenue, New Era, Quezon City

PROJECT / TECHNICAL EXPERIENCE

Development Manager June 2010 - present


Software Engineering Case Study

Database Designer March 2010


ABC Telecoms Material Management Systems
Database Management System (DBMS) Case Study

ORGANIZATION AFFILIATIONS

o MEMBER, Internet Users(IUG), June 2009 - present

TECHNICAL SKILLS

Windows XP, 98, MySql, VB Studio 8.0, VB Java 2.01, HTML

PERSONAL

Date of Birth: June 21,1988 Height: 5’5’’


Weight: 130 lbs. Civil Status: Married

59
Juvielane Mower
E Virginia St. Antipolo City
E-mail: jadesy_28@yahoo.com
Contact no. 09205661527

OBJECTIVE

To use computer science training in software development for designing and implementing
mission critical systems and applications. Prefer position in data analysis where skills in
mathematics, computer programming will contribute to new automated systems.

EDUCATION

Bachelor of Science in Computer Science June 2005 - present


New Era University (NEU)
No. 9 Central Avenue, New Era, Quezon City

PROJECT / TECHNICAL EXPERIENCE

Project Manager June 2010 - present


Software Engineering Case Study

ORGANIZATION AFFILIATIONS

o MEMBER, Internet Users(IUG), June 2009 - present

TECHNICAL SKILLS

Windows XP, ME, 98, VB 6.0, Java 2.01, Foxpro 6.0, Access 2003, HTML

PERSONAL

Date of Birth: August 18,1989 Height: 5’7’’


Weight: 110 lbs. Civil Status: Single

60
Ivy Eclarinal
#001 Purok 1 San Agustin Hagonoy, Bulacan
E-mail: ievhie25@yahoo.com
Contact no. 09056676741

OBJECTIVE

To use computer science training in software development for designing and implementing
mission-critical systems and applications. Prefer position in data analysis where skills in
mathematics, computer programming will contribute to new automated systems.

EDUCATION

Bachelor of Science in Computer Science June 2005 - present


New Era University (NEU)
No. 9 Central Avenue, New Era, Quezon City

PROJECT / TECHNICAL EXPERIENCE

Development Manager June 2010 - present


Software Engineering Case Study

Database Designer March 2007


ABC Telecoms Material Management Systems
Database Management System (DBMS) Case Study

ORGANIZATION AFFILIATIONS

o MEMBER, Internet Users(IUG), June 2009 - present

TECHNICAL SKILLS

Windows XP, MySql, VB 6.0, Java 2.01, Access 2003, HTML, PHP

PERSONAL

Date of Birth: June 25, 1987 Height: 5’2’’


Weight: 135 lbs. Civil Status: Single

61

You might also like