1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng mần mềm quản lý bán hàng cho công ty TNHH đầu tư thương mại công nghệ mới

72 274 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 13,53 MB

Nội dung

LỜI CẢM ƠN Trong quá trình thực hiện đồ án tốt nghiệp em đã nhận được rất nhiều sự chỉ bảo và giúp đỡ của các cô giáo khoa công nghệ thông tin trường đại học công nghệ thông tin và truyề

Trang 1

LỜI CẢM ƠN

Trong quá trình thực hiện đồ án tốt nghiệp em đã nhận được rất nhiều sự chỉ bảo và giúp đỡ của các cô giáo khoa công nghệ thông tin trường đại học công nghệ thông tin và truyền thông – Đại học Thái Nguyên

- Em xin chân thành cảm ơn sự giúp đỡ của các thầy, cô giáo khoa công nghệ thông tin trường đại học công nghệ thông tin và truyền thông – Đại học Thái Nguyên

- Em xin cảm ơn các thầy giáo, cô giáo thuộc bộ môn khoa học máy tính

đã trang bị cho em những kiến thức chuyên ngành để em có thể hoàn thành đồ án này

- Đặc biệt em xin chân thành cảm ơn sự quan tâm, chỉ bảo tận tình của cô giáo Th.s Dương Mai Thương đã trực tiếp hướng dẫn, giúp đỡ em hoàn thành đồ

án này

Xin gửi lời cảm ơn đến Công ty TNHH TM&ĐT Công Nghệ Mới đã tạo điều kiện thuận lợi và giúp đỡ tôi tìm hiểu thực tế để có được những thông tin thiết thực nhất phục vụ cho quá trình thực hiện đồ án này

Trang 2

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

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 04 năm 2017

Sinh viên thực hiện Phùng Xuân Bách

Trang 3

MỤC LỤC

LỜI CẢM ƠN i

LỜI CAM ĐOAN ii

MỤC LỤC iii

DANH MỤC HÌNH ẢNH v

LỜI NÓI ĐẦU 1

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 2

1.1 Giới thiệu 2

1.1.1 Tổng quan 2

1.1.2 Những điểm nổi bật 2

1.1.3 Những điểm hạn chế 3

1.1.4 Cài đặt 3

1.2 Tìm hiểu 4

1.2.1 Mô hình Model-View-Controller 4

1.2.2 Cấu trúc CodeIgniter 5

1.2.3 Dòng chảy dữ liệu trong CodeIgniter 6

1.2.4 CodeIgniter URL 7

1.2.5 Model 8

1.2.6 View 10

1.2.7 Controller 12

CHƯƠNG 2 KHẢO SÁT, PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 16

2.1 Khảo sát hệ thống 16

2.1.1 Giới thiệu 16

2.1.2 Một số biểu mẫu 17

2.2 Phân tích hệ thống 21

2.2.1 Tác nhân của hệ thống ( actor) 21

2.2.2 Usecase tổng quan 22

2.2.3 Danh sách các usecase 22

2.2.4 Usecase cho từng chức năng cụ thể 23

Trang 4

2.2.5 Đặc tả một số usecase chính 27

2.2.6 Biểu đồ hoạt động 37

2.2.7 Biểu đồ tuần tự 40

2.2.8 Biểu đồ lớp 46

2.2.9 Chi tiết cơ sở dữ liệu 47

CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH 50

3.1 Giới thiệu chương trình 50

3.2 Một số giao diện chính 50

3.2.1 Giao diện đăng nhập hệ thống 50

3.2.2 Giao diện trang chủ 52

3.2.3 Giao diện trang cài đặt hệ thống 52

3.2.4 Giao diện trang quản lý khách hàng 54

3.2.5 Giao diện trang Nhà cung cấp 55

3.2.6 Giao diện trang Hàng hóa 57

3.2.7 Giao diện trang đơn hàng 59

3.2.8 Giao diện trang nhập kho 61

KẾT LUẬN 64

TÀI LIỆU THAM KHẢO 65

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1.1: Minh họa mô hình MVC 5

Hình 1.2: Cấu trúc CodeIgniter 5

