Вы находитесь на странице: 1из 62

UNIT III

Developing MIS Systems

System Development Life Cycle


Analysis (DFD and ER Diagram)

System Design
Implementing Business Systems Testing, Documenting, Training, Conversion and Maintenance

What is the Systems Approach?


A problem solving technique that uses a systems orientation to define problems and opportunities and develop solutions. Analyzing a problem and formulating a solution involves the following interrelated activities: Recognize and define a problem or opportunity using systems thinking Develop and evaluate alternative system solutions Select the system solution that best meets your requirements Design the selected system solution Implement and evaluate the success of the designed system

What is Systems Thinking?

Using systems thinking to understand a problem or opportunity is one of the most important aspects of the systems approach. Seeing interrelationships among systems rather than linear cause-and-effect chains whenever events occur Seeing processes of change among systems rather than discrete snapshots of change, whenever changes occur

For example, the business organization or business process in which a problem or opportunity arises could be viewed as a system of: Input Processing Output Feedback Control

System Development Life Cycle

System Development Cycle

Using the systems approach to develop information systems solutions can be viewed as a multistep process called the information systems development cycle, also known as the systems development life cycle (SDLC). The SDLC is composed of five steps, which include: Systems investigation Systems analysis Systems design Systems implementation Systems maintenance

Preliminary Investigation Assesses feasibility and practicality of system System Analysis Study old system and identify new requirements Defines system from user's view System Design Design new/alternative system Defines system from technical view

System Development

New hardware and software is acquired, developed, and tested System installation and training Daily operation

System Implementation

System Operation & Maintenance

Periodic evaluation and updating

Who participates in the system development life cycle?

Phase 1:System Investigation

Determine if a new system is needed


Three primary tasks:

Define the problem By observation and interview, determine what information is needed by whom, when, where and why

Suggest alternative solutions

Prepare a short report

What is feasibility?
Measure of how suitable system development will be to the company
Operational feasibility

Four feasibility tests:


Economic feasibility (also called cost/benefit feasibility)

Schedule feasibility

Technical feasibility

Uses specifications from the systems analysis to design alternative systems Evaluate alternatives based upon:

Economic feasibility - Do benefits justify costs? Technical feasibility - Is reliable technology and training available?

Operational feasibility - Will the managers and users support it?


Schedule feasibility- Estimation of time to take new system to become operational.

Estimating Cost & Benefit


COSTS

Development Cost(cost of testing, training, start up costs, salary to designers, acquisition cost of hardware & software)

Operation Cost(operator salary, maintenance costs, etc.)


Intangible Cost(Loss of employee productivity, self confidence )

BENEFITS

Tangible Benefits

Increase in sales / Contribution / Profits Decrease in investment, operating and processing cost

Improved information availability, analysis, Management Decision skill

Intangible Benefits

Increase in Goodwill / Improved Image of Business

Phase 2: System Analysis

In depth study of the existing system to determine what the new system should do.

Expand on data gathered in Phase 1

In addition to observation and interviews, examine:


Formal lines of authority (org chart) Standard operating procedures

How information flows


Reasons for any inefficiencies

System Analysis Tools Used


Checklists - list of questions


Top-down analysis - start with top level components, break down into smaller parts through each successive level Grid charts - to show relationship between inputs and outputs

System flowcharts - charts flow of input data, processing, and output which show system elements and interactions

System Analysis Documentation Produced

Complete description of current system and its problems Requirements for new system including:

Subject Scope Objectives Benefits

Possible development schedule

Importance of Documentation

Documentation serves as a method of communication among the people responsible for developing, implementing, and maintaining a computer-based system.
Documentation is extremely important in diagnosing errors and making changes, especially if the end users or systems analysts who developed a system are no longer with the organization.

Phase 3: System Design


Definition: Systems design consists of design activities, which produce systems specifications satisfying the functional requirements developed in the systems analysis stage. These specifications are used as the basis for: Software development Hardware acquisition System testing Other activities of the implementation stage

System Design Tools Used

Computer-Aided Software Engineering (CASE) tools are software-based products designed to help automate the production of information systems. Examples: Diagramming Tools Data Repositories Prototyping Tools Test Data Generators Documentation Tools Project Management Tools

System Design Documentation Produced

System Design Report Describe Alternatives including: Inputs/Outputs Processing Storage and Backup Recommend Top Alternative based upon: System Fit into the Organization Flexibility for the future Costs vs. benefits

Phase 4:System Development

Build the system to the design specifications Develop the software Purchase off-the-shelf software OR Write custom software Acquire the hardware Test the new system Module (unit) test - tests each part of system Integration testing - tests system as one unit Create manuals for users and operators

What are the three types of tests performed by system developers?

Unit Test
Verifies each individual program works by itself

Systems test
Verifies all programs in application work together

Integration Test
Verifies application works with other applications

Phase 5:System Implementation

Convert from old system to new system

Train users
Compile final documentation

Evaluate the new system

System Implementation Types of Conversion

Direct/plunge/crash approach entire new system completely replaces entire old system, in one step
Parallel approach - both systems are operated side by side until the new system proves itself

