1. Trang chủ
  2. » Luận Văn - Báo Cáo

phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị nhà hàng tiệc cưới

51 1,2K 6
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 51
Dung lượng 1,61 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LỜI NÓI ĐẦU 2 Tóm tắt bài tập lớn 3 Danh sách hình vẽ 5 Danh sách bảng biểu 6 Danh sách từ viết tắt 7 PHẦN 1: MỞ ĐẦU 8 1. Tên đề tài 8 Mục tiêu: 8 2. Bố cục đề tài 8 PHẦN 2: NỘI DUNG 9 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 9 1.1. Kiến thức tổng quan về cấu phần 9 1.2. Các công nghệ thiết kế website cơ bản 12 1.3. Các công nghệ java web 13 1.3.1. Servlet 13 1.3.2. Giới thiệu JSP 19 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ 22 2.1. Mô tả bài toán và cách giải quyết vấn đề 22 2.1.1. Tổ chức hoạt động 22 2.1.2. Quy trình nghiệp vụ 22 2.1.3. Giải quyết vấn đề 23 2.2. Giới thiệu UML 23 2.2.1. Khái niệm 23 2.2.2. Những ưu điểm khi sử dụng UML 24 2.3. Phân tích thiết kế 24 2.3.1. Biểu đồ User Case 24 2.3.2. Mô tả Ca sử dụng 24 CHƯƠNG 3: THIẾT KẾ CƠ SỞ DỮ LIỆU 43 3.1. Giới thiệu về MySQL 43 3.2. Cơ sở dữ liệu 43 CHƯƠNG 4: CÀI ĐẶT 46 4.1. Môi trường cài đặt 46 4.2. Thiết kế 47 PHẦN III: TỔNG KẾT 50 Tài liệu tham khảo 51

Trang 1

ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN

Đề tài: Xây dựng website cho trung tâm hội nghị - nhà hàng tiệc cưới

Giáo viên hướng dẫn: Th.s Nguyễn Thái Cường

Sinh viên thực hiện (Nhóm 6):

 Trương Đức Anh

 Ngô Văn Hảo

 Dương Văn Quý

Hà Nội, 2014

Trang 2

LỜI NÓI ĐẦU

Trong cuộc cách mạng khoa học và công nghệ đang diễn ra một cách sôi động chưatừng thấy như hiện nay trên toàn thế giới thúc đẩy loài người bước sang một kỉ nguyên mới

Đó là kỷ nguyên của công nghệ thông tin, việc ứng dụng tin học vào đời sống nói chung vàcông tác quản lý nói riêng đang phát triển mạnh mẽ, nó góp vai trò không nhỏ vào việc pháttriển phát trển của lĩnh vực công nghệ thông tin và ngày nay, sự phát triển đó đang được ứngdụng nhiều và không thể thiếu được trong mọi ngành nghề văn phòng, quảng cáo, tài chính,công tác quản lý…

Sự phát triển của Internet trên mọi lĩnh vực giúp mọi người có thể lấy các tin tức cầnthiết, chia sẻ các thông tin trên mạng máy tính và liên lạc với người ở xa Website là mộttrong những lĩnh vực đa phương tiện hữu ích giúp con người sử dụng làm những công việctrên, thông qua web mọi người có thể tìm được mọi thứ mình cần một cách nhanh chóng màkhông tốn nhiều công sức vì phát triển thương mại điện tử từ mọi cơ quan, văn phòng cũngnhư siêu thị đều có website của riêng minh Bạn nghĩ sao khi chỉ cần ngồi nhà mà có thể đặthang, đặt phòng cũng như lấy thông tin cần thiết Có được những thứ đó là nhờ sự kết hợpcủa các website cùng với những cơ sở dữ liệu trên khắp thế giới Website trở thành một cuộccách mạng vì nó làm cho Internet trở nên thân thiện với người dung Chính vì những vấn đềtrên đã thúc đấy chúng em tìm hiểu về lĩnh vưc thiết kế website Qua quá trình khảo sát thực

tế, em thấy các trung tâm Hội nghị - tiệc cưới chưa thực sự có một website đáp ứng nhu cầu

của khách hàng Chính vì vậy, nhóm quyết định chọn đề tài “Xây dựng website cho trung tâm hội nghị - nhà hàng tiệc cưới”.

Trong quá trình thực hiện Đề tài: Xây dựng website cho trung tâm hội nghị - nhà hàng tiệc cưới, nhóm em đã nhận được nhiều sự giúp đỡ của thầy cô và các bạn, những

đóng góp hết sức ý nghĩa đó đã góp phần giúp chúng em hoàn thành được dự án Chúng emxin gửi lời cảm ơn tới những thầy cô cùng các bạn đã giúp nhóm em, Đặc biệt em xin gửi lờicảm ơn sâu sắc tới thầy Nguyễn Thái Cường – người đã tận tâm chỉ bảo, hướng dẫn trong

suốt quá trình thực hiện đề tài Rất mong rằng thầy và các bạn vẫn tiếp tục đồng hành cùng

nhóm chúng em và những lời góp ý và nhận xét nhiều hơn nữa để nhóm có thể hoàn thiện đềtài của mình ngày một tốt hơn

Em xin chân thành cảm ơn!

Nhóm thực hiện

Trang 3

Tóm tắt bài tập lớn

Hiện nay có rất nhiều các nhà hàng tiệc cưới, các trung tâm hội nghị với nhiều dịch vụ

đi kèm, việc quảng bá hình ảnh cho nhà hàng chủ yếu thông qua internet, các nhà hàng hầuhết đều có được những website riêng nhưng việc đặt tiệc online các website đó chưa làmđược, chính vì vậy chúng em xây dựng một website có đầy đủ các chức năng cần thiết, đặtbiệt website được phát triển theo hướng cấu phần gồm các module rời có thể thay thế bằngnhững module khác, giúp website dễ dàng bảo trì, dễ thay đổi cho phù hợp với hoàn cảnh xãhội

Những chức năng chính của website:

 Thêm, sửa, xóa Thực đơn

 Đặt tiệc

 Giới thiệu dịch vụ

 Cập nhật dịch vụ

 Lập hóa đơn

 Thống kê doanh thu

 Báo biểu: Tổng doanh thu; số khách đến, thức ăn, thức uống bán nhiều nhấttheo từng tiêu chí

Trang 4

Mục Lục

LỜI NÓI ĐẦU 2

Tóm tắt bài tập lớn 3

Danh sách hình vẽ 5

Danh sách bảng biểu 6

Danh sách từ viết tắt 7

PHẦN 1: MỞ ĐẦU 8

1 Tên đề tài 8

Mục tiêu: 8

2 Bố cục đề tài 8

