1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỀ TÀI : XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ KHÁCH SẠN

80 400 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 80
Dung lượng 3,42 MB

Nội dung

Phiên bản Visual Studio 2008 Professional được thiết kế nhằm hỗ trợ cho các dự án phát triển hướng đến nềntảng Web như ASP.NET AJAX, Windows Vista, Visual Studio 2008, hệ thốngMicrosoft

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

Tel (84-511) 736 949, Fax (84-511) 842 771Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn

LUẬN VĂN TỐT NGHIỆP KỸ SƯ

NGÀNH CÔNG NGHỆ THÔNG TIN

MÃ NGÀNH : 05115

ĐỀ TÀI : XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ KHÁCH SẠN

Mã số : 06T2-39 Ngày bảo vệ : 15/06/2011

SINH VIÊN : DƯƠNG AN TIÊN

ĐÀ NẴNG, 06/2011

Trang 2

Tôi xin chân thành cảm ơn các thầy cô trong khoa Công Nghệ Thông Tin, Trường đại học Bách Khoa, Đại học Đà Nẵng đã tận tình dạy dỗ tôi trong suốt thời gian học tập.

Đặc biệt xin gửi lời cảm ơn đến cô Nguyễn Thị Minh Hỷ, người đã trực tiếp hướng dẫn tôi thực hiện đồ án.Cảm ơn ban quản lý khách sạn Phước

An đã giúp tôi hoàn thành đồ án này.

Xin cảm ơn cha mẹ, bạn bè, nhũng người luôn đứng sau động viên, giúp

đỡ cho tôi thêm niềm tin và nghị lực trong suốt quá trình học tập và thực hiện đồ án này.

Xin chân thành cảm ơn!

Dương An Tiên

LỜI CAM ĐOAN

Trang 3

dẫn trực tiếp của cô ThS Nguyễn Thị Minh Hỷ

2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác

giả, tên công trình, thời gian, địa điểm công bố.

3 Mọi sao chép không hợp lệ, vi phạm qui chế đào tạo, hay gian trá, tôi

xin chịu hoàn toàn trách nhiệm.

Dương An Tiên

Trang 4

MỤC LỤC

GIỚI THIỆU

CƠ SỞ LÝ THUYẾT 1

I Công cụ hỗ trợ lập trình: 1

I.1 Microsoft Visual Studio 2008 1

I.1.1 Lịch sử phát triển 1

Một số tính năng nổi bật: 2

I.1.1.1 Tốc độ 2

I.1.1.2 Truy xuất dữ liệu 2

I.1.1.3 Thiết kế giao diện nhanh, hiệu quả 3

I.1.1.4 Nền tảng mới, hỗ trợ mới 3

I.1.1.5 Kết nối với Microsoft Office 3

I.1.1.6 Hỗ trợ Vista từ trong ra ngoài 3

I.1.1.7 Cộng tác 4

I.1.1.8 Mở rộng nhóm 4

I.1.1.9 Nhắm tới chất lượng 4

I.2 Nhìn nhận và trải nghiệm 4

I.2.1 Nhìn nhận 4

I.2.2 Trải nghiệm 5

II Ngôn ngữ lập trình C#: 5

II.1 Microsoft NET: 5

II.1.1 Thư viện lớp NET Framework: 5

II.2 Ngôn ngữ C# 6

II.2.1 C# là ngôn ngữ đơn giản 6

II.2.2 C# là ngôn ngữ hiện đại 7

II.2.3 C# là ngôn ngữ hướng đối tượng 7

II.2.4 C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo 7

II.2.5 C# là ngôn ngữ ít từ khóa 7

II.2.6 C# là ngôn ngữ hướng module 8

II.2.7 C# sẽ là một ngôn ngữ phổ biến 8

II.2.8 Ngôn ngữ C# và những ngôn ngữ khác 8

III Cơ sở dữ liệu SQL Server 2005 9

III.1 Khái niệm SQL: 9

III.2 Đặc điểm, đối tượng làm việc của SQL Server: 9

III.2.1 Đặc điểm: 9

III.2.2 Các kiểu dữ liệu cơ bản của SQL Server: 9

III.3 Đối tượng làm việc của SQL 10

III.4 Giới thiệu các tập lệnh cơ bản của SQL : 10

III.5 Những đặc điểm khiến SQL Server 2005 nổi trội hơn SQL Server 2000.10 IV Giới thiệu về UML 11

IV.1 Sự ra đời của UML 11

IV.1.1 UML là gì? 12

Trang 5

IV.1.2 Vai trò của UML 12

IV.1.3 Những lĩnh vực có thể sử dụng UML 12

IV.2 Ứng dụng của mô hình UML 13

IV.2.1 UML là ngôn ngữ dùng để trực quan hóa 13

IV.2.2 UML là ngôn ngữ để chi tiết hóa 15

IV.2.3 UML là ngôn ngữ dùng để sinh ra mã ở dạng nguyên mẫu 15

IV.2.4 UML là ngôn ngữ dùng để lập và cung cấp tài liệu 15

IV.3 Các loại biểu đồ UML 16

IV.3.1 Biểu đồ lớp(class diagram) 16

IV.3.2 Biểu đồ đối tượng(Object diagram) 16

IV.3.3 Biểu đồ use case 16

IV.3.4 Biểu đồ trình tự(Sequence Diagram) 16

IV.3.5 Biểu đồ hợp tác (Collaboration) 16

IV.3.6 Biểu đồ chuyển trạng thái (Statechart) 17

IV.3.7 Biểu đồ hoạt động(Activity) 17

IV.3.8 Biểu đồ thành phần (Component) 17

PHÂN TÍCH THIẾT KẾ HỆ THỐNG 18

I Mô tả hệ thống bằng sơ đồ Use Case 18

I.1 Danh sách Use case 18

I.2 Mô tả các tác nhân 19

I.3 Sơ đồ Use case tổng thể: 19

I.4 Phân rã các Use case 20

I.4.1 Use Case quản lý việc đặt phòng cho khách 20

I.4.2 Use case quản lý việc trả phòng cho khách 22

I.4.3 Use case tra cứu thông tin phòng 24

I.4.4 Use case quản lý việc sử dụng dịch vụ phòng 25

I.4.5 Use case tìm kiếm phòng 27

I.4.6 Use case đăng nhập, đăng xuất 31

I.4.7 Quản lý thêm, xóa, cập nhật thông tin phòng 33

I.4.8 Use case quản lý thêm, xóa, cập nhật dịch vụ 35

I.4.9 Use case quản lý thêm, xóa, cập nhật nhân viên 38

II Các thuật toán sử dụng 40

II.1 Thuật toán tìm kiếm phòng 40

II.2 Thuật toán thêm phòng mới 41

II.3 Thuật toán xóa một phòng 42

II.4 Thuật toán cập nhật thông tin phòng 43

II.5 Thuật toán quản lý thuê phòng 44

II.6 Thuật toán quản lý trả phòng 45

XÂY DỰNG CHƯƠNG TRÌNH 47

I Thiết kế cơ sở dữ liệu 47

I.1 Các bảng dữ liệu: 47

I.1.1 Mô hình dữ liệu quan hệ 50

II Thiết kế giao diện 51

II.1 Giao diện chính của chương trình 51

Trang 6

II.2 Giao diện chức năng quản lý phòng 52

II.3 Giao diện quản lý dịch vụ 52

II.4 Giao diện quản lý nhân viên 53

II.5 Giao diện quản lý thuê phòng 54

II.6 Giao diện quản lý trả phòng 55

II.7 Giao diện quản lý dùng dịch vụ 56

III Kết quả Demo 57

III.1 Giao diện chính hiển thị danh sách các phòng bao gồm: 57

