Trang chủ
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP DỆT MAY HÀ NỘI
KHOA TIN HỌC - NGOẠI NGỮ

NGHIÊN CỨU, ỨNG DỤNG CÔNG NGHỆ WEB TRONG PHÁT TRIỂN CÁC PHẦN MỀM ỨNG DỤNG

Ngày đăng: 09:18 - 07/10/2022 Lượt xem: 555
 
Ngô Thị Thu Giang - Khoa Tin học, Ngoại Ngữ
1. Đặt vấn đề
Phần mềm ứng dụng chạy trên nền tảng website hay còn được gọi là web application hiện nay đã trở nên phổ biến và tiện lợi hơn rất nhiều so với việc các phần mềm được cài đặt được trên máy tính. Nhờ vào công nghệ thiết kế web mà người dùng có thể truy cập vào phần mềm bằng bất cứ thiết bị nào thông qua kết nối internet bằng trình duyệt (browser) mà không phải cài đặt trên một máy tính cụ thể. Đối với phần mềm ứng dụng web, cơ sở dữ liệu được lưu trữ hoàn toàn trên máy chủ web (web server), nên khi có thay đổi từ phía người dùng thì dữ liệu sẽ được cập nhật và đồng bộ tức thời. Đồng thời người dùng có thể dễ dàng tìm kiếm mọi thông tin trên internet ngay trong quá trình sử dụng phần mềm; hoặc khi cần chia sẻ ứng dụng chỉ cần gửi liên kết là có thể truy cập vào những tài liệu muốn chia sẻ. Vậy phần mềm ứng dụng web là gì và quy trình để phát triển các phần mềm ứng dụng web như thế nào, các nội dung đó sẽ được tác giả trình bày trong bài viết sau đây.
2. Khái niệm website và web application
2.1. Khái niệm Website
Website gồm tập hợp các trang có liên quan chứa các hình ảnh, video, văn bản, âm thanh…  được liên kết với nhau qua các đường link. Website có tác dụng chính là lưu trữ và hiển thị các thông tin. Người dùng lên website để đọc, xem và kích chuột vào các đường link di chuyển giữa trang này qua trang khác để tìm kiếm nguồn thông tin mà mình mong muốn.
2.2. Khái niệm web application
Web application (Phần mềm ứng dụng web) là một ứng dụng chạy trên website sử dụng trình duyệt và công nghệ web để thực hiện thao tác trực tiếp qua Internet. Các web application này có sự tương tác, cho phép người dùng nhận, nhập hay thực hiện thao tác dữ liệu.
* Cơ chế hoạt động của phần mềm ứng dụng web
- Người dùng thông qua internet, trình duyệt web hoặc giao diện để kích hoạt yêu cầu tới web server. 
- Web server sẽ chuyển tiếp yêu cầu tới máy chủ web chứa các chương trình phù hợp (web app server).
- Web app server sẽ thực hiện các nhiệm vụ được yêu cầu và các thao tác nghiệp vụ được yêu cầu như: truy vấn cơ sở dữ liệu, xử lý các dữ liệu,…. và tạo ra kết quả đáp ứng yêu cầu khai thác để gửi đến máy chủ web server.
- Máy chủ Web server sẽ phản hồi lại khách hàng thông tin đã được yêu cầu
* Sự khác nhau giữa Website và Web app
Tiêu chí so sánh Web Application Website
Khả năng tương tác Được thiết kế để tương tác với người dùng Chỉ chứa nội dung tĩnh
Người dùng sử dụng Không chỉ dừng lại ở việc đọc nội dung mà có thể thao tác dữ liệu Người dùng chỉ có thể đọc nội dung của trang mà được  thao tác
Biên dịch Web App phải được biên dịch trước khi tiến hành triển khai. Xác thực giúp bảo mật được tài khoản, tránh truy cập trái phép, rò rỉ thông tin dữ liệu Không cần phải thực hiện biên dịch.
Chức năng Khá phức tạp Đơn giản
Khả năng tương tác Hoàn toàn có thể tương tác với người dùng Không thể thực hiện tương tác với người dùng
Khả năng tích hợp Tích hợp rất phức tạp vì có liên quan đến chức năng phức tạp của ứng dụng web Có sự tích hợp đơn giản
                                                                             (Thủy Nguyễn, 2021)