PHẦN 2: NỘI DUNG 9

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 9

1.1 Kiến thức tổng quan về cấu phần 9

1.2 Các công nghệ thiết kế website cơ bản 12

1.3 Các công nghệ java web 13

1.3.1 Servlet 13

1.3.2 Giới thiệu JSP 19

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ 22

2.1 Mô tả bài toán và cách giải quyết vấn đề 22

2.1.1 Tổ chức hoạt động 22

2.1.2 Quy trình nghiệp vụ 22

2.1.3 Giải quyết vấn đề 23

2.2 Giới thiệu UML 23

2.2.1 Khái niệm 23

2.2.2 Những ưu điểm khi sử dụng UML 24

2.3 Phân tích thiết kế 24

2.3.1 Biểu đồ User Case 24

2.3.2 Mô tả Ca sử dụng 24

CHƯƠNG 3: THIẾT KẾ CƠ SỞ DỮ LIỆU 43

3.1 Giới thiệu về MySQL 43

3.2 Cơ sở dữ liệu 43

CHƯƠNG 4: CÀI ĐẶT 46

4.1 Môi trường cài đặt 46

4.2 Thiết kế 47

PHẦN III: TỔNG KẾT 50

Tài liệu tham khảo 51

Trang 5

Danh sách bảng và hình vẽ

Trang 6

Danh sách từ viết tắt

programing

lập trình hướng cấu phần

Trang 7

Mục tiêu:

Sản phẩm phải đạt các yêu cầu sau:

 Yêu cầu về phía người sử dụng

 Giao diện đẹp, thân thiện phù hợp với yêu cầu của khách hàng

 Dễ sử dụng đối với người dung, thuận tiện trong quản trị, dễ bảo trì

 Thông tin hiện thị chi tiết

 Chạy ổn định

 Hoàn thành sản phẩm đúng thời gian quy định

Yêu cầu về chức năng:

 Quảng bá hình ảnh của nhà hàng tới người đọc

 Cho phép người truy cập có thể đặt tiệc thông qua hệ thống

 Dễ dang tùy chỉnh, thay đổi các modul, có khả năng tích hợp nhiều thành phần

 Có tính hiệu quả cao

 Có tính bảo mật cao

Yêu cầu module

 Module quản lý khách hang

 Module quản lý thông tin nhà hàng

 Module quản lý người truy cập

 Module quản lý thông tin hợp đồng đặt tiệc

 Module liên hệ

 Module thông báo

 Module quản trị hệ thống

2 Bố cục đề tài

Chương 1: Cơ sở lý thuyết

Chương 2: Phân tích thiết kế hệ thống

Chương 3: Thiết kế cơ sở dữ liệu

Chương 4: Cài đặt,

Trang 8

PHẦN 2: NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Kiến thức tổng quan về cấu phần

Lập trình hướng cấu phần (component object programing - COP) là kiểu lậptrình có xu hướng chia hệ thống phần mềm thành những thành phần giữ các chứcnăng khác nhau (mỗi thành phần này được gọi là một bộ phận hợp thành) mà khikết hợp lại ta thu được một hệ thống phần mềm hoàn chỉnh Với lập trình hướng cấuphần, chương trình được xây dựng bằng cách lắp ráp các thành phần phần mềm cóthể sử dụng lại, các khối tự chứa mã máy (hay còn gọi là các khối thành phần thựchiện) Các thành phần này gồm các thành phần giao diện, các kết nối COP nẩy sinhxuất phát từ thực tế rằng mọi thứ có cấu trúc đều được tạo nên từ các thành phầnkhác Điển hình như trong nền công nghiệp tự động, các hệ thống được cấu tạo từcác thành phần Ví dụ, để phát triển một chiếc ô tô là rất phức tạp

Ô tô = {Các thành phần được ghép nối};

Các thành phần cấu tạo nên ô tô là thuộc nhiều loại khác nhau, kích cỡ khácnhau, chức năng khác nhau, được sản xuất bởi các nhà sản xuất khác nhau Cácthành phần này giới hạn từ các ốc vít rất nhỏ đến các hệ thống con phức tạp hơnnhư các động cơ, các bộ truyền phát nhanh

Trong công nghiệp phần mềm Sản phẩm vẫn làm bằng tay là chủ yếu Điều

đó dẫn đến tính năng của sản phẩm thấp, chất lượng không đảm bảo, khó tái sửdụng

Trong công nghệ phần cứng Mọi sản phẩm cũng được tạo ra dựa trên phươngpháp hướng cấu phần Thực tế cho thấy nền công nghiệp này phát triển rất nhanh,thu được nhiều lợi nhuận Đây chính là lý do tại sao COP lại quan trọng

COP sử dụng nhiều khái niệm của OOP (lập trình hướng đối tượng) nhưng haiphương pháp này là độc lập nhau COP phát triển phần mềm bằng cách lắp ráp cácthành phần trong khi OOP nhấn mạnh đến các lớp và các đối tượng COP nhấnmạnh giao diện và kết cấu, trong khi OOP nhấn mạnh về cài đặt viết mã COPkhông cần biết bất cứ kiến thức nào về cách thức một thành phần cài đặt giao diệncủa chúng, nó xem thành phần như một hộp đen (không bị ảnh hưởng bởi sự thayđổi trong cài đặt của giao diện thành phần), chỉ quan tâm đến đầu vào, đầu ra, chứcnăng nhiệm vụ của hộp đen đó Ví dụ: Ốc vít dùng để làm gì, làm thế nào để sửdụng nó mà không cần biết nó được làm như thế nào, sử dụng công cụ gì COP lắpráp các thành phần thông qua giao diện của các thành phần này

Sự khác nhau giữa 2 phương pháp lập trình OOP và COP được chỉ ra trongbảng sau:

Trang 9

COP nhấn mạnh giao diện và kết cấu

OOP nhấn mạnh về đối tượng/lớpOOP hỗ trợ bao bọc, thừa kế, đa xạ nhưng chưa bao giờ đạt mục đích của nó vì kế thừa xâm phạm bao bọc, hơn nữa các đối tượng và các lớp không tự vận hành

COP là kỹ thuật đóng gói và phân tán OOP là kỹ thuật cài đặt

COP hỗ trợ sử dụng lại mức cao OOP hỗ trợ sử dụng lại mức thấp

COP về nguyên tắc có thể viết bởi bất kỳ

ngôn ngữ lập trình nào OOP bị giới hạn bởi ngôn ngữ OO

COP gồm các thành phần gắn kết lỏng

lẻo

OOP gồm các đối tượng phụ thuộc chặt chẽ hơn vào các đối tượng khác qua giao diện kế thừa (Cha thay đổi, con thay đổi theo)

COP có các thành phần hạt nhân từ lớn

