35
INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel . Reviwed by: L. Asma Alzaid

INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Embed Size (px)

Citation preview

Page 1: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

INTRODUCTION TO SYSTEM ANALYSIS AND DESIGNPrepared by: L. Fatimah Alageel.Reviwed by: L. Asma Alzaid

Page 2: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

What Is An Information System? An information system is a collection of

interrelated components that collect, process, store, and provide as output the information needed to complete a business task.

Page 3: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Examples of Information Systems Course registration system Online order system Online banking system

Page 4: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

What Is System Analysis About? Understanding the goals and strategies

of the business. Defining the information requirements

that support those goals and strategies. It is not about programming.

Page 5: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

System Analysis vs. System Design System Analysis:

Investigation of the problem and requirement rather than solution.

System Design: A conceptual solution that fulfills the

requirements, rather than implementation.

Page 6: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

System Analyst

A business professional who uses analysis and design techniques to solve business problems using information technology.

Page 7: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

The Role of a System Analyst Investigate, analyze, design, develop,

installs, evaluate, and maintains a company’s information systems.

Business knowledge. Business problem solver. Help translate business requirements

into IT projects.

Page 8: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Traditional System Development Life Cycle (SDLC)

Page 9: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Traditional System Development life Cycle (SDLC)

Project planning – initiate, ensure feasibility, plan schedule, obtain approval for project

Analysis – understand business needs and processing requirements

Design – define solution system based on requirements and analysis decisions

Implementation – construct, test, train users, and install new system

Support – keep system running and improve

Page 10: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Two Approaches to System Development

Traditional (Structured) approach Also called structured system development Structured analysis and design technique

(SADT) Includes information engineering (IE)

Object-oriented approach Also called OOA, OOD, and OOP Views information system as collection of

interacting objects that work together to accomplish tasks

Page 11: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Structured System Development Structure Programming Top-down Programming Structured Design Structured Analysis

Page 12: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Object-Oriented Approach

Completely different approach to information systems

Views information system as collection of interacting objects that work together to accomplish tasks Objects – things in computer system that can

respond to messages Conceptually, no processes, programs, data

entities, or files are defined – just objects OO languages: Java, C++, C# .NET,

VB .NET

Page 13: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Object-oriented Analysis and design (OOAD)

OOAD essential for creating well-designed, & maintainable software system

All Software Analysis and Design is preceded by the analysis of requirements.

analysis models the “real-world” requirements, independent of the implementation environment.

design applies object-oriented concepts to develop and communicate the architecture and details of how to meet requirements.

Page 14: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Unified Modeling Language (UML) UML (Unified Modeling Language) is a

graphical language that is suit-able to express software or system requirements, architecture, and design.

UML used for both database and software modeling

UML modeling also supports multiple views of the same system. use case diagram shows the purposes of the

system (use cases) and the users (actors).

Page 15: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

UML diagrams

Can be organized as the fallowing:1. Structural diagrams:

to show the building blocks of your system—features that don’t change with time.

Ex: Class diagram

2. Behavioral diagrams: to show how your system responds to requests or otherwise evolves

over time. Ex: Use case diagram

3. Interaction diagrams: Is a type of behavioral diagram. To depict the exchange of messages within a collaboration (a group of

cooperating objects). Ex: Sequence diagram & Collaboration diagram

Page 16: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

UML diagrams Another ways of categorizing UML

diagram:

1. Static diagrams to show the static features of the system.

(no change)

2. Dynamic diagrams• to show how your system evolves over

time.

3. Functional diagrams: • to show the details of behaviors and

algorithms.

Page 17: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

3 phase of O-O Approach

Object-oriented analysis (OOA) Object-oriented design (OOD) Object-oriented programming (OOP)

Page 18: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Object-oriented analysis (OOA) Trying to figure out what the users and customers

of a software effort want the System to do. Builds a “real-world” model from requirements

client interviews, domain knowledge, real-world experience collected in use cases and other simple notations

OOA models address three aspects of the system (its objects) class structure and relationships sequencing of interactions and events data transformations and computations

Page 19: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Models of Object-Oriented Analysis (UML)

Structural Model (Data-Oriented) static features what objects are in the system? how are they related?

Dynamic Model (Action-Oriented) behavioral aspects what events occur in the system when do they occur and in what order?

Functional Model (Both Data and Actions) data transformations “what” does the system do

Page 20: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

20

Class Diagram Created During OO Analysis

Page 21: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Ex: Use Case (Analysis)

Start from requirements Describe response of system to events

– Normal flow of action– Error and exception handling

Can implement tests to check use cases

Page 22: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

OOD: Object Oriented Design

• Emphasizes a conceptual solution that fulfils the

requirements specified in the analysis.

• Need to define software objects and how they

collaborate to fulfill the requirements.

• For example, in the Library Information System, a

Book object may have a title attribute and a

display() method.

• Designs are implemented in a programming

language.

•In the example, we will have a Book class in Java.

Page 23: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Analysis vs. Design

– Discovery - Invention– What? - How?– Physical - Logical

Page 24: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Example: Analysis vs. Design

figure : Analysis and design versions of a class

Page 25: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Object-oriented programming (OOP)

Writing statements in programming language to define what each type of object does

OO Programming Language (e.g. C++, Java,

smalltalk, …)

Page 26: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

OOP: Object-Oriented Programming26

• During Implementation, or Object-Oriented Programming, design objects are implemented, such as a book class in Java.

• Implementation is also known as Coding or Construction.

Page 27: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Objects27

Concepts, concrete or abstract, with

meaning derived from the problem

domain “the real world”

Provide a basis for implementation.

Encapsulation of state (data values) and

behavior (operations)

Page 28: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Objects (cont.)28

Exhibit behavior by invoking a method in

response to a message.

Instances of classes.

an object-oriented program is a

collection of autonomous interacting and

collaborating objects

Page 29: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Classes29

objects sharing common characteristics

dictate the behavior of the object contain

state: attributes, fields, variables, data member

behavior: functions, methods, function member

Page 30: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

3 Pillars of Object-Orientation

30

encapsulation

inheritance

polymorphism

Page 31: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Encapsulation31

combination of state and behavior implementation details are hidden

internally internal mechanisms can change while

public interfaces remain stable state may be retrieved using public

methods behavior consists of methods activated

by receipt of messages

Page 32: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Inheritance

Classes with similar attributes and operations may be

organized hierarchically

Common attributes and operations are factored out and

assigned to a broad superclass (generalization)

generalization is the “is-a” relationship

superclasses are ancestors, subclasses are descendants.

Classes iteratively refined into subclasses that inherit the

attributes and operations of the superclass

(specialization)

Page 33: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Inheritance Example

Page 34: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Polymorphism34

Polymorphism means same operation may behave

differently on different classes.

Some Polymorphism types:

Overloading: Method with same name but with

different arguments (compile-time polymorphism).

Overriding: when child class declares a method that

has the same type arguments as a method declared

by one of its superclass (run-time polymorphism) .

Page 35: INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN Prepared by: L. Fatimah Alageel. Reviwed by: L. Asma Alzaid

Summary

What is information system. System analysis. System analysis vs. system design System development life cycle (SDLC) Unified Modeling Language (UML) Phases of OO Approach. Pillars of OO.