0% found this document useful (0 votes)
71 views21 pages

Chapter 2. Introduce To System Analysis and Design

This document provides an overview of system analysis and design. It discusses the system development life cycle, the role of the system analyst, and the main approaches to system analysis and design, including the functional approach and object-oriented approach. The functional approach decomposes a system into its functions and subfunctions, while the object-oriented approach models a system using objects, classes, encapsulation, inheritance, polymorphism, and abstraction. It also describes key object-oriented concepts such as attributes, constructors, inheritance, polymorphism, abstraction, and encapsulation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views21 pages

Chapter 2. Introduce To System Analysis and Design

This document provides an overview of system analysis and design. It discusses the system development life cycle, the role of the system analyst, and the main approaches to system analysis and design, including the functional approach and object-oriented approach. The functional approach decomposes a system into its functions and subfunctions, while the object-oriented approach models a system using objects, classes, encapsulation, inheritance, polymorphism, and abstraction. It also describes key object-oriented concepts such as attributes, constructors, inheritance, polymorphism, abstraction, and encapsulation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Information System

Analysis and Design

Si Thin Nguyen, PhD


Chapter 2: Introduce to System Analysis
and Design

2.1. System development life cycle


2.2. The role of system analyst
2.3. The approaches in System Analysis and Design

1- 2
2.1 System development life cycle

Source: https://ehindistudy.com/2015/09/15/sdlc-in-hindi/
1- 3
2.2 The Role of System Analyst

• Valued member:
- Plan, develop, maintain IS
• Excellent communicator:
- Strong analytical and critical thingking skills
- Transform business requirements into IT projects
• Business-savy as well as technically competent
→ IT department, specific user: marketing, sales, accounting

1- 4
2.2 The Role of System Analyst (cont)

• Skill:
- Communication skill: Presentation: writing, oral; Listening
- Technical Knowledge
- Business skill
- Critical thinking skill : what-if
https://www.criticalthinking.org/

1- 5
2.3 The approaches in Sytem Analysis and Design

• Funtional approach
• Object-oriented approach
- Objects
- Classes
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction

1- 6
Functional/ procedural approach

• Based on specified functions of the system


- A system consist of several fuctions
• Decomposition of functions into sub-functions
- A system consists of sub-systems
- A sub-system is divided into smaller subsystem

1- 7
Object-Oriented Analysis and Design (OOA/D)

➢ Class & Object


➢ Attributes
➢ Constructor
➢ Inheritance
➢ Polymorphism
➢ Abstraction
➢ Encapsulation
Class & Object
➢ Object: is the entity/instance with “state” and “behavior”
➢ Features:
- Physical or logic entity
- Having three characteristics: state, behavior, identity
Class & Object
➢ Class:
- Is the template or blueprint from which objects are made
- Can be defined as a collection of object
➢ Including:
- Data: attribute/ field/ instance variable
- Methods
- Constructor
…..
Attributes
⮚ Concept: The data held by an object is represented by its
attributes
⮚ Types:
- Class variables : defined within the scope of the class, but
outside of any methods
- Instance variables: are tied to the instance (objects) than class
Constructor
➢ Concept: is a special type of method (function) which is used to
initialize the instance members of the class.
⮚ Constructors can be of two types.
• Parameterized Constructor
• Non-parameterized Constructor
Inheritance
⮚ Concept: the child class acquires the properties and can access all the data members
and functions defined in the parent class
⮚ Note:
• Reuse code
• Method Overriding
▪ Syntax: class derived-class(base class):
<derivedclass-body>
derived/sub class base/super class
Manager Employee
• bonus: double IS- A • name : String
• salary : double
• getSalary() • getSalary()
Inheritance
Single Multi-level inheritance Multiple - inheritance

CLASS A CLASS A CLASS B CLASS C

CLASS B CLASS B CLASS A

CLASS C
Inheritance
⮚ “super()”: is used to call method and constructor of parent class

derived/sub class base/sup class

Manager Employee
IS- A • name : String
• bonus: double
• salary : double

• getSalary() • getSalary()
Polymorphism
⮚ Polymorphism: one task can be performed in different ways
⮚ Note: Runtime polymorphism: Method Overriding

derived/sub class base/sup class

Manager Employee
• bonus: double IS- A • name : String
• salary : double

• getSalary() • getSalary()
Method Overriding
⮚ Concept: subclass (child class) has the same method as declared in the parent
class, it is known as method overriding
⮚ Note: - Same name and the number of parameters
- Runtime polymorphism
- The prefer in the order: left to right, up to down
Abstraction
Concept: main goal is to handle complexity by hiding unnecessary details
from the user
Note:
• We know “what it does” but we don’t know “how it does”
• Abstract Base Classes (ABCs)

Remote Sending Message


Abstract class and abstract method
⮚ Abstract class: is a restricted class that cannot be used to create objects (to
access it, it must be inherited from another class)
⮚ Note:
▪ Having at least one abstract method
▪ Can not be instantiated themselves
▪ Abstract method: can only be used in an abstract class, and it does not
have a body. The body is provided by the subclass (inherited from).
⮚ Note:
▪ Is declared in subclass
Encapsulation
⮚ Concept: It is used to restrict access to methods and variables. In encapsulation, code
and data are wrapped together within a single unit from being modified by accident.
⮚ Note:
⮚ Private Attributes
⮚ Using getter and setter methods to access data

class Student: class Student:


def __init__(self, univer): def __init__(self, univer):
self.__univer=univer self.__univer=univer
# getter # setter
@property @univer.setter
def univer(self): def univer(self,univer):
return self.__univer self.__univer=univer
# Missing setter method # Missing getter method
# only read data # Only write data

a= Student(“VKU") a= Student(“VKU")
a.__univer=“VKU University" a.univer=“VKU University"
print(a.univer) print(a.__univer)
# result is not changed: “VKU” # Cannot print
A question of ethics

Source: Tilley, S. (2019). Systems analysis and design. Cengage Learning. (pp.35)
Chương 1.Tổng quan về PT&TKHTTT 1- 21

You might also like