Đồng thời với sự bùng nô của hình thức buôn bán hiện đại đó, xu hướng tin hoc hoá, áp dụng công nghệ máy tính vào trong mọi lĩnh vực hoạt động của xã hội đương thời, với thế mạnh và tính
Trang 1MON: PHAN TICH VA THIET KE HE THONG
DE TAI: PHAN TICH VA THIET KE HE THONG QUAN LY CUA HANG TIEN LOI
Lop: 21CDPI - Nhóm 9
Sinh Viên: Nguyễn Truong Minh Đăng (Nhóm Truong)
Tran Chí Cường Nguyên Hoàng Hiệp
Giảng Viên: Nguyễn Thị Nguyệt
Hà Nội, 9/2023
Trang 2
Ý KIÊN ĐÁNH GIÁ CỦA GIẢNG VIÊN HƯỚNG DAN
Hà Nội, ngày tháng 9 năm 2023
GIẢNG VIÊN
(Kỹ tên, ghi rõ họ tên)
Trang 3LỜI CÁM ƠN
Sau một thời gian thực hiện bài tập lớn, đến nay mọi công việc liên quan đến bài tập lớn đã hoàn tất Trong suốt thời gian này, chúng em đã nhận được rất nhiều sự giúp
đỡ Ở phan dau tiên, cho phép em có đôi điều gửi đến những người em vô cùng biết ơn
Em xin chân thành cảm ơn trường Đại học Kiến trúc và Khoa Công Nghệ Thông Tin đã tạo điều kiện thuận lợi cho em học tập và thực hiện đề tài nay Em xin bày tỏ lòng biết ơn sâu sắc đến cô Nguyễn Thị Nguyệt đã tận tình hướng dẫn, chỉ bảo em trong suốt quá trình thực hiện đề tài này Em xin chân thành cảm ơn Cô đã tận tình giảng dạy, trang bị cho chúng em những kiến thức quý báu Cảm ơn tất cả bạn bè, những người đã sát cánh cùng nhau những qua niềm vui, cùng nhau chia sẻ những khó khăn của chúng em và giúp đỡ chúng em rất nhiều trong quá trình thực hiện đồ án môn học
Sinh viên thực hiện Nhóm 9
Trang 4LỚI MƠ ĐẦU
Bán lẻ, buôn bán hiện đại dưới hình thức siêu thị tự chọn các cửa hàng trung tâm thương mại xuất hiện ở Việt Nam từ 1994 và tăng trưởng mạnh trong các năm gần đây Mức sống của người dân ngày càng cao dẫn đến xu hướng thích mua hàng ở cửa hàng, siêu thị hơn ở chợ vì yếu tô chất lượng an toàn vệ sinh thực phẩm, hơn nữa các mặt hàng này phục vụ cho nhu cầu thiết yêu của cuộc sống Ta nhận thấy các kênh phân phối hiện
đại đang dần chiếm ưu thẻ, đặc biệt là tại các đô thị lớn
Trong đó, các kênh bán lẻ hiện đại ( siêu thị, trung tâm thương mại, ) da phat triên chóng mặt Và có thể thấy các hình thức phân phối này đã dân trở nên quen thuộc
với những người dân ở thành thị và các tỉnh lớn Một chuỗi kênh phân phối, bán lẻ hiện
đại đang dan mọc lên như là xu thế tất yếu trên con đường thương mại hoá hiện đại hoá của Việt Nam với nhiều thương hiệu như Shop&Go, Family Mart, Co.op Mart, Winmart, CmleK
Theo công ty nghiên cứu thị tường Kantar Worldpanel, mức tăng trưởng của mô hình cửa hàng tiện lợi so với cùng kỳ năm trước lên đến 80%, gắn với nhu cầu về sự tiện
lợi của người tiêu dùng thành thị Đồng thời với sự bùng nô của hình thức buôn bán hiện
đại đó, xu hướng tin hoc hoá, áp dụng công nghệ máy tính vào trong mọi lĩnh vực hoạt động của xã hội đương thời, với thế mạnh và tính cấp thiết của ứng dụng tin học thì việc phát triển các ứng dụng tự động là một lợi thế để tiết kiệm chỉ phí, phục vụ nhu cầu cuộc sông con người Do vậy mà hầu hết các lĩnh vực trong xã hội hiện nay đều sử dụng phần mềm tự động để thuận tiện cho nhân viên, quản lý và khách hàng Vì vậy mà việc đầu tư phần mềm hỗ trợ quan ly là rất cần thiết cho hiện nay
Phần mềm quản lý là một hình thức quản lý lĩnh hoạt, tiện dụng cho người sử
dụng Với phần mềm thì việc nhập, xuất đữ liệu và quản lý hàng hoá sẽ trở nên dễ dàng hơn Bên cạnh đó việc này giúp tiết kiệm thời gian, tiền bạc hơn cho chủ cửa hàng đáp ứng được mọi yêu cầu mà người sử dụng đặt ra
Trang 5CHƯƠNG I: CO SO LY THUYET
1.Téng quan vé cong nghé phan mém
1.1 Dinh nghia
- Có nhiều định nghĩa công nghệ phần mềm được đưa ra:
+ Bauer (1969): Công nghệ phần mềm là việc thiết lập và sử dụng các nguyên lí công nghệ đúng đắn đề thu được phần mềm vừa kinh té, tin cậy vừa làm việc hiệu quả trên máy tính thực
+ Parnas (1987): Công nghệ phần mềm là việc xây dựng phần mềm nhiều phiên bản bởi nhiều người
+ Ghezzi (1991): Công nghệ phần mềm là 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 hoặc một số nhóm kĩ
SƯ
1.2 Phân loại công nghệ phần mềm
- Phần mềm ứng dụng: Đây là phần mềm được thiết kế đề giải quyết các nhu cầu cụ thê của người dùng Ví dụ: trình duyệt web, ứng dụng văn phòng, phần mềm thiết kê đồ họa
- Phần mềm hệ điều hành: Đây là phần mềm quản lí và điều khiển tat cả các hoạt động
của một máy tính hoặc thiết bị di động Ví dụ: Windows, macOS, 1OS, Android
- Phần mềm nhúng: Đây là phần mềm được tích hợp sẵn vào các thiết bị điện tử như điện
thoại di động, máy tính cá nhân, máy tính bảng Ví dụ: phần mềm điều khiến điện thoại, phần mềm điều khiên máy tính cá nhân
- Phần mềm mã nguồn mở: Đây là phần mềm được phát hành với mã nguồn mở, cho phép người dùng xem, sửa đôi và phân phối lại theo các điều khoản cụ thê Ví du: Linux, Mozilla Firefox, Wordpress
- Phần mềm dịch vụ: Đây là phan mềm được cung cấp dưới dạng dịch vụ trực tuyến thông quan internet Vi du: Google Drive, Dropbox, Netflix
- Phần mềm trò chơi: Đây là phần mềm được thiết kế đề chơi trò chơi điện tử Ví dụ:
FIFA, Call of Duty, Candy Crush
1.3 Các thuộc tính của công nghệ phần mềm
- Đáng tin cậy: Phần mềm nên hoạt động một cách ôn định và tin cậy, không gây ra các lỗi và sự cô không mong muốn
- Hiệu suất: Phần mềm nên hoạt động một cách nhanh chóng và mượt mà, đảm bảo thời gian phản hồi nhanh và không gây chậm trễ trong quá trình sử dụng
- An toàn: Phần mềm nên được thiết kế để đảm bảo an toàn thông tin và bảo vệ dữ liệu của người dùng khỏi các mỗi đe dọa bên ngoài
- Dễ sử dụng: Giao diện người dùng của phần mềm nên được thiết kế đơn giản, dễ hiểu và
dễ sử dụng, giúp người dùng tương tác một cách thuận tiện và hiệu quả
- Mở rộng: Phần mềm nên có khả năng mở rộng, cho phép thêm các tính năng mới và tương thích với các hệ thông và công nghệ khác
- Tương thích: Phần mềm nên tương thích với nhiều hệ điều hành, thiết bị và nền tảng
khác nhau đề có thê sử dụng trên nhiều môi trường khác nhau
Trang 6- Tính linh hoạt: Phần mềm nên có khả năng tương tác và tích hợp với các ứng dụng và
dịch vụ khác để tạo ra một trải nghiệm toàn diện và thuận tiện cho người dùng
- Hỗ trợ: Phần mềm nên có sự hỗ trợ và chăm sóc tận tâm từ nhà phát triển, đảm bảo giải quyết các vẫn đề và trả lời các câu hỏi của người dùng một cách nhanh chóng và hiệu quả
- Sáng tạo: Phần mềm nên mang lại những giải pháp sáng tạo và đột phá, đáp ứng các nhu cầu và mong muốn của người dùng một cách độc đáo và khác biệt
1.4 Các đặc trưng của công nghệ phần mềm
- Phần mềm được phát triển hay được kĩ nghệ hóa, nó không được chế tạo theo nghĩa cô điển Trong mỗi sản phẩm phần mềm đều chứa một hàm lượng lao động quan trọng nhất
là chất xám Đó là trí tuệ và lao động trí óc của tất cả những thành viên trong dự án phần mềm từ nhà quản trị dự án, cán bộ phân tích thiết kế cho đến những người lập trình trực tiếp
- Phần mềm không bị khấu hao di trong qua trình sử dụng Phần mềm không bị ảnh hưởng bởi các yếu tổ môi trường Phần mềm chỉ bị trục trặc do những khiếm khuyết do thiết kế hoặc lập trình mà phần lớn trong số này được phát hiện và sửa chữa ngay trong giai đoạn đầu khi phần mềm được đưa vào sử dụng
- Phần mềm được xây dựng theo đơn đặt hàng, ít khi được lắp ráp từ những thành phân có san Phan mềm được xây dựng theo yêu cầu của các đơn vị khác nhau phải đáp ứng được những đặc điểm riêng về quy trình nghiệp vụ nên phải được thực hiện riêng rẽ Tuy nhiên hiện nay trong nhiều lĩnh vực hoạt động xã hội các quy trình nghiệp vụ đã được chuẩn hóa, thống nhất theo mẫu chung nên thực tế hiện nay các nhà sản xuất phần mềm có thể xây dựng những bộ phận phần mềm theo chuẩn mực chung và khi cần sẽ điều chỉnh cho phù hợp với đặc điểm riêng theo yêu cầu của khách hàng
1.5 Quy trình phát triển phần mềm
- Xác định yêu cầu:
+ Khách hàng nêu yêu cầu mà phần mềm phải có
+ Người phát triển ghi chép lại
- Phân tích: trên cơ sở yêu cầu của khách, người phát triên mô tả chính xác hơn những yêu cầu mà phần mềm phải có
- Thiết kế: các kiến trúc sư và người phát triển phần mềm đưa ra các thông số kĩ thuật tiên tiễn để tạo ra sản phâm
- Cài đặt: viết chương trình bằng ngôn ngữ cụ thê dựa trên thông số kĩ thuật và yêu cầu sản phẩm đã được thông nhất trong giai đoạn trước
- Kiểm thử:
+ Tester tiếp nhận sản phẩm và tiễn hành testing
+ Tester cập nhật kết qua test vao tool quan lí và thông báo bug (lỗi) đến developers + Tester và developers cùng phối hợp xử lí bug và cập nhật trên hệ thông quản lí lỗi
- Bảo trì:
+ Nhà phát triển phần mềm cung cấp sản phâm hoàn chinh đến tay khách hàng + Bảo trì giúp khắc phục nhanh các vấn đề nhỏ xảy ra trong quá trình sử dụng sản phâm
Trang 7+ Phân tích yêu cầu phần mềm: Hiểu lĩnh vực thông tin, chức năng, hành vi tính năng và giao diện phần mềm sẽ phát triển Yêu cầu cho cá hệ thống và phần mềm phải được tư
liệu hóa và trao đôi với khách hàng
+ Thiết kế: Là quá trình nhiều bước tập trung vào 4 thuộc tính chủ yếu của một chương
trình: cầu trúc dữ liệu, kiến trúc phần mềm, biểu diễn giao diện, chỉ tiết thủ tục (thuật
toán) Giống như các yêu cầu thiết kế cũng cần tư liệu hóa và là một phần quan trọng của cầu trúc phần mềm
+ Tạo mãilập trình: Chuyên thiết kế thành một chương trình bằng một ngôn ngữ nào đó
Nếu thiết kế được chỉ tiết hóa thì lập trình thuần tủy là cơ học
+ Hễ tro/bao trì: Đáp ứng lại những thay đôi, nâng cấp phần mềm được phát triển theo sự thay đối của nhu cầu, môi trường
b) Mô hình thuần thục khả năng:
Công nghé phan mém
Hệ thông/thông tin
| phan ten | | Thiét ké Lập trình — Kiểm thử
- Mô hình này do Software Engineering Institute (SEI) phát triển gồm 5 mức sau: + Mức 1 — Khởi đầu: Một số quy trình được xác định, sự thành công phụ thuộc vào các
nỗ lực cá nhân
+ Mức 2 — Lặp lại: Quy trình quan lí dự án cơ bản được thiết lập dé theo vết của chỉ phi, lịch trình, chức năng Công việc không phụ thuộc vào cá nhân, làm việc theo quy trình Thành công dự án đáp ứng các ứng dụng cỡ nhỏ
+ Mức 3 — Xác định: Toàn bộ quy trình phần mềm cho cả các hoạt động quản lí và công nghệ được tư liệu hóa, chuẩn hóa
+ Mire 4 - Quan tri: Cac d6 do chi tiết của quá trình phần mềm và chất lượng sản phẩm được thu thập Toàn bộ quy trình và sản pham duoc diéu khién str dụng các độ đo chi tiết này Mức này bao gồm các đặc tính xác định ở mức 3
Trang 8
+ Mức 5 — Tối ưu: Tiếp tục cải tiễn quy trình sản xuất bằng cách lấy thông tin phản hồi
và đưa ra công nghệ mới
Nghe khách Tạo sửa
trình bảy ‘ ban mau
-Mô hình chế thử là một tiên trình giúp người phát triên phần mềm có khả năng tạo ra một
mô hình cho phần mềm cần phải xây dựng Mô hình này có thê là một trong 3 dạng: + Bản mẫu trên giấy hay mô hình dựa trên PC mô tả giao điện người máy giúp cho người dùng hiệu cách tương tác xuất hiện
+ Bản mẫu làm việc cài đặt một tập con các chức năng của phần mềm mong muốn, + Một chương trình đã có thực hiện một phần hay tất cả các chức năng mong muốn nhưng cần cải tiên thêm các tính năng khác tùy theo nỗ lực phát triển mới
-Người phát triển và khách hàng gặp nhau và xác định các mục tiêu tông thể của phần mềm, xác định các yêu cầu nào đã biết, và miền nào bắt buộc phải xác định thêm, sau đó
đến việc “thiết kế nhanh” Thiết kế nhanh tập trung vào việc biểu diễn các khía cạnh của phần mềm thấy được đối với người dùng Thiết kế nhanh dẫn tới việc xây dựng bản mẫu
Bản mẫu được khách hàng/người dùng đánh giá và được dùng để làm mịn dần các yêu
cầu đối với phần mềm cần phát triên Tiến trình được lặp đi lặp lại cho tới khi bản mẫu
được vi chỉnh thỏa mãn nhu cầu khách hàng, đồng thời cũng giúp cho người phát triển hiểu được kĩ hơn cần phải thực hiện nhu cầu như thế nào
d) Mô hình phát triển ứng dụng nhanh (RAD):
Trang 9Mô hinh nghiệp vụ
Mô hình
xà dữ liệu
Mô hình nghiệp vụ Mô hình
dung | | Kiếm thử
và đánh giá
———— — 60-90 ngay — —
-Là quy trình phát triển phần mềm gia tăng từng bước với chu trình phát triển ngắn từ 60 đến 90 ngày Mô hình này xây dựng dựa trên hướng thành phân với khả năng tái sử dụng cao Mô hình gom một số nhóm, mỗi nhóm làm một RAD theo các pha sau:
+ Mô hình nghiệp vụ: Luông thông tin được mô hình hóa đê tra loi các câu hỏi sau đây:
* Thông tin nao điều khiến xử lí nghiệp vụ?
* Thông tin nào được sinh ra?
* Ai sinh ra no?
* Thông tin đi đến đâu?
* AI xử lí chúng?
+ Mô hình dữ liệu: Các đôi tượng dữ liệu cần có để hỗ trợ nghiệp vụ, định nghĩa thuộc
tính các đối tượng và xác lập mối quan hệ giữa các đôi tượng
+ Mô hình xử lí: Các đối tượng dữ liệu được chuyền sang luồng thông tin thực hiện chức năng nghiệp vụ Tạo mô tả xử lí để cập nhật (thêm, sửa, xóa, khôi phục) từng đối tượng
đữ liệu
+ Tạo ứng dụng: Dùng các kĩ thuật thé hé thir 4 dé tao phan mềm từ các thành phan da co sản hoặc tạo ra các thành phan có thê tái sử dụng sau này Dùng các công cụ tự động dé xây dựng phần mềm
+ Kiểm thử và đánh giá: Kiêm thử các thành phần mới và kiểm chứng lại mọi giao diện
(các thành phần cũ được kiểm chứng và dùng lại)
e) Mô hình xoắn ốc:
Trang 103b Thiết lập mục tiêu tiếp và
các ràng buộc, dự kiên
2 Xác định điều kiện thắng của cổ đông
1 Xác định mức
tiếp của cổ đông 4 Đánh giả tiến trình và dự
kiến sản phẩm, giải quyết
+ Giao tiếp khách hàng: Thiết lập mối quan hệ hiệu quả giữa khách hàng và nhà phát
triển
+ Lập kế hoạch: Xác định các tài nguyên, thời gian và các thông tin dự án liên quan khác + Phân tích rủi ro: Phân tích cả rủi ro kĩ thuật và rủi ro quan lí
+ Kĩ nghệ: Xây dựng một hay nhiều mô tả cho ứng dụng
+ Xây dựng và xuất xưởng: Xây dựng, kiêm thử, cài đặt và cung cấp các hỗ trợ người dùng (các tài liệu và đào tạo)
+ Khách hàng đánh giá: Các phản hồi của khách hàng dựa trên đánh giá phần mềm tạo ra trong giai đoạn kĩ nghệ và thực hiện trong giai đoạn cài đặt
-Với mỗi lần lặp xung quanh xoắn ốc (bắt đầu từ tâm và đi ra ngoài theo chiều kim đồng hồ) người ta lại xây dựng thêm các phiên bản được hoàn thiện dần của phần mềm Trong mạch xoắn thứ nhất, các mục tiêu, phương án và ràng buộc được xác định, các rủi ro được định rõ và phân tích Tại các vòng xung quanh xoắn ốc, cao điểm của phân tích rủi ro là
quyết định tiễn hành hay không tiền hành Nếu rủi ro quá lớn có thê sẽ đình chỉ dự án
Tuy nhiên, trong hầu hết trường hợp, việc đi theo xoắn ốc vẫn tiếp tục, với mỗi con đường
lại chuyên người phát triển đi xa hơn, hướng tới mô hình hoàn chính hơn của hệ thông và
sau cùng đưa đến chính bản thân hệ thống vận hành
f) Mô hình theo thành phần: