TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
----------o0o----------
BÀI TẬP LỚN
PHÁT TRIỂN PHẦN MỀM HƯỚNG CẤU PHẦN
(COP)
Tên đề tài:
Xây dựng phần mềm trợ giúp tìm kiếm người giúp
việc theo nghề hướng cấu phần
Giáo viên hướng dẫn
: Th.s Nguyễn Thái Cường
Lớp
: ĐH – KTPM2 – K10
Nhóm
:3
Sinh viên thực hiện
:
Hoàng Đức Cương
Nguyễn Thị Cẩm Nhung
Nguyễn Thị Oanh
Hà Nội – 12/2018
1
LỜI NÓI ĐẦU
Ngày nay cùng với sự phát triển của xã hội, con người càng trở nên bận rộn hơn bao
gồm cả người phụ nữ. Họ không chỉ là một người phụ nữ của gia đình mà họ còn có
công việc của bản thân đối với cộng đồng xã hội. Và cũng chính vì vậy mà nhu cầu tìm
kiếm người giúp việc ngày càng cao. Do đó, nhóm 3 chúng em làm về đề tài “Xây
dựng phần mềm trợ giúp tìm kiếm người giúp việc theo nghề”.
Phần mềm trợ giúp tìm kiếm người giúp việc theo nghề là một trong những hệ thống
phần mềm bổ ích giúp cho những người tìm việc hay những người muốn tìm giúp việc
nhanh hơn, thuận lợi hơn trong việc tìm kiếm và đỡ mất thời gian.
Trong suốt thời gian học tập, nhóm 3 chúng em đã nhận được nhiều sự quan tâm,
giúp đỡ của thầy và bạn bè. Để hoàn thành báo cáo này, thay mặt nhóm 3 em xin chân
thành cảm ơn đến thầy Nguyễn Thái Cường, người đã trực tiếp hướng dẫn giúp chúng
em hoàn thành đề tài.
Tuy thời gian chưa nhiều nhưng với sự cố gắng nỗ lực, quyết tâm của các thành viên
trong nhóm, em đã có thể tự hào nói rằng nhóm 3 đã hoàn thành đề tài bằng chính khả
năng của từng thành viên. Xong để hoàn thiện hơn, các thành viên trong nhóm rất
mong nhận được những đánh giá, nhận xét, góp ý từ thầy và các bạn.
Nhóm 3 chúng em xin chân thành cảm ơn!
Nhóm sinh viên thực hiện!
2
TÓM TẮT BÀI TẬP LỚN
Mục đích của đề tài này là giúp cho người tìm việc có thể xem các bài đăng do
người muốn tìm giúp việc đăng lên. Và người tìm việc cũng có thể đăng thông tin ứng
tuyển để tìm việc làm.
Phần mềm sẽ có các chức năng cơ bản như: đăng tin, chỉnh sửa và xóa bản tin; sửa
và xóa tài khoản người dùng,… Dĩ nhiên người dùng phải có tài khoản thì mới có thể
đăng nhập vào hệ thống và sử dụng các chức năng trên. Nếu chưa có tài khoản có thể
đăng ký với hệ thống. Bên cạnh đó, không cần đăng nhập, người dùng hay nói chính
xác hơn là khách xem có thể xem hệ thống, xem các bài đăng, các chức năng hay giao
diện hệ thống mà không cần phải đăng nhập.
Mục đích của BTL: Tổng quát và đưa ra các cấu phần hợp lý. Chuẩn bị một cấu
phần có thể thay thế được cho cấu phần đã tồn tại trong hệ thống. Biên dịch cấu phần,
chương trình từ mã nguồn bằng công cụ dòng lệnh (command line).
Biên dịch ra các cấu phần, xây dựng ra chương trình từ các cấu phần.
3
MỤC LỤC
4
DANH SÁCH HÌNH VẼ
5
DANH SÁCH CÁC BẢNG BIỂU
6
DANH SÁCH CÁC TỪ VIẾT TẮT
Từ viết tắt
COP
UC
VS code
BTL
SSL
ORM
Diễn giải
Component-oriented
Programming: Lập trình theo hướng cấu
phần
Use Case: ca sử dụng
Visual Studio Code: phần mềm viết code website
fontend và backend
Bài Tập Lớn
Secure Sockets Layer: Tầng ổ bảo mật (Đây là một tiêu
chuẩn an ninh công nghệ toàn cầu tạo ra một liên kết
giữa máy chủ web và trình duyệt)
Object Relation Mapping: được hiểu như là kỹ thuật ánh
xạ từ mô hình đối tượng với các bảng trong cơ sở dữ
liệu quan hệ.
7
PHẦN MỞ ĐẦU
Hiện nay, các công nghệ tiên tiến phát triển ngày càng mạnh mẽ và được ứng dụng
ngày càng nhiều vào các lĩnh vực kinh tế, sản xuất cũng như đời sống thường ngày của
con người. Một điểm tiêu biểu nhất trong việc phát triển công nghệ đó phải nói đến
việc ứng dụng công nghệ thông tin vào các hoạt động. Nhờ đó công việc được thực
hiện nhanh, chính xác và đạt kết quả cao hơn rất nhiều.
Cũng chính sự phát triển của xã hội, con người càng trở nên bận rộn hơn bao gồm
cả người phụ nữ. Họ không chỉ là một người phụ nữ của gia đình mà họ còn có công
việc của bản thân đối với cộng đồng xã hội. Và cũng chính vì vậy mà nhu cầu tìm kiếm
người giúp việc ngày càng cao. Do đó, nhóm 3 chúng em làm về đề tài “Xây dựng
phần mềm trợ giúp tìm kiếm người giúp việc theo nghề”.
Mục đích của đề tài BTL: Xây dựng một phần mềm có giao diện đẹp, thân thiện
với mọi người, với các tính năng của một phần mềm cung cấp dịch vụ giúp việc.
Là nơi mọi người có thể xem các bản tin tuyển dụng hay tìm kiếm giúp việc với đủ
các chuyên mục như: Nhà cửa, Đời sống xã hội, Sửa chữa cơ khí – máy móc, Sửa chữa
thiết bị điện tử, Sửa chữa ô tô – xe máy, Sửa chữa máy tính – điện thoại – linh kiện,
Dịch vụ, Công nghệ thông tin, Mỹ thuật – thiết kế, Dịch vụ nấu ăn.
Mục tiêu của đề tài BTL: Tìm hiểu công nghệ PHP Laravel, ứng dụng nó vào việc
xây dựng phần mềm trợ giúp tìm kiếm người giúp việc theo nghề. Người dùng truy cập
vào hệ thống có thể tìm kiếm các sản phẩm theo tên sản phẩm, phân loại, mức giá…,
website cũng cung cấp cho người quản trị một giao diện đơn giản giúp quản lý hóa
đơn, chi tiết hóa đơn, quản lý khách hàng, sản phẩm và thống kê.
Giao diện đẹp, thân thiện và dễ sử dụng.
Dễ dàng bảo trì và nâng cấp.
Phương pháp: Nghiên cứu cơ sở lý thuyết và tài liệu thông qua các công cụ tìm
kiếm như google, coccoc …
Tìm hiểu các website sử dụng công nghệ PHP Laravel, từ đó có ý tưởng xây dựng
phần mềm trợ giúp tìm kiếm người giúp việc theo nghề.
Áp dụng công nghệ PHP Laravel để áp dụng cho việc xây dựng trang hệ thống.
Sử dụng những kiến thức đã học về phân tích, thiết kế hệ thống để tổng hợp lại kiến
thức và hoàn thành báo cáo.
Dự kiến kết quả đạt được: Cung cấp những tài liệu cần thiết về các công nghệ
được áp dụng. Phân tích, thiết kế, đưa ra được các cấu phần một cách hợp lý. Xây dựng
được các cấu phần đúng theo phân tích thiết kế.
8
Tóm tắt nội dung của các chương:
Chương 1: Cơ sở lý thuyết. Trong chương này sẽ giới thiệu về ngôn ngữ cũng như
công cụ được áp dụng trong đề tài BTL.
Chương 2: Phân tích thiết kế hệ thống. Khảo sát về hệ thống, vẽ biểu đồ UC, đặc tả
UC.
Chương 3: Cài đặt triển khai. Thiết kế cơ sở dữ liệu, các bảng dữ liệu và thiết kế
giao diện phần mềm.
Chương 4: Đánh giá kết luận. Kết luận chung cho các chương trong BTL. Nhấn
mạnh những vấn đề đã giải quyết đồng thời trình bày các vấn đề vẫn chưa được giải
quyết và đưa ra kiến nghị, đề xuất.
Tài liệu tham khảo
9
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu ngôn ngữ, công cụ lập trình được áp dụng
1.1.1
Tìm hiểu về công nghệ PHP Laravel
Giới thiệu về PHP Laravel?
PHP là một ngôn ngữ lập trình kịch bản (scripting language) hay một loại mã lệnh
chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng
cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang
HTML.
Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởi
Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếm trúc
model-view-controller (MVC).
Laravel nhằm giúp cho quá trình phát triển trở nên dễ chịu với developer mà không
làm thiếu sót các chức năng của ứng dụng. Những developer hạnh phúc sẽ tạo ra những
dòng code tốt nhất.
Cài đặt và ứng dụng?
Điều kiện để cài đặt:
Laravel được xây dựng dựa trên các xu hướng mới của PHP 5.3 nên cần cài đặt
phiên bản PHP 5.3.x. Hiện giờ phiên bản mới nhất là PHP 5.7.x. Bật SSL, các bạn
vào php.ini tìm dòng extension=php_openssl.dll và bỏ dấu “;” đằng trước đi nếu có.
Muốn sử dụng Xampp thì cần khởi động lại Apache.
Để sử dụng Laravel thì cần cài đặt Composer (Composer là một Dependency
Management trong PHP, công cụ quản lý các thư viện mà project sử dụng, chỉ cần khai
báo nó, composer sẽ tự động tải code của các thư viện, tạo ra các file cần thiết vào
project của bạn, và update các thư viện nếu cần).
Các đặc trưng và tính năng cơ bản?
Các tính năng cơ bản của Laravel Framework
Bundles : Ở laravel phiên bản 3.x, cung cấp một hệ thống đóng gói các module, với rất
nhiều tính năng đi kèm.
Composer : Ở laravel phiên bản 4.x, được sử dụng như một công cụ quản lý với tính
năng như thêm các gói cài đặt, các chức năng PHP phụ trợ cho Laravel có trong kho
Packagist.
10
Eloquent ORM (object relation mapping) : ánh xạ các đối tượng và quan hệ cơ sở dữ
liệu, cung cấp các phương thức nội bộ để thực thi đồng thời cũng bổ sung các tính năng
hạn chế về mối quan hệ giữa các đối tượng cơ sở dữ liệu. Eloquent ORM trình bày các
bảng trong cơ sở dữ liệu dưới dạng các lớp, cung cấp thêm lựa chọn truy cập cơ sở dữ
liệu trực tiếp mới mẻ hơn, chuyên nghiệp hơn.
Application logic : Là một phần của phát triển ứng dụng, được sử dụng bởi bộ điều
khiển controllers.
Routes : Định nghĩa mối quan hệ giữa các đường dẫn (url), các liên kết (link) . Khi một
liên kết được tạo ra bằng cách sử dụng tên của routes, thì một định danh liên kết thống
nhất sẽ được tạo ra bởi laravel.
Restful Controller : cung cấp các tùy chọn để tách các logic phía sau các request HTTP
POST, GET.
Class auto loading : cung cấp việc tải tự động các class trong PHP, mà không cần
include các class vào. Tùy thuộc vào yêu cầu các class cần thiết sẽ được nạp vào, hạn
chế các class không cần thiết.
View : chưa các mã html, hiển thị dữ liệu được chỉ định bởi controller.
Migrations : cung cấp một hệ thống kiểm soát các phiên bản lược đồ cơ sở dữ liệu
(database cheme), làm cho web ứng dụng có khả năng tương tác phù hợp những thay
đổi logic, các đoạn mã code của ứng dụng và những thay đổi cần thiết trong việc bố
trí cơ sở dữ liệu, triển khai nới lỏng và cập nhật các ứng dụng.
Unit Testing : đóng một vai trò quan trọng trong Laravel, Unit testting chứa rất
nhiều các hệ thống unit testing, giúp phát hiện và ngăn chặn lỗi trong khuôn khổ nhất
định. Unit Testing có thể được chạy thông qua tiện ích command-line.
Automatic pagination : Tính năng tự động phân trang được tích hợp
vào Laravel giúp đơn giản hóa các nhiệm vụ thực hiện phân trang so với các phương
pháp thông thường.
Ưu điểm của PHP Laravel?
⁃
⁃
⁃
⁃
⁃
⁃
⁃
Được thừa hưởng những ưu điểm và thế mạnh của các framework khác.
Nó có số lượng người sử dụng nhiều nhất.
Tài liệu rõ dàng, dễ học.
Autoload theo namespace.
Sử dụng mô hình ORM rất đơn giản khi thao tác với database.
Các lệnh tương tác với cơ sở dữ liệu cực kỳ ngắn gọn và thân thiện.
Việc quản lý layout thật sự giản đơn với Balade Templating.
11
⁃ Dễ dàng tích hợp các thư viện khác vào dự án, và được quản lý với Composer.
⁃ Phần route rất mạnh.
1.1.2
Giới thiệu về Visual Studio Code, XamPP
VS code?
Visual Studio Code là sản phẩm của Microsoft, ra mắt vào tháng 4 năm 2015 ở hội
nghị Build. Đặc điểm nổi bật là đơn giản, gọn nhẹ, dễ dàng cài đặt. Visual Studio Code
có thể cài đặt được trên cả Windows, Linux và Mac OS và hỗ trợ nhiều ngôn ngữ.
Một điểm đặc biệt là Visual Studio Code được tính hợp luôn GitHub, rất tiện cho
việc quản lý code. Visual Studio Code là một phần mềm mã nguồn mở.
Tính năng?
Visual Studio Code là một trình biên tập mã. Nhiều chức năng của Visual Studio
Code không hiển thị ra trong các menu tùy chọn hay giao diện người dùng. Thay vào
đó, chúng được gọi thông qua khung nhập lệnh hoặc qua một tập tin .json (ví dụ như
tập tin tùy chỉnh của người dùng). Khung nhập lệnh là một giao diện theo dòng lệnh.
Tuy nhiên, nó biến mất khi người dùng nhấp bất cứ nơi nào khác, hoặc nhấn tổ hợp
phím để tương tác với một cái gì đó ở bên ngoài đó. Tương tự như vậy với những dòng
lệnh tốn nhiều thời gian để xử lý. Khi thực hiện những điều trên thì quá trình xử lý
dòng lệnh đó sẽ bị hủy.
Cách download VS code là truy cập link: />XamPP?
XamPP là chương trình tạo máy chủ Web được tích hợp sẵn Apache, PHP, MySQL,
FTP Server, Mail Server và các công cụ như phpMyAdmin. Không như Appserv,
Xampp có chương trình quản lý khá tiện lợi, cho phép chủ động bật tắt hoặc khởi động
lại các dịch vụ máy chủ bất kỳ lúc nào.
1.1.3
Giới thiệu về JavaScript, Bootstrap
JavaScript là gì?
JavaScript là một ngôn ngữ lập trình của HTML và WEB. Nó nhẹ và được sử dụng
phổ biến nhất, như là một phần của các trang web, mà sự thi hành của chúng cho phép
Client-Side script tương tác với người sử dụng và tạo các trang web động. Nó là một
ngôn ngữ chương trình thông dịch với các khả năng hướng đối tượng. JavaScript được
biết đến đầu tiên với tên Mocha, và sau đó là LiveScript, nhưng Hãng Netscape thay
đổi tên của nó thành JavaScript, bởi vì sự phổ biến như là một hiện tượng của Java lúc
12
bấy giờ. JavaScript xuất hiện lần đầu trong Netscape 2.0 năm 1995 với tên LiveScript.
Core đa năng của ngôn ngữ này đã được nhúng vào Netscape, IE, và các trình duyệt
khác.
Ứng dụng
JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cú pháp phát triển từ
C. Giống như C, JavaScript có khái niệm từ khóa, do đó JavaScript gần như không thể
được mở rộng. Cũng giống như C, JavaScript không có bộ xử
lý xuất/nhập (input/output) riêng. Trong khi C sử dụng thư viện xuất/nhập chuẩn,
JavaScript dựa vào phần mềm ngôn ngữ được gắn vào để thực hiện xuất/nhập. Trên
trình duyệt, rất nhiều trang web sử dụng JavaScript để thiết kế trang web động và một
số hiệu ứng hình ảnh thông qua DOM. JavaScript được dùng để thực hiện một số tác
vụ không thể thực hiện được với HTML như kiểm tra thông tin nhập vào, tự động thay
đổi hình ảnh,… Tuy nhiên, mỗi trình duyệt áp dụng JavaScript khác nhau và không
tuân theo chuẩn W3C DOM, do đó trong rất nhiều trường hợp lập trình viên phải viết
nhiều phiên bản của cùng một đoạn mã nguồn để có thể hoạt động trên nhiều trình
duyệt. Một số công nghệ nổi bật dòng JavaScript để tương tác với DOM bao
gồm DHTML, Ajax và SPA.
Bên ngoài trình duyệt, JavaScript có thể được sử dụng trong tập tin PDF của Adobe
Acrobat và Adobe Reader. Điều khiển Dashboard trên hệ điều hành Mac OS X phiên
bản 10.4 cũng có sử dụng JavaScript. Công nghệ kịch bản linh động (active scripting)
của Microsoft có hỗ trợ ngôn ngữ JScript làm một ngôn ngữ kịch bản dùng cho hệ điều
hành. JScript.NET là một ngôn ngữ tương thích với CLI gần giống JScript nhưng có
thêm nhiều tính năng lập trình hướng đối tượng. Mỗi ứng dụng này đều cung cấp mô
hình đối tượng riêng cho phép tương tác với môi trường chủ, với phần lõi là ngôn ngữ
lập trình JavaScript gần như giống nhau.
Bootstrap là gì?
Bootstrap là một framework cho phép thiết kế website reponsive nhanh hơn và dễ
dàng hơn. Bootstrap là bao gồm các HTML templates, CSS templates và Javascript tạo
ra những cái cơ bản có sẵn như: typography, forms, buttons, tables, navigation, modals,
image carousels và nhiều thứ khác. Trong bootstrap có thêm các plugin Javascript
trong nó. Giúp cho việc thiết kế reponsive của bạn dễ dàng hơn và nhanh chóng hơn.
Bootstrap được phát triển bởi Mark Otto và Jacob Thornton tại Twitte. Nó được xuất
bản như là một mã nguồn mở vào tháng 8 năm 2011 trên GitHub. Bản bootstrap mới
nhất bây giờ là bootstrap 4.
Những điểm thuận lợi khi bản sử dụng bootstrap:
13
Rất dễ để sử dụng: Nó đơn giản vì nó được dựa trên trên HTML, CSS và Javascript
chỉ cẩn có kiến thức cơ bản về 3 cái đó là có thể sử dụng bootstrap tốt. Tính năng
Responsive: Bootstrap xây dựng sẵn reponsive css trên các thiết bị phones, tablets, và
desktops Mobile: Trong Bootstrap 3 mobile-first styles là một phần của core
framework. Tương thích với trình duyệt: Nó tương thích với tất cả các trình duyệt
(Chrome, Firefox, Internet Explore, Safari, and Opea) nhưng lưu ý vì IE vẫn rất hãm
với IE phiên bản cũ vì thế việc IE9 hay IE8 đổ xuống không support là chuyện bình
thường.
1.2 Tổng quan về phát triển phần mềm theo hướng cấu phần
1.1 Cấu phần là gì?
Các cấu phần phần mềm được định nghĩa trong nhiều cách khác nhau từ các điểm
giống nhau và khác nhau của khung nhìn. [Brown 1998] trình bày bốn định nghĩa của
một thành phần phần mềm, trong tổng kết Hội thảo quốc tế CBSE đầu tiên trong tháng
4 năm 1998:
• Một cấu phần là một phần không tầm thường, gần như độc lập và là một phần
có thể thay thế của hệ thống, đáp ứng một chức năng rõ ràng trong một kiến trúc
được xác định. Một cấu phần thích nghi và cung cấp việc thực hiện vật lý của
một tập các giao diện. (Philippe Krutchen, Rational Software)
• Một cấu phần phần mềm chạy thực (runtime) là gói kết nối động của một hoặc
nhiều chương trình quản lý như một đơn vị và truy cập thông qua giao diện tài
liệu có thể được phát hiện khi chạy thực. (Gartner Group)
• Một cấu phần phần mềm là một đơn vị của thành phần với giao diện đặc tả và
chỉ phụ thuộc bối cảnh. Một cấu phần phần mềm có thể được triển khai độc lập
và có thể tham gia với tư cách là bên thứ 3. (Clemes Szyperski)
• Một cấu phần thương mại đại diện cho việc thực hiện phần mềm của một quá
trình kinh doanh. Nó bao gồm các thành phần phần mềm cần thiết để thể hiện,
thực hiện, và triển khai các nội dung như có thể tái sử dụng các cấu phần cho
một hệ thống kin doanh lớn hơn. (Wojtek Kozaczynski, SSA)
Từ các định nghĩa trên, chúng ta cũng có thể rút ra được định nghĩa về cấu phần rõ
hơn:
“Một cấu phần phần mềm là một mảnh khép kín, tự triển khai mã với các chức
năng được xác định rõ và có thể được lắp rắp với các cấu phần khác thông qua giao
diện của nó”.
14
Một cấu phần là một chương trình hay một tập hợp các chương trình có thể được
biên dịch và thực thi. Đó là khép kín, do đó, nó cung cấp chức năng mạch lạc. Nó tự
triển khai để nó có thể được cài đặt và thực hiện trong một môi trường người dùng
cuối. Nó có thể được lắp ráp với các thành phần khác để có thể được tái sử dụng như
một đơn vị trong các ngữ cảnh khác nhau.
Component-Oriented Programming (Lập trình hướng cấu phần).
Tư duy lập trình hướng thành phần (component-oriented programming)
theo ý tưởng:
• Giải quyết bài toán bằng cách xây dựng một tập các thành phần (component) có
tính độc lập tương đối với nhau. Mỗi thành phần đảm nhiệm một phần công việc
nhất định. Các thành phần này phải tuân theo tiêu chuẩn nhất định được xác
định trước bao gồm giao diện, các kết nối, phiên bản, và triển khai. Về nguyên
tắc, mỗi thành phần có thể tái sử dụng độc lập với ngữ cảnh, nói cách khác có
thể dễ dàng sử dụng tại mọi lúc, mọi nơi.
• Sau đó, người ta ghép các thành phần với nhau để thu được một phần mềm thoả
mãn một tập các yêu cầu xác định.
1.2 Cách xây dựng ứng dụng theo cấu phần
Với lập trình hướng cấu phần, người ta có thể tiến hành lập trình theo phương pháp
sau:
• Xây dựng một thư viện các thành phần, mỗi thành phần thực hiện một công việc
xác định.
• Khi cần phát triển một phần mềm cụ thể, người ta chỉ cần chọn những thành
phần có sẵn trong thư viện để ghép lại với nhau. Người lập trình chỉ phải phát
triển thêm các thành phần mình cần mà chưa có trong thư viện.
Thực tế cho thấy phương pháp phát triển phần mềm theo cấu phần đã làm giảm chi
phí của dự án phát triển phần mềm. So với công nghệ truyền thống chuẩn, công nghệ
phần mềm trên cơ sở cấu phần quan tâm đến cách xây dựng phần mềm nhiều hơn.
Thông qua việc sử dụng lại các cấu phần, vòng đời phát triển phần mềm được rút ngắn
lại, đồng thời tăng tính mềm dẻo khi sử dụng và bảo trì phần mềm. Hơn nữa, phát triển
phần mềm có khả năng làm tăng chất lượng phần mềm.
15
1.3 Cách xây dựng cấu phần trong Laravel framework
⁃ Công cụ hỗ trợ để chia cấu phần: Composer (được gọi là Dependency
management – Quản lý các thư viện)
Nó không cho các project của dùng chung một đoạn code của thư viện, mà ở mỗi
project, nó sẽ tải code của thư viện về và inject vào thư mục gốc trong project, và hoàn
toàn được auto update các thư viện và sử dụng cho project.
File composer.json
Khi sử dụng Composer điểm mấu chốt của dependency management là một file
JSON tên là composer.json. File composer.json cũng có cấu trúc tương tự như file
package.json của npm hay Gemfile của Ruby.
Các yêu cầu autoload sẽ được project liệt kê trong key là require. Trên ví dụ là file
composer.json mặc định của laravel framework version 4.2. Version 4.2.* có nghĩa là ta
chấp nhận cái bản vá lỗi nhỏ như 4.2.17, 4.2.25 ... nhưng không nâng cấp lên bản 5.0.
Bằng cách sử dụng terminal, trong project folder chúng ta thực hiện lệnh composer
install. Nó sẽ đưa tất cả dependencies của tôi vào project và thực hiện các công việc
cần thiết khác.
Cập nhật package, chỉ cần gõ câu lệnh composer update thì composer sẽ tự cập nhật
package.
Thêm vào file composer.json của dự án
“repositories”: [
{
“type”: “git”,
“url”: “<đường dẫn đến module mà mình đã đưa lên git>”
}
],
“require”: {
“frm/<tên>”: “*”
},
Chạy lệnh số 1 ở terminal:
16
Composer update
Chạy lệnh số 2:
Php artisan vendor:publish
Chọn provider: <tên>ServiceProvider
Hoàn thành!
17
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Khảo sát hệ thống
Các chức năng chính của chương trình cần làm: Đăng tin, Chỉnh sửa bản tin, Xóa
bản tin, Chỉnh sửa tài khoản người dùng, …
Phân bố các chức năng theo các modul (cấu phần), phân rã chức năng dựa theo các cấu
phần đó.
2.2 Biểu đồ UC
Hình 2. 1. Biểu đồ UC chính của hệ thống
2.3 Đặc tả UC
2.3.1
Đăng nhập hệ thống
Bảng 2. 1. Đặc tả UC đăng nhập hệ thống
18
Tên UC
Mục đích
Tác nhân
Điều kiện đầu vào
Kết quả đầu ra
Luồng sự kiện chính
Các luồng rẽ nhánh
2.3.2
Đăng nhập hệ thống
Mô tả cách người sử dụng đăng nhập vào hệ thống
Người dùng
Người dùng đã có tài khoản sử dụng hệ thống
Đăng nhập thành công đưa ra thông báo.
Không thành công đưa ra thông báo lỗi.
Dòng sự kiện 1:
• Người dùng chọn chức năng ‘Đăng nhập’ từ trang
chủ website.
• Trang chủ sẽ mở đến trang ‘Đăng nhập’.
• Người dùng nhập tài khoản của mình (bao gồm tên
đăng nhập và mật khẩu).
• Nếu tài khoản hợp lệ. Tài khoản được “Xác thực”.
• Chuyển hướng người dùng đến trang “Người dùng”
và kích hoạt các chức năng có thể truy cập tùy vào
quyền hạn của người dùng.
• Kết thúc UC.
Luồng 1:
• Người dùng hủy yêu cầu đăng nhập.
• Hệ thống bỏ qua trang đăng nhập, trở về trang hiện
tại.
• Kết thúc UC.
Luồng 2:
• Nếu tài khoản hoặc mật khẩu sai, màn hình sẽ hiển
thị lỗi “tài khoản hoặc mật khẩu không đúng”.
• Kết thúc UC.
Luồng 3:
• Nếu người dùng quên mật khẩu, có thể bấm vào liên
kết ‘Quên mật khẩu’ trên trang đăng nhập.
• Đưa người dùng đến trang đổi mật khẩu.
• Kết thúc UC.
Đăng ký tài khoản
Bảng 2. 2. Đặc tả UC đăng ký tài khoản
Tên UC
Mục đích
Đăng ký tài khoản
Mô tả cách người sử dụng đăng ký tài khoản
19
Tác nhân
Điều kiện đầu vào
Kết quả đầu ra
Luồng sự kiện chính
Các luồng rẽ nhánh
2.3.3
Người dùng Internet
Không có
Đã có tài khoản để sử dụng hệ thống
• UC bắt đầu khi tác nhân muốn đăng nhập vào hệ
thống.
• Hệ thống yêu cầu đăng ký tên người dùng, gmail
đăng nhập, mật khẩu và xác nhận lại mật khẩu.
• Tác nhân nhập đầy đủ các thông tin như trên.
• Hệ thống xác nhận tài khoản đã tồn tại chưa, nếu tồn
tại thì thực hiện luồng A1 và xác nhận mật khẩu có
hợp lệ hay không, nếu không hợp lệ thì thực hiện
luồng A2.
• Hệ thống ghi lại quá trình đăng ký.
Luồng A1: Nhập tài khoản đã được đăng ký
• Hệ thống hiển thị một thông báo lỗi.
• Người dùng có thể chọn đăng ký lại hoặc là thoát
khỏi hệ thống, khi đó UC kết thúc.
Luồng A2: Nhập sai mật khẩu
• Hệ thống hiển thị một thông báo lỗi.
• Người dùng có thể chọn đăng ký lại hoặc là thoát
khỏi hệ thống, khi đó UC kết thúc.
Đăng bản tin
Bảng 2. 3. Đặc tả UC đăng tin
Tên UC
Mục đích
Tác nhân
Điều kiện đầu vào
Kết quả đầu ra
Luồng sự kiện chính
Đăng tin
Mô tả cách người sử dụng đăng tin lên hệ thống
Người dùng tham gia vào hệ thống
Đăng nhập tài khoản người dùng thành công
Đăng tin thành công
• Người dùng chọn chức năng “Đăng tin” trong menu
“Thông tin”.
• Hệ thống đưa ra một biểu mẫu chứa các thông tin
cần thiết của một bài đăng được thêm mới.
• Người dùng hoàn thiện biểu mẫu với đầy đủ thông
tin.
• Người dùng chọn nút “Đăng bài” ở cuối biểu mẫu.
• Hệ thống xác nhận thông tin và thực hiện.
20
• Hệ thống trả về thông báo.
• Kết thúc UC.
Các luồng rẽ nhánh
2.3.4
Luồng 1:
• Người dùng hủy bỏ hành động đăng tin mới.
• Hệ thống trả về trang chủ.
• Kết thúc UC.
Luồng 2:
• Hệ thống có lỗi trong quá trình đăng tin mới.
• Hệ thống thông báo lỗi.
• Kết thúc UC.
Chỉnh sửa bản tin
Bảng 2. 4. Đặc tả UC chỉnh sửa bản tin
Tên UC
Mục đích
Tác nhân
Điều kiện đầu vào
Kết quả đầu ra
Luồng sự kiện chính
Các luồng rẽ nhánh
Chỉnh sửa bản tin
Mô tả cách người sử dụng sửa bản tin trong hệ thống
Người dùng tham gia vào hệ thống
Đăng nhập tài khoản người dùng thành công
Sửa bản tin thành công
• Người dùng chọn chức năng “Chỉnh sửa bản tin”
trong menu “Thông tin”.
• Hệ thống đưa ra danh sách các tin đã đăng (nếu có)
và chọn bản tin muốn sửa.
• Nhấn nút ký hiệu chỉnh sửa.
• Hệ thống đưa ra một biểu mẫu chứa các thông tin
cần thiết của một bài đăng.
• Người dùng nhập thông tin muốn sửa trong biểu
mẫu.
• Người dùng chọn nút “Đăng bài” ở cuối biểu mẫu.
• Hệ thống xác nhận thông tin và thực hiện.
• Hệ thống trả về thông báo.
• Kết thúc UC.
Luồng 1:
• Người dùng hủy bỏ hành động chỉnh sửa bản tin.
• Hệ thống trả về trang chủ.
• Kết thúc UC.
Luồng 2:
21
• Hệ thống có lỗi trong quá trình chỉnh sửa bản tin.
• Hệ thống thông báo lỗi.
• Kết thúc UC.
2.3.5
Xóa bản tin
Bảng 2. 5. Đặc tả UC xóa tin
Tên UC
Mục đích
Tác nhân
Điều kiện đầu vào
Kết quả đầu ra
Luồng sự kiện chính
Các luồng rẽ nhánh
2.3.6
Xóa bản tin
Mô tả cách người sử dụng xóa bản tin trong hệ thống
Người dùng tham gia vào hệ thống
Đăng nhập tài khoản người dùng thành công
Xóa bản tin thành công
• Người dùng chọn chức năng “Chỉnh sửa bản tin”
trong menu “Thông tin”.
• Hệ thống đưa ra danh sách các tin đã đăng (nếu có)
và chọn bản tin muốn xóa.
• Nhấn nút ký hiệu xóa.
• Hệ thống xóa trong cơ sở dữ liệu và trả về thông
báo.
• Kết thúc UC.
Luồng 1:
• Người dùng hủy bỏ hành động xóa.
• Hệ thống trả về trang chủ.
• Kết thúc UC.
Luồng 2:
• Hệ thống có lỗi trong quá trình xóa.
• Hệ thống thông báo lỗi.
• Kết thúc UC.
Sửa tài khoản người dùng
Bảng 2. 6. Đặc tả UC sửa tài khoản người dùng
Tên UC
Mục đích
Tác nhân
Điều kiện đầu vào
Sửa tài khoản người dùng
Mô tả cách người sử dụng chỉnh sửa tài khoản trong hệ
thống
Người dùng tham gia vào hệ thống
Đăng nhập tài khoản người dùng thành công
22
Kết quả đầu ra
Luồng sự kiện chính
Các luồng rẽ nhánh
Sửa thành công tài khoản
• Người dùng chọn chức năng “Thông tin tài khoản”
khi nhấn vào biểu tượng avatar tài khoản.
• Hệ thống đưa ra một biểu mẫu chứa các thông tin
cần thiết của một thông tin tài khoản.
• Người dùng nhập đầy đủ thông tin cần thiết trong
biểu mẫu.
• Nhấn nút “Cập nhật”.
• Hệ thống cập nhật trong cơ sở dữ liệu và trả về
thông báo.
• Kết thúc UC.
Luồng 1:
• Người dùng hủy bỏ hành động chỉnh sửa thông tin
tài khoản.
• Hệ thống trả về trang chủ.
• Kết thúc UC.
Luồng 2:
• Hệ thống có lỗi trong quá trình chỉnh sửa thông tin
tài khoản.
• Hệ thống thông báo lỗi.
• Kết thúc UC.
2.4 Biểu đồ trình tự
Ca sử dụng đăng tin
23
Hình 2. 2. Biểu đồ trình tự UC đăng tin
Ca dử dụng đăng nhập
24
Hình 2. 3. Biểu đồ trình tự UC đăng nhập
Hình 2. 4. Biểu đồ trình tự UC sửa tài khoản người dùng
25