III.2 Chức năng tìm kiếm phòng (không cần phải đăng nhập): 58

III.2.1 Tìm kiếm theo tình trạng phòng 58

III.2.2 Tìm kiếm theo Tình trạng phòng là đã có khách 59

III.2.3 Tìm kiếm theo loại phòng như : tất cả , thường, VIP 60

III.3 Chức năng đăng nhập 60

III.4 Chức năng Quản lý phòng: 60

III.5 Chức năng Quản lý dịch vụ 62

III.6 Chức năng Quản lý nhân viên 64

III.7 Chức năng thuê phòng : 65

III.8 Trả phòng - Thanh toán Hóa đơn - Xuất hóa đơn: 66

KẾT LUẬN 67

I Kết quả đạt được 67

II Mặt hạn chế: 67

III Hướng phát triển của đề tài 67

Trang 7

DANH MỤC HÌNH

Hình 1: Microsoft Visual Studio 2008 1

Hình 2:Hai phiên bản Professional và Standard 2

Hình 3 : Các Use case chính của hệ thống 18

Hình 4 : Các tác nhân chính của hệ thống 19

Hình 5 : Sơ đồ Use Case tổng thể 20

Hình 6 : Use Case quản lý việc đặt phòng cho khách 20

Hình 7 : Use case quản lý việc trả phòng cho khách 22

Hình 8 : Use case tra cứu thông tin phòng 24

Hình 9 : Use case quản lý việc sử dụng dịch vụ phòng 25

Hình 10 : Use case tìm kiếm phòng 27

Hình 11 : Use case đăng nhập, đăng xuất 31

Hình 12: Use case quản lý thêm, xóa, cập nhật thông tin phòng 33

Hình 13: Use case quản lý thêm, xóa, cập nhật dịch vụ 35

Hình 14: Use case quản lý thêm, xóa, cập nhật nhân viên 38

Hình 15 : Thuật toán tìm kiếm phòng 41

Hình 16 : Thuật toán thêm phòng mới 42

Hình 17 : Thuật toán xóa một phòng 43

Hình 18 : Thuật toán cập nhật thông tin phòng 44

Hình 19 : Thuật toán quản lý thuê phòng 45

Hình 20 : Thuật toán quản lý trả phòng 46

Hình 21 : Mô hình quan hệ dữ liệu 51

Hình 22 : Giao diện chính của chương trình 51

Hình 23 : Giao diện chức năng quản lý phòng 52

Hình 24 : Giao diện quản lý dich vụ 53

Hình 25 : Giao diện quản lý nhân viên 54

Hình 26 : Giao diện quản lý thuê phòng 55

Hình 27 : Giao diện quản lý trả phòng 56

Hình 28 : Giao diện quản lý dùng dịch vụ 57

Hình 29 : Giao diện chính của chương trình 58

Hình 30 : Tìm kiếm theo tình trạng phòng 59

Hình 31 : Tìm kiếm theo Tình trạng phòng là đã có khách 59

Hình 32 : Tìm kiếm phòng theo Loại phòng là phòng Vip 60

Hình 33 : Chức năng đăng nhập 60

Hình 34 : Chức năng quản lý phòng 61

Hình 35 : Chức năng thêm, sửa, xóa phòng 61

Hình 36 : Thêm phòng mới và điền thông tin phòng 62

Hình 37 : Xóa phòng được chọn 62

Hình 38 : Chức năng quản lý dịch vụ 63

Hình 39: Chức năng Thêm, Sửa, Xóa dịch vụ 63

Hình 40 : Chức năng quản lý nhân viên 64

Hình 41 : Chức năng thêm, sửa nhân viên 64

Hình 42 : Chức năng thuê phòng 65

Trang 8

Hình 43 : Nhập thông tin phiếu thuê phòng 65 Hình 44 : Chức năng trả phòng 66 Hình 45 : Xuất hóa đơn 66

Trang 9

DANH MỤC BẢNG

Bảng 1 : Bảng dữ liệu người dùng 47

Bảng 2 : Bảng dữ liệu ngoại tệ 47

Bảng 3 : Bảng dữ liệu dịch vụ phòng 47

Bảng 4 : Bảng dữ liệu các tầng 47

Bảng 5 : Bảng dữ liệu nhóm phòng 48

Bảng 6 : Bảng dữ liệu tình trạng phòng 48

Bảng 7 : Bảng dữ liệu dịch vụ phòng 48

Bảng 8 : Bảng dữ liệu phòng 48

Bảng 9 : Bảng dữ liệu chi tiết phiếu thuê phòng 49

Bảng 10 : Bảng dữ liệu hóa đơn 49

Bảng 11 : Bảng dữ liệu chi tiết hóa đơn 49

Bảng 12 : Bảng dữ liệu phiếu thuê phòng 50

Bảng 13 : Bảng dữ liệu đoàn khách 50

Bảng 14 : Bảng dữ liệu khách 50

Bảng 15 : Bảng dữ liệu giới tính 50

Trang 10

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 11

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 12

GIỚI THIỆU

I.Giới thiệu bối cảnh của đề tài:

Hiện nay, dịch vụ du lịch ngày càng phát triển mạnh mẽ, các khách sạn xuấthiện khắp nơi, lượng khách du lịch ngày càng đông, việc quản lý khách sạn ngày càngkhó khăn, do đó nhu cầu tin học hoá việc quản lý khách sạn là điều tất yếu

Chính vì vậy, tôi đã chọn đề tài “Xây dựng chương trình quản lý khách sạn”

làm luận văn tốt nghiệp.Để giải quyết đề tài tôi chọn công cụ lập trình MicrosoftVisual Studio 2008, ngôn ngữ lập trình C# và cơ sở dữ liệu SQL 2005

II.Mục đích :

Với đề tài “Xây dựng chương trình quản lý khách sạn”, mục đích chính của

tôi là xây dựng một chương trình hỗ trợ cho việc quản lý khách sạn hiệu quả và có thểứng dụng trong thực tế, quản lý tốt các vấn đề về đặt phòng, trả phòng, quản lí nhânviên và các dịch vụ

Chương trình có giao diện đơn giản, quản lý hiệu quả, dễ sử dụng và nâng cấpmang lại lợi ích về kinh tế

III.Nhiệm vụ phải thực hiện và kết quả dự kiến:

 Nhu cầu đặt ra của hệ thống quản lý Khách sạn:

1 Quản trị hệ thống

Bao gồm các chức năng quản trị như sau:

- Phân quyền người dùng trên hệ thống

- Quản lý nhân viên

- Quản lý giá cả, thông tin phòng

- Tra cứu thông tin phòng

- Tìm kiếm theo thông tin phòng

Trang 13

- Nắm được những kiến thức cơ bản về việc xây dựng một phần mềm quản lý.

- Chương trình chạy ổn định, hiệu quả cao

IV.Tóm tắt phương pháp triển khai:

Tóm tắt phương pháp triển khai:

- Khảo sát các Khách sạn ở Đà Nẵng, tìm hiểu về cơ chế quản lý phòng, nhân viêndịch vụ

- Tìm hiểu ngôn ngữ lập trình C#, cơ sở dữ liệu SQL Server 2005

- Công cụ hỗ trợ lập trình Visual Studio 2008

- Phân tích các chức năng của bài toán

- Thiết kế cơ sở dữ liệu

- Viết chương trình

- Triển khai và đánh giá kết quả

