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

trình bày lý thuyết công nghệ phát triển phần mềm phần mềm thông minh nghiên cứu phát triển phần mềm hướng dịch vụ

17 1 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

Nghiên cứu pháttriển phần mềm hướng dịch vụ.1.1.Lý thuyết công nghệ phát triển phần mềm Công nghệ phần mềm là lĩnh vực khoa học về các phương pháp luận, kỹ thuật và công cụ tích hợp tro

Trang 1

Trường Đại Học Công Nghiệp Hà NộiKhoa Công Nghệ Thông Tin

BÀI KIỂM TRA THƯỜNG XUYÊN 1

HỌC PHẦN: MỘT SỐ CÔNG CỤ PHÁT TRIỂN PHẦNMỀM

Giảng Viên: Ths Hoàng Quang HuyNgười thực hiện: Phạm Thành Đoàn Mã Sinh Viên: 2020607445

Trang 2

HÀ NỘI - NĂM 2023

Mục Lục

Nghiên cứu phát triển phần mềm hướng dịch vụ 3

1.1 Lý thuyết công nghệ phát triển phần mềm 3

1.2 Phát triển phần mềm hướng dịch vụ 3

2 Phân tích và thiết kế hệ thống phần mềm dựa trên kiến trúc Hướng dịch vụ Lựa chọn công nghệ / framework để giải quyết hệ thống vừa phân tích Đánh giá mã nguồn / các thành phần hỗ trợ / khả năng cài đặt sâu của công nghệ lựa chọn này 6

2.1 Tổng quan về mô hình kiến trúc hướng dịch vụ (SOA) 6

2.2 Ưu và nhược điểm của mô hình hương dịch vụ (SOA) 7

2.3 Phân tích và thiết kế hệ thống phần mềm dựa trên kiến trúc hướng dịch

Trang 3

1.Trình bày lý thuyết công nghệ phát triển phầnmềm, phần mềm thông minh Nghiên cứu pháttriển phần mềm hướng dịch vụ.

1.1.Lý thuyết công nghệ phát triển phần mềm

 Công nghệ phần mềm là lĩnh vực khoa học về các phương pháp luận, kỹ thuật và công cụ tích hợp trong quy trình sản xuất và vận hành phần mềm, công nghệ phần mền là một ngành kỹ thuật liên quan đến tất cả các khía cạnh của sản xuất phần mềm từ giai đoạn đầu vào đặc tả hệ thống cho đến bảo trì hệ thống sản xuất phần mềm không chỉ là quá trình phát triển kỹ thuật, mà còn bao gồm công tác quản lý dự án, phát triển các công cụ, phương pháp, tài liệu, v.v để hỗ trợ sản xuất phần mềm.

 Công nghệ phát triển phần mềm (software engineering) là sự áp dụng một cách tiếp cận có hệ thống, có kỷ luật, và định lượng được cho việc phát triển, sử dụng và bảo trì phần mềm Nó bao gồm các hoạt động khoa học máy tính dành riêng cho quá trình tạo, thiết kế, triển khai và hỗ trợ phần mềm Công nghệ phát triển phần mềm giúp cho việc phát triển phần mềm trở nên hiệu quả hơn, đảm bảo chất lượng sản phẩm và giảm thiểu chi phí  Phần mềm thông minh là một loại phần mềm được thiết kế để giúp máy tính thực hiện các tạc vụ thông minh mà trước đây chỉ có con người mới có thể thực hiện được Nó sử dụng các thuật toán và mô hình học máy để tự động học và cải thiện khả năng thực hiện các tác vụ thông minh rất đa dạng, từ nhận dạng giọng nói, phân loại hình ảnh, dịch thuật tự độngm đến việc dự đoán hành vi người dùng và tư vấn sản phẩm nó có thể giúp các công việc trở nên nhanh chóng chính xác và hiệu quả hơn.

1.2.Phát triển phần mềm hướng dịch vụ

Phần mềm hướng dịch vụ (Service-Oriented Software, viết tắt là SOA) là một kiến trúc phần mềm cho phép ứng dụng và hệ thống tương tác thông qua các dịch vụ SOA tập trung vào việc tổ chức chức năng của phần mềm thành

Trang 4

