Final Exam Review for ISOM 3210 System Analysis and Design


Willis WAN, Chun Yu

01 December 2018

Information Systems

System Design

System Analysis

ISOM

IS

ISOM3210

This was my revision notes when I prepared for the final exam of ISOM 3210 System Analysis and Design. This is transcribed from my old website so the formatting might be off. The content might not be updated as well.
This is served as a reference only, and I have no intention to update this note.

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_IDFirst_NameLast_NameMajorGenderBirth_Date
12345678Chun YuWanBBA(IS)Male1998-01-01

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.

Example Sequence Diagram

Behaviour State Machine Diagram

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

About the Author

Willis WAN, Chun Yu

A graduate in BBA(Information Systems) of HKUST. Tech Enthusiast, Teacher, Learner.

Copyright © 2020 All Rights Reserved