Tóm tắt nội dung các chương:

 Chương 1: Nghiên cứu về cơ sở lý thuyết, ngôn ngữ lập trình và công cụ hỗtrợ lập trình, hệ cơ sở dữ liệu Nêu ra thực trạng mà phần mềm yêu cầu

 Chương 2 : Phân tích thiết kế hệ thống quá trình tìm hiểu để hoàn thành phầnmềm một cách thành công và đạt yêu cầu, hiệu quả

 Chương 3 : Quá trình thực hiện phần mềm, cung cấp Demo và kết quả phầnmềm đạt được

 Chương 4 : Kết luận, so sánh, đánh giá kết quả đã thực hiện và khả năng mởrộng của đề tài

Trang 14

cụ có tên InterDev.

Năm 2002 và 2003, Microsoft trình làng cặp sản phẩm mang tính đột phá VisualStudio NET 2002 và Visual Studio NET 2003 cùng với Net Framework Đây là mộtIDE đa năng, bạn có thể viết ứng dụng bằng bất cứ ngôn ngữ gì, từ C++, Visual Basiccho dến J++ hay C#; chỉ cần duy nhất một IDE là bạn sẽ làm chủ tất cả, từ thiết kếgiao diện cho tới soạn thảo mã lệnh, tất cả đều thật dễ dàng

Ba năm sau, Visual Studio 2005 ra đời, nó giúp cho nhà phát triển làm việc nhóm dễdàng và hiệu quả, cũng như giúp họ giảm bớt công sức và thời gian trong quá trìnhphát triển

Hình 1: Microsoft Visual Studio 2008

Phiên bản Visual Studio 2008 tăng cường sức mạnh cho các cá nhân và các nhóm pháttriển phần mềm nhỏ chuyển giao các ứng dụng nối mạng tận dụng được công nghệmới nhất mà vẫn đáp ứng hiệu quả hơn các mục tiêu kinh doanh

Microsoft® Visual Studio® 2008 thể hiện tầm nhìn rộng của Microsoft về các ứng

Trang 15

phiên bản trước trong việc capture và phân tích dữ liệu, điều đó có nghĩa họ có thểđưa ra được các quyết định hiệu quả trong công việc Visual Studio 2008 cho phépmọi tổ chức có thể nhanh chóng tạo được các ứng dụng tin cậy, có khả năng quản lý

và an toàn hơn để tận dụng Windows Vista™ và hệ thống Office 2007

Microsoft Visual Studio 2008 có hai phiên bản phổ biến:

Hình 2:Hai phiên bản Professional và Standard

+ Visual Studio 2008 phiên bản Professional là một bộ công cụ đầy đủ đẩy nhanh quá trình biến các ý tưởng của nhà phát triển thành hiện thực Phiên bản Visual Studio

2008 Professional được thiết kế nhằm hỗ trợ cho các dự án phát triển hướng đến nềntảng Web (như ASP.NET AJAX), Windows Vista, Visual Studio 2008, hệ thốngMicrosoft Office 2007, SQL Server 2008 và các thiết bị sử dụng Windows Mobile.+ Phiên bản Visual Studio 2008 Standard cung cấp một mội trường phát triển đủ tínhnăng cho các nhà phát triển Web và Windows.Phiên bản này có những cải tiến nângcao năng suất xây dựng các ứng dụng khách và ứng dụng Web hướng dữ liệu.Các nhàphát triển đang tìm cách tạo ra các ứng dụng kết nối với kinh nghiệm người dùng thế

hệ kế tiếp sẽ thấy Visual Studio phiên bản Standard là sự lựa chọn hoàn hảo

Một số tính năng nổi bật:

I.1.1.1 Tốc độ

Với mỗi phiên bản, Microsoft luôn cố gắng cải thiện Visual Studio để sao cho bạnluôn đạt được hiệu suất làm việc ngày càng cao hơn

I.1.1.2 Truy xuất dữ liệu

Có thể nói những thay đổi về truy xuất dữ liệu trong Visual Studio 2008 là một cuộccách mạng Ở phiên bản này Microsoft giới thiệu LINQ (Language Integrated Query –Ngôn ngữ truy vấn tích hợp) giúp nhà phát triển có thể tương tác với dữ liệu dựa trênmột mô hình hoàn toàn mới với rất nhiều hỗ trợ cho hai ngôn ngữ C# và Visual Basic

Xử lý dữ liệu luôn là trở ngại chính mà các nhà phát triển thường phải đối mặt, đặc

Trang 16

biệt là quá trình làm việc với những dữ liệu mang tính trao đổi cao như XML(eXtensible Markup Language - Ngôn ngữ đánh dấu mở rộng) Nhưng với LINQ, mọithứ dường như được giải tỏa, bởi như tên gọi của nó, LINQ được tích hợp vào ngaybản thân ngôn ngữ lập trình.

I.1.1.3 Thiết kế giao diện nhanh, hiệu quả

Với Visual Studio 2008, chỉ với một IDE duy nhất, chúng ta có thể làm việc được vớitất cả các phiên bản của Net Framework từ phiên bản mới nhất 3.5 đến phiên cũ hơn3.0 hay thậm chí là 2.0 Đặc biệt Windows Form designer của Visual Studio 2008được tích hợp chặt chẽ với WPF (Windows Presentation Foundation), giúp nhà pháttriển có được một giao diện thật bắt mắt nhưng lại chẳng tốn nhiều thời gian, côngsức

Không chỉ có vậy, chúng ta có thể sử dụng bộ công cụ thiết kế giao diện hàng đầu củaMicrosoft là Microsoft Expression Suite để quản lý bố cục, các control cũng như việcgắn kết dữ liệu MES được thiết kế giúp cho việc chuyên biệt hóa thiết kế, giờ đây dữliệu giữa Visual Studio 2008 và Expression có thể chia sẻ với nhau một cách dễ dàng,nhà thiết kế và nhà phát triển có thể dễ dàng cộng tác với nhau hơn

I.1.1.4 Nền tảng mới, hỗ trợ mới

Sinh sau đẻ muộn, Visual Studio 2008 hỗ trợ toàn bộ các nền tảng lớn của Microsoftnhư Microsoft Office 2007, Microsoft Windows Vista, Microsoft SQL Server 2008 vàMicrosoft Windows Server 2008

I.1.1.5 Kết nối với Microsoft Office

Tích hợp chặt chẽ với Microsoft Office thông qua bộ công cụ Visual Studio Tools forOffice (VSTO), nhà phát triển có thể tận dung toàn bộ ưu thế, năng lực tính toán, xử

lý và kết xuất dữ liệu của Microsoft Office để cho ra đời một sản phẩm đặc thù củariêng mình Theo một số nhận định, VSTO là nhịp cầu nối hoàn hảo giữa Office vàVisual Studio

I.1.1.6 Hỗ trợ Vista từ trong ra ngoài

Không chỉ là hỗ trợ về mảng thiết kế giao diện trực quan thông qua Windows FormDesigner, Visual Studio 2008 còn hỗ trợ nhà phát triển can thiệp sâu vào XAML đểxây dựng giao diện cho các ứng dụng dựa trên nền WPF Ngoài ra, theo Microsoft thìVisual Studio 2008 hỗ trợ tới trên 8000 API (Application Programming Interface)dành riêng cho Vista Thậm chí Visual Studio 2008 còn hỗ trợ cả WF (WindowsWorkflow Foundation) giúp nhà phát triển dễ dàng hơn khi triển khai ứng dụng, cóthể không cần viết một dòng mã nào

I.1.1.7 Cộng tác

Trang 17

Với Visual Studio Team System 2008, nhóm phát triển có được những hỗ trợ đặc biệt

từ các tính năng mới, có thể quản lý được chất lượng của sản phẩm ở mọi khâu trongquá trình phát triển

Trong khi đó nhà thiết kế giao diện có thể tung hoành với bộ công cụ MicrosoftExpression Studio để tạo ra những giao diện bắt mắt nhất với hiệu năng cao nhất Vànhà phát triển có thể sử dụng ngay Visual Studio để soạn thảo code

