1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống quản lý thông tin tuyển dụng thực tập

70 5 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 70
Dung lượng 2,95 MB

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

Nội dung

Mặc dù vậy, nhưng ta có thể nhận thấy rõ những bất cập chung trong các hệ thống quản lý tại các trường giáo dục hiện nay là chưa đi sâu vào hỗ trợ sinh viên về việc tiếp cận thông tin mộ

Trang 1

Giảng viên hướng dẫn : TS PHẠM ANH PHƯƠNG

Lớp sinh hoạt : 13CNTT

ĐÀ NẴNG, 04/2017

Trang 2

động viên từ rất nhiều phía Tất cả điều đó đều đã tiếp thêm cho em rất nhiều động lực để giúp em có thể cố gắng hoàn thành tốt đợt thực tập tốt nghiệp này Với tất cả sự cảm kích và trân trọng, em xin được gửi lời cảm ơn chân thành đến tất cả mọi người

Lời đầu tiên, em xin phép được gửi lời cảm ơn đến Ban lãnh đạo trường Đại học Sư phạm Đà Nẵng, lãnh đạo khoa Tin học đã tổ chức các buổi giao lưu

doanh nghiệp, cung cấp những thông tin thật bổ ích dành cho chúng em, giúp em định hướng và có cơ hội tìm được đơn vị thực tập tốt nhất cho riêng mình

Em cũng xin phép được gởi lời cảm ơn đến Ban lãnh đạo Công ty TNHH & Thương mại AsNet Đà Nẵng đã tạo điều kiện cho em được tham gia thực tập tại đơn vị, cũng như đã cung cấp tất cả các cơ sở vật chất và trang thiết bị hiện đại cho em sử dụng tại Công ty trong thời gian vừa qua Xin cảm ơn các anh chị trong Công ty, đặc biệt là anh Phạm Hoàng Trung đã tận tình hướng dẫn và giúp

đỡ em rất nhiều trong suốt thời gian thực tập

Em xin chân thành cảm ơn thầy TS Phạm Anh Phương và các thầy cô giáo của khoa Tin học, trường Đại học Sư phạm Đà Nẵng, xin cảm ơn quý thầy cô đã tận tình dạy bảo, giúp đỡ em rất nhiều trong suốt thời gian em học tại trường cũng như trong đợt thực tập vừa qua

Xin trân trọng cảm ơn!

Đà Nẵng, ngày 10 tháng 04 năm 2017

Sinh viên thực hiện

Trang 3

1 Những nội dung trong báo cáo này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của các anh chị trong Công ty TNHH & Thương mại AsNet Đà Nẵng

2 Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm

Sinh viên thực hiện

Phan Văn Vũ

Trang 4

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Đà Nẵng, ngày tháng 04 năm 2017

Phan Văn Vũ

Trang 5

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Đà Nẵng, ngày tháng 04 năm 2017

Trang 6

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Đà Nẵng, ngày tháng 04 năm 2017

Ký tên

Trang 7

MỤC LỤC

LỜI CẢM ƠN

LỜI CAM ĐOAN

MỤC LỤC i

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT iv

DANH MỤC CÁC HÌNH v

DANH MỤC BẢNG vii

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục tiêu nghiên cứu 2

3 Đối tượng nghiên cứu 2

4 Giới hạn và phạm vi nghiên cứu 2

5 Phương pháp nghiên cứu và lựa chọn công nghệ 2

6 Bố cục đề tài 3

CHƯƠNG 1 TỔNG QUAN VỀ CÔNG NGHỆ LẬP TRÌNH WEB 4

1.1 Kỹ thuật tương tác người dùng (Front-End) 4

1.1.1 HTML và HTML5 4

1.1.2 CSS và Bootstrap 10

1.1.3 JavaScript 11

1.1.4 TypeScript 12

1.1.5 AngularJS 2 13

1.1.6 InvisionApp 15

Trang 8

1.2 Kỹ thuật tương tác dữ liệu (Back-End) 16

1.2.1 Cơ sở dữ liệu PostgreSQL 16

1.2.2 Python 17

1.2.3 Django 18

CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 20

2.1 Đặt vấn đề 20

2.2 Yêu cầu chức năng 20

2.3 Yêu cầu phi chức năng 21

2.4 Thiết kế hệ thống 22

2.4.1 Sơ đồ ca sử dụng (Use-case) 22

