Báo cáo thực tập tốt nghiệp khoa CNTT K10 HAUI

48 740 4
Báo cáo thực tập tốt nghiệp khoa CNTT K10  HAUI

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Báo cáo thực tập tốt nghiệp khoa CNTT trường Đại Học CN Hà Nội năm 2018 2019Đây là mẫu báo cáo thực tập tốt nghiệp do chính bản thân mình thực hiện trong suốt quá trình thực tập tại doanh nghiệp (lập trình viên web, app, AI).Được thầy Ngô Văn Bình đánh giá rất cao. Anh chị em nào học CNTT ở HAUI nếu có nhu cầu có thể ủng hộ mình bằng cách mua và ngâm cứu nhéCảm ơn các bạn rất nhiều.

1 BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - - THỰC TẬP TỐT NGHIỆP NGÀNH: KHOA HỌC MÁY TÍNH ĐỀ TÀI LẬP TRÌNH WEB BẰNG PYTHON Sinh viên thực : MA VĂN SÔNG Lớp : Khoa học máy tính – khóa 10 Giảng viên hướng dẫn: Ths.NGƠ VĂN BÌNH Mục lục I TĨM TẮT ĐỀ TÀI 1.Tên đề tài Lý chọn đề tài Mục đích 4 Mục tiêu CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1.Tìm hiểu ngơn ngữ lập trình Python 1.2 Tìm hiểu Framework Django .8 CHƯƠNG PHÂN TÍCH THIẾT KẾ 15 2.1.Khảo sát, phát biểu mô tả toán 15 2.2 Phân tích 16 2.3 Thiết kế sở liệu .39 2.4 Giao diện 49 LỜI MỞ ĐẦU Ngày nay, với việc dân số ngày gia tăng kéo theo nhu cầu nhà ngày lớn Cùng với công nghệ ngày phát triển đời sống nhân dân nâng cao lên Sự phát triển công nghệ tiêu biểu cách mạng công nghiệp 4.0 giới dần xoay thay đổi, số hóa thứ Lĩnh vực bất động sản khơng nằm ngồi lệ xu hướng Với việc ứng dụng cơng nghệ thơng tin, người dân có nhu cầu mua bán bất động sản dễ dàng tìm hộ ưng ý với thân Với nguyên nhân em định xây dựng lên “website rao vặt bất động sản” với mục đích giúp cho người dân có nhu cầu mua bán bất động sản tìm mua bán hộ lúc nơi Khơng phải tốn chi phí in thuê, phát tờ rơi, banner quảng cáo truyền thống Không dừng lại “website rao vặt bất động sản” giúp cho người có nhu cầu mua bán bất động sản có nhìn tổng qt thị trường nhà đất thị trường bất động sản theo ngày Qua năm học tập nghiên cứu khoa Công nghệ thông tin Trường Đại học Công nghiệp Hà Nội, em thầy cô truyền đạt cho kiến thức lý thuyết thực hành để em áp dụng kiến thức vào thực tế làm quen với công việc kỹ sư tương lai Trong trình làm đề tài thân em hướng dẫn Thạc sĩ Ngơ Văn Bình giảng viên khoa CNTT Em xin gửi lời cảm ơn chân thành tới thầy thầy cô khoa Công nghệ thông tin Việc thực đề tài nhiều điểm chưa hồn thiện.Vì em mong nhận bảo thầy cô để hoàn thiện đề tài Em xin chân thành cảm ơn ! Hà Nội ,tháng năm 2018 Sinh viên I TÓM TẮT ĐỀ TÀI 1.Tên đề tài Đề tài mang tên: Lập trình web python – website rao vặt bất động sản Lý chọn đề tài Nước ta bước vào thời kỳ vàng son dân số Kéo theo nhu cầu nhà lớn thành phố lớn Hà Nội, Hồ Chí Minh … Cũng vùng khác toàn Việt Nam Nhu cầu mua bán bất động sản ngày tăng lên Cùng với phát triển công nghệ 4.0 bắt buộc người mua bán bất động sản phải thay đổi hình thức marketing truyền thống sang hình thức marketing Giúp cho người mua bán bất động sản tìm đối tượng cần mua, bán bất động sản Với nhu cầu thiết yếu đó, việc nên có kênh chuyên mua bán bất động sản cần thiết thời buổi Bất động sản ngành có đặc thù riêng biệt có nhiều lĩnh vực khác Mục đích Cung cấp kênh chuyên biệt mua bán bất động sản Việt Nam Giúp cho người mua, bán nhà đất đăng bán nhà Người có nhu cầu mua nhà vào xem lựa chọn cho ngơi nhà phù hợp theo nhu cầu Mục tiêu - Tìm hiểu ngơn ngữ lập trình Python - Tìm hiểu Framework Django - Xây dựng website rao vặt bất động sản CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Tìm hiểu ngơn ngữ lập trình Python 1.1.1 Giới thiệu Python Python ngôn ngữ lập trình thơng dịch (interpreted), hướng đối tượng (Objectoriented) ngôn ngữ bậc cao (hight-level), ngữ nghĩa động (dynamic semantics) Python hỗ trợ module gói (packeges), khuyến khích chương trình module hóa tái sử dụng code Trình thơng dịch Python thư viện chuẩn mở rộng có sẵn dạng mã nguồn dạng nhị phân miễn phí cho tất tảng phân phố tự Các đặc điểm ngôn ngữ lập trình Python:  Ngữ pháp đơn giản, dễ đọc  Vừa hướng thủ tục (procedural-oriented), vừa hướng đối tượng (object-oriented)  Hỗ trợ module hỗ trợ gói (package)  Xử lý lỗi ngoại lệ (Exception)  Kiểu liệu động mức cao  Có thư viện chuẩn module ngoài, đáp ứng tất nhu cầu lập trình  Có khả tương tác với module khác viết C/C++( Java cho Python Net cho IronPython)  Có thể nhúng vào ứng dụng giao tiếp kịch (scripting interface) Python ngơn ngữ có khả chạy nhiều tảng Python có cho hệ điều hành: Windows, Linux/Unix, OS/2, Mac, Amiga, hệ điều hành khác Thậm chí có phiên chạy NET, máy ảo Java, điện thoại di động (Nokia Series 60) Với mã nguồn chạy giống tảng Python đơn giản dễ học Python có cộng đồng lập trình lớn, hệ thống thư viện chuẩn, thư viện mã nguồn mở chia sẻ mạng Python ngôn ngữ mã nguồn mở Python dùng giấy phép nguồn mở nên sử dụng phân phối tự do, việc thương mại Giấy phép Python quản lý Python Software Foundation 1.1.2 Lịch sử phát triển Python hình thành vào cuối năm 1980, việc thực vào tháng 12 năm 1989 Guido van Rossum tạiCentrum Wiskunde & Informatica (CWI) Hà Lan kế thừa cho ngôn ngữ ABC (tự lấy cảm hứng từ SETL) có khả xử lý ngoại lệ giao tiếp với Hệ điều hành Amoeba Van Rossum tác giả Python, vai trò trung tâm ông việc định hướng phát triển Python Cha đẻ Python Guido Van Rossum “ Về nguồn gốc Python, Van Rossum viết vào năm 1996: Hơn sáu năm trước, vào tháng 12 năm 1989, tơi tìm kiếm dự án lập trình "sở thích" mà chiếm đóng tâm trí tơi suốt tuần lễ Giáng sinh Văn phòng tơi đóng cửa, tơi có máy tính nhà, khơng có nhiều thứ khác tay Tôi định viết thông dịch (interprester) cho ngôn ngữ kịch mà nghĩ đến: hậu duệ ABC hấp dẫn hacker Unix/C Tôi chọn Python tiêu đề làm việc cho dự án “ Python 2.0 phát hành vào ngày 16 tháng 10 năm 2000 có nhiều tính mới, bao gồm thu gom rác theo chu kỳ (cycle-detecting garbage) hỗ trợ Unicode Với việc phát hành trình phát triển thay đổi trở nên minh bạch cộng đồng hậu thuẫn Hiện tại, phiên python 2.x ngưng phát triển Phiên cuối Python 2.x 2.7 Python 3.0 phát hành năm 2008, sau thời gian dài thử nghiệm Cho tới năm 2018, Python 3.x có phiên 3.7 1.1.3 Các kiểu liệu Python - Kiểu int: Kiểu số ngun (khơng có chứa dấu chấm thập phân), lưu số nguyên âm dương - Ví dụ: 113, -114 - Kiểu float: Kiểu số thực (có chứa dấu chấm thập phân), - ví dụ: 5.2, -7.3 - Kiểu complex: Kiểu số phức, - ví dụ 1: z = 2+3j phần thực, phần ảo (j từ khóa để đánh dấu phần ảo) - ví dụ 2: z=complex(2,3) phần thực, phần ảo - xuất kết ta xuất: - print(“Phần thực= “,z.real) ==>Phần thực= - print(“Phần ảo= “,z.imag) ==> Phần ảo= - Kiểu str: Kiểu chuỗi, để nháy đơi nháy đơn - Ví dụ: “Obama”, ‘Putin’ - Kiểu bool: để lưu giá trị True False - Ví dụ 1: t1=True - Ví dụ 2: t2=False Ngồi Python có kiểu liệu khác List, Tuple, Dictionary Trang chủ ngôn ngữ Python: https://www.python.org 1.2 Tìm hiểu Framework Django Python khơng có sẵn khả làm web, cần phải có số module nhật định để đưa Python lên web Nếu muốn phát triển ứng dụng đơn giản – page check thử server có chạy hay khơng – dùng cgi module Với nhu cầu ngày đa dạng, lập trình viên nên chuyển sang số framework Python Django hay Flask ứng dụng web phức tạp Đa phần framework cần phải kèm với dịch vụ web Apache tiến đến production, lúc khuyết điểm xuất So với PHP, trình deploy Python remote server khó khăn thực lần đầu Các dịch vụ tiếng Instagram, Reddit, Quora Disqus phát triển Python 1.2.1 Giới thiệu Framework Django Trang chủ Framework Django: https://www.djangoproject.com/ 10 Framework Django  Django web framework miễn phí mã nguồn mở viết Python Django sử dụng mơ hình Model-View-Control (MVC) Django phát triển Django Software Foundation(DSF) – tổ chức phi lợi nhuận độc lập  Mục tiêu Django đơn giản hóa việc tạo website phức tạp có sử dụng sở liệu Django tập trung vào tính “có thể tái sử dụng” “có thể tự chạy” component, tính phát triển nhanh, khơng làm lại làm Một số website phổ biến xây dựng từ Django Pinterest, Instagram, Mozilla, Bitbucket Một số mạnh Django so với framework khác:  Học tập nhanh Tương tự Python, Django dễ học, không Ruby hay Rails  Tự động tạo SQL tables Django thay bạn làm công việc bạn xác định cấu trúc  Tạo forms Khi bạn tạo Form class Django linked đến model, form generator Django đảm nhận render form, xác minh lưu trưc tiếp data 34 - Chọn “Tin tức” hệ thống hiển thị tin tức - Người dùng kích chọn loại tin tức muốn xem: tin tức nhà đất, kiện tới - Sau click chọn loại tin tức muốn xem hệ thống hiển thị tin tức mục chọn, click tin tức muốn xem - Ca sử dụng kết thúc b Biểu đồ hoạt động 35 c Biểu đồ lớp tham gia ca sử dụng d Biểu đồ trình tự 36 2.2.2.7 Usecase Đăng xuất a Mô tả Usecase  Mô tả tóm tắt: - Tên ca sử dụng: Đăng xuất - Đối tượng: Người dùng - Mục đích: Cho phép người dùng đăng xuất khỏi hệ thống  Mô tả chi tiết: - Ca sử dụng bắt đầu người dùng muốn đăng xuất khỏi hệ thống - Để thực đăng xuất trạng thái người dùng phải trạng thái đăng nhập - Kích vào Đăng xuất - Usecase kết thúc 37 b.Biểu đồ hoạt động c.Biểu đồ tham gia ca sử dụng 38 d.Biểu đồ trình tự 2.2.2.8 Biểu đồ lớp lĩnh vực 39 2.3 Thiết kế sở liệu 2.3.1 Mơ hình quan hệ 40 2.3.2 Cơ sở liệu 2.3.2.1 Thông tin chi tiết bảng STT Tên bảng User Categories_News Comments Post_news Post_ad 41 AddrProdvince AddrDistrict AddrWard TypeProperty 10 AcreageRange 11 PriceRange 12 Project 13 AdPostImages 2.3.2.2 Bảng Categories_news Stt Tên Trường id name slug id_parent Kiểu Dữ Liệu int char(512) char(512) int (self) Tên Trường id name email phone Kiểu Dữ Liệu int char(512) char(512) char(13) 2.3.2.3 Bảng Users Stt 42 username password role avatar status char(512) char(512) bool char(512) bool Tên Trường id user post body create_at Kiểu Dữ Liệu int int (FK) int (FK) text datetime Tên Trường id title slug description body image category create_at user Kiểu Dữ Liệu int char(512) char(512) text text char(512) char(512) datetime int (FK) 2.3.2.4 Bảng Comments Stt 2.3.2.4 Bảng Post_news Stt 2.3.2.5 Bảng Post_ad 43 Stt 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 Tên Trường user created title slug des feature_img Type_property address province district ward project acreage floor_number direction_house datetime_start datetime_end datetime_end_choose price currency type_price room_number facade contact_name contact_address contact_phone contact_email longitude latitude is_active is_vip is_feature my_order type_post Kiểu Dữ Liệu int (FK) datetime char(1024) char(1024) text char(1024) int (FK) char(1024) int (FK) int (FK) int (FK) Project float int char(32) datetime datetime char(32) float char(10) char(10) int float char(128) char(1024) char(13) char(1024) char(1024) char(1024) boolean boolean boolean int char(10) 44 2.3.2.6 Bảng AddrProdvince Stt Tên Trường name slug Kiểu Dữ Liệu char(255) char(255) Tên Trường name slug prodvince Kiểu Dữ Liệu char(255) char(255) int (FK) Tên Trường name slug district prodvince Kiểu Dữ Liệu char(255) char(255) int (FK) int (FK) Tên Trường name slug my_order type_post Kiểu Dữ Liệu char(512) char(512) int char(10) 2.3.2.7 AddrDistrict Stt 2.3.2.8 AddrWard Stt 2.3.2.9 TypeProperty Stt 2.3.2.10 Bảng AcreageRange 45 Stt Tên Trường name acreage_from acreage_to my_order Kiểu Dữ Liệu char(255) int int int Tên Trường title price_from price_to my_order Kiểu Dữ Liệu char(512) int int int Tên Trường name slug district prodvince Kiểu Dữ Liệu char(255) char(255) int (FK) int (FK) 2.3.2.11 Bảng PriceRange Stt 2.3.2.12 Bảng Project Stt 2.3.2.13 Bảng AdPostImages Stt Tên Trường image ad_post my_order Kiểu Dữ Liệu char(255) int (FK) int 46 2.4 Giao diện Giao diện trang chủ: 47 48

Ngày đăng: 04/12/2019, 16:28

Từ khóa liên quan

Mục lục

  • I. TÓM TẮT ĐỀ TÀI

    • 1.Tên đề tài

    • 2. Lý do chọn đề tài

    • 3. Mục đích

    • 4. Mục tiêu

    • CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

      • 1.1. Tìm hiểu về ngôn ngữ lập trình Python

      • 1.2 Tìm hiểu về Framework Django

      • CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ

        • 2.1.Khảo sát, phát biểu và mô tả bài toán

        • 2.2. Phân tích

        • 2.3. Thiết kế cơ sở dữ liệu

        • 2.4 Giao diện

Tài liệu cùng người dùng

Tài liệu liên quan