Top Banner
19. System Analysis and Development Rev: Feb, 2013 Euiho (David) Suh, Ph.D. POSTECH Strategic Management of Information and Technology Laborato (POSMIT: http://posmit.postech.ac.kr) Dept. of Industrial & Management Engineering POSTECH
30

19 . System Analysis and Development

Jan 02, 2016

Download

Documents

Zoe Bowen

19 . System Analysis and Development. Rev: Feb, 2013 Euiho (David) Suh , Ph.D. POSTECH Strategic Management of Information and Technology Laboratory (POSMIT: http://posmit.postech.ac.kr) Dept. of Industrial & Management Engineering POSTECH. Contents. 1. System Analysis - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 19 .  System Analysis and Development

19. System Analysis and DevelopmentRev: Feb, 2013

Euiho (David) Suh, Ph.D.

POSTECH Strategic Management of Information and Technology Laboratory(POSMIT: http://posmit.postech.ac.kr)

Dept. of Industrial & Management EngineeringPOSTECH

Page 2: 19 .  System Analysis and Development

Contents1 System Analysis

(1) Basic Concepts

(2) Modeling

2 System Development

(1) Systems Development Life Cycle (SDLC)

(2) Rapid Application Development (RAD)

(3) Prototyping

3 Case Study

Page 3: 19 .  System Analysis and Development

3

System Analysis (SA)

■ Definition of SA– To model the real-world system so that it can be understood

■ Goals of SA– To fully specify the problem and application domain without introducing a bias to any

particular implementation

■ Benefits of SA– It clarifies the requirements of customer (end-user)– It provides a basis for agreement between customer and the developer – It becomes the framework for later design and implementation

1. System Analysis(1) Basic concepts

Page 4: 19 .  System Analysis and Development

4

Overview of Analysis1. System Analysis(1) Basic concepts

Users

Developer

Manager

GenerateRequests

User interview

Domain knowledge

Real-world experience

BuildModel

ProblemStatement

Data ModelFunctional ModelBehavioral Model

Analysis

Design

Page 5: 19 .  System Analysis and Development

5

Problem Statement

■ Consist of requirements statement and design & implementation policy

■ Requirement statements– Problem scope

– Application Context

– Assumptions

– Performance Needs

■ Design & implementation policy– General approach

– Algorithms

– Data Structures

– Architecture

1. System Analysis(1) Basic concepts

Page 6: 19 .  System Analysis and Development

6

Data Modeling (1/2)

■ Data model answers following specific questions– What are the primary data objects to be processed by the system?

– What is the composition of each data objects and what attributes describe the object?

– Where do the objects currently reside?

– What are the relationships between each object and other objects?

– What is the relationship between the objects and the processes that transform them?

■ Data modeling methods– ERD (Entity Relationship Diagram)

– DD (Data Dictionary)

– OM (Object Modeling): object-oriented modeling method

1. System Analysis(2) Modeling

Page 7: 19 .  System Analysis and Development

7

Data Modeling (2/2)

■ ERD

1. System Analysis(2) Modeling

ManufacturerManufacturer BuildsBuilds CarCar

DealershipDealershipShipperShipper

LicensesLicenses StocksStocksContractsContracts

Entity

Relationship

Cardinality

Page 8: 19 .  System Analysis and Development

8

Functional Modeling (1/2)

■ Functional model shows – How values are computed, without regard for sequencing, decision, or object structure – Which values depend on which other values and the functions that relate them

■ Steps for constructing a functional model– Identify input and output values– Show functional dependencies (using DFD or IDEF0)– Describe functions– Identify constraints

■ Identify input and output values– E.g.) Input and output values

for ATM system

1. System Analysis(2) Modeling

Cashcard

Cashcard

UserUser

ATMATM

bank code, card code

PasswordTransaction kind,Account type,amount cash.,

receipt.,messages System boundary

Page 9: 19 .  System Analysis and Development

9

Functional Modeling (2/2)

■ Describing functions– E.g.) Function description for update account function

1. System Analysis(2) Modeling

Update account(account, amount, transaction-kind) -> cash, receipt, message If the account on a withdrawal exceeds the current account balance,

reject the transaction and dispense no cash If the account on a withdrawal does not exceed the current account balance

debit the account and dispense the amount requested If the transaction is a deposit

credit the account and dispense no cash If the transaction is a status request

dispense no cash In any case,

the receipt shows ATM number, date, time, account number,transaction-kind, amount transacted(if any), and new balance

Page 10: 19 .  System Analysis and Development

10

Behavioral Modeling (1/4)

■ Behavioral model– Shows the time-dependent behavior of the system and object in it– Begins by looking for events (externally-visible stimuli & responses)– Is insignificant for a purely static data repository, such as a DB– Is important for interactive system

■ Steps for constructing a Behavioral model– Prepare scenarios of typical interaction sequences– Identify events between objects– Prepare an event trace for each scenario– Build a state diagram

1. System Analysis(2) Modeling

Page 11: 19 .  System Analysis and Development

11

Behavioral Modeling (2/4)

■ Prepare scenarios– E.g.) Normal ATM scenario