đến nhỏ

OOP gồm các đối tượng là các đơn vị của kiến trúc

COP hỗ trợ đa giao diện và thiết kế

hướng giao diện

OOP không cung cấp mỗi quan hệ rõ ràng về giao diện giữa các lớp con và lớp cha

1 Hình 1:Sự khác nhau giữa cop và oop

Các ngôn ngữ có thể được sử dụng trong lập trình hướng cấu phần: VisualBasic, Delphi, C#, Java…

Tóm lại: Kỹ nghệ phần mềm dựa trên cấu phần – CBSE (Component BasedSoftware Engineering) gồm các hoạt động:

o COA (Component Oriented Analysis): Phân tích hướng cấu phần

o COD (Component Oriented Design): Thiết kế hướng cấu phần

o COP (Component Oriented Programming): Lập trình hướng cấu phần

o COM (Component Oriented Management): Quản lý hướng cấu phần

Từ cách nhìn của tiến trình kỹ nghệ, các thành phần có thể được phân làm 5dạng khác nhau:

 Thành phần đặc tả: Biểu diễn các đặc tả của một đơn vị phần mềm,

mô tả một tập hành vi của các đối tượng thành phần

Trang 10

 Thành phần giao diện: Định nghĩa một tập hành vi có thể được yêucầu bởi một đối tượng thành phần.

 Thành phần cài đặt: Có thể vận hành độc lập (điều này không cónghĩa nó độc lập với các thành phần khác Nó có thể có nhiều phụthuộc với thành phần khác)

 Thành phần đã cài đặt: Thành phần mã thực thi

 Thành phần đối tượng: Lớp, gói,

CBSE hiện tại là một mô hình cho việc phát triển các hệ thống phần mềm lớnnhư:

 Các ứng dụng phân tán cho doanh nghiệp

 Các ứng dụng Web – N Tier

 Các dịch vụ Web (Web Services)

Có thể dùng các công nghệ của Java như:

EJB: Enterprise Java Bean,

 COM: Component Object Model,

 DCOM: Distributed Component Object Model ,

 Khi cần, lập trình viên có thể lắp ghép các thành phần có sẵn khác nhau

để tạo thành các chương trình có chức năng khác nhau Tất cả chỉ cầndựa trên công nghệ lắp ghép thành phần, tiết kiệm được rất nhiều côngsức lập trình

Trang 11

1.2 Các công nghệ thiết kế website cơ bản

Java script, java applet, DHTML (dynamic HTML), VB script là các scriptgiúp tạo hiệu ứng đặc biệt trên trang web ASP, ASP.NET, CGI, Java, PHP: giúptạo chương trình web động, tạo chat, forum MS SQL, Access, My SQL, DBF giúp tạo cơ sở dữ liệu

HTML (HyperText Markup Language hay “Ngôn ngữ Đánh dấu Siêu văn

bản”), là một ngôn ngữ đánh dấu được thiết kế để tạo nên các trang web với cácmẩu thông tin được trình bày trên World Wide Web Tim Berners-Lee là cha đẻ củaHTML Từ năm 1996, các chi tiết kỹ thuật HTML đã được duy trì, với sự đóng góp

từ các nhà cung cấp phần mềm thương mại, bởi World Wide Web Consortium(W3C) HTML được viết theo mẫu của các thành phần HTML bao gồm các thẻđược đặt bên trong dấu ngoặc nhọn <>.HTML không phải là ngôn ngữ lập trình, nó

là ngôn ngữ trình bày

CSS (Cascading Style Sheet) là các tập tin định kiểu theo tầng, được dùng để

miêu tả cách trình bày các tài liệu viết bằng ngôn ngữ HTML và XHTML Ngoài rangôn ngữ định kiểu này cũng có thể dùng cho XML, SVG, XUL CSS được thiết kếchủ yếu để cho phép tách nội dung tài liệu (viết bằng HTML hoặc một ngôn ngữđánh dấu tương tự) từ tài liệu trình bày, bao gồm các thành tố như hiển thị (layout),màu sắc(colors) và phông chữ(fonts).Các đặc điểm kỹ thuật của CSS được duy trìbởi Worl Wide Web Contsortium(W3C)

Flash: tạo hình ảnh động cao cấp, đẹp nhất hiện nay, dùng cho việc trang trí.

Mặc dù flash còn nhiều chức năng xuất sắc nữa nhưng dùng flash trong web cần cẩnthận vì không phải máy nào cũng hiển thị được Flash

JavaScript (JS): sáng chế bởi Netscape là một ngôn ngữ dùng để lập Trình

Trang Mạng HTML cơ bản và theo hướng Đối Tượng DOM để làm cho trang mạngHTML thêm sống động và đẹp hơn

Applet là chương trình java có thể được nhúng vào các trang HTML và có thể

chạy được trên các trình duyệt có bật java như Mozilla hoặc IE Applet được dùng

để điều khiển phía client nên có một vài hạn chế nhất định Applet không thể truycập những tài nguyên hệ thống từ máy cục bộ (local computer), thay vào đó, appletlàm tăng thêm tính động của trang web

PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập

trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứngdụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thíchhợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa chocác ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời

Trang 12

gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đãnhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.

1.3 Các công nghệ java web

Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP) Khácvới phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mãmáy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồnthành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment)chạy Trước đây, Java chạy chậm hơn những ngôn ngữ dịch thẳng ra mã máy như C

và C++, nhưng sau này nhờ công nghệ "biên dịch tại chỗ" - Just in timecompilation, khoảng cách này đã được thu hẹp, và trong một số trường hợp đặc biệtJava có thể chạy nhanh hơn Java chạy nhanh hơn những ngôn ngữ thông dịchnhư Python, Perl, PHP gấp nhiều lần Java chạy tương đương so với C#, một ngônngữ khá tương đồng về mặt cú pháp và quá trình dịch/chạy Cú pháp Java được vaymượn nhiều từ C & C+nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tínhnăng xử lý cấp thấp hơn Do đó việc viết một chương trình bằng Java dễ hơn, đơngiản hơn, đỡ tốn công sửa lỗi hơn Lập trình C rất hay xảy ra lỗi và khó sửa TrongJava, hiện tượng rò rỉ bộ nhớ hầu như không xảy ra do bộ nhớ được quản lí bởi JavaVirtual Machine (JVM) bằng cách tự động "dọn dẹp rác" - Garbage collection.Người lập trình không phải quan tâm đến việc cấp phát và xóa bộ nhớ như C, C++.Tuy nhiên khi sở dụng những tài nguyên mạng, file IO, database (nằm ngoài kiểmsoát của JVM) mà người lập trình không đóng (close) các streams thì memory leakvẫn có thể xảy ra

