Chương trình quản lý kế toán Doanh nghiệp (C#)

MỤC LỤC Chương I. Tổng quan Giới thiệu về đề tài Hiện nay cc doanh nghiệp tại việt nam,nhất l cc doanh nghiệp cĩ quy mơ trung bình v lớn hoạt động trong lĩnh vực dịch vụ,thương mại,sản xuất thì vai trị của thơng tin v quản lý thơng tin bằng tin học lại cng cĩ ý nghĩa đặc biệt,nó giúp các đơn vị đột biến về chất lượng quản lý điều hnh và qua đó góp phần quan trọng trong việc nâng cao chất lượng và hiệu quả hoạt động của doanh nghiệp,đáp ứng yêu cầu cạnh tranh và phát triển làm cho thị trường

doc53 trang | Chia sẻ: huyen82 | Lượt xem: 2764 | Lượt tải: 2download
Tóm tắt tài liệu Chương trình quản lý kế toán Doanh nghiệp (C#), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
phần mềm quản trị dữ liệu đ chuyễn mình v sẽ trở thnh thị trường quan trọng do hai điều kiện. Một: Số lượng máy tính trang bị trong các công ty đ nhiều v bắt đầu tiến trình nối mạng. Hai: Môi trường kinh doanh ngày càng mang tính thị trường r rệt với sự cạnh tranh mạnh mẽ giữa cc doanh nghiệp trong nước cũng như với các doanh nghiệp nước ngoài. Điều này địi hỏi cc doanh nghiệp phải trang bị hệ thống quản lý thơng tin tin tiến để phân tích tình hình kinh doanh v ra quyết định một cách nhanh nhất.Do đó,các phần mềm ứng dụng trong quản lý đ đóng vai trị quan trọng,đặc biệt là phần mềm quản trị dữ liệu về nghiệp vụ kế toán cho các doanh nghiệp. Hiện nay,trên thị trường có rất nhiều phần mềm quản trị cơ sở dữ liệu để thực hiện cho việc quản lý kế tốn trong cc doanh nghiệp nhưng để xác định hệ quản trị nào là tối ưu,gần gủi với người sử dụng.Đặc biệt đối với nước ta hiện nay thì việc nắm vững,thao tc v sử dụng vẫn cịn nhiều khĩ khăn nên việc tạo ra một phần mềm như trn l rất quan trọng v cần thiết.Bởi vì ,giao diện của chương trình đều sử dụng Font chữ tiếng việt nên người sử dụng có thể thao tác,sử dụng dễ dàng khi người sử dụng không thành thạo tiếng anh… Từ nhận định đó mà em đ chọn đề tài:”Chương trình Quản lý kế tốn doanh nghiệp”. Khảo st hệ thống quản lý kế tốn doanh nghiệp Trong công tác kế toán,tất cả sổ sách,báo cáo kế toán đều phải được lập theo mẫu quy định của nhà nước và theo từng kỳ kế toán (Từng tháng).khi xây dựng phần mềm kế toán,phải hướng nội dung đến việc lập sổ sách và báo cáo theo từng kỳ kế toán đúng với quy định của chế độ.Việc lập sổ sách bằng máy cũng như làm thủ công đều phải tuân thủ đúng chế độ kế toán hiện hành,cả về quy tắc xây dựng,trình tự ghi sổ. Hầu ht cc loại sổ sch kế tốn đều được lập với các thông tin như: Số dư đầu kỳ,chi tiết phát sinh trong kỳ và kết số cuối kỳ.Các báo cáo tài chính sẽ được lập dựa vào số dư đầu kỳ,Số phát sinh trong kỳ và số cuối kỳ của các tài khoản kế toán Do đó khi thiết kế cơ sở dữ liệu để “May hóa” cách làm thủ công phải phân chia cơ sở dữ liệu để quản lý các đối tượng tương ứng với các mục trên.Để công tác kế toán được liền mạch,thuận tiện cho việc lập báo cáo tháng,báo cáo năm,sẽ hướng đến việc theo di lin tiếp thơng tin kế tốn cho nhiều kỳ kế tốn. Khi niệm Kế toán là công việc ghi chép,tính toán bằng con số dưới hình thức gi trị,hiện vật v thời gian lao động.Chủ yếu là dưới hình thức gi trị để phản ánh,kiểm tra tình hình vận động của các loại tài sản,quá trình v kết quả sản xuất kinh doanh,sử dụng vốn và kinh phí nhà nước,cũng như từng tổ chức,xí nghiệp. Vai trị kế tốn trong doanh nghiệp Đối với doanh nghiệp kế toán giúp theo di thường xuyên tình hình hoạt động sản xuất kinh doanh của doanh nghiệp như sản xuất sản phẩm,tiêu thụ sản phẩm,tình hình cung ứng nguyn vật liệu phục vụ sản xuất,gip cho việc theo di thị trường để sản xuất,tích trữ hàng hóa nhẵm cung cấp kịp thời cho thị trường những sản phẩm đáp ứng nhu cầu và thị hiếu của người tiêu dùng.Ngoài ra,kế toán cịn cung cấp ti liệu cho doanh nghiệp để làm cơ sở hoạch định chương trình hnh động cho từng giai đoạn,thời kỳ. Nhờ kế toán mà người quản lý điều hành trôi chảy các hoạt động của đơn vị,giúp cho việc quản lý lnh mạnh,trnh hiện tượng tham ô,lng phí ti sản,thực hiện việc kiểm sốt nội bộ cĩ hiệu quả. Nhờ kế toán mà người quản lý tính được công việc mình đ điều hành trong từng giai đoạn và qua đó vạch ra phương hướng hoạt động cho tương lai.điều hịa được tình hình ti chính của doanh nghiệp. Kế toán là cơ sở để giải quyết mọi tranh chấp,khiếu tố.là cơ sở pháp lý chưng minh về hành vi thương mại. Tổ chức kế tốn tại doanh nghiệp Tổ chức cơng tc kế tốn l một trong những nội dung quan trọng trong tổ chức cơng tc quản lý của doanh nghiệp.Với chức năng cung cấp thông tin và kiểm tra các hoạt động kinh tế tài chính trong doanh nghiệp nên công tác kế toán ảnh hưởng trực tiếp tới chất lượng và hiệu quả của công tác quản lý doanh nghiệp.Hơn nữa nó cịn ảnh hưởng đến việc đáp ứng các yêu cầu quản lý khác nhau của các đối tượng có lợi ích trực tiếp hoặc gián tiếp đến hoạt động của doanh nghiệp,trong đó có các cơ quan chức năng của Nhà nước. Tổ chức công tác kế toán bao gồm quy định nội dung,phương pháp và các quy trình của cơng tc kế tốn để đạt được những mục tiêu đ đề ra.Hay nói cách khác đây là những công việc kế toán phải làm và những phương pháp kế toán phải thực hiện. Để tổ chức công tác kế toán trong một doanh nghiệp cần phải căn cứ vào quy mô hoạt động,đặc điểm của nghành và lĩnh vực hoạt động,đặc điểm về tổ chức sản xuất v quản lý cũng như tính chất của quy trình sản xuất trong doanh nghiệp.Bn cạnh đó cịn phải căn cứ vào các chính sách chế độ.thể lệ được Nhà nước ban hành.Nội dung tổ chức công tác kế toán bao gồm những công việc sau đây: Tổ chức thực hiện chế độ chứng từ kế tốn Vn dụng hệ thống ti khoản kế tốn Vn dụng hình thức kế tốn Tin học hĩa quản lý thơng tin trong cc doanh nghiệp Khi niệm Làm kế toán bằng máy tính là việc áp dụng những tài nguyên trên máy tính (các phần mềm ứng dụng) để hạch toán kế toán,thay cho việc ghi chép,thống kê,tổng hợp số liệu kế toán bằng phương pháp thủ công. Vai trị của tin học trong quản lý Thông tin tư lâu đ được đánh giá có vai trị quan trọng trong quản lý kinh tế,ngy nay việc nhận định “Ai nắm được thông tin,người đó sẽ chiến thắng ”lại càng trở nên đúng đắn.Chính từ việc tin học hóa thông tin với sự trợ giúp của máy tính và phần mềm đ đưa đến những khái niệm mới như kỷ nguyn của kỷ thuật số,nền kinh tế tri thức… Việc tin học hĩa vo quản lý hoạt động sản xuất kinh doanh sẽ giúp cho các doanh nghiệp có khả năng cạnh tranh trong một nền kinh tế thị trường,đồng thời cạnh tranh với các doanh nghiệp nước ngoài được đánh gia qua các đặc điểm sau: Tính nhanh chĩng Bất kỳ lc no cũng cĩ thể trả lời cc thơng tin một cch nhanh chĩng,chính xc. Tính thích ứng Giúp người quản lý điều hành trôi chảy các hoạt động của đơn vị và có thể tính được công việc của mình đ điều hành trong từng giai đoạn và qua đó vạch ra phương hướng hoạt động cho tương lai.Điều hành được tình hình ti chính của doanh nghiệp. Tính an tồn Bảo đảm sự an toàn dữ liệu của doanh nghiệp. Nhiệm vụ của đề tài Thay thế việc ghi chép vào sổ sách bằng cách nhập,xuất và lưu trử lượng thông tin khổng lồ một cách nhanh chóng,chính xác và an toàn về dữ liệu.Đáp ứng kịp thời thông tin khi người kế toán cần đến.Tránh sai sót và giảm thiểu về thời gian công việc nhằm nâng cao hiệu quả kinh doanh trong từng giai đoạn,chu kỳ sản xuất kinh doanh của doanh nghiệp Cung cấp giao diện gần gủi với người sử dụng,người sử dụng có thể tham khảo danh mục tài khoản doanh nghiệp bất kỳ lúc nào cần đến,cho biết các mặt hàng nào được nhập – xuất trong khoảng thời gian nhất định… Một số phần mềm lin quan Với sự trợ giúp của máy tính,công việc tính toán và kết sổ kế toán ngày một được cải thiện.Bắt đầu từ việc sử dụng Exel 4.0 cho đến hiện nay vẫn cịn một số doanh nghiệp chọn chng lm giải php hiệu quả cho cơng tc my tính hĩa cc nhiệm vụ kế tốn doanh nghiệp v sản xuất. Song song với pht triển tin học v trình độ dân trí ngày một nâng cao của cán bộ làm kế toán,đồng thời tình hình đầu tư vào công tác kế toán trong một vài doanh nghiệp ngày càng được chú trọng hơn.nhằm giúp cho công tác kế toán đúng hạn kỳ,độ chính xác cao,giảm chi phí nhân công,một số phần mềm kế toán đ được đưa vào sử dụng như: Phần mềm Misa Phần mềm Bravo Phần mềm Fast.. Chương II. Phân tích và thiết kế chương trình Phân tích hệ thống Các bước cơ bản của kế toán doanh nghiệp Lập chứng từ gốc để ghi nhận nghiệp vụ kinh tế phát sinh và đã hoàn thành Phân tích nghiệp vụ kế toán trên cơ sở chứng từ gốc để : Định khoản cho các nghiệp vụ kế toán Cập nhật chứng từ vào máy tính như : chứng từ nhập xuất hàng hóa, chứng từ thu chi, ủy nhiệm chi, ủy nhiệm thu… In ra các báo cáo : báo cáo nhập xuất trong kỳ, tổng hợp thu chi trong kỳ, báo cáo hàng tồn kho, thẻ kho… Ghi chép những nghiệp vụ đã được phân tích vào nhật ký chung theo một trình tự thời gian : Lập chứng từ ghi sổ hay sổ nhật ký chung. Điều chỉnh số liệu để phản ánh đúng chi phí cũng như doanh thu đạt được trong kỳ : Lập bảng cân đối số phát sinh Kết chuyển số liệu trên các tài khoản tạm thời để : Tính giá thành sản phẩm Tính kết quả hoạt động kinh doanh… Tổng hợp số liệu từ tài khoản và từ các tài liệu có liên quan để lập báo cáo tài chính như : Lập bảng cân đối kế toán. Bảng báo cáo kết quả hoạt động kinh doanh. Bảng lưu chuyển tiền tệ. Thuyết minh báo cáo tài chính. Tình hình thực hiện nghĩa vụ thuế với nhà nước Chuyển số liệu từ nhật ký vào sổ cái các tài khoản liên quan để in ra bất kỳ lúc nào khi cần đến Kiểm tra đối chiếu số liệu trên sổ sách kế toán đã lập, trên những tài khoản tổng hợp Mơ tả yu cầu quảnl ý của chương trình Quản lý tiền mặt Chương trình cĩ thể: Quản lý cc khoản thu –chi của doanh nghiệp Xác định được tồn quỷ tiền mặt của doanh nghiệp In ra các phiếu thu-chi để xác định giao cho khách hàng hay để lưu trữ. Lập bo co thu-chi chi tiết v tổng hợp trong thng. Cung cấp dữ liệu cho các phân hệ kế toán khác như: Phn hệ kế tốn tổng hợp Phn hệ kế tốn chi phí… Quản lý hng hĩa: Chương trình cĩ thể: Quản lý các phiếu nhập xuất kho của doanh nghiệp,biết được mau hàng từ các nhà cung cấp nào và xuất bn cho khch hng no. Lập bo co chi tiết nhập xuất hng hĩa. Lập bo co tổng hợp nhập xuất hng hĩa theo từng ngy,từng thng,từng kho,từng mặt hng,từng khch hng v từng nh cung cấp. In ra thẻ kho cho biết việc nhập xuất v tồn của một mặt hng ứng với một kho trong khoảng thởi gian xác định trong tháng. In báo cáo tồn kho:Tồn kho tổng hợp cho biết việc nhập xuất và tồn của tất cả hàng hóa trong tất cả các kho hiện có đến ngày cần thiết.Tồn theo kho cho biết việc nhập xuất và tồn của tất cả hàng hóa trong một kho cho đến ngày cần thiết. Lập bo co gi vốn của cc mặt hng xuất bn trong thng. Báo cáo giá hàng nhập :Cho biết đơn giá cụ thể của từng mặt hàng.Nếu một mặt hàng có nhiều đơn giá nhập khác nhau thì phải liệt k tất cả đơn giá nhập đó và số lượng nhập tương ứng. In bo co thống k: Theo từng mặt hng Theo từng nhĩm hng Theo từng kho hng. Nguồn nhập xuất: Cho biết nguồn nhập xuất trong thng Cung cấp dữ liệu cho các phân hệ kế toán khác như: Tổng hợp,chi phí,tiền mặt… Tra cứu: Phiếu nhập kho Phiếu xuất kho Quản lý cơng nợ: Chương trình cĩ thể: Quản lý hình thức thanh toán công nợ giữa khách hàng với doanh nghiệp và giữa doanh nghiệp với nhà cung cấp. Đối với nhà cung cấp : Khi mua hàng (Phiếu nhập kho) thì sẽ làm công nợ nhà cung cấp tăng lên. Khi doanh nghiệp trả tiền mặt cho nhà cung cấp (Phiếu chi tiền mặt) thì làm công nợ nhà cung cấp giảm. Đối với khách hàng : Khi xuất hàng cho khách hàng (Hóa đơn bán hàng) thì sẽ làm công nợ khách hàng tăng lên. Khi doanh nghiệp thu tiền mặt của khách hàng trả nợ (Phiếu thu tiền mặt) thì làm công nợ khách hàng giảm. Lập báo cáo tổng hợp công nợ khách hàng và nhà cung cấp. Lập báo cáo công nợ chi tiết cho từng khách hàng và nhà cung cấp. Cung cấp dữ liệu cho các phân hệ kế toán khác như : tổng hợp, tiền mặt, hàng hóa,… Dữ liệu đầu vào và đầu ra của chương trình Thông tin nhập Danh mục chứng từ Danh mục tài khoản Danh mục hàng hóa Danh mục nhóm hàng Danh mục kho hàng Danh mục khách hàng Danh mục nhà cung cấp Danh mục nhân viên Danh mục thuế Danh mục hình thức nhập xuất Danh mục hình thức thanh toán Các loại phiếu : Phiếu nhập và phiếu xuất Thông tin xuất Báo cáo tình hình thu, chi tồn quỹ tiền mặt Báo cáo tình hình việc nhập xuất và tồn kho hàng hóa Báo cáo công nợ khách hàng và nhà cung cấp Cấu trúc chương trình Danh mục ti khoản Danh mục kho Danh mục hng hĩa Danh mục nhĩm hng Danh mục khch hng Danh mục nh cung cấp Danh mục chứng từ Danh mục nhn vin Danh mục thuế Danh mục tình hình nhập xuất Danh mục hình thức thanh tốn Hệ thống danh mục Phn hệ quản lý tiền mặt Cập nhật phiếu thu-chi Bo co tiền mặt Tổng hợp Chi Tiết Phn hệ quản lý hng hĩa Cập nhật chứng từ nhập –xuất Bo co hang hĩa Tổng hợp Chi tiết Phn hệ kế tốn cơng nợ Cập nhật phiếu thu-chi cơng nợ Bo co cơng nợ Tổng hợp Chi tiết Cơ sở dữ liệu của chương trình Cấu trc table dữ liệu của chưng trình tblKyketoan tblKyketoan FieldName DataType Description Indexed MaKy Nvarchar(6) M kỳ Primery key DienGiai Nvarchar(50) Diễn Giải tblDMTK tblDMTK FieldName DataType Description Indexed MaTK Nvarchar(20) Số hiệu ti khoản Primery LoaiTK Nvarcharr(1) Loại TK TenTK Nvarchar(50) Tn ti khoản DVT Nvarchar(20) Đơn Vị tính TKme Nvarchar(3) Ti khoản mẹ BacTK int Bc ti khoản tblKhachHang tblKhachHang Field DataType Description Indexed MaKh Varchar(20) M khch hang Primery TenKh Text(255) Tn khch hang Diachi Text(255) Địa chỉ SoDienThoai Text(11) Số điện thoại tblNhaCungCap tblNhaCungCap Field DataType Description Indexed MaNCC Varchar(20) M nh cung cấp TenNCC Varchar(255) Tn nh cung cấp Diachi Text(255) Địa chỉ SoDienThoai Varchar(11) Số điện thoại tblChungTu tblChungTu FieldName DataType Description Indexed MaCT Text(20) M chứng từ Primery TenCT Text(255) Tn chứng từ tblNhanVien tblNhanVien FieldName DataType Description Indexed MaNV Text(10) M nhn vin Primery TenNV Text(25) Tn nhn vin ChuVu Text(20) Chức vụ Diachi Text(255) Địa chỉ SoDienThoai Text(11) Số điện thoại tblDMThue FieldName DataType Description Indexed MaSoThue Text(30) M số thuế Primery DienGiai Text(255) Diễn giải Muc_Thue Text Mức thuế tblTonDauky tblTonDauky FieldName DataType Description Indexed MaTK Text(20) Số hiệu ti khoản Primery MaKy Text(6) M kỳ kế tốn Primery SoLuongTonDK Number Số lượng tồn đầu kỳ SoDuDK Currency Số dư đầu kỳ tblPhieuthu TblPhieuthu FieldName DataType Description Indexed MaNV Nvarchar(50) M nghiệp vụ Primary Maky Nvarchar(6) M kỳ MaCT Nvarchar(20) M chứng từ NgayCT datetime Ngy chứng từ MaKH Nvarchar(20) M khch hang MaSoThue Nvarchar(50) M số thuế Sotien money Số tiền TK_No Nvarchar(20) Ti khoản nợ TK_Co Nvarchar(20) Ti khoản cĩ DienGiai Nvarchar(50) Diễn giải tblPhieuchi TblPhieuchi FieldName DataType Description Indexed MaNV Nvarchar(50) M nghiệp vụ Primary Maky Nvarchar(6) M kỳ MaCT Nvarchar(20) M chứng từ NgayCT datetime Ngy chứng từ MaNCC Nvarchar(20) M khch hang MaSoThue Nvarchar(50) M số thuế Sotien money Số tiền TK_No Nvarchar(20) Ti khoản nợ TK_Co Nvarchar(20) Ti khoản cĩ DienGiai Nvarchar(50) Diễn giải tblHDNhap TblHDNhap FieldName DataType Description Indexed SoCT Nvarchar(20) Số chứng từ Primary SoCTG Nvarchar(20) Số chứng từ gốc DienGiai Nvarchar(20) Diễn giải NgayCT datetime Ngy chứng từ MaNVien Nvarchar(20) M nhn vin MaNCC Nvarchar(50) M nh cung cấp TyGia int Tỷ gi nhập Makho Nvarchar(50) M kho MaCT Nvarchar(50) M chứng từ TK_No Nvarchar(20) Ti khoản nợ TK_Co Nvarchar(20) Ti khoản cĩ DienGiai Nvarchar(50) Diễn giải Ma_HTTT Nvarchar(5) M hình thức thanh tốn tblHDNhapchitiet TblHDNhapchitiet FieldName DataType Description Indexed SoCT Nvarchar(20) Số chứng từ Primary MaHH Nvarchar(20) M hng hĩa MaThue Nvarchar(20) M thuế DVT Nvarchar(20) Đơn vị tính SLNhap int Số lượng nhập Sotien money Số tiền Tong money Tổng tblHDXuat TblHDXuat FieldName DataType Description Indexed SoCT Nvarchar(20) Số chứng từ Primary SoCTG Nvarchar(20) Số chứng từ gốc DienGiai Nvarchar(20) Diễn giải NgayCT datetime Ngy chứng từ MaNVien Nvarchar(20) M nhn vin MaNCC Nvarchar(50) M nh cung cấp TyGia int Tỷ gi Xuat Makho Nvarchar(50) M kho MaCT Nvarchar(50) M chứng từ TK_No Nvarchar(20) Ti khoản nợ TK_Co Nvarchar(20) Ti khoản cĩ DienGiai Nvarchar(50) Diễn giải Ma_HTTT Nvarchar(5) M hình thức thanh tốn tblHDXuatchitiet TblHDXuatchitiet FieldName DataType Description Indexed SoCT Nvarchar(20) Số chứng từ Primary MaHH Nvarchar(20) M hng hĩa MaThue Nvarchar(20) M thuế DVT Nvarchar(20) Đơn vị tính SLXuat int Số lượng nhập Sotien money Số tiền Tong money Tổng tblNhomHH tblChungTu FieldName DataType Description Indexed MaNhomHH Nvarchar(20) M nhĩm Primery TennhomHH Nvarchar(50) Tn nhĩm tblDMHH TblDMHH FieldName DataType Description Indexed MaHH Nvarchar(20) M hng hĩa Primary MaNhomHH Nvarchar(20) M nhĩm hng hĩa TenHH Nvarchar(20) Tn hng hĩa DVT Nvarchar(20) Đơn vị tính Quycach Nvarchar(20) Quy cch DGNhap money Đơn giá nhập DGXuat money Đơn giá xuất Sơ đồ các Module kế toán Hệ thống kế tốn Danh mục Hệ thống Quản lý hng hĩa Quản lý cơng nợ Quản lý tiền mặt Sơ đồ hệ thống kế toán Sử dụng SQL Server 2005 để thiết kế bảng dữ liệu chương trình Hệ thống bảng dữ liệu Phn hệ quản lý tiền mặt Mơ hình quan hệ thực thể Mơ hình quan hệ Xy dựng Module xử lý mẫu tin CREATE proc [dbo].[sp_Phieuchi] @mode int, @MaCT nvarchar(20), @NgayCT datetime, @MaNCC nvarchar(20), @TKNo nvarchar(20), @TKCo nvarchar(20), @SoTien int, @DienGiai nvarchar(50), @MaThue nvarchar(20) as if(@mode = 1) --Them begin if not exists(select * from tblPhieuchi where MaCT = @MaCT and MaNCC=@MaNCC ) begin INSERT INTO tblPhieuchi (MaCT, NgayCT,MaNCC, TKNo, TKCo, SoTien,DienGiai,MaThue) VALUES(@MaCT, @NgayCT, @MaNCC, @TKNo, @TKCo, @SoTien,@DienGiai,@MaThue) end end if(@mode =-1) --Xoa begin delete from tblPhieuchi where MaCT = @MaCT end if(@mode = 0) --Sua begin if exists(select * from tblPhieuchi where MaCT = @MaCT) begin update tblPhieuchi set MaCT=@MaCT, NgayCT=@NgayCT, MaNCC=@MaNCC, TKNo=@TKNo, TKCo=@TKCo, SoTien=@SoTien, DienGiai=@DienGiai, MaThue=@MaThue where MaCT = @MaCT end end Phn hệ quản lý hng hĩa Mơ hình quan hệ thực thể //chưa hoàn thành Phn hệ quản lý cơng nợ Mơ hình quan hệ thực thể //chưa hoàn thành Thiết kế chương trình Biểu đồ use case biểu đồ use case Danh mục biểu đồ use case kế toán tiền mặt Use case Phn hệ kế tốn hang hĩa Use case Phn hệ quản lý cơng nợ Use case Bo co Biểu đồ tuần tự //chưa hoàn thành 3. Biểu đồ tương tác //chưa hoàn thành 4. Biểu đồ lớp //chưa hoàn thành Chương III. Ngôn ngữ lập trình Giới thiệu về ngơn ngữ C# Một số đặc điểm của C# Thực ra, môi trường .NET cho phép bạn viết bằng nhiều ngôn ngữ khác nhau. Các chương trình được viết bằng các ngôn ngữ khác nhau cuối cùng đều dịch ra được cùng một dạng là m CLR. Bạn có thể lập trình trên .NET bằng nhiều ngôn ngữ như VB .NET, VC++ .NET hoặc cả Delphi. Tuy nhiên, trong phạm vi giáo trình này, chúng tôi xin giới thiệu ngôn ngữ .NET do ngôn ngữ này có các đặc điểm như đơn giản, trong sáng và gọn gàng. Sau đây là một số đặc điểm cụ thể của C#: a. c# là ngôn ngữ đơn giản Loại bỏ các thành phần ngôn ngữ phức tạp (như MACRO của C++), template, đa kế thừa của Java và C++. C# dựa trên nền tảng của ngôn ngữ C và C++ (các cú pháp và từ khóa hầu hết được kế thừa từ C, C++). Nhưng loại bỏ đi các tốn tử v từ khĩa phức tạp. c# là ngôn ngữ hiện đại c# bao gồm đầy đủ các đặc tính của một ngôn ngữ lập trình hiện đại: Hướng đối tượng, xử lý ngoại lệ, thu gom bộ nhớ tự động, kiểu dữ liệu mở rộng, bảo mật m nguồn. c# là ngôn hướng đối tượng c# gồm đầy đủ các đặc điểm của một ngôn ngữ hướng đối tượng, bao gồm: sự đóng gói, sự kế thừa, tính đa hình. Các đặc điểm này giúp cho việc phát triển các ứng dụng bằng ngôn ngữ C# trở nên bền vững hơn. Người phát triển có thể xây dựng ứng dụng theo nhiều lớp, tạo nên một hệ thống hoàn chỉnh và khó đổ vỡ trong khoảng thời gian ít hơn. d. c#là ngôn ngữ ít từ khĩa Sự phức tạp của C++ được tạo nên bởi số lượng đồ sộ các từ khóa và toán tử. Chính điều này đa gây ra nhiều khó khăn không cần thiết cho người lập trình. C# tránh được nhược điểm này bằng tiêu chí: Càng ít từ khóa càng tốt. Theo thống kê, C# chỉ gồm hơn 100 từ khóa nhưng thực hiện được mọi yêu cầu từ đơn giản đến phức tạp Các khi niệm trong C# Lớp (class), đối tượng (object) Trong sinh học cĩ khi niệm lồi (lồi người, loài mèo...) và mỗi cá thể cụ thể trong loài (ông Nguyễn Văn A, con mèo A, con mèo B...). Trong lập trình hướng đối tượng: Lớp (class) tương ứng với loài Đối tượng (object) tương ứng với từng cá thể trong loài Như vậy, mỗi loài có thể có nhiều cá thể khác nhau thuộc loài đó Trong lập trình truyền thống, bạn cĩ thể khai bo cc biến với kiểu của chng. Một cch đơn giản, có thể hiểu: Lớp (class) l kiểu biến Đối tượng (object) là một giá trị tương ứng với kiểu Tĩm lại, trong lập trình hướng đối tượng, cc cơng việc của bạn gồm : Khai báo các lớp (gồm các thuộc tính, các phương thức của lớp đó) Khai báo các đối tượng thuộc các lớp Hoạt động của chương trình l sự tc động qua lại giữa các đối tượng Stack v Heap C# phân chia bộ nhớ thành 2 dạng: Stack & Heap: Stack là dạng vùng nhớ dạng vào sau ra trước (các giá trị được đưa vào sau thì được lấy ra trước). Stack thường sử dụng để lưu các biến tạm (không có chu kỳ sống dài) Heap là dạng vùng nhớ được cấp phát cho các biến có chu kỳ sống lâu dài. Trong ngơn ngữ C v C++: Stack được sử dụng để lưu các biến được khai báo trong hàm và chương trình con. Mỗi khi một biến được khai báo trong chương trình con, gi trị của nĩ được lưu vào trong stack. Khi thoát khỏi chương trình con, cc gi trị ny sẽ được lấy ra khỏi stack theo thứ tự ngược với thứ tự khai báo Heap được sử dụng để lưu các biến được tạo bằng từ khóa new, các lệnh malloc... Các biến này phải được giải phóng bằng các lệnh delete hoặc free khi không sử dụng đến. Nguyên tắc này thường gây nhiều lỗi do: Lập trình vin qun giải phĩng biến đ xin cấp pht Biến bị giải phĩng 2 lần Biến đ bị giải phĩng nhưng các đoạn chương trình sử dụng chng khơng biết v vẫn tiếp tục sử dụng Cc lỗi kể trn rất dễ xảy ra kể cả với lập trình vin giu kinh nghiệm. Những lỗi ny lại rất khĩ tìm v l những lỗi nghim trọng cĩ thể gy đổ vỡ hoàn toàn hệ thống. Kiểu gi trị(value type),kiểu tham chiếu(reference type) Việc sử dụng vùng nhớ stack và heap của C++ rắc rối, phức tạp và dễ gây lỗi cho chương trình. C# đưa ra những cải tiến sau: Chia cc kiểu biến thnh 2 kiểu: Kiểu gi trị (value type) v kiểu tham chiếu (reference type) Kiểu gi trị (value type) gồm Kiểu cấu trc Cc kiểu số nguyn (byte, int, long) Các kiểu số thực dấu phẩy động (float, double) Cc kiểu số thực thập phn (decimal) Kiểu bool Các struct do người dùng định nghĩa (nên hạn chế dùng kiểu này) Kiểu liệt k (enum) Kiểu tham chiếu (reference type) gồm Lớp (class) Giao diện (interface) Ủy thc (delegate) Kiểu gi trị l kiểu m khi thực hiện php gn, toàn bộ giá trị của vế phải được sao chép và gán vào biến bên vế trái. Do đặc tính này, giá trị của biến value type thường nằm trong stack (khi các biến này được khai báo trong hàm). Kiểu tham chiếu là kiểu mà các biến lưu dữ liệu trên heap. Các biến là tham chiếu (reference – gần giống khái niệm con trỏ trong C & C++) đến dữ liệu trên heap. Một dữ liệu có thể có nhiều biến tham chiếu đến. Khi thực hiện lệnh gán, phần dữ liệu trên heap không được sao chép mà chỉ có tham chiếu đến dữ liệu này được chép sang vế trái. Khi đó, sẽ có thêm 1 biến nữa tham chiếu đến dữ liệu trên heap. Để hiểu r hơn về kiểu giá trị và kiểu tham chiếu, hy quan st ví dụ sau: Biến & Kiểu C php khai bo biến của C# giống với c php khai bo của C++. Ch ý: Biến có thể được khai báo tại: Trong một lớp, khi đó các biến được gọi là biến thành viên của lớp Trong một hàm, khi đó biến có thể khai báo ở bất cứ nơi nào trong hàm, không nhất thiểt phải nằm ở đầu hàm. Biến được khai báo ở khối chương trình no thì cĩ hiệu lực trong phạm vi của khối đó. Khi chương trình chạy ra ngồi khối thì biến khơng cịn tồn tại. C# giống với C và C++, phân biệt chữ hoa và chữ thường. Tên biến cũng phân biệt chữ hoa và chữ thường, do đó bạn phải nhập vào đúng tên biến. Rất may, chế độ tự động (auto-complete) của VS2005 rất tốt, bạn hầu như không phải nhập đầy đủ 1 tên biến nào. Do đó, khả năng nhầm tên biến chữ hoa chữ thường rất hiếm khi xảy ra. ; = ; , ; Ví dụ int i; // Biến kiểu số nguyn string s; // Biến kiểu xu ký tự double a = 10; // Biến kiểu số thực kp double a, b, c = 20, d; Quy ước đặt tên biến Bắt đầu bằng chữ cái, không bắt đầu bằng chữ số. Tn biến cĩ thể chứa chữ ci, chữ số, ký tự “_”, nhưng không chứa các ký tự đặc biệt. Độ dài tối đa của tên biến là 255 ký tự. Kiểu biến Biến được sử dụng để lưu các giá trị, giá trị có thể là số (số thứ tự, số người...), có thể là dạng văn bản (xâu ký tự). Ngồi ra biến cĩ thể ở dạng phức tạp, ví dụ mảng: chuỗi các giá trị cùng kiểu sắp xếp liên tiếp, hoặc kiểu dữ liệu do người dùng định nghĩa. Khi bạn đ biết lập trình trn một ngơn ngữ, việc hiểu kiểu biến của một ngơn ngữ khc l tương đối đơn giản. Biến kiểu số Kiểu Mơ tả Kích thước Khoảng gi trị Ví dụ byte Số nguyn 8 bit 0..255 short Số nguyn ngắn 16 bit -32768.. 32767 int Số nguyn 32 bit -2147483648.. 2147483647 long Số nguyn di 64 bit float Số thực độ chính xác đơn 32 bit double Số thực độ chính xác kép 64 bit ushort Số nguyn ngắn khơng dấu 16 bit uint Số nguyn khơng dấu 32 bit ulong Số nguyn di khơng dấu 64 bit Biến kiểu xu ký tự Mỗi ký tự trong my tính tương ứng với một số hiệu. Một chuỗi các ký tự ghép với nhau tạo ra một xâu ký tự (String). Nếu bạn đ quen thuộc với m ASCII của, đặt tương ứng 256 giá trị với 256 ký tự thì xu ký tự của C# cĩ một cht khc biệt: Xu ký tự trong C# l xu ký tự Unicode, mỗi ký tự trong xu ny cĩ thể l 1 trong hơn 60000 ký tự của tất cả các ngôn ngữ. Do đó, vấn đề bảng m, ngơn ngữ trong C# được giải quyết triệt để từ gốc.u String trong C# được ký hiệu trong cặp ngoặc kp, ví dụ: string FirstWord; string SecondWord; FirstWord = "Hello"; SecondWord = "World"; string Greeting = FirstWord + SecondWord; // Greeting by giờ l "HelloWorld" Greeting = FirstWord + " " + SecondWord; Biến kiểu bool Kiểu bool là kiểu biến cơ bản, có mặt trong hầu hết các ngôn ngữ. Biến logic (bool) chỉ mang hai giá trị là true (đúng) và false (sai). Biến kiểu bool thường được sử dụng với các toán tử logic (&&, ||, ^, !). Cc biểu thức so snh trả về gi trị kiểu bool. Biến kiểu mảng Mảng l kiểu dữ liệu phức gồm nhiều gi trị cng kiểu sắp xếp lin tiếp nhau. Các phần tử này được truy xuất qua chỉ số. Chú ý, chỉ số của mảng C# giống như mảng trong C và C++, được bắt đầu từ 0; Mảng trong C# rất linh hoạt và được hỗ trợ một số lượng lớn các hàm sắp xếp, tìm kiếm, thm, xĩa... Cú pháp khai báo mảng trong C# như sau [] ; // Mảng chưa được khởi tạo, không sử dụng được [] = new []; long[] N; long[] M = new long[3]; N[0] = 1; M[0] = 1; M[1] = 2; M[2] = 3; M[3] = 4; M = new long[100]; for (int i=0; i<100; i++) { M[i] = i; } C php khai bo mảng của C# trơng cĩ vẻ kỳ cục (nếu như bạn đ quen với C++). Tuy nhin, nếu xt về mặt logic thì khai bo kiểu ny hợp lý hơn nhiều. Nếu theo đúng quy ước khai báo biến: int i; // Biến i kiểu int string a; // Biến a kiểu string int[] M; // Biến M kiểu int[] (tức l kiểu biến chứa nhiều số int, kiểu mảng) Đoạn m dưới đây minh họa sự mềm dẻo của mảng trong C#. Trong đó có sử dụng hàm sắp xếp để sắp mảng A theo chiều tăng dần. Bạn chú ý rằng khác với mảng trong C++, mảng trong C# đều phải được khởi tạo bằng toán tử new. Ngoài ra, bạn có thể dễ dàng lấy kích thước của mảng bằng thuộc tính Length (xem ví dụ). Đây là điều rất thuận lợi so với mảng trong C++ (mỗi mảng phải kèm theo một biến lưu chiều dài của mảng, dễ gây nhầm lẫn khi sử dụng quá nhiều mảng) int i; // Xin 100 phần tử cho mảng A int[] A = new int[100]; // ran: Đối tượng sinh ngẫu nhin Random ran = new Random(); // gn gi trị ngẫu nhin cho cc phần tử của mảng A for (i = 0; i < A.Length; i++) A[i] = ran.Next(500); for (i = 0; i < A.Length; i++) Console.Write("{0} ", A[i]); Console.ReadLine(); Array.Sort(A); for (i = 0; i < A.Length; i++) Console.Write("{0} ", A[i]); Console.ReadLine(); Để khai báo mảng nhiều chiều, ta sử dụng cú pháp tương tự. Bạn có thể quan sát ví dụ sử dụng mảng 2 chiều dưới đây. using System; using System.Collections.Generic; using System.Text; namespace testHello { class Program { static void Main(string[] args) { // M được khởi tạo l mảng 2 chiều, mỗi chiều 10 phần tử int[,] M = new int[10, 10]; // Dng 2 vịng lặp để gn cc phần tử hng i, cột j // Gi trị được gn l tích của i, j (gần giống bảng cửu chương) for (int i = 0; i < 10; i++) for (int j = 0; j < 10; j++) M[i, j] = i * j; // Ghi gi trị của mảng 2 chiều ra mn hình // Trong 2 vịng lặp lồng nhau ny, ta sử dụng cc hm // - GetLowerBound(level) để xác định cận dưới của mảng // - GetUpperBound(level) để xác định cận trn của mảng // - level l lớp chỉ số, ví dụ M[i, j] // - Chỉ số i tương ứng với level 0 (đầu tin) // - Chỉ số j tương ứng với level 1 for (int i = M.GetLowerBound(0); i <= M.GetUpperBound(0); i++) { for (int j = M.GetLowerBound(1); j <= M.GetUpperBound(1); j++) Console.Write("{0, 3}", M[i, j]); // Ghi M[i, j] theo quy cch (chiếm 3 ký tự) Console.WriteLine(); } Console.ReadLine(); } } } Cc kiểu biến khc Bạn có thể sử dụng các kiểu biến cơ sở của C#, có thể sử dụng mảng để lưu trữ nhiều giá trị. Tuy nhiên, chúng ta đ biết .NET framework được xây dựng lên từ một thư viện đồ sộ các đối tượng hỗ trợ cho công việc lập trình của bạn. Trong phần này, chúng tôi xin giới thiệu một số kiểu dữ liệu (các lớp) được cung cấp từ các thư viện này. Đây là các kiểu dữ liệu có thể hỗ trợ rất nhiều cho bạn trong quá trình pht triển cc ứng dụng, nhất l ứng dụng trong lĩnh vực Tin học hỗ trợ thiết kế Xy dựng. Kiểu List Mảng là một trong những kiểu dữ liệu được sử dụng phổ biến nhất, mảng dùng để lưu một danh sách các phần tử cùng kiểu. Tuy vậy, hạn chế của mảng là số lượng phần tử cố định (thực tế có thể thay đổi được nhưng phức tạp), việc thêm, xóa phần tử vào mảng tương đối khó khăn. C# cung cấp kiểu dữ liệu List (trong đó hai dấu thể hiện đây là kiểu dữ liệu có tham số, trong đó tham số là kiểu phần tử của danh sách (giống với khái n._.

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

  • doc26471.doc