Tải bản đầy đủ (.docx) (48 trang)

Bài tập lớn Công cụ phát triển phần mềm Đại học Công nghiệp Hà Nội

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.31 MB, 48 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
____________________���____________________

BÁO CÁO BÀI TẬP LỚN

CÔNG CỤ PHÁT TRIỂN PHẦN MỀM
ĐỀ TÀI
Phân tích thiết kế hệ thống Website
Quản Lý Nhân Sự Doanh Nghiệp
- - - - - - - - - - -- - - - - - - - Giáo viên hướng : ThS. Hồng Quang Huy
dẫn
Nhóm số
Mã lớp

: 4
: 20202IT6003004

Hà Nội, 2021

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI


Nhóm 4
KHOA CƠNG NGHỆ THƠNG TIN
____________________���____________________

BÁO CÁO BÀI TẬP LỚN

CƠNG CỤ PHÁT TRIỂN PHẦN MỀM
ĐỀ TÀI


Phân tích thiết kế hệ thống Website
Quản Lý Nhân Sự Doanh Nghiệp
---------- ---------Giáo viên hướng : ThS. Hoàng Quang Huy
dẫn
Mã lớp
Sinh viên thực hiện

: 20202IT6003004
: Lê Thị Hảo – 2018604750
Phạm

Thanh

Nam



2018604735
Hà Quốc Tuấn – 2018603944

Hà Nội, 2021
Công cụ phát triền phần mềm


Nhóm 4

LỜI CẢM ƠN
Đầu tiên chúng em xin gửi lời cảm ơn đến thầy Hoàng Quang Huy – Giáo
viên hướng dẫn khoa Công nghệ thông tin – Đại học Công nghiệp Hà Nội đã giúp
đỡ hướng dẫn nhóm chúng em trong suốt q trình hồn thành bản báo cáo bài tập

lớn của học phần với đề tài đã được giao của nhóm.
Bản báo cáo bài tập lớn của học phần được hoàn thành dưới sự hợp tác của
các thành viên trong nhóm cùng với sự đóng góp ý kiến của Giáo viên hướng dẫn.
Tuy nhiên do kiến thức chuyên ngành cịn hạn chế nên em khơng tránh khỏi thiếu
sót, rất nhận được đóng góp của thầy để đề tài của chúng em được đầy đủ và hoàn
chỉnh hơn.
Chúng em xin chân thành cảm ơn!

Công cụ phát triền phần mềm


Nhóm 4

MỤC LỤC

Cơng cụ phát triền phần mềm


Nhóm 4

THUẬT NGỮ

DANH MỤC HÌNH VẼ

DANH MỤC BẢNG BIỂU

Cơng cụ phát triền phần mềm


Nhóm 4


MỞ ĐẦU
1. Lý do chọn đề tài
Thế giới ngày càng phát triển với sự bủng nổ không ngừng của công nghệ
thông tin và công nghệ cũng trở thành một lĩnh lực quan trọng trong cuộc sống
hiện đại. Việc ứng dụng công nghệ vào đời sống giúp công việc được tiến hành
nhanh chóng, hiệu quả hơn. Song song với đó là hàng loạt các phần mềm và công
cụ và môi trường phát triển phần mềm được ra đời để phục vụ nhu cầu của các lập
trình viên cũng như các nhà phát triển – thiết kế phần mềm. Rất nhiều các công cụ
phát triển phần mềm chuyên biệt với những chức năng khách nhau trong quá trình
phát triển phần mềm. Trong mỗi giai đoạn của mơ hình phát triển phần mềm như:
thu thập yêu cầu, phân tích, thiết kế, xây dựng phần mềm, kiểm thử, … đều có một
nhóm các công cụ hỗ trợ cho người phát triển. Những công cụ đều giúp cho việc
quản lý dự án, xây dựng phần mềm trở nên dễ dàng, đồng nhất và tiết kiệm chi phí.
Nhằn nêu rõ các lợi ích của các cơng cụ phát triển phần mềm trong q trình
phân tích, thiết kế, xây dựng hay kiểm thử phần mềm. Nhóm chúng em xin đưa
vào một đề tài cụ thể là “Phân tích thiết kế hệ thống website Quản lý nhân sự
doanh nghiệp” với các công cụ thường được sử dụng trong lĩnh vực phát triển
phần mềm như: Rational Rose, Mockup, …
2. Mục tiêu đề tài
Nghiên cứu phân tích bài tốn Quản lý nhân sự doanh nghiệp bằng UML,
thiết kế đươc CSDL và giao diện cho Website bằng Mockup.
Nghiên cứu, tìm hiểu các cơng cụ dùng trong q trình phát triển phần mềm,
quản lý dự án công nghệ thông tin.
3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu
˗ Các Usecase bài toán Quản lý nhân sự doanh nghiệp, phân tích và
thiết kế hệ thống website quản lý nhân sự doanh nghiệp.
˗ Các công cụ được sử dụng trong quá trình phát triển phần mềm.
Phạm vi nghiên cứu:

