Biểu đồ lớp phân tích của hệ thống

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu công nghệ phát triển ứng dụng nhanh trên nền web trong Bộ Công an. (Trang 44)

3.3 Phân tích hệ thống

3.3.3 Biểu đồ lớp phân tích của hệ thống

3.3.4 Mơ hình liên kết cơ sở dữ liệu mức logic của hệ thống TaiNanGiaoThongs * Id RowVersion ThoiGianXayRa ThoiGianBaoCao SoChet SoThuong SoBiCan ThietHai TomTat MaDonVi MaTinhChat MaPhanLoai MaHinhThucXuLy MaTinh MaHuyen MaXa Tinhchats * Id TenTinhchat TinhTrangThuongTats * Id Loai T_Xas * Id Xa MaTinh MaHuyen T_Tinhs * Id Tinh T_Phanloais * Id PhanLoai T_Huyens * Id Huyen MaTinh T_hinhthucxulies * Id HinhThuc QuocTiches * Id TenNuoc PhuongTiens * Id Loai PhuongTienGayTaiNans * Id RowVersion NamSanXuat BienSoXe MaSanXuat MaDongXe MaTaiNan NhaSanXuats * Id TenNhaSanXuat NguoiDieuKhienPTs * Id HoTen NgaySinh SoBangLaiXe SuDungRuou SuDungMaTuy MaNgheNghiep MaBangLai MaGioiTinh MaPhuongTien MaVuTaiNan MaQuocTich NguoiBiNans * Id RowVersion HoTen NgaySinh MaGioiTinh MaNgheNghiep MaQuocTich MaThuongTat MaTaiNan NgheNghieps * Id Ten HangBangLXes * Id Loai GioiTinhs * Id Loai Donvi * Id Donvis DongXes * Id TenDongXe DongXe_NhaSanXuat

Hình 3.8: Mơ hình liên kết cơ sở dữ liệu mức logic

3.4 Áp dụng LightSwitch triển khai ứng dụng Quản lý Tai nạn Giao thơng

Phần này tơi sẽ trình bày sơ lƣợc cách sử dụng LightSwitch để xây dựng ứng dụng Quản lý Tai nạn Giao thông. LightSwitch với những tính năng mạnh mẽ giúp ngƣời phát triển xây dựng ứng dụng một cách nhanh chóng. LightSwitch cung cấp các tiện ích để hỗ trợ tối đa ngƣời phát triển trong tất cả các bƣớc phát triển ứng dụng. Để phát triển nhanh ứng dụng, tơi tận dụng các tiện ích mà LightSwitch cung cấp để thiết kế cơ sở dữ liệu của ứng dụng; tạo các giao diện tƣơng tác với dữ liệu (nhập, xóa, sửa); tạo các câu truy vấn và tạo giao diện tìm kiếm vụ tai nạn giao thơng; tạo cơ chế quản lý ngƣời dùng.

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

LightSwitch cho phép ngƣời phát triển có thể tự thiết kế cơ sở dữ liệu ngay trong LightSwitch bằng trình thiết kế cơ sở dữ liệu riêng của LightSwitch hoặc kết nối tới một nguồn dữ liệu sẵn có. Để thiết kế cơ sở dữ liệu cho hệ thống Quản lý Tai nạn Giao thông, tơi sử dụng trình thiết kế dữ liệu của LightSwitch. Trình thiết kế dữ liệu của LightSwitch cho phép ngƣời phát triển có thể tạo nhanh các bảng và mối liên hệ giữa chúng chỉ cần một vài các thao tác nhấp chuột. Với mỗi bảng đƣợc tạo ra, LightSwitch mặc định một trƣờng ID đầu tiên là khóa của bảng. Mối liên hệ giữa các bảng dễ dàng đƣợc tạo ra bằng chức năng thiết lập quan hệ của LightSwitch. Các thuộc tính liên kết giữa các bảng sẽ đƣợc LightSwitch tự động sinh ra khi ta xác định đƣợc mối liên hệ giữa bảng. Ví dụ bảng Tainangiaothongs có quan hệ nhiều – một với bảng Tinhchat (Hình 3.9). Khi ta thiết lập quan hệ giữa 2 bảng này thì LightSwitch tự động sinh ra một trƣờng có kiểu là Tinhchat trong bảng Tainangiaothongs và một trƣờng Tainangiaothong có kiểu là Tainangiaothong Collection trong bảng Tinhchat.

