+ All Categories
Home > Documents > Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah...

Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah...

Date post: 01-Apr-2015
Category:
Upload: jacey-symonds
View: 219 times
Download: 2 times
Share this document with a friend
Popular Tags:
44
MacBank TM ABM Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi Course: SFWR ENG 3K04 12/4/2009 1 Group 302
Transcript
Page 1: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 1

MacBankTM

ABM

Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah

Mechatronics Engineering

Group 302

Instructor: Dr. K. Sartipi

Course: SFWR ENG 3K0412/4/2009

Page 2: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 2

Outline

• Overview• SRS• SRS to High-Level SDS• High-Level SDS to Low-Level SDS• Implementation in C# • DEMO• Conclusion

12/4/2009

Page 3: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 3

What is Software Engineering?

Application of:• Systematic• Disciplined• Quantifiable• Approach to the development, operation and

maintenance of software.• Study of these approaches is software engineering.

12/4/2009

Page 4: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 4

Software Engineering Crisis

• Current state of software technology in dealing with development and maintenance of large and complex software systems.

• Tackled by: - Providing disciplined processes and methodologies to:

• Design• Implement• Maintain Large software systems.

12/4/2009

Page 5: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 512/4/2009

Page 6: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 6

Software Engineering Project

• Consists of computer programs and associated documentation, which includes:o SRSo SDSo Technical Manualo User Manualo Sourceo Binary Fileso Build Fileso Version

12/4/2009

Page 7: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 7

Why is it important?

Software engineering has had a major contribution in the development of the modern world. Software engineering is used in a variety of industries and applications:

• Process automation:

12/4/2009

Page 8: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 8

Why is it important?

• Equipment control• Scientific problems

• Entertainment industry• Education and office management

12/4/2009

Page 9: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 9

Software Life Cycle Models

• Waterfall Model

• Extensive Programming

• Throwaway Prototyping Model

• Spiral Model

• Evolutionary Prototyping Model

• OSS Development Model

12/4/2009

Page 10: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 10

Requirements Analysis and Specification

Design And Specification

Coding And Module Testing

Integration And System Testing

Delivery And Maintenance12/4/2009

Page 11: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 11

Requirements Analysis and Specifications

• After precise costs and benefits of the software have been defined.

• Requirements are in end user terms.• Helps to make user manuals and system test

plans.

12/4/2009

Page 12: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 12

Requirements and Specifications(ABM)

• 15 min interview with TA posing as MacBank representative.

• RFP provided

• Included basic banking requirements.

• Staff requirements.

12/4/2009

Page 13: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

SRS Benefits

•SRS is the initial step in the software life cycle.

•SRS should contain everything there is to know about the

system.

•Focuses on the “what” not the “how”

•It allows easy communication between individuals.

Page 14: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 14

SRS and Quality

The Software Requirement

Specification is an important

step in providing a high

quality software solution.

"The hardest single part of building a softwaresystem is deciding precisely what tobuild" (Frederick Brooks)

12/4/2009

Page 15: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 15

Features of SRS

• Complete document specifying the goals of the system.

• Clearly defined what qualities the application must exhibit.

• Identified all stakeholders and defined the operating environment.

• Did NOT include how the solution was to be implemented.

12/4/2009

Page 16: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 16

SRS Environment

Bank Computer

Host processor

AutoBank

CUSTOMER

BANK STAFF

DATA TRANSFER

AutoBank Version S21 Operating Environment

Staff Interface

Customer Interface

From the RFP :•Able to understand the operating environment.

•Translated requirements to Specifications document (SRS)

12/4/2009

Page 17: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 17

Reload Machine

Turn system on/off

Make a transaction

Withdraw money Deposit money

Transfer money

View/print balance

Verify pin

Print receipt

<<extend>>

<<extend>>

<<extend>><<extend>>

<<include>>

<<include>>

system

Bank staff

customer

AutoBank ABM System

Low vault alert

USE Case Diagram

Use Case diagram was used to specify the actors and actions in the system

12/4/2009

Page 18: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 18

Design and Specification

• 2 Sub-phases:– Architectural or High Level Design

– Detailed or Low Level Design

• High Level: deals with overall module structure and organization

• Low Level: high level is then refined by

• Designing each module in detail.

• Solving individual problems

12/4/2009

Page 19: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 19

Design and Specification (ABM)

• High Level– Component Diagrams

– State Diagram

• Low Level– Detailed Modules: Functions performed by each module.

– Individual State Diagrams for each module.

12/4/2009

Page 20: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 20

Making of High-Level SDS