Cơng cụ phát triền phần mềm


Nhóm 4
Cách sử dụng các cơng cụ phát triển phần mềm và áp dụng các phần mềm
đó vào việc xây dựng một phần mềm cụ thể.
4. Ý nghĩa khoa học, ý nghĩa thực tiễn của đề tài
Ý nghĩa khoa học
˗ Hiểu rõ được mục đích sử dụng của các cơng cụ dùng cho việc phát
triển phần mềm
Ý nghĩa thực tiễn
˗ Biết được cách sử dụng các công cụ phát triển phần mềm áp dụng vào
việc học tập và nghiên cứu cũng như cơng việc ngồi doanh nghiệp
sau này.
5. Kết quả mong muốn
˗ Phân tích thiết kế hệ thống website quản lý nhân sự doanh nghiệp.
˗ Sử dụng phần mềm Rational rose để phân tích thiết kế UML.
˗ Thiết kế CSDL cho bài tốn.
˗ Xây dựng hình dung giao diện cho bài tốn.
˗ Biết được cách sử dụng các cơng cụ.
6. Cấu trúc của báo cáo
Cấu trúc của bài báo cáo gồm 3 chương:
˗ Chương 1: Tổng quan về công cụ và môi trường phát triển phần mềm.
˗ Chương 2: Phân tích và thiết kế hệ thống website quản lý nhân sự
doanh nghiệp.
˗ Chương 3: …..

Công cụ phát triền phần mềm



Nhóm 4

CHƯƠNG 1:

TỔNG QUAN VỀ CƠNG CỤ VÀ MƠI TRƯỜNG
PHÁT TRIỂN PHẦN MỀM

1.1. Giới thiệu chung
1.1.1. Giới thiệu
Bất kỳ hệ thống hay phần mềm nào hỗ trợ lập trình viên trong việc phát triển
phần mềm có thể được coi là một công cụ phát triển phần mềm. Tương tự, một hệ
thống hỗ trợ trong một số giai đoạn của quá trình phát triển phần mềm cũng có thể
được coi là một cơng cụ phát triển phần mềm.
Nói rõ hơn, cơng cụ phát triển phần mềm là sản phẩm được xây dựng phục
vụ cho việc thực hiện xây dựng và phát triển một phần mềm.
Cơng cụ phát triển phần mềm có thể kể đến đó là ngơn ngữ lập trình, cơng
cụ hỗ trợ thiết kế, công cụ kiểm thử, công cụ cài đặt, hệ quản trị cơ sở dữ liệu.
Mỗi giai đoạn của quá trình phát triển phần mềm đều đều có một nhóm các
cơng cụ hỗ trợ cho người phát triển.
1.1.2. Quy trình phát triển phần mềm
Quy trình phát triển phần mềm bao gồm tập hợp các thao tác và các kết quả
sử dụng trong việc phát triển sản phẩm phần mềm. Nhìn chung, một quy trình phát
triển phần mềm bao gồm các giai đoạn như sau:
1.1.2.1.

Lấy yêu cầu của khách hàng (Software Requirements)

Nhiệm vụ: Thực hiện khảo sát chi tiết yêu cầu của khách hàng để từ đó tổng
hợp vào tài liệu. Tài liệu này phải mô tả đầy đủ các yêu cầu về chức năng, phi chức
năng và giao diện.

Kết quả: Đầu ra của giai đoạn này là Tài liệu đặc tả yêu cầu.
1.1.2.2.

Thiết kế hệ thống (Software Design)

Nhiệm vụ: Thực hiện thiết kế hệ thống dựa theo các đặc tả yêu cầu của
khách hàng.
Công cụ phát triền phần mềm


Nhóm 4
Kết quả: Tài liệu phân tích thiết kế hệ thống bằng UML, thiết kế CSDL.
1.1.2.3.

Xây dựng, Lập trình phần mềm (Software Construction)

Nhiệm vụ: Lập trình viên thực hiện lập trình dựa trên tài liệu Giải pháp và
Thiết kế đã được phê duyệt.
Kết quả: Source code.
1.1.2.4.

Kiểm thử phần mềm (Software Testing)

Nhiệm vụ: Tester tạo kịch bản kiểm thử (test case) theo tài liệu đặc tả yêu
cầu, thực hiện kiểm thử và cập nhật kết quả vào kịch bản kiểm thử, log lỗi trên các
tool quản lý lỗi.
Kết quả: Test case, lỗi trên hệ thống quản lý lỗi.
1.1.2.5.

Triển khai và bảo trì


