1. Trang chủ
  2. » Kinh Doanh - Tiếp Thị

Systems analysis and design methods 7th whitten and benley chapter 18

30 150 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 286 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Systems SupportProgram Library Systems Planning Project System Owners & Users Applications Development Project Ongoing Application Production Assisst System Users Central Repository Bu

Trang 1

Systems Support

Introduction

The chapter will address the following questions:

reengineering, and design recovery?

Trang 2

Systems Support What is Systems Support?

Introduction

Systems support is the on-going maintenance of a system(s) after

it has been placed into operation This includes program

maintenance and system improvements

typically performed in systems analysis, design, and

implementation

Trang 3

Systems Support

Program Library

Systems Planning Project

System Owners

& Users

Applications Development Project

Ongoing Application Production

Assisst System Users

Central

Repository

Business Files and Databases

System Users

Project

Repository

Databases

Project Repository

Existing &

Revised Models &

Specifications

Check-out and Check-in

to New Structure Existing

Code New or

Revised Code

Data Retrievals

Information (outputs)

Data (inputs)

Problems and Enhancements

Existing Documenation

Existing and

Revised Models

Existing, New,

or Revised Programs

Program

to be Executed

Trang 4

Systems Support What is Systems Support?

Introduction

Central repository This repository stores all system models

and detailed specifications

planning and development projects

implemented through various CASE tools

Program libraries Store the actual application programs that

have been placed into production

maintain a few previous versions of the software in case a problem arises with a new version

Trang 5

Systems Support What is Systems Support?

Introduction

(continued)

Business databases Store the operational data created and

maintained by the production application programs

system builders in support of system users

Trang 6

Systems Support

Program Library

Correct Errorrs

System Users

Recover the System

Adapt to New Requirements Assisst

System Users

System Users

Errors Encountered When Using the System System "Crash"

Existing Code

Improved Documentation Models and

Specifications

Additional Training

or Coaching

Trang 7

Systems Support

Systems Maintenance - Correcting

Errors

Introduction

 Regardless of how well designed, constructed, and tested a system or

application may be, errors or bugs will inevitably occur

The correcting of bugs is called system maintenance, or program

maintenance.

 The fundamental objectives of system maintenance are:

 To make predictable changes to existing programs to correct errors that were made during systems design and implementation

Consequently, we exclude enhancements and new requirements from this activity.

 To preserve those aspects of the programs that were already correct Inversely, we try to avoid the possibility that ``fixes'' to programs cause other aspects of those programs to behave differently.

Trang 8

Systems Support

Repository

Define

and Validate

Problems

System Users

Benchmark Programs and Application

Understand Application and Programs

Corrective Instructions

Edit and Test Programs

Benchmarked Programs

Validated Changes

Test Data and Current Performance

Application Changes

Past Test Data Validated Problems and Programs

Unvalidated Problem

Validated Change Request

Trang 9

Systems Support

Systems Maintenance - Correcting

Errors

Define and Validate the Problems

 The first task of the assigned team is to define and validate problems

 This activity will be facilitated by the analyst and/or programmer, but

it should clearly involve the user(s)

The problem programs are retrieved from the program library.

 Working with the user(s), the team should attempt to validate the

problem(s) by reproducing it

 If the problem cannot be reproduced, the project should be

suspended until the problem reoccurs and the user can explain the circumstances under which it occurred

 In some cases the bug arises from simple misunderstandings or

misuse, and corrective instructions can bring the entire project

to closure

Trang 10

Systems Support

Systems Maintenance - Correcting

Errors

Benchmark the Programs and Application

into production in the first place

side effects that impact the programs or application's overall

functionality and performance

be executed and tested to establish a baseline against which the modified programs and applications can be measured

Trang 11

Systems Support

Systems Maintenance - Correcting

Errors

Understand the Application and its Programs

 Frequently, system maintenance is not performed by the same

persons who wrote the program

 For this reason, we need to gain an understanding of the

application and the problematic programs

Application and program knowledge usually comes from studying

the source code from the benchmarked programs

 Program understanding can take considerable time

 This activity is slowed by some combination of the following limitations:

• Poor modular structure.

• Unstructured logic (from prestructured era code).

• Prior maintenance (quick fixes and poorly designed extensions).

Trang 12

Systems Support

Systems Maintenance - Correcting

Errors

Understand the Application and its Programs

limitations: (continued)

leftovers from prior testing and debugging).

that is, how the programs fit into the total application and how they interact with other programs

Trang 13

Systems Support

Systems Maintenance - Correcting

Errors

Understand the Application and its Programs

the program works and doesn't work

how they are used, and you need to determine the potential impact of changes throughout the program(s)

time and resources that will be required to fix the errors

Trang 14

Systems Support

Systems Maintenance - Correcting

Errors

Edit and Test the Programs

changes, the programmer can now make changes to the programs

to be modified.

editing an existing program

through other parts of the program or, worse still, other programs

in the application

Unit testing (essential) ensures that the stand-alone program

fixes the bug without side effects

Trang 15

Systems Support

Systems Maintenance - Correcting

Errors

Edit and Test the Programs

System testing (essential) ensures that the entire application,

of which the modified program was a part, still works

Regression testing (recommended) extrapolates the impact

of the changes on program and application throughput and

response time from the before-and-after results using the test

data and current performance.

Version control is a process whereby a librarian (usually

software-based) keeps track of changes made to programs

event that new versions cause unexpected problems

Trang 16

Systems Support

