Thứ Hai, 20 tháng 6, 2011

Nhan xet cua BGK MHST 2011

Mình tóm tắt lại các vđ BGK nhận xét:

GK1:
  1. Chưa phân tích, phát triển thêm nhiều so với mô tả ý tưởng
  2. Tính portable của VC++2005
  3. Chưa có thiết kế chi tiết. Cần tìm hiểu phác thảo về cách làm để thể hiện rõ tính khả thi của kế hoạch.
  4. Chưa có biện pháp, phương pháp đối phó, giải quyết risk
  5. Sử dụng công cụ đóng và nền tảng đóng.
==> Chưa đưa ra được nhiều ý kiến thuyết phục để khẳng định khả năng thực hiện được ý tưởng thành công.

Cá nhân mình thấy vị GK này có tâm lý chung là tẩy chay Windows and it's fellows ;) Tất nhiên, trong thành phần BGK sẽ luôn có những vị GK như thế này, nên việc mình nắm bắt tâm lý họ và tìm ra các cách để thuyết phục là rất quan trọng nếu muốn có thứ hạng cao. Anh Hưng và Trung tìm các câu trả lời đối với nhận xét của vị giảm khảo này nhé.

GK2:
  1. Chưa có phân tích và làm rõ ý tưởng
  2. Chưa có thiết kế chi tiết do đó chưa thể đánh giá được tính mở và khả năng mở rộng, tùy biến sản phẩm của dự án.
  3. Chưa có phương án dự phòng rủi ro.
==> Bản phân tích chưa thực sự tốt

Vị GK này nhận xét khá tổng quát và khách quan

GK3:
  1. Chưa có kế hoạch cụ thể
  2. Chưa đánh giá hết rủi ro, chẳng hạn việc post mã nguồn mở Hunspell sang Window có thể sẽ rất phức tạp
==> Chưa quan tâm lập kế hoạch, bỏ hổng thiết kế chi tiết thì khó cho người phát triển sau.
Gợi ý: gắn Hunspell với Unikey

Vị GK này rất thích đề tài, và cũng đánh giá cao bản phân tích. Về ý kiến xây dựng kế hoạch và thiết kế chi tiết để tạo thuận lợi cho người phát triển sau, mình nghĩ ý tưởng viết blog của anh Hưng giải quyết được phần nào vấn đề này.

GK4:
  1. Tài liệu giải thích sử dụng Visual C++ trong bộ Visual Studio liệu có chắc chắn không bị vướng vào các bằng sáng chế?
  2. Chưa chỉ rõ phiên bản giấy phép của nguồn mở
==> Chỉ định rõ hơn các phiên bản giấy phép của nguồn mở vì những lý do về tính tương hợp mã nguồn của các giấy phép đó. Kiểm tra kỹ lại xem vấn đề về bằng sáng chế khi sử dụng Visual Studio để phát triển.