Nhiệm vụ: Triển khai sản phẩm cho khách hàng, bảo trì.
Kết quả: Biên bản triển khai với khách hàng.
1.1.3. Cơng cụ phát triển phần mềm
Hệ thống phần mềm hỗ trợ quá trình phát triển phần phần mềm, hay trong
từng giai đoạn gọi là CASE Tools (Computer Aided Software Engineering Tools).

Chức năng của CASE trong mối giai đoạn phát triển phần mềm:
Giai đoạn
Phân tích yêu cầu phần mềm
Thiết kế phần mềm
Xây dựng phần mềm

Chức năng
Soạn thảo sơ đồ: DFD, ERD, …
Sọan thảo sơ đồ quan hệ, Phát sinh
CSDL, …
Soạn thảo chương trình, Trình dịch, …
Cơng cụ phát triền phần mềm


Nhóm 4
Kiểm thử phần mềm
1.1.3.1.

Debug, Phát dữ liệu thử nghiệm, …

Cơng cụ lập kế hoạch, phân tích u cầu

Các cơng cụ này giúp thu thập các yêu cầu, tự động kiểm tra xem có bất kỳ

sự khơng nhất qn, khơng chính xác nào trong sơ đồ, dư thừa dữ liệu hoặc thiếu
sót sai sót hay khơng.
Ví dụ: CaseComplete – dùng cho phân tích yêu cầu, Visible Analyst – dùng
cho phân tích tổng thể, Visual Paradigm – Vẽ biểu đồ dữ liệu DFD ERD, Xmind –
Phân tích yêu cầu phần mềm theo bản đồ tư duy, ...
Từ các yêu cầu phân tích được, xây dựng kế hoạch cho dự án bằng các công
cụ quản lý dự án như Microsoft Project, …
1.1.3.2.

Công cụ thiết kế phần mềm

Những công cụ này giúp các nhà thiết kế phần mềm thiết kế cấu trúc khối
của phần mềm, cấu trúc này có thể được chia nhỏ hơn nữa trong các mô-đun nhỏ
hơn bằng cách sử dụng các kỹ thuật sàng lọc. Các công cụ này cung cấp thông tin
chi tiết về từng mô-đun và kết nối giữa các mơ-đun.
• Thiết kế chức năng
Từ các u cầu về chức năng xây dựng mơ hình phần mềm bằng UML. Có
thể sử dụng các cơng cụ như Rational Rose.
• Thiết kế cơ sở dữ liệu
Ví dụ: MySQL, SQL Server, MongoDB, …
• Thiết kế giao diện – nguyên mẫu phần mềm
Nguyên mẫu phần mềm là phiên bản mô phỏng của sản phẩm phần mềm dự
định. Nguyên mẫu cung cấp cái nhìn và cảm nhận ban đầu về sản phẩm và mơ
phỏng một số khía cạnh của sản phẩm thực tế.
Các công cụ Prototyping CASE về thường đi kèm với các thư viện đồ họa.
Chúng có thể tạo thiết kế và giao diện người dùng độc lập với phần cứng. Những
công cụ này giúp xây dựng các nguyên mẫu nhanh chóng dựa trên thơng tin đã có.

Cơng cụ phát triền phần mềm



Nhóm 4
Ví dụ: GUI Design Studio, Balsamiq mockup, Photoshop, Bootstrap Studio,

1.1.3.3.

Công cụ xây dựng phần mềm

Các công cụ xây dựng phần mềm thường liên quan tới việc tạo và biên dịch
phần biểu diễn chương trình phần mềm (thường gọi là mã nguồn – source code).
Các công cụ này bao gồm các mơi trường lập trình như IDE (Mơi trường
phát triển tích hợp), thư viện mơ-đun tích hợp sẵn và các công cụ mô phỏng.
Những công cụ này cung cấp hỗ trợ toàn diện trong việc xây dựng sản phẩm phần
mềm và bao gồm các tính năng để mơ phỏng và thử nghiệm.
• Trình soạn thảo (Editor)
Trình soạn thảo là cơng cụ được dùng để tạo và sửa mã nguồn của chương
trình. Cơng cụ soạn thảo có thể là một phần mềm soạn thảo văn bản đơn thuần
hoặc được tạo ra chun cho một hoặc nhiều ngơn ngữ lập trình.
• Trình biên dịch và tạo mã (Compiler and code generator)
Trình dịch đoạn mã nguồn thành chương trình. Hiện nay trình biên dịch
thường được tích hợp với trình soạn thảo để tạo mơi trường lập trình tích hợp
(integrated programming environment).
• Trình thơng dịch (Interpreter)
Trình thơng dịch giúp thực thi phần mềm.
• Trình gỡ lỗi (Debugger)
Các công cụ gỡ lỗi đã coi là một nhóm riêng biệt vì chúng hỗ trợ q trình
xây dựng phần mềm nhưng khác với trình soạn thảo hay trình biên dịch.
Hiện nay với mơi trường phát triển tích hợp IDE thì tất cả các loại cơng cụ
xây dựng phần mềm trên được tích hợp vào một cơng cụ duy nhất. Có thể nói đến
như: Microsoft Visual Studio, IntelliJ IDEA, Netbean, …