Hình 3.9: Mối quan hệ giữa bảng TaiNanGiaoThong và bảng Tinhchat.

Các bảng dữ liệu chính của ứng dụng là: TaiNanGiaothongs, NguoiDieuKhienPTs, NguoiBiNans, PhuongTienGayTaiNans. Cơ sở dữ liệu nội tại của ứng dụng đƣợc LightSwitch quản lý và lƣu vào file Applicattion.mdf. Sau khi thiết kế xong cơ sở dữ liệu của ứng dụng, tôi sử dụng SQL Server 2008 để quản trị cơ sở dữ liệu của ứng dụng bằng cách sử dụng chức năng đính kèm cơ sở dữ liệu của SQL Server 2008 với file đính kèm là file Application.mdf mà LightSwitch đã tạo ra. Hình 3.10 thể hiện các bảng dữ liệu của ứng dụng mà tôi tạo trong LightSwitch và đã đƣợc chuyển qua hệ quản trị cơ sở dữ liệu SQL Server 2008. Khi chuyển từ cơ sở dữ liệu nội tại sang cơ sở dữ liệu SQL, trƣờng dữ liệu ở các bảng có quan hệ “nhiều” sẽ có kiểu là số ngun, là khóa ngồi và có liên kết tới khóa chính của bảng dữ liệu quan hệ “một”. Trƣờng dữ liệu của các bảng có quan hệ một sẽ biến mất so với các bảng

TaiNanGiaoThong và bảng Tinhchat khi chuyển qua SQL Server, ở bảng TainanGiaothong sẽ có một trƣờng tên là Tainangiaothong_TinhChat có kiểu là số nguyên, là khóa ngồi và có quan hệ nhiều một với trƣờng Id của bảng Tinhchat. Ở bảng Tinhchat khơng cịn trƣờng TaiNanGiaoThong nhƣ ở q trình thiết kế. Hình 4.9

sau thể hiđồ dữ liệu của ứng dụng trong hệuản trị cơ sở dữ liệu SQL Server.

Hình 3.10: Sơ đồ quan hệ dữ liệu giữa các bảng dữ liệu của ứng dụng

3.4.2 Tạo các chức năng thêm, xóa, sửa dữ liệu của ứng dụng

Nhƣ đã đề cập trong chƣơng 2, LightSwitch tự động sinh ra các form thao tác dữ liệu từ các bảng dữ liệu. Ví dụ để tạo form Nhập mới vụ tai nạn giao thông, tôi thêm một Screen với định dạng mẫu “New Data Screen”, với nguồn dữ liệu là bảng Tainangiaothong. Một form nhập liệu dành cho bảng Tainangiaothong đƣợc tự động