các dịch vụ độc lập, có khả năng sử dụng lại và có thể tích hợp với nhau để tạo ra các ứng dụng phức tạp Mục tiêu của SOA là tạo ra sự linh hoạt, tái sử dụng và tích hợp trong phát triển phần mềm Dưới đây là một số điểm quan trọng về SOA:

 Dịch vụ (Service): Dịch vụ trong ngữ cảnh SOA là một thành phần phần mềm độc lập có khả năng thực hiện một nhiệm vụ cụ thể Mỗi dịch vụ thực hiện một tác vụ cụ thể và có thể được truy cập thông qua một giao diện định rõ.

 Tích hợp: SOA cho phép tích hợp các dịch vụ để tạo ra các ứng dụng phức tạp hơn Dịch vụ có thể giao tiếp và tương tác với nhau qua các giao thức và giao diện chuẩn như Web Services (dựa trên giao thức SOAP) hoặc RESTful API.

 Tái sử dụng: Một trong những lợi ích quan trọng của SOA là khả năng tái sử dụng Các dịch vụ có thể được phát triển một lần và sử dụng trong nhiều ứng dụng khác nhau, giúp tiết kiệm thời gian và nguồn lực.

 Linh động: SOA giúp tổ chức phát triển phần mềm dễ dàng thay đổi và cập nhật Khi một dịch vụ cần cải thiện hoặc thay đổi, chỉ cần thay đổi dịch vụ đó mà không cần phải ảnh hưởng đến toàn bộ hệ thống.

 Quản lý dịch vụ: SOA yêu cầu quản lý dịch vụ một cách hiệu quả Điều này bao gồm việc theo dõi, quản lý chất lượng, và bảo mật các dịch vụ  Tích hợp giao diện người dùng và ứng dụng: SOA không chỉ áp dụng cho

các dịch vụ nền tảng, mà còn cho phép tích hợp các giao diện người dùng và ứng dụng trong mô hình dựa trên dịch vụ.

 Để phát triển một phần mềm hướng dịch vụ cần làm 10 bước sau:

 Xác định Mục tiêu và Yêu cầu: Xác định rõ mục tiêu của dự án phát triển phần mềm hướng dịch vụ cùng với yêu cầu cụ thể của ứng dụng Điều này bao gồm việc xác định các dịch vụ cần phải tạo ra hoặc tích hợp, và hiểu rõ nhu cầu kinh doanh.

Trang 5

 Thiết kế Kiến trúc SOA: Xây dựng kiến trúc tổng thể của ứng dụng dựa trên kiến trúc hướng dịch vụ Xác định các dịch vụ, giao diện dịch vụ, và cách chúng sẽ tương tác với nhau.

 Phát triển Dịch vụ: Phát triển các dịch vụ dựa trên thiết kế kiến trúc Sử dụng các công nghệ và ngôn ngữ lập trình phù hợp để triển khai các dịch vụ.

 Xây dựng Giao diện Người dùng và Ứng dụng: Nếu cần, xây dựng giao diện người dùng và các ứng dụng sử dụng dịch vụ SOA Tích hợp giao diện người dùng với các dịch vụ để thực hiện các tác vụ cụ thể.

 Tích hợp Dịch vụ: Kết hợp các dịch vụ với nhau và với các ứng dụng khác để tạo ra ứng dụng hoàn chỉnh Sử dụng các giao thức và giao diện chuẩn để đảm bảo tích hợp hiệu quả.

 Kiểm thử và Hiệu chỉnh: Tiến hành kiểm tra và đánh giá hiệu suất và tính đúng đắn của hệ thống và các dịch vụ SOA Điều này bao gồm kiểm thử đơn vị, kiểm thử tích hợp, và kiểm thử hệ thống.

 Bảo mật và Quản lý Dịch vụ: Đảm bảo rằng dịch vụ và hệ thống được bảo mật bằng cách áp dụng các biện pháp bảo mật Quản lý dịch vụ bao gồm việc theo dõi và quản lý chất lượng dịch vụ.

 Triển khai và Quản lý: Triển khai ứng dụng và dịch vụ SOA trong môi trường sản xuất Sau khi triển khai, cần theo dõi và quản lý hệ thống để đảm bảo tính ổn định và hiệu suất.

 Tài liệu và Đào tạo: Lập tài liệu cho dự án phát triển phần mềm và cung cấp đào tạo cho những người sử dụng cuối và quản trị hệ thống.

 Tối ưu hóa và Mở rộng: Liên tục cải tiến và mở rộng ứng dụng và dịch vụ SOA để đáp ứng nhu cầu kinh doanh và công nghệ mới.

Trang 6