Công cụ phát triền phần mềm


Nhóm 4
1.1.3.4.

Cơng cụ kiểm thử phần mềm

Các cơng cụ kiểm thử phần mềm dùng để kiểm tra lỗi, cải thiện chất lượng
phần mềm. Có rất nhiều cơng cụ kiểm thử có sẵn trên thị thường cả cơng cụ mã
nguồn mở và trả phí.
Các cơng cụ kiểm thử phần mềm có thể được chia thành những nhóm sau:
• Cơng cụ quản lý kiểm thử (Test management tool)
Công cụ quản lý kiểm thử được sử dụng để theo dõi tất cả các hoạt động
kiểm thử, phân tích dữ liệu nhanh, quản lý các test thủ cơng và tự động hóa, các
mơi trường khác nhau cũng như lập kế hoạch kiểm thử.
Một số công cụ quản lý kiểm thử phổ biến như: Quality center, RTH,
Testpad, Test Monitor, PractiTest, …

• Cơng cụ theo dõi lỗi (Bug tracking tool): Công cụ theo dõi lỗi được sử dụng
để theo dõi các bản sửa lỗi và đảm bảo cung cấp sản phẩm chất lượng.
• Cơng cụ kiểm thử tự động (Automated testing tool)
Loại công cụ này được sử dụng để nâng cao năng suất của sản phẩm và cải
thiện độ chính xác. Chúng ta có thể giảm thời gian và chi phí bằng cách viết một số
đoạn mã kiểm thử bằng bất kỳ ngơn ngữ lập trình nào.
Kiểm thử tự động được sử dụng để thay đổi các trường hợp kiểm thử thủ
công thành một kịch bản kiểm thử với sự trợ giúp của một số công cụ tự động hóa.
Có nhiều loại cơng cụ kiểm thử tự động khác nhau trên thị trường. Một số
công cụ kiểm thử tự động được sử dụng phổ biến nhất như: Selenium, Watir, QTP,

Telerik Studio, …
• Cơng cụ kiểm thử hiệu suất (Performance testing tool)
Công cụ phát triền phần mềm


Nhóm 4
Các cơng cụ kiểm thử hiệu suất hoặc tải được sử dụng để kiểm tra độ chịu
tải, độ ổn định và khả năng mở rộng của ứng dụng. Khi có nhiều người dùng truy
cập cùng một lúc và nếu ứng dụng gặp sự cố do tải quá lớn, để giải quyết loại vấn
đề này, chúng tôi cần các công cụ kiểm thử tải để đánh giá.
Một số công cụ kiểm thử hiệu suất (tải) được sử dụng như: Apache JMeter,
LoadRunner [HP], LoadNinja, WebLOAD, …
• Cross-browser testing tool: Dùng để so sánh một web trong các browser
khác nhau.
• Cơng cụ kiểm thử tích hợp (Integration testing tool)
Loại cơng cụ này được sử dụng để kiểm tra giao diện giữa các mơ-đun và
tìm ra các lỗi nghiêm trọng xảy ra do các mô-đun khác nhau và đảm bảo rằng tất cả
các mơ-đun đang hoạt động theo u cầu của khách hàng.
• Công cụ kiểu thử đơn vị (Unit testing tool)
Công cụ kiểm tra này được sử dụng để giúp các lập trình viên cải thiện chất
lượng code và giảm thời gian viết code cũng như chi phí phần mềm.

Một số cơng cụ được sử dụng phổ biến trong kiểm thử đơn vị: NUnit, JUnit,
TestNG, Mockito, PHPUnit, …
• Cơng cụ kiểm thử di động (Mobile/android testing tool)
• Cơng cụ kiểm thử giao diện người dùng (GUI testing tool)
• Cơng cụ kiểm thử bảo mật (Security testing tool)

Công cụ phát triền phần mềm



Nhóm 4

1.2. Một số cơng cụ phát triển phần mềm điển hình
1.2.1. Cơng cụ thiết kế phần mềm – Rational Rose
Rational rose là phần mềm công cụ hỗ trợ phân tích và thiết kế hệ thống
phần mềm theo đối tượng. Rational rose có thể mơ hình hóa hệ thống trước khi viết
mã chương trình và phân tích hệ thống, có thể thiết kế được mơ hình. Mơ hình
Rose là bức tranh của hệ thống từ những phối cảnh khác nhau nó bao gồm tất cả
các mơ hình UML, actors, use cases, objects, component và deployment nodes, …
trong hệ thống.
Một mô hình Rational Rose chứa nhiều sơ đồ khác nhau cho phép các thành
viên trong nhóm đề án xem hệ thống từ các góc nhìn khác nhau như: khách hàng,
nhà thiết kế, quản trị đề án, …

