Tải bản đầy đủ (.docx) (23 trang)

Phân tích thiết kế hệ thống rút tiền tự động ATM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (648.55 KB, 23 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
  

PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN
BÀI TẬP NHÓM
Đề tài: : Phân tích thiết kế hệ thống rút tiền tự động ATM

Giáo viên : Nguyễn Đình Hiến
Sinh viên : Nguyễn Thị Thực
Nguyễn Thị Son
Nguyễn Thị Minh Tâm
Nguyễn Thị Thùy
Hoàng Ngọc Sơn
Nguyễn Văn Sơn
Bùi Văn Thọ
Phạm Mạnh Tiến
Trần Thiện Thanh
Lớp : L10CQCN3-B

Hà Nội, tháng 8 năm 2011
MỤC LỤC
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
PHẦN 1: MỞ ĐẦU
1.1. Các khái niệm cơ bản của phương pháp hướng đối tượng
1.1.1. Đối tượng (object)
Một đối tượng biểu diễn một thực thể vật lý, một thực thể khái niệm hoặc một thực
thể phần mềm . Có thể định nghĩa một đối tượng là một khái niệm, sự trừu tượng hoặc
một vật với giới hạn rõ ràng và có ý nghĩa với một ứng dụng cụ thể.
1.1.2. Lớp (class)
Lớp là mô tả của một nhóm đối tượng có chung các thuộc tính, hành vi và các mối


quan hệ. Như vậy, một đối tượng là thể hiện của một lớp và một lớp là một định nghĩa
trừu tượng của đối tượng.
1.1.3. Thành phần (component)
Là một phần của hệ thống, hoạt động độc lập và giữ một chức năng nhất định
trong hệ thống.
1.1.4. Gói (package)
Là một cách tổ chức các thành phần, phần tử trong hệ thống thành các nhóm.Nhiều
gói có thể kết hợp với nhau thành một hệ thống con.
1.1.5. Kế thừa
Trong phương pháp hướng đối tượng , một lớp có thể sử dụng lại các thuộc tính và
phương thức của một hoặc nhiều lớp khác. Kiểu quan hệ này gọi là quan hệ kế thừa, được
xây dựng dựa trên mối quan hệ kế thừa trong bài toán thực tế. Ví dụ, giả sử t có lớp Người
gồm các thuộc tính: tên, ngày sinh, quê quán, giới tính. Lớp Nhân viên có quan hệ kế thừa
từ lớp Người sẽ có tất cả các thuộc tính trên và bổ sung thêm các thuộc tính mới gồm:
chức vụ, lương.
2
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
Vòng đời phát triển phần mềm hướng đối tượng cũng có các pha tương tự như các
vòng đời phát triển phần mềm nói chung. Các pha cơ bản đặc trưng trong phát triển phần
mềm hướng đối tượng bao gồm:
1.1.6. Phân tích hướng đối tượng
Xây dựng một mô hình chính xác để mô tả hệ thống cần xây dựng là gì. Thành
phần của mô hình này là các đối tượng gắn với hệ thống thực.
1.1.7. Thiết kế hướng đối tượng
Là giai đoạn tổ chức chương trình thành các tập hợp đối tượng cộng tác, mỗi đối
tượng trong đó là một thực thể của một lớp. Kết quả của pha thiết kế cho biết hệ thống sẽ
được xây dựng như thế nào qua các bản thiết kế kiến trúc và thiết kế chi tiết.
1.1.8. Lập trình và tích hợp
Thực hiện bản thiết kế hướng đối tượng bằng cách sử dụng các ngôn ngữ lập trình
hướng đối tượng(C++, Java… )

1.2. UML và công cụ phát triển hệ thống
1.2.1. UML-Ngôn ngữ mô hình hóa hướng đối tượng
UML (Unified Modelling Language) là ngôn ngữ mô hình hóa tổng quát được xây
dựng để đặc tả, phát triển và viết tài liệu cho các khía cạnh cho việc phát triển phần mềm
hướng đối tượng. UML giúp người phát triển hiểu rõ và ra quyết định liên quan đến phần
mềm cần xây dựng. UML bao gồm một tập các khái niệm, các kí hiệu, biểu đồ và hướng
dẫn.
UML hỗ trợ xây dựng hệ thống hướng đối tượng dựa trên việc nắm bắt khía cạnh
cấu trúc tĩnh và các hành vi động của hệ thống.
- Cấu trúc tĩnh định nghĩa các kiểu đối tượng quan trọng của hệ thống nhằm cài đặt và chỉ
ra các mối quan hệ giữa các đối tượng đó.
- Các hành vi động định nghĩa các hoạt động của các đối tượng theo thời gian và tương tác
giữa các đối tượng hướng tới đích.
Các mục đích của ngôn ngữ mô hình hóa thống nhất UML
3
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
- Mô hình hóa các hệ thống sử dụng các khái niệm hướng đối tượng.
- Thiết lập sự liên hệ từ nhận thức của con người đến các sự kiện cần mô hình hóa.
- Giải quyết vấn đề về mức độ thừa kế trong các hệ thống phức tạp với nhiều ràng buộc
khác nhau.
- Tạo một ngôn ngữ mô hình hóa có thể sử dụng được bởi người và máy.
UML qui định một loạt các kí hiệu và qui tắc để mô hình hóa các pha trong quá
trình phát triển phần mềm hướng đối tượng dưới dạng các biểu đồ.
1.2.2. Giới thiệu công cụ Rational Rose
Rational Rose là một bộ công cụ được sử dụng cho phát triển phần mềm hướng đối
tượng theo ngôn ngữ mô hình hóa UML. Với chức năng của một bộ công cụ trực quan,
Rational Rose cho phép chúng ta tạo, quan sát, sửa đổi và quản lý các biểu đồ. Tập kí hiệu
mà Rational Rose cung cấp thống nhất với các kí hiệu trong UML. Ngoài ra, Rational
Rose còn cung cấp chức năng hỗ trợ quản lý dự án phát triển phần mềm, cung cấp các thư
viện để hỗ trợ sinh khung mã cho hệ thống theo một ngôn ngữ lập trình nào đó.

Giao diện chính của Rational Rose trong các biểu đồ đều được chia thành các phần
sau đây:
- MenuBar và ToolBar chứa các menu và công cụ tương tự như các ứng dụng
Windows khác.
- Phần Browser Window cho phép người sử dụng chuyển tiếp nhanh giữa các biểu đồ
trong các View.
- Phần Doccumentation Window dung để viết các thông tin liên quan đến các phần tử
mô hình tương ứng trong biểu đồ. Các thông tin này có thể là các ràng buộc, mục đích, các
từ khóa…liên quan đến phần tử mô hình đó.
- Phần Toolbox chứa các công cụ dùng để vẽ biểu đồ. Ứng dụng với mỗi loại biểu đồ
sẽ có một toolbox tương ứng.
- Phần Diagram Window là không gian để vẽ và hiệu chỉnh các biểu đồ trong mô
hình tương ứng.
- Cửa sổ Specification Window là đặc tả cho tiết của mỗi phần tử mô hình theo các
trường thông tin tương ứng với dạng biểu đồ đó.
4
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
PHẦN 2: KHẢO SÁT HỆ THỐNG
2.1. Khảo sát sơ bộ chức năng rút tiền
- Đối tượng : Máy rút tiền tự động ngân hàng TECHCOMBANK.
- Chức năng : Máy rút tiền tự động cho phép người dùng rút tiền trong tài khoản nếu
như có thẻ ATM và đăng nhập (nhập mã PIN) thành công.
2.2. Yêu cầu chức năng hệ thống mới
- Kiểm tra được tính hợp lệ của thẻ và kiểm tra được điều kiện sử dụng cây rút tiền
(nhập chính xác mã PIN).
- Rút tiền với số tiền đã chọn.
- In biên lai rút tiền cho khách hàng.
2.3. Lợi ích mà hệ thống mang lại
- Hạn chế rủi ro của việc sử dụng tiền mặt mang nhiều tiền, mất cắp, tiền giả, tiền
rách…

- Đáp ứng các nhu cầu mua sắm ngay khi chưa có tiền mặt.
- Sử dụng nguồn tiền do Ngân hàng ứng trước để thanh toán tiền hàng hóa, dịch vụ
tại các điểm chấp nhận thẻ quốc tế Visa ( không phải trả lãi tối đa đến 45 ngày).
- Đặt mua hàng hóa, dịch vụ qua Internet.
- Rút tiền mặt tại các cây ATM hoặc tại các Ngân hàng.
- Thanh toán các hóa đơn điện, nước, điện thoại, truyền hình cáp, Internet… tại
website www.techcombank.com.vn.
5
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
- Hết sức tiện lợi và an toàn khi Quý khách hoặc than nhân thường xuyên đi công tác
nước ngoài, du lịch hoặc du hoạc do có thể chi tiêu mà không phải mang theo nhiều tiền
mặt.
- Dễ dàng thanh toán và kiểm soát các khoản chi phí sinh hoạt của con em khi du học
ở nước ngoài ( thong qua việc sử dụng thẻ phụ).
- Các chương trình khuyến mại được thực hiện thường xuyên, mang lại cho chủ thẻ
những món quà thú vị, bất ngờ khi giao dịch bằng thẻ của Techcombank.
- Tặng mũ bảo hiểm tai nạn An Nghiệp Thành Công cho chủ thẻ.
2.4. Khảo sát chi tiết
Tìm hiểu quá trình hoạt động của hệ thống qua tài liệu ảnh sau:
- Giao diện ban đầu
+ Bước 1: Cho thẻ vào khe trên cây ATM
6
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
+ Bước 2: Nhập mã PIN
+ Bước 3: Chọn ngôn ngữ giao dịch
7
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
+ Bước 4: Chọn loại giao dịch ( chọn rút tiền)
+ Bước 5: Lựa chọn số tiền rút
8

Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
+ Bước 6: Có thể chọn in hóa đơn hoặc không.
+ Bước 7: Rút thẻ, lấy tiền và lấy hóa đơn.
Hóa đơn rút tiền mặt trước in màu, mặt sau in quảng cáo.
Số thẻ ATM ( card number) : được đánh dấu bảo mật xxxxx
9
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
PHẦN 3. PHÂN TÍCH HỆ THỐNG
3.1. Biểu đồ Use case
Một biểu đồ Use Case thể hiện:
- Hệ thống.
- Tác nhân.
- Use case.
Trong đó:
- Hệ thống được thể hiện qua hình chữ nhật với tên hệ thống bên trên.
- Tác nhân được thể hiện qua kí hiệu hình nhân.
- Use case được thể hiện qua hình ellipse.
10
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
*. Chọn biểu đồ chính (main) trong Use case view.
*. Tạo Actor và Use case:
- Chọn các Actor trong browser và kéo Actor vào lược đồ.
- Chọn các Use case trong danh mục và kéo vào lược đồ.
*. Tạo đường kết nối
- Chọn biểu tượng Association hoặc Undirectional Association từ thanh công cụ.
- Nhấn vào Actor khởi tạo và kéo đường kết nối vào Use case mong muốn.
*. Tạo quan hệ Extend
- Chọn biểu tượng Undirectional Association từ thanh công cụ.
- Chọn Use case chứa chức năng được mở rộng và kéo mũi tên Undirectional
Association vào Use case cơ sở.

- Nhấn kép vào mũi tên liên kết để kích hoạt Specification.
- Nhấn vào mũi tên trong trường Stereotype để kích hoạt menu và chọn extend.
- Chọn OK để đóng Specification.
11
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
3.2. Phân rã use case rút tiền
*. Tạo Use case:
- Chọn các Use case trong danh mục và kéo vào lược đồ.
*. Tạo đường kết nối :
- Chọn biểu tượng Association hoặc Undirectional Association từ thanh công cụ.
- Nhấn vào Actor khởi tạo và kéo đường kết nối vào Use case mong muốn.
*. Tạo quan hệ Include:
- Chọn biểu tượng Undirectional Association từ thanh công cụ.
- Chọn Use case sử dụng và kéo mũi tên Undirectional Association tới Use case được
sử dụng.
- Nhấn kép vào mũi tên liên kết để kích hoạt Specification.
- Nhấn vào mũi tên trong trường Stereotype để kích hoạt menu và chọn include
12
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
- Chọn OK để đóng Specification.
3.3. Kịch bản chức năng rút tiền
*. Tên Use case: Rút tiền
*. Tác nhân chính: Khách hàng
*. Tiền điều kiện:
- Máy ATM còn tiền
- Tài khoản còn tiền
*. Chuỗi sự kiện chính:
- Khách hàng nhập số tiền muốn rút: có thể là chọn một trong các mức tiền có sẵn
trong máy hoặc nhập số tiền là bội số của 50.000VNĐ.
- Máy ATM so sánh với số tiền trong máy và trong tài khoản.

- Rút tiền: Hệ thống sẽ trừ tiền trong tài khoản và trong máy ATM.
- Màn hình hiện thị số dư, lệ phí, VAT và thông báo in biên lai.
- Máy ATM trả tiền bằng số tiền đã chọn.
- Máy ATM in biên lai gồm những thông tin sau: Ngày, giờ giao dịch; Mã ATM; Số
thẻ; Số giao dịch; Số TK; Số dư; Lệ phí; VAT.
*. Ngoại lệ:
- Khách hàng chọn số tiền muốn rút,máy ATM kiểm tra số tiền trong máy.
+ Nếu số tiền muốn rút lớn hơn số tiền trong tài khoản thì giao dịch không thực
hiện được
+ Nếu số tiền muốn rút lớn hơn số tiền hiện có của cây ATM thì giao dịch không
thực hiện được.
- Khi khách hàng đã chọn rút tiền, hệ thống hỏi có in biên lai hay không.
+ Khách hàng rút tiền nhưng không in biên lai
+ Khách hàng in biên lai nhưng ATM hết giấy để in.
*. Hậu điều kiện:
13
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
- ATM không lưu bất kì thông tin nào của giao dịch đã thực hiện và ở trạng thái sẵn
sang cho giao dịch mới.
3.4. Biểu đồ lớp chức năng rút tiền.( Pha phân tích)
Biểu đồ lớp biểu diễn các khái niệm lớp và mối quan hệ giữa chúng với nhau.
14
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
*. Chọn Logical view, New, Class diagram và vào tên biểu đồ.
*. Tạo các lớp bằng cách chọn biểu tượng class trên thanh công cụ.
*. Tạo các quan hệ sử dụng bằng cách chọn biểu tượng Association trên thanh công cụ.
*. Tạo các quan hệ kế thừa bằng cách chọn biểu tượng Generalization trên thanh công cụ.
*. Tạo các quan hệ thành phần bằng cách chọn biểu tượng Aggregation trên thanh công
cụ
3.5. Biểu đồ tuần tự chức năng rút tiền

Biểu đồ trình tự mô tả sự tương tác và trao đổi thông tin giữa các đối tượng trong kịch bản
theo trình tự thời gian.
15
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
: Khách hàng : Khách hàng
Tien rut : Tien
rut
Tien rut : Tien
rut
The ATM : TheThe ATM : The Bien lai khach
hang : Bien lai
Bien lai khach
hang : Bien lai
1: Chon chuc nang rut tien
2: Yeu cau nhap so tien rut
3: Nhap so tien rut
4: Kiem tra so tien trong the
5: Kiem tra tien trong the
6: Tien trong the du dk rut
10: Hoi khach hang co in bien lai khong?
11: Khach hang tra loi
12: Kiem tra dk in bien lai
13: Tra loi dk
8: Tru tien trong TK
9: Tru tien trong ATM
7: Rut tien
14: In bien lai
15: Tra tien va bien lai cho khach hang
*. Chọn Logical view, New, Sequence Diagram và vào tên biểu đồ
*. Tạo các Actor bằng cách chọn tên Actor từ Use case view

*. Tạo các đối tượng bằng cách chọn biểu tượng Object trên thanh công cụ. Sau đó đặt tên
cho đối tượng
*. Tạo các thông điệp bằng cách chọn biểu tượng Object message trên thanh công cụ.
*. Tạo các thông điệp trả lời bằng cách chọn biểu tượng Return message trên thanh công
cụ.
*. Tạo các thông điệp gọi tới chính đối tượng đó bằng cách chọn biểu tượng Message to
self trên thanh công cụ.
3.6. Biểu đồ trạng thái chức năng rút tiền
Biểu đồ trạng thái mô tả các trạng thái của một đối tượng và sự biến đổi từ trạng thái
này sang trạng thái khác của một đối tượng
16
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
Tạo biểu đồ trạng thái.
1. Chọn Logical view, New, Statechart Diagram và vào tên biểu đồ
2. Tạo các trạng thái của đối tượng bằng cách chọn biểu tượng State trên thanh công
cụ. Sau đó đặt tên cho trạng thái
3. Tạo các đường chuyển trạng thái bằng cách chọn biểu tượng State transition trên
thanh công cụ, sau đó đặt tên cho nó.
4. Tạo các đường không làm chuyển trạng thái bằng cách chọn biểu tượng Transition
to self trên thanh công cụ, sau đó đặt tên cho nó.
5. Tạo các trạng thái bắt đầu và kết thúc bằng cách chọn biểu tượng Start state và End
state trên thanh công cụ.
3.7. Biểu đồ hoạt động chức năng rút tiền
Biểu đồ hoạt động biểu diễn luồng các hoạt động công việc của các chức năng hay hệ
thống.
*. Chọn Use case View
17
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
*. Chọn New, Activity Diagram và vào tên biểu đồ
*. Tạo các hành động bằng cách chọn biểu tượng Activity trên thanh công cụ

*. Tạo các điểm quyết định bằng cách chọn biểu tượng Decision trên thanh công cụ.
*. Tạo các đường chuyển tiếp bằng cách chọn biểu tượng State transition trên thanh công
cụ
*. Tạo các điểm hoạt động đầu và cuối bằng cách chọn biểu tượng Start state và End state
trên thanh công cụ.
PHẦN 4: THIẾT KẾ HỆ THỐNG ATM ( Chức năng rút tiền)
4.1. Biểu đồ lớp thiết kế
*. Chọn Logical view, New, Class diagram và vào tên biểu đồ
18
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
*. Tạo các lớp bằng cách chọn biểu tượng class trên thanh công cụ
*. Tạo các quan hệ sử dụng bằng cách chọn biểu tượng Association trên thanh công cụ.
*. Tạo các quan hệ kế thừa bằng cách chọn biểu tượng Generalization trên thanh công cụ.
*. Tạo các quan hệ thành phần bằng cách chọn biểu tượng Aggregation trên thanh công
cụ.
4.2. Biểu đồ tuần tự chức năng rút tiền( pha thiết kế)
19
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
Frm Rut tien :
Tien rut
Frm Rut tien :
Tien rut
: Khách hàng : Khách hàng
Frm MenuFrm Menu
The : TheThe : The
Bien lai : Bien
lai
Bien lai : Bien
lai
15: Khoi tao( )

1: Chon chuc nang rut tien
3: Yeu cau nhap so tien rut
4: Nhap tien( )
11: Hoi khach hang co in bien lai ?
5: Kiem tra so du( )
6: Kiem tra so du( )
7: Du dk rut
2: Chuyen sang form rut tien
12: Khach hang tra loi
13: Kiem tra dk in bien lai
14: Tra loi dk in bien lai
8: Rut tien( )
9: Tru tien trong TK
10: Tru tien( )
16: In bien lai( )
17: Tra tien va bien lai cho khach hang
20
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
PHẦN 5: THIẾT KẾ GIAO DIỆN HỆ THỐNG (CHO CHỨC
NĂNG RÚT TIỀN)
Khách hàng chọn chức năng rút tiền
Form giao diện thiết kế gồm: 1Lable, 1 Picturebox , 8 Command button.
21
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
Nếu khách hàng muốn rút số tiền khác với những lựa chọn có sẵn, khách hàng sẽ chọn
“Số khác”. Giao diện sẽ như sau:
Giao diện gồm 1 Picturebox, 1 Textbox, 1 Lable, 1 Command button.
22
Bài tập nhóm Phân tích thiết kế hệ thống rút tiền tự động ATM
Sau khi đã chọn số tiền muốn rút, khách hàng sẽ chọn có in hóa đơn hay không?

Giao diện gồm 1 Picturebox, 1 Lable, 2 Command button.
23

×