2.Phân tích và thiết kế hệ thống phần mềm dựatrên kiến trúc Hướng dịch vụ Lựa chọn côngnghệ / framework để giải quyết hệ thống vừaphân tích Đánh giá mã nguồn / các thành phầnhỗ trợ / khả năng cài đặt sâu của công nghệlựa chọn này.

2.1.Tổng quan về mô hình kiến trúc hướng dịch vụ(SOA)

SOA hay Service - Oriented Architecture là một thuật ngữ được hiểu nôm na là kiến trúc hướng dịch vụ Nơi đây tập hợp mọi dịch vụ được kết nối “mềm dẻo” với nhau Tuy nhiên, chúng vẫn có giao tiếp và được định nghĩa độc lập, rõ ràng với nền tảng hệ thống.

Có thể nói, SOA thuộc một cấp độ cao hơn ở phát triển ứng dụng, nó chú trọng nhiều đến quy trình nghiệp vụ Đồng thời dùng chính giao tiếp chuẩn của mình nhằm che đi sự phức tạp kỹ thuật bên dưới Nói theo một cách dễ hiểu hơn, thì:

 SOA được định nghĩa là kiểu kiến trúc trong phần mềm bao gồm nhiều thành phần đơn lẻ Chúng tập trung lại và tạo thành những dịch vụ, mỗi dịch vụ thực hiện một nhiệm vụ, quy trình khác nhau.

 Sự tập hợp những thành phần được kết nối qua cổng giao tiếp, chúng có tính kế thừa các thành phần đang tồn tại Chúng tương tác với nhau mà không cần quan tâm đến việc mình được phát triển trên nền tảng công nghệ nào Điều này có tác dụng giúp hệ thống mở rộng hơn và tích hợp một cách dễ dàng.

Trang 7

Thực tế, các doanh nghiệp sẽ không dậm chân tại chỗ mà đòi hỏi phải có sự thay đổi Đôi khi, sự thay đổi phải ngày càng nhanh, đến mức các cấu trúc ứng dụng truyền thống của doanh nghiệp không thể giải quyết được Thì lúc này, SOA sẽ đáp ứng, trợ giúp cho hoạt động doanh nghiệp linh hoạt hơn, hiệu quả hơn.

Từ góc độ doanh nghiệp, có thể coi SOA là phương pháp tái cấu trúc hạ tầng thông tin trong doanh nghiệp Với SOA, mọi tổ chức kinh doanh đều có quyền nghĩ đến việc sẵn sàng chuyển mình.

2.2.Ưu và nhược điểm của mô hình hương dịch vụ(SOA)

a Ưu điểm

 Tái sử dụng: SOA tập trung vào việc xây dựng các dịch vụ độc lập và tái sử dụng Điều này giúp giảm thiểu việc phát triển lại các chức năng đã được xây dựng và tăng cường tính tái sử dụng của phần mềm.

 Tích hợp: SOA cung cấp một cách tiếp cận linh hoạt để tích hợp các hệ thống và ứng dụng khác nhau Các dịch vụ có thể được triển khai trên các nền tảng và ngôn ngữ lập trình khác nhau, cho phép tích hợp dễ dàng giữa các hệ thống không đồng nhất.

 Linh hoạt: SOA giúp tách biệt các thành phần và chức năng trong hệ thống, giúp đảm bảo tính linh hoạt và khả năng thích ứng Các dịch vụ có thể được thay đổi, cập nhật và mở rộng mà không ảnh hưởng đến các thành phần khác trong hệ thống.

 Quản lý dịch vụ: SOA cung cấp các cơ chế quản lý dịch vụ để giám sát hiệu suất, quản lý phiên bản và kiểm

Trang 8

soát truy cập Điều này giúp đảm bảo tính tin cậy và hiệu quả của hệ thống.

 Tăng cường khả năng mở rộng: SOA cho phép việc mở rộng hệ thống một cách dễ dàng bằng cách thêm hoặc thay đổi các dịch vụ Hệ thống có thể mở rộng theo nhu cầu và quy mô của doanh nghiệp mà không gặp các ràng buộc cứng nhắc.

