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

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

58 258 0

Đ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 58
Dung lượng 13,61 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.. MySQL là m

Trang 1

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!

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

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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ỏ

Trang 8

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ở <?php và thẻ đóng ?> 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

Trang 9

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

Trang 10

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

Trang 11

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

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

Trang 12

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

Trang 13

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

Trang 14

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

Trang 15

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

Trang 16

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ể

Trang 17

á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

Trang 18

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ế

Trang 19

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:

Trang 20

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

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

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:

Trang 21

Thu ngân:Lý diệu Thảo

Người nhập: Nguyễn Hà Anh

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

Phiếu xuất hàng hóa 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

Thẻ kho để biết thông tin về các loại hàng hóa nhập vào kho, số lượng ,ngày nhập Xem báo cáo mức độ tồn kho,hàng bán nhanh chậm

Trang 22

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

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

Tên hàng hóa: Ba rọi heo rút sườn

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

Trang 24

3 Bộ phận quản lý Quản lý Hàng

hóa

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 nghiệp

4 Bộ phận quản lý Quản lý Đơn

Trang 25

2.2.4 Usecase cho từng chức năng

Usecase quản lý hệ thống

Hình 2.2: Usecase quản lý hệ thống Usecase quản lý đơn hàng

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

Trang 26

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

Hình 2.4: Usecase quản lý hàng hóa Usecase quản lý nhà cung cấp

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

Trang 27

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

Hình 2.6: Usecase quản lý khách hàng Usecase quản lý nhập hàng

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

Trang 28

Usecase quản lý tồn kho

Hình 2.8: Usecase tồn kho

Trang 29

Điều kiện trước Người dùng phải có thông tin tài khoản đăng nhập

4 Người dùng được chuyển sang giao diện mặc định theo vài trò của mình đã xác thực hệ thống

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ày đăng: 02/11/2017, 14:43

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w