Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 111 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
111
Dung lượng
7,14 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN z BÁO CÁO KẾT THÚC MÔN HỌC ĐỀ TÀI: QUẢN LÝ HỆ THỐNG ĐĂNG KIỂM XE CƠ GIỚI CỦA CẢ NƯỚC Giáo viên hướng dẫn Sinh viên thực : Th.s Đỗ Thị Tâm : Đào Khắc Tuấn Dương Đăng Tú Lê Ngọc Tuyền Đoàn Mai Lan Đàm Thị Nhàn Lớp : D6LT-CNTT8 Hà Nội, 5/ 2013 LỜI CẢM ƠN Để hoàn thành báo cáo nhóm em xin chân thành cảm ơn thầy cô giáo khoa công nghệ thông tin giảng dạy cho em suốt thời gian vừa qua Đặc biệt em xin chân thành cảm ơn cô giáo Th.S Đỗ Thị Tâm giảng viên khoa Công nghệ thông tin trường Đại Học Điện Lực tận tình hướng dẫn, giúp đỡ em hoàn thành báo cáo Do thời gian làm báo cáo hết môn có hạn nhóm em có nhiều kiến thức hạn chế nên trình nghiên cứu đề tài không tránh khỏi sai sót, mong góp ý thầy cô bạn để giúp em hoàn thành báo cáo hết môn tốt MỤC LỤC LỜI MỞ ĐẦU Ngày đất nước trình công nghiệp hoá, đại hoá, việc ứng dụng hệ thống công nghệ thông tin vào tất lĩnh vực ngày phát triển Những lợi ích mà Công nghệ thông tin đem lại người công nhận Nhiệm vụ công nghệ thông tin nói chung, công nghệ phần mềm nói riêng nghiên cứu mô hình, phương pháp công cụ để tạo hệ thống phần mềm chất lượng cao nhằm đáp ứng nhu cầu thường xuyên thay đổi, ngày phức tạp thực tế Nhiều hệ thống phần mềm xây dựng theo cách tiếp cận truyền thống tỏ lạc hậu, không đáp ứng yêu cầu người sử dụng Cách tiếp cận hướng đối tượng giúp có công cụ, phương pháp mới, phù hợp để giải vấn đề nêu Cách tiếp cận phù hợp với cách quan sát quan niệm giới xung quanh tạo công cụ mới, hữu hiệu để phát triển hệ thống có tính mở, dễ thay đổi theo yêu cầu người sử dụng, đáp ứng tiêu chuẩn phần mềm theo yêu cầu công nghệ thông tin đại, giải vấn đề phức tạp thực tế đặt kỷ 21 Trước sử phát triển mạnh mẽ đất đước làm cho nhu cầu cá nhân người dân nâng cao số phương tiện giao thông cá nhân tăng cao, làm cho nhà nước gặp nhiều khó khăn khâu quản lý Sau học xong môn phân tích thiết kế hướng đối tượng mô tả, hướng dẫn thực thông qua ngôn ngữ chuẩn UML phần mềm công cụ hỗ trợ mô hình hoá Rational Rose Chúng em sử dụng kiến thức học để xây dựng lên phân tích thiết kế hệ thông cho phần mềm quản lý đăng kiểm nước ta CHƯƠNG 1: KHẢO SÁT HỆ THỐNG Quy trình nghiệp vụ chung 1.1 Quản lý đăng kiểm loại phương tiện Cá nhân, (Tổ chức) chủ phương tiện khai báo thông tin cá nhân thông tin phương tiện cần đăng kiểm bao gồm: tên cá nhân tổ chức, địa chỉ, số CMTND, loại phương tiện, màu sơn, dung tích, số khung số máy Sau chủ phương tiện hoàn thành thủ tục giấy tờ cần thiết theo quy định pháp luật mang phương tiện cần đăng kiểm đến để kiểm tra tiến hành đăng kiểm Sau thu tục kiểm duyệt hoàn tất chủ phương tiện nhận phiếu yêu cầu đóng phí cho phương tiện đăng kiểm, chủ phương tiện hoàn thành xong hẹn trở lại nhận biển số giấy đăng kiểm sau thủ tục đăng kiểm hoành thành 1.2 Quản lý việc đăng kiểm lại cho phương tiện Đăng ký sang tên đổi chủ cho phương tiện đăng kiểm Kiểm tra, xác thực thông tin phương tiện, phương tiện chuyển nhượng cung tỉnh thành phố sau hoàn tất hồ sơ theo quy định cấp lại giấy đăng kiểm cho chủ phương tiện mới, phương tiện chuyển nhượng từ tỉnh sang tỉnh khác sau hoàn tất hồ sơ theo quy định thu hồi giấy đăng kiểm cũ biển số cũ sau tra lại hồ sơ cho chủ phương tiện, phương tiện chuyển nhượng đăng kiểm vào tỉnh thời sau kiểm tra hoàn thành thủ tục thực cấp lại đăng kiểm xe đăng kiểm 1.3 Quản lý đổi cấp lại đăng kiểm Kiểm tra thu hồi đăng kiểm cũ Kiểm định lại phương tiện đủ điều kiện cấp lại tiến hành đổi cấp lại đăng kiểm cho phương tiện 1.4 Quản lý đăng ký xe tạm thời Một số phương tiện theo quy định pháp luật phải đăng ký tạm thời theo “Điều 13 mục D thông tư số 36/2010/TT-BCA ” Bộ Công An Khi đăng ký xe tạm thời chủ phương tiện mang hồ sơ phương tiện bao gồm gốc để kiểm tra đối chiếu sau cấp giấy đăng ký tạm thời khoảng thời gian quy định pháp luật hành Chủ phương tiện đến đăng kiểm tiến hành thu hồi giấy đăng kiểm tạm thời trả hồ sơ gốc để tiến hành việc đăng kiểm, trương hợp gia hạn chưa đăng kiểm thu hồi giấy đăng kiểm tạm thời cấp lại giấy đăng kiểm tạm thời theo quy định pháp luật 1.5 Quản lý thu hồi đăng kiểm Tiếp nhận kiểm tra hồ sơ phương tiện sau tiến hành việc thu hồi lại đăng kiểm phương tiện CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG Biểu đồ Case sử dụng UseCase 1.1 UseCase khung cảnh Hình 2.1: UseCase khung cảnh 1.2 UseCase Đăng ký tài khoản Hình 2.2: UseCase đăng ký tài khoản 1.3 UseCase Chủ phương tiện Hình 2.3: UseCase chủ phương tiện 1.4 UseCase Nhân viên Hình 2.4: Usecase Nhân viên 1.5 UseCase phân rã UseCase cập nhật thông tin Hình 2.5: UseCase phân rã usecase cập nhật thông tin 1.6 UseCase Cập nhật thông tin phương tiện Hình 2.6: UseCase cập nhật thông tin phương tiện 1.7 UseCase Đăng kiểm Hình 2.7: UseCase Đăng kiểm 1.8 UseCase phân rã UseCase Tìm kiếm Hình 2.8: UseCase phân rã UseCase tìm kiếm 1.9 UseCase tìm kiếm chủ phương tiện Hình 2.9: UseCase Tìm kiếm chủ phương tiện 1.10 UseCase tìm kiếm Nhân viên Hình 2.10: UseCase Tìm kiếm Nhân viên 1.11 UseCase phân rã UseCase báo cáo thống kê } } 2.9 ClsADOPhuongTien.java package DAL; import BL.ClsPhuongTien; import javax.swing.*; /** * * @author TEDDY-LOVE */ public class ClsADOPhuongTien { public static void Action_AddNew(ClsPhuongTien nv,JTable tbl,int row){ tbl.setValueAt(nv.Get_strMaPT(), row, 0); tbl.setValueAt(nv.Get_strTenPT(), row, 1); tbl.setValueAt(nv.Get_strColor(), row, 2); tbl.setValueAt(nv.Get_strDungtich(), row, 3); } public static void Action_Delete(JTable tbl,int row){ tbl.setValueAt((null), row, 0); tbl.setValueAt((null), row, 1); tbl.setValueAt((null), row, 2); tbl.setValueAt((null), row, 3); } } 2.10 frmDM ClsLoaiPT.java package application; import BL.ClsLoaiPT; import DAL.ClsADOLoaiPT; /** * * @author TEDDY-LOVE */ public class frmDMLoaiPT extends javax.swing.JFrame { private int i=-1; /** Creates new form frmDMLoaiPT */ public frmDMLoaiPT() { initComponents(); } /** This method is called from within the constructor to * initialize the form * WARNING: Do NOT modify this code The content of this method is * always regenerated by the Form Editor */ @SuppressWarnings("unchecked") // private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane(); tbl_datatable = new javax.swing.JTable(); txt_ma = new javax.swing.JTextField(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); txt_ten = new javax.swing.JTextField(); txt_mota = new javax.swing.JTextField(); btn_addnew = new javax.swing.JButton(); btn_Edit = new javax.swing.JButton(); btn_delete = new javax.swing.JButton(); btn_close = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE ); tbl_datatable.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null}, {null, null, null} }, new String [] { "Mã Loại phương tiện", "Tên Loại phương tiện", "Mô tả" } )); tbl_datatable.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { tbl_datatableMouseClicked(evt); } }); jScrollPane1.setViewportView(tbl_datatable); jLabel1.setText("Mã Loại phương tiện"); jLabel2.setText("Tên Loại phương tiện"); jLabel3.setText("Mô tả "); btn_addnew.setText("Thêm mới"); btn_addnew.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btn_addnewActionPerformed(evt); } }); btn_Edit.setText("Sửa"); btn_Edit.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btn_EditActionPerformed(evt); } }); btn_delete.setText("Xóa"); btn_delete.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btn_deleteActionPerformed(evt); } }); btn_close.setText("Đóng"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) addGroup(layout.createSequentialGroup() addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment LEADING) addGroup(layout.createSequentialGroup() addGap(27, 27, 27) addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment LEADING) addGroup(layout.createSequentialGroup() addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED , 16, Short.MAX_VALUE) addComponent(txt_ma, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE)) addGroup(layout.createSequentialGroup() addComponent(jLabel2) addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED , 12, Short.MAX_VALUE) addComponent(txt_ten, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE)) addGroup(layout.createSequentialGroup() addComponent(jLabel3) addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED , 83, Short.MAX_VALUE) addComponent(txt_mota, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE)))) addGroup(layout.createSequentialGroup() addGap(39, 39, 39) addComponent(btn_addnew) addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED ) addComponent(btn_Edit) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED ) addComponent(btn_delete) addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELAT ED) addComponent(btn_close))) addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 363, Short.MAX_VALUE) addGroup(layout.createSequentialGroup() addGap(11, 11, 11) addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment BASELINE) addComponent(txt_ma, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) addComponent(jLabel1)) addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED ) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment BASELINE) addComponent(jLabel2) addComponent(txt_ten, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) addGap(8, 8, 8) addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment TRAILING) addComponent(jLabel3) addComponent(txt_mota, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) addGap(234, 234, 234) addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment BASELINE) addComponent(btn_addnew) addComponent(btn_Edit) addComponent(btn_delete) addComponent(btn_close)) addGap(21, 21, 21)) ); java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); setBounds((screenSize.width-841)/2, (screenSize.height-392)/2, 841, 392); }// private void btn_addnewActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: i=i+1; ClsLoaiPT dt= new ClsLoaiPT(); dt.Set_strMaloai(this.txt_ma.getText()); dt.Set_strTenloai(this.txt_ten.getText()); dt.Set_strDescription(this.txt_mota.getText()); ClsADOLoaiPT.Action_AddNew(dt, tbl_datatable, i); Clear(); } private void btn_EditActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: ClsLoaiPT dt= new ClsLoaiPT(); dt.Set_strMaloai(this.txt_ma.getText()); dt.Set_strTenloai(this.txt_ten.getText()); dt.Set_strDescription(this.txt_mota.getText()); ClsADOLoaiPT.Action_AddNew(dt, tbl_datatable, i); } private void btn_deleteActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: ClsADOLoaiPT.Action_Delete(tbl_datatable, i); Clear(); } private void tbl_datatableMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: i = tbl_datatable.getSelectedRow(); this.txt_ma.setText(tbl_datatable.getValueAt(i, 0).toString()); this.txt_ten.setText(tbl_datatable.getValueAt(i, 1).toString()); this.txt_mota.setText(tbl_datatable.getValueAt(i, 2).toString()); } private void Clear(){ this.txt_ma.setText(null); this.txt_ten.setText(null); this.txt_mota.setText(null); } /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new frmDMLoaiPT().setVisible(true); } }); } // Variables declaration - not modify private javax.swing.JButton btn_Edit; private javax.swing.JButton btn_addnew; private javax.swing.JButton btn_close; private javax.swing.JButton btn_delete; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable tbl_datatable; private javax.swing.JTextField txt_ma; private javax.swing.JTextField txt_mota; private javax.swing.JTextField txt_ten; // End of variables declaration } 2.11 ClsLoaiPT.Java package BL; /** * * @author TEDDY-LOVE */ public class ClsLoaiPT { private int ID; private String strMaloai; private String strTenloai; private String strDescription; public ClsLoaiPT(){ } public int Get_ID(){ return ID; } public void Set_ID(int _ID){ this.ID =_ID; } public String Get_strMaloai(){ return strMaloai; } public void Set_strMaloai(String _strMaloai){ this.strMaloai =_strMaloai; } public String Get_strTenloai(){ return strTenloai; } public void Set_strTenloai(String _strTenloai){ this.strTenloai =_strTenloai; } public String Get_strDescription(){ return strDescription; } public void Set_strDescription(String _strDescription){ this.strDescription =_strDescription; } public ClsLoaiPT(int _ID,String _strMaloai,String _strTenloai,String _strDescription) { this.ID = _ID; this.strMaloai = _strMaloai; this.strTenloai = _strTenloai; this.strDescription = _strDescription; } } 2.12 ClsADOLoaiPT.java package DAL; import BL.ClsLoaiPT; import javax.swing.*; /** * * @author TEDDY-LOVE */ public class ClsADOLoaiPT { public static void Action_AddNew(ClsLoaiPT Cls,JTable tbl,int row){ tbl.setValueAt(Cls.Get_strMaloai(), row, 0); tbl.setValueAt(Cls.Get_strTenloai(), row, 1); tbl.setValueAt(Cls.Get_strDescription(), row, 2); } public static void Action_Delete(JTable tbl,int row){ tbl.setValueAt((null), row, 0); tbl.setValueAt((null), row, 1); tbl.setValueAt((null), row, 2); } } KẾT LUẬN Công nghệ không ngừng thay đổi phát triển, nhờ có công nghệ mà sức lao động người giải phóng hoàn toàn Bằng việc phân tích thiết kế hệ thống đến vào xây dựng hệ thống Java bước phát triển giúp cho công việc ngày, ghi nhớ thao tác lưu lại thực cách nhanh chóng xác Để đạt mục tiêu phát triển công nghệ thông tin nước nhà, cần phải miệt mài học tập kinh nghiệm khoa học kỹ thuật cách chuyên sâu Có có thêm thật nhiều sản phẩm trí tuệ giúp ích cho đời sống hàng ngày TÀI LIỆU THAM KHẢO Phân tích thiết kế hướng đối tượng – Trang Hồng Sơn Giáo trình JAVA – Đại học FPT Java cho người bắt đầu – ĐHSP-KT Hưng Yên Phân tích thiết kế hướng đối tượng UML – Tiến Sỹ Đào Một số nguồn từ Internet