ISOM 3210 - Information Systems Analysis and Design
Final Exam Review

To access the practice questions, press here.

Exam Coverage

Class Diagram

Foundation of Object-Oriented Programming

Procedural Programming vs Object-Oriented Programming

function cal() {
	var radius, circumference, area;

	radius = 5;

	circumference = 2 * 3.14 * radius;
	area = 3.14 * radius ^ 2;

	console.log("Circumference: " + circumference + " Area: " + area);
	// OUTPUT: Circumference: 31.4 Area: 78.5
}
// Class Definition
class circle {
	// Attributes
	constructor(radius) {
		this.radius = radius;
	}
	// Methods
	get circumference() {
		return this.radius * 2 * 3.14;
	}
	get area() {
		return this.radius * this.radius * 3.14;
	}
}

//Main Programme
let cir_5 = new circle(5);
console.log("Circumference: " + cir_5.circumference + " Area: " + cir_5.area);
// OUTPUT: Circumference: 31.4 Area: 78.5

Objects, Classes, Properties, and Methods

The Object-Oriented View of a System

UST Student Example
// Class Definition
class student {
  constructor(name, sid) {
    // Defining the Proprities
    this.Name = name;
    this.Sid = sid;
    this.Gp = 0;
    this.Credit = 0;
    this.CurrentCredit = 0;
  }

  // Defining the Methods
  enrolCourse(credit) {
    if ((this.CurrentCredit + credit) <= 18) {
      this.CurrentCredit += credit;
      console.log("Enrolled to " + credit + " credits.")
      return true;
    } else {
      console.log("Over-loaded!");
      return false;
    }
  }

  endCourse(credit, points) {
    this.CurrentCredit -= credit;
    this.Credit += credit;
    this.Gp += (credit * points);
    console.log("Completed " + credit + " credits.");
    console.log("New GPA: " + (this.Gp / this.Credit));
  }
}
// Main Programme
let Willis = new student("Willis", 20423038);
Willis.enrolCourse(3); 	// OUTPUT: Enrolled to 3 credits.
Willis.enrolCourse(20); // OUTPUT: Over-loaded!
Willis.enrolCourse(13); // OUTPUT: Enrolled to 13 credits.
Willis.endCourse(3, 4.3);
// OUTPUT: Completed 3 credits.
// OUTPUT: New GPA: 4.3
Willis.endCourse(4, 4.0);
// OUTPUT: Completed 4 credits.
// OUTPUT: New GPA: 4.128571428571428

Principles of Object-Oriented Programming

Abstraction through Encapsulation
Inheritance
Polymorphism

Foundation of Relational Database

Why Relational Database?

Four Basic Operations in Database Manipulation

Entities and Attributes

STUDENT Relation

Student_ID First_Name Last_Name Major Gender Birth_Date
20423038 Chun Yu Wan BBA(IS) Male 1998-06-25

Relationship

Primary Keys and Foreign Keys

Problems of Poor Database Design

Resolution of Many-To-Many Relationships

Normalization

Sequence Diagram

Sequence Diagram describes the order of a use case. To be precise, it describes how messages are passed between actors and classes by triggering methods of different classes.

Student (Actor) STUDENT RECORD PROGRAMME login() retrieveStudentRecord() retrievePrograme() updateGrade() logoff() Student (Actor) STUDENT RECORD PROGRAMME

Behaviour State Machine Diagram

Behvaiour State Machine Diagram describes how state/status of an object change in our system over time.