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

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

54 61 4

Đ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 54
Dung lượng 1,39 MB

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

Nội dung

BÁO CÁO BÀI TẬP LỚNCÔNG CỤ PHÁT TRIỂN PHẦN MỀMĐỀ TÀIPhân tích thiết kế hệ thống WebsiteQuản Lý Nhân Sự Doanh NghiệpBấ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.

Trang 1

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

Trang 2

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

Trang 3

Hà Nội, 2021

Trang 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 quá trình hoàn thànhbả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ợptá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áoviên hướng dẫn Tuy nhiên do kiến thức chuyên ngành còn hạn chế nên emkhông tránh khỏi thiếu sót, rất nhận được đóng góp của thầy để đề tài củachúng em được đầy đủ và hoàn chỉnh hơn

Chúng em xin chân thành cảm ơn!

Trang 5

MỤC LỤC

LỜI CẢM ƠN 1

MỤC LỤC 2

THUẬT NGỮ 4

DANH MỤC HÌNH VẼ 4

DANH MỤC BẢNG BIỂU 4

MỞ ĐẦU 5

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

1.1 Giới thiệu chung 7

1.1.1 Giới thiệu 7

1.1.2 Quy trình phát triển phần mềm 7

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

1.2 Một số công cụ phát triển phần mềm điển hình 13

1.2.1 Công cụ thiết kế phần mềm – Rational Rose 13

1.2.2 Công cụ thiết kế CSDL – MongoDB 16

1.2.3 Công cụ xây dựng bản mẫu – Balsamiq Mockup 16

1.2.4 Công cụ kiểm thử phần mềm – Selenium IDE 17

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG WEBSITE QUẢN LÝ NHÂN SỰ

18 2.1 BÀI TOÁN QUẢN LÝ NHÂN SỰ 18

2.2 MÔ HÌNH USE-CASE 21

2.2.1 Mô hình Usecase mức tổng 21

2.2.2 Phân rã Usecase 22

Trang 6

2.2.3 Đặc tả Usecase 24

2.3 MÔ HÌNH THIẾT KẾ 29

2.4 THIẾT KẾ CSDL 29

2.5 THIẾT KẾ BẢN MẪU GIAO DIỆN 29

CHƯƠNG 3: CÔNG CỤ CÀI ĐẶT VÀ KIỂM THỬ PHẦN MỀM 30

3.1 30

Trang 7

THUẬT NGỮ

DANH MỤC HÌNH VẼ

DANH MỤC BẢNG BIỂU

Trang 8

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 trongquá 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, …

3 Đối tượng và phạm vi nghiên cứu

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

Trang 9

Phạm vi nghiên cứu:

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ầnmề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

5 Kết quả mong muốn

˗ Phân tích thiết kế hệ thống website quản lý nhân sự doanhnghiệ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 toán

˗ Xây dựng hình dung giao diện cho bài toá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ầnmề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: …

Trang 10

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ựngphụ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ở

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ứcnă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

Trang 11

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ầucủa khách hàng

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ảiphá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ử, loglỗ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, haytrong từng giai đoạn gọi là CASE Tools (Computer Aided SoftwareEngineering Tools)

Trang 12

Chức năng của CASE trong mối giai đoạn phát triển phần mềm:

Phân tích yêu cầu phần mềm Soạn thảo sơ đồ: DFD, ERD, …

Thiết kế phần mềm Sọan thảo sơ đồ quan hệ, Phát sinh

CSDL, …Xây dựng phần mềm Soạn thảo chương trình, Trình dịch, …Kiểm thử phần mềm Debug, Phát dữ liệu thử nghiệm, …

1.1.3.1 Công cụ lập kế hoạch, phân tích yê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 quán, không chính xác nào trong sơ đồ, dư thừa dữ liệuhoặ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ằngcá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úckhối của phần mềm, cấu trúc này có thể được chia nhỏ hơn nữa trong cácmô-đ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àycung cấp thông tin chi tiết về từng mô-đun và kết nối giữa các mô-đun

Trang 13

 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ầnmềm dự định Nguyên mẫu cung cấp cái nhìn và cảm nhận ban đầu về sảnphẩ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ầncứng Những công cụ này giúp xây dựng các nguyên mẫu nhanh chóng dựatrên thông tin đã có

Ví dụ: GUI Design Studio, Balsamiq mockup, Photoshop, BootstrapStudio, …

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ôitrườ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ựngsả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ủachươ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 chuyên 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êndị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ìnhtích hợp (integrated programming environment)

 Trình thông dịch (Interpreter)

Trang 14

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ạicô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, …

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ấtlượ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ómsau:

 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ự độnghó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, …

Trang 15

 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ẩmchấ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ằngcá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á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ườidù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 để đánhgiá

Một số công cụ kiểm thử hiệu suất (tải) được sử dụng như: ApacheJMeter, 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ảorằng tất cả các mô-đun đang hoạt động theo yêu cầu của khách hàng

 Công cụ kiểu thử đơn vị (Unit testing tool)

