Lời nói đầu ở thời đại phát triển nh hiện nay, việc ứng dụng công nghệ thông tin không còn xa lạ, mà nó trở thành một nhu cầu bức thiết cần đợc đáp ứng đối với tất cả các lĩnh vực trong kinh tế, chính trị, xã hội, . .Trong đó, công tác quản lý là một việc hết sức phức tạp và yêu cầu đợc tin học hoá trớc hết. ở nớc ta việc ứng dụng tin học trong công tác quản lý chiếm phần lớn về sảnphẩmphầnmềm tin học. Điều đó tạo ra phơng pháp quản lý mới hiệu quả, nhanh chóng, chính xác và khoa học. Trong công tác quản lý, quản lý phânphốisảnphẩm là một công việc hết sức phức tạp. Nó đòi hỏi ngời thực hiện phải đầu t nhiều thời gian và công sức. Nó yêu cầu phải cập nhật đợc thông tin, chính xác và khách quan. Điều đó là một trở ngại rất lớn trong việc thực hiện bằng thủ công. Với những lý do trên, cùng với những kiến thức đã đợc học, dới sự hớng dẫn của thầy giáo Lê Văn Tấn, tôi đã chọn xâydựngphần mềm: quản lý phânphốisảnphẩmtạiXínghiệpgạchngóiNam Giang. Mặc dầu tôi đã rất cố gắng trong việc khảo sát thực tế kết hợp nghiên cứu các tài liệu cùng với sự giúp đỡ của thầy cô, bạn bè. Nhng do kinh nghiệm còn ít nên trong quá trình thực hiện, đề tài khoá luận không tránh khỏi những thiếu sót. Rất mong nhận đợc những góp ý từ các thầy cô giáo và các bạn để tôi kịp thời có những sửa đổi, bổ sung. Tôi xin chân thành cảm ơn sự hớng dẫn và giúp đỡ tận tình của thầy giáo Lê Văn Tấn giảng viên khoa CNTT - Trờng đại học Vinh. Cảm ơn các thầy cô giáo trong khoa Công nghệ thông tin trờng Đại học Vinh và cán bộ của XínghiệpgạchngóiNamGiang đã giúp đỡ tôi hoàn thành khoá luận này. Sự quan tâm giúp đỡ của bố mẹ, gia đình và bạn bè cũng là một nguồn động viên lớn, con mong rằng những gì làm đợc trong quá trình học tập này sẽ là một phần nhỏ bé đền đáp công ơn của bố mẹ và lòng tin tởng của mọi ngời. Vinh,5/2007 Sinh viên thực hiện Hoàng Thị Tuyết Khoá luận tốt nghiệp chơng i Tổng quan về đề tài I. Lý do chọn đề tài Hàng hoá là tất cả các sảnphẩm mà xínghiệp có để bán và tất cả các nguyên liệu hay phụ tùng mà xínghiệp lu giữa và sử dụng để làm ra sảnphẩm hay cung cấp dịch vụ. Các loại hình kinh doanh khác nhau có các loại hàng hoá khác nhau. Quản lý phânphốisảnphẩm trong các doanh nghiệp là công việc quan trọng, đòi hỏi bộ phậnQuản lý phải tiến hành nhiều nghiệp vụ phức tạp. Việc ứng dụng CNTT đã mang lại bớc đột phá mới cho công tác quản lý phânphốisản phẩm, giúp xínghiệpnắm bắt thông tin về hàng hoá, thông tin khách hàng, trạng thái các đơn đặt hàng . một cách chính xác và kịp thời. Từ đó ngờiquản lý có thể đa ra các kế hoạch và quyết định đúng đắn, giảm chi phí và tăng khả năng cạnh tranh, nâng cao kết quả hoạt động sản xuất kinh doanh của xí nghiệp. Trong xu thế công nghệ thông tin đang đợc toàn cầu hoá, các ngôn ngữ lập trình, các hệ quản trị cơ sở dữ liệu không ngừng đổi mới và phát triển cho phép chúng ta xâydựng các phầnmềm ứng dụng. Với những lý do trên, dới sự hớng dẫn của thầy giáo Lê Văn Tấn, em đã tìm hiểu và sử dụng ngôn ngữ Visual Studio 2005 và hệ quản trị cơ sở dữ liệu SQLServer để xâydựngphầnmềmquản lý phânphốisảnphẩmtạixínghiệpgạchngóiNam Giang. II. Yêu cầu của đề tài 1. Tên đề tài: Xâydựngphầnmềmquản lý phânphốisảnphẩmtạixínghiệpgạchngóiNam Giang. 2. Nội dung yêu cầu Để quản lý phânphốisảnphẩm trong một xínghiệp kinh doanh thì phòng bán hàng phải thực hiện các công việc: nhận hàng, ghi sổ hàng, dự trữ hàng, sắp xếp hàng, kiểm tra hàng, . Hàng tháng phòng bán hàng phải thống kê đợc số l- ợng sảnphẩm nhập, xuất kho (giao hàng) để đa ra kế hoạch và quyết định đúng đắn cho việc kinh doanh của xínghiệp cho những tháng tiếp theo. Yêu cầu của hệ thống là phải khắc phục đợc các công việc tính toán thủ công phức tạp, xử lý nhanh chóng, kịp thời, khoa học và chính xác. Hệ thống có giao diện thân thiện, dễ sử dụng, quản lý tốt thông tin. Hệ thống hoạt động hiệu quả và có tính khả thi, có khả năng hỗ trợ ngời dùng, phù hợp với xu thế hoạt động của mạng máy tính hiện nay. Xâydựngphầnmềmquản lý phânphốisảnphẩmtạiXínghiệpgạchngóiNamGiang 2 Khoá luận tốt nghiệp III. Lựa chọn công cụ lập trình Khi lựa chọn ngôn ngữ lập trình, ta thờng quan tâm đến khả năng ngôn ngữ có hỗ trợ việc xâydựng ứng dụng. Đối với chơng trình quản lý bán hàng cần một ngôn ngữ lập trình có khả năng hỗ trợ mạnh về cơ sở dữ liệu và có khả năng hỗ trợ đa ngời dùng. Sau khi tìm hiểu ngôn ngữ lập trình hiện đại Visual Studio 2005 là một ngôn ngữ lập trình mạnh, cơ bản năng động và có khả năng hỗ trợ mạnh cho lập trình quản lý cơ sở dữ liệu. Visual Studio 2005 là một ngôn ngữ tơng đối dễ học, dễ viết, có tính thống nhất, chặt chẽ và có các hệ thống kiểm tra tự động tốt. Cấu trúc ngôn ngữ bao gồm các phép lặp, điều kiện, xử lý mảng và đọc viết các file. Các kĩ thuật lập trình của Visual Studio 2005 đều cung cấp đối tợng Error để xử lý lỗi. Đối tợng ADO.NET của Visual Studio 2005 hỗ trợ một số tính năng nh thiết lập kết nối bất đồng bộ, cập nhật hàng loạt và đặc biệt ADO.NET còn cung cấp khả năng xử lý các tính năng này cùng một thời điểm. Các u điểm của Visual Studio 2005, chúng em đã sử dụng ngôn ngữ này để thực hiện cài đặt chơng trình. Sau đây là những giới thiệu về một số vấn đề mà em sử dụng trong đề tài. 1. Về Visual Studio 2005 Kĩ thuật lập trình quản lý cơ sở dữ liệu mà Visual Studio 2005 cung cấp là lập trình cơ sở dữ liệu với công nghệ ADO.NET ( ActiveX- Data Objects) bằng nhiều ngôn ngữ tích hợp, trong đề tài này sử dụng ngôn ngữ C#. a. Lập trình với kĩ thuật ADO.NET ( ActiveX Data Objects) - Xâydựng ứng dụng Visual Studio 2005 với ADO.NET - Sử dụng dịch vụ từ xa với ADO.NET ADO.NET là công nghệ truy cập cơ sở dữ liệu hớng đối tợng . Ta có thể dùng ADO.NET để thao tác với CSDL bao gồm các bảng, các câu truy vấn chứa sẵn và mối quan hệ giữa các bảng. b. Tham chiếu đến ADO.NET trong ứng dụng Visual Studio 2005 ADO.NET là th viện của DOTNET FRAMEWORK. Các đối tợng ADO.NET nằm trong namespaces System.Data. Tất cả các đối tợng ADO.NET đợc chia làm 2 loại: - Connected: các đối tợng truyền thông trực tiếp với Cơ sở dữ liệu - Disconnected: các đối tợng mà cho phép ngờidùng làm việc với dữ liệu bị cắt kết nối (hay không kết nối ). Bắt đầu sử dụng ADO.NET bằng cách mở không gian tên System.Data: Using System.Data. c. Dùng đối tợng SqlConnection/OleDbConnection của ADO.NET để kết nối với nguồn dữ liệu - Dùng thuộc tính ConnectionString để thông báo cho ADO.NET cách thiết lập kết nối đến nguồn CSDL. - Dùng phơng thức Open của đối tợng Connection để thiết lập kết nối đến nguồn dữ liệu. Xâydựngphầnmềmquản lý phânphốisảnphẩmtạiXínghiệpgạchngóiNamGiang 3 Khoá luận tốt nghiệp - Dùng thuộc tính Provider để chọn trình cung cấp. d. Mở kết nối đến cơ sở dữ liệu Để phát một yêu cầu đến nguồn CSDL dùng ADO.NET, ta mở kết nối đến nguồn dữ liệu đó, dùng phơng thức Open. Cú pháp: Conn = new SqlConnection(ConnectionSring) Conn.Open() e. Sử dụng đối tợng SqlCommand/SqlCommandbuilder của ADO.NET để thao tác với CSDL Đối tợng SqlCommand/SqlCommandbuilder của ADO.NET là phơng pháp truy cập thông tin đợc trả về từ trình cung cấp dữ liệu. Dùng đối tợng SqlComand/SqlCommandbuilder cập nhật trực tiếp với CSDL nguồn để thực hiện các lệnh Update, Insert, Delete. 2. Về hệ quản trị cơ sở dữ liệu SQL Server SQL Server là một giải pháp chuẩn để thao tác với CSDL. Nói chung câu lệnh SQL Server đợc chia làm hai loại: - Câu lệnh thuộc ngôn ngữ định nghĩa dữ liệu(DDL): Cho phép sử dụng truy vấn SQL để tạo thành các thành phần trong CSDL nh là bảng, trờng, chỉ mục. - Câu lệnh thuộc về thao tác dữ liệu: Update, Insert, Delete từ bảng về dữ liệu nguồn. Xâydựngphầnmềmquản lý phânphốisảnphẩmtạiXínghiệpgạchngóiNamGiang 4 Khoá luận tốt nghiệp chơng II Khảo sát hiện trạng I. Nhiệm vụ cơ bản Khảo sát thực tế sự hoạt động của hệ thống quản lý phânphốisảnphẩmtạiXínghiệpgạchngóiNam Giang. II. Cơ cấu tổ chức và sự phân công nhiệm vụ Tôi tiến hành khảo sát thực tế ở hệ thống quản lý phânphốisảnphẩm của XínghiệpgạchngóiNamGiangNam Đàn Nghệ An, cụ thể ở đây là phòng bán hàng với cơ cấu tổ chức và phân công nhiệm vụ nh sau: 1. Quản lý việc nhập hàng vào kho Sau khi sảnphẩm đợc sản xuất ra thì tuỳ theo từng mặt hàng gạch hay ngói mà các sảnphẩm đó sẽ đợc chuyển vào các kho hàng tơng ứng. ở đây, nhân viên thủ kho sẽ tiến hành phân loại sảnphẩm ( A1, A2, B, ) và lu lại các thông tin về hàng nhập theo các thuộc tính sau: Mã hàng, Tên hàng, Đơn vị tính, Số lợng, Thành tiền. 2. Quản lý việc xử lý đơn hàng Khi khách hàng có nhu cầu mua hàng sẽ đến phòng bán hàng để đặt mua hàng. Nhân viên bán hàng sẽ kiểm tra số lợng hàng đặt mua ở trong kho có đáp ứng đợc hay không. Nếu đáp ứng đợc thì nhân viên bán hàng sẽ làm các công việc sau: - Cung cấp các thông tin: Số lợng có thể đáp ứng, giá cả - Lập tên khách hàng tơng ứng với mã khách hàng - Lập phiếu đặt hàng theo các thông tin sau: Họ tên KH, Địa chỉ KH, Điện thoại KH,Tên mặt hàng, Số lợng, Đơn giá, Ngày đặt hàng, Ngày hẹn giao, Địa điểm giao, Thành tiền. Nếu không đáp ứng đợc thì nhân viên bán hàng sẽ ghi nhận đăng ký của khách hàng để lập kế hoạch sản xuất sảnphẩm cho thời gian tới. 3. Quản lý việc giao hàng Khi đến ngày giao hàng, nhân viên bán hàng sẽ lập phiếu giao nhận hàng theo các thông tin sau: Mã KH, Tên KH, Địa chỉ KH, Điện thoại KH, Địa điểm giao hàng, Số xe vận chuyển, Lái xe, Mã tổ bốc vác, Tổ trởng, Tên mặt hàng, Đơn vị tính, Số lợng đặt, Số lợng đã giao, Số lợng giao, Đơn giá, Thành Xâydựngphầnmềmquản lý phânphốisảnphẩmtạiXínghiệpgạchngóiNamGiang 5 Khoá luận tốt nghiệp tiền. Khi đó, nhân viên lái xe có nhiệm vụ nhận hàng từ kho và giao cho khách hàng theo địa điểm giao hàng. 4. Quản lý việc thanh toán Từ số lợng hàng đặt và đơn giá tính đợc tiền hàng mà khách hàng đang nợ: Tiền = Số lợng * Đơn giá. Tiền hàng mà khách hàng cha thanh toán sẽ đợc cộng vào số tiền nợ. Khách hàng có thể trả tiền hàng trực tiếp thông qua nhân viên bán hàng. Khi đó nhân viên bán hàng sẽ lập phiếu thanh toán cho khách hàng. Hoặc có thể trả tiền hàng thông qua tài khoản của xínghiệp ở Ngân hàng. III. Quy trình hoạt động của hệ thống Sau khi sảnphẩm đợc sản xuất ra thì tuỳ theo từng mặt hàng gạch hay ngói mà các sảnphẩm đó sẽ đợc chuyển vào các kho hàng tơng ứng. ở đây, nhân viên thủ kho sẽ tiến hành phân loại sảnphẩm (A1, A2, B, ) và lu lại các thông tin về hàng nhập theo biểu mẫu sau: Khi khách hàng có nhu cầu mua hàng sẽ đến phòng bán hàng để đặt mua hàng. Nhân viên bán hàng sẽ kiểm tra số lợng hàng đặt mua ở trong kho có đáp ứng đợc hay không. Nếu đáp ứng đợc thì nhân viên bán hàng sẽ lập phiếu đặt hàng theo biểu mẫu sau: Xâydựngphầnmềmquản lý phânphốisảnphẩmtạiXínghiệpgạchngóiNamGiang 6 CTY CP XÂYDựNG Số 6 XN GạCHNGóINAMGIANG PHIU NHP KHO Số: . Ngày: Nhập tại kho: . Mã h ng Tên h ng VT S lng Ghi chú Cộng tiền: Nhập kho ngàytháng năm Cộng thành tiền (viết bằng chữ): . Giám đốc Trởng phòng Ngời viết phiếu Ngời giao Thủ kho nhập (Ký, họ tên, đóng dấu) (Ký, họ tên) (Ký, họ tên) ( Ký, họ tên) (Ký, họ tên) Khoá luận tốt nghiệp Nếu không đáp ứng đợc thì nhân viên bán hàng sẽ ghi vào sổ yêu cầu của khách hàng để lập kế hoạch sản xuất sảnphẩm cho thời gian tới. Ta có biểu mẫu nh sau: Nếu có thay đổi, giữa hai bên khách hàng và nhân viên bán hàng có thể thỏa thuận lại ngày giao hàng và địa điểm giao, thậm chí là số lợng hàng trớc thời hạn giao hàng. Khi đến ngày giao hàng, nhân viên bán hàng sẽ lập phiếu giao hàng với các thông tin đặt hàng tơng ứng và giao cho bộ phận lái xe nhận hàng từ kho và chuyển cho khách hàng. Biểu mẫu giao nhận hàng nh sau: Xâydựngphầnmềmquản lý phânphốisảnphẩmtạiXínghiệpgạchngóiNamGiang 7 CTY CP XÂYDựNG Số 6 XN GạCHNGóINAMGIANG PHIU đặt hàng Số điện thoại: 3 821139 Số: . Ngày: . Tên khách hàng: Điện thoại: Địa chỉ: . Địa điểm giao hàng: Mã h ng Tên h ng VT S lng n giá Th nh ti n Cộng tiền: Ngày thángnăm Cộng thành tiền (viết bằng chữ): . Giám đốc Trởng phòng Ngời viết phiếuNgời đặt hàngThủkhoxuất (Ký, họ tên, đóng dấu) (Ký, họ tên) (Ký, họ tên) ( Ký, họ tên) (Ký, họ tên) Công ty XD số 6 XínghiệpgạchngóiNamGiang Sổ ghi yêu cầu của khách hàng TT Ngày tháng năm Họ tên khách hàng, địa chỉ, điện thoại Nội dung khách hàng yêu cầu Ghi chú