Ngôn ngữ Go ban đầu được thiết kế và phát triển bởi một nhóm kĩ sư Google bao gồm Robert Griesemer, Ken Thompson và Rob Pike vào năm 2007. Mục đích của việc thiết kế ngôn ngữ mới bắt nguồn từ một số phản hồi về tính chất phức tạp của C++11 và nhu cầu thiết kế lại ngôn ngữ C trong môi trường network và multi-core.
Vào giữa năm 2008, hầu hết các tính năng được thiết kế trong ngôn ngữ được hoàn thành, họ bắt đầu hiện thực trình biên dịch (compiler) và Go runtime với Russ Cox là nhà phát triển chính. Trước năm 2010, ngôn ngữ Go dần dần được hoàn thiện.
Vào tháng 9 cùng năm, ngôn ngữ Go chính thức được công bố dưới dạng Open source.
Ngôn ngữ Go thường được mô tả là "Ngôn ngữ tựa C" hoặc là "Ngôn ngữ C của thế kỉ 21". Từ nhiều khía cạnh, ngôn ngữ Go thừa hưởng những ý tưởng từ ngôn ngữ C, như là cú pháp, cấu trúc điều khiển, kiểu dữ liệu cơ bản, thủ tục gọi, trả về, con trỏ, v,v.., hoàn toàn kế thừa và phát triển ngôn ngữ C, hình bên dưới mô tả sự liên quan của ngôn ngữ Go với các ngôn ngữ khác.
Phía bên trái sơ đồ thể hiện tính chất concurrency của ngôn ngữ Go được phát triển từ học thuyết CSP công bố bởi Tony Hoare vào năm 1978. Học thuyết CSP dần dần được tinh chế và được ứng dụng thực tế trong một số ngôn ngữ lập trình như là Squeak/NewSqueak và Alef, cuối cùng là Go.
Chính giữa sơ đồ cho thấy tính chất hướng đối tượng và đóng gói của Go được kế thừa từ Pascal và những ngôn ngữ liên quan khác dẫn xuất từ chúng.
Phía bên phải sơ đồ cho thấy ngôn ngữ Go kế thừa và cải tiến từ C, Cũng như C, Go là ngôn ngữ lập trình cấp thấp, nó cũng hỗ trợ con trỏ (pointer) nhưng ít nguy hiểm hơn C.
Việc khai thác sức mạnh của các bộ xử lý đa lõi và phần cứng thế hệ mới đối với các ngôn ngữ hiện có được xem như là việc không thể được. Bởi những giới hạn vốn có của các ngôn ngữ lập trình trên máy tính như C, C++, Java,... Bấy lâu nay, các vấn đề xử lý đa lõi vẫn là chuyện của hệ điều hành.
Google đưa ra ngôn ngữ Go như là một cách tiếp cận khác về vấn đề xử lý đa lõi.
Thay vì chỉ có hệ điều hành được phép cấp tài nguyên và xử lý, thì các phần mềm cũng có thể tương tác trực tiếp với nền tảng đa lõi giúp cho việc xử lý nhanh hơn.
Trong thời buổi hiện nay, khi mà công nghệ phát triển, thương mại điện tử ngày càng phát triển trên thế giới cũng như Việt Nam và dần khẳng định được vị thế của mình trong nền kinh tế thị trường. Cùng với đó là sự ra đời của các ngôn ngữ lâp trình cho phép thiết kế và xây dựng các ứng dụng thương mại điện tử dưới nhiều hình thức khác nhau. Và một trong những ứng dụng của thương mại điện tử phổ biến ở nước ta là dịch vụ bán hàng qua mạng internet. Dịch vụ này cho phép người dùng tìm kiếm chọn lựa sản phẩm để mua, thực hiện giao dịch mà không cần phải trực tiếp đến cửa hàng, mà chỉ cần sử dụng một thiết bị máy tính có kết nối internet.
Tuy nhiên hiện nay dịch vụ này vẫn còn khá mới với nhiều người tiêu dùng nước ta, đặc biệt là những người không có kiến thức về tin học nói chung và thương mại điện tử nói riêng. Nên hiện giờ các đối tượng chính của thương mại điện tử vẫn chủ
yếu là tầng lớp tri thức và học sinh,sinh viên. Là những người sinh viên, cũng có chút kiến thức về tin học cũng như tiếp xúc với thương mại điện tử tuy nhiên đôi lúc cũng gặp một số khó khăn trong việc mua bán trên các hệ thống bán hàng qua mạng hiện tại. Như hình thức thanh toán, nhận hàng, chất lượng sản phẩm thực tế không được như trên website.... Sản phẩm mà em hướng tới ở đây là đồng hồ, ngày nay nhu cầu làm đẹp của con người không chỉ dừng lại ở áo quần mà còn là những phụ kiện được đeo trên người và đồng hồ là một trong những trang sức hết sức phổ biến. Nó mang lại cho người dùng vẻ đẹp sang trọng, quý phái cũng như thể hiện sự đẳng cấp cho người đeo...
2. CÁC DỰ ÁN ĐỐI THỦ
Đúc kết từ các ưu nhược điểm từ các phần mềm đối thủ trên thị trường, nhóm đã thảo luận và rút ra một số tiêu chí phù hợp với khả năng cũng nhưng thời gian phát triển dự án. Bao gồm các tiêu chí sau:
- Người quản trị có quyền phân cấp cho các user.
- Hiển thị danh sách các mặt hàng của cửa hàng để khách hàng xem, lựa chọn và mua.
- Sau khi khách hàng chọn và đặt hàng hàng trực tiếp thì phải hiện lên đơn hàng để khách hàng có thể nhập thông tin mua hàng và xem hoá đơn mua hàng.
- Chức năng cập nhật, sửa, xoá các sản phẩm, danh mục.
- Tiếp nhận kiểm tra đơn đặt hàng của khách hàng. Hiển thị đơn đặt hàng.
- Thống kê theo tháng/năm, khoảng thời gian.
Ngoài các chức năng trên thì trang Web phải được thiết kế sao cho dễ hiểu, giao diện mang tính dễ dùng đẹp mắt và làm sao cho khách hàng thấy được thông tin cần tìm, cung cấp các thông tin quảng cáo hấp dẫn, các tin tức khuyến mãi để thu hút khách hàng.
Điều quan trọng là phải đảm bảo an toàn tuyệt đối thông tin khách hàng trong quá trình đặt mua qua mạng. Đồng thời trang Web phải luôn đổi mới, hấp dẫn.
3. PHẠM VI ĐỒ ÁN
Vì phần đa nghiệp vụ của các ứng dụng bán đồng hồ đều gần giống nhau, nên mô hình phần mềm này có thể được nhân rộng cho nhiều ứng dụng bán đồng hồ có mục đích tương tự. Sản phẩm này dành cho mọi đối tượng nhằm đáp ứng nhu cầu mua đồng hồ của người dùng.
Trong đồ án này, nhóm chỉ xây dựng một số chức năng của ứng dụng như sau:
1. Tạo và đăng nhập tài khoản.
2. Phân quyền cho tài khoản.
3. Quản lý thông tin tài khoản.
4. Quản lý thông tin đồng hồ.
5. Quản lý hóa đơn.
6. Thống kê doanh thu.
4. PHƯƠNG PHÁP NGHIÊN CỨU
Đồ án sử dụng các phương pháp nghiên cứu hướng đến thực tiễn để phát triển và hoàn thiện ứng dụng:
– Phân tích, khảo sát hiện trạng về nhu cầu thực tế của người dùng bằng các tài liệu khảo sát và ứng dụng quản lý hiện có trên thị trường hiện nay.
– Thu thập thông tin, tìm hiểu và nghiên cứu về các kỹ thuật, công nghệ cần thiết để hỗ trợ cho việc xây dựng ứng dụng đáp ứng yêu cầu được đưa ra.
– Xây dựng ứng dụng dựa trên những kỹ thuật và công nghệ trên, tiến hành kiểm thử dự án song song với quá trình xây dựng ứng dụng.
– Đánh giá và so sánh kết quả đạt được với mục tiêu ban đầu đưa ra. Điều chỉnh và khắc phục các sự cố.
– Hoàn thiện ứng dụng, tiến khành khảo sát, thu thập ý kiến, đánh giá của người dùng.
5. CẤU TRÚC ĐỒ ÁN
Báo cáo này được trình bày với cấu khúc đồ án như sau:
- Chương 1: Giới thiệu tổng quan về đề tài, nghiên cứu các dự án hiện có trên hiện trường, phạm vi nghiên cứu và phương pháp nghiên cứu.
- Chương 2: Giới thiệu về các công nghệ, kỹ thuật ứng dụng trong đề tài xây dựng và phát triển ứng dụng bán đồng hồ này.
- Chương 3: Đưa ra các đặc tả yêu cầu và phân tích hệ thống, thiết kế các kiến trúc và mô hình cần thiết cho toàn bộ hệ thống.
- Chương 4: Trình bày tổng quan về ứng dụng bán đồng hồ, giới thiệu giao diện ứng dụng và cách cài đặt sử dụng ứng dụng.
- Chương 5: Tổng kết về đồ án, nêu những việc đã đạt được qua quá trình xây dựng và phát triển đề tài. Bên cạnh đó nêu ra những thiếu sót của nhóm. Từ đó đưa ra các giải quyết và hướng phát triển tiếp theo cho ứng dụng bán đồng hồ