prince sultan college for women

79
Prince Sultan College for Women Course Code : IS 225 Course Name : Systems Analysis & Design- I Course Instructor : Omarine Rafie Credit Hours : 4 Text Book : Systems Analysis & Design Author(s) : Jeffery Hoffer, Joseph Valich 5th Edition Reference Book : 1. Systems Analysis & Design By Jeffery Whitten

Upload: alisa

Post on 06-Jan-2016

33 views

Category:

Documents


2 download

DESCRIPTION

Prince Sultan College for Women. Course Code : IS 225 Course Name : Systems Analysis & Design- I Course Instructor : Omarine Rafie Credit Hours : 4 Text Book : Systems Analysis & Design Author(s) : Jeffery Hoffer, Joseph Valich 5th Edition Reference Book : - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Prince Sultan College for Women

Prince Sultan College for Women

Course Code : IS 225

Course Name : Systems Analysis & Design- I

Course Instructor : Omarine Rafie

Credit Hours : 4

Text Book : Systems Analysis & Design

Author(s) : Jeffery Hoffer, Joseph Valich 5th Edition

Reference Book :

1. Systems Analysis & Design By Jeffery Whitten

Page 2: Prince Sultan College for Women

Chapter 1

The Systems Development Environment

1.11.1

Page 3: Prince Sultan College for Women

Learning Objectives

Define information systems analysis and design

Describe three types of information systems: Transaction Processing Systems (TPS) Management Information Systems (MIS) Decision Support Systems (DSS)

1.21.2

Page 4: Prince Sultan College for Women

Learning Objectives

Describe the information systems development life cycle (SDLC)

Water fall Model Discuss Rapid Application Development

(RAD) and its constituents parts Prototyping JAD CASE

1.31.3

Page 5: Prince Sultan College for Women

Learning Objectives

Describe Object Oriented Analysis and Rational Unified Process (RUP)

Describe the Agile Methodologies and eXtreme Programming

1.41.4

Page 6: Prince Sultan College for Women

Information System-Introduction

An Information system ( IS) is a collection of interrelated components (hardware, software, and telecommunications networks) that people build and use to collect, process, store and provide/distribute as output useful information needed to complete a business task in organizations.

Examples: Payroll System Sales Management System

Page 7: Prince Sultan College for Women

Information System-Introduction

Why do we design Information Systems?Information systems are built and rebuiltTo provide access to information anywhere

and anytime.

for organizational benefits by adding values during the process of creating, producing and supporting the organization’s product and services.

to improve employee efficiency by applying software solutions to key business tasks

Understand what the business requires from the Information System. In other words thorough “Systems Analysis & Design”

Page 8: Prince Sultan College for Women

What is Systems Analysis & Design?

Systems Analysis means understanding and specifying in detail what the information system should accomplish.

Systems Design means how to accomplish what is needed by the information system, by specifying in details how many components of the information system should be physically implemented.

Page 9: Prince Sultan College for Women

What is Systems Analysis & Design?

Information Systems Analysis and DesignComplex, challenging and stimulating

organizational process used by a team of business and system professionals, to develop and maintain computer-based information systems that helps in performing business functions efficiently.

1.51.5

Page 10: Prince Sultan College for Women

What is the outcome of SAD ?

The total Information System includes the hardware, systems software on which the application software runs, documentation and training materials, the specific job roles associated with the overall system and the end users.

An important result of Systems A&D is Application Software, i.e. software designed to support a specific organizational function or process, such as Inventory management, payroll etc.

Page 11: Prince Sultan College for Women

Who is Systems Analyst?

Systems Analyst performs analysis and design based upon: Understanding of organization’s objectives,

structure and processes. Studies the problems and needs of an organization Knowledge of how to exploit information technology

for advantage Determine how people, methods and IT can be best

combined to bring about improvements in the organization.

1.81.8

Page 12: Prince Sultan College for Women

Types of Information Systems

Transaction Processing Systems

Management Information Systems

Decision Support Systems

1.121.12

Page 13: Prince Sultan College for Women

Types of Information Systems

Transaction Processing Systems (OLTPS) Automate handling of data about business activities

(transactions- discrete events) the routine day to day business processes Data about each transaction are captured, transaction

are verified and accepted or rejected, and validated transaction are stored for later aggregation.