• The SRS required the system to interact with two types of users:– Staff– Customers

• The staff user should be able to perform the following operation:– Starting and stopping ABM services.– Refill the vault when it is low.

• The customer should be able to perform the following operations:– Withdraw money– View Balance– Transfer Money within accounts.– Deposit money

• Also, Bank should perform the following main functions:– Verify card and PIN number

12/4/2009

Page 21: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 21

User Interface Staff Services

Bank

TransactionsView/Print

TransferWithdraw

Deposit

Data Verification

Power off

Vault Refill

Component Diagram for ABM

12/4/2009

Page 22: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 22

WELCOME SCREEN

VAULT Balance

BANK

UI

Customer

Staff

Print Receipt

System ON or Exit = False

Verify pin

Data Verification

Deposit OR Withdraw OR Transfer OR View

Transaction complete

NoYes

Exit = True

Vault >10000

E: refill Vault

Power Off

State Chart Diagram

12/4/2009

Page 23: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 23

High-Level to Low-Level SDS

• Listed activities and entities• Split up similar activities (functionalities)• High Cohesion, Low Coupling• Address functions and respective variables• Classes• Real life modularity

12/4/2009

Page 24: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 24

Code and Module Testing

• Actual code is produced.• Individual modules are tested• ABM Implementation:

– Bank– Transactions– User Interface

12/4/2009

Page 25: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 25

Integration and System Testing

• Individually tested modules put together.• ABM implementation

12/4/2009

Page 26: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 26

Delivery and Maintenance

• Most important part of designing a software system

• Delivered to the customer after all the tests are passed.

• Modifications come under maintenance.• ABM Implementation – out of the scope of the

course

12/4/2009

Page 27: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 27

ABM Implementation

12/4/2009

Page 28: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 28

User Interface

• Visual Studio (C#)• GUI vs. Command Line• Calling on different classes

– Forms– Limited access to information

• User Functions

12/4/2009

Page 29: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 29

Transactions Class

• Basic Functions: Deposit, Withdraw, Transfer,

Balance Inquiry.

• Supporting functions: Account Initiliazer, Get

Balance, Set Balance.

• Modularized format.

• High cohesion Low coupling between

classes.12/4/2009

Page 30: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 30

Bank Class

• Functions included:– verify_pin– verify_card– Get_Balance– Set_Balance– Get_Deposit– Set_deposit– Vault_amount

• GemBox Application12/4/2009

Page 31: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 31

DEMO

12/4/2009

Page 32: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 32

Team Work

• Efficient division of Tasks.• Weekly meetings to plan next

step and follow up on progress• Dedicated/Passionate team

members• Organizational Tools : GANTT

Chart.

12/4/2009

Page 33: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 33

Organizational Tools: GANTT Chart

ID Task Name Start Finish Duration1 Nov 2009 8 Nov 2009 15 Nov 2009

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

1 1d04/11/200904/11/2009Split Parts

2 4d10/11/200905/11/2009User Interface Coding(Individual)

3 4d10/11/200905/11/2009Staff Operation Coding(Individual)

4 4d10/11/200905/11/2009Bank Interface Coding(Individual)

5 4d10/11/200905/11/2009Transactions Coding(Individual)

6 4d10/11/200905/11/2009Test Cases

7 1d11/11/200911/11/2009Integration (Putting ind. Parts Together)

8 1w 1d19/11/200912/11/2009Modifications/Fine Tuning

12/4/2009

Page 34: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 34

Gains from the course

• New perception of software design (not just coding).• Transformed basic requirements into a software

product.• How to manage projects• Most practical course ever taken; saw material in

action.

Requirements12/4/2009

Page 35: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 35

Time Breakdown

ActivityTime

(hours)SRS 5

SDS High level 10SDS low Level 10

Coding 30Debugging 10

Other 5Total 70

12/4/2009

Page 36: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 36

Comments and Suggestions

• More parallelism between lectures and labs.

• More time for implementation.

• Overall great learning experience!

12/4/2009

Page 37: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Thank You!

Questions?

Page 38: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 3812/4/2009

Page 39: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 3912/4/2009

Page 40: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 4012/4/2009

Page 41: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 4112/4/2009

Page 42: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 4212/4/2009

Page 43: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 4312/4/2009

Page 44: Presented by: Yaseen Ali, Suraj Bhardwaj, Rohan Shah Yaseen Ali, Suraj Bhardwaj, Rohan Shah Mechatronics Engineering Group 302 Instructor: Dr. K. Sartipi.

Group 302 4412/4/2009


Recommended