Systems Maintenance - Correcting

Errors

failure to update application and program documentation

be modified in the repository and program library

systems analyst who supports that application

programmer who made the program changes

program library will help future programmers and analysts reduce application understanding time during future maintenance

Trang 17

Systems Support

System Recovery - Overcoming the

“Crash”

Introduction

called an ``ABEND'' or ``crash'') and possible loss of data

intermediary between the users and those who can fix the system

recover the system

personnel to correct the problem

Trang 18

3 In some cases the analyst may have to call data administration

to recover lost or corrupted data files or databases

4 In some cases the analyst may have to call network administration to fix a local, wide, or internetworking problem

5 In some cases the analyst may have to call technicians or vendor service representatives to fix a hardware problem

6 In some cases the analyst will discover a bug caused the crash

• The analyst attempts to quickly isolate the bug and trap it

(automatically or by coaching users to manually avoid it) so that it

Trang 19

Systems Support End-User Assistance

Introduction

 No matter how well users have been trained or how well

documentation has been written, users will require additional

assistance

 The systems analyst is generally on call to assist users with the to-day use of specific applications

day- The most typical activities include:

 Routinely observing the use of the system.

 Conducting user-satisfaction surveys and meetings.

 Changing business procedures for clarification (written and in the repository).

 Providing additional training.

 Logging enhancement ideas and requests in the repository.

Trang 20

 Adaptive maintenance forces an analyst to analyze the new

requirement and return to the appropriate phases of systems analysis, design, and implementation

 Most adaptive maintenance is in response to new business problems, new information requirements, or new ideas for enhancement

 It is reactionary in nature fix it when it breaks or when users

make a request This is called system enhancement.

• The objective of system enhancement is to modify or expand the

application system in response to constantly changing requirements

Trang 21

 These systems might be adapted to reduce the costs of

maintenance This is classified as reengineering.

 The objectives of reengineering are:

• To either adapt the system to a major change in technology

• Fix the system before it breaks

• Make the system easier to fix when it breaks or needs to be adapted

Trang 22

Systems Support

Analyze Enhancement Request

System

Designers

or Builders

Write Sample New Programs

Analyze Program and Maintenance Costs

Restructure

Databases

Program Library

Reengineer and Test Programs

Technical Limitation

or Problem

New Technology

Existing Data, Process, and/or Network Models

Candidate Programs for Reengineering

All Programs

in the Library Existing

Program

Reengineered Program

New Program Revised

System Models

Current System Models

New Program Requirements

Enhancement Idea Business New

Requirement

New Technical Requirements

Trang 23

Systems Support

Systems Enhancement and

Reengineering

Analyze Enhancement Request

 The purpose of this activity is to determine the appropriate course

of action to either a new business problem or idea for

enhancement, technical limitation or problem, or enhancement idea (from other system support activities)

Trang 24

Systems Support

Systems Enhancement and

Reengineering

Write Simple, New Programs

new programs.

existing data, and do not input new data (for purposes of storing that data)

• These programs generate new reports and answer new inquiries

minimal knowledge of a fourth-generation languages or a PC-to-host database retrieval language, but also becoming available in most PC database packages.

programs, but some shops question whether this is a valuable use of

Trang 25

Systems Support

Systems Enhancement and

Reengineering

Restructure Files or Databases

 Many of today's data stores are implemented with traditional file structures or early database structures

 Today's database technology of choice is SQL-based relational

databases with object-oriented database technology gaining more and more popularity

 Migrating data structures from one data storage technology to

another is a major endeavor which risks corrupting essential

business data and programs

 The key player in database restructuring is the database analyst (or database administrator)

 The systems analyst plays a role because of the potential impact

on existing applications

Trang 26

Systems Support

Systems Enhancement and

Reengineering

Analyze Program Library and Maintenance Costs

corrective and adaptive maintenance

reengineered to reduce complexity and maintenance costs

program library and maintenance costs

performing the analysis

Trang 27

Systems Support

Systems Enhancement and

Reengineering

Analyze Program Library and Maintenance Costs

Software metrics are mathematically proven measurements of

software quality and productivity

 Examples of software metrics applicable to maintenance include:

Control flow knots The number of times logic paths cross one

another Ideally, a program should have zero control flow knots (We have seen knot counts in the thousands on some older, poorly structured programs.)

Cycle complexity The number of unique paths through a program

Ideally, the fewer, the better.

 Software metrics, in combination with cost accounting (on

maintenance efforts) can help identify those programs that would benefit from restructuring

Trang 28

Systems Support

Systems Enhancement and

Reengineering

Reengineer and Test Programs

that program: code reorganization, code conversion, and code slicing

Code reorganization restructures the modular organization

and/or logic of the program

Code conversion translates the code from one language to

another

Code slicing cuts out a piece of a program to create a separate

program or subprogram

Trang 29

Systems Support

The Year 2000 and Systems

Support

Introduction

 The the year 2000 the potential of triggering widespread computer

application disasters across many corporations.

 In the early 1960’s and 1970’s storage space was precious and Millions of applications were built with efforts to utilize as little storage space as

possible

 In order to save two bytes of storage space, dates for this century were stored without the first two digits “19”

 Many applications use these dates in arithmetic operations.

that it occurred earlier in time), than the number storing a January 1, 1996 date, implying that January 1, 2000 occurs prior to the January 1, 1996 date

been accurate

Trang 30

Systems Support

Summary

Ngày đăng: 10/01/2018, 16:09