2.4.2 Đặc tả ca sử dụng chung cho tất cả loại người dùng 23

2.4.3 Đặc tả ca sử dụng riêng cho quản trị viên 28

2.4.4 Đặc tả ca sử dụng riêng cho nhà tuyển dụng 29

2.4.5 Đặc tả ca sử dụng riêng cho người dùng bình thường 30

2.4.6 Thiết kế cơ sở dữ liệu 31

2.4.7 Sơ đồ lớp (Class-Diagram) 44

2.4.8 Sơ đồ hoạt động (Activity Diagram) 45

2.4.9 Sơ đồ tuần tự (Sequence Diagram) 46

CHƯƠNG 3 XÂY DỰNG HỆ THỐNG QUẢN LÝ THÔNG TIN TUYỂN DỤNG THỰC TẬP 48

3.1 Môi trường triển khai 48

3.2 Kết quả và chức năng của chương trình 48

3.2.1 Giao diện trang chủ 48

Trang 9

3.2.2 Giao diện trang đánh giá nhà tuyển dụng 49

3.2.3 Giao diện trang kinh nghiệm phỏng vấn 50

3.2.4 Giao diện biểu mẫu đăng nhập, đăng ký người dùng 51

3.2.5 Giao diện trang đăng tin tuyển dụng khi chưa đăng nhập 51

3.2.6 Giao diện trang đăng tin tuyển dụng khi đã đăng nhập 52

3.2.7 Giao diện trang đăng tin khi người dùng là nhà tuyển dụng 52

3.2.8 Giao diện trang đăng bài viết đánh giá nhà tuyển dụng 53

3.2.9 Giao diện trang đăng bài viết về kinh nghiệm phỏng vấn 53

3.2.10 Giao diện trang duyệt yêu cầu của Quản trị viên 54

3.2.11 Giao diện trang xem báo cáo của Quản trị viên 54

KẾT LUẬN 55

1 Các kết quả đạt được 55

2 Hạn chế 55

3 Hướng phát triển 55

TÀI LIỆU THAM KHẢO 56

Trang 10

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

STT Ký hiệu viết tắt Tên của ký hiệu viết tắt

Trang 11

2.1 Sơ đồ Use Case mô tả chức năng chung của Quản trị viên,

Nhà quản trị và Người dùng bình thường 22

2.2 Sơ đồ Use Case mô tả chức năng riêng của Quản trị viên 22 2.3 Sơ đồ Use Case mô tả chức năng riêng của Nhà tuyển dụng 23

2.4 Sơ đồ Use Case mô tả chức năng riêng của Người dùng bình

Trang 12

2.10 Sơ đồ tuần tự của hành động thêm bài viết 47

3.2 Giao diện trang đánh giá nhà tuyển dụng 49

3.3 Giao diện trang kinh nghiệm phỏng vấn 50

3.4 Giao diện biểu mẫu đăng nhập, đăng ký người dùng 51

3.5 Giao diện trang đăng tin tuyển dụng khi chưa đăng nhập 51

3.6 Giao diện trang đăng tin tuyển dụng khi đã đăng nhập 52

3.7 Giao diện trang đăng tin tuyển dụng khi người dùng là nhà

3.8 Giao diện trang đăng bài viết đánh giá nhà tuyển dụng 53

3.9 Giao diện trang đăng bài viết về kinh nghiệm phỏng vấn 53

3.10 Giao diện trang duyệt yêu cầu của Nhà tuyển dụng 54

3.11 Giao diện trang xem báo cáo của Quản trị viên 54

Trang 13

DANH MỤC BẢNG

1.1 Bảng mô tả các thẻ thông dụng trong HTML 8

2.1 Bảng mô tả luồng sự kiện chính của Use-case đăng

2.7 Bảng mô tả luồng sự kiện chính của Use-case duyệt

2.8 Bảng mô tả luồng sự kiện chính của Use-case xem số

2.9 Bảng mô tả luồng sự kiện chính của Use-case đăng

Trang 14

2.10 Bảng mô tả luồng sự kiện chính của Use-case đăng ký

nhà tuyển dụng và gửi yêu cầu cho quản trị viên 30

Trang 15

MỞ ĐẦU

1 Lý do chọn đề tài

Với sự phát triển thần kì của nền công nghệ thông tin suốt vài thập niên qua,

