Đồ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
ĐẠI HỌC KIÊN TRÚC HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ST BÀI TẬP LỚN MON: 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 Giảng Viên: Nguyên Hoàng Hiệp Nguyễn Thị Nguyệt Hà Nội, 9/2023 Ý 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) LỜ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 LỚ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 CHƯƠ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 - 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 1.6 Mô hình phát triển phần mềm a) Mô hình tuyến tính: - Gồm các hoạt động: + Công nghệ học/hệ thống thông tin và mô hình hóa: Phần mềm là một phần trong hệ thống lớn, công việc bắt đầu bằng cách thiết lập các yêu cầu cho các thành phần hệ thống sau đó ánh xạ một số tập con các yêu cầu sang phần mềm trong quá trình tương tác giữa phan cứng, con người và cơ sở dữ liệu + 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 Lập trình — Kiểm thử Hệ thông/thông tin | phan ten | | Thiét ké - 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 + 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 c) Mô hình chê thử: — Nghe khách Tạo sửa trình bảy ‘ ban mau Rwy Khách kiểm tra bản mẫu Hinh 2.3 Mô hình ché thử -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): Đôi #3 Mô hinh nghiệp vụ xà Mô hình Mô hình dữ liệu nghiệp vụ Đội #1 Mo hinh Mô hình — Mô hình | —— | đữ liêu xừ ý nghiệp vụ Tạo ửng — ¬ ] | dụng Mô hình Mô hình Mô hinh xử lý —— —_—Y đữ liệu xử lý k| | Kiếm tử _I và đánh giá | Tao ung Tạo ứng dụng dung | Kiểm thử và đánh giá | | 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: 2 Xác định điều kiện 3a Hoà hợp điêu kiện thẳng thắng của cổ đông 3b Thiết lập mục tiêu tiếp và các ràng buộc, dự kiên 1 Xác định mức 4 Đánh giả tiến trình và dự tiếp của cổ đông kiến sản phẩm, giải quyết rủi rÐ 6 Kiểm định sản phẩm 5 Xác định mức tiếp của và quy trình sản phẩm và quy trình, kể cả phân chia nhỏ 7 Xét duyệt và đánh giá -Mô hình xoắn ốc cho kĩ nghệ phần mềm đã được phát triển bao gồm các tính năng tốt nhất của cả mô hình tuyến tính lẫn mô hình chế thử trong khi vẫn bô sung thêm các yếu tô mới — phân tích rủi ro — yếu tô bị thiếu trong các mô hình này Mô hình này được biểu thị theo đường xoắn ốc, chia thành các lĩnh vực nhiệm vụ sau: + 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: CAS oa e hoạch, Phân tích thủ tục Giao tiếp Doe khách hàng ¬ mittXác định [|_ » thành phần Tim thành phần Xây dựng bước lập thư viện -| thir n của hệ thống ———— _———— Đặt thành phần Ỷ vào thư viên Lay thanh phan (nêu cỏ) Khách hàng Kỹ nghệ xây dựng | ——_ đanh giá Xây dựng J và xuất xưởng thành phản (nêu chưa có) -Mô hình này gắn với những công nghệ hướng đôi tượng thông qua việc tạo các lớp có chứa dữ liệu và các giải thuật xử lí dữ liệu Nếu thiết kế chính xác các lớp hướng đối tượng sẽ được sử dụng lại trong các ứng dụng và các cầu trúc hệ thông máy tính khác nhau - Mô hình này có nhiều điểm tương đồng với mô hình xoắn ốc Tuy nhiên các mô hình lắp ráp thành phần tạo nên ứng dụng từ các thành phần phần mềm đã được đóng gói trước (đôi khi gọi là các lớp) - Các hoạt động kĩ nghệ bắt đầu bằng việc xác định các lớp Công việc này được thực hiện bằng cách kiểm tra các đữ liệu được xử lí trong ứng dụng và các giải thuật được ứng dụng đề hoàn thành các thao tác này Các dữ liệu và thuật toán tương ứng được đóng gói trong các lớp g) Mô hình hình thức: & hop „~ _—_*‡ —¬ SS ~ canst [a | ] T] Kiêm ve | _| ` + - Mô hình này còn được gọi là mô hình phòng sạch, tập hợp các công cụ đặc tả toán học phần mềm máy tính từ khâu định nghĩa phát triển đến kiểm soát - Khi sử dụng mô hình này đề phát triên, nó cung cấp các kĩ thuật đề loại bỏ các vẫn đề khó giải quyết khi sử dụng các mô hình khác Sự mập mờ, không hoàn chính, không nhất quán sẽ được tìm ra và giải quyết dễ dàng - Khi sử dụng mô hình này trong thiết kế, nó cung cấp một nền tảng kiểm soát chương trình Do đó, cho phép các kĩ sư phần mềm phát hiện và sử các lỗi khó an toàn rất cao - Mô hình này thường được áp dụng trong phát triển các phần mềm có độ trong y tế, hàng không h) Các công nghệ thế hệ thứ 4: -Thuật ngữ công nghệ thứ 4 bao gồm một phạm vi rộng các công cụ công nghệ phần mềm có một điểm chung: moi công việc đều cho phép người phát triển phần mềm xác định một sô đặc trưng phần mềm ở mức cao Sau đó công cụ đó tự động sinh mã chương trình gốc theo nhu cầu của người phát triển Các công nghệ thế hệ thứ 4 tập trung vào khả năng xác định phần mềm đối với một máy ở mức độ gần với ngôn ngữ tự nhiên hay dùng một kí pháp có ý nghĩa - Cách tiếp cận 4GT: + Lĩnh vực ứng dụng hiện tại cho 4ŒT mới chỉ giới hạn trong các ứng dụng thông tin nghiệp vụ đặc biệt, việc phân tích thông tin và làm báo cáo là nhân tô chủ chốt cho các cơ sở dữ liệu lớn Các công cụ CASE hỗ trợ việc dùng 4GT đề tự động sinh ra khung chương trỉnh cho các ứng dụng công nghệ và thời gian thực + Dữ liệu sơ bộ thu thập từ các công tỉ có dùng 4GT cho thấy thời gian cần thiết để tạo ra phần mềm được giảm đáng kể đối với các ứng dụng vừa và nhỏ và khối lượng thiết kế, phân tích cho các ứng dụng nhỏ cũng giảm bớt + Việc dùng 4GT cho các nỗ lực phát triển phần mềm lớn đòi hỏi tập trung phân tích, thiết kế và kiểm thử nhiều để tiết kiệm thời gian 1) Mô hình chữ V: Các yêu cầu nghiệp vụ Kiểm thử chắp nhận \ Thiết ké mức cao Kiếm thừ hệ thống \ \ x “ ⁄ Thiết ké mức thắp Kiểm thừ tích hợp A N \ 7 ⁄ Tao mã Kiểm thừ đơn vị -Mô hình chữ V được thực hiện từ trái sang phải, mô tả dãy các hoạt động phát triển và kiểm thử cơ bản Mô hình này rat co gia tri vino néu bat sy tồn tại của các mức kiểm thử và mô tả cách mỗi mức kiểm thử này có liên quan đến một pha phát triển khác nhau - Kiểm thử đơn vị dựa trên mã và được thực hiện đầu tiên bởi người phát triển để chứng minh các phần nhỏ nhất của mã thực thi thích hợp - Kiểm thử tích hợp chứng minh hai hay nhiều đơn vị hoặc các công việc tích hợp phối hợp cùng nhau chính xác va có xu hướng tập trung vào các giao diện được mô tả trong các mức thiết kế cao - Khi mọi đơn vị và các tích hợp của nó được kiểm thử, kiểm thử hệ thống được tiên hành đề chứng tỏ rằng hệ thống làm việc end — to — end giống sản phẩm, cung cấp các chức năng nghiệp vụ được mô tả trong thiết kế mức cao Khi tô chức kĩ thuật hoàn thành công việc kiểm thử, tức là thực tế đã đạt được yêu cầu nghiệp vụ đặt ra 1.7 Quản lý dự án phần mềm a) Một số vấn đề chung về quản lí dự án phần mềm: a.1) Dự án: - Dự án là một kế hoạch hoạt động có tô chức của con người nhằm đạt tới mục tiêu nào đó, có ngày bắt đầu, ngày kết thúc dự án và kinh phí định trước - Quan li dự án là quá trình quy hoạch, tổ chức nhân sự, điều khiển và kiểm tra tiền độ thực hiện dé bảo đảm dự án đi đến kết thúc thang loi - Dự án phần mềm là dự án trong đó sản phẩm là phần mềm - Quản lí dự án phần mềm là tất cả hoạt động quản lí để đảm bảo xây dựng phần mềm, thỏa mãn yêu cầu đặt ra, đúng thời hạn, đúng kinh phí - Dự án thành công là đạt được: + lịch trình + trong phạm v1 ngân sách + đúng yêu cầu của khách a.2) Các yếu tô ảnh hưởng tới sự không thành công của dự án: - Kinh nghiệm trong lĩnh vực công nghệ phần mềm không đủ - Người quản lí dự án đưa ra lịch trình và ngân sách khi chưa có đầy đủ thông tin yêu cầu từ khách hàng - Khách hàng không phải bao giờ cũng đưa ra yêu cầu đúng - Hệ thông cũ phát trién theo hướng tôi thì phái làm lại b) Quản lí dự án: - Dé trở thành người quán lí tốt, ngoài kiến thức và kĩ năng phát triển phần mềm, cần có: + Giám sát và kiểm tra: * Quan li thành viên tham gia phát triển phần mềm * Hiểu được thực trạng công việc họ đang thực hiện + Quy hoạch: hoạt động quản lí nhân sự quan trong nhất gồm: * Chuẩn bị dự toán * Duy trì lịch trình phát triển * Bồ trí nhân sự + Quan hệ với khách hàng: * Viết tài liệu về yêu cầu của khách * Ghi nhận và trao đối về những thay đổi của khách + Vai trò lãnh đạo kĩ thuật: lãnh đạo kĩ thuật tốt là yếu to quan trong b.1) Lap kế hoạch dự án: - Đưa lên kế hoạch dự án, quản trị viên dự án làm việc với ki su phan mém dé xac dinh nhân tô con người, máy tính, các tài nguyên tô chức được yêu cầu đề phát triển ứng dụng - Phương pháp: + Liét ké các nhiệm vụ + Định danh phụ thuộc giữa các công việc + Ấn định nhân viên tùy theo kĩ năng và mức độ kinh nghiệm.” + Ấn định thời gian hoàn thành cho các công việc b.2) Phân công nhiệm vụ cho nhân viên: - Nguyên tắc: + Phân công người giỏi nhất cho công việc quan trọng nhất, phức tạp nhất + Xác định chuỗi công việc cho nhân viên + Không giao việc quá tải so với thời gian làm c) Phát triển phần mềm theo hợp đồng: - Môi quan hệ với khách hàng - Các loại hợp đồng phần mềm - Yêu cầu về hồ sơ mời thực hiện dự án - Đề xuất xin xây dựng phần mềm từ phía nhà phát triển - Xét duyệt kiến nghị về quá trình lựa chọn d) Những nguyên tắc quản lí kĩ sư phần mềm: d.1) Những nguyên tắc trong quản lí phần mềm: - Trách nhiệm phải đi đôi với thâm quyền - Quy tắc chung là chỉ thị với sai lầm rõ ràng mới phải bắt buộc hiệu chỉnh - Động cơ là yếu tô quan trọng nhất trong việc quản lí thành công đội ngũ phát triển d.2) Cơ cầu tô chức của 1 dự án phần mềm: đ.3) Các kĩ thuật báo cáo: - Báo cáo viết định ki - Báo cáo miệng - Họp - Trinh dién san pham (demo) 1.8 Giới thiệu phần mềm quản lý dự án a) Microsoft Project la gi? - Microsoft Project la phan mềm quản lý dự án được phát hành bởi Microsoft Day la phần mềm giúp quản lý mọi thành phần của một dự án như lập kế hoạch, phân bố nguồn lực, quản lý ngân sách, theo dõi hiệu suất, giám sát tiễn độ, phân tích khối lượng công việc và đánh giá kết quả hoàn thành - Mặc dù cũng là một phần mềm tin học văn phòng của chính Microsoft nhưng cũng giống với một phần mềm khác la Microsoft Visio, Microsoft Project không được bán kèm với bộ Office (bao gồm Word, Excel, PowerPoint, ) - Microsoft Project được phát hành phiên bản đầu tiên vào năm 1984, bởi một công ty lúc đó đang làm việc cho hãng Microsoft chạy trên hệ điều hành DOS Sau đó, Microsoft đã mua lại toàn bộ bản quyền của phần mềm này, tiếp tục phát triển, hoàn thiện các tính năng và cho ra mắt phiên bản thứ 2 vào năm 1985 Vào năm 1990, phiên bản đầu tiên của Microsoft Project danh cho hệ điều hành Windows ra đời và được đặt tên là Version 1 for Windows - Đến nay, Microsoft Project đã trở thành phần mềm quản lý dự án được ưa chuộng và sử dụng phô biến bởi các doanh nghiệp với các tính năng hữu ích góp phần vào nâng cao hiệu quả của dự án b) Lợi ích của Microsoft Project: - Giao diện thân thiện, trực quan, dễ dàng làm quen và sử dụng - Theo dõi sát sao tiền độ dự án - Microsoft Project có thê kết hợp tốt với Microsoft Teams đề tận dụng sức mạnh của hai ứng dụng trong việc cộng tác và quản lí dự án - Đơn giản hóa việc quản lí các dự án phức tạp - Khả năng cộng tác, làm việc cùng nhau dù không ở gần nhau - Hỗ trợ chia sẻ tệp tin, trò chuyện, thiết lập họp và nhiều tính năng hữu ích khác - Tương tác tốt với các ứng dụng thuộc hé sinh thai cia Microsoft c) Cac tinh nang cua Microsoft Project: - Lap kế hoạch cụ thê cho dự án - Tính toán và xác định thời gian hoàn thành dự án - Thiết lập tiễn độ tích hợp tùy vào từng nhiệm vụ nhỏ phải thực hiện - Phân bố nguồn lực và chi phí cho từng nhiệm vụ - Phân công nhiệm vụ cho các thành viên và thiết lập thời gian phải hoàn thành công việc - Có thê thực hiện điều chỉnh kế hoạch phù hợp dựa vào các ràng buộc về mặt thời gian và chi phi tai nguyên CHƯƠNG II: QUY TRÌNH THỰC HIỆN DỰ ÁN 1 Mô tả hệ thống bằng ngôn ngữ tự nhiên 1.1 Mục tiêu và phạm vi - Đây là l ứng dụng sử dụng trên máy tính và điện thoại, sẽ được sử dụng nội bộ trong cửa hàng tiện lợi EeoMart - Chỉ có quản lý và nhân viên mới có thể sử dụng ứng dụng này, bao gồm: Quán lý cửa hàng, nhân viên cửa hàng - Ứng dụng này chỉ hỗ trợ cho mình cửa hàng - Cơ sở dữ liệu của ứng dụng này phải được lưu trên cloud server cua cửa hàng tiện lợi EcoMart 1.2 Người dùng và chức năng của mỗi người dùng có thể sử dụng - Chỉ có nhân viên và quản lý của cửa hàng mới có thể sử dụng ứng dụng này, bao gồm: quản lý cửa hàng, nhân viên cửa hàng - Quản lý cửa hàng có thể sử dụng các chức năng sau: + Đăng nhập + Quản lý nhân viên: Thêm, sửa, xóa thông tin nhân viên trong danh sách nhân viên làm việc ở cửa hàng + Quản lý hàng hóa: Thêm, chính sửa nhập hàng, xuất hàng, thông kê hàng hóa - Nhân viên có thê sử dụng các chức năng sau: + Đăng nhập + Quan lý nhân viên: Nhân viên xem thông tin cá nhân của mình + Thông kê hàng ngày: Nhân viên thống kê doanh thu theo ngày + Quản lý hang hóa: Nhân viên xem thông tin hàng hóa đang được bán trong cửa hàng 1.3 Thông tin về các đối tượng liên quan - Cửa hàng: Tên, địa chỉ của cửa hàng, mô tả bằng video/hình ảnh - Quản lý cửa hàng: Họ tên, số điện thoại, , email, chức vụ - Nhân viên/tài khoản: Họ tên, số điện thoại, email chức vụ - Phần mềm: Thống nhất hệ thông 1.4 Quan hệ giữa các đối tượng - 1 cửa hàng có nhiều nhân viên, tất cả đều thuộc quản lý dưới sự quản lý của quản lý cửa hàng - | nhân viên chỉ có | tài khoản duy nhất 2 Mô tả hệ thống bằng UML 2.1 Use case toàn bộ hệ thống 2.1.1 Bắt đầu bằng câu hỏi “Ai làm cái gì?” BI: -Vẽ hệ thống - lên hệ thống = Tên hệ thống được mô tả B2: Xác định actor -Mỗi người dùng trong câu hỏi “Ai làm gì?”-> đề xuất thành 1 actor có tên tương ứng -Xem xét để xuất các actor trừu tượng(nếu có) -Xác định actor ân: tìm trong các chức năng có người dùng gián tiếp tác động vào đề thực hiện các chức năng đây hay không-> actor B3: Xác định các UC -Với mỗi actor: l chức năng chính-> 1 UC có tên tương ứng -Xem xét đề xuất các UC trừu tượng(nêu có) -Xem xét quan hệ giữa các UC trừu tượng(nếu có) -Mỗi UC được mô tả bằng I câu: UC này cho phép ai(actor) làm cái gì(tên UC) 2.1.2 Use case tong quat Ọ ==— | —— ÚC quản lý cửa hãng tiên lợi aS nha iE oO s/n /\ TT Quản lý cửa hàng Khach hang a lý doan ™) thu T aan iyen) J y = viêr Wes @ Lt ho a AA\ 7 ( Thanhtoản | 2.2 Use case chỉ tiết cho modul 2.2.1 Sơ đồ Use case chỉ tiết chức năng của quản lý cửa hàng 2.2.1.1 Chức năng quản lý hàng hóa Quản lý hàng hóa uản lý hànồ\ ` NI Thêm nhân viên sửa thông tin xóa thông tin " *«> nhân viên nhân viên Quản lý lịch làm việc TNR, - on S> Thém lich lam $> ' ` = sake 5 ' ve 1 a eae a : : " Sửa lịch làm việc Xóa lịch làm việc 2.2.1.3 Chức năng đăng nhập Đăng nhập Dang ky tai khoan nhan vién 2.2.1.4 Chức năng quản lý doanh thu Quan ly doanh thu Quan ly \& Quản lý theo mốc thời doanh thu - ~~ ~ gian Thống kê doanh thu 2.2.2 Sơ đồ Use case chỉ tiết chức năng của nhân viên cửa hàng 2.2.2.1 Chức năng đăng nhập Đăng nhập Đăng nhập )