8+-+Implementation+&+Maintenance

involves those activities associated with ensuring that that the new system is fully functional and operational; as well as those activities associated with turning over control of the new system to the end users.
 * System Implementation:**

These are activities that are carefully structured and meticulously conducted during implementation to ensure that every aspect of the new system has been checked and rechecked. -White Box tests are tests in which the code is actually inspected.
 * Application Testing:**

- it is the first step in the testing process - The objective is to inspect the actual source code for certian types of errors associated with the language in which the programhas been written.
 * Code Inspection:**

-The emphasis is on detecting errors with regard to what it is we want the code to do, the reviewers must refrain from making corrections to the code.
 * Structured Walk Through:**

In this approach, one or more programmers work through a hard copy of source code mentally simulating the control flow. It uses the programmer as a human computer to execute each instruction and evaluate the accuracy of the results.
 * The Desk Check:**

-Focuses on ascertaining the successful execution of each application module prior to integrating it with other tested modules. The goal is to identify and correct as many errors as possible before integrating the modules into larger, more complex, software units in which errors can become more difficult to isolate and fix.
 * Module Testing:**

-Tests in which the module is not inspected and is usually not tested by its author. -Tests the lowest level modules first and then methodically integrates each of them into the next-higher level. -Simulates the control environment for the module under test by providing simulated input or receiving module output. -**(top- down approach) -the highest level control module is tested first, and the lower level modules are simulated by a program stub.
 * Black box test:**
 * Bottom-up method:**
 * Test driver:**
 * Stub testing:

Focuses on testing the behavior of an entire group of modules to identify errors that were not detected at the unit level. Integration strategy may be performed by using an all-at-once, top down, bottom-up, or critical-piece first strategy. -is a measure of the complexity of code related to the number of ways there are to traverse a piece of code; it is determined by the minimum number of inputs needed to test all ways to execute the program.
 * Integration testing:**
 * Cyclomatic complexity:**

Here the behavior of the entire system is under scrutiny and the goal is to have no errors remaining. - __Build and Smoke Test__- A process that combines the files into a single executable program,and puts them through a smoke test to see if the program runs. To produce the greatest benefits, the development team must perform the build and smoke test each day- not weekly or monthly. -Compiling all files and components successfully. -Linking all files and components successfully. - Finding no show stopper bugs that would make the program hazardous to operate or prevent it from launching. -Passing the smoke test.
 * System testing:**

Acceptance testing is the process by which the end user verifies that the delivered and installed product is ready to be put into use. __Alpha testing__ referred to as verification testing, is done by the client at developers site, with assistance and monitoring by the developer. alpha test uses simulated data typical of the data types and ranges of value expected __Beta Testing__, also known as validation testing, is conducted by the end user at their own site with no analyst, or developer, on hand. The system is tested using live data in the actual working environment where it is to be employed. __The Script__ is designed to verify that the major functions are properly operating in their most common mode.
 * User Acceptance Testing:**


 * System Installation:**
 * 1) Sytem Conversion -Consists of the activities and processes associated with replacing the existing operational system with the new system
 * 2) User Documentation- Provides the end user with a detailed and highly organized description of how to interact with the system in the many scenarios and activites that may be possible.
 * 3) User Training- Program is tantamount to a successful system implementation

The single most costly phase in the life-cycle approach to systems development is the post-implementation maintence phase. The primary objectives associated with systems maintence are to correct errors or faults in the system, provide changes to effect performance improvement, and adapt the sytem to changes in the operating business enviorment.
 * Post Implementation:**

__**Costs Chart**__ Maintence= 60% Analysis = 6% Programming= 26% Implementation = 7%

__**Change Requests:**__ The maintenance phase of fixing bugs and modifying existing system functions to help improve performance and enhance functionality.

__Corrective__ - fix bugs and logic errors not detected during the implementation testing __Adaptive__ - Involves the activities associated with modifying existing functions or adding new functionality to accommodate changes in the business or operating enviorments __Perfective__ - activities involve changes made to an existing system that are intended to improve the performance of a function or interface __Preventative__ - Intended to reduce the chances of a system failure or extend the capacity of a current systems useful life. These include:
 * __4 types of Maintence__**
 * 1) Corrective
 * 2) Adaptive
 * 3) Perfective
 * 4) Preventive
 * 1) Hardware maintence
 * 2) Replacment of hardware components
 * 3) Updating system software
 * 4) Maintenance of system documentation

Two primary areas of loss: productivity, and business. Productivity losses are those that have a negative impact on individual or workgroup productivity, while business losses affect transactions or result in loss of customers.
 * Cost Estimation of Downtime:**