Ôn tập thi giữa kì Công Nghệ Phần Mềm | Công nghệ phần mềm | Trường Đại học Công nghiệp TP.HCM

Ôn tập thi giữa kì Công Nghệ Phần Mềm môn Công nghệ phần mềm của Trường Đại học Công nghiệp Thành phố Hồ Chí Minh. Hi vọng tài liệu này sẽ giúp các bạn học tốt, ôn tập hiệu quả, đạt kết quả cao trong các bài thi, bài kiểm tra sắp tới. Mời các bạn cùng tham khảo chi tiết bài viết dưới đây nhé.

Thông tin:
21 trang 1 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Ôn tập thi giữa kì Công Nghệ Phần Mềm | Công nghệ phần mềm | Trường Đại học Công nghiệp TP.HCM

Ôn tập thi giữa kì Công Nghệ Phần Mềm môn Công nghệ phần mềm của Trường Đại học Công nghiệp Thành phố Hồ Chí Minh. Hi vọng tài liệu này sẽ giúp các bạn học tốt, ôn tập hiệu quả, đạt kết quả cao trong các bài thi, bài kiểm tra sắp tới. Mời các bạn cùng tham khảo chi tiết bài viết dưới đây nhé.

23 12 lượt tải Tải xuống
lOMoARcPSD|45470709
lOMoARcPSD|45470709
Ôn tập giữa kỳ
Môn: CNPM
Đề thi 60 phút
Tham khảo tài liệu là 2 trang A4, viết bằng chữ viết tay của chính mình
Phần 1: Lý thuyết
1. Tổng quan về công nghệ phần mềm
Cho biết 3 thách thức của công nghệ phần mềm, giải thích tại sao.
Thiếu hụt nhà phát triển: Sự khan hiếm nhân lực trong lĩnh vực công nghệ
thông tin đặc biệt là trong ngành phát triển phần mềm là một vấn đề toàn
cầu. Nguyên nhân của vấn đề này có thể do tăng trưởng nhanh chóng trong
nhu cầu về công nghệ và phần mềm, trong khi số lượng sinh viên tốt nghiệp
từ các ngành liên quan không đủ để đáp ứng. Hậu quả là tạo ra áp lực lớn lên
các nhà phát triển hiện tại và cũng có thể dẫn đến việc trì hoãn các dự án.
lOMoARcPSD|45470709
Khó khăn trong việc tích hợp bên thứ ba: Với sự phụ thuộc ngày càng tăng
vào dịch vụ và nền tảng của bên thứ ba cho các tính năng như xác thực
người dùng, thanh toán, và dịch vụ đám mây, các nhà phát triển thường phải
đối mặt với thách thức khi tích hợp các hệ thống này một cách mượt mà. Sự
không tương thích và các vấn đề liên quan đến bảo mật là những rủi ro có
thể xảy ra, cũng như các thách thức về việc duy trì và cập nhật các tích hợp
này theo thời gian.
Tăng cường kỳ vọng của khách hàng: Trong môi trường cạnh tranh khốc liệt
ngày nay, khách hàng có kỳ vọng cao hơn bao giờ hết vào tính năng, hiệu
suất và độ tin cậy của phần mềm. Họ cũng mong đợi sự đổi mới liên tục và
giao hàng nhanh chóng. Điều này đặt ra áp lực đáng kể lên các nhà phát triển
để không chỉ giao hàng nhanh chóng mà còn phải đảm bảo rằng sản phẩm
họ tạo ra phải ổn định, an toàn và dễ sử dụng.
Để đánh giá một phần mềm, những yếu tố nào có trong tiêu chuẩn
đánh giá phần mềm? Nêu lý do tại sao?
Tính Hiệu quả của phần mềm, là một trong 4 thuộc tính thiết yếu
để đánh giá một phần mềm, có nghĩa là gì?
lOMoARcPSD|45470709
Tại sao hệ thống phần mềm có thể bị lỗi theo thời gian?
Để phần mềm không bị lỗi theo thời gian thì chúng ta cần phải
làm gì (ít nhất 2 công việc)? Tại sao?
Cho biết bốn tầng của Công nghệ phần mềm. Nhiệm vụ của mỗi
tầng trong CNPM
lOMoARcPSD|45470709
2. Tìm hiểu về hoạt động hỗ trợ (Umbrella Activities) Hoạt
động hỗ trợ là gì?
=> là một loạt các bước hoặc thủ tục được nhóm phát triển phần mềm tuân theo để
duy trì tiến độ, chất lượng, những thay đổi và rủi ro của các nhiệm vụ phát triển
hoàn chỉnh.
sẽ phát triển qua các giai đoạn của quan điểm chung về phát triển phần mềm. áp
dụng cho toàn bộ dự án phần mềm và giúp nhóm phát triển phần mềm quản lý và
theo dõi tiến độ, chất lượng, thay đổi và rủi ro.
Có những loại hoạt động hỗ trợ nào?
Software project management: Quản lý dự án phần mềm
Formal technical reviews: Đánh giá kỹ thuật chính thức
Software quality assurance: Đảm bảo chất lượng phần mềm
Software configuration management: Quản lý cấu hình phần mềm
Work product preparation and production: Chuẩn bị và sản xuất
sản phẩm công việc
Reusability management: Quản lý khả năng tái sử dụng
Measurement: Đo lường
Risk management: Quản lý rủi ro
Những loại hỗ trợ nào cần thiết nhất khi đơn vị thực hiện phát triển
một hệ thống lớn mà có thời gian thực hiện ngắn
lOMoARcPSD|45470709
3. Quy trình phát triển phần mềm
Quy trình phát triển phần mềm là gì
Quy trình là thứ gắn kết con người, phương pháp và công cụ
Một tiến trình được xác định bởi:
Mô hình quy trình (ví dụ: thác nước, xoắn ốc, ...)
Phương pháp thực hiện các hoạt động trong từng giai đoạn (ví dụ:
thiết kế hướng đối tượng, phát triển chạy thử, kiểm tra chính
thức, ..)
Vai trò và trách nhiệm của người lao động
Quy trình công việc (requirements→ design→ code -> test)
Cho biết 2 đặc trưng chính của quy trình phát triển phần mềm
theo mô hình thác nước (hoặc agile, hoặc RUP, hoặc tăng trưởng,
chữ V, …) giải thích để thấy đó là đặc trưng o Thác nước
Tính tuần tự: Mô hình thác nước yêu cầu hoàn thành từng
giai đoạn một cách tuần tự trước khi chuyển sang giai
đoạn tiếp theo. Không có giai đoạn nào được bắt đầu cho
đến khi giai đoạn trước đó hoàn tất hoàn toàn.
Không có lặp lại (hoặc hạn chế lặp lại): Một khi giai
đoạn nào đó hoàn thành, việc quay trở lại sửa đổi hay
điều chỉnh trong giai đoạn đó không được thực hiện.
o Agile
Linh hoạt và thích ứng (Adaptability): Agile cho phép dự
án thích ứng với thay đổi một cách nhanh chóng và hiệu
quả. Điều này được thể hiện thông qua các lần lặp ngắn
(sprints), sau mỗi lần lặp, nhóm có cơ hội để đánh giá
tiến độ và điều chỉnh kế hoạch tiếp theo dựa trên phản
hồi.
Tương tác và hợp tác liên tục (Continuous
Collaboration): Nhóm phát triển phần mềm làm việc chặt
chẽ với khách hàng và người dùng trong suốt quá trình
phát triển.
o Rational Unified Process (RUP):
Giai đoạn hóa theo các giai đoạn cố định (Phased
Development): RUP phân chia dự án thành bốn giai đoạn
chính: Khởi đầu, Phân tích, Xây dựng và Chuyển giao. Mỗi
lOMoARcPSD|45470709
giai đoạn bao gồm các mục tiêu cụ thể và việc hoàn thành nó
được đánh dấu bằng các cột mốc.
Lặp đi lặp lại và tăng trưởng (Iterative and Incremental):
RUP thực hiện phát triển theo các lần lặp, với mục tiêu hoàn
thiện dần dần thông qua việc thêm các tính năng mới trong
từng lần lặp, điều này cho phép thu thập phản hồi sớm và
tích hợp nó vào dự án.
o Mô hình Tăng trưởng (Iterative Model):
Phát triển lặp đi lặp lại (Iterative Development): Quy trình
này nhấn mạnh việc xây dựng hệ thống thông qua các bản
thử nghiệm lặp đi lặp lại, từ đó cải tiến dần dần qua mỗi lần
lặp.
Tinh chỉnh và mở rộng (Refinement and Expansion): Ở mỗi
lần lặp, phần mềm được tinh chỉnh và mở rộng, tích hợp các
yêu cầu và chức năng mới dựa trên phản hồi từ lần lặp trước
đó.
o Mô hình V (V-Model):
Kiểm thử liên kết với phát triển (Verification and
Validation): Mô hình V liên kết trực tiếp các giai đoạn kiểm
thử với các giai đoạn phát triển tương ứng. Điều này cho
thấy mỗi bước phát triển đều có một bước kiểm thử tương
ứng, đảm bảo chất lượng sản phẩm.
Tính chất hình V (Sequential Path): Các giai đoạn được thực
hiện theo một trình tự giống như hình chữ V, từ phát triển
đến kiểm thử, mỗi giai đoạn đều phụ thuộc vào giai đoạn
trước đó và dẫn đến giai đoạn sau đó.
Mô tả một dự án mà phù hợp triển khai với mô hình tăng trưởng,
đặc tả dự án, giải thích lý do * o Tên Dự Án: Nền tảng Thương
Mại Điện Tử XYZ
Mục Tiêu: Phát triển một nền tảng thương mại điện tử đa chức
năng, cung cấp khả năng mua sắm trực tuyến, quản lý đơn
hàng, phân tích dữ liệu người dùng, và tùy chỉnh trải nghiệm
khách hàng.
Tính năng Ban Đầu: Giỏ hàng, thanh toán trực tuyến, danh sách
sản phẩm.
lOMoARcPSD|45470709
Tính năng Dự Kiến Phát Triển Thêm: Hệ thống đề xuất sản
phẩm thông minh, tích hợp cổng vận chuyển, quản lý kho hàng,
phân tích hành vi người dùng, và tùy chỉnh giao diện người
dùng.
o Lý Do Mô Hình Tăng Trưởng Phù Hợp:
Thay đổi Yêu Cầu: Trong lĩnh vực thương mại điện tử, yêu cầu
thường xuyên thay đổi do sự phát triển của công nghệ và hành
vi người dùng. Mô hình tăng trưởng cho phép dự án phát triển
phần mềm này linh hoạt thích ứng với các thay đổi và tích hợp
chúng mà không cần phải chờ đến giai đoạn cuối của dự án.
Thu Thập Phản Hồi Sớm: Với mô hình tăng trưởng, nhóm phát
triển có thể triển khai một phiên bản cơ bản của sản phẩm, thu
thập phản hồi từ người dùng và thị trường, và từ đó tiếp tục
phát triển sản phẩm dựa trên phản hồi này.
Quản Lý Rủi Ro: Phát triển theo từng giai đoạn giúp nhận diện
và quản lý rủi ro dễ dàng hơn, vì các vấn đề kỹ thuật và thiết kế
có thể được xác định và giải quyết sớm trong quá trình phát
triển.
Cải Thiện Liên Tục: Phát triển theo mô hình tăng trưởng cho
phép tích hợp liên tục các cải tiến và tối ưu hóa dựa trên xu
hướng công nghệ mới nhất và yêu cầu thị trường.
Mô tả một dự án mà phù hợp triển khai với mô hình RUP, đặc tả
dự án, giải thích lý do * o Tên Dự Án: Hệ thống Quản lý Thông
tin Bệnh viện AlphaMed
Mục Tiêu: Tạo ra một hệ thống an toàn và đáng tin cậy để quản
lý dữ liệu bệnh nhân, lịch trình của bác sĩ, quy trình tiếp nhận
và xuất viện, và các dịch vụ liên quan đến bảo hiểm.
Tính năng Ban Đầu: Quản lý hồ sơ bệnh nhân, lịch hẹn, quản lý
khoa phòng.
Tính năng Dự Kiến Phát Triển Thêm: Tích hợp với hệ thống
phòng xét nghiệm, hệ thống lưu trữ và truy xuất hình ảnh y tế,
quản lý dược, và bảo mật theo tiêu chuẩn HIPAA. o Lý Do
Mô Hình RUP Phù Hợp:
lOMoARcPSD|45470709
Cần Có Cấu Trúc Chặt Chẽ: Dự án này đòi hỏi một quy trình có
cấu trúc chặt chẽ do tính chất nhạy cảm và phức tạp của dữ liệu
y tế. RUP, với các giai đoạn rõ ràng
Yêu Cầu Tuân Thủ Quy Định: Các yêu cầu pháp lý đòi hỏi một
quy trình phát triển đáng tin cậy và có thể được kiểm tra. RUP
tập trung vào việc tạo ra tài liệu đầy đủ và rõ ràng
Tích Hợp Phức Tạp: RUP phù hợp với việc tích hợp hệ thống
này với các hệ thống sức khỏe khác do khả năng xử lý các sự
phức tạp và phụ thuộc. Giai đoạn "Xây dựng" của RUP cho
phép tích hợp và kiểm thử từng phần trước khi triển khai đầy
đủ, giảm thiểu nguy cơ lỗi và tối ưu hóa quá trình tích hợp.
Mô tả một dự án mà phù hợp triển khai với mô hình agile, đặc tả
dự án, giải thích lý do: *
Quy trình phát triển phần mềm RUP khác với mô hình thác nước
chỗ nào? Cho ví dụ một hệ thống phù hợp với quy trình RUP *
1. Tính linh hoạt:
RUP là một mô hình lặp đi lặp lại, cho phép thay đổi và
thích ứng với yêu cầu mới trong suốt quá trình phát triển.
Mô hình thác nước là một mô hình tuyến tính, khó thay
đổi sau khi bắt đầu triển khai.
2. Tập trung vào quản lý rủi ro:
RUP cung cấp các kỹ thuật để xác định, đánh giá và giảm
thiểu rủi ro trong dự án.
Mô hình thác nước không chú trọng vào quản lý rủi ro.
3. Sử dụng các công cụ hỗ trợ:
RUP khuyến khích sử dụng các công cụ hỗ trợ để quản lý
dự án và phát triển phần mềm.
Mô hình thác nước không yêu cầu sử dụng các công cụ
hỗ trợ.
4. Vai trò của khách hàng:
RUP coi trọng sự tham gia của khách hàng trong suốt quá
trình phát triển.
lOMoARcPSD|45470709
Mô hình thác nước chỉ yêu cầu sự tham gia của khách
hàng ở giai đoạn đầu và cuối dự án.
Ví dụ về hệ thống phù hợp với quy trình RUP:
Hệ thống ngân hàng: Hệ thống ngân hàng là một hệ
thống phức tạp, có nhiều yêu cầu thay đổi liên tục. RUP
cho phép hệ thống ngân hàng được phát triển theo từng
phần, đáp ứng nhu cầu của khách hàng và thị trường.
Hệ thống bán hàng trực tuyến: Hệ thống bán hàng trực
tuyến cần được cập nhật thường xuyên với các sản phẩm
mới và các chương trình khuyến mãi. RUP giúp hệ thống
bán hàng trực tuyến được phát triển nhanh chóng và linh
hoạt.
Hệ thống quản lý dự án: Hệ thống quản lý dự án cần theo
dõi tiến độ và thay đổi của dự án. RUP cung cấp các
công cụ hỗ trợ quản lý dự án hiệu quả.
Trong Scrum thì chu kỳ Spring thường kéo dài khoảng bao lâu,
nhóm thường dưới bao nhiêu người, cuộc họp thường xuyên ngắn
trả lời 3 câu hỏi gì?
Thời lượng: Thường kéo dài từ 1 đến 4 tuần, tối đa không
quá 4 tuần.
Lý do:
o Thời gian ngắn giúp nhóm tập trung, tránh mất thời gian
và mất tập trung. o Giúp đánh giá tiến độ, điều chỉnh kế
hoạch thường xuyên.
o Giảm thiểu rủi ro, phát hiện lỗi sớm.
Số lượng thành viên nhóm Scrum:
o Số lượng: 3 - 9 người.
Lý do:
o Nhóm nhỏ giúp giao tiếp hiệu quả, ra quyết định nhanh
chóng. o Mỗi thành viên đảm nhận nhiều vai trò, trách
nhiệm.
o Tránh tình trạng "lười biếng xã hội".
Cuộc họp Daily Scrum:
lOMoARcPSD|45470709
o Mục đích: Đồng bộ hóa tiến độ, chia sẻ
thông tin, giải quyết vấn đề. o Thời lượng:
15 phút.
o 3 câu hỏi: * o Hôm qua bạn đã làm gì?
o Hôm nay bạn dự định làm gì? o Có vấn
đề gì cản trở bạn không? Quy trình nào có
phân tích rủi ro tường minh. Mức độ lớn
của dự án khi áp dụng mô hình này?
4. Đặc tả yêu cầu (Requirements Specification)
Đặc tả yêu cầu (Requirements Specification) là gì?
Có mấy đặc tả yêu cầu? Ai là người sử dụng nó? Người đó sử dụng
để làm gì ( vì dụ Các Tester và các Kỹ sư Bảo trì Phần mềm cần sử
dụng tài liệu yêu cầu để làm gì?) ???
Yêu cầu chức năng và phi chức năng khác nhau chỗ nào? Có yêu câu
phi chức năng nào mà tạo ra yêu cầu chức năng của hệ thống
Cấu trúc của một tài liệu yêu cầu gồm những nội dung gì? Trong
những nội dung đó có những một vài nội dung nào quan trọng hơn
những nội dung khác đúng không? Nêu lý do tại sao
Hãy đưa ra ít nhất 5 gợi ý (tips) để viết một tài liệu đặc tả tốt, nêu lý
do tại sao.
Phê chuẩn yêu cầu (Requirement Validation) là gì? Tại sao cần phải
có việc phê chuẩn yêu cầu?
lOMoARcPSD|45470709
Trình bày các phương pháp để phê chuẩn yêu cầu (Requirement
Validation)
Ai là người có thể thực hiện công việc phê chuẩn yêu cầu? Tại sao
Tại sao phải quản lý việc thay đổi yêu cầu (Requirements Change
Management)? Những dự án nào nên có quản lý thay đổi yêu cầu
và những dự án nào không cần? Nêu lý do tại sao? *
lOMoARcPSD|45470709
5. Mô hình hóa hệ thống (System Modeling)
Mô hình hóa hệ thống (System Modeling) là gì? Tại sao hình hóa
hệ thống ở nhiều góc độ khác nhau?
Mô hình ngữ cảnh của hệ thống là gì? Tại sao phải có mô hình
ngữ cảnh?
Cung cấp cái nhìn tổng quan trực quan về hệ thống.
lOMoARcPSD|45470709
Xác định rõ ràng các tác nhân bên ngoài và luồng dữ liệu liên
quan.
Hỗ trợ việc phân tích hệ thống hiện tại và thiết kế hệ thống mới
hiệu quả.
Tăng cường giao tiếp và sự hiểu biết giữa các bên liên quan trong
dự án.
Mô hình tương tác của của hệ thống là gì? Tại sao phải có mô
hình tương tác? Cho ví dụ một mô hình tương tác và cho biết ai có
nhu cầu dùng và dùng để làm gì? *
Mô hình tương tác của hệ thống là một phần của quá trình phân
tích và thiết kế phần mềm, nó mô tả cách thức người dùng và
các hệ thống khác tương tác với hệ thống đang được phát triển
lOMoARcPSD|45470709
Mô hình hành vi của hệ thống là gì? Tại sao phải có mô hình hành
vi? Cho ví dụ một mô hình hành vi và cho biết mô hình này ai có
nhu cầu dùng và dùng để làm gì? *
lOMoARcPSD|45470709
Ai có nhu cầu sử dụng biểu đồ trạng thái và mục đích sử dụng:
Nhà phân tích hệ thống: Dùng biểu đồ trạng thái để hiểu và
mô tả rõ ràng các trạng thái có thể của hệ thống hoặc đối
tượng và cách thức các sự kiện ảnh hưởng đến những trạng
thái này.
Nhà phát triển phần mềm: Sử dụng biểu đồ trạng thái để thiết
kế logic nghiệp vụ và cách xử lý trạng thái bên trong hệ
thống.
Nhà thiết kế và kiến trúc sư phần mềm: Dùng biểu đồ trạng
thái để thiết kế kiến trúc và mô hình hóa hành vi động của hệ
thống.
Nhà kiểm thử: Dùng biểu đồ trạng thái để xác định các điểm
quan trọng cần được kiểm thử, như các trạng thái và chuyển
đổi giữa chúng, đảm bảo hệ thống hoạt động như mong đợi
khi gặp sự kiện cụ thể.
lOMoARcPSD|45470709
Người dùng cuối hoặc khách hàng: Có thể được sử dụng để
trình bày cho họ hiểu về cách thức hoạt động của sản phẩm và
làm thế nào nó sẽ phản ứng với các hành động của họ.
o
Phần 2: Bài tập
1. Cho đặc tả 1 tình huống. Dựa vào tình huống đặc tả, đưa ra:
a. 4 yêu cầu của người dùng về hệ thống trong tình huống
b. 4 yêu cầu chức năng của hệ thống trong tình huốngTình huống
đặc tả:
Một công ty sản xuất và bán lẻ giày dép muốn triển khai một hệ thống
phần mềm để quản lý cửa hàng của họ. Họ có một chuỗi cửa hàng lớn
trải dài khắp quốc gia và muốn một giải pháp phần mềm hiện đại để
quản lý hàng tồn kho, đặt hàng, bán hàng và tương tác với khách
hàng.
a. Yêu cầu của người dùng về hệ thống trong tình huống này có thể
bao gồm:
1. Giao diện người dùng thân thiện và dễ sử dụng: Nhân viên cửa
hàng cần một giao diện đơn giản và trực quan để có thể quản lý hàng
tồn kho, đặt hàng và bán hàng một cách hiệu quả mà không cần nhiều
đào tạo.
2. Quản lý hàng tồn kho chính xác: Cần có một hệ thống để theo
dõi số lượng tồn kho trong mỗi cửa hàng và tự động cập nhật khi có
mua hàng hoặc bán hàng.
3. Tính linh hoạt trong việc quản lý đặt hàng: Nhân viên cần có
khả năng đặt hàng từ nhà cung cấp khác nhau, điều chỉnh số lượng đặt
hàng và theo dõi tình trạng đơn hàng.
4. Tương tác khách hàng: Hệ thống cần cung cấp các công cụ để
ghi chú về các khách hàng, theo dõi lịch sử mua hàng và tương tác với
lOMoARcPSD|45470709
khách hàng thông qua email hoặc tin nhắn để cung cấp thông tin mới
và khuyến mãi.
b. Yêu cầu chức năng của hệ thống trong tình huống này có thể bao
gồm:
1. Quản lý hàng tồn kho: Hệ thống cần có khả năng ghi nhận, cập
nhậtvà báo cáo về số lượng hàng tồn kho trong mỗi cửa hàng.
2. Quản lý đặt hàng: Hệ thống cần có chức năng để nhân viên có
thể đặt hàng từ nhà cung cấp, theo dõi tình trạng đơn hàng và nhận
thông báo về việc giao hàng.
3. Quản lý bán hàng: Hệ thống cần cung cấp chức năng bán hàng
nhanh chóng và dễ dàng, cho phép nhân viên thêm sản phẩm vào giỏ
hàng của khách hàng, xử lý thanh toán và tạo hóa đơn.
4. Quản lý khách hàng: Hệ thống cần cho phép nhân viên ghi chú
về các khách hàng, theo dõi lịch sử mua hàng và tương tác với họ
thông qua email hoặc tin nhắn.
2. Cho 1 đặc tả về một phần của hệ thống phần mềm nào đó. Dựa vào đặc tả
này, đưa ra
a. Mô hình ngữ cảnh của hệ thống phần mềm
b. Mô hình hóa một quy trình có trong hệ thống bằng mô hình DFD
c. Mô hình usecase của của hệ thống phần mềm
d. Mô hình Class ở mức sơ bộ
Đặc tả: Hệ thống quản lý thư viện
Hệ thống phần mềm quản lý thư viện được phát triển để quản lý thông tin
về các sách, độc giả, mượn/trả sách và các sự kiện liên quan đến thư viện.
Hệ thống cung cấp giao diện để quản trị viên có thể thêm mới, chỉnh sửa
và xóa thông tin sách và độc giả, quản lý quá trình mượn/trả sách và tạo
báo cáo về hoạt động của thư viện.
a. Mô hình ngữ cảnh của hệ thống phần mềm:
![Mô hình ngữ cảnh của hệ thống phần mềm quản lý thư
viện](https://i.imgur.com/WltUHQ9.png)
b. Mô hình DFD của quy trình "Mượn sách" trong hệ thống:
![Mô hình DFD của quy trình "Mượn
sách"](https://i.imgur.com/djtxGnH.png)
lOMoARcPSD|45470709
c. Mô hình use case của hệ thống phần mềm:
- Use Case 1: Quản lý thông tin sách
- Mô tả: Quản trị viên có thể thêm, sửa đổi hoặc xóa thông tin sách trong
hệ thống.
- Use Case 2: Quản lý thông tin độc giả
- Mô tả: Quản trị viên có thể thêm, sửa đổi hoặc xóa thông tin độc giả
trong hệ thống. - Use Case 3: Mượn sách
- Mô tả: Người dùng có thể mượn sách từ thư viện. Họ cung cấp thông tin
về sách cần mượn và thông tin về thẻ thành viên của họ.
- Use Case 4: Trả sách
- Mô tả: Người dùng có thể trả sách đã mượn trước đó vào thư viện.d. Mô
hình Class ở mức sơ bộ:
- Lớp Book (Sách):
- Thuộc tính: title, author, publisher, ISBN, quantityAvailable- Lớp
Member (Độc giả):
- Thuộc tính: firstName, lastName, address, phoneNumber, memberID-
Lớp Loan (Mượn sách):
- Thuộc tính: bookID, memberID, borrowDate, returnDate- Lớp Library
(Thư viện):
- Thuộc tính: books[], members[], loans[]
- Phương thức: addBook(), removeBook(), addMember(),
removeMember(), issueLoan(), returnBook()
3. Cho một đặc tả về 1 tình huống/chức năng trong một hệ thống nào đó. Dựa
vào đặc tả này, đưa ra:
a. Viết lại đặc tả trên theo mẫu đặc tả usecase
b. Đưa ra mô hình tuần tự (squence diagram)
c. Đưa ra mô hình hoạt động (activity diagram)
d. Đưa ra mô hình trạng thái (State diagram)
lOMoARcPSD|45470709
Đặc tả: Tính năng "Đặt hàng trực tuyến" trong hệ thống bán lẻ trực tuyến.
1. Người dùng truy cập vào trang web của cửa hàng bán lẻ.
2. Người dùng chọn sản phẩm mà họ muốn mua và thêm vào giỏ hàng.
3. Người dùng xem lại giỏ hàng của mình và chọn "Thanh toán".
4. Hệ thống yêu cầu người dùng đăng nhập hoặc tạo tài khoản mới nếu họ
chưa có.
5. Người dùng đăng nhập hoặc tạo tài khoản mới.
6. Hệ thống hiển thị biểu mẫu thanh toán với các trường thông tin như
địachỉ giao hàng, phương thức thanh toán, và thông tin thẻ tín dụng.
7. Người dùng điền thông tin thanh toán và xác nhận đặt hàng.
8. Hệ thống xác nhận đơn hàng và gửi email xác nhận đến người dùng.
a. Viết lại đặc tả trên theo mẫu đặc tả usecase:
Use Case: Đặt hàng trực tuyến
- Mô tả: Người dùng đặt hàng trực tuyến từ trang web của cửa hàng.
- Người thực hiện: Người dùng
- Tiền điều kiện: Người dùng đã truy cập vào trang web của cửa hàng.
- Hậu điều kiện: Hệ thống xác nhận và gửi email xác nhận đến người
dùng.
- Luồng chính:
1. Người dùng thêm sản phẩm vào giỏ hàng.
2. Người dùng thanh toán và điền thông tin giao hàng.
3. Hệ thống xác nhận đặt hàng và gửi email xác nhận.
b. Mô hình tuần tự (Sequence Diagram):
Người dùng -> Trang web: Truy cập
Trang web -> Người dùng: Hiển thị sản phẩm
Người dùng -> Trang web: Thêm sản phẩm vào giỏ hàng
Trang web -> Người dùng: Hiển thị giỏ hàng
lOMoARcPSD|45470709
Người dùng -> Trang web: Thanh toán
Trang web -> Người dùng: Yêu cầu đăng nhập hoặc tạo tài khoản mới
Người dùng -> Trang web: Đăng nhập hoặc tạo tài khoản mới
Trang web -> Người dùng: Hiển thị biểu mẫu thanh toán
Người dùng -> Trang web: Điền thông tin thanh toán và xác nhận đặt
hàng
Trang web -> Hệ thống thanh toán: Xác nhận đặt hàng
Hệ thống thanh toán -> Trang web: Xác nhận Trang
web -> Người dùng: Hiển thị thông báo xác nhận c. Mô
hình hoạt động (Activity Diagram): Người dùng ->
Trang web: Truy cập
Trang web -> Người dùng: Hiển thị sản phẩm
Người dùng -> Trang web: Thêm sản phẩm vào giỏ hàng
Trang web -> Người dùng: Hiển thị giỏ hàng
Người dùng -> Trang web: Thanh toán
Trang web -> Người dùng: Yêu cầu đăng nhập hoặc tạo tài khoản mới
Người dùng -> Trang web: Đăng nhập hoặc tạo tài khoản mới
Trang web -> Người dùng: Hiển thị biểu mẫu thanh toán
Người dùng -> Trang web: Điền thông tin thanh toán và xác nhận đặt
hàng
Trang web -> Hệ thống thanh toán: Xác nhận đặt hàng
Hệ thống thanh toán -> Trang web: Xác nhận Trang
web -> Người dùng: Hiển thị thông báo xác nhận d. Mô
hình trạng thái (State Diagram): Người dùng: Trang
web chưa được truy cập
Trang web: Hiển thị sản phẩm
| 1/21