Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Chuyên ngành kinh tế Xây dựng, thiết kế phần mềm quản lý bán hàng cho công ty thực phẩm hà lan...

Tài liệu Xây dựng, thiết kế phần mềm quản lý bán hàng cho công ty thực phẩm hà lan

.PDF
58
695
64

Mô tả:

LỜI CẢM ƠN Em xin chân thành cảm ơn sự giúp đỡ nhiệt tình của thầy giáo,PGS-TS Phạm Việt Bình, người đã định hướng,giúp đỡ em trong suốt quá trình thực hiện đồ án để em có thể hoàn thành tốt đề tài của mình. Em cũng xin gửi lời cảm ơn đến các thầy cô giáo, giảng viên Khoa Công Nghệ Thông Tin – Trường Đại Học Công Nghệ Thông Tin và Truyền Thông Thái Nguyên – Đại học Thái Nguyên và các thầy cô đã giảng dạy em trong suốt quá trình em học tập tại trường. Con cũng xin gửi lời cảm ơn chân thành đến gia đình, bố mẹ và bạn bè đã luôn là nguồn động viên to lớn giúp đỡ con vượt qua những khó khăn trong suốt quá trình học tập. Mặc dù đã cố gắng hoàn thiện đồ án với tất cả nỗ lực của bản thân, nhưng chắc không thể tránh khỏi những thiếu sót. Kính mong quý thầy cô đóng góp ý kiến để em có thể hoàn thiện kiến thức của bản thân! Em rất tự hào về ngồi trường mà mình đang theo học, và tự hào về tất cả thầy cô của mình.Kính chúc các thầy cô mạnh khỏe và công tác tốt Em xin chân thành cảm ơn! 1 LỜI CAM ĐOAN Em xin cam đoan rằng: Số liệu và kết quả nghiên cứu trong đồ án này là hoàn toàn trung thực và chưa từng được sử dụng hoặc công bố trong bất kỳ công trình nào khác. Các nội dung lý thuyết, sơ đồ phân tích được nghiên cứu và áp dụng từ phần tài liệu tham khảo, chương trình demo do em tự thiết kế. Mọi sự giúp đỡ cho việc thực hiện đồ án này đã được cám ơn và các thông tin trích dẫn trong đồ án đều được ghi rõ nguồn gốc. Thái nguyên, tháng 05 năm 2017 Sinh viên thực hiện Nguyễn Hữu Khang 2 MỤC LỤC LỜI CẢM ƠN ......................................................................................................... 1 LỜI CAM ĐOAN .................................................................................................... 2 MỤC LỤC .............................................................................................................. 3 DANH MỤC HÌNH ẢNH ....................................................................................... 5 LỜI MỞ ĐẦU ......................................................................................................... 7 CHƯƠNG 1. CƠ SỞ LÝ THUYẾT......................................................................... 8 1.1. Giới thiệu ...................................................................................................... 8 1.1.1. Tổng quan .............................................................................................. 8 1.1.2. Hoạt động ngôn ngữ PHP....................................................................... 8 1.1.3. Hệ quản trị CSDL MySQL..................................................................... 9 1.2. Tìm hiểu về CodeIgniter ............................................................................... 9 1.2.1. Giới thiệu về CodeIgniter ....................................................................... 9 1.2.2. Những điểm nổi bật.............................................................................. 10 1.2.3. Cài đặt ................................................................................................. 11 1.2.4. Mô hình Model-View-Controller trong CodeIgniter ............................. 11 1.2.5. Cấu trúc CodeIgniter ............................................................................ 13 1.2.6. CodeIgniter URL ................................................................................. 14 1.3. Tổng quan ngôn ngữ UML ......................................................................... 15 1.3.1. Giới thiệu về UML ............................................................................... 15 1.3.2. UML là ngôn ngữ để hiển thị ............................................................... 16 1.3.3. UML là ngôn ngữ đặc tả ...................................................................... 16 1.3.4. UML là ngôn ngữ để xậy dựng............................................................. 16 1.3.5. UML là ngôn ngữ tài liệu ..................................................................... 17 CHƯƠNG 2. KHẢO SÁT, PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ................. 18 2.1. Khảo sát hệ thống ....................................................................................... 18 2.1.1. Giới thiệu ............................................................................................. 18 2.1.2 Tình trạng kinh doanh của công ty ........................................................ 18 2.1.3.Một số biểu mẫu ................................................................................... 19 2.2. Phân tích thiết kế hệ thống .......................................................................... 22 2.2.1. Tác nhân của hệ thống.......................................................................... 22 3 2.2.2. Usecase tổng quan................................................................................ 23 2.2.3. Danh sách các usecase ......................................................................... 23 2.2.4. Usecase cho từng chức năng ................................................................ 25 2.2.5. Đặc tả một số usecase .......................................................................... 29 2.2.6. Biểu đồ hoạt động. ............................................................................... 39 2.2.7. Biểu đồ trình tự .................................................................................... 42 2.2.8. Biểu đồ lớp .......................................................................................... 48 2.2.9. Chi tiết cơ sở dữ liệu ............................................................................ 49 CHƯƠNG 3. THIẾT KẾ XÂY DỰNG PHẦN MỀM ............................................ 52 3.1. Giới thiệu phần mềm .................................................................................. 52 3.2. Giao diện phần mềm ................................................................................... 52 3.2.1. Giao diện trang chủ .............................................................................. 52 3.2.2. Giao diện trang quản lý khách hàng ..................................................... 53 3.2.3. Giao diện trang đơn hàng ..................................................................... 54 3.2.4. Giao diện trang Hàng hóa..................................................................... 55 3.2.5. Giao diện trang nhập kho ..................................................................... 56 3.2.6. Giao diện trang tồn kho ........................................................................ 56 KẾT LUẬN ........................................................................................................... 57 TÀI LIỆU THAM KHẢO ..................................................................................... 58 4 DANH MỤC HÌNH ẢNH Hình 1.1: Minh họa mô hình MVC ........................................................................ 12 Hình 1.2: Cấu trúc CodeIgniter .............................................................................. 13 Hình 2.1: Tác nhân hệ thống .................................................................................. 22 Hình 2.1: Usecase tổng quan ................................................................................. 23 Hình 2.2: Usecase quản lý hệ thống ....................................................................... 25 Hình 2.3: Usecase quản lý đơn hàng ................................................................... 25 Hình 2.4: Usecase quản lý hàng hóa ...................................................................... 26 Hình 2.5: Usecase quản lý nhà cung cấp ................................................................ 26 Hình 2.6: Usecase quản lý khách hàng................................................................... 27 Hình 2.7: Usecase quản lý nhập hàng ................................................................. 27 Hình 2.8: Usecase tồn kho ..................................................................................... 28 Hình 2.11: Biểu đồ hoạt động đăng nhập vào hệ thống. ......................................... 39 Hình 2.12: Biểu đồ hoạt động đăng xuất ra khỏi hệ thống. ..................................... 39 Hình 2.13: Biểu đồ hoạt động đổi mật khẩu. .......................................................... 40 Hình 2.14: Biểu đồ hoạt động thêm thành viên vào hệ thống. ................................ 40 Hình 2.15: Biểu đồ hoạt động xóa thành viên. ....................................................... 41 Hình 2.16: Biểu đồ hoạt động xem thông tin hàng hóa........................................... 41 Hình 2.17: Biểu đồ tuần tự đăng nhập.................................................................... 42 Hình 2.19: Biểu đồ tuần tự thay đổi mật khẩu ........................................................ 42 Hình 2.26: Biểu đồ tuần tự thêm người dùng đăng nhập ........................................ 43 Hình 2.27: Biểu đồ tuần tự phiếu nhập kho. ........................................................... 43 Hình 2.20: Biểu đồ tuần tự thêm mới hàng hóa ...................................................... 44 Hình 2.21: Biểu đồ tuần tự cập nhật hàng hóa........................................................ 45 Hình 2.22: Biểu đồ tuần tự thêm mới khách hàng .................................................. 45 Hình 2.23: Biểu đồn tuần tự cập nhật khách hàng .................................................. 46 Hình 2.24: Biểu đồ tuần tự thêm mới nhà cung cấp ............................................... 46 Hình 2.25: Biểu đồ tuần tự cập nhật nhà cung cấp ................................................. 47 Hình 2.28: Biểu đồ tuần tự tìm kiếm ...................................................................... 47 Hình 2.29: Biểu đồ tuần tự thống kê. ..................................................................... 48 Hình 3.2: Giao diện trang chủ ................................................................................ 52 5 Hình 3.5: Giao diện trang quản lý khách hàng. ...................................................... 53 Hình 3.6: Giao diện trang thêm khách hàng ........................................................... 53 Hình 3.8: Giao diện trang nhà cung cấp ................................................................. 53 Hình 3.9: Giao diện trang chi tiết nhà cung cấp. .................................................... 54 Hình 3.13: Giao diện trang quản lý đơn hàng......................................................... 54 Hình 3.14: Giao diện trang thêm mới đơn hàng. .................................................... 54 Hình 3.10: Giao diện trang quản lý hàng hóa ......................................................... 55 Hình 3.11: Giao diện trang thêm hàng hóa. ............................................................ 55 Hình 3.12: Giao diện trang chi tiết hàng hóa. ......................................................... 55 Hình 3.16: Danh sách phiếu nhập .......................................................................... 56 Hình 3.17: Giao diện trang tạo phiếu nhập. ............................................................ 56 Hình 3.17: Giao diện trang tồn kho ........................................................................ 56 6 LỜI MỞ ĐẦU Trong thời đại ngày nay, công nghệ thông tin đã trở nên phổ biến và đóng vai trò quan trọng trong nhiều lĩnh vực của cuộc sống, kinh tế, xã hội. Sự phát triển và phổ rộng của internet như đầu nối giúp xã hội trở văn minh, mọi thông tin liên lạc trở nên dễ dàng hơn. Ứng dụng công nghệ thông tin vào phát triển kinh tế xã hội ngày càng rộng rãi. Những doanh nghiệp lớn nhỏ không ngừng mọc lên. Giới trẻ khởi nghiệp cũng cần có môi trường ,nắm bắt thông tin cần thiết để bắt kịp xu thế thị trường. Để quản lý tốt cho công ty ,doanh nghiệp của mình không chỉ cần đội ngũ nhân viên có năng lực mà cần phải áp dụng những phần mềm tiên tiến ,những kỹ thuật mới vào trong việc quản lý công ty. Xuất phát từ những thực tế đó,em đã tìm hiểu và chọn đề tài :”Xây dựng, thiết kế phần mềm quản lý bán hàng cho công ty thực phẩm Hà Lan” nhằm đáp ứng nhu cầu quản lý bán hàng cho các doanh nghiệp,công ty vừa và nhỏ. 7 CHƯƠNG 1. CƠ SỞ LÝ THUYẾT 1.1. Giới thiệu 1.1.1. Tổng quan PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra năm 1994. Vì tính hữu dụng của nó và khả năng phát triển, PHP bắt đầu được sử dụng trong môi trường chuyên nghiệp và nó trở thành ”Hypertext Preprocessor” Thực chất PHP là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản đó là một trang HTML có nhúng mã PHP và nó có thể được đặt rải rác trong HTML. PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ, là một công nghệ phía máy chủ (Server-Side) và không phụ thuộc vào môi trường (cross-platform). Đây là hai yếu tố rất quan trọng, thứ nhất khi nói công nghệ phía máy chủ tức là nói đến mọi thứ trong PHP đều xảy ra trên máy chủ, thứ hai, chính vì tính chất không phụ thuộc môi trường cho phép PHP chạy trên hầu hết trên các hệ điều hành như Windows, Unixvà nhiều biến thể của nó... Đặc biệt các mã kịch bản PHP viết trên máy chủ này sẽ làm việc bình thường trên máy chủ khác mà không cần phải chỉnh sửa hoặc chỉnh sửa rất ít. Khi một trang Web muốn được dùng ngôn ngữ PHP thì phải đáp ứng được tất cả các quá trình xử lý thông tin trong trang Web đó, sau đó đưa ra kết quả ngôn ngữ HTML. 1.1.2. Hoạt động ngôn ngữ PHP Vì PHP là ngôn ngữ của máy chủ nên mã lệnh của PHP sẽ tập trung trên máy chủ để phục vụ các trang Web theo yêu cầu của người dùng thông qua trình duyệt. Khi người dùng truy cập Website viết bằng PHP, máy chủ đọc mã lệnh PHP và xử lí chúng theo các hướng dẫn được mã hóa. Mã lệnh PHP yêu cầu máy chủ gửi một dữ liệu thích hợp (mã lệnh HTML) đến trình duyệt Web. Trình duyệt xem nó như là một trang HTML têu chuẩn. Như ta đã nói, PHP cũng chính là một trang HTML nhưng có nhúng mã PHP và có phần mở rộng là HTML. Phần mở của PHP được đặt trong thẻ mở .Khi trình duyệt truy cập vào một trang PHP, Server sẽ đọc nội dung file PHP lên và lọc ra các đoạn mã PHP và thực thi các đoạn mã đó, lấy kết quả nhận được của đoạn mã PHP thay thế vào chỗ ban đầu của 8 chúng trong file PHP, cuối cùng Server trả về kết quả cuối cùng là một trang nội dung HTML về cho trình duyệt. 1.1.3. Hệ quản trị CSDL MySQL MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,... MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL). MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,... Một số đặc điểm của MySQL: - MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương đương với SQL Server của Microsoft). - MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều bảng quan hệ chứa dữ liệu. - MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL. - Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu của tài khoản có quyền sử dụng CSDL đó. Nếu không, chúng ta sẽ không làm được gì cả giống như quyền chứng thực người dung trong SQL Server vậy. 1.2. Tìm hiểu về CodeIgniter 1.2.1. Giới thiệu về CodeIgniter CodeIgniter (CI) là một PHP Framework theo cấu trúc MVC được viết trên PHP4 và hỗ trợ cả PHP4 và PHP5 .Nó là một tập hợp các thư viện viết sẵn trên PHP 9 giúp chúng ta phát triển web bằng PHP nhanh hơn là cách viết lắp ghép thông thường.Phiên bản đầu tiên được phát hành ngày 28.02.2006, phiên bản hiện tại: 2.2.1 (phát hành ngày 1.2015). Ý tưởng xây dựng CodeIgniter được dựa trên Ruby on Rails, một nền tảng ứng dụng web được viết bằng ngôn ngữ Ruby. Hiện tại, CodeIgniter đang được phát triển bởi ExpressionEngine Development Team thuộc EllisLab, Inc. 1.2.2. Những điểm nổi bật Được thiết kế theo mô hình Model-View-Controller: Mô hình MVC giúp tách thành phần hiển thị giao diện (presentation) và xử lý (business logic) của một phần mềm thành những thành phần độc lập, từ đó giúp cho việc thiết kế, xử lý và bảo trì mã nguồn dễ dàng, đồng thời tăng khả năng mở rộng của phần mềm. CodeIgniter vận dụng mô hình này trong thiết kế, giúp tách biệt các tập tin giao diện với các tập tin xử lý dữ liệu, nâng cao khả năng quản lý và dễ bảo trì. Nhỏ gọn: Gói cài đặt chỉ 404KB (không bao gồm phần User Guide). So với các PHP framework khác như CakePHP (1.3MB), Symfony (5.08MB) hay Zend Framework (5.66MB)kích thước của CodeIgniter giúp giảm thiểu đ|ng kể không gian lưu trữ. Tốc độ nhanh: CodeIgniter được đánh giá là PHP framework có tốc độ nhanh nhất hiện nay. Bằng cơ chế lưu nội dung vào bộ đệm (cache), kiểm tra bộ đệm trước khi tiến hành thực hiện yêu cầu, CodeIgniter giảm số lần truy cập và xử lý dữ liệu, từ đó tối ưu hóa tốc độ tải trang. Miễn phí: CodeIgniter được phát hành dưới giấy phép Apache/BSD mở rộng, cho phép người dùng tự do thay đổi, phát triển và phân phối mã nguồn. Hỗ trợ Search Engine Optimization: Cấu trúc URL của CodeIgniter rất thân thiện với các robot tìm kiếm. Hệ thống thư viện phong phú: CodeIgniter cung cấp các thư viện phục vụ cho những tác vụ thường gặp nhất trong lập trình web, chẳng hạn như truy cập cơ sở dữ liệu, gửi email, kiểm tra dữ liệu, quản lý session, xử lý ảnhđến những chức năng nâng cao như XML-RPC, mã hóa, bảo mật Bảo mật hệ thống: Cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS và SQL Injection của CodeIgniter giúp giảm thiểu các nguy cơ bảo mật cho hệ thống. 10 1.2.3. Cài đặt Yêu cầu hệ thống: CodeIgniter có thể hoạt động trên nhiều hệ điều hành và server, yêu cầu có cài đặt PHP phiên bản 4.x hoặc cao hơn; hệ quản trị cơ sở dữ liệu: MySQL (4.1+), MySQLi, Mircrosoft SQL Server, Postgres, Oracle, SQLite, và ODBC. Hướng dẫn cài đặt: 1. Download bộ nguồn CodeIgniter tại website http://codeigniter.com/, phiên bản hiện tại: 2.2.1. 2. Mở tập tin application/config/config.php bằng một chương trình soạn thảo, thay đổi giá trị $config['base_url']. Đây là đường dẫn tuyệt đối đến thư mục CodeIgniter trên server. 3. Nếu ứng dụng có tương tác với cơ sở dữ liệu, thiết lập các giá trị cần thiết trong tập tin application/config/database.php. 4. Upload tất cả thư mục và tập tin của CodeIgniter lên server. Để nâng cao tính bảo mật hệ thống, người dùng có thể đổi tên thư mục system của CodeIgniter. Sau khi đổi tên, người dùng phải thay đổi giá trị biến $system_folder trong tập tin index.php. 1.2.4. Mô hình Model-View-Controller trong CodeIgniter Model-View-Control (MVC) là một kiến trúc phần mềm, hiện đang được xem là một mẫu thiết kế trong công nghệ phần mềm. Mô hình MVC tách biệt phần xử lý dữ liệu ra khỏi phần giao diện, cho phép phát triển, kiểm tra và bảo trì các thành phần một cách độc lập. 11 Hình 1.1: Minh họa mô hình MVC Trong đó: -Model thể hiện các cấu trúc dữ liệu. Các lớp thuộc thành phần Model thường thực hiện các tác vụ như truy vấn, thêm, xóa, cập nhật dữ liệu. Khi dữ liệu trong Model thay đổi, thành phần View sẽ được cập nhật lại. -View là thành phần thể hiện dữ liệu trong Model thành các giao diện tương tác với người sử dụng. Một Model có thể có nhiều View tùy thuộc vào các mục đích khác nhau. -Controller đóng vai trò trung gian giữa Model và View. Thông tin người dùng từ View được gửi cho Controller xử lý, sau đó Controller tương tác với Model để lấy dữ liệu được yêu cầu, sau cùng Controller trả dữ liệu này về cho View. Mô hình MVC thường được sử dụng trong các ứng dụng web, vì thành phần View (mã HTML/XHTML) được sinh ra từ các ngôn ngữ lập trình web. Thành phần Controller sẽ nhận các dữ liệu GET/POST, xử lý những dữ liệu này, sau đó chuyển sang Model xử lý. Model sẽ trả dữ liệu về phía Controller, sau đó Controller sinh mã HTML/XHTML để thể hiện trên View. 12 1.2.5. Cấu trúc CodeIgniter Hình 1.2: Cấu trúc CodeIgniter -Tập tin index.php được xem như controller đầu vào, tiếp nhận các yêu cầu từ phía client và chuyển các yêu cầu này cho hệ thống xử lý. -Thư mục system bao gồm phần lõi của CodeIgniter. Chúng bao gồm các thư viện xây dựng sẵn, các tập tin ngôn ngữ, ghi chú về hệ thống. Trong số đó, các thư mục sau khá quan trọng: -Thư mục application: Dành cho lập trình viên, các tập tin được lập trình cho ứng dụng sẽ lưu trong thư mục này  Thư mục config: Chứa các tập tin cấu hình hệ thống.  Thư mục controllers: chứa các lớp controller.  Thư mục errors: chứa các tập tin lỗi.  Thư mục helpers: chứa các hàm tiện ích do người dùng định nghĩa.  Thư mục hooks: chứa các tập tin để mở rộng mã nguồn CodeIgniter.  Thư mục language: chứa các tập tin ngôn ngữ.  Thư mục libraries: chứa các thư viện cho người dùng dùng định nghĩa.  Thư mục models: chứa các lớp model.  Thư mục views: chứa các lớp view. Ta cũng có thể đổi tên của thư mục application thành tên tùy ý. Sau khi đổi tên, cần thiết lập tên mới cho biến $application_folder trong tập tin index.php. Ngoài ra, ta cũng có thể tạo nhiều ứng dụng trong cùng một bộ cài đặt CodeIgniter bằng cách tạo ra các thư mục con bên trong system/application. Các thư mục này có cùng cấu trúc giống như thư mục application gốc. 13 1.2.6. CodeIgniter URL Theo mặc định, cấu trúc URL của CodeIgniter được thiết kế dựa vào các segment thay cho kiểu query truyền thống. Cách tiếp cận này giúp URL trở nên ngắn gọn, có ý nghĩa, dễ ghi nhớ và thân thiện với các bộ máy tìm kiếm. Một URL trong CodeIgniter có dạng: domain.com/index.php/controller/method/param/ Trong đó:  Segment controller là tên của lớp controller được gọi.  Segment method là tên của phương thức trong lớp controller ở trên.  Segment param là các đối số của phương thức đó. Như vậy, URI domain.com/index.php/product/view/1 sẽ mang ý nghĩa: Gọi đến phương thức view() thuộc lớp Product với đối số truyền vào bằng 1. Định tuyến URI (URI Routing) Trong thực tế, URI domain.com/index.php/product/view/1 lại không thân thiện với các bộ máy tìm kiếm bằng URI domain.com/index.php/product/view/appple-ipad-1. CodeIgniter cho phép lập trình viên có thể thay đổi cơ chế xử lý URL mặc định thông qua chức năng Định hướng URI bằng cách thiết lập các quy luật trong tập tin application/config/routes.php. Tập tin này chứa mảng $route, với khóa là URI mới và giá trị l{ URI cũ. Các quy luật được đọc theo thứ tự từ trên xuống, quy luật trước có độ ưu tiên cao hơn quy luật sau. CodeIgniter cho phép sử dụng các ký tự đại diện (wildcard) để thay thế. CodeIgniter đã quy định sẵn hai ký tự đại diện:  :num tương ứng với các giá trị số.  :any tương ứng với bất kỳ giá trị nào. Ví dụ: $route['product/view/(:num)'] = "product/view/$1"; Ý nghĩa: Gọi đến phương thức view() trong lớp Product với tham số truyền vào là giá trị kiểu số. $route['product/:any'] = "product/find_product"; Ý nghĩa: Tất cả các yêu cầu bắt đầu bằng product sẽ gọi đến hàm find_product() của lớp Product. 14 Ta cũng có thể sử dụng biểu thức chính quy (Regular Expression) để thiết lập các quy luật. Chẳng hạn: $route['product/([a-z]+)/(\d+)'] = "$1/id_$2"; Thêm hậu tố vào URL Các bộ máy tìm kiếm có xu hướng thân thiện hơn với các tập tin HTML. Bằng cách thay đổi giá trị biến $config['url_suffix'] trong tập tin system/application/config/config.php, ta có thể thêm hậu tố HTML hay bất cứ hậu tố nào khác vào cho URL. 1.3. Tổng quan ngôn ngữ UML 1.3.1. Giới thiệu về UML UML là ngôn ngữ chuẩn để viết kế hoạch chi tiết phần mềm. Nó phù hợp cho việc mô hình hóa các hệ thống như hệ thông tin doanh nghiệp, các ứng dụng phân tán trên nền Web, hệ thông nhúng thời gian thực… Các khung nhìn của ngôn ngữ được quan sát từ góc độ phát triển và triển khai hệ thống, nó không khó hiểu và dễ sử dụng. UML là ngôn ngữ mô hình được cả con người và máy sử dụng. Nhớ lại rằng phương pháp là cách cấu trúc rõ ràng suy nghĩ và hành động của ai đó. Phương pháp cho người sử dụng biết làm cái gì, làm như thế nào, khi nào làm việc đó và tại sao lại làm như vậy. Phương pháp chứa mô hình và các mô hình này đươc sử dụng để mô tả cái gì đó. Sự khác nhau chủ yếu của phương pháp và ngôn ngữ mô hình hóa là ngôn ngữ mô hình hóa thiếu tiến trình cho biết làm cái gì, làm như thế nào, khi nào làm việc đó và tại sao lại làm nhu vậy. Như mọi ngôn ngữ mô hình hóa khác, UML có ký pháp (các biểu tượng sử dụng trong mô hình) và tập các luật sử dụng nó. Các luật bao gồm cú pháp, ngữ nghĩa và pragmatic (luật hình thành câu có nghĩa). Cần chú ý rằng ngay cả khi nắm chắc ngôn ngữ UML, không có gì đảm bảo sẽ có mô hình tốt. Tương tự nhà văn viết tiểu thuyết bằng ngôn ngữ tự nhiên, ngôn ngữ chỉ là công cụ, còn tiểu thuyết có hay hay không là phục thuộc hoàn toàn vào nhà văn. Để sử dụng UML có hiệu quả, đòi hỏi phải hiểu được ba vấn đề chính sau [BRJ99] Các phần tử cơ bản của mô hình UML 15 Các qui định liên kết các phần tử mô hình Một số cơ chế chung áp dụng cho ngôn ngữ này. UML là ngôn ngữ và nó chỉ là một phần của tiến trình phát triển phần mềm, độc lập với tiến trình. Tuy nhiên UML rất phù hợp với các tiến trình hướng trường hợp sử dụng (Use case – UC), lấy kiến trúc làm trung tâm, tương tác tăng dần. 1.3.2. UML là ngôn ngữ để hiển thị Với nhiều lập trình viên, không có khoảng cách từ ý tưởng đến cài đặt mã trình. Họ suy nghĩ vấn đề và viết ngay mã trình cho nó. Thực tế là có thể trực tiếp viết mã trình cho một số việc, trực tiếp mô tả thuật toán và biểu thức bằng văn bản. Tuy nhiên, việc giao tiếp giữa mô hình khái niệm với những cái khác trong vòng đời phát triển phần mềm sẽ khó khăn khi mọi người không sử dụng chung một ngôn ngữ cho dự án. Nếu dự án hay tổ chức nào đó đưa ra ngôn ngữ riêng của họ thì người mới tham gia dự án sẽ gặp rất nhiều khó khăn. Hơn nữa, một số vấn đề của hệ thống phần mềm sẽ được hiểu rõ ràng hơn thông qua mô hình thay cho ngôn ngữ lập trình văn bản. Thí dụ, có thể suy luận ra ý nghĩa phân cấp lớp nhưng không thể hiểu thấu đáo nếu bắt đầu trực tiếp bằng mã trình của lớp trong phân cấp. Tương tự, ta không thể hiểu rõ hệ thống trên nền Web nếu không có mô hình. UML giúp xây dựng mô hình để dễ dàng giao tiếp. Một số công việc phù hợp với mô hình hóa băng văn bản, một số công việc khác lại phù hợp hơn với mô hình hóa bằng đồ họa. UML là ngôn ngữ đồ họa. Với nhiều hệ thống, mô hình trong ngôn ngữ đồ họa dễ hiểu hơn so với ngôn ngữ lập trình. Sau mỗi biểu tượng đồ họa của ngôn ngữ UML là ngữ nghĩa. Vậy, khi xây dựng mô hình trong UML thì người phát triển khác hay các công cụ hỗ trợ mô hình hóa có thể hiểu mô hình một cách rõ ràng. 1.3.3. UML là ngôn ngữ đặc tả Đặc tả là mô tả rõ ràng những điểm mấu chốt của vấn đề. UML cho phép mô tả mô hình chính xác, không nhập nhằng và hoàn thiện. UML hướng tới đặc tả thiết kế, phân tích và quyết dịnh cái đặt trong quá trình phát triển và triển khai hệ thống phần mềm. 1.3.4. UML là ngôn ngữ để xậy dựng UML là không phải là ngôn ngữ lập trình trực quan, nhưng mô hình của nó có thể kết nối trực tiếp tới các ngôn ngữ lập trình khác nhau. Có nghĩa rằng có thể 16 ánh xạ mô hình trong UML tới các ngôn ngữ lập trình khác nhau như Java, C++ hay các bảng CSDL quan hệ, CSDL hướng đối tượng. Ánh xạ này cho khả năng biến đổi thuận từ mô hình UML sang ngôn ngữ lập trình. Đồng thời, cho khả năng biến đổi ngược lại từ cài đặt về mô hình UML; có nghĩa rằng nó cho khả năng làm việc với văn bản hay đồ họa một cách nhất quán. 1.3.5. UML là ngôn ngữ tài liệu UML hướng tới làm tài liệu kiến trúc hệ thống và các chi tiết của nó. UML cho khả năng biểu diễn yêu cầu, thử nghiệm, mô hình hóa các hoạt động lập kế hoạch và quản lý sản phẩm. UML cho biết giới hạn của hệ thống và các chức năng chính của nó thông qua UC và tác nhân. Trong UML, các UC được mô tả bằng biểu đồ logic. Biểu diễn cấu trúc tĩnh của hệ thống nhờ biểu đồ lớp. Mô hình hóa các hành vi đối tượng bằng biểu đồ chuyển trạng thái. Phản ảnh kiến trúc cài đặt vật lý bằng biểu đồ thành phần và biểu đồ triển khai Mở rộng các chức năng bằng stereotypes. 17 CHƯƠNG 2. KHẢO SÁT, PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1. Khảo sát hệ thống 2.1.1. Giới thiệu Công ty TNHH thực phẩm Hà Lan được thành lập ngày 25/1/2017 tại Ba Hàng, Phổ Yên ,Thái Nguyên -là một trong số những công ty chuyên cung cấp các loại thực phẩm sạch ,an toàn đã qua kiểm định chất lượng . Khởi nguồn từ tư duy thực phẩm sạch, từ một cửa hàng chuyên cung cấp thực phẩm nhỏ lẻ cho người tiêu dùng sau khi đạt được sự uy tín nhất định từ người tiêu dùng .Cửa hàng đã có những đơn hàng lớn từ một số doanh nghiệp tư nhân. Thương hiệu không ngừng được khẳng định trên thị trường . Vào đầu năm 2017, cửa hàng đã phát triển lên thành lập công ty TNHH thực phẩm Hà Lan. Sau khi thành lập đã được sự ủng hộ của rất nhiều khách hàng lớn đến từ các công ty, doanh nghiệp trên Thái Nguyên. Thực phẩm Hà Lan có hệ thống nông sản sạch với nông trại có quy mô hàng ngàn ha.Với hệ thống chăm sóc ,chăn nuôi áp dụng công nghệ cao luôn mang đến những sản phẩm tốt nhất cho người tiêu dùng. Đặc biệt những khách hàng lớn có thể đến và kiểm định chất lượng nguồn thực phẩm sạch do Hà Lan tự cung cấp từ nông trại . 2.1.2 Tình trạng kinh doanh của công ty Hiện nay , công ty đã đạt được những thành tựu lớn , đã đạt được rất nhiều đơn hàng từ các doanh nghiệp. Ngoài nguồn thực phẩm tự cấp ,công ty cũng nhập các nguồn thực phẩm phong phú từ nhiều nhà cung cấp uy tín khác.Việc quản lý các đơn hàng , mặt hàng cũng như các nhân viên gặp không ít khó khăn. Việc quản lý trên biểu mẫu, sổ sách, việc lưu lại các hồ sơ được lặp đi lặp lại và kiểm tra qua nhiều khâu sẽ tốn thời gian và nhân lực, nhưng cũng khó tránh khỏi sai sót dữ liệu hoặc không hoàn toàn chính xác. Nếu có sai xót thì việc tìm kiếm dữ liệu để khắc phục cũng sẽ rất khó khăn.Công việc hàng ngày của công ty thông qua nhiều giai đoạn, khối lượng công việc lớn xảy ra liên tục, đặc biệt là công việc nhập và xuất hàng hóa. Dữ liệu luôn biến động và đòi hỏi tính chính xác cao. Vì vậy, việc áp dụng công nghệ thông tin vào thay thế và nâng cấp hệ thống quản lý hàng của công ty được đặt lên hàng đầu. Đưa máy tính vào xử lý để hạn chế 18 phương pháp xử lý bằng tay,đồng thời nó có thể giúp việc xử lý chính xác và nhanh gọn. Hiện nay việc đầu tư cơ sở vật chất cho hệ thống thông tin quản lý kinh doanh không còn là vấn đề khó khăn hàng đầu nữa, mà vấn đề đặt ra là tính chính xác, nhanh, an toàn và độ bảo mật cũng như khả năng quản lý toàn diện để tăng tính cạnh tranh và giảm bớt thời gian kinh doanh đang là vấn đề mới cho mọi ngành quản lý. Qua quá trình khảo sát và tìm hiểu,tôi đã nắm bắt được hiện trạng công ty như vậy. Với một công ty thực phẩm sạch có tiềm năng phát triển như vậy cần có một hệ thống quản lý bán hàng đạt chuẩn đáp ứng nhu cầu phát triển của công ty. 2.1.3.Một số biểu mẫu a. Nhập kho Ngoài một số sản phẩm công ty tự cấp,để nhập các mặt hàng, công ty cần có một bộ phận nghiên cứu thị trường, nắm bắt được chất lượng và giá cả các loại thực phẩm để điều hòa lượng cung cầu phù hợp giữa nhà cung cấp và khách hàng. Nguồn hàng được nhập thông qua đơn đặt hàng, đó là hợp đồng mua bán giữa công ty với nhà cung cấp Các mặt hàng nhập về sẽ được kiểm tra xem có đúng số lượng, chất lượng rồi phân loại từng mặt hàng cho nhập vào kho. Các báo cáo liên quan đến việc nhập hàng hóa được thể hiện qua phiếu nhập sau: 19 Công ty thực phẩm Hà Lan Địa chỉ: 129 Ba Hàng,Phổ Yên, Thái Nguyên Điện thoại: 0280365486 PHIẾU NHẬP KHO AH0035 Nhà cung cấp: Bình Minh Ngày nhập: 15/01/2017 07:30:12 STT Mã hàng Tên hàng hóa Đơn giá SL Thành tiền Người nhập: Nguyễn Anh Tuấn Tổng tiền hàng: 0 Tiền thuế: 0 Tổng thanh toán: 0 Đã thanh toán: 0 Còn nợ: 0 Phiếu nhập kho Cho biết các thông tin liên quan đến phiếu nhập kho: thời gian nhập, nhà cung cấp, các loại hàng hóa nhập nhập… b.Xuất kho. Hàng hóa xuất kho sẽ căn cứ theo mức độ nhập kho và đơn đặt hàng của từng loại hàng. Có những mặt hàng đang gây sốt, đang thịnh hành được người dùng đặt mua nhiều trong khi nhập lại khó khăn thì bộ phận xuất khó phải có những báo cáo, thống kê kịp thời để công ty có những giải pháp kịp thời đáp ứng như cầu về những hàng hóa đó.Các báo cáo liên quan đến việc xuất hàng hóa thể hiện qua phiếu xuất hàng hóa: 20
- Xem thêm -

Tài liệu liên quan