samarshrestha.weebly.com · web viewimplementation is the process of building properly working...

16
Chapter 6: System Implementation System Implementation: Implementation is the process of building properly working system, install it in the organization, replacing old system and working methods, and finalize system and user documentation and training end prepared to support the system to assists users. System implementation is made up of many activities. The six major activities are: Coding Testing Installation Documentation Training Support The purpose of these steps is to : Convert final physical system specifications into working and reliable software. Document work that has been done. Provide help for current and future users. The Process of Coding, Testing, and Installation Coding: Coding is the process where, physical design specifications created by the analysis team are turned into working computer code by program team. Coding Deliverables: Code, Program Documentation Testing: Testing is the process of finding and fixing bugs and errors. Tests are performed using various strategies. Testing performed in parallel with coding. 1 System Analysis and Design

Upload: truongdang

Post on 24-May-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Chapter 6: System Implementation

System Implementation:

Implementation is the process of building properly working system, install it in the organization, replacing old system and working methods, and finalize system and user documentation and training end prepared to support the system to assists users. System implementation is made up of many activities. The six major activities are:

Coding Testing Installation Documentation Training Support

The purpose of these steps is to :

Convert final physical system specifications into working and reliable software. Document work that has been done. Provide help for current and future users.

The Process of Coding, Testing, and Installation

Coding: Coding is the process where, physical design specifications created by the analysis team are turned into working computer code by program team.Coding Deliverables: Code, Program Documentation Testing: Testing is the process of finding and fixing bugs and errors. Tests are performed using various strategies. Testing performed in parallel with coding. Testing Deliverables: Test Scenarios (test plan) and test data, Results of programs and system testing Installation: It is the process during which the current system is replaced by new system.Installation Deliverables: User guides, User training plan, Installation and conversion plan

The Process of Documenting the System, Training Users, and Supporting UsersDocumentation: It is the process of converting software specification with the hard copy format it acts as references maintained for user . Two audiences for final documentation

Information systems personnel (System Builders, internal users) who will maintain the system throughout its productive life.

People who will use the system (System Users) as part of their daily lives.

1 System Analysis and Design

Deliverables: System Documentation, User DocumentationUser Training: It is the process of providing necessary skills and knowledge to user. The training can be

Application specific or General for operating system and off the shelf software.Deliverables: Classes, Tutorials, User training modules, training materials, and computer based training aids

User Support PlanIt is the process of building of mechanism which acts as guidelines for the user in case of any problem arisesDeliverables: Help desk, online help, Bulletin boards and other support mechanisms

Installation: Installation is the organizational process of changing over from the current information system to a new one. Four installation strategies are: Direct Installation. Parallel Installation. Single location installation. Phased Installation.

Direct installation: changing over from the old system to a new one by turning off the old system when the new system is turned on.

Parallel installation: running the old information system and the new one at the same time until management decides the old system can be turned off.

Single location installation: Trying out an information system at one site and using the experience to decide if and how the new system should be deployed throughout the organization. Also known as location or pilot installation.

Phased Installation: changing from the old information system to the new one incrementally, starting with one or a few functional components and then gradually extending the installation to cover the whole new system.

2 System Analysis and Design

Fig: Different types of installation

3 System Analysis and Design

Testing It is the process used to help identify the correctness, completeness, security and quality of developed computer system. Testing is a process of technical investigation performed on behalf on stakeholders that is intended to reveal quality related information about the product with respect to the context in which it is integrated to operate. This includes the process of executing a program or application with the intend of finding error. No program or system design is perfect , communication between the user and the designer is not always short . The result is errors and more errors. Testing is vital to the success of the system.

Types of Testing 1. Based on the level of Testing

a. Unit Testingb. Integration Testing

i. Top Down Testing , 11)Bottom Up Testingc. System Testing

i. User Acceptance Testing, ii. Stress testing

iii. Performance Testingiv. Security Testingv. Usability Testing

vi. Documentation Testingvii. Response Testing

viii. Recovery Testing2. Based on the location Of testing

a. Alpha Testingb. Beta Testing

3. Based on Design of Test Casea. Black Box Testing- Functional Testingb. White box Testing – Structural Testing

White Box Testing:It is to ensure that a logic implemented in program modules are correct. This test executes all the loops and conditions within the operational boundaries. It is performed early in testing process and testing team must have a good knowledge of testing process.Black Box Testing:It is concerned with input and output domain. It focuses on functional requirements to find out errors like incorrect or mission function, errors on data structures and performance.

Unit Testing:The developer carries out unit testing in order to check if the particular module or unit of code is working fine. The unit testing comes at the very basic level as it is carried out when he unit of code is developed or a particular functionality is built.Integration TestingThe primary objective of integration testing is to test the module interfaces, i.e. there are no errors in the parameter passing, when one module invokes another module. During integration testing, different modules of a system are integrated in a planned manner using an integration plan. The