Pilot approach - launched new system for only one group within the business ,once new system is operating smoothly, implementation goes company-wide
Phased/incremental approach - individual parts of new system are gradually phased-in over time, using either crash or parallel for each piece.

Post Implementation Evaluation (Feedback)


Post Implementation Evaluation includes following area:

Development Evaluation: Check whether development was done within schedule and budgets Operation Evaluation: Check whether system is capable for handling the duties and objective of development is achieved Information Evaluation: Check Satisfaction of users etc.

Phase 6:Operations and Maintenance

Types of changes: Physical repair of the system Correction of new bugs found (corrective) System adjustments to environmental changes Adjustments for users changing needs (adaptive) Changes to user better techniques when they become available (perfective)

Evaluation Methods

Systems audit - performance compared to original specifications Periodic evaluation - checkups from time to time, modifications if necessary

Deliverables of the SDLC


Preliminary Investigation System Analysis Approved Feasibility Study Problem Specifications Abort Project Goto next phase Goto Previous phase

System Design

Design Specifications System Development Coded and Tested System System converted Users trained

Begin building new system

System Implementation

System Maintenance Operational System Documentation completed

What is SDLC Model

SDLC model is a framework that describe the activities performed at each stage of software development projects Each process model follows a particular life cycle in order to ensure success in process of software development

Types of SDLC Model


Waterfall Model V Shaped Model Spiral Model Structure Evolutionary Prototyping Model Rapid Application Model The Big Bang Model

Waterfall Model
Requirements =defines needed information function, behaviour ,performance and interfaces

Design=data structure,software architectures,interface representations and algorithm details. Implementation=source code,database,user documentation,testing.

All these phases are cascaded to each other so that second phase is started as and when defined set of goals are achieved for first phase A schedule can be set with deadlines for each stage of development and a product can proceed through the development process and be delivered on time Each phase of development proceeds in strict order, without any overlapping or iterative steps The disadvantage of waterfall development is that it does not allow for much reflection or revision

V Shape Model
Varient of the waterfall that emphasiszes verification and validation of the product.

Testing of the product is planned in parallel with the corresponding phase of development.

It is a software development model which can be presumed to be the extension of the waterfall mode Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape The Vmodel demonstrates the relationships between each phase of the development life cycle and its associated phase of testing

Spiral Model

It uses risk reduction mechanism

Four major activities are planning, risk analysis , engineering, customer evaluation

It is also known as the spiral lifecycle model, is a systems development method (SDM) used in information technology (IT) It is intended for large, expensive, and complicated projects The new system requirements are defined in as much detail as possible by interviewing users A preliminary design is created for the new system A first prototype of the new system is constructed from the preliminary design and represents an approximation of the characteristics of the final product A second prototype is evolved by a fourfold procedure:

evaluating the first prototype in terms of its strengths, weaknesses, and risks defining the requirements of the second prototype planning and designing the second prototype constructing and testing the second prototype At the customer's option, the entire project can be aborted if the risk is deemed too The preceding steps are iterated until the customer is satisfied that the refined prototype represents the final product desired The final system is constructed, based on the refined prototype

Prototyping Model

Where there is an absence of detailed information regarding the input to the system, the processing needs and the output requirements, the prototyping model may be employed This model reflects an attempt to increase the flexibility of the development process by allowing the client to interact and experiment with a working representation of the product The developmental process only continues once the client is satisfied with the functioning of the prototype The process of prototyping involves the following steps Identify basic requirements Develop Initial Prototype Review Revise and Enhancing the Prototype

Advantages to using prototyping model are as follows:


Reduced time and costs Improved and increased user involvement

Disadvantages :

User confusion of prototype and finished system Excessive development time of the prototype Expense of implementing prototyping

Rapid Application Model


RAD (rapid application development) is a concept that products can be developed faster and of higher quality through: Gathering requirements using workshops or focus groups

Prototyping and early, reiterative user testing of designs The re-use of software components A rigidly paced schedule that defers design improvements to the next product version Less formality in reviews and other team communication

Big bang Model


Huge amount of matter (people or money) is put together, a lot of energy is expended Simple model Little planning, scheduling involved Its and ideal process if the product requirements arent well understood and the final release date is flexible Works well with flexible customers

Advantages of SDLC

Ability to monitor large projects Detailed steps Well defined user input and documentation

Disadvantages of SDLC

Results in an increase in development time. Potential for increased development cost. Project overruns can occur if errors occur in early stages of the project resulting in rework

Data Flow Diagram

It was first developed by Larry Constantine as a way of expressing system requirements in a graphical form. It is also known as Bubble Chart Can be used in both Analysis and Design phase of SDLC A data flow diagram explains business processes and activities in a clear, concise way by illustrating how data flows through the system from one process to another It is a structured, diagrammatic technique representing external entities, logical storage, data sinks and data flows in the system

DFD Principles

A system can be decomposed into subsystems, and subsystems can be further decomposed into lower level subsystems Each subsystem represents a process or activity in which data is processed At the lowest level, processes can no longer be decomposed Each 'process' has the characteristics of a system. A process must have input and output Data enters the system from the environment, data flows between processes within the system and data is produced as output from the system