1.3.1 Servlet

1.3.1.1 Giới thiệu về Servlet

Hiện nay, trong lập trình có một xu hướng rất quan trọng đang được tập trung phát triển ứng dụng, đó là xây dựng các chương trình dịch vụ Java ở phía máy chủ

(Server)

Servlet là thành phần chính được sử dụng để phát triển các chương trình dịch vụ Java ở phía máy chủ Các Servlet là các chương trình Java thực hiện ở các ứng dụngServer (tên gọi “Servlet” cũng gần giống như “Applet” ở phía máy Client) để trả lờicho các yêu cầu của Client Các Servlet không bị ràng buộc chặt với một giao thức Client-Server cụ thể nào cả, nhưng giao thức thường được sử dụng là HTTP, do vậy, khi nói tới Servlet nghĩa là nói tới HTTP Servlet Servlet là sự phát triển mở rộng của CGI để đảm bảo Server thực hiện được các chức năng của mình Ta có thể

sử dụng Servlet của Java để tuỳ chỉnh lại một dịch vụ bất kỳ, như Web Server, Mail Server, v.v

Trang 13

Web Server hiển thị các tư liệu được viết trong HTML và hồi đáp cho yêu cầu của

người sử dụng qua HTTP Các tư liệu HTML chứa các văn bản được đánh dấu (định dạng) để các trình duyệt như IE, Netscape đọc được

Một trình duyệt chấp nhận đầu vào ở dạng HTML, khi người sử dụng nhấn một nút

để yêu cầu một số thông tin nào đó, một Servlet đơn giản được gọi để xử lý các yêu cầu đó Các công việc chính của Servlet được mô tả khái quát trong hình 1, bao gồm:

 Đọc các dữ liệu tường minh được Client gửi đến từ các yêu cầu (dữ liệu theo các khuôn dạng – form data)

 Đọc các dữ liệu không tường minh được Client gửi đến từ các yêu cầu (dữ liệu trong phần đầu của yêu cầu – request headers)

 Xử lý và lưu trữ các dữ liệu được cung cấp dưới dạng HTML

 Gửi trả lời dữ liệu tường minh cho Client (dạng HTML), cung cấp các nội dung động, ví dụ trả lời yêu cầu Client về các câu truy vấn vào các CSDL

 Quản lý các thông tin trạng thái và trả lời dữ liệu không tường minh cho Client (các mã trạng thái và các phần đầu của trả lời)

2 Hình 2:Vai trò của Servlet

Viết một Servlet là tương đối dễ Ta chỉ cần có Tomcat, nó là tổ hợp của Java Server PagesTM 1.1 và Servlets 2.2 Tomcat có thể nạp miễn phí từ

http://java.sun.com/products/jsp/tomcat/, phần cài đặt sẽ được mô tả ở phần sau.Các Servlet cũng được sử dụng thay cho kịch bản giao diện cổng chung CGI Script Khi tạo ra một trang Web, ta cũng sẽ tạo ra một ứng dụng Web

Trước khi sử dụng Servlet để tạo ra các ứng dụng Web, chúng ta đi tìm hiểu xem cónhững khả năng lựa chọn nào khác để phát triển những ứng dụng Web

CGI: Theo cách thông thường, để bổ sung các chức năng vào cho một Web

Server người ta hay sử dụng Common Gateway Interface (CGI), một giao diện độc lập với ngôn ngữ cho phép một Server khởi động một tiến trình ngoại để nhận thông tin được yêu cầu thông qua các biến môi trường Mỗi yêu cầu được trả lời bởi một tiến trình riêng thông qua một đại diện riêng củamột chương trình CGI hoặc bởi một kịch bản CGI (thường được viết bằng ngôn ngữ thông dịch như Perl)

Trang 14

Fast CGI: Open Marked đã phát triển một chuẩn khác thay cho CGI được

gọi là Fast CGI Fast CGI hành động giống như CGI Nó khác ở chỗ, Fast CGI tạo ra một tiến trình bền vững cho từng chương trình

 Một số chương trình ứng dụng khác như ASP và Java Script cũng hỗ trợ để tạo ra các ứng dụng Web ASP được Microsoft phát triển để tạo ra các nội dung cho các trang Web động Trong ASP, trang HTML có thể nhúng nhữngphần nhỏ được viết bằng VBScript hoặc JScript Netscape đưa ra kỹ thuật được gọi là JavaScript, cho phép đưa các phần mã lệnh nhỏ nhúng vào trang HMTL, nhằm tạo ra những nội dung Web động một cách linh họat hơn Ngoài ra, Netscape còn cung cấp NSAPI, Microsoft đưa ra ISAPI cho các Web Server của họ

Servlet có một số ưu điểm so với CGI:

 Một Servlet không làm việc trong một tiến trình riêng Điều này loại bỏ đượcviệc phải tạo ra quá nhiều tiến trình mới cho mỗi yêu cầu

 Một Servlet sẽ thường trực trong bộ nhớ giữa các yêu cầu, trong khi các chương trình CGI cần phải tải xuống và được khởi động cho từng yêu cầu CGI

 Chỉ cần một Servlet trả lời đồng thời cho tất cả các yêu cầu Điều này cho phép tiết kiệm được bộ nhớ và đảm bảo nó dễ dàng quản lý được dữ liệu mộtcách thống nhất

 Một Servlet có thể thực hiện bởi một Servlet Engine trong phạm vi kiểm soátSandbox để đảm bảo an toàn trong việc sử dụng các Servlet

Các lớp Servlet của Java có thể được nạp tự động để mở rộng các chức năngcủa Server Các Servlet của Java thực hiện bên trong JVM Chúng được đảm bảo antoàn và chuyển đổi tương thích giữa các hệ điều hành và giữa các Server với nhau.Điều này khác với các Applet, Servlet chỉ thao tác được trong miền của một Server

Servlet API được phát triển dựa trên những điểm mạnh của Java platformnhằm giải quyết vấn đề của CGI và Server API Nó là một API đơn giản, hỗ trợ tất

cả các Web server và thậm chí cho phép các ứng dụng máy chủ dùng để kiểm tra vàquản lý các công việc trên Server Nó giải quyết vấn đề thực thi bằng việc thực hiệntất cả các yêu cầu như các luồng Thread trong quá trình xử lý, hoặc việc cân bằngtải trên một Server trong các cụm máy tính Cluster Các Servlet dễ dàng chia sẻ tàinguyên với nhau

Trong định nghĩa Servlet, vấn đề bảo mật được cải tiến theo nhiều cách.Trước hết, bạn hiếm khi thực thi được các câu lệnh trên Shell với dữ liệu cung cấpbởi người dùng mà Java API đã cung cấp với những khả năng truy cập đến tất cả

