Vì vậy kiến thức về công nghệ phần mềm là một phầnrất cần thiết đối với những người bắt đầu tiếp cận với lĩnh vực công nghệ thông tin nóichung và đặc biệt là đối với sinh viên ngành Công
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
Báo cáo thực nghiệm môn học : Nhập môn công nghệ phần mềm
ĐỀ TÀI: Áp dụng mô phát triển ứng dụng nhanh vào đặc tả website quản lý
hệ thống bán vé xem phim online
Giảng viên hướng dẫn :
Nhóm số : 5
Thành viên: Đào Trọng Duy MSV: 2022603447
Vũ Thị Mơ 2022 Trịnh Công Duy
Trang 2Mục lục
LỜI CẢM ƠN 2
MỞ ĐẦU 3
1 Lí do chọn đề tài 3
2 Mục đích đề tài 4
3 Cấu trúc báo cáo 4
CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT VỀ MÔ HÌNH PHÁT TRIỂN ỨNG DỤNG NHANH 5
1 Các khái niệm cơ bản 5
1.1 Khái niệm công nghệ 5
1.2 Khái niệm phần mềm 5
1.3 Khái niệm công nghệ phần mềm 6
1.4 Khái niệm mô hình quy trình 6
1.5 Đặc tả yêu cầu phần mềm 6
1.6 Khái niệm về yêu cầu chức năng 7
1.7 Khái niệm về yêu cầu phi chức năng 8
2 Mô hình phát triển ứng dụng nhanh 9
2.1 Giới thiệu 9
2.2 Các pha trong mô hình 10
2.3 Đánh giá 12
CHƯƠNG 2: ĐẶC TẢ YÊU CẦU PHẦN MỀM CHO WEBSITE BÁN VÉ XEM PHIM ONLINE 14
1 Giới thiệu 14
1.1 Mục đích 14
1.2 Phạm vi 14
1.3 Định nghĩa, chữ viết tắt 14
1.4 Các tham chiếu 14
1.5 Tổng quan 14
2 Mô tả chung 15
2.1 Tổng quan về sản phẩm 15
2
Trang 32.2 Chức năng sản phẩm 15
2.3 Đối tượng người dùng 15
2.4 Ràng buộc 16
2.5 Giả định và sự phụ thuộc 16
3 Yêu cầu đặc tả 17
3.1 Các yêu cầu chức năng 17
3.2 Các yêu cầu phi chức năng 27
KẾT LUẬN 30
TÀI LIỆU THAM KHẢO 31
Trang 4
LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ,giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp Vậy nên, với lòng biết ơn sâu sắc,
chúng em xin gửi tới Cô TS Nguyễn Thị Mỹ Bình những lời cảm ơn trân thành nhất.
Chúng em cảm ơn Cô đã dùng toàn bộ tri thức và tâm huyết của mình để truyền đạt vốnkiến thức quý báu cho chúng em, cảm ơn Cô vì đã tận tâm hướng dẫn và giải đáp các thắcmắc của chúng em qua từng buổi học trên lớp Nếu không có những lời hướng dẫn, dạybảo của Cô thì thật khó để chúng em có thể hoàn thành bài tập lớn này Nhóm cũng xingửi lời cảm ơn đến tất cả các thành viên trong lớp, xuyên suốt quá trình học tập, mọingười luôn sẵn sàng sẻ chia, giúp đỡ nhau, tạo điều kiện thuận lợi cho nhóm hoàn thiệnbài tập lớn
Chúng em xin chúc Cô và các bạn thật nhiều sức khỏe, chúc những điều tốt đẹpnhất sẽ luôn đồng hành cùng mọi người
Chúng em xin chân thành cảm ơn!
4
Trang 5MỞ ĐẦU
1 Lí do chọn đề tài
Ngày nay, ngành công nghiệp phần mềm trên thế giới đang rất phát triển Nhiềungười đã thống nhất rằng công nghệ phần mềm đã trở thành một mũi nhọn để con ngườitiến nhanh vào nên kinh tế tri thức Tuy nhiên, việc tạo ra một sản phẩm phần mềm khôngphải là một công việc đơn giản và dễ dàng Để làm một sản phẩm phức tạp và ít hữu hìnhnày đòi hỏi những người tham gia phát triển phải có những phần kiến thức chuyên mônsâu - đủ để tạo ra được một sản phẩm phần mềm chất lượng, đáp ứng yêu cầu người dùng
và mang lại hiệu quả kinh tế cao Vì vậy kiến thức về công nghệ phần mềm là một phầnrất cần thiết đối với những người bắt đầu tiếp cận với lĩnh vực công nghệ thông tin nóichung và đặc biệt là đối với sinh viên ngành Công nghệ thông tin nói riêng
Việc làm các ứng dụng, Website không theo một quy định chung, không sử dụngmột quy trình phát triển hệ thống thích hợp thì sẽ giảm chất lượng hệ thống và tăng chiphí xây dựng Vì vậy, việc áp dụng các quy trình phát triển phần mềm vào để xây dựng hệthống là việc vô cùng quan trọng Có 1 số mô hình phát triển phổ biến nhất như: phát triểnứng dụng nhanh, thác nước, xoắn ốc, mô hình chữ V Đối với các dự án nhỏ, thời gianngắn thì việc áp dụng mô hình phát triển ứng dụng nhanh mang lại hiệu quả lớn và hiệuquả
Mô hình phát triển ứng dụng nhanh (Rad) là một mô hình phát triển thúc đẩy quátrình tạo mẫu nhanh và phản hồi ngay lập tức trong các chu kỳ phát triển và thử nghiệmkéo dài, kéo dài
Đời sống ngày càng phát triển, và nhu cầu giải trí đang trở nên ngày càng đa dạng
và đổi mới không ngừng Người dùng ngày nay đang tìm kiếm các hoạt động giải trí đadạng và phong phú để thư giãn và giải tỏa căng thẳng, từ việc xem phim, chơi game, đếntham gia các hoạt động trực tuyến và nội dung giáo dục trên internet Vì vậy, việc xâydựng một website quản lý hệ thống bán vé xem phim online không chỉ đòi hỏi sự chuyênmôn sâu sắc mà còn đòi hỏi sự linh hoạt và nhanh chóng để đáp ứng nhu cầu ngày càngtăng của thị trường
Trong bối cảnh này, việc áp dụng mô hình RAD vào đặc tả của website quản lý hệthống bán vé xem phim online sẽ mang lại nhiều lợi ích, từ việc tăng cường tính linh hoạt
và nhanh chóng trong quá trình phát triển đến việc đảm bảo sản phẩm cuối cùng đáp ứngđược yêu cầu và mong đợi của khách hàng và người dùng
Vì vậy chúng em sẽ đi thực hiện đề tài áp dụng mô hình phát triển ứng dụng nhanhvào đặc tả website quản lý hệ thống bán vé xem phim online
2 Mục đích đề tài
Tìm hiểu mô hình phát triển phát triển ứng dụng nhanh và ứng dụng viết tài liệuđặc tả yêu cầu website quản lý hệ thống bán vé xem phim online
Trang 63 Cấu trúc báo cáo
Chương 1: Cơ sở lý thuyết về mô hình phát triển ứng dụng nhanh
Nội dung trình bày về các khái niệm cơ bản: công nghệ, phần mềm, công nghệphần mềm, mô hình quy trình, đặc tả yêu cầu phần mềm, yêu cầu chức năng, yêu cầu phichức năng và quy trình phát triển phần mềm và mô hình ứng dụng phát trển nhanh
Chương 2: Đặc tả yêu cầu phần mềm cho Website bán vé xem phim online
Nội dung trình bày về quá trình phân tích và đặc tả website quản lý hệ thống bán
vé xem phim online
6
Trang 7CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT VỀ MÔ HÌNH PHÁT TRIỂN ỨNG
DỤNG NHANH.
1 Các khái niệm cơ bản
1.1 Khái niệm công nghệ
Công nghệ là một khái niệm đề cập đến việc áp dụng kiến thức, kỹ thuật và công
cụ để tạo ra, sử dụng và sửa đổi các sản phẩm, quy trình và hệ thống nhằm đáp ứngnhu cầu của con người Công nghệ có thể được áp dụng trong nhiều lĩnh vực khácnhau như khoa học, kỹ thuật, y tế, thông tin và truyền thông, sản xuất, năng lượng,giao thông vận tải và nhiều lĩnh vực khác
1.2 Khái niệm phần mềm
- Dưới góc nhìn của người sử dụng:
+ Chương trình thực thi được trên máy tính hoặc các thiết bị chuyên dụng khác
+ Nhằm hỗ trợ cho các nhà chuyên môn trong từng lĩnh vực và thực hiện tốt hơn cácthao tác nghiệp vụ
được xây dựng để thực hiện theo yêu cầu của người dùng
1.3 Khái niệm công nghệ phần mềm
Công nghệ học 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ềm là một ngành kỹ thuật liên quan đến tất cả các khía cạnh củasản xuất phần mềm từ giai đoạn đầu của đặc tả hệ thống cho đến bảo trì hệ thống.Bauer [1969]: việc thiết lập và sử dụng các nguyên tắc công nghệ học đúng đắndùng để thu được phần mềm một cách kinh tế vừa tin cậy vừa làm việc hiệu quả trêncác máy thực
Parnas [1987]: việc xây dựng phần mềm nhiều phiên bản bởi nhiều người
Ghezzi [1991]: một lĩnh vực của khoa học máy tính, liên quan đến xây dựng các hệthống phần mềm vừa lớn vừa phức tạp bởi một hay một số nhóm kỹ sư
IEEE [1993]: nghiên cứu các phương pháp tiếp cận và việc áp dụng phương pháptiếp cận có hệ thống, bài bản và được lượng hóa trong phát triển, vận hành và bảo trìphần mềm
Pressman [1995]: Công nghệ phần mềm là bộ môn tích hợp cả quy trình, cácphương pháp, các công cụ để phát triển phần mềm máy tính
Trang 81.4 Khái niệm mô hình quy trình
Mô hình quy trình là một chiến lược phát triển phần mềm
Mỗi mô hình quy trình tuân theo các bước duy nhất để đảm bảo sự thành côngtrong quá trình phát triển phần mềm
Sử dụng mô hình quy trình làm quy trình của dự án sẽ dẫn đến chi phí thấp, chấtlượng cao, giảm thời gian chu trình hoặc mang lại các lợi ích khác Nói cách khác, môhình quy trình cung cấp những hướng dẫn chung để phát triển một quy trình phù hợpcho một dự án
1.5 Đặc tả yêu cầu phần mềm
Đặc tả yêu cầu phần mềm (SRS) là sự mô tả toàn diện về mục đích và môi trường
dự định cho phần mềm đang được phát triển SRS mô tả đầy đủ những gì phần mềm sẽlàm và dự kiến nó sẽ hoạt động như thế nào
Tài liệu đặc tả là bản mô tả chi tiết về các tính năng và yêu cầu của sản phẩm hoặc
dự án Tài liệu này xác định các yêu cầu kỹ thuật, chức năng, hiệu suất, giao diệnngười dùng và các thông số kỹ thuật cần thiết khác cho sản phẩm hoặc dự án
Trong bài viết này, chúng tôi sử dụng mẫu IEEE830_1998, đây là mẫu đặc tả yêucầu phần mềm tiêu chuẩn do Viện Kỹ sư Điện và Điện tử (IEEE) cung cấp Mẫu nàycung cấp cách tiếp cận có hệ thống để mô tả các yêu cầu của hệ thống phần mềm Nóbao gồm các phần như mô tả, yêu cầu chức năng, yêu cầu phi chức năng, triển khai vàkiểm tra, tạo điều kiện thuận lợi cho quá trình ghi lại các yêu cầu phần mềm
1.6 Khái niệm về yêu cầu chức năng
Mô tả các chức năng hay các dịch vụ mà hệ thống phần mềm có thể thực hiện
Hỗ trợ cho nghiệp vụ của khách hàng/người sử dụng
Là danh sách các công việc sẽ được thực hiện trên máy tính cùng với các thông tin
mô tả tương ứng
Các yêu cầu chức năng bao gồm:
+ Yêu cầu chức năng nghiệp vụ
+ Yêu cầu chức năng hệ thống
- Yêu cầu chức năng nghiệp vụ
Biễu diễn các mục tiêu của tổ chức/khách hàng
Do người tài trợ cho dự án, khách mua phần mềm, người quản lý các ngườidùng, bộ phận tiếp thị (maketing)… cung cấp
Thường được ghi nhận trong phần đặc tả (vision) và phạm vi (scope) của tàiliệu
Đôi khi còn được gọi là tuyên bố dự án (project charter) hay tài liệu yêu cầu thịtrường (market requirements document)
8
Trang 9 Tương ứng với công việc có thật trong thế giới thực mà khách hàng/người sửdụng cần phải thực hiện.
Đảm bảo tính đúng đắn và phù hợp với pháp luật sở tại
Các yêu cầu chức năng nghiệp vụ bao gồm:
Chức năng lưu trữ
Chức năng tra cứu
Chức năng tính toán
Chức năng kết xuất
- Yêu cầu chức năng hệ thống
Không tương ứng với bất kỳ công việc nào trong thế giới thực
Hỗ trợ cho quá trình thực hiện các chức năng nghiệp vụ và người dùng không nhìnthấy được
Yêu cầu chức năng hệ thống liên quan đến tính bảo mật và tính an toàn
Một số yêu cầu chức năng hệ thống bao gồm:
Chức năng môi trường
Chức năng mô phỏng
Chức năng phân quyền
Chức năng sao lưu.
1.7 Khái niệm về yêu cầu phi chức năng
Liên quan đến chất lượng phần mềm
Là sự ràng buộc cách thức thực hiện các yêu cầu chức năng
Mỗi yêu cầu phi chức năng có thể thuộc:
+ Yêu cầu sản phẩm
+ Yêu cầu về tổ chức
+ Yêu cầu bên ngoài
Được cho có thể quan trọng hơn yêu cầu chức năng Nếu yêu cầu phi chức năngkhông được đáp ứng → hệ thống trở nên vô dụng
- Yêu cầu sản phẩm: về hiệu năng, khả năng sử dụng, độ tin cậy … như:
+ Yêu cầu khả dụng (Usability requirements)
+ Yêu cầu hiệu quả (Efficiency requirements)
+ Yêu cầu hiệu năng (Performance requirements)
Trang 10+ Yêu cầu về không gian (Space requirements).
+ Yêu cầu tin cậy (Reliability requirements)
+ Yêu cầu khả chuyển (Portability requirements)
+ Yêu cầu về tính toàn vẹn (Integrity requirements)
+ Yêu cầu về khả năng ghi nhận (Integrity requirements) …
- Yêu cầu về tổ chức: được lấy từ những chính sách và quy tắc của khách hànghoặc tổ chức sử dụng hệ thống, như:
+ Yêu cầu chuyển giao (Delivery requirements)
+ Yêu cầu triển khai (Implement requirements)
+ Yêu cầu về chuẩn (Standards requirements)
- Yêu cầu bên ngoài được xác định từ các tác nhân ngoài của hệ thống như:
+ Yêu cầu hoạt động bên trong (Interoperability requirements)
+ Yêu cầu đạo đức (Ethical requirements)
+ Yêu cầu pháp lý (Legislative requirements)
- Yêu cầu phi chức năng ngầm định:
+ Yêu cầu khả dụng (Usability requirements)
+ Yêu cầu hiệu quả (Efficiency requirements)
+ Yêu cầu tin cậy (Reliability requirements)
+ Yêu cầu khả chuyển (Portability requirements)
+ Yêu cầu về tính toàn vẹn (Integrity requirements)
+ Yêu cầu về khả năng ghi nhận (Integrity requirements)
- Yêu cầu phi chức năng ngầm định:
+ Yêu cầu hoạt động bên trong (Interoperability requirements)
+ Yêu cầu đạo đức (Ethical requirements)
+ Yêu cầu pháp lý (Legislative requirements)
+ Yêu cầu cá nhân (Privacy requirements)
+ Yêu cầu an toàn (Safety requirements)
10
Trang 112 Mô hình phát triển ứng dụng nhanh
2.1 Giới thiệu
Mô hình Phát triển Ứng dụng Nhanh (Rad) là một mô hình phát triển thúc đẩy quátrình tạo mẫu nhanh và phản hồi ngay lập tức trong các chu kỳ phát triển và thử nghiệmkéo dài, kéo dài Với sự trợ giúp của các mô hình phát triển ứng dụng nhanh chóng, cáclập trình viên có thể thực hiện một số lần lặp lại và sửa đổi phần mềm trong một khoảngthời gian ngắn mà không cần phải bắt đầu lại từ đầu mỗi lần Điều này góp phần đảm bảorằng kết quả cuối cùng tập trung vào chất lượng hơn và đồng bộ với nhu cầu của ngườidùng cuối
Ban đầu, Barry Boehm, James Martin và một số người khác đã nhận ra rằng cácphương pháp kỹ thuật thông thường không cần thiết để phát triển phần mềm Nó khôngphải là một nguồn tài nguyên đơn lẻ yêu cầu một sự sắp xếp các thành phần được xácđịnh trước Nó có thể được định hình theo cách phù hợp nhất với yêu cầu của người sửdụng
Ban đầu, mô hình phát triển ứng dụng nhanh được tổ chức theo mô hình xoắn ốc,trong đó một hoặc nhiều mô hình phát triển được sử dụng để làm việc trong một dự ánhoặc phát triển phần mềm cụ thể Nó khác với các mô hình khác
Phát triển ứng dụng nhanh chóng (Rad) đã phát triển trong suốt thời gian Nó đãđiều chỉnh cấu trúc của mình để đáp ứng các điều kiện tiên quyết của thời kỳ trong khivẫn tuân thủ các nguyên tắc cơ bản của sự tăng trưởng Thuật ngữ Rad là viết tắt của môhình phát triển ứng dụng nhanh là một mô hình có khả năng tạo ra nguyên mẫu với tốc độnhanh Sau đó, người tiêu dùng cung cấp đầu vào của họ trên các nguyên mẫu khi đầu vàođược phân tích và sử dụng để sửa đổi nhằm đáp ứng tốt hơn các yêu cầu của người tiêudùng
Trang 12Hình 2.1: Hình minh họa mô hình RAD
2.2 Các pha trong mô hình
Mô hình phát triển ứng dụng nhanh (RAD - Rapid Application Development) baogồm các pha chính sau:
1 Xác định yêu cầu: Trong giai đoạn này, nhóm phát triển tập trung vào việc hiểu rõ
yêu cầu của khách hàng và người dùng cuối Thường là một tiến trình tương tácnhanh chóng, có thể sử dụng các kỹ thuật như cuộc họp tập trung, cuộc thảo luậnnhóm, hoặc phỏng vấn để xác định và đặt ra các yêu cầu cụ thể
2 Phát triển nhanh: Trong giai đoạn này, nhóm phát triển tập trung vào việc tạo ra một
phiên bản sơ bộ của ứng dụng, thường gọi là "prototype" hoặc "mock-up" Các công
cụ phát triển nhanh như các trình biên tập mã hoặc các công cụ trực quan có thể được
sử dụng để nhanh chóng tạo ra các giao diện người dùng hoặc các chức năng cơ bản
3 Đánh giá và phản hồi: Trong giai đoạn này, phiên bản sơ bộ của ứng dụng được đưa
ra để người dùng cuối và khách hàng đánh giá Phản hồi từ họ được sử dụng để cảithiện và điều chỉnh ứng dụng Quá trình này có thể lặp lại nhiều lần cho đến khi ứngdụng đạt được sự chấp nhận từ phía người dùng
12
Trang 134 Phát triển sản phẩm chính thức: Sau khi nhận được phản hồi và thực hiện các cải
tiến cần thiết, ứng dụng sẽ được phát triển thành phiên bản chính thức hoàn chỉnh.Các tính năng được mở rộng và tối ưu hóa, cũng như các vấn đề bảo mật và hiệu suấtđược xem xét kỹ lưỡng
5 Triển khai và duy trì: Cuối cùng, ứng dụng được triển khai vào môi trường sản xuất
và tiếp tục được duy trì và cập nhật để đảm bảo hoạt động một cách ổn định và hiệuquả Quá trình này có thể bao gồm việc cung cấp hỗ trợ kỹ thuật, cập nhật tính năng,
và các bản vá bảo mật
Step 1 Business modeling
Xác định các luồng thông tin giữa các chức năng khác nhau của công việc
Step 2 Data modeling
Các thông tin thu thập được từ công đoạn 1 sẽ được sử dụng để định nghĩa ra cácđối tượng dữ liệu nó cần thiết cho công việc
Step 3 Process modeling
Sau khi đã định nghĩa ra các đối tượng dữ liệu thì chúng được chuyển đổi để trởthành các dòng thông tin công việc, tiến đến một vài đối tượng công việc riêng
Step 4 Application generation
Đây là công đoạn coding giống như trong các quy trình khác, khi dữ liệu và tiếntrình thực hiện đã được vạch ra thì công đoạn này là sử dụng các công cụ lập trình, phầntrình biên dịch, và các ngôn ngữ lập trình để tiến hành code lên các chức năng phần mềm.Step 5 Testing và Turnover
Là công đoạn test sản phẩm được tạo, sau khi việc coding đã hoàn thành, và cuốicùng đưa vào thử nghiệm trong thực tế, giao bán sản phẩm, tính toán doanh thu
Trang 14Phản hồi nhanh từ người dùng: Có thể dễ dàng tạo ra các phiên bản sơ bộ của hệthống để thu thập phản hồi từ người dùng Điều này giúp nhóm phát triển hiểu rõ nhu cầu
và yêu cầu của người dùng, từ đó điều chỉnh và cải thiện hệ thống một cách linh hoạt
Yêu cầu thay đổi linh hoạt: Thị trường bán vé có thể thay đổi nhanh chóng do yêucầu của người dùng hoặc do các yếu tố bên ngoài như sự kiện đặc biệt, thay đổi luật lệ,hoặc biến động thị trường RAD cho phép các thay đổi được thực hiện một cách linh hoạt
và nhanh chóng mà không gây ảnh hưởng đến toàn bộ quy trình phát triển
Tập trung vào tính tương tác và trải nghiệm người dùng: Việc tạo ra các phiên bản
sơ bộ của hệ thống giúp nhóm phát triển tập trung vào việc cải thiện trải nghiệm người
14
Trang 15dùng và đảm bảo tính tương tác hiệu quả Điều này rất quan trọng trong ngành côngnghiệp bán vé, nơi trải nghiệm người dùng có thể ảnh hưởng đến việc thu hút và giữ chânkhách hàng.
Tóm lại, việc chọn mô hình phát triển nhanh (RAD) cho hệ thống bán vé có thểgiúp tối ưu hóa thời gian phát triển, tăng cường tính linh hoạt và đáp ứng nhanh chóng cácyêu cầu và thay đổi từ phía người dùng và thị trường
Trang 16CHƯƠNG 2: ĐẶC TẢ YÊU CẦU PHẦN MỀM CHO WEBSITE BÁN VÉ
XEM PHIM ONLINE
1 Giới thiệu
1.1 Mục đích
Mục tiêu chính của dự án là tạo ra một trang web bán vé xem phim hiện đại và tiệnlợi, giúp cải thiện trải nghiệm mua vé cho khách hàng và tối ưu hóa quy trình bán vé củarạp chiếu phim
Mở rộng phạm vi kinh doanh của rạp bằng cách cung cấp một nền tảng trực tuyến
để khách hàng có thể truy cập và mua vé mọi lúc mọi nơi
Nâng cấp hệ thống bán vé hiện tại bằng cách thêm các tính năng mới như chọn ghế
tự do, đặt vé trước, và tích hợp thanh toán trực tuyến
Hệ thống cũng sẽ được thiết kế để có thể mở rộng và tích hợp các tính năng mớitrong tương lai, như tích hợp hệ thống đánh giá phim, cập nhật thông tin phim, và tạo cácchương trình khuyến mãi
16