DFD Types

Physical Data Flow Diagram: Physical data flow diagrams are implementation-dependent and show the actual devices, department, people, etc., involved in the current system Logical or Conceptual Data Flow Diagram: Logical data flow diagram represents business functions or processes. It describes the system independently of how it is actually implemented, and focuses rather on how an activity is accomplished

Data Symbols

Square defines a source or destination of data. Arrow identifies data flow, means the data in motion. It is a pipeline through which information flows Circle or a bubble represents a process that transforms incoming data flow into outgoing data Open rectangle is a data store, or data at rest, or a temporary repository of data

Constructing DFD

Processes should be named and numbered for easy reference The direction of flow is from top to bottom and from left to right Data flow from the source to destination When a process is exploded into lower level details, they are numbered The names of data stores, sources, and destinations are written in capital letters. Process and data flow names have the first letter of each word capitalized

Creating Data Flow Diagrams

Lemonade Stand Example

Creating Data Flow Diagrams


Example The operations of a simple lemonade 2. Construct Context Level DFD stand will be used to (identifies sources and sink) demonstrate the creation of dataflow 3. Construct Level 0 DFD diagrams. (identifies manageable sub processes ) 4. Construct Level 1- n DFD (identifies actual data flows and data stores ) Steps: 1. Create a list of activities

Example Think through the activities that take place at a lemonade stand.

1. Create a list of activities Customer Order Serve Product Collect Payment Produce Product Store Product

Example

1. Create a list of activities


Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor

Also think of the additional activities needed to support the basic activities.

1. Create a list of activities Example Group these activities in some logical fashion, possibly functional areas. Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor

Example
Create a context level diagram identifying the sources and sinks (users). Customer Order Serve Product Collect Payment Produce Product Store Product

2. Construct Context Level DFD (identifies sources and sink)

Context Level DFD


Order
CUSTOMER

Sales Forecast
0.0 Lemonade Production Schedule EMPLOYEE Pay System

Product Served Payment Received Goods Payment

Time Worked Purchase Order

VENDOR

Order Raw Materials Pay for Raw Materials Pay for Labor

Example
Create a level 0 diagram identifying the logical subsystems that may exist.

3. Construct Level 0 DFD (identifies manageable sub processes )


Level 0 DFD
1.0 Sale

Customer Order Serve Product Collect Payment Produce Product Store Product

Customer Order Product Ordered Payment


CUSTOMER

Sales Forecast

Product Served Received Goods

2.0 Production

Production Schedule

EMPLOYEE

Inventory
3.0 Procurement

VENDOR

Order Raw Materials Pay for Raw Materials Pay for Labor

Purchase Order Payment

Order Decisions Pay Time Worked

4.0 Payroll

Example Create a level 1 decomposing the processes in level 0 and identifying data stores. Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor

4. Construct Level 1- n DFD (identifies actual data flows and data stores ) Level 1 DFD
CUSTOMER

Customer Order
ORDER 1.1 Record Order

Request for Forecast

Severed Order

Payment
1.2 Receive Payment PAYMENT

1.3 Produce Sales Forecast

Sales Forecast

Example
Create a level 1 decomposing the processes in level 0 and identifying data stores.
Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor

4. Construct Level 1 (continued)


Level 1 DFD
Product Order
ORDER 2.1 Serve Product

Quantity Severed
RAW MATERIALS

Production Schedule
2.2 Produce Product

Quantity Used
INVENTORTY

Production Data
2.3 Store Product

Quantity Produced & Location Stored

Example Create a level 1 decomposing the processes in level 0 and identifying data stores.
Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor

4. Construct Level 1 (continued)


Level 1 DFD
Order Decision
3.1 Produce Purchase Order

PURCHASE ORDER

Quantity On-Hand Quantity Received


RAW MATERIALS

Received Goods
3.2 Receive Items

Payment Approval
3.3 Pay Vendor

RECEIVED ITEMS

VENDOR

Payment

Example
Create a level 1 decomposing the processes in level 0 and identifying data stores.

4. Construct Level 1 (continued)


Level 1 DFD
4.1 Record Time Worked TIME CARDS

Time Worked

Customer Order Serve Product Collect Payment Produce Product Store Product
Payroll Request

Employee ID
EMPLOYEE

4.2 Calculate Payroll

PAYROLL

Order Raw Materials Pay for Raw Materials


Pay for Labor
Payment

Payment Approval
4.3 Pay Employee

PAYMENTS

Process Decomposition
1.0 Sale 1.1 Record Order 1.2 Receive Payment

2.0 Production

2.1 Serve Product

2.2 Produce Product

2.3 Store Product

0.0 Lemonade System

3.0 Procurement

3.1 Produce Purchase Order

3.2 Receive Items

3.3 Pay Vendor

4.0 Payroll

4.1 Record Time Worked

4.2 Calculate Payroll

4.3 Pay Employee

Context Level

Level 0

Level 1

Вам также может понравиться