Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on 27/11/07 Automated Banking Machine for MacBank Inc. SFWR 3M04.

Slides:



Advertisements
Similar presentations
GCSE ICT By the end of this session, you will be able to: Explain main features of ATM machines Identify features of credit cards, debit cards, smart cards.
Advertisements

Presented by Group: 110: Byron Sinclair, Jacob Alexander, and Manmeet Singh.
Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Overview Traditional systems development life cycle (SDLC)
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 3 - Software Systems and Requirements.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Requirement Analysis and Specification Mr. Manoj Kumar Kar.
Software Requirements Engineering
Ch 12: Object-Oriented Analysis
Lecture 8 Electronic Commerce Modelling Techniques
Information System Design IT60105 Lecture 3 System Requirement Specification.
Chapter 12 ATM Case Study, Part 1: Object-Oriented Design with the UML
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
Chapter 1 Introduction to Object- Oriented Programming and Problem Solving.
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Chapter 6– Artifacts of the process
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Pre-Project Activities Text Chapters 5 and 6. Pre-Project Activities 1.Contract Review 2.Development Plan 3.Quality Plan.
From Problem Statement to Design
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
CSI315 Web Applications and Technology Overview of Systems Development (342)
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 The requirements engineering process.
Introduction to Software Engineering
Summary Data Modeling SDLC What is Data Modeling Application Audience and Services Entities Attributes Relationships Entity Relationship Diagrams Conceptual,Logical.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Software Requirements Engineering CSE 305 Lecture-2.
Chapter 10 Information Systems Analysis and Design
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Faculty of Computer & Information Software Engineering Third year
Software Requirements Engineering: What, Why, Who, When, and How
ICT and Banks Banks use mainframe computers to maintain customer accounts. They store a record of each customer’s withdrawals and deposits. Each bank mainframe.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
SFWR ENG 3KO4 Software Development Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS) for the Automated Banking Machine.
Lecture 7: Requirements Engineering
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
SFWR ENG 3KO4 Software Development for Computer/Electrical Engineering Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS)
ABM Machine: AutoMac Software Engineering 3M04 Dr. Kamran Sartipi Software Engineering 3M04 Dr. Kamran Sartipi By: Ramon Tiongson Belal Abou Shaar Monica.
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology- Khan younis.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
An approach for Framework Construction and Instantiation Using Pattern Languages Rosana Teresinha Vaccare Braga Paulo Cesar Masiero ICMC-USP: Institute.
An Introduction to Software Engineering (Chapter 1 from the textbook)
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
Week 3: Requirement Analysis & specification
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
IS444: Modern tools for applications development Dr. Azeddine Chikh.
UML (Unified Modeling Language)
Prof. Hany H. Ammar, CSEE, WVU, and
Inf 43: Introduction to Software Engineering May 7, 2016.
 System Requirement Specification and System Planning.
Chapter 1: Introduction to Systems Analysis and Design
ATM OO Design and Implementation Case Study
Object-Oriented Static Modeling of the Banking System - I
Introduction to Software Engineering
Software Design Lecture : 14.
MacBank ABM Demonstration
Chapter 1: Introduction to Systems Analysis and Design
Software Requirements Specification (SRS) Template.
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

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

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

INTRODUCTION 3McMaster University - Software Engineering 3M04

 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.

 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

 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

 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.

REQUEST FOR PROPOSAL (RFP) 8McMaster University - Software Engineering 3M04

9  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

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

SOFTWARE REQUIREMENT SPECIFICATION (SRS) 11McMaster University - Software Engineering 3M04

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

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

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

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.

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

SOFTWARE DESIGN SPECIFICATION (SDS) 17McMaster University - Software Engineering 3M04

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

19McMaster University - Software Engineering 3M04  System Overview

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.

21McMaster University - Software Engineering 3M04

22McMaster University - Software Engineering 3M04  State Chart Used to graphically represent finite state machines State transition tables are another possible representation

LOW LEVEL DESIGN of SDS 23McMaster University - Software Engineering 3M04

24McMaster University - Software Engineering 3M04

25McMaster University - Software Engineering 3M04

26McMaster University - Software Engineering 3M04

IMPLEMENTATION USING JAVA 27McMaster University - Software Engineering 3M04

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 used in development of Java desktop applications, and an integrated development environment (IDE)

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

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

31McMaster University - Software Engineering 3M04

32McMaster University - Software Engineering 3M04

33McMaster University - Software Engineering 3M04

DEMO 34McMaster University - Software Engineering 3M04

LESSONS LEARNT 35McMaster University - Software Engineering 3M04

36McMaster University - Software Engineering 3M04  Software Engineering is more than just programming Computer Engineering Computer Science Management Mathematics Project Management Quality Management Software Ergonomics Systems Engineering Encompasses

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

QUESTIONS ? 38McMaster University - Software Engineering 3M04

THANK YOU 39McMaster University - Software Engineering 3M04