TaiNanGiaoThongs Id RowVersion ThoiGianXayRa ThoiGianBaoCao SoChet SoThuong SoBiCan ThietHai TomTat Tainangiaothong_Donvi Tainangiaothong_Tinhchat Tainangiaothong_T_Phanloai Tainangiaothong_T_hinhthucxuly Tainangiaothong_T_Tinh Tainangiaothong_T_Huyen Tainangiaothong_T_Xa Tinhchats Id RowVersion TenTinhchat TinhTrangThuongTats Id RowVersion Loai T_Xas Id RowVersion Xa T_Xa_T_Tinh T_Xa_T_Huyen T_Tinhs Id RowVersion Tinh T_Phanloais Id RowVersion PhanLoai T_Huyens Id RowVersion Huyen T_Huyen_T_Tinh T_hinhthucxulies RowVersion Id HinhThuc QuocTiches Id RowVersion TenNuoc PhuongTiens Id RowVersion Loai PhuongTienGayTaiNans Id RowVersion NamSanXuat BienSoXe PhuongTienGayTaiNan_NhaS... PhuongTienGayTaiNan_DongXe TaiNanGiaoThong_PhuongTie... NhaSanXuats Id RowVersion TenNhaSanXuat NguoiDieuKhienPTs Id RowVersion HoTen NgaySinh SoBangLaiXe SuDungRuou SuDungMaTuy NguoiDieuKhienPT_NgheNghi... NguoiDieuKhienPT_HangBang... NguoiDieuKhienPT_GioiTinh NguoiDieuKhienPT_PhuongTien Tainangiaothong_NguoiDieuK... NguoiDieuKhienPT_QuocTich NguoiBiNans Id RowVersion HoTen NgaySinh NguoiBiNan_GioiTinh NguoiBiNan_NgheNghiep NguoiBiNan_QuocTich NguoiBiNan_TinhTrangThuon... Tainangiaothong_NguoiBiNan NgheNghieps Id RowVersion Ten HangBangLXes Id RowVersion Loai GioiTinhs Id RowVersion Loai Donvi Id RowVersion Donvis DongXes Id RowVersion TenDongXe DongXe_NhaSanXuat

sinh ra với các điều khiển nhập liệu và đầy đủ các chức năng Tạo mới, Lƣu, Làm mới dữ liệu. Hình 3.11 chính là form nhập mới vụ TaiNanGiaoThong đƣợc LightSwitch sinh ra trong ứng dụng.

Với cách tƣơng tự, tôi tạo ra đƣợc các form thao tác dữ liệu khác của ứng dụng nhƣ Xóa, sửa tai nạn giao thơng, quản lý danh mục đơn vị, quản lý danh mục tính chất …với đầy đủ các tính năng thao tác dữ liệu cơ bản nhƣ Tìm kiếm, thêm, xóa, sửa dữ liệu.

Hình 3.11: Màn hình nhập mới vụ Tai nạn Giao thơng

3.4.3 Tạo các chức năng Tìm kiếm dữ liệu

Nhƣ phân tích trong phần 3.3, ứng dụng có các chức năng tìm kiếm Tai nạn giao thơng: Tìm kiếm Tai nạn theo Ngày xảy ra, Tìm kiếm Tai nạn theo Nơi xảy ra, Tìm kiếm Tai nạn theo tiêu chí Tổng hợp, Tìm kiếm Tai nạn theo Phƣơng tiện, Tìm

tạo các truy vấn từ các bảng dữ liệu với các tham số trong bộ lọc tùy theo loại tìm kiếm. Với 3 chức năng tìm kiếm đầu tiên, tơi tạo ra 03 truy vấn trên bảng Tainangiaothongs, với 2 chức năng tìm kiếm cịn lại tơi tạo 02 truy vấn trên bảng PhuongtienGayTainans và NguoiDieuKhienPTs tƣơng ứng. Các truy vấn này là các nguồn dữ liệu cho các Screen tạo chức năng tìm kiếm. Ví dụ để tạo chức năng tìm kiếm vụ tai nạn giao thông tổng hợp theo các tiêu chí thời gian xảy ra, số ngƣời chết, thiệt hại, tính chất, hình thức xử lý, phân loại, tỉnh, huyện, xã tôi tạo truy vấn TainanSearchAll1 từ bảng Tainangiaothongs với các tham số bộ lọc nhƣ hình 3.12. Truy vấn TainanSearchAll1 sẽ trả về các vụ tai nạn dựa trên giá trị của các thamsố: ParaThoigianxayraMin, ParaThoigianxayraMax, ParaSochetMin, ParaSochetMax, ParaThiethaiMin, ParaThiethaiMax, ParaPhanloai, ParaTinhchat, ParaHinhthucxuly, ParaTinh, ParaHuyen, ParaXa đƣa vào.

