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
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
MỤC LỤC PHẦN 1: MỞ ĐẦU ........................................................................................................................................ 2 1.1. Các khái niệm cơ bản của phương pháp hướng đối tượng ................................................................. 2 1.2. UML và công cụ phát triển hệ thống ................................................................................................... 3 1.2.1. UML-Ngôn ngữ mô hình hóa hướng đối tượng ............................................................................ 3 1.2.2. Giới thiệu công cụ Rational Rose ................................................................................................. 4 PHẦN 2: KHẢO SÁT HỆ THỐNG ............................................................................................................... 5 2.1. Khảo sát sơ bộ chức năng rút tiền ....................................................................................................... 5 2.2. Yêu cầu chức năng hệ thống mới ......................................................................................................... 5 2.3. Lợi ích mà hệ thống mang lại .............................................................................................................. 5 2.4. Khảo sát chi tiết ................................................................................................................................... 6 PHẦN 3. PHÂN TÍCH HỆ THỐNG ............................................................................................................ 10 3.1. Biểu đồ Use case................................................................................................................................ 10 3.2. Phân rã use case rút tiền ................................................................................................................... 11 3.3. Kịch bản chức năng rút tiền .............................................................................................................. 12 3.4. Biểu đồ lớp chức năng rút tiền.( Pha phân tích) ............................................................................... 14 3.5. Biểu đồ tuần tự chức năng rút tiền .................................................................................................... 15 3.6. Biểu đồ trạng thái chức năng rút tiền................................................................................................ 16 3.7. Biểu đồ hoạt động chức năng rút tiền ............................................................................................... 17 PHẦN 4: THIẾT KẾ HỆ THỐNG ATM ( Chức năng rút tiền) ................................................................... 18 4.1. Biểu đồ lớp thiết kế ............................................................................................................................ 18 4.2. Biểu đồ tuần tự chức năng rút tiền( pha thiết kế) .............................................................................. 19 PHẦN 5: THIẾT KẾ GIAO DIỆN HỆ THỐNG (CHO CHỨC NĂNG RÚT TIỀN) .................................. 20
1
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
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. 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:
2
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhó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 - 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 đồ. 3
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
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
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
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. - 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ẻ.
5
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
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
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
+ Bước 2: Nhập mã PIN
+ Bước 3: Chọn ngôn ngữ giao dịch
7
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
+ 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
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
+ 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
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
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.
*. 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 đồ.
10
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
-
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.
3.2. Phân rã use case rút tiền
11
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
*. 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
-
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.
12
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
- 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: - 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.
13
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
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.
*. 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ụ
14
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
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.
Tien rut : Tien rut
The ATM : The
Bien lai khach hang : Bien lai
: Khách hàng 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
7: Rut tien
8: Tru tien trong TK
9: Tru tien trong ATM
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
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ụ. 15
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
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 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ụ.
16
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
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 *. 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ụ.
17
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
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 đồ *. 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ụ.
18
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
4.2. Biểu đồ tuần tự chức năng rút tiền( pha thiết kế)
Frm Rut tien : Tien rut
Frm Menu
: Khách hàng
The : The
Bien lai : Bien lai
1: Chon chuc nang rut tien
2: Chuyen sang form rut tien 3: Yeu cau nhap so tien rut 4: Nhap tien( ) 5: Kiem tra so du( ) 6: Kiem tra so du( ) 7: Du dk rut
8: Rut tien( )
9: Tru tien trong TK
10: Tru tien( ) 11: Hoi khach hang co in bien lai ? 12: Khach hang tra loi 13: Kiem tra dk in bien lai 14: Tra loi dk in bien lai 15: Khoi tao( ) 16: In bien lai( ) 17: Tra tien va bien lai cho khach hang
19
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
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.
20
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
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.
21
Phân tích thiết kế hệ thống rút tiền tự động ATM
Bài tập nhóm
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.
22