4 System Analysis and Design

integration plan specifies the steps and the order in which modules are combined to realize the full system. After each integration step, the partially integrated system is tested.Bottom-Up Integration TestingIn bottom-up testing, each subsystem is tested separately and then the full system is tested. A subsystem might consist of many modules which communicate among each other through well-defined interfacesTop-Down Integration TestingTop-down integration testing starts with the main routine and one or two subordinate routines in the system. After the top-level ‘skeleton’ has been tested, the immediately subroutines of the ‘skeleton’ are combined with it and tested.

System Testing:It is the process to find out errors and bugs and to correct them after all unit of system integrated into a whole system. In this testing all the stake holders can carry out all the testing referenced to their tasks. User Acceptance TestingIn this type of testing the software is handled over the user in order to find out if the software meets the user acceptances and works as it is accepted to. In the system development user acceptance testing also called beta testing, application testing and end user testing.

Performance testingPart of release testing may involve testing the emergent properties of a system, such as performance and reliability. Performance tests usually involve planning a series of tests where the load is steadily increased until the system performance becomes unacceptable.

Stress testingStress testing exercises the system beyond its maximum design load. Stressing the system often causes defects to come to light. Stressing the system test failure behaviour.. Systems should not fail catastrophically. Stress testing checks for unacceptable loss of service or data.Stress testing is particularly relevant to distributed systems that can exhibit severe degradation as a network becomes overloaded.

Usability TestingUsability testing concerns checking the user interface to see if it meets all user requirements concerning the user interface. During usability testing, the display screens, report formats, and other aspects relating to the user interface requirements are tested.Documentation Testing

It is checked that the required user manual, maintenance manuals, and technical manuals exist and are consistent. If the requirements specify the types of audience for which a specific manual should be designed, then the manual is checked for compliance.Recovery TestingRecovery testing tests the response of the system to the presence of faults, or loss of power, devices, services, data, etc. The system is subjected to the loss of the mentioned resources (as applicable and discussed in the SRS document) and it is checked if the system recovers satisfactorily.

5 System Analysis and Design

Security Testing System used for processing sensitive information are prone to high security risk. Security testing takes care of various aspects of the system security like hacking of passwords. Response TestingTesting is done to measure the response time like in online transaction processing system sucha as ATM, POS [Point of Sale] etc..

Alpha Testing:In this type of testing the users are initiated as the development center where they use the application and the developers note every particular input or action carried out by the user.Beta Testing:In this type of testing the software is distributed as a beta version to the users and users test the application at their sites. Beta testing comes after alpha testing.

Quality: Quality is the measurement and providing standard certification as if the system maintains the different criteria according with the requirements.

Variation control is the heart of quality control (software engineers strive to control the process applied, resources expended, and end product quality attributes).

Quality of design - refers to characteristics designers specify for the end product to be constructed

Quality of conformance - degree to which design specifications are followed in manufacturing the product

Quality control - series of inspections, reviews, and tests used to ensure conformance of a work product to its specifications

Quality assurance - consists of the auditing and reporting procedures used to provide management with data needed to make proactive decisions

Before discussing the quality, we need to focus the term verification and validation.

Validation and Verification

Validation: “Are we building the right product?”Verification: “Are we building the product right?”ValidationThe major goal of validation activities ate to access and improves quality of the work products generated during development and modification of software. It is the process of evaluation of system or product at the end of system development process to determine the complaisance with the requirements. Validation is:• Determination of correctness of final program• Providing a guarantee that software works as advertised definition

6 System Analysis and Design

“Confirmation by examination and provision of objective evidence that software specifications conform to user needs and intended uses, and that particular requirements implemented through software can be consistently fulfilled”

VerificationConsistency, completeness and correctness at each stage and between each stage of the development life cycle. During the verification we need to test undesirable and measurable part of the system. We also identify the various attributes like reliability, testability, usability, efficiency, transformability, and maintainability Verification MethodsThere are two types of verification: Dynamic verification - testing the product. Dynamic testing is one of the most widely used

validation techniques. Its aim is to reveal errors in a given program by executing it in a controlled environment.

Static verification - Analyzing the product to deduce its correct operation as a logical consequence of the design decisions. Dynamic and static verification play complementary roles – it is not a ‘one or the other’ issue.

Quality AssuranceQuality assurance is the process of verifying or determining whether products or services meet or exceed customer assumptions. It is a process driven approach with specific step to define and attain goals. This process considers design, development, production, and service. Quality assurance is the validation of the output at each stage or phase against the statement of requirements. It includes the following objectives:

Validation of the system against requirements Checking for errors in design, documentation and in the system itself Checking for qualitative features like portability and flexibility Checking for usability and so on…

SQA (Software Quality Assurance) consists of auditing and reporting functions of the software in order to provide management with gaining insight of the software and confidence that the product is meeting the goal. Conformance to software requirements is the foundation from which software quality is measured.Quality Assurance Technique