Hình 1.3: Sơ đồ thể hiện dòng chảy dữ liệu trong CodeIgniter 6

Hình 2.1: Tác nhân hệ thống 21

Hình 2.2: Usecase tổng quan 22

Hình 2.3: Usecase quản lý hệ thống 24

Hình 2.4: Usecase quản lý khách hàng 24

Hình 2.5: Usecase quản lý nhà cung cấp 24

Hình 2.6: Usecase quản lý hàng hóa 25

Hình 2.7: Usecase quản lý đơn hàng 25

Hình 2.8: Usecase quản lý nhập hàng 26

Hình 2.9: Usecase tìm kiếm 26

Hình 2.10: Usecase thống kê 27

Hình 2.11: Biểu đồ hoạt động đăng nhập vào hệ thống 37

Hình 2.12: Biểu đồ hoạt động đăng xuất ra khỏi hệ thống 37

Hình 2.13: Biểu đồ hoạt động đổi mật khẩu 38

Hình 2.14: Biểu đồ hoạt động thêm thành viên vào hệ thống 38

Hình 2.15: Biểu đồ hoạt động xóa thành viên 39

Hình 2.16: Biểu đồ hoạt động xem thông tin hàng hóa 39

Hình 2.17: Biểu đồ tuần tự đăng nhập 40

Hình 2.18: Biểu đồ tuần tự thay đổi đổi thông tin 40

Hình 2.19: Biểu đồ tuần tự thay đổi mật khẩu 41

Hình 2.20: Biểu đồ tuần tự thêm mới hàng hóa 41

Hình 2.21: Biểu đồ tuần tự cập nhật hàng hóa 42

Hình 2.22: Biểu đồ tuần tự thêm mới khách hàng 42

Hình 2.23: Biểu đồn tuần tự cập nhật khách hàng 43

Hình 2.24: Biểu đồ tuần tự thêm mới nhà cung cấp 43

Hình 2.25: Biểu đồ tuần tự cập nhật nhà cung cấp 44

Hình 2.26: Biểu đồ tuần tự thêm người dùng đăng nhập 44

Trang 6

Hình 2.27: Biểu đồ tuần tự phiếu nhập kho 45

Hình 2.28: Biểu đồ tuần tự tìm kiếm 45

Hình 2.29: Biểu đồ tuần tự thống kê 46

Hình 2.30: Biểu đồ lớp 46

Hình 3.1: Giao diện đăng nhập 50

Hình 3.2: Giao diện trang trủ 52

Hình 3.3: Giao diện trang cài đặt hệ thống 53

Hình 3.4: Thiết lập các chức năng và nhóm chức năng cho hệ thống 53

Hình 3.5: Giao diện trang quản lý khách hàng 54

Hình 3.6: Giao diện trang thêm mới vào hệ thống 55

Hình 3.7: Giao diện trang thêm nhà cung cấp 56

Hình 3.8: Giao diện trang quản lý nhà cung cấp 56

Hình 3.9: Giao diện trang chi tiết nhà cung cấp 57

Hình 3.10: Giao diện trang quản lý hàng hóa 57

Hình 3.11: Giao diện trang thêm hàng hóa 58

Hình 3.12: Giao diện trang chi tiết hàng hóa 58

Hình 3.13: Giao diện trang quản lý đơn hàng 59

Hình 3.14: Giao diện trang thêm mới đơn hàng 60

Hình 3.15: Giao diện trang chi tiết đơn hàng 60

Hình 3.16: Danh sách phiếu nhập 61

Hình 3.17: Giao diện trang tạo phiếu nhập 62

Hình 3.18: Chi tiết phiếu phiếu nhập 63

Trang 7

LỜI NÓI ĐẦU

Trên thế giới cũng như ở Việt Nam, CNTT có ảnh hưởng rất mạnh mẽ đến sự phát triển của đất nước và thế giới CNTT đang phát triển với tốc độ khá mạnh mẽ và được ứng dụng rất rộng rãi trong tất cả các lĩnh vực, đặc biệt là trong công tác quản lý

Nó đóng góp một phần rất lớn làm đơn giản hoá cũng như rút ngắn thời gian công sức

và nâng cao hiệu quả làm việc của các nhà quản lý