Các sơ đồ (diagram) trong Rational Rose bao gồm các UML, actor, use case,
các lớp, đối tượng, … của hệ thống. Trong Rational Rose có 6 loại lược đồ chính,
mỗi loại lại đảm nhận một chức năng khác nhau hỗ trợ đắc lực cho người dùng
trong q trình phân tích thiết kế

Cơng cụ phát triền phần mềm


Nhóm 4
1.2.1.1.

Một số thành phần trong lược đồ Usecase

1.2.1.1.1. Tác nhân – Actor
Actor (tác nhân): là người dùng của hệ thống, nó có thể là

dùng thực hoặc các hệ thống máy tính khác có vai trị nào đó trong User

người
hệ

thống.
1.2.1.1.2. Ca sử dụng – Usecase
Use case: mô tả các yêu cầu về mặt chức năng của hệ
thống.

User managment

1.2.1.1.3. Quan hệ – Relationship
Relationships (các quan hệ) biểu hiện quan hệ giữa tác nhân – tác nhân, tác
nhân – use case và use case – use case. Có 3 quan hệ chính:
<<include>>

<<extend>>

NguoiDung

QuanTriVien

• Include: use case này sử dụng lại chức năng của use case kia.
• Extend (mở rộng): use case này mở rộng từ use case kia bằng cách
thêm mới 1 chức năng nào đó.
• Generalization (kế thừa): use case này kế thừa các chức năng, thuộc
tính của use case kia.
1.2.1.2.


Biểu đồ lớp – Class diagram

Class diagram dùng để mơ hình hóa cấu trúc tĩnh của hệ thống tổng quát
trong quá trình phát triển. Mỗi diagram chứa các class và mối quan hệ giữa chúng:
kế thừa, kết hợp, kết tập, quan hệ thành phần và cũng có thể mơ tả các hoạt động
của lớp.
Một lớp gồm 3 thành phần: tên lớp, thuộc tính và phương thức.

Cơng cụ phát triền phần mềm


Nhóm 4

KhachHang

XemSanPhamUI

1

*

CSDL

Lay bang SanPham()
Lay bang HOADON()
Lay bang CHITIETHOADON()
Lay bang SANPHAM()

Khach hang chon san pham bat ky()
Hien thi thong tin san pham()

1
Hien thi man hinh chinh()
1

ICsdl

1

1

SANPHAM

XemSanPhamController

MaSanPham
TenSanPham
MoTaSanPham
GiaBan
SoLuong
ThongSoKT
MoTaChiTiet

Lay bang SanPham()

getMaSanPham()
setMaSanPham()
getTenSanPham()
setTenSanPham()
getMoTaSanPham()
setMoTaSanPham()

getGiaBan()
setGiaBan()
getSoLuong()
setSoLuong()
getThongSoKT()
setThongSoKT()
getMoTaChiTiet()
setMoTaChiTiet()
get Thong tin San Pham()
getSANPHAM()

1.2.1.3.

Biểu đồ cộng tác và biểu đồ trình tự – Collaboration diagram và

Sequence diagram
Biểu đồ tuần tự: Biểu diễn mối quan hệ giữa các đối tượng, bao gồm các
quan hệ giữa các đối tượng - tác nhân theo thứ tự thời gian. Biểu đồ tuần tự nhấn
mạnh thứ tự thực hiện của các tương tác.

: XemSanPhamController
: KhachHang

: SANPHAM
: ICsdl

: XemSanPhamUI

: CSDL


1: Khach hang chon san pham bat ky( )
2: Lay bang SanPham( )
3: Lay bang SanPham( )

4: Lay bang SanPham( )
5: get Thong tin San Pham( )

6: return Thong tin san pham

7: Hien thi thong tin san pham( )

Biểu đồ cộng tác: Là biểu đồ tương tác biểu diễn mối quan hệ giữa các đối
tượng, bao gồm quan hệ giữa các đối tượng – tác nhân, nhấn mạnh đến vai trị của
đối tượng trong tương tác.
Cơng cụ phát triền phần mềm


