Download - Software 567
-
8/12/2019 Software 567
1/92
QMIS331:
InformationSystem
Analysis and Design
(ISAD)
By
Dr. Abou l El la Hassan ien
-
8/12/2019 Software 567
2/92
Lecture Meeting and Location
Lecture Meeting:
Saturday
Monday
Wednesday
8.00 8.50
Location: Room # 311 Office Hours:
Sat & Monday 9.00 -10.00
-
8/12/2019 Software 567
3/92
Required Text Book
Modern System Analysis & Design, 4th
Jefferey A. Hoffer, Joey F. George and
Joseph. S. Valacich, Prentice-Hall,2005
-
8/12/2019 Software 567
4/92
Course Objective
To provideyou with new ways of looking atinformation in the world in order to solve businessproblems
To introduceyou to concepts and methods of SAD
To describethe systems development life cycle(SDLC)
To teachyou effective methods for gatheringessential information during system analysis
To teach youeffective methods for designingsystemsto solve problems effectively usingtechnology
-
8/12/2019 Software 567
5/92
Chapter-1:The Systems Development Environment
Basic concepts of IS
System analysis and design definition
SAD:Discuss modern approach
Discuss Organizational Roles System analyst
Information system types
SDLC:The System Development Life Cycle
Using CASEtools (Computer Aided SoftwareEngineering)
-
8/12/2019 Software 567
6/92
Systems Theory
What is a System?
Systems and Subsystems
Business organization as a Socio-technical system
Information Systems (IS) as a
system
-
8/12/2019 Software 567
7/92
What is a System?
A collection of partsthat work together toachieve a goal/task Examples
Solar system
Digestive systems Public transport system
Central heating system
Computer system
Information system
A set of objectsand relationships amongthe objects viewed as a whole anddesigned to achieve a purpose
-
8/12/2019 Software 567
8/92
-
8/12/2019 Software 567
9/92
SystemsCan Be Composed of Subsystems
Subsys A-2
Subsys A-3
SubsysB-2
SubsysB-1
System
Subsys A Subsys B Elemental
Part C
Subsys A-1
Elemental
part B1
-
8/12/2019 Software 567
10/92
What is subsystem?
A subsystem is simply a systemwithin a system.
Automobile is a system composed of
subsystems: Engine system
Body system
Frame system
Each of these subsystem iscomposed of sub-sub --systems. Engine system: carburetor system,
generator system, fuel system, and soson
-
8/12/2019 Software 567
11/92
Bad Systems
Fail to meet requirements
Poor performance
Poor reliability
Lack of usability
Example difficulties: Not to schedule
Not to budget
Runaway = 100% over budget or schedule
Some problems are simply wickedproblems
-
8/12/2019 Software 567
12/92
Reasons for Failure
Complexity Shifting requirements
Bad estimation
Bad management
New technology
Must tackle complexity by, for example: Structure partitioning of problem
Organized interaction of parts
Ensure you achieve the task
Systems are subject to the need forcontinuing change
-
8/12/2019 Software 567
13/92
Important System Concepts
Decomposition
The process of breaking down asystem into smaller components
Allows the systems analyst to: Break a system into small, manageable
subsystems
Focus on one area at a time
Concentrate on component pertinent toone group of users
Build different components atindependent times
1.14
-
8/12/2019 Software 567
14/92
Important System Concepts
Modularity Process of dividing a system into
modules of a relatively uniform size
Modules simplify system design
Coupling
Subsystems that are dependent uponeach other are coupled
Cohesion Extent to which a subsystem
performs a single function
1.14
-
8/12/2019 Software 567
15/92
Computer-based Information Systems (CBIS) vs
Manual Systems
CBIS
Information system that rely on
computer hardware and software for
processing and disseminatinginformation
Manual systems
Use paper + pencil technology
-
8/12/2019 Software 567
16/92
CBIS Components
A Computer-based Information System
= Hardware + Software + People +Procedures + Information
-
8/12/2019 Software 567
17/92
Data and Information
Data are raw facts about the organization
and its business transactions. Most data
items have little meaning and use by
themselves.
Alternative definition: Data are a collection of items such as words,
numbers, images, and sounds that are not
organized and have little meaning individually
Data are raw facts about people, objects, and
events in an organization
information: Data that is organized
-
8/12/2019 Software 567
18/92
Data flow andprocessing logic
Data flow:
Data in motion, moving from one place in a
system to another
Processing logic:The steps by which data are transformed or
moved and a description of the events that
trigger these steps
-
8/12/2019 Software 567
19/92
Processing logic example
Events: H-W = 0
Event-action:
If H-W > 40 thenPay = 40 *Pay-rate + (H-W40 ) *(1.5 *Pay-rate)
Else
Pay = Pay-rate *H-W
End if
-- H-W . Worked Hours
-
8/12/2019 Software 567
20/92
Databases
A shared collection of logically
related data designed to meet the
information needs of multiple users
in organization.DatabaseFilesRecords-- Fields
-
8/12/2019 Software 567
21/92
Levels of data managements
databases
File 1 File 2File
N
Record 1 Record 2 Record N
Filed 1
Filed 2
Filed N
Character BYTE
Character BYTE
Character BYTE
-
8/12/2019 Software 567
22/92
Traditional vs database approach
Traditional approach
Personal
dataProject
data
Tax
data
Personal
data
Payroll
systemProject
Management System
Redundant data
-
8/12/2019 Software 567
23/92
Traditional vs database approach
Database approach
Tax
data
Personal
data
Payroll
system
Project
Management System
Project
data
-
8/12/2019 Software 567
24/92
Approach to system development
There are three strategies of IS
development
1. Process-oriented approach
2. Data-oriented approach
3. Object-oriented approach
-
8/12/2019 Software 567
25/92
Process-oriented approach
An strategy to IS development that focuses on how andwhen data are moved through and changed by an IS
Data-oriented approach An strategy to IS development that focuses on the ideal
organization of data rather than where and how data are
used.
Object-oriented approach A system development methodologies and techniques
base on objects rather than data or process
-
8/12/2019 Software 567
26/92
Application independence
The separation of data and the definition of data from
the applications that the use these data
-
8/12/2019 Software 567
27/92
Example
Rent books system Rent house system
Personal
data
Book
data
Personal
data
House
data
Link
Is missing
Rent books system Rent house system
Book
data
Personal
data
House
data
Application
independenc
Process Oriented Approach
Data oriented
-
8/12/2019 Software 567
28/92
-
8/12/2019 Software 567
29/92
What is an Information Systems?
Interrelated components working
together to
Collect
Process
Store
Disseminate information
To support decision making,coordination, control, analysis and
visualization in an organization
-
8/12/2019 Software 567
30/92
A SYSTEM THAT PROVIDES THE INFORMATION NEEDED TO
ACCOMPLISH THE ORGANIZATIONS TASKS
WHAT IS A COMPUTER BASED
INFORMATION SYSTEM?
A SYSTEM THAT USES COMPUTERS TO
PROVIDE THE NEEDED INFORMATION
What is an Information System?
-
8/12/2019 Software 567
31/92
Information System Types
1. Transaction Processing Systems (TPS)
2. ManagementInformation Systems
(MIS)3. Decision Support Systems (DSS)
4. Expert System andArtificial Intelligence
(ES &AI)
-
8/12/2019 Software 567
32/92
Transaction Processing Systems
(TPS)
TPS are computerized information systems that weredeveloped to process large amounts of data for routine
business transaction.
Automate the handling of data aboutbusiness activities
and transactions, which can be thought of a simplediscrete events in the life of an organization.
Data about each transaction are captured,
Transactions are verified and accepted/rejected,
Validation transactions are stored for later aggregation.
Report may be produced to provide summarization of thetransactions, and
Transaction may be moved from process to process in order tohandle all aspects of the business activities.
-
8/12/2019 Software 567
33/92
Management Information Systems
(MIS) Information system at the management level of an
organization that serves the functions of planning,
controlling, and decision making by providing routine
summary and exception reports.
It takes the relatively raw data available through a TPSand converts them into a meaningful aggregated form
that mangers need to conduct their responsibilities.
Developing an MIS calls for a good understanding of
what kind of information managers require and howmanagers use information in their jobs.
-
8/12/2019 Software 567
34/92
-
8/12/2019 Software 567
35/92
Expert System and Artificial
Intelligence (ES & AI)
Knowledgerepresentation describes the way an expert would
approach the problem. It attempts to codify and manipulate
knowledge rather than information, (for example if .. Then rule)
User communication with an ES via an interactive dialogue.
The ES asks questions ( that an expert would ask) and the end user
supplies the answers.
The answers are then used to determine which rules apply and the
ES provides a recommendation based on the rule.
Knowledge Engineers perform knowledge acquisition; they aresimilar with system analyst but are trained to use different
techniques.
-
8/12/2019 Software 567
36/92
-
8/12/2019 Software 567
37/92
System development for different
IS types
1- TIS
IS characteristic:
High volume, data capture focus
System development methods: Process-oriented
Concern with capturing, validating, and
storing data with moving data between
each required step
-
8/12/2019 Software 567
38/92
-
8/12/2019 Software 567
39/92
System development for different
IS types
3- DSS
IS characteristic:
Provide guidance in identifying problem, finding
and evaluating alternative solutions and selecting
or comparing alternatives; potentially involvesgroups of decision making
System development methods:
Data- and decision logic orientation
Design of user dialogue; group communication
may be key an access to unpredictable data may
be necessary
-
8/12/2019 Software 567
40/92
System development for different
IS types
4-ES
IS characteristic:
Provide expert advice by asking users a
sequence of questions dependent on prioranswers that lead to a conclusion or
recommendation
System development methods:
A specialized decision logic orientation inwhich knowledge is elicited from experts
and described by rule or other form
-
8/12/2019 Software 567
41/92
Stakeholders: Players in theSystems Game
A stakeholderis any person who
has an interest in an existing or
new information system.
Stakeholders can be technical or
nontechnical workers.
-
8/12/2019 Software 567
42/92
Stakeholders Classification
For information systems, thestakeholders can be classified as:
IS manger
Systems analystsin systems development Programmers in systems development
End userin systems development
Supporting End userdevelopment
Business managersin systems development Other IS mangers/Techniciansin system
development
IS M i S
-
8/12/2019 Software 567
43/92
IS Manger in Systems
Development
The manager of an IS department may have a direct rolein the systems development process if the organization issmall or I that is the mangers style
IS mangers are more involved in allocating resources toand overseeing approved system development projectsrather than in the actual project development process.
There are several IS mangers in any medium to large ISdepartment.
The manger of an entire IS department may have the title Chief
Information Officer and may report to the president or chairmanof the firm.
Each division of the IS department will also have a manger
Director of IS development, IS operation manger, IS programmerdirector, etc.
-
8/12/2019 Software 567
44/92
Systems Analysts
Systems analysts are the key individuals in thesystems development process.
A systems analyst studies the problems and needs
of an organization to determine how people, data,processes, communications, and informationtechnology can best accomplish improvements for thebusiness.
The organizational role most responsible for the
analysis and design of information systems.
Skill f S f l S t
-
8/12/2019 Software 567
45/92
Skills of a Successful Systems
AnalystAnalytical skills
Understanding of organizations.
Problem solving skills
System thinking Ability to see organizations and
information systems as systems
Technical skills Understanding of potential and
limitations of technology.
1.45
-
8/12/2019 Software 567
46/92
Skills of a successful systems
analyst Managerial skills
Ability to manage projects, resources, risk and
change
Interpersonal skills
Effective written and oral communication skills Help you work with end user as well as other
system analysts and programmers
1.46
-
8/12/2019 Software 567
47/92
V i ti th S t
-
8/12/2019 Software 567
48/92
Variations on the Systems
Analysts TitleA business analystis a systems analyst that
specializes in business problem analysis
and technology-independent requirements
analysis.
A programmer/analyst includes the
responsibilities of both the computer
programmer and the systems analyst.
Others Systems consultant
Systems engineer
Information engineer
-
8/12/2019 Software 567
49/92
The Systems Analyst as a Facilitator
-
8/12/2019 Software 567
50/92
Skills Required by Systems Analysts
Working knowledge of informationtechnology
Computer programming experience and
expertise
General business knowledge Problem-solving skills
Interpersonal communication skills
Interpersonal relations skills
Flexibility and adaptability
Character and ethics
Systems analysis and design skills
Programmers in systems
-
8/12/2019 Software 567
51/92
Programmers in systems
development Programmers convert the specifications given to them by
the analysts into instructions the computer can
understand.
Coding: writing a computer program
Code generatorshave been developed to generate codefrom specifications, saving an organization time and
money.
The aim of CASEtools (Computer-Aided Software
Engineering) is to provide a variety of code generatorsthat can automatically produce 90% or more from the
system specifications normally given a programmer.
B i i t
-
8/12/2019 Software 567
52/92
Business managers in system
development
Another group to system development efforts is business
managers such as functional department heads and
corporate executives.
These managers are importantbecausethey have the
power to fund development projects and to allocate
resources necessary for projects success.
Oth IS / T h i i
-
8/12/2019 Software 567
53/92
Other IS managers/ Technicians
in system development
Database ----- database administrator
Network and telecommunications experts:
Manager of Data Communication
Manager of Voice Communication
Internal auditors
-
8/12/2019 Software 567
54/92
Characteristics of successful teams
The characteristics are diversity inbackgrounds,
skills, and goals;
tolerance of diversity, uncertainty, and
ambiguity;
clear and complete communication;
trust;
mutual respect and putting one's own viewssecond to the team;
A reward structure that promotes shared
responsibility and accountability.
-
8/12/2019 Software 567
55/92
System Analysis and Design
-
8/12/2019 Software 567
56/92
System Analysis and Design
(SAD)
Analysis: defining the problem
From requirements to specification
Design:solving the problem
From specification to implementation
-
8/12/2019 Software 567
57/92
Why is it important?
Success of information systemsdepends on good SAD
Widely used in industry - proven
techniques
Part of career growth in IT - lots of
interesting and well-paying jobs!
Increasing demand for systemsanalysis skills
-
8/12/2019 Software 567
58/92
Views of Systems Analysis
How to build information systems
How to analysis information system
needs
How to design computer based
information systems
How to solve systems problems in
organizations
-
8/12/2019 Software 567
59/92
Systems Development Life
-
8/12/2019 Software 567
60/92
Systems Development Life
Cycle (SDLC) It is a common methodology for systems often follows
for system development in many organization, featuringseveralphasesthat mark the progress of the systemsanalysis and design effort.
SDLC phases: 1-Project identification and selection
2-Project initiation and planning
3-Analysis
4-Design
4.1Logical design 4.2Physical design
5-Implementation
6-Maintenance
1.60
1 Project identification and
-
8/12/2019 Software 567
61/92
1-Project identification and
selection phase
The first phase of the SDLC in which an
organization total information systems needs
are identified analyzed, prioritized andarranged.
Identifying Potential development projects
Classifying and ranking projects
Selecting projects for development More details will be discuss in chapter (5)
Cont
-
8/12/2019 Software 567
62/92
Cont.
1- Project identifying and selection
This stage is critical to the success ofthe rest of the project.
People: Users, analyst, system managers coordinating the project
Activities: Interviewing user management, summarizing the
knowledge obtained estimating the scope of the project
and documenting the result
Output: Feasibility report: problem definition and summarizing the
objectives
2 Project initiation and planning
-
8/12/2019 Software 567
63/92
2-Project initiation and planning
phase
The second phase of the SDLC in which a
potential IS project is explained and an
argument for continuing with the project ispresented. A detailed plan is also developed
for conducting the remaining phases of the
SDLC for the propose system. Output are:
Detailed stepwork plan - high level systemrequirementassignment of team members
More details will be discuss in chapter (6)
-
8/12/2019 Software 567
64/92
3-Analysis phase
The third phase of the SDLC in which thecurrent system is studied and alternativereplacement systems are proposed.
Description of current system Where problem and opportunities are with a general
recommendation on how to fix, enhance or replacecurrent system
More details will be discuss in chapters (7-11)
Cont
-
8/12/2019 Software 567
65/92
Cont.
3- Analyzing systems needs
The primary objective of the analysis phase is tounderstand and document the business needs andthe processing requirements of the new system.There are six primary activities in this phase:
Gather information.
Define system requirements.
Build prototypes for discovery of requirements .
Prioritize requirements.
Generate and evaluate alternatives.
Review recommendations with management
-
8/12/2019 Software 567
66/92
4-Design phase
The forth phase of the SDLC in which the descriptionof the recommended solution is converted intological and then physical system specification.
Logical design:
The part of the design phase of the SDLC in which allfunctional feature of the system chosen fordevelopment in analysis are described independently ofany computer platform.
Physical design:
The part of the design phase of the SDLC in which thelogical specification of the system from logical designare transformed into technology specific details from
which all programming and system construction can beaccomplished.
More details will be discuss in chapter (12-16)
-
8/12/2019 Software 567
67/92
4.1 Logical design output
Functional,
Detailed specification of all system
elements Input
Output
Process
-
8/12/2019 Software 567
68/92
4.2 Physical design output
Technical
Detailed specification of all system
elements
programs, files,
network,
system software
etc
Acquisition plan of a new technology
Cont
-
8/12/2019 Software 567
69/92
Cont.
4- Designing the recommended system
Its primary objective is to convert the description of therecommended alternative solution into system specification.
High-level design consists of developing an architecturalstructure for software programs, databases, the user interface,and the operating environment.
Low-level design entails developing the detailed algorithms anddata structures that are required for program development.
Seven major activities must be done during design: Design and integrate the network.
Design the application architecture.
Design the user interfaces . Design the system interfaces.
Design and integrate the databases.
Prototype for design details.
Design and integrate the system controls
-
8/12/2019 Software 567
70/92
5- Implementation
The fifth phase of the SDLC in which theinformation system is
Coded,
Tested,
Installed, and Supported in the organization.
Outputs:
Code, documentation, training procedures and
support capabilities
More details will be discuss in chapter (17)
-
8/12/2019 Software 567
71/92
6-Maintances
The final phase of the SDLC in which theinformation system is systematically repaired
and improved
Output are:
New versions of releases of software with
associated updates to documentation, training, and
support
More details will be discuss in chapter (18)
-
8/12/2019 Software 567
72/92
Disadvantages of traditional SDLC
It is too expensive (cost + time) whendealing with change once it is developed
It is structured approaches that requires to
follow all its phases
Maintains costs are too expensive
-
8/12/2019 Software 567
73/92
1- Structured analysisand structured
-
8/12/2019 Software 567
74/92
St uctu ed a a ys s a d st uctu ed
design
More focus on reducing maintenances and
time effort in system development
Integrate change when needed
2- Object Oriented Analysis and
-
8/12/2019 Software 567
75/92
2 Object Oriented Analysis and
Design (OOAD)
A more recent approach to systemdevelopment that is becoming is object
oriented analysis and design (OOAD).
It is often called thirdapproach to system
development, after theprocess orientedand
data orientedapproaches
Definition: OOAD
It systems development methodologies andtechniques base on objectsrather than dataor
process
bj h i d bj l
-
8/12/2019 Software 567
76/92
Object, Inheritanceand object class
Object:A structure that encapsulates (packages)
attributes and methods that operate on those
attributes. An object is an abstraction of a realworld thing in which data and processes are
placed together to model the structure and
behavior of the real world object
Combine data and processes (called methods)into single entities called Object
-
8/12/2019 Software 567
77/92
I h i
-
8/12/2019 Software 567
78/92
Inheritance
The property that occurs when entity types or
object classes are arranged in a hierarchy and
each entity type or object class assumes the
attributes and methods of its ancestors.
3 P t t i
-
8/12/2019 Software 567
79/92
3- Prototyping
An iterative processof systems development inwhich requirementsare converted to a workingsystemthat is continually revised through closework between an analyst and users.
You can build prototype by some developmenttool to simplify the process. CASE: Computer Aided Software Tools such as
Oracle (designer 2000)
4GLs: fourth-generation languages Prototyping is a form of Rapid Application
Development (RAD)-------- Chapter 10
RAD di d
-
8/12/2019 Software 567
80/92
RAD disadvantages
1. RAD may overlook software
engineering principles,
2. Resulting in inconsistencies amongsystems modules,
3. Noncompliance with standards, and
4. Lack of system component reusability
Th t t th d l
-
8/12/2019 Software 567
81/92
The prototype methodology
If prototype
inefficient
Convert to
Operational syst.
Identify
problem
Implement &
Use prototypeRevise& enhance
prototype
Develop
prototype
Initial requirement
Problems
Next Version
Working prototype New
requirement
Th t t th d l
-
8/12/2019 Software 567
82/92
The prototype methodology
1. The analyst work with team to identify theinitial requirement for the system:
2. The analyst then build the prototype. When
a prototype is completed, the users work
with it and then tell the analyst what they
like and do not like about it.
3. The analyst uses this feedback to improve
the prototype4. Take the new version back the users
5. Repeat (2-4) until the users satisfied
P t t d t
-
8/12/2019 Software 567
83/92
Prototype advantages
1. Prototyping involves the user in analysisand design
2. its ability to capture requirements in
concreterather than abstractform3. To being used stand alone
4. It is may be used to augmentthe SDLC
Wh I P t t
-
8/12/2019 Software 567
84/92
When I use Prototype
1. User requirements are not clear
2. One or few users and other stakeholders are
involved with the system
3. Possible designs are complex and requireconcrete form to fully evaluate
4. Communication problem have existed in the
past between user and analysts
5. Tools and data are readily available to
rapidly build working systems
4 J i t A li ti D i (JAD)
-
8/12/2019 Software 567
85/92
4-Joint Application Design (JAD)
In the late 1970 systems developmentpersonnel at IBM developed a new
process for collecting IS requirements and
reviewing system design. It is called JADDefinition: It is structured process in
which users, mangers, and analysts work
together for several days in a series ofintensive meeting to specify or review
system requirements
5 P ti i t d i
-
8/12/2019 Software 567
86/92
5- Participatory design
End users are involved in the SD around a
table in one room to agree about system
requirements and system designThey responsible about the freeze of
design Milestone
Automated Tools and
-
8/12/2019 Software 567
87/92
Automated Tools and
Technology
Analyst rely on automated tools to:
Increase productivity
Communicate more effectively with users
Integrate the work that they do on the system frombeginning to the end of the life cycle
Examples:
Computer-Aided Systems Engineering (CASE -tools)
Application Development Environments (ADE -tools)
Process and Project Managers
Improve productivity of IS
-
8/12/2019 Software 567
88/92
p p y
development
Computing technology can be used to
improve productivity. CASE tools, forexample, provide many productivity
enhancing capabilities, such as code
generation, diagramming tools, and screen
and report designing tools.
Computer-Aided Systems
-
8/12/2019 Software 567
89/92
p y
Engineering: CASE tools
Computer-aided systemsengineering (CASE) tools are
software programsthat automate or
support the drawing and analysis ofsystem models and provide for the
translation of system models into
application programs.
Computer-Aided Systems
-
8/12/2019 Software 567
90/92
p y
Engineering: CASE tools
A CASE repositoryis a system developers database. It
is a place where developers can store system models,detailed descriptions and specifications, and otherproducts of system development. Synonyms include
dictionaryand encyclopedia. Forward engineeringrequires the systems analyst to
draw system models, either from scratch or fromtemplates. The resulting models are subsequentlytransformed into program code.
Reverse engineeringallows a CASE tool to readexisting program code and transform that code into arepresentative system model that can be edited andrefined by the systems analyst.
-
8/12/2019 Software 567
91/92
-
8/12/2019 Software 567
92/92
Chapter -1
The End