Vị GK này rất quan tâm đến vấn đề license. Team mình cũng cần chú trọng vđ này vì nếu dính vào kiện tụng gì đấy thì "tạch" mất :(

Tổng quát:
  1. Chưa có tài liệu làm rõ ý tưởng, thiết kế chi tiết
    Phần này trong bản Phân tích dự án của anh Hưng đã ghi rõ là "chưa triển khai thiết kế cơ bản và không có ý định viết thiết kế chi tiết"
  2. Chưa lường hết rủi ro và phương án khắc phục
    - Các thư viện chính tả được viết trên nền Unix/Linux, do đó, cần kiểm tra đánh giá tính tương thích trên Windows.
    ==> Nghiên cứu cấu trúc thư viện chính tả để viết lại trên VC++ nên không quá lo ngại vấn đề tương thích. Tăng test trên các nền Windows là có thể yên tâm
    - Cần hỗ trợ nhiều phiên bản khác nhau của Windows. Do đó, việc kiểm tra chương trình sẽ đòi hỏi nhân lực và thời gian.
    ==> Đưa lên các trang web như mạng xã hội facebook, forum unikey, gửi cho bạn bè, ... để tìm kiếm người dùng thử và lấy feedback
    - Độ phức tạp của Unikey có thể làm trễ thời gian tìm hiểu chương trình.
    ==> Tăng cường vọc code :D

  3. Chưa có plan cụ thể thời gian nào làm việc gì
    Deadline 2011/06/30:
    - Phân tích, đọc mã nguồn Unikey, các thư viện kiểm tra lỗi chính tả.
    ==> Mình chưa thể đầu tư nhiều thời gian + mới làm quen với VC++ nên khá khó khăn để hiểu code. Nếu Trung có thể support dưới dạng comment giải thích cho các variable, function, code block, etc. thì tốt quá :">
    - Trao đổi nhóm quyết định định hướng tích hợp.
    - Tạo prototype
    ==> Theo mình hiểu chức năng check spell là chức năng chạy ngầm nên không cần protoype. viết comic như anh Trung suggest là một ý tưởng hay :) cũng có thể là chỉ cần mô tả chi tiết chương trình sẽ chạy như thế nào là được.
    - Lấy ý kiến cộng đồng, điều chỉnh định hướng dự án nếu cần thiết.
  4. Vấn đề license xung đột với công cụ và nền tảng phát triển đóng
    Theo mình nghĩ đây sẽ là một câu hỏi BGK đặt ra cho team khi thuyết trình, nên team cần tìm ra cách trả lời luôn:

    Việc team đang làm là viết thêm chức năng cho Unikey
    - Về công cụ phát triển, Unikey dùng VC++ nên chuyện mình dùng VC++ là chuyện đương nhiên. Team đang dùng VC++2005 bản "xịn". Những người phát triển sau đó có thể dùng VC++ 2010 Express (free) nên không có gì lo ngại.
    - Về nền tảng, phần lớn người dùng Unikey là người dùng Windows nên phát triển trên nền Windows cũng là chuyện đương nhiên.

    License mình sẽ ghi rõ là
    Apache v2.0. License của Unikey là GNU GPL v3, như nhận xét của vị GK4 thì 2 license này tương thích với nhau. Mình sẽ tìm hiểu kỹ hơn về 2 license này và tính tương thích của chúng. Vì anh Hưng có kinh nghiệm hơn về phần này nên em sẽ "tra khảo" anh nhiều :D

