Hệ thống phần mềm Đăng ký tài khoản trên mạng

LỜI MỞ ĐẦU Thế giới đang chứng kiến một cuộc cách mạng thông tin ảnh hưởng sâu sắc đến mọi lĩnh vực trong đời sống kinh tế, văn hóa, xã hội, đưa xã hội loài người chuyển mạnh từ xã hội công nghiệp sang xã hội thông tin. Nội dung cơ bản của cuộc cách mạng này là ứng dụng công nghệ cao, hiện đại với công nghệ thông tin và truyền thông là phương tiện có ý nghĩa quyết định, với trí tuệ và sáng tạo là nguồn lực quốc gia quan trọng, phục vụ cho việc xây dựng và phát triển một xã hội ngày càng tốt đẹp

doc47 trang | Chia sẻ: huyen82 | Lượt xem: 1766 | Lượt tải: 0download
Tóm tắt tài liệu Hệ thống phần mềm Đăng ký tài khoản trên mạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
hơn. Hiện nay khi mà thế giới internet đang bùng nổ trên toàn cầu thì internet thật sự đã trở thành một phần không thể thiếu được của mỗi cá nhân, tổ chức hay quốc gia .Công nghệ thông tin, internet có mặt trong hầu hết các lĩnh vực của cuộc sống.”Đăng ký tài khoản trên mạng” là một đề tài nhằm giúp người sử dụng internet một cách hiệu quả hơn.Là một phần không thể thiếu được của mỗi trang web, giúp mọi người có thể trao đổi học hỏi lẫn nhau.Bên cạnh đó nó còn giúp cho công việc của mỗi cá nhân được thuận lợi hơn. LỜI CẢM ƠN Trước tiên Em xin gửi lời cảm ơn trân thành đến th.s Đào Quý Hùng đã tận tình chỉ bảo em hoàn thành đề tài này. Trong quá trình thực hiện đề tài em đã nhận được sự giúp đỡ của các bạn trong nhóm trao đổi lẫn nhau em đã nắm bắt được vấn đề nhanh hơn. Ngoài ra em cũng được sự giúp đỡ của các anh chị trong công ty chứng khoán Thiên Việt. Em xin trân thành cảm ơn Chương trình hợp tác đào tạo quốc tế trường Đại học Bách Khoa Hà Nội đã tạo điều kiện cho em được làm đề tài này.Em xin cảm ơn đến các thầy cô trong chương trình hợp tác đào tạo quốc tế đã giúp đỡ em trong quá trình học tập tại trường cũng như trong thời gian thực hiện đề tài. Đề tài đã hoàn thành và đạt được một số kết quả nhất định tuy nhiên vốn kiến thức còn hạn hẹp và kinh nghiệm còn hạn chế nên không thể tránh khỏi sự thiếu sót. Kính mong sự cảm thông và đóng góp ý kiến của các thầy cô và các bạn. Các thuật ngữ viết tắt Thuật ngữ Định nghĩa Ghi chú KH Khách hàng HĐ Hợp đồng TT Thông tin CHƯƠNG I. TỔNG QUAN Giới thiệu công ty chứng khoán Thiên Việt Tên doanh nghiệp phát hành:CTCP Chứng khoán Thiên Việt Tên giao dịch: THIEN VIET SECURITIES JOINT STOCK COMPANY Tên viết tắt: TVS Vốn điều lệ : 430 tỷ đồng Dịch vụ. -  Môi giới chứng khoán - Tự doanh chứng khoán - Tư vấn tài chính và đầu tư chứng khoán - Bảo lãnh phát hành chứng khoán - Lưu ký chứng khoán. Lịch sử hình thành và phát triển: Công ty Chứng khoán Thiên Việt - TVSC là một công ty được thành lập và hoạt động theo luật Doanh nghiệp và các quy định hiện hành về chứng khoán và thị trường chứng khoán. Công ty có tài khoản và con dấu riêng; được UBCKNN cấp giấy phép hoạt động kinh doanh chứng khoán và đăng ký kinh doanh tại Sở Kế hoạch và Đầu tư thành phố Hà Nội. Mục tiêu hoạt động: Hoạt động ổn định, lâu dài, có hiệu quả, luôn hướng tới lợi ích của cổ đông và khách hàng. Góp phần xây dựng thị trường chứng khoán Việt Nam phát triển lớn mạnh và tạo dựng hình ảnh một Công ty chứng khoán năng động, có uy tín, dịch vụ chất lượng cao. Hỗ trợ phát triển các doanh nghiệp Việt Nam, đặc biệt là đối với các doanh nghiệp vừa và nhỏ. Đa dạng và chuyên nghiệp hoá các sản phẩm dịch vụ, đáp ứng tốt nhất mọi nhu cầu ngày càng tăng của các nhà đầu tư. Gia tăng giá trị của Công ty, mang lại lợi ích thiết thực và tối đa cho các cổ đông. Các Khái niệm 1.2.1 Nhân viên - Tìm kiếm thông tin của khách hàng. - Đối với những khách hàng đăng ký tài khoản trực tiếp thì nhân viên có nhiệm vụ thêm mới khách hàng. - Cập nhật thông tin hướng dẫn mở tài khoản. 1.2.2 Khách hàng - Tìm kiếm thông tin để tìm lại thông tin của mình. - Làm lại khi khách hàng nhập thông tin sai. - Mở tài khoản mới . - In lại thông tin Sơ đồ quy trình nghiệp vụ Tìm kiếm Nhân viên Khách hàng Hướng dẫn mở tài khoản Thêm mới Tìm kiếm Mở tài khoản Làm lại In thông tin Hình 1. Sơ đồ quy trình nghiệp vụ Các nghiệp vụ chính 1.3.1 Đối với nhân viên - Mở tài khoản cho khách hàng. - Cập nhật thông tin cho khách hàng. - Tìm kiếm thông tin , sửa chữa thông tin khách hàng . 1.3.2 Đối với khách hàng - Khách hàng online đăng ký tài khoản qua hệ thống. - Nhập các thông tin cần thiết để đăng ký tài khoản. - Hệ thống lưu lại thông tin của khách hàng đã đăng ky thành công. - Nhập các thông tin như: Email, tên khách hàng, số pin để lấy lại thông tin của khách hàng. 1.3.3 Khách hàng đăng ký tài khoản - Thông tin khách hàng: Khách hàng cập nhập đầy đủ các thông tin cần thiết của cá nhân. Hệ thống sẽ tự động lưu lại các thông tin của khách hàng vào mục quản lý thông tin khách hàng. Các thông tin cần thiết: + Họ và tên khách hàng. + Ngày sinh. + Giới tính. + Số CMTND/Hộ chiếu. + Ngày cấp. + Nơi cấp. + Địa chỉ thường trú. + Địa chỉ liên hệ. + Điện thoại. + Email. + Fax. + Số pin. + Xác nhận số pin. + Tên tổ chức nơi khách hàng làm việc. + Nghành nghề kinh doanh chính. + Vị trí công tác của khách hàng. + Họ và tên vợ hoặc chồng. + Nơi làm việc của vợ hoặc chồng. + Nghề nghiệp của vợ hoăc chồng. + Vị trí công tác của vợ hoặc chồng. - Mục tiêu đầu tư của khách hàng: Khi đầu tư vào một lĩnh vực nào đó, việc đầu tiên mà khách hàng quan tâm đó là thu về được bao nhiêu (Lợi nhuận) từ khoản tiền đem đi đầu tư. Quyết định về khoảng thời gian và chiến lược đầu tư là bước rất quan trọng để quyết định loại cổ phiếu mà bạn sẽ mua. Thông tin cần thiết: + Thu nhập (%) + Tăng trưởng dài hạn (%) + Tăng trưởng trung hạn (%) + Tăng trưởng ngắn hạn (%) + Tổng (%). - Mức độ chấp nhận rủi ro Khi đầu tư vào một lĩnh vực nào đó, bên cạnh những lợi nhuận thì những rủi ro có thể xảy ra trong việc đầu tư cũng là một vấn đề mà khách hàng luôn quan tâm. Mức độ chấp nhận rủi ro đó là khả năng mà khách hàng có thể chấp nhận được là bao nhiêu (%) rủi ro. Thông tin cần thiết: + Thấp (%) + Trung bình (%) + Cao (%) + Tổng (%) - Tài sản Để có thể tham gia đầu tư, một yêu cầu cần thiết đó là chủ đầu tư phải có một số vốn ban đầu. Số tài sản này phải được kê khai một cách chi tiết và có tính hợp pháp. Thông tin cần thiết: + Tài sản cố định (%) + Tài sản ngắn hạn (%) + Giá trị tài sản ròng (%) + Tổng thu nhập của khách hàng (%) + Thu nhập của vợ (chồng) (%). - Hiểu biết về đầu tư Trước rất nhiều vấn đề, rất nhiều thông tin từ nhiều hướng khác nhau thì khách hàng phải cập nhập và tiếp thu thông tin một cách có chọn lọc để đưa ra cho mình một hướng đi đúng khi bước vào đầu tư. Thông tin cần thiết: + Chưa hiểu rõ + Còn hạn chế + Tốt + Rất tốt. - Kinh nghiệm trong hoạt động đầu tư: Kinh nghiệm trong hoạt động đầu tư là vô cùng quan trọng. Trước khi quyết định đầu tư vào một lĩnh vực bất kỳ, người tham gia đầu tư cần có sự hiểu biết nhất định về lĩnh vực mà mình sẽ tham gia đầu tư.Thông tin cần thiết: + Chưa có gì. + Tín phiếu kho bạc. + Cổ phiếu. + Trái phiếu. + Bán khống. + Chứng khoán khác. - Tài sản tại nhà môi giới khác: Khi muốn mở một tài khoản tại công ty chứng khoán bằng hình thức nào thì khách hàng cần phải có tài khoản tiền gửi thanh toán tại một ngân hàng nào đó mà công ty chứng khoán đó yêu cầu. Nếu chưa có khách hàng có thể mở tài khoản tiền gửi thanh toán tại bât cứ điểm giao dich nào của ngân hàng hoặc liên hệ với các ngân hàng tại công ty chứng khoán để mở tài khoản tiền gửi thanh toán. Thông tin cần thiết: + Tài khoản tiền gửi tại ngân hàng. + Người quản lý tài khoản. + Số tài khoản. - Tên công ty đại chúng mà khách hàng nắm chức năng quản lý. - Tên công ty đại chúng mà khách hàng sở hữu từ 05% vốn điều lệ trở lên. - Người có quyền hoặc lợi ích tài chính đối với tài khoản này: Chủ tài khoản sẽ phân quyền cho người ủy quyền một cách hợp lý để giúp cho hoạt động đầu tư của mình có hiệu quả nhất. Người ủy quyền sẽ giúp chủ tài khoản trong suốt quá trình hoat đông đầu tư.Thông tin của người có quyền hoặc lợi ích tài chính với tài khoản này: + Họ và tên. + Điện thoại liên lạc. + Số CMTND/hộ chiếu. + Nơi cấp CMTND/hộ chiếu. + Ngày cấp. - Giấy tờ kèm theo: + Chứng minh nhân dân (bản sao) + Hộ chiếu (bản sao) + Thông tin về người uỷ(nếu có) + Ngày sinh + Giới tính + Số CMND/Hộ chiếu + Ngày cấp + Nơi cấp + Địa chỉ thường trú + Địa chỉ liên hệ + Điện thoại + Email + Fax - Quan hệ giữa người tư vấn và khách hàng: Công việc chính của người tư vấn là tiếp khách và tư vấn.Vì thế người tư vấn khách hàng phai có mối quan hệ rộng trên mọi lĩnh vực. Nguồn khách hàng của họ đến từ những đầu mối trung tâm giao dịch chứng khoán hay do chính nhà đầu tư tự tìm đến người tư vấn thông qua một số trang web chứng khoán.Thông tin cần thiết: + Không quen biết + Mới quen + Quan hệ họ hàng + Do giới thiệu (nếu có, đề nghị viết rõ họ tên của người giới thiệu) Họ tên + Hình thức khác. 1.3.4 Gửi mail Nếu khách hàng chấp nhận những thông tin này là chính xác. Hệ thống sẽ trả lại cho khách hàng bản hợp đồng có đầy đủ thông tin theo mẩu và thông báo cho Khách hàng in “Phiếu yêu cầu mở tài khoản giao dịch chứng khoán”, “Hợp đồng mở tài khoản giao dịch chứng khoán”. Khi đó hệ thống sẽ tự động gửi mail vào địa chỉ mail của khách hàng, thông báo cho khách hàng đã đăng ký tài khoản thành công. Báo cáo nghiệp vụ chính: Thông tin về tài khoản của khách hàng: Khi khách hàng đăng ký thành công sẽ có một bản báo cáo chi tiết về tất cả các thông tin của khách hàng như: Họ và tên khách hàng Ngày sinh Giới tính Số CMTND/ Hộ chiếu Ngay cấp Nơi cấp Địa chỉ thường trú Địa chỉ liên hệ Email Fax Tên tổ chức nơi khách hàng làm việc Nghành nghề kinh doanh chinh Vị trí công tác của khách hàng. Họ và tên vợ hoặc chồng. Nơi làm việc của vợ hoặc chồng. Nghề nghiệp của vợ hoăc chồng. Vị trí công tác của vợ hoặc chồng. Mục tiêu đầu tư của khách hàng Mức độ chấp nhận rủi ro Tài sản Hiểu biết về đầu tư Kinh nghiệm hoạt động trong đầu tư Tài khoản tại nhà môi giới Tên công ty đại chúng mà khách hàng nắm chức danh quản lý Tên công ty đại chúng mà khách hàng nắm 05% vốn điều lệ trở lên. Người có quyền lợi hoặc lợi ích đối với tài khoản này - Họ và tên - Số điện thoại - Số CMTND/ Hộ chiếu + Ngày cấp + Nơi cấp Giấy tờ kèm theo: Chứng minh nhân dân (bản sao) Hộ chiếu (bản sao) Tài liệu khác Thông tin người ủy quyền (nếu có) Ngày sinh Giới tính: Nam/ Nữ. Số CMTND/ Hộ chiếu: Ngày cấp/ Nơi cấp Địa chỉ thường trú Địa chỉ liên hệ Điện thoại Email Fax. Cam kết của khách hàng Chữ ký của khách hàng Phần dành cho công ty chứng khoán Ý kiến của nhân viên tư vấn Chữ ký của nhân viên tư vấn Chữ ký của trưởng phòng môi giới Số tài khoản giao dich của khách hàng CHƯƠNG II. PHÂN TÍCH HỆ THỐNG 2.1 Yêu cầu của hệ thống. Chương trình mở tài khoản trên mạng đáp ứng được các yêu cầu sau: a. Quản trị hệ thống Phân quyền cho hệ thống. Tạo người sử dụng. b. Quản lý nghiệp vụ Mở tài khoản online cho khách hàng. Khách hàng có thể mở tài khoản trưc tiếp trên mạng. Điền các thông tin vào phiếu cho nhân viên mở tài khoản. Tìm kiếm thông tin khách hàng. Hương đẫn mở tài khoản online 2.2 Mô tả nghiệp vụ đăng ký tài khoản  Chi tiết các nghiệp vụ. Nhân viên - Với những khách hàng đăng ký trực tiếp tại công ty thì nhân viên sẽ đưa cho khách hàng văn bản cần thiết để đăng ký tài khoản. - Hướng dẫn khách hàng đăng ký tài khoản. - Quản lý các thông tin của khách hàng. 2.3 Khách hàng đăng ký tài khoản online - Đọc kỹ hướng dẫn mở tài khoản. - Cập nhập các thông tin của khách hàng. - Xác nhận lai thông tin. 2.3.1 Đăng ký tài khoản a. Mục đích: - Nhân viên cập nhâp các thông tin khách hàng khi khách hàng muốn tạo tài khoản trực tiếp. - Khách hàng tự cập nhập các thông tin của mình vào hệ thống khi đăng ký trực tuyến. b.Người sử dụng : Nhân viên và khách hàng. c.Điều kiện thực hiện: - Khách hàng phải có các giấy tờ cần thiết . - Đảm bảo tính pháp lý. d.Input – Thông tin cần nhập: Họ tên khách hàng Ngày sinh Giới tính ( nam hay nữ) Số chứng minh thư nhân dân/Hộ chiếu Ngày cấp Nơi cấp Địa chỉ thường chú Địa chỉ liên hệ Điện thoại Email Fax Số pin Xác nhận số pin Tên tổ chức nơi khách hàng làm việc Nghành nghề kinh doanh chính Vị trí công tác của khách hàng Họ tên vợ( hoặc chồng). Nơi làm việc của vợ (hoặc chồng). Nghề nghiệp của vợ (hoăc chồng). Vị trí công tác của vợ (hoặc chồng). Mục tiêu đầu tư của khách hàng: Thu nhập (%) Tăng trưởng dài hạn (%) Tăng trưởng trung hạn (%) Tăng trưởng ngắn hạn (%) Tổng (%) Mức độ chấp nhận rủi ro: Thấp (%) Cao (%) Trung bình (%) Tổng (%) Tài sản Tài sản ngắn hạn (%) Tài sản cố định (%) Giá trị tài sản ròng (%) Tổng thu nhập của khách hàng (%) Thu nhập của vợ (chồng) (%) Hiểu biết về đầu tư: Chưa hiểu rõ Còn hạn chế Tốt Rất tốt Kinh nghiệm hoạt động trong đầu tư Chưa có Tín phiếu Bán khống Cổ phiếu Trái phiếu Chứng khoán Tài khoản tại nhà môi giới Tài khoản tiền gửi Số tài khoản Người quản lý tài Tên công ty đại chúng mà khách hàng nắm chức danh quản lý Tên công ty đại chúng mà khách hàng nắm 05% vốn điều lệ trở lên Người có quyền lợi hoặc lợi ích đối với tài khoản này Họ và tên Số điện thoại Số CMTND/ Hộ chiếu Ngày cấp Nơi cấp Giấy tờ kèm theo Chứng minh nhân dân (bản sao) Hộ chiếu (bản sao) Tài liệu khác Thông tin người ủy quyền (nếu có) Ngày sinh Giới tính: Nam/ Nữ Số CMTND/ Hộ chiếu: Ngày cấp/ Nơi cấp Địa chỉ thường trú Địa chỉ liên hệ Điện thoại Email Fax Quan hệ giữa người tư vấn và khách hàng Không quen biết Mới quen Quan hệ họ hàng Do giới thiệu Hinh thức khác e.Out put của nghiệp vụ: Khi đã nhập tất cả các thông tin cần thiết khách hàng sẽ xem lại một lần nữa khi xác nhận thông tin. Khi khách hàng đăng ký thành công thi hệ thống cho phép xuất ra một bản báo cáo về thông tin khách hàng. Hệ thống sẽ lưu lại thông tin của khách hàng. Một số lỗi mà hệ thống sẽ thông báo lại khi khách hàng nhập sai hoặc không đúng kiểu dữ liệu : Bạn phải nhập tên Ngày sinh phải đúng định dạng Bạn phai nhập số CMTND/Hộ chiếu Bạn phải nhập nơi cấp CMTND/Hộ chiếu Số CMTND đã tồn tại Bạn phải nhập ngày cấp CMTND/Hộ chiếu Bạn phải nhập nơi cấp CMTND/Hộ chiếu Bạn phai nhập địa chỉ thường trú Bạn phải nhập điên thoại Email không đúng định dạng Email người ủy quyền không đúng định dạng Bạn phải nhập số pin Bạn phải nhập xác nhân số pin Số pin và xác nhận số pin không trùng nhau Số pin đã tồn tại Mục tiêu đầu tư của khach hàng phải là số Mức độ chấp nhận rủi ro phải là số Tài sản phải là số 2.3.2 Tìm kiếm thông tin khách hàng đối với nhân viên công ty chứng khoán: a.Mục đích: Tìm kiếm và tra cứu thông tin khách hàng. b.Người sử dụng: Nhân viên c.Điều kiện thực hiện: Khách hàng đã đăng ký thành công tài khoản. Để đảm bảo tính bảo mật thông tin khách hàng thì việc tra cứu nhiều khách hàng chỉ có nhân viên mới được thực hiện nghiệp vụ này. d.Input – thông tin cần cập nhật Nhân viên: Tên khách hàng Số CMTND/ Hộ chiếu Số tài khoản e. Output của nghiệp vụ Hệ thống báo lại thông tin khách hàng 2.3.3 Khách hàng tìm kiếm thông tin : a.Mục đích: Tìm kiếm và tra cứu thông tin của mình. b.Người sử dụng: Nhân viên c.Điều kiện thực hiện: Khách hàng đã đăng ký thành công tài khoản. Khách hàng chỉ có thể tra cứu thông tin tài khoản của mình d. Input – thông tin cần cập nhật Khách hàng: Email Số Pin Số CMTND/ Hộ chiếu e.Output của nghiệp vụ Hệ thống báo lại thông tin khách hàng Hệ thống có thể in ra các thông tin của khách hàng. 2.3.4 Sửa chữa thông tin khách hàng a.Mục đích : Khách hàng sửa chữa lại các thông tin . b.Người sử dụng : Khách hàng. c.Điều kiện thực hiện : Khách hàng đã đăng ký tài khoản. d.In put thông tin cần nhập : + Khách hàng tìm kiếm chính xác thông tin của mình e. Out put hệ thống + Cập nhật lại thông tin ma khách hàng đã đăng ký + Khách hàng khi muốn sửa chữa thông tin thì phải đến trực tiếp công ty chứng khoán. 2.3.5 Hướng dẫn mở tài khoản Mục đích Để cập nhật thông tin cho khách hàng về các quy định để mở một tài khoản. Người sử dụng: Nhân viên Điều kiện thực hiện Thông tin về mở tài khoản đã đuợc thông qua. Cấp lãnh đạo có thẩm quyền ký duyệt đã ký duyệt tính chính xác của thông tin. Input - Thông tin cần cập nhật Các thông tin liên quan đến mở tài khoản sẽ đươc nhân viên cập nhật hàng ngày. Output của nghiệp vụ Hệ thống sẽ đưa ra bảng hướng dẫn cho khách hàng đăng ký mở tàikhoản. 2.3.6 Gửi mail a.Mục đích Thông báo lại cho khách hàng các thông tin cần thiêt b.Người sử dụng : Nhân viên c.Điều kiện : mail của khách hàng phải có thật. d. In put thông tin + HOST + SMTP_HOST + MAIL_FROM +MAIL_FROM_PASSWORD + tenKhachhang + Email + Số chứng minh nhân dân +Số PIN e.Out put hệ thống +Hệ thống sẽ tự động gửi thư đến địa chỉ email của khách hàng. 2.4 Sơ đồ phân cấp chức năng 2.4.1 Sơ đồ phân cấp chứng năng Đăng ký tài khoản Khách hàng Tìm kiếm Mở tài khoản cho KH Đăng ký TK In thông tin KH Nhân viên Hướng dẫn mở TK Tìm kiếm KH Hình 2. Sơ đồ phân cấp chức năng 2.4.2 Mô tả các chức năng Tìm kiếm thông tin khách hàng Nhân viên có thể tìm kiếm nhiều khách hàng Khách hàng chỉ tìm kiếm thông tin của mình Hướng dẫn mở tài khoản Cập nhật sủa chữa thông tin mở tài khoản Đăng ký tài khoản Tạo mới tài khoản Lưu thông tin khách hàng Sủa chữa thông tin khách hàng : khách hàng đến công ty chứng khoán để thay đổi thông tin. 2.5 Biểu đồ luồng dữ liệu : 2.5.1 Biểu đồ luồng dữ liệu mức ngữ cảnh Hình 3. Biểu đồ luồng dữ liệu mức ngữ cảnh với nhân viên Hình 4. Biểu đồ luồng dữ liệu mức ngữ cảnh với khách hàng 2.5.2 Biểu đồ luồng dữ liệu mức đỉnh Hình 5.Biểu đồ luồng dữ liệu mức đỉnh với nhân viên Hình 6.Biểu đồ luồng dữ liệu mức đỉnh với khách hàng Ghi chú : Kho dữ liệu bao gồm tất cả các file dữ liệu của hệ thống. 2.5.3 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý nghiệp vụ: Hình 7. Biểu đồ luồng dữ liệu mức dưới đỉnh với nhân viên Hình 8. Biểu đồ luồng dữ liệu mức dưới đỉnh với khách hàng 2.6 Mô hình thực thể quan hệ Khách hàng Mục tiêu đầu tư Người ủy quyền Người có quyền lợi Quan hệ tư vấn khách hàng Thông tin chung Mức độ chấp nhận rủi ro Tài sản Hình 9. Mô hình thực thể quan hệ CHƯƠNG III. GIỚI THIỆU CỤ THỰC HIỆN VÀ CÁC CÔNG NGHỆ LIÊN QUAN Sau khi khảo sát và tìm hiểu về hệ thống em nhận thấy việc phát triển phần mềm theo mô hình web mang lại nhiều thuận lợi trong việc quản trị, cài đặt và bảo trì. Để phát triển mô hình web em đã quyết định lựa chọn một số fremwork hiện đại và đang được sử dụng rộng dãi là struts và hibernate cùng với hệ quản trị cơ sở dữ liệu postgre SQL. Việc sử dụng 2 framework là struts và hibernate giúp cho việc phát triển phần mềm một cách nhanh chóng giảm bớt thời gian code dễ dàng cho việc phát triển và bảo trì cho các version sau. 3.1 Giới thiệu Struts Struts, một dự án mã nguồn mở của Apache Software Foundation, là một bản hiện thực Java phía server của mẫu thiết kế Model-View-Controller (MVC). Dự án Struts được khởi xướng bởi Craig McClanahan vào tháng 5/2000, thuộc dự án Apache Jakarta. Hiện tại, dự án Struts đã trở thành một dự án độc lập - dự án Apache Struts. Dự án Struts được thiết kế với mục đích cung cấp một bộ khung mã nguồn mở để tạo các ứng dụng Web, tách tầng trình bày (presentation layer) ra khỏi tầng giao tác (transaction layer) và tầng dữ liệu (data layer). Từ khi ra đời, dự án Struts nhận được nhiều ủng hộ của các nhà phát triển và nhanh chóng chiếm ưu thế trong cộng đồng mã nguồn mở. Mẫu thiết kế MVC Để nắm vững Struts Framework, bạn phải hiểu cơ bản về mẫu thiết kế MVC. Mẫu thiết kế MVC, được bắt nguồn từ Smalltalk, bao gồm ba thành phần: Model, View, và Controller. Ba thành phần của mẫu thiết kế MVC: - Model Biểu diễn các đối tượng dữ liệu. Thành phần Model là những gì đang được thao tác và trình bày cho người dùng. Chúng thường biểu diễn các đối tượng nghiệp vụ hay các hệ thống backend khác và có thể được hiện thực là những JavaBean đơn giản, những Enterprise JavaBean, những biểu diễn đối tượng của dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ, hoặc chỉ là những gì cần được thao tác hay biểu diễn trong một ứng dụng Web -View Đóng vai trò là phần biểu diễn trên màn hình (screen representation) của thành phần Model. Thành phần View là đối tượng trình bày trạng thái hiện tại của các đối tượng dữ liệu. Mỗi thành phần View trong Struts Framework được ánh xạ đến một trang JSP, trang này có thể chứa bất kỳ sự kết hợp nào của các thẻ tùy biến Struts, JSP, và HTML. Các trang JSP trong Struts Framework có hai chức năng chính. Thứ nhất, đóng vai trò là tầng trình bày của một Controller Action đã được thực thi trước đó. Điều này thường được hoàn thành bằng cách sử dụng một tập thẻ tùy biến để duyệt và thu lấy dữ liệu mà Controller Action chuyển đến JSP đích. Loại View này không thể hiện đặc trưng của Struts và không được lưu tâm. Chức năng thứ hai, thể hiện đặc trưng của Struts, là thu thập dữ liệu cần thiết để thực hiện một Controller Action cụ thể. Điều này thường được hoàn thành bằng cách kết hợp các thư viện thẻ Struts và các đối tượng ActionForm. Loại View này chứa một số lớp và thẻ đặc-trưng-Struts. -Controller Định nghĩa cách thức giao diện người dùng tương tác lại dữ liệu đầu vào. Thành phần Controller là đối tượng thao tác thành phần Model (hay đối tượng dữ liệu). Thành phần Controller của Struts Framework là xương sống của tất cả các ứng dụng Web Struts. Nó được hiện thực bằng một servlet có tên là org.apache.struts.action.ActionServlet. Servlet này nhận các yêu cầu HTTP và giao quyền điều khiển của mỗi yêu cầu, dựa vào URI của yêu cầu, cho một lớp org.apache.struts.action.Action do người dùng định nghĩa. Lớp Action là nơi mà thành phần Model của ứng dụng được thu lấy và/hay thay đổi. Khi lớp Action đã hoàn tất quá trình xử lý, nó trả về một khóa cho ActionServlet. Khóa này được sử dụng để xác định View nào sẽ trình bày các kết quả xử lý. Bạn có thể hình dung ActionServlet như một đại lý nhận các yêu cầu cho các dịch vụ, và dựa trên các yêu cầu này, tạo ra các đối tượng Action nhằm thực hiện logic nghiệp vụ cần thiết để hoàn tất các dịch vụ này. Dưới đây là một số lợi ích khi sử dụng mẫu thiết kế MVC: Tính tin cậy - Tầng trình bày và tầng giao tác có sự phân chia rõ ràng, cho phép bạn thay đổi cảm quan của ứng dụng mà không cần biên dịch lại mã lệnh của Model hay Controller. Tính thích ứng và tái sử dụng cao - Mẫu MVC cho phép bạn sử dụng nhiều loại khung nhìn, tất cả cùng truy xuất đến một mã nguồn phía server, từ trình duyệt web (HTTP) cho đến trình duyệt không dây (WAP). Các phí tổn trong vòng đời phát triển rất thấp - Mẫu MVC chỉ cần có người lập trình cấp thấp phát triển và bảo trì các giao diện người dùng. Triển khai nhanh chóng - Thời gian phát triển có thể được giảm đáng kể, bởi vì những người lập trình cho thành phần Controller (nhà phát triển Java) chỉ tập trung vào phần giao tác, còn những người lập trình cho thành phần View (nhà phát triển HTML và JSP) chỉ tập trung vào phần trình bày. Tính bảo trì - Việc tách phần trình bày và logic nghiệp vụ cũng khiến việc bảo trì và sửa đổi một ứng dụng Web dựa trên Struts dễ dàng hơn. Bản hiện thực Struts của mẫu MVC Struts Framework mô hình hóa bản hiện thực phía server của mẫu MVC bằng cách kết hợp các trang JSP, các thẻ JSP tùy biến, và một Java servlet. Trong phần này, chúng ta mô tả ngắn gọn cách Struts Framework ánh xạ đến mỗi thành phần của mẫu MVC. Hình 10.Bản hiện thực Struts của mẫu MVC Hình trên mô tả quy trình xử lý mà hầu hết các yêu cầu ứng dụng Struts cần tuân theo. Quy trình này có thể được chia thành 5 bước cơ bản: - Một yêu cầu xuất phát từ một View đã được hiển thị trước đó. - Yêu cầu này được tiếp nhận bởi ActionServlet (đóng vai trò là một Controller), ActionServlet tìm URI được yêu cầu trong một file XML (sẽ được mô tả trong chương 3, “Làm quen với Struts”) và xác định tên lớp Action sẽ thực hiện logic nghiệp vụ cần thiết. - Lớp Action thực hiện logic của nó trên các thành phần Model của ứng dụng. - Khi đã hoàn tất quá trình xử lý, lớp Action trả quyền điều khiển cho ActionServlet, đồng thời cung cấp một khóa (key) biểu thị các kết quả xử lý. ActionServlet sử dụng khóa này để xác định các kết quả sẽ được chuyển đến đâu khi trình bày. - Yêu cầu kết thúc khi ActionServlet chuyển yêu cầu đến View được gắn với khóa trả về, và View này trình bày các kết quả của Action. web flow diagram: Hình 11. web flow diagram 3.2 Giới thiệu Hibernate 3.2.1 Giới thiệu về Hibernate : Hibernate là một dịch vụ lưu trữ và truy vấn dữ liệu quan hệ mạnh mẽ và nhanh. Hibernate giúp bạn phát triển các class dùng để lưu trữ dữ liệu theo cách thức rất là hướng đối tượng: association, inheritance, polymorphism, composition và collections. Hibernate cho phép bạn thực hiện các câu truy vấn dữ liệu bằng cách sử dụng ngôn ngữ SQL mở rộng của Hibernate (HQL) hoặc là ngôn ngữ SQL nguyên thuỷ cũng như là sử dụng các API.Không giống như các persistence layer khác, Hibernate không ẩn đi sức mạnh của ngôn ngữ SQL khỏi bạn mà Hibernate còn đảm bảo cho bạn việc bạn đầu tư vào công nghệ và tri thức cơ sở dữ liệu quan hệ là luôn luôn chính xác. Và điều quan trọng hơn nữa là Hibernate được license theo LGPL (Lesser GNU Public License). Theo đó, bạn có thể thoải mái sử dụng Hibernate trong các dự án open source hoặc các dự án thương mại (commercial).Hibernate là một dự án open source chuyên nghiệp và là một thành phần cốt tuỷ của bộ sản phẩm JBoss Enterprise Middleware System (JEMS). JBoss, như chúng ta đã biết là một đơn vị của Red Hat, chuyên cung cấp các dịch vụ 24x7 về hỗ trợ chuyên nghiệp, tư vấn và huyấn luyện sẵn sàng hỗ trợ bạn trong việc dùng Hibernate.Các thành phần của Hibernate project:* Hibernate Core: Cung cấp các chức năng cơ bản của một persistence layer cho các ứng dụng Java với các APIs và hỗ trợ XML mapping metadata.* Hibernate Annotations: Các map class với JDK 5.0 annotations, bao gồm Hibernate Validator.* Hibernate EntityManager: Sử dụng EJB 3.0 EntityManager API trong JSE hoặc với bất kỳ JEE server nào.* Hibernate Tools: Các tool tích hợp với Eclipse và Ant dùng cho việc sinh ra các persistence object từ một schema có sẵn trong database (reverse-engineering) và từ các file hbm sinh ra các class java để hiện thực các persistence object, rồi Hibernate tự tạo các object trong database (forward-engineering).* NHibernate: Hibernate cho .Net framework.* JBoss Seam: Một Java EE 5.0 framework cho phát triển các ứng dụng JSF, Ajax và EJB 3.0 với sự hỗ trợ của Hibernate. Seam hiện rất mới và tỏ ra rất mạnh để phát triển các ứng dụng Web 2.0. Nó tích hợp đầy đủ tất cả các công nghệ tốt nhất hiện nay. 3.2.2 Kiến trúc của Hibernate: Biểu đồ mô tả tổng thể về Hibernate: Hình 12. Tổng thể về Hibernate Kiến trúc của Hibernate gồm 3 phần: Quản lý kết nối: Dịch vụ quản lý kết nối của Hibernate cung cấp việc quản lý hết sức hiệu quả các connection đến database. Database connection luôn là phần đắt đỏ và nhiều rủi ro trong việc kiểm soát, chúng ta tốn nhiều tài nguyên để mở và đóng một connection, hơn nữa, việc xử lý dữ liệu phức tạp và có thể dẫn đến…….quên sót việc đóng kết nối hoặc đóng một cách không hợp lý. Điều này hoàn toàn không đơn giản và dẫn đến một ứng dụng đổ vỡ. (Một ví dụ là đóng nhiều kết nối trong 1 khối try...catch) Quản lý transation (giao tác):dịch vụ quản lý giao tác cung cấp khả năng cho phép user thi hành nhiều phát biểu (statement) vào một thời điểm. Object relational mapping: Công nghệ mapping dữ liệu dưới database thành dữ liệu trên object. Hibernate sẽ sử dụng SELECT, INSERT, UPDATE và DELETE trên các records và đưa thao tác dưới database tương ứng với việc thao tác tên Object java. Mục đích sau cùng của hibernate đó là ORM, nhưng nó phải thêm vào các dịch vụ quản lý Connnection và Transaction vì phát sinh từ vấn đề performance và sự khó khăn khi tự mình xử lý những dịch vụ này trên Object được persistent. Hibernate buộc phải sử dụng những công cụ quản lý kết nối và transation của bên thứ 3 để hoàn thiện mô hình của mình. Một ví dụ là Apache DBCP thường được sử dụng trong connection pooling với Hibernate. 3.3 Giới thiệu hệ quản trị cơ sở dữ liệu Postgre SQL Postgre SQl là một chương trình mã nguồn mở có nhiều đặc điểm hiện đại: Câu truy vấn phức tạp (complex query) Khóa ngoại (foreign key) Thủ tục sự kiện (trigger) Tính toàn vẹn của các giao dịch (integrity transactions) Việc kiểm tra truy cập đồng thời đa phiên bản (multiversion concurrency control) Hơn nữa, PostgreSQL có thể dùng trong nhiều trường hợp khác, chẳng hạn như tạo ra các khả năng mới như: Kiểu dữ liệu Hàm Toán tử Hàm tập hợp Phương pháp liệt kê Ngôn ngữ theo thủ tục Postgre SQL không quy định những hạn chế trong việc sử dụng mã nguồn của phần mềm. Bởi vậy PostgreSQL có thể được dùng, sửa đổi và phổ biến bởi bất kỳ ai cho bất kỳ mục đích nào. 3.4 Giới thiệu Email 3.4.1.Gửi mail với SMTPCLIENT Java phiên bản 1.2 trở đi hỗ trợ cho chúng ta gói sun.net.smtp dùng để gửi mail rất thuận tiện. Gói sun.net.smtp không được công bố chính thức trong các tài liệu của Sun nhưng trong thư viện kèm theo JDK ta sẽ tìm thấy gói này (ta dùng Winzip mở tệp tin jdk_home\jre\lib\rt.jar). Gói sun.net.smtp bao gồm 2 lớp chính là SmtpClient.class và SmtpPrintream.class dùng để chuyển dữ liệu và gửi mail tới khách lên trình chủ mail đến một máy chủ nào đó bạn phải cho biết: địa chỉ mail người gửi, địa chỉ mail người nhận, địa chỉ máy chủ (nơi chương trình quản lý mail hay còn gọi là mail server hoạt động). 3.4.1.1 Gửi mail bằng servlet Ta thiêt kế trang web tĩnh sendForm.html dùng để tiếp nhận dữ liệu gửi mail (như địa chỉ, nội dung mail) và servlet, mang tên SendMail. Servlet. SendMail sẽ tạo đối tượng SmtpClient yêu cầu SmtpClient chuyển nội dung mail lên máy chủ. 3.4.1.2 Gửi mail bằng trang jsp - Dữ liệu từ trình khách - Tạo đối tượng SmtpClient dùng gửi mail - Định địa chỉ gửi và địa chỉ nhận - Tạo luồng xuất để gửi thông điệp mail - Xuất phần thân mail - Gửi mail đi - Thông báo mail được gửi thành công - Thông báo mail gửi bị lỗi. GỬI VÀ NHẬN MAIL BẰNG JAVA MAIL API 3.4.2.1 Các khái niệm Mail SmtpClient là cách đơn giản nhất để ta gửi mail đi. Trong trường hợp ta muốn nhận mail về hay sử dụng các tính năng nâng cao của dịch vụ mail. Java cung cấp cho ta một tập hợp các dịch vụ hay giao tiếp lập trình ứng dụng hạt nhân (API) phục vụ cho việc thiết kế các ứng dụng mail. Trước khi bắt tay vào thiết kế chương trình web mail bằng Java Mail API, ta nên biết qua một số khái niệm cơ bản trong lĩnh vực gửi nhận mail sau đây: Mail server: Theo mô hình hoạt động khach/ chủ, trình chủ của ta bằng một dịch vụ đóng vai trò người chủ._.

Các file đính kèm theo tài liệu này:

  • doc22435.doc
Tài liệu liên quan