b Nhược điểm

 Phức tạp: SOA có thể phức tạp trong việc thiết kế và triển khai Cần có kiến thức chuyên môn về kiến trúc hệ thống và các công nghệ liên quan Nếu không được thực hiện đúng cách, SOA có thể dẫn đến sự rối loạn về quản lý và hiệu suất.

 Hiệu suất: SOA có thể gây ra tăng thêm độ trễ trong việc truyền thông giữa các dịch vụ do việc sử dụng các giao thức và phương thức truyền thông Điều này có thể ảnh hưởng đến hiệu suất toàn hệ thống.

 Quản lý phiên bản: SOA đòi hỏi quản lý phiên bản chặt chẽ để đảm bảo sự tương thích giữa các dịch vụ khác nhau Việc quản lý phiên bản phức tạp có thể trở thành một thách thức đối với quản lý và triển khai hệ thống  Bảo mật: SOA đặt ra các thách thức về bảo mật Việc

quản lý quyền truy cập và bảo vệ dữ liệu trong một môi

Trang 9

trường phân tán và tích hợp có thể phức tạp và đòi hỏi các biện pháp bảo mật chặt chẽ.

 Chi phí: SOA có thể đòi hỏi đầu tư ban đầu và chi phí vận hành cao hơn so với các kiến trúc truyền thống Việc triển khai và quản lý SOA đòi hỏi sự đầu tư lớn về cơ sở hạ tầng, đào tạo nhân lực và quản lý.

2.3 Phân tích và thiết kế hệ thống phần mềm dựatrên kiến trúc hướng dịch vụ (SOA)

a) Phân tích hệ thống quản lý khách sạn:

Dưới đây là sơ đồ use – case mức 0 mô tả chức năng của toànbộ hệ thống và những tác nhân nào sẽ sử dụng chức năng nào.

Xem Trang Chu

Quan ly nhan vien

Quan ly tai khoanQuan Tri He Thong

Phan quyen

Hình 2 1: Sơ đồ use-case

b) Quy trình đặt phòng

Vì nhóm không có khả năng đi khảo sát một khách sạn cụ thể,nên dưới đây là một kịch bản mẫu về quy trình nhận đặt phòngqua điện thoại được trích xuất từ Internet.

Nguồn tham khảo: https://www.hoteljob.vn/tin-tuc/kich-ban-mau-quy-trinh-nhan-dat-phong-khach-san-qua-dien-thoai

Trang 10

Bước 1: Trả lời điện thoại theo quy chuẩn khách sạn và hỏi tênkhách hàng

Bước 2: Xác định yêu cầu của khách về thời gian lưu trúBước 3: Xác định yêu cầu của khách về số người lưu trúBước 4: Xác định yêu cầu của khách về số lượng phòng

Bước 5: Xác định yêu cầu của khách về loại phòng, hạng phòngBước 6: Nhắc lại yêu cầu của khách

Bước 7: Hỏi thông tin liên lạc của kháchBước 8: Điền thông tin vào phiếu đặt phòngBước 9: Kết thúc cuộc gọi

Quy trình check in khách sạn gồm những bước sau:

Bước 1: Lễ tân chào khách bằng nụ cười niềm nở và tiếp nhậnthông tin từ khách hàng.

Bước 2: Lễ tân kiểm tra hoặc hỏi xem khách đã đặt phòng trướcchưa Nếu chưa thì hỏi về yêu cầu của khách và dựa vào tìnhtrạng thực tế để sắp xếp phù hợp.

Bước 3: Thông báo loại phòng khách chọn, giá phòng, phươngthức thanh toán, dịch vụ kèm theo và chương trình khuyến mãi.Bước 4: Khi khách đồng ý thì thông báo cho bộ phận liên quanđể chuẩn bị phòng.

Bước 5: Xin thông tin cá nhân, mượn giấy tờ tùy thân để làmthủ tục cho khách ký xác nhận đặt phòng.

Trang 11

Bước 6: Giới thiệu sơ lược cho khách về địa điểm du lịch, dịchvụ xung quanh, giá vé nếu khách yêu cầu.

Bước 7: Hỏi khách có yêu cầu gì đặc biệt không.Bước 8: Giao chìa khóa cho khách lên nhận phòng.

Bước 9: Chào tạm biệt khách, chúc khách có kỳ nghỉ vui vẻ vàthông báo cho bộ phận liên quan mang hành lý và dẫn khách

Quy trình check out khách sạn gồm những bước sau:

Bước 1: Mỉm cười chào khách và hỏi khách có hài lòng khi lưutrú tại khách sạn không.

Bước 2: Hỏi số phòng khách trả, nhận lại chìa khóa và báo lạivới bộ phận liên quan để kiểm tra phòng.

Bước 3: Kiểm tra trên hệ thống xem khách có sử dụng dịch vụnào trả phí của khách sạn không.