2 nhận xét:

  1. Hi,

    Anh comment ở dưới nhé.
    Các bạn chú ý vì khi bảo vệ đề tài, chắc chắn sẽ phải phản biện những câu hỏi như dưới đây.


    (2011/06/19 21:33), Hà Thế Tùng wrote:
    > Fw cho Trung.
    >
    > Mình tóm tắt lại các vđ BGK nhận xét:
    >
    > GK1:
    >
    > Chưa phân tích, phát triển thêm nhiều so với mô tả ý tưởng
    >
    Cũng một phần lỗi BGK: Không yêu cầu "chi tiết quá". Thế nào là "chi tiết" -> chưa rõ ràng.


    > Tính portable của VC++2005
    >
    Chính xác, đây là vấn đề kế thừa từ bản thân dự án Unikey.
    vấn đề khác: Phần mềm sẽ chỉ chạy trên Windows.

    Vấn đề mà các giám khảo chưa biết: Phần mềm Unikey hook API, liên quan mật thiết
    đến OS nên không thể dễ dàng port từ Windows sang Linux giống như web app.

    Team cần nhấn mạnh rằng đây là điểm rất khó so với các dự án MHST khác.


    > Chưa có thiết kế chi tiết. Cần tìm hiểu phác thảo về cách làm để thể hiện rõ tính khả thi của kế hoạch.
    >
    Dự án của chúng tôi rất khó, khả năng tích hợp chúng tôi đã nghiên cứu kỹ.
    Tuy nhiên tính khả thi thì chưa được đảm bảo: Đây là dự án khó về kỹ thuật!


    > Chưa có biện pháp, phương pháp đối phó, giải quyết risk
    >
    Xem trên

    > Sử dụng công cụ đóng và nền tảng đóng.
    >
    Đây là ác cảm.
    Giải trình: Xem ở dưới.


    > ==> Chưa đưa ra được nhiều ý kiến thuyết phục để khẳng định khả năng thực hiện được ý tưởng thành công.
    > Cá nhân mình thấy vị GK này có tâm lý chung là tẩy chay Windows and it's fellows ;) Tất nhiên, trong thành phần BGK sẽ luôn có những vị GK như thế này, nên việc mình nắm bắt tâm lý họ và tìm ra các cách để thuyết phục là rất quan trọng nếu muốn có thứ hạng cao. Anh Hưng và Trung tìm các câu trả lời đối với nhận xét của vị giảm khảo này nhé.
    Đồng ý với Tùng.

    Chính xác là "dân" mã mở, đặc biệt là Linux, không thích Windows và tất cả những gì build trên đó.

    HDH Windows thì khó phá, nhưng nhóm mình sẽ tạo những phần mềm mã mở và miễn phí trên Windows.

    Lý do: Trên Windows nhiều người dùng nên team đã chọn Unikey


    >
    > GK2:
    >
    > Chưa có phân tích và làm rõ ý tưởng
    > Chưa có thiết kế chi tiết do đó chưa thể đánh giá được tính mở và khả năng mở rộng, tùy biến sản phẩm của dự án.
    > Chưa có phương án dự phòng rủi ro.
    >
    > ==> Bản phân tích chưa thực sự tốt
    > Vị GK này nhận xét khá tổng quát và khách quan
    >
    > GK3:
    >
    > Chưa có kế hoạch cụ thể
    > Chưa đánh giá hết rủi ro, chẳng hạn việc post mã nguồn mở Hunspell sang Window có thể sẽ rất phức tạp
    >
    Điều này không đúng.
    Đã có hunspell dll rồi, chỉ cần dùng dll đó và tạo từ điển để hunspell dùng thôi.
    Vị này chưa đọc kỹ bản phân tích của chúng ta.

    Ngoài ra, chúng ta còn có giải pháp gắn aspell và unikey.


    > ==> Chưa quan tâm lập kế hoạch, bỏ hổng thiết kế chi tiết thì khó cho người phát triển sau.
    > Gợi ý: gắn Hunspell với Unikey
    > Vị GK này rất thích đề tài, và cũng đánh giá cao bản phân tích. Về ý kiến xây dựng kế hoạch và thiết kế chi tiết để tạo thuận lợi cho người phát triển sau, mình nghĩ ý tưởng viết blog của anh Hưng giải quyết được phần nào vấn đề này.
    Ừ, *anh em* mình sẽ viết blog (chứ không phải riêng anh)

    Những thông tin này Tùng, Trung cho lên blog luôn đi, không phải ém vào email riêng đâu.

    >
    > GK4:
    >
    > Tài liệu giải thích sử dụng Visual C++ trong bộ Visual Studio liệu có chắc chắn không bị vướng vào các bằng sáng chế?
    >
    Chắc chắc không vì VS chỉ là tool mà người phát triển dùng mà thôi.

    Người sử dụng Unikey chỉ cần khoảng 6-7 file là đủ (file chạy, unikey hook, luật gõ và sau này là spell engine dll
    cùng với spelling check rule (text file).

    Trả lờiXóa
  2. > Chưa chỉ rõ phiên bản giấy phép của nguồn mở
    >
    > ==> Chỉ định rõ hơn các phiên bản giấy phép của nguồn mở vì những lý do về tính tương hợp mã nguồn của các giấy phép đó. Kiểm tra kỹ lại xem vấn đề về bằng sáng chế khi sử dụng Visual Studio để phát triển.
    > Vị GK này rất quan tâm đến vấn đề license. Team mình cũng cần chú trọng vđ này vì nếu dính vào kiện tụng gì đấy thì "tạch" mất :(
    Mình không dính đâu. Vị này hiểu sai.

    Unikey license là GPL -> do đó phần tích hợp của mình ít nhất là GPL, nhẹ hơn thì là Apache.
    aspell/hunspell cũng là LGPL

    Vì sao có sự lẫn lộn đó:
    + Phần code *chúng ta* viết riêng, độc lập với Unikey => sẽ là Apache
    + Phần code chúng ta phải *chọc* vào Unikey -> GPL (thừa kế licence từ GPL
    + Spelling engine ở dạng LGPL -> không liên quan tới code, chương trình của chúng ta.

    >
    > Tổng quát:
    >
    > Chưa có tài liệu làm rõ ý tưởng, thiết kế chi tiết
    > Phần này trong bản Phân tích dự án của anh Hưng đã ghi rõ là "chưa triển khai thiết kế cơ bản và không có ý định viết thiết kế chi tiết"
    >
    Đây là đặc trưng của mã mở. Anh bảo vệ ý kiến của mình.
    Ví dụ: Nhìn mấy chục triệu dòng code của Linux kernel mà xem.
    làm gì có comment hay tài liệu.

    Lý do: Google là biết -> đề tài hơi dài.

    Phần giải thích của Tùng ở dưới:
    Em phân tích rất chuẩn.
    Về license: Có gì cứ hỏi anh, mình không sợ đâu.

    FYI: Dự án MHST 2010 của Phát năm trước nếu phát triển trên nền Linux thì cũng giải nhất rồi.
    Năm ngoái cũng bị đánh giá Windows/đóng/mở y chang như ở trên rồi chỉ được giải 3 :)

    Trả lờiXóa