Trang 15

các hàm thông dụng Bạn có thể sử dụng Java Mail để đọc và gửi mail, kết nối vàocác CSDL (thông qua JDBC), tệp lớp (.class) và những lớp liên quan để truy cập hệthống tệp, CSDL, RMI, CORBA, Enterprise Java Beans (EJB), …

1.3.1.2 Ưu điểm của Servlet

Servlet được sử dụng để thay thế cho những công nghệ Web động Việc sửdụng Servlet mang lại những lợi thế:

Dễ di chuyển Servlet được viết bằng Java nên nó có tính di động cao, thực

hiện được trên nhiều hệ điều hành, trên các Web Server khác nhau Kháiniệm “Viết một lần, chạy ở mọi nơi” cũng rất đúng với Servlet

Mạnh mẽ Servlet hỗ trợ rất hiệu quả cho việc sử dụng các giao diện lõi API

như lập trình mạng, xử lý đa luồng, xử lý ảnh, nén dữ liệu, kết nối cácCSDL, bảo mật, xử lý phân tán và triệu gọi từ xa RMI, CORBA, v.v Nócũng thích hợp để trao đổi tin, truyền thông giữa Client và Server một cáchbình thường

Hiệu quả Servlet có tính hiệu quả cao Một khi được tải về, nó sẽ được lưu

lại trong bộ nhớ của máy chủ Servlet duy trì các trạng thái của nó, do vậynhững tài nguyên ngoại như việc kết nối với CSDL cũng sẽ được lưu giữ lại

An toàn Bởi vì Servlet được viết bằng Java nên nó kế thừa được tính an toàn

của Java Cơ chế tự động dọn rác và việc không sử dụng con trỏ của Javagiúp cho Servlet thoát khỏi nhiều công việc quản lý bộ nhớ Đồng thời nó xử

lý các lỗi rất an toàn theo cơ chế xử lý ngoại lệ của Java

Tính tích hợp Các Servlet được tích hợp với các Server Chúng cộng tác với

các Server tốt hơn các chương trình CGI

Tính linh hoạt Các Servlet hoàn toàn mềm dẻo Một HTTP Servlet được sử

dụng để tạo ra một trang Web, sau đó ta có thể sử dụng thẻ <Servlet> để đưa

nó vào trang Web tĩnh, hoặc sử dụng với các Servlet khác để lọc ra các nộidung cần thiết

1.3.1.3 Môi trường thực hiện Servlet

Các Servlet thường là sự mở rộng (kế thừa) các lớp chuẩn Java trong góijavax.servlet (chứa các khuôn mẫu cơ bản của Servlet) và javax.servlet.http (mởrộng các khuôn mẫu cơ bản của Servlet và các yêu cầu theo HTTP)

Servlet là một lớp Java và vì thế cần được thực thi trên một máy ảo Java(JVM) và bằng một dịch vụ được gọi là mô tơ Servlet (Servlet Engine) ServletEngine tải lớp Servlet lần đầu tiên nó được yêu cầu, hoặc ngay khi Servlet Engine

Trang 16

được bắt đầu Servlet ngừng tải để xử lý nhiều yêu cầu khi Servlet Engine bị tắthoặc nó bị dừng lại.

Như vậy, để dịch và thực hiện các Servlet, việc có các Servlet là chưa đủ, màcần phải có một mô tơ Servlet để kiểm tra và triển khai chúng Hiện nay một số mô

tơ tương thích với nhiều loại Web Server khác nhau, nhưng nguyên lý hành độngtương đối giống nhau Người ta chia chúng thành ba loại

 Mô tơ Servlet đơn

 Mô tơ Servlet gộp

 Mô tơ Servlet nhúng

1.3.1.4 Kiến trúc của Servlet

Gói javax.servlet cung cấp các giao diện và các lớp để xây dựng các Servlet.Kiến trúc của chúng được mô tả như sau

3 Hình 3:Kiến trúc của Servlet

Giao diện Servlet

Giao diện Servlet là một khái niệm trừu tượng trung tâm trong Servlet API Tất cả các Servlet đều cài đặt trực tiếp hoặc gián tiếp giao diện này hoặc mở rộng (kế thừa)những lớp đã cài đặt nó

Giao diện này khai báo ba phương thức định nghĩa vòng đời của Servlet

public void init(ServletConfig config) throws ServletException

Phương thức này được gọi một lần khi Servlet được tải vào trong Servlet Engine,

trước khi Servlet được yêu cầu để xử lý một yêu cầu nào đó Phương thức init() có

một thuộc tính là đối tượng của ServletConfig, và Servlet có thể đọc các đối số khởitạo của nó thông qua đối tượng ServletConfig Chúng thường được định nghĩa trongmột tệp cấu hình Một ví dụ thông thường của một đối số khởi tạo là định danh database cho một CSDL

public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException

Phương thức này được gọi để xử lý các yêu cầu Nó có thể không được gọi, gọi mộtlần hay nhiều lần cho đến khi Servlet được ngưng tải Nhiều Thread (mỗi Thread cho một yêu cầu) có thể thực thi phương thức này song song, vì thế nó trở nên an toàn và hiệu quả hơn

public void destroy()

Trang 17

Phương thức này chỉ được gọi một lần trước khi Servlet được ngưng tải và sau khi

đã kết thúc các dịch vụ

Servlet API có cấu trúc để Servlet có thể cho phép bổ sung một giao thức khác với HTTP Gói javax.servlet chứa các lớp và các giao diện được kế thừa giao diện Servlet một cách độc lập Gói javax.servlet.http chứa các lớp và giao diện HTTP cụ thể

Lớp cơ sở HttpServlet

Như ta đã biết, theo giao thức HTTP, dữ liệu được trao đổi giữa máy chủ Server và các máy Client theo một trong hai phương thức GET hay POST Java định nghĩa một lớp có tên là HttpServlet ở trong goi javax.servlet để truyền và nhận dữ liệu theo cả hai phương thức trên

Lớp trừu tượng HttpServlet cung cấp một khung làm việc để xử lý các yêu cầu GET, POST của giao thức HTTP HTTPServlet kế thừa giao diện Servlet cộng với một số các phương thức hữu dụng khác

Một tập các phương thức trong HTTPServlet là những phương thức xác định dịch

vụ trong giao diện Servlet Việc bổ sung dịch vụ trong HTTPServlet giống như một kiểu của các yêu cầu được xử lý (GET, POST, HEAD, …) và gọi một phương thức

cụ thể cho mỗi kiểu Bằng việc làm này, các nhà phát triển Servlet sẽ an tâm khi xử

lý chi tiết những yêu cầu như HEAD, TRACE, OPTIONS, … và có thể tập trung vào những yêu cầu thông dụng hơn như GET và POST