1. Review2. Inspections 3. Walkthroughs

Software Review

7 System Analysis and Design

A work product is examined for defects by individuals other than the person who produced it.  A Work Product is any important deliverable created during the requirements, design, coding, or testing phase of software development. 

Research shows that reviews are one of the best ways to ensure quality requirements, giving you as high as a 10 to 1 return on investment.  Reviews help you to discover defects and to ensure product compliance to specifications, standards or regulations

Software Inspection.

A disciplined engineering practice for detecting and correcting defects in software artifacts, and preventing their leakage into field operations. 

A formal evaluation technique in which software requirements, design, or code are examined in detail by person or group other than the author to detect faults, violations of development standards, and other problems. A quality improvement process for written material that consists of two dominant components: product (document) improvement and process improvement (document production and inspection).

Software Inspection is the most formal, commonly used form of peer review. The key feature of an inspection is the use of the checklists to facilitate error detection and defined roles for participants. Focus of the software inspection is on identifying problems and not on resolving them. Suggested software inspection participant roles:

Moderator: Responsible for ensuring that the inspection procedures are performed throughout the entire inspection process.  The responsibilities include

Verifying the work products readiness for inspection. Verifying that the entry criteria is met Assembling an effective inspection team Keeping the inspection meeting on track Verifying that the exits criteria is met

Recorder: The Recorder will document all defects that arise from the inspection meeting.  This documentation will include where the defects was found.  Additionally, every defect is assigned a defect category and type. 

Reviewer: All of the Inspection Team individuals are also considered to play the Reviewer role, independent of other roles assigned.  The Inspector role is responsible for analyzing and detecting defects within the work product. 

Reader: The reader is responsible for leading the Inspection Team through the inspection meeting by reading aloud small logical units, paraphrasing where appropriate.

Producer: The person who originally constructed the work product.  The individual that assumes the role of Producer will be ultimately responsible for updating the work product after the inspection. 

8 System Analysis and Design

Figure: Inspection Process

Software Walkthrough.

In the most usual form of term, a walkthrough is step by step simulation of the execution of a procedure, as when walking through code line by line, with an imagined set of inputs. The term has been extended to the review of material that is not procedural, such as data descriptions, reference manuals, specifications, etc. The major objectives of the walkthrough are to find defects (e.g., omissions, unwanted additions, and contradictions) in a specification of other product and to consider alternative functionality, performance objectives, or presentations. Although usually associated with code examination, this process is also applicable to the software requirements and software design.

The rules governing a walkthrough are:

Provide adequate time Use multiple sessions when necessary Prepare a set of test cases Provide a copy of the program being tested to each team member Provide other support materials

Other support materials may be required to efficiently conduct a Walkthrough. These include:

a list of questions prepared by each team member after reading the program or unit under review

flow charts Data dictionaries, list of variables, classes etc.

The code walkthrough, like the inspection, is a set of procedures and error-detection techniques for group code reading. It shares much in common with the inspection process, but the procedures are slightly different, and a different error-detection technique is employed.

MaintenanceChanges made to a system to fix or enhance its functionality. Software Maintenance is a very broad activity that includes error corrections, enhancements of capabilities, deletion of obsolete capabilities, and optimization. The deliverables and outcomes from the process are the development of a new

9 System Analysis and Design

Planning

Overview

Individual Preparation

Inspection Meting

Follow- Up

Rework

version of the software and new versions of all design documents created or modified during the maintenance effort.

Types/Categories of System MaintenanceCorrective maintenance: changes made to a system to repair flaws in its design, coding, or implementation. Adaptive maintenance: changes made to a system to evolve its functionality to changing business needs or technologies.Perfective maintenance: changes made to a system to add new features or to improve performance.Preventive maintenance: changes made to a system to avoid possible future problems.

Fig: Maintenance types and their corresponding efforts

Problems During Maintenance

Often the program is written by another person or group of persons. Often the program is changed by person who did not understand it clearly. Program listings are not structured. High staff turnover. Information gap. Systems are not designed for change.

The Process of Maintaining Information SystemsFour major activities

Obtaining maintenance requests. ¨Transforming requests into changes. ¨Designing changes. ¨Implementing changes.

10 System Analysis and Design

Fig: maintenance process

The Cost of MaintenanceMany organizations allocate eighty percent of information systems budget to maintenance.

11 System Analysis and Design

Fig: New development versus maintenance as a percent of software budget

Maintainability: the ease with which software can be understood, corrected, adapted, and enhanced.Factors that influence system maintainability:

Latent (hidden) defects. Number of customers for a given system. Quality of system documentation. Maintenance personnel. Tools. Well structured programs.

Measuring Maintenance EffectivenessMust measure the following factors:

Number of failures. Time between each failure. Type of failure.

12 System Analysis and Design