3. Các thành phần của Web application
Để thiết kế web application cần phải thiết kế 3 phần chính: Thiết kế giao diện (Front End), Thiết kế xử lý (Back End) và thiết kế cơ sở dữ liệu (Back End - Database).
3.1. Thiết kế giao diện (Front End)
Thiết kế các hiển thị trực tiếp trên trình duyệt của người dùng, cho phép ứng dụng web giao tiếp với người dùng.
3.2. Thiết kế các xử lý (Back End)
Back End chính là phần xử lý nghiệp vụ trong lập trình app như xử lý một yêu cầu đến trang web, chạy một tập lệnh, truy cập dữ liệu, lưu trữ hoặc cập nhật hồ sơ trong cơ sở dữ liệu, xử lý đầu vào của người dùng qua javascript…vv.
3.3. Thiết kế cơ sở dữ liệu (Database)
Database chịu trách nhiệm lưu trữ và truy xuất dữ liệu phát sinh từ các ứng dụng. Để hoàn thành được phần này cần:
- Sử dụng ngôn ngữ truy vấn dữ liệu, đây là ngôn ngữ nền tảng và phổ biến nhất trong lập trình web.
- Sử dụng Hệ quản trị CSDL gồm: Oracle, MySQL, SQL Server, Postgre SQL…vv (Mai Xuân Hùng, 2015)
3. Quy trình phát triển các phần mềm ứng dụng web
Bước 1. Phân tích hệ thống
* Khảo sát hiện trạng của hệ thống
Khảo sát hiện trạng nhằm tìm hiểu các chức năng, nhiệm vụ và cung cách hoạt động của hệ thống để từ đó chỉ ra các chỗ hợp lý của hệ thống cần được kế thừa, các chỗ bất hợp lý để nghiên cứu khắc phục. Khảo sát chính là công việc đầu tiên người lập trình cần thực hiện để có tư liệu thiết kế. Lập trình viên sẽ cần tiến hành khảo sát chung và khảo sát chi tiết. Trong đó:
- Khảo sát chung là dựa trên nhu cầu khách hàng, tìm hiểu về thị trường/sự phổ biến của loại phần mềm đó.
- Khảo sát chi tiết là lấy tư liệu từ khách hàng. Đặt vấn đề/lấy ý kiến, thu thập thông tin, hiểu rõ về nhu cầu của khách hàng, những điều kiện cần và đủ để triển khai phần mềm.
*  Phân tích nghiệp vụ
Phân tích nghiệp vụ là bước xác định các nhu cầu để đề xuất giải pháp cho hệ thống. Để phân tích nghiệp vụ cần phải làm 2 công việc:
- Xác định yêu cầu của khách hàng về : tính năng, nghiệp vụ, bố cục của phần mềm,…
- Phân tích chi tiết (vẽ mô hình thực thể liên kết ERD) để xác định cụ thể các thành phần, tránh bỏ sót bất kỳ thuộc tính nào . 
Bước 2: Thiết kế hệ thống
Đây là công đoạn chính của quy trình thiết kế phần mềm. Ở bước này phần mềm được cụ thể hóa và thực hiện các công việc như sau:
- Thiết kế cơ sở dữ liệu: Thiết kế cơ sở dữ liệu là quá trình mô hình hóa nhằm chuyển đổi các đối tượng từ thế giới thực (Real-world system) sang các bảng trong hệ thống cơ sở dữ liệu (Database system) đáp ứng các yêu cầu lưu trữ và khai thác dữ liệu. Để thực hiện việc thiết kế cơ sở dữ liệu chúng ta cần thực hiện các bước sau đây:
  • Xác định các thành phần dữ liệu
  • Chia nhỏ các thành phần dữ liệu ra thành các phần nhỏ nhất mà hệ thống sử dụng
  • Xác định các bảng và các cột
  • Xác định khóa chính, khóa ngoại và mối quan hệ
  • Kiểm tra cấu trúc cơ sở dữ liệu được thiết kế với qui định chuẩn hóa
