Introduction to System Analysis and Design

advertisement
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.
Examples of Information Systems



Course registration system
Online order system
Online banking system
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.
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.
System Analyst

A business professional who uses analysis and
design techniques to solve business problems using
information technology.
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.
Traditional System Development
Life Cycle (SDLC)
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
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

Structured System Development




Structure Programming
Top-down Programming
Structured Design
Structured Analysis
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
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.
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).
UML diagrams

Can be organized as the fallowing:
Structural diagrams:
1.


to show the building blocks of your system—features that don’t change with time.
Ex: Class diagram
Behavioral diagrams:
2.


to show how your system responds to requests or otherwise evolves over time.
Ex: Use case diagram
Interaction diagrams:
3.



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
UML diagrams

Another ways of categorizing UML diagram:
Static diagrams
1.

to show the static features of the system. (no change)
Dynamic diagrams
2.
•
to show how your system evolves over time.
Functional diagrams:
3.
•
to show the details of behaviors and algorithms.
3 phase of O-O Approach



Object-oriented analysis (OOA)
Object-oriented design (OOD)
Object-oriented programming (OOP)
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
Models of Object-Oriented Analysis
(UML)

Structural Model







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

(Data-Oriented)
data transformations
“what” does the system do
(Both Data and Actions)
Class Diagram Created During
OO Analysis
20
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
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.
Analysis vs. Design
– Discovery
– What?
– Physical
- Invention
- How?
- Logical
Example: Analysis vs. Design
figure : Analysis and design versions of a class
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, …)

OOP: Object-Oriented Programming
26
• 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.
Objects
27

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)
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
Classes
29



objects sharing common characteristics
dictate the behavior of the object
contain
 state:
attributes, fields, variables, data member
 behavior: functions, methods, function member
3 Pillars of Object-Orientation
30

encapsulation

inheritance

polymorphism
Encapsulation
31





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
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)
Inheritance Example
Polymorphism
34

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) .
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.
Download