Upload
clemence-mckenzie
View
219
Download
0
Embed Size (px)
Citation preview
INTRODUCTION TO SYSTEM ANALYSIS AND DESIGNPrepared 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: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
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.
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 (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
20
Class Diagram Created During OO Analysis
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 - Invention– What? - How?– Physical - 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 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.
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)
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
Classes29
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
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
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
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) .
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.