39
Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on 27/11/07 Automated Banking Machine for MacBank Inc. SFWR 3M04 McMaster University Department of Electrical and Computer Engineering 1

Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

Embed Size (px)

DESCRIPTION

Automated Banking Machine for MacBank Inc. SFWR 3M04 McMaster University Department of Electrical and Computer Engineering. Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on 27/11/07. OUTLINE. Introduction Request for proposal (RFP) - PowerPoint PPT Presentation

Citation preview

Page 1: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

Presented by

Khaled Chebaro, Yaser Jafar, Orin Pereira

KYO Engineering Consultants Inc.on

27/11/07

Automated Banking Machine

for

MacBank Inc.

SFWR 3M04 McMaster University

Department of Electrical and Computer Engineering

1

Page 2: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

• Introduction• Request for proposal (RFP)• Software Requirement Specification (SRS)• Software Design Specification (SDS)• Refinement of SDS to low-level design• Implementation of the ABM system using JAVA• Demo of the ABM system• Lessons Learned

2McMaster University - Software Engineering 3M04

Page 3: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

INTRODUCTION

3McMaster University - Software Engineering 3M04

Page 4: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

Software Engineering

It is an application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.

• Knowledge• Tools• Methods

4McMaster University - Software Engineering 3M04

• Software Requirements

• Performing Software Design

• Software Construction

• Software testing

• Software Maintenance Tasks.

Page 5: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

Importance of Software Engineering Discipline• Found in products and situations where very high

reliability is expected• Under demanding conditions,

- Monitoring and Controlling of power plants

- Keeping a modern aircraft in the air

5McMaster University - Software Engineering 3M04

Page 6: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

Software Life Cycle Process

Refers to the activities that are used for a software product:-

6McMaster University - Software Engineering 3M04

Requirements Gathering &

Analysis

Architecture Design &

Specification

Coding &

Testing

Delivery and Deployment

Maintenance and Evolution

Retirement

Page 7: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

Spiral Model

7McMaster University - Software Engineering 3M04

The spiral model is a development method used in information technology .

It combines the features of the prototyping model and the waterfall model.

The spiral model is intended for large, expensive, and complicated projects.

Page 8: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

REQUEST FOR PROPOSAL

(RFP)

8McMaster University - Software Engineering 3M04

Page 9: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

9McMaster University - Software Engineering 3M04

Constraints obtained from Request for Proposal (RFP)

• GUI must be user friendly.

• Switch to standby mode for maintenance

• Notify Bank Staff when cash is less than $10,000

• Disable user account after three incorrect PIN entries

• Insertion of the Bank card / entry of the card # is required to use the

banking facility

• Withdrawal limit = $500 per day

• Deposits have no limits and can be in the form of cash or cheques

Page 10: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

10McMaster University - Software Engineering 3M04

Types of accounts are:

• Chequing Account

• Savings Account

• Line of Credit

• Credit Card Account

Banking Activities include:

• Withdrawing Money

• Depositing Money

• Transferring Money

between different Accounts

• Paying Bills

Page 11: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

SOFTWARE REQUIREMENT SPECIFICATION

(SRS)

11McMaster University - Software Engineering 3M04

Page 12: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

12McMaster University - Software Engineering 3M04

Software Requirement Specification (SRS)

• Simplified Version of the IEEE

• A complete description of the behaviour of the system to be developed

• Includes the external Interfaces and functional specifications for every component

Page 13: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

13McMaster University - Software Engineering 3M04

Hardware Used:

• Magnetic stripe Card Reader

• Customer Console (Display &

Keyboard)

• Envelope Depositing Slot

• Cash Counter and dispenser

• Statement Printer

• Safe

• A key-operated switch for system

Start-Up/Shutdown

Page 14: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

14McMaster University - Software Engineering 3M04

Safety and Security

• Receipt must provide relevant information

• Three Incorrect PIN entries deactivates the user account.

• PIN appears as stars on the screen when entered

• Maximum Withdrawal of $500 per day is allowed from

any account

Page 15: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

15McMaster University - Software Engineering 3M04

UML

It is a modeling language that includes a graphical notation used to create an abstract model of a system, referred to as a UM model.

Page 16: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

16McMaster University - Software Engineering 3M04

Software Quality Attributes

• Usability: User friendly

• Reliability: Improper usage shouldn’t crash the program

• Maintainability: Well documented for other users to modify

• Interoperability: Synchronization with external bank system

• Portability: The source code should be executable in different

versions of operating system

Page 17: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

SOFTWARE DESIGN SPECIFICATION

(SDS)

17McMaster University - Software Engineering 3M04

Page 18: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

18McMaster University - Software Engineering 3M04

Software Design Specification (SDS)

• A high-level design document

• Includes the external interfaces and functional specifications for

every component

• Complete set of scenarios that covers all the components' external

functions

• Specifies the logic and structure of the main system program

Page 19: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

19McMaster University - Software Engineering 3M04

System Overview

Page 20: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

20McMaster University - Software Engineering 3M04

Component Diagram

Depicts how a software system is split up into physical

components and shows the dependencies among

these components.

Page 21: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

21McMaster University - Software Engineering 3M04

Page 22: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

22McMaster University - Software Engineering 3M04

State Chart

• Used to graphically represent finite state machines

• State transition tables are another possible

representation

Page 23: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

LOW LEVEL DESIGN of SDS

23McMaster University - Software Engineering 3M04

Page 24: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

24McMaster University - Software Engineering 3M04

Page 25: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

25McMaster University - Software Engineering 3M04

Page 26: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

26McMaster University - Software Engineering 3M04

Page 27: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

IMPLEMENTATION USING JAVA

27McMaster University - Software Engineering 3M04

Page 28: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

28McMaster University - Software Engineering 3M04

JAVA

• Programming Language developed by

Sun Microsystems.

• Object - Oriented Program (OOP)

• Can run on any Java virtual machine (JVM) regardless

of computer architecture

• NetBeans IDE 5.5.1 used in development of Java

desktop applications, and an integrated

development environment (IDE)

Page 29: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

29McMaster University - Software Engineering 3M04

Data File Structure

• AddCustomer cardNumber pinNumber

• AddAccount cardNumber accountType accountNumber

Account types are: 0=Chequing 1=Savings 2=Line of Credit 3=Credit Card

• AddCheque cardNumber account amount

• AddCash cardNumber account amount

• BlockAccount cardNumber

Page 30: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

30McMaster University - Software Engineering 3M04

Data Structure Array

• Structure used to store relevant information for each customer

• It is a field in the database class

Page 31: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

31McMaster University - Software Engineering 3M04

Page 32: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

32McMaster University - Software Engineering 3M04

Page 33: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

33McMaster University - Software Engineering 3M04

Page 34: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

DEMO

34McMaster University - Software Engineering 3M04

Page 35: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

LESSONS LEARNT

35McMaster University - Software Engineering 3M04

Page 36: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

36McMaster University - Software Engineering 3M04

Encompasses

Page 37: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

37McMaster University - Software Engineering 3M04

Learnt to prepare documents using the IEEE standards

Able to recognize various diagrams such as UML, State

Charts

Documentation of source code

Improve Programming skills

Enhanced Leadership qualities

Team spirit

Time Management

Organization skills

Presentation skills

Page 38: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

QUESTIONS ?

38McMaster University - Software Engineering 3M04

Page 39: Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on

THANK YOU

39McMaster University - Software Engineering 3M04