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.. Tạo các lớp bằng cách chọn biểu tượng class trên thanh
Trang 1PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN
BÀI TẬP NHÓM
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
Trang 2PHẦ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ựcthể 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ặcmộ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ốiquan 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ĩatrừu tượng của đối tượng
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, đượcxâ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ườigồ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:
Trang 3Xâ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ànhphầ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 đốitượ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âydự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ềmhướ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ầnmề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ướngdẫ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ạnhcấ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ácgiữ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
Trang 4- 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ộckhá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 đốitượ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, RationalRose 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ầnsau đây:
- MenuBar và ToolBar chứa các menu và công cụ tương tự như các ứng dụngWindows 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 đồ
Trang 5PHẦ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ềnrá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ạiwebsite www.techcombank.com.vn
Trang 6- 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ácnướ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ềnmặ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
Trang 7+ Bước 2: Nhập mã PIN
+ Bước 3: Chọn ngôn ngữ giao dịch
Trang 8+ 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
Trang 9+ 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
Trang 10PHẦ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
Trang 11* 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 UndirectionalAssociation 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
Trang 123.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
Trang 13- 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ẵntrong 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ựchiệ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ôngthự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:
Trang 14- 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ẵnsang 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
Trang 15* 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ôngcụ
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ảntheo trình tự thời gian
Trang 16: Khách hàng
Tien rut : Tien rut Tien rut : Tien rut
The 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êncho đố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ôngcụ
* 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 toself 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
Trang 17to 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à Endstate 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
Trang 18* 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ôngcụ
* 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 statetrê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ế
Trang 194.2 Biểu đồ tuần tự chức năng rút tiền( pha thiết kế)
Trang 20Frm Rut tien : Tien rut
Frm Rut tien : Tien rut : Khách hàng Frm Menu The : 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
Trang 21Form giao diện thiết kế gồm: 1Lable, 1 Picturebox , 8 Command button.
Trang 22Nế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
Trang 23Giao diện gồm 1 Picturebox, 1 Lable, 2 Command button.