đã giúp con người thay đổi cách tiếp cận với hàng loạt vấn đề trong cuộc sống, mọi thứ được thực thi một cách đầy hiệu quả và chính xác hơn Việc áp dụng công nghệ thông tin vào lĩnh vực giáo dục để phục vụ công tác dạy học là một vấn đề tất yếu và vô cùng quan trọng

Không thể phủ nhận việc áp dụng công nghệ thông tin vào lĩnh vực giáo dục

là một vấn đề nan giải, cần rất nhiều thời gian và sự đầu tư sâu vào lĩnh vực này mới có thể cho ra sản phẩm tốt để sử dụng Nhưng với sự phát triển không ngừng của nền công nghệ thông tin cùng với sự đi lên của chất lượng lập trình viên hiện nay, việc thực hiện ý tưởng để làm ra sản phẩm không còn khó khăn nữa Bằng chứng là trong lĩnh vực giáo dục hiện nay, có đến hơn 80% các trường giáo dục đều áp dụng công nghệ thông tin vào việc quản lý và dạy học Mặc dù vậy, nhưng

ta có thể nhận thấy rõ những bất cập chung trong các hệ thống quản lý tại các trường giáo dục hiện nay là chưa đi sâu vào hỗ trợ sinh viên về việc tiếp cận thông tin một cách trực tiếp tới các nhà tuyển dụng cần nhân lực để thu thập được những thông tin tốt hơn,… Đa số các bạn sinh viên muốn thực tập phải tìm kiếm thông tin trên các trang mạng xã hội lớn, nên việc tiếp cận những thông tin cần thiết gặp rất nhiều khó khăn vì dữ liệu đăng tải những thông tin không liên quan là vô cùng lớn

Vì vậy, em quyết định chọn đề tài “Xây dựng hệ thống quản lý thông tin tuyển dụng thực tập” Để giúp các bạn sinh viên trong trường tìm kiếm thông tin một cách khoa học, chính xác về nhu cầu của mình

Trang 16

2 Mục tiêu nghiên cứu

- Xây dựng được ứng dụng và nó sẽ là sự lựa chọn trong chiến lược phát triển nhân lực của các nhà tuyển dụng

- Cung cấp đầy đủ, chính xác thông tin tuyển dụng của các doanh nghiệp có nhu cầu tuyển dụng tới các bạn sinh viên

3 Đối tượng nghiên cứu

- Sinh viên các trường Đại học và Cao đẳng có nhu cầu tìm kiếm thông tin thực tập

- Các nhà tuyển dụng có nhu cầu tuyển nhân viên thực tập

4 Giới hạn và phạm vi nghiên cứu

- Nghiên cứu về AngularJS 2

- Nghiên cứu về ngôn ngữ lập trình Python

- Xây dựng sản phẩm: hệ thống quản lý thông tin tuyển dụng thực tập

5 Phương pháp nghiên cứu và lựa chọn công nghệ

- Thực hiện phương pháp điều tra khảo sát về việc tìm kiếm thông tin thực tập của các bạn sinh viên trên địa bàn Đà Nẵng

- Thực hiện phương pháp tổng kết kinh nghiệm, bắt đầu từ việc thống kê số lượng khảo sát trên thực tế để rút ra kết luận

- Tìm hiểu, khảo sát các ứng dụng sử dụng AngularJS 2 và Python, nghiên cứu và ứng dụng vào đề tài

- Đề xuất các chức năng cho ứng dụng, cũng như nhận phản hồi chức năng

từ Giảng viên hướng dẫn, từ đó đưa ra các giải pháp hợp lý, phù hợp với xu thế của phát triển ứng dụng

Trang 17

6 Bố cục đề tài

Ngoài phần mở đầu và kết luận, bố cục của đề tài bao gồm 3 chương:

Chương 1: Tổng quan về công nghệ lập trình web

Phần này trình bày về những kỹ thuật sẽ sử dụng để xây dựng ứng dụng Chương 2: Phân tích thiết kế hệ thống quản lý thông tin tuyển dụng

Phần này trình bày về việc phân tích thiết kế hệ thống và phân tích cơ sở dữ liệu

Chương 3: Xây dựng hệ thống quản lý thông tin tuyển dụng thực tập

Phần này trình bày những kết quả đã đạt được