Hình 3.12: Cách tạo câu truy vấn cho chức năng Tìm kiếm tổng hợp.

Các tham số bộ lọc đƣơc để ở dạng tham số tùy chọn để quy định rằng trong form chức năng tìm kiếm Tai nạn giao thơng Tổng hợp các tham số có thể đƣợc chọn hoặc khơng chọn. Hình 3.13 mơ tả màn hình ứng dụng khi thực hiện chức năng tìm kiếm tai nạn giao thơng tổng hợp với giá trị Tỉnh là TP. Hà nội.

Hình 3.13: Chức năng Tìm kiếm Tai nạn Giao thơng Tổng hợp

3.4.4 Tạo báo cáo cho ứng dụng

Vì các ứng dụng LightSwitch vừa có thể chạy trên mơi trƣờng máy để bàn và môi trƣờng Web nên mặc định LightSwitch không hỗ trợ chức năng tạo báo cáo. Ngƣời phát triển có thể tạo báo cáo bằng các công cụ khác nhƣ Asp.net Report, MS SQL Report hoặc công cụ tạo báo cáo chuyên nghiệp nhƣ XtraReport, Crystal Report. Tôi sử dụng MS Report để tạo các báo cáo cho ứng dụng. Hình 3.14 sau mô tả chức năng thống kê số vụ tai nạn giao thơng tồn quốc theo các tiêu chí: tổng số vụ, số ngƣời chết, số ngƣời bị thƣơng, số vụ khởi tố và phân loại theo loại đƣờng.

Hình 3.14: Chức năng thống kê của ứng dụng

3.4.5 Quản lý ngƣời dùng và phân quyền sử dụng

Tôi sử dụng công cụ quản lý ngƣời dùng và phân quyền sử dụng của LightSwitch để xây dựng hệ thống quản lý xác thực đối với ứng dụng. LighSwitch

dùng Windows và Xác thực theo form đăng nhập. Cơ chế và cơ sở dữ liệu ngƣời dùng đƣợc LightSwitch tạo tự động và tích hợp vào cơ sở dữ liệu của ứng dụng.

Đối với ứng dụng Quản lý Tai nạn Giao thông, tôi sử dụng chức năng tạo hệ xác thực đăng nhập theo form đăng nhập. Với lần biên dịch đầu tiên, ứng dụng tạo ra một tài khoản quản trị tối cao. Từ tài khoản quản trị, tơi có thể sử dụng chức năng tạo ngƣời dùng mới, tạo vai trò truy cập, phân quyền cho các ngƣời dùng theo các vai trò truy cập. Các chức năng này đều đƣợc LightSwitch tự động tích hợp vào ứng dụng.

3.4.6 Xuất bản ứng dụng lên máy chủ Web

LightSwitch cung cấp tiện ích cho ngƣời phát triển có thể xuất bản ứng dụng lên máy để bàn để chạy độc lập hoặc lên máy chủ Web IIS hoặc lên mơi trƣờng đám mây Windows Azure. Vì ứng dụng Quản lý Tai nạn Giao thông chạy trên môi trƣờng mạng WAN của Bộ Công an nên ở đây tôi sử dụng tiện ích xuất bản ứng dụng của LightSwitch lên IIS Web server. Bằng cách thiết lập các thông số cài đặt và kết nối phù hợp, LightSwitch tự động đẩy mã nguồn ứng dụng lên IIS Web server. Sau khi quá trình xuất bản thành cơng, tơi chỉ cần vào trình duyệt và gõ địa chỉ để truy cập ứng dụng.

3.4.7 Kết quả thử nghiệm

