1. Trang chủ
  2. » Công Nghệ Thông Tin

PHÁT TRIỂN PHẦN MỀM HƯỚNG CẤU PHẦN (COP)

37 224 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 37
Dung lượng 1,82 MB

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

Nội dung

LỜI NÓI ĐẦU 2 TÓM TẮT BÀI TẬP LỚN 3 MỤC LỤC 4 DANH SÁCH HÌNH VẼ 6 DANH SÁCH CÁC BẢNG BIỂU 7 DANH SÁCH CÁC TỪ VIẾT TẮT 8 PHẦN MỞ ĐẦU 9 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 11 1.1 Giới thiệu ngôn ngữ, công cụ lập trình được áp dụng 11 1.1.1 Tìm hiểu về công nghệ PHP Laravel 11 1.1.2 Giới thiệu về Visual Studio Code, XamPP 13 1.1.3 Giới thiệu về JavaScript, Bootstrap 13 1.2 Tổng quan về phát triển phần mềm theo hướng cấu phần 15 1.1 Cấu phần là gì? 15 1.2 Cách xây dựng ứng dụng theo cấu phần 16 1.3 Cách xây dựng cấu phần trong Laravel framework 16 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 19 2.1 Khảo sát hệ thống 19 2.2 Biểu đồ UC 19 2.3 Đặc tả UC 19 2.3.1 Đăng nhập hệ thống 19 2.3.2 Đăng ký tài khoản 21 2.3.3 Đăng bản tin 21 2.3.4 Chỉnh sửa bản tin 22 2.3.5 Xóa bản tin 23 2.3.6 Sửa tài khoản người dùng 24 2.4 Biểu đồ trình tự 25 CHƯƠNG 3: CÀI ĐẶT TRIỂN KHAI 29 3.1 Thiết kế cơ sở dữ liệu 29 3.2 Thiết kế giao diện 31 3.3 Module (cấu phần) trong project BTL 34 CHƯƠNG 4: ĐÁNH GIÁ KẾT LUẬN 37 TÀI LIỆU THAM KHẢO 38 PHỤ LỤC 39 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ế. 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 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 modelviewcontroller (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. 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 commandline. 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.

Trang 1

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

Nguyễn Thị Cẩm Nhung Nguyễn Thị Oanh

Hà Nội – 12/2018

Trang 2

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 baogồ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ốngphầ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ệcnhanh 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ânthà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êntrong 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ấtmong 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!

Trang 3

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 dongườ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 ứngtuyể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ínhxá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 giaodiệ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ấuphầ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

Trang 4

MỤC LỤC

Trang 5

DANH SÁCH HÌNH VẼ

Trang 6

DANH SÁCH CÁC BẢNG BIỂU

Trang 7

DANH SÁCH CÁC TỪ VIẾT TẮT

COP

Component-orientedProgramming: Lập trình theo hướng cấu

phần

VS code Visual Studio Code: phần mềm viết code websitefontend và backend

SSL Secure Sockets Layer: Tầng ổ bảo mật (Đây là một tiêuchuẩ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)ORM Object Relation Mapping: được hiểu như là kỹ thuật ánhxạ từ mô hình đối tượng với các bảng trong cơ sở dữ

liệu quan hệ

Trang 8

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ụngngà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ủacon 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 đếnviệc ứng dụng công nghệ thông tin vào các hoạt động Nhờ đó công việc được thựchiệ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ôngviệ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ếmngườ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ựngphầ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ữathiế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ậpvà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ựngphầ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ếnthứ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ế

Trang 9

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ảiquyết và đưa ra kiến nghị, đề xuất

Tài liệu tham khảo

Trang 10

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ệnhchủ 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ùngcho 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 trangHTML

Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởiTaylor 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úcmodel-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ônglà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ữngdò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 đặtphiê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ạnvà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 DependencyManagement trong PHP, công cụ quản lý các thư viện mà project sử dụng, chỉ cần khaibá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àoproject 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ấtnhiề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ínhnăng như thêm các gói cài đặt, các chức năng PHP phụ trợ cho Laravel có trong khoPackagist

Trang 11

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ănghạ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ácbả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ềukhiể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ộtliê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ốngnhấ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 HTTPPOST, GET

Class auto loading : cung cấp việc tải tự động các class trong PHP, mà không cầninclude 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ạnchế 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ấtnhiề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ợpvà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ươngphá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

Trang 12

⁃ 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.

Cách download VS code là truy cập link: https://code.visualstudio.com/Download

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 độnglạ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ụngphổ 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épClient-Side script tương tác với người sử dụng và tạo các trang web động Nó là mộtngôn ngữ chương trình thông dịch với các khả năng hướng đối tượng JavaScript đượcbiế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

Trang 13

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ệtkhá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êntrì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ôngtuâ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ếtnhiề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ìnhduyệt Một số công nghệ nổi bật dòng JavaScript để tương tác với DOM baogồ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 AdobeAcrobat và Adobe Reader Điều khiển Dashboard trên hệ điều hành Mac OS X phiênbả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ềuhà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

 Những điểm thuận lợi khi bản sử dụng bootstrap:

Trang 14

Rất dễ để sử dụng: Nó đơn giản vì nó được dựa trên trên HTML, CSS và Javascriptchỉ 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ăngResponsive: 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 coreframework 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ãmvới IE phiên bản cũ vì thế việc IE9 hay IE8 đổ xuống không support là chuyện bìnhthườ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ểmgiống nhau và khác nhau của khung nhìn [Brown 1998] trình bày bốn định nghĩa củamộ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ủamộ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ặcnhiều chương trình quản lý như một đơn vị và truy cập thông qua giao diện tàiliệ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 chomộ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ứcnă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 giaodiện của nó”

Trang 15

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ể đượcbiê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ùngcuố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ệcnhấ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êntắ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ápsau:

• 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ệcxá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ànhphầ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áttriể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 chiphí 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ắnlạ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ểnphần mềm có khả năng làm tăng chất lượng phần mềm

Trang 16

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à Dependencymanagement – 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ỗiproject, nó sẽ tải code của thư viện về và inject vào thư mục gốc trong project, và hoàntoà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 fileJSON tên là composer.json File composer.json cũng có cấu trúc tương tự như filepackage.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à filecomposer.json mặc định của laravel framework version 4.2 Version 4.2.* có nghĩa là tachấ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 composerinstall Nó sẽ đưa tất cả dependencies của tôi vào project và thực hiện các công việccầ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ậtpackage

Thêm vào file composer.json của dự án

Trang 18

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óabả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ấuphần đó

Ngày đăng: 13/01/2019, 12:58

TỪ KHÓA LIÊN QUAN

w