I.1.1.9 Nhắm tới chất lượng

Càng ngày mức độ phức tạp của các ứng dụng càng được nâng cao tuy nhiên chấtlượng của sản phẩm vẫn cần được đảm bảo Với Visual Studio 2008 nhà phát triển cóthể đảm bảo được cả tiến độ công việc cũng như chất lượng, có thể triển khai Unit testmột cách dễ dàng thông qua công cụ dòng lệnh được tích hợp với IDE

I.2 Nhìn nhận và trải nghiệm

I.2.1 Nhìn nhận

Tổng quan, Visual Studio 2008 được xây dựng dựa trên bộ ba trụ cột chính:

• Cải thiện hiệu năng sản phẩm

• Hỗ trợ quản lý vòng đời ứng dụng

• Sử dụng công nghệ mới

Visual Studio 2008 đem tới cho nhà phát triển, nhóm phát triển những hỗ trợ chuyênbiệt như:

• Hỗ trợ phát triển cho thiết bị thông minh

• Xây dựng các ứng dụng dựa trên nền Microsoft Office

• Xây dựng ứng dụng tương thích Windows Vista

• Nâng cao hiệu suất xử lý dữ liệu

• Đem đến những trải nghiệm mới về web

• Nâng cao hỗ trợ cho nhà phát triên

• Hỗ trợ quản lý vòng đời ứng dụng chi tiết

I.2.2 Trải nghiệm

Tính tới thời điểm này, Visual Studio 2008 Beta 2 bao gồm các phiên bản sau:

Trang 18

• Visual Studio 2008 Beta 2 Express Editions