Bước 4: Nhận thông báo của bộ phận buồng về tình trạngphòng và đồ uống khách đã sử dụng trong minibar và xác nhận

Trang 12

Bước 7: Thực hiện thanh toán Nếu công ty thanh toán thì yêucầu khách ký xác nhận, hóa đơn và lưu lại hóa đơn để làm thủtục thanh toán với công ty Nếu khách sử dụng voucher thì đốichiếu với khoản nào được thanh toán bằng voucher, khoản nàotrả tiền, đính kèm voucher vào hóa đơn để làm căn cứ thanhtoán.

Bước 8: Nhận lại chìa khóa phòng, trả khách giấy tờ tùy thân,đồ đã gửi, bưu kiện, thư (nếu có).

Bước 9: Nếu khách đã thanh toán trực tiếp thì đóng dấu “Đãthanh toán” vào hóa đơn và đưa lại cho khách.

Bước 10: Đưa lại cho khách phiếu check-out card để chuyểncho nhân viên hành lý mang hành lý ra xe.

Bước 11: Hỏi và giúp khách tìm phương tiện di chuyển nếu

soLuong)

Trang 13

KhachHang (maKH, tenKH, gioiTinh, cmnd_passport,

diaChi, quocTich, email, sdt)

LienHe (id, hoTen, sdt, email, ngayGui)

LoaiPhong (maLP, tenLP, hinhAnh, sucChua, dongGia,

NhanVien (maNV, tenNV, gioiTinh, ngaySinh, diaChi,

email, sdt, hinhAnh)

PhanHoi (id, hoTen, sdt, email, noiDung, ngayGui)

tongTienCoc, soNguoi, tinhTrang, maNV)

ngayThue, ngayTra)

Phong (maP, maLP, tinhTrang)

IDNhom)

Trang 14

f) Mô hình quan hệ dữ liệu

Hình 2 2: Mô hình quan hệ dữ liệu

g)Sơ đồ ứng dụng

Hình 2 3: Sơ đồ ứng dụng

Trang 15

Nhóm chúng em lựa chọn Framework ASP.net kết hợp với mô hình hệ thống hướng dịch vụ cho việc phát triển hệ thống quản lý khách sạn này.

ASP.NET MVC (Model-View-Controller) là một framework phát triển web do Microsoft cung cấp như một phần của nền tảng ASP.NET Nó tuân theo mô hình kiến trúc MVC, phân chia các vấn đề của ứng dụng thành ba thành phần chính: mô hình (model), giao diện (view) và điều khiển (controller).

Minh họa sự tương tác của 3 thành phần trong ASP.NET MVC:

Minh họa luồng yêu cầu của người dùng trong ASP.NET MVC:

Hình 2 4: Mô hình MVC

Trang 16

Hình 2 5: Minh họa luồng

Theo hình trên, khi người dùng nhập URL vào trình duyệt, nó sẽ đến máy chủ và gọi controller thích hợp Sau đó controller sử dụng view với model phù hợp để tạo phản hồi và gửi lại cho người dùng.

Những điểm cần nhớ:

 MVC là viết tắt của Model, View và Controller.

 Model chịu trách nhiệm duy trì dữ liệu ứng dụng và nghiệp vụ (business)  View là giao diện người dùng của ứng dụng, hiển thị dữ liệu.

 Controller xử lý các yêu cầu của người dùng và hiển thị view với model phù hợp.

Khi kết hợp ASP.NET MVC với SOA, bạn có thể xây dựng một kiến trúc ứng dụng web linh hoạt và dễ dàng mở rộng Dưới đây là cách bạn có thể tận dụng lợi ích của cả hai.

 Dịch vụ hướng: SOA tập trung vào việc phân chia chức năng thành các dịch vụ độc lập Bằng cách sử dụng SOA, có thể xây dựng các dịch vụ web độc lập trong ASP.NET MVC, giúp tách rời chức năng và tái sử dụng mã nguồn một cách dễ dàng.

 Mô hình MVC: ASP.NET MVC cung cấp một cách tiếp cận có cấu trúc để xây dựng ứng dụng web bằng cách phân chia các vấn đề thành các mô hình (models), giao diện (views) và điều khiển (controllers) Mô hình đại diện cho dữ liệu và logic kinh doanh, giao diện xử lý việc hiển thị dữ liệu cho

Ngày đăng: 19/04/2024, 23:58

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w