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

Baocaotieuluan_Cnpm_Cntt_K19C-New.docx

56 4 1

Đ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

Nội dung

TRƯỜNG: CNTT &TT KHOA: CNTT BÁO CÁO TIỂU LUẬN Môn học: Công nghệ phần mềm Chủ đề: Xây dựng chương trình quản lý bán hàng Giáo viên hướng dẫn: Hoàng Thị Cành Sinh viên thực hiện: Nguyễn Công Tuấn Anh Hứa Văn Dương Dương Ngơ Hưởng Hồng Ngọc Lan Lý Việt Hoàng Lớp: CNTT K19C Thái Nguyên 2022 MỤC LỤC LỜI NÓI ĐẦU Chương Tổng quan công nghệ phần mềm .2 1.1 Công nghệ phần mềm nhìn từ góc lịch sử 1.2 Các khái niệm 1.3 Các trách nhiệm đạo đức nghề nghiệp 1.4 Các xu hướng công nghệ phần mềm đại .4 1.5 Vòng đời phần mềm .6 1.6 Quy trình phát triển phần mềm 1.7 Mơ hình phần mềm 1.8 CMM/CMMI Chương Lập kế hoạch dự án .12 2.1 Chọn mơ hình làm việc, ngơn ngữ cơng cụ thực dự án 12 2.2 Bảng phân công nhiệm vụ 13 2.3 Buổi thảo luận .14 2.4 Buổi thảo luận .14 2.5 Buổi thảo luận .15 Chương Đặc tả phần mềm 15 3.1 Giới thiệu 15 3.2 Mô tả chung 15 3.3 Danh mục chức hệ thống .16 3.4 Đặc tả phần mềm 16 Chương Phân tích thiết kế hệ thống .36 4.1 Giới thiệu 36 4.2 Thiết kế kiến trúc 36 4.3 Thiết kế giao diện .36 4.4 Thiết kế cấu trúc liệu 45 Chương Giao diện chương trình quản lý bán hàng 48 5.1 Giới thiệu 48 5.2 Giao diện hệ thống 48 Tổng kết 53 LỜI NÓI ĐẦU Hiện nay, công nghệ ngày phát triển nhu cầu mua sắm người tang cao, tiếp tục làm theo phương pháp thủ cơng khơng đáp ứng mong muốn khách hàng, tính tốn thống kê sản phẩm, doanh thu, giá bán gặp nhiều khó khăn với thời đại cần phải hoạt động suất cao Như việc đào tạo nhân viên phải nhớ giá mặt hàng điều khó khăn, chúng em đưa giải pháp để giải vấn đề nhức nhối việc tạo phần mềm chuyên dụng để quản lý bán hàng Đặc trưng phần mềm quản lý bán hàng mà chúng em tạo giải nhược điểm cách làm thủ công, mang lại tối ưu hóa, tiết kiệm thời gian người trình làm việc, giúp nâng cao hiệu suất làm việc người từ góp phần nhỏ đẩy nhanh phát triển kinh tế nói riêng phát triển lồi ng nói chung Phần mềm giúp quản lý sản phẩm nhà cung cấp với số lượng đầu vào đầu cách thuận tiện Tuy nhiên phần mềm chưa tối ưu hóa đến mức tối đa phần thời gian khơng có nhiều, ngân sách tốn kém, kinh nghiệm thành viên cịn Chương Tổng quan công nghệ phần mềm 1.1 Công nghệ phần mềm nhìn từ góc nhìn lịch sử Q trình phát triển phần mềm chia thành giai đoạn: ● Giai đoạn 1955-1970: Tính tốn quản lý rời rạc, quản lý nhỏ Đặc tả yêu cầu khách hàng lúc cịn dùng ngơn ngữ tự nhiên thơng thường ● Giai đoạn 1971-1985: Có nhu cầu xây dựng phần mềm thời gian thực ● Giai đoạn 1986 – đến nay: Là thời kỳ máy vi tính PC, thời nối mạng tầm rộng, mạng toàn cầu Internet Những thách thức phần mềm: ● Phần mềm làm nhỏ nhiều so với nhu cầu ● Việc khai thác phần mềm nhỏ nhiều so với tiềm lực phần cứng ● Bảo trì hệ thống phần mềm cũ, lạc hậu để sử dụng khó khăn ● Về cơng nghệ: cần có cơng nghệ, công cụ phát triển phần mềm ● Về mặt quản lý: Cần có phương pháp thích hợp 1.2 Các khái niệm 1.2.1 Phần cứng (Hardware) Phần cứng thiết bị cấu kiện mang tính vật lý tiếp xúc máy in, ổ đĩa, máy quét… 1.2.2 Phần mềm (Software) Phần mềm chương trình chứa dịng lệnh thị cho máy tính thực cơng việc Trong cơng nghệ phần mềm phần mềm khơng chương trình, dữ, liệu, mà cịn gồm tài liệu liên quan đặc tả, thiết kế, hướng dẫn sử dụng, thông tin cấu hình cần thiết để làm cho chương trình vận dụng đắn Các sản phẩm phần mềm chia thành hai dạng: ● Sản phẩm đại trà (Generic Product): Được phát triển để bán thị trường, đối tượng người sử dụng tương đối đa dạng phong phú Những sản phẩm phần mềm thuộc loại phần mềm dành cho máy tính PC ● Sản phần theo đơn đặt hàng (Bespoke Product Custom Product): Được phát triển theo khách hàng riêng lẻ yêu cầu 1.2.3 Công nghệ (Engineering) Công nghệ cách sử dụng công cụ, kỹ thuật tiến trình giải vấn đề Mọi cơng nghệ có đề cập đến sản xuất sản phẩm theo tiến trình Tổng quát tiến trình xác định làm gì, làm để đạt tới mục đích mong muốn 1.2.4 Công nghệ phần mềm (Software Engineering) Công nghệ phần mềm quy tắc cơng nghệ có liên quan đến tất khía cạnh tiến trình phát triển phần mềm như: sản xuất nào? Đánh giá, đảm bảo chất lượng, quản lý sao… Định nghĩa công nghệ phần mềm: Định nghĩa cổ điển: Công nghệ phần mềm thiết lập sử dụng nguyên tắc khoa học nhằm mục đích tạo sản phẩm cách kinh tế mà sản phẩm phần mềm lại hoạt động cách hiệu tin cậy máy tính Định nghĩa khác: ● Cơng nghệ phần mềm quy trình kỷ luật có định lượng áp dụng cho phát triển, thực thi bảo trì hệ thống thiên phần mềm ● Công nghệ phần mềm tập trung vào quy trình, đo lường, sản phẩm, tính đắn thời gian chất lượng Kỹ sư phần mềm (Software Engineer): Là người biết cách áp dụng rộng rãi kiến thức công nghệ phần mềm, mục tiêu kỹ sư phần mềm sản xuất sản phẩm có chất lượng cao phù hợp với quy trình phát triển chuẩn mực Cơng việc kỹ sư phần mềm đánh giá, lựa chọn, sử dụng cách tiếp cận có tính hệ thống, chuyên nghiệp, rõ ràng việc phát triển, đưa vào ứng dụng, bảo trì thay phần mềm 1.2.5 Sự khác biệt công nghệ phần mềm khoa học máy tính? Khoa học máy tính đề cập tới lý thuyết vấn đề liên quan đến máy tính cịn cơng nghệ phần mềm đề cập tới hoạt động xây dựng đưa phần mềm hữu ích Khi phát triển phần mềm trở nên mạnh mẽ lý thuyết khoa học máy tính khơng đủ để đóng vai trị tảng hồn thiện cho cơng nghệ phần mềm 1.2.6 Tiến trình phần mềm gì? Là tập hợp hoạt động có cấu trúc mà mục đích xây dựng, phát triển tiến hóa phần mềm Một tiến trình cụ thể phải trả lời câu hỏi: Làm gì? Khi làm? Ai làm? Làm nào? Bằng gì? Ở đâu? Kết quả? Tiêu chí đánh giá? 1.2.7 Mơ hình quy trình phát triển phần mềm gì? Mơ hình quy trình phát triển phần mềm thể đơn giản quy trình phần mềm, biểu diễn từ góc độ cụ thể 1.2.8 Các phương pháp cơng nghệ phần mềm gì? Các phương pháp công nghệ phần mềm cách tiếp cận có cấu trúc cách thức để phát triển phần mềm 1.3 Các trách nhiệm đạo đức nghề nghiệp 1.3.1 Các vấn đề trách nhiệm nghề nghiệp - Cẩn mật: Tơn trọng thơng tin bí mật cần mật người lao động khách hàng bất chấp có hay khơng bán hợp đồng cần mật ký kết - Năng lực: Khơng xun tạc lực mình, phải biết chấp nhận công việc vượt khả - Các quyền sở hữu trí tuệ: Cần nắm vững luật thời sở hữu trí tuệ sáng chế, quyền Họ cần đảm bảo quyền sở hữu trí tuệ khách hàng người lao động bảo vệ - Khơng lạm dụng máy tính người khác: Các kỹ sư phần mềm không sử dụng kỹ thuật nghề nghiệp để sử dụng sai máy tính người khác Việc lạm dụng máy tính giới hạn từ hành động đáng kể chơi game máy tính người dùng đến hành động nghiêm trọng reo rắc virus máy tính người khác 1.3.2 Các chuẩn mực đạo đức ✔ Xã hội (Public): Kỹ sư phần mềm làm việc lợi ích xã hội ✔ Khách hàng chủ doanh nghiệp (Client and employer): Kỹ sư phần mềm có thái độ làm việc đảm bảo tối đa lợi ích khách hàng chủ doanh nghiệp, bên cạnh việc đảm bảo lợi ích xã hội ✔ Sản phẩm (Product): Kỹ sư phần mềm đảm bảo phần mềm họ sửa đổi phần mềm có liên quan đạt chuẩn chun mơn cao ✔ Phán xét (Judgment): Kỹ sư phần mềm đảm bảo giá trị đạo đức thân tính độc lập phán xét chun mơn ✔ Quản lý (Management): Các nhà quản lý lãnh đạo công nghệ phần mềm cần cam kết công khai ủng hộ đẩy mạnh việc quản lý có đạo đức phát triển quản lý chất lượng phần mềm ✔ Nghề nghiệp (Profession): Kỹ sư phần mềm công ln hỗ trợ đồng nghiệp ✔ Bản thân (Self): Kỹ sư phần mềm không ngừng học tập kiến thức liên quan đến ngành nghề mình, quảng bá đẩy mạnh yếu tố đạo đức nghề nghiệp họ 1.4 Các xu hướng công nghệ phần mềm đại 1.4.1 Mạng 5G 5G biết đến hệ mạng di động không dây thứ Đây kế thừa cho công nghệ không dây nhanh 4G Theo thông tin tìm hiểu từ chuyên gia nghiên cứu, mạng 5G sử dụng dải băng tần 28, 38 60GHz dự đoán hệ mạng 5G nhanh so với mạng 4G đến 100 lần Điều mang đến nhiều lợi ích hấp dẫn cho cơng ty kỹ thuật số 5G chìa khóa để biến xe tự lái trở nên phổ biến chúng có khả nhập liệu đến từ xe khác, dẫn đường quanh co, điều đòi hỏi tốc độ mạng nhanh, độ trễ thấp, nhiều băng thông độ tin cậy cao 1.4.2 Internet of Thinh (IoT) Nói đến xu hướng công nghệ phần mềm phải kể đến Internet of Things Số lượng thiết bị IoT dự đốn chạm mốc 21 tỷ IoT biết đến thiết bị kết nối với thông qua mạng wi-Fi nên mảng lệnh thoại trở nên hữu ích đồng thời tăng âm thông minh, bật tắt thiết bị Internet vạn vật tích hợp với Internet ngày, vật dụng thơng minh Nó tập hợp dịch vụ phần mềm có chức tích hợp liệu nhận từ thiết bị khác Ứng dụng sử dụng cơng nghệ máy học trí tuệ nhân tạo AI để tích liệu đưa định sáng suốt Những định truyền trở lại thiết bị IoT sau phản hồi vào cách thơng minh Ví dụ nhà thơng minh (các thiết bị gia đình tập trung vào hoạt động cải thiển độ an tồn ngơi nhà….) 1.4.3 Cơng nghệ trí tuệ nhân tạo AI (Artificial Intelligence) Công nghệ AI xu hướng công nghệ phần mềm tương lai Nhiều năm gần công nghệ AI dần trội tiếng tồn cầu Sức chứa liệu cơng nghệ AI cực lớn với tên gọi Big Data, với khả xử lý khối lượng thông tin cách nhanh nhất, công nghệ AI áp dụng nhiều doanh nghiệp, mang lại nhiều lợi ích vượt trội Với khả xử lý Big Data mang đến cho công nghệ AI vị mới, đặc biệt với liệu doanh nghiệp, cơng ty góp phần lớn vào cơng việc củng cố công nghệ phần cứng Công nghệ người lập trình với mục đích giúp thiết bị cơng nghệ thơng minh tự động hóa hành vi thơng minh người, làm thay đổi toàn cách tương tác với ứng dụng di động AI mang lại cho trải nghiệm tốt 1.4.4 Công nghệ không cần mật Xu hướng công nghệ xác thực không cần mật xu hướng công nghệ phần mềm Một điều bạn dễ dàng thấy Smartphone ngày có thiết kế giao diện khác với trước Thay phải nhập mật hình bạn sử dụng vân tây hay nhận diện khuôn mặt … Công nghệ không cần mật làm giảm thiểu diện tích bề mặt cơng, thông tin đặng nhập bị thiết bị đánh cắp khơng cịn vấn đề lớn Cơng nghệ khơng cần mật xác thực thông tin vân tay hay khuôn mặt bảo mật thông tin hơn, đăng nhập dễ dàng cho người dùng với độ tin cậy cao 1.4.5 Ứng dụng công nghệ Blockchain Blockchain công nghệ lưu trữ truyền tải thông tin liệu khối liên kết với mở rộng theo thời gian Blockchain coi sổ kế toán hoạt động lĩnh vực kỹ thuật số, có khả xác thực thông tin truyền tải liệu mà khơng địi hỏi bên trung gian Blockchain thiết kế chống lại thay đổi liệu chuỗi Blockchain quản lý mạng lưới phi tập trung Trong năm 2022 tỏa sáng Blockchain việc chia sẻ bảo mật liệu cho hoạt động quản lý, cải thiện chuỗi cung ứng nâng cao chất lượng dịch vụ chăm sóc sức khỏe Xu hướng số hóa gia tăng thâm nhập sâu cơng nghệ tài tạo mơi trường thuận lợi blockchain áp dụng chuỗi cung ứng đơn giản Đại dịch Covid-19 để lại vết sẹo khó lành cho giới, đồng thời buộc người phải dựa vào cơng nghệ để trì kết nối, làm việc, giải trí giữ gìn sức khỏe 1.4.6 Ứng dụng Chatbot Chatbot chương trình kết hợp với trí tuệ nhân tạo để tương tác với người Cụ thể thay cho nhân viên để tư vấn trả lời cho khách hàng thắc mắc Thường trao đổi với người dùng qua hình thức tin nhắn âm Người tiêu dùng muốn tương tác mua sắm hay sử dụng dịch vụ qua ứng dụng tin nhắn gặp gỡ hay gọi Ứng dụng chatbot giúp việc chăm sóc khách hàng 24/7 Là giải pháp thiếu dịch vụ chăm sóc khách hàng Facebook, Messenger, Telegram… 1.5 Vòng đời phần mềm Vòng đời phần mềm thời kỳ tính từ phần mềm sinh chết (từ lúc hình thành đáp ứng yêu cầu, vận hành, bảo trì loại bỏ khơng dùng đến nữa) Quy trình phần mềm phân chia thành pha chính: phân tích, thiết kế, chế tạo, kiểm thử, bảo trì Biểu diễn pha khác theo mơ hình Vịng đời phần mềm thường dài- số sản phẩm phần mềm “tồn tại” 30 năm Vịng đời rút ngắn tiến công nghệ Một cách rõ ràng, tất sản phẩm phần mềm phải trải qua giai đoạn sau: ● Yêu cầu— xác định nhu cầu khách hàng ràng buộc sản phẩm ● Thiết kế — xác định cấu trúc tổ chức hệ thống phần mềm ● Mã hóa — viết phần mềm ● Kiểm thử — vận hành hệ thống để tìm loại bỏ khiếm khuyết ● Bảo trì — sửa chữa nâng cao sản phẩm sau khách hàng khai thác Quá trình tập hợp hoạt động, với đầu vào đầu xác định rõ ràng, để hoàn thành số nhiệm vụ 1.6 Quy trình phát triển phần mềm Gồm hoạt động 1.6.1 Đặc tả phần mềm Đặc tả phần mềm quy trình tìm hiểu định nghĩa dịch vụ khách hàng yêu cầu ràng buộc trình vận hành xây dựng hệ thống Quy trình gồm pha chính: ✔ Nghiên cứu tính khả thi: Nghiên cứu tính khả thi giúp xác định yêu cầu ✔ người sử dụng có thoả mãn cơng nghệ hay khơng ✔ Phân tích rút yêu cầu: Đây quy trình đưa yêu cầu hệ thống thông qua nhiều phương pháp ✔ Đặc tả yêu cầu: Thu thập thông tin phân tích ✔ Đánh giá yêu cầu: Pha kiểm tra lại tính đắn 1.6.2 Thiết kế phần mềm cài đặt Là trình thiết kế cấu trúc phần mềm dựa tài liệu đặc tả Hoạt động thiết kế gồm: ✔ Thiết kế kiến trúc: Thiết kế hệ thống cấu thành lên hệ thống cần xây dựng mối quan hệ chúng ✔ Đặc tả trừu tượng: với mối hệ thống con, phải có đặc tả dịch vụ ràng buộc vận hành ✔ Thiết kế giao diện: với hệ thống con, giao diện với hệ thống khác phải thiết kế tư liệu hóa ✔ Thiết kế thành phần: Các dịch vụ cung cấp cho thành phần khác với giao diện tương tác với chúng phải thiết kế ✔ Thiết kế cấu trúc liệu: Cấu trúc liệu sử dụng để cài đặt hệ thống phải thiết kế với cách chi tiết cụ thể ✔ Thiết kế thuật toán: Các thuật toán sử dụng để cung cấp dịch vụ phải thiết kế chi tiết xác Cài đặt: Là quy trình chuyển đổi từ tài liệu đặc tả hệ thống thành hệ thống thực, vận hành phải loại bỏ lỗi chương trình 1.6.3 Đánh giá phần mềm Đánh giá phần mềm hay gọi thẩm tra đánh giá sử dụng để hệ thống thực theo đặc tả thỏa mãn yêu cầu khách hàng Quá trình gồm pha sau: ✔ Kiểm thử thành phần: Các thành phần kiểm thử cách độc lập, thành phần chức đối tượng nhóm thực thể gắn kết với ✔ Kiểm thử hệ thống: Kiểm thử toàn hệ thống ✔ Kiểm thử chấp thuận: Kiểm thử liệu khách hàng để kiểm tra hệ thống có đáp ứng yêu cầu khách hàng hay không 1.6.4 Cải tiến phần mềm Khi yêu cầu hệ thống thay đổi yêu cầu nghiệp vụ phần mềm phải cải tiến thay đổi để hỗ trợ khách hàng Thông thường chi phí để bảo trì cải tiến thường đắt nhiều so với chi phí xây dựng phần mềm 1.7 Mơ hình xoắn ốc Mơ hình Boehm đưa nên đơi lúc cịn gọi mơ hình Boehm’s Nó xem kết hợp mơ hình thác nước mơ hình mẫu đồng thời thêm thành phần mới, phân tích rủi ro Trong mơ hình quy trình phát triển phần mềm biểu diễn vòng xoắn ốc Các pha quy trình phát triển xoắn ốc bao gồm: ❖ Planning: Xác định mục tiêu, tương tác ràng buộc ❖ Risk analysis: Phân tích lựa chọn định giải rủi ro ❖ Engineering: Phát triển sản phẩm ❖ Customer evaluation: Đánh giá kết xây dựng Ưu điểm: ✔ Sau lần tăng vịng chuyển giao kết thực cho khách hàng nên chức hệ thống nhìn thấy sớm ✔ Các vịng trước đóng vai trị mẫu thử để giúp tìm hiểu thêm yêu cầu vòng ✔ Những chức hệ thống có thứ tự ưu tiên cao kiểm thử kỹ ✔ Mơ hình xoắn ốc cách tiếp cận thực để phát triển phần mềm hệ thống lớn Nhược điểm: ✔ Mơ hình chưa thật quen thuộc với nhà phát triển mơ hình tuyến tính ✔ Hạn chế lớn mơ hình khả thuyết phục khách hàng giảm thiểu tính rủi ro trình phát triển 1.8 CMM/CMMI 1.8.1 CMMI Khái niệm: CMMI viết tắt cho Capability Maturity Model Integration mơ hình trưởng thành lượng tích hợp khn khổ cho cải tiến quy trình phần mềm Nó dựa khái niệm thực hành tốt kỹ thuật phần mềm giải thích kỷ luật mà cơng ty dùng để cải tiến quy trình họ

Ngày đăng: 16/02/2023, 15:02

TỪ KHÓA LIÊN QUAN

w