Nghề phát triển phần mềm cũng vậy, nếu là một người mới chập chững bước vào nghề, bạn sẽ bỡ ngỡ trước nhiều khía niệm mà chưa hề biết, chưa hiểu rõ ý nghĩa của chúng. Và điều này gây lên không ít khó khăn cho bạn trong quá trình khởi đầu.
Và do đó bài viết này, tôi có thể tóm tắt cơ bản những khẩu ngữ, khái niệm cơ bản hay được sử dụng trong ngành phát triển phần mềm.
* Training : Theo nghĩa tiếng việt là đào tạo, nó được hiểu theo ý nghĩa là một người mới vào cần phải học những kiến thức cơ bản cần thiết để có thể làm việc được với công ty.
Ví dụ: Nhân sự sẽ training về các quy định của công ty
Sếp sẽ training cơ bản về dự án đang làm.....
* Review: Nghĩa là xem xét, xem xét lại một vấn đề xem có ổn thoả hay chưa, có thể tự mình xem xét lại vấn đề của mình xem đã ok chưa, có chỗ nào ko ổn thì cần sửa. Hoặc người khác reivew cho mình xem cái mình làm đã ổn chưa....Review code, review document, review design là thường được sử dụng trong dự án phần mềm.
* Bug, Error, Defect: Nghĩa là lỗi, lỗi phát sinh, lỗi được tìm thấy trong quá trình làm việc, trong sản phẩm tạo ra....(mistake ít khi được sử dụng )
* Fix, Edit: Nghĩa là sửa bug.
* Design: Là thiết kế, Designer là người thiết kế, người từ các ý tưởng xây dựng nên bản thiết kế sơ khai của sản phẩm.
* Code: Là mã lập trình nói chung.
+ Source Code : Mã nguồn là mã chúng ta viết ra, chứa trong các file. Nếu mã này công khai cho mọi người xem thì được gọi là Open Source Code (Mã nguồn mở)
+ Coder : Là người viết code, họ dựa vào sơ đồ có sẵn và code theo, ko có ý tưởng cho việc code.
* Developer: Sang trọng hơn Coder, khi mà họ chỉ từ yêu cầu, và mong muốn của designer, họ sẽ suy nghĩ các giải thuật để code, tìm ra các giải pháp hay, tự động tối ưu code, nghĩ và sáng tạo thêm các ý tưởng mới, phát triển tính năng mới.
* Kỹ Sư Phần Mềm: Ở mức độ cao hơn Developer và Designer. Họ có thể tự nghĩ ra ý tưởng, sau đó xây dựng thiết kế, đặt ra các yêu cầu cho developer, nghĩ ra các ý tưởng cải tiến cho sản phẩm, nâng cấp version.....
* Tester: Là những người test phần mềm theo yêu cầu đặt ra, mục tiêu của họ là tìm ra tất cả những lỗi của sản phẩm, lỗi tiềm ẩn, lỗi đặc biệt, để các developer fix, làm cho sản phẩm ngày càng hoàn thiện hơn. Tester đóng vai trò lớn trong việc quyết định chất lượng sản phẩm.
*QA: Nghĩa là quản lý chất lượng, nhiều nơi họ gộp chung QA và tester lại và chỉ gọi là QA, nhưng một số nơi thì tách riêng. QA làm thêm các nhiệm vụ về xây dựng quản lý tài liệu của dự án, thông kê các số liệu của dự án, số lượng bug, số line code, tiến độ, báo cáo, những thay đổi , update tài liệu và spec khi có thay đổi.
Nắm vững quy trình phát triển phần mềm theo từng công đoạn. Họ sẽ phải chịu trách nhiệm trước những bug đơn giản, ngỡ ngẩn mà không phát hiện ra, và được đánh giá cao khi tìm ra nhiều bug tiềm ẩn, phức tạp, Người đứng đầu gọi là Test Lead.
* Leader : Nghĩa là lãnh đạo, ngang bằng với cấp độ trưởng phòng. Trên leader có thể là tổng giám đốc, hoặc giám đốc kỹ thuật với các công ty nhỏ, còn với các công ty to là các giám đốc trung tâm.Leader quản lý một nhóm làm nhiều dự án.
*PM, Team Lead, Tech Lead :
Dưới leader là các PM.
PM là người quản lý project, có quyền hạn cao nhất trong cả team dự án đó.
Nếu PM quản lý một nhóm nhiều người, họ có thể chia nhóm thành nhiều các team con, để mỗi team làm một phần chức năng nhỏ, mỗi team đó có một trưởng nhóm gọi là team lead.
TechLead là những người giỏi kỹ thuật, có chuyên môn cao, chịu trách nhiệm về giải pháp, hỗ trợ cho các member khi gặp vấn đề khó.
* Kich Off - Start Up : Thể hiện việc khởi động dự án, bắt đầu triển khai làm dự án
* Metting : Là những buổi họp bàn về dự án, thảo luận
* Commit : Là khái niệm thường đường sử dụng khi code xong, và thực hiện commit code, nghĩa là cam kết việc mình làm ra là đã ok, đảm bảo đúng yêu cầu đặt ra, được review đấy đủ.
* Pull, Get Latest : Là việc lấy code từ mới nhất từ server về.
* Push, CheckIn : Đẩy code của mình lên server.
* CheckOut : Đưa một file thoát khỏi sự ràng buộc, quản lý, có thể tùy ý sửa chữa.
* Merge: Là ghép code của hai hay nhiều người lại với nhau
* Diff : so sánh sự khác nhau giữa 2 bản document nói chung
* History: Lịch sử làm việc của team
* Graph : Sơ đồ của quá trình làm việc, mô tả con đường đi của dự án, phân chia, rẽ nhãnh, hợp....
* Log : Là một khái niệm quen thuộc, nó có ý nghĩa là ghi lại một cái gì đó, note lại một lưu ý gì đó nhưng ko tường minh, nghĩa là ko nhất thiết phải công khai công bố, mà mỗi member tự động thực hiện khi thấy cần thiết.
Project bao giờ cũng có log file, ghi lại quá trình chạy của phần mềm từng bước, chỗ nào chạy failed, chỗ nào chạy lỗi, để khi xảy ra lỗi, xem log có thể biết đoạn nào ko thực hiện được.
Version control : Là các phần mềm quản lý code, hệ thống quản lý code... gồm có github, svn, source safe, TFS
* Tracking Project : Là một trình quản lý project và giúp cho việc tương tác giữa coder và test thêm thuận lợi, nó cũng đóng vai trò quản lý dự án phần mềm, thống kế số lượng bug, số lượng defect, và những tính năng mới được đưa ra, nó là yếu tố thể hiện rõ hiệu quả làm việc của một member trong một khoảng thời gian làm việc. Redmine, Track Mine, V1 host là những trình quản lý hay được sử dụng.
* Daily Report, Weekly Report : Là những báo cáo công việc được chia theo mức độ, tùy mỗi công ty có môi trường làm việc khác nhau mà người ta sử dụng các phương thức báo cáo khác nhau.
* Software Model : Là mô hình phát triển phần mềm mà công ty, nhóm phát triển áp dụng và triển khai cho dự án của mình.
Còn nhiều những thuật ngữ khác nhau mà mỗi công ty sử dụng cho riêng mình, hoặc các thuật ngữ có ý nghĩa giống như nhưng được mỗi công ty sử dụng một loại riêng khác nhau.
Trên đây là những thuật ngữ, khái niệm cơ bản có thể giúp các bạn sinh viên mới ra trường khi bước vào lĩnh vực phát triển phần mềm khỏi bỡ ngỡ.___________________________________________________________________________
Damme88(Phamtoanbonmat@gmail.com)

Không có nhận xét nào:
Đăng nhận xét