A transaction occurs each time a sale is made, supplies are ordered or interest payment is made

1.131.13

Page 14: Prince Sultan College for Women

Types of Information Systems

Transaction Processing Systems (TPS) -contd.The A&D of a TPS means

Focusing on the firm’s current proceduresThe goal of TPS development is to

improve transaction processing by speeding it up using fewer people,

improve efficiency and accuracy, integrate it with other organizational information

systems, provide information not previously available.

1.141.14

Page 15: Prince Sultan College for Women

Types of Information Systems

Examples of TPSBusiness to consumer e commerce systems

Point of Sale SystemOnline Registration SystemOnline Airline Reservation SystemATM SystemCar Rental SystemLibrary Information System

Business to Business e commerce systems

Page 16: Prince Sultan College for Women

Types of Information Systems

Management Information Systems (MIS) Converts raw data available through a transaction

processing system into meaningful aggregated form (report) that managers need for planning and controlling business.

Examples of MISMIS used by executives often include external data on the competitive environment –

news about competitors Stock market reports Economic forecast Information from strategic plans.

Page 17: Prince Sultan College for Women

Types of Information Systems

Decision Support Systems (DSS) Designed to help organizational decision makers make

decisions. Allows a user to explore the impact of available options

or decisions, and this is known as “what if” analysis, because the user asks the system to answer.

Provides interactive surroundings for decision making in which data can be quickly manipulated.

DSS uses both historical data as well as judgment about alternative histories or possible futures.

A DSS can help in exploring data at a high level of aggregation and selectively drill down into specific areas where more detailed understanding of business is required.

Page 18: Prince Sultan College for Women

Types of Information Systems