■ Identify Events– Examine scenario to identify all external events: Events include all signals, inputs, de-

cisions, interrupts, transitions, and actions to or from users or external devices

■ Prepare an event trace– E.g.) Event trace for ATM scenario (next slide)

■ Build a state diagram– E.g.) State diagram for ATM (next slide)

1. System Analysis(2) Modeling

The ATM asks the user to insert a card; the user insert a cash card.The ATM accepts the card and reads its serial numberThe ATM requests the password : the user enters “1234”The ATM verifies the serial number and password with the consortium; the consortium checks it with bank “39” and notifies the ATM of acceptanceThe ATM asks the user to select the kind of transaction ; the user select withdrawalThe ATM asks for the amount of cash ; the user enters $100The ATM asks the consortium to process the transaction ; consortium passes the request to the bankThe ATM dispenses cash and asks the user to take it; the user takes the cashThe ATM asks whether the user wants to continue; the user indicates noThe ATM prints a receipt, ejects the card, and asks the user to take them; the user takes the receipt and the cardThe ATM asks a user to insert a card

Page 12: 19 .  System Analysis and Development

12

Behavioral Modeling (3/4)

■ Event trace

1. System Analysis(2) Modeling

User ATM Consortium Bank

Insert card

Request passwordEnter password

Verify accountVerify card

Bank account OKAccount OK

Request kind

Enter kind

Request amount

Enter amountProcess transaction Process bank

succeed

Page 13: 19 .  System Analysis and Development

13

Behavioral Modeling (4/4)

■ State diagram

1. System Analysis(2) Modeling

Main screenDo: display main

screen

Insert card[readable]

Insert card[unreadable]

Do: request password

UnreadableDo: UnreadableCard message

Enter password Do: verify account

Account OK

Do: request kind

Do: verify account

Cancel Enter Kind

CancelDo: canceled

message Cancel

Enter amount

Do: process transaction

Card ejectedDo: eject card;

Request take card

Takecard

Cancel

Do: dispense cash;request take cash

Do: request continuation

TransactionsucceedTake cash

Badaccount

Do: bad account message;Finish

Do: print receipt

Terminatecancel

Page 14: 19 .  System Analysis and Development

14

Systems Development Life Cycle (SDLC)

■ Definition– The overall process of developing information systems through a multi step process

from investigation of initial requirements through analysis, design, implementation and maintenance <Russell Kay, Computer World>

■ Types of SDLC– Waterfall• Major methodology of SDLC

– Fountain– Spiral

■ Outputs from one step → Inputs to next

■ Often referred to as the “waterfall” model(The oldest one - early 1970s)

2. System Development(1) SDLC - Introduction to SDLC

Page 15: 19 .  System Analysis and Development

15

5 Phases of Waterfall Development Method

Systems AnalysisSystems Designs

2. System Development(1) SDLC - Waterfall Development Method

Page 16: 19 .  System Analysis and Development

16

Phase 1: Investigation

■ Initialization– Management planning, Users’ needs & opportunities

■ Formal definition– Objective, motivation, scope, boundaries, constraints, strategy– Verifying a problem or deficiency which really exists, or passing judgment on the new

requirement

■ Feasibilities studies

Technical Fea-sibility

• Availability of computing hardware and software to do a particular jobManagers’ concerns about the absence of technology in many cases

Economic Feasibility

• Ability of a system to pay for itself in monetary termsNo unprofitable spendinge.g.) Cost-benefit Analysis, Break-even Analysis, Payback Analysis, NPV

Operational Feasibility

• Ability of the people working within a system to do their jobs in a pre-scribed manner

e.g.) Ability of Users and Participants & Attitudes of Users and Participants

Organiza-tional Feasibil-

ity

• How well a proposed e-commerce system helps the company’s plans for developing Web-based sales, marketing, and financial system

2. System Development(1) SDLC - Waterfall Development Method

Page 17: 19 .  System Analysis and Development

17

Phase 2: Analysis

■ What a system should do to meet the needs of users

■ Determine requirements– Study current system– Structure requirements and eliminate redundancies

■ Requirement Analysis– Functional requirements– Performance requirements

■ Generate alternative designs

■ Compare alternatives

■ Recommend best alternative

2. System Development(1) SDLC - Waterfall Development Method

Page 18: 19 .  System Analysis and Development

18

■ How the system will accomplish the objective

