Dưới sự phát triển không ngừng của công nghệ và khoa học kỹ thuật ngày nay, việc phát triển phần mềm là hoạt động rất cần thiết, mang lại nhiều lợi ích cho các doanh nghiệp cũng như cải tiến đời sống của mọi người. Vậy phát triển phần mềm là gì? Một phần mềm được phát triển qua những giai đoạn nào? Bài viết này sẽ giúp bạn giải đáp các thắc mắc trên.
Iterative & Incremental model (Lặp lại & tăng dần)
Mô hình này thường áp dụng cho các loại hình dự án sau:
Đặc điểm của mô hình này là lặp đi lặp lại từ khi bắt đầu đến tận khi hoàn thành. Cuối mỗi lần lặp, một phiên bản phần mềm mới sẽ tạo ra nhưng vẫn trên phiên bản lặp lần trước đảm bảo sự nhất quán. Đồng thời, do phần mềm được chia thành từng phần nên cần có đặc tả hoàn chỉnh về kỹ thuật ngay từ đầu dù có thể thay đổi một chút trong quá trình phát triển. Đặc biệt mô hình này yêu cầu có thêm sự tham gia của khách hàng trong quá trình phát triển sản phẩm.
Mô hình này phù hợp với nhiều dạng dự án cần có sự tham gia và tương tác của khách hàng. Đặc điểm của mô hình Agile là việc phát triển nên phần mềm được lặp đi lặp lại thông qua giao tiếp liên tục, phản hồi sớm từ khách hàng giúp cải thiện chất lượng phần mềm tốt hơn.
Đồng thời, tác vụ trong quá trình phát triển được chia thành nhiều module nhỏ cung cấp những tính năng cụ thể. Các bản cập nhật cải tiến phần mềm được liên tục ra mắt cho tới phiên bản hoàn thiện nhất.
Hạn chế của mô hình này là có giai đoạn bảo trì tương đối phức tạp.
Xem thêm: Agile là gì? Ứng dụng như thế nào trong công việc để đạt hiệu quả tốt nhất?
Mô hình này được thực hiện theo nhiều pha từ thiết lập mục tiêu, đánh giá rủi ro, phát triển sản phẩm, lập kế hoạch cho pha tiếp theo.
Đây là sự tối ưu từ mô hình Waterfall, thường được sử dụng trong dự án lớn, đắt tiền và có nhiều yêu cầu phức tạp. Ưu điểm của mô hình này là dễ kiểm soát lỗi và phát hiện lỗi xuyên suốt quá trình phát triển sản phẩm.
Hạn chế của mô hình này là đòi hỏi người quản lý phải có kỹ năng tốt để đánh giá rủi ro kịp thời.
Đây là dạng mô hình gần tương tự với mô hình Agile, trong đó lập trình viên chia nhỏ thành các module nhỏ để phát triển. Module hoàn thiện theo quy trình vòng lặp gọi là Sprint. Mỗi vòng lặp diễn ra trong vòng từ 2 đến 4 tuần. Quá trình phát triển dựa trên ý kiến khách hàng để điều chỉnh và thay đổi cho phù hợp. Nhờ tính linh hoạt cao, mô hình này phù hợp với các dự án thường xuyên thay đổi.
Ưu điểm của mô hình này là giúp thành viên nhóm phát triển thêm nhiều kỹ năng, đồng thời dễ dàng phát hiện, khắc phục lỗi trong khi triển khai từng vòng lặp. Mô hình này đặc biệt phù hợp với những dự án có yêu cầu ban đầu chưa rõ ràng.
Hạn chế của mô hình này là khó hoạch định ngân sách và thời gian, đồng thời nhóm phát triển phần mềm cần liên tục trao đổi thông tin với khách hàng để dự án đi đúng hướng.
Xem thêm: Scrum là gì? Phương pháp quản lý và phát triển dự án hiệu quả mà bạn nên biết
Mô tả công việc phát triển phần mềm
Ở vị trí nhân viên phát triển nên phần mềm, bạn sẽ thực hiện những công việc chính sau:
#3. Thuế nhà thầu dịch vụ bảo trì phần mềm
Theo Công văn 11655/CT-TTHT ngày 27/12/2014 của cục thuế TP Hồ Chí Minh:
Căn cứ các quy định nêu trên, trường hợp Công ty theo trình bày ký hợp đồng mua sản phẩm phần mềm qua internet của tổ chức nước ngoài (kèm theo dịch vụ bảo trì phần mềm) thì khi thanh toán tiền cho tổ chức nước ngoài Công ty có trách nhiệm tính, khấu trừ, kê khai và nộp thuế nhà thầu cụ thể như sau:
Trường hợp theo thỏa thuận tại Hợp đồng nhà thầu, số tiền thanh toán cho Nhà thầu đã bao gồm thuế nhà thầu thì tiền thuế TNDN nhà thầu, Công ty không được tính vào chi phí được trừ khi xác định thu nhập chịu thuế TNDN.
Bạn đọc tham khảo trường hợp của Công ty Toyata Tsusho Việt Nam để hiểu rõ hơn về nội dung này:
Ngày 2 tháng 10 năm 2017, Cục thuế Hà nội đã có Công văn số 65143/CT-TTHT gửi trả lời các vướng mắc của các doanh nghiệp Nhật Bản trong đó có câu trả lời các vấn đề liên quan đến thuế nhà thầu nước ngoài khi công ty Việt Nam chi trả tiền mua phần mềm, dịch vụ bảo trì phần mềm và dịch vụ thuê đường trường cho các nhà cung cấp nước ngoài không hiện diện tại Việt Nam.
Công ty mua phần mềm SAP từ nước ngoài và trả một khoản phí cố định. Sau đó khi triển khai sử dụng hàng tháng công ty phải trả tiền phí bảo trì và phí sử dụng cho từng user, phí đường truyền (thuê của một công ty bên Nhật Bản khác thực hiện). Vậy công ty sẽ phải tính nộp thuế nhà thầu cho từng loại sản phẩm dịch vụ theo thuế suất như thế nào cho các trường hợp:
2/ Tiền phí bảo trì, phí sử dụng cho từng user hàng tháng
3/ Tiền thuê đường truyền hàng tháng trả cho một công ty độc lập.
Căn cứ quyết định hiện hành và giả sử hợp đồng tách riêng giá trị từng hoạt động hoặc ký riêng với các nhà cung cấp khác nhau thì thuế nhà thầu được áp dụng như sau:
Thuế giá trị gia tăng: Phần mềm không thuộc đối tượng chịu thuế GTGT
Thuế TNDN: Tỷ lệ 10% theo hướng dẫn tại khoản 2 điều 13 Thông tư 103
- Đối với dịch vụ bảo trì, sử dụng phần mềm cho từng user
Thuế giá trị gia tăng: Nếu các dịch vụ trên là dịch vụ phần mềm theo quy định của Luật Công nghệ thông tin thì đối tượng không chịu thuế GTGT. Nếu không phải là dịch vụ phần mềm theo quy định thì áp dụng tỷ lệ % thuế GTGT là 5% theo hướng dẫn tại TT103
#4. Nộp thuế nhà thầu phần mềm khi nào?
Nộp thuế nhà thầu phần mềm hay nộp thuế nhà thầu là khi nhà thầu nước ngoài có phát sinh thu nhập tại Việt Nam. Theo đó, DN Việt Nam có trách nhiệm khấu trừ, kê khai, nộp thuế nhà thầu cho cá nhân, tổ chức, doanh nghiệp nước ngoài đó.
Ngành Phát triển phần mềm được học những gì?
Lựa chọn chuyên ngành Phát triển phần mềm, bạn sẽ được học các kiến thức từ cơ bản đến chuyên sâu về quá trình sản xuất phần mềm như:
Đặc biệt khi học chuyên ngành Công nghệ phần mềm tại Đại học Quốc tế Bắc Hà, sinh sẽ được trải nghiệm, tham gia vào các dự án thức tế, được trang bị các kỹ năng mềm vô cùng quan trọng và cần thiết như sự tự tin, kỹ năng giao tiếp hiệu quả và làm việc theo nhóm, kỹ năng giải quyết tình huống, tư duy phản biện, tư duy logic và khả năng phân tích đánh giá chuẩn xác phục vụ tốt nhất cho nhu cầu công việc.
Một số môn học chuyên ngành Phát triển phần mềm tại trường Đại học Quốc tế Bắc Hà:
Ngành Phát triển phần mềm là gì? Những con số ấn tượng trong lĩnh vực phần mềm tại Việt Nam
Ngành Phát triển phần mềm bao gồm các quả trình của kỹ nghệ phần mềm kết hợp với nghiên cứu mục tiêu tiếp thị, từ đó phát triển những sản phẩm phần mềm của máy tính hay nói cách khác là phát triển ứng dụng đề cập đến tập hợp những hoạt động của máy vi tính. Hoạt động này dành riêng cho quá trình khởi tạo, triển khai, thiết kế, hỗ trợ phần mềm.
Những con số ấn tượng trong lĩnh vực phần mềm tại Việt Nam:
Số liệu từ Hiệp hội doanh nghiệp Phần mềm và dịch vụ công nghệ thông tin Việt Nam (VINASA), cho biết
Với những thành tựu trong ngành và tình trạng thiếu hụt như trên, ngành Phát triển phần mềm ở Việt Nam vẫn tiếp tục là ngành học HOT được nhiều bạn trẻ lựa chọn theo đuổi.
#4. Thuế nhà thầu dịch vụ kỹ thuật, lắp đặt, chạy thử, đào tạo
Theo Công văn 15148/CT-TTHT ngày 07/04/2017 của cục thuế TP Hà Nội:
Căn cứ các hướng dẫn trên, trường hợp đơn vị ký Hợp đồng mua bán số 28/2015/NHNN-G&D/BDS DB -750 ngày 28/07/2015 mua 02 hệ thống máy tiêu hủy tiền polymer không đủ tiêu chuẩn lưu thông của Giesecke & Devrient Gmbh (sau đây gọi tắt là Nhà thầu nước ngoài). Tổng giá trị hợp đồng EUR (không bao gồm thuế và phí phát sinh tại Việt Nam) là 1.100.000 EUR, trong đó giá trị máy móc thiết bị là 1.040.151,44 EUR, giá trị dịch vụ kỹ thuật, lắp đặt, chạy thử, đào tạo…là 59.848,56 EUR và thực hiện nộp thuế thay cho nhà thầu nước ngoài theo phương pháp trực tiếp thì:
Đơn vị thực hiện đăng ký mã số thuế thay với cơ quan thuế quản lý trực tiếp (Cục thuế TP Hà Nội), hồ sơ đăng ký thuế theo quy định tại Khoản 4 Điều 7 Thông tư số 95/2016/TT-BTC ngày 28/06/2016 của Bộ Tài chính.
Việc xác định nghĩa vụ thuế GTGT của Nhà thầu nước ngoài đối với giá trị hợp đồng ký với đơn vị chỉ tính trên giá trị dịch vụ (59.848,5 EUR) không tính trên giá trị máy móc thiết bị nhập khẩu (1.040.151,44 EUR) (đơn vị thực hiện khai thuế GTGT với cơ quan hải quan khi làm thủ tục nhập khẩu).
Doanh thu để tính thuế GTGT đối với dịch vụ được thực hiện theo hướng dẫn tại Điều 12 Thông tư số 103/2014/TT-BTC ngày 06/08/2014 của Bộ Tài chính nêu trên. Trường hợp doanh thu nhà thầu thu được chưa bao gồm thuế nhà thầu thì phải quy đổi ra doanh thu tính thuế theo quy định. Đơn vị có trách nhiệm khấu trừ, kê khai, nộp thuế thay cho nhà thầu nước ngoài trước khi chi trả, cụ thể: Tỷ lệ thuế GTGT là 5% trên doanh thu tính thuế GTGT.
Việc xác định doanh thu để tính thuế TNDN thực hiện theo hướng dẫn tại Điều 13 Thông tư số 103/2014/TT-BTC ngày 06/08/2014 của Bộ Tài chính nêu trên. Trường hợp doanh thu nhà thầu thu được chưa bao gồm thuế nhà thầu thì phải quy đổi ra doanh thu tính thuế theo quy định.
Đơn vị có trách nhiệm khấu trừ, kê khai, nộp thuế thay cho Nhà thầu nước ngoài trước khi chi trả, cụ thể:
Kỳ khai thuế, hồ sơ khai thuế thực hiện theo hướng dẫn tại Khoản 3 Điều 10 và Khoản 3 Điều 20 Thông tư số 156/2013/TT-BTC.