Đồng thời sử dụng các hệ quản trị cơ sở dữ liệu như DB2, Oracle, MySQL, SQL Server, Postgre SQL…vv để xây dựng các truy vấn, hàm thủ tục…vv
- Thiết kế giao diện: Để thiết kế giao diện cần phải tiến hành phân loại người dùng; mô tả nhu cầu người dùng; thiết kế sự phân cấp các chức năng; thiết kế chi tiết các tương tác.
- Thiết kế các biểu mẫu và tài liệu in: Thiết kế trình bày các thông tin cho các biểu mẫu, các báo cáo kết xuất từ phần mềm (Nguyễn Văn Ba, 2005)
Bước 3. Lập trình
- Lập trình giao diện phần mềm (frontend). Đây chính là phần thiết kế giao diện cho người sử dụng. Trong đó
+ Sử dụng ngôn ngữ HTML: dùng để tạo ra trang web, bố cục trang web tĩnh và cấu trúc website.
+ Ngôn ngữ CSS: để định dạng các thành phần của trang web, giúp website đẹp mắt hơn.
+ Ngôn ngữ JavaScript: được sử dụng để tạo ra sự tương tác tốt của giao diện web với người dùng.
- Lập trình các module, tính năng, hệ thống (Backend). Là lập trình từ phía máy chủ, người dùng không thể truy cập vào phần Back End, họ chỉ có thể giao tiếp với máy chủ và thực hiện một số hành động như đăng nhập, đăng xuất, tải ảnh lên, đăng ký, v.v. Các chức năng từ phía Back End được lập trình bằng các ngôn ngữ như:  JAVA, PHP, Python, Ruby, C#, node js...…vv (Mai Xuân Hùng, 2015)
Bước 5. Cài đặt và kiểm thử phần mềm
Giai đoạn kiểm thử là giai đoạn khá khó khăn nhằm để kiểm chứng phần mềm có phù hợp với các đặc tả, thiết kế ban đầu hay không, các chức năng có hoạt động ổn định hay không, thử nghiệm logic của các thao tác có đúng hay không; Khắc phục các lỗi nếu xảy ra. Kết quả cuối cùng của giai đoạn kiểm thử là sẽ cần phải hoàn thiện phần mềm. Cũng như thực hiện viết các tài liệu hướng dẫn sử dụng cho phần mềm nếu chưa thực hiện.

Bước 6. Triển khai và bảo trì

Khi phần mềm đã hoàn thiện sẽ tiến hành triển khai dịch vụ phần mềm để người dùng có thể tìm hiểu và sử dụng. Trong thực tế, phần mềm vẫn tiếp tục được nâng cấp, bảo trì và cập nhật các tính năng để đảm bảo trải nghiệm tối ưu của người dùng và khách hàng.
4. Kết luận
Phần mềm ứng dụng web là một trong những bước tiến lớn trong lập trình, khi mà những lập trình viên có thể đưa những hệ thống quản lý truyền thống tích hợp chung vào website;  có những đặc điểm khác biệt so với website thông thường, một số những đặc điểm có thể kể đến đó là: tính tương tác cao, người dùng không chỉ đọc nội dung mà có thể thao tác dữ liệu; Web application được biên dịch trước khi tiến hành triển khai và xác thực giúp bảo mật được tài khoản, tránh truy cập trái phép, rò rỉ thông tin dữ liệu. Một web application tốt, thành công phải đảm bảo hệ thống được phân tích tối ưu nhất. Nếu việc thiết kế website thông thường có thể tạo hình cơ bản thiết kế ứng dụng web phải tiến hành đầy đủ các công đoạn của phát triển phần mềm như phân tích, thiết kế hệ thống; thiết kế, xây dựng mô hình cơ sở dữ liệu và lập trình…vv
 
TÀI LIỆU THAM KHẢO
[1] Thủy Nguyễn (2021), Web app là gì? Cách thức hoạt động và sự khác nhau giữa Web app và Website. Https://bizfly.vn/techblog/web-app-la-gi.html.
[2] Nguyễn Văn ba, Phân tích và Thiết kế hệ thống thông tin, NXB Đại học Quốc Gia, 2005.
[3] Mai Xuân Hùng, Giáo trình ứng dụng phát triển web, NXB Đại học Quốc gia TP.HCM, 2015.
 

 Tác giả nên xem lại đã phù hợp với nội dung cốt lõi cần trình bày chưa
 máy tính, thiết bị thông minh
 Không phải cài đặt phần mềm
 Nên chọn ảnh sắc nét để nhìn rõ minh họa được cơ chế hoạt động
 -Từ máy tính hoặc thiết bị thông minh người dùng thông qua kết nối internet, từ trình duyệt web hoặc giao diện để kích hoạt yêu cầu tới web server.  
 xử lý dữ liệu
 - Máy chủ Web server sẽ phản hồi lại khách hàng thông tin đã được yêu cầu hiển thị kết quả thông qua màn hình máy tính, màn hình của thiết bị thông minh
 - Phân tích chi tiết để xác định các thực thể, thuộc tính của từng thực thể, tránh bỏ sót bất kỳ thuộc tính nào. Vẽ mô hình thực thể liên kết ERD.

© Bản quyền 2017 thuộc về Trường Đại Học Công nghiệp Dệt may Hà Nội
Online: 287 Tổng truy cập: 30.263.540