Việt Nam ngày nay đang bước vào công cuộc Công nghiệp hóa- Hiện đại hóa đất nước. Để thực hiện công nghiệp hóa - Hiện đại hóa đất nước thì việc nâng cao hiệu quả kinh tế trên các mặt hoạt động kinh doanh là mối quan tâm hàng đầu của các doanh nghiệp. Có nâng cao hiệu quả sản xuất kinh doanh thì doanh nghiệp mới có thể tồn tại và phát triển, qua đó mở rộng sản xuất, nâng cao đời sống của cán bộ công nhân viên và tạo sự phát triển vững chắc cho doanh nghiệp.
Hiệu quả kinh doanh là một phạm trù kinh tế, là một chỉ tiêu chất lượng tổng hợp. Đánh giá hiệu quả kinh doanh chính là quá trình so sánh giữa chi phí bỏ ra và kết quả thu về với mục đích đã đặt ra và dựa trên cơ sở giải quyết các vấn đề cơ bản của nền kinh tế này: Sản xuất cái gì? Sản xuất như thế nào? Sản xuất cho ai? Do đó việc nghiên cứu và xem xét vấn đề nâng cao hiệu quả kinh doanh là một đòi hỏi tất yếu đối với mỗi doanh nghiệp trong quá trình kinh doanh hiện nay. Việc nâng cao hiệu quả kinh doanh đang là một bài toán khó đòi hỏi mỗi doanh nghiệp đều phải quan tâm đến, đây là một vấn đề có ý nghĩa quan trọng quyết định đến sự tồn tại và phát triển của doanh nghiệp, đòi hỏi các doanh nghiệp phải có độ nhạy bén, linh hoạt cao trong quá trình kinh doanh của mình.
Trong quá trình toàn cầu hóa - khu vực hóa đang diễn ra một cách nhanh chóng thì cùng với nó sự trao đổi thông tin giữa các quốc gia, giữa các doanh nghiệp cũng như doanh nghiệp và người tiêu dùng ngày càng trở nên nhanh chóng, sự bùng nổ công nghệ thông tin đang là xu thế chung của toàn cầu. Công nghệ thông tin đóng góp một phần to lớn vào quá trình trao đổi thông tin và góp phần thúc đẩy quá trình toàn cầu hóa. Đi kèm với nó là một lĩnh vực kinh doanh mới mang nhiều tiềm năng đó là dịch vụ cung cấp phần mềm cho máy tính.
Ở Việt Nam lĩnh vực cung cấp dịch vụ phần mềm máy tính tuy còn mới nhưng nó chứa đựng những tiện ích nhanh chóng cho người sử dụng. Vì thế việc tạo ra những phần mềm này cũng mang lại nhiều khó khăn và thách thức đối với các doanh nghiệp. Được nhận định những thập kỷ tiếp theo là thập kỷ của công nghệ thông tin và công nghệ phần mềm sẽ trở nên thông dụng trên toàn thế giới. Thị trường cung cấp phần mềm sẽ trở thành một trong những ngành mang lại lợi nhuận cao nhất.
Trong quá trình tìm hiểu thực tế tại Công Ty TNHH Tin Học Giải Pháp Tiến Hóa em nhận thấy hoạt động kinh doanh phần mềm của công ty còn nhiều hạn chế và bất cập chưa thỏa mãn được nhu cầu phát triển của công ty và thu hút thêm khách hàng mới trong nước và thế giới.
Vì vậy, qua quá trình học tập ở Công ty TNHH Tin Học Giải Pháp Tiến Hóa với những kiến thức đã tích lũy được cùng với việc nhận thức được tầm quan trọng của vấn đề này cho nên em đã chọn đề tài: “Giải pháp nâng cao hiệu quả kinh doanh phần mềm máy tính tại công ty TNHH Tin Học Giải Pháp Tiến Hóa (Evolus)” làm đề tài nghiên cứu của mình.
* Mục đích nghiên cứu đề tài :
- Làm rõ những vấn đề về tình hình hoạt động kinh doanh phần mềm của công ty Tiến Hóa trong thời gian qua.
- Đề xuất một số giải pháp nhằm nâng cao hiệu quả kinh doanh phần mềm máy tính của công ty Tiến Hóa
* Phạm vi nghiên cứu đề tài:
Nghiên cứu, khảo sát tình hình hoạt động kinh doanh phần mềm máy tính của công ty Tiến Hóa
* Nội dung nghiên cứu đề tài gồm 3 phần:
Chương I: Cơ sở lý luận về hiệu quả sản xuất kinh doanh
Chương II: Thực trạng về tình hình hoạt động sản xuất kinh doanh tại công ty TNHH Tin Học Giải Pháp Tiến Hóa (Evolus)
Chương III: Một số giải pháp nâng cao hiệu quả kinh doanh phần mềm máy tính tại công ty TNHH Tin Học Giải Pháp Tiến Hóa (Evolus)
76 trang |
Chia sẻ: tuandn | Lượt xem: 2029 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Giải pháp nâng cao hiệu quả kinh doanh phần mềm máy tính tại công ty TNHH tin học giải pháp Tiến Hóa EVOLUS, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI MỞ ĐẦU
Việt Nam ngày nay đang bước vào công cuộc Công nghiệp hóa- Hiện đại hóa đất nước. Để thực hiện công nghiệp hóa - Hiện đại hóa đất nước thì việc nâng cao hiệu quả kinh tế trên các mặt hoạt động kinh doanh là mối quan tâm hàng đầu của các doanh nghiệp. Có nâng cao hiệu quả sản xuất kinh doanh thì doanh nghiệp mới có thể tồn tại và phát triển, qua đó mở rộng sản xuất, nâng cao đời sống của cán bộ công nhân viên và tạo sự phát triển vững chắc cho doanh nghiệp.
Hiệu quả kinh doanh là một phạm trù kinh tế, là một chỉ tiêu chất lượng tổng hợp. Đánh giá hiệu quả kinh doanh chính là quá trình so sánh giữa chi phí bỏ ra và kết quả thu về với mục đích đã đặt ra và dựa trên cơ sở giải quyết các vấn đề cơ bản của nền kinh tế này: Sản xuất cái gì? Sản xuất như thế nào? Sản xuất cho ai? Do đó việc nghiên cứu và xem xét vấn đề nâng cao hiệu quả kinh doanh là một đòi hỏi tất yếu đối với mỗi doanh nghiệp trong quá trình kinh doanh hiện nay. Việc nâng cao hiệu quả kinh doanh đang là một bài toán khó đòi hỏi mỗi doanh nghiệp đều phải quan tâm đến, đây là một vấn đề có ý nghĩa quan trọng quyết định đến sự tồn tại và phát triển của doanh nghiệp, đòi hỏi các doanh nghiệp phải có độ nhạy bén, linh hoạt cao trong quá trình kinh doanh của mình.
Trong quá trình toàn cầu hóa - khu vực hóa đang diễn ra một cách nhanh chóng thì cùng với nó sự trao đổi thông tin giữa các quốc gia, giữa các doanh nghiệp cũng như doanh nghiệp và người tiêu dùng ngày càng trở nên nhanh chóng, sự bùng nổ công nghệ thông tin đang là xu thế chung của toàn cầu. Công nghệ thông tin đóng góp một phần to lớn vào quá trình trao đổi thông tin và góp phần thúc đẩy quá trình toàn cầu hóa. Đi kèm với nó là một lĩnh vực kinh doanh mới mang nhiều tiềm năng đó là dịch vụ cung cấp phần mềm cho máy tính.
Ở Việt Nam lĩnh vực cung cấp dịch vụ phần mềm máy tính tuy còn mới nhưng nó chứa đựng những tiện ích nhanh chóng cho người sử dụng. Vì thế việc tạo ra những phần mềm này cũng mang lại nhiều khó khăn và thách thức đối với các doanh nghiệp. Được nhận định những thập kỷ tiếp theo là thập kỷ của công nghệ thông tin và công nghệ phần mềm sẽ trở nên thông dụng trên toàn thế giới. Thị trường cung cấp phần mềm sẽ trở thành một trong những ngành mang lại lợi nhuận cao nhất.
Trong quá trình tìm hiểu thực tế tại Công Ty TNHH Tin Học Giải Pháp Tiến Hóa em nhận thấy hoạt động kinh doanh phần mềm của công ty còn nhiều hạn chế và bất cập chưa thỏa mãn được nhu cầu phát triển của công ty và thu hút thêm khách hàng mới trong nước và thế giới.
Vì vậy, qua quá trình học tập ở Công ty TNHH Tin Học Giải Pháp Tiến Hóa với những kiến thức đã tích lũy được cùng với việc nhận thức được tầm quan trọng của vấn đề này cho nên em đã chọn đề tài: “Giải pháp nâng cao hiệu quả kinh doanh phần mềm máy tính tại công ty TNHH Tin Học Giải Pháp Tiến Hóa (Evolus)” làm đề tài nghiên cứu của mình.
* Mục đích nghiên cứu đề tài :
- Làm rõ những vấn đề về tình hình hoạt động kinh doanh phần mềm của công ty Tiến Hóa trong thời gian qua.
- Đề xuất một số giải pháp nhằm nâng cao hiệu quả kinh doanh phần mềm máy tính của công ty Tiến Hóa
* Phạm vi nghiên cứu đề tài:
Nghiên cứu, khảo sát tình hình hoạt động kinh doanh phần mềm máy tính của công ty Tiến Hóa
* Nội dung nghiên cứu đề tài gồm 3 phần:
Chương I: Cơ sở lý luận về hiệu quả sản xuất kinh doanh
Chương II: Thực trạng về tình hình hoạt động sản xuất kinh doanh tại công ty TNHH Tin Học Giải Pháp Tiến Hóa (Evolus)
Chương III: Một số giải pháp nâng cao hiệu quả kinh doanh phần mềm máy tính tại công ty TNHH Tin Học Giải Pháp Tiến Hóa (Evolus)
Cuối cùng em xin chân thành cảm ơn sự hướng dẫn tận tình của giáo viên hướng dẫn Thạc Sĩ Nguyễn Thị Thu Hòa cùng các anh, các chị trong Công Ty Tiến Hóa đã tạo điều kiện và hướng dẫn em trong quá trình làm và hoàn thành bài luận văn này.
CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ HIỆU QUẢ SẢN XUẤT KINH DOANH
1.1 NHỮNG NỘI DUNG CƠ BẢN VỀ PHẦN MỀM MÁY TÍNH:
1.1.1 Một số khái niệm cơ bản
Máy tính: Là những thiết bị hay hệ thống dùng để tính toán hay kiểm soát các hoạt động mà có thể biểu diễn dưới dạng số hay quy luật lôgic.
Chương trình máy tính: Đơn giản chỉ là một danh sách các chỉ thị để máy tính thực thi, có thể với các bảng dữ liệu. Rất nhiều chương trình máy tính chứa hàng triệu chỉ thị và rất nhiều chỉ thị được lặp đi lặp lại. Một chiếc máy tính thông thường ngày nay (năm 2003) có thể thực hiện 2-3 tỷ chỉ thị trong một giây. Máy tính không có các khả năng đặc biệt thông qua việc thực thi các chỉ thị phức tạp mà cơ bản là nó chỉ thực thi các chỉ thị đơn giản do lập trình viên đưa ra. Một số lập trình viên giỏi phát triển các tập hợp chỉ thị dùng cho một số công việc chung (như vẽ một điểm trên màn hình) và cung cấp các tập hợp chỉ thị đó cho các lập trình viên khác. Một số lập trình viên khác chỉ phát triển các ứng dụng thực tế dựa trên các nền tảng mà các lập trình viên kia cung cấp cho họ.
Lập trình máy tính: Là kỹ thuật cài đặt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau bằng một hoặc nhiều ngôn ngữ lập trình để tạo ra một chương trình máy tính. Lập trình có các thành tố nghệ thuật, khoa học, toán học và kỹ nghệ.
Phần mềm: Là một tập hợp những câu lệnh được viết bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định nhằm tự động thực hiện một số nhiệm vụ hoặc chức năng hoặc giải quyết một bài toán nào đó.
Thiết kế phần mềm: Là một quá trình giải quyết vấn đề và lập kế hoạch cho một giải pháp phần mềm. Sau khi các mục đích và đặc điểm kỹ thuật của phần mềm được quyết định, lập trình viên sẽ thiết kế hoặc thuê người thiết kế để phát triển một kế hoạch cho giải pháp phần mềm. Nó bao gồm các thành phần các vấn đề thuật toán cũng như một khung nhìn kiến trúc.
Quản lý dự án phần mềm: Là các hoạt động trong lập kế hoạch, giám sát và điều khiển tài nguyên dự án (ví dụ như kinh phí, con người), thời gian thực hiện, các rủi ro trong dự án và cả quy trình thực hiện dự án: nhằm đảm bảo thành công cho dự án. Quản lý dự án phần mềm cần đảm bảo cân bằng giữa ba yếu tố: thời gian, tài nguyên và chất lượng.
1.1.2 Vai trò
Phần mềm là linh hồn của các hệ thống máy tính. Ứng dụng của phần mềm có mặt trên mọi lĩnh vực xã hội, kinh tế, quân sự, giáo dục, trò chơi...
* Có vai trò nền tảng trong mọi hoạt động xã hội – tổ chức :
- Cá nhân: Làm việc, giải trí
- Tổ chức: Sản xuất, dịch vụ
- Quốc gia: Điều hành, phát triển
- Toàn cầu: Hội nhập
* Mọi nền kinh tế phụ thuộc rất lớn vào phần mềm
- Thu chi từ phần mềm chiếm đáng kể trong GNP
- 2006 Ấn Độ xuất gần 30 tỷ USD phần mềm.
- Thế giới có 7 triệu kỹ sư công nghệ thông tin tạo ra 600 tỷ $/năm
- Chi phí cho phần mềm năm 2000 lên tới 770 tỷ
* Phần mềm sai hỏng kinh tế sẽ tổn thất rất lớn
- Vệ tinh Ariane 5 hỏng do lỗi phần mềm (1996) thiệt hại 500$
- Website dùng một ngày mất hàng triệu $
* Phần mềm tạo nên sự khác biệt giữa các tổ chức
- Phong cách
- Năng suất lao động
* Ngày càng nhiều hoạt động được phần mềm điều khiển trợ giúp
- Tự động hóa của các hệ thống ngày càng cao
- Chi phí phần mềm lớn hơn phần cứng
1.1.3 Quy trình xây dựng - Gia công - Thực hiện phần mềm máy tính:
1.1.3.1 Xây dựng phần mềm máy tính
Quy trình xây dựng phần mềm bao gồm :
Phân tích yêu cầu
Trong các ngành kỹ thuật hệ thống và kỹ nghệ phần mềm, phân tích yêu cầu là công việc bao gồm các tác vụ xác định các yêu cầu cho một hệ thống mới hoặc được thay đổi, dựa trên cơ sở là các yêu cầu (có thể mâu thuẫn) mà những người có vai trò quan trọng đối với hệ thống, chẳng hạn người sử dụng, đưa ra. Việc phân tích yêu cầu có ý nghĩa quan trọng đối với thành công của một dự án.
Việc phân tích yêu cầu bao gồm ba loại hoạt động sau:
- Làm rõ yêu cầu: Giao tiếp với khách hàng và người sử dụng để xác định các yêu cầu của họ.
- Xem xét yêu cầu: xác định xem các yêu cầu được đặt ra có ở tình trạng không rõ ràng, không hoàn chỉnh, đa nghĩa, hoặc mâu thuẫn hay không, và giải quyết các vấn đề đó.
- Làm tài liệu yêu cầu: các yêu cầu có thể được ghi lại theo nhiều hình thức, chẳng hạn các tài liệu ngôn ngữ tự nhiên, các tình huống sử dụng, câu chuyện sử dụng, hoặc các đặc tả tiến trình.
Phân tích yêu cầu có thể là một quá trình dài và khó khăn, cần đến nhiều kỹ năng tâm lý khéo léo. Các hệ thống mới làm thay đổi môi trường và các mối quan hệ giữa con người, do đó điều quan trọng là phải xác định được tất cả những người có vai trò quan trọng, xem xét tất cả các nhu cầu của họ và đảm bảo rằng họ hiểu được các hàm ý của hệ thống mới. Các nhà phân tích có thể sử dụng một số kỹ thuật để làm rõ các yêu cầu của khách hàng. Trong lịch sử, các kỹ thuật này bao gồm các cuộc phỏng vấn, thành lập các nhóm trọng tâm với các cuộc họp bàn về yêu cầu, và tạo ra các danh sách yêu cầu. Các kỹ thuật hiện đại hơn gồm có tạo phân tích và tình huống sử dụng. Khi cần thiết, nhà phân tích sẽ kết hợp các phương pháp này để thiết lập các yêu cầu chính xác của những người có vai trò quan trọng, nhằm mục đích xây dựng một hệ thống thỏa mãn các yêu cầu doanh nghiệp.
Đặc tả
Đặc tả là công việc xây dựng các tài liệu đặc tả, trong đó có thể sử dụng tới các công cụ như: mô hình hóa, mô hình toán học hình thức, tập hợp các kịch bản sử dụng, các nguyên mẫu hoặc bất kỳ một tổ hợp các công cụ nói trên.
* Chất lượng của hồ sơ đặc tả được đánh giá qua các tiêu thức :
- Tính rõ ràng, chính xác
- Tính phù hợp
- Tính đầy đủ, hoàn thiện.
* Có 2 kiểu đặc tả: hình thức và phi hình thức
- Đặc tả phi hình thức được viết bằng ngôn ngữ tự nhiên.
- Đặc tả hình thức được viết bằng tập các ký pháp có quy định về cú pháp và ý nghĩa rất chặt chẽ, ví dụ ký pháp đồ họa dùng các lưu đồ.
* Hai khía cạnh trong phần mềm phải được đặc tả đó là :
- Đặc tả vận hành chức năng: Mô tả các họat động của hệ thống phần mềm sẽ xây dựng: các dịch vụ mà hệ thống sẽ cung cấp, hệ thống sẽ phản ứng với đầu vào cụ thể ra sao, hành vi của hệ thống trong các tình huống đặc biệt...
- Đặc tả mô tả: đặc tả các đặc tính, đặc trưng của phần mềm: các ràng buộc về các dịch vụ này hay các chức năng hệ thống cung cấp như thời gian, ràng bụôc về các quá trình phát triển ..
Thiết kế
Tùy theo mức độ phức tạp của phần mềm làm ra, người thiết kế phần mềm sẽ ít nhiều dùng đến các phương tiện để tạo ra mẫu thiết kế theo ý muốn (chẳng hạn như là các sơ đồ khối, các lưu đồ, các thuật toán và các mã giả sau đó mẫu này được mã hoá bằng các ngôn ngữ lập trình và được các trình dịch chuyển thành các khối lệnh hay và các tệp khả thi. Tập hợp các tệp khả thi và các khối lệnh đó làm thành một phần mềm. Thường khi một phần mềm được tạo thành, để cho hoàn hảo thì phần mềm đó phải được điều chỉnh hay sửa chữa từ khâu thiết kế cho đến khâu tạo thành phiên bản phần mềm một số lần. Một phần mềm thông thường sẽ tương thích với một hay vài hệ điều hành, tùy theo cách thiết kế, cách viết mã nguồn và ngôn ngữ lập trình được dùng.
1.1.3.2 Giá dự án phần mềm máy tính
Xác định giá trị phần mềm là việc xác định khối lượng công việc cụ thể, phương thức tính toán, kiểm tra trên cơ sở nỗ lực giờ công để thực hiện các trường hợp sử dụng quy định trong biểu đồ Use-case theo các chỉ dẫn có liên quan trên nguyên tắc tuân thủ các tiêu chuẩn, quy định về ứng dụng công nghệ thông tin của Việt Nam.
Giá trị phần mềm được xác định là cơ sở cho việc lập chi phí ứng dụng công nghệ thông tin trong hoạt động của cơ quan nhà nước, lập bảng khối lượng mời thầu khi tổ chức lựa chọn nhà thầu, quản lý chi phí trong trường hợp chỉ định thầu hoặc tự thực hiện.
Nguyên tắc cơ bản để xác định giá trị là tính năng tác dụng của phần mềm đó. Phần mềm càng nhiều tính năng tác dụng thì giá trị càng cao.
Từ năm 2003 trở về trước, giá trị phần mềm trong khối cơ quan nhà nước được hướng dẫn xác định và lập dự toán kinh phí xây dựng phần mềm ứng dụng theo văn bản 112 (thuộc đề án 112- PV). Tuy nhiên do những hạn chế của văn bản 112 nên phương pháp tính giá trị phần mềm đã không còn được áp dụng.
Văn bản 3364 được Bộ Thông tin và Truyền thông ban hành tháng 10/2008 hướng dẫn định giá phần mềm áp dụng trong các dự án ứng dụng công nghệ thông sử dụng ngân sách nhà nước, nhưng đến nay, các đơn vị vẫn chưa thể áp dụng được do văn bản… quá phức tạp.
Thực tế, không phải lúc nào giá trị phần mềm cũng được xác định theo quy trình, nghiệp vụ đơn giản thông thường mà phải qua các bước khảo sát, phân tích. Còn nếu tách ra từng phần cụ thể rồi tính thì sẽ kéo dài quy trình đầu tư công nghệ thông tin trong khi mức độ thay đổi lại thường xuyên, nhất là các văn bản trong ngành thuế.
Nhiều chuyên gia công nghệ thông tin cho rằng việc xây dựng đơn giá, định mức và định giá cho phần mềm công nghệ thông tin là một vấn đề chưa có cách giải quyết từ trước đến nay.
1.1.3.3 Tổ chức gia công phần mềm máy tính
Trước tiên cần xác định các yêu cầu chức năng (công việc phần mềm thực hiện) cũng như phi chức năng (công nghệ dùng để phát triển phần mềm, sử dụng trong hệ điều hành nào...) của phần mềm. Sau đó cần xác định rõ tài nguyên cần thiết để xây dựng phần mềm. Tài nguyên ở đây có thể gồm có nhân tố con người, các thành phần, phần mềm có thể sử dụng lại, các phần cứng hoặc công cụ có sẵn cần dùng đến; trong đó nhân tố con người là quan trọng nhất. Điều cuối cùng là xác định thời gian cần thiết để thực hiện dự án. Trong quá trình này cần phải nắm bắt được bài toán thực tế cần giải quyết cũng như các hoạt động mang tính nghiệp vụ của khách hàng để có thể xác định rõ ràng yêu cầu chung của đề án, xem xét dự án có khả thi hay không?
Phân tích yêu cầu thực tế, nhu cầu sử dụng, lựa chọn giải pháp công nghệ phần mềm ứng dụng vận hành cho DN.
Đặc tả, vẽ sơ đồ chức năng hệ thống thông tin quản lý cho DN.
Chuẩn bị hệ thống máy tính, mạng và hạ tầng cơ sở cho việc triển khai hệ thống phần mềm. Thông báo, phối hợp với các phòng ban liên quan để chuẩn bị nguồn lực thực hiện dự án. Phân bổ công việc hợp lý cho người tham gia dự án.
Thiết lập các yêu cầu cần thiết cho việc triển khai giải pháp phần mềm.
Lập kế hoạch, giám sát và điều khiển tài nguyên dự án (ví dụ như kinh phí, con người), thời gian thực hiện, các rủi ro trong dự án và cả quy trình thực hiện dự án; nhằm đảm bảo thành công cho dự án. xây dựng hệ thống quản lý và các quy trình hướng dẫn các đơn vị thực hiện quy định về quản lý dự án để đạt hiệu quả cao nhất.
1.1.3.4 Thực hiện gia công phần mềm máy tính
Lập kế hoạch thực hiện dự án là hoạt động diễn ra trong suốt quá trình từ khi bắt đầu thực hiện dự án đến khi bàn giao sản phẩm với nhiều loại kế hoạch khác nhau nhằm hỗ trợ kế hoạch chính của dự án phần mềm về lịch trình và ngân sách.
Việc thực hiện gia công phần mềm bao gồm các công việc :
Lập trình
Một lập trình viên viết mã nguồn bằng một ngôn ngữ lập trình cụ thể.
Các ngôn ngữ lập trình khác nhau hỗ trợ các phong cách lập trình khác nhau (còn gọi là các phương pháp lập trình. Một phần của công việc lập trình là việc lựa chọn một trong những ngôn ngữ phù hợp nhất với bài toán cần giải quyết. Các ngôn ngữ lập trình khác nhau đòi hỏi lập trình viên phải xử lý các chi tiết ở các mức độ khác nhau khi cài đặt các thuật toán. Thông thường, điều này dẫn tới thỏa hiệp giữa thuận lợi cho việc lập trình và hiệu quả của chương trình (thỏa hiệp giữa "thời gian lập trình" và "thời gian tính toán").
Ngôn ngữ lập trình duy nhất mà máy tính có thể thực thi trực tiếp là ngôn ngữ máy còn gọi là "mã máy". Thời kỳ đầu, tất cả các lập trình viên viết chương trình toàn bằng mã máy, nhưng hầu như không ai làm việc này nữa. Thay vào đó, các lập trình viên viết mã nguồn, và một máy tính (chạy một trình biên dịch, một trình thông dịch) dịch nó qua một hoặc vài bước để bổ sung đầy đủ các chi tiết, trước khi bản mã máy cuối cùng được thực thi trên máy tính đích. Thậm chí khi cần điều khiển mức thấp của máy tính đích, các lập trình viên viết bằng hợp ngữ. Các lệnh của ngôn ngữ này có tính gợi nghĩa và tương ứng một-một với các lệnh trong ngôn ngữ máy.
Một số ngôn ngữ, thay vì được dịch ra mã máy, lại được dịch ra dạng nhị phân p-code (hoặc byte-code). Có các trình thông dịch tương ứng để thực thi dạng nhị phân này. Bytecode được sử dụng trong ngôn ngữ lập trình Java của Sun Microsystems cũng như họ ngôn ngữ lập trình NET gần đây của Microsoft và Visual Basic trước phiên bản .NET.
Biên dịch
Trình biên dịch còn gọi là phần mềm biên dịch là một chương trình máy tính làm công việc dịch một chuỗi các câu lệnh được viết bằng một ngôn ngữ lập trình (gọi là ngôn ngữ nguồn hay mã nguồn), thành một chương trình tương đương nhưng ở dưới dạng một ngôn ngữ máy tính mới (gọi là ngôn ngữ đích) và thường là ngôn ngữ ở cấp thấp hơn như ngôn ngữ máy. Chương trình mới được dịch này gọi là mã đối tượng.
Hầu hết các trình biên dịch sẽ chuyển dịch mã nguồn viết trong một ngôn ngữ cấp cao thành mã đối tượng hay ngôn ngữ máy mà có thể được thi hành trực tiếp bởi một máy tính hay bởi một máy ảo. Dù vậy, việc chuyển dịch từ một ngôn ngữ cấp thấp sang một ngôn ngữ cấp cao hơn cũng có thể xảy ra; quá trình này thường được hiểu như là bộ biên dịch ngược nếu nó có thể tái tạo lại một chương trình trong ngôn ngữ cấp cao. Cũng tồn tại các trình biên dịch chuyển đổi từ ngôn ngữ cao này sang ngôn ngữ cao khác, hay là chuyển đổi sang một ngôn ngữ mà nó cần để tiếp tục xử lý về sau, những trình biên dịch như vậy được biết như là bộ biên dịch phân tầng
Các loại trình biên dịch cho kết quả là mã đối tượng thì một cách cơ bản bao gồm mã máy tăng cường thêm các thông tin về tên vị trí của các ngõ vào và các gọi ngoài (đến các hàm mà không có sẵn bên trong của nó). Một tập họp của các tập tin đối tượng, mà không hẳn được cung cấp từ cùng một trình biên dịch, thì vẫn có thể được liên kết với nhau để tạo nên các chương trình khả thi cuối cùng cho một người dùng. Dĩ nhiên, để làm được như vậy thì các tập tin đối tượng đó phải được thiết kế chung nhau về dạng thức. Thí dụ của kiểu tập đối tượng này là các tập có đuôi là .obj có thể dùng chung giữa ASM, C/C++, Fortran... hay các tập tin .DLL trong các kiến trúc Windows dùng chung được cho nhiều ngôn ngữ.
Kiểm thử
Kiểm thử phần mềm là hoạt động khảo sát thực tiễn sản phẩm hay dịch vụ phần mềm trong đúng môi trường chúng dự định sẽ được triển khai nhằm cung cấp cho người có lợi ích liên quan những thông tin về chất lượng của sản phẩm hay dịch vụ phần mềm ấy. Mục đích của kiểm thử phần mềm là tìm ra các lỗi hay khiếm khuyết phần mềm nhằm đảm bảo hiệu quả hoạt động tối ưu của phần mềm trong nhiều ngành khác nhau.
Viết tài liệu
Viết tài liệu là quá trình xây dựng tài liệu mô tả đề án để xác định phạm vi của dự án, trách nhiệm của những người tham gia dự án, là cam kết giữa người quản lý dự án, người tài trợ dự án và khách hàng. Nội dung của tài liệu mô tả đề án thường có những nội dung sau:
- Bối cảnh thực hiện dự án: Căn cứ pháp lý để thực hiện dự án, hiện trạng công nghệ thông tin của khách hàng trước khi có dự án, nhu cầu ứng dụng phần mềm của khách hàng, đặc điểm và phạm vi của phần mềm sẽ xây dựng.
- Mục đích và mục tiêu của dự án: Xác định mục đích tổng thể, Tin học hóa hoạt động nào trong quy trình nghiệp vụ của khách hàng? Xác định mục tiêu của phần mềm: lượng dữ liệu xử lý, lợi ích phần mềm đem lại.
- Phạm vi dự án: Những người liên quan tới dự án, các hoạt động nghiệp vụ cần tin học hóa.
- Nguồn nhân lực tham gia dự án: Cán bộ nghiệp vụ, người phân tích, người thiết kế, người lập trình, người kiểm thử, người cài đặt triển khai dự án cho khách hàng, người hướng dẫn khách hàng sử dụng phần mềm, người bảo trì dự án phần mềm.
- Ràng buộc thời gian thực hiện dự án: Ngày nghiệm thu dự án, ngày bàn giao dự án.
- Ràng buộc kinh phí: Kinh phí trong từng giai đoạn thực hiện dự án.
- Ràng buộc công nghệ phát triển: Công nghệ nào được phép sử dụng để thực hiện dự án.
- Chữ kí các bên liên quan tới dự án.
Bảo trì
Bảo trì phần mềm: bao gồm điều chỉnh các lỗi mà chưa được phát hiện trong các giai đoạn trước của chu kỳ sống của một phần mềm, nâng cấp tí