HTTP sinh ra các trang HTML và ta có thể nhúng các Servlet vào một trang HTML.Khi có một yêu cầu được gửi tới, đầu tiên nó phải chỉ ra lệnh cho HTTP bằng cách gọi một phương thức tương ứng Phương thức này chỉ cho Server biết kiểu hành động mà nó muốn thực hiện

Khi có một Client gửi tới một yêu cầu, Server sẽ xử lý yêu cầu nhận được và gửi trảlại kết quả cho Client Hai phương thức doGet() và doPost() được sử dụng chung đểnhận và gửi tin trong các Servlet

Một Servlet bất kỳ, ví dụ MyServlet phải kế thừa HttpServlet và viết đè ít nhất một trong các phương thức doGet() để thực thi thao tác GET của HTTP, hay doPost() đểthực thi thao tác POST của HTTP

Trong ví dụ đầu tiên, chúng ta sẽ viết đè phương thức doGet() dạng protected void doGet(HttpServletRequest request, HttpServletResponse response) throws

Với CGI, các biến môi trường và stdin được sử dụng để nhận thông tin về yêu cầu, tuy nhiên việc đặt tên các biến môi trường có thể khác nhau giữa các chương trình CGI, và một vài biến có thể không được cung cấp bởi tất cả các Web Server

Đối tượng HttpServletRequest cũng cung cấp thông tin giống như biến môitrường của CGI nhưng theo một hướng chuẩn Nó cũng cung cấp những phương

Trang 18

thức để mở ra các tham số HTTP từ dãy các câu truy vấn hoặc từ nội dung của yêucầu phụ thuộc vào kiểu yêu cầu (GET hay POST).

1.3.2 Giới thiệu JSP

1.3.2.1 JSP là gì?

JSP là một công nghệ cho phép thực hiện dễ dàng việc viết các trang webđộng (dĩ nhiên ta cũng có thể viết các trang web tĩnh với JSP) Cụ thể, một trangJSP là một trang HTML (hay XML) trong đó có trộn lẫn các mã Java, tức cácthành phần JSP, cho phép thực hiện nội dung động Các trang JSP có phần mởrộng jsp Một trang jsp có thể là một bao gồm nhiều tập tin, mà các tập tin này có

thể là một trang jsp hoàn chỉnh hay những đoạn (fragment) của một trang jsp.

Những đoạn jsp này có phần mở rộng là jspf

Như ta đã biết, việc viết nội dung html trả lời trong servlet bằng cách dùng

các lệnh out.println() là một việc tốn nhiều công sức, đặc biệt khi nội dung html trả

lời càng phức tạp Việc này còn tệ hơn khi ta muốn bảo trì hay thay đổi nội dungtrả lời JSP đem lại một giải pháp tiện lợi hơn khi cho phép chèn nội dung độngvào trang web, nó còn cho phép việc tách bạch phần trình bày và logic xử lý nộidung Với servlet thì ta chèn mã html để phát sinh trong lớp java còn JSP thì ngượclại, ta chèn mã java trong trang html

1.3.2.2 Chu trình sống của JSP

Trang JSP có chu trình sống xác định tính từ khi hệ thống đọc biên dịch trangJSP, gọi thực thi và loại bỏ trang ra khỏi bộ nhớ Chu trình sống của trang JSP gồm

có 5 giai đoạn sau:

Biên dịch trang: Khi trình duyệt yêu cầu trang JSP, Web server sẽ kiểm tra

xem trang JSP đã được biên dịch hay chưa Nếu chưa biên dịch hoặc đã biên dịchnhưng trang JSP mới vừa thay đổi mã nguồn thì Web Server sẽ thực hiện biên dịchtrang JSP Quá trình biên dịch JSP thực tế là chuyển trang JSP thành servlet Filebiên dịch class của trang chỉ diễn ra một lần Nếu trang đã biên dịch và sau đókhông bị thay đổi trong mã nguồn thì quá trình biên dịch sẽ không xảy ra nữa, do đó

mà tốc độ thực thi sẽ nhanh hơn Sau khi biên dịch, mã trang sẽ được nạp vào bộnhớ để thực thi

Quá trình biên dich trang JSP sẽ được diễn ra như sau:

Bước 1: Kiểm tra xem trang đã được dịch thành mã nguồn tương đươngservlet hay chưa

Bước 2: Nếu chưa được biên dịch thì trang JSP sẽ được biên dịch thành filenguồn java theo cấu trúc của servlet Gọi trình biên dịch javac biên dịch filenguồn java thành file thực thi của servlet class

Trang 19

Bước 3: Nạp servlet đã biên dịch ở bước 2, thực thi trả kết quả về cho trìnhkhách.

Bước 4: Nếu file JSP đã được biên dịch trước đó : thực hiện kiểm tra xem nộidung file jsp có thay đổi không, Nếu có thì quay lại bước 2 biên dịch lại trang, nếukhông thì quay lại bước 3

Nạp trang: Kể từ giai đoạn này, quá trình nạp trang tương tự như servlet

(trang JSP sau khi biên dịch có thể coi như một servlet) Chỉ có một điểm khác làservlet chỉ được nạp một lần trong khi mã trang JSP mặc dù đã biên dịch nhưngphải nạp lại nhiều lần mỗi khi web server nhận được yêu cầu trang từ trình duyệt

Khởi tạo: Khi nạp mã trang thành công, Web server sẽ gọi đến phương thức

khỏi tạo trang Và mặc dù JSP được biên dịch ra servlet nhưng phương thức khởitạo cho trang JSP lại mang tên là jspInit() chứ không phải là init() như servlet

Thực thi: Sau quá trình khởi tạo, Web server sẽ gọi đến phương thức

_jspService (khác với servlet gọi đến doPost(), doGet() hoặc service()) Phươngthức _jspService sẽ chuyển đến hai lớp đối tượng HttpServletRequest vàHttpServletResponse để đọc và ghi kết xuất trả về trình khách

Dọn dẹp: Khi trang JSP đã thực thi xong, trình chủ Web Server sẽ gọi

phương thức jspDestroy() để giải phóng mã trang khỏi bộ nhớ Tương tự như trongServlet, có thể cài đặt phương thức jspDestroy() thực hiện giải phóng vùng nhớhoặc đóng kết nối trả về tài nguyên cho hệ thống

1.3.3 JBDC

Trên thực tế đa số ứng dụng đòi hỏi việc lưu trữ thông tin trong cơ sở dữ liệu, vìvậy ứng dụng thường có 2 phần:

Phần giao diện chương trình và chức năng của ứng dụng: giao tiếp với người

