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

Hệ thống đặt vé xe lửa cho ga hòa hưng

76 514 0

Đ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 76
Dung lượng 3,52 MB

Nội dung

Hệ thống đặt vé xe lửa cho ga hòa hưng

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN  BÁO CÁO ĐỒ ÁN CUỐI KỲ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ĐỀ TÀI: HỆ THỐNG ĐẶT VÉ XE LỬA CHO GA XE LỬA HÒA HƯNG (Mã: 01) GVLT: HỒ BẢO QUỐC GVTH: LƯU HUỲNH CHÂU PHA HOÀNG ANH TÚ TRẦN QUANG VINH NHÓM: 14 Tp HCM, Ngày 24 Tháng 02 Năm 2010 MỤC LỤC: 1Thông tin nhóm: .3 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) 2Bảng phân công công việc: 3Giới thiệu tổng quan đồ án 4Đặc tả hệ thống: .4 4.1Giới thiệu tổng quan hệ thống: 4.2Đặc tả chi tiết quy trình quy đinh hệ thống: 4.3Môi trường phát triển: 5Mô tả phân hệ có hệ thống: 6Mô tả chi tiết chức hệ thống: 6.1Danh sách chức năng: 6.2Sơ đồ thực chức năng: 7Thiết kế sở liệu: 11 7.1Lược đồ ER: .11 7.2Lược đồ sở liệu : 15 7.3Mô tả cấu trúc bảng: 16 7.4Mô tả mối quan hệ bảng: 18 8Màn hình 21 9Màn hình login: 21 10Màn hình đặt vé: 23 11Màn hình hủy vé 23 Nhóm 14 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) 12Màn hình Thông Tin Ga: 35 13Màn hình Thay Đổi Thông Tin Ga 38 14Màn hình xem Tuyến tàu: 39 15Màn hình thông tin Tuyến tàu: .40 16Thao Tác Trên Bảng Chuyến Tàu: .48 17Thao Tác Trên Bảng Ga Trung Gian: 64 18Màn hình xem thông tin: .71 19Màn hình thống kê: 74 Thông tin nhóm: Bảng phân công công việc: Họ Tên Nhóm 14 Mssv Công Việc Khảo sát website Hoàn Thành 100% Ghi Chú Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) Viết bảng mô 6tả hệ thống Thiết kế sở liệu Viết bảng mô tả chức đụng độ Xem, xóa, sửa thông tin Ga Báo cáo doanh thu theo chuyến thời gian cụ thể Báo cáo doanh thu thời gian cụ thể Khảo sát website Vẽ mô hình, lược đồ liên quan Viết bảng mô tả chức đụng độ Ghi nhận đặt vé Update lại số lượng ghế trống Ghi nhận hủy vé Đăng nhập Khảo sát website Viết bảng mô tả CSDL Viết bảng mô tả chức đụng độ Xem, xóa, sửa Tuyến Xem, xóa, sửa Chuyến Khảo sát website Viết bảng mô tả CSDL Viết bảng mô tả chức đụng độ Thiết kế giao diện Thêm, xóa ga trung gian 100% 100% 100% Giới thiệu tổng quan đồ án Đồ án chúng em xây dựng mô hình Tier cài đặt CSDL máy chạy ứng dụng gọi tới CSDL máy khác − Đồ án xây dựng Visual Studio 2008, hệ quản trị CSDL SQL Server 2005 − Tổng số chức mô tả 15 chức năng, cài table − Đặc tả hệ thống: 4.1 Nhóm 14 Giới thiệu tổng quan hệ thống: − − − − − Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) Với tình trạng nay, ga xe lửa Hòa Hưng6 hệ thống giúp cho hành khách đặt vé trực tuyến mà mua vé trực tiếp từ quầy bán vé gọi điện thoại đặt vé để giao vé trực tiếp Điều gây bất cập số nhân viên bán vé chặn vé lại để phe vé chợ đen Dưới tình trạng đó, Ban Giám Đốc ga xe lửa Hòa Hưng định xây dựng hệ thống đặt vé trực tiếp không thông qua nhân viên bán vé Hệ thống máy đặt vé đặt trực tiếp trước nhà ga phục vụ cho việc đặt vé khách hàng 4.2 Đặc tả chi tiết quy trình quy đinh hệ thống: Ga xe lửa Hòa Hưng cần quản lý việc đặt vé, hủy vé, quản lý lịch chạy chuyến tàu Sau bảng mô tả hoạt động mà hệ thống thực cần thực hiện: Hệ thống cần lưu trữ thông tin lịch chạy chuyến tàu Người ta gọi lịch chạy tàu cụ thể tuyến đường khoảng thời gian cố định qua số lượng ga định chuyến tàu ví dụ tuyến Sài Gòn – Hà Nội tàu SE2 chạy ghé qua ga như: Sài Gòn, Biên Hòa, Nha Trang, bắt đầu vào 19h00 đến lúc 04h10 vào ngày 24/12/2009 Tuyến tàu có tên tuyến thể đoạn đường mà tàu chạy xuyên suốt mà thành phố nơi mà có ga lớn mà tàu dừng lại để bảo trì sửa chữa Mỗi tàu chạy nhiều tuyến tàu khác Mỗi tàu có mã tàu tên tàu Mỗi chuyến tàu bắt đầu chạy ga kết thúc chuyến ga khác Ngoài suốt hành trình dừng lại khách xuống rước khách số ga định vào khoảng thời gian cố định tùy thuộc vào loại tàu chạy chuyến Các ga gọi ga trung gian Mỗi ga có tên ga, trùng với tên địa phương địa danh nơi đó, địa chỉ, điện thoại, fax thông tin quy mô ga Mỗi chuyến tàu có thời gian đến Trên chuyến tàu tùy theo chuyến tàu chạy có số lượng ghế cố định thuộc nhiều loại khác Để dễ dàng cho việc quản lý đặt chỗ hành khách hệ thống cần biết tàu chạy chuyến chỗ trống chỗ trống thuộc loại ghế ví dụ ghế cứng, ghế mềm, ghế máy lạnh… Vì loại ghế có giá khác 4.2.1 Quản lý thông tin: Khi nhân viên nhà ga dùng user pass đăng nhập vào hệ thống tùy theo quyền mà cấp cho người nhân viên thay đổi thông tin tuyến tàu thêm tuyến, ngưng hoạt động tuyến Nếu tới tàu khởi hành mà có vấn đề xảy nhân viên có quyền cập nhật lại thông tin chuyến tàu thay đổi khởi hành, số lượng ghế tàu, đổi tàu chạy chuyến − Các tàu chạy thời gian lưu hành tàu liệt vào loại không sử dụng Khi nhân viên cần cập nhật lại tình trạng tàu không lưu thông − Nhóm 14 − − − − − − Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) vào tàu chạy nhân viên cần tra cứu Khi thêm chuyến tàu tùy thuộc thông tin quy mô ga Để xác định chuyến tàu cần thiết dừng lại ga suốt tuyến đường 4.2.2 Đặt vé: Khi khách hàng muốn đặt vé họ muốn biết thông tin liên quan đến tuyến đường mà họ muốn tàu chạy chạy vào ngày nào, ghế chuyến tàu có trống hay không Vì vậy, hành khách cần phải nhập thông tin tra cứu ga (ga mà hành khách bắt đầu xuất phát hành khách muốn đón tàu đó), ga đến (ga đích mà muốn đến), tàu (tàu mà hành khách muốn đi) ngày xuất phát Dựa thông tin hệ thống phải thông báo gợi ý chuyến tàu thỏa mãn yêu cầu cho hành khách Ngoài thông tin trên, hệ thống cho biết tàu chuyến trống ghế, ghế thuộc loại Khi khách hàng muốn đặt loại ghế số lượng vào thông tin Khách hàng chọn loại ghế mà muốn đặt, khách hàng cần nhập thông tin họ tên, địa chỉ, số điện thoại, CMND người đặt mã tài khoản có (để toán trực tiếp qua mạng) Số chỗ mà muốn đặt Sau đặt chỗ xong bạn cấp mã đặt chỗ Căn vào mã đặt chỗ mà bạn đến lấy vé trực tiếp quầy bán vé theo thông tin mà bạn đặt Khi yêu cầu đặt chỗ chấp thuận tình trạng vé tương ứng với thông tin đặt chỗ bật lên tình trạng đặt Khi nhận vé vé thông tin mã vé loại vé có thông tin vị trí chỗ ngồi bạn như: ghế bạn nằm toa nào, có số thứ tự để giúp bạn thuận tiện việc tìm chỗ ngồi Một hành khách lần đặt vé đặt nhiều loại ghế với số lượng khác chuyến tàu Một hành khách đặt tối đa lượng vé định Số lượng quy định quy định đặt vé công ty 4.2.3 Đăng ký: − Sau đặt vé xong khách hàng có nhu cầu hủy vé hủy số vé khách hàng cần đăng nhập vào hệ thống số chứng minh thư Từ hệ thống kiểm tra xử lý trả cho khách hàng lịch sử đặt chỗ họ: họ đặt vào ngày nào, chuyến nào, số vé đặt thuộc loại Tất thông tin thể lên hình Khi khách hàng có quyền hủy đặt vé dựa sở 4.2.4 Hủy vé: Nhóm 14 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) vé mà muốn hủy dựa phiếu đặt Khách hàng chọn loại ghế số lượng chỗ ban đầu Có thể hủy toàn phiếu đặt chỗ cập nhật lại số lượng vé cần phải mua − Khi yêu cầu hủy vé chấp thuận hệ thống tiến hành cập nhật lại phiếu đặt chỗ cập nhật lại tình trạng vé rãnh phép người khác đặt Khi hủy vé khách hàng chịu số tiền phạt định tùy theo quy định quy định rõ hệ thống quy định nhà ga − Hành khách hủy vé thời gian tàu chạy đăng ký lớn 24h Sau thời gian không hủy vé 4.2.5 Phát sinh báo cáo thống kê: − Các báo cáo thống kê cần phát sinh như: Số lượng chuyến tàu chạy tháng Thống kê số lượng khách hàng đặt vé Thống kê tình hình bán vé theo tháng/quý/năm/chuyến Báo cáo doanh thu bán vé thu tháng/quý/năm/chuyến 4.2.6 Các quy định hệ thống: − Số lượng vé tối đa mà hành khách đặt lần vé − Chỉ trả vé trước thời gian tàu chạy ngày Sau thời gian hủy vé hành khách bị khấu trừ 20% đơn giá vé − Các tàu SE dừng lại ga trung gian thuộc loại lớn, không dừng lại ga có quy mô trung bình nhỏ − − − − 4.3 Môi trường phát triển: − − − − Đồ án chúng em xây dựng Visual Studio 2008 Framework 3.5 Sử dụng Hệ quản trị Cơ sở liệu SQL 2005 Tương thích với hệ điều hành Window Khi phát triển ứng dụng chúng em phát triển theo mô hình layer Mục đích việc sử dụng nhằm thuận tiện việc chia nhỏ công việc để giao cho thành viên, tái sử dụng lại Mô tả phân hệ có hệ thống: Các phân hệ quy định hệ thống bao gồm: − − Khách vãn lai: có quyền xem thông tin lịch chạy chuyến tàu, ga – ga đến chuyến tàu Họ có quyền xem vé trống, đặt vé Ngoài họ xem thông tin như: thông tin ga, tàu, tuyến, … Khách đặt vé: bao gồm quyền khách vãn lai thêm quyền hủy vé đặt Nhóm 14 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) − − − 6 User: người chịu trách nhiệm quản lí thông tin khách đặt vé, hủy vé Có nhiệm vụ báo biểu thống kê Manager: Là người chịu trách nhiệm quản lí nội dung thông tin toàn hệ thống cập nhật thông tin tuyến tàu, chuyến tàu, hệ thống nhà ga… Admin: quản trị kiến trúc hệ thống Mô tả chi tiết chức hệ thống: 6.1 Danh sách chức năng:  Yêu cầu lưu trữ: − Lưu trữ thông tin nhân viên cty (thông tin cá nhân) − Lưu trữ thông tin ga − Lưu trữ thông tin tàu − Lưu trữ thông tin tuyến tàu − Lưu trữ thông tin chuyến tàu − Lưu trữ thông tin vé (số toa, tình trạng, …) − Lưu trữ thông tin đặt hủy vé khách hàng − Lưu trữ thông tin khách hàng  Yêu cầu xử lí nghiệp vụ: − Tiếp nhận đặt vé khách hàng − Tiếp nhận hủy vé khách hàng − Xem thông tin vé − Xem thông tin ga − Sửa thông tin ga − Xóa Ga hệ thống ga quản lí − Xem thông tin tuyến − Sửa thông tin tuyến − Xóa (ngưng khai thác) Tuyến − Xem thông tin Chuyến − Sửa thông tin Chuyến − Xóa chuyến Nhóm 14 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) Xem thông tin đặt vé khách hàng.6 Thêm ga trung gian cho chuyến Giảm bớt (xóa) ga trung gian chuyến  Yêu cầu kết xuất − − − − Thống kê số lượng vé bán chuyến − Thống kê số lượng vé bán tuyến − Thống kê khách hàng đặt vé − Thống kê khách hủy vé − Báo cáo doanh thu theo chuyến − Báo cáo doanh thu theo tuyến − Báo cáo doanh thu theo thời gian (tháng, quí, …) 6.2 Sơ đồ thực chức năng: Sơ đồ tổng quát: Nhóm 14 10 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) Ghi nhan Dat ve Ghi nhan Huy Ve Cap Nhat Ve Dat ve Ghi nhan Khach Xem Tra Cuu Huy ve Khách Hàng Khách Xem thong tin ve Xem thong tin Ga Xem thong tinh Tuyen xem Chuyen Xoa ga he thong quan li Thong ke vé bán theo chuyen Thong ke khach hang dat ve Nhân Viên Xoa Chuyen Xoa Tuyen Thong ke ve ban theo Tuyen Manager User Sua Ga Thong ke khách huy vé Bao cao Doanh thu Tuyen Sua thong tin Tuyen Báo cáo doanh thu thoi gian them Ga trung gian Báo cáo doanh thu theo Chuyen Nhóm 14 Sua Chuyen Giam Ga trung gia 62 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) đọc T1 sẽ6cho kết giống Hoạt động store procedure sau sửa lỗi T1 (isolation level SERIALIZABLE) T2 begin tran begin tran set tran isolation level SERIALIZABLE delete from chuyentau where machuyen=1 select * from chuyentau commit waitfor delay '00:00:05' select * from chuyentau commit Cách giải sử dụng phương thức khóa Updlock Khi đọc T1 xin khóa không cho ghi – để tránh tình trạng liệu khác lần đọc Nên T2 phải chờ Hoạt động store procedure sau sửa lỗi T1 T2 begin tran select * from chuyentau with(UPDLOCK) begin tran waitfor delay '00:00:05' delete from chuyentau where machuyen=1 select * from chuyentau commit commit Nhận xét Với mức cô lập theo em hợp lí có thể, khắc phục tượng khác lần đọc liệu Áp dụng cách khóa theo em hợp lí khóa dòng đọc lệnh ghi (update, delete) lại việc thao tác đọc chung liệu hay thao tác dòng khác chấp nhận TestCase19 Tình gây lỗi Nhóm 14 Tên lỗi : CONVERSION deadlock Hai giao tác thực đơn vị liệu chuyến tàu: T1 thêm dòng liệu , T2 cập nhật chuyến tàu thời điểm,sau T1 đọc lại, T2 đọc lại 63 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) mức cô lập bị deadlock Mà Hoạt động store procedure trước sửa lỗi T1(isolation level REPEATABLE READ) T2 (isolation level REPEATABLE READ) begin tran begin tran set tran isolation level REPEATABLE READ set tran isolation level REPEATABLE READ insert into chuyentau(Machuyen,TongSoGhe) values (-1,10000) update chuyentau waitfor delay '00:00:05' set tongghetrong = where machuyen=1 select Machuyen,TongSoGhe waitfor delay '00:00:05' from chuyentau select Machuyen,TongSoGhe where Machuyen=-1 from chuyentau commit where Machuyen=-1 commit Cách giải sử dụng mức cô lập Mức cố lập củ thêm lệnh with(readuncommitted) sau lệnh select sau Hoạt động store procedure sau sửa lỗi T1 (isolation level REPEATABLE READ) T2 (isolation level REPEATABLE READ) begin tran begin tran set tran isolation level REPEATABLE READ set tran isolation level REPEATABLE READ insert into chuyentau(Machuyen,TongSoGhe) values (-1,10000) update chuyentau waitfor delay '00:00:05' where machuyen=1 select Machuyen,TongSoGhe from chuyentau waitfor delay '00:00:05' select Machuyen,TongSoGhe where Machuyen=-1 from chuyentau commit Nhóm 14 set tongghetrong = with(readuncommitted) 64 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) where Machuyen=-1 commit Nhận xét Với mức cô lập cộng với câu lệnh theo em hợp lí có thể, khắc phục tượng deadlock 17 Thao Tác Trên Bảng Ga Trung Gian: Nhóm 14 65 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) Chức năng: − Với cửa sổ thực chức thêm Ga Bạn nhập giá trị vào text box.và chọn chức Thêm ga Chọn Ga Thông tin hiển thị lên Text box Thực Xóa Ga TG 17.1 17.2 TestCase20 Đụng độ: Tên lỗi : Unrepeatable data Tình gây lỗi Khi giao tác tiến hành hai thao tác đọc liệu từ GaTrungGian chưa commit, giao tác khác chen ngang hai thao tác đọc liệu, thực việc delete liệu khiến xuất lỗi Unrepeatable data Hoạt động store procedure trước sửa lỗi T1 ([Tên SP 1]) begin tran Nhóm 14 T2 [Tên SP 2] begin tran 66 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) set tran isolation level READ UNCOMMITTED repeatable select * from GaTrungGian where MaChuyen = @MaChuyen set tran isolation level READ UNCOMMITTED delete from GaTrungGian waitfor delay '00:00:05' select * from GaTrungGian where MaChuyen = @MaChuyen where MaChuyen = @MaChuyen and MaGa = @MaGa commit tran commit tran end end Go Go exec sp_docgatrunggian_chuyen Cách giải sử dụng mức cô lập exec sp_xoagatrunggian_chuyen 3,222 Sử dụng mức cô lập repeatable read, giữ share lock thao tác đọc liệu hết giao tác, không cho cập nhật không thỏa share lock , giải vấn đề unrepeatable data Hoạt động store procedure sau sửa lỗi T1 ([Tên SP 1]) T2 [Tên SP 2] begin tran begin tran set tran isolation level REPEATABLE READ COMMITTED repeatable set tran isolation level READ UNCOMMITTED select * from GaTrungGian where MaChuyen = @MaChuyen waitfor delay '00:00:05' select * from GaTrungGian where MaChuyen = @MaChuyen commit tran delete from GaTrungGian where MaChuyen = @MaChuyen and MaGa = @MaGa commit tran end Go end exec sp_xoagatrunggian_chuyen 3,222 Go exec sp_docgatrunggian_chuyen TestCase21 Nhóm 14 Tên lỗi : unrepeatable data 67 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) Tình gây lỗi hai thao tác đọc liệu chưa commit, Khi giao tác tiến hành giao tác khác chen ngang hai thao tác đọc liệu, thực việc thêm liệu khiến xuất lỗi Unrepeatable data Hoạt động store procedure trước sửa lỗi T1 ([]) T2 [] begin tran begin tran set tran isolation level READ UNCOMMITTED repeatable set tran isolation level Repeatable READ UNCOMMITTED select * from GaTrungGian where MaChuyen = @MaChuyen insert into GaTrungGian(MaChuyen,MaGa,ThoiGianDen,ThoiGi anDi) waitfor delay '00:00:05' select * from GaTrungGian where MaChuyen = @MaChuyen commit tran values(@MaChuyen,@MaGa,@ThoiGianDen,@Thoi GianDi) end if @@error Go begin rollback tran exec sp_docgatrunggian_chuyen return end commit tran end go exec sp_themgatrunggian_chuyen 3,223,'5/2/2010','5/3/2010' Cách giải sử dụng mức cô lập Sử dụng mức cô lập repeatable read, giữ share lock thao tác đọc liệu hết giao tác, không cho insert giao tác không thỏa điều kiện đọc, giải vấn đề unrepeatable data Hoạt động store procedure sau sửa lỗi T1 ([]) begin tran Nhóm 14 T2 [] begin tran 68 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) set tran isolation level REPEATABLE READ UNCOMMITTED repeatable select * from GaTrungGian where MaChuyen = @MaChuyen set tran isolation level Repeatable READ UNCOMMITTED insert into GaTrungGian(MaChuyen,MaGa,ThoiGianDen,ThoiGi anDi) waitfor delay '00:00:05' select * from GaTrungGian where MaChuyen = @MaChuyen values(@MaChuyen,@MaGa,@ThoiGianDen,@Thoi GianDi) commit tran if @@error end begin Go rollback tran exec sp_docgatrunggian_chuyen return end commit tran end go exec sp_themgatrunggian_chuyen 3,223,'5/2/2010','5/3/2010' TestCase22 Tình gây lỗi Tên lỗi : dirty read Khi giao tác tiến hành đọc liệu ga trung gian chưa commit, giao tác khác nhảy vào delete ga trung gian này, gây lỗi dirty read Hoạt động store procedure trước sửa lỗi T1 ([Tên SP 1]) T2 [Tên SP 2] begin tran begin tran set tran isolation level READ UNCOMMITTED repeatable set tran isolation level READ UNCOMMITTED select * from GaTrungGian where MaChuyen = @MaChuyen waitfor delay '00:00:05' Nhóm 14 delete from GaTrungGian where MaChuyen = @MaChuyen and MaGa = @MaGa 69 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) commit tran commit tran end end Go Go exec sp_docgatrunggian_chuyen exec sp_xoagatrunggian_chuyen 3,222 Cách giải sử dụng mức cô lập Sử dụng mức cô lập repeatable read , giữ khóa share lock đơn vị liệu cần đọc đến hết giao tác Hoạt động store procedure sau sửa lỗi T1 ([Tên SP 1]) T2 [Tên SP 2] begin tran begin tran set tran isolation level READ COMMITTED repeatable set tran isolation level READ UNCOMMITTED select * from GaTrungGian where MaChuyen = @MaChuyen waitfor delay '00:00:05' delete from GaTrungGian where MaChuyen = @MaChuyen and MaGa = @MaGa commit tran commit tran end end Go Go exec sp_docgatrunggian_chuyen exec sp_xoagatrunggian_chuyen 3,222 TestCase23 Tình gây lỗi Tên lỗi : Phantom Khi giao tác tiến hành đọc liệu ga trung gian chưa commit, giao tác khác xen ngang tiến hành việc thêm ga trung gian gây lỗi, Phantom Hoạt động store procedure trước sửa lỗi T1 ([Tên SP 1]) T2 [Tên SP 2] begin tran begin tran set tran isolation level READ UNCOMMITTED repeatable set tran isolation level Repeatable READ UNCOMMITTED select * from GaTrungGian where MaChuyen >4 Nhóm 14 insert into GaTrungGian(MaChuyen,MaGa,ThoiGianDen,ThoiGian 70 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) waitfor delay '00:00:05' Di) select * from GaTrungGian where MaChuyen >4 values(@MaChuyen,@MaGa,@ThoiGianDen,@ThoiGi anDi) commit tran end if @@error Go begin rollback tran exec sp_docgatrunggian_chuyen return end commit tran end go exec sp_themgatrunggian_chuyen 5,223,'5/2/2010','5/3/2010' Cách giải sử dụng mức cô lập Sử dụng mức cô lập serializable giữ share lock đến hết giao tác không cho giao tác khác thực thay đổi liệu đọc Hoạt động store procedure sau sửa lỗi T1 ([Tên SP 1]) T2 [Tên SP 2] begin tran begin tran set tran isolation level SERIALIZABLE READ UNCOMMITTED repeatable set tran isolation level Repeatable READ UNCOMMITTED select * from GaTrungGian where MaChuyen >4 insert into GaTrungGian(MaChuyen,MaGa,ThoiGianDen,ThoiGian Di) waitfor delay '00:00:05' select * from GaTrungGian where MaChuyen >4 commit tran end Go exec sp_docgatrunggian_chuyen Nhóm 14 values(@MaChuyen,@MaGa,@ThoiGianDen,@ThoiGi anDi) if @@error begin rollback tran return 71 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) end commit tran end go exec sp_themgatrunggian_chuyen 5,223,'5/2/2010','5/3/2010' 18 Màn hình xem thông tin: Nhóm 14 72 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) Chức năng: − Khi bạn muốn xem thông tin từ ga đến ga khác có chuyến tàu số ghế trống thông tin liên quan vé giá, loại,… vào − Ngoài bạn muốn xem chuyến tàu từ ga đến ga khác có ga trung gian khoảng coi từ 18.2 Đụng độ: 18.1 TestCase24 Tên lỗi : Dirty Read Hai giao tác thực đơn vị liệu Ga Trung Gian: T1 xem thông tin ga trung gian , T2 xóa ga thời điểm,làm cho liệu T1 đọc liệu không xác Tình gây lỗi Hoạt động store procedure trước sửa lỗi T1 Nhóm 14 T2 73 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) begin tran set tran isolation level READ UNCOMMITTED begin tran select distinct ga.tenGa set tran isolation level READ UNCOMMITTED from GaTrungGian g, ga where g.maGa=Ga.maGa and g.machuyen in( delete from ga where @ma=Maga waitfor delay @time select distinct machuyen commit from chuyenTau where gadi=@gadi and gaden=@gaden ) waitfor delay @time commit Cách giải sử dụng phương thức khóa UPDLOCK để tránh tình trạng nêu Hoạt động store procedure sau sửa lỗi T1 T2 begin tran begin tran select distinct ga.tenGa set tran isolation level READ UNCOMMITTED from GaTrungGian g with(UPDLOCK), ga with(UPDLOCK) delete from ga where @ma=Maga where g.maGa=Ga.maGa and g.machuyen in( waitfor delay @time select distinct machuyen commit from chuyenTau with(UPDLOCK) where gadi=@gadi and gaden=@gaden ) Nhóm 14 74 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) waitfor delay @time commit Nhận xét 19 Màn hình thống kê: Nhóm 14 Áp dụng cách khóa theo em hợp lí khóa dòng đọc lệnh ghi (update, delete) lại việc thao tác đọc chung liệu hay thao tác dòng khác chấp nhận 75 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) Chức năng: − Khi ta muốn xem tình hình kinh doanh theo tháng theo chuyến tàu vào 19.2 Đụng độ: 19.1 TestCase25 Tên lỗi : Dirty Read Hai giao tác thực đơn vị liệu Phieudatcho: T1 xem thống kê theo tháng năm , T2 tiến hàng xóa phiếu đặt chỗ thời điểm,sau T1 đọc giá trị không xác Tình gây lỗi Hoạt động store procedure trước sửa lỗi T1 T2 begin tran begin tran set tran isolation level READ UNCOMMITTED set tran isolation level READ UNCOMMITTED Select * From phieudatcho Nhóm 14 delete PhieuDatCho where MaDatCho=@madatcho 76 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) Where month(NgayDat)=@thang and year(NgayDat)=@nam commit waitfor delay @time commit Cách giải sử dụng mức cô lập Cách giải sử dụng phương thức khóa UPDLOCK để tránh tình trạng nêu Hoạt động store procedure sau sửa lỗi T1 T2 begin tran begin tran Select * set tran isolation level READ UNCOMMITTED From phieudatcho with(UPDLOCK) delete PhieuDatCho where MaDatCho=@madatcho Where month(NgayDat)=@thang and year(NgayDat)=@nam commit waitfor delay @time commit Nhận xét Nhóm 14 Áp dụng cách khóa theo em hợp lí khóa dòng đọc lệnh ghi (update, delete) lại việc thao tác đọc chung liệu hay thao tác dòng khác chấp nhận [...]... ChiTietDatCho: − Mối quan hệ này cho ta biết phiếu chi tiết đặt chỗ đó đặt loại vé nào Mỗi phiếu chi tiết đặt chỗ chỉ được đặt một loại vé duy nhất Điều này thể hiện ở thuộc tính LoaiVe trong bảng ChiTietDatCho 11) PhieuDatCho _ ChiTietDatCho: Nhóm 14 20 − − Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) 6 chỗ có thể bao gồm 1 hoặc nhiều phiếu chi Mối quan hệ này thể hiện trong một phiếu đặt tiết đặt chỗ Mỗi phiếu... một chuyến tàu nhất định, đặt chỗ cho một loại vé nhất định Một chuyến tàu thì có nhiều phiếu chi tiết đặt chỗ Một loại vé cũng được đặt bởi nhiều CT phiếu đặt chỗ Mỗi khách hàng có nhiều phiếu đặt chỗ Mỗi phiếu đặt chỗ chỉ thuộc về một khách hàng Một phiếu hủy vé chỉ hủy trên một phiếu đặt chỗ Một phiếu đặt chỗ có thể có nhiều phiếu hủy vé 16 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) 6 7.3 Mô tả... thể dừng ở nhiều nhà ga khác nhau Mỗi nhà ga có nhiều chuyến tàu ghé qua Thời gian đi và đến của mỗi chuyến tàu đến ga xác định 1–n Mỗi vé tàu chỉ thuộc về một chuyến tàu Mỗi chuyến tàu sẽ có nhiều vé tàu 15 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) 5 Thuộc Vé tàu – Loại vé6 1–n 6 Của Loại vé – Chuyến tàu n–n 7 Gồm Phiếu đặt chỗ Chi tiết đặt chỗ 1–n 8 Của Chi tiết đặt chỗ Loại vé – Chuyến tàu 1-n...11 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) 7 Thiết kế cơ sở dữ liệu: 7.1 6 Lược đồ ER: 7.1.1 Vẽ mô hình ER bằng ký hiệu lý thuyết: Nhóm 14 12 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) 6 7.1.2 Thuyết minh mô hình ER Các thuộc tính của thực thể: − Chuyến tàu: bao gồm các thông tin mô tả chuyến tàu Stt 1 2 3 4 5 Tên MaChuyen GaDi GaDen ThoiGianDi ThoiGianDen 6 TongSoGhe... MaGa TenGa DiaChi DienThoai Fax Khóa chính * 13 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) 6 6 Loại ga (quy định quy LoaiGa mô của ga) − Khách hàng: chứa các thông tin của khách hàng khi đặt mua vé Stt 1 2 3 4 5 Tên CMND HoTen DiaChi DienThoai SoLanDi − Tên MaHuy NgayHuy SoLuongHuy SoTienPhat Ghi chú Khóa chính * Ý nghĩa Ghi chú Mã hủy vé Ngày hủy vé Số lượng vé bị hủy Số tiền bị phạt khi hủy vé. .. mỗi vé thuộc về một loại vé nào đó Nếu TinhTrang của vé là 1 thì nó đã được đặt, là 0 thì vị trí ghế của vé đó còn trống 10) LoaiVe ( MaLoaiVe, TenLoaiVe, DonGia) Nhóm 14 18 − Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) 6 duy nhất để phân biệt chúng với nhau Có nhiều loại vé khác nhau, mỗi loại có mã loại Có tên loại vé và đơn giá tương ứng khác nhau cho từng loại 11) PhieuDatCho ( MaDatCho, NgayDat,... Ghi chú Chi tiết đặt chỗ: thông tin chi tiết của phiếu đặt chỗ Stt 1 2 Tên MaCTDC SoLuongDat 3 DonGiaDat Vé tàu: chứa thông tin về vé Nhóm 14 Khóa chính * Ý nghĩa Mã chi tiết đặt chỗ Số lượng đặt cho loại vé mà khách hàng chọn Đơn giá ngay lúc đặt Ghi chú 14 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) Stt Tên 1 2 3 4 MaVe SoToa SoGhe TinhTrang − Khóa chính * 6 Ý nghĩa Ghi chú Mã của vé Ghế đó ở toa... HuyVe 14) HuyVe _ LoaiVe: Vé bị hủy đó thuộc loại vé nào Điều này thể hiện ở thuộc tính LoaiVe trong bảng HuyVe 15) GaTrungGian _ Ga: − Các ga mà chuyến tàu đó dừng trên đường đi cũng thuộc danh sách các ga theo quy định 16) TuyenTau _ Ga: − Mỗi tuyến tàu xuất phát từ một ga và đi đến một ga khác Các ga này đã được lưu trữ trong CSDL Nhóm 14 21 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) 8 Màn hình... 23 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) 10 Màn hình đặt vé: Chức năng: Khi khách hàng muốn đặt vé tàu thì cần nhập đầy đủ các thông tin cần thiết và chọn nút Đặt Vé Nếu bạn nhập sai thông tin và muốn nhập lại thì cách nhanh nhất là bạn chọn nút Nhập Lại để để trả các text box về tình trạng lúc đầu Nút Đặt Tiếp dùng để đặt tiếp loại vé khác, đơn giản là reset lại các giá trị khác như loại vé, ... độ: Không có 9 Màn hình login: Nhóm 14 22 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) 6 9.1 Chức năng: Khi khách hàng muốn hủy vé đã đặt cần đăng nhập vào hệ thống trước Khi nhân viên muốn thay đổi các thông tin liên quan đến chuyến, tuyến, tàu, ga thì cần đăng nhập vào hệ thống trước mới thấy được các chức năng này − Khi nhân viên muốn xem các báo cáo thống kê thì cũng cần đăng nhập − Nhập user: ... Đặc tả hệ thống: 4.1 Nhóm 14 Giới thiệu tổng quan hệ thống: − − − − − Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) Với tình trạng nay, ga xe lửa Hòa Hưng6 hệ thống giúp cho hành khách đặt vé trực... quyền xem vé trống, đặt vé Ngoài họ xem thông tin như: thông tin ga, tàu, tuyến, … Khách đặt vé: bao gồm quyền khách vãn lai thêm quyền hủy vé đặt Nhóm 14 Hệ thống đặt vé xe lửa cho ga Hòa Hưng. .. trung gia 11 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) Thiết kế sở liệu: 7.1 Lược đồ ER: 7.1.1 Vẽ mô hình ER ký hiệu lý thuyết: Nhóm 14 12 Hệ thống đặt vé xe lửa cho ga Hòa Hưng (Mã 01) 7.1.2

Ngày đăng: 19/02/2016, 11:46

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

w