Trang 16

Công cụ kiểm tra này được sử dụng để giúp các lập trình viên cảithiện chất lượng code và giảm thời gian viết code cũng như chi phí phầnmề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)

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ốngtrướ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ácnhau 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ácthà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, …

Trang 17

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ạilược đồ chính, mỗi loại lại đảm nhận một chức năng khác nhau hỗ trợ đắclực cho người dùng trong quá trình phân tích thiết kế

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àngười dùng thực hoặc các hệ thống máy tính khác có vai trò nào đó

trong hệ thống

1.2.1.1.2 Ca s d ng – Usecase ử dụng – Usecase ụng – Usecase

Use case: mô tả các yêu cầu về mặt chức năng của hệthống

1.2.1.1.3 Quan h – Relationship ệ – Relationship

Relationships (các quan hệ) biểu hiện quan hệ giữa tác nhân – tácnhân, tác nhân – use case và use case – use case Có 3 quan hệ chính:

User

User managment

Trang 18

<<include>>

<<extend>>

NguoiDung QuanTriVien

cách thêm mới 1 chức năng nào đó

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ổngquá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ô

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

SANPHAM MaSanPham TenSanPham MoTaSanPham GiaBan SoLuong ThongSoKT MoTaChiTiet getMaSanPham() getTenSanPham() getMoTaSanPham() setMoTaSanPham() getGiaBan() getSoLuong() getThongSoKT() getMoTaChiTiet() get Thong tin San Pham() getSANPHAM()

XemSanPhamController Lay bang SanPham()

1 1

1

1

* 1

* 1

1

1

Trang 19

3: Lay bang SanPham( )

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

1: Khach hang chon san pham bat ky( )

2: Lay bang SanPham( )

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ữacá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

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 "nonrelational" (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ảntrị 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

Trang 20

giống với cơ sở dữ liệu SQL, rất nhiều cơ sở dữ liệu NoSQL có thể mở rộngtheo 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 soá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ôngtin 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ộtmáy nào đó không phục vụ được sẽ không ảnh hưởng lắm đến chấtlượng trả về kết quả

 Phi quan hệ – không có ràng buộc nào cho việc nhất quán dữ liệu

 Tính nhất quán không theo thời gian thực: Sau mỗi thay đổiCSDL, 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

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

Trang 21

MongoDB đã trở thành một trong những NoSQL database nổi trộinhấ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 SQLServer ) 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ì trongCollection trong MongoDB Compass ứng với table, Document sẽ ứngvớ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épcá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 tinliên quan được lưu trữ cùng nhau để truy cập truy vấn nhanh thông qua ngônngữ 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 chophé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ứcchính thức về cú pháp truy vấn MongoDB Ngoài việc khám phá dữ liệutrong môi trường trực quan, người dùng cũng có thể sử dụng MongoDBCompass để tối ưu hóa hiệu suất truy vấn, quản lý chỉ mục và triển khai xácthự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úcphong 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 truyvấn

Trang 22

 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àiliệ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 JSONnên mỗi một collection sẽ có các kích cỡ và các document khácnhau, 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ôngcầ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) TrongMongoDB có một khái niệm cluster là cụm các node chứa dữ liệugiao tiếp với nhau, khi muốn mở rộng hệ thống ta chỉ cần thêmmột node với vào cluster:

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

 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ủaMongoDB 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

Trang 23

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ênkhi 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 ngayxuố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

Trang 24

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 minhbở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 đảmbả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 DatabaseManagement System) cho phép định nghĩa (xác định kiểu, cấu trúc, ràngbuộ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 (truyvấ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ệukhá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

Trang 25

SQL Server cung cấp đầy đủ công cụ để quản lý, từ giao diện GUIcho đến việc sử dụng ngôn ngữ truy vấn SQL Ngoài ra điểm mạnh của nó làMicrosoft có khá nhiền nền tảng kết hợp hoàn hảo với SQL Server nhưASP.NET, C# xây dựng Winform, bởi vì nó hoạt động hoàn toàn độc lập

Ưu điểm:

 Microsoft SQL Server bao gồm phần mềm quản lý cơ sở dữ liệucấp doanh nghiệp, chuyên nghiệp Phần mềm được cung cấp bởiMicrosoft 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ưuhoặc khôi phục, các tùy chọn khôi phục cơ sở dữ liệu hoà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 giaodiệ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ácmockup thô đơn giản để mọi người có thể hình dung ra ý tưởng thiết kế củabạn bằng những hình ảnh trực quan sinh động

Trang 26

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àngtruyề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

Trang 27

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ànhì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 giaodiện web và lên ý tưởng Tuy nhiên nó không được sử dụng rộng rãi vì ítchứ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

Ngày đăng: 23/01/2022, 23:19

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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