Đây là một đề tài được áp dụng những công nghệ mới nên trong quá trình nghiên cứu có thể có nhiều sai sót Tôi mong nhận được sự đóng góp của mọi người

Trang 18

CHƯƠNG 1 TỔNG QUAN VỀ CÔNG NGHỆ LẬP TRÌNH WEB 1.1 Kỹ thuật tương tác người dùng (Front-End)

- Là tất cả mọi thứ chúng ta nhìn thấy được khi điều hướng trên Internet, từ phông chữ, màu sắc cho đến các bảng lựa chọn xổ xuống và các thanh trượt, bao

gồm nhiều kỹ thuật được đề cập dưới đây:

1.1.1 HTML và HTML5

1.1.1.1 Giới thiệu

- HTML (viết tắt cho HyperText Markup Language, hay là "Ngôn ngữ Đánh dấu Siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các website với các thông tin được trình bày trên World Wide Web HTML được định nghĩa như là một ứng dụng đơn giản của SGML và được sử dụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp HTML đã trở thành một chuẩn Internet do

tổ chức World Wide Web Consortium (W3C) duy trì Phiên bản chính thức mới nhất của HTML là HTML 4.01 (1999) Sau đó, các nhà phát triển đã thay thế nó bằng XHTML

- HTML5 là một ngôn ngữ cấu trúc và trình bày nội dung cho World Wide Web Đây là phiên bản thứ năm của ngôn ngữ HTML - được tạo ra năm 1990 và chuẩn hóa như HTML4 năm 1997 - và xuất hiện vào tháng 12 năm 2012, là một ứng viên được giới thiệu bởi World Wide Web Consortium (W3C) Mục tiêu cốt lõi khi thiết kế ngôn ngữ là cải thiện khả năng hỗ trợ cho đa phương tiện mới nhất trong khi vẫn giữ nó dễ dàng đọc được bởi con người và luôn hiểu được bởi các thiết bị và các chương trình máy tính như trình duyệt web, phân tích cú pháp, v.v HTML5 đã giữ lại những đặc điểm cơ bản của HTML4 và bổ sung thêm các đặc

tả nổi trội của XHTML, DOM cấp 2, đặc biệt là JavaScript

Trang 19

- Vậy ta có thể nhìn thấy rõ HTML5 là phiên bản thứ 5 đã được cập nhật gần đây, vậy HTML5 có đặc trưng gì nổi bật hơn so với HTML? Đúng vậy, HTML5

là phiên bản tiếp theo sau HTML 4.01, nó như là một phản ứng để đáp lại phê bình rằng HTML là một hỗn hợp các tính năng với các thông số kỹ thuật khác nhau và

có nhiều lỗi cú pháp trong các văn bản web HTML5 được các nhà phát triển biết đến và sử dụng rộng rãi hơn và có thể làm được rất nhiều điều thú vị hơn khi tiến hành xây dựng một website Điều đặc biệt hơn là HTML5 là một ứng cử viên tiềm năng cho nền tảng ứng dụng di động trong thời kỳ bùng nổ việc sử dụng thiết bị

di động trở nên phổ biến

- Cùng với sự phát triển đáng kể đó, HTML5 cũng vẫn còn những thiếu sót nhất đinh như: vẫn còn là một thuật ngữ khá lỏng lẻo và tham chiếu đến một số công nghệ liên quan Nó kế thừa đa số các tính năng tốt nhất của HTML và bổ

sung thêm một số thẻ rất đáng được các nhà phát triển quan tâm

1.1.1.2 Cú pháp HTML

- Thẻ HTML dùng để viết lên những thành tố HTML, được bao quanh bởi

hai dấu bé hơn < và > lớn hơn

- Những thẻ HTML thường có một cặp giống như <b> và </b>, trong đó thẻ

Trang 20

- Cấu trúc của một tài liệu HTML gồm có 3 phần cơ bản:

 Phần <html>…</html> chứa các mã và thẻ con nằm bên trong của

HTML

 Phần <head>…</head> nằm bên trong thẻ <html>…</html> và nằm

sau thẻ <head>…</head>, chứa nội dung trang web

Cấu trúc được thể hiện như sau:

Hình 1.1 Cấu trúc của một tài liệu HTML

<body> Xác định phần thân của văn bản HTML

<br /> Ngắt một đoạn text xuống hàng

Trang 21

<head> Xác định, khai báo thông tin về văn bản HTML

<hr /> Tạo một đường ngang

<html> Xác định một văn bản html

<img /> Hiển thị một image

<input /> Xác định một điều khiển nhập

<label> Tạo một nhãn cho thành phần input

Trang 22

<span> Được sử dụng để nhóm các inline trong văn bản HTML

<strong> Hiển thị text đậm (mục đích nhấn mạnh)

<style> Xác định thông tin kiểu kiến trúc cho văn bản

<table> Xác định một bảng

<tbody> Xác định một nhóm nội dung của bảng

<td> Xác định một phần tử nội dung của bảng

<textarea> Xác định một vùng điều khiển nhập text

<tfoot> Một nhóm nội dung cuối của bảng

<th> Xác định một phần tử tiêu đề của bảng

<thead> Một nhóm phần tử tiêu đề của bảng

<title> Xác định một tiêu đề của văn bản HTML

<tr> Xác định một hàng của bảng

<ul> Xác định danh sách không thứ tự

Bảng 1.1 Bảng mô tả các thẻ thông dụng trong HTML

Trang 23

o <article>: Đánh dấu một bài viết, một bình luận hoặc một thông báo

o <aside>: Đánh dấu nội dung ngoài lề của một trang web, ví dụ như một thanh bên trái hoặc phải

o <nav>: Thanh điều hướng hoặc bảng kê (menu) giờ có thể được đặt trong thẻ này, nó sẽ tự động tạo ra cho ta một danh sách trông giống như một thanh điều hướng thực sự

o <section>: Với cặp thẻ này, ta có thể định nghĩa bất kỳ phân vùng nào trên trang web của mình Nó cũng khá giống so với thẻ <div>

- Các phần tử nội tuyến (Inline elements):

o datetime: Trình duyệt hiển thị dạng ngày tháng

o datetime-local: Trình duyệt hiển thị dạng ngày tháng theo vùng

o date: Trình duyệt hiển thị dạng ngày

o month: Trình duyệt hiển thị dạng tháng

o week: Trình duyệt hiển thị theo tuần

o time: Trình duyệt hiển thị theo thời gian

o number: Trình duyệt hiển thị theo dạng số

o range: Trình duyệt hiển thị theo dạng dãy số

o email: Trình duyệt hiểu đúng dữ liệu liệu nhập vào là email

Trang 24

- <canvas>: Kết hợp với JavaScript, tạo một vùng có thể vẽ đồ họa

- <video>: Đính kèm đoạn phim (video)

- <audio>: Đính kèm âm thanh

- Geolocation: Định vị – Một tính năng quan trọng sẽ được sử dụng nhiều trong các ứng dụng web cho điện thoại di động, tính năng định vị địa lý cho phép các trang web xác định vị trí người sử dụng, hoặc bằng GPS (trong điện thoại di động, iPad, vv…), hoặc bởi địa chỉ giao thức Internet (IP Address) dành cho desktop và cũng thông qua Wi-Fi và Bluetooth

1.1.2 CSS và Bootstrap

- CSS là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được

tạo ra bởi các ngôn ngữ đánh dấu (như HTML, HTML5) Có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng, … thì CSS sẽ giúp ta có thể thêm một chút

“phong cách” vào các phần tử HTML đó như đổi màu sắc trang, đổi màu chữ, thay đổi cấu trúc, … rất nhiều

- Phương thức hoạt động của CSS là sẽ tìm dựa vào các vùng chọn, vùng chọn có thể là tên một thẻ HTML, tên một ID, class hay nhiều kiểu khác Sau đó

là CSS sẽ áp dụng các thuộc tính cần thay đổi lên vùng chọn đó

- Bootstrap là một framework cho phép thiết kế website đáp ứng (response) nhanh hơn và dễ dàng hơn Bootstrap bao gồm các mẫu HTML, mẫu CSS và JavaScript (được nêu ra ở phần tiếp theo) tạo ra những cái cơ bản có sẵn như: typography, forms, buttons, tables, navigation, modals, image carousels (đã nêu ra

ở phần HTML và HTML5) và nhiều thứ khác Trong bootstrap có thêm các phần

bổ trợ (plugin) JavaScript trong nó Giúp cho việc thiết kế reponsive của ta dễ dàng và nhanh chóng hơn Bootstrap đơn giản vì được căn cứ trên HTML, CSS và

Trang 25

JavaScript chỉ cần có kiến thức cơ bản thì có thể sử dụng bootstrap tốt, tích hợp sẵn tính năng đáp ứng: Bootstrap xây dựng sẵn reponsive CSS trên các thiết bị phones, tablets, và desktops

1.1.3 JavaScript

- JavaScript là một ngôn ngữ lập trình kịch bản dựa trên hướng đối tượng, được sử dụng rộng rãi cho các trang web Có những đặc tính cơ bản nhất bao gồm: đơn giản, động (Dynamic) và hướng đối tượng (Object Oriented)

- Các lợi thế của việc sử dụng kỹ thuật JavaScript:

o Sự tương tác server trở nên ít hơn: ta có thể xác thực đầu vào của người sử dụng trước khi gửi yêu cầu đến máy chủ Vì vậy, sẽ làm server chịu tải ít hơn

o Phản hồi ngay lập tức tới khách truy cập: ta không phải chờ cho một trang web tải lại để thấy xem ta đã quên nhập cái gì đó

o Khả năng tương tác tăng lên: ta có thể tạo các giao diện mà phản ứng lại khi người sử dụng rê chuột qua chúng hoặc kích hoạt thông qua bàn phím

o Giao diện phong phú hơn: ta có thể sử dụng JavaScript để bao gồm những mục như các thành phần kéo (Drag), thả (Drop) và các con trượt (Slider) để cung cấp một giàu diện giàu tính năng tới khách truy cập vào website của ta

Trang 26

1.1.4 TypeScript

1.1.4.1 Giới thiệu

- TypeScript là một dự án mã nguồn mở được phát triển bởi Microsoft, nó có thể được coi là một phiên bản nâng cao của JavaScript bởi việc bổ sung tùy chọn kiểu tĩnh và lớp hướng đối tượng mà điều này không có ở JavaScript

- Những ưu điểm mà TypeScript mang lại:

o Dễ phát triển dự án lớn: Với việc sử dụng các kỹ thuật mới nhất và lập trình hướng đối tượng nên TypeScript giúp chúng ta phát triển các dự án lớn một cách dễ dàng

o Nhiều Framework lựa chọn: Hiện nay các JavaScript Framework đã dần khuyến khích nên sử dụng TypeScript để phát triển, ví dụ như AngularJS 2.0 và Ionic 2.0

o Hỗ trợ các tính năng của JavaScript phiên bản mới nhất: TypeScript luôn đảm bảo việc sử dụng đầy đủ các kỹ thuật mới nhất của JavaScript, ví dụ như version hiện tại là ECMAScript 2015 (ES6)

o Là mã nguồn mở: TypeScript là một mã nguồn mở nên bạn hoàn toàn

có thể sử dụng mà không mất phí, bên cạnh đó còn được cộng đồng hỗ trợ

o TypeScript là Javscript: Bản chất của TypeScript là biên dịch tạo ra các đoạn mã JavaScript nên ta có thể chạy bất kì ở đâu miễn ở đó có hỗ trợ biên dịch JavaScript Ngoài ra ta có thể sử dụng trộn lẫn cú pháp của JavaScript vào bên trong TypeScript, điều này giúp các lập trình viên tiếp cận TypeScript dễ dàng hơn

Trang 27

- AngularJS là một khung công việc (framework) JavaScript, có thể coi như

là một thư viện JavaScript được đóng gói và xây dựng nhằm dễ dàng tái sử dụng

và xây dựng các ứng dụng có quy mô lớn cần yếu tố tổ chức và quy chuẩn AngularJS 1.x được khai sinh từ năm 2009 với sự đỡ đầu và phát triển của Google,

vì thế mà nó ngày một khẳng định được xu thế một cách nhanh chóng hơn các JavaScript framework cùng thời Với bản chất là mã nguồn mở đúng nghĩa,

Trang 28

triển, đội ngũ phát triển AngularJS đã cho ra mắt AngularJS phiên bản thứ 2 kết hợp với TypeScript từ Mircosoft để trở nên hoàn thiện hơn về cơ cấu tổ chức ứng dụng, cũng như tốc độ xử lý và hiệu năng khi sử dụng

- AngularJS 2 thích hợp xây dựng ứng dụng theo mô hình ứng dụng trang đơn Mô hình ứng dụng một trang duy nhất, các phân bố dữ liệu đều được truyền nhận âm thầm với kỹ thuật JavaScript và XML không đồng bộ kết hợp API tương tác với web API Framework này được thế hệ web 2.0 phát triển khá mạnh ở nước ngoài, tuy nhiên ở Việt Nam thì vẫn chưa thông dụng lắm

1.1.5.2 Các đặc tính của AngularJS 2

- AngularJS 2 là một framework phát triển dựa trên JavaScript để tạo các ứng dụng web phong phú AngularJS thường dùng để phát triển frontend thông qua các API để gọi dữ liệu, sử dụng mô hình MVC rất mạnh mẽ Mã nguồn AngularJS

tự động sửa lỗi với các trình duyệt khác nhau nên ta không cần phải lo lắng về vấn

đề tương thích trình duyệt

1.1.5.3 Các thành phần chính của AngularJS 2

Hình 1.4 Thành phần chính của AngularJS 2

Trang 29

1.1.6 InvisionApp

1.1.6.1 Giới thiệu

- Cách tốt nhất để trao đổi về thiết kế với nhiều đồng nghiệp và khách hàng không ở đâu khác mà chính là sử dụng InvisionApp vào việc thiết kế sản phẩm Khoảng cách không còn là vấn đề quan trọng nữa Chúng ta có thể làm việc trực tiếp với những lập trình viên giỏi từ mọi nơi, hay chỉ đơn giản là ngồi tại Công ty

và thảo luận với các đồng nghiệp đang đi du lịch ở nước ngoài về những bản thiết

kế

- Không chỉ vậy, ta còn có thể tạo những tương tác cho bản thiết kế của mình

để kiểm tra mức độ dễ sử dụng của ứng dụng

1.1.6.2 Ví dụ

Hình 1.5 Bản thiết kế trang chủ website

Trang 30

1.2 Kỹ thuật tương tác dữ liệu (Back-End)

- Nếu chỉ sử dụng những kỹ thuật Front-End thôi thì chưa đủ để một trang web có thể hoạt động được Để giải quyết thì phần việc tương tác dữ liệu này được Back-End đảm nhận Phần Back-End của một trang web bao gồm một máy chủ, một ứng dụng, và một cơ sở dữ liệu Một lập trình viên Back-End xây dựng và duy trì công nghệ mà sức mạnh của những thành phần đó, cho phép phần giao diện người dùng của trang web có thể tồn tại được Bao gồm nhiều kỹ thuật được trình

bày sau đây:

1.2.1 Cơ sở dữ liệu PostgreSQL

- PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ và đối tượng dựa trên PostgreSQL, bản 4.2, được khoa điện toán của Đại học California tại Berkeley phát triển PostgreSQL mở đường cho nhiều khái niệm quan trọng mà các hệ quản trị dữ liệu thương mại rất lâu sau mới có

- PostgreSQL là một chương trình mã nguồn mở xây dựng trên mã nguồn ban đầu của Đại học Berkeley Nó theo chuẩn SQL99 và có nhiều đặc điểm riêng biệt:

o Câu truy vấn phức hợp (complex query)

o Khóa ngoại (foreign key)

o Thủ tục sự kiện (trigger)

o Các khung nhìn (view)

o Tính toàn vẹn của các giao dịch (integrity transaction)

o Việc kiểm tra truy cập đồng thời đa phiên bản (multiversion concurrency control)

Trang 31

1.2.2 Python

1.2.2.1 Giới thiệu

- Python là một ngôn ngữ lập trình thông dịch do Guido van Rossum tạo ra năm 1990 Python hoàn toàn tạo kiểu tự động và dùng cơ chế cấp phát bộ nhớ tự động, do vậy nó tương tự như Perl, Ruby, … Python được phát triển trong một dự

án mã nguồn mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý

- Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình Cấu trúc của Python còn cho phép người sử dụng viết

mã lệnh với số lần gõ phím tối thiểu

1.2.2.2 Tốc độ thực hiện

- Là một ngôn ngữ thông dịch, Python có tốc độ thực hiện chậm hơn nhiều lần so với các ngôn ngữ biên dịch như Fortran, C, … Trong số các ngôn ngữ thông dịch khác, Python được đánh giá nhanh hơn Ruby và Tcl, nhưng chậm hơn Lua

1.2.2.3 Cú pháp

Một ví dụ về khai báo biến và xử lý vòng lặp cho thấy Python là một ngôn ngữ trong sáng, dễ hiểu:

Hình 1.6 Mã Python

Trang 32

1.2.3 Django

1.2.3.1 Giới thiệu

- Django là một web framework miễn phí mã nguồn mở được viết bằng Python Django sử dụng mô hình Model-View-Control (MVC) Django được phát triển bởi Django Software Foundation (DSF) - một tổ chức phi lợi nhuận độc lập

- Mục tiêu chính của Django là đơn giản hóa việc tạo các website phức tạp

có sử dụng cơ sở dữ liệu Django tập trung vào tính năng “có thể tái sử dụng” và

“có thể tự chạy” của các component, tính năng phát triển nhanh, không làm lại những gì đã làm Một số website phổ biến được xây dựng từ Django là Pinterest, Instagram, Mozilla, và Bitbucket

1.2.3.2 Đặc điểm nổi bật

Django có đầy đủ yếu tố phục vụ cho một dự án khởi đầu:

- Nhanh: Django được thiết kế với triết lý làm sao để các lập trình viên có thể đưa các ý tưởng trở thành một sản phẩm nhanh nhất có thể

- Có đầy đủ các thư viện, tiêu chuẩn cần thiết: Django có sẵn các thư viện về chứng thực người dùng, quản lý nội dung, kịch bản vượt qua website Django cũng cung cấp cả phương pháp để lưu mật khẩu an toàn

- Khả năng mở rộng tốt: Django có thể đáp ứng lưu lượng lớn, nghĩa là chúng

ta không cần phải lo lắng gì về khả năng mở rộng cho sản phẩm của mình nữa

- Tính linh hoạt: xây dựng CMS, hoặc Website thương mại điện tử, hay kể cả mạng xã hội, nền tảng máy tính khoa học, tất cả đều có thể với Django

Trang 33

1.2.3.3 Tastypie

- Tastypie là một dịch vụ API Web dành cho Django Nó cung cấp sự tiện lợi, mạnh mẽ và có sự tùy biến cao, trừu tượng để tạo ra những giao diện kiểu REST

- Tastypie là một ứng dụng có thể dùng lại được (có nghĩa là nó chỉ dựa vào

mã lệnh của nó và chỉ tập trung cung cấp API kiểu REST) và thích hợp để cung cấp cho bất kỳ ứng dụng nào mà không cần thay đổi nguồn của ứng dụng đó

Trang 34

CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1 Đặt vấn đề

Khái niệm về Website được hình thành từ thập niên 90 khi mà các trình duyệt

đi vào giai đoạn hoàn thiện và phát triển mạnh mẽ như ngày nay Cùng với sự phát triển đó, việc phân tích thiết kế hệ thống đóng vai trò vô cùng quan trọng trong việc xây dựng một ứng dụng

Hiện tại, việc phân tích thiết kế hệ thống có thể chia thành hai hướng đó là:

- Theo hướng chức năng

- Theo hướng đối tượng

Theo đà phát triển của công nghệ, phân tích thiết kế hệ thống theo hướng đối tượng trong những năm gần đây đã thống lĩnh thị trường lập trình phần mềm Vì

nó xử lý được các vấn đề phức tạp trong phát triển phần mềm và tạo ra các thế hệ phần mềm có khả năng thích ứng và bền chắc

Bởi vì những ưu điểm đó nên tôi sẽ chọn giải pháp phân tích thiết kế hệ thống cho ứng dụng quản lý thông tin tuyển dụng theo hướng đối tượng

2.2 Yêu cầu chức năng

- CSDL có thể được truy cập trực tuyến và miễn phí

- Người dùng truy cập vào hệ thống có thể tìm kiếm thông tin tuyển dụng từ các nhà tuyển dụng trên Thành Phố Đà Nẵng theo từ khóa

- Người dùng có thể chia sẻ với nhau về cách làm việc hoặc những kinh nghiệm phỏng vấn về một nhà tuyển dụng nào đó

- Các nhà tuyển dụng có thể yêu cầu người quản trị cho phép đăng bài tuyển dụng lên trang web

Trang 35

2.3 Yêu cầu phi chức năng

- Đơn giản, dễ dàng sử dụng

- Đáp ứng nhanh

- Dễ dàng tìm kiếm thông tin

- Các chức năng theo một luồng thống nhất, không rời rạc

Ngày đăng: 11/05/2021, 16:27

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