Trong giai đoạn thử nghiệm ban đầu ứng dụng đƣợc triển khai thử nghiệm tại Phòng Thống kê số liệu thuộc Văn phòng Bộ. Ứng dụng đƣợc cài đặt trên máy chủ trong mạng nội bộ của Văn phòng Bộ, cán bộ phòng thống kê sử dụng ứng dụng thông qua máy trạm thuộc mạng nội bộ. Sau 1 tháng thử nghiệm, đánh giá của cán bộ phòng thống kê đối với ứng dụng là:

Ưu điểm: Hệ thống đáp ứng đƣợc nhu cầu nhập và quản lý thông tin vụ tai nạn

giao thơng. Ngƣời sử dụng có thể dễ dàng tìm kiếm, tra cứu thơng tin vụ tai nạn giao thơng xảy ra trên địa bàn theo các tiêu chí khác nhau. Chức năng thống kê số liệu tai nạn giao thơng rất hữu ích trong cơng tác tổng kết, đánh giá tình hình tai nạn giao thông trên địa bàn.

Nhược điểm, tồn tại: Giao diện hệ thống, báo cáo còn đơn giản, còn thiếu lời

chào khi đăng nhập hệ thống, thiếu logo và banner hệ thống. Danh mục Huyện của Thành phố Hà nội còn thiếu huyện Mê Linh.

Tơi dành thời gian 1 tháng để tìm hiểu LightSwitch và 1 tháng để xây dựng ứng dụng Quản lý Tai nạn Giao thơng. Do thời gian chính là tập trung vào xây dựng các chức năng của hệ thống nên hệ thống vẫn còn nhƣợc điểm, tồn tại nhƣ nhận xét của cán bộ phòng thống kê. Danh mục Huyện Mê Linh sẽ dễ dàng thêm vào danh mục Huyện theo chức năng quản trị danh mục Huyện của ứng dụng. Đối với các tồn tại về

giao diện tôi sẽ khắc phục trong thời gian tới khi nghiên cứu kỹ cách quản lý giao diện của LightSwitch.

Qua giai đoạn thử nghiệm đầu tiên, tuy còn một số tồn tại nhƣng về cơ bản ứng dụng đã đáp ứng đƣợc các yêu cầu nghiệp vụ của cán bộ tổng hợp trong quá trình quản lý, thống kê thông tin tai nạn giao thông. Giai đoạn tiếp theo tơi sẽ tiếp tục hồn thiện ứng dụng để triển khai thử nghiệm ở ba tỉnh là Hà Nội, Thanh Hóa và Quảng Ninh.

CHƢƠNG IV: ĐÁNH GIÁ, THẢO LUẬN VÀ KẾT LUẬN

4.1 Đánh giá và thảo luận

Qua quá trình nghiên cứu các công nghệ phát triển ứng dụng nhanh trên nền Web, áp dụng LightSwitch để phát triển ứng dụng Quản lý Tai nạn Giao thông tôi rút ra một số nhận xét sau:

- LightSwitch chính là một nền tảng lập trình dữ liệu điều khiển [3] (data-driven programming). Lập trình dữ liệu điều khiển đang là một xu hƣớng trong ngành công nghệ phần mềm và trong thời gian gần đây đang đƣợc tập trung nghiên cứu. Ngƣời lập trình thay vì phải viết những dịng mã lệnh thì chỉ cần đƣa vào các thơng tin về cấu trúc dữ liệu, logic nghiệp vụ cho bộ cơng cụ lập trình. Các bộ cơng cụ lập trình sẽ tự động sinh ra mã của ứng dụng dựa trên những dữ liệu đƣa vào. Với cách tiếp cận này, ngƣời phát triển ứng dụng chỉ tập trung vào phân tích thiết kế bài tốn, logic nghiệp vụ của bài tốn mà khơng cần phải quan tâm q nhiều vào phần viết mã ứng dụng, vốn là một giai đoạn tiêu tốn khá nhiều thời gian và cơng sức của lập trình viên. Phần triển khai, viết mã lập trình hay kiểm thử ứng dụng sẽ do các bộ công cụ lập trình đảm nhiệm thực hiện. Lập trình dữ liệu điều khiển thích hợp cho các bài toán mà các yêu cầu nghiệp vụ thƣờng xuyên thay đổi. Khi có sự thay đổi yêu cầu nghiệp vụ, ngƣời phát triển chỉ cần thay đổi dữ liệu liên quan đến yêu cầu nghiệp vụ đó để ứng dụng cập nhật chức năng tƣơng ứng mà không phải xây dựng lại ứng dụng.