sử dụng thông qua các chức năng lệnh mô tả cho khả năng làm việc của chươngtrình như: khả năng nhập dữ liệu, truy xuất thông tin, thống kê, tính toán số liệu đểđáp ứng cho nhu cầu làm việc của người dùng …

Phần cơ sở dữ liệu cung cấp thông tin cho chương trình chính hoạt động, chophép lưu trữ thông tin mà người dùng nhập vào, cung cấp các khả năng cho phépchương trình chính khai thác thông tin dựa trên dữ liệu đã có để đáp ứng cho nhữngnhu cầu cụ thể nào đó của người dùng …

Do chương trình chính hoạt động phụ thuộc vào cơ sở dữ liệu đã được địnhnghĩa, nên khi có các tác động của người dùng để thực hiện nhu cầu làm việc trongquá trình sử dụng ứng dụng thì chương trình chính cần phải tạo ra 1 kết nối đến cơ

sở dữ liệu ở phía dưới để truy xuất thông tin hoặc thực hiện các lệnh cho nhu cầulưu trữ,… Để đáp ứng nhu cầu này, Java cung cấp 1 giao diện lập trình (Java API –

Trang 20

Application Programming Interfaces) hỗ trợ cho các kết nối đến CSDL được gọi làJDBC – Java Database Connectivity.

Đây là một thư viện chứa các lớp (Classes) và giao diện (Interfaces) chophép lập trình viên có thể thực hiện kết nối từ chương trình của mình đến cơ sở dữliệu để lưu trữ thông tin và hỗ trợ cho quá trình xử lý

JDBC cho phép chương trình viết bằng Java có thể truy xuất đến bất kỳ kiểu

dữ liệu nào của CSDL cũng như có thể thực thi trên tất cả các môi trường có hỗ trợmáy ảo Java (JVM – Java Vitural Marchine)

Về khía cạnh phát triển ứng dụng thì JDBC cho phép xây dựng ứng dụngJava có thể tác động đến nhiều loại CSDL khác nhau như: SQL Server, Oracle,MySQL, DB2, Access… Với cùng một hình thức Có nghĩa là với các loạiCSDL khác nhau thì các đối tượng được tạo ra bởi JDBC trong chương trình vẫn cóthể sử dụng các cấu trúc lệnh phục vụ cho việc thao tác dữ liệu (Tạo, Ghi, Truy vấn,

…) trên CSDL không hề thay đổi dựa trên cấu trúc truy vấn dữ liệu dạng SQL(Structure Query Language)

Điều này rất hữu ích trong tình huống: 1 ứng dụng ban đầu thiết kế sử dụngCSDL SQL Server nhưng sau đó vì 1 lý do đặc biệt mà phải chuyển sang sử dụngMySQL thì phần mã lệnh của chương trình dùng cho việc truy xuất dữ liệu đếnDatabase vẫn không phải thay đổi gì nhiều, có chăng là điều chỉnh lại các thuộc tínhcần thiết cho việc kết nối CSDL loại khác mà thôi

Trang 21

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ 2.1 Mô tả bài toán và cách giải quyết vấn đề

2.1.1 Tổ chức hoạt động

Trung tâm Tiệc cưới – hội nghị Hương Sen toạ lạc tại địa chỉ 584, đường Đội Cấn,quận Ba Đình Được xây dựng trên diện tích gần 4000m2 với quy mô 2 tầng lầu, bao gồm 2đại sảnh đãi tiệc hiện đại, không gian thoáng đãng và 1 tầng hầm giữ xe tuyệt đối an toàn,thuận tiện Nhà hàng có tổng sức chứa lên đến 3000 khách là địa điểm hoàn hảo cho nhữngbuổi tiệc cưới trang trọng, hoành tráng, những hội nghị chuyên nghiệp cùng các sự kiện đángghi nhớ Với hình thức kiến trúc hài hoà, công trình mang dáng dấp của một cung điện sangtrọng, rực rỡ và lịch lãm, rất phù hợp cho những bữa tiệc mang phong cách Châu Âu hiệnđại, chuẩn mực nhưng cũng không kém phần ấm áp, gần gũi

Với phương châm “Luôn đem đến cho khách hàng niềm vui trọn vẹn”, Trungtâm Hội nghị Tiệc cưới Hương Sen sẽ dành sự quan tâm đặc biệt đến từng chi tiết

để cùng quý vị làm nên ngày vui thành công mỹ mãn Gồm 2 sảnh tiệc sang trọng,đây là địa điểm thích hợp cho bữa tiệc của bạn, dù đậm tính truyền thống hay quýphái theo phong cách phương Tây.Ngoài phục vụ tiệc cưới, Hương Sen còn có Hộitrường hội nghị phục vụ các sự kiện lớn của doanh nghiệp như: hội thảo, hội nghị,tiệc cuối năm… Khu vực dành cho nhà hàng cũng là một địa chỉ ẩm thực tin cậycủa nhiều khách hàng, với hệ thống phòng ăn gia đình riêng biệt đem lại không gian

ấm cúng cho bữa ăn gia đình trong những dịp lễ kỷ niệm, sinh nhật

Hương Sen phấn đấu trở thành Trung tâm Hội nghị - tiệc cưới hiện đại bậc nhất Hàthành Với tất cả cảnh sắc quyến rũ sang trọng, cùng sự độc đáo, hấp dẫn, đa dạng của cácdịch vụ, Nhà hàng Hương Sen tự tin thu hút du khách và kỳ vọng sớm trở thành một trongnhững nơi tổ chức họi nghị, tiệc cưới hấp dần nhất ở Hà Nội

- Họ tên

- Giới tính

- Ngày sinh

- Địa chỉ

Trang 22

- Quốc tịch.

- Số điện thoại liên lạc…

Khi việc đăng ký đặt tiệc thành công, khách sạn lập hóa đơn thanh toán Các nhà quản lý có thể xem thông tin khách, thông tin nhân viên, thông tin về dịch vụ, các phiếu thống kê tháng, quý hay năm

2.1.3 Giải quyết vấn đề

Bài toán được phân tích thiết kế theo phương pháp hướng đối tượng gồm các bước sau:

 Xây dựng sơ đồ use case và đặc tả use case

 Xây dựng sơ đồ cơ sơ dữ liệu quan niệm và mô tả thuộc tính của bảng

 Xây dựng sơ đồ tuần tự

 Xây dựng sơ đồ quan hệ cơ sở dữ liệu

 Cài đặt cơ sở dữ liệu

 Cài đặt các ứng dụng, lập trình

 Kết luận

2.2 Giới thiệu UML

2.2.1 Khái niệm

Unified Modeling Language (UML): Là một ngôn ngữ mô hình hóa dựng để

