Báo cáo thực tập cơ sở ngành
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2NHẬN XÉT, DÁNH GIÁ, CHO ĐIỂM
(Của GV hướng dẫn)
Điểm (Bằng chữ )
Đồng ý/Không đồng ý cho SV bảo vệ trước hội đồng chấm đồ án tốt nghiệp
Hà Nội, Ngày Tháng Năm 2017
Trang 3NHẬN XÉT CỦA GV PHẢN BIỆN
Điểm (Bằng chữ )
Đồng ý/Không đồng ý cho SV bảo vệ trước hội đồng chấm đồ án tốt nghiệp
Hà Nội, Ngày Tháng Năm 2017
Trang 4Mục lục
LỜI NÓI ĐẦU 7
CHƯƠNG 1: TÌM HIỂU TỔNG QUAN VỀ THƯƠNG MẠI ĐIỆN TỬ 8
1.1 Khái niệm về thương mại điện tử 8
1.2 Các đặc trưng của thương mại điện tử 8
1.2.1 Các bên tiến hành giao dịch trong thương mại điện tử không tiếp xúc trực tiếp với nhau và không đòi hỏi phải biết nhau từ trước 8
1.2.2 Các giao dịch thuong mại truyền thống được thực hiện với sự tồn tại của khái niệm biên giới quốc gia, còn thương mại điện tử được thực hiện trong 1 thị trường không có biên giới.Thương mại điện tử trực tiếp tác động tới môi trường cạnh tranh toàn cầu 9
1.2.3 Trong hoạt động giao dịch thương mại điện tử đều có sự tham gia của ít nhất 3 chủ thể, trong đó có 1 bên không thể thiếu được là người cung cấp dịch vụ mạng, các cơ quan chứng thực 9
1.2.4 Đối với thương mại truyền thống thì mạng lưới thông tin chỉ là phương tiện để trao đổi dữ liệu, còn đối với thương mại điện tử thì mạng lưới thông tin chính là thị trường 9
1.3 Các cở sở để phát triển TMĐT 10
1.4 Các loại hình giao dịch TMĐT 10
1.5 Các hình thức hoạt động chủ yếu của TMĐT 11
1.6 Lợi ích của TMĐT 12
CHƯƠNG 2: TÌM HIỂU VỀ UML 13
2.1 UML là gì? 13
2.1.1 Trực quan hóa 13
2.1.2 Cụ thể hóa 13
2.1.3 Sinh mã ở dạng nguyên mẫu 13
2.1.4 Lập và cung cấp tài liệu 14
2.2 Ứng dụng của UML 14
2.3 Các quy tắc của UML 14
2.4 Các Thành Phần Của UML 15
Trang 52.4.1 Các Phần Tử Mang Tính Cấu Trúc 15
2.4.2 Các Phần Tử Mang Tính Hành Vi 16
2.4.3 Các Phần Tử Mang Tính Nhóm 16
2.4.4 Các Biểu Đồ 16
2.5 Các Kĩ Thuật Chung Của Uml 17
2.5.1 Cụ Thể Hóa 17
2.5.2 Trang Trí 18
2.5.3 Phân Chia 18
2.5.4 Kỹ Thuật Mở Rộng 18
2.6 Kiến trúc hệ thống 19
2.6.1 Use-Case View 19
2.6.2 Logical View 19
2.6.3 Process View 19
2.6.4 Implementation View 19
2.6.5 Deployment View 20
2.7 Phân tích hệ thống hệ thống thông tin hướng đối tượng với UML 20
CHƯƠNG 3: XÁC ĐỊNH YÊU CẦU BÀI TOÁN QUẢN LÍ BÁN HÀNG 23
3.1 Giới thiệu hệ thống 23
3.2 Yêu cầu hệ thống 23
CHƯƠNG 4: MỘT SỐ NGÔN NGỮ LẬP TRÌNH SỬ DỤNG 25
4.1 Ngôn ngữ SQL 25
4.1.1 SQL là gì? 25
4.1.2 Ưu điểm của SQL 25
4.1.3 RDBMS là gì? 25
4.2 Ngôn ngữ C# 26
4.2.1 C# Là Gì: 26
4.2.2 Đặc Trưng Của C# 26
4.2.3 Cấu Trúc Môi Trường Cho C# 27
Trang 6CHƯƠNG 5: PHÂN TÍCH HỆ THỐNG QUẢN LÝ BÁN HÀNG 30
5.1 Xây Dựng Biểu Đồ Use Case 30
5.1.2 Phân Rã Biểu Đồ Use Case 31
5.2 Xây Dung Kịch Bản Của Use Case 34
5.2.1 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 34
5.2.2 Biểu Diễn Kịch Bản Cho Use Case Thêm Hàng 35
5.2.3 Biểu Diễn Kịch Bản Cho Use Case Sửa Thông Tin Hàng Hóa 36
5.2.4 Biểu Diễn Kịch Bản Cho Use Case Xóa Hàng Hóa 37
5.2.5 Biểu Diễn Kịch Bản Cho Use Case Thêm Khách Hàng 38
5.2.6 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 39
5.2.7 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 40
5.2.8 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 41
5.2.9 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 42
5.2.10 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 43
5.2.11 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 44
5.2.12 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 45
5.2.13 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 46
5.2.14 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 47
5.2.15 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 48
5.2.16 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 49
5.2.17 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 50
5.2.18 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 51
5.2.19 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 52
5.2.20 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 53
5.2.21 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 54
5.2.22 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 55
5.2.23 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 56
Trang 75.2.24 Biểu Diễn Kịch Bản Cho Use Case Mua Hàng 57
5.3 Biểu Đồ Trạng Thái 58
5.3.1 Biểu Đồ Trạng Thái Cho Lớp Đơn Hàng 58
5.3.2 Biểu Đồ Trạng Thái Cho Lớp Hóa Đơn 59
5.3.3 Biểu Đồ Trạng Thái Cho Lớp Khách Hàng Chức Năng Thêm KH 59
5.3.4 Biểu Đồ Trạng Thái Cho Lớp Khách Hàng Chức Năng Sửa Thông Tin KH 60
5.3.5 Biểu Đồ Trạng Thái Cho Lớp Khách Hàng Chức Năng Xóa Khách Hàng 60
5.3.6 Biểu Đồ Trạng Thái Cho Lớp Sách Chức Năng Thêm Hàng 61
5.3.7 Biểu Đồ Trạng Thái Cho Lớp Nhân Viên (Quản Lý) Chức Năng Quản Lý Nhập Hàng 61
5.3.8 Biểu Đồ Trạng Thái Cho Lớp Nhân Viên (Quản Lý) Chức Năng Quản Lý Bán Hàng 62
5.4 Một Số Giao Diện Chương Trình 62
5.4.1 Giao Diện Đăng Nhập 62
5.4.2 Giao Diện Hệ Thống 63
5.4.3 Giao Diện Quản Lý Nhân Viên 63
5.4.4 Giao Diện Cập Nhật Hàng Hóa 64
CHƯƠNG 6: KẾT LUẬN 65
Trang 8Danh much bảng biểu
Biểu Đồ 1: Biểu Đồ Use Case Tổng Quát 30
Biểu Đồ 2: Biểu Đồ Use Case Cập Nhật Hàng Hóa 31
Biểu Đồ 3: Biểu Đồ Use Case Cập Nhật Khách Hàng 31
Biểu Đồ 4: Biểu Đồ Use Case Tạo Phiếu 32
Biểu Đồ 5: Biểu Đồ Use Case Thống Kê 32
Biểu Đồ 6: Biểu Đồ Use Case Quản Lý Cửa Hàng 33
Biểu Đồ 7: Biểu Đồ Use Case Quản Lý Nhân Viên 33
Bảng 1: Kịch Bản Mua Hàng 34
Bảng 2: Kịch Bản Thêm Hàng 35
Bảng 3: Kịch Bản Sửa Thông Tin Hàng 36
Bảng 4: Kịch Bản Xóa Hàng Hóa 37
Bảng 5: Kịch Bản Thêm Khách Hàng 38
Bảng 6: Kịch Bản Sửa Thông Tin Khách Hàng 39
Bảng 7: Kịch Bản Xóa Khách Hàng 40
Bảng 8: Kịch Bản Tìm Kiếm 41
Bảng 9: Kịch Bản Lập Hóa Đơn 42
Bảng 10: Kịch Bản Tạp Phiếu Nhập 43
Bảng 11: Kịch Bản Tạo Phiếu Xuất 44
Bảng 12: Kịch Bản Quản Lý Nhập 45
Bảng 13: Kịch Bản Quản Lý Bán 46
Bảng 14: Kịch Bản Quản Lý Khách Vip 47
Bảng 15: Kịch Bản Thêm Nhân Viên 48
Bảng 16: Kịch Bản Sửa Thông Tin Nhân Viên 49
Bảng 17: Kịch Bản Xóa Nhân Viên 50
Bảng 18: Kịch Bản Kiểm Hàng 51
Bảng 19: Kịch Bản Trả Hàng 52
Bảng 20: Kịch Bản Đăng Nhập 53
Trang 9Bảng 21: Kịch Bản Thông Kê Hàng Tồn 54
Bảng 22: Kịch Bản Thống Kê Doanh Thu 55
Bảng 23: Kịch Bản Thống Kê Hàng Đã Bán 56
Bảng 24: Kịch Bản Thống Kê Khách Hàng 57
Biểu Đồ 8: Biểu Đồ Trạng Thái Lớp Đơn Hàng 58
Biểu Đồ 9: Biểu Đồ Trang Thái Của Lớp Hóa Đơn 59
Biểu Đồ 10: Biểu Đồ Trạng Thái Của Chức Năng Thêm Khách Hàng 59
Biểu Đồ 11: Biểu Đồ Trạng Thái Của Chức Năng Sửa Thông Tin Khách Hàng 60
Biểu Đồ 12: Biểu Đồ Trạng Thái Của Chức Năng Xóa KH 60
Biểu Đồ 13: Biểu Đồ Trạng Thái Của Chức Năng Thêm Hàng 61
Biểu Đồ 14: Biểu Đồ Trạng Thái Của Chức Năng QL Nhập Hàng 61
Biểu Đồ 15: Biểu Đồ Trạng Thái Của Chức Năng QL Bán Hàng 62
Danh mục hình ảnh Hình 1: Đăng nhập 62
Hình 2: Giao Diện Hệ Thống 63
Hình 3: Giao Diện Quản Lý Nhân Viên 63
Hình 4: Giao Diện Hàng Hóa 64
Hình 5: Giao Diện Tìm Kiếm 64
Trang 10LỜI NÓI ĐẦU
Công nghệ thông tin là một ngành rất phát triển trong xã hội ngày nay Nó được ứng dụng trong rất nhiểu ngàng, lĩnh vực cà đạt được nhiều hiệu quả cao Đặc biệt là trong công tác quản lý, tin học làm giảm nhẹ đucợ sức của con người quản lý, tiết kiệm thời gian và gọn nhẹ hơn nhiều so với cách quản lý bằng giấy tờ như trước kia Ứng dụng tin học vào công tác quản lý còn giúp thu hẹp không gian lưu trữ dữ liệu, tránh thất lạc
dữ liệu một cách an toàn Hơn nữa nó còn giúp tìm kiếm, tra cứu thông tin một cách nhanh chóng, chính xác và đầy đủ
Từ những nhận thức về tầm quan trọng của ngành công nghệ thông tin với công tá quản lý, cùng với sự mong muốn học hỏi và đóng góp một phần nhỏ đưa tin học ứng dụng vào công tác quản lý chúng em đã hoàn thành đề tài”Xây dựng chương trình quản
lý bán hàng”
Trong thời gian nghiên cứu, cùng với sự nỗ lực của bản thân, sự giúp đỡ nhiệt tính của bạn bè cà trên hết là sự hướng dẫn của thầy Nguyễn Hoàng Tú chúng em đã hoàn thành tốt đềtài của mình Do kiến thức còn hạn chế nên chúng em không tránh khỏi những sai sót Chúng em rất mong nhận được ý kiến đóng góp của thầy co, bạn bè để đề tài của chúng em được hoàn thiện hơn
Trang 11CHƯƠNG 1: TÌM HIỂU TỔNG QUAN VỀ THƯƠNG MẠI ĐIỆN
TỬ
1.1 Khái niệm về thương mại điện tử
Thương mại điện tử, hay còn gọi là e-commerce, e-comm hay EC, là sự mua bán sản phẩm hay dịch vụ trên các hệ thống điện tử như Internet và các mạng máy tính.[1][2] Thương mại điện tử dựa trên một số công nghệ như chuyển tiền điện
tử, quản lý chuỗi dây chuyền cung ứng, tiếp thị Internet, quá trình giao dịch trực tuyến, trao đổi dữ liệu điện tử (EDI), các hệ thống quản lý hàng tồn kho, và các hệ thống tự động thu thập dữ liệu Thương mại điện tử hiện đại thường sử dụng mạng World Wide Web là một điểm ít nhất phải có trong chu trình giao dịch, mặc
dù nó có thể bao gồm một phạm vi lớn hơn về mặt công nghệ như email, các thiết
bị di động như là điện thoại
Thương mại điện tử thông thường được xem ở các khía cạnh của kinh doanh điện
tử (e-business) Nó cũng bao gồm việc trao đổi dữ liệu tạo điều kiện thuận lợi cho các nguồn tài chính và các khía cạnh thanh toán của việc giao dịch kinh doanh
1.2 Các đặc trưng của thương mại điện tử
So với hoạt động Thương mại truyền thông, Thương mại điện tử có một số điểm khác biệt cơ bản sau:
1.2.1 Các bên tiến hành giao dịch trong thương mại điện tử không tiếp
xúc trực tiếp với nhau và không đòi hỏi phải biết nhau từ trước
Trong Thương mại truyền thống, các bên thường gặp gỡ nhau trực tiếp để tiến hành giao dịch Các giao dịch được thực hiện chủ yếu theo nguyên tắc vật lý như chuyển tiền, séc, hóa đơn, vận đơn, gửi báo cáo Các phương tiện viễn thông như fax, telex, chỉ được sử dụng để trao đổi số liệu kinh doanh Tuy nhiên, việc sử dụng các phương tiện điện tử trong thương mại truyền thống chỉ để chuyển tải thông tin 1 cách trực tiếp giữa 2 đối tác của cùng 1 giao dịch
Thương mại điện tử cho phép mọi người cung tham gia từ các vùng xa ôi hẻo lánh đến các khu vực đô thị lớn, tạo điều kiện cho tất cả mọi người ở khắp mọi nơi đều
có cơ hội ngang nhau tham gia vào thị trường toàn cầu và không đòi hỏi nhất thiết phải có mối quen biết nhau
Trang 121.2.2 Các giao dịch thuong mại truyền thống được thực hiện với sự tồn
tại của khái niệm biên giới quốc gia, còn thương mại điện tử được thực hiện trong 1 thị trường không có biên giới.Thương mại điện
tử trực tiếp tác động tới môi trường cạnh tranh toàn cầu
Thương mại điện tử càng phát triển, thì máy tính cá nhân trở thành cửa sổ cho doanh nghiệp hướng ra thị trường trên khắp thế giới Với thương mại điện tử, một doanh nhân dù mới thành lập đã có thể kinh doanh ở Nhật Bản, Đức… mà không hề phải
ra khỏi nhà, một công việc trước kia phải mất nhiều năm
1.2.3 Trong hoạt động giao dịch thương mại điện tử đều có sự tham gia
của ít nhất 3 chủ thể, trong đó có 1 bên không thể thiếu được là người cung cấp dịch vụ mạng, các cơ quan chứng thực
Trong Thương mại điện tử, ngoài các chủ đề tham gia quan hệ giao dịch giống như giao dịch thương mại truyền thống đã xuất hiện 1 bên thứ 3 đó là nhà cung cấp dịch
vụ mạng, các cơ quan chứng thực,… là những người tạo môi trường cho các giao dịch thương mại điện tử Nhà cung cấp dịch vụ mạng và các cơ quan chứng thực có nhiệm vụ chuyển đi, lưu giữ các thông tin giữa các bên tham gia giao dịch thương mại điện tử, đồng thời họ cũng xác nhận độ tin cậy của các thông tin trong giao dịch thương mại điện tử
1.2.4 Đối với thương mại truyền thống thì mạng lưới thông tin chỉ là
phương tiện để trao đổi dữ liệu, còn đối với thương mại điện tử thì mạng lưới thông tin chính là thị trường
Thông qua Thương mại điện tử, nhiều loại hình kinh doanh mới được hình thành
Ví dụ: các dịch vụ gia tăng giá trị trên mạng máy tính hình thành nên các nhà trung gian ảo làm các dịch vụ môi giới cho giới doanh nhân và tiêu dung, các siêu tị ảo được hình thành để cung cấp hang hóa và dịch vụ trên mạng máy tính
Các trang web khá nổi tiếng như Yahoo! America Online hay Google đóng vai trò quan trọng cung cấp thông tin trên mạng Các trang web này đã trở thành các khu chợ” khổng lồ trên Internet Với mỗi lần nhấn chuột, khách hang có khả năng truy cập hang ngàn của hang khác nhau và tỷ lệ khách hang vào hang ngàn các của hang khác nhau và tỷ lệ khách hang vào thăm rồi mua hang là rất cao Người tiêu dung
đã bắt đầu mua trên mạng 1 số loại hang trước đây được coi là khó bán trên mạng Nhiều người tiêu dung còn sẵn sang trả them tiền để không phải đến tận cửa hàng Các chủ cửa hàng thông thường ngày nay cũng đang dua nhau đưa thông tin lên Web để tiến tới khai thác mảng thị trường rộng lớn trên Web bằng cách mở cửa hàng ảo
Trang 131.3 Các cở sở để phát triển TMĐT
Để phát triển TMĐT cần phải hội đủ 1 số cở sở:
Hạ tầng kỹ thuật internet pahir đủ nhanh, mạnh đảm bảo truyền tải các nội dung thông tin bao gồm âm thanh, hình ảnh trung thực và sống động Một hạ tầng internet mạnh cho phép cung cấp các dịch vụ như xem phim, xem TV, nghe nhac,… trực tiếp Chi phí kết nối internet phải re để dảm bảo số người dung internet phải lớn
Hạ tầng pháp lý: phải có luật về TMĐT công nhận tinhd pháp lý của các chừng tử điện tử, các hợp đồng điện tử ký qua mạng: phải có luật bảo vệ quyền sở hữu tri tuệ, bảo vệ sự riêng tư, bảo vệ người tiêu dung… để điều chỉnh các giao dịch qua mạng
Phải có cơ sở thanh toán điện tử an toàn bảo mật Thanh toán điện tử qua thẻ, qua tiền điện tử, thanh toán qua EDI Các ngân hàng phải triển khai hệ thống thanh toán điện tử rộng khắp
Phải có hệ thống cơ sở chuyển phát nhanh chóng, kịp thời, tin cậy
Phải có hệ thống an toàn bảo mật cho các giao dịch, chống xâm nhập trái phép, chống virus, chống thoái thác
Phải có nhân lực am hiểu kinh doanh, công nghệ thông tin, thương mại điện
tử để triển khái tiếp thị, quảng cáo, xúc tiến, bán hàng và thanh toán qua mạng
1.4 Các loại hình giao dịch TMĐT
Trong TMĐT có 3 chủ thể tham gia: doanh nghệp (B) giữ vai trò động lực phát triển TMĐT, người tiêu dung (C) giữ vai trò quyết định sự thành công của TMĐT và chính phủ (G) giữ vai trò định hướng, điều tiết và quản lý Từ cá mối quan hệ giữa các chủ thể trên ta có các loại giao dich TMĐT: B2B, B2C, B2G, C2C… trong đó B2B và B2C
là hai loại hình giao dịch quan trọng nhất
Business-to-business(B2B): Mô hình TMĐT giữa các doanh nghiệp với doanh nghiệp B2B là việc thực hiện các giao dịch giữa các doanh nghiệp với nhau trên mạng Ta thường gọi là giao dịch B2B Các bên tham gia giao dịch B2B gồm: người trung gian trực tuyến, ngưới mua và người bán Các loại giao dịch B2B gồm: mua ngay theo yêu cầu khi giá cả thích hợp và mua theo hợp dồng dài hạn, dựa trên đàm phán cá nhân giữa người mua và người bán
Các loại giao dịch B2B cơ bản:
Bên bán là mô hình dựa trên công nghệ web trong đó 1 công ty bán cho nhiêu cty mua Có 2 phương pháp bán trcuwj tiếp trong mô hình này: Bán từ ctalog
Trang 14điện tử, bán qua quá trình đấu giá, bán theo hợp động cung ún dài hạn đã thỏa thuận trước Công ty bán có thể là nhà sản xuất loại click-and mortar hoặc nhà trung gian thông thường là nhà phân phối hay đại lý
Bên mua – một bên mua – nhiều bên bán
Sàn giao dịch – nhiều bên bán – nhiều bên mua
TMĐT phối hợp – các đối tác phối hợp nhau ngay trong quá trình thiết kế chế tạo sản phẩm
Busness-to-consumer (B2C): Mô hình TMĐT giữa doanh nghiệp cà người tiêu dùng Đây là mô hình bán lẻ trực tiếp đến người tiêu dùng Trong TMĐT, bán lẻ điện tử có thể từ nhà sản xuất, hoặc từ 1 cửa hàng thông qua kênh phân phối Hàng hóa bán lẻ trên mạng thường là hàng hóa, máy tính, đồ điện tử, dụng cụ thể thao, đồ dùng văn phòng, sách và âm nhac…
Mô hình kinh doanh bán lẻ có thể phân loại theo quy mô các loại hàng hóa bán, theo kênh bán
Hai loại giao dịch trên là giao dịch cơ bản của TMĐT Ngoài ra trong TMĐT người ta còn sử dụng các loại giao dịch: Govement-to-Business(G2B) là mô hình giữa các cơ quan chính phủ và công dân cong gọi là chính phủ điện tử
1.5 Các hình thức hoạt động chủ yếu của TMĐT
• Thư điện tử
Các doanh nghiệp, các cơ quan Nhà nước sử dụng thư điện tử để gửi thử cho nhua 1 cách trực tuyến thông qua mạng, gọi là thư điện tử
• Thanh toán điện tử
Thanh toán điện tử là việc thanh toán tiền thông qua bức thư điện tử ví dụ như trả lương bằng cách chuyển tiên trực tiếp vào tài khoản Ngày này, với sự phát triển của TMĐT, thanh toán điện tử đã mở rộng sang các lĩnh vực mới đó là: -Trao đổi dữ liệu điện tử tài chính chuyên phục vụ cho việc thanh toán điện tử giữa các công ty giao dịch với nhau bằng điện tử
- Tiền lẻ điện tử là tiền mặt được mua từ 1 nơi phát hành, sau đó đucơh chuyển đổi tự do sang các đồng tiền khác thông qua internet Tiền lẻ điện tử đang trên
đà phát triển nhanh, nó có ưu điểm nổi bật sau:
+ Dùng để thanh toán những món hàng giá trị nhỏ, thậm chí ngay cả tiền mua báo
+ Có thể tiến hành giữa 2 con người hoặc 2 cty bất kỳ
+ Tiền mặt nhận được đảm bảo là tiền thật, tránh được tiền giả
Trang 15-Ví điên tử là nơi để tiền mặt internet, chủ yếu là thẻ thông minh còn gọi là thẻ giữ tiền, tiền được trả cho bất kỳ ai đọc được thẻ đó
- Giao dịch điện tử của ngân hàng: hệ thống thanh toán điện tử của ngân hàng là
Giảm chi phí sản xuất: hạn chế phải làm việc với nhiều giấy tờ giúp giảm thiểu
về diện tích và chi phí chuyển giao tài liệu
Giảm chi phí bán hang, tiếp thị và giao dịch: nhờ internet mà 1 nhân viên có thể giao dịch với nhiều khách hang cùng lúc
Xây dựng quan hệ với đối tác: nhờ giao dịch qua internet mà các đối tác có thể liên tục trao đổi thông tin nhờ đó sự hợp tác được tiến hành nhanh chóng và chất lượng
Tạo điều kiện sớm tiếp cận kinh tế tri thức: kích thích sự phát triển của ngành CNTT cơ sở cho phát triển kinh tế tri thức
Trang 16CHƯƠNG 2: TÌM HIỂU VỀ UML
cả khi không gặp trở ngại về ngôn ngữ thì đối với từng công ty, từng nhóm cũng có những
“ngôn ngữ” riêng của họ Điều này gây trở ngại cho một người mới vào để có thể hiểu được những việc đang được tiến hành Hơn nữa, trong lĩnh vực phần mềm, nhiều khi khó
có thể hiểu được nếu chỉ xem xét các đoạn mã lệnh Ví dụ như sự phân cấp của các lớp,
ta có thể phải duyệt rất nhiều đoạn lệnh để hiểu được sự phân cấp của các lớp Và nếu như người lập trình không mô tả các ý tưởng mà anh ta đã xây dựng thành mã lệnh thì nhiều khi cách tốt nhất là xây dựng lại trong trường hợp một người khác đảm nhận tiếp nhiệm vụ khi anh ta rời khỏi nhóm
Xây dựng mô hình sử dụng ngôn ngữ UML đã giải quyết được các khó khăn trên.Khi trở thành một chuẩn trong việc lập mô hình, mỗi kí hiệu mang một ý nghĩa rõ ràng và duy nhất, một nhà phát triển có thể đọc được mô hình xây dựng bằng UML do một người khác viết
Những cấu trúc mà việc nắm bắt thông qua đọc mã lệnh là khó khăn nay đã được thể hiện trực quan
2.1.2 Cụ thể hóa
Có nghĩa là xây dựng các mô hình một các tỉ mỉ, rõ 13ang, đầy đủ ở các mức độ chi tiết khác nhau Đặc biệt là UML thực hiện việc chi tiết hoá tất cả các quyết định quan trọng trong phân tích, thiết kế và thực thi một hệ thống phần mềm
2.1.3 Sinh mã ở dạng nguyên mẫu
Các mô hình xây dựng bởi UML có thể ánh xạ tới một ngôn ngữ lập trình cụ thể như : Java, C++… thậm chí cả các bảng trong một CSDL quan hệ hay CSDL hướng đối tượng
Trang 17Việc các yêu cầu có khả năng thường xuyên thay đổi trong quá trình phát triển hệ thống dẫn đến việc các cấu trúc và hành vi của hệ thống được xây dựng có thể khác
mô hình mà ta đã xây dựng Điều này có thể làm cho một mô hình tốt trở nên vô nghĩa
vì nó không còn phản ánh đúng hệ thống nữa Cho nên phải có một cơ chế để đồng
bộ hóa giữa mô hình và mã lệnh
UML cho phép cập nhật một mô hình từ các mã thực thi.( ánh xạ ngược) Điều này tạo ra sự nhất quán giữa mô hình của hệ thống và các đoạn mã thực thi mà ta xây dựng cho hệ thống đó
2.1.4 Lập và cung cấp tài liệu
Một tổ chức phần mềm ngoài việc tạo ra các đoạn mã lệnh (thực thi) thì còn tạo ra các tài liệu sau:
Ghi chép về các yêu cầu của hệ thống
Mục đích chính của UML là để xây dựng mô hình cho các hệ thống phần mềm, nó
có thể được sử dụng một cách hiệu quả trong nhiều lĩnh vực như:
Hệ thống thông tin doanh nghiệp
Các ứng dụng phân tán dựa trên web
UML không chỉ giới hạn trong lĩnh vực phần mềm Nó còn có thể dùng để lập mô hình cho các hệ thống không phải là phần mềm như hệ thống pháp luật (luồng công việc – workflow), thiết kế phần cứng, …
2.3 Các quy tắc của UML
Các thành phần của UML không thể ngẫu nhiên đặt cạnh nhau Như bất cứ một ngôn ngữ nào, UML có những quy tắc chỉ ra rằng một mô hình tốt sẽ như thế nào Một mô hình tốt là mô hình mang tính nhất quán và có sự kết hợp hài hòa giữa các mô hình có liên quan của nó
Trang 18• UML có một số quy tắc dành cho việc:
• Đặt tên: để có thể truy xuất các phần tử của mô hình thì phải đặt tên cho chúng như tên của các quan hệ, biểu đồ…
• Xác định phạm vi: ngữ cảnh mang lại một ý nghĩa cụ thể cho một cái tên
• Tính nhìn thấy được: để có được sự đơn giản và dễ kiểm soát thì ở những ngữ cảnh khác nhau cần chỉ ra rằng một cái tên là hiện hữu và được sử dụng bởi những đối tượng khác như thế nào
• Tính toàn vẹn: mọi thứ quan hệ một cách đúng đắn và nhất quán với nhau như thế nào
• Giao diện (Interface): Là một tập hợp các phương thức (operation) tạo nên dịch vụ của một lớp hoặc một thành phần (component) Nó chỉ ra một tập các operation ở mức khai báo chứ không phải ở mức thực thi (implementation)
• Use-case: Là mô tả một tập hợp của nhiều hành động tuần tự mà hệ thống thực hiện để đạt được một kết quả có thể quan sát được đối với một actor cụ thể nào đó Actor là những gì ở bên ngoài mà tương tác với hệ thống Use case mô tả sự tương tác giữa actor và hệ thống Nó thể hiện chức năng mà hệ thống sẽ cung cấp cho actor Tập hợp các Use case của hệ thống sẽ tạo nên tất cả các trường hợp mà hệ thống có thể được sử dụng
• Lớp tích cực (Actitive class): Là một lớp mà các đối tượng của nó thực hiện các hoạt động điều khiển Lớp tích cực cũng giống như lớp bình thường ngoại trừ việc các đối tượng của nó thể hiện các phần tử mà ứng xử của chúng có thể thực hiện đồng thời với các phần từ khác Lớp này thường dùng để biểu diễn tiến trình(process) và luồng(thread)
• Thành phần (Component): Là biểu diễn vật lý của mã nguồn Trong hệ thống
ta sẽ thấy các kiểu khác nhau của component như các thành phần COM+ hay
Trang 19JavaBeans cũng như là các thành phần như các file mã nguồn, các file nhị phân tạo ra trong quá trình phát triển hệ thống
• Nodes: là thể hiện một thành phần vật lý như là một máy tính hay một thiết
bị phần cứng
2.4.2 Các Phần Tử Mang Tính Hành Vi
• Tương tác (Interaction): Bao gồm một tập các thông báo(message) trao đổi giữa các đối tượng trong một ngữ cảnh cụ thể nào đó để thực hiện một chức năng nào đó
• Máy chuyển trạng (States machine): Thể hiện các trạng thái của một đối tượng trong thời gian sống của nó nhằm đáp ứng các sự kiện, các tác động từ bên ngoài
2.4.3 Các Phần Tử Mang Tính Nhóm
• Gói (Package): Dùng để nhóm các phần tử có một ý nghĩa chung nào đó vào thành nhóm Không giống như các thành phần (component – tồn tại trong lúc thực thi), một package chỉ mang tính trừu tượng Package dùng để nhìn hệ thống ở một mức độ tổng quát hơn so với việc xem xét từng phần tử trong package
• Annotational (mang tính chất giải thích): là các chú thích dùng để mô tả, làm sáng tỏ và ghi chú về bất cứ phần tử nào trong mô hình Thường dùng nhất
là Note gồm các ràng buộc hoặc ghi chú, được gắn với một phần tử hoặc một tập hợp các phần tử
là một thể hiện của biều đồ lớp
• Biểu đồ Use case (Use Case Diagram):
Khái niệm actor: là những người, hệ thống khác ở bên ngoài phạm vi của
hệ thống mà có tương tác với hệ thống
Trang 20Biểu đồ Use case bao gồm một tập hợp các Use case, các actor và thể hiện mối quan hệ tương tác giữa actor và Use case Nó rất quan trọng trong việc tổ chức và mô hình hóa hành vi của hệ thống
• Biểu đồ trình tự (Sequence Diagram): là một dạng biểu đồ tương tác (interaction), biểu diễn sự tương tác giữa các đối tượng theo thứ tự thời gian
Nó mô tả các đối tượng liên quan trong một tình huống cụ thể và các bước tuần tự trong việc trao đổi các thông báo(message) giữa các đối tượng đó để thực hiện một chức năng nào đó của hệ thống
• Biểu đồ hợp tác (Collaboration): Gần giống như biểu đồ Sequence, biểu đồ Collaboration là một cách khác để thể hiện một tình huống có thể xảy ra trong
hệ thống Nhưng nó tập trung vào việc thể hiện việc trao đổi qua lại các thông báo giữa các đối tượng chứ không quan tâm đến thứ tự của các thông báo đó
Có nghĩa là qua đó chúng ta sẽ biết được nhanh chóng giữa 2 đối tượng cụ thể nào đó có trao đổi những thông báo gì cho nhau
• Biểu đồ chuyển trạng thái (Statechart) : Chỉ ra một máy chuyển trạng, bao gồm các trạng thái, các bước chuyển trạng và các hoạt động Nó đặc biệt quan trọng trong việc mô hình hóa hành vi của một lớp giao diện(interface class) hay collaboration và nó nhấn mạnh vào các đáp ứng theo sự kiện của một đối tượng, điều này rất hữu ích khi mô hình hóa một hệ thống phản ứng(reactive)
• Biểu đồ hoạt động (Activity): Là một dạng đặc biệt của biểu đồ chuyển trạng
Nó chỉ ra luồng đi từ hoạt động này sang hoạt động khác trong một hệ thống
Nó đặc biệt quan trọng trong việc xây dựng mô hình chức năng của hệ thống
và nhấn mạnh tới việc chuyển đổi quyền kiểm soát giữa các đối tượng
• Biểu đồ thành phần (Component) : Chỉ ra cách tổ chức và sự phụ thuộc của các thành phần(component) Nó liên quan tới biểu đồ lớp, trong đó một thành phần thường ánh xạ tới một hay nhiều lớp, giao diện , collaboration
• Biểu đồ quan hệ thừa kế (Generalization): chỉ ra cấu hình của hệ thống khi thực thi
2.5 Các Kĩ Thuật Chung Của Uml
2.5.1 Cụ Thể Hóa
• Như đã trình bày ở phần trên, việc thể hiện trực quan giúp chúng ta hiểu vấn
đề dễ dàng hơn chứ không có nghĩa là các mô tả bằng lời là không có ích.Cho nên UML không chỉ là một tập các kí hiệu đồ họa
• Bên cạnh các kí hiệu đồ họa còn có các phát biểu bằng lời để chỉ rõ ngữ nghĩa của các kí hiệu đó
Trang 21• Ví dụ như trong kí hiệu của một lớp( một hình chữ nhật) còn có thể được chỉ
rõ ra các thuộc tính, các phương thức của lớp đó
2.5.2 Trang Trí
• Tất cả các phần tử trong UML đều có một hình dạng phân biệt đối với các phần tử khác Đồng thời chúng cũng được thiết kế để thể hiện những mặt quan trọng nhất của đối tượng
• Ví dụ như kí hiệu cho một lớp là một hình chữ nhật rất dễ vẽ bởi vì lớp là một thành phần quan trọng, xuất hiên rất nhiều trong các mô hình hướng đối tượng Và kí hiệu này thể hiện được cả 3 thành phần quan trọng của lớp đó
là tên lớp, các thuộc tính và các phương thức của nó Ngoài ra nó còn bao gồm các chi tiết như: lớp đó có phải là lớp trừu tượng không, các thuộc tính, phương thức của nó thuộc loại gì (public, private hay protected) Nói tóm lại các kí hiệu trong UML giúp ta nhận biết các đặc điểm quan trọng của đối tượng, khái niệm được mô tả một cách dễ dàng và nhanh chóng
2.5.3 Phân Chia
• Phân biệt rõ phần trừu tượng và cụ thể
• Trước tiên là lớp và đối tượng Một lớp là một sự trừu tượng hóa, một đối tượng là một thể hiện cụ thể của sự trừu tượng đó Trong UML ta có thể mô hình lớp và đối tượng
• Có rất nhiều thứ tương tự Ví dụ như một Use case và một thể hiện của Use case, một component và một thể hiện của component
2.5.4 Kỹ Thuật Mở Rộng
• UML cung cấp những thành phần cơ bản để lập nên một mô hình cho một phần mềm Nhưng nó không thể nào bao quát hết theo thời gian mọi mô hình trong mọi lĩnh vực
• Do đó UML được thiết kế mở theo nghĩa là người dùng có thể mở rộng một
số thành phần để có thể áp dụng một cách tốt nhất cho hệ thống của họ mà lại không phải thay đổi hay thiết kế lại các thành phần cơ sở của UML Cơ chế đó bao gồm:
• Stereotypes (khuôn mẫu): mở rộng tập từ vựng của UML, cho phép tạo những thành phần mới kế thừa những đặc điểm của những thành phần đã có đồng thời chứa thêm những đặc điểm riêng gắn với một bài toán cụ thể nào đó
Trang 22• Tagged values (giá trị thẻ): mở rộng thuộc tính của các thành phần của UML, nó cho phép ta tạo thêm những thông tin mới về một phần
tử Ví dụ như khi làm việc hợp tác để tạo ra một sản phẩm, ta muốn chỉ ra các phiên bản và tác giả của một đối tượng nào đó Điều này không được xây dựng sẵn trong UML mà có thể thực hiện thông qua việc thêm vào một giá trị thẻ
• Constraints (ràng buộc): mở rộng ngữ nghĩa của các thành phần của UML, cho phép tạo ra những quy tắc mới hoặc sửa chữa những quy tắc đã có
2.6 Kiến trúc hệ thống
• Khi xem xét một hệ thống, chúng ta cần xây dựng các mô hình từ những khía cạnh khác nhau, xuất phát từ thực tế là những người làm việc với hệ thống với những vai trò khác nhau sẽ nhìn hệ thống từ những khía cạnh khác nhau
• UML xét hệ thống trên 5 khía cạnh:
Biểu đồ dùng đến là biểu đồ Use Case
2.6.2 Logical View
Được dùng để xem xét các phần tử bên trong hệ thống và mối quan hệ, sự tương tác giữa chúng để thực hiện các chức năng mong đợi của hệ thống
2.6.3 Process View
Chia hệ thống thành các tiến trình(process) và luồng(thread), mô tả việc đồng bộ hóa
và các xử lý đồng thời Dùng cho người phát triển và tích hợp hệ thống, bao gồm các biểu đồ sequence, collaboration, activity và state
2.6.4 Implementation View
Bao gồm các component và file tạo nên hệ thống vật lý Nó chỉ ra sự phụ thuộc giữa các thành phần này, cách kết hợp chúng lại với nhau để tạo ra một hệ thống thực thi
Trang 232.6.5 Deployment View
Chỉ ra cấu hình phần cứng mà hệ thống sẽ chạy trên đó Nó thể hiện sự phân tán, cài đặt các phần mà tạo nên kiến trúcvật lý của hệ thống Biểu đồ được sử dụng là biểu đồ Deployment
2.7 Phân tích hệ thống hệ thống thông tin hướng đối tượng với UML
• Nhiệm vụ chính của UML là đóng vai trò một ngôn ngữ mô hình hóa thống nhất, trực quan, chuẩn hóa các kí hiệu, ngữ nghĩa của các mô hình và các biểu đồ khi thể hiện các đối tượng, các sự kiện trong thế giới thực và trong lĩnh vực máy tính chứ không chỉ ra cho người dùng biết việc lập mô hình cho một hệ thống phải theo các bước như thế nào Đó chính là mục đích của một phương pháp phân tích, thiết kế hướng đối tượng
• Hướng đối tượng là một cách tiếp cận khác với cách tiếp cận có cấu trúc truyền thống Với cách tiếp cận hướng đối tượng, ta chia ứng dụng thành các đối tượng, tương đối độc lập với nhau Sau đó ta có thể xây dựng hệ thống bằng cách kết hợp chúng lại với nhau Một trong những ưu điểm của phương pháp này là tính sử dụng lại Ta có thể xây dựng các đối tượng một lần và dùng chúng trong nhiều ứng dụng Hơn thế nữa các đối tượng này đã qua một quá trình thử nghiệm và kiểm tra nên các rủi ro về lỗi là rất ít
• Vậy phương pháp hướng đối tượng khác phương pháp có cấu trúc ở điểm nào? Theo cách tiếp cận có cấu trúc thì chúng ta tập trung vào các thông tin mà hệ thống sẽ lưu giữ Chúng ta hỏi người dùng về các thông tin mà họ cần, thiết kế cơ sở dữ liệu để lưu trữ các thông tin này, lập các màn hình để nhập và hiển thị thông tin, tạo các báo cáo để in thông tin Nói một cách khác, chúng ta tập trung vào thông tin mà ít chú trọng tới cái gì được thực hiện với các thông tin đó tức là ứng xử của hệ thống Cách tiếp cận này còn được gọi là hướng dữ liệu và đã được dùng để tạo ra hàng nghìn ứng dụng trong nhiều năm qua
• Hướng dữ liệu áp dụng tốt trong việc thiết kế cơ sở dữ liệu và nắm bắt thông tin, tuy nhiên cách tiếp cận này gặp phải một số khó khăn Một trong những thách thức lớn nhất đó là việc thay đổi các yêu cầu của người dùng Một hệ thống được xây dựng hướng dữ liệu có thể điều khiển việc thay đổi cơ sở dữ liệu một cách dễ dàng nhưng những thay đổi về quy tắc nghiệp vụ (business rules) sẽ không dễ dàng để thực thi
• Khái niệm hướng đối tượng đã được phát triển để giải quyết vấn đề này Nó sẽ tập trung vào cả dữ liệu và các thao tác trên các dữ liệu đó Do đó hệ thống sẽ linh hoạt hơn và dễ dàng thay đổi khi dữ liệu và ứng xử trên dữ liệu thay đổi
Trang 24• UML không chỉ thuần túy là một ngôn ngữ mô hình hóa Nó được phát triển bởi các chuyên gia hàng đầu trong lĩnh vực hướng đối tượng, những người đã đề xuất ra những phương pháp phân tích thiết kế hướng đối tượng hay được dùng nhất, như kỹ thuật phân tích Use case của Ivar Jacobsson, biểu đồ chuyển trạng thái của Harel…
do đó nếu những người phân tích tiếp cận việc xây dựng các phần tử của mô hình
đã được định nghĩa trong UML một cách hợp lý và có hệ thống thì họ sẽ thu được một phương pháp phân tích, thiết kế hướng đối tượng tốt
• Thông thường việc phân tích và thiết kế hệ thống được thực hiện theo các bước sau:
Phân tích yêu cầu: Dùng phương pháp phân tích Use case để nắm bắt các yêu cầu của khách hàng Đây là một bước quan trọng và sự thành công của bước này sẽ quyết định sự thành công của dự án Bởi vì một hệ thống dù có xây dựng tốt đến đâu nhưng không đáp ứng được những nhu cầu của khách hàng hệ thống sẽ thất bại Phân tích: Sau khi đã biết được người dùng muốn gì, chúng ta tập trung mô tả lại
hệ thống, các khái niệm chính trong lĩnh vực của hệ thống cần xây dựng, trong hướng đối tượng gọi là các lớp lĩnh vực ( domain class ), mối quan hệ và sự tương tác giữa các đối tượng đó Mục đích chính là hiểu hệ thống hoạt động như thế nào Thiết kế: ở bước này sử dụng kết quả thu được ở các bước trước để mở rộng thành một giải pháp kỹ thuật, thêm vào các lớp thuộc về kỹ thuật như các lớp giao diện, các lớp điều khiển…Tập trung mô tả cấu trúc bên trong của hệ thống, sự tương tác của tập hợp các đối tượng để đạt được những chức năng mà hệ thống cần có
• Mặc dù UML không bắt buộc phải sử dụng một quy trình phát triển phần mềm cụ thể nào những nó được khuyến khích sử dụng với quy trình lặp và tăng dần
• 1 Phân tích Use case :
Trang 25• 3 Xác định tương tác giữa các đối tượng
• 5 Thêm vào các thuộc tính và phương thức cho các lớp
• 6 Xác định ứng xử của đối tượng
Xây dựng biểu đồ chuyển trạng
Xây dựng biểu đồ hoạt động
• 7 Xác định kiến trúc của hệ thống
Xây dựng biểu đồ thành phần
Xây dựng biểu đồ triển khai
• 8 Kiểm tra lại mô hình
Trang 26CHƯƠNG 3: XÁC ĐỊNH YÊU CẦU BÀI TOÁN QUẢN LÍ BÁN HÀNG
3.1 Giới thiệu hệ thống
Trong bài toán này, nhân viên bán hàng sẽ tính tổng số tiền mà khách hàng đã mua
và lập hóa đơn cho khách hàng thanh toán Khách hàng thì gồm có khách hàng quen thuộc của cửa hàng là KH hay lui tới mua các sản phẩm của cửa hàng và khách hàng bình thường KH quen thuộc sẽ nhận được ưu đãi của cửa hàng khi tới mua thông qua các hình thức như tích điểm, hoặc khuyến mại
Thủ kho sẽ quản lí việc xuất nhập hàng hóa Khi hết một loại mặt hàng nào đó thì thủ kho phải lập Phiếu Nhập Hàng và trong phiếu nhập hàng này người thủ kho phải ghi rõ tất cả các thông tin về hàng hóa nhập ví dụ như: ngày nhập, tên hàng hóa nhập, số lượng nhập, loại mặt hàng Trong quá trình kiểm kê nhập hàng hóa nếu thấy hàng hóa nào không đủ tiêu chuẩn và chất lượng phải lập Phiếu Trả Hàng Nhân viên của cửa hàng ghi nhận trong sổ những dữ liệu giao dịch có thể đo lường bằng tiền mặt từ đó thống kê doanh thu của cửa hàng mình, số hàng hóa đã bán ra
và số lượng hàng hóa còn lại đang tồn ở trong kho.Việc này phải được thống kê liên tục hàng ngày hàng tháng, hàng quý, và báo cho quản lí cửa hàng hay chủ cửa hàng đưa ra những phương án phát triển cửa hàng
Người quản lí hay chủ cửa hàng là người liên hệ trực tiếp với các đối tác để nhập hàng, cũng như có các quan hệ trong làm ăn Người quản lí hay chủ cửa hàng cũng
là người quản lí nhân viên của mình, nắm được việc nhập xuất hàng hóa, hay doanh thu của cửa hàng mình
Nhân viên và người quản lí muốn thực hiện được các chức năng và nhiệm vụ của mình thì phải đăng nhập vào hệ thống với tài khoản và mật khẩu đã được tạo từ trước đó
3.2 Yêu cầu hệ thống
Cung cấp cho nhân viên bán hàng những thông tin về hàng hóa, từ đó giúp nhân viên có thể tìm kiếm hàng hóa theo yêu cầu của khách hàng một cách nhanh chóng, chính xác, tiết kiệm thời gian
Hỗ trợ cho người thủ kho trong việc cập nhật các thông tin khi nhập hàng hóa vào,
Hệ thống giúp cho nhân viên thống kê được doanh thu của cửa hàng, các loại mặt hàng đã bán với số lượng bao nhiêu và số lượng tồn kho còn lại là bao nhiêu
Hệ thống có thế giúp người thủ kho nhập hàng hóa khi hàng hóa hết, giúp thủ kho trong việc kiểm tra các mặt hàng
Trang 27Hệ thống lưu trữ đầy đủ thông tin về cửa hàng giúp người quản lí hay chủ cửa hàng biết được doanh thu của cửa hàng, quản lí nhân viên, quản lí hàng hóa, quản lí khách hàng
Yêu cầu thông tin thống kê từ hệ thống phải chính xác, đầy đủ và khách quan
Hệ thống có các chức năng thêm, sửa, xóa và cập nhập dữ diệu cho các đối tượng như nhân viên, hàng hóa, khách hàng quen thuộc và quản lí, chủ cửa hàng
Trang 28dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ
SQL là ngôn ngữ chuẩn cho hệ cơ sở dữ liệu quan hệ Tất cả các hệ thống quản lý cơ sở dữ liệu quan hệ (RDMS) như MySQL, MS Access, Oracle, Sybase, Informix, Postgres và SQL Server đều sử dụng SQL làm ngôn ngữ
cơ sở dữ liệu chuẩn
4.1.2 Ưu điểm của SQL
SQL được sử dụng phổ biến vì nó có những ưu điểm sau:
Cho phép người truy cập dữ liệu trong các hệ thống quản lí cơ sở dữ liệu quan hệ
Cho phép người dung mô tả dữ liệu
Cho phép người dùng xác định dữ liệu trong cơ sở dữ liệu và thao tác dữ liệu đó
Cho phép nhúng trong các ngôn ngữ khác sử dụng mô-đun SQL, thư viện
và trình biên dịch trước
Cho phép người dùng tạo và thả các cơ sở dữ liệu và bảng
Cho phép người dùng tạo chế độ view, thủ tục lưu trữ, chức năng trong
cơ sở dữ liệu
Cho phép người dùng thiết lập quyền trên các bảng, thủ tục và view
4.1.3 RDBMS là gì?
RDBMS là viết tắt của Relational Database Management System có nghĩa là
hệ quản trị cơ sỡ dữ liệu quan hệ RDBMS là cơ sở cho SQL, và cho tất cả các hệ thống cơ sở dữ liệu hiện đại như MS SQL Server, IBM DB2, Oracle, MySQL và Microsoft Access
Dữ liệu trong một RDBMS được lưu trữ trong các đối tượng cơ sở dữ liệu được gọi là các bảng (table) Bảng này về cơ bản là một bộ sưu tập các mục nhập dữ liệu có liên quan và nó bao gồm nhiều cột và hàng
Trang 29Bảng là hình thức lưu trữ dữ liệu phổ biến và đơn giản nhất trong một cơ sở
C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java
C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm Executable Code và Runtime Environment, cho phép chúng ta sử dụng các ngôn ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính khác nhau
C# với sự hỗ trợ mạnh mẽ của NET Framework giúp cho việc tạo một ứng dụng Windows Forms hay WPF (Windows Presentation Foundation), trở nên rất dễ dàng
4.2.2 Đặc Trưng Của C#
C# là ngôn ngử đơn giản : + Như ta đã biết thì ngôn ngữ C# dựng trên nền tảng C++ và Java nên ngôn ngữ C# khá đơn giản Nếu chúng ta thân thiện với C và C++ hoậc thậm chí là Java, chúng ta sẽ thấy C# khá giống về diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn Một vài trong các sự cải tiến là loại bỏ các dư thừa, hay là thêm vào những cú pháp thay đổi
C# là ngôn ngữ hiện đại:
+ Một vài khái niệm khá mới mẻ khá mơ hồ với các bạn vừa mới học lập trình, như xử lý ngoại lệ, những kiểu dữ liệu mở rộng, bảo mật mã nguồn v v… Đây là những đặc tính được cho là của một ngôn ngữ hiện
Trang 30đại cần có Và C# chứa tất cả các đặt tính ta vừa nêu trên Các bạn sẽ dần tìm hiểu được các đặt tính trên qua các bài học trong series này
C# là một ngôn ngữ lập trình thuần hướng đối tượng : + Lập trình hướng đối tượng (Object-oriented programming,OOP) là một
phương pháp lập trình có 4 tính chất Đó là tính trừu tượng (abstraction),
tính đóng gói (encapsulation), tính đa hình (polymorphism) và tính kế thừa (inheritance) C# hỗ trợ cho chúng ta tất cả những đặc tính trên Và
để hiểu rõ hơn thì chúng ta sẽ có một chương trình bày về phần này
C# là một ngôn ngữ ít từ khóa : + C được sử dụng để mô tả thôn# là ngôn ngữ sử dụng giới hạn những
từ khóa (gồm khoảng 80 từ khóa và mười mấy kiểu dữ liệu xây dựng sẵn) Nếu bạn nghĩ rằng ngôn ngữ có càng nhiều từ khóa thì sẽ càng mạnh
mẽ hơn Điều này không phải sự thật, lấy ví dụ ngôn ngữ C# làm điển hình nhé Nếu bạn học sâu về C# bạn sẽ thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào
C# còn có một số ưu điểm sau : + C# có cấu trúc khá gần gũi với các ngôn ngữ lập trình truyền thống, nên cũng khá dể dàng tiếp cận và học nhanh với C#
+ C# có thể biên dịch trên nhiều nền tảng máy tính khác nhau
+ C# được xây dựng trên nền tảng của C++ và Java nên nó được thừa hưởng những ưu điểm của ngôn ngữ đó
+ C# là một phần của NET Framework nên được sự chống lưng khá lớn đến từ bộ phận này
+ C# có IDE Visual Studio cùng nhiều plug-in vô cùng mạnh mẽ
4.2.3 Cấu Trúc Môi Trường Cho C#
Để bắt đầu học lập trình C# thì việc đầu tiên các bạn cần phải làm đó là cài đặt môi trường lập trình Trong bài viết này mình sẽ giới thiệu đến các bạn những công cụ cần thiết cần phải cài đặt phục vụ cho việc học lập trình C# trong thời gian tới Như mình đã đề cập rằng C# là một phần của Net Framework và được sử dụng để viết các ứng dụng Net Vì thế, trước khi thảo luận về các công cụ có sẵn để chạy một chương trình C#, chúng
ta nên hiểu cách C# liên quan tới Net Framework một tí nhé
NET Framework là gì?
.NET Framework của Microsoft là một nền tảng lập trình tập hợp các
thư viện lập trình có thể được cài thêm hoặc đã có sẵn trong các hệ
Trang 31điều hành Windows Nó cung cấp những giải pháp thiết yếu cho những yêu cầu thông thường của các chương trình điện toán như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, ứng dụng web, các giải thuật số học và giao tiếp mạng Ngoài ra, NET Framework quản lý việc thực thi các chương trình được viết dựa trên NET Framework do đó người dùng cần phải cài NET Framework để có thể chạy các chương trình được viết trên nền NET
Ví dụ: như để thiết kế một game đua xe, nếu không có bộ Framework chuyên dụng cho game, người lập trình game phải tự tạo ra: khung xe, bánh xe, người, đường đi … rồi mới tính đến chuyện lắp ghép chúng lại với nhau để tạo ra không gian cho game; Nếu có sẵn bộ Framework thì lập trình viên chỉ viết lệnh lấy chúng ra từ Framework và ghép chúng lại Có thể hình dung Framework bao gồm các vật liệu như gạch, cát, xi măng, sắt … nhưng tùy theo cách thiết kế của người kiến trúc sư mà tạo ra những căn nhà với hình dạng khác nhau
Integrated Dvelopment Environment (IDE) cho C#
Microsoft cung cấp các công cụ phát triển sau cho lập trình C#: + Visual Studio (VS)
+ Visual c# Express (VCE) + Visual web Developer + Ứng với mỗi công cụ thì có nhiều phiên bản khác nhau để
sử dụng, khuyến khích các bạn sử dụng các bạn sử dụng các tool mới nhất để được hỗ trợ nhiều hơn nhưng bên cạnh đó cũng cần yêu cầu cấu hình máy của bạn phải đủ mạnh để sử dụng Hai công cụ Visual C# Express và Visual Web Developer là hai công cụ có sẵn và miễn phí tại website chính thức của Microsoft Việc sử dụng các tool này giúp bạn có thể viết tất cả các loại chương trình từ gồm các dòng lệnh đơn giản đến các ứng dụng phức tạp của C# Ngoài ra bạn có thể viết các tệp source code của C# bằng một text editor đơn giản như Notepad rồi biên dịch nó vào Assembly bằng cách sử dụng Command-line Compiler mà là một phần của NET Framework
Viết C# Trên Hệ Điều Hành Khác Các Công cụ mình vừa giới thiệu trên chỉ sử dung được trên Windows còn đối với các bạn sử dụng Mác OS hay Linux thì có
Trang 32một vấn đề rất khó khan đó là sự khan hiếm các công cụ hổ trợ các ngôn ngủ NET nói chung và C# nói riêng Nhung cũng có một só phiên bản thay thế làm việc trên các hệ điều hành như Mono , đây
là một phiên bản mã nguồn mở của NET Framework mà gồm một C# compiler và chạy trên một số Hệ điều hành gồm Linux và Mac OS Đây là một công cụ hữu ích cho các lập trình viên NET trong việc xây dựng trên các nền tảng khác nhau
Trang 33CHƯƠNG 5: PHÂN TÍCH HỆ THỐNG QUẢN LÝ BÁN HÀNG 5.1 Xây Dựng Biểu Đồ Use Case
Biểu Đồ 1: Biểu Đồ Use Case Tổng Quát
Trang 345.1.2 Phân Rã Biểu Đồ Use Case
Phân rã use case cập nhật hàng hóa
Use case cập nhật hàng được thực hiện bởi thủ kho và được phân rã thành ba use case nhỏ là: thêm hàng, xóa hàng, sửa thông tin hàng
Biểu Đồ 2: Biểu Đồ Use Case Cập Nhật Hàng Hóa
Phân rã use case cập nhật khách hàng
Use case cập nhật khách hàng được thức hiện bởi nhân viên bán hàng và được phân rã thành ba use case con là: thêm khách hàng, sửa thông tin khách hang, xóa khách hàng
Biểu Đồ 3: Biểu Đồ Use Case Cập Nhật Khách Hàng