■ User interface Design– Screen– Form– Report– Dialog Design

■ Data Design– Data Element structure Design

■ Process Design– Program and Procedure Design

Phase 3: Design2. System Development

(1) SDLC - Waterfall Development Method

Page 19: 19 .  System Analysis and Development

19

Phase 4: Implementation

■ Evaluating Hardware, Software, and Services– Scoring evaluation system:

Used when there are several competing proposals for a hardware or software acquisi-tion

■ Software Development or Modification

■ Documentation – Major mechanism of communication during development process

■ Data Conversion– Correcting incorrect data– Filtering unwanted data– Consolidating data from several data warehouses.

■ Testing– Testing & Debugging the Software

■ Training

2. System Development(1) SDLC - Waterfall Development Method

Page 20: 19 .  System Analysis and Development

20

Phase 4: Implementation

■ Conversion

Running old & new systems for awhile to check validity

Safe

Parallel Strategy

Installed in one part of organi-zation at a time

Learning and adapting

Pilot Strategy

Changing one function at a time in large system

e.g. order entry

Phased Strategy

Starting using entire system

Dangerous if errors exist

Plunge Strategy

2. System Development(1) SDLC - Waterfall Development Method

Page 21: 19 .  System Analysis and Development

21

Phase 5: Maintenance

■ Modification– Modifying established system due to changes in the system

for potential problems or necessary change

■ Correcting errors

■ Feedback

<Martin, “Managing Information Technology” p.395>

2. System Development(1) SDLC - Waterfall Development Method

Page 22: 19 .  System Analysis and Development

22

Pros and Cons of SDLC

■ Advantages– Highly structured, systematic process – Thorough requirements definition– Clear milestone with business management sign-offs

■ Disadvantages– Not accounting well for evolving requirements during project– Time-consuming (and costly) process

2. System Development(1) SDLC - Pros and Cons of SDLC

Page 23: 19 .  System Analysis and Development

23

Rapid Application Development (RAD)

■ Definition– Rapid Application Design– A system development methodology created to radically decrease the time needed to

design and implement information systems<James Martin, “RAD,

CIRCA”>

■ Motivation of Rapid Application Development (RAD)– Limitation of SDLC– Pressures for businesses to speed up– Shorter development lifecycles– Competition in changing global environment

“Why wait 3 years to develop systemslikely to be obsolete upon completion?”

RAD methodology was born!

2. System Development(2) RAD

Page 24: 19 .  System Analysis and Development

24

The 4 Essentials of RAD (1/2)

■ Management– Executives, Support for the RAD

■ People– Participation in JAD type– Specialized team for RAD: SWAT(“Skilled With Advanced Tools”)

Joint application design (JAD) Group Decision Support System Users, Managers and Analysts work together for several days System requirements are reviewed Structured meetings

■ Methodologies– RAD life cycle: Users play key roles

■ Tools– Fourth-generation languages and CASE tools that facilitate prototyping and code genera-

tion

Computer-Aided Software Engineering (CASE) Any software tool to transfer some of the systems development workload

from the human developer to the computerby automating one or more steps of a software development methodology

2. System Development(2) RAD

Page 25: 19 .  System Analysis and Development

25

RAD Life Cycle

JAD session to develop basis de-sign

CASE tool is used

Delivery of new system to users

JRP(Joint Requirement Planning) workshopsto agree requirements, overall planning

Executives, managers, and users determine require-ments

Generate code End users validate design

2. System Development(2) RAD

Page 26: 19 .  System Analysis and Development

26

Prototyping

■ Definition– The overall process of developing IS, which enables creation of system (or part of sys-

tem) more quickly, then revising after users have tried it<Martin, “Managing Information

Technology”>

■ Selected features:Only some essential features included in prototype, more added later

2. System Development(3) Prototyping

Page 27: 19 .  System Analysis and Development

27

Prototyping Life Cycle

Prototype cycle

2. System Development(3) Prototyping

Page 28: 19 .  System Analysis and Development

28

Pro and Cons of Prototyping

■ Advantages– Improved communications between the developer and user– A more active role of users in system development– Less time and effort of information specialists and user in developing the system– Much easier implementation due to the user’s understanding about what to expect

■ Disadvantages– Lack of security and control features in end prototype– Possibility that prototyping may not undergo as rigorous testing– Possibility of less complete final documentation– Bigger difficulty to manage user expectations

2. System Development(3) Prototyping

Page 29: 19 .  System Analysis and Development

29

3 Types of System Development

SDLC

RAD

Prototyp-ing

SPEED

STABILITY

Large and complex sys-tem

Hybrid type of SDLC and Prototyp-ing

When requirements are hard to de-fine

Trade-off

2. System Development(3) Prototyping