The A&D for a DSS concentrates on Database (data Orientation) Model base ( mathematical rules defining

interrelationships among different data, used to predict future data or to find best solutions to decisions problems.

User dialogue – decision maker should feel easy to use the system.

The A&D for a DSS is to document the mathematical rules with the intention of define the relationships among different data or to find the best solutions to decision problems.

Page 19: Prince Sultan College for Women

Approaches to Systems Development

Two approaches to system developmentTraditional approachObject oriented approach

Page 20: Prince Sultan College for Women

The Traditional Approach

Also called Structured System Development

Three techniques are used Structured Analysis- What the system

needs to do (process requirements), what data the system needs to store (data requirements), what inputs and outputs are needed, and how the functions work together as a whole to accomplish tasks before they designed the programs.

Page 21: Prince Sultan College for Women

The Traditional Approach

Structured Design –As each function performed by the system might be made up of dozens of separate programs, it provides guidelines of deciding what the set of programs should be, what each program should accomplish and how the programs should be organized into a hierarchy.

Structured programming- complex programs are divided into a hierarchy of program modules. One module at the top of the hierarchy controls program execution by calling lower modules as required.

Page 22: Prince Sultan College for Women

Object Oriented Approach It views an information system as a collection of

interacting objects that work together to accomplish tasks.

Object Oriented Analysis (OOA) defines all of the types of objects that do the work in the system and shows what user interactions called use cases are required to complete tasks.

Object oriented design (OOD) defines all of the additional types of objects necessary to communicate with people and devices in the system, shows how the objects interact to complete tasks and refines the definition of each type of object so it can be implemented with a specific language or environment.

Object Oriented Programming (OOP) consists of writing statements in a programming language to define what each type of object does.

Page 23: Prince Sultan College for Women

Systems Development Life Cycle

System Development methodology-

Standard set of steps to develop and support IS.

Development of IS follows a life cycle. During the life of an IS, it is first conceived as an idea, then it is designed, built and deployed during a development project and finally it is put into production and used to support the business.

SDLC – common methodology for system development

SDLC is used to describe the life of an information system from conception to retirement.

Page 24: Prince Sultan College for Women

Life Cycle – a circular process Life cycle appear to be sequentially ordered

set of phases, but it is not. Some activities in one phase can be

completed in parallel with some activities of another phase.

Sometimes life cycle is iterative- phases are repeated until accepted.

Systems Development Life Cycle

Page 25: Prince Sultan College for Women

Systems Development Life Cycle

Series of steps used to manage the phases of development for an information system

Consists of five phases: Planning Analysis Design Implementation Maintenance

Each phase has a specific outcome and deliverable

1.251.25

Page 26: Prince Sultan College for Women

Planning

Analysis

DesignImplementation

Maintenance

Systems Development Life Cycle

Ch 4-5

Ch 6-9

Ch 10-14Ch 15

Ch 16

Page 27: Prince Sultan College for Women

Systems Development Life Cycle

Planning- Ist PhaseProject Identification and SelectionProject Initiation and Planning

Page 28: Prince Sultan College for Women

Systems Development Life Cycle

Project Identification and Selection Examine Information needs. Identify the project Prioritization and translation of needs Development of Schedule for different projects Selection of a project.

Project Initiation and PlanningTwo Activities

Formal preliminary investigation of the problem at hand Determining the scope of the proposed system known as Feasibility

Study Producing a specific plan (Baseline project plan) for the proposed system

if it has been approved, specifying the time and resources needed for its execution.

Outcome Final presentation of the business case

1.281.28

Page 29: Prince Sultan College for Women

Systems Development Life Cycle

Analysis - 2nd Phase To understand and document the business needs and the

processing requirements of the new system. A discovery and understanding process.

Activities Gather information Define system requirements Build prototypes for discovery of requirements Prioritize requirements Generate and evaluate alternatives matching the requirements Review recommendations with management.

Outcome Once the recommendation is accepted, the analyst makes plans to

acquire hardware and software necessary to build or operate the system as proposed

1.291.29

Page 30: Prince Sultan College for Women

Systems Development Life Cycle

Design- 3rd phaseUsed to design the solution system, based on the requirements defined and decisions made during analysis.

High level design consisting of developing an architectural structure for the software components, database design, user interfaces and operating environment.Low level design entails developing the detailed algorithms and data structures required for software development.

1.301.30

Page 31: Prince Sultan College for Women

Systems Development Life Cycle

The description of recommended alternative solution is converted into

Logical design Physical design

Logical design focuses on “what” rather than the “how”.

Logical design process is independent of any specific hardware or software platform – logical design.

Logical design concentrates on the business aspects of the system.

Logical design is oriented towards high level of design

Page 32: Prince Sultan College for Women

•Physical design concentrates on the design of the various parts of the system to perform the physical operations necessary to facilitate data capture, processing and information output. Physical design includes

-Hardware selection, determination of software ( custom/off- the-shelf applications)

-Design of user interface-Data capture devices-Data input and report formats-The media to be used for input and output-Construction of database structure-Network communication, data security etc

Outcome:Physical system specifications in a form ready to be turned over to the programmers or other system builders for construction e.g. programming language, database, hardware platform

Systems Development Life Cycle

Page 33: Prince Sultan College for Women

Systems Development Life Cycle

Implementation-4th phase Implementation

Coding- programmer write the program for the system

TestingOperationHardware and software installationUser Training Documentation

Page 34: Prince Sultan College for Women

Systems Development Life Cycle

CodingPrograms can be written in Java, Visual

Basic etc.Testing

Individual testing of the programsSystem or Integration testing

Page 35: Prince Sultan College for Women

Systems Development Life Cycle

Operation (System conversion) :It is the process abandoning the current system (automated or manual) and installing the new automated information system.

System conversion can be done in at least three ways :1. Direct changeover : Old system is discontinued on one day and the new is used on the next.2. Parallel running : Old and new systems are used at same time.3. Phased changeover : Part of the new system are implemented in phases.

Page 36: Prince Sultan College for Women

Systems Development Life Cycle

InstallationApplication software is installed on existing

or new hardware.The new system becomes a part of the daily

activities of the organization.Training

Users are trained.Occurs from inception of a project.

Page 37: Prince Sultan College for Women

Systems Development Life Cycle

Documentation :

Many types of documentation must be produced for a software system

System documentation : Software Engineers develop system documentation that details the inner working of the system to ease future maintenance.

Page 38: Prince Sultan College for Women

Systems Development Life Cycle

User Documentation : It is user–related documentation which contains the following

User and reference guides,User training and tutorialsInstallation procedures and

troubleshooting suggestions.Initial user support

In addition to documentation, users may also need training program and on going support to use a new system.

Page 39: Prince Sultan College for Women

Systems Development Life Cycle

Maintenance- 5th PhaseMaintenance means system is changed to reflect changing conditions

Corrective Maintenance : Making changes to an information system to repair flaws in the design, coding or implementation.

Adaptive Maintenance : Making changes to an information system to accommodate changing business needs .

Page 40: Prince Sultan College for Women

Systems Development Life Cycle

Perfective Maintenance : Making enhancements to improve processing performance or interface usability.

Preventive Maintenance: Making changes to a system to reduce the chance of future system failure.

Page 41: Prince Sultan College for Women

Methodologies, Models, Tools And Techniques

Systems Analyst have a variety of aids at their disposal to help them complete activities and tasks in the SDLC.Methodology Models ToolsTechniques

Page 42: Prince Sultan College for Women

Methodologies, Models, Tools And Techniques

Systems Analyst have a variety of aids at their disposal to help them complete activities and tasks in the SDLC. Methodology : provides guidelines that are used to

complete activities within each phase of the SDLC. Or instructions about how to use models, tools and techniques in every phase.

Models: is a graphical representation of an important aspect of the real world. Models represents inputs, outputs, processes, data objects, object interactions, locations, networks, devices etc.

Tools: Software support that helps create models or other components required in the project

Techniques: is a collection of guidelines that help an analyst complete a system development activity or task.

Page 43: Prince Sultan College for Women

Methodologies, Models, Tools And Techniques

Models:Flow ChartData Flow DiagramsEntity-Relationship DiagramStructure ChartUse Case DiagramClass DiagramSequence Diagrams etc.

Page 44: Prince Sultan College for Women

Methodologies, Models, Tools And Techniques

Tools:Word processorDatabase management applicationProject management applicationComputer Aided System Engineering tools

etc.

Page 45: Prince Sultan College for Women

Methodologies, Models, Tools And Techniques

Techniques:User interviewing techniquesJoint Application Development (JAD)Data modeling techniqueStrategic planning techniqueStructure design techniqueSoftware testing technique

Page 46: Prince Sultan College for Women

The Traditional Waterfall SDLC

This model is known as ‘water fall model’ because, the output of one phase is the input of the next phase.

It is a traditional methodology used to analyze, design, implement and maintain information system.

The flow of the project begins in the planning phase, just like a stream that runs off a cliff.

Page 47: Prince Sultan College for Women

Planning

Analysis

Design

Implementation

Maintenance

The Traditional Waterfall SDLC

Page 48: Prince Sultan College for Women

The Traditional Waterfall SDLC

Strengths:The water fall cycle is a very good approach

to follow when the requirements for the information system are highly structured and straightforward and at the same time they are known in the early phases only. e.g. payroll, or inventory system.

Tackles complexity in an orderly way, works well for well understood projects That is why, waterfall model is mostly used for large systems engineering projects.

Page 49: Prince Sultan College for Women

The Traditional Waterfall SDLC

Drawbacks This model requires that all the

requirements should be specified in advance. It is difficult for end-users to anticipate how they will use new information systems to support their everyday work. If these systems are large and complex, it is probably impossible to make this assessment before the system is built and put into use. In short, the requirements are not clear to the end-users in the beginning.

Page 50: Prince Sultan College for Women

The Traditional Waterfall SDLC

Drawbacks It was not possible to implement changes in

the requirement specifications all the time during system development. The analyst freeze requirements in the early phase, even though those requirements might get changed. With the result it is very expensive to make changes in a system once it was developed.

The role of users are narrowly defined. Limited User involvement throughout the system development.

Page 51: Prince Sultan College for Women

The Traditional Waterfall SDLC

Drawbacks contd.

Focus on milestone deadlines, instead of obtaining feedback from the development process leads to too little focus on good analysis and design.

Focus on deadlines results in systems that do not match users’ needs and that require extensive maintenance, unnecessarily increasing development cost (maintenance cost is 40% – 70% of software development costs). Finding and fixing a problem after implementation is 100 time more expensive than finding and fixing it during A&D.

Page 52: Prince Sultan College for Women

Different Approaches to improving Development

PrototypingJoint Application DesignCase toolsTime Boxed Approach

Page 53: Prince Sultan College for Women

The Prototype- Approaches to Improve Development

What is a Prototype ? An easily modifiable and extensible working model of

a proposed system, not necessarily representative of a complete system

What is a Prototyping ? Prototyping is the process of building a working

replica of a system. A prototype can be developed with visual

development tool with the query, screen and report design tools of a database management system and with CASE tools.

Page 54: Prince Sultan College for Women

The Prototype- Approaches to Improve Development

The Prototype Software Development approach is used to counter the limitations of the waterfall model. The basic idea is that instead of freezing the requirements before any design or coding can process, a prototype is built to help understand the requirements by exposing it to the user comment and refining this through many versions until adequate system has been developed.

Development of the prototype undergoes design, coding and testing, but each of these phases is not done formally or thoroughly. Rather these activities are carried out concurrently with rapid feedback across these activities.

Page 55: Prince Sultan College for Women

The Prototype- Approaches to Improve Development

By using this prototype , the client can get an actual feel of the system, because the interactions with the prototype can enable the client to better understand the requirements of the desired system. The prototype can be refined through many versions until adequate system has been developed.

This results in more stable requirements that change less frequently.

Page 56: Prince Sultan College for Women

The Prototype- Approaches to Improve Development Strengths:

The end user can see the system requirements as they are being gathered by the project team-customers get early interaction with system.

There is less room for confusion, miscommunication or misunderstanding in the definition of the system requirements, leading to a more accurate end product.

The model allows flexible design and development, including multiple iterations through life cycle phases. With the result new or unexpected user requirements can be accommodated.

Page 57: Prince Sultan College for Women

The Prototype- Approaches to Improve Development Strengths:

In addition to being used as a stand alone process, prototyping may also be used to augment the SDLC. e.g. a prototype of the final system may be developed early in analysis to help analyst identify what users want. The final system is developed based on the specification of the prototype.

Page 58: Prince Sultan College for Women

The Prototype- Approaches to Improve Development

Drawbacks:Prototypes evolve so quickly that it is not cost-

effective to produce a great deal of system documentation. Further more rapid prototype development may require unfamiliar technologies to be used. Managers find it difficult to use existing staff because they lack these skills. Sometimes quick and dirty prototypes are developed which suffers from inadequate or missing documentation.

Page 59: Prince Sultan College for Women

The Prototype- Approaches to Improve Development Drawbacks

Continual change tends to corrupt the structure of the prototype system. This means that anyone apart from the original developers is likely to find it difficult to understand. Therefore finding people who have the required knowledge to maintain the system may be difficult.

In the rush to create a working prototype, overall software quality or long term maintainability may be overlooked.

Page 60: Prince Sultan College for Women

JAD - Approaches to Improve Development

Joint Application Design (JAD) A new process for collecting information system

requirements and reviewing systems design. To bring structure to the requirement determination

phase Users, Managers and Analysts work together for

series of intensive and structured meeting run by a JAD session leader.

Structured meetings and adherence to the agenda. Advantages

Time and organizational resources are better organized, by working together in one room.

Stakeholders develop a shared understanding of what the information system is supposed to do.

1.651.65

Page 61: Prince Sultan College for Women

CASE (Computer-Aided Software Engineering) - Approaches to Improve Development

Software systems which are intended to provide automated support for software process activities. CASE systems are often used for method support Diagramming tools- graphical representation

Computer display and report generators- look and feel

Analysis tools-check for incompleteness, inconsistency or incorrect specification in diagrams, forms, reports

.

Page 62: Prince Sultan College for Women

CASE (Computer-Aided Software Engineering) - Approaches to Improve Development

Central Repository- integrated storage of specifications, diagrams, reports, project management information

Documentation Generators- technical and user documentation

Code generators- enable the automatic generation of program and database definition code directly from the design documents, diagrams, forms and reports

Page 63: Prince Sultan College for Women

CASE Tools

Microsoft VisioVisible AnalystRational RoseOracle

Page 64: Prince Sultan College for Women

Time-boxed approach - Approaches to Improve Development

It is a method applied during the analysis or construction phase to control the scope of a project by imposing an immovable deadline on the completion of a task, activity, stage or system by strictly controlling functionality.

RAD allows development teams to quickly build the core of the system and implement refinements in subsequent releases.

Page 65: Prince Sultan College for Women

Rapid Application Development

RAD is a methodology that ensures organizations the ability to develop and deploy strategically important systems more quickly while simultaneously maintaining quality and reducing development cost.

The approach provides a series of techniques for compressing the analysis, design, build and test phases into a series of short iterative development cycles.

Page 66: Prince Sultan College for Women

Rapid Application Development

System developers and end-users work together jointly in real time to develop system

Use of small, well trained development teams Phases are shortened and combined with

each other. System is developed in isolation from other

systems. Tasks done in parallel rather than sequentially. Prototyping is used extensively.

Page 67: Prince Sultan College for Women

Rapid Application Development

Construction and review of iterative , evolutionary prototypes

Reliance of integrated development tools that support modeling, prototyping and component reusability (CASE). Examples: VisualAge Generator, VisualAge for Java, WebSphere Studio, WebSphere Application Server. They enable fast, easy development of e-business applications.

Heavy reliance on JAD and design workshops Adoption of a time-boxed approach to development.

i.e. adherence to limits on development time frames.

Page 68: Prince Sultan College for Women

Rapid Application Development

Requirement Planning

Construction

User Design

Cutover

Page 69: Prince Sultan College for Women

Rapid Application Development

Advantages:Active user involvement throughout RAD life

cycles, which ensures that business requirements and user expectations are clearly understood by all participants.

RAD takes full advantage of powerful application development tools, such as CASE, to rapidly develop high quality applications.

Page 70: Prince Sultan College for Women

Rapid Application Development

Major use of iterative prototyping is employed to help users visualize and request changes to the system as it is being built, allowing applications to evolve rapidly.

RAD techniques are considered desirable in environments with unstable business requirements or requiring the development of unique, non traditional applications.

Page 71: Prince Sultan College for Women

RAD – Comparing RAD to the SDLC

Labor – intensive activities of the SDLC are condensed through parallel actions

Use of JAD requirement Extensive iterative process. Includes the development and refinement of process

models and prototype In waterfall model, activities are performed in a

sequential manner whereas in RAD approach they are performed in a iterative, parallel manner.

In RAD, user requirements are refined, a solution is designed, the solution is prototyped, the prototype is reviewed, user input is provided and the process begins again.

Page 72: Prince Sultan College for Women

Consider RAD

The software application will run stand alone without other system interactions

Application performance is not mission critical

Application distribution will be narrowProject scope is significantly constrainedThe required technology is considered

mature.

Page 73: Prince Sultan College for Women

Avoid RAD when

Applications must interact with existing system applications

Optimal performance is mission critical Application development cannot take

advantage of high end IS tools. Application distribution will be wide. Project involves building operating systems or

computer games etc. Technical feasibility is low due to use of new

technology

Page 74: Prince Sultan College for Women

Agile Methodologies

Software development Methodology adapted from engineering generally do not fit with the real world software development.

For engineering disciplines such as civil, requirements tend to be well understood. Once designing is completed, constructions becomes very predictable.

For software engineering, requirements are rarely well understood; they change continually during the lifetime of the project.

Page 75: Prince Sultan College for Women

Agile Methodologies

What is needed in software engineering? It should embrace change It should be able to deal with a lack of predictability.

Agile methodologies is based on the above principles, which focuses on Iterative development Focus on people Promotes self adaptive software development

process

Page 76: Prince Sultan College for Women

Agile Methodologies

Iterative developmentFrequent production of the working versions

of a system that have a subset of the total number of required features.

Provides feedback to the customer and developers alike.

Page 77: Prince Sultan College for Women

Agile Methodologies

Focus on peopleFocus on individuals rather than on the

roles those people perform. Roles are not as important as the

individuals who fill those rolesDoesn’t view people as interchangeable

units instead as talented individuals.

Page 78: Prince Sultan College for Women

Agile Methodologies

Promotes self adaptive software development process The process used to develop software should be

refined and improved by reviewing it repetitively which is of course done by a number of iterations.

AS the processes are adapted (modified), one would not expect to find a single monolithic methodology within an organization, instead many variations of the methodology which reflects the particular talents and experience of the team using it.

Page 79: Prince Sultan College for Women

Agile Methodologies

When should we recommend Agile methodologies?Unpredictable or dynamic requirementsResponsible and motivated developersCustomers who understand the process and

will get involved