xác định, mô hình, xây dựng và trình bày báo cáo về những nhân tố thành phần củamột hệ thống phần mềm Ngôn ngữ này nắm bắt những quyết định và hiểu biết về

hệ thống đã được ứng dụng Nó còn được dựng để hiểu biết, thiết kế, định hình, bảotrì và kiểm soát thông tin của hệ thống

UML: Là một hệ thống các ký hiệu nhằm vào việc mô hình hệ thống sử dụng

các khái niệm về hướng đối tượng

UML: Là ngôn ngữ dựng để đặc tả, trình bày trực quan và tài liệu hóa những

tạo tác của hệ thống hướng đối tượng đang được phát triển UML là sự hợp nhất củacác phương pháp Booch, OMT, ký pháp Objectory, cùng với những ý tưởng tốt nhấtcủa một số nhà phương pháp luận Bằng cách hợp nhất những ký pháp sử dụng bởinhững phương pháp hướng đối tượng này

UML: Là một cố gắng để chuẩn hóa việc phân tích và thiết kế: các mô hình

ngữ nghĩa, các ký pháp và biểu đồ

UML: Là ngôn ngữ xây dựng nhưng không phải là ngôn ngữ lập trình trực

quan nghưng mô hình của nó có thể kết nối trực tiếp đến các ngôn ngữ lập trìnhkhác Có nghĩa là có thể ánh xạ mô hình từ trong UML đến các ngôn ngữlập trìnhkhác như Java, C++ hay các bảng Cơ sở dữ liệu (CSDL) quan hệ, CSDL hướng đối

Trang 23

tượng Ánh xạ đó là 2 chiều, có nghĩa là ánh xạ từ UML sang ngôn ngữ lập trình vàngược lại.

2.2.2 Những ưu điểm khi sử dụng UML

Mô tả các mô hình cuả hệ thống – cả thế giới thực và Software – dựa trênnhững khái niệm về đối tượng

Là một ngôn ngữ mô hình hóa chuẩn, linh động và có tính diễn đạt cao Nhờ

đó có thể trao đổi thông tin về hệ thống cho những người quan tâm về hệ thống mộtcách dể dàng Do đó những chổ sai sót dể dàng nhận ra (Sau khi được mọi ngườiquan tâm) và sẽ được sữa chữa sớm nên sẽ tránh sai sót hơn khi thời gian về cuốiquá trình hoàn tất chương trình Rất có ích khi muốn có một hiểu biết tổng quan về

hệ thống

2.3 Phân tích thiết kế

2.3.1 Biểu đồ User Case

Biểu đồ User Case

2.3.2 Mô tả Ca sử dụng

Trang 24

 Điều kiện tiên quyết (Pre – conditions):

 Điều kiện hoàn thành (Post – conditions): Quản lý hoặc khách hàng được hệthống nhận diện

 Dòng sự kiện chính (Main Flow):

1 Quản lý hoặc Thu ngân yêu cầu hệ thống cho đăng nhập

2 Hệ thống yêu cầu Quản lý hoặc Thu ngân nhập thông tin đăng nhập

3 Quản lý hoặc Thu ngân nhập thông tin đăng nhập

4 Hệ thống xác nhận thông tin đăng nhập và thông báo kết quả

 Dòng sự kiện phụ (Extension):

1 Nếu trong quá trình thực hiện hệ thống bị dừng bất ngờ:

 Quản lý hoặc Thu ngân khởi động lại hệ thống

 Hệ thống hủy bỏ các thao tác trước đó và trở về trạng thái hoạt độngbìnhthường

Trang 25

2 Nếu Quản lý hoặc Thu ngân không nhập tên đăng nhập:

 Hệ thống thông báo: “Tên đăng nhập không được rỗng!”

 Quản lý hoặc Thu ngân nhập lại tên đăng nhập

3 Nếu Quản lý hoặc Thu ngân không nhập mật khẩu:

 Hệ thống thông báo: “Mật khẩu không được rỗng!”

 Quản lý hoặc Thu ngân nhập lại mật khẩu

4 Nếu Quản lý hoặc Thu ngân nhập không đúng thông tin đăng nhập:

 Hệ thống thông báo: “Tên đăng nhập hoặc mật khẩu không chính xác!”

 Quản lý hoặc Thu ngân nhập lại thông tin đăng nhập

5 Nếu Quản lý hoặc Thu ngân chọn Hủy Bỏ, hệ thống thoát khỏi chương trình

2.3.2.2 Quản lý thực đơn

5 Hình 2.3: UserCase quản lý hóa đơn

User case tra cứu thực đơn

Ngày đăng: 14/01/2015, 10:53

HÌNH ẢNH LIÊN QUAN

1. Hình  1:Sự khác nhau giữa cop và oop - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
1. Hình 1:Sự khác nhau giữa cop và oop (Trang 9)
4. Hình 2.2: UserCase đăng nhập - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
4. Hình 2.2: UserCase đăng nhập (Trang 24)
6. Hình  2.4: UserCase Tra cứu thực đơn - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
6. Hình 2.4: UserCase Tra cứu thực đơn (Trang 26)
7. Hình  2.5: UserCase thêm thực đơn - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
7. Hình 2.5: UserCase thêm thực đơn (Trang 27)
8. Hình  2.6: UserCase Cập nhật thực đơn - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
8. Hình 2.6: UserCase Cập nhật thực đơn (Trang 29)
9. Hình  4: UserCase xóa thực đơn - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
9. Hình 4: UserCase xóa thực đơn (Trang 31)
10. Hình  5: UserCase Quản lý hóa đơn - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
10. Hình 5: UserCase Quản lý hóa đơn (Trang 32)
Bảng 3.2.1: Bảng bài viết - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
Bảng 3.2.1 Bảng bài viết (Trang 44)
Bảng 3.2.2: Bảng đặt tiệc - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
Bảng 3.2.2 Bảng đặt tiệc (Trang 44)
Bảng 3.2.3: Bảng dịch vụ - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
Bảng 3.2.3 Bảng dịch vụ (Trang 45)
Bảng 3.2.4: Bảng hội nghị - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
Bảng 3.2.4 Bảng hội nghị (Trang 45)
Hình 5.1: giao diện trang chủ. - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
Hình 5.1 giao diện trang chủ (Trang 48)
Hình 5.2: Trang tiệc cưới - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
Hình 5.2 Trang tiệc cưới (Trang 48)
Hình 5.4: giao diện trang quản trị - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
Hình 5.4 giao diện trang quản trị (Trang 49)
Hình 5.5: Bảng báo cáo. - phát triển phần mềm theo cấu phần Đề tài: Xây dựng website cho trung tâm hội nghị  nhà hàng tiệc cưới
Hình 5.5 Bảng báo cáo (Trang 49)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w