Ở nước ta công tác quản lý bán hàng thực sự là một bài toán khó mà nhiều doanh nghiệp gặp phải Các thông tin liên quan đến nhân viên là rất nhiều và việc lưu trữ các thông tin này là rất khó khăn khi phải thực hiện bằng tay Có rất nhiều hạn chế, nhiều thiếu sót dễ mất các giấy tờ liên quan… đặc biệt là thời gian làm

việc quản lý bán hàng trở nên dễ dàng hơn

Em xin chân thành cảm ơn cô giáo Ths.Dương Mai Thương, người đã

hướng dẫn và giúp đỡ em trong quá trình thực hiện đề tài

Mặc dù đã rất cố gắng để hoàn thành công việc, xong do thời gian có hạn trong việc thu thập thông tin thực tế, phân tích hệ thống thông tin, tập hợp tài liệu in ấn và lập trình, do đó chương trình của em còn nhiều thiếu sót cần được bổ sung

Em rất mong được sự góp ý và chỉ bảo chân thành của cô giáo hướng dẫn cùng toàn thể các thầy cô trong khoa để đề tài của em được hoàn thiện tốt hơn

Em xin chân thành cảm ơn!

Thái nguyên, tháng 04 năm 2017

Sinh viên thực hiện Phùng Xuân Bách

Trang 8

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu

1.1.1 Tổng quan

CodeIgniter là một nền tảng ứng dụng web nguồn mở được viết bằng ngôn ngữ PHP bởi Rick Ellis (CEO của EllisLab, Inc) 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.1.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ơ

Trang 9

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

1.1.3 Những điểm hạn chế

Chưa hỗ trợ Object-Relational Mapping: Object Relational Mapping

(ORM) là một kỹ thuật lập trình, trong đó các bảng của cơ sở dữ liệu được ánh xạ thành các đối tượng trong chương trình Kỹ thuật này giúp cho việc thực hiện các thao tác trong cơ sở dữ liệu (Create Read Update Delate - CRUD) dễ dàng, mã nguồn ngắn gọn hơn Hiện tại, CodeIgniter vẫn chưa hỗ trợ ORM

Chưa hỗ trợ AJAX: AJAX (Asynchronous JavaScript and XML) đã trở

thành một phần không thể thiếu trong bất kỳ ứng dụng Web 2.0 nào AJAX giúp nâng cao tính tương tác giữa người dùng và hệ thống, giúp cho người dùng có cảm giác như đang sử dụng ứng dụng desktop vì các thao tác đều diễn ra "tức thời" Hiện tại, CodeIgniter vẫn chưa có thư viện dựng sẵn nào để hỗ trợ xây dựng ứng dụng AJAX Lập trình viên phải sử dụng thư viện bên ngoài, như jQuery, Script.aculo.us, Prototype hay Mootools

Chưa hỗ trợ một số module thông dụng: So sánh với framework khác,

CodeIgniter không có các module thực thi một số tác vụ thường gặp trong quá trình xây dựng ứng dụng web như Chứng thực người dùng (User Authorization), Trình phân tích RSS (RSS Parser) hay Trình xử lý PDF

Chưa hỗ trợ Event-Driven Programming: Event-Driven Programming

(EDP) là một nguyên lý lập trình, trong đó các luồng xử lý của hệ thống sẽ dựa vào các sự kiện, chẳng hạn như click chuột, gõ bàn phímĐấy không phải là một khuyết điểm to lớn của CodeIgniter vì hiện tại, chỉ có một số ít framework

hỗ trợ EDP, bao gồm Prado, QPHP và Yii

1.1.4 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ở

Trang 10

dữ liệu: MySQL (4.1+), MySQLi, Mircrosoft SQL Server, Postgres, Oracle, SQLite, và ODBC

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 Tìm hiểu

1.2.1 Mô hình Model-View-Controller

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

Trang 11

Hình 1.1: Minh họa mô hình MVC

Theo đó:

- 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

1.2.2 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

Trang 12

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

1.2.3 Dòng chảy dữ liệu trong CodeIgniter

Hình 1.3: Sơ đồ thể hiện dòng chảy dữ liệu trong CodeIgniter