- LightSwitch xây dựng các ứng dụng cũng theo phƣơng pháp hƣớng dữ liệu. LightSwitch lƣu tất cả thông tin của một ứng dụng nhƣ các định nghĩa các thực thể, các Screen, các truy vấn, cấu hình… vào một file ApplicationDefinition.lsml. Khi biên dịch và xuất bản ứng dụng, LightSwitch sẽ dựa trên file này để sinh ra mã chƣơng trình tƣơng ứng.

- LightSwitch thật sự là công cụ vô cùng mạnh mẽ để phát triển các ứng dụng quản lý. LightSwitch tập trung vào dữ liệu và các giao diện tƣơng tác với dữ liệu. Bản chất của LightSwitch là tạo ra các ứng dụng forms- over- data. Với việc tích hợp các nền tảng công nghệ tiên tiến nhất hiện nay, LightSwitch giúp ngƣời phát triển phần mềm có thể tạo ra các ứng dụng quản lý chuyên nghiệp, hiện đại, nhanh chóng, chạy đƣợc trên nhiều mơi trƣờng, trên nhiều loại thiết bị.

- Trong môi trƣờng làm việc nhiều biến động nhƣ ngày nay, thời gian là yếu tố rất quan trọng, góp phần quyết định sự thành cơng của các dự án công nghệ thông tin. Với việc áp dụng LightSwitch để phát triển ứng dụng, thời gian phát triển phần mềm đƣợc rút ngắn rất nhiều so với việc sử dụng các công cụ khác. LightSwitch cung cấp

nền tảng công nghệ và công cụ để ngƣời phát triển có thể sử dụng trong hầu hết kịch bản thƣờng xảy ra, trong tất cả các bƣớc xây dựng phần mềm

- Ngƣời phát triển với nhiều trình độ khác nhau từ sơ cấp đến chuyên nghiệp đều có thể sử dụng LightSwitch trong việc phát triển ứng dụng. Ngƣời phát triển có thể tạo ra một ứng dụng từ LightSwitch mà khơng phải viết bất kỳ đoạn mã lập trình nào. Thực tế tại mỗi cơ quan đơn vị có rất nhiều bài tốn quản lý nhỏ có nhu cầu tin học hóa. Tuy nhiên do là bài tốn nhỏ nên hầu hết không đƣợc quan tâm đầu tƣ, việc th cơng ty ngồi để xây dựng cũng rất khó khăn do chi phí đầu tƣ khơng đáng kể. Với LightSwitch, cán bộ làm về công nghệ thông tin với khả năng và kiến thức lập trình cơ bản đã có thể tự xây dựng các ứng dụng nhỏ này cho đơn vị của mình.

- LightSwitch thực sự là công cụ ƣu việt dành cho quy trình phát triển nhanh ứng dụng RAD. Với các tính năng đƣợc xây dựng sẵn, LightSwitch giúp ngƣời phát triển nhanh chóng đƣa ra đƣợc các bản thử nghiệm tới khách hàng để nhận đƣợc sự phản hồi cũng nhƣ đánh giá từ phía khách hàng để tiếp tục xây dựng các bản thử nghiệm tiếp theo cho tới khi đáp ứng đầy đủ các yêu cầu từ phía khách hàng.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu công nghệ phát triển ứng dụng nhanh trên nền web trong Bộ Công an. (Trang 44)

Tải bản đầy đủ (PDF)

(57 trang)