Chia ra các gói nhỏ cho mỗi IDE (VB, VC#,VC++, VWD), mỗi gói xấp xỉ 450 MB

• Visual Studio 2008 Beta 2 Standard Edition (722 MB)

• Visual Studio 2008 Beta 2 Professional Edition (3,1 GB)

• Visual Studio Team System 2008 Beta 2 Team Suite (3,2 GB)

• Visual Studio Team System 2008 Beta 2 Team Foundation Server (1,4 GB)

• Visual Studio Team System 2008 Beta 2 Test Load Agent (232 MB)

kèm với

• MSDN Library for Visual Studio 2008 Beta 2 (1,9 GB)

Chúng được đóng gói dưới dạng file ảnh “.img”, bạn cần ghi ra đĩa CD/DVD để càiđặt hoặc mount trực tiếp file ảnh để cài Tải bản dùng thử 90 ngàytại http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx.

Ngoài ra bạn cũng có thể sử dụng Virtual PC để thử nghiệm Visual Studio 2008,Microsoft có cung cấp Virtual PC cài sẵn Visual Studio 2008 (có thể tải ở địa chỉ trên)gồm 2 file ảnh:

• Visual Studio Team System 2008 Beta 2 Team Suite (4,6 GB)

• Visual Studio Team System 2008 Beta 2 Team Suite & Team Foundation Server(5.6 GB)

II Ngôn ngữ lập trình C#:

II.1 Microsoft NET:

II.1.1.Thư viện lớp NET Framework:

Thư viện lớp NET Framework là một tập hợp những kiểu dữ liệu được dùng lại

và được kết hợp chặt chẽ với Comman Language Runtime Thư viện lớp là hướng đốitượng cung cấp những kiểu dữ liệu là mã nguồn được quản lý của chúng ta có thể dẫnxuất Điều này không chỉ làm cho những kiểu dữ liệu của .NETFramework dễ sử dụng mà còn làm giảm thời gian liên quan đến việc học đặc tínhmới của NET Framework Thêm vào đó, các thành phần của các hãngthứ ba có thể tích hợp với những lớp trong NET Framework

Cũng như mong đợi của người phát triển với thư viện lớp hướng đối tượng, kiểu

dữ liệu NET Framework cho phép người phát triển thiết lập nhiều mức độ thông dụngcủa việc lập trình, bao gồm các nhiệm vụ như: quản lý chuỗi, thu thập hay chọn lọc dữliệu, kết nối với cơ cở dữ liệu, và truy cập tập tin Ngoài những nhiệm vụ thông dụngtrên Thư viện lớp còn đưa vào những kiểu dữ liệu để hỗ trợ cho những kịch bản pháttriển chuyên biệt khác Ví dụ người phát triển có thể sử dụng NET Framework đểphát triển những kiểu ứng dụng và dịch vụ như sau:

Trang 19

như viết các ứng dụng ASP.NET thì có thể sử dụng các lớp Web Forms trong thư viện.NET Framework.

II.2 Ngôn ngữ C#

C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, làphần khởi đầu cho kế hoạch NET của họ Tên của ngôn ngữ bao gồm kí tự thăng theoMicrosoft nhưng theo ECMA là C#, chỉ bao gồm dấu số thường.Microsoft phát triểnC# dựa trên C++ và Java C# là ngôn ngữ có được sự cân bằng giữa C++, Visuabasic,Dephi và Java

C# hỗ trợ giao diện interface, nó được xem như một cam kết với một lớp chonhững dịch vụ mà giao diện quy định Trong ngôn ngữ C#, một lớp chỉ có thể kế thừa

từ duy nhất một lớp cha, tức là không cho đa kế thừa như trong ngôn ngữ C++, tuynhiên một lớp có thể thực thi nhiều giao diện Khi một lớp thực thi một giao diện thì

nó sẽ hứa là nó sẽ cung cấp chức năng thực thi giao diện

Ngôn ngữ C# cung cấp những đặc tính hướng thành phần (component-oriented),như là những thuộc tính, những sự kiện Lập trình hướng thành phần được hỗ trợ bởiCLR cho phép lưu trữ metadata với mã nguồn cho một lớp Metadata mô tả cho mộtlớp, bao gồm những phương thức và những thuộc tính của nó, cũng như những sự bảomật cần thiết và những thuộc tính khác Mã nguồn chứa đựng những logic cần thiết đểthực hiện những chức năng của nó Do vậy, một lớp được biên dịch như là một khốiself-contained, nên môi trường hosting biết được cách đọc metadata của một lớp và

mã nguồn cần thiết mà không cần những thông tin khác để sử dụng nó

C# là một ngôn ngữ đơn giản:

C# là một ngôn ngữ hiện đại:

C# là ngôn ngữ hướng đối tượng

C# là ngôn ngữ mạnh mẽ và mềm dẻo

C# là ngôn ngữ ít từ khóa

C# là ngôn ngữ hướng module

C# sẽ là một ngôn ngữ phổ biến trong tương lai

II.2.1.C# là ngôn ngữ đơn giản

C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và c++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo(virtual base class) Chúng là những nguyên nhân gây ra sự nhầm lẫn hay dẫn đếnnhững vấn đề cho các người phát triển C++ Nếu chúng ta là người học ngôn ngữ nàyđầu tiên thì chắc chắn là ta sẽ không trải qua những thời gian để học nó! Nhưng khi đó

ta sẽ không biết được hiệu quả của ngôn ngữ C# khi loại bỏ những vấn đề trên

Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++ Nếu chúng ta thânthiệ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ệnmạ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ônngữ 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àitrong 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

Ví dụ như, trong C++ có ba toán tử làm việc với các thành viên là ::, , và -> Để biếtkhi nào dùng ba toán tử này cũng phức tạp và dễ nhầm lẫn Trong C#, chúng được

Trang 20

thay thế với một toán tử duy nhất gọi là (dot) Đối với người mới học thì điều này vànhững việc cải tiến khác làm bớt nhầm lẫn và đơn giản hơn.

- Ghi chú: Nếu chúng ta đã sử dụng Java và tin rằng nó đơn giản, thì chúng ta cũng sẽtìm thấy rằng C# cũng đơn giản Hầu hết mọi người đều không tin rằng Java là ngônngữ đơn giản Tuy nhiên, C# thì dễ hơn là Java và C++

II.2.2.C# là ngôn ngữ hiện đại

Điều gì làm cho một ngôn ngữ hiện đại? Những đặc tính như là xử lý ngoại lệ,thu gom bộ nhớ tự động, những kiểu dữ liệu mở rộng, và bảo mật mã nguồn là nhữngđặc tính được mong đợi trong một ngôn ngữ hiện đại C# chứa tất cả những đặc tínhtrên Nếu là người mới học lập trình có thể chúng ta sẽ cảm thấy những đặc tính trênphức tạp và khó hiểu

- Ghi chú: Con trỏ được tích hợp vào ngôn ngữ C++ Chúng cũng là nguyên nhân gây

ra những rắc rối của ngôn ngữ này C# loại bỏ những phức tạp và rắc rối phát sinh bởicon trỏ.Trong C#, bộ thu gom bộ nhớ tự động và kiểu dữ liệu an toàn được tích hợpvào ngôn ngữ, sẽ loại bỏ những vấn đề rắc rối của C++

II.2.3.C# là ngôn ngữ hướng đối tượng

Những đặc điểm chính của ngôn ngữ hướng đối tượng (Object-orientedlanguage) là sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình(polymorphism) C# hỗ trợ tất cả những đặc tính trên Phần hướng đối tượng của C#

sẽ được trình bày chi tiết trong một chương riêng ở phần sau

II.2.4.C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo

Như đã đề cập trước, với ngôn ngữ C# chúng ta chỉ bị giới hạn ở chính bởi bảnthân hay là trí tưởng tượng của chúng ta Ngôn ngữ này không đặt những ràng buộclên những việc có thể làm C# được sử dụng cho nhiều các dự án khác nhau như là tạo

ra ứng dụng xử lý văn bản, ứng dụng đồ họa, bản tính, hay thậm chí những trình biêndịch cho các ngôn ngữ khác

II.2.5.C# là ngôn ngữ ít từ khóa

C# là ngôn ngữ sử dụng giới hạn những từ khóa Phần lớn các từ khóa được sửdụng để mô tả thông tin Chúng ta có thể nghĩ rằng một ngôn ngữ có nhiều từ khóa thì

sẽ mạnh hơn Điều này không phải sự thật, ít nhất là trong trường hợp ngôn ngữ C#,chúng ta có thể tìm 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 Bảng sau liệt kê các từ khóa của ngôn ngữ C#

abstract default foreach object sizeof unsafe

as delegate goto operator stackalloc ushort

base do if out static using

bool double implicit override string virtual

break else in params struct volatile

byte enum int private switch void

case event interface protected this while

catch explicit internal public throw

char extern is readonly true

checked false lock ref try

Trang 21

class finally long return typeof

const fixed namespace sbyte uint

continue float new sealed ulong

decimal for null short unchecked

II.2.6.C# là ngôn ngữ hướng module

Mã nguồn C# có thể được viết trong những phần được gọi là những lớp, nhữnglớp này chứa các phương thức thành viên của nó Những lớp và những phương thức

có thể được sử dụng lại trong ứng dụng hay các chương trình khác Bằng cách truyềncác mẫu thông tin đến những lớp hay phương thức chúng ta có thể tạo ra những mãnguồn dùng lại có hiệu quả

II.2.7.C# sẽ là một ngôn ngữ phổ biến

C# là một trong những ngôn ngữ lập trình mới nhất Vào thời điểm cuốn sáchnày được viết, nó không được biết như là một ngôn ngữ phổ biến Nhưng ngôn ngữnày có một số lý do để trở thành một ngôn ngữ phổ biến.Một trong những lý do chính

là Microsoft và sự cam kết của NET Microsoft muốn ngôn ngữ C# trở nên phổ biến.Mặc dù một công ty không thể làm một sản phẩm trở nên phổ biến, nhưng nó có thể

hỗ trợ Cách đây không lâu, Microsoft đã gặp sự thất bại về hệ điều hành MicrosoftBob Mặc dù Microsoft muốn Bob trở nên phổ biến nhưng thất bại C# thay thế tốthơn để đem đến thành công sơ với Bob Thật sự là không biết khi nào mọi ngườitrong công ty Microsoft sử dụng Bob trong công việc hằng ngày của họ Tuy nhiên,với C# thì khác, nó được sử dụng bởi Microsoft Nhiều sản phẩm của công ty này đãchuyển

đổi và viết lại bằng C# Bằng cách sử dụng ngôn ngữ này Microsoft đã xác nhận khảnăng của C# cần thiết cho những người lập trình

Micorosoft NET là một lý do khác để đem đến sự thành công của C# .NET làmột sự thay đổi trong cách tạo và thực thi những ứng dụng Ngoài hai lý do trên ngônngữ C# cũng sẽ trở nên phổ biến do những đặc tính của ngôn ngữ này được đề cậptrong mục trước như: đơn giản, hướng đối tượng, mạnh mẽ

Microsoft nói rằng C# mang đến sức mạnh của ngôn ngữ C++ với sự dễ dàng củangôn ngữ Visual Basic Có thể nó không dễ như Visual Basic, nhưng với phiênbản Visual Basic.NET (Version 7) thì ngang nhau Bởi vì chúng được viết lại từ mộtnền tảng Chúng ta có thể viết nhiều chương trình với ít mã nguồn hơn nếu dùng C#.Mặc dù C# loại bỏ một vài các đặc tính của C++, nhưng bù lại nó tránh được nhữnglỗi mà thường gặp trong ngôn ngữ C++ Điều này có thể tiết kiệm được hàng giờ haythậm chí hàng ngày trong việc hoàn tất một chương trình Chúng ta sẽ hiểu nhiều vềđiều này trong các chương của giáo trình

Trang 22

Một điều quan trọng khác với C++ là mã nguồn C# không đòi hỏi phải có tậptin header Tất cả mã nguồn được viết trong khai báo một lớp Như đã nói ở bêntrên .NET runtime trong C# thực hiện việc thu gom bộ nhớ tự động Do điều này nênviệc sử dụng con trỏ trong C# ít quan trọng hơn trong C++ Những con trỏ cũng có thểđược sử dụng trong C#, khi đó những đoạn mã nguồn này sẽ được đánh dấu là không

an toàn (unsafe code)

III Cơ sở dữ liệu SQL Server 2005

III.1 Khái niệm SQL:

SQL Server là một viết tắt của Structured Query Language, một hệ thống quản lý

cơ sở dữ liệu (Relational Database Management System (RDBMS)), sử dụng phổ biến

ở nhiều lĩnh vực hầu hết đều được sử dụng ở các ngôn ngữ bậc cao, sử dụng SQl (T-SQL) để trao đổi dữ liệu giữa Client Computer và SQL Server Computer MộtRDBMS bao gồm Databases, database engine và các ứng dụng dùng để quản lý dữliệu và các bộ phận khác nhau trong RDBMS

Transact-III.2 Đặc điểm, đối tượng làm việc của SQL Server:

III.2.1 Đặc điểm:

- SQL là ngôn ngữ phi thủ tục, nó không yêu cầu ta cách thức truy nhập CSDL

như thế nào Tất cả các thông báo của SQL đều rất dễ sử dụng và ít khả năngmắc lỗi

- SQL cung cấp tập lệnh phong phú cho việc hỏi đáp DL:

+ Chèn, cập nhật, xóa các hàng trong một quan hệ

+ Tạo, sửa đổi, thêm và xóa các đối tượng trong CSDL

+ Điều khiển việc truy nhập tới CSDL và các đối tượng của CSDL để đảmbảo tính bảo mật của CSDL

+ Đảm bảo tính nhất quán và sự ràng buộc của CSDL

- Yêu cầu duy nhất để sử dụng cho các hỏi đáp là phải nắm vững các cấu trúc

Char: Xâu có độ dài cố định là n, n<= 255.

Varchar(n): Xâu có độ dài biến đổi (0-:-n)

Long varchar: Xâu có độ dài không cố định, độ dài có thể thay đổi

4Kb -:- 32Kb

Date: Kiểu dữ liệu ngày.

Trang 23

III.3 Đối tượng làm việc của SQL

Là các bảng ( tổng quát là các quan hệ ) dữ liệu hai chiều Các bảng này bao gồmmột hoặc nhiều cột và hàng Các cột gọi là các trường, các hàng gọi là các bảng ghi,cột với tên gọi và kiểu dữ liệu (kiểu dữ liệu ở mỗi cột là duy nhất) xác định tạo nêncấu trúc của bảng Khi bảng đã được tổ chức hệ thống cho một mục đích nào đó củaCSDL

III.4 Giới thiệu các tập lệnh cơ bản của SQL :

Tập lệnh SELECT: đây là lệnh thường được dùng nhiều nhất trong CSDL, nóthường được sử dụng để nhận dữ liệu từ CSDL

Tập lệnh INSERT, UPDATE, DELETE : các lệnh này thường hay được dùng đểvào một hàng mới, sửa đổi hay xóa bỏ các hàng đã tồn tại trong các quan hệ củaCSDL

Tập lệnh CREATE, ALTER,DROP : 3 lệnh này dùng để tạo, thay đổi, xóa bỏ bất

kỳ cấu trúc dữ liệu nào của các quan hệ như TABLE , VIEW, INDEX…

Tập lệnh GRANT, REVOKE: 2 lệnh này được sử dụng để cho phép quyền truynhập hay không cho phép quyền truy nhập tới CSDL của Oracle và cấu trúc bên trongnó

III.5 Những đặc điểm khiến SQL Server 2005 nổi trội hơn SQL

Server 2000

Khi SQL Server 2005 ra đời thì những kiến thức về SQL 2000 thực sự không đủ

để bạn làm chủ được SQL 2005 Khả năng và độ linh hoạt của SQL Server 2005 đượcphản ánh rất rõ trong công cụ Management Studio mới và BIDS

Một số đặc điểm trội hơn:

- Nâng cao bảo mật

- Tăng cường hỗ trợ người phát triển

- Tăng cường khả năng quản lý

- Nâng cao độ sẵn sàng của CSDL

Trang 24

IV Giới thiệu về UML

IV.1 Sự ra đời của UML

Đầu thập kỷ 80, ngành CNPM chỉ có duy nhất một ngôn ngữ hướng đối tượng

là Simula Sang nửa thập kỷ 80, các ngôn ngữ hướng đối tượng như Smalltalk và C++xuất hiện Cùng với chúng, nhu cầu mô hình hóa các hệ thống phần mềm theo hướngđối tượng đã nảy sinh Và vào đầu thập kỷ 90, một số ngôn ngữ mô hình hóa xuấthiện và được nhiều người sử dụng:

 Grady Booch’s Mooch Modeling Methodology

 James Rambaugh’s Object Modeling Technique – OMF

 Ivar Jacobson’s OOSE Methodology

 Hewlett-Packard’s Fusion

 Coad and Yordon’s OOA and OOD

Mỗi phương pháp và ngôn ngữ trên đều có hệ thống ký hiệu riêng, phươngpháp xử lý riêng và công cụ hỗ trợ riêng, khiến nảy ra cuộc tranh luận phương phápnào là tốt nhất Trong thực tế, sự khác biệt giữa các phương pháp đó hầu như khôngđáng kể và theo cùng tiến trình thời gian, tất cả những phương pháp trên đã tiệm cậnlại và bổ sung lẫn nhau

Trong bối cảnh trên, người ta nhận thấy cần thiết phải cung cấp một phuơng pháp

mô hình hóa chuẩn và thống nhất cho việc mô hình hóa hướng đối tượng Yêu cầu cụthể là đưa ra một tập hợp chuẩn hóa các ký hiệu (Notations) và các biểu đồ(Diagrams) để nắm bắt các quyết định về mặt thiết kế một cách rõ ràng, rành mạch

Đã có ba công trình tiên phong nhắm đến mục tiêu đó,c húng được thực hiện dưới sựlãnh đạo của James Rumbaugh, Grady Booch và Ivar Jacobson Chính những cố gắngnày đã dẫn đến kết quả là xây dựng được một Ngôn Ngữ Mô Hình Hóa Thống NhấtUML (Unified Modeling Language)

IV.1.1 UML là gì?

UML là một ngôn ngữ mô hình hóa thống nhất có phần chính bao gồm những

ký hiệu hình học, được các phương pháp hướng đối tượng sử dụng để thể hiện vàmiêu tả các thiết kế của một hệ thống

Trang 25

UML là ngôn ngữ để đặc tả, trực quan hóa, xây dựng và làm sưu liệu cho nhiềukhía cạnh khác nhau của một hệ thống.

IV.1.2 Vai trò của UML

UML có thể được sử dụng làm công cụ giao tiếp giữa người dùng, nhà phântích, nhà thiết kế và nhà phát triển phần mềm

UML được xây dựng với chủ đích chính là:

 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 một kết nối từ nhận thức của con người đến các sự kiện cần

 Hệ thống thông tin (Information Systems)

 Hệ thống kỹ thuật (Technical Systems)

 Hệ thống nhúng (Embeded Systems)

 Hệ thống phân bố (Distributed Systems)

 Hệ thống giao dịch (Business Systems)

 Phần mềm hệ thống (System Softwares)

IV.2 Ứng dụng của mô hình UML

UML là một ngôn ngữ dùng để:

Trang 26

 Trực quan hóa

 Cụ thể hóa

 Sinh mã ở dạng nguyên mẫu

 Lập và cung cấp tài liệu

UML là một ngôn ngữ bao gồm một bảng từ vựng và các quy tắc để kết hợpcác từ vựng đó phục vụ cho mục đích giao tiếp Một ngôn ngữ dùng cho việc lập

mô hình là ngôn ngữ mà bảng từ vựng( các ký hiệu) và các quy tắc của nó tậptrung vào việc thể hiện về mặt khái niệm cũng như vật lý của một hệ thống

Mô hình hóa mang lại sự hiểu biết về một hệ thống Một mô hình không thểgiúp chúng ta hiểu rõ một hệ thống, thường là phải xây dựng một số mô hình xét

từ những góc độ khác nhau Các mô hình này có quan hệ với nhau

UML sẽ cho ta biết cách tạo ra và đọc hiểu được một mô hình đươc cấu trúctốt, nhưng nó không cho ta biết những mô hình nào nên tạo ra và khi nào tạo rachúng Đó là nhiệm vụ của quy trình phát triển phần mềm

IV.2.1 UML là ngôn ngữ dùng để trực quan hóa

Đối với nhiều lập trình viên, không có khoảng cách nào giữa ý tưởng để giảiquyết một vấn đề và việc thể hiện điều đó thông qua các đoạn mã Họ nghĩ ra và

họ viết mã Trên thực tế, điều này gặp một số vấn đề Thứ nhất, việc trao đổi vềcác ý tưởng giữa những người lập trình sẽ gặp khó khăn, trừ khi tất cả đều nóicùng một ngôn ngữ Thậm chí ngay cả khi không gặp trở ngại về ngôn ngữ thì đốivớ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àygây trở ngại cho một người mới vào để có thể hiểu được những việc đang đượctiế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ếuchỉ 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ảiduyệ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ườilậ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

Trang 27

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ếpnhiệm vụ khi anh ta rời khỏi nhóm

Đối với nhiều lập trình viên, không có khoảng cách nào giữa ý tưởng để giảiquyết một vấn đề và việc thể hiện điều đó thông qua các đoạn mã Họ nghĩ ra và

họ viết mã Trên thực tế, điều này gặp một số vấn đề Thứ nhất, việc trao đổi vềcác ý tưởng giữa những người lập trình sẽ gặp khó khăn, trừ khi tất cả đều nóicùng một ngôn ngữ Thậm chí ngay cả khi không gặp trở ngại về ngôn ngữ thì đốivớ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àygây trở ngại cho một người mới vào để có thể hiểu được những việc đang đượctiế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ếuchỉ 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ảiduyệ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ườilậ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ềukhi 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ếpnhiệ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ăntrê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õ rang và duy nhất, một nhà phát triển có thể đọc được mô hình xây dựngbằ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ực hiện trực quan.Một mô hình rõ ràng, sángsủa làm tăng khả năng giao tiếp, trao đổi giữa các nhà phát triển

IV.2.2 UML là ngôn ngữ để chi tiết hóa

Có nghĩa là xây dựng các mô hình một các tỉ mỉ, rõ ràng, đầ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

Trang 28

IV.2.3 UML là ngôn ngữ dùng để sinh ra 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 CSDLhướng đối tượng

Việ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ộ xhó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ềunà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à taxây dựng cho hệ thống đó

IV.2.4 UML là ngôn ngữ dùng để 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

Trang 29

IV.3 Các loại biểu đồ UML

IV.3.1 Biểu đồ lớp(class diagram)

Bao gồm một tập hợp các lớp, các giao diện, các collaboration và mối quan hệgiữa chúng Nó thể hiện mặt tĩnh của hệ thống

IV.3.2 Biểu đồ đối tượng(Object diagram)

Bao gồm một tập hợp các đối tượng và mối quan hệ giữa chúng Đối tượng làmột thể hiện của lớp, biểu đồ đối tượng là một thể hiện của biều đồ lớp

IV.3.3 Biểu đồ use case

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

Biểu đồ Use case bao gồm một tập hợp các Use case, các actor và thể hiện mốiquan 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

IV.3.4 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ìnhhuống cụ thể và các bước tuần tự trong việc trao đổi các thông báo(message) giữacác đối tượng đó để thực hiện một chức năng nào đó của hệ thống

IV.3.5 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 nhanhchóng giữa 2 đối tượng cụ thể nào đó có trao đổi những thông báo gì cho nhau

Trang 30

IV.3.6 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ộtlớp giao diện(interface class) hay collaboration và nó nhấn mạnh vào các đáp ứngtheo 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ốngphản ứng(reactive)

IV.3.7 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 độngnày sang hoạt động khác trong một hệ thống Nó đặc biệt quan trọng trong việcxâ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 đổiquyền kiểm soát giữa các đối tượng

IV.3.8 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ênquan tới biểu đồ lớp, trong đó một thành phần thường ánh xạ tới một hay nhiềulớp, giao diện , collaboration

Trang 31

CHƯƠNG 2

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

I Mô tả hệ thống bằng sơ đồ Use Case

I.1 Danh sách Use case

Use case chung của hệ thống được xác định là :

Hình 3 : Các Use case chính của hệ thống STT USE-CASE Ý NGHĨA

1 Quản lý việc đặtphòng cho khách Quản lý việc thuê phòng, lập phiếu thu

2 Quản lý việc trả

phòng cho khách Quản lý việc trả phòng, thanh toán, xuất hóa đơn

3 Tra cứu thông tinphòng Tra cứu thông tin, tình trạng phòng, thông tin kháchtrong phòng

4 Quản lý việc sửdụng dịch vụ phòng Quản lý các dịch vụ trong phòng, thêm bớt các dịchvụ

5 Tìm kiếm phòng Tìm kiếm phòng theo các tiêu chí có sẵn

6 Đăng nhập, đăngxuất Đăng nhập, đăng xuất hệ thống

Trang 32

7 Quản lý thêm, xóa,cập nhật thông tin

phòng

Quản lý việc thêm một phòng mới, xóa phòng đãchọn hay điều chỉnh thông tin phòng cũ

8 Quản lý thêm, xóa,cập nhật dịch vụ Quản lý việc thêm một dịch vụ mới, xóa các dịch vụđã có hay điều chỉnh giá dịch vụ cũ

9 Quản lý thêm, xóa,cập nhật nhân viên Quản lý việc thêm một nhân viên mới, xóa nhânviên cũ và thay đổi thông tin nhân viên

I.2 Mô tả các tác nhân

Là người làm việc trực tiếp với khách, các chức năng nhân viên được trao quyền

sử dụng là để đáp ứng yêu cầu của khách: thuê phòng, trả phòng,…

I.3 Sơ đồ Use case tổng thể:

Dựa trên các tác nhân và Use case của hệ thống ta có được mô hình tổng quát của

hệ thống như sau:

Trang 33

Hình 5 : Sơ đồ Use Case tổng thểI.4 Phân rã các Use case

I.4.1 Use Case quản lý việc đặt phòng cho khách

Hình 6 : Use Case quản lý việc đặt phòng cho khách Quản lý thông tin khách

Tên use-case Quản lý thông tin khách

Tác nhân chính Nhân viên, quản lý

Người chịu trách Nhân viên , quản lý

Trang 34

Tiền điều kiện Phòng được chọn phải là phòng còn trống

Đảm bảo tối thiểu Đã đăng nhập vào hệ thống

Đảm bảo thành công Tình trạng phòng sẽ cập nhật là phòng đã có khách

Kích hoạt Chức năng này sẽ được sử dụng khi người dùng chọn vào mục

“Thuê phòng” trên giao diện hệ thống

Chuỗi sự kiện chính:

1 Hệ thống sẽ đưa ra danh sách các phòng cho người dùng chọn

2 Người dùng click chọn phòng còn trống(theo trạng thái màu)

3 Khi người dùng nhấn nút “Thuê phòng” thì hệ thống sẽ tự động chuyển qua trangthông tin phiếu thuê phòng

4 Điền thông tin khách hàng vào phiếu thuê phòng

Ngoại lệ:

1- Nếu CMND và Số điện thoại của khách hàng nhập kí tự chữ thì sẽ thông báo lỗi2- Nếu thông tin khách hàng không đầy đủ thì sẽ báo lỗi

Quản lý ngày đến và ngày đi

Tên use-case Quản lý ngày đến và ngày đi

Tác nhân chính Nhân viên, quản lý

Người chịu trách

nhiệm

Nhân viên , quản lý

Tiền điều kiện Phòng được chọn phải là phòng còn trống

Đảm bảo tối thiểu Đã đăng nhập vào hệ thống

Đảm bảo thành công Tình trạng phòng sẽ cập nhật là phòng đã có khách

Kích hoạt Chức năng này sẽ được sử dụng khi người dùng chọn vào mục

“Thuê phòng” trên giao diện hệ thống

Chuỗi sự kiện chính:

1 Hệ thống sẽ đưa ra danh sách các phòng cho người dùng chọn

2 Người dùng click chọn phòng còn trống(theo trạng thái màu)

3 Khi người dùng nhấn nút “Thuê phòng” thì hệ thống sẽ tự động chuyển qua trangthông tin phiếu thuê phòng

4 Điền thông tin ngày đến và ngày đi vào phiếu thuê phòng

Trang 35

Ngoại lệ:

1 – Nếu ngày đến của phiếu thuê phòng trước ngày hiện tại thì sẽ hiện thông báo lỗi

2 - Nếu ngày đi của phiếu thuê phòng trước ngày đến thì sẽ hiện thông báo lỗi

I.4.2 Use case quản lý việc trả phòng cho khách

Hình 7 : Use case quản lý việc trả phòng cho khách Thanh toán

Tên use-case Thanh toán

Tác nhân chính Nhân viên, quản lý

Người chịu trách nhiệm Nhân viên, quản lý

Tiền điều kiện Phòng được chọn phải là phòng đã có khách

Đảm bảo tối thiểu Đã đăng nhập vào hệ thống

Đảm bảo thành công Cập nhật đúng tình trạng phòng là phòng còn trống

Kích hoạt Chức năng này sẽ được sử dụng khi người dùng chọn vào mục

“Trả phòng” trên giao diện hệ thống

Chuỗi sự kiện chính:

1 Hệ thống sẽ đưa ra danh sách các phòng cho người dùng chọn

2 Người dùng click chọn phòng mà khách muốn trả

3 Khi người dùng nhấn nút “Trả Phòng” thì hệ thống sẽ hiện thông tin khách đã đặtphòng đó, sau khi thanh toán sẽ tự động cập nhật tình trạng phòng là phòng còn trống(có cập nhật màu)

4 Nhấn vào nút thanh toán sẽ tính tổng tiền thuê phòng và dịch vụ

Trang 36

Ngoại lệ:

Nếu cập nhật thông tin hóa đơn ngày đi nhỏ hơn ngày đến hoặc ngày hiện tại thì sẽthông báo lỗi

Cập nhật chi tiết khách hàng, ngày đi

Tên use-case Cập nhật chi tiết khách hang, ngày đi

Tác nhân chính Nhân viên, quản lý

Người chịu trách nhiệm Nhân viên, quản lý

Tiền điều kiện Phòng được chọn phải là phòng đã có khách

Đảm bảo tối thiểu Đã đăng nhập vào hệ thống

Đảm bảo thành công Cập nhật đúng tình trạng phòng là phòng còn trống

Kích hoạt Chức năng này sẽ được sử dụng khi người dùng chọn vào mục

“Trả phòng” trên giao diện hệ thống

Chuỗi sự kiện chính:

1 Hệ thống sẽ đưa ra danh sách các phòng cho người dùng chọn

2 Người dùng click chọn phòng mà khách muốn trả

3 Khi người dùng nhấn nút “Trả Phòng” thì hệ thống sẽ hiện thông tin khách đã đặtphòng đó, sau khi thanh toán sẽ tự động cập nhật tình trạng phòng là phòng còn trống(có cập nhật màu)

4 Cập nhật thông tin khách hàng, ngày đi trên hóa đơn

Ngoại lệ:

Nếu cập nhật thông tin hóa đơn ngày đi nhỏ hơn ngày đến hoặc ngày hiện tại thì sẽthông báo lỗi

Xuất hóa đơn

Tên use-case Xuất hóa đơn

Tác nhân chính Nhân viên, quản lý

Người chịu trách nhiệm Nhân viên, quản lý

Tiền điều kiện Phòng được chọn phải là phòng đã có khách

Đảm bảo tối thiểu Đã đăng nhập vào hệ thống

Đảm bảo thành công Cập nhật đúng tình trạng phòng là phòng còn trống

Kích hoạt Chức năng này sẽ được sử dụng khi người dùng chọn vào mục

“Trả phòng” trên giao diện hệ thống

Trang 37

Chuỗi sự kiện chính:

1 Hệ thống sẽ đưa ra danh sách các phòng cho người dùng chọn

2 Người dùng click chọn phòng mà khách muốn trả

3 Khi người dùng nhấn nút “Trả Phòng” thì hệ thống sẽ hiện thông tin khách đã đặtphòng đó, sau khi thanh toán sẽ tự động cập nhật tình trạng phòng là phòng còn trống(có cập nhật màu)

4 Nhấn vào nút xuất hóa đơn sẽ xuất hóa đơn

Ngoại lệ:

Không có ngoại lệ

I.4.3 Use case tra cứu thông tin phòng

Hình 8 : Use case tra cứu thông tin phòng Tra cứu tình trạng, đặc tính phòng

Tên use-case Tra cứu tình trạng, đặc tính phòng

Tác nhân chính Nhân viên, quản lý

Người chịu trách nhiệm Nhân viên, quản lý

Tiền điều kiện Hệ thống loại bỏ các thông tin đã được thực hiện và quay

lui lại bước trước

Đảm bảo tối thiểu Đã đăng nhập vào hệ thống

Đảm bảo thành công Hiển thị thông tin phòng 1 cách đầy đủ

Kích hoạt Chức năng này sẽ được sử dụng khi người dùng chọn vào

mục “Xem thông tin phòng” trên giao diện hệ thống, cạnhtên phòng trong danh sách phòng

Chuỗi sự kiện chính:

Trang 38

1 Hệ thống sẽ đưa ra danh sách các phòng cho người dùng chọn

2 Người dùng chọn 1 phòng và click chọn nút “Xem thông tin phòng trên mànhình giao diện, hệ thống sẽ hiện đầy đủ thông tin của phòng đó

Ngoại lệ:

Không có ngoại lệ

I.4.4 Use case quản lý việc sử dụng dịch vụ phòng

Hình 9 : Use case quản lý việc sử dụng dịch vụ phòng

Thêm dịch vụ

Tên use-case Thêm dịch vụ

Tác nhân chính Nhân viên, quản lý

Người chịu trách nhiệm Nhân viên , quản lý

Tiền điều kiện Hệ thống hiện danh sách các phòng và các dịch vụ đã có trong

phòng

Đảm bảo tối thiểu Đã đăng nhập vào hệ thống

Đảm bảo thành công Thêm dịch vụ vào 1 phòng thành công

Kích hoạt Chức năng này sẽ được sử dụng khi người dùng check vào 1

phòng và chọn mục “Dùng dịch vụ” trên giao diện

Chuỗi sự kiện chính:

1 Hệ thống sẽ đưa ra danh sách các phòng

2 Người dùng chọn 1 phòng cụ thể và click vào nút “Dùng dịch vụ” để thực hiện tác vụ

3 Có thể thêm các dịch vụ có sẵn vào 1 phòng

Trang 39

Ngoại lệ:

Không có ngoại lệ

Bớt dịch vụ

Tên use-case Bớt dịch vụ

Tác nhân chính Nhân viên, quản lý

Người chịu trách nhiệm Nhân viên , quản lý

Tiền điều kiện Hệ thống hiện danh sách các phòng và các dịch vụ đã có trong

phòng

Đảm bảo tối thiểu Đã đăng nhập vào hệ thống

Đảm bảo thành công Bớt dịch vụ vào 1 phòng thành công

Kích hoạt Chức năng này sẽ được sử dụng khi người dùng check vào 1

phòng và chọn mục “Dùng dịch vụ” trên giao diện

Trang 40

I.4.5 Use case tìm kiếm phòng

Hình 10 : Use case tìm kiếm phòng Tìm kiếm theo tình trạng phòng

Tên use-case Tìm kiếm theo tình trạng phòng

Tác nhân chính Nhân viên, quản lý

Người chịu trách nhiệm Nhân viên, quản lý

Tiền điều kiện Hệ thống loại bỏ các thông tin đã được thực hiện và quay lui

lại bước trước

Đảm bảo tối thiểu Khởi động phần mềm

Đảm bảo thành công Hiển thị danh sách các phòng cần tìm theo tình trạng được

chọn

Kích hoạt Chức năng này sẽ được sử dụng khi người dùng lựa chọn

“Tình trạng phòng” trên giao diện tìm kiếm của hệ thống

Ngày đăng: 21/03/2020, 17:09

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w