Nhóm 4
1.2.2. Cơng cụ thiết kế CSDL phi quan hệ – MongoDB Compass
Cơ sở dữ liệu NoSQL (tên gốc là "Non SQL" (phi SQL) hoặc "non
relational" (phi quan hệ) cung cấp một cơ chế để lưu trữ và truy xuất dữ liệu được
mơ hình hóa khác với các quan hệ bảng được sử dụng trong các cơ sở dữ liệu kiểu
quan hệ.
NoSQL đã ra đời để đẩy nhanh tốc độ, nhằm mục đích liên tục phát triển và
rút ngắn các chu trình, mục đích để truy vấn dữ liệu với tốc độ nhanh, đáp ứng nhu
cầu của người dùng. Hệ thống NoSQL lưu trữ và quản trị dữ liệu sao cho có thể hỗ
trợ được tốc độ vận hành ở cơng suất cao và cung cấp tính linh hoạt tuyệt vời cho
các nhà phát triển sử dụng. Không giống với cơ sở dữ liệu SQL, rất nhiều cơ sở dữ
liệu NoSQL có thể mở rộng theo chiều ngang trên hàng trăm hoặc hàng ngàn máy
chủ.

1.2.2.1.

Đặc điểm của cơ sở dữ liệu phi quan hệ - NoSQL

Đặc điểm của cơ sở dữ liệu phi quan hệ - NoSQL


NoSQL lưu trữ dữ liệu của mình theo dạng cặp giá trị “key – value”. Sử
dụng số lượng lớn các node để lưu trữ thơng tin.



Mơ hình phân tán dưới sự kiểm sốt phần mềm.



Chấp nhận dữ liệu bị trùng lặp do một số node sẽ lưu cùng thơng tin
giống nhau.



Một truy vấn sẽ được gửi tới nhiều máy cùng lúc, do đó khi một máy nào
đó khơng phục vụ được sẽ khơng ảnh hưởng lắm đến chất lượng trả về
kết quả.



Phi quan hệ – khơng có ràng buộc nào cho việc nhất qn dữ liệu.




Tính nhất qn khơng theo thời gian thực: Sau mỗi thay đổi CSDL,
không cần tác động ngay đến tất cả các CSDL liên quan mà được lan
truyền theo thời gian.

Công cụ phát triền phần mềm


Nhóm 4
1.2.2.2.

Cơng cụ MongoDB Compass

MongoDB lần đầu ra đời bởi MongoDB Inc., tại thời điểm đó là thế hệ 10,
vào tháng Mười năm 2007, nó là một phần của sản phẩm PaaS (Platform as a
Service) tương tự như Windows Azure và Google App Engine. Sau đó nó đã được
chuyển thành nguồn mở từ năm 2009.
MongoDB đã trở thành một trong những NoSQL database nổi trội nhất bấy
giờ, được dùng làm backend cho rất nhiều website như eBay, SourceForge và The
New York Times.
MongoDB là một công cụ thiết kế cơ sở dữ liệu hướng tài liệu (document),
các dữ liệu được lưu trữ trong Document kiểu JSON thay vì dạng bảng như CSDL
quan hệ nên truy vấn sẽ rất nhanh. Với CSDL quan hệ có khái niệm bảng, các cơ
sở dữ liệu quan hệ (như MySQL hay SQL Server...) sử dụng các bảng để lưu dữ
liệu thì với MongoDB chúng ta sẽ dùng khái niệm là Collection thay vì bảng. So
với RDBMS thì trong Collection trong MongoDB Compass ứng với table,
Document sẽ ứng với row, MongoDB sẽ dùng các document thay cho row trong
RDBMS.
Các Collection trong MongoDB được cấu trúc rất linh hoạt, cho phép các dữ
liệu lưu trữ không cần tuân theo một cấu trúc nhất định. Thông tin liên quan được

lưu trữ cùng nhau để truy cập truy vấn nhanh thông qua ngôn ngữ truy vấn
MongoDB. MongoDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở, là CSDL
thuộc NoSql và được hàng triệu người sử dụng.
MongoDB Compass là GUI cho MongoDB. MongoDB Compass cho phép
người dùng phân tích và hiểu nội dung dữ liệu mà khơng cần kiến thức chính thức
về cú pháp truy vấn MongoDB. Ngồi việc khám phá dữ liệu trong môi trường
Công cụ phát triền phần mềm


Nhóm 4
trực quan, người dùng cũng có thể sử dụng MongoDB Compass để tối ưu hóa hiệu
suất truy vấn, quản lý chỉ mục và triển khai xác thực tài liệu.
Tính năng, đặc điểm:


Cơng cụ cho phép khám phá dữ liệu một cách trực quan



MongoDB Compass phân tích tài liệu và hiển thị các cấu trúc phong phú
trong một collection bằng cách sử dụng chạy truy vấn đặc biệt trong vài
giây



Hỗ trợ thơng tin nhanh về tình trạng máy chủ và hiệu năng truy vấn



Cho phép xem hiệu suất truy vấn




Cách tiếp cận tốt hơn với CRUD giúp tương tác dễ dàng hơn



Nó giúp người dùng đưa ra quyết định về lập chỉ mục, xác thực tài liệu
và hơn thế nữa



Khơng cần phải viết dịng lệnh

Ưu điểm của mongoDB.


Do MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên
mỗi một collection sẽ có các kích cỡ và các document khác nhau, linh
hoạt trong việc lưu trữ dữ liệu, nên bạn muốn gì thì cứ insert vào thoải
mái.



Dữ liệu trong MongoDB khơng có sự ràng buộc lẫn nhau, khơng có join
như trong RDBMS nên khi insert, xóa hay update nó khơng cần phải mất
thời gian kiểm tra xem có thỏa mãn các ràng buộc dữ liệu như trong
RDBMS.




MongoDB rất dễ mở rộng (Horizontal Scalability). Trong MongoDB có
một khái niệm cluster là cụm các node chứa dữ liệu giao tiếp với nhau,
khi muốn mở rộng hệ thống ta chỉ cần thêm một node với vào cluster:



Trường dữ liệu “_id” ln được tự động đánh index (chỉ mục) để tốc độ
truy vấn thông tin đạt hiệu suất cao nhất.

Công cụ phát triền phần mềm


Nhóm 4


Khi có một truy vấn dữ liệu, bản ghi được cached lên bộ nhớ Ram, để
phục vụ lượt truy vấn sau diễn ra nhanh hơn mà không cần phải đọc từ ổ
cứng.



Hiệu năng cao: Tốc độ truy vấn (find, update, insert, delete) của
MongoDB nhanh hơn hẳn so với các hệ quản trị cơ sở dữ liệu quan hệ
(RDBMS). Với một lượng dữ liệu đủ lớn thì thử nghiệm cho thấy tốc độ
insert của MongoDB có thể nhanh tới gấp 100 lần so với MySQL.

Nhược điểm của mongoDB.



Một ưu điểm của MongoDB cũng chính là nhược điểm của nó. MongoDB
khơng có các tính chất ràng buộc như trong RDBMS nên khi thao tác với
mongoDB thì phải hết sức cẩn thận.



Tốn bộ nhớ do dữ liệu lưu dưới dạng key-value, các collection chỉ khác về
value do đó key sẽ bị lặp lại. Không hỗ trợ join nên dễ bị dữ thừa dữ liệu.



Khi insert/update/remove bản ghi, MongoDB sẽ chưa cập nhật ngay xuống ổ
cứng, mà sau 60 giây MongoDB mới thực hiện ghi toàn bộ dữ liệu thay đổi
từ RAM xuống ổ cứng điêù này sẽ là nhược điểm vì sẽ có nguy cơ bị mất dữ
liệu khi xảy ra các tình huống như mất điện...
Cơng cụ phát triền phần mềm


Nhóm 4
1.2.3. Cơng cụ thiết kế CSDL quan hệ – Microsoft SQL Server Management
1.2.3.1.

Đặc điểm cơ sở dữ liệu quan hệ

Mơ hình dữ liệu quan hệ (gọi tắt là mơ hình quan hệ) được phát minh bởi EF
Codd tại IBM vào năm 1970.
Cơ sở dữ liệu được xây dựng dựa trên mơ hình dữ liệu quan hệ gọi là cơ sở
dữ liệu quan hệ. Cơ sở dữ liệu quan hệ tổ chức dữ liệu theo các bảng và có quan hệ
với nhau để giảm thiểu sự dư thừa dữ liệu đồng thời vẫn đảm bảo sự hiệu quả trong
lưu trữ và truy xuất dữ liệu.

Hệ quản trị cơ sở dữ liệu quan hệ

(RDBMS - Relational Database

Management System) cho phép định nghĩa (xác định kiểu, cấu trúc, ràng buộc dữ
liệu), tạo lập (lưu trữ dữ liệu trên các thiết bị nhớ) và thao tác (truy vấn, cập nhật,
kết xuất, ...) các CSDL cho các ứng dụng khác nhau.
RDBMS là nền tảng cho SQL cũng như cho tất cả các hệ cơ sở dữ liệu khác
như MS SQL Server, IBM DB2, Oracle, MýQL và Microsoft Access.
1.2.3.2.

Công cụ Microsoft SQL Server Management

SQL Server hay còn gọi là Microsoft SQL Server, viết tắt là MS SQL Server.
Đây là một phần mềm được phát triển bởi Microsoft dùng để lưu trữ dữ liệu dựa
trên chuẩn RDBMS, và nó cũng là một hệ quản trị cơ sở dữ liệu quan hệ đối tượng
(ORDBMS).

Công cụ phát triền phần mềm


Nhóm 4
SQL Server cung cấp đầy đủ cơng cụ để quản lý, từ giao diện GUI cho đến
việc sử dụng ngơn ngữ truy vấn SQL. Ngồi ra điểm mạnh của nó là Microsoft có
khá nhiền nền tảng kết hợp hồn hảo với SQL Server như ASP.NET, C# xây dựng
Winform, bởi vì nó hoạt động hồn tồn độc lập.
Ưu điểm:
• Microsoft SQL Server bao gồm phần mềm quản lý cơ sở dữ liệu cấp
doanh nghiệp, chuyên nghiệp. Phần mềm được cung cấp bởi Microsoft
cũng cung cấp tích hợp chặt chẽ với .NET framework, điều này không

xảy ra với các sản phẩm cạnh tranh.
• Microsoft SQL Server có một số tính năng thúc đẩy khôi phục và phục
hồi dữ liệu. Mặc dù các bảng riêng lẻ không thể được sao lưu hoặc khôi
phục, các tùy chọn khôi phục cơ sở dữ liệu hồn chỉnh có sẵn. Thơng qua
việc sử dụng các tệp nhật ký, bộ nhớ đệm và sao lưu, sản phẩm của
Microsoft cho phép người dùng cảm thấy tự tin rằng các tùy chọn khắc
phục thảm họa rất phong phú.
Nhược điểm:


Microsoft SQL Server được thiết kế tốt để chạy trên các máy chủ chạy
trên Windows.

1.2.4. Công cụ xây dựng bản mẫu – Balsamiq Mockup
Balsamiq mockup cho phép người dùng lên ý tưởng để xây dựng giao diện,
bố cục cho một website hay một ứng dụng nào đó. Ứng dụng này giúp ta phác họa
các ý tưởng thiết kế một cách dễ dàng bằng cách tạo ra các mockup thô đơn giản
để mọi người có thể hình dung ra ý tưởng thiết kế của bạn bằng những hình ảnh
trực quan sinh động.

Cơng cụ phát triền phần mềm


Nhóm 4

Balsamiq mockup cung cấp các nét vẽ thơ sơ, hình ảnh về bản vẽ thiết kế
được xuất ra file với nhiều định dạng khác nhau như PNG, BMML…
Balsamiq Mockups cải thiện việc làm việc nhóm bởi có thể dễ dàng truyền
đạt những ý tưởng của mình đến với người thiết kế web, bằng các nét vẽ thô sơ
người xem dễ dàng hiểu ý tưởng trong bản phác họa.


Công cụ phát triền phần mềm


Nhóm 4
Cơng cụ thiết kế bản mẫu này cung cấp các component thiết kế cho cả Web,
Desktop App và giao diện di động. Chỉ cần kéo thả chúng vào màn hình chính và
thiết lập các thuộc tính.
Tóm lại, Balsamiq mockup là công cụ phù hợp cho phác thảo các giao diện
web và lên ý tưởng. Tuy nhiên nó khơng được sử dụng rộng rãi vì ít chức năng hay
các biểu tượng khơng bắt mắt và có ít tài liệu nói về Balsamiq mockup.
1.2.5. Công cụ kiểm thử phần mềm – Selenium IDE
Phần mềm không

Công cụ phát triền phần mềm


Nhóm 4

CHƯƠNG 2:

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

WEBSITE QUẢN LÝ NHÂN SỰ
2.1. BÀI TỐN QUẢN LÝ NHÂN SỰ
Mơ tả nội dung bài tốn quản lý nhân sự cơng ty TABUCHI
Quản lí nhân sự: Khi có nhu cầu bổ sung nhân lực, các phòng ban, trung
tâm, phân xưởng, cửa hàng lên danh sách những vị trí thiếu gửi lên phịng tổ chức
lao động cho Ban lãnh đạo duyệt. Nếu được duyệt, Ban lãnh đạo sẽ ra quyết định
tuyển dụng và phịng tổ chức lao động sẽ đưa ra thơng báo tuyển dụng tới người

lao động.
Sau khi đọc thông báo, người lao động sẽ nộp hồ sơ lao động vào xí nghiệp
để xin thi tuyển. Hồ sơ thi tuyển phải đầy đủ các thơng tin về bản thân, trình độ
chun mơn, trình độ học vấn ….
Sau khi tiếp nhận hồ sơ lao động, bộ phòng tổ chức lao động cùng với nhân
viên phòng ban cần bổ sung lao động sẽ trực tiếp duyệt hồ sơ và phỏng vấn người
lao động.
Nếu đạt, cơng ty sẽ kí hợp đồng thử việc với người lao động. Trong thời gian
thử việc, người lao động sẽ được hưởng mức lương và chế độ ưu đãi của chế độ
thử việc.
Sau thời gian thử việc, nếu đạt công ty sẽ kí hợp đồng lao động với người
lao động theo thời hạn Và sau khi hết thời hạn hợp đồng, hợp đồng sẽ được kí lại.
Sau khi đã kí hợp đồng lao động với người lao động, công ty có trách nhiệm đóng
BHXH cho người lao động để đảo bảo lợi ích chính đáng cho người lao động trong
thời gian làm việc tại công ty.
Tùy vào từng khả năng trình độ chun mơn của người lao động và nhu cầu,
vị trí của đơn vị có nhu cầu bổ sung lao động mà người lao động sẽ được phân
công lao động vào từng vị trí khác nhau. Việc phân cơng lao động sẽ được ghi
trong quyết định bổ nhiệm lao động.

Công cụ phát triền phần mềm


×