[Dịch]Software Development, chapter 1 : Software Construction (2) - The Code Complete 2, Steve McConnell

Why is Software Construction important?
Kể từ khi bạn đọc cuốn sách, bạn chắc chắn đồng ý rằng cải thiện chất lượng phần mềm và năng suất phần mềm là rất quan trọng. Rất nhiều các điều thú vị nhất trên đời đều ứng dụng phần mềm một cách rộng rãi. Internet, hiệu ứng kỹ xảo phim ảnh, hệ thống hỗ trợ y tế, các chương trình ngoài không gian, hàng không, phân tích tài chính tốc độ cao, nghiên cứu khoa học.... chỉ là một ít các ví dụ. Những dự án trên và các dự án thông thường khác đều được hưởng lợi từ các quy trình kỹ thuật cải tiến, bởi vì nền tảng là như nhau. 
Nếu bạn đồng ý rằng cải thiện chất lượng phần mềm là điều quan trọng, về tổng thể, thì câu hỏi dành cho bạn với vai trò là độc giả của cuốn sách này là : "Tại sao tập trung vào "xây dựng" lại quan trọng đến vậy ?".
-Đây là câu trả lởi:
"Xây dựng" là một phần lớn của quá trình phát triển phần mềm. Tùy thuộc vào độ lớn của dự án, "xây dựng" chiếm 30 - 80 % của toàn thời gian của dự án. Mà cái gì lại chiếm phần lớn thời gian của dự án như vậy thì lại ảnh hưởng tới sự thành công của dự án. 
"Xây dựng" là hoạt động trung tâm của phát triển phần mềm.
Các yêu cầu phát triển và kiến trúc phần mềm phải thực hiện xong trước khi bắt đầu "xây dựng", như vậy bạn có thể thực hiện "xây dựng" một cách hiệu quả hơn. Kiểm thử hệ thống (theo đúng nghĩa của kiểm tra độc lập), phải xong ngay sau hoạt động "xây dựng", để soát lại việc "xây dựng" đã được làm một cách chính xác. Một lần nữa, "xây dựng" là hoạt động trung tâm của quá trình phát triển phần mềm. 
Với việc tập trung vào "xây dựng", năng suất của các lập trình viên đơn lẻ có thể cải thiện rất nhiều. Một nghiên cứu điển hình của Sackman, Erikson, và Grant cho thấy năng suất của các lập trình viên đơn lẻ là nhân tố chiếm từ 10-20 % trong suốt quá trình xây dựng (1968). Cũng trong nghiên cứu này, kết quả của họ cũng được xác nhận bởi số lượng lớn các nghiên cứu khác. Điều quan trọng là, cuốn sách này giúp đỡ tất cả các lập trình viên học các kỹ thuật mà đã được những lập trình viên hàng đầu sử dụng.
Sản phẩm của "xây dựng", code nguồn, mã nguồn, thì thường khá chính xác như trong phần miêu tả của phần mềm. Trong nhiều dự án, tài liệu duy nhất mà lập trình viên có thể tiếp cận chỉ toàn code và code. Các chức năng được yêu cầu và tài liệu thiết kế có thể cũ, nhưng code nguồn thì luôn được cập nhập. Cho nên, điều bắt buộc là mã nguồn phải có chất lượng cao nhất có thể. Các ứng dụng nhất quán của các kỹ thuật để cái thiện mã nguồn là điều khác biệt giữa cái "đồ nhà quê" và một cái chương trình chi tiết, chính xác và đầy đủ thông tin. Các kỹ thuật đó được áp dụng hiệu quả nhất trong quá trình "xây dựng".
"Xây dựng" là hoạt động duy nhất mà phải được đảm bảo là hoàn thành xong. Một dự án lý tưởng phải qua hoàn thành các yêu cầu phát triển một cách cẩn thận và kiến trúc hệ thống trước khi "xây dựng" bắt đầu.
Một dự án lý tưởng phải trải qua điều chỉnh thông số toàn diện của quá trình kiểm thử hệ thống sau khi "xây dựng" hoàn thành. 
Một cách không hoàn hảo, các dự án thực tế, thường bỏ qua các yêu cầu và thiết kế mà nhảy thẳng vào "xây dựng". Thậm chí còn bỏ luôn phần kiểm thử bởi vì nó có quá nhiều lỗi để chữa và họ đã sử dụng hết thời gian. Nhưng mặc cho vội vàng bao nhiêu, hay lập kế hoạch tệ dường nào, bạn không để bỏ qua phần "xây dựng" được, đó là phần xương sống của dự án, đó là nơi vấn đề được giải quyết. Cải thiện việc "xây dựng" là cũng là cải thiện của bất cứ quá trình phát triển phần mềm nào, bất kể là bạn đã đi tắt ra sao.   
How to read this book
Cuốn sách này được thiết kế để đọc từ đầu tới cuối hoặc đọc theo chủ đề. Để đọc từ đầu đến cuối, bạn chỉ cần bắt đầu đọc từ Chapter 2. Để đọc lấy các lời khuyên lập trình cụ thể, bạn có thể đọc từ Chapter 6, sau đó lần theo các phần kham khảo đan xen để tới những chủ đề mà bạn thích. Nếu bạn không biết phần áp dụng dành cho bạn, bạn có thể bắt đầu từ phần Determine the Kind of Software You're Working On, Chapter 3 .
Key Points
. "Xây dựngphần mềm là hoạt động trung tâm trong phát triển phần mềm, "xây dựng" là phần bắt buộc phải xảy ra trong tất cả dự án
.Hoạt động chính trong "xây dựng" bao gồm thiết kế chi tiết, gõ code, chữa lỗi, tích hợp, và kiểm thử đơn vị + kiểm thử tích hợp
.Các thuật ngữ phổ biến khác cho "xây dựng" là gõ code và "lập trình"
.Chất lượng của quá trình "xây dựng" ảnh hưởng đáng kể chất lượng phần mềm
.Và phân tích cuối cùng đây; sự hiểu biết của bạn về cách bạn làm "xây dựng" sẽ quyết định bạn là lập trình viên giỏi như đến thế nào, và đó là chủ đề cho phần còn lại của cuốn sách
 Hết phần 2.  
(Yang sẽ đăng phần 3 sau Tết Nguyên Đán, đang cuối năm hơi bận rộn hihi.)
Các bạn vào đây chút ha
( The Code Complete 2, Steve McConnell - Go to )
 

10
870 lượt xem
10
1
1 bình luận