1 Tập tin index.php đóng vai trò làm controller đầu vào, thiết lập các tài nguyên cần thiết cho hệ thống

2 Routing: Quá trình điều hướng giúp x|c định các yêu cầu và hướng xử

lý đối với chúng

3 Caching: Nếu dữ liệu được yêu cầu đã được lưu trong bộ đệm,

CodeIgniter sẽ trả dữ liệu trong bộ đệm về phía client Quá trình xử lý kết thúc

4 Security: Dữ liệu trước khi được chuyển đến các Controller sẽ được lọc

Trang 13

để phòng chống XXS hoặc SQL Injection

5 Application Controller: Controller xử lý dữ liệu nhận được bằng cách

gọi đến các Models, Libraries, Helpers, Pluginscó liên quan

6 View: Dữ liệu được chuyển qua View để hiển thị cho người dùng Nếu

chức năng caching được bật, dữ liệu sẽ được lưu trong cache cho những lần yêu cầu tiếp theo

Trong thực tế, đôi khi ta cần xen lẫn bước trong sơ đồ trên Chẳng hạn, trước khi một controller được gọi, ta có thể muốn lưu log xuống tập tin trong hệ thống CodeIgniter sử dụng cơ chế hook cho phép ta thực hiện việc này

1.2.4 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

Trang 14

(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

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.2.5 Model

Model là những lớp được xây dựng nhằm thực hiện việc trao đổi thông tin với cơ sở dữ liệu Một lớp Model có thể thực hiện các tác vụ truy vấn, thêm, xóa, cập nhật dữ liệu Trong CodeIgniter, việc khai báo các lớp model dành cho một thực thể nào đó không cần thiết, vì trong controller của thực thể đó, ta có thể gọi đến thư viện database để thực hiện các thao tác với cơ sở dữ liệu Tuy nhiên, để tiện cho việc quản lý, xây dựng lớp model cho một thực thể được khuyến khích

Một lớp model chuẩn trong CodeIgniter có cấu trúc như sau:

class Example_model extends Model {

/**

* Hàm tạo

*/

Trang 15

Khi khai báo một lớp model, ta cần tuân theo một số quy tắc:

 Tên lớp được viết hoa chữ đầu tiên, phần còn lại viết thường Ví dụ: User_model, Blog_model, Article_model

 Tên tập tin được đặt như tên lớp, và được đặt trong thư mục application/models/ Các thư mục có thể được lưu lồng vào nhau để thuận tiện cho việc quản lý Vídụ :

Trang 16

Để sử dụng view trong controller, ta sử dụng đoạn mã sau:

$this->load->view('view_name', $data);

Trong đó, view_name là tên của view, $data chứa các dữ liệu sẽ được hiển

thị trong view Cũng giống như model, ta có thể lưu view trong các thư mục để tiện cho việc quản lý Khi sử dụng, chỉ cần khai báo đường dẫn tương đối đến thư mục chứa view Ví dụ tập tin header.tpl.php được lưu trong thư mục application/views/front_end Để hiển thị view này, ta sử dụng đoạn mã sau:

$this->load->view('front_end/header.tpl');

CodeIgniter cho phép sử dụng nhiều view trong cùng một phương thức của controller

Dữ liệu trong các view sẽ được kết hợp lại với nhau Ví dụ:

class Example extends Controller {

function showExample()

{

// Loading multiple views

Trang 17

<p>Name: <?php echo $name ?></p>

<p>Email: <?php echo $email ?></p>

<p>Age: <?php echo $age ?></p>

Ta cũng có thể sử dụng các cấu trúc điều khiển (if, else, switchcase), lặp (for, while, dowhile)bên trong view để hiển thị dữ liệu Ví dụ sau sẽ hiển thị danh sách các nhân viên:

Trang 18

$string = $this->load->view('myfile', '', true);

1.2.7 Controller

Controller là những lớp đóng vai trò trung gian giữa view và model Controller nhận các yêu cầu từ phía người dùng, kiểm tra chúng trước khi chuyển qua cho model Sau khi model xử lý yêu cầu và trả dữ liệu về, controller chuyển sang view để hiển thị dữ liệu cho người dùng Trong CodeIgniter, các lớp controller được gán vào segment thứ nhất trong URI

Một lớp controller chuẩn trong CodeIgniter có mẫu:

class Example extends Controller {

Trang 19

Khi khai báo một lớp controller, ta cần tuân theo một số quy tắc:

 Tên lớp được viết hoa chữ đầu tiên, phần còn lại viết thường Ví dụ: User, Blog, Article

 Tên tập tin được đặt như tên lớp, và được đặt trong thư mục application/controllers/ Các thư mục có thể được lưu lồng v{o nhau để thuận tiện cho việc quản lý Ví dụ: application/controllers/user.php,

Trang 20

* Hiển thị nội dung bài viết

* @param int $entryId ID của bài viết

1

Ngoài ra, CodeIgniter cho phép lập trình thay đổi cơ chế gọi phương thức thông qua segment thứ hai bằng hàm _remap() Hàm này sẽ được quyết định cụ thể những phương thức nào sẽ được gọi tương ứng với từng segment

function _remap($method)

{

Trang 22

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

Tên công ty: Công ty TNHH đầu tư thương mại Công Nghệ Mới

Địa chỉ: 179, Cách Mạng Tháng 8, Tổ 22, Phường Trưng Vương, Thành

Phố Thái Nguyên, Thái Nguyên Điện thoại: 091 351 68 89 Fax: 02802 564678

Ngành Kinh doanh : Thiết bị viễn thông

Công ty TNHH đầu tư thương mại Công Nghệ Mới được ra đời ngày 12/05/2008 tại thành phố Thái Nguyên

Sau nhiều năm kinh doanh trong lĩnh vực điện thoại di động, Công ty có đuợc mối quan hệ tốt với các đối tác là các nhà phân phối và các hãng danh tiếng như Mobiado, Vertu, Nokia, Samsung, Motorola, Porsche Design, Sony Ericsson, Samsung, HTC, LG, Acer, JBL

Hiện trạng quản lý kinh doanh ở công ty

Hiện nay, Ngành quản lý kinh doanh nói chung và Công ty TNHH đầu tư thương mại Công Nghệ Mới nói riêng, vấn đề áp dụng công nghệ tin học đang được đặt lên hàng đầu nhằm hoàn chỉnh hoá hệ thống giao dịch và quản lý hàng của công ty, nhằm tăng khả năng hoạt động, giảm bớt số lượng nhân viên quản

lý, đảm bảo độ chính xác và khả năng bảo mật, an toàn dữ liệu cao Vì những lý

do đó cho nên việc thay thế và nâng cấp hệ thống quản lý kinh doanh mới đang là vấn đề cấp bách cho ngành kinh doanh

Qua tìm hiểu phương thức hoạt động của hệ thống quản lý ở trên, ta thấy công việc hàng ngày của doanh nghiệp 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 vật tư Dữ liệu luôn biến động và đòi hỏi tính chính xác cao

Để quản lý tốt cần phải sử dụng nhiều 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 Nếu

Trang 23

không giải quyết kịp thời, có thể dẫn đến việc nhầm lẫn dữ liệu, gây mất tài sản chung cho siêu thị, cũng như không phục vụ tốt công tác chỉ đạo của quản lý công ty

Do vậy, việc đưa máy vi tính vào quản lý vật tư trong doanh nghiệp xây dựng là nhu cầu cấp thiết nhằm khắc phục những nhược điểm nói trên của 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 Tuy nhiên, nếu chỉ sử dụng các máy tính đơn thì sẽ dẫn đến khuyết điểm dữ liệu không được nhất quán, Do vậy cần đưa mạng máy tính vào để khắc phục các yếu điểm nói trên

Hệ thống trên nhìn chung có nhiều ưu điểm về tính đồng nhất, chạy nhanh, kích thước dữ liệu nhỏ và không đòi hỏi cấu hình của máy tính cao, cái mà những năm trước đây còn là vấn đề khó khăn cho ngành kinh tế Nhưng 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ý

Tuy có những tính năng và ưu điểm như đã trình bày ở trên nhưng nó cũng còn nhiều hạn chế như chạy chậm khi khối lượng dữ liệu lớn, khả năng quản lý khối lượng dữ liệu còn hạn chế, khả năng bảo mật chưa cao, giao diện chưa thân thiện với người sử dụng

Qua quá trình khảo sát và tìm hiểu thực tế quy trình quản lý kinh doanh ở Công ty, tôi nắm được một số hiện trạng của Công ty như sau:

Công ty TNHH đầu tư thương mại Công Nghệ Mới chuyên kinh doanh điện thoại di động, hàng công nghệ, linh kiện - phụ kiện điện thoại di động, sửa chữa điện thoại di động

2.1.2 Một số biểu mẫu

a.Nhập kho

Để nhập vật tư, doanh nghiệp phải có một bộ phận nghiên cứu thị trường,

phải nắm bắt được nhu cầu thị hiếu của khách hàng, chất lượng và giá cả các loại

Trang 24

hàng hóa để từ đó đặt quan hệ mua hoàng hóa với nhà cung cấp những mặt hàng

Công ty TNHH TM&ĐT Công Nghệ Mới

Địa chỉ: 179, Cách Mạng Tháng 8, Tổ 22, Phường Trưng Vương, Thành Phố

Thái Nguyên, Thái Nguyên

Điện thoại: 091 351 68 89 Fax: 02802 564678

PHIẾU NHẬP KHO

PN000153

Nhà cung cấp: Viettel

Ngày nhập: 15/10/2016 15:35:01

Người nhập: Hoàng Thị Anh

STT Mã hàng Tên hàng hóa Đơn giá SL Thành tiền

Trang 25

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…

Trang 26

tư cho các dự án đang cần loại vật tư đó

Các báo cáo liên quan đến việc xuất vật tư thể hiện qua phiếu đề nghị xuất vật tư, phiếu xuất, báo cáo nhập xuất tồn kho trong tháng:

Công ty TNHH TM&ĐT Công Nghệ Mới

Địa chỉ: 179, Cách Mạng Tháng 8, Tổ 22, Phường Trưng Vương, Thành

Phố Thái Nguyên, Thái Nguyên

Điện thoại: 091 351 68 89 Fax: 02802 564678

PHIẾU XUẤT

PX000153

Ngày bán: 15/10/2016 15:35:01

Khách hàng: Vi văn Chức

Thu ngân: Phùng Xuân Bách

STT Mã hàng Tên hàng hóa Số lượng Đơn giá Thành Tiền

Phí vận chuyển:

Trang 27

Còn nợ: 0

Ghi chú: Đã kiểm tra đủ hàng

Phiếu xuất kho cho biết các thông tin đến nghiệp vụ xuất kho, thời gian xuất kho và các loại hàng hóa được xuất kho

c.Thẻ kho

Công ty TNHH TM&ĐT Công Nghệ Mới

Địa chỉ:179, Cách Mạng Tháng 8, Tổ 22, Phường Trưng Vương, Thành Phố Thái Nguyên, Thái Nguyên

Điện thoại: 091 351 68 89 Fax: 02802 564678

THẺ KHO Thẻ lập ngày: 15/10/2016 15:35:01

Tên hàng hóa:

STT Chứng từ Ngày Diễn Giải Nhập Xuất Tồn

Cho biết thông tin về tình trạng của sách trong kho và là căn cứ để theo dõi tình trạng của hàng hóa trong kho

2.2 Phân tích hệ thống

2.2.1 Tác nhân của hệ thống ( actor)

Hình 2.1: Tác nhân hệ thống

Trang 28

2.2.2 Usecase tổng quan

Hình 2.2: Usecase tổng quan

2.2.3 Danh sách các usecase

STT Tên tác nhân Tên Use-case Ý nghĩa/Ghi chú

1 Ban giám đốc Quản lý hệ

Cho phép người quản lý có thể thêm mới, cập nhật khách hàng

hóa

Cho phép Quản trị viên có thế quản

lý thêm mới, tìm kiếm, cập nhật các mặt hàng kinh doanh của doanh

Trang 29

2.2.4 Usecase cho từng chức năng cụ thể

2.2.4.1.Usecase quản lý hệ thống

Trang 30

Hình 2.3: Usecase quản lý hệ thống

2.2.4.2.Usecase quản lý khách hàng

Hình 2.4: Usecase quản lý khách hàng 2.2.4.3.Usecase quản lý nhà cung cấp

Hình 2.5: Usecase quản lý nhà cung cấp

Trang 31

2.2.4.4.Usecase quản lý hàng hóa

Hình 2.6: Usecase quản lý hàng hóa 2.2.4.5.Usecase quản lý đơn hàng

Hình 2.7: Usecase quản lý đơn hàng

Trang 32

2.2.4.6.Usecase quản lý nhập hàng

Hình 2.8: Usecase quản lý nhập hàng 2.2.4.7.Usecase tìm kiếm

Hình 2.9: Usecase tìm kiếm

Trang 34

5.Kết thúc

Luồng rẽ nhánh Trường hợp người dùng quên mật khẩu thì chuyển sang

Use Case quên mật khẩu

Điều kiện sau

Nếu Use Case thực hiện thành công Người dùng được quyền khai thác thông tin dịch vụ trong hệ thống theo vai trò và quyền hạn cho phép

Giao diện Gồm 2 nút Textbox nhập tài khoản và mật khẩu, 1 nút

đăng nhập, 1 nút quên mật khẩu

Đăng Xuất

Mô tả Use Case cho phép người dùng đó đăng nhập quay trở lại

trang chủ mặc định trước khi đăng nhập

Điều kiện trước Người dùng đã đăng nhập vào hệ thống CMS

Luồng sự kiện chính

Use Case này bắt đầu được sử dụng khi người dùng chọn tùy chọn đăng xuất

1.Người dùng chọn nút Đăng xuất

2.Hệ thống đưa ra thông báo xác nhận thao tác của người dùng

3.Người dùng xác nhận Đăng xuất

4.Hệ thống hiện thị giao diện mặc định cho người dùng 5.Use Case kết thúc

Luồng rẽ nhánh Không có

Điều kiện sau

Nếu Use Case thực hiện thành công Người dùng đăng xuất khỏi hệ thống giao diện mặc định của hệ thống trả lại cho người dùng

Trang 35

Yêu cầu Không có

2.2.5.2.Quản trị hệ thống

Khối chức năng quản trị hệ thống đóng vai trò trong việc quản lý điều hành hoạt động của hệ thống, đồng thời cung cấp cơ chế trình diễn thông tin và bảo mật cho hệ thống Mỗi module trong hệ thống được phát triển thành module Thiết kế chức năng cụ thể của từng kênh sẽ lần lượt được trình bày trong các phần dưới đây

Quản lý người dung

Điều kiện trước Người quản trị phải đăng nhập hệ thống trước khi thực

hiện use case này

2.Hệ thống thực hiện tìm kiếm thông tin người dùng theo

ID và hiện thị thông tin của người dùng được chọn cho phép người quản trị xác thực và phân quyên người dùng 3.Người quản trị thực hiện xác thực và phân quyền

Trang 36

4.Hệ thống lưu thông tin người dùng trở lại CSDL

5.Hệ thống gửi lại kết quả thực hiện thành công

6.Use case kết thúc

Luồng rẽ nhánh Không có

Điều kiện sau

Người dùng là thành viên của hệ thống và có thể đăng nhập hệ thống và sử dụng dịch vụ của hệ thống theo quyền hạn đã cho

Giao diện Form giao diện hiện thị danh sách người dùng và form

thông tin xác thực người dùng và nút cập nhật

Liệt kê danh sách người dùng

Tác nhân chính Ban giám đốc

Mô tả Use case cho phép Người quản trị hệ thống thực hiện liệt

kê danh sách người dùng của hệ thống

Điều kiện trước Người quản trị phải đăng nhập hệ thống trước khi thực

hiện use case này

2.Hệ thống thực hiện tìm kiếm trong CSDL người dùng

và kết xuất danh sách người sử dụng có trong hệ thống 3.Người quản trị có thể duyệt danh sách người dùng và

có thể thực hiện các chức năng mở rộng: xóa người dùng, xem thông tin người dùng

4.Use case kết thúc

Ngày đăng: 02/11/2017, 08:38

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w