Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
Project Management, Software Testing Nasreen Iqbal Msc. Software Engineering
[email protected] De Montfort University 1 1.1
INTRODUCTION Purpose The overall purpose of this project is to evaluate and analyses the requirement of the customer, design and implement the system, testing the functionality and maintain the software of an ATM component of a larger ATM network project, consistent with the requirement specification.
1.2
Scope The scope of the ATM is to support a computerized banking network. All activities directly related to the purpose are considered to be in scope. The other activities not directly related to the purposes are considered to be out of scope, such ATM hardware and concern issues.
1.3
Assumptions and Constraints The Assumptions of the project are as follows:
The project is a model of a larger ATM network.
This project will deliver the software components.
The ATM hardware will available later in the installation and handle as a separate project.
All hardware documentation will be available at the time of installation.
XYZ-ATM project will involve Object-Oriented Analysis and Development process and write the code in C++ on Microsoft .Net platform on IBM mainframes.
The project should complete within the due date and budget.
The project will have the following constraints:
1.4
1.5
Budget o o Time o Staff o
2 Million Should not exceed 12 Months XYZ appointed the deputy director of data center to liaise with the project leader, to monitor progress, and set priorities for the development team.
o
The development team will be composed of 20 staff from the Data Centre,
o
6 additional staff from the client / server interface development and required them based on priority of the project.
Schedule & Budget Details
The project kick-off: 09 December, 2013
Software ready for operation: 09 December, 2014
Project Promises The following items listed are the deliverables to the ATM project manager. 1
Software documentation Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
2.1
Installation documentation
o
End-user detailed document
Software installation
Software training provided to the staff
2
o
o
Bank staff
o
ATM installers
o
The maintenance team
Project deliverable documentation o
The software requirements document
o
The software design document
o
The software project document
o
Software test document
DESCRIPTION Product Viewpoint The ATM network will work together with the software provided by the banks, where banks have defined interfaces for the communication. Banks Networks
ATM System
Bank Computer
Bank Database
Bank Computer
Bank Database
Bank Computer
Bank Database
Bank Computer
Bank Database
ATM Network
ATM
ATM NETWORK Conceptual ATM Model Card Reader Cash Dispenser KeyPad
ATM
Deposit Slot
Screen
Printer Operator
2
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ Conceptual Flow Diagram of ATM
Verify Access Code
[Incorrect]
Handle Incorrect Access Code
[Correct]
Ask forAmount [Resolved]
[Note Resolved]
[Amount not available] [Amount available] Deposit Slot Prepare to print Receipt
Dispense Cash
Finish Transaction & Print receipt
2.2
Organization XYZ has one data center in the UK, employing some 200 IT professionals. Their work involve the maintenance of the company’s existing Information Systems; network support; providing a help desk service to XYZ staff and the development of new applications. The following attached diagram (Appendix B) discussed the proposed team and their relation with the project management group. The team led will assign by the project leader for each group. The role and responsibilities for the below organization will discuss and diagrammed in the next project plan specification section.
3
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
3
EVALUTION OF THE PLAN The project supported the traditional structure SSADM following the waterfall Modeling. The SSADM methodology is a well-defined methodology and it can produce well-documented, accurate information systems. The aim of SSADM is to provide logical data modeling and document the data requirements of the system being designed. In this traditional structure, the data is split into entities and relationships. However, the waterfall model is a process that follows the sequence. Based on this concept the project will move in the following phases, as shown in the following diagram:
4
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ 3.1
Duration & Resource Evaluation A successful full project is one delivered ‘On Time’, within budget and with the required quantity. Ref: chapter ‘Software effort estimation’ by bob. The project is required to complete with 12 months of duration, each phasein the development planning will provide the sufficient time along with the appropriate resources. The report and documentations of each phasedelivered a complete information. Our work-break-structure (WBS) based on SSADM followed waterfall model, i.e. one stage flows on to the next from the top to the bottom and evolves over the course of planning. The WBS presenting list for planning and a structure for providing report status during the implementation phase. The duration, schedule and work estimation for each branch activity will be performed using a combination of the following methods:
The estimation carried forward as independent when more than one resource is assigned to the activity.
The resources are required to complete their activity within the estimated time. A detailed estimate will be requested and broken down into sub activity milestones.
The duration provided based on their role and work activities.
The maximum duration spends in the requirement and analysis phase to build a strong structure.
Considering time limit, plan assigned multiple resources together to the structure and coding phase.
However, based on above evolution the WBS structure designed has the following faces. 1.1. The Requirement Analysis phase: The project leader must define the requirements that allow the developer to understand the structure of the software system. This development activity is part of a larger system, therefore the other resources must communicate to help with the development system. The total 64 days estimated with 10 resources included 4 Requirement Analysts, one Communication Expert, a Business Analyst, DB2 Expert and Security Specialist. The following are brief scenarios included in this phase.
5
Feasibility is an activity that should ideally be structured for all but low risk projects. It is a very initial decision point where a possible decision includes the option to terminate the project. Once completion of this phase we move into the first Module Requirements Analysis of SSADM. The study of technical, operational and economic feasibility, performed by the management.
Requirements Analysis: identified the requirement, and the current environment is modeled, produced and presented. The data flow modeling and the logical data modeling technique will be used.
Interview: the interview begins with stockholder, banking experts and staff to gain a better understanding of the system activity.
Software Development requirements: this phasebuilds as the backbone for the project that will carefully focus on its each and every single perspective. o
The important section will be focused on the project to develop the software and interfaces for the hardware, software and network communication.
o
The project based on, network activity, therefore, the network requirement study and analysis will pay a major and critical role for the development of this project.
Prioritize and integrate requirements: The integrated priority list provides the participants' recommendations for programming assets in the planning, programming, and budgeting system process.
System Analysis: this phasecarried out an explicit formal inquiry that helps management to identify a better course of action and make a better decision.
Risk Analysis: every project has risk; this project will identify their risks and resolutions. The project will register all the major risk as an output.
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
System Security Analysis: the security of the data is an important part in this section which planned to gain the customer faith and reliability.
Create Software Requirements Specification Report: the final activity of this phaseto prepare reports for the next phase.
1.2. System Designing: System designing will model the architecture, components and interfaces for a system to specify the requirement. The designing duration estimated total 67 days with the team Software Architecture and designers.
Perform Architectural Design: will cover the internal and communication architecture between ATM and the bank.
Designing Interfaces: this phase will cover to achieve the goal to make the user's interaction as simple and efficient in the form of designing interfaces.
Develop Algorithm: algorithm follows the well-defined set of instructions for completing a task, not a program, but a specific language that explore the idea of step the program will take to perform its tasks.
Perform Detailed Design: This process will perform with the development team to generate the application software and integrating the softwares and communications with these applications.
Design Test Cases: the test plan describes what to test, but a test case describes how to perform a particular test, our team will develop a test case for each test listed in the test plan.
Create Software Design Specification: This phase will be ended with the final document and handover to the next phase.
1.3. Coding The Data Center arranged 10 designers and programmers using the new technologies for the source code of the program and a Java programmer for the object oriented (OOPS) technology. The team facilitates the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source code for the duration of 47 Days with the consideration of Lines of Code (LOC) essentials.
6
Create Test Data: before begin with the coding phase the test data developed for the programmers and test specialist.
Create Source Code: the source code that contained an instruction to tell the computer what to do using language C++.
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
Generate Object Code: a sequence of instruction in a computer language, generating an executable by combining parts of the object.
Plan Integration: a joined planned exercise that ensures participations of all stockholders and involved team to determine or examine all the aspects in order to find the most suitable option for the course of action.
Perform integration: objects required to collect and build a complete designed called integration, a collaborative method for designing buildings which emphasizes the development of a holistic design.
Document Program Model: the complete documentation and the program model will be ready for the testing.
1.4. Testing The software testing, investigation conducted to provide stakeholders with information about the quality of the product or service under test. We have 2 specialists for the duration of 60 days, the following phases will cover.
Testing Plan: The IEEE stander and other tools follow to perform this plan that builds the testing phase structure.
Test Designing: test design is the act of creating and writing test suites for testing software. We have several recommended testing tools to perform this phase by the test specialist.
Unit testing: we shall create the individual units of source code that is, the sets of one or more computer program modules together with associated control data.
Component Testing: till now we have designed and developed model, therefore the model level testing that will find the bugs in the model and will verify the functions of the model.
System Testing: the final and important testing will be done by system testing that integrated system to evaluate the system's compliance with its specified requirements.
Documentation & Provide Feedback to Programmers: finally the document will be submitted all the tested results and defects.
1.5. Operation & Maintenance: The Operation and Maintenance has 2 most important phases, i.e. installation and maintenance. The training for the bank staff and manuals, documentation will be done before these two phases. I have assigned total 50 days with 2 installation specialists.
7
Final check and verification: because the system has limitations and budget specification therefore I recommended having final review and verification of the risk rescue process.
Documentation: the documentation phase will prepare user and other operational manuals.
Training: the user’s training for the various bank staff is required to run the ATM software, included installation instructions.
Distribute Software: in this process the final software version copy will deliver to the banks along with their manuals.
Install Software: after the acceptance of the software, the installation will take place with the cooperation of hardware and bank interface provider. Here the installers, programmers and network expert might work together to make sure that the ATM working fine.
Perform Adaptive Maintenance: the 1 day for the maintenance if needed
Perform Preventative Maintenance: the preventive cautions grace period provided by the software providers to the stakeholders for their queries and further assistance.
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
3.2 Cost Estimation: The estimate covered under the strategic plan and feasibility study based on, top down and bottom up approach. The estimate breaks the project into its relevant component tasks. The plan exhaustive investigates the SLOC and LOCS of each identified step and then will consider the other recourses.
Cost estimation for each activity will be performed by multiplying the amount of work expected from the daily rate for the resources connected to the activity.
The total estimated amount calculated for the multiple resource used in a single task.
Staff Recourses: documentation.
The staffing recourses arranged with the group of programmers, management, analysts,
Computer Recourses: the computer recourses are important evaluation for the estimation, included terminals, disk space and CPU’s; this is considered as out of scope. Overhead: included other support, meetings estimation, and performance assessment, project control system estimation, not covered.
3.3 Cost Estimation Table
Requirement Analysis
1
1.1
1.2
8
Page
Task Name
Duratio n
Start
Finish
Requirement Analysis
64 days
Mon 12/9/13
Thu, 3/6/14
Develop System Architecture
20 days
Mon 12/9/13
Fri, 1/3/14
Requirement Analysts-1
$64,000.00
12 days
Mon 12/9/13
Tue, 12/24/13
Communication Expert
$76,800.00
Interview
Resource Names
Cost $540,800.00
1.3
Define & Develop Software Requirements
14 days
Mon 12/9/13
Thu, 12/26/13
Requirement Analysts-4
$44,800.00
1.4
Define Interface Requirement
14 days
Fri, 12/27/13
Wed, 1/15/14
Business Analyst, DB2 Expert
$89,600.00
1.5
Prioritize and Integrate Requirements
11 days
Wed, 12/25/13
Wed, 1/8/14
Requirement Analysts-3
$35,200.00
1.6
System Security Analysis
22 days
Mon 1/6/14
Tue, 2/4/14
Security Specialist
$70,400.00
1.7
Software Quality & Risk Analysis
14 days
Thu, 1/16/14
Tue, 2/4/14
Project Leader, Requirement Analysts-1
$89,600.00
1.8
Create Software Requirements Specification Report (SRS)
22 days
Wed, 2/5/14
Thu, 3/6/14
Requirement Analysts-2
$70,400.00
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ System Designing
Coding
2
System Designing
67 days
Wed, 2/5/14
Thu, 5/8/14
2.1
Perform Architectural Designing
21 days
Wed, 2/5/14
Wed, 3/5/14
Software Architect-1
$67,200.00
2.2
Design Interfaces
21 days
Fri, 3/7/14
Fri, 4/4/14
Software Architect-2
$67,200.00
2.3
Develop Algorithm
12 days
Thu, 3/6/14
Fri, 3/21/14
Software Architect-3
$38,400.00
2.4
Design Test Cases
12 days
Mon 4/7/14
Tue, 4/22/14
Software Architect-3
$38,400.00
2.5
Perform Detailed Design
8 days
Mon 3/24/14
Wed, 4/2/14
Software Architect-4, Software Architect-1
$51,200.00
2.6
Create Software Design Specification
24 days
Mon 4/7/14
Thu, 5/8/14
Software Architect-2
$76,800.00
Coding
47 days
Fri, 5/9/14
Mon 7/14/14
3.1
Create Test Data
19 days
Fri, 5/9/14
Wed, 6/4/14
Database Specialist
3.2
Create Source Code
19 days
Fri, 5/9/14
Wed, 6/4/14
Front-end Designer & Programmer-5-6, Front-End Designer & Programmer-5
$121,600.00
3.3
Generate Object Code
30 days
Fri, 5/9/14
Thu, 6/19/14
Java Programmer, Front-End Designer & Programmer-5-7
$192,000.00
7 days
Fri, 6/20/14
Mon 6/30/14
Front-end Designer & Programmer-5-8
$22,400.00
3
3.4
Testing
9
Page
Plan Integration
$339,200.00
$518,400.00 $60,800.00
3.5
Perform integration
9 days
Tue, 7/1/14
Fri, 7/11/14
Front-end Designer & Programmer-5-9, Java Programmer
$57,600.00
3.6
Document Program Model
10 days
Tue, 7/1/14
Mon 7/14/14
Front-end Designer & Programmer-5-10, Front-End Designer & Programmer-5
$64,000.00
Testing
60 days
Tue, 7/15/14
Mon
4
$278,400.00
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ 10/6/14 4.1
Develop, Test Requirement
24 days
Tue, 7/15/14
Fri, 8/15/14
Software Testers-1
$76,800.00
4.2
Unit Testing
14 days
Mon 8/18/14
Thu, 9/4/14
Software Testers-2
$44,800.00
4.3
Component Testing
22 days
Mon 8/18/14
Tue, 9/16/14
Software Testers-1
$70,400.00
13 days
Mon 9/5/14
Wed, 9/23/14
Software Testers-2
$41,600.00
Software Testers-1
$44,800.00
4.4
Operation & Maintenance
System Testing
4.5
Provide Feedback to Programmers
14 days
Wed, 9/17/14
Mon 10/6/14
5
Operation & Maintenance
50 days
Tue, 10/7/14
Mon 12/15/14
5.1
Final checks and verification
28 days
Tue, 10/7/14
Thu, 11/13/14
Project Leader
5.2
Documentation & User Manual
17 days
Tue, 10/7/14
Wed, 10/29/14
Document Writer1, Document Writer-2
$108,800.00
$307,200.00
5.3
Training
8 days
Tue, 10/7/14
Thu, 10/16/14
Training & Installation Specialists-1 [0%]
$25,600.00
5.4
Distribute Software
5 days
Fri, 11/14/14
Thu, 11/20/14
Training & Installation Specialists-2
$16,000.00
12 days
Fri, 11/14/14
Mon 12/1/14
Training & Installation Specialists-1
$38,400.00
Training & Installation Specialists-2
$28,800.00
5.5
Install Software
5.6
Perform Adaptive Maintenance
9 days
Tue, 12/2/14
Fri, 12/12/14
5.7
Perform Preventative Maintenance
1 day
Mon 12/15/14
Mon 12/15/14
$0.00
Total Other Expenses
10
Page
$89,600.00
=
1984000 16000
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
4
PROJECT PLANNING PROCESS: [Planning Identifier: PPP-01-01-14-1.0] The planning process will cover the successful implementation of project activities, it worked as a group of linked techniques & methods that offers the featured list of activities, also responsible how the work will get done, by whom, when, and for how much, somehow I tried to explain in this chart showing below.
This Project Planning includes scheduling diagrams using Gantt where activities and links represent task dependencies as follows.
Define Activity
Identify Activity
o
Activity based approach
o
Product based approach
o
Hybrid approach
Network Planning Model
The task performed using CPM (Critical path method) to visualize the project as a network followed by start and end. 4.1
Task Dependency Specification for WBS:
1
Task Name
Duration
Requirement Analysis
64 days
2
Develop System Architecture
20 days
3
Interview
12 days
11
Page
Predecessors
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ 4
Define & Develop Software Requirements
14 days
5
Define Interface Requirement
14 days
5
6
Prioritize and Integrate Requirements
11 days
4
7
System Security Analysis
22 days
3
8
Software Quality & Risk Analysis
14 days
6
9
Create Software Requirements Specification Report (SRS)
22 days
7,8
System Designing
10
67 days
11
Perform Architectural Designing
21 days
9
12
Design Interfaces
21 days
10
13
Develop Algorithm
12 days
12
14
Design Test Cases
12 days
13
15
Perform Detailed Design
8 days
14
16
Create Software Design Specification
24 days
13
Coding
17
47 days
18
Create Test Data
19 days
17
19
Create Source Code
19 days
17
20
Generate Object Code
30 days
15,17,16
21
Plan Integration
7 days
20,21,19
22
Perform integration
9 days
22
23
Document Program Model
10 days
22
Testing
24
60 days
25
Develop Test Requirement
24 days
24,23
26
Unit Testing
14 days
26
27
Component Testing
22 days
26
28
System Testing
13 days
27
29
Provide Feedback to Programmers
14 days
28
30
Operation & Maintenance
31
Final checks and verification
28 days
30,29
32
Documentation & User Manual
17 days
30
33
Training
8 days
30
34
Distribute Software
5 days
32,33,34
35
Install Software
12 days
32
36
Perform Adaptive Maintenance
9 days
36,35
37
Perform Preventative Maintenance
1 day
37
12
Page
50 days
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ Forward & Backward Pass Calculation for WBS 4.2
Forward Pass EST Develop System Architecture =0 EST System Security Analysis = EFT Develop System Architecture EST Create Software Requirements Specification Report(SRS) = MAX(EFT System Security Analysis, EFT Prioritize and Integrate Requirements ) =42 EST Design Interfaces =EFT Design Test Cases =64 EST Create Software Design Specification =EFT Design Interfaces=85 EST Generate Object Code = MAX(EFT Perform Detailed Design, EFT Design Test Cases, EFT Create Software Design Specification )=109 EST Plan Integration = max(EFT Create Test Data , EFT Create Source Code, EFT Generate Object Code )=139 EST Document Program Model = EFT Plan Integration =146 EST Develop Test Requirement = MAX(EFT Perform integration, EFT Document Program Model )=156 EST Component Testing =EFT Develop Test Requirement =180 EST Provide Feedback to Programmers = EFT Component Testing=202 EST Final checks and verification = EFT Provide Feedback to Programmers =216 EST Install Software =EFT Final checks and verification =244 EST Perform Adaptive Maintenance =MAX(EFT Distribute Software, EFT Install Software)=256 EST Perform Preventative Maintenance =EFT Perform Adaptive Maintenance =256
4.3
Backward Pass LFT Develop System Architecture =LST Develop System Architecture =20 LFT System Security Analysis = LST Create Software Requirements Specification Report(SRS) =42 LFT Create Software Requirements Specification Report(SRS)s =LST Design Interfaces =64 LFT Design Interfaces =MIN(LST Design Test Cases, LST Create Software Design Specification )= 85 LFT Create Software Design Specification = LST Generate Object Code =109 LFT Generate Object Code =LST Plan Integration =139 LFT
Plan Integration
LFT Document
=MIN(LST Perform integration, LST Document Program Model)=146
Program Model
=LST Develop Test Requirement =156
LFT Develop Test Requirement = MIN(LST Unit Testing, LFT Component Testing)=180 LFT Component Testing =LST Provide Feedback to Programmers =202 LFT Provide Feedback to Programmers =MIN(LST Final checks and verification, LST Documentation & User Manual, LST Training)=216 LFT Final checks and verification =LST Install Software =244 LFT Install Software =LST Perform Adaptive Maintenance =256 LFT Perform Adaptive Maintenance =LST Perform Preventative Maintenance =265 LFT Perform Preventative Maintenance =EFT Perform Preventative Maintenance =266 4.4
Work Breakdown Structure:
The Critical Path attached in the Appendix C. The Project Plan designs in the Microsoft Project 2010 attached to the report. 13
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
5
RISK ASSESMENT PROCESS [Risk Identifier: RI-01-01-14-1.0] According to Roger L. Van Scoy – the Risk is a part of some activity that can never be eliminated, can all risks ever be known. A risk may not register a problem, but expected anytime in the entire project life cycle. Based on these analyzed phrases we essentially learned to establish balance between the negative and possible benefits. Thru, these norms we shall discuss and evaluate the risk of this project. The assessment of the risk in the project has been constructed on the assumptions. I evaluated the assumption and planned the estimate and detect the errors. The analysis said that when there are no assumptions and everything goes smoothly in the project, formulate the indication of bugs. However, the assumptions could eliminate if they have no longer validation on the project, but the major bugs may not ignore in the project life cycle.
Hazard 5.1
problem
Risk
Phase 1, concept exploration With this phase will deal with the communication and interview between the staff, management and stakeholder. Sharing ideas and concept exploration helps to identify the risk with the various solutions. During the assessment the documentation and program drafting will help to organize the project and may help to eliminate the risk impartially. All the explorations and gathered concepts will be documented in this phase to carry forward the project.
5.2
Phase 2, program Risk assessment The assumptions in the project carried bugs in the project. The project will tie up with the high level network development that must communicate and connect successfully with the software provided by the bank. The project will work only with the software component where physical components (Hardware) are out of scope that will raise the probabilities of risks. If we assess the team and its expertise, the risk prospects may increase because the new technology will be used. Another constraint is the schedule of the project which has to complete on time, the management should capable enough to be committed. The other factor is budget limitation may increase the possibility of risk. Furthermore the security issues also a kind of constraints. Each function, transactions, payments and any act that's being performed by the customer or the structure itself would precis and real.
5.3
Phase 3, Capability Improvement SSADM suits very well to ATM project because the re-structural attitude. Importantly, the experts and programmers are required to improve their efficiency in their selected language and platform. The System development should focus precisely on the secured communication between their selected language and bank software and interfaces.
5.4
Phase 4, prototype This phase emphasizes the work on the capable progress efforts that last from phase two of the improved system model. The application will develop in a balanced approach and tested by the end of this phase and may enter in the final release version.
14
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ 5.5
Process Architecture
The Proposed Major Risk Diagram Technical Risk
Decision Merge
Project Kick -Off and Live date, in 12 month time New platform SSADM and Waterfall Methodology New platform C++ and DOT NET Technology
ATM Software & Network Collaboration Software Components using C++ DOT Net Technology
Bank
Computer
ATM Simulation
Interface
Development Risk
Dependency Risk Hardware Document
5.6
Risk Identification
5.7
The Software Development Risk Taxonomy
Hardware, Available in Time at the final stage.
According to Taxonomy, classification, the Software Development Risk categorized in three parts. 5.7.1
Product Engineering This class covered the physical activities that require product on time, which included software and documentation together become the classes that focused the performance of the work and include the following elements. (Reference Taxonomy)
5.7.2
Requirements: software product behavior, how it will function and how it will be used, becomes the important factor for the project development. The major failure of the software application might face in the network communication because it is difficult to combine processes, systems, languages into one using new technology. In this critical analysis the most important part is to provide the accuracy.
Design: C++ and .NET together will communicate with the several different languages provided by different banks, might become the cause of risk.
Code and Unit Test: so far the C++ language and .Net developed as successful languages. Insufficient experience might face incompetency with other applications. The successful testing may eliminate the risk of the project.
Development Environment This environment concerned with the project environment where the product will be plotted. The below few elements we would like to discuss in the consideration of risk analyses. Development Process: the communication of the methods and procedures, planning, documentation, suitability and enforcement used to develop the product.
15
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ Work Environment: the levels of cooperation, communication of the employee played a very import role in the development environment. Management process and methods: management process includes planning, controlling, budgeting and schedule task which help to eliminate the risk. 5.7.3
Program Constraints Many projects rely on the schedule and cost signs, but they must examine their plans and control technical risks with the intention to accomplish project quality. The top approach is to achieve the control upon the risks in the entire software development life series.
5.8
Resources: According to time management the team must be experienced and cooperation. So better to have high paid staff will help to complete their task in a short period based on their experience.
Dependency: We have dependency in the project i.e. Hardware providers, must define a timeline and contract between them with the legal lines.
The Risk Assessment Table & Project Risk
The following categorized table will be maintained for the duration of the project, listed the risk range from 1 to 10 and its severity (Negligible, critical and marginal) that obtained by the current risk factors. Risk Assessment Datasheet Risk Assessment Area Level 1 Mission And Goal Factor Management Risk
16
Page
Level 2 Project fit
Risk Rank
Severity
2
Negligible
Comments
Application factors -Nature of the application
5
Marginal
-Expected size of the application
4
Negligible
Project team stability
5
Marginal
-Experience and skills
8
High
Experience with application development projects, management plan and set the target to monitor the performance.
-Appropriateness of experience
8
High
New experience in this type developing, Management has to hear experts with the same skills and experience
-Staff satisfaction
5
Marginal
Staff involved since many projects and the staffing is not an issue for the Datacenter.
-Staff turnover rates
7
High
The more you pay, more you gain strategy need to apply by the management to avoid the hazard
-Project Factors
8
Marginal
The management so far planned and decided factor, required more attention and documented.
-Project objective
5
Marginal
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ -Cost estimation 5.8.1
8
High
Risk in cost escalation due to variance from estimate
Technical risks Risk Assessment Datasheet Risk Assessment Area
Level 1
Level 2
Technical Risk
Risk Rank
Probability Level Network Factor
-Network communication issue
9
Critical
Many external, unfamiliar
-Network security issue
8
Marginal
The security issue is most important for the reliability and trust of the stockholder and the customer satisfactions.
- ATM network and hardware supply
8
High
Available on time, at a later stage, the ATM network does not work independently
-Clint / Server issue
8
High
How to communicate with the bank server in the collaboration with the bank.
Interfaces from the banks will communicate over the network. The expectation of the risk becomes high and critical.
Hardware and software factors External Software Communication
10
Critical
Compatibility factor will may occur that will arise the failure of the final software application.
- External hardware
7
Marginal
Delay and tolerance will turn into risk.
Hardware interface documentation
Too Soon
-Cross platform development
Too soon
Software development factor
6
Marginal
The experience is new and the compatibility will be at high risk, the development factor may arise during development phase.
--Product knowledge Issue
8
High
New platform, lack of skills to execute the project and on time.
--Language Issue
5
Marginal
So far team has experience in other languages, but new in C++.
Changeover Factors & Project Content Factor -‘All-in-one’ changeover
17
Page
5
Marginal
The change control process that has not been followed, or is ineffective return a huge change process
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
5.8.2
- Early identification of defects
2
Negligible
Peer reviews are used sporadically.
- System dependencies
6
Medium
Some basics of the system are not yet understood.
Test & acceptance
6
Marginal
Requirement of stockholder and customer need to be satisfied.
Business risks
Threaten the viability of the software to be built (market risks, strategic risks, management risks, budget risks) Risk Assessment Datasheet Risk Assessment Area Level 1
Level 2
Risk Rank
Comments
COMMERCIAL RISK Supplier Factors
6
Marginal
Too soon
-Late delivery of hardware
9
High
The possibility is too high
-Instability of hardware
8
High
During installation of hardware and software might not compatible with each other.
-Changes in environment such as hardware platforms
7
Marginal
Possible
External Risk The likelihood that the event will occur - Estimate probability that event will occur
1
Too soon
Risk probability (percentage)
1
Too soon
*Risk ranking 0 to 10, 10 assumed as highest/*Probability is rated as critical, High, Marginal and negligible.
18
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ 5.9
RISK ASSESSMENT & RISK REGISTER
Risk Record Risk ID
R01
Risk Title
Software Crash & Failure
Owner
XYZ
Date Raised
December 2013
Status
Critical
Risk Description Technical risk appears when the application, techniques, theories and principles failed to generate the required software. In the ATM software development many external, unfamiliar interfaces and software involved with the different platform from the various banks and the ATM software has to work together in order to establish the communication between the bank and ATM. In many ATM network projects, the more challenges and efficiency required without any compromises in terms of skills, language experience and planning. The application failure most common factor in this kind of development. It is extremely difficult to work with different software, system languages and processes with the new technology like C++ with the DOT NET. In this environment, providing the accuracy and stability that will be required in order the expected tasks by customers to be completed successfully. Compatibility factor may emerge the failure of the final software application that ended with the software crash and become challenging at certain complex individual cases. Impact Description: The security impact a lot on the image of the software provider because the stockholder expectation into more quality standard and capabilities. Therefore, considering that a tiny defect may cause some inconsistency. Recommended Risk mitigation: The approach to control technical risks is to manage them in the entire software development process. This can result in more successful software programs and reduce the major crash risk. Focus on the development and risk monitoring through the testing only the resolution. Last, The management concentrates on capable and expertise resources in the development process and includes the risk specialist in the team.
Portability / Impact Values Portability
Impact Cost
Duration
Quantity
Pre mitigation
Less costly
15 to 30 days
2
Post Mitigation
Costly
Unexpected time
More than expected
Incident Action History Date
Incident / Action Progress
5.10
Actor Management
Outcome / Comments Suggested action plan
Risk Reduction
19
The technical criteria, the proper communication between the different systems.
The important issues are the security and privacy issues. The privacy of user activity, their essential information and money transactions must secure. All the safety measures must be applied.
The compatibility issues of the new system developer may occur.
The testing becomes easier during the development phase, the short and understandable coding best approach to fix the error.
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
RRL
RE before RE after risk reduction cost
10.16= $2000000- $1820800 = $179200
5.11
Based on Paying RRL calculation I Estimated and included expenses on paying salaries to reduce risk of losing key personnel, i.e. Software Quality & Risk Analysis, and Final checks and verification on Risk Reduction. Therefore RE before = $2 million, RE after =$1810800, reduction cost = $179200, calculated 10.16.
According to the calculation of Risk leverage greater than 1.00, attractive propositions.
Hazard Prevention The idea behind is that IT manager has to prepare the backup plan, security plan and backup of man power. He should prepared staff for the alternative with the motivation and communication, along with the interviews frequently.
5.12
Likelihood reduction Higher experts or train existing staff, compatibility in the software development, work hard to meet the time schedule both start and end time. Meeting budgeted expenses and /or inadequate funds, cost escalation due to variance from estimate, i.e. LOC 48k, 800 per month for each programmer and 400 pounds per day.
5.13
Quality Check The import quality is to provide the privacy and security of the sensitive private data. The quality characteristic combine’s 1.
Customers' service quality
2.
Automated systems quality
3.
Banking product quality
If we provide the best system, but lack of security, will be a huge loss for the company's fame, customer reliability. Conclusion: Overall in IT Project management, if the risks are not meeting the deliverable criteria, key milestones, budget constraints, or any other aspect of the project may identify as a key success criteria by the stakeholders of each project phase.
6
CRITICAL ANALYSIS EARLY FINISHED PROJECT The project is dependent on other sub-projects, and no specific cost advantage can be grabbed to complete the project sooner than the deadline, as a result crashing will not be under consideration. However, crashing the project using an established crashing process might end up with the negotiation in the cost and timing. Overall due to the schedule bound and cost consideration the project crashing and rescheduling for the reduced time will may indication of the big loss in terms of cost and reputation.
20
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
7
TEST PLAN BASED ON IEEE 829 STANDERED
Test Plan Identifier: MTP-01-01-14-1.0 7.1 7.1.1
Introduction Objective We have created the Master Test Plan for the ATM Simulation project introducing the first version followed by IEEE 829 recommended standards. The version should use the computer’s monitor to simulate the ATM screen and the computer keyboard to simulate the ATM keypad. This proposal will discuss only dedicated item that is directly associated with the ATM transaction method, both directly and indirectly pretentious parts will be discussed. The scope of this strategy is to make sure that the ATM provides the authenticated and accurate information from the bank and offer a secured transaction to the existing customer using an ATM card.
7.1.2
Scope The test scope mainly works on unit, system and acceptance testing. The approach section will address the details for each level and will further these levels will define specific strategies. The projected time is for an ATM project is pushy; for example, any postponements in the development or delay in the delivery of hardware might face significant impact on the test plan.
7.2
Test Item The following list of the items to need be tested:
7.3
Requirements specification o
Specific requirement
o
Non functional requirement
o
Functional requirement
Classes
Program files
Interfaces
Functions
Features to Test
21
Data flows o
Use-Cases
o
State diagrams
o
Activity diagram
o
Sequence diagrams
Functions
Page
o
Withdraw cash
o
Balance inquiries
o
Transactions
o
Deposit
o
Sessions
o
Operator panel / key operated switch
o
Screen
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
7.4
7.5 7.5.1
o
Keypad
o
Cash dispenser
o
Deposit slot
o
Messages
o
Slot reader
o
Logs
Interfaces o
The screen that displays a message to the user
o
A keypad that receives numeric input from the user
o
Cash dispenser that dispenses cash to the user
o
Deposit slot that receives envelop from the customer
o
Key operation switches to allow operator to start and stop the machine
Features Not To Test
Hardware components
Bank Integration software with the ATM hardware
Bank database Security
Refinement Approach Testing levels The testing for the ATM simulation project will consist of apparent, unit, system and acceptance test levels will completed by the test specialist and the development team participation. Unit Testing performed by the testers includes list of cases, tester output and bug information must be provided before unit testing will be accepted and passed. System Testing: The Ellipse best suitable testing tool is acceptable for this project. The criteria say that the two major defects can be avoidable; provided as they do not obstruct testing of the program. The entire system test will be completed by the Testers in order to provide acceptance document to the team management. Acceptance Testing will completed by the ATM stockholder in order to confirm the system achieved its requirements. The programs Acceptance test will complete when all the major defects will be corrected, the critical and foremost defects must be corrected and verified by the stockholder. This will require careful coordination of the control table for the manufacturing system to avoid post testing into the system.
7.5.2
Configuration & Change Control The configuration and change control will look into the movement of programs, from the development portion of the ‘RED’ sign system to the test portion of the ‘RED’ sign. This will ensure that program under development/test and in the same version controls and tracking of changes. The exact process will use to migrate the programs from the development/test ‘RED’ system to the production ‘BLUE’ system once all testing has been completed as per plans and guidelines. All changes, enhancements and other modification requests to the system will be handled through the published change control procedures. Any modifications to the standard procedures are identified in the change control section.
22
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ 7.5.3
Testing Tools
7.5.4
Meetings The test specialist will conduct a meeting with the developer and project leader regularly to evaluate progress to date and to identify error trends and problems as early as possible. Otherwise meetings can be called for any urgency.
7.5.5
Measures and Metrics The following below descriptions will be collected by the development team during the Unit testing process. This constraint or information will forward to the test specialists at the time of handover of the testing, provided by the project team on a biweekly basis.
Withdrawal not allowed between 2.00 a.m. and 4.00 a.m. for the maintenance purpose.
The computer will OFF during operation.
The deposit will not allow between 2.00 am to 4.00 am.
Balance display will not allow between 2.00 am to 4.00 am.
Session duration has only some limits.
300 daily withdrawal limit per card is enforced.
Cannot turn the ATM off while in the middle of a customer session
The new customer transactions cannot start unless the card not removed.
The requirement follows the waterfall architecture.
Hardware unavailable
The following information will be gathered from the test specialist during all testing phases.
7.6
All the model and severity defects.
The defect source such as design, code and requirement
Calculated time spent for any major & critical bug investigation.
Total number of times a program submitted to test specialist.
Defects found at advance level that should have been caught at lower levels of testing.
Testing Task (test identifier)
Account Information
23
Page
o
TC0.. – Machine is accepting ATM Card
o
TC0.. – Machine is rejecting expired Card
o
TC0.. – Successful entry of PIN Number
o
TC0.. – Operation Failed due to enter PIN more than 3 attempts
o
TC0.. – Successful selection of account type
o
TC0.. – Failure due to invalid account type
o
TC0.. – Bank communicate properly with the bank
o
TC0.. – Concurrent access to the same account correctly
Transactions, Session & Logs o
TC0.. – System Allow multiple transactions.
o
TC0.. – Check the customer and Transaction information logged
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
o
TC0.. – Session completed correctly when the customer finish or cancel the transaction.
o
TC0.. – The system performs valid transaction for deposit correctly
Withdrawal o
TC0.. – Successful selection amount to withdraw
o
TC0.. – Successfully withdraw
o
TC0.. – Expected messages due to amount greater than day withdrawal limit
o
TC0.. – Expected message to withdraw due to selection amount greater than the account balance.
o
TC0.. – Withdrawal operation unsuccessful due to selection cancels option.
Deposit o
TC0.. – Unsuccessful withdraw due to lack of amount in the dispenser
o
TC0.. – System Accept Cash Amount entered by Customer to deposit
o
TC0.. – Depots Transaction cancels by the customer any time before the envelop insert in the slot.
o
TC0.. – Get a receipt after deposit envelope.
Checking Balance o
TC0.. – Balance check against valid account
o
TC0.. – Get receipt after the balance check
ATM Operation o
TC0.. – ATM Operator function Testing (Switch ON /OFF)
o
TC0.. – Connection between banks and ATM is established
o
TC14 – Bank connection terminated when the ATM shut down
User Interface o
TC0.. – Screens visual have proper format and text
o
TC0.. – Check Welcome screen display after insert the card
o
TC0.. – Buttons correspond to proper items on screen
o
TC0.. – Keypad entries are properly displayed
o
TC0.. – Can backspace to delete entries
Note: TC0.. (Dot denotes as the number given by the tester to complete the test specification number) 7.7
Fail & Pass Slandered The test method will completed once the initial set of stockholder have successfully sent and reassigned to the team leader to complete the failure task. In the test completion process the initial set of providers must pass the data comparison test, the application is considered live till the end of this process. All additional activations will be ready, if the stockholder is ready and their data is verified.
24
All withdraw cash tests must pass
90% of check account balance must pass.
All deposits must pass
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ 7.8
7.9
Suspension Criteria
Interface not ready on time
Software delay
Staff Unavailable, long and unexpected
Resumption Criteria The overall testing accomplished with the reasonable amounts of data, which can only be derived from actual program from the software set.
7.10
Schedule The schedule for each activity is allocated to the project. The team is required for each procedure in the project timeline and project plan. The entire team group will be handled by the project leader in conjunction with the development and test specialist.
7.11
Assessment of requirements document and initial creation of classes, sub-classes and objectives of test personnel.
Development of Master test plan for at least two reviews of plan within the time allocated.
Revised the System design document by test personnel that provide to the team with an understanding of the application structure.
Development of a System and acceptance test plans with time allocated for minimum two reviews of the plans by the test specialist and other essential personnel.
Unit test time allocation.
Allocated time for the system and acceptance test cycle.
Test Deliverables
25
Acceptance test plan
System test plan
Unit test plans / turnover documentation
Screen patterns
Report mock-ups
Defect / incident reports and summaries
Test logs and turnover reports
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
8
BLACK BOX TEST Reference No: BBT-14-01-14-1-1.0 Black box or functional testing is used to test apparently system’s functionality without knowing its inner detail, a method of test design and applicable to all levels of software testing, functional testing, integration and unit testing. Black box testing focuses on the quality of the system. These tests are reusable after making changes conform changes.
Input
Output Black Box Testing
Black box testing strategies are discussing about the functional point of view. The numbers of the following types of the tests are available.
8.1
Equivalence Partitioning
Boundary Value Analysis Based Testing
State Transition Testing
Decision tables
Error Guessing
Use case testing
Test Case Specification for ATM withdrawal System Test Case Identifier: TCI-01-01-14-1.0
8.1.1
Purpose This ATM test case based on functionality of withdrawal, all the required tests will be done without its code specification. The test recognizes its functionality based on requirements. I choose below Use-Case specification because it is reliable, easy to use and accepted widely in all the major system test requirements.
8.1.2
Test case specification identifier for the withdrawal operation Test Code
Test Case Specification
TC001
Inquiry, Balance $80
TC002
Withdraw $20 from a valid account, check with $80
TC003
Withdraw $40 from a valid account, check with $40
TC004
Withdraw $60 from a valid account, check with $40
TC005
Withdraw $20 from a valid account, check with $20
TC006
Withdraw $20 from a valid account, check with $980
TC007
Withdraw $20 from a valid account, check with $980
TC008
Withdraw $20 from a valid account, check with $0
TC009
Withdraw $200 from a valid account, check with $980
TC010
Withdraw $40 from a valid account, check with $0
TC011
Withdraw $100 from a valid account, check with $880
TC012
Withdraw $40 from a valid account, check with $840
26
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
8.1.3
TC013
Withdraw $200 from a valid account, check with $840
TC014
Withdraw $40 from a valid account, check with $800
TC015
Inquiry, Account 1 Checking
TC016
Inquiry, Account 2 Saving
TC017
Inquiry, Account 3 Money Market (Invalid Account Check)
TC018
Invalid Card with
TC019
Invalid PIN
Test items
A customer must able to withdraw from any suitable account linked to the card, in multiples of $20.00. This approval must be obtained from the bank before cash is dispensed.
A customer must check its own account; the other accounts must invalidate the transaction.
A customer required to withdraw less than or equal to its account balance.
A customer must withdraw limited amount daily.
The customer may check its balance to confirm the total account balance before the withdrawal.
Software code: Withdrawal ()
8.1.4
Input / Output or Results specifications The following below list expected to use as input in order to collect results from the ATM simulation testing. Condition: Inserted, 20 entries. TEST SPECIFICATION
INPUT
OUTPUT
Balance Enquiry
Checking
Success, Balance Enquiry: CARD# 1 TRANS# 1, TOTAL BAL: $100.00
20
WITHDRAW CARD# 1 TRANS# 2 FROM 0 NO TO $20.00, SUCCESS, Dispensed: $20.00, TOTAL BAL: $80.00
Withdraw Checking
money
From
Account
Checking 40 Checking 60 Checking
20
Eject and reenter same card
Checking Withdraw money For Account Saving
20 Saving
Withdraw Checking
27
Page
money
From
Account
20 Checking
Success, Message: WITHDRAW CARD# 1 TRANS# 3 FROM 0 NO TO $40.00, Dispensed: $40.00, TOTAL BAL: $40.00 Message: WITHDRAW CARD# 1 TRANS# 4 FROM 0 NO TO $60.00, Response: FAILURE Insufficient available balance Success, Message: WITHDRAW CARD# 1 TRANS# 5 FROM 0 NO TO $20.00, Dispensed: $20.00, TOTAL BAL: $20.00 Success, WITHDRAW CARD# 1 TRANS# 5 FROM 1 NO TO $20.00, TOTAL BAL: $980.00 Success, WITHDRAW CARD# 1 TRANS# 6 FROM 0 NO TO $20.00, TOTAL BAL: $0.00
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ Withdraw money For Account Saving
200 Saving
Eject and Reentered Card
40 Checking
Eject and Reentered Card
100 Saving
40 Saving
200 Saving
Eject and Reentered Card
40 Saving
Inquiry
Withdrawal Account Invalid Account
Message: WITHDRAW CARD# 1 TRANS# 7 FROM 1 NO TO $200.00, Response: FAILURE Daily withdrawal limit exceeded WITHDRAW CARD# 1 TRANS# 9 FROM 0 NO TO $20.00, FAILURE Insufficient available balance, TOTAL BAL: $0.00 Message: WITHDRAW CARD# 1 TRANS# 13 FROM 1 NO TO $100.00, Response: SUCCESS, Dispensed: $100.00, TOTAL BAL: $880.00 Message: WITHDRAW CARD# 1 TRANS# 15 FROM 1 NO TO $40.00, Response: SUCCESS, Dispensed: $40.00, TOTAL BAL: $840.00 Message: WITHDRAW CARD# 1 TRANS# 16 FROM 1 NO TO $200.00, Response: FAILURE Daily withdrawal limit exceeded Message: WITHDRAW CARD# 1 TRANS# 17 FROM 1 NO TO $40.00, Response: SUCCESS, Dispensed: $40.00, TOTAL BAL: $800.00
1Checking
Message: INQUIRY CARD# 1 TRANS# 18 FROM 0 NO TO NO AMOUNT, Response: SUCCESS, TOTAL BAL: $0.00
2- Saving
Message: INQUIRY CARD# 1 TRANS# 20 FROM 1 NO TO NO AMOUNT, Response: SUCCESS, TOTAL BAL: $800.00
3- Money Market
Message: WITHDRAW CARD# 1 TRANS# 21 FROM 2 NO TO $60.00, Response: FAILURE Invalid account type
Insert Invalid Card
WITHDRAW CARD# 4 TRANS# 22 FROM 0 NO TO $20.00, Response: FAILURE Invalid card
Insert Invalid PIN
WITHDRAW CARD# 1 TRANS# 23 FROM 0 NO TO $20.00 Response: INVALID PIN Retained Card
8.1.5 8.1.6
Environmental needs GetAccountBalance (), SetAccountBalance (), Withdrawal () Special procedural requirements
Convert pounds into pence
8.1.7
Inter-case dependencies
Test data load 28
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
Java runtime environment
Installation of Ellipse
8.2
Black Box Technique
The black box testing has various testing types, but as discussed, our selected Use Case test manual based on test case specification above. 8.2.1
Use Cases Testing Main Scenario
Step
Description
S: System
1
A: Insert Card
A: Actor
2
S: Ask PIN
3
A: Enter PIN
4
S: Allow Access to Account
5
S: Ask for TT with 4 Options
AT: Account Type TT: Transaction Type
1-Withdrawal 2-Deposit 3-Transfer 4-Balance 6
A: Input 4
7
S: Ask AT options 1-2-3 1-Checking 2-Saving 3-Money Market
8
A: Input 1
9
S: Display Balance and Dispatch Receipt S: Ask More Transaction (1-2) 1- Yes 2- No
8a
A: Inputs 1
5a
S: Repeat Step 5
8b
A: Input 1
10
S: Display menu withdraws with options 1-5 1-20 2-40 3-60 4-100 5-200
29
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ 12
A: chooses options and perform Transaction
13
S: 3 Transaction Failed A: Eject Card and Reentered card
5b
Step Repeat 1 to 5
8c
A: Perform Transaction for both the account
15
S: Exceed Daily Withdraw Limit
13a
A: Eject Card and Reentered card
5c
Step Repeat 1 to 5
8d
A: Perform Transaction for both the account
15a
S: Exceed Daily Withdraw Limit
16
A: inquiry for both Account A: Access Invalid account
17
S: Invalid Account
9a
S: Ask More Transaction (1-2) 1- Yes 2- No
18
A: Input 2
19
S: Eject Card
1a
Insert Card
5d
S: Ask More Transaction (1-2) 1- Yes 2- No
8e
A: Input 1
7a
S: Ask AT options 1-2-3 1-Checking 2-Saving 3-Money Market
20
S: Invalid Card S: Wait For Another Transaction
21
Repeat Step 1-7 S: Invalid PIN S: Message and ask Reenter PIN
21a
S: Invalid 3 times S: Retained Card
30
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ 8.3
8.4
Identify Specific Errors
The invalid card confirmation notified when a customer entered selected amount into the withdrawal procedure. In real ATM system, the invalid card recognition detects after the PIN entered by the customer and in response the card eject by the system immediately.
Invalid PIN verified after the customer entered account type which is not normal. The Invalid PIN has to reject in the beginning. The ATM simulation asks unnecessary inputs and message to the customer after 7 steps performed by the customer.
The Timeout function hasn't been used in the system, the ATM machine has no time limit to cancel the session during the transaction process, as a result the ATM, wait for unlimited time, even it stays remain more than the limits unless customer respond the next transaction or hit cancel transition option. Results:
The test specification enclosed almost all the requirement for the withdrawal system. In our test I created charts and filled one by one all our results in response during our tests. As above I discussed many weaknesses in the simulation that are showing unexpected results, but on the other hand it was responding accurately for the major requirement.
31
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
8.4.1 JUnit Test Case For Money.Java Reference No: JUT-14-01-14-1-1.1 8.5
Money.java Testing Coding: package nas.atmtest; import static org.junit.Assert.*; import banking.*; import org.junit.Test;
public class ATMMoneyTest { public boolean bl; public String str; public Money mn,availBal,totBal,money,result; public Balances bal; @Test
public void TestMoney()throws Exception {
availBal =new Money(80); totBal=new Money(80);
//copy constructor
bal=new Balances(); bal.setBalances(availBal, totBal); mn=new Money(availBal); mn.getClass(); mn.hashCode(); if (mn.lessEqual(availBal) && mn.lessEqual(totBal)) {
money=new Money(20); //constructor cent and dollar part result =new Money(60); mn.subtract(money); assertEquals( "Result",result.toString(),mn.toString()); } { money=new Money(20,12); //constructor dollar result =new Money(80,12); mn.add(money); assertEquals( "Result",result.toString(),mn.toString());
32
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ }
} } 8.5.1
Result: I compared the automatically generated result of the system from the Money type object and the result generated manually in the coding and the result was matching. The Result found 100% accepted without failure and error. The following attached screenshot for the result.
8.6
Message Testing Coding
package nas.atmtest;
import static org.junit.Assert.*; import banking.*; import org.junit.Test; public class ATMMessageTest { private
boolean bl;
private
String str;
private Integer int1,int2,int3,int4,int5; public Money mon,mn;
33
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ Card crd,getcrd; Message msg ; @Test public void testMessage()throws Exception { Money money=new Money(20) ; mon=new Money(money); crd= new Card(1); msg =new Message(0, crd, 42, 1, 1, 0,money); bl=msg.equals(money); int1=msg.getFromAccount(); int2=msg.getPIN(); int3=msg.getToAccount(); mon=msg.getAmount(); msg.equals(money); getcrd=msg.getCard();
//not responding
msg.setPIN(0); int4=msg.getSerialNumber(); int5=msg.getMessageCode(); str=""; switch (msg.getMessageCode()) { case 0: msg =new Message(0, crd, 42, 1, 1, 0,money); //str += "WITHDRAW"; case 1: msg =new Message(1, crd, 42, 1, 1, 0,money); //str += "INIT_DEP"; case 2: msg =new Message(2, crd, 42, 1, 1, 0,money); // str += "COMP_DEP"; case 3: msg =new Message(3, crd, 42, 1, 1, 0,money); //str += "TRANSFER"; case 4: msg =new Message(4, crd, 42, 1, 1, 0,money); str += "INQUIRY "; } str += " CARD# " + crd.getNumber(); str += " TRANS# " + int4; if (int1>=0) str += " FROM
34
Page
" + int1;
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ else str += " NO FROM"; if (int3 >= 0) str += " TO
" + int3;
else str += " NO TO"; if (! mon.lessEqual(new Money(0))) str += " " + money; else str += " NO AMOUNT"; assertEquals("Result",msg.toString(),str); } }
8.6.1
Result:
Successful result found in the Message testing using assertEquals function, following are the result short screen.
9
CODE COVERAGE
For the code coverage we used EclEmma for the Eclipse tool. Code coverage is a white box testing procedure that requires knowledge to access the code rather than simply using the interface. Code coverage, perhaps most useful during the module testing phase, though it has also benefited during integration testing, but depends absolutely on how and what you are testing. 9.1
Classes for the Test:
Message.java 35
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ 9.2
9.3
Money.java Created Test Classes:
ATMMoneyTest.java
ATMMessageTest.java Result:
Here we run the ATMMoneyTest.java test in code coverage and found 100% coverage. I found that lexical function has not coverage, 100% due to the function coding itself, showing errors in the Money.java class as below can be viewed on the screen shortly
36
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
9.4
The Message Test Coverage:
In the Message coverage we spend maximum time and changed many codes, finally we decided the final coding with a maximum 89 %. The Message just chooses the message card for the Message parameters and accordingly displays messages. The percentage coverage is not 100% because of conditions, these conditions are based on the requirement and it would not possible to satisfy all in one.
37
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
10 FORMAL TESTING METHODCORN Reference No: FTM-14-01-14-1-1.0 In software development system the validation and verification recognized as vital activities and testing plays an important role for these two. They are valuable and use in early stage in the development process, error finding during the specification and design fees are much cheaper than later in the development process. The formal methods included any activities that are based on mathematical representations of software and dependent on formal specification. Formal methods can use at every stage of the system development process which helps to write a precise specification of the system, using verification of the specification reliability and implementation satisfied its specification. Formal = mathematical Methods = structure approach, strategy Using mathematics in a structured way to analysis and describe a problem 10.1 Promise of Formal Method Every aspect has its advantages and disadvantages, these two marks can find in the various technologies. Likewise Formal method has the same attitude of advantages and disadvantages. Moreover a formal method has the following promises, but keeping the following weakness:
It discovers ambiguity, incompleteness, and inconsistency in the software.
Offers defect-free software, which may have cost effective.
Incrementally grows ineffective solution after each iteration
This model does not involve high complexity rate.
Formal specification language semantics verify self-consistency.
Its Weakness
Time consuming and expensive
Difficult to use this model as a communication mechanism for non-technical personnel
Extensive training is required since only a few developers have the essential knowledge to implement this model; those have mastered in the mathematical approach.
10.2 Categories of Formal methods
Abstract State Machines - The Abstract State Machine (ASM) thesis implies that any algorithm can be modeled by an appropriate ASM.
B-Method - method for the development of program code from a specification in the Abstract Machine Notation.
Z – A specification language used for describing computer-based systems; based set theory and first order predicate logic
Unified Modeling Language (UML) provides system architects with one consistent language for specifying, visualizing, constructing, and documenting the artifacts of software systems.
38
o
Visual notation for OO modeling
o
Extensible
o
Independent of programming languages
o
The formal basis for understanding the modeling language
Others types include:
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ o
Community
o
Estelle
o
Esterel
o
Lotus
o
Overture Modeling Language
o
Petri Nets
o
RAISE
o
SDL
o
TRIO, Unity, and VDM
o
Any programming language
10.3 Proposed Method for the Testing Based on above study, we would propose Unified Modeling Language for the ATM PIN testing. This approach is new in the technology with its various qualities, such as it is easy to understand and implement; moreover eliminate the complexity by using Java behavior. Due to its natural supportive design, the Unified language allowing specifications to be written in the form of preconditions, post conditions, class invariants, and an abstract model of an object’s state. The main contribution of JML-Unit testing is to eliminate the writing codes that decide the success and failure of the testing on hand. Moreover the JML-Unit detects a test failure when a post condition is violated after the method under test is called, or when a precondition violation occurs during execution of the method. The test will be meaningless if the test violated in the precondition before execution, but JML tell us whether the method is behaving correctly or not timely. Furthermore JML Unit provided the reusability that relaxing more writing and giving abstract and robust method to test. JML Is Java + FO Logic + pre/post-conditions, invariants + more. . .
The other most important reason to select this technique is to escape from the high cost estimation and extra resources. As we have Java specialist in the team to understand the language during the development process, test group can utilize his expertise in finding the bugs even during coding. In this way we can gather the various ideas and include other team members to find the bugs that help the tester with elimination of errors during implementation.
Formal Specification Methods
Formal
Formal
Formal
Proofs
Checking
Abstraction
Specifications
10.4 Very informal Specification of enterPIN (int pin) Enter the PIN that belongs to the current bank card inserted into the ATM Card reader. If a wrong PIN is entered three times in a row, the card retained. The customer is considered as authenticated user from the bank, only after entering a valid PIN number by the customer.
39
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ 10.5 Method Proposed The proposed method below is an essential requirement for the PIN testing based on the requirement specification for the ATM system. It could more refine and more precise if considered to be implemented. @ public normalBehavior @ requires insertCard != null; @ requires !UserAuthenticated; @ requires PIN!= insertCard.ValidPIN; @ requires wrongPINCounter >= 2; @ ensures insertCard == null; @ ensures \old(insertCard).invalid; @ ensures UserAuthenticated == \old(UserAuthenticated); @ ensures wrongPINCounter == \old(wrongPINCounter); @*/ public void enterPIN (int PIN) {}
In precondition: preconditions are boolean JAVA expressions o
Marked by requires
o
!UserAuthenticated
o
pin == insertCard.correctPIN
o
wrongPINCounter >= 2;
In post condition: is boolean JAVA expressions Specification case has two post condition (marked by ensures)
o
\old(insertCard).invalid
o
Ensures UserAuthenticated == \old(UserAuthenticated)
o
Ensures wrongPINCounter == \old(wrongPINCounter);
o
insertdCard == null
Normal behavior Specification Case o
40
Page
The method guaranteed not to trigger any exception
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
11 CRITICAL ANALYSIS SUMMERY AND DISCUSSION 11.1 Task 5: The Black box testing has a great experience. Testing obvious a great challenge and precise of the specialists. We study the material and understand the technique, then moved on the various techniques for the Black Box Testing for the withdrawal operation. The followings are the explanations to choose Use Case: Equivalent Partitioning: The technique is to derive the subsets from main sets. The drawback of this technique is that the negative bounding values could not be exercised. It is sometimes difficult to identify and partition classes that contain values which will uncover defects downstream in a complex network of interrelated path. Boundary Value Analysis: The Technique is used for finding the error in the boundary area. Because there is a chance the developer missed out. The main disadvantage of the BVA is Programs with too many types of inputs. It cannot test all combinations of inputs and therefore cannot identify problems resulting from unexpected relationships between input types. State Transition Testing: Their biggest limitation is that they are not good at describing behavior that involved several objects. In these cases use an interaction diagram or an activity diagram. Decision tables: Decision tables do not scale up well. We need to "factor" large tables into smaller ones to remove redundancy. Error Guessing: There are no specific tools and techniques for this, but we can write test cases depending on the situation which are documented requirements and also those requirements that are not documented. So this technique not suitable for the large network testing where assumptions and guessing may fail. Use case testing: The purpose of this kind of testing is to check the apparent requirements of functional specifications. Because the ATM simulation system based on functional and nonfunctional requirements and the Use case reference to the source of information used in test case designing, without caring its functional or nonfunctional program attributes. The Use case helps to identify the test case that implemented on the whole transaction from start to end and reaches to the end user requirement and stakeholder. Functional specification=description of intended behavior (Formal or informal) The black box testing has various testing types, but we have to select Use Case testing that suitable for the withdrawal function. Looking back to the requirement for the withdrawal function and finding all the minor or major test condition is challenging. The test has covered all the best possible expectations. We found the Use case that describes the process flow by using actors, not using system, based on its most likely use that needs only functional approach for the withdrawal system. The withdrawal system in ATM system is the most important and major activity having lot functional requirements, therefore use case will help to identify the minor or major missing approaches. Test Experience In the first section that required writing a test case specification based on IEEE slandered. We started with the requirements and created the test case specification identifiers for each test case that recognize throughout the development period. We created an expected test items list that reflects the requirement of the system. The specification discussed various related leafs in this specification that help to understand the specification in detail. Although we noticed it is time consuming, but overall an easy exercise, having understandable language, a step by step procedure. During our testing with the withdrawal function, we received messages like ‘no more cash’ for the day, but once we ejected and reinserted the card than we found expected results. We guess this might be unavailability of the database and the process of re-initialization of the values. We started with the balance inquiry to make sure we have enough amount and then accordingly we tested, the test went through all its valid accounts, tested up to zero. Some blunt and abruptly testing done to check the functionality and found expected results like withdraw greater amount, withdraw even no amount available, withdraw from invalid account, withdraw the highest amount even this amount available in the account, withdrawal limits for the day etc. In the Use case, manual testing, We tested withdrawal and found expected results based on testing specification. As our analysis the Use case testing covered apparent withdrawal functionality without knowing its inner detail. 41
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ The Use Case it is very easy to use that using common language without caring typical inner coding that could be understandable by anyone or ATM stockholder even, as a result the withdrawal functional defects or hidden requirements can be found easily by this testing and stockholder will verify. 11.2 Task 6: We selected Ellipses for the JUnit Testing. We created the environment in the Ellipse and write 2 test codes using separate folder advised in the LAB. These test codes are dedicated to the respective classes, called each function in the test code and run the test environment successfully. During our testing, we found that few functions are not responding and throwing errors whenever calling them, but the rest of the functions called and responded properly. The Message class has many multiple calls from one construction. This construction works for all other messages such as withdraw, deposit, balance and other messages too. This Message class has many functions to test that required to get the various values passed in the constructor. For example getCard(), getPIN() etc. We used a switch statement for the various construction calls for the different requirement. Finally, we tested result in the assurtEquals () function. For the expected result, we disable few coding, if you noticed, but this will not affect the testing because the purpose of testing to test all the function working as per requirement. Similar purposely we haven’t used break statement in each case because we want to move cursor in each case to hit all the transactions. We found sometime Message functions are not responding, but sometimes responding well. We called other class objects to pass the parameter in the message construction like Card class. We have tried to create the test environment, but bound with some partially completed functions such as notifying and wait, truly they are not required as such, but they are inherited functions in the Money.java class, as a result we tested all the functions declared in the Money.java. The result throws no error and found none of any other failure. The test went through logics to test the requirements of the system. The main intention of the test plan was to test withdrawal and deposit of an amount. These two functions are entirely different process required different environment. The Money.java class has three constructors, one is for withdrawal and second is for the deposit amount, last is to copy constructors. We called all constructors in order to test them. To start, we called other class operations i.e. balance to set the total and available balance to the environment, although it is not required but we tried to neutralize our test environment. So the coding started with calling packages, declaration and initialization of the object. The avialableBal and Total Balance is a Money type that set the initial amount in the balance class also these objects comparing the amount availability before withdrawal amount. If the lessEqual() function return true that means the available balance and total balance greater than the withdrawal amount, then the subtraction function will activate for the withdrawal.we declared result object ‘Money’ type to check the expected result in the assertEqual function which required both the parameter object type as same. Last we called mn.subtract(money) function to subtract the given amount and tested expected result in the assertEqual function. To test the add() function not required any condition to check, but required the constructor for dollar and cent as per requirement stated that deposit money essentially calculates the cents procedure for the test, therefore simply called this function with the given expected result. In the code coverage we used EclEmma tools, experienced an easy to install and adoptable. When we run coverage code we found the best results more than 88% to 100% presently. The coverage actually indicates your coding perfection. When we used code coverage, we realized that we are missing coding and this realization helped me to do the correction in our test coding, and covered almost functions. 11.3 Task 7: The formal technique based on mathematics and formal logic, a foundation of most descriptions of complex systems. It defines external behavior without describing implementation using logical and structural division. The formal technique identified undocumented or unexpected assumptions and clarify the in the high level designs. On the other hand the PIN verification system in the ATM is a critical approach that must satisfy the bank requirement authentication. This Pin verification must accurate and exact in its approach, therefore the formal method will identify the unexpected bugs in the PIN verification process. We selected JML Unit testing for the PIN verification that generated automatically JUnit test case. We do not require much experience in Java, and this tool cooperated in general and creates the formal method for the testing. This method is based on mathematical approach that exactly works on the critical issues. Our preference for JML Unit formal method for the PIN will provide the unexpected approach towards finding error and bugs in pre and post condition, the detection of unclear and hidden bugs for such a complex system would help to build a bug free 42
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________ and secured system. Although this method has a precondition for selecting test inputs and post conditions provides the properties to check the test results approach will identify the bugs in the PIN function. In the proposed section we created the PIN test code to give a better idea in the selection.
43
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
APPENDIX A - GLOSSERY
Coley Consulting (2009) IEEE 829 Documentation. http://www.coleyconsulting.co.uk/IEEE829.htm.
IEEE Xplore (2009) IEEE 829-1988 Standard for Software Test Documentation. http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?tp=&isnumber=16010&arnumber=741968&punumber=5976
Software Engineering Technical Committee of the IEEE Computer Society, USA (1998) IEEE 829-1988 Standard for Software Test Documentation. 0-7381-1443-X
The course slides consider as references through the report.
Software Engineering using Formal Methods Java Modeling Language by Wolfgang Ahrendt, Moa Johansson acceptance criteria
Acceptance testing - Formal testing conducted to determine whether or not a system satisfies its acceptance criteria and to enable the customer to determine whether or not to accept the system. [IEEE-STD-610], Taxonomy-Based Risk Identification Marvin J. Carr
Project Cost Estimating Manual Fifth Edition March 2012
44
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
APPENDIX- B
Organization Chart (General Description)
45
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
A Finance Director
XYZ International Banking & Finance Services Group
B Deputy Director C Project Leader XYZ Management Team
A Requirement Analyst
Software Architect and Designer
B Requirement Analyst
A Front End ATM Designers and Programmers
F Front End ATM Designers and Programmers
C Requirement Analyst
B Front End ATM Designers and Programmers
G Front End ATM Designers and Programmers
D Requirement Analyst
C Front End ATM Designers and Programmers
H Front End ATM Designers and Programmers
D Front End ATM Designers and Programmers
I Front End ATM Designers and Programmers
E Front End ATM Designers and Programmers
J Front End ATM Designers and Programmers
Development Team
46
Page
A Software Testers
A Document Writer
B Software Testers
B Document Writer
A Training & Installation Specialist B Training & Installation Specialist
Business Analysts
Communication Expert
DB2 Expert
Security Specialist
Database Specialist
Java Programmer
Client / Server Interface Developer
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
APPENDIX- C
Work break down Structure
47
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
48
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
49
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
50
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
51
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
52
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
53
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
54
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
Project Planner in MS Project 2010 Sta rt Sla ck Lat e Fini sh
Lat e Sta rt
Earl y Fini sh
Earl y Sta rt
Cos t
Res our ce Gro up
Res our ce Na me s Pre dec ess ors
Page
Fini sh
Sta rt
Dur ati on
Tas k Na me
55
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
XYZ ATM System
0 days
Mon 12/9/13
Mon 12/9/13
£0.00
Mon 12/9/13
Mon 12/9/13
Wed 10/8/14
Wed 10/8/14
217 days
Requirement Analysis
64 days
Mon 12/9/13
Thu 3/6/14
£540,800.00
Mon 12/9/13
Thu 3/6/14
Mon 12/9/13
Wed 3/12/14
0 days
Develop System Architecture
20 days
Mon 12/9/13
Fri 1/3/14
Requirement Analysts-1
Requirement Analysts
£64,000.00
Mon 12/9/13
Fri 1/3/14
Mon 12/9/13
Fri 1/3/14
0 days
12 days
Mon 12/9/13
Tue 12/24/13
Communication Expert[200%]
Communications Expert
£76,800.00
Mon 12/9/13
Tue 12/24/13
Fri 1/3/14
Mon 1/20/14
19 days
Define & Develop Software Requirements
14 days
Mon 12/9/13
Thu 12/26/13
Requirement Analysts-4
Requirement Analysts
£44,800.00
Mon 12/9/13
Thu 12/26/13
Tue 1/14/14
Fri 1/31/14
26 days
Define Interface Requirement
14 days
Fri 12/27/13
Wed 1/15/14
5
Business Analyst,DB2 Expert
Business Analyst,DB2 Expert
£89,600.00
Fri 12/27/13
Wed 1/15/14
Mon 2/3/14
Thu 2/20/14
26 days
Prioritize and Integrate Requirements
11 days
Wed 12/25/13
Wed 1/8/14
4
Requirement Analysts-3
Requirement Analysts
£35,200.00
Wed 12/25/13
Wed 1/8/14
Tue 1/21/14
Tue 2/4/14
19 days
System Security Analysis
22 days
Mon 1/6/14
Tue 2/4/14
3
Security Specialist
Security Specialist
£70,400.00
Mon 1/6/14
Tue 2/4/14
Mon 1/6/14
Tue 2/4/14
0 days
Software Quality & Risk Analysis
14 days
Thu 1/16/14
Tue 2/4/14
6
Project Leader, Requirement Analysts-1
Management, Requirement Analysts
£89,600.00
Thu 1/16/14
Tue 2/4/14
Fri 2/21/14
Wed 3/12/14
26 days
Create Software Requirements Specification Report(SRS)
22 days
Wed 2/5/14
Thu 3/6/14
7,8
Requirement Analysts-2
Requirement Analysts
£70,400.00
Wed 2/5/14
Thu 3/6/14
Wed 2/5/14
Thu 3/6/14
0 days
System Designing
67 days
Wed 2/5/14
Thu 5/8/14
£339,200.00
Wed 2/5/14
Thu 5/8/14
Fri 3/7/14
Thu 5/8/14
22 days
Perform Architectural Designing
21 days
Wed 2/5/14
Wed 3/5/14
9
Software Architect-1
Front End ATM as Designers
£67,200.00
Wed 2/5/14
Wed 3/5/14
Thu 3/13/14
Thu 4/10/14
26 days
Design Interfaces
21 days
Fri 3/7/14
Fri 4/4/14
10
Software Architect-2
Front End ATM as Designers
£67,200.00
Fri 3/7/14
Fri 4/4/14
Fri 3/7/14
Fri 4/4/14
0 days
Develop
12
Thu 3/6/14
Fri 3/21/14
12
Software
Front End ATM
£38,400.00
Thu 3/6/14
Fri 3/21/14
Fri 4/11/14
Mon
26
Interview
56
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
Algorithm
days
Architect-3
as Designers
13
Software Architect-3
Front End ATM as Designers
12 days
Mon 4/7/14
Tue 4/22/14
Perform Detailed Design
8 days
Mon 3/24/14
Wed 4/2/14
14
Software Architect4,Software Architect-1
Create Software Design Specification
24 days
Mon 4/7/14
Thu 5/8/14
13
Software Architect-2
Coding
47 days
Fri 5/9/14
Mon 7/14/14
Create Test Data
19 days
Fri 5/9/14
Wed 6/4/14
Design Test Cases
Create Source Code
19 days
Fri 5/9/14
Wed 6/4/14
£38,400.00
Mon 4/7/14
Tue 4/22/14
Wed 4/23/14
Thu 5/8/14
12 days
Front End ATM as Designers
£51,200.00
Mon 3/24/14
Wed 4/2/14
Tue 4/29/14
Thu 5/8/14
26 days
Front End ATM as Designers
£76,800.00
Mon 4/7/14
Thu 5/8/14
Mon 4/7/14
Thu 5/8/14
0 days
£518,400.00
Fri 5/9/14
Mon 7/14/14
Fri 5/9/14
Mon 7/14/14
0 days
Database Specialist
Database Specialist
£60,800.00
Fri 5/9/14
Wed 6/4/14
Mon 5/26/14
Thu 6/19/14
11 days
17
Front-End Designer & Programmer5-6,FrontEnd Designer & Programmer5
Front End ATM as Designers
£121,600.00
Fri 5/9/14
Wed 6/4/14
Mon 5/26/14
Thu 6/19/14
11 days
OOPS,Front End ATM as Designers
£192,000.00
Fri 5/9/14
Thu 6/19/14
Fri 5/9/14
Thu 6/19/14
0 days
Front End ATM as
£22,400.00
Fri 6/20/14
Mon 6/30/14
Fri 6/20/14
Mon 6/30/14
0 days
Generate Object Code
30 days
Fri 5/9/14
Thu 6/19/14
15,17,16
Plan Integration
7 days
Fri 6/20/14
Mon 6/30/14
20,21,19
Front-End Designer &
Page
days
17
Java Programmer, Front-End Designer & Programmer5-7
57
4/28/14
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
Programmer5-8
Perform integration
9 days
Tue 7/1/14
Fri 7/11/14
Designers
22
Front-End Designer & Programmer5-9,Java Programmer
Front End ATM as Designers, OOPS
£57,600.00
Tue 7/1/14
Fri 7/11/14
Wed 7/2/14
Mon 7/14/14
1 day
22
Front-End Designer & Programmer5-10,FrontEnd Designer & Programmer5
Front End ATM as Designers
£64,000.00
Tue 7/1/14
Mon 7/14/14
Tue 7/1/14
Mon 7/14/14
0 days
£278,400.00
Tue 7/15/14
Mon 10/6/14
Tue 7/15/14
Mon 10/6/14
0 days
Document Program Model
10 days
Tue 7/1/14
Mon 7/14/14
Testing
60 days
Tue 7/15/14
Mon 10/6/14
Develop Test Requirement
24 days
Tue 7/15/14
Fri 8/15/14
24,23
Software Testers-1
Software Testers
£76,800.00
Tue 7/15/14
Fri 8/15/14
Tue 7/15/14
Fri 8/15/14
0 days
Unit Testing
14 days
Mon 8/18/14
Thu 9/4/14
26
Software Testers-2
Software Testers
£44,800.00
Mon 8/18/14
Thu 9/4/14
Fri 8/29/14
Wed 9/17/14
9 days
Component Testing
22 days
Mon 8/18/14
Tue 9/16/14
26
Software Testers-1
Software Testers
£70,400.00
Mon 8/18/14
Tue 9/16/14
Mon 8/18/14
Tue 9/16/14
0 days
System Testing
13 days
Fri 9/5/14
Tue 9/23/14
27
Software Testers-2
Software Testers
£41,600.00
Fri 9/5/14
Tue 9/23/14
Thu 9/18/14
Mon 10/6/14
9 days
Provide Feedback to Programmers
14 days
Wed 9/17/14
Mon 10/6/14
28
Software Testers-1
Software Testers
£44,800.00
Wed 9/17/14
Mon 10/6/14
Wed 9/17/14
Mon 10/6/14
0 days
Operation & Maintenance
50 days
Tue 10/7/14
Mon 12/15/14
£307,200.00
Tue 10/7/14
Mon 12/15/14
Tue 10/7/14
Mon 12/15/14
0 days
58
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
Final checks and verification
28 days
Tue 10/7/14
Thu 11/13/14
£89,600.00
Tue 10/7/14
Thu 11/13/14
Tue 10/7/14
Thu 11/13/14
0 days
£108,800.00
Tue 10/7/14
Wed 10/29/14
Fri 10/31/14
Mon 11/24/14
18 days
Training and Installation Specialists.
£25,600.00
Tue 10/7/14
Thu 10/16/14
Thu 11/13/14
Mon 11/24/14
27 days
30,29
Project Leader
Management
30
Document Writer1,Document Writer-2
Document Writers
17 days
Tue 10/7/14
Wed 10/29/14
Training
8 days
Tue 10/7/14
Thu 10/16/14
30
Training & Installation Specialists1[0%]
Distribute Software
5 days
Fri 11/14/14
Thu 11/20/14
32,33,34
Training & Installation Specialists-2
Training and Installation Specialists.
£16,000.00
Fri 11/14/14
Thu 11/20/14
Tue 11/25/14
Mon 12/1/14
7 days
Install Software
12 days
Fri 11/14/14
Mon 12/1/14
32
Training & Installation Specialists-1
Training and Installation Specialists.
£38,400.00
Fri 11/14/14
Mon 12/1/14
Fri 11/14/14
Mon 12/1/14
0 days
Perform Adaptive Maintenance
9 days
Tue 12/2/14
Fri 12/12/14
36,35
Training & Installation Specialists-2
Training and Installation Specialists.
£28,800.00
Tue 12/2/14
Fri 12/12/14
Tue 12/2/14
Fri 12/12/14
0 days
Perform Preventative Maintenance
1 day
Mon 12/15/14
Mon 12/15/14
37
£0.00
Mon 12/15/14
Mon 12/15/14
Mon 12/15/14
Mon 12/15/14
0 days
Finish Task
0 days
Mon 12/15/14
Mon 12/15/14
38
£0.00
Mon 12/15/14
Mon 12/15/14
Mon 12/15/14
Mon 12/15/14
0 days
Documentation & User Manual
59
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
Tracking Gantt chart
60
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
61
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
62
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
Resource Usage
63
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
64
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
65
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
66
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
67
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
68
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
69
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
70
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
71
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
72
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
73
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
74
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
75
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
76
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
77
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
78
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
79
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
80
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
81
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
82
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
Bufget Cost Report
83
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
84
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
85
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
86
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
87
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
88
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
89
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
90
Page
Automation Teller Machine